기본 콘텐츠로 건너뛰기

6월, 2020의 게시물 표시

MySQL - insert or update - replace vs. insert on duplicate key

Insert into ~ on duplicate key update INSERT   INTO  tableA (sn, cateid, catename)  VALUES     ( 101 ,  'A001' ,  'CateA1' ),     ( 102 ,  'B001' ,  'CateB1' ),     ( 103 ,  'C001' ,  'CateC1' ),     ( 104 ,  'C002' ,  'CateC2C' ), ON  DUPLICATE  KEY   UPDATE  catename = ( CASE   WHEN  catename =  'C002'   THEN  catename  ELSE   values (catename)  END ); replace REPLACE   INTO  tableA (sn, cateid, catename)  VALUES     ( 101 ,  'A001' ,  'CateA1' ),     ( 102 ,  'B001' ,  'CateB1' ),     ( 103 ,  'C001' ,  'CateC1' ),     ( 104 ,  'C002' ,  'CateC2C' ); on duplicate key update의 경우 기존 row에서 update를 하지만,  replace into 는 delete + insert이기 때문에 default 필드 또는 auto_increment 필드는 신규 로우를 추가한 것과 같은 영향을 받음. giip :: Free mixed RPA orchestration tool!  https://giipasp.azurewebsites.net/

Shell - date command examples - Linux Bash

TodayYYYYMMDDHH24MISS= `date '+%Y%m%d%H%M%S'` TodayYYYYMMDD= `date '+%Y%m%d'` TomorrowYYYYMMDD= `date +%Y%m%d --date '1 day'` YesterdayYYYYMMDD= `date +%Y%m%d --date '1 day ago'` NextMonthYYYYMMDD= `date +%Y%m%d --date '1 month'` PrevMonthYYYYMMDD= `date +%Y%m%d --date '1 month ago'` giip :: Free mixed RPA orchestration tool!  https://giipasp.azurewebsites.net/

RPA에게 준 업무로 인해 얼마나 시간을 절약할 수 있는지를 알 수 있습니다! - giip

giip에서는 내가 만든 RPA스크립트로 인해서 얼마나 업무 시간을 줄여 주고 있는지 한 눈에 알 수 있습니다.  한 달 평균 업무 시간은 160시간 전후이지만,  로봇은 여러 대로 무한하게 일을 시킬 수 있기 때문에  내가 로봇들에게 시킨 업무로 인해 800시간을 줄일 수 있었네요!  점점 늘어나는 것을 기대하면서 계속 업무를 자동화 해가고 있습니다. ^^ UiPath를 사용해도 되고 Auto Hot Key를 사용해도 됩니다.  아니면 자신이 직접 만든 스크립트를 사용해도 됩니다.  이 모든 것을 giip에서 통합 관리를 하고, 자신이 만든 자동화가 얼마만큼의 인건비를 줄일 수 있었는지 알 수 있는 지표를 대시보드로 나타냈습니다.  여러분은 얼마나 많은 일을 아직까지 수동으로 하고 계신가요? giip :: Free mixed RPA orchestration tool!  https://giipasp.azurewebsites.net/

AWS에서 VM을 Gateway서버로 사용하기 - 텔레워크의 기초

요즘 텔레워크가 많아지면서 가장 큰 이슈가 보안 이슈이다. 이 중에서 특정 IP에서만 작업이 가능한 환경이 많다. 이 때문에 VPN을 준비해줄 여력이 없는 작은 기업 또는 프리랜서들은 자신만의 고정 IP가 필요한 상황이다.  이 경우 AWS에서 VM을 생성하여 VPN설정을 하는 경우가 많은데,  가장 많이 걸리는 경우가  일반적인 VPN프로토콜을 사용하는 경우  1723 Port외에 GRE Port를 오픈해 주어야 한다.  하지만 AWS에서는 GRE Port를 개방해 주지 않아서 멈춘다.  그렇다고 VPC를 direct connect를 이용하여 무지 비싸지게 구성할 수는 없다.  이 경우 openvpn만을 이용하여 UDP로 빠르게 구성할 수 있다.  우선 AWS에서 ubuntu vm을 small로 작은 것을 만들자.  그리고 openvpn인스톨 $ sudo apt install binutils $ sudo yum -y install openvpn 그 뒤에는 조금 복잡하지만 그냥 아래 커맨드를 복붙으로.. $ wget https://github.com/OpenVPN/easy-rsa/releases/download/v3.0.6/EasyRSA-unix-v3.0.6.tgz $ tar -xvzf EasyRSA-unix-v3.0.6.tgz $ sudo mv EasyRSA-v3.0.6 /usr/local/EasyRSA $ cd /usr/local/EasyRSA/ $ cp -p vars.example vars $ vi vars set_var EASYRSA_CERT_EXPIRE 3650 $ cd /usr/local/EasyRSA/ $ ./easyrsa init-pki $ ./easyrsa build-ca $ ./easyrsa gen-dh $ ./easyrsa build-server-full server nopass $ ./easyrsa build-client-full client1 nopass 중간에 vi vars는 그 아래의 EASYRSA_CERT_EXPIRE값을 3

UiPath CSV에 데이터가 없는 경우 타이틀 유지하여 txt(tsv)저장

UiPath에서 Read CSV를 이용하면 Datatable에 저장이 된다.  이를 tab으로 분리된 text파일로 저장을 하는데는 몇 가지 방법이 있다.  1. write text 액티비티를 사용하는 경우 write text를 하게 되면, 그냥 텍스트로 저장이 되면서 tsv포맷에 맞지 않게 되고,  내용이 없는 경우 필드명도 표시 되지 않는다.  2. write excel을 이용 write excel 액티비티를 이용하여 저장후 이를 excel application scope를 이용해서 연 다음 다른이름으로 저장을 하여 txt파일로 저장. 번거롭지만 가장 편하게 tsv형태로 저장 가능 3. 하드코딩 첫 행에 필드명을 탭으로 나열 for each datarow를 이용하여 행을 읽은 뒤에 for each item으로 각 필드를 변수에 넣으면서 사이에 tab을 추가,  데이터가 없는 경우 필드명을 for each에 넣으면 데이터가 없기 때문에 패스한다.  때문에 첫 행은 하드코딩을 해야 하는 불편함이 있어 확정된 케이스가 아니라면 사용하기 귀찮다. 이걸 할 바엔 차라리 1번의 write text를 사용하는 것을 추천. Automation human works! giip :: Free mix RPA orchestration service! https://giipasp.azurewebsites.net/