분류 전체보기

🏁 서론드디어! 스프링을 시작하게 되었다 🎉리뷰어님께서 스프링에는 자신이 있다고 하시면서 개념적인 부분을 많이 질문하신다고 들었는데, 정말 맞았다.그동안 당연하게 넘겼던 스프링의 구조나 동작 원리에 대한 질문이 새로운 공부의 계기가 되었다!이번 미션을 통해 스프링의 기본기를 다지고, 더 깊이 있는 이해로 연결해보고 싶다 💪 📚 이번 주 학습 내용https://github.com/izzy80/spring-roomescape-playground GitHub - izzy80/spring-roomescape-playgroundContribute to izzy80/spring-roomescape-playground development by creating an account on GitHub.githu..
🏁 서론사다리 게임... 발판 만들기... 빈 칸 없이 연결하기... 생각보다 너무 어렵다 😵‍💫 친구들과 내기할 때 종종 사용했던 익숙한 사다리 게임을, 직접 코드로 구현해보니 그 속에 생각보다 많은 고민이 숨어 있다는 걸 느꼈다.단순히 "랜덤하게 발판을 만들면 되겠지?" 하고 시작했지만, 연속으로 연결되면 안 되고, 모든 열은 최소한 한 번은 연결되어야 하고,게임 규칙도 자연스럽게 보장해야 한다는 점에서 꽤 까다로운 미션이었다.이번 회고에서는 사다리 게임을 구현하면서 마주한 고민들, 그에 대한 해결 방식, 그리고 리뷰어 피드백을 통해 배운 점들을 정리해보려 한다. 📚 이번 주 학습 내용https://github.com/izzy80/java-ladder-func-playground GitHub ..
🏁 서론이번에 다시 한 번 느낀 건, 배우는 것만큼 복습이 정말 중요하다는 점이다. 특히 한 번 배운 개념은 꼭 내 것으로 만들기 위한 반복 학습과 이해가 필요하다. 2주차 자동차 경주에서 VO와 DTO 개념을 배웠을 때, 의미를 문자 그대로만 외우고 제대로 이해하지 못한 채 넘겼는데, 이번 미션에서도 그 부분이 다시 막히는 걸 보며 뼈저리게 느꼈다.다행히 이번엔 PR에서 이 부분에 대해 의견을 나눠보면서, 좀 더 깊이 이해할 수 있었다.앞으로는 배운 걸 그냥 넘기지 않고, 꼭 정리하고 복습하면서 완전히 내 것으로 만들자! 📚 이번 주 학습 내용https://github.com/izzy80/java-lotto-clean-playground GitHub - izzy80/java-lotto-clean-p..
🏁 서론이번에는 초간단 애플리케이션인 자동차 경주를 구현해 보았다. 총 4단계에 걸쳐 요구사항에 맞게 점진적으로 개발하고 리팩토링을 진행하였다. 이전에 진행한 계산기 프로젝트보다 난이도가 올라갔고, 특히 설계와 객체 분리에 대한 고민이 많았다. 그동안의 프로젝트는 ‘일단 동작하게 만드는 것’에 급급해 설계적인 부분에 깊이 다가가지 못했다는 점을 이번 스터디를 통해 확실히 느꼈다. 특히 계산기 프로젝트는 학습 순서나 리팩토링 타이밍이 다소 뒤죽박죽이었다면, 이번 미션은 단계별 학습 → 구현 → 리팩토링의 사이클을 비교적 체계적으로 따라가 보려 노력했다. 덕분에 마지막 리팩토링에서는 코드 구조를 전반적으로 개선하면서도 여러 시행착오를 겪었고, 그 과정을 통해 많은 걸 배울 수 있었다. 📚 이번 주 학..
🏁 서론요즘 취준만 하느라 뭔가 흐리멍덩하게 시간을 보내고 있다는 느낌이 들어서, 의식적으로 개발 리듬을 다시 잡고자 스터디를 시작했다. 이번에 참여하게 된 건 초록 스터디라는 곳인데, 단순히 과제를 제출하는 게 아니라 PR을 올리고, 테스트 코드를 작성하고, 클린 코드와 설계에 대한 피드백까지 주고받는 구조라는 점이 마음에 들어서 신청하게 되었다. https://cho-log.notion.site/1c81a5419760805fb2e9d99d53ab73f2 🌿 초록해듀오 | 함께 배우고 성장하는 개발 스터디 | Notion초록해듀오란?cho-log.notion.site 📚 이번 주 학습 내용https://github.com/izzy80/java-calculator-unit-playground/tr..
📢 본 내용은 원티드 프리온보딩 백엔드 챌린지 1월를 정리한 내용입니다. 1. 매니지드 & 서버리스 비교  - 매니지드 : 관리는 AWS가 해주지만 리소스는 계속 실행 중- 서버리스 : 필요할 때만 실행되고, 실행한 만큼만 과금 리소스의 실행 상태(항시 실행 vs 필요시만 실행)용량 관리 방식 (직접 선택 vs 자동 관리)과금 방식 (시간 단위 vs 사용량 단위) 서버리스 단점콜드스타트(ColdStart) : 추운 상태에서 시작함cold : pc가 꺼진 상태hot : 사용 될 때 잠깐 켜져서 사용될 때까지 그래도 활성화된 상태warm : 아 이제 사용 안 하나 보다~ 하는 상태  2. Aurora Serverless - AWS에서 자체 개발한 RDS- PostgreSQL, MySQL 호환 가능- 자동 ..
📢 본 내용은 원티드 프리온보딩 백엔드 챌린지 1월를 정리한 내용입니다. 1. IDC (Internet Data Center)- 네트워크, 전력, 냉방, 보안- 통신사, 대형 SI, 네이버, 카카오 등이 운영 2. VPC(Virtual Private Cloud) 나만의 사설 클라우드 공간이라고 생각해도 된다 - aws 내 격리된 가상 네트워크- 사용자 정의 IP 주소 범위- 보통 리전에 들어가보면 기본 vpc가 하나씩 있다. (사용하지 않는 것을 추천) 3. AWS Region / 가용영역3.1. AWS Region - AWS의 물리적 데이터센터 군집- 전 세계 주요 지역에 분산된 인프라- Region에 따라 지연 시간(Latency) , 법적 규제(Data Residency) , 제공 서비스 범위, ..
📢 본 내용은 원티드 프리온보딩 백엔드 챌린지 1월를 정리한 내용입니다. 1. Root vs IAM1.1. Root- 최초 생성시 입력한 이메일 주소 Root 계정- 모든 AWS 서비스와 리소스에 대한 완전한 접근 권한 보유- 권한을 제한할 수 없음- AWS 계정당 단 하나만 존재 1.2. IAM (Identity and Access Management) - 관리자가 정의한 특정 권한만 가짐- 필요에 따라 권한 추가/삭제 가능- 팀원별로 독립적인 계정 발급 가능- 그룹과 역할을 통한 체계적인 궈한 관리 가능 2. S3 / Cloudfront2.1. S3 (Simple Storage Service)- 무제한 확장 가능한 객체 스토리지- 99.999999999% 데이터 내구성(SLA) - 정적 웹 호스팅 ..
· 💻개발
프로젝트에서 조회수 기능을 구현해야 했다.처음에는 단순하게 조회수 컬럼을 게시판 테이블에 추가하여, 게시글을 조회할 때마다 조회수를 1씩 증가시키는 방식으로 설계했다. 예를 들면 다음과 같은 구조다.  @Entitypublic class Article { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String title; private String content; private int views; public void increaseViews() { this.views += 1; }}그래서 GET 요청이 올 때마다 조회수를 단순히 증가시키는 접근으로..
계층 구조에 대한 DB를 찾다가 알게 된 구조흔히 사용하는 인접리스트가 있는데 DB에서 자식만 가져오는 것이 아닌 자손까지 가져온다고 했을 때, 계층이 너무 깊으면 self join을 많이해서 쿼리 구조가 복잡하다는 단점이 있다. 그래서 다른 방법을 찾다가 여기까지 왔다.  자기 자신을 포함해서 자식 노드를 모두 저장하는 DB 형태 예를 들어 계층구조가 이런 형태면 DB형태가 ancestor, descendant, length가 저장이 된다. length는 우리가 dfs를 풀 때 depth를 사용하는데 이와 같다고 생각하면 될 것 같다.  그래서 만약 내가 조상일 때 ancestor=1일때라는 조건을 걸어서 select를 하면 되니까 자손을 모두 가져오기도 편하고자식을 가져올 때도 depth=1이라는 조..
i_zzy
'분류 전체보기' 카테고리의 글 목록