Python String concat 시간복잡도

면접 중 코드 리뷰 시간에 내가 string += string의 형태로 쓴 것을 시간복잡도 계산에 넣지 않자 면접관님이 이 부분을 가리키시며 이것까지 포함하면 시간복잡도가 얼마가 나오겠냐고 물어보신 적이 있었다.그래서 직접 계산하게 된 string + string의 여

2020년 6월 2일
·
1개의 댓글
·
post-thumbnail

FFmpeg과 FFprobe 갈길이멀다

FFmpeg을 빌드하면FFprobe 폴더와 FFmpeg폴더가 나뉘는데, 먼저 FFprobe는(https://ffmpeg.org/ffprobe.html 의 설명 해석해봄)FFprobe는 멀티미디어 스트림으로부터 정보를 모으고 사람과 기계가 읽을수 있게 프린트한다

2020년 6월 1일
·
0개의 댓글
·
post-thumbnail

자바 기초지식

Method Area프로그램 실행 중 클래스가 사용되면 JVM은 해당 클래스 파일을 읽어서 분석하여 클래스의 인스턴스 변수, 메소드 코드 등을 Method Area에 저장클래스 변수도 이 영역에 함께 생성객체 생성 후 메소드를 실행하면 해당 클래스 코드에 대한 정보를

2020년 6월 1일
·
0개의 댓글
·

Spring Boot File Upload & Serving 서버 + React Player 1편

영상과 썸네일을 static하게 가져오려는 과정에서,file path 설정에서 애를 먹으면서 이번 기회에 pring boot의 classpath와 absolute path 에 대해서 다시 공부했다.classpathclasspath는 지금 실행 중인 위치에서 상대적으로

2020년 5월 31일
·
0개의 댓글
·

Spring boot, ReactJS 파일 업로드 및 Mysql에 링크저장하기

메뉴 등록 시 사진 등록이 필요하게 되었다. apache의 commons-io 설치 마지막 업데이트가 2년 이상 되긴 했는데 문제 없이 작동한다. Controller자바는 File 클래스를 통해서 파일과 디렉터리를 다룬다. 그래서 File 인스턴스는 파일

2020년 5월 31일
·
0개의 댓글
·

Spring 의존성 주입 문제: @Autowired 한 class가 null로 나올 때

등록된 Bean을 가져다가 사용하고 싶을 때 @Autowired로 편하게 사용하고는 한다. WebSocketConfig 에서 endpoint에 HandshakeInterceptor를 추가해 endpoint 접근하는 url의 query parameter에서 토큰을 캐치해

2020년 5월 31일
·
0개의 댓글
·
post-thumbnail

Socket 인증 with API Gateway + Refresh JWT

http→websocket upgrade를 위한 handshake http 요청에는 custom header를 달 수 없다. Authorization header를 달 수가 없다는 것이다. 특히 API Gateway를 사용하는 경우에 문제가 된다. 처음에는 upgrad

2020년 5월 31일
·
2개의 댓글
·
post-thumbnail

Spring Boot + STOMP + JWT Socket 인증하기

앞서 우리 프로젝트는 클라이언트가 모든 요청에 JWT를 붙여 보내고 Gateway 차원에서 파싱해 이후의 기능 서버들 단에서는 자유롭게 통신을 주고받는 것으로 정했었다. 그런데 WebSocket의 경우 헤더의 토큰을 검사하던 HTTP 프로토콜과는 완전히 달라 인증을 어

2020년 5월 31일
·
1개의 댓글
·

Cassandra-Spring boot-STOMP 실시간 통신

그냥 socket이 세션을 하나씩 관리해야 한다면, stomp를 사용하면 pub/sub 형태의 발행자/구독자들 형태로 관리할 수 있다. 우리 프로젝트의 경우 bts column에 보여줄 트윗은 모든 사용자에게 동일하기 때문에 하나의 발행자만 있으면 된다. 채팅에서 많이

2020년 5월 31일
·
0개의 댓글
·

스마일게이트 서버개발캠프 4기 한 달 후기

 서버개발캠프를 시작한 지 벌써 한 달이다. 짧다면 짧은 시간이지만 한 달 이상 과제 걱정이나 취업 걱정 없이 코딩에만 몰입해 본 적은 처음이었다. 처음에는 뭔가 대단한 것을 우수수 배워서 캠프가 끝나면 갑자기 내가 슈퍼 개발자가 되어 있는건가? 싶었는데 한 달쯤 되니

2020년 5월 31일
·
1개의 댓글
·

[API Gateway + Refresh JWT 인증서버 구축하기] Spring boot + Redis 이메일 인증

유저 회원가입 요청유저가 입력한 회원정보 redis에 저장이메일 전송username과 username + salt를 SHA512 해싱한 인증 토큰이 포함된 인증 url을 이메일로 전송.redis에 토큰 저장하면서 만료 기간도 정함유저가 URL 클릭담당 컨트롤러에서 해당

2020년 5월 31일
·
0개의 댓글
·

[API Gateway + Refresh JWT 인증서버 구축하기] Spring boot + Spring Cloud Gateway + Redis + mysql JPA 3편

예상된 에러 안에 들어오면 성공이든 실패든 httpStatus는 200 OKerrorCode는 모든 요청에 대한 응답에 json값중 하나로 넣을 값성공 시 errorCode는 10, frontend에서 10인지 먼저 체크하기를 기대@RestControllerAdvice

2020년 5월 31일
·
1개의 댓글
·
post-thumbnail

[API Gateway + Refresh JWT 인증서버 구축하기] Spring boot + Spring Cloud Gateway + Redis + mysql JPA 2편

먼저 라우팅을 담당할 RouteLocator를 최상위의 Application.java 파일에 써준다.RouteLocatorBuilder 는 predicates와 fileters들을 사용자의 routes에 추가해 request/response를 커스터마이징하는 등 조건에

2020년 5월 31일
·
0개의 댓글
·
post-thumbnail

[API Gateway + Refresh JWT 인증서버 구축하기] Spring boot + Spring Cloud Gateway + Redis + mysql JPA 1편

로그인 한 번으로 여러 서비스를 이용하는 것. Google 아이디 가지고 여러 서비스를 사용하는 것이 대표적인 예시인데 Oauth2와 아주 깊게 연관되어 있는 듯 하다. SSO라고 하면 '하나의 로그인으로 여러 서비스 이용하기'라는 컨셉 자체이고 Oauth는 그것을 실

2020년 5월 31일
·
1개의 댓글
·

네트워크 전공지식

김유성 교수님 교안 + 면접에 나올법한 지식존재 이유: 통신이 일어나는 과정이 단계별로 파악할 수 있기 때문흐름을 한눈에 알아보기 쉽고, 사람들이 이해하기 쉽고, 7단계 중 특정한 곳에 이상이 생기면 다른 단계의 장비 및 소프트웨어를 건들이지 않고도 이상이 생긴 단계만

2020년 5월 31일
·
0개의 댓글
·

[서버개발캠프] 인증 서버와 API Gateway 연결하기 1

기본 단일 인증 서버에 작성했던 filter와 parser들이 역할 분배가 불분명하고 서로 맞물려서 중복되는 등 더러워서 참고만 하고 새로 깔끔하게 작성해보기로 했다. JWT Parser를 만들기 위한 준비 먼저 파싱과 검사를 위한 util 클래스를 만들 것이다.

2020년 1월 24일
·
0개의 댓글
·

[서버개발캠프] JWT 인증 서버와 Spring Cloud Gateway Spring Security 적용해서 연결하기 0편

인증 서버와 Gateway의 역할 배분 우선 JWT만을 고려해서 인증 서버와 Gateway의 역할을 나누었다. 크게 보면 결국 토큰 발행은 인증 서버가, parsing&validation은 Gateway가 하게 된다. 지금 당장은 인증 서버가 하는 일이 적어보이긴 한데 후에 Oauth2를 추가했을 때 resource 서버(Google과 같은 third p...

2020년 1월 24일
·
2개의 댓글
·

[서버개발캠프] Spring Cloud Gateway 기본

*https://spring.io/guides/gs/gateway 따라가기 스프링부트 버전 2.1.0으로 설정 원래 2.2.7인가 더 높은거였는데 netty 에러가 계속 걸려서 찾아보니 2.1.0 버전으로 하래서 일단 설정을 바꿔서 진행한다. RouteLocatorBuilder RouteLocatorBuilder 는 predicates와 fileter...

2020년 1월 23일
·
0개의 댓글
·

[서버개발캠프] MSA 아키텍쳐의 API Gateway 프레임워크 결정

우리 프로젝트 MSA 아키텍처 심시은20200123104504_1.png API Gateway > API 게이트웨이는 클라이언트 앱과 마이크로 서비스 사이에 위치합니다. 클라이언트에서 서비스로 요청을 라우팅하는 역방향 프록시로 사용됩니다. 또한 인증, SSL 종료 및 캐시와 같은 추가 교차 편집 기능을 제공할 수 있습니다. 사용자의 API 게이트웨이 ...

2020년 1월 23일
·
0개의 댓글
·

[서버개발캠프] Spring boot + Spring security + Refresh JWT + Redis + JPA 4편: 로그인 유지와 로그아웃 처리

Post request에 header 붙이기 axios를 사용한 post request에서 header가 자꾸 request body로 들어가는 문제점이 있었다. 형식에 딱 맞춰야 하는 것 같은데 풀어서 쓰니까 계속 안됐다. 그냥 headers 따로, data 따로

2020년 1월 21일
·
0개의 댓글
·