신입개발자6 개발 1년차 회고록: 트레이너에서 오프라인 결제 솔루션 개발자로 끝나지 않을 것만 같던 200번의 지원서 제출과 불안한 취준 생활을 뒤로하고, 어느덧 트레이너에서 개발자로 취업한 뒤 1년이라는 시간을 보냈다.개발자로의 전직은 내 인생에서 가장 큰 도전이었고, 지난 1년은 그 도전의 결실을 조금씩, 조금씩, 맺어가는 시간이었다. 사실 입사 초기에는 많은 것이 두려웠다.6개월의 부트캠프 과정이 실무에서는 너무나도 부족하게 느껴졌고, 35살이라는 늦은 나이에 시작한 개발자 생활에 대한 불안감도 컸다.하지만 돌이켜보면 그런 두려움이 오히려 더 열심히 공부하고 성장할 수 있는 원동력이 되었던 것 같다. 첫 한, 두달은 정말 정신없이 지나갔다.회사의 레거시 코드를 이해하고, 새로운 기술들을 익히느라 종종 밤늦게까지 회사에 남아있곤 했다.트레이너 시절 운동을 가르치듯 "이렇게 하.. 2025. 1. 5. [신입 개발자의 세 번째 라이브러리] 타입 안전한 Enum 변환과 확장성 - persistence-code-generator 개발기(3) 들어가며이번 편에서는 persistence-code-generator를 작성하며, 기본 기능 외에도 디테일한 표현이 가능하도록 신경을 쓴 부분인 ValuedEnum 처리와 컨버터 등록 어노테이션인 @WithConverter에 대해 다루어 보겠습니다.ValuedEnum: 값을 가진 열거형먼저 ValuedEnum의 개념과 그 필요성부터 이해해보겠습니다.ValuedEnum은 실제 데이터베이스에 저장될 값을 가지는 형태의 enum입니다.저는 키오스크나 포스와 같은 클라이언트 솔루션을 개발하는 개발자로서, 결제 데이터를 취합하고, 통계 데이터를 보여주는 서버(이하 '집계 서버')와의 API 통신 코드를 짤 때가 많았는데요.이 때 ValuedEnum의 유용함을 느꼈습니다.왜냐하면, 집계 서버는 단일 문자열 값으로 .. 2024. 12. 6. [신입 개발자의 두 번째 라이브러리 개발기] 도메인 특화 언어(DSL)을 만들어 보자! DDL-DSL 개발기 -2. 차후 개선 사항과 업데이트 방향- 앞선 두 편의 글에서 DDL-DSL 라이브러리의 개발 배경과 실제 구현에 대해 다루었습니다.이번 마지막 편에서는 현재 라이브러리의 한계점을 분석하고, 이를 개선하기 위한 향후 개발 방향에 대해 포스팅하려 합니다.현재 라이브러리의 한계점1. 제한적인 DDL 지원현재 DDL-DSL은 CREATE TABLE 문만을 지원합니다.실제 데이터베이스 운영 환경에서는 테이블 생성 외에도 다양한 DDL 작업이 필요합니다:테이블 구조 변경 (ALTER TABLE)테이블 삭제 (DROP TABLE)인덱스 관리 (CREATE/DROP INDEX)뷰 관리 (CREATE/ALTER/DROP VIEW)이러한 제한은 실제 프로덕션 환경에서 라이브러리의 활용도를 제한하는 요인이 됩니다.2. 스키마 변경 관리의 부재데이터베이스 스키마는.. 2024. 12. 1. [신입 개발자의 두 번째 라이브러리 개발기] 도메인 특화 언어(DSL)을 만들어 보자! DDL-DSL 개발기 -1. 구현- DDL-DSL 라이브러리 구현핵심 개념우리가 일반적으로 데이터베이스 테이블을 생성할 때는 SQL DDL을 직접 작성합니다. 예를 들어, 사용자 테이블을 만들기 위해서는 다음과 같은 SQL을 작성해야 합니다:CREATE TABLE IF NOT EXISTS users ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, email TEXT NOT NULL UNIQUE, created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP);이러한 SQL 작성 방식은 여러 가지 문제를 가지고 있습니다. 특히 여러 데이터베이스를 지원해야 할 때, 각 데이터베이스마다 다른 SQL 문을 작성하고 관리해야 합니다... 2024. 12. 1. 이전 1 2 다음 728x90