전체 글
Site Reliability Engineering: 사이트 신뢰성 엔지니어링
본 포스팅은 UPF 2022SS를 통해 Jpub의 도서 'Site Reliability Engineering: 사이트 신뢰성 엔지니어링'을 무상제공받아 작성하였습니다. 책을 읽기 전에 나는 백엔드 개발 직무로 취업을 준비하면서 여러 멘토분들, 이미 취업한 동기들로부터 많은 이야기를 들었다. 또, 시니어 개발자 분들이 많이 계시는 클럽하우스 내 '개발 노가리방' 이라는 곳과 블라인드 앱을 통해 많은 정보를 얻었다. 그와 함께 얻은 기술 키워드들을 구글링 해가며 개발 분야의 전반적 분위기와 구조를 이해해나갔다. 사실 전체적으로 개발 분야의 구조와 운영을 이해하긴 했어도, 현업에 참여해 일을 하진 못했기 때문에 정리되지 않은 상태였다. 그리고 '개발'에 대해서만 들어본 극히 편협적인 내용들이 내 머릿속에 엉켜..
좋은 객체지향 프로그래밍이란?
인프런에서 김영한 님의 스프링 완전 정복 로드맵에 나오는 좋은 객체지향 프로그래밍이란 무엇인가에 대해 학습한 내용을 정리하고자 한다. 우아한 형제들 기술이사 김영한의 스프링 완전 정복 로드맵 중 스프링 핵심 원리 - 기본편 객체지향 프로그래밍이란? 객체지향 프로그래밍은 컴퓨터 프로그래밍의 패러다임 중 하나이다. 객체 지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 "객체"들의 모임으로 파악하고자 하는 것이다. 각각의 객체는 메시지를 주고받고, 데이터를 처리할 수 있다. - 위키 백과 기존의 절차 지향 프로그래밍에서는 상태(변수)와 행동(함수)으로 프로그램을 설계했다면, 객체지향 프로그래밍에서는 프로그램을 구성하는 단위를 현실세계에서의 단위와 일치시키..
[이코테] Chapter 06. 정렬 학습 정리
기준에 따라 데이터를 정렬 💡 KEY POINT 정렬: 데이터를 특정한 기준에 따라서 순서대로 나열하는 것 선택 정렬: O(N^2), 매번 가장 작은 것을 `선택`, 가장 작은 데이터를 선택해 맨 앞에 있는 데이터와 바꾸고, 그 다음 작은 데이터를 선택해 앞에서 두 번재 데이터와 바꾸는 과정을 반복 삽입 정렬: O(N^2), 특정한 데이터를 적절한 위치에 `삽입`, 데이터를 하나씩 확인하여, 각 데이터를 적절한 위치에 삽입하는 방식, 데이터가 거의 정렬되어 있을 때 효율적 퀵 정렬: 평균적으로 O(NlogN), 최악의 경우 O(N^2), 기준 데이터를 설정하고 그 기준보다 큰 데이터와 작은 데이터의 위치를 바꾸는 방식 계수 정렬: O(N + K), 모든 데이터가 양의 정수인 상황에서 데이터의 범위가 한정..
[이코테] Chapter 05. DFS/BFS 학습 정리
꼭 필요한 자료구조 기초 💡 KEY POINT 탐색: 많은 양의 데이터 중에서 원하는 데이터를 찾는 과정 자료구조: 데이터를 표현하고 관리하고 처리하기 위한 구조 스택: 선입후출/후입선출 구조 큐: 선입선출 구조 재귀 함수: 자기자신을 다시 호출하는 함수, 수학의 점화식을 그대로 소스코드로 옮겨놓음 탐색 알고리즘 DFS/BFS 💡 KEY POINT 그래프: 노드(정점)와 간선으로 표현되며, 인접 행렬과 인접 리스트 2가지의 방식으로 표현할 수 있다. - 인접 행렬 방식: 2차원 배열에 각 노드가 연결된 형태를 기록하는 방식모든 관계를 저장하므로 노드 개수가 많을수록 메모리가 불필요하게 낭비 - 인접 리스트 방식: 모든 노드에 연결된 노드에 대한 정보를 차례대로 연결하여 저장하는 방식연결된 정보만을 저장하..
[이코테] Chapter 04. 구현 학습 정리
아이디어를 코드로 바꾸는 구현 💡 KEY POINT 구현: 머릿속에 있는 알고리즘을 소스코드로 바꾸는 과정 모든 범위의 코딩 테스트 문제 유형을 포함하는 개념 이 책에서는 완전 탐색(모든 경우의 수를 주저없이 다 계산하는 해결 방법)과 시뮬레이션(문제에서 제시한 알고리즘을 한 단계씩 차례대로 직접 수행) 유형을 구현 유형으로 묶었다. 파이썬에서의 리스트 크기 제약 데이터의 개수(리스트의 길이) 메모리 사용량 1,000 약 4KB 1,000,000 약 4MB 10,000,000 약 40MB 파이썬으로 문제를 풀 때, 리스트를 여러 개 선언하고, 그 중에서 크기가 1,000만 이상인 리스트가 있다면 메모리 용량 제한으로 풀 수 없을 확률이 크다. 좌표에서 이동하는 경우, dx와 dy의 이동 방향 배열을 만들..
[이코테] Chapter 03. 그리디 학습 정리
당장 좋은 것만 선택하는 그리디 💡 KEY POINT 그리디 = 탐욕법 매 순간 가장 좋아보이는 것을 선택하며, 현재의 선택이 나중에 미칠 영향에 대해서는 고려하지 않는다. 그리디 알고리즘 유형은 매우 다양하기 때문에 암기한다고 항상 잘 풀 수 있는 것이 아님. 기준에 따라 좋은 것을 선택하는 알고리즘이므로 문제에서 ‘가장 큰 순서대로', ‘가장 작은 순서대로'와 같은 기준을 알게 모르게 제시해준다. → 이는 정렬 알고리즘과 같이 사용함 [실전 문제] 큰 수의 법칙 💡 KEY POINT 입력받은 수의 배열에서 가장 큰 수를 K만큼 더하고, 두 번째로 작은 수를 한 번 더하는 방식의 반복. 1. 입력받은 수를 역순으로 정렬 2. M만큼 반복하면서 K만큼 가장 큰 수를 더함 3. K만큼 가장 큰 수를 더했다..
개발자 취업 준비를 위한 자기소개서 팁 정리 [2편 - 단체 성격에 따른 차별화]
이전 편인 개발자 취업 준비를 위한 자기소개서 팁 정리 [1편 - 공통 사항]에서 공통적인 부분을 짚고 넘어왔다. 이번 2편에서는 단체 성격에 따른 자소서의 차별화에 대해 정리해보려 한다. IT 동아리 및 커뮤니티, 교육 활동(부트캠프), 기업에 따라 뽑고자 하는 사람은 조금씩 다르다. 각자가 추구하는 단체의 성공이 다르기 때문이다. 자소서의 공통된 특징으로 나를 차별화했다면, 이제는 꼭 그 단체여야만 하는 이유를 자소서에 넣어보자. IT 동아리 및 커뮤니티 요즘 IT 동아리 및 커뮤니티는 정말 많다. GDSC, NEXTERS, SOPT, AUSG, Mash-Up, D&D, DDD, 멋쟁이사자처럼, 디프만, YAPP, 프로그라피, 피로그래밍 등 정말 많은 단체들이 IT 개발자들을 위해 준비되어있다. (이..
boostcamp Web/Mobile 6th Challenge까지의 이야기
네이버 커넥트 재단에서 진행하는 boostcamp Web/Mobile 6th(이하 부스트캠프)에 대한 이야기를 써보려고 한다. 우선 부스트캠프는 챌린지 1개월 + 멤버십 4개월 총 5개월의 과정으로 이루어져 있다. 필자는 부스트캠프 6기에서 챌린지 과정까지 진행하였고, 아쉽게도 멤버십 과정에 도달하지는 못했다. 지원부터 코테, 챌린지의 내용을 기록을 남겨본다. (사실 미리 작성했어야 했는데 현생이 바쁘다는 핑계로 자꾸 미뤄둔 탓에 이제서야 작성한다. 게다가 2021년 12월 31일에 작성하려 했더니 티스토리 서버가 마비되는 바람에... 결국 해를 넘기고 업로드하게 되었다. 앞으로는 미리미리 작성해야지...) 지원 네이버 부스트캠프에 대한 정보는 익히 들어왔었다. 부트캠프 종류 중 하나로, 웹 풀스택/안드..
스프링 인 액션(제5판): 스프링 5의 강력한 기능과 생산성을 활용한 웹 애플리케이션 개발
본 포스팅은 UPF 2021FW를 통해 Jpub의 도서 '스프링 인 액션(제5판)'을 무상제공받아 작성하였습니다. 책을 읽기 전에 나는 지금까지의 백엔드 개발 활동 경험에서는 Python + Django를 주 기술 스택으로 사용했었다. 하지만, 4학년 2학기가 마무리되어가고 취업을 준비하다 보니 Java + Spring으로 넘어가야겠다는 생각이 들었다. 물론, 지금 취업 시장 때문만은 아니라, 대규모 서비스 운영에 있어서와 다양한 자료와 예제 때문이라도 언젠가 넘어가야겠다고 생각했다. 하지만 어떤 식으로 공부를 시작해야 할지 잘 모르기도 하고 고민도 되었다. Java + Spring 기술 스택은 지금 이미 너무나 많은 강의와 도서가 쏟아지고 있기 때문이었다. (사실 지금 하고 있는 활동과 졸업 준비 때문..
개발자 취업 준비를 위한 자기소개서 팁 정리 [1편 - 공통 사항]
이번 기회에 교육, 동아리, 대외활동, 기업 자소서 팁들을 싹 다 정리해보려 한다. 이번에 개발자 취업 준비를 하면서 자기소개서(이하 자소서)를 정말 많이 작성해보았다. 나야 뭐 원래 대학 입시도 자기소개서 써서 들어가는 학생부 종합 전형으로 준비했던 터라 고3 1년 내내 자소서를 써오며 첨삭도 많이 받아보았었다. 이에 더하여 학부 과정 중 여러 개발 동아리 및 대외활동을 지원해보면서도 자소서를 정말 많이 써봤다.(심지어 동아리 운영진으로써 자소서를 검토하고 면접관으로도 활동해보았다.) 그러다 보니 정말 자소서에 대해서는 진짜 두렵지 않을 정도로 자신감이 생겼고, 나만의 노하우도 생겼다. (+ 추가로, 인턴 자소서를 써보면서 주변 지인 중에 대학교 인재개발원에서 자소서 봐주는 일을 2년 동안 하신 분이 ..