분류 전체보기(103)
-
[RDBMS] DB의 쿼리 실행 과정에 대해서
일반적으로 DB를 사용할 때 초보 입장에서는 문법에 맞게 sql문만 사용하면 된다고 생각한다. 그러나 DB에 대한 기초이론도 탄탄해야한다. 따라서 이번 글에서는 DB에 SQL문을 실행할 때 어떤 과정으로 진행되는지, db 내부적으로 시스템이 어떻게 가동되는지에 대해 정리해보고자 한다. * 해당 글에는 정확하지 않은 정보가 있을 수 있으므로 더 자세한 정보는 공식문서나 해외 포럼을 참고하시고 잘못된 부분을 댓글로 지적해주시면 수정하겠습니다. 목차는 다음과 같다. 1. SQL 파서의 구문 분석 2. 옵티마이저의 쿼리 최적화 3. 로그 관리(redo 로그와 undo 로그) 4. 트랜잭션에 관해 4-1. 정합성과 무결성 4-2. 동시성 제어 (동시성 제어, 고립성 레벨, 데드락) 4-3. 성능 최적화 1. SQ..
2024.02.02 -
Google GIS(Google Identity Services) 방식이란?
사내에서 소셜 로그인을 구현하게 됐다. 그 중에서도 구글을 맡게 됐다(페이스 북 로그인은 비즈니스 계정이 인증된 후에 추가적으로 email을 api로 요청해야 하는데 비즈니스 계정 인증이 안되는 관계로 우선은 보류됐다). 1. google cloud 콘솔에서 계정 생성 https://console.cloud.google.com/ 새 프로젝트 생성 2. people api 등록(이거 아니라도 Google Login API를 사용할 수 있는 다른 API라도 추가하면 됨) 3. oauth 동의화면에서 클라이언트 등록(ID, PW 발급) ->이때 발급받은 Client ID로 Google에 API를 호출한다. Redirect URI 등 추가 4. docs 참고하면서 Javascript 코드 추가 google에서 ..
2024.01.30 -
nginx에 관하여
사내 네트워크망을 구축하는 과정에서 Nginx를 통한 분기처리가 필요했다. 따라서 nginx가 무엇인지, 어떤 역할을 해주는지에 대해 이론적으로만 알던 개념을 알게 됐다. nginx는 네트워크와 관련해 여러가지 기능을 제공해준다. ip필터링, 포트포워딩, 특정 도메인의 접속만 허용, 특정 ip나 도메인으로 접속시 리디렉션, 443포트 허용 등.. nginx를 통한 네트워크 분기 처리는 생각외로 상세하게 설정할 수 있다. nginx를 설치해서 SSL인증서를 발급받은 후 https를 적용시키는 방법도 있다. 현재 사내에서 사용하고 있는 네트워크는 건물 자체에서 사용하고 있는 네트워크 망에서 호스트만 변경된 것으로 거기서 한 번 더 iptime으로 호스트를 분기시킨 후에 사용하고 있는 실정이다. 따라서 pub..
2024.01.15 -
[AWS] 타겟그룹과 인스턴스간 통신 프로토콜(HTTP, HTTPS) 관계에 대한 정리
이전에 AWS 실습으로 진행했던 가비아 도메인 네임 서버 연결 및 https 적용한 사이트에서 1가지 문제점을 발견해 이에 관한 수정 사항 및 이유에 대해 정리하려고 한다. 현재 서버에서 사용하고 있는 포트 포워딩은 80 -> 3000, 443 ->3000 으로 총 2개의 규칙이었다. 설정한 규칙을 확인하는 방법은 아래와 같이 iptables 명령어를 사용하는 것이다. # iptable 관련 설정 규칙 확인 sudo iptables -t nat -L -n -v pkts bytes target prot opt in out source destination 26 1560 REDIRECT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 redir ports 3000 관련 유용한 명령..
2024.01.01 -
[Mac OS, Linux] 쉘 스크립트(.sh)파일 작성하는 법 및 alias로 명령어로 사용해 SSH에 쉽게 접속하는 법
터미널에서 여러가지 작업을 하다보면 반복적인 명령어를 입력해야 하는 경우도 있고 AWS 인스턴스로 접속하려면 SSH로 접속해야 하는데 이 때 키 파일의 경로가 있는 곳에서 ssh 명령어를 수행하던지 혹은 key 파일의 '절대경로'를 알고 있어야 한다. 따라서 이와같은 비효율적인 작업을 줄이기 위해 이를 쉘 스크립트로 작성하고 이 쉘 스크립트(.sh 파일)를 명령어로 수행하는 방법을 알아본다. 이번 실습에서는 위에서 언급한 AWS의 SSH환경에 보다 수월하게 접속하기 위한 방법을 예제로 사용한다. * pem 파일에 대한 권한은 chmod 400 key.pem 으로 설정돼있어야 한다. 1. .sh 파일 작성 어디든 좋다. 본인이 편한 곳에 쉘 스크립트를 작성한다. 쉘 스크립트를 한곳에 모아놓는 파일도 좋고 ..
2023.12.30 -
AWS HTTPS 연결
우선 도메인으로 HTTP접속까지 된다는 가정하에 아래와 같이 하면 HTTPS를 붙일 수 있다. 1. 인증서 발급 -> 요청 후 생성되는 CNAME있을 건데 그걸 바로 레코드로 생성해준다. 바로 생성버튼 눌러도 되고 key value를 이름과 값으로 집어넣어서 레코드를 직접 route 53에서 생성해줘도 된다. 2. ALB 생성 - 타겟그룹을 미리 생성해놔도 되고 만들면서 해도 된다. 이 때 ALB의 보안그룹은 인스턴스와 같은 것으로 설정해라. 나는 이거 떄문에 삽질했다. 아마도 인스턴스의 보안그룹의 인바운드 규칙은 80 443을 뚫어놨을 것이다. 그러므로 ALB에 대한 보안그룹도 동일하게 적용이 돼야 한다. 3. 타겟그룹 생성 - 타겟그룹은 로드밸런서와 통신하는 인스턴스이다. 정확히 어떤 역할인진 모르겠..
2023.11.26