전체 글 (25) 썸네일형 리스트형 “오늘은 써야지”를 여섯 번 되뇌며, 세 번 썼다. ‘오늘은 써야지.’이 말을 되뇌이며 블로그에 글을 올린 게 이번 글 포함해서 어느새 3번째 글이다.총 6주의 시간 동안, 주말이 되면 늘 다짐처럼 '오늘은 써야지…'라고 혼잣말을 하며 글을 썼던 것 같다.하지만 3주는 결국 업로드하지 못했다.왜 못 썼을까? 라고 질문을 한다면,단순히 귀찮아서가 아니다. 기술 블로그를 쓴다는 건 누군가에게 도움되는 정보를 정리하고, 읽는 사람에게 인사이트를 주어야 한다는 부담이 있어였다.‘그 정도는 써야 하지 않나’ 하는 완벽주의가 책상에 앉는 걸 더 어렵게 만들었다.사실 이 블로그 챌린지에 앞서 있었던 특강에서 “완벽주의를 버리고, 일단 써보자”는 조언이 있었다.나도 그 말에 고개를 끄덕였지만, 실제로 실행하는 건 또 다른 문제였다. 하루키의 말처럼 ‘일단 앉는 것이 중.. 나의 항해는.. 안녕하세요. 지금까지 개발자로 취업준비하고 개발자로 일하면서 해왔던 경험들을 간략히 써봤습니다. 1. 취업준비컴퓨터공학을 전공을 했지만, 실무에 투입되는 것이 두려웠던 저는 부트캠프 항해 99에 참여하게 됩니다. 그곳에서 당시에도 핫했고 지금도 여전히 핫한 Java와 Spring Boot를 집중적으로 공부했습니다. 99일 동안 팀 프로젝트를 계속 진행하며 개발의 기본기를 탄탄히 쌓았고, 수료 후 프리랜서로 취업해 삼성 프로젝트에 참여해 일하게 되었습니다. 🔗 항해 99 바로가기 2. 개발자로 일하기 (프리랜서)Spring Boot만 할 줄 알면 어떻게든 1년은 버틸 수 있을 줄 알았지만, 실제로 투입된 프로젝트는 MSA 구조로 다양한 기술 스택이 혼합된 환경이었습니다. Java(Spring Boot) .. XA Transaction : 개요XA Transaction을 관리하는 일은 어렵다.. 여러 개의 resource들을 하나의 논리적 트랜잭션으로 묶어 관리할 때 XA Transcation을 사용한다. 보통 쓰는 Local Transaction과 달리 트랜잭션 매니저(TM)가 세션을 맺게 되는데 보통 XA 프로토콜을 지원하는 트랜잭션 매니저(TM)로는 JTA(Java Transaction API), Bitronix, Atomikos, Narayana이 있다. Mule에서는 Bitronix Transaction Manager를 사용한다. Bitronix 사용하면 application 재시작시 중단된 트랜잭션을 자동으로 복구과정을 실행한다. XA vs Local Transaction 비교구분XA (Global Transaction)non.. 작고 점진적인 리팩터링, 더 나은 코드로의 항해 개요2024년 4월부터 12월까지 프로젝트 개발 및 운영을 진행하다가, 2025년 1월부터 새로운 프로젝트에 참여하게 되었다. 이후 운영 중인 코드의 개선 작업 요청이 들어왔고, 시스템이 많이 안정화된 상태라 이를 수행할 여유가 생겼다.단순히 기존 코드 스타일이 마음에 들지 않아서 수정하는 것이 아니라, 정상적으로 동작하지 않는 부분을 바로잡고, 불필요한 사용자 로그를 정리하며 개선하는 것이 목표였다.대대적인 개편보다는 점진적으로 코드를 개선해 나갔다. 참고로 지금 회사에서는 Mulesoft를 활용한 프로젝트들을 한다. Mulesoft는 Mulesoft는 여러 시스템, 애플리케이션, 데이터 소스를 쉽게 연결할 수 있도록 도와주는 Salesforce사의 솔루션 중 하나이다. (한마리도 중간다리 역할을 하는.. no space left on device 해결 개요 도커 이미지를 빌드하는 과정에서 계속 no space left on device 에러가 떴다. 일단 말 그대로 디바이스에 공간이 없어서 발생하는 문제이기에 디스크 용량도 확인해보고 docker system prune으로 삭제도 해보았다. 결론은 docker system prune으로 해결. docker system prune 사용하기 docker prune은 사용하지 않는 도커 오브젝트(컨테이너,이미지,네트워크)를 정리해준다. $ docker system prune --help Usage: docker system prune [OPTIONS] Remove unused data Options: -a, --all Remove all unused images not just dangling ones --.. Postgres를 도커 컨테이너로 만들고 도커 컴포즈로도 관리하기 (with volumes) 개요 호스트 서버에 실제 데이터베이스를 설치하지 않고 도커로 구동하기 위해 PostgreSQL 도커 이미지를 받아와 컨테이너를 생성하였다. 컨테이너가 삭제되더라고 데이터는 영구적으로 저장하기 위해서 volumes를 mount하여 호스트 시스템의 지정된 디렉토리와 컨테이너 내부의 데이터 저장 경로를 연결하였다. Docker image pull 받기 docker hub에서 postgres docker image를 가져온다. 도커 이미지는 도커 컨테이너 생성을 위한 명령어가 적혀있는 템플릿이다. 이미지에는 어플리케이션을 실행하는데 필요한 코드,라이브러리,config file들이 포함되어 있다. docker pull postgres 명령어를 CLI 에 입력을 한다. 이렇게 하면 최신 버전의 docker imag.. JAVA,Python 애플리케이션을 도커파일로 만들고 도커 컴포즈로 관리하기 보호되어 있는 글입니다. toString을 재정의하기 (+ python) 개요 테스트코드에서 object의 필드값들이 다양한 type들로 이루어져 있었기 때문에 편한 게 String으로 변환하여 같은지를 테스트를 해보려고 했었다. 하지만 toString을 재정의해주지 않으면 최상위 클래스인 Object의 toString이 호출되어서 클래스풀네임@해시코드로 출력되기 때문에 원하는 행위를 하기 위해서는 반드시 재정의 해줘야한다. toString 용도 주로 디버깅하거나 로깅을 할 때 사용된다. toString()을 사용하면 객체를 문자열로 랜더링을 하여 객체의 내부 상태를 문자열로 반환할 수 있다. 문제 코드 public class Person { private final String name; private final String age; public Person(String n.. 이전 1 2 3 4 다음