1. 들어가며 Spring의 진입 장벽에는 여러가지가 있을 것 같습니다. AOP, JPA 등 다른 프레임워크보다 어렵게 느껴질 것들이 많습니다. 다른 언어와 비교해도 Python Django의 ORM이 처음 접하고 CRUD를 다루기까지 시간이 얼마 걸리지 않는 것에 비해 Spring은 처음부터 알 수 없는 에러들과 싸움을 하는 경우가 많습니다. 물론 Django도 DRF와 여러 복잡한 쿼리를 사용한다면 복잡도가 더 올라가겠지만요! 하지만 익숙해진다면 그만큼 강력한 프레임워크라고 생각합니다. 그리고 무엇보다 Spring에는 가장 큰 메리트가 있는데, 김영한님의 강의가 있다는 점이라고 생각합니다. 주변 지인들과 프레임워크 얘기를 할 때 난 Django가 더 어려웠어~ 라고 해서 당황한 적이 있는데, 그분 말..
1. 들어가며 들은지 한 학기가 지나서 정리하는 김영한 스프링 MVC 1편 강의입니다. 오랜만에 정리하려고 살펴보면서 전체적으로 모두 복습도 해야했고 그 김에 2회독을 한 셈이 되었으니 오히려 좋다고 할 수 있을 것 같습니다..지금까지 세 개의 강의를 정리했는데 사실 강의 내용을 그대로 쓰는 것은 지양하고 있습니다. 강의 내용을 그대로 옮긴다면 김영한님께 죄송한 일이라 생각이 들고, 무엇보다 "직접 강의 듣기"라는 가장 좋은 방법을 두고 블로그 글을 볼 필요는 없다고 생각합니다. 이 글에서 다루고 있는 것은 강의에서 어떤 것을 가르쳐 주는지를 통해 들을 지에 대한 판단과, 추후 복습을 위해 정리한 것입니다! 2. 강의 내용 2.1 웹 어플리케이션이란? 한때 면접 단골 질문으로 알려졌던 것 중 하나가 웹 ..
1. 읽게된 이유 책을 읽게된 계기는 사실 우연이었습니다. 학교 도서관에 오랜만에 갔었는데 신간 도서란에 책이 있는 것을 발견했었고 한때 우테코의 애청자였던 저는 '우아한'이라는 말을 보자마자 책을 집어들었습니다. '우아한 형제들'의 개발자 컨텐츠에 신뢰가 있는 이유는 그 분들이 정보를 전달하는 방식입니다. 철저히 전달 받는 사람들을 고려한, 개발 쪽 공부를 하다보면 정말 고마운 컨텐츠이기 때문입니다. 개발자로서 스스로 해내는 힘을 중요시하지만 더 친절하고 효율적으로 알려주는 방법이 있다면 택하지 않을 이유가 없습니다. 그런 우아한 형제들이 개발 이야기를 정리해서 책으로 냈다니 바로 읽어보고 싶었습니다 :) 2. 책의 구성 책의 구성은 아주 효율적이었습니다. 목차는 1. 배민 다움 만들기 2. 프론트엔드..
대체로 웹해킹 문제들은 적게 나왔지만 난이도도 Dreamhack 기준 3 정도에 그쳤던 것 같습니다. 특히 특별 문제의 경우 예고된 대로 더 간단하게 출제가 된 경향이 있었습니다 :) 문제의 소스 코드를 보면 CSP 헤더를 설정하고 있다. script의 경우 xss를 막기 위해 self origin / nonce를 통해 제약을 두고 있지만 base-uri에 대한 제약 정책이 없다. 이렇게 되면 base-uri를 악성 uri (이 문제에서는 풀이자의 개인 서버)로 바꾸고 script 파일을 그 uri의 서버에 담아둔다면 script를 해당 서버에서 실행시킬 수 있다. base-uri를 바꾸기 위해 base 태그를 xss 해야 한다. 이메일을 보내면 admin bot이 자동으로 그걸 읽는 구조이다. 따라서 ..
참가한지 한참 되었지만 뒤늦게나마 정리해본 webhacking 관련 writeup입니다. FIESTA 문제 답게 리버싱, 침해 대응 문제가 주로 출제되어 웹해킹 문제로는 별로 참가하지 못한 점이 아쉽습니다. 다음에 웹해킹만을 다루는 CTF가 열린다면 팀원들을 꾸려 참가해보고 싶은 마음입니다 :) 취약 페이지에 접속해보면 apk 파일을 다운로드 하는 버튼이 있다. 해당 버튼을 클릭해보면 특이하게 다운로드 하는 파일을 GET 요청의 paramter로 받아서 이루어지는 것을 알 수 있다. 이는 url../download?f=“OOO”으로된 양식을 보면 알 수 있는데, f 인자에 들어가는 문자열을 보면 base64 encoding이 되어 있음을 알 수 있다. 그렇다면 f parameter에 원하는 파일을 bas..
0. 요약 - 쿠버네티스에 딥러닝 모델 서빙하면서 겪은 문제. - 서빙을 위한 서버 구축 및 쿠버네티스에 올리기. - 모델 라이브러리 호환 문제 해결 - 6배 최적화 1. 들어가며 - 프로젝트 설명 이번 학기는 학교 수업에서 앱개발을 하는 프로젝트가 있습니다. 저희 팀이 기획한 것은 부모와 아이가 함께 캐릭터를 그리면 그 캐릭터를 gif 애니메이션으로 바꿔주는 앱입니다. 다른 핸드폰에서도 실시간으로 캔버스가 동기화되어 그림을 함께 그릴 수 있고, 그 캐릭터가 살아 숨쉬며 움직이는 모습을 통해 아이와 부모 사이에 추억을 쌓자는 목표의 프로젝트 였습니다. 제가 맡은 역할은 Django를 통한 백엔드 개발, (ec2에 배포되어 있으며 s3 bucket에 이미지 저장을 하고 rds에 mysql을 올려 운영하고 ..