728x90
반응형

분류 전체보기 70

1년 반 회고

개발자로 직장에서 일할 수 있게 된 것이 햇수로는 3년에 접어들었다."실제 직장에서는 어떻게 개발을 할까? 내가 하는 게 맞는 걸까?"라는 고민을 대학 시절에 많이 했던 것 같다.그래선지 처음 직장에 와서 지금까지 겪던 하나하나의 일들이, 좋은 답이 되었던 나쁜 답이 되었던 학창 시절 궁금했던 질문의 답이 되었고 궁금증이 풀리는 시간이기도 했던 것 같다.그런 의미에서 내가 경험한 직장은 어떤 곳이었는지 회고를 남기고 싶다.목차입사첫번째 프로젝트두 번째 프로젝트햇수로 3년 차가 되며 입사처음 입사하고 굉장히 행복했다.첫 주에 어느날은 출근을 해서 직장 선배를 보고 인사를 하는데, 직장에서 선배와 인사를 한다는 게 낯도 간지럽고 사회인이 되었구나라는 실감이 들어서 입꼬리가 잘 내려오지를 않았다.입사과정이 길..

일상 2026.01.03

Java 멀티스레딩의 진화: Runnable부터 Virtual Threads까지

이 글에서는 Java 멀티스레딩 API의 역사를 따라가며, 각 기술이 왜 등장했고 어떻게 사용하는지 알아보겠습니다.1. Runnable (Java 1.0, 1996)등장 배경1990년대 중반, 컴퓨터 프로그래밍은 대부분 순차적(sequential) 실행 모델을 따랐습니다. 프로그램은 한 번에 한 가지 일만 수행했고, 이는 다음과 같은 심각한 문제를 야기했습니다:문제 1: 사용자 인터페이스 프리징 GUI 애플리케이션에서 파일을 다운로드하거나 데이터베이스에서 데이터를 가져오는 동안, 전체 UI가 멈춰버렸습니다. 사용자는 작업이 완료될 때까지 아무것도 할 수 없었습니다. 이는 현대적인 사용자 경험과는 거리가 멀었습니다.문제 2: CPU 자원의 낭비 프로그램이 I/O 작업(파일 읽기, 네트워크 통신 등)을 수행..

Develop(개발) 2026.01.02

[Tool] JVM 모니터링 도구 - Visual VM

로컬 레벨에서 JVM을 실행시키고 실행중인 Thread / OOM 유발 원인이 되는 Heap 메모리 할당 현황등을 확인하고 싶다면 매우 유용한 도구가 있다.Visual VM이라는 도구로 로컬에서 실행한 Java Application을 뜯어볼 수 있다.https://visualvm.github.io/download.html VisualVM: DownloadFirst Steps Unzip the downloaded archive. The archive already contains the top-level visualvm directory. Start VisualVM by invoking the binary appropriate for your OS:visualvm\bin\visualvm.exe or vis..

사랑의 기술 - 에리히 프롬

인간은 원하지도 않았지만 태어나서 원하지도 않은 고통들을 겪고 원하지도 않았지만 죽게 된다.인간이 자신의 생애를 걸쳐 겪는 것은 고독감이다.세상과 단절되었고 외부에 대하여 아무것도 알 수 없는 무방비한 상태를 느끼며 살아가는 것이다.이러한 고독감의 해소는 세상과의 합일(둘 이상이 합하여 하나가 됨)을 통하여 이루어질 수 있다고 프롬은 가정한다.고독감의 해결을 위해 역사적으로 많은 해결법들이 제시되어 왔고 여러 문화권의 특징적인 부분들에 의해 개인의 고독감은 다른 방향으로 해소되고는 했다.흔히 마약, 알코올, 일시적 관계 등이 고독감의 해소를 위한 행동이다.다만, 이러한 행동들을 통해서는 절대로 고독감이 해소(합일)될 수 없으며 일시적일 뿐이다.진정한 고독감의 해소는 성숙한 사랑을 통해서만 가능하다.살다 ..

2025.11.30

JPA - QueryDSL 복잡한 Pagenation 다루기

Pagenation은 실무에서 엄청나게 자주 구현해야 하는 기능이다.중요도와 등장 빈도에 비해서 온라인의 예제들은 복잡한 상황에서의 Pagenation에 대해서는 설명해주지 않기에 내가 경험한 트러블 슈팅 경험을 공유하고 자주 등장하는 문제들의 대처 방향성에 대해 공유한다.실은.. 나도 문제는 해결되지만 효율적인 답을 찾지는 못한 상태라 경험 공유 정도의 글이다.목차1. Count Query를 분리한 페이징 구조2. Where을 분리한 페이징 구조3. Where을 분리한 페이징 구조에서의 복잡한 OrderBy 절의 대처 방안4. 요구사항의 합의Count Query를 분리한 페이징 구조우선, 페이징이라고 했을 때 가장 기초적인 구조는 하나의 쿼리를 이용하여 페이징 처리를 하는 것이다.페이징 쿼리를 작성한다..

카테고리 없음 2025.11.09

[TIL] QueryDSL의 경로 초기화 문제

매 주 업무를 수행하다보면 배우는 것이 꼭 작더라도 한두개는 생긴다.이러한 지식들을 나만 알고 넘기기에는 아쉬운 면도 있고, 시간이 지나면 까먹을 가능성도 있기에 TIL을 작성하려한다.원래는 Github Pages를 이용하여 깃헙 블로그를 만들어서 작성하려 했는데, 이미 티스토리가 방문자 수가 너무 잘 나와서.. ㅎㅎ아무리 똥글이어도 누군가 읽어주는 게 더 의미있는 글이지 않겠는가! 하는 생각으로 티스토리에 작성하기로 결정했다.근데 티스토리에서 마크다운 문법만 좀 기존 템플릿하고 호환되게 제공해주면 너무 잘 쓸텐데.. 커스텀 하기도 귀찮고 그런 상태이다. 문제 상황QueryDSL에서 Entity간 서로 필드로 Entity를 가지고 있다면 해당 Entity들의 QClass에도 부모를 타고갈 수 있게 경로가..

[C/C++] 17299번 - 오등큰수

https://www.acmicpc.net/problem/17299왠지 모르게 골드 3이라는 난이도 때문에 예전에 풀 의지를 느끼지 못했던 문제인데, 차근히 풀어보니 그렇게 어려운 문제는 아닌 스택 문제이다.문제 이해길이가 N인 수열이 있을 때 i번째 원소를 x원소라고 해보자.이 때, '자기랑 같은 숫자가 배열 안에 등장한 횟수'가 F(x)의 값이다.[1 1 2 3 4 2 1]이라는 배열이 있다면 x=1일 때, F(1) = 3이라는 것이다. (1이 배열에서 3번 등장했으므로)그렇다면 이 때 '오등큰수'는 배열에서 자기보다 오른쪽에 있으면서 F(x) 값이 자기보다 큰 최초의 x이다.만약 그러한 x가 없다면, 그 수의 '오등큰수'는 -1이 된다.위와 같은 조건을 가질 때, 배열의 모든 원소의 '오등큰수'를 ..

[Hello 2025] B. Gorilla and the Exam

문제 이해중복 가능한 정수가 나열된 길이가 N인 수열이 있을 때, 해당 수열에서 범위 l, r을 잡아서 그 범위 안에서 가장 작은 수를 전부 삭제할 수 있을 때, 최소 몇 번의 삭제 연산이 필요한지 계산하는 문제이다.여기서 중요한 것은 N과 함께 입력되는 K라는 입력값인데, 이 K값만큼 원하는 수들을 원하는 수로 변경시킬 수 있다.예를 들어 K = 1인 경우, [1 2 1]이라는 배열을 [1 1 1]로 변화시켜 1번의 삭제 연산으로 배열의 수를 전부 삭제할 수 있는 것이다. 문제 해설이 문제에서 주의할 점은 배열 안의 수가 배열된 순서가 큰 의미가 없다는 것이다.결국에는 모든 수를 삭제하려면 최소한남아있는 수의 종류만큼 삭제 연산이 필요하기 때문이다.즉, K를 이용하여 남아있는 수의 종류를 최소화하는게 ..

4학년부터 졸업 후 반년까지 취준 기록

안녕! 오랜만에 블로그에 글을 쓴다.누군가 내 글을 많이 읽어주는 것도 아니고, 나 또한 글을 잘 쓰는 편이 아니다 보니 글 작성을 차일피일 미루게 된다.특히 이런 글에서는 사진을 올려야 한다는 부담감이 큰데, 나는 사진을 많이 찍는 편도 아니고 하나하나 올리는 능력도 부족한 편이다.그렇게 별 것 없는 블로그이지만 매일 40명가량의 조회수가 나오는 것을 보면 나의 경험을 공유하는 것이 부질없는 일은 아니라는 생각이 든다.특히 편입에 대한 내 경험을 정리한 글은 꽤나 많은 분들에게 도움이 됐다고 느껴진다.그렇기에 이번에도 힘을 내서 지난 1년 반에 대해 기록하고자 한다. #1   2023년 6월 ~ 2024년 2월세종대학교에서의 마지막 학기편입 후 처음으로 내게 진짜 대학생활에 대해 알게 해 주었던 고마운..

일상 2024.09.04

[AWS] 프리티어 VPC 과금 문제 해결법 (RDS Public IP 없이 MySQL 워크벤치 연결)

AWS 과금 정책의 변화비교적 최근 IPv4의 고갈 문제로 인해 AWS에서 IPv6사용을 권장함에 따라 2개 이상의 IPv4 할당에 대해 과금을 시작했습니다.이에 따라 1년가량 운영 중이던 저희 서버에도 과금이 진행됐는데요.이번에 AWS 계정간에 서버를 이전하며 과금 문제를 해결한 방법에 대해서 말씀드리도록 하겠습니다.2개의 IPv4를 할당받는다면 위와 같이 달에 4달러가량이 지출되게 됩니다. 과금이 되는 원리대부분의 사이드 프로젝트에서 2개의 IP는 다음과 같이 할당받습니다.1. EC2 인스턴스에 고정 IP를 할당하기 위해 등록한 탄력적 IP2. RDS 인스턴스를 외부에서 접근할 수 있게 열어둔 퍼블릭 액세스 가능이렇게 2개에 대해서 IPv4를 할당받는 경우가 대부분입니다.해결법이 문제를 해결하기 위해..

Develop(개발) 2024.07.18
728x90
반응형