개발자취준60 Milestone(23년 9월 9일) 2023년 09월 ~ 현재- 외국계 회사로 이직(23년 9월 11일 첫 출근) 2022년 10월 ~ 2023년 08월- 현직 서버 개발자 스터디 시즌1(Effective Java 완료)- 현직 서버 개발자 스터디 시즌2(가상 면접 사례로 배우는 대규모 시스템 설계 기초 완료)- 현직 서버 개발자 스터디 시즌3(토비의 스프링 v1 완료)- 첫 회사 퇴직(11개월 근무, 23년 8월 31일 퇴사) 2022년 10월 18일(취업 완료) 2022년 8월까지의 목표1. 코딩 테스트- Java로 자료구조 구현(완료)- LeetCode 문제 풀기 (완료)- 프로그래머스 (고득점 kit, 완료) 2. 기술면접- 컴공 기초 지식 복습(컴공 기초, 자료구조/알고리즘, 네트워크, SQL, Spring) 3. 백엔드 공부-.. 2023. 9. 9. 3년의 회고(개발자를 꿈꾸는 당신에게) 0. 시작하며 다들 안녕하시죠? 정말 오랜만에 글을 쓰네요. 취준 당시에는 취업하면 꼭 회고록을 써야지라는 다짐을 하곤 했는데, 막상 취업을 하고보니 내가 걸어온 길이 그리 대단한 길은 아니더라구요. 그때 그런 마음을 가질만큼 열심히 했구나, 지난 시간을 되돌아보며 잠시 소화하는 시간을 가졌습니다. 이번 회고는 개발자로 취직하기까지 지난 3년의 시간을 복기하고, 개발자에 도전하시는 분들에게 조금이나마 도움이 되기를 바라는 마음을 담았습니다. 그럼 시작해볼까요?! 1. 개발자가 되기까지 a) 어쩌다 3년 19년 10월에 국비교육에서 처음 개발을 시작해서 22년 10월에 취직했습니다. 따져보니 개발자가 되기까지 3년 걸렸더라구요. 제가 생각하는 신입 개발자로서 기준이 있던 것 같아요. 어쩌면 신입이라는 수식.. 2023. 1. 1. 8. 백엔드 개발 완료(OpenAPI 소개 및 문제해결 회고록) 0. 개요 - 포트폴리오를 개발하는데 매진하여 그동안 블로그를 신경 쓰지 않았다. - 백엔드 개발이 어느 정도 완성되었다. 그래서 이번 포스팅에서는 그동안의 결과물(OpenAPI)을 소개하고 개발 과정에서 겪었던 문제점과 해결방법에 대해 소개해보려 한다. 1. 프로젝트 구조(Structure) - 6월부터 SAI를 개발하고 있다. - 프런트와 연동 작업을 진행하면서 메서드가 추가될 수는 있으나, 전체적인 구조적 측면에서는 변동이 없으므로 현재 시점에서 SAI의 백엔드 구조를 소개한다. ├─ projectSAI/sai-backend/src ├── SaiBackendApplication.java ├── api │ ├── EventApiController.java │ ├── FriendApiController.. 2022. 9. 6. 최단거리 개념 및 문제 접근 방법 0. 개요 - 최단 거리 알고리즘은 그래프 탐색 알고리즘 중 하나이다. - 최단 거리 알고리즘의 종류와 개념 그리고 문제 접근 방법에 대해서 알아보자. 1. 최단 거리 개념과 종류 a) 최단 거리의 의미 - 최단 거리 문제에서 최단 거리는 다음 2가지 경우 중 하나에 해당한다. → 지나온 간선(edge)의 개수가 가장 적은 경로를 찾는 경우 (가중치가 없는 그래프) → 지나온 간선(edge)의 가중치(weight) 합이 가장 작은 경로를 찾는 경우 (가중치가 있는 그래프) b) 최단 거리의 종류 - 최단 거리 문제는 기본적으로 시작점과 도착점이 주어진다. - 시작점과 도착점을 기준으로 최단 경로(간선의 개수 또는 간선 가중치의 합)를 구하는 것이 문제의 핵심이다. - 시작점과 도착점의 구성 방식에 따라서.. 2022. 7. 18. DFS/BFS 개념 및 문제 접근 방법 0. 개요 - DFS와 BFS는 대표적인 그래프 탐색 알고리즘이다. - DFS와 BFS가 어떻게 다른지, 언제 사용되는지 알아보자. 1. DFS(Depth First Search) a) DFS의 탐색 방법 - DFS는 다음과 같은 탐색 순서를 갖는다. - DFS는 하나의 방향을 결정하면 그 방향을 따라 끝까지 도달한다. ▶ 트리의 경우, 왼쪽에 위치한 노드를 우선적으로 탐색한다. ▶ 그래프의 경우, 가중치 또는 특정 기준을 따라 탐색 방향의 우선순위를 결정한다. - 위의 그림을 토대로 DFS는 다음과 같은 탐색 순서를 갖는다. ▶ 0번을 시작으로 왼쪽에 위치한 노드를 우선적으로 탐색한다. (0 ~ 3번 노드로 탐색) ▶ 3번 노드가 끝이므로 이전 단계로 돌아간다. (1번 노드로 돌아감) ▶ 1번 노드에서.. 2022. 7. 5. 4. DB 구조 설계 - ERD 0. 개요 - 프론트 개발을 어느정도 완료하고 이제 백엔드 개발을 준비하고 있다. - 백엔드 개발의 시작을 ERD 제작으로 선정하여 ERD를 그려보았다. - ERD를 작성해보니 백엔드를 개발하면서 풀어야하는 문제점을 몇가지 발견하였다. 1. Entity 소개 - 프로젝트 SAI는 다음과 같은 Entity로 구성된다. a) User Table - User는 SAI 서비스에 가입한 회원의 정보를 관리하는 테이블이다. - 회원 가입 시 작성한 정보가 User Table에 입력된다. - User Table의 구성은 다음과 같다. id(PK) - 자동 증감을 사용한다. email - 로그인 시 사용할 이메일 주소 / 필수 값 / 유효성 검증 필요 password - 로그인 시 사용할 비밀번호 / 필수 값 / 유효.. 2022. 6. 29. 3. 요구사항 정의 및 개발 명세서 작성 0. 요구사항 정의 및 개발 명세서 작성 - 요구사항과 개발 명세서 작성은 가장 구체적이면서도 귀찮은 과정이다. - 머리 속에만 존재하던 추상적 아이디어를 현실 세계에 꺼내놓는 작업이기 때문이다. - 웹 애플리케이션 사이가 어떤 모습으로 완성될지 기대된다. - 동시에, 이 많은 작업을 나 혼자서 감당할 수 있을지도 의문이다. - 요구사항 명세서는 다음과 같은 구성으로 되어있다. → sheet 1: 페이지 구성 → sheet 2: 세부 기능 명세 → sheet 3: 개발 과정 타임라인 - 아래의 링크를 통해서 요구사항 명세서를 확인할 수 있다. - 앞으로 해당 문서에서 계속하여 변경사항 등을 업데이트할 예정이다. https://docs.google.com/spreadsheets/d/1BZaCrvZ1CDQf.. 2022. 6. 11. 1. 로고 제작기 0. 로고를 위한 준비 a) 로고란 무엇인가? - 로고는 브랜드이자 정체성을 그림으로써 한눈에 보여주는 역할을 한다. - 그렇다면 사이의 서비스를 한마디로 표현하면 되지 않을까? - 그 한마디를 그림으로 표현하면 로고가 될 것이라 확신했다. b) 정의하기 - 사이의 핵심 서비스는 사람 간의 관계를 측정해주는 것이다. - 그렇다면 "관계를 측정하는 것"을 그림으로 표현하면 로고 완성이다. - 근데... 어떻게 그려야 할까? c) 키워드 정하기 - 서비스를 정의하면서 관계와 측정이라는 키워드가 등장하였다. - 각 키워드를 그림으로 표현하기 위해서 비유적인 표현이나 빗대어 사용할 수 있는 물건을 떠올려보았다. → 관계: 거리(distance), 사회적 활동, 공간 → 측정: 수치화, 그래프, 줄 자(ruler.. 2022. 6. 9. 0. 프로젝트 소개 0. 개요 - 본 카테고리에는 포트폴리오로 사용될 프로젝트의 개발 일지가 작성될 예정입니다. - 본 포스팅은 전반적인 프로젝트 소개입니다. 0. 개발 동기 a) 해결하려는 문제 및 비즈니스 - 저는 사람을 만나는 것에 에너지를 소비하는 성향으로, 사람 간의 일을 잘 기억하지 못합니다. - 그러나 사소한 기억을 공유하는 것이야말로 관계를 발전시키는 방법입니다. - 이와 같은 이유로 만남을 기록하고 리뷰하여 관계를 더욱 편리하게 관리할 수 있는 서비스를 만들게 되었습니다. 1. 사이(SAI) 소개 a) 사이의 뜻 - 사이는 너와 나의 사이에서 착안된 이름으로, 사람 간의 관계를 의미합니다. - SAI는 Social Activity Interpreter의 약자로, 사회 활동을 기반하여 관계를 해석함을 의미합니.. 2022. 6. 9. 이전 1 2 3 4 ··· 7 다음