많이 읽은 글

  • 내가 커서 기반 페이지네이션을 구현한 방법

    내가 커서 기반 페이지네이션을 구현한 방법

    글에 들어가기 앞서, 우리 MiliBrary팀은 1차에서 탈락했었으며 나는 현재 전역했다. 2달이라는 시간이 지났지만 다시 복기하고자 프로젝트에 내가 구현한 기술들에 대해 작성해본다. [구동 영상] [프로젝트 레포] https://github.com/knight7024/MiliBrary GitHub - knight7024/MiliBrary: 2021 국방부 공공데이터 활용 경진대회 - MiliBrary(aka. 밀리터리의 서재) 2021 국방부 공공데이터 활용 경진대회 - MiliBrary(aka. 밀리터리의 서재). Contribute to knight7024/MiliBrary development by creating an account on GitHub. github.com (해당 포스팅을 읽기 위..

  • [Spring] Lucy-Xss-Servlet-Filter에서 iframe 설정 커스텀하기

    2020. 4. 17. 20:19 작성 [Spring] Lucy-Xss-Servlet-Filter에서 iframe 일부 허용하기 # Spring에서 XSS 방어하기 많은 사람들이 XSS를 방어하기 위해 사용되는 Lucy-Xss-Servlet-Fil... blog.naver.com Spring에서 XSS 방어하기 많은 사람들이 XSS를 방어하기 위해 사용되는 Lucy-Xss-Servlet-Filter는 서블릿 단에서 XSS 공격을 무효화해줍니다. 설정도 간편해서 따로 신경을 쓰지 않고 있었는데, 어느 날 유튜브 영상을 공유하는 iframe 코드도 필터링 된다는 것을 알게 되었습니다. 유튜브였기 때문에 당연히 화이트리스트일 줄 알았는데 아니었습니다. 이번 포스팅에서는 Lucy-Xss-Servlet-Filte..

  • Replit에서 백준 풀기 tip

    Replit에서 백준 풀기 tip

    군대에서부터 알고리즘 문제를 풀 때 Replit을 이용했다. 채점 서버는 대부분 리눅스 기반이기에 최대한 환경을 비슷하게 맞춰야 예제 출력도 동일해지기 때문이다. 다만 Replit에는 Ideone이나 Coding Blocks IDE 같이 여타 온라인 ide에서 제공하는 Input을 미리 입력할 수 있는 기능이 없는 점이 불만이었다. 그래서 파일 입출력을 통해 미리 Input을 저장해두려고 했는데, freopen("input.txt", "r", stdin); 이 한 줄만 있으면 백준에 제출할 때마다 주석 처리하거나 지워야 하는 게 너무 번거로웠다. 이 불편함을 Replit에서 제공하는 환경변수 기능으로 해소해보자. Replit IDE의 좌측 메뉴를 보면 자물쇠 모양이 있는데 여기서 환경변수를 추가할 수 있..

  • [Heroku] 헤로쿠에 MySQL 설치하는 법

    [Heroku] 헤로쿠에 MySQL 설치하는 법

    Intro 이전 포스팅에서 스프링 부트 프로젝트를 헤로쿠에 배포하는 방법을 간단하게 설명했다. 이번 포스팅에서는 헤로쿠 dyno에 MySQL을 설치하여 환경변수를 입력하는 것까지 설명하겠다. MySQL 설치 1. 헤로쿠에서 Resources 탭으로 가서 Find more add-ons 버튼을 클릭한다. 2. MySQL을 검색하게 되면 여러 Add-on들이 나오게 되는데, 이번에 우리는 JawsDB MySQL을 설치해보도록 하겠다. 3. Add-on을 설치할 때는 무료로 사용할 수 있는지, 현재 무료 플랜을 선택했는지를 잘 확인하고 설치해야한다. 무료 플랜은 최대 10명 접속, 5MB의 용량을 제공한다. 토이 프로젝트로는 더할 나위 없다. 4. 설치할 app을 입력하고 제출한다. 5. 설치가 완료되면 Re..