일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- puppeteer
- typescript
- dfs
- html
- 자료구조
- Spring
- MySQL
- Deep Dive
- LifeCycle
- JWT
- java
- 프로그래머스
- node.js
- OOP
- bean
- 인접행렬
- javascript
- 탐욕법
- Kubernetes
- 코딩테스트
- css
- 알고리즘
- 인접리스트
- nestjs
- REST API
- Interceptor
- Linux
- winston
- TIL
- GraphQL
- Today
- Total
목록TIL (28)
처음부터 차근차근
오늘 한 일 Chipi Backend CI 프로세스 정립 및 Github Action 설정 Spring 강의 진행 Chipi Backend CI 프로세스 정립 및 Github Action 설정 Backend CI 프로세스를 정립하게 위해 Github Action 설정을 진행했습니다. github 내 폴더가 push가 안된 상황이여서 에러가 발생하였으며, 이를 수정하였습니다. CI 프로세스 정립을 위해 Github Action 설정을 진행하다 에러를 마주쳤습니다. 먼저 jest.json의 설정은 { "moduleFileExtensions": ["js", "json", "ts"], "rootDir": "./unit", "testEnvironment": "node", "testRegex": ".spec.ts..
오늘 한 일 코딩테스트 3문제 진행 Spring 공부 진행 프로젝트 ERD, CodeConvention, GitFlow 선정 원티드 백엔드 챌린지 강의 수강 코딩테스트 3문제 진행 DP 사용법에 대하여 학습하였습니다. 너무 복잡하게 생각하기보다는, 단순하게 생각하고 코드를 짜면서 리펙토링 하는 것이 좀 더 좋아보입니다. 3문제를 풀면서, 어려운 문제와 쉬운 문제를 둘 다 풀었습니다. 프로그래머스 - 외계어 사전 문제를 풀면서 느낀 점은 간단한 문제였지만, 어떻게 하면 풀지 너무 생각이 잡혀 있어서 시간이 오래 걸림 실제로 구현한 다음에 리펙토링을 하여 좋은 코드로 문제 해결 또한 DP 사용법에 대해 익혔는데, 굉장히 도움이 되었다고 생각합니다. Spring 강의 진행 Spring에서 객체 지향을 어떻..
오늘 한 일 코딩테스트 코딩테스트 탐욕법 문제 정리 진행 탐욕법에 집중하다보니 자료구조나 알고리즘을 활용할 생각을 하지 못했다. 어려운 코딩 테스트 문제를 풀어보면서, "내가 공부해왔던 자료구조, 알고리즘을 잘 활용하지 못하는구나"를 느꼈습니다. 이를 위해 계속해서 코딩 테스트 문제를 풀 것이며, 문제를 읽고 어떠한 자료구조나 알고리즘 방법이 옳은지 생각하는 것이 필요하다고 느꼈습니다. 그리고 이번에 취업에 성공하였는데, 앞으로 더 좋은 Backend 개발자가 되기 위해서는 많이 노력해야 된다고 생각하였습니다.
오늘 한 일 Java 다형성, 추상 클래스, 인터페이스 공부 알고리즘 정렬 공부 진행 코딩테스트 내용 정리 Typescript Class 정리 진행 Java 다형성, 추상 클래스, 인터페이스 자바의 다형성과 abstract, interface에 대해 공부하였습니다. Typescript도 비슷하기 때문에 도움이 많이 되었습니다. 객체 지향적으로 어떻게 코드를 짜는지 도움이 되었습니다. 항상 프로젝트를 진행하다가 implements 나, Class 앞에 붇어있는 abstract, 그리고 static에 대해서 몰라서 뭔지 모르겠다~ 하고 넘겼는데, 이번에는 제대로 공부한 것 같습니다. NestJS, 그리고 다른 외부 라이브러리 또한 Class 형태로 구성되어 있는 경우가 많은데, 상속이나 구현을 많이 사용합..
오늘 한 일 Java 강의 진행 버블 정렬, 삽입 정렬, 선택 정렬 공부 코딩테스트 문제 풀이 진행 Java 강의 진행 영한좌.. 그는 빛인가.. Java에 대해서 공부하지만, OOP까지 같이 공부하는 좋은 강의입니다. 김영한의 실전 자바 강의를 들으면서, "아 내가 백엔드 서버를 만들 때, 프레임워크 틀만 맞춰서 구현했구나.."라고 느꼈습니다. OOP를 사용하고 있는데, 어떻게 해야 효율적으로 작성할 수 있는지.. 강의를 통해 조금씩 알아갈 수 있었습니다. (간단한 예시로, Method를 분류해서 확장성 있게 설계하고, 접근 제어자 등을 사용해서 캡슐화를 한다던가..) 정렬 관련 공부 진행 간단한 정렬 방법에 대해서 공부하였습니다. 그러나 실제로 이 방법들은 잘 사용되지 않는다는 단점..! 왜 정..
오늘 한 일 Javascript Promise, async/await Spring 입문 공부 Spring 입문 공부 Spring 입문을 통해 스프링 빈과 의존 관계를 좀 더 배울 수 있었습니다. 김영한님의 강의를 듣다보니, 싱글톤에 대한 이해를 조금 더 쉽게 이해할 수 있었습니다. 뭔가 재밌다..? 스프링 공부를 하니 뭔가 새로운 기술을 배우는 것 같아 재밌었습니다. (또한, 스프링이 부러운 이유 중 하나가 김영한님이 있다는 것..?) 회원 관리 Backend 부분에서 Test 코드를 작성하는 부분이 있었습니다. 이때 Test간 서로 독립된 환경에서 진행해야 한다는 내용을 학습할 수 있었고, 그 때 싱글톤 이야기가 나왔습니다. Spring이나 Nest 둘 다 왠만하면 싱글톤 디자인 패턴을 사용합니다. 즉..
오늘 한 일 이진 탐색 트리 구현 이진 탐색 트리 구현 완전 이진 트리 및 이진 탐색 트리를 구현하였습니다. 현재 간단한 구현만 진행하였으며, 추가적인 연습이 필요할 것 같습니다. 저번 김영한님의 Java강의를 들을 때, 적당한 제약이 있어야 코딩하기가 조금 더 수월하다는 말을 들었습니다. 처음 들었을 때는 왜..? 라는 의문이 들었지만 여러가지 자료구조를 작성하면서 느낀 점으로는 무엇을 위해 해당 자료구조를 사용하고, 어떻게 알고리즘을 풀 것인가? 가 가장 중요하게 느껴졌습니다. 어떠한 것을 위해 이 자료구조를 사용하고, 제약은 어떤것인지 파악하는 것이 중요하다고 느껴진 시간이였습니다.
오늘 한 일 Java 공부 진행 Set과 Map 정리 진행 Java 공부 과제 전형 진행 관련 Java 공부를 진행하였습니다. Java의 특징, 소스코드 분석을 하였습니다. Class 기반 객체 지향 프로그래밍 언어입니다. Class 기반 객체지향 언어라는 특징과, JVM을 이용해 다양한 OS에도 지원 가능하다는 특징이 있었습니다. 나머지 문법(변수, 연산자 등)은 거의 Javascript와 비슷하였습니다. Map과 Set에 대해 정리 Deep Dive를 통해 Map과 Set에 대해 정리하였습니다. Set은 수학적 구조인 집합을 나타내기 위해서 사용합니다. Map은 Object와 비슷하지만, 다른점이 많이 존재합니다. 저번 TIL에서도 적어놨듯이, Set과 Map은 Hash Table을 사용하기 때문..
오늘 한 일 코딩 과제 진행 중 Map을 활용한 성능 개선 Cache를 활용하여 Rate Limit 구현 Map을 활용한 성능 개선 Javascript Data Type 중 하나인 Map을 이용한 성능 개선 진행 Map은 Key-Value 형태로 이루어진 자료구조이다. Map의 특징 중 하나는, 해시 테이블 알고리즘을 통해 구현한다는 점이다. Javascript의 데이터 타입 중 하나인 Map을 활용하여 성능 개선을 진행했습니다. 코딩 과제의 목표는 크롤링한 데이터의 상품 카테고리 매칭 혹은 단어 치환입니다. 카테고리 혹은 단어 치환 List를 Map을 통해 성능 개선하였는데, 이때 Map은 해시 테이블 알고리즘으로 구현되어 있어서 어떤 데이터를 참조할 경우 시간복잡도가 O(1)이라는 것입니다. //..
오늘 한 일 Node.js란 무엇인지 알아보는 내용 정리 동기/비동기 & Blocking/Non-Blocking Node.js란? Node.js가 베이스인 프레임워크를 사용하였지만, 정작 Node.js가 무엇인지 정리하지 않았습니다. 실제로 사용해보고 다시 공부하니, 내용이 머리속에 잘 박히는 느낌?! Node.js는 V8 Javascript engine에서 동작하는 Javascript 런타임 환경입니다. 항상 NestJS, Express를 사용하면서, Node.js의 장점을 모르고 백엔드 설계를 진행한 것 같았습니다. 이번 Node.js 정리를 통해 여러가지 장점을 알게 되었으며, Node.js에 어울리지 않는 웹서비스도 파악하였습니다. 또한, 이를 통해 다른 언어의 프레임워크 (Java의 Spri..