본문 바로가기

분류 전체보기79

시작은 대충 해보기 "회고문화 도입" 요즘은 매뉴얼이 잘 정리된 프레임워크나 라이브러리를 활용하는 개발 업무의 경우 AI 덕분에 진입 장벽이 현저히 낮아진 느낌입니다. 단순히 코드를 작성하는 것을 넘어 각 기술의 이점과 트레이드오프를 판단하는 컴퓨터 기초 지식 그리고 문제를 해결하는 데 필요한 소프트웨어 공학이 더욱 개발자에게 중요해지는 것 같습니다. 이러한 흐름에 발맞춰 회고 문화가 전무했던 저희 회사에 회고 문화를 도입했던 경험을 공유하고자 합니다. 회고문화가 없던 회사에 회고문화를 도입해야겠다고 생각했던 부분은 개발을 담당하는 팀, 기획을 담당하는 팀, 사업을 담당하는 팀들 간에 사일로 현상이 보였기 때문입니다. 팀 간의 소통이 너무 부족해 보였기에 서로 이야기할 수 있는 하나의 통로로 회고를 진행해야겠다는 생각이 들었습니다. 시작은 .. 2025. 10. 11.
Spring Boot Thread Pool이 부족하게 된다면 어떤일이 일어날까. 요즘 엄무를 진행하며 Chat Gpt에게 자주 물어보는 주제는 기술을 사용하면서 주의해야 할 점에 대한 내용이 대부분인 것 같습니다. 오늘의 주제 또한 이러한 질문으로 시작하게 되었습니다. import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;import java.util.concurrent.Executor;@EnableAsync@Configurationpublic class ThreadPoolConfig { @Bean(name .. 2025. 8. 11.
Ollama 프라이빗 네트워크 환경 에서 LLM 구축 사용해보기 오늘은 간단하게 프라이빗 환경에서 회사문서나 개인적인 문서들을 AI LLM모델에 업로드하고 해당 문서들을 기반으로 질의하면 너무나 좋을것 같다는 궁금증에 로컬 프라이빗 LLM구축을 시도를 해보았습니다! 제가 이번에 사용한 솔루션들은 다음과 같습니다. Ollama, Llama3.1, Open Web Ui Ollama는 다양한 오픈소스 LLM을 간단하게 실행하고 관리할 수 있게 도와줍니다. Llama 3.1은 우리가 너무나 잘 알고있는 Meta 페이스북에서 개발한 언어모델입니다. Llama 3.1은 제가 자주 방문하는 커뮤니티에서 입소문이 자자하기도 하고 혹여나 보안적인 정보들을 학습시켜도 괜찮은 신뢰도가 있는 프로젝트로 시도해 보았습니다. 제가 LLM을 구동하는 하드웨어는 맥북 M2 16gb ram 모델로.. 2025. 5. 11.
PostMan으로 GraphQL요청 하기 오늘은 GraphQL개발을 진행하며 요청과 응답을 클라이언트 관점에서 확인해 볼 수 있도록 PostMan을 활용하여 서버로 요청을 보내는 법을 공유해 보도록 하겠습니다.RestApi를 개발해오며 정말 많이 사용한 PostMan입니다. 예전에 PostMan으로 gRPC요청도 해보았는데 PostMan으로 GraphQL요청 또한 손쉽게 가능합니다.요청할 서버는 localhost:8080 로컬환경입니다. GraphQL은 한개의 엔드포인트만 갖기에 graphql로 요청을 보낼 수 있도록 설정합니다. 또한 GraphQL은 본질적으로 HTTP 프로토콜 이기 때문에 GET, POST를 설정할 수 있습니다. 다만 일반적으로 GET요청에 대한 한계가 있기 때문에 대부분 GraphQL 요청은 POST로 처리합니다. 이 부분.. 2025. 5. 6.
Spring Framework에서 복잡한 비즈니스 로직 구조화하기 Filter Chain 오늘은 스프링 프레임워크에서 복잡한 비즈니스 로직을 구조화해 본 경험을 이야기 해보려고 합니다.제가 실제로 해결하고자 했던 비즈니스를 기반으로 설명하면 좋겠지만 아무래도 보안상 문제가 있을 수 있어 배달 어플에서 사용 가능한 쿠폰 목록을 고객에게 안내하는 비즈니스 도메인이 가장 적절하다고 생각하여 해당 도메인으로 설명을 해보도록 하겠습니다. 우리가 해결하고자 하는 비즈니스 도메인은 다음과 같습니다.1. 고객이 보유한 쿠폰 목록 중 주문에 사용 가능한 쿠폰 목록을 보여준다.2. 사용가능한 쿠폰에 대한 정의는 다음과 같습니다.- 고객이 보유한 쿠폰중 사용기한이 만료되지 않은 쿠폰- 고객이 보유한 쿠폰중 전체 브랜드 또는 주문하고자 하는 가게 브랜드에 적용이 가능한 쿠폰- 고객이 보유한 쿠폰중 전체 지역 또는.. 2025. 4. 20.
Mysql Repleication 구현해보기 오늘은 간단하게 Docker, Mysql을 통해 Replication을 구현해보겠습니다. 현업에서는 AWS RDS를 통해서 구현을 해보았는데 온프레미스에 구현한다 생각해보고 진행해 보겠습니다. 먼저 Master DB 1대, Slave DB 2대를 docker-compose를 통해 구현해보도록 하겠습니다.services: master: image: mysql:8.0 container_name: mysql-master restart: always environment: MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: board ports: - "3306:3306" volumes: - /Users/include-h.. 2025. 4. 15.