[TIL #Day1~78] 22/03/28~22/06/13

Yeppi's 개발 일기·2022년 6월 13일
0

TIL

목록 보기
1/23
post-thumbnail

이건 뭐다냥...?!

1. TIL를 작성하게 된 계기

지금까지 딱히 회고록을 작성하진 않았다...
github 에 공부한 내용을 커밋하거나, 그간 배웠던 내용을 블로그에 정리해서 올리면 해당 날짜가 찍혔기 때문에 딱히 TIL 의 중요성을 느끼진 못했다.
다니고 있는 부트캠프에서 특강이 있었는 데, '매일매일 기록하는 것이 자신에게도 큰 원동력이 된다' 는 말을 들었다. 지금은 비록 거창하지 않고 적을 내용이 적다하더라도, 매일 매일 쌓아온 기록들을 보면 나중에 지치고 그만두고 싶을 때 다시 일어날 수 있게 해주는 계기가 된다고 한다.
4년동안 컴퓨터공학 전공을 하면서, 휴학 한번 하지 않고 방학때도 쉬지 않고 무언갈 계속 해왔던 나는 중간에 지친다는 의미가 무엇인지 매우 잘 알기 때문에 '스스로를 위해 해보자'라는 의미로 크게 와닿았다. 그래서 나는 오늘부터 머릿속으로만 생각했던 것, 개인적으로 노션으로만 정리했던 것들을 블로그에도 간략하게나마 적어보려 한다.

(대학교때 다니면서 공부하고 정리했던 것도 미리 미리 올렸으면 좋았을 텐데...남아있는 자료는 추후에 시간될 때 차근차근 올려봐야겠다)



2. 💪나의 공부 루틴💪

1) Daliy

08:00 ~ 기상
09:00 ~ 12:00 오전 스터디
12:00 ~ 13:00 점심 식사
13:00 ~ 18:00 개발 공부
18:00 ~ 19:00 저녁 식사
19:00 ~ 22:00 개발 공부
22:00 ~ 24:00 공부한 것 복습 겸 정리 or 운동(체력관리!)
24:00 ~ 취침

평일에 진행되는 나의 스케쥴이다. 오전 스터디는 4월 초부터 꾸준하게 시작했고, 컨디션이 너무 안좋거나 볼일(은행.. etc)이 있는 날에는 롱런하기위해 오전 스터디를 빠지거나 늦게 참여하면서 스케쥴을 조절하고 있다.
개발 공부 시간에는 중간중간 스트레칭을 하면서 진행하니 오히려 집중도가 높아졌고, 꾸준히 집중하려 노력하고 있다. 밤 10시 이후에는 오늘 처럼 늦게까지(현재 시간... 새벽 1시..)할 때도 있지만 '일찍자고 일찍일어나기' 를 실천하는 중이라 웬만하면 데드라인을 밤 12시로 맞추고 있다.
주말에는 못다한 밀린 공부나 주로 복습을 진행하고, 매일하기로한 알고리즘 정도를 공부한다. 밤까지 무리하게 공부를 하진 않는 데, 매일매일 꾸준히 하려면 무엇보다 건강+체력관리가 중요하다고 생각한다. 그래서 주말엔 운동을 주로하고 최근엔 배드민턴을 치는 데 아주아주 재밌다! 그리고 밀렸던 개인적인 일(필요한 컴퓨터 장비 알아보기, 다음주 계획하기, 가족 생일 챙기기 등등)을 한다.


2) 메모 정리 습관

언제부터인지 모르겠으나... 어렸을 때부터 필기하기 메모하기 정리하기 아주 다방면으로 열심히 했던 것 같다. 공부뿐만아니라 일상 생활에서도 메모하는 습관을 가지고있다. 덕분에 강의를 들을 때 놓치지 않고 이해하면서 필기도 깔끔히 할 수 있는 스킬 레벨(?)이 매우 높은 듯 하다.(매우 주관적이랍니다..ㅎ)
여기저기 워드, 핸드폰 기본 노트앱, 윈도우 노트, 일반 종이나 공책 등등 메모를 하다가 노션을 알게되었는 데 아주 요물이더라! 너무 편하게 쓸 수 있어서 지금 공부할 때도 아주 유용하게 사용하고 있다.
혼자 공부하고 기록만 하는 공간이라 링크대신 캡쳐로 첨부하겠다


3. 지금껏 진행한 공부 내용들

사실 기록을 하지 않았던 건 아니다. 평소 습관이 항상 메모하고 정리하는 것이기 떄문에 노션을 아주 유용하게 사용하고 있었다. 더불어 부트캠프 학원을 다니면서 더욱 더 애용하게 되었는 데, 그간의 기록들은 노션에 잘 정리되어있다.
해당 내용을 참고하여 22/03/28~22/06/13 간의 기록을 간략하게 정리해보겠다.


📌03/28~04/30📌

1) git

git bash 부터 github repo 사용법까지, 기본적인 사용법을 익혔다.
그리고 개발 블로그의 필요성을 느끼고 해당 yeppi velog 를 개설했다.
(전에 네이버 블로그 포스팅도 아주 많이 해봤었고, 메모하고 정리하는 습관이 자리 잡혀있었기 때문에 오히려 재밌었던 것 같다)

🍑 Git 시리즈 🍑
노션에 공부한 기록들을 복습 겸 정리하며 해당 시리즈로 옮겼다.



2) HTML/CSS

웹에 대한 전반적인 개념과 함께 프론트엔드의 기초, 혹은 웹의 기초라고 할 수 있는 마크업언어와 CSS 를 배웠다.
현재 부트캠프는 백엔드 개발자 과정이지만, 전에 프론트엔드를 잠깐 배웠었기 때문에 가볍게 들어볼 수 있었다.
현재 블로그에 따로 작성하진 않았고, 공들여 정리한 내용은 추후에 정리해서 올려보려 한다.



3) JAVA 및 객체지향

백엔드 개발의 핵심 of 핵심이라고 볼 수 있는 객체지향의 개념을 비롯해 JAVA 의 전반적인 개념을 다졌다. 기본적인 문법 조건문, 반복문, 변수, 연산자 등부터 시작해서 상속, 인터페이스, 다형성 등의 개념까지 기본기를 챙기려고 노력했다. 또한 유지보수을 잘하기위해 객체지향의 핵심인 '다형성'은 필수 라는 것, 이를 잘 활용하는 것이 개발자의 덕목이라는 것도 알게되었다. 개인적으로 어려웠던 부분은 람다표현식이였는데, 앞으로 다양하게 사용해보면서 익혀가야할 것 같다.

🍑 JAVA 시리즈 🍑
노션에 공부한 기록들을 복습 겸 정리하며 해당 시리즈로 옮겼다.



4) 자료구조

효율적인 로직을 짜기위해, 프로그램이 '잘' 돌아가기 위해 자료구조을 빠삭하게 알아야 개발도 잘 짤 수 있단 사실을 깨달았다. 알고리즘과 직결되는 자료구조는 흔히 말하는 개발머리를 갖게해주는 길에 첫 걸음을 내딛는 느낌이였다. 사실 전공 시절에도 자료구조를 엄청엄청 들여다 봤었지만,,, 제대로 와닿진 않았었다. 코드 하나하나 뜯어보면서 '도대체 왜 이렇게 동작하는가?', 주석을 주렁주렁 달면서 이해해보려 노력했다.

github에 따로 커밋하거나 개발 블로그에 정리하진 않았다. 아직 온전히 내것이 되었단 느낌을 받지 못했다. 추후에 더 공부하여 올려보도록 하겠다. 아래 '배운 내용' 은 이론을 이해한 후, JAVA 로 테스트 해봤던 목록만 나열해봤다.

🍑 배운 내용 🍑

  1. 빅오 표기법 및 시간 복잡도
  2. 리스트 - 배열, 연결리스트, 이중 연결 리스트
  3. 스택
  4. 큐와 원형 큐
  5. 해시와 해시 충돌 해결
  6. 이진 탐색
  7. 버블 정렬, 삽입 정렬, 합병 정렬, 퀵 정렬
  8. 트리, 이진 트리, 트리 탐색
  9. 힙 정렬
  10. 그래프 - bfs, dfs
  11. 위상 정렬
  12. 다익스트라


📌05/01~05/31📌

1) Servlet & JSP

웹 서버 통신의 기본 베이스라고 할 수 있는 Servlet 과 JSP 를 공부했다. 물론 요즘엔 Spring 과 JPA 를 많이 사용한다. 하지만 Servlet 만으로 서버와 통신하는 방법을 하나하나 배우며 Server의 Controller 와 Client 의 세부적인 동작이 어떻게 돌아가는 지 알 수 있는 유익한 시간이였다. HTTP 프로토콜의 방식과 쿠키 및 세션 설정, 필터 적용까지 공부했다.

🍑 Servlet & JSP 시리즈 🍑
노션에 공부한 기록들을 복습 겸 정리하며 해당 시리즈로 옮겼다.



2) 웹 기본 지식

웹의 기본 개념부터 REST API, HTTP Protocol 의 동작 방식을 공부했다. 브라우저의 주소창인 URL 부터 URI, Path 까지 전반적인 웹 서버와 클라이언트 그리고 브라우저의 동작 흐름을 알 수 있었다.

🍑 Web 시리즈 🍑
노션에 공부한 기록들을 복습 겸 정리하며 해당 시리즈로 옮겼다.



3) 디자인 패턴

자주 사용하고, 이미 만들어진 유용한 설계를 가져와 재사용할 수 있는 디자인 패턴에 대해 공부했다. 이론적으로만 알고있던 개념을 직접 코드로 짜보면서 배우니 앞으로 활용하기에 매우 유용하다고 느껴졌다. 하지만 내가 직접 잘 사용하기위해선 더 많은 공부가 필요하단 것을... 느낄 수 있었다. GoF 디자인 패턴의 개념 및 싱글톤/프록시 등 8가지의 패턴에 대해 공부했다.

🍑 디자인패턴 시리즈 🍑
노션에 공부한 기록들을 복습 겸 정리하며 해당 시리즈로 옮겼다.



4) Spring & Spring boot

Spring 은 정말 공부할 게 많다고 느꼈다. 이 시기때 공부한 Spring 은 예습 느낌으로 Spring 의 활용법을 익혔다. 현재(06/13)까지 아직 공부하며 블로그에 글을 작성하고 있다.
강의 종류는 패캠 / 인프런(김영한 강사님) / 부트캠프에서 진행하는 강의 이렇게 총 3가지 루트로 배우고 있다. 굳이 이렇게 많이...? 라고 할 수 있겠지만, 해당 4) Spring&Springboot 는 5월달에 전반적인 예습차원으로 공부했다. 덕분에 현재 Spring 강의를 더 잘 흡수(?) 시키면서 공부하고있고, 공부 성과는 다음 회고를 지켜봐주면 좋겠다😊

🍑 Spring 시리즈 🍑
노션에 공부한 기록들을 복습 겸 정리하며 해당 시리즈로 옮기고 있는 중...!



5) 데이터베이스

SQL 언어와 DB 의 개념, DML/DDL/DCL/TCL 그리고 Join 의 개념을 배웠다. 사실 전공할 당시 DB를 가장 재밌어 했기에 알고 있는 내용이 대다수였다. 복습하는 겸 재밌게 강의를 들을 수 있었다. 개발 블로그에 따로 정리해서 올린 것 없지만 정보처리기사 시리즈에 Chapter8. SQL 응용 에서 간단하게 내용을 정리한 것은 있다.
대학교 때 DB 를 정말 열심히 정리하고 공부했었는 데, 추후에 자료를 모아서 블로그에 올려보도록 하겠다.



6) 개발 블로그 작성

지금 하고 있는 yeppi 개발 블로그! 정말 열심히 썼다...!
그간 공부 루틴을 만들어가며 적응하기 바빴는 데, 본격적으로 블로그에 정리하려 맘먹고 열심히 썼다.
특히 JAVA 시리즈는 정말 열심히 했는 데, 배운 내용이 많다보니 거의 30개에 다다르는 내용이 써진 것 같다. 다른 타입의 두 강좌를 동시에 들으면서, 교집합 되는 부분은 매우 중요한 핵심 개념들을 잘 이해할 수 있었다. 공통 부분 외, 다른 부분은 전반적으로 이해할 수 있어서 아주 만족스러웠다. 해당 강좌들을 들으면서 정리한 노션 내용 중 잘 뽑아내면서 시리즈의 리스트를 추렸다. 사실 노션에 정리한 내용은 더 많은 데, 추리고 정리하고 복습하다보니 비슷하거나 겹치는 내용, 덜 중요한 내용은 많이 뺐다. 고작 한달 전에 작성한 내용이지만 지금 보면 벌써 부족한 부분이 보인다...(그래도 그동안 더 공부해서 성장하긴 했나보다..!)
중간중간 다시 수정하고 채우면서 더 질 좋은 시리즈를 만들어봐야겠다.



7) 토이 프로젝트

총 2가지 토이 프로젝트를 진행했다.
첫 번째는 JDBC, h2, Java 를 이용하여 간단한 회원 관리 프로그램을 만들었고
두 번째는 Servlet, JSP, h2 를 이용하여 게시판 프로그램 만들었다.
(두 번째 프로젝트는 클론 코딩이였다)

프로젝트의 상세한 설명과 회고는 Toyproject 시리즈에 적어두었다.



8) 정보처리기사 실기 시험

필기는 한 번에 붙었지만, 실기는 계속해서 떨어졌다... 4학년 당시 졸업작품 프로젝트와 병행하면서 무리했던 탓일까...? 한 번 떨어지니 자신감이 많이 하락했고 계속 해서 떨어지기를 반복했다. 이번에 마음을 다잡고 정말 열심히 했는 데 가채점 결과 통과할 것 같다! 하지만 오늘(22/06/13) 기준 이번주 금요일이 합격 여부 발표날이다...
정처기 합격 결과가 확실해 진다면 정보처리기사 시리즈에 자세한 회고를 남겨보도록 하겠다.



📌06/01~06/13📌

1) Spring

앞전에 얘기했던 것처럼, 지금은 열심히 인프런의 김영한 강사님 강좌와 현 부트캠프에서 주관하는 강좌를 같이 듣고 있다. 강사님들의 스타일이 달라서 각각 뽑아먹을 수 있는 내용이 정말 많다. Spring 의 기본 원리부터 왜 Spring 을 써야만 하는 지에 대해 명확히 알 수 있었다. 개발은 결국 유지보수가 핵심이라는 점, 개발자는 결국 귀찮음을 해결하고 편해지기 위해 다시금 또 끊임 없이 결국 개발한다....는 무한 순회(?)의 깨달음을 얻었다...ㅎㅎ

Spring DI, IoC, JUnit 개념을 공부했고,
추후에 MVC, Spring Boot 등 순차적으로 공부하여 해당 시리즈에 정리할 예정이다.

🍑 Spring 시리즈 🍑
노션에 공부한 기록들을 복습 겸 정리하며 해당 시리즈로 옮기고 있는 중...!



2) 1일 1백준 알고리즘

어느덧 스파르타식으로 매일매일 공부한 지 2달째. . . 문득 이런 공부방식이 맞나? 잘 하고있는 건가? 뭔가 부족하진 않은가? 더 효율적인 공부법은 무엇인가? 에 대해 고민이 생겼다. 그래서 정리하고 있던 노션부터 전부 깔끔하게 정리했다. 또한 위에서 언급한 '인프런 김영한 강사님의 Spring 강의' 도 끊고, 개발 머리를 더 키우기 위해 알고리즘의 필요성을 느꼈다. 대표적인 알고리즘 사이트가 여러개있지만 우선 실천하는 게 먼저라고 생각해서, 내적으로 가장 가깝다고 느꼈던 백준 알고리즘을 선택했다. 어떤 문제부터 풀까 고민하지 않고 '단계별 문제풀이'가 있길래 1단계부터 차근차근 풀어보고있다. 풀다가 예상치 못한 곳에서 오류가 뜨면 구글링도 해보고 로직을 생각해보면서 처음부터 직접 코드를 짜나가는 게 아주 뿌듯하고 1일 1알고리즘을 실천하려 노력중이다.

알고리즘 풀이는 github에 commit 하면서 노션에 정리하고 있지만, 해당 블로그에 굳이 작성해야 할까...? 아직 결정하지 못했다. 대신 노션 링크를 첨부한 아래 게시물을 참고해달라.

🍑 백준 알고리즘 시리즈 🍑
노션에 공부한 기록들을 해당 시리즈로 공유했다.



3) AWS 와 Data/AI 세미나 및 특강

세미나는 총 2가지를 들을 수 있었다.
첫 번째는 AWSomeDay 로 AWS 에서 주최하는 세미나였고,
두 번째는 패스트캠퍼스에서 추최하는 MegaCon DATA&AI 세미나 였다.
며칠전에 주최한 행사기 때문에, 자세한 회고는 조만간 정리해서 아래 시리즈에 남길 예정이다. 앞으로 이런 기회가 있다면 또 참여해서 해당 시리즈에 계속 기록할 예정이다.

🍑 Conference&Seminar 시리즈 🍑

그리고 해당 부트캠프에서 진행하는 특강이 있었는 데, 해당 글 젤 처음 적었던 그 강의이다. 현실적으로 신입 개발자가 취업하기위해 어떤 부분을 중점으로 공부하는 것이 좋을 지 많은 인사이트를 얻었다. 더불어 꾸준히 할 수 있다는 자신감 + 여태껏 끊기 있게 노력해왔던 내 자신을 믿고 앞으로 더 열심히하기로 다짐했다❗❗❗



마치며. . .

밀렸던 회고인 만큼 작성하는 데 오래걸렸다. 하지만 그만큼의 시간을 되돌아볼 수 있는 좋은 계기가 되었다. 간단하더라도 앞으로 꾸준히 TIL 를 올리고, 공부의 방향성도 다시 다잡아봐야겠다. 현재 공부하고 있는 Spring의 핵심적인 내용을 이해한 후에 다음달에는 개인 프로젝트를 진행해보는 것이 나의 목표이다. 이번달에 Spring 공부 및 진행 프로젝트를 미리 기획해보고, 알고리즘과 기타 다른 CS 공부도 꾸준히 해보려 한다.
그럼 화이팅💜💜💜

profile
imaginative and free developer. 백엔드 / UX / DATA / 기획에 관심있지만 고양이는 없는 예비 개발자👋

0개의 댓글