본문 바로가기

분류 전체보기220

데이터베이스에 중복 생성이 되지 않게 하는 방법은? 문제 상황 기술 면접 중, 동시성 문제와 관련해서 내가 짠 로직으로는 아이디가 중복 생성이 가능해보인다 라는 피드백을 받았다. 코드를 작성할 때는 몰랐지만, 막상 면접에서 보니 그럴만 하다는 생각이 들었다. (해당 코드는 맨 아래에 첨부하겠습니다) 그래서 이걸 어떻게 하면 중복 생성을 막을 수 있을까 여쭤보셨고 난 다음과 같이 말씀드렸다. 음~ 테이블에서 계정명을 기준으로 SELECT하는 부분부터 생성하는 부분까지 하나의 트랜잭션으로 묶어서 관리하면 될 것 같습니다! ㅎㅎ 그런데 SELECT하는 쿼리는 LOCK이 안 걸리니, PK같은 거로 설정하면 어떨까 말씀해주셨다. 그 당시에는 ㅇㅈ. 하고 넘어갔지만 곰곰히 생각해보니 "보통 VARCHAR로 PK를 하나? UNIQUE가 낫지 않나?" 라는 의문이 들었.. 2022. 9. 20.
좋은 개발자에 대한 영상, 책 요약 (나는 어떻게 해야할까?) 입사를 앞두고, 유튜브와 책을 읽으면서 어떻게 일해야 할지 고민했습니다. 그래서 유튜브의 유명한 분들이 만든 영상과 이라는 책을 참고, 요약해보았습니다. 이는 모두 제 개인적으로 중요하다고 적어놓은 것을 제멋대로 짜집기 한 것이니, 직접 보시는 것도 추천드립니다. 유튜브 영상들 괜찮은 프로그래머가 될 사람은 이미 정해져 있다. (링크) 괜찮은 프로그래머란, 난이도 상관없이 기한에 맞춰 잘 마무리하는 사람 잘하는 놈은 첨부터 잘한다. 처음부터 많은 지식을 갖고 있거나 지식 습득을 위한 좋은 습관과 태도를 가지고 있거나 좋은 태도란 모르는 게 와도 절대 포기하지 않고 일의 본질, 의도를 파악해 그에 맞는 결과를 만들어내고 엄청난 성장의지를 가지고 있으며 성실 or 똑똑 최소 한가지를 갖고 있고 습득한 지식을.. 2022. 9. 16.
정글 수료 그 후, 무엇을 할까? 2곳의 기술면접을 보고... 수료 후, 약간 방황하다 벌써 두 곳의 기술면접을 보았다. 수료하고 지금까지 머릿 속에 항상 들어있던 질문은 "모르는 건 많은데 다 공부할 수는 없는 노릇이고, 뭘 하면 좋을까?" 였다. 운영체제도 공부하고 네트워크도 공부하고 데이터베이스도 공부하고,,, 라고 생각했기 때문이다. 하나씩만 해도 범위가 굉장히 넓은데 그 안에서 무엇을 공부할 지 구체적으로 생각하지 않았던 것이다. 그래도 면접 내용을 복기하면서 내가 각 챕터에서 어떤 부분을 공부할지에 대해 알게된 것 같다. 그래서 앞으로 할 일은? 1. 프로젝트 수정 보완 현재 네모는 앱이 없으면 테스트하기가 힘든 상황이기 때문에, react까지는 안 가더라도 간단하게 볼 수 있는 반응형 웹을 추가하면 좋을 것 같다. 근데 그건.. 2022. 8. 26.
supertest에서 multipart/form-data로 파일 post하는 법, timeout 에러 해결하기 describe('/api/card에서는 ', () => { /* 명함 생성 테스트 */ test( 'POST /create 성공 시 201', done => { request(app) .post('/api/card/create') .set('Content-Type', 'multipart/form-data') .attach('image', './tests/dummy.png') .field('user_id', '9999') .field('nickname', '테스트닉네임') .expect(201) .end(() => { done(); }); }, TIMELIMIT, ); 위와 같이 헤더에서 Content-Type을 명시하고, 첨부파일-attach, 일반 텍스트-field로 form의 내용을 채울 수 있다... 2022. 7. 24.