본문 바로가기

전체 글16

[인강 - 유데미] 초보자를 위한 Docker 실습 - 데브옵스(DevOps) 도커에 대해서 빠르게 핵심들을 잘 이해할 수 있도록 도움을 주는 강의러닝 타임: 4.5시간실제 소요 시간: 약 2.5일? 특히 이 분 강의를 보면서 실제로 적용해 볼 수 있도록 환경을 만들어 주고 명령어들을 직접 쓸 수 있게 해주는데,이 웹 서비스가 엄청 좋았다. 덕분에 직접 실행도 해보고 결과가 바로 나오니 재미도 있었다. 이 분이 왜 유명한지 알게 되는 경험.다만 공부하다보니 도커의 버전 차이로 현재 최신 버전과 조금 다른 부분이 존재해서 실제로 구동할 땐 어떻게 될지 모르겠다.빨리 쿠버네티스도 공부해야지 2024. 6. 17.
[인강 - 유데미] 소프트웨어 아키텍처 및 대규모 시스템 설계 최근 대규모 시스템 설계에 대해 흥미가 있어 수강하게 되었습니다. 시스템 설계에 대해 공부는 하고 싶지만 길지 않게 기초를 만들고 싶은 분들께 추천! (제가 그랬습니다) 러닝 타임: 7시간 아키텍처를 설계할 때, 기본적으로 알아야 하는 지식들을 배울 수 있어서 좋았습니다.- 로드밸런서- 메시지 브로커- API 게이트웨이- CDN이와 같은 지식들은 기본적으로 알고 있어야 하지만 정확하게 모르고 있었습니다. 해당 강의를 통해 어떤 것인지, 그리고 예시로는 어떤 솔루션이 있는지 알 수 있어 좋았습니다.쉬운 설명으로 강의를 이끌어주셔서 아키텍처 분야에 흥미를 붙이게 되었습니다. 하지만 큰 시야에서 바라보며 기본적인 기초 지식을 주로 설명하기 때문에 그 부분은 좀 아쉬워서 다른 강의나 이론 공부들로 채울 생각입니.. 2024. 6. 13.
안드로이드 휴대폰으로 홈서버 만들기 [주의사항] 해당 방법(termux)은 PID 1을 사용하지 않습니다.때문에 도커를 구동할 예정이시거나, 시스템 관리자 권한이 필요한 일을 하실 경우 다른 방법을 추천드립니다. *개인적인 일로 서버 관리를 할 시간이 없어 더 알아보지 못할 것 같아 저도 해당 방법을 사용하지 않기로 결정 했습니다.서버가 돌아갈 때 아마존 웹 서버의 경우 이번 년에 정책이 바뀌어서 Ipv6를 사용할 경우 시간당 과금이 되었다.현재 내가 필요한 서버는 정말 조그만, 테스트 서버일 뿐인데 과금되지 않을 방법을 찾아보던 중 가장 괜찮았던 방법이 집에 있는 공기계 활용하기였다. 이번에 친구에게 좋은 기회로 라즈베리 파이를 선물 받으면서 미루고 미루던 자체 홈 서버를 만들자 생각해서 실행에 옮겼다.안드로이드에 자체 서버를 구축하는 .. 2024. 6. 10.
[잔디일기] 에러 핸들링 하기 1. 목표시스템 전반에서 발생할 수 있는 다양한 예외를 포괄적으로 관리하고, 일관된 방식으로 예외를 처리하기 위해 예외 처리 로직이 필요합니다.에러 핸들링을 위한 예외 처리 로직 구현 과정을 정리해 보았습니다. *아직 리팩토링이 진행중인 상태로, 생성되지 않은 예외들이 있어서 추후 에러코드들이 거의 완성된다면 추가 해두겠습니다.2. 예외 코드 정의먼저, 클라이언트와 서버에서 발생할 수 있는 다양한 예외 상황에 대해 정의합니다.에러의 경우 서버와 클라이언트에서 생성되는 2가지의 오류가 있기 때문에 ClientErrorCode와 ServerErrorCode를 enum 클래스로 나누어 정의해 주었습니다.이 때, ErrorCodeModel이라는 인터페이스를 생성해주었습니다.ErrorCodeModel 인터페이스의.. 2024. 5. 24.
[잔디일기] 코드 리팩토링을 해보자 기능을 구현 하면서 정신 차리고 보니 중복된 코드가 너무 많아서 코드 리팩토링을 진행하기로 했습니다. 여러 사람이 작업하면서 PR 날릴 때 코드 리뷰를 진행하지 않은 결과입니다.리뷰를 진행하지 않으면 어떤 나비효과를 불러오게 되었는지 요즘 엄청 잘 느끼고 있습니다.😅 대표 서비스 클래스인 DiaryService만 코드 리팩토링 과정을 나타내 보려고 합니다.미리보는 리팩토링 결과리팩토링 전 341줄로 이루어져있던 코드는 333줄의 코드로 줄었습니다.코드 줄로만 판단했을 때는 많이 줄은 것은 아니나,전반적인 중복 로직에 대한 코드를 메서드로 분리하여 코드의 양이 줄었고, 메서드 내 가독성이 향상되었습니다.신경쓰이는 네이밍도 조금씩 손보아서 코드의 가독성과 명확성이 향상되었습니다.메서드가 많아짐에 따라 .. 2024. 5. 22.
[잔디일기] 패키지 구조에 대한 고민 - 적용결과 아래의 '[잔디일기] 패키지 구조에 대한 고민'에 대한 글로부터 이어지는 글입니다. [잔디일기] 패키지 구조에 대한 고민잔디 일기 서비스의 경우 간단한 서비스였기 때문에 1차 기능 구현 기간까지는 비교적 수월하게 진행을 해 왔으나,1. 초반에 팀원 분들과 서로 상의하지 않고 각자 구현했던 패키지 구조로 인해yeseul-dev.tistory.com 해당 글을 토대로 패키지 구조 변경을 시도 했습니다.하지만 구조 변경을 하면서 필요한 패키지들이 보였고, 기존 예정이었던 아래와 같은 구조에서 조금 변경하게 되었습니다.# 기존 계획⎿ grassdiary ⎿ global ⎿ auth ⎿ util ⎿ common ⎿ request ⎿ response .. 2024. 5. 21.
[맛집 지도] 프로젝트 기획안: 요구사항 요구사항 작성하기회원아이디는 영어와 숫자로 이뤄질 수 있다.비밀번호는 8자리 이상으로 한다. 영어와 숫자로 이뤄질 수 있다.회원가입로그인 하지 않으면 둘러보기만 가능하다.회원의 아이디는 고유해야한다. 이미 등록돼있는 아이디를 입력하면 에러 메시지를 표시한다.구글/네이버/카카오로 간편 로그인을 할 수 있다.비밀번호를 작성할 수 있다. 영어와 숫자 이외에는 입력할 수 없도록 한다.로그인사용자의 아이디와 비밀번호를 사용하여 로그인 한다.🔄 아이디 또는 비밀번호 분실 시 비밀번호 갱신 기능이 있다.🔄 사용자가 로그인 할 때 다시 접속시 자동 로그인이 가능하도록 선택할 수 있다.사용자 위치 인증사용자가 애플리케이션을 이용할 때 위치를 사용 가능하도록 설정해야 한다.위치 사용이 불가능할 시 기본 위치는 서울, .. 2024. 5. 19.
[맛집 지도] 프로젝트 기획안 1. 프로젝트 기획 의도 및 동기이커머스 분야에서 일하고 싶다는 생각에 필요한 지식이 무엇이 있을까 고민 해보았고, 그 부분을 구축 해보고 싶어 만들어 보기로 했습니다.2. 프로젝트 설명주제: 지도 기반 맛집 기록 플랫폼맛집 추천을 위한 어플 뿐만 아니라, 자신이 먹었던 음식들의 기록으로 사용할 수 있다.메인 페이지는 지도. 해당 페이지에서 인기가 많은 장소를 검색할 수 있다.해당 음식점을 선택하면 나와 얼마나 떨어져있는지, 가는 길을 볼 수 있다.유저들이 공유하는 피드들을 구경할 수 있다.피드에 좋아요를 남기고 해당 장소를 저장할 수 있다.유저를 팔로우가 가능하며 글을 모아볼 수 있다.... 그외 추가 되었으면 하는 기능커뮤니티 탭에서 게시글과 연관된 음식점이나 게시글이 추천되어 보여진다.음성 인식을 .. 2024. 5. 19.
[잔디일기] 패키지 구조에 대한 고민 잔디 일기 서비스의 경우 간단한 서비스였기 때문에 1차 기능 구현 기간까지는 비교적 수월하게 진행을 해 왔으나,1. 초반에 팀원 분들과 서로 상의하지 않고 각자 구현했던 패키지 구조로 인해 커져버린 메인 패키지2. 추가해야 할 기능이 늘어남에 따라 중구난방으로 생성되어버린 패키지3. 하나의 기능을 수정하려면 여러 패키지를 수정해야 하는 번거로움해당 부분들 때문에 대규모 패키지 수정이 필요해 보였습니다. 그래서 패키지 구조를 어떤 식으로 고민을 했고, 그래서 어떻게 바꿀 것인지에 대해 적어보았습니다.패키지 구조를 만드는 방식에는 계층형 구조와 도메인형 구조가 있습니다 . 계층형 구조는 쉽게 Controller/Service/Domain으로 나누는 구조로, 다음과 같이 표현되어 서로 메시지를 주고 받습니다... 2024. 5. 10.