분류 전체보기(8)
-
2022 카카오 블라인드 채용 코딩테스트 후기
1차 코딩 테스트 지난 9월 11일에 카카오 코딩 테스트 1차가 있었다. 총 7문제가 나왔다. 난이도는 1번부터 시작해서 7번까지 단계별로 올라간 느낌이었다. 사실 나는 알고리즘을 많이 알고 있지 않고 준비한지는 어림잡아 2달 정도이기 때문에 복잡한 알고리즘을 구현하는 문제는 풀지 못한다. 나에게 있어서 카카오는 비교적 간단한 알고리즘과 손도 대지 못하는 문제로 완전 나뉘었다고 생각한다. 1 ~ 4번은 어느 정도 알고리즘을 준비했던 사람이라면 충분히 풀 수 있었던 문제라고 생각한다. 5 ~ 7번은 머리를 꽁꽁 싸맸지만 풀지 못했다. 6번의 경우에는 정확성은 정말 간단하게 통과할 수 있지만 효율성면에서는 다른 알고리즘이 필요했던 것 같다. 결론적으로는 4.5 솔을 했고 그 결과 합격통보가 왔다. 2차 코딩..
2021.10.16 -
Typescript + Express
기존에는 타입스크립트 없이 Express를 사용하다가 최근 회사의 모든 프로젝트가 타입스크립트로 넘어가는 시기였습니다. 타입스크립트의 서버 프레임워크로는 Nest.js를 채택해 사용을 했고 레거시를 옮기는 작업을 하는 도중 기존 운영 중인 레거시 서버에 기능을 추가해야하는 일이 발생했습니다. 바로 Nest.js로 서버를 만들어서 운영을 해도 되었으나 기존에 레거시에서 사용중인 데이터베이스 ORM인 Sequelize에 과도한 hooks가 몰려있어서 이 부분을 전부다 옮기지 않는 한 도입하기 쉽지 않았습니다. 해당 기능은 최대한 ASAP으로 추가를 해야만 했고 기존 Sequelize를 옮기기엔 시간이 부족하다고 생각이 되어서 이번 기능은 Express + Typescript로 추가하고 추후에 레거시 이전이 ..
2021.07.03 -
[Nest.js] 맨땅에 헤딩 - Blog API 제작기 6편
평소에 Nest.js관련 글에 API 만들기 관련된 포스트가 없어 직접 만들면서 공부하게 되었습니다. 해당 블로그는 공부를 남기기 위한 용도입니다. 피드백 부탁드립니다. 1. 로그인 서비스를 바꿔보자. 저번 시간에는 아주 간단한 서비스를 작성해 보았습니다. 이번 시간에는 쿠키를 활용해 로그인 기능을 구현해보도록 하겠습니다. async login(loginDto: LoginDTO) { try { const user = await this.user.findOne({ userId: loginDto.userId }); if (!user) { return { result: false, statusCode: HttpStatus.BAD_REQUEST, message: "유저가 존재하지 않습니다." }; } const..
2021.06.30 -
[Nest.js] 맨땅에 헤딩 - Blog API 제작기 5편
평소에 Nest.js관련 글에 API 만들기 관련된 포스트가 없어 직접 만들면서 공부하게 되었습니다. 해당 블로그는 공부를 남기기 위한 용도입니다. 피드백 부탁드립니다. 1. 데이터를 받아보자. 이전 시간에는 데이터베이스 연결과 실제로 Data를 데이터베이스에 직접 생성을 해보는 시간을 가졌습니다. 로그인을 하기 위해서는 우선 우리는 Client ( 유저 )에게 아이디와 패스워드를 받을 필요가 있습니다. Nest.js에서는 어떻게 데이터를 받는지 확인해보겠습니다. @Post() async login(@Body("userId") userId: string, @Body("password") password: string) { console.log(`userId is ${userId}`); console.lo..
2021.06.17 -
[Nest.js] 맨땅에 헤딩 - Blog API 제작기 4편
평소에 Nest.js관련 글에 API 만들기 관련된 포스트가 없어 직접 만들면서 공부하게 되었습니다. 해당 블로그는 공부를 남기기 위한 용도입니다. 피드백 부탁드립니다. 1. Entity를 만들어보자. 유저와 관련된 Entity를 만들어 보도록 하겠습니다. 우선 src/entites 폴더를 생성 후 user.entity.ts를 생성하겠습니다. import { Column, Entity, PrimaryGeneratedColumn } from "typeorm"; @Entity() export class User { @PrimaryGeneratedColumn("increment", { type: "bigint", unsigned: true, comment: "유저 유니크 아이디" }) userUid: numb..
2021.06.08 -
[Nest.js] 맨땅에 헤딩 - Blog API 제작기 3편
평소에 Nest.js관련 글에 API 만들기 관련된 포스트가 없어 직접 만들면서 공부하게 되었습니다. 해당 블로그는 공부를 남기기 위한 용도입니다. 피드백 부탁드립니다. 1. DOTENV를 생성하자. Database 연동에 앞서서 우리는 Database 연결에 필요한 정보들을 가지고 있을 필요가 있습니다. 우리는 코드를 깃으로 관리를 하고 깃허브를 통해서 저장을 하려고합니다. 하지만, 그렇게 된다면 Database에 대한 정보를 저장소에 올리게 되기때문에 보안이 좋지 않습니다. Private Repository라도 마음이 편하지가 않습니다. 그래서 우리는 이러한 크리틱한 정보들을 한 파일에서 관리를 하고 해당 파일은 저장소에 올리지 않은채 보관을 하고싶습니다. 그래서 우리는 dotenv라는 것을 사용하려..
2021.06.08