전체 글 16

PATCH는 됐는데 GET이 안 바뀐다 : Next.js App Router 자동 정적 최적화 (Implicit Static Optimization)

이번 포스트는 Next.js 서버의 자동 정적 최적화 (Implicit Static Optimization) 에 관한 것이다. 최근 진행한 웹 프로젝트인 ESSENTIA Science 홈페이지 (essentia-sci.org). 게시판 기능부터, 특정 사용자(임원진)에게는 PATCH 권한을 부여하여, 회원과 조직도를 수정 할 수 있게 구현하였다. 구조는 다음과 같다. 일반적인 공개 페이지인 Member Page와, 조직도는 어떠한 인증 없이 단순 GET 요청으로 DB에서 데이터를 받아올 수 있다.다만 PATCH가 포함된 Admin Page는 GET, PATCH 등 모든 요청이 로그인 여부와 관리자 권한 여부를 OAuth를 통해 받아와 인증해야 요청을 할 수 있는 구조이다. 이슈이러한 구조에서 다음과 같은..

Web/Next.js 2026.02.05

암호화 기법, AES, RSA, 해시함수

1. 시저 암호알파벳을 왼쪽으로 3칸 씩 밀어서 구현한 암호법2. 스키테일 암호굵기와 길이가 같은 원통 모양의 막대기에 긴 양피지 리본을 위에서 아래로 나선형으로 감으면 암호문이 나온다암호화의 5가지 요소1. 평문대칭 암호화 알고리즘의 입력값으로, 수신자가 전달호자하는 메세지 원문2. 암호화 알고리즘입력값 평문에 대한 치환, 변환, 대치등 암호문을 생성하는 방법3. 키암호화 알고리즘에서 특정 형태로 치환하기 위해 사용되는 값4. 암호문암호화 알고리즘을 통해 생성된 숨겨진 데이터5. 복호화 알고리즘암호화 알고리즘의 역과정으로 송신자 측에서 암호문을 입력값으로 본래의 평문으로 출력대칭암호화 기법 : 암호문을 받은 송신자가 동일한 키를 활용한 복호화 알고리즘으로 평문을 생성해낼 경우블록암호 : 평문의 블록에 ..

컴퓨터 보안 2026.02.05

에니그마의 암호화 내부 원리

에니그마(Die Enigma)는 제2차 세계 대전 시기 독일군이 사용했던 휴대용 암호 생성기이다. 전쟁 중 통신 보안을 위하여 만들어진 암호 해독, 생성기로, 당시 독일군의 핵심 기구였다.에니그마 사용법에니그마는 암호 생성, 해독기로써, 키보드로 전달 내용을 입력하면, 암호환된 메시지가 상단 램프보드에 표시되며, 이 메시지를 전송하면 된다. 암호를 해독할 때는 반대로 받은 메시지를 키보드에 입력하면 램프보드에 원 메시지가 표시된다.에니그마의 내부구조에니그마는 배터리, 키보드, 플러그보드, 로터, 램프보드로 구성되어 있다배터리에니그마 오른쪽 상단에 위치해있으며, 기계에 전원을 공급한다키보드26키의 알파벳 키보드로 각각 스프링이 달린 붐에 연결되어 있다. 키와 연결되어 있는 스위치는 3개의 구리탭으로 구성되..

컴퓨터 보안 2026.02.05

[백준] 1316번 그룹 단어 체커

그룹 단어 체커 - 실버 5문제그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때문에 그룹 단어이지만, aabbbccb는 b가 떨어져서 나타나기 때문에 그룹 단어가 아니다.단어 N개를 입력으로 받아 그룹 단어의 개수를 출력하는 프로그램을 작성하시오.입력첫째 줄에 단어의 개수 N이 들어온다. N은 100보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에 단어가 들어온다. 단어는 알파벳 소문자로만 되어있고 중복되지 않으며, 길이는 최대 100이다.출력첫째 줄에 그룹 단어의 개수를 출력한다.예제 입력 13happynewyear예제 출력 1..

알고리즘/BOJ 2026.02.04

[백준] 2606번 바이러스

바이러스 - 실버 3문제신종 바이러스인 웜 바이러스는 네트워크를 통해 전파된다. 한 컴퓨터가 웜 바이러스에 걸리면 그 컴퓨터와 네트워크 상에서 연결되어 있는 모든 컴퓨터는 웜 바이러스에 걸리게 된다. 예를 들어 7대의 컴퓨터가 과 같이 네트워크 상에서 연결되어 있다고 하자. 1번 컴퓨터가 웜 바이러스에 걸리면 웜 바이러스는 2번과 5번 컴퓨터를 거쳐 3번과 6번 컴퓨터까지 전파되어 2, 3, 5, 6 네 대의 컴퓨터는 웜 바이러스에 걸리게 된다. 하지만 4번과 7번 컴퓨터는 1번 컴퓨터와 네트워크상에서 연결되어 있지 않기 때문에 영향을 받지 않는다. 어느 날 1번 컴퓨터가 웜 바이러스에 걸렸다. 컴퓨터의 수와 네트워크 상에서 서로 연결되어 있는 정보가 주어질 때, 1번 컴퓨터를 통해 웜 바이러스에 걸리게..

알고리즘/BOJ 2026.01.29

[백준] 1016번 제곱 ㄴㄴ 수

제곱 ㄴㄴ 수 - 골드 1문제어떤 정수 X가 1보다 큰 제곱수로 나누어 떨어지지 않을 때, 그 수를 제곱ㄴㄴ수라고 한다. 제곱수는 정수의 제곱이다. min과 max가 주어지면, min보다 크거나 같고, max보다 작거나 같은 제곱ㄴㄴ수가 몇 개 있는지 출력한다.입력첫째 줄에 두 정수 min과 max가 주어진다.출력첫째 줄에 min보다 크거나 같고, max보다 작거나 같은 제곱ㄴㄴ수의 개수를 출력한다.제한1 ≤ min ≤ 1,000,000,000,000min ≤ max ≤ min + 1,000,000이 문제는 소수판별 문제가 비슷한 계열의 문제이다. 일단 제한부분을 못면 브루트포스 탐색 방식 절대 불가능한 문제임을 알 수 있다. 에라토스테네스 체 공식을 응용하여 소수 대신 제곱수의 배수를 판별해내는 방식으..

알고리즘/BOJ 2026.01.29