cygwin setup

카테고리 없음 2019. 11. 29. 16:25

# 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 ----------------"


https://stackoverflow.com/questions/25287009/perl-simple-regex-uppercase-words-separated-by-underscore/25287295

#!/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
            ,? 
        );


CORBA spec

카테고리 없음 2019. 11. 28. 16:51

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>

DBeaver tips

카테고리 없음 2019. 11. 22. 13:56

ctrl + ] : 새 sql tab
ctrl + e : tab 간 이동

alt + x : 현재 tab 의 모든 쿼리 실행




(https://stackoverflow.com/questions/2218999/remove-duplicates-from-an-array-of-objects-in-javascript)

var arr=[
{"JANQTY":"49","STD_ITM_NM":"연결송수구명판" ,"EBGTAMT":"1" },
{"JANQTY":"38","STD_ITM_NM":"하론소화기"   , "EBGTAMT":"0"},
{"JANQTY":"49","STD_ITM_NM":"연결송수구명판" ,"EBGTAMT":"0" },
{"JANQTY":"15","STD_ITM_NM":"압력스위치"   ,"EBGTAMT":"0" },
{"JANQTY":"49","STD_ITM_NM":"연결송수구명판" ,"EBGTAMT":"1" }
];


console.log('BEFORE @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ :', arr);

console.log('BEFORE @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ :', JSON.stringify(arr));


arr = [...new Map(arr.map(obj => [JSON.stringify(obj), obj])).values()];


console.log('AFTER  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ :', arr);

console.log('AFTER  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ :', JSON.stringify(arr));

/*

Details:-

  1. Doing .map() on the data list and converting each individual object into a [key, value] pair array(length =2), the first element(key) would be the stringified version of the object and second(value) would be an object itself.
  2. Adding above created array list to new Map() would have the key as stringified object and any same key addition would result in overriding the already existing key.
  3. Using .values() would give MapIterator with all values in a Map (obj in our case)
  4. Finally, spread ... operator to give new Array with values from the above step.

*/