본문 바로가기

etc

(6)
[암/복호화] AES128을 이용한 Java와 Python 간 암/복호화 같은 언어끼리 암/복호화를 하는 경우는 몇번 경험을 해보았지만, 언어가 다른 환경에서 암/복호화 하는것은 많은 경험이 없어 이것에 대해 글을 남겨보려고 한다. 0. 환경 Java 1.8 Python 3.7 pycrypto==2.6.1 암호화방식: AES128 1. Python에서의 암/복호화 ## aes128_crypto.py import base64 from Crypto import Random from Crypto.Cipher import AES class AES128Crypto: def __init__(self, encrypt_key): self.BS = AES.block_size ##암호화 키중 16자리만 잘라서 쓴다. self.encrypt_key = encrypt_key[:16].encode(..
[JupyterLab] Nginx Reverse Proxy를 통한 Jupyter Lab 연결 설정 주피터를 서버에 구성할때 nginx reverse proxy를 통해 도메인 및 80포트로 접근을 하려고 설정했는데, 정상적으로 동작하지 않는 문제가 발생했다. 원인은 주피터에서 WebSocket을 통해 통신을 하는데, WebSocket 관련 설정이 Reverse proxy 설정에 빠져있어 정상 동작이 안되었던 것이었다. 이를 해결하기 위해서는 아래와 같이 nginx 설정을 변경하면 된다. http { ## ... 생략 ... server { listen 80 default_server; listen [::]:80 default_server; ## 각자 도메인에 맞게 설정 server_name louisdev.com root /usr/share/nginx/html; # Load configuration f..
[Mybatis] Oracle Bind Mismatch 해결하기 오라클 쿼리 수행 순서 Shared pool로 로드: SQL 코드가 분석을 위해 메모리로 로드 구문 분석: SQL 키워드 중 잘못입력된 키워드가 있는지 체크 쿼리 변환: 복잡한 SQL을 동일하고, 단순한 형식으로 변환 최적화(실행 계획 생성): 낮은 비용으로 데이터를 탐색할 수 있도록 의사결정 트리를 추축 실행 파일 생성: SQL 쿼리를 서비스하는 기본 호출과 실행 파일을 생성 행 페치(fetch): 행을 검색하여 데이터 전달 Soft parsing & Hard parsing 오라클에서 쿼리를 수행할때 무조건 위와 같은 쿼리 수행 순서를 따르는 것이 아니다. 오라클이 동일한 쿼리를 수행한다고 판단하면 1번의 단계를 건너 뛴 뒤 작업을 진행하게 되는데, 이를 Soft parsing이라 하고, 1~7의 단계..
[Docker] Dockerfile에 Locale 설정 및 KST 시간 적용하기 1. Locale ko_KR로 수정 RUN apt-get update -yqq \ apt-get upgrade -yqq \ apt-get install -yqq --no-install-recommends \ locales RUN localedef -i ko_KR -f UTF-8 ko_KR.UTF-8 ENV LANGUAGE ko_KR.UTF-8 ENV LANG ko_KR.UTF-8 ENV LC_ALL ko_KR.UTF-8 ENV LC_CTYPE ko_KR.UTF-8 ENV LC_MESSAGES ko_KR.UTF-82. KST 시간 설정 ENV TZ=Asia/Seoul RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
[기타] Chrome NET::ERR_CERT_REVOKED 해결방법 Self-signed certificate 인증서를 생성하여 HTTPS를 적용하게 되면 위의 이미지처럼 크롬에서 NET::ERR_CERT_REVOKED 에러가 발생하며 HTTPS 접근이 불가능하다. (Safari나 Firefox에서는 접근 가능하다) 해결방법 NET::ERR_CERT_REVOKED 에러 페이지의 흰 배경을 마우스로 클릭한다. (해당 크롬 창으로 포커스를 맞춘다) thisisunsafe 를 키보드로 입력한다. 주의할점은 thisisunsafe를 입력시에 어떤 인풋박스에 입력하는것이 아니라 허공에(?) 키보드타이핑을 해야한다.(무언가 인풋박스에 입력을 한다던가 하는게 아니다) 정상적으로 적용이 된다면 해당 키워드를 입력함과 동시에 자동으로 페이지가 리로드 되고 에러페이지 없이 정상적으로 접근..
[Kafka Manager] 설치하기 yahoo에서 만든 kafka-manager를 이용하면 카프카 운영을 위한 다양한 일들을 Web UI기반으로 처리할 수 있다. 설치 ## https://github.com/yahoo/kafka-manager/releases 에서 원하는 버전을 확인하고 -b 파라미터로 버전을 넘겨준다. ## 실제 실행파일은 해당 소스를 빌드한 후 생성이 됨으로 아래의 git clone은 아무 위치에서 실행해도 상관없다. $ git clone -b 2.0.0.2 https://github.com/yahoo/kafka-manager.git $ cd kafka-manager ## 아래의 명령어로 빌드를 하면 target/universal 하위에 zip파일로 빌드파일이 생성된다. $ ./sbt clean dist $ mv ./t..