전체 글 19

[AI 도구] ChatGPT - Codex 앱으로 사용하기

안녕하세요 오늘은 이전 글에서 터미널에서 사용하던 Codex를 앱으로 사용해 보겠습니다. 기존 터미널에서 CLI로 사용하던 방식은 빠르게 시작할 수 있지만, 몇몇 질문이 사라진다던가 해서 이전 기록을 찾기가 좀 귀찮습니다.하지만, 앱으로 사용하면 GPT에서 채팅하는것처럼 Codex를 사용할 수 있기 때문에 좀 더 편리한 거 같아서 글을 작성해보려고 합니다. 방법은 간단합니다.먼저, ChatGPT에 들어가서 이전처럼 Codex를 눌러주시면, 아래와 같이 창이 나올것입니다.다운로드를 눌러주시고 설치를 해주시면 됩니다. 그러면 옆에 GPT처럼 새 채팅, 검색 등등 뜨고 위와 같은 화면이 뜨실 텐대요.실제로 로컬에서 Codex를 사용하면 ~/.codex/history.jsonl 경로 파일로 저장된다고 합니다. ..

이것저것 2026.06.04

[보안] JWT와 세션 어떤걸 사용해야할까?

안녕하세요 오늘은 JWT와 세션 어떤 걸 사용해야 하는지 알아보도록 하겠습니다. JWT나 세션에 대한 정보는 구글에 검색하면 많기 때문에 따로 하지는 않겠습니다.둘 다 쉽게 얘기하면 클라이언트와 서버가 인증이나 정보를 교환하기 위한 표라고 생각하면 되겠습니다. 백엔드 애플리케이션을 개발하다보면 회원가입과 로그인에서 JWT와 세션 중 무엇을 사용할지 고민이 되실 겁니다.보통 처음 백엔드를 공부해서 Spring을 사용하면, Spring Security + JWT 조합을 많이 사용하실 텐데, 그러면 이 조합이 무조건 좋은 게 아닌가라는 생각이 드실 수 있습니다. 먼저, 각자가 어떤 이유에서 사용되는지 얘기해 보겠습니다.JWT는 서버 측에 상태를 저장하지 않는 Stateless 하다는 장점이 있습니다.이러한 점..

카테고리 없음 2026.04.14

[백준] 1034 램프 - JAVA

안녕하세요 오랜만에 알고리즘 문제 풀이 글을 올려보겠습니다. 문제 링크https://www.acmicpc.net/problem/1034 풀이스위치를 조작하면 해당 열의 모든 램프가 반대로 뒤집히므로 같은 모양을 가진 row끼리만 같은 모양을 계속해서 유지할 수 있습니다.하나의 row를 전부 1로 만들었을때 해당 row와 같은 모양의 row 개수를 세서 최대값을 반환하면 됩니다. 먼저 해당 row가 스위치 횟수 K만큼 눌렀을 때 전부 1이 될 수 있는지 판별해야 합니다.먼저 K가 row의 0의 개수보다 커야 전부 1을 만들 수 있습니다. ex) K = 2, 10001이면 아무리 해도 일단 11111을 만들 수 없음만약 0의 개수만큼 스위치를 조작해서 전부 1을 만들었다면 스위치 횟수가 짝수만큼 남아있어야..

카테고리 없음 2026.04.02

[Spring] Spring은 왜 사용하는걸까? + 공부할 때 꿀팁

안녕하세요 오랜만에 글을 올립니다.그동안 이런저런 공부를 좀 하다가 스프링을 사용하는 근본적인 이유를 좀 정리했습니다. 단순히 Spring을 많이 사용하기 때문에라는 말이 아닌 Spring이라는 것이 어떤 이유로 많이 사용되는지에 대한 것을 좀 정리해보려고 합니다. 딱히 공부 방법이 궁금하지 않으시면 이 부분은 넘어가셔도 됩니다.더보기더보기Spring을 공부하시려고 책을 찾다보면 토비의 스프링이라는 책을 들어보셨을 겁니다. 저도 예전에 어떤 개발자분이 Spring 개발자라면 무조건 한 번은 완독 해야 한다 하시는 것을 봐서 실제로 저도 토비의 스프링으로 공부를 했습니다.이 책의 장점은 여러가지 궁금해할 만한 점들을 전부 세세하게 설명해 주는 것입니다. 구글링도 좋은 참고 자료이지만 대부분 단편적인 내용..

[AI 도구] ChatGPT - Codex 사용해보기

안녕하세요 오늘은 OpenAI의 Codex를 활용해보려고 합니다. 최근에 Codex를 한번 써봤는데, 여러 좋은 기능들이 있는 거 같아서 글로 작성해보려고 합니다. 일단 Codex는 Gemini의 Gemini CLI, Claude의 Claude code처럼 AI를 활용해 코드를 작성할 수 있게 도와줍니다. 먼저 ChatGPT 사이트를 들어가면 아래와같이 메뉴가 나오실 텐데 그중 Codex를 누르시면 됩니다. 그러면 이런 화면이 뜨실겁니다. 일단 제가 사용해 보고 느낀 Codex의 장점은 터미널, IDE에서 다양하게 사용할 수 있다는 것이고, GitHub에 연결하면 Repository를 선택해서 프로젝트 분석이나 코드 리뷰까지 자동적으로 가능하다는 점입니다. 일단 먼저 GitHub 연결을 하도록 하겠습니..

이것저것 2026.02.10

경험을 위한 사이드 프로젝트 설계 시 기술선정

안녕하세요 오늘은 백엔드 공부를 처음 시작하고 팀 프로젝트나 개인 프로젝트를 진행할 때 도움이 될만한 설계할 때 기술 선정에 대한 이야기를 해보도록 하겠습니다. 저도 따로 복잡한 아키텍처를 설계해본적이 없기 때문에 그렇게까지 복잡한 이야기는 하지 않을 거고, 요즘에는 졸업 작품이나 부트캠프 같은 곳에서 백엔드를 배우고 프로젝트를 한다거나 개인적으로 토이 프로젝트를 시작하시는 분들이 많은데 그런 분들을 위해 간단하게나마 이야기하고자 합니다. 일단 프로젝트에서 아키텍처는 정말 중요합니다. 아키텍처를 통해 이 프로젝트가 어떤 기술을 사용하고 있고 어떻게 데이터가 흐르는지 볼 수 있기 때문입니다. 일단 이글을 쓰는 이유와 일화를 먼저 말씀드리자면저도 처음 팀 프로젝트를 했을 때 저와 팀원들 전부 모든 데이터를 ..

CS/시스템 설계 2026.02.06

[Spring] - DI (Dependency Injection) - 2

DI에 관한 글을 적어놓고 다음 포스트에서 더 이야기한다고 했지만, 이것저것 하느라 바빠서 시간이 별로 없었습니다.그래서 이제야 2장을 쓰게 되는데 사실 1장을 작성하고 2장으로 어떤 걸 작성하려 했는지 잘 기억이 나지 않아서 제가 적고 싶은 대로 적어보려고 합니다. 일단 1장을 먼저 간단하게 요약하겠습니다.자바는 객체 지향 언어로서 5가지 주요 원칙이 있는데, 이 원칙들의 궁극적인 목표가 가독성이 좋고, 유지보수성이나 확장성이 좋은 코드를 작성하는 것입니다.그중 단일 책임 원칙이나 인터페이스 분리 원칙을 보면, 각 객체는 하나의 책임만을 가져야 하고, 자신이 사용하지 않는 메서드는 들고 있을 필요가 없다는 것을 뜻합니다.그래서 이것을 쉽게 말하자면 결국 객체에 쓰지도 않는 기능을 넣지 말고, 한 번에 ..

[Spring] DTO와 Entity 변환에 대하여

안녕하세요 오랜만에 포스팅합니다. 사실 다른 내용도 올렸어야 했지만, 이것저것 하느라 바빴어서 그동안 시간이 없었는데 오랜만에 제가 올리고 싶은 내용으로 왔습니다.요즘 백엔드로 Spring + JPA를 많이 시작하고 공부하는 사람들이 많아졌는데요, 여러 강의를 듣다 보면 DTO와 Entity에 대한 이야기를 많이 들으실 겁니다. 해당 내용에 대한 이론을 설명하는 글은 아니라서 간단하게만 이야기하면 Entity 같은 경우는 테이블과 매칭되는 클래스를 정의한 것으로 주로 Service단에서 DB와 통신하는 과정에서 사용되고, 여러 이유로 Entity를 그대로 API를 호출하는 클라이언트에 전달할 수 없기 때문에 DTO라는 형태로 내보내게 됩니다. 그래서 공부하다보면 의문이 생기게 됩니다. "Entity와 D..

[네트워크] HTTP와 HTTPS

이번 포스트에서는 HTTP와 HTTPS에 대해서 이야기해 보겠습니다. HTTP & HTTPS 서버와 클라이언트의 통신을 위해 사용하는 프로토콜 HyperText Transfer Protocol의 약자로 설명대로 서버와 클라이언트의 통신을 위해 사용하는 프로토콜입니다.그중 HTTPS는 HTTP에 보안 인증을 추가한 것입니다. (Secure) 특징두 프로토콜의 공통적인 특징으로는1. 비연결성 프로토콜로 클라이언트의 요청에 서버가 응답하면 연결이 종료된다.2. 무상태 프로토콜로 클라이언트의 상태를 서버에 저장하지 않는다.이 두 가지가 있습니다.그래서 HTTP는 한번 연결하면 연결이 끊길 때까지 계속 사용할 수 있는 웹소켓이나 SSE 등과 다르게 매번 요청해야 한다는 특징이 있습니다. 차이점HTTPS는 HTTP..

[프로그래머스] LV3 수레 움직이기 JAVA

https://school.programmers.co.kr/learn/courses/30/lessons/250134 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제n x m 크기 격자 모양의 퍼즐판이 주어집니다.퍼즐판에는 빨간색 수레와 파란색 수레가 하나씩 존재하며, 각 수레들은 자신의 시작 칸에서부터 자신의 도착 칸까지 이동해야 합니다.모든 수레들을 각자의 도착 칸으로 이동시키면 퍼즐을 풀 수 있습니다. 각 턴마다 반드시 모든 수레를 상하좌우로 인접한 칸으로 한 칸 이동해야 합니다.수레 이동에는 규칙이 있습니다.1. 수레는 벽이나 격자 판 밖으로 이동할 수 없다.2. 수레는 자신이 방문했던 칸으로 움직일 ..

Algorithm/Java 2025.11.01