프로그래밍 37

노마드 개발자 북클럽 (클린코드: 추천사 ~ 1장. 깨끗한 코드)

책에서 기억하고 싶은 내용. 시간을 들여 깨끗한 코드를 만드는 노력이 비용을 절감하는 방법일 뿐만 아니라 전문가로서 살아남는 길이라는 사실을 인정하리라 (p.6) 나쁜 코드의 위험을 이해하지 못하는 관리자 말을 그대로 따르는 행동은 전문가답지 못하다. (p.3) 기한을 맞추는 유일한 방법은, 그러니까 빨리 가는 유일한 방법은, 언제나 코드를 최대한 깨끗하게 유지하는 습관이다. (p.7) 논리가 간단해야 버그가 숨어들지 못한다. 의존성을 최대한 줄여야 유지보수가 쉬워진다. (p.9) 중복을 피하라. 한 기능만 수행하라. 제대로 표현하라. 작게 추상화 하라. (p.14) 새 코드를 짜면서 우리는 끊임없이 기존 코드를 읽는다. 비율이 이렇게 높으므로 읽기 쉬운 코드가 매우 중요하다. (p.18) 보이스카우트 ..

최고의 프로그래밍 언어는 영어다.

프로그래밍 언어에는 java, python, javascript, c, ruby 등 여러가지 언어가 있다. 이중에 최고의 언어가 무엇이냐는 글이 가끔 눈에 띄는데, 순위를 가르는 것 자체가 무의미하다고 생각한다. 하지만 영어만큼은 부동의 1위라는 것을 모든 개발자들은 인정할 것이다. 영어가 최고의 언어라는 것을 오래전부터 알고 있었지만, 그럼에도 불구하고 깔짝깔짝 공부한 것 제외하고는 제대로 해본적이 없다. 생각해보니 이보다 한심한 행동이 있을까싶다. 최근 일본인 의류쇼핑몰 사업가 누님을 알게됐다. 그분과 영상통화로 잔깐 대화를 했는데, 일본사람인데 영어를 무척이나 잘했다. 한국어도 조금은 할줄 아셨는데 공부중이라고 했다. 솔직히 엄청 놀랐다. 나는 영어도 제대로 못하니까. ㅠㅠ그에 반해 나는 일본어는 ..

생각정리/회고 2024.01.12

인텔리제이로 전자정부프레임워크 적용 도전

인텔리제이가 이클립스보다 생산성이 좋다고 생각하기때문에 3시간정도 인텔리제이로 전자정부프레임워크 적용을 시도했다. 하지만 처참하게 실패. 특정 전자정부 메이븐 디펜던시를 호출하지 못하고 있다. 이유를 모르겠지만 약간의 야근과 함께 구글링을 해보니 전자정부프레임워크 공식홈페이지에 인텔리제이 적용가이드가 있었다. 일단 이클립스와 인텔리제이는 의미는 같지만 명칭을 다르게 쓰는 용어가 있어서 이 부분을 인지해야했다. 이클립스: 워크스페이스 > 프로젝트 인텔리제이:프로젝트 > 모듈 대충 이런 개념이다. 그래서 전자정부프레임워크를 적용한 프로젝트를 만들고 해당 모듈을 적용해야 한다. 내일은 좀 일찍 출근해서 가이드대로 다시 도전해보고 오전내로 성공하지 못하면 이클립스로 진행해야겠다.

효율적인 프로그래밍 공부방법 5단계

1. 강의나 책을 보면서 남들이 작성한 코드를 그대로 따라 작성하자. (일단 돌아가게 만들자) 2. 강의나 책이 없어도 스스로 만들 수 있게 나만의 설명서를 남기자. 3. 중간에 에러나 버그를 만나, 삽질하게 된다면 그 에러의 원인, 상황, 어떻게 해결했는지를 기록하자. 4. 배운 기술을 써먹을 수 있을만한 프로젝트를 진행하자. 5. 내가 배운 기술들의 원리에 초점을 맞춰서 깊이 있는 학습을 진행하자. 유튜브 JSCODE 박재성 님의 내용을 참조하였습니다. https://www.youtube.com/watch?v=moeDDhqW5z0

주니어 개발자가 성장을 위해 반드시 해야 하는 것

장용규 테크리더님의 세미나를 듣고 배운 지식을 바로 실행해 옮겼다. 글을 쓰고보니 생각정리가 되는 것이 확실히 느껴진다. 매일 이 글을 보고 하루를 시작해야겠다. 제로베이스 프로2기 테크리더 라이브 특강 내용정리 강의자: 장용규 테크리더님 이력(요약): 현) 현대에이치티 기술연구소 IoT플랫폼실 수석연구원) 전) 마켓컬리 물류개발팀 팀장 마인드 꾸준한 이력관리, 그리고 도전실행 달성가능한 현실적인 목표 무엇보다 업(JOB)에 대한 전문성과 애정을 유지하기위해 노력해야한다. 전환점 SI에서 서비스 업계로의 전환 - 의식(시야)의 전환 유니콘기업경험 - 폭발적성장과 한계 후회, 성급했던것 늦은 도전 스타트업, 또 스타트업 개발자는, 공부, 탐구하는 것을 싫어하지(싫증내지) 않고 지식으로 결과물을 만드는데 자..

[vscode] 단축키 모음

VSCode 단축키 Ctrl(Command)+D: 같은 문자열 선택 Shift+Alt(Option)+i: 선택한 모든 문자열에 가장 우측 끝으로 포커싱 Ctrl(Command)+Shift+오른쪽 화살표: 현재 선택한 문자열을 기준으로 우측 끝까지 문자열 선택 노마드코더 코딩 인생 꿀템 VSC 단축키 5분 정리해드림 https://www.youtube.com/watch?v=Wn7j5dfbJF4 JSON데이터를 타입스크립트 타입으로 빠르게 변환시켜주는 사이트 https://app.quicktype.io/?l=ts

[nodejs] 비밀번호 해시 bcrypt.hash, 테이블 참조 populate

노마드코더 유튜브 클론코딩 #8.14 Bugfix 공부내용 정리 비디오 업로드시 유저비밀번호를 해시하던 현상 수정 유저가 비밀번호 변경시에만 해시되도록 수정 == isModified("password") userSchema.pre("save", async function () { if (this.isModified("password")) { this.password = await bcrypt.hash(this.password, 5); } }) 비디오 수정,삭제시 비디오 소유권자만 작업할 수 있도록 기능추가 story.owner의 타입은 object이고 _id의 타입은 String이므로 ' !== ' 연산자로 비교가 불가능하기 때문에 String으로 형변환을 해줘야한다. const { user: { _id..

IT 5분 잡학사전 Final (SMART 방법론)

SMART 방법론 Specific(구체적) Measurable(측정 가능한) Achievable(달성 가능한) Realistic(현실적) Time-bound(기한이 있는) Object(목표) Today I Learned 블로그를 성장시키자. Activities(구체적인 활동) 1주일에 하나씩 블로그에 전문성을 띠는 칼럼쓰기 Time Schedule(상세한 계획) 매일 공부하며 메모했던 내용들을 수집한다. 수집한 내용들을 기반으로 글을 쓴다. 작성된 글을 다듬어서 칼럼을 완성한다.