java8 이상에서만 가능
( 출처:https://nakov.com/blog/2009/07/16/disable-certificate-validation-in-java-ssl-connections/)
//package tt;
import java.io.InputStreamReader;
import java.io.Reader;
import java.net.URL;
import java.net.URLConnection;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSession;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
import java.security.cert.X509Certificate;
public class Example {
public static void main(String[] args) throws Exception {
// Create a trust manager that does not validate certificate chains
TrustManager[] trustAllCerts = new TrustManager[] {new X509TrustManager() {
public java.security.cert.X509Certificate[] getAcceptedIssuers() {
return null;
}
public void checkClientTrusted(X509Certificate[] certs, String authType) {
}
public void checkServerTrusted(X509Certificate[] certs, String authType) {
}
}
};
// Install the all-trusting trust manager
SSLContext sc = SSLContext.getInstance("SSL");
sc.init(null, trustAllCerts, new java.security.SecureRandom());
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
// Create all-trusting host name verifier
HostnameVerifier allHostsValid = new HostnameVerifier() {
public boolean verify(String hostname, SSLSession session) {
return true;
}
};
// Install the all-trusting host verifier
HttpsURLConnection.setDefaultHostnameVerifier(allHostsValid);
URL url = new URL("https://kbstar.com/");
URLConnection con = url.openConnection();
Reader reader = new InputStreamReader(con.getInputStream());
while (true) {
int ch = reader.read();
if (ch==-1) {
break;
}
System.out.print((char)ch);
}
}
}
# exe.sh ------------------------------------------------------
sh cpre2.sh FROM_PROGRAM_ID TO_PROGRAM_ID
#cpre2.sh -----------------------------------------------------
# exe.sh -> cpre2.sh -> cp.sh -> replace.sh
#
# 새 파일을 만든다
# (OBSOLETE)주의:cp.sh 안의 디렉토리 명을 바꿔주어야 한다
# (OBSOLETE)주의:대문자로 시작하는 파일을 먼저 쓰고, 소문자는 다음
# ${1,,} 는 소문자 처리
echo cp2.sh ${1} ${2} "${1,,}" "${2,,}"
sh cp2.sh ${1} ${2} "${1,,}" "${2,,}"
# 만든 새 파일의 문자열을 치환한다
sh replace2.sh ${1} ${2} "${1,,}" "${2,,}"
echo
echo 'NB. sql-map-config*.xml is not included in this generator!';
echo
# cp2.sh -----------------------------------------------------------------------
echo "cp2.sh BEGIN ------------"
SRC1=$1
TGT1=$2
SRC2=$3
TGT2=$4
INPUT3=$3
INPUT4=$4
SRCSTR1=${INPUT3:0:2}
SRCSTR2=${INPUT3:2:2}
TGTSTR1=${INPUT4:0:2}
TGTSTR2=${INPUT4:2:2}
echo "SRCSTR1 ==> $SRCSTR1 "
echo "SRCSTR2 ==> $SRCSTR2 "
echo "TGTSTR1 ==> $TGTSTR1 "
echo "TGTSTR2 ==> $TGTSTR2 "
echo ${SRC1} ${TGT1}
# $ find /cygdrive/c/WorkSpace -name "uyCnsltCurst*"|grep -v class
cp /cygdrive/d/PROJECT/workspace/pjt1/src/main/webapp/${SRCSTR1}/${SRCSTR2}/${SRC2}.jsp /cygdrive/d/PROJECT/workspace/pjt1/src/main/webapp/${TGTSTR1}/${TGTSTR2}/${TGT2}.jsp
echo cp /cygdrive/d/PROJECT/workspace/pjt1/src/main/webapp/${SRCSTR1}/${SRCSTR2}/${SRC2}.jsp /cygdrive/d/PROJECT/workspace/pjt1/src/main/webapp/${TGTSTR1}/${TGTSTR2}/${TGT2}.jsp
cp /cygdrive/d/PROJECT/workspace/pjt1/src/main/java/com/SUBDIR/${SRCSTR1}/${SRCSTR2}/controller/${SRC1}Controller.java /cygdrive/d/PROJECT/workspace/pjt1/src/main/java/com/SUBDIR/${TGTSTR1}/${TGTSTR2}/controller/${TGT1}Controller.java
echo cp /cygdrive/d/PROJECT/workspace/pjt1/src/main/java/com/SUBDIR/${SRCSTR1}/${SRCSTR2}/controller/${SRC1}Controller.java /cygdrive/d/PROJECT/workspace/pjt1/src/main/java/com/SUBDIR/${TGTSTR1}/${TGTSTR2}/controller/${TGT1}Controller.java
cp /cygdrive/d/PROJECT/workspace/pjt1/src/main/java/com/SUBDIR/${SRCSTR1}/${SRCSTR2}/service/${SRC1}Service.java /cygdrive/d/PROJECT/workspace/pjt1/src/main/java/com/SUBDIR/${TGTSTR1}/${TGTSTR2}/service/${TGT1}Service.java
echo cp /cygdrive/d/PROJECT/workspace/pjt1/src/main/java/com/SUBDIR/${SRCSTR1}/${SRCSTR2}/service/${SRC1}Service.java /cygdrive/d/PROJECT/workspace/pjt1/src/main/java/com/SUBDIR/${TGTSTR1}/${TGTSTR2}/service/${TGT1}Service.java
cp /cygdrive/d/PROJECT/workspace/pjt1/src/main/resources/egovframework/sqlmap/sql/${SRCSTR1}/${SRCSTR2}/${SRC1}_SQL.xml /cygdrive/d/PROJECT/workspace/pjt1/src/main/resources/egovframework/sqlmap/sql/${TGTSTR1}/${TGTSTR2}/${TGT1}_SQL.xml
echo cp /cygdrive/d/PROJECT/workspace/pjt1/src/main/resources/egovframework/sqlmap/sql/${SRCSTR1}/${SRCSTR2}/${SRC1}_SQL.xml /cygdrive/d/PROJECT/workspace/pjt1/src/main/resources/egovframework/sqlmap/sql/${TGTSTR1}/${TGTSTR2}/${TGT1}_SQL.xml
echo "cp2.sh END ------------"
# replace2.sh -----------------------------------------------------------------------------------
# replace2.sh
echo "replace2.sh BEGIN"
INPUT3=$3
INPUT4=$4
echo 3333333 BEGIN 2
echo $INPUT3
echo 3333333 END 2
echo
SRCSTR1=${INPUT3:0:2}
SRCSTR2=${INPUT3:2:2}
TGTSTR1=${INPUT4:0:2}
TGTSTR2=${INPUT4:2:2}
echo "SRCSTR1 ==> $SRCSTR1 "
echo "SRCSTR2 ==> $SRCSTR2 "
echo "TGTSTR1 ==> $TGTSTR1 "
echo "TGTSTR2 ==> $TGTSTR2 "
echo $1 $2
echo $3 $4
echo $5 $6
echo $7 $8
echo $9 "${10}"
echo "${11}" "${12}"
#while (( $# > 0 )) # or [ $# -gt 0 ]
#do
# echo "$1"
# shift
#done
#echo $SRC1 $TGT1
#
#echo
#
# 다른 디렉토리 소스 복사할 때 (BEGIN)
find /cygdrive/d/SSGFNB/WorkSpace -iname "${2}*" | grep -v -E "class|bak|old" | xargs sed -i "s/${SRCSTR1}\/${SRCSTR2}/${TGTSTR1}\/${TGTSTR2}/g"
echo " ${SRCSTR1}/${SRCSTR2} -> ${TGTSTR1}/${TGTSTR2} (replace2.sh)"
find /cygdrive/d/SSGFNB/WorkSpace -iname "${2}*" | grep -v -E "class|bak|old" | xargs sed -i "s/${SRCSTR1}\.${SRCSTR2}/${TGTSTR1}\.${TGTSTR2}/g"
echo " ${SRCSTR1}.${SRCSTR2} -> ${TGTSTR1}.${TGTSTR2} (replace2.sh)"
# 다른 디렉토리 소스 복사할 때 (END)
find /cygdrive/d/SSGFNB/WorkSpace -iname "${2}*" | grep -v -E "class|bak|old" | xargs sed -i "s/${3}/${4}/g"
echo " ${3} -> ${4} (replace2.sh)"
find /cygdrive/d/SSGFNB/WorkSpace -iname "${2}*" | grep -v -E "class|bak|old" | xargs sed -i "s/${1}/${2}/g"
echo " ${1} -> ${2} (replace2.sh)"
#find /cygdrive/d/SSGFNB/WorkSpace -iname "${2}*" | grep -v -E "class|bak|old" | xargs sed -i "s/${5}/${6}/g"
#echo "replace.sh --- 3"
#find /cygdrive/d/SSGFNB/WorkSpace -iname "${2}*" | grep -v -E "class|bak|old" | xargs sed -i "s/${7}/${8}/g"
##find /cygdrive/d/SSGFNB/WorkSpace -iname "${2}*" | grep -v -E "class|bak|old" | xargs sed -i 's/'"${7}"'.*/'"${8}"'/g'
#
#echo "replace.sh --- 4"
##find /cygdrive/d/SSGFNB/WorkSpace -iname "${2}*" | grep -v -E "class|bak|old" | xargs sed -i "s/${9}/${10}/g"
##find /cygdrive/d/SSGFNB/WorkSpace -iname "${2}*" | grep -v -E "class|bak|old" | xargs sed -i 's/'"${9}"'.*/'"${10}"'/g'
##echo "replace.sh --- 5"
##find /cygdrive/d/SSGFNB/WorkSpace -iname "${2}*" | grep -v -E "class|bak|old" | xargs sed -i 's/'"${11}"'.*/'"${12}"'/g'
echo ""
echo "replace.sh END ----------------"
#!/usr/bin/perl
my $in = "PRINT_THIS_TEXT_IN_CAMEL_CASE";
my $res = under2camel ($in);
print "in:$in\tres:$res\n";
sub under2camel {
my $str = shift @_;
my $result;
$str = lc $str;
my @split = map(ucfirst, (split/(_)/, $str));
my $result = "";
foreach my $kk (0 .. $#split) {
# print $split[$kk] . "\n";
$result .= $split[$kk];
}
$result = lcfirst $result;
$result =~ s/_//g;
return $result;
}
-- '(' 앞에 공백 없어야 한다 (DBeaver 에서)
-- ? 은 output
CALL PROC_MYPROCESS(
'valueA' --commentA
,'valueB' --commentB
,?
);
https://docs.webix.com/tutorials__quick_start.html
<!DOCTYPE HTML>
<html>
<head>
<link rel="stylesheet" href="http://cdn.webix.com/edge/webix.css" type="text/css">
<script src="http://cdn.webix.com/edge/webix.js" type="text/javascript"></script>
</head>
<body>
<script type="text/javascript" charset="utf-8">
/* place for UI configuration */
webix.ui({
rows:[
{ view:"template",
type:"header", template:"My App!" },
{ view:"datatable",
autoConfig:true,
data:{
title:"My Fair Lady", year:1964, votes:533848, rating:8.9, rank:5
}
}
]
});
</script>
</body>
</html>
ctrl + ] : 새 sql tab
ctrl + e : tab 간 이동
alt + x : 현재 tab 의 모든 쿼리 실행
font 크기 : 윈도 > 설정 > User Interface > 모양 > 색상 및 글꼴 > DBeaver Fonts > Monospace font
https://doc.scrapy.org/en/1.3/intro/examples.html
Examples — Scrapy 1.3.3 documentation
Docs » Examples Edit on GitHub Examples The best way to learn is with examples, and Scrapy is no exception. For this reason, there is an example Scrapy project named quotesbot, that you can use to play and learn more about Scrapy. It contains two spiders f
doc.scrapy.org
https://github.com/scrapy/quotesbot
scrapy/quotesbot
This is a sample Scrapy project for educational purposes - scrapy/quotesbot
github.com