카테고리 (33) 썸네일형 리스트형 아주 간단한 Spring Boot 배포 사이드 프로젝트 백엔드를 Spring Boot로 만들고 있는 데, 어느 정도 로컬에서 개발하고 난 뒤 테스트 서버(EC2)에 배포해두었다. 소스를 실행가능한 jar 파일로 만들어서 구동시키는 진짜 간단한 방법이라 정리할 게 별로 없지만, 테스트 서버 패치 겸, 같이 하는 다른 친구에게도 공유할 겸 써보았다. 1. 대상 소스를 jar 파일로 빌드 사이드 프로젝트에서 기능 단위로 개발 및 테스트를 마치면 back-develop에 머지해두기 때문에, 내 경우엔 back-develop 브랜치에 머지가 되는 시점의 소스! 이 소스를 jar 파일로 빌드한다. gradle bootJar 빌드된 파일은 build/libs/--.jar 에 위치한다. jar vs bootJar gradle jar 로 만들면 -plain... TLS 1.0 은 취약하다! nginx에 ssl_protocols를 따로 설정하지 않으면 기본 값으로 TLSv1, TLSv1.1, and TLSv1.2 등을 지원한다 (nginx 버전 0.7.65 이상, OpenSSL 버전 1.0.1 이상). 근데 TSLv1 까지는 보안에 취약하다!! 뚠!!그래서 1.TLSv1 vs TLSv1.1 vs TLSv1.2의 차이랑 2. nginx에서 사용하는 TLS 버전 확인 방법, 3. nginx 에서 TLS 버전 변경 방법, 정확히는 버전 1을 사용하지 않는 방법을 정리해보았다.TLSv1 vs TLSv1.1 vs TLSv1.21. TLSv1.1 이 TLSv1과 다른 점 (RFC 4346)- CBC 모드에 대한 공격에 방어하기 위해 명시적인 Initialization Vector(IV)가 아닌 imp.. Base64 를 정리해본다면... Base64 도 내겐 알아두면 항상 까먹고 쓸 때 헷갈리는 것 중에 하나이다. 그제 개발할 때 Base64로 또 삽질했어서 정리해본다. 이제 그만 삽질해야지. 진짜 삽질할 것도 아닌데 신기하게 매번 그런다. Base64 인코딩 디코딩은 보통 http 통신으로 바이너리 데이터나 url을 주고받을 때 등 주로 사용된다. Base64는 RFC 4686에 따르면 Base64 인코딩은 임의의 바이트들을 대소문자 영문 등으로 이루어진 형태로 나타낼 수 있도록 고안되었다. US-ASCII에서 사용하는 65 글자가 사용되었으며 6비트당 한 글자를 표현한다. a-z, A-Z, 0-9 , +, / 로 64글자이며, 65번째 = 는 패딩용이다(= 는 아래 추가 서술). 3 바이트 = 24비트 = Base64인코딩된 4 글자.. 파일 권한 관리 분명 권한을 한번 공부했었는 데, 어느새 700 또는 777 만 기억하고 있는 날 발견했다. ls -al 해서 보는 데, 권한 읽는 것도 헷갈리고.. linux biginner tutorial을 참고해 권한을 다시 정리해보았다. (사실 테스트는 mac 에서 했지만, 둘 다 Unix 기반이라 기본적인 권한 내용이 다르지 않았다) ls -l (path) 로 해당 위치의 자세한 파일목록을 보면 이렇게 파일이 표시된다. 권한 파일개수 유저 그룹 크기(바이트) 날짜시간 파일이름 그중 권한은 맨 앞자리를 제외하고 rwx로 표현되는데, r 은 읽기(4), w는 쓰기(2), x는 실행 권한(1)을 의미한다. 맨 앞자리를 제외하고 세 자리씩 끊어서 읽으면 되는 데, 각각 유저, 그룹, (유저와 그룹을 제외한) 누구나의 .. 실행시간 (Execution time) vs 패치시간 (Fetch time) 지난주에 며칠 동안 데이터베이스 관련 앱 성능을 개선하는 작업을 진행했다. 가장 큰 테이블의 경우 row 가 몇 백만 개 정도가 되는 데, 그 테이블과 다른 테이블들을 조인해 만든 뷰들이 난리가 났다. (데이터가 많고 정렬 쓰려면 결국 반정규화가 최고라는 교훈을 남겼는 데, 이건 따로 기록을 해둬야지) 문제가 되는 SQL 문을 돌려보니 fetch 시간이 600 초 가까이 되었고 좀 놀랐다. 실행시간은 생각보다 얼마 안 걸렸다. 집에 가는 길에 직장 동료에게 fetch 시간이 600 초가 넘었어요.. 하고 하소연을 했는 데, 동료가 fetch 시간이 뭐냐고 물었다. fetch 시간은 당연히 데이터를 가져오는 데 걸리는 시간이라고 기억하고 있는 데, 기억이 희미해 열심히 Oracle 공식 문서의 정의를 뒤져.. 이전 1 2 3 4 5 6 7 다음