전체 글 7

Spring data elasticsearch 4.4 환경 설정

시작하며 이번에 회사에서 엘라스틱 서치를 활용한 기능을 개발하면서 회사 서버 프로젝트에 Spring data elasticsearch를 적용하게 되었습니다. 그러면서 발생했던 이슈들과 해결 방안을 기록하고자 합니다. 보다 나은 해결 방법, 보다 나은 접근 방식이 있다면 알려주시면 감사하겠습니다. 😄 버전 회사의 Elasticsearch 버전은 8.x 버전이어서 Spring data elasticsearch 5.0 버전을 사용하면 좋았을테지만 회사 Spring boot 버전과 호환되지 않아 Spring data elasticsearch 4.4를 사용하였습니다. Spring boot 2.7 Spring data elasticsearch 4.4 Elasticsearch 8.6 공식문서에 Spring data..

기록 2024.04.17

Dokkaebi #3 하나의 Docker image에 NGINX, 서버, 데이터베이스를 다 넣은 이유

배포를 알지 못하는 주니어 개발자들도 배포를 해 살아있는 프로젝트를 보여줄 수 있게 해주는 쉽고 빠른 배포 솔루션 도깨비는 하나의 이미지에 도깨비의 서버, 프론트, 데이터베이스가 모두 들어있다. 회고 회차가 지날수록 수식어가 길어지는 것은 기분탓이다. 사실 이 방법은 올바른 Docker container 사용법이 아니다. 그럼 왜 이 방법을 선택하게 되었는지 과정을 기록해보려한다. 알파 테스트 삼성 청년 소프트웨어(이하 싸피)는 총 3번의 프로젝트를 진행한다. 도깨비 프로젝트는 마지막 프로젝트때 개발한 솔루션이다. 이때 우리팀의 목표는 실제 서비스 경험을 얻어가자 였다. 사무국에서는 AWS EC2 서버를 팀 마다 제공해주었는데 프로젝트 시작 3주째에 EC2 서버가 제공될 예정이었다. 우리 팀은 EC2서버..

회고 2022.06.30

Dokkaebi #2 오픈소스 프로젝트 DB 비밀번호 노출 해결

쉽고 빠른 배포 솔루션 도깨비 (구 도커비)는 오픈소스 프로젝트로 퍼블리싱 하는 것을 전제로 진행한 프로젝트이다. Mariadb를 사용한 이유 도깨비의 요구사항에 따르면 아래와 같은 정보를 저장하고 관리해야했다. 회원 정보 (아이디, 비밀번호, 닉네임, 등록일, 최근수정일) 프로젝트 정보 (프로젝트 제목, 최근 빌드 상태, 등록일, 최근 수정일) 깃랩 정보 (프로젝트를 Clone할 깃 정보, Web hook을 위한 Secret token) 빌드 정보(프로젝트별 빌드 정보 - 빌드 번호, 타입, 상태, 등록일, 최근 수정일) 웹훅 히스토리 (빌드가 웹훅을 통해 이루어진 경우 이벤트 종류, 깃 유저 이름, 깃 url, 브랜치 이름 프로그래밍 언어별 버전과 Docker image:tag 정보 (도커 이미지 버..

회고 2022.06.30

[Docker] MySQL/mariadb 한글 인코딩 오류

docker를 이용해 mysql container를 생성하고 초기화하는 과정에서 인코딩 오류가 발생했다. MySQL은 8.0부터 default character set이 utf8mb4로 변경되었고 그 이전 버전들은 default가 latin1이기 때문에 한글을 사용하려면 별도의 설정이 필요하다. Docker의 MySQL 이미지는 아래 옵션을 사용하면 server와 db의 default character set을 변경할 수 있다. (아래 경우는 config설정을 하지 않고 설정하는 방법이다.) docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag --character-set-server=utf8mb4 --collation..

기록 2022.05.26

[SpringCrush] 11주차

본 포스팅은 인프런의 실전! Querydsl의 강의 내용을 기반으로 작성했습니다. Querydsl 섹션 0. Querydsl 소개 섹션 1. 프로젝트 환경설정 섹션 2. 예제 도메인 모델 섹션 3. 기본 문법 섹션 4. 중급 문법 들어가며 영한님께서 극찬을 하시던 Querydsl을 드디어 공부하게 됐다. 온라인 화상 경매 프로젝트에서 순수 JPA를 사용했었는데 동적 쿼리 작성하는 부분이 정말 끔찍했었다. 이번 주차에 가볍게 Querydsl을 맛보았는데 천상의 맛이었다. QueryDSL QueryDSL은 JPQL 빌더이며 데이터 조회하는데 기능이 특화된 오픈소스 프로젝트이다. 최범균님이 번역하신 공식 문서 바로가기 Querydsl - 레퍼런스 문서 Querydsl은 JPA, JDO, Mongodb 모듈에서..

카테고리 없음 2022.03.06

[TIL] 2021.07.15

Todo SSAFY Startcamp day 6 Mastering Spring 5 2/e - 01~02.5 Review Spring MVC와 Maven 공부를 하기 위해서 MS5 책을 펼쳤다. 인프런 강좌들은 스프링 부트에 그래들 (김영한님 강의가,,,) 이라서 메이븐을 써보고 왜 그래들을 써야하는지를 알고싶었다. 사람 앞일 모른다고 메이븐도 쓸 줄 알아야 취업이 되지 않겠나 싶기도 하고 말이다. 근데 메이븐 첫 사용으로는 부적절한 도서 같다. 알고보니 스프링에 기본 지식이 있는 숙련된 자바 개발자를 대상으로 한다고 하네...? 기본 지식이야 구글링으로 탄탄하게 채워나가면 되지! 다양한 스프링 프로젝트를 다양하게 설명한다니까 부족한건 다른 강의로 채워나가면서 공부해야겠다. 화이팅!

카테고리 없음 2021.07.16