웹 프로젝트 (IBAS)

    [RFC 표준] OAuth 2.0를 쉽고 정확하게 알아보자! (기초 개념 및 용어 정리)

    [RFC 표준] OAuth 2.0를 쉽고 정확하게 알아보자! (기초 개념 및 용어 정리)

    [OAuth 프로토콜이란?] 어떤 회사가 자신의 서비스를 운영하기 위해 어떤 리소스가 필요하다고 가정하자. 근데, 해당 리소스를 처음부터 수집하고 가공하는 일은 노력이 많이들기도 하고, 서비스 사용자에게도 불편한 경험이 될 수 있다. 이 때 구글이나 네이버 같은 대기업에서는 당사에서 미리 만들어 놓은 리소스를 사용할 수 있도록 api 를 공개하는 경우가 있다. 이 때 구글, 네이버 같은 기관은 OAuth provider 라고 말한다. 이 리소스는 민감한 정보(사용자의 개인정보 등)를 포함할 수 있기 때문에 안전하게 미리 약속된 방식으로 데이터를 주고 받을 필요가 있다. 이처럼 에서 HTTP 상으로 정보를 안전하게 주고 받을 수 있도록 통일한 규약을 OAuth 프로토콜이라고 한다. 1. 구성요소 4가지 아..

    프록시 요청 시 원래 사용자 ip 복원하기 (Nginx, Cloudflare)

    프록시 요청 시 원래 사용자 ip 복원하기 (Nginx, Cloudflare)

    [배경] 도메인 호스팅 업체 CloudFlare 를 사용 중. (이전에는 godaddy 를 사용하다가 호스팅이 불안정 했을 때, 급하게 옮긴뒤로 CloudFlare 가 더 편해서 계속 사용 중임.) CloudFlare에서는 프록시 모드로 https 통신을 지원해준다. 이 프록시 모드를 사용하면 웹서버로의 요청 ip가 실제 사용자의 ip가 아닌, CloudFlare의 프록시 서버 ip 로 찍히게 된다. 현재 운영하고 있는 개발용 api는 개발 팀원들만 접속할 수 있도록 특정 ip 만 열어놓은 상태이다. godaddy의 인증서가 서브도메인에는 적용되지 않아서, lets encrypt의 무료인증서로 서브도메인에 tls 프로토콜을 적용한 상태였다. 하지만 이 무료 인증서의 치명적인 단점은 3개월마다 연장을 해주..

    AWS 운영비 줄이기(ec2, savings plan, ebs, s3)

    AWS 운영비 줄이기(ec2, savings plan, ebs, s3)

    최근 (1)더 많은 저장공간의 필요성 + (2)환율 급등의 이유로 월간 aws 이용 금액이 50% 정도 상승하였음. 이에 따라 aws 이용 비용을 줄이고자 하는 방안을 제시함. 1) 요금 현황 사용중인 EC2 인스턴스 : t3.medium(seoul) 스토리지 : HDD 128 GB 고정ip 2) EC2 비용 절감 부분: savings plans 1년 약정 (1) 예상 월별 결제액 : 22.92$ (2) 월간 실질 절감 비용: 16.5$ EC2 instance : 38$ - 23$ = 15$ VAT : 15$ * 0.1 = 1.5$ ⇒ 약 16.5$(20,911원) 절감 예상 (2022.05.03 현재 환율 1267.38 원/달러) 3) 스토리지 비용 절감 부분 - S3 (1) 예상 월 지출 금액 : 3..

    [Spring Boot] 4. 로컬 개발을 위한 CORS 설정 - (2) Spring MVC 와 Spring Security

    CORS 정책을 모른다면 아래 글을 먼저 읽으시길 바랍니다. [Spring Boot] 4. 로컬 개발을 위한 CORS 설정 - (1) w3c recommendation 파악 [Spring Boot] 4. 로컬 개발을 위한 CORS 설정 - (1) w3c recommendation 파악 https://fetch.spec.whatwg.org/ Fetch Standard fetch.spec.whatwg.org 프론트 단에서의 비동기 통신 요청 - XMLHttpRequest 객체를 이용한 AJAX(Asynchronous JavaScript And XML (en-US)) 프로그래밍을 용.. letsmakemyselfprogrammer.tistory.com [2가지 설정 방법] CORS 정책 설정은 Spring M..

    [서버 장애 (2022-04-01 23:47)] mysql 서버가 죽었다...

    [서버 장애 (2022-04-01 23:47)] mysql 서버가 죽었다...

    [발견시각] 23:47 [상황분석] 17:54 분에 파일 업로드를 동반한 게시글을 업로드함과 동시에 sql 서버가 다운됐다. django 서버는 500 에러 안내 페이지를 뿜뿜 잘 내고 있는것으로 보아,, 어이없지만 아마 sql 서버 용량이 100퍼센트를 초과해서 발생한 것으로 보였다. 당장 서버 접속해서 용량 확인했더니,, usage 100%.... mysql 은 죽어있었다. [대처] 기존의 aws EBS 볼륨을 스냅샷으로 복구 aws EBS 볼륨 크기 확장 ubuntu 에서 해당 확장된 파티션 적용 했더니만 tmp 폴더가 초기화가 되어버렸다. 그래도 무중단으로 해결해보려고 했는데,,, ㅜㅜ 장고서버 소켓 파일을 tmp 폴더에 뒀었는데 사라져버려서 nginx 가 502 에러를 대신 뿜뿜해주었다.... ..

    [교육자료] 0. 신입팀원 Java 교육 커리큘럼

    [교육자료] 0. 신입팀원 Java 교육 커리큘럼

    1. 교재 자바의 정석 Java How To Program 10th, Deitel, Pearson 2. 커리큘럼 - 1주차 : 반복문, 제어문, 입출력 (~4장) 3.22 ~ 3.28 [과제] - 2주차 : 배열 (5장) 3.29 ~ 4.4 [과제] - 3주차 : 클래스 (설계를 다 주고 구현) (6장) 4.5 ~ 4.11 [과제] - 4주차 : 클래스 (설계 포함) (6장) 4.26 ~ 5.2 - 5주차 : 상속 (7장) 5.3 ~ 5.9 - 6주차 : 인터페이스와 다형성 (7장) 5.10 ~ 5.16 [과제] - 7주차 : GUI 시작, exception (8장) 5.17 ~ 5.23 [과제] - 8주차 : 날짜 및 기타 포매팅 GUI 에 녹여내기 (9장, 10장) 6.7 ~ 6.13 [과제] - 9..

    [Django 웹프로젝트] 11. 인메모리 캐시 사용해도 될까? 심층분석 - (2) uwsgi 와 python

    [Django 웹프로젝트] 11. 인메모리 캐시 사용해도 될까? 심층분석 을 위한 분석 게시글 2편입니다. uWSGI 에 의해 특정 웹 요청이 특정 pid 로 연결된다고 하면, 인메모리 캐시를 사용해도 되므로 웹 요청에 대한 load balancing 방식을 알아보기 위해 wsgi 를 알아보기로 했다. (아래에 정리했음) [Python 뜯어보기] 4. WSGI 와 Python 1. WSGI 란? "웹 서버 게이트웨이 인터페이스"라는 의미로, WS 와 WAS 사이의 인터페이스를 제공한다. (1) WS 를 변경해야할 일이 있거나 추가해야 할 때, (2) 또는 반대로 다른종류의 WAS 를 추가해야하 letsmakemyselfprogrammer.tistory.com

    [Django 웹프로젝트] 11. 인메모리 캐시 사용해도 될까? 심층분석 - (1) 파이썬 스레드, GIL

    [Django 웹프로젝트] 11. 인메모리 캐시 사용해도 될까? 심층분석 - (1) 파이썬 스레드, GIL

    [Django 웹프로젝트] 11. 인메모리 캐시 사용해도 될까? 심층분석 을 위한 분석 게시글 1편입니다. 아래의 카테고리에 정리했습니다. [Python 뜯어보기] 3. 파이썬 Thread 와 GIL [Python 뜯어보기] 3. 파이썬 Thread 와 GIL [파이썬 쓰레드와 GIL] 굉장히 좋아보이는 자료 출처: http://www.dabeaz.com/python/UnderstandingGIL.pdf - 파이썬을 실행시키면 => 하나의 프로세스, 하나의 인터프리터 - 파이썬 쓰레드는 real system(os).. letsmakemyselfprogrammer.tistory.com