본문 바로가기

분류 전체보기255

26.01.28 OPIc 모의고사 자체피드백 여우오픽 모의고사 6 1. 자기소개- I like the most of sweet things. 보단 I like all kinds of sweets. 가 더 적절할 듯하다.- The health is most important value.- 마지막에 감상으로 끝내는거 좋았음 (I'm very nervous now, but I'll do my best.) 2. 니네 나라에서는 어떤 산업이나 회사가 성장하고 있는가- AI 이야기 함- AI가 할수있는 일에 대해 나열하는 것도 좋았음- 대체하다: replace 3. 그게 왜 유망한지(promising), 사회에 어떤 효과를 가지고오는지- 잘못 알아듣고 앞에서 이야기한 산업이랑 다른 산업(드론 산업) 이야기함 - 만약 AI 얘기라면 - As I .. 2026. 1. 30.
26.01.27 OPIc 모의고사 자체피드백 여우오픽 모의고사 5 전체적으로 - usually랑 have to를 너무 많이 씀(ㅋㅋㅋ) - 저번 모의고사보다 멈추는 빈도가 줄어듦- 어..를 umm으로 바꾸는 노력은 좋았음 1. 자기소개난 단 것들을 좋아하지만 최근에 건강에 관심이 많아져서 참으려고 노력하고 있다. - I love sweet things like sweets but I'm getting interested in the health these daysso I'm trying to hold back from eating them. 2. 은행 특징 말하기 - I don't know about most of (x) other many (o) banks - I'll talk to you - The bank is (x) The bank's n.. 2026. 1. 28.
[일상] OPIc 시험 준비중 모의고사 녹음한거 듣고 좌절의 시간을 겪은 뒤 적은 자체 피드백subway is usually faster than the bus (빈도부사는 be동사 뒤에)very 좀 고만써라 truly, quite, really 섞어써라어... 고만하고 You know, well같은거 쓰고 정 하려면 umm... 해라I mean, I'd say, What happened was...입에 붙으면 이런거 말하면서 다음말 생각가능아무 문장이나 말하면서 공백에 I mean, I'd say, well, You know, Honestly 등 넣는 연습하기생각안날때) Wait, what was it? When I want to drive... 하고 끊기는데 이런경우 그냥 sorry, Let me say again ㄱㄱ .. 2026. 1. 27.
서미애 - 미스터리 장르 소설 창작법 패스트캠퍼스 The RED : 서미애의 미스터리 장르 소설 창작법 강의를 듣고 정리함. 미스터리 소설장르 소설의 일종장르적으로는 추리소설, 탐정소설, 불가사의(해저 탐험 등), 신비, 스릴러 등을 포괄하고 있음인간의 호기심을 자극하는 것은 미스터리 기법이라고 함즉 대부분의 소설은 미스터리 기법을 사용하고 있음 미스터리와 스릴러의 차이미스터리: 범죄가 중심이 되어 사건을 조사하고 해결하는 이야기아가사 크리스티 - '그리고 아무도 없었다': 고립된 공간요 네스뵈 - '스노우맨': 범인의 시그니처다카노 가즈아키 - '13계단'황세연 - '내가 죽인 남자가 돌아왔다': 고립된 공간스릴러: 주인공에게 위험이 닥치고 좀더 긴박하게 벌어지는 이야기토마스 해리스 - '양들의 침묵': 피해자들의 시선에서의 급박한 상황패.. 2026. 1. 26.
[Claude Code] MCP 연결 및 사용 (feat. VSCode Extension) MCP에 대해MCP(Model Context Protocol)는 플러그인(Plug-in) 같은 것이다.자연어로 로컬이 아닌 외부 서비스까지 조작할 수 있도록 클로드 코드의 가동 반경을 넓혀주는 것이다.대표적인 MCP로 Github가 있으며 Supabase DB까지 조작할 수 있다. MCP 연결터미널에서 /mcp 명령어를 통해 mcp 목록을 확인할 수 있다.claude mcp add로 MCP를 추가할수 있으며 claude mcp remove로 삭제할 수 있다. 많이 쓰는 MCP인 Context7과 Codex MCP를 연결해보자.claude mcp add --scope project --transport stdio context7 npx -y @upstash/context7-mcclaude mcp add -.. 2026. 1. 10.
2026.01.02 일상 회사가 폐업했습니다. -_____-제가 2022년 4월 11일에 입사를 해서 총 3년 9개월 가량 다닌 직장이지요... 정식 폐업일은 2026년 1월 31일이지만 통보는 12월 31일에 받았습니다.다사다난한 2025년이었지만 마지막까지 아주 상큼(...)하게 종지부를 찍는군요. 사실 계속되는 임금체불 때문에 회사 사정이 좋지 않은 건 알고 있었지만폐업 소식을 들은 건 매일 아침마다 하는 업무보고를 한 지 약 한 시간 뒤였습니다. 임금체불이 심해질수록 퇴사하고 쉬고 싶다는 생각을 매일같이 했지만막상 이런 상황이 되니 금전적 이해관계를 차치하고, 한 사람으로선 안타까운 심정입니다.분명 힘든 일도 많았던 것 같은데 기억이 미화됐는지 직원분들과 즐겁게 보냈던 시간만이 주로 떠오르네요. 당장 뭘 해야 할지에 대해.. 2026. 1. 2.
[Spring Boot] 네이티브 쿼리 vs JPQL 네이티브 쿼리@Query( value = "SELECT * FROM users WHERE age >= 20", // 일반적인 SQL nativeQuery = true)List findAdults();DB에 직접 SQL 날림JPA와 별개로 동작결과를 객체로 매핑만 해줌JPA 생태계와 독립적으로 날리는 쿼리이다.즉 DB 종속적이므로 컬럼명이나 테이블명이 변경되면 유지보수가 번거로울 수 있다. JPQL(Java Persistence Query Language)일반적인 SQL과 문법이 거의 비슷하지만 살짝 다르다.@Query( value = "SELECT * FROM User WHERE age >= 20", // User는 테이블명이 아닌 엔티티명. 대소문자 구별함)List findAdults();네이티.. 2025. 12. 24.
[React/TypeScript] 통합 회원관리 시스템(IAM) 프론트 구현 기록 IAM 백엔드 구현 기록 [Spring Boot] 통합 회원관리 시스템(IAM) 구현 기록사내에서 개발한 통합 회원관리 시스템 IAM(Identity and Access Management) 구현 기록.참고: 분류를 Spring Boot로 해두었지만 코드는 없고 정책 관련 내용만 있습니다. JWT(JSON Web Token)를 통한 토큰 방식 사doringri.tistory.com fetch는 코드를 간결하게 작성하기 위해선 오류 처리나 json 파싱 등 래핑 작업이 불가피하여 초기세팅이 좀 더 편하고 번들 사이즈도 axios에 비해 가벼운 ky 사용ky에서 지원하는 beforeRequest, beforeError, afterResponse hook을 통해 토큰 관련 로직 처리beforeRequest에서.. 2025. 12. 20.
[PostgreSQL] pg_cron 익스텐션 환경설정 SSO 서비스를 만들면서 리프레시 토큰을 Redis가 아닌 PostgreSQL에 저장하기로 결정했었다.토큰 rotation(교체)최대 기기가 3개라면 가장 오래된 세션 제거위의 요구사항들을 위해선 조건 기반 조회가 필요한데, Redis보다 RDBMS가 해당 작업을 수행하는 데 더 적절하기 때문이었다. 하지만 기간이 만료되거나 로그아웃으로 인해 회수된 리프레시 토큰들은 Redis와는 달리 자동으로 로우가 삭제되지 않는다.그래서 특정 시간에 로우들을 지워줄 스케줄러가 필요한 상황이었고 SSO 서비스보다는 DB 레벨에서 처리해주는 게 더 안정적이라고 생각했다. 스케줄러 대신 트리거를 쓰자는 의견도 나왔지만 DB에 부하가 일어날 수 있고, 리프레시 토큰 삭제 작업은 정기적으로 실행되는 것이 더 알맞다고 판단하여.. 2025. 12. 15.
[일상] 2025년 되돌아보기 재작년에 '2023년 되돌아보기' 포스트는 쓰고(지금은 비공개됨) 작년에는 돌아보기를 안썼었네요.사실 작년엔 제 생각에도 크게 뭔가 한 일이 없긴 합니다.블로그 포스트를 훑어보면 혼자 프론트엔드 공부를 좀 했었고 그냥 안정기였던 느낌... 1. 회사를 다니고 개발자로 일한지 3년 8개월이 됐습니다. 첫직장을 4년 가까이 다니고 있는데 저도 이럴 줄은 몰랐습니다. 2. 4월부터 6월까지 패스트캠퍼스 이너써클 프론트엔드 과정을 수료했습니다. 탈주안한 나는 승리자다. 3. 이너써클 시작하기 전까지는 월/수/금마다 계속 헬스를 하다가 그 후로 안하고 있습니다. 4. 자바스크립트로 코테 연습하고 네이버페이/네이버/넥슨/데브시스터즈 코테 쳐봤습니다. 그중 최강 난이도는? 바로 넥슨 5. 8월 23일에 FEConf .. 2025. 12. 12.
[IT/Web] 쿠키 저장 정책(Set-Cookie, SameSite) 온프레미스 배포 환경(non-ssl)에서 쿠키 저장이 안 됐던 이유에 대해 정리.브라우저 정책상 Secure가 false인 쿠키는 SameSite가 무조건 Lax, Strict여야 저장하기 때문에 Lax로 설정하였음.1. 문제 상황프론트: http://192.168.0.60/iam백엔드(API): http://192.168.0.60:9100refreshToken 쿠키: HttpOnly + SameSite=Lax + Domain 없음 + Path="/"로그인 API: POST http://192.168.0.60:9100/auth/login증상:/iam에서 로그인하면 쿠키 저장 안 됨요청시 옵션에 credentials: "include" 를 넣으면 저장됨백엔드를 nginx 설정으로 프록시하면 저장됨2. 원인.. 2025. 12. 11.
[TanStack Query] Query Key factories로 Query Key 관리하기 TanStack Query를 사용할 때는 Query Key 관리를 강조하는 경우가 많았다.공식문서의 링크에 Query Key factories 패턴을 소개하고 있다. https://tkdodo.eu/blog/effective-react-query-keys Effective React Query KeysLearn how to structure React Query Keys effectively as your App growstkdodo.eu const todoKeys = { all: ['todos'] as const, lists: () => [...todoKeys.all, 'list'] as const, list: (filters: string) => [...todoKeys.lists(), { fil.. 2025. 12. 5.
[Kotlin] 자주 쓰는 문법 사이드 프로젝트에서 백엔드 개발언어가 코틀린으로 정해짐.코틀린으로 개발해본게 이미 2-3년 전이라 다시 학습을 해야하는 상황..백엔드 개발자분이 자주 쓰는 문법을 설명해주신 것들 + 개인적으로 찾아본 것들을 정리함. 타입스크립트와 굉장히 유사한 부분이 많다. 구조 분해 할당 가능// data class에서의 구조분해 할당data class User(val id: Long, val name: String)val user = User(1, "SK")val (id, name) = user// 함수 구조분해 할당 (Pair가 data class임)fun coordinate(): Pair { return 10 to 20}val (x, y) = coordinate()// Map의 구조분해 할당 (iterate.. 2025. 11. 27.
[Spring Boot] 통합 회원관리 시스템(IAM) 구현 기록 사내에서 개발한 통합 회원관리 시스템 IAM(Identity and Access Management) 구현 기록.참고: 분류를 Spring Boot로 해두었지만 코드는 없고 정책 관련 내용만 있습니다. JWT(JSON Web Token)를 통한 토큰 방식 사용 이유구현하려는 것은 SSO(Single Sign On)였음.그래서 세션 방식을 사용한다면 각 서비스들에서 로그인 세션을 검증하기 위해 매번 중앙 서버에 확인을 해야 함. 결국 중앙 서버에 부하가 가해짐.그래서 서비스 개수가 늘어나더라도 각 서비스에서 관리하도록 하는 stateless한 토큰 방식이 좀더 적절.라이브러리는 jjwt를 사용하였다. 발급하는 토큰 종류보편적인 방식과 같이 액세스 토큰(Access Token)과 리프레시 토큰(Refresh.. 2025. 11. 26.
25.11.14 일상 영어 표현 최근 메신저로 인도인 친구를 사귀어서 채팅 중인데 오랜만에 영어를 쓰니 정말 실력이 처참해졌다는 걸 느끼고 오답노트(?) 를 정리합니다. 코딩을 영문으로 한다고 해서 영어 실력이 느는 게 아닙니다.아래부터는 제가 말했던 표현과 AI가 고쳐준 표현입니다. 나: "It has good flavor."It tastes good. / It has good flavor(가능하지만 덜 자연스러움) 나: "I went company today."I went to work today.(I went to the company today 가능, 하지만 출근 의미엔 work) 나: "난 네가 그 단어를 안다는 것에 놀랐다."I was surprised that you knew that word. 나: "Anyway if y.. 2025. 11. 14.