본문 바로가기
  • A space that records me :)

분류 전체보기78

[Python] MAC에서 psycopg2 모듈 설치하기 [2021.12.13] 회사에서 mvc의 Model, Mapper, xml, handler등을 자동으로 생성해주는 generator를 사용한다. 2020년도 프로젝트를 진행 때 팀장님께서 python으로 개발하신 generator로 너무 편해서 두루두루 사용하고 있었다. 이 generator는 mysql접속을 기반으로 작성되어 있어서, postgresql를 사용하는 프로젝트에 적용하기 위해서 수정했어야 했다. python에서 postgresql에 접속하기 위해서는 psycopg2 모듈을 사용한다. mac에서 psycoge2를 사용하기 위해서는 아래와 같은 작업을 하면 된다. $ brew install postgresql $ /opt/homebrew/opt/python@3.9/bin/python3.9 -m.. 2021. 12. 13.
[JAVA] java에서 shell command 실행 2021.11.24 SpringBoot 백엔드 서버에서 데이터베이스에 등록된 command를 실행하고 그 응답을 받아오는 기능을 구현하게 되었다. 본격적으로 구현하기에 앞서 어떻게 실행하고 결과를 받아오는지 한번 간단한 예제를 만들어 보았다. 실행하고 결과를 받아오는 것은 생각보다 매우 쉬웠다. 분명 추가적인 예외처리는 필요 할 것이다. 개발환경 Spring Boot JAVA 8 Mac OS Java 코드로 shell 명령어를 실행하는 방법에는 두가지가 있다. 첫번째는 Runtime 클래스를 사용하는 것이고, 두번째는 ProcessBuilder 인스턴스를 사용하는 것이다. Runtime ProcessBuilder (Spring boot에서는 ProcessBuilder를 사용하는 것을 권장한다.) 1. O.. 2021. 11. 24.
[PostgreSQL] pg_basebackup vs pg_rewind [2021.11.22] PostgreSQL의 백업 명령 중 pg_basebackup과 pg_rewind 간의 차이에 대해서 알아보았다. 1. 정의 pg_basebackup pg_basebackup is used to take a base backup of a running PostgreSQL database cluster. ... Backups are always taken of the entire database cluster; it is not possible to back up individual databases or database objects. ... The backup will include all files in the data directory and tablespaces, includ.. 2021. 11. 22.
[PostgreSQL] PGDATA 경로 변경 PostgreSQL 기본 데이터 경로인 /var/lib 로 세팅했다가 디렉토리 용량 문제가 우려되어 경로를 변경하게 되었다. 경로 변경하기로 결정되기 전에 이미 Pgpool과 Watchdog 세팅까지 모두 마친 상태였기 때문에 Pgpool, Watchdog의 일부 설정값들을 동시에 수정해야 했다. 변경사항은 그다지 많지 않았고, 깔끔하게 끝났다. 변경할 경로 PGDATA : /data/postgresql/data/ 1. 경로 생성 mkdir -p /data/postgresql/ mv /var/lib/pgsql/13/data /data/postgresql/ mkdir -p /data/postgresql/archive/ 2. PostgreSQL 설정 변경 2.1. postgres 명령어 실행시 옵션 변경 /.. 2021. 11. 21.
[JS/JQuery] 비밀번호 생성규칙 검사 함수 // 비밀번호 유효성 체크 // 특수문자+영문+숫자 혼합 function chkPW(id, pw){ if(pw == null || pw == undefined) { kbnAlert("비밀번호를 입력해 주시기 바랍니다."); return false; } // !/^(?=.*[A-Za-z])(?=.*\d)(?=.*[$@$!%*#?&])[A-Za-z\d$@$!%*#?&]{8,}$/.test(pw) var num = pw.search(/[0-9]/g); var eng = pw.search(/[a-z]/ig); var spe = pw.search(/[`~!@@#$%^&*|₩₩₩'₩";:₩/?]/gi); // 영문, 숫자, 특수문자 혼합, 8자 이상 if(num < 0 || eng < 0 || spe < 0 || .. 2021. 11. 14.
[JS/JQuery] 현재 시스템의 OS를 알아내는 함수 function getDeviceOS() { var os = navigator.userAgent; var ua = navigator.userAgent; if (ua.match(/Win(dows )?NT 6\.0/)) { os = "Windows Vista"; } else if (ua.match(/Win(dows )?(NT 5\.1|XP)/)) { os = "Windows XP"; } else { if ((ua.indexOf("Windows NT 5.1") != -1) || (ua.indexOf("Windows XP") != -1)) { os = "Windows XP"; } else if ((ua.indexOf("Windows NT 7.0") != -1) || (ua.indexOf("Windows NT 6.. 2021. 11. 14.
[Spring] jasypt - properties 암호화 2021.11.09 KISA 개발보안 점검에서 properties 중요구문 암호화처리가 나옴. 개발환경 STS 4 JAVA 1.8 jasypt-spring-boot-starter v 3.0.3 application.properties 질병관리본부 프로젝트 운영 오픈전에 외부로 오픈되는 웹 프로젝트의 개발 소스에 대해서 여러가지 보안 점검을 진행하였다. 최종적으로 KISA의 Fortify툴을 사용하여 보안 점검을 하였는데, application.properties에 비밀번호에 해당되는 중요 정보가 암호화 되지 않았다는 점검 결과를 받았다. Spring Boot framework로 데이터베이스 연동시 흔히 디비 접속 정보를 application 외부 프로퍼티로 설정해 두기 때문에, 개발당시 전혀 염두하지 못.. 2021. 11. 9.
[Linux] zsh: command not found: ll yjkim@yjkimuicBookPro ~ % ll zsh: command not found: ll ll 명령이 없으니까 매우 불편.. mac에서 alias를 설정해 주어야하고, 설정하면 그 세션에는 적용되지만 프로세스를 종료 후 재실행하면 적용이 되어 있지 않다. $ echo "alias ll='ls -lGaf'" >> ~/.bash_profile $ source ~/.bash_profile 위 명령어 실행하면 된다. 그럼 이제 잘나온다!! 영구적으로 이 alias를 적용하자 $ echo "source ~/.bash_profile" >> ~/.zshrc 이러면 MacOs에서 터미널이 실행될 때마다 .zshrc 파일이 함께 실행되어 적용되기 때문이다. 2021. 11. 2.
[React Native] M1 WEB 개발 환경 설정 2021.10.31 이제 우리회사에서 리엑트 기반으로 개발 도입한다고 함. 그래서 한번 세팅해보았다.. Node, Watchman, React Native command line interface, Xcode가 필요하다. 1. 기본 개발 환경 구성 1-1. Rosetta 설치 Intel 기반 칩용 앱을 실행 할 수 있는 lifeline이다. Rosetta는 애뮬레이터 형태로 제공되고, 사전에 설치되어 있지 않으므로 수동 설치가 필요하다. $ /usr/sbin/softwareupdate --install-rosetta --agree-to-license 1-2. iTerm 설치 및 설정 iTerm은 맥에서 개본으로 제공하는 터미널보다 좀더 유용한 터미널 어플리케이션이다. 굳이 필요 없을 듯하여 설치하지 않았.. 2021. 10. 31.