본문 바로가기

전체 글

(35)
2023 하반기 회고 내 하반기 목표는 우테코 프로젝트 잘 진행하기 + 취업 성공이었다. 우아한테크코스 레벨 3 에 들어서면서 프로젝트를 시작했고 레벨 4 기간까지 총 4개월 간 프로젝트를 진행했다. 스탬프크러쉬라는 프로젝트를 하면서 기획부터 설계, 개발, 영업, 운영 및 유지보수의 한 사이클을 경험해볼 수 있었다. 그리고 우리 서비스는 타겟 대상이 실제 카페의 사장님이었고, 실제 카페에서 서비스 사용을 할 수 있도록 준비를 하는 과정에서 스타트업이 이렇게 시작되는구나에 대한 경험도 할 수 있었다. 그 전까지 코딩 공부를 하면서 웹 서비스 개발에 대한 목마름이 있었는데 스탬프크러쉬를 하면서 그런 목마름이 다 해소가 되었다. 객체 설계, 데이터베이스 설계, OAuth 구현, AWS 및 도커 사용 등 기술적인 부분과 기획, 협업..
[etc] 티스토리 글 작성 시 list 줄 간격 조정하는 방법 블로그 글을 작성하면서 분명히 글 작성에 띄어쓰기를 안했는데 아래 사진과 같이 리스트의 간격이 매우 많이 띄워져 있는 경우가 있었다. 이리저리 검색해보다가 티스토리 줄 간격을 설정하는 방법을 적용해봤다. 티스토리의 설정 -> 꾸미기 -> 스킨 편집 에서 css 설정을 편집하면 된다. 어떤 값을 수정해야 하나 살펴보니 동그라미 친 부분이 문제인 것을 발견했다. margin-bottom 이 50px 이나 들어가 있어서 리스트가 끝날때마다 아래 줄 간격이 엄청났다. 해당 값을 10px 로 수정해주었더니 훨씬 보기 좋아졌다 👍
2023 woowacon(우아콘)을 다녀왔습니다 2023 우아콘을 참석했습니다. 컨퍼런스는 몇번 가봤지만 서비스 개발 회사에서 진행하는 컨퍼런스에 참석하는 것은 처음이었습니다. 우테코를 진행하면서 유투브에 올라와있는 우형 개발자분들의 세미나를 여럿 본지라 발표에 대한 기대감이 있었습니다. 총 7개의 세션에 참여했습니다. 대규모 트랜잭션을 처리하는 배민 주문시스템 규모에 따른 진화 프론트엔드 모킹 환경에 감칠맛 더하기 어제보다 오늘을 조금 더 똑똑하고 편하게! 수기 업무 플로 자동화의 3가지 사례 우아한 FinOps: 클라우드 비용과 성능 사이 낯선 서드파티와의 동행: 믿을 만한 배민커넥트 서버 구축하기 우형의 새로운 백엔드 개발 표준 ElastiCache 운영을 위한 우아한 가이드: 초고속 메모리 분석 툴 개발기와 레디스 운영 노하우 소개 발표 제목과..
기술 스택 선정의 절망편 - 젠킨스 (jenkins) 프로젝트를 시작하면서 초반에 기술 스택을 선정하는 회의를 가졌다. 다들 접해본 기술이 우테코 레벨 1, 2 를 진행하면서 사용했던 것들이 다라서 크게 고민했던 것도 없고 오래 걸리지도 않았다. 사실 이유를 솔직하게 적어보자면 기술 스택을 선정한 이유 중 가장 많았던 이유는 '이거밖에 안써봐서' , '써보고 싶어서' 였다. CI/CD 툴로 젠킨스와 깃허브 액션을 두고 고민하다 젠킨스를 선택하고 겪었던 어려운 점을 정리해보았다. 젠킨스를 선택했던 이유 젠킨스를 사용한 이유에 대해서 이렇게 정리를 했었다. 물론 이런 이유들도 있었지만 제일 큰 이유는 깃허브 액션은 전에 진행했던 미션에서 사용한 경험이 있기에 젠킨스를 사용해보고 싶어서였다. 젠킨스를 선택하고 힘들었어요 설치부터 힘들었던 기억 우리 서비스는 Ja..
최종 데모데이 회고 개발 공부를 시작하고 첫 프로젝트이자 기획부터 영업, 홍보, 런칭 및 운영까지 경험하며 정말 큰 애정을 가졌던 스탬프크러쉬를 마무리하면서 쓰는 회고이다. 실제 사용되는 서비스 최종 데모데이까지 가장 주요하게 해야 했던 일은 5차 데모데이 기간때 영업한 카페에 실제로 서비스를 런칭하는 것이었다. 최종 데모 스프린트의 첫 날인 9월 25일 팀원들과 함께 성수동 카페 파일론을 방문했다. 그리고 사장님과 점장님을 만나 서비스에 대해 설명드리고 피드백을 받는 시간을 가졌다. 실제 사장님의 피드백은 우리가 기획했을 때 고려했었던 부분도, 아예 생각지도 못했던 부분도 있었다. 많은 피드백을 받았고 그 중 가장 와닿았던 항목들을 정리해보았다. 사장 모드 일반 로그인 방식으로 변경 우리는 무조건 로그인은 소셜 로그인이 ..
시간은 금이다! 효율적으로 회의 준비하기 팀프로젝트 초기에 회고를 진행했을 때 다들 가장 힘들었던 것으로 꼽았던 건 늘어지는 회의시간과 회의 진행 방식이었다. 의미없는 회의시간이 10분이 된다면 팀원들이 7명이니 전체적으로는 총 70분의 시간이 낭비된다. 좀 더 효율적으로 회의를 진행할 수 있는 방식은 없을까? 나는 팀의 전체적인 흐름에 관심이 많은 편이다. 새로 생성되는 PR 이나 이슈를 다 들어가서 읽다보니 프론트엔드의 진행상황이나 고민하고 있는 점도 함께 파악이 가능했다. 그래서 스프린트마다 진행 상황 관리를 자연스럽게 맡게 되었다. (코드리뷰가 다 되어있는데 머지가 안되있는 PR 에 대해 머지를 해준다거나 완료되었는데 Close 가 안되어있는 이슈를 닫아주기도 자주 하였다!) 팀의 전체적인 흐름 파악이 되다 보니 우리 팀에서 스프린트 기..
Jenkins 와 Docker 를 사용해서 SpringBoot Application 무중단 배포하기 🔥 무중단 배포 도입 전 ✔️ 스탬프크러쉬의 인프라 상황 한 대의 클라우드 서버에서 운영 서버를 가지고 있으며, 외부의 한 대의 또다른 클라우드 서버를 배포 관련 서버로 사용중이다. 해당 서버에서는 젠킨스를 통해서 배포를 자동화하고 있다. ✔️ 배포 방식 현재 스탬프크러쉬는 jenkins 서버에서 아래의 4가지 단계로 배포를 자동화하고 있다. 우리가 트래킹하는 브랜치(main, develop)에 push가 되면, 젠킨스는 깃허브로부터 최신 코드를 가져온다. 최신 코드를 빌드해 .jar 파일을 만든다. .jar 파일을 운영서버로 전달한다. 운영서버의 run.sh 스크립트 파일 실행한다. 해당 스크립트 파일에는 spring boot application 을 실행하는 내용이 있다. ✔️ 배포 스크립트 아래는 ..
Docker 컨테이너에서 실행 중인 MySQL 데이터베이스 자동 백업하기 스탬프크러쉬가 실 사용자에게 서비스 되면서 DB 관리에 대한 중요성이 매우 실감되었다! 불가피한 이유로 DB 가 날아간다면 그야말로 재앙이 될 거라는게 예상이 되었다. 그래서 DB 를 자동 백업할 수 있도록 스크립트를 작성하고 스케줄러를 설정해두었다. 아래 방법은 데이터베이스 서버에서 진행해주었고 현재 데이터베이스 서버에서 docker container 를 띄워두고 해당 container 에서 mysql 서버가 실행되는 중이다. 1. 백업 파일을 저장할 폴더를 생성 mkdir /db_backup 2. 생성된 백업 폴더의 권한을 수정 chmod 755 /db_backup 3. 백업을 수행할 스크립트 파일 생성 vi /db_backup/backup.sh 4. 생성된 스크립트 파일의 내용 입력 # /bin/b..