-
AWS Presigned url 그리고 Signed Url
들어가며 이미지/동영상 업로드 기능 및 CDN 은 이미지나 동영상을 제공하는 서비스에서는 너무나 필수적으로 사용되고 있는 플랫폼이다. 다만 인증된 사용자만 업로드 기능하게 한다던지, 넷플릭스 처럼 유료 회원만 특정 컨텐츠를 시청하게 한다던지 하려면 꽤 많은 부분을 고려하여 개발을 해야 한다. AWS에서는 presinged url / signed Url 을 제공하여 이러한 니즈들을 보다 빠르게 구현할수 있다. Presigned URL 미리 서명된 URL의 생성자가 해당 객체에 대한 액세스 권한을 보유할 경우, 미리 서명된 URL은 URL에서 식별된 객체에 대한 액세스를 부여합니다. 즉,...
aws presignedurl signedurl cdn cloudfront
twosunny's profile imagetwosunny
2021-05-19 10:00
-
회원가입/로그인/보안 그리고 AWS cognito
들어가며 우리가 회원 인증 시스템을 처음부터 만든다고 가정해 보자. 러프하게 기능을 나열해 봐도, 회원가입 / 로그인 / 비번 찾기 / 본인인증 / 쿠키 세션 토큰 관리 / 이중 인증 / 보안 등등등 할일이 너무나 너무나 많다. 또한 로그인 및 가입은 회원을 소유한 어떤 사이트 건간에 핵심 기능이기 때문에 확장성 및 특히 보안적인 부분에 굉장한 공을 들여야 한다. 또한 설계 / 코딩적인 영역 뿐 아니라 DB나 인프라적인 부분도 필수적으로 같이 고민해야 함으로 제대로 만드려면, 꽤 고난이도의...
aws awscognito oauth openconnectid
twosunny's profile imagetwosunny
2021-03-09 10:00
-
개발자의 커뮤니케이션
들어가며 커뮤니케이션은 어떻게 하면 잘할까? 개인적으로 항상 고민하는 문제이고, 아직도 어려워 하는 문제이다. 같은 업계 사람이라면 한번쯤 생각해 봤을 법한, 개발자의 커뮤니케이션에 대해서 포스팅 하고자 한다. 정작 본인도 남중 -> 남고 -> 공대 -> 군대 -> 개발자…어떻게 보면 전형적인? 개발자 코스프레 코스로 개발자가 되어서 이러한 포스팅을 하는게 조금은 부끄럽기도 하다…ㅠ 다만 학창시절에 만났던 친구들이나 지인들이 모두 영업, 마케터, 체육, 제조 등 개발과는 다소 거리가 먼 업종에 있고 그 사람들이 개발자와의 소통에서 어려웠던 점이나 열받았던? 경험들을...
twosunny's profile imagetwosunny
2020-12-11 10:00
-
Spring boot Graceful Shutdown
시작하며 보통 애플리케이션에서 변경 사항이 있으면, 애플리케이션을 재시작 해야 변경사항이 반영된다. 물론 배포 방식에 따라 Blue-Green 배포 형식을 따르게 되면, 이전 버전 앱을 굳이 죽일 필요는 없지만, Rolling 배포를 따르는 경우, 순차적으로 구버전의 앱을 죽이고, 신규 버전 앱을 띄어야 한다. 구버전 앱을 죽일때 프로세스 자체를 바로 죽이게 되면, 현재 요청을 받아 처리중인 작업들이 모두 취소가 되기 때문에, 복구 프로세스 확립등 할것이 너무나 많아 진다. 예를들어 결재처리중인 애플리케이션이 갑자기 죽어 버린다면?(생각도 하기 싫다….) 물론 애플리케이션 윗단에서,...
springboot shutdown graceful deployment
twosunny's profile imagetwosunny
2020-10-06 10:00
-
MSA and Netflix OSS
시작하며 Microservice Architecture(이하 MSA) 는 구체적으로 언제부터 핫?해 졌는지는 몰라도, 적어도 최근 5년간 가장 핫하게 발전된 아키텍쳐이다. 하지만, MSA를 실 업무에 적용하기엔 검토해야 할 것들이 꽤 많이 있다. 레거시코드와의 혼재성, fail over, 각 모듈간 통신 등등 간단한 기술만은 결코 아니다. 따라서 현업에서 충분한 기술 검토 및 적용 타당성을 신중히 하여 판단해야 한다. 그럼에도 불구하고 모듈들을 작게 쪼개고 권한/임무를 쪼갬으로써 얻은 운영상의 이익은 보기보다 꽤 크다. MSA는 일정에 맞춰 빨리 개발하는게 결코 결코 목적이 아닌, 긴...
msa netflix eureka ribbon apigateway zuul hystrix
twosunny's profile imagetwosunny
2020-07-21 10:00
-
Spring Boot OAuth2 그리고 소셜 로그인
시작하며 이 포스트는 spring boot oauth2 를 사용하여 빠르게 소셜 로그인(github, google)을 적용할수 있는 방법에 대해서 기술하도록 한다. 참고로 oauth2에 대한 개념은 다른 여러 사이트에서 자세히 나와 있으니 참고 하거나, 여기에서 개념 확인이 가능하다. spring boot 설정 프로젝트 생성 우선 https://start.spring.io 로 이동하여 빈 프로젝트를 만들자. 만들때 WEB을 종속성으로 추가하자. 그 다음 선호하는 IDE를 열어 위에 만든 프로젝트를 연다. 편의를 위해 pom.xml에 jQuery와 Bootstrap을 종속성에 추가한다. <dependency> <groupId>org.webjars</groupId> <artifactId>jquery</artifactId> <version>3.4.1</version> </dependency> <dependency> <groupId>org.webjars</groupId> <artifactId>bootstrap</artifactId> <version>4.3.1</version>...
springboot oauth2 social-login
twosunny's profile imagetwosunny
2020-05-04 10:00
-
Phaser & Tiled Map Editor로 만드는 Html5 Web Game - 1편
시작하며 웹 게임을 만드려면 무엇을 준비해야 할까? 몰 어떻게 해야 하지???!!! 웹 게임을 간단히 만들어 보자!! 드루와~~드루와!!! 몰 만들껀데? 간단히 이런걸 민들어 보겠다. 내가 꾸민 맵이 있고, 그 안에 캐릭터가 있고, 캐릭터가 맵 안에서 이리저리 움직이는 간단한 게임을 만들어 보자. 개발 툴 선정 물론 Html5의 캔버스를 이용하여 애니메이션등을 구현할수 있고, 코어적인 핸들링이 가능하지만 너무 노가다가 될수 있으니….. 게임 엔진은 Phaser를 사용하고, 게임 Map을 쉽게 그려줄수 있는 Tiled Map Editor를 이용하도록 하겠다. Phaser 쉽게 말해 html5에서...
html5 tiledmap phaser webgame HTML5 Game
twosunny's profile imagetwosunny
2020-02-17 10:00
-
HTTPS 의 동작 원리 - 2편
시작하며 HTTPS 의 동작 원리 - 1편에서는 HTTPS 안에 녹아져 있는 주요 개념들에 대해서 살펴 보았다. 2편에서는 실제로 HTTPS가 어떻게 내부적으로 동작되는지 알아보고자 한다. HTTPS 동작 원리 SSL은 아래 3가지 액션으로 인해 동작하게 된다. 악수(handshake) 데이터 전송 세션 종료 악수(handshake) 클라이언트, 서버간의 통신을 하기 전 실제 통신을 할수 있는지, 서로 검토하는? 단계이다. 굳이 비유하자면 사람 관계와 비슷하다. 내가 어떤 새로운 친구를 만나고 싶을때, 상대방에게 나에 대한 존재를 알려줘야 하고 또한 상대방도 나란 사람에 대해서 조금이라도...
twosunny's profile imagetwosunny
2019-12-03 10:00
-
서버리스(serverless) 아키텍쳐 및 Lambda
시작하며 날씨정보를 제공해 주는 웹 애플리케이션 혹은 앱을 만들다고 가정해보자. SNS 계정을 연동하여 그 날씨에 대한 사용자 리뷰도 필요하다고 한다. 먼저 대략적으로 시스템을 구성해 보면 웹서버, 애플리케이션 서버, DB 서버, 캐시서버 등등이 구성될수 있다. 그 후, 각 서버 목적에 맞는 소프트웨어 및 툴을 설치해야 하고, 환경 세팅해야 하고, 네트웍 설정, 보안 설정 등등 실제 코딩을 하기 전에 해야 할일들이 꽤 많다. 또한 실제 개발이 들어가서 코딩을 할때에도 각 플랫폼, 언어에 맞는 설정 및 세팅등의 시간등...
serverless lambda aws azure function apigateway
twosunny's profile imagetwosunny
2019-09-11 10:00
-
HTTPS 의 동작 원리 - 1편
시작하며 막상 실무를 하다보면 SSL 적용… , HTTPS 로 통신이 되니….., 인증서…. 등등 보안 통신 관련해서 많은 일들을 접할수 있다. HTTPS 라는 말은 간단하지만, 실제로 내부 동작 원리를 살펴보면 대칭키, 공개키, 인증서, 전자서명 SSL, 해시 등 많은 개념들이 어우러져 있는 종합선물세트 같은 느낌이 든다. 1편에서는 HTTPS 안에 있는 기본 개념들을 살펴보고 2편에서는 HTTPS 의 동작 원리를 살펴보도록 한다. HTTP 와 HTTPS HTTPS의 정의를 위키에서 찾아보면 아래와 같다. HTTPS(HyperText Transfer Protocol over Secure Socket Layer, HTTP...
twosunny's profile imagetwosunny
2019-07-04 10:00
-
Java Image Performance
실제 업무에서 Java로 image를 처리하여 서비스 하는 경우는 그렇게 많지 않을것이다. 예시 프로젝트를 통해, Java로 이미지를 읽고, 가공하고, 다시 인코딩을 하는 일련의 과정을 쓸 예정이다. 하지만 이미지 처리에서 가장 중요한 건 역시 속도다. 멋있는 이미지를 서버에서 만들었다 해도, 다수의 접속자가 쾌적하게 그 이미지를 볼수 있어야 한다. 그런 의미에서 performance 중심 위주로 기술하려고 한다. 예시 프로젝트 소개 아래와 같은 1~9까지의 이미지 조각들을 읽어서(image decoding), 각 조각 이미지를 BufferedImage를 이용하여 합친뒤, 합친 이미지를 아래와 같이 png로 변환(image...
twosunny's profile imagetwosunny
2019-05-14 10:00