전체 글
내가 쿠버네티스 설정하며 겪은 삽질들 (alb-controller, jenkins, monitoring)
이번 글에서는 쿠버네티스를 설정하면서 겪은 삽질들에 대해서 다뤄보고자합니다. 해당 글에는 코드를 많이 소개하기 보다는, 원인 및 원인 분석, 해결 방법 위주로 작성해볼 예정입니다. 코드의 경우 필요할 경우 최대한 깃허브 링크로 소개해드릴 예정입니다. 0. EKS 세팅 (feat. Terraform) 우선 저는 Kubernetes 환경을 AWS에서 제공하는 EKS 매니지드 서비스를 사용해보기로 결정하였습니다. 그리고 해당 EKS를 IaC로 관리하기 위해서 terraform 이라는 툴을 사용하였는데요, 해당 코드에 대한 뼈대 코드는 아래의 링크를 참고하시면 되겠습니다. EKS 세팅을 위한 테라폼 코드 GitHub - doccilabs/terraform-codes: Repository for terraform..
Elice AI트랙 1차 프로젝트 (밈팔이닷컴) 회고
이번 글에서는 1월 30일부터 2월 10일까지 약 2주 조금 안되는 시간동안 진행하였던 Elice AI 트랙의 1차 프로젝트에 대해서 시간 순서대로 회고를 해보고자합니다. 0. 팀 결정 팀 결정 자체는 1월 20일에 결정되었습니다. 6인 팀으로 결정이 되었는데, 1명은 저와 같이 백엔드 스터디를 하던 분이었고, 나머지 4명은 부트캠프를 하면서 한번도 말도 안 섞어보았던 사람들과 팀이 결성되었습니다. 우선 팀으로 결정된 사람들과 먼저 친해지는 것이 중요하다고 생각하였기 때문에 팀이 결정되자마자 서로 인사를 해보는 시간을 가졌던 것으로 기억합니다! 그렇게 설날을 쉬고 조금의 회복 기간을 가지다가 1월 30일에 본격적으로 프로젝트를 시작하게됩니다. 1. 프로젝트 시작 1월 30일에 본격적으로 1차 프로젝트를 ..
Elice AI 트랙 1차 스터디 (백설기 팀) 회고
이번 글에서는 제가 활동했던 elice ai트랙 6기 1차 스터디인 백설기 팀의 6주간 활동에 대해서 회고를 해보고자합니다. 0. 스터디 개설 엘리스 1차 스터디는 12월 5일부터 12월 8일 까지가 스터디를 개설하거나, 혹은 참여하는 기간이었습니다. 저는 여기서 내가 스터디를 개설할 것인가 혹은 다른 사람이 만들어둔 스터디에 참여할 것인가 에 대해서 고민을 했었습니다. 결론은, 내가 스터디를 만들자였습니다. 별 다른 이유는 없었습니다. 그저 내가 아는 지식들을 공유하고 싶었고, 내가 백엔드를 근 1년간 (정확히는 2022년 3월부터 시작했으니 이제 10개월 이겠지만요!) 공부하면서 얻은 노하우들을 공유하고싶다는 생각밖에 없었습니다. 그래서 일단 스터디를 개설했습니다. 스터디의 이름은 백설기 인데요, 백..
Clean Architecture, for sustainable software development
이번 시간에 다룰 주제는 클린아키텍처입니다. 최근에 JPA + Clean Architecture에 대한 예제를 작성한 바 있는데요, 그 예제의 README 만으로는 설명이 되지않을 것 같은 부분들이 많아 글을 쓰게 되었습니다. 0. 소프트웨어 아키텍처의 목표 마틴 파울러의 영상, 혹은 글을 보는 사람들이라면 분명히 아래의 문구를 한번쯤은 봤을겁니다. 소프트웨어 아키텍처의 목표란, 구조를 좋게 만들어서 수정하기 쉽게 만듦으로써, 수정하는데 비용을 적게 만드는 것에 목표를 두어야한다라고 생각한다. - 엉클 밥 (마틴 파울러) 소프트웨어의 유지보수란, 간단히 말해서 컴퓨터에게 더 많은 일, 그리고 더 정확하고 더 빠르게 만들기 위해서 코드를 읽고 수정하고 추가하는 행위로 정의됩니다. 그리고 코드를 읽는 행위는..
객체지향에서의 추상화
이번 글에서는 객체지향을 지향하는 개발자라면 한번쯤은 들어봤을 단어인 추상화에 대해서 다뤄보고자합니다. 오늘 오전에 팀 단위 스크럼을 진행하며 이러한 대화가 오고갔습니다. A: MVP 아키텍처를 구성하면서 View에서 Presenter로 데이터를 넘기면서 abstract class가 아니라 interface를 쓰던데 혹시 왜 그런거야? 뭔 특별한 이유라도 있어? Android 공식문서에서는 abstract class로 구현하라고 권장하던데... B: 그냥요. 저렇게 해도 되던데요? 그리고 저렇게 해도 상관없을 것 같다고 생각했어요 저는 저런 대화 중간에 끼어들어 아래와 같은 답을 해주었는데, 제가 해당 대화에 내놓았던 답은 아래와 같았습니다. Me: 어차피 abstract class나 interface는..
계층화의 필요성
티스토리로 마이그레이션 후 첫번째로 다룰 내용은, 코드 작성에 있어 계층화는 왜 필요한 것일까? 에 대해서 다뤄보고자합니다. 우선 제가 학교를 다니면서 만들어보았던 한 프로젝트를 소개해드리겠습니다. github: Fantasia GitHub - BrianDYKim/Fantasia: 스프링을 배우기 전에 자바 배운 것들을 정리하는 김에 자바만을 이용해 스프링을 배우기 전에 자바 배운 것들을 정리하는 김에 자바만을 이용해서 텍스트게임을 만들어보았습니다. 디자인 패턴이나 설계를 고려하지 않았기 때문에 다소 프로젝트가 스파게티입니다. github.com 대충 마을의 용사가 마을에 등장한 몬스터를 잡으며, NPC에게 퀘스트를 받으며 성장하면서 레벨 30이 되면 마왕을 때려잡아 마을을 구원하는 내용의 게임을 2주에..