전체 글

개발과 함께하는 일상을 그리는 블로그입니다.
들어가기 전에 로드 밸런서를 통해 다중 서버를 구성하는 경우에는 아래 포스팅을 확인해 주세요 :) https://hojun-dev.tistory.com/entry/JAVA-JPA-다중-서버-환경-DB-동시성-문제-해결하기 [JAVA] JPA 다중 서버 환경 DB 동시성 문제 해결하기 개요 서비스를 운영하다 보면 동시성 문제에 의해 DB에 잘못된 업데이트가 발생하거나 중복 insert 등의 경우를 종종 마주칠 수 있다. 단일 서버라면 Java에서 제공하는 synchronized 블럭을 이용해서 hojun-dev.tistory.com 개요 서비스 로직을 구성하다 보면 고유번호를 제외하고도 고유한 값이 존재하는 컬럼을 구성하기 마련이다. (ex. 로그인 아이디) 이런 경우 해당 테이블에 그 고유한 값이 없으면..
· Setting
개요 프론트엔드 개발을 하다 보면 localhost에서 https가 필요한 경우가 자주 있다. 예를 들어, 백엔드 API에서 Set-Cookie 헤더를 통해 쿠키를 전달하도록 구성할 때 Secure 설정이 걸려있다면 웹 브라우저와 웹 서버가 https로 통신하는 경우에만 쿠키를 저장한다. 참고) Set-Cookie Secure 설정에 대한 자세한 내용은 아래 생활코딩 수업에서 확인할 수 있다. https://opentutorials.org/course/3387/21744 쿠키 옵션 - Secure & HttpOnly - 생활코딩 수업소개 Secure는 웹브라우저와 웹서버가 https로 통신하는 경우만 웹브라우저가 쿠키를 서버로 전송하는 옵션입니다. HttpOnly는 자바스크립트의 document.cook..
· Setting
개요 평소처럼 업무를 진행하며 회사 메일을 확인했는데, `Exposed Git repository on host "~~~.com"` 와 같은 제목의 메일 한 통이 와있었다. 내용인 즉슨 해당 도메인에서 특정 url로 접속했을 때 git log가 그대로 노출된다는 경고 메일이었다. repo-lookout https://www.repo-lookout.org/ Repo Lookout Use CommonCrawl and Tranco data to find publicly exposed Git repositories. www.repo-lookout.org repo-lookout은 Ko-fi에서 비영리 목적으로 만든 대규모 보안 스캐너로써 실수로 노출된 repository를 찾아 해당 기술 담당자에게 보고한다. 필..
· Linux
개요 리눅스에서 파일 전송 로직을 자동화하기 위해 scp 명령어를 사용하던 도중 폴더 이동 관련 이슈가 발생하여 기록한다. scp 명령어란? scp(secure copy)는 로컬 시스템과 원격 서버 간에 파일 및 폴더를 복사하는 명령어로 SSH(보안 쉘) 프로토콜을 사용하여 데이터를 암호화하고 전송한다. scp 명령어는 다음과 같은 형식으로 사용된다. # remote_host의 destination_folder로 example.txt 파일 전송 scp example.txt username@remote_host:/destination_folder 폴더를 복사하고 싶을 땐 -r 옵션을 통해 아래와 같이 사용할 수 있다. # remote_host의 destination_folder로 example_folder..
· Setting
개요 웹 사이트를 개발하고 도메인을 연동할 때 실제 사용자가 접속하는 페이지라면 보안 상 SSL 인증서를 설치하고 https로 접속을 해야 한다. 이때 같은 도메인으로 http로 접속하는 경우 https로 자동으로 접속이 되도록 설정을 해주는 것이 좋은데, 자동으로 리다이렉트 하는 방법에는 여러 가지가 있어 그 방법들을 정리하고자 한다. 보안 상 가장 권장되는 방법인 HSTS에 대해서는 아래 포스팅을 참고해 주세요 :) https://hojun-dev.tistory.com/entry/HSTS-설정으로-HTTPS-강제-적용하기 HSTS 설정으로 HTTPS 강제 적용하기 개요 업무 중 하나의 시스템에서 GS인증을 적용해야 했는데, 그 서비스의 기본 도메인에 HSTS를 적용하고, 크롬의 HSTS Preload..
· Setting
개요 개발을 하다 보면 가상 호스트를 추가로 설정해줘야 할 일들이 종종 생기는데, 기존에 windows에서만 개발을 진행하다 최근 맥북을 새로 장만하면서 OS별로 가상 호스트를 설정하는 hosts 파일의 위치를 기록해 둘 필요성이 생기면서 hosts 파일에 대한 내용을 정리하게 되었다. hosts 파일이란? hosts 파일이란 IP 주소와 도메인 주소를 매핑해 주는 파일이다. IP 주소와 호스트 이름을 매핑하여 도메인 이름을 해석하는 데 사용된다. 간단히 말해 hosts 파일은 DNS(Domain Name System) 서버를 우회하여 특정 도메인 이름을 원하는 IP 주소로 연결할 수 있게 해 준다. DNS 서버가 있기 전 옛날에는 어떤 도메인이 어떤 IP다라고 하는 정보를 갖고 있는 hosts라는 파일..
· Setting
개요 좋은 기회로 맥북을 새로 장만하여 개발 환경을 세팅하면서 기존에 리포지토리를 관리하고 사용하던 Bitbucket의 SSH 설정을 정리하고자 한다. 설정 일단 터미널에서 Bitbucket에서 지원하는 암호화 알고리즘으로 된 ssh key를 생성한다. 우리는 ed25519 암호화 알고리즘으로 생성해 보자. passphrase를 입력하라고 하는 부분에서는 아무 입력 없이 엔터를 치고 넘어가면 된다. windows의 경우 git을 설치하면 git bash로 터미널을 이용할 수 있다. ssh-keygen -t ed25519 -b 256 키 생성이 완료되면 사용자 디렉토리에 .ssh 폴더가 생성되고, 폴더 내에 id_ed25519 파일과 id_ed25519.pub 파일이 생성되었을 것이다. 여기서 .pub가 ..
· 일상
코로나 주변 모든 사람들이 다 걸려도, 다른 사람들보다 덜 조심해도 절대 걸리지 않던 코로나가 뒤늦게 찾아온 후기를 뒤늦게 남긴다. 날짜 기준은 확진 판정일이 1일차. 0일차 (2023-04-28 금) 전날의 일교차가 너무 심해서 패딩을 입고 다닐 정도였는데 어김없이 감기기운이 시작되고 몸이 아팠다. 서있거나 걸어 다니기가 힘들 정도로 어지럼증이 있었고, 두통에 몸살 기운이 있고 뭘 먹기가 쉽지 않아서 저녁에 회사에서 죽을 시켜서 먹었다. 일부러 늦게 퇴근해서 지하철을 앉아서 타고 집에 갔는데, 환승하고 두 정거장 가는 열차에서 서있을 때 정말 쓰러질 것 같았다. 어떻게든 버텨서 역에 도착했는데 맞고 가기 어려울 정도로 비가 와서 동생을 역으로 불러냈다. 역 근처에서 기다리다 우산을 받아 들고 집에 들어..
hojun-dev
개발 일상