본문 바로가기

전체 글258

[책] 주니어개발자가 읽어 본 소프트웨어 아키텍처 101 회사 상사분과 대화를 나누며 책 이야기가 나왔을 때 개발자로서의 가이드라인을 제시해주신 적이 있다. 지금은 입사 초반이므로 객체지향 언어에 대한 대한 서적을 먼저 필독이라고 알려주셨고, 그다음으로는 알고리즘 혹은 디자인 패턴에 대해 공부하라고 알려주셨다. 그 뒤에 5년 정도의 경력이 쌓인 후 아키텍처에 대해서 공부해보면 좋을 거라고 하셨다. 개발 관련 문서나 블로그 등을 읽다 보면 아키텍처, 아키텍트라는 단어가 자주 보이곤 하지만 그 뜻을 정확하게 이해하고 있진 않았다. 그러다가 만나게 된 소프트웨어 아키텍처 101이라는 책. 아직 개발 실무 경험도 많지 않고 여러모로 공부하는 단계여서 아직 읽기는 이를 수도 있다고 생각했지만 모르는 분야이지만 언젠가 공부해야 한다면 미리 읽고 용어들에 익숙해져 두는 것.. 2022. 3. 28.
실용주의 프로그래머 Assignment #08 - 5장. 구부러지거나 부러지거나 오늘 TIL 3줄 요약 결합도 줄이기 설정데이터 - 정적 설정, 서비스형 설정 이벤트 TIL (Today I Learned) 날짜 2022.03.26 오늘 읽은 범위 5장. 구부러지거나 부러지거나 책에서 기억하고 싶은 내용을 써보세요. 결합도 줄이기 가능한 한 느슨하고 유연한 코드를 작성해야한다. 그렇지 않으면 코드는 금세 낡고 수정하기 어려워지고, 결국 기억 저편으로 사라질 것이다. 유연함을 유지하는 한 가지 좋은 방법은 물론 가능한 한 코드를 적게 작성하는 것이다. 코드 수정은 새로운 버그가 생기는 계기이기도하다. 높은 결합도는 변경의 적이다. 결합도가 낮은 코드가 바꾸기 쉽다. 소프트웨어 구조는 유연해야한다. 다음과 같은 결합의 증상을 놓치지 않도록 주의해라 개발자가 수정하는 부분이 시스템에 어떤 .. 2022. 3. 27.
실용주의 프로그래머 Assignment #06 - 4장. 실용주의 편집증 오늘 TIL 3줄 요약 완벽한 소프트웨어를 만드는 것은 불가능하다. "그런 일은 절대 일어날리 없다"는 없다. 작은 단계를 밟아라. 언제나. TIL (Today I Learned) 날짜 2022년 3월 24일 오늘 읽은 범위 4장. 실용주의 편집증 책에서 기억하고 싶은 내용을 써보세요. 여러분은 완벽한 소프트웨어를 만들 수 없다. 삶의 공리로 인정하고 받아들여라. 그리고 축하하라. 완벽한 소프트웨어는 존재하지 않기 때문이다. 그리 길지 않은 컴퓨터 역사를 통틀어 어느 누구도 완벽한 소프트웨어를 만들지 못했다. (중략) 그래봐야 일관성을 확인하고 데이터베이스 칼럼에 제약을 거는 정도로 뿌듯해 하는 경우가 대부분이다. 모든 프로그래머가 자기 경력을 쌓는 초기부터 암기해야 하는 계명이 있는것 같다. 요구사항,.. 2022. 3. 24.
실용주의 프로그래머 Assignment #05 - 3장. 기본도구 오늘 TIL 3줄 요약 도구 사용법에 익숙해져라 버전관리를 하라 일지를 써라 TIL (Today I Learned) 날짜 2022.03.23 오늘 읽은 범위 3장. 기본도구 책에서 기억하고 싶은 내용을 써보세요. 도구는 여러분의 재능을 증폭한다. 도구가 더 훌륭하고 여러분이 더 사용법에 능숙해질수록 여러분의 생산성은 더 높아질 것이다. 마우스나 트랙패드를 치워라 프로젝트 허브로서의 버전관리 디버깅은 단지 문제풀이일 뿐이라는 사실을 받아들이고, 그런 마음으로 공략하라. 비난 대신 문제를 해결하라 경계조건과 실제 최종사용자의 패턴 모두를 철저히 테스트 해야한다. 엔지니어링 일지 - 기억보다 더 믿을 만하다. 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요 오늘은 다양한 도구에 대한 이야기였다. 이미 내.. 2022. 3. 24.
실용주의 프로그래머 Assignment #03 - 2장.실용주의 접근법 오늘 TIL 3줄 요약 ETC 원칙 - 바꾸기 더 쉽게 다른 사람의 소스 코드와 문서 읽고 배우고, 기억하기 높은 응집도와 낮은 결합도 TIL (Today I Learned) 날짜 2022. 03. 20 오늘 읽은 범위 2장. 실용주의 접근법 책에서 기억하고 싶은 내용을 써보세요. ETC원칙 - 바꾸기 더 쉽게 왜 결합도를 줄이면 좋은가? 관심사를 분리함으로써 각각이 더 바꾸기 쉬워지기 때문이다. 왜 단일 책임 원칙이 유용한가? 요구사항이 바뀌더라도 모듈 하나만 바꿔서 반영 할 수 있기 때문이다. 왜 이름 짓기가 중요한가? 이름이 좋으면 코드가 읽기 쉬워지고, 코드를 바꾸려면 코드를 읽어야 하기 때문이다. ETC는 규칙이 아닌 가치이다. 파일을 저장할때, 테스트를 쓸때, 버그를 수정할 때도 '바꾸기 더 .. 2022. 3. 21.
실용주의 프로그래머 Assignment #02 - 1장.실용주의 철학 오늘 TIL 3줄 요약 깨진 창문은 바로 수리하자 현재 상황이 마음에 들지 않는다면, 나는 상황을 바꿀 수 있다. 성장하고자 하기 TIL (Today I Learned) 날짜 2022. 03. 19 오늘 읽은 범위 1장. 실용주의 철학 책에서 기억하고 싶은 내용을 써보세요. 많은 개발자들이 불만에 가득 차있다. 그 종류는 다양해서, 누군가는 자신의 성과를 몰라준다고, 월급이 너무 적다고, 팀 분위기가 좋지 않다고, 재택근무를 하고 싶어하기도 한다. 변화를 기피하는 개발자들이 많다. 스스로의 행동을 직접 결정 할 수 있는 힘이 있고, 내가 내 조직을 바꿀 수 있다.(이직을 하거나, 현재 조직을 변화 시킨다는 두가지 의미로) 팀 내의 신뢰가 절대적으로 필요하다. 나도 편하게 말할 수 있어야 하고, 다른 팀원.. 2022. 3. 20.
실용주의 프로그래머 Assignment #01 - 책 인증 21일간 매일 기록남기기 2022. 3. 18.
[NestJS] 프로젝트 시작 // 설치 npm i -g @nestjs/cli npm install --save @nestjs/mongoose mongoose npm i --save @nestjs/config npm i --save class-validator class-transformer // nest new project-name // 첫단계 nest g mo cats // cats라는 모듈 생성 controllers : [CatsController]를 추가하고 아래코드 실행 nest g co cats // cats 컨트롤러 생성 nest g service cats // cats 서비스 생성 nest g middleware // middleware 생성 @Module({ controllers : [CatsController], .. 2022. 2. 20.
[추천]소프트 스킬 : 평범한 개발자의 비범한 인생 전략 71가지 소프트 스킬 : 평범한 개발자의 비범한 인생 전략 71가지 취업의 관문은 기술력으로 통과했다. 인생의 관문은 어떻게 통과할까? 1. 코드밖에 만질 줄 모르는 팀원인가?혼자 일하는 개발자의 시대는 지났다. 팀으로 일하고, 다른 팀과 협업하며 일하는 시 ridibooks.com 리디북스에서 읽을만한 책이 없나 보던 중 작품 소개 내용이 마음에 와닿아서 구매해서 읽는 중이다. (633페이지 중 350페이지가량 읽었으므로 현재 진행형) 먼저, 작품 소개의 내용이 다음과 같다. 혼자 공부하는 개발자의 시대는 지났다. 다른 팀과 협업하며 일하는 시대다. 의사소통 기술부터 갈등을 조절하고 협상을 이끌어 내는 커뮤니케이션 능력이 중요하다. 전문가란 코드는 기본이고 의사소통, 팀워크, 문제 해결 능력을 갖춘 사람이다. .. 2022. 2. 16.
MSSQL 날짜 포맷 세팅 계약종료일 당일에 로그인이 되지 않는 이슈가 발생했다. 원인은 참 간단하다. 계약 종료일 컬럼의 날짜 포맷이 0시 00분으로 되어있었기 때문. 그 날 0시 1분 이후로는 로그인이 안되는게 당연하다. 코드를 수정함에 있어 방법은 두가지 정도가 있었다. 1. 계정 정보를 조회하는 쿼리문의 조회 조건 중 계약종료일 > 오늘 이던 코드를 계약종료일 >= 오늘 로 변경하는 방법. 2. DB상의 계약종료일 날짜 포맷을 0시 00분에서 23시 59분으로 변경하는 방법 && 앞으로 insert, update 되는 계약종료일을 23시 59분으로 설정하여 입력할 것. 간단한 방법으로는 1번 방법으로 문자 하나만 추가해주면 되지만 추후 어떤 문제를 또 야기시킬지 모르는 상황이니 2번 방법으로 진행하기로 했다. 2022년 2.. 2022. 2. 16.
[책] 무던한 개발자를 위한 모던한 자바스크립트 - 카이호스트만 저 최근 이직한 직장에서도 Vue.js를 사용하고 있고, 개인적으로 진행하는 프로젝트에서도 Nuxt.js와 node.js를 사용하게 되어서 JavaScript에 대한 심도 있는 공부가 필요하다고 느껴지던 참에 이 책을 만났다. 무던한 개발자를 위한 모던한 자바스크립트 라임 좋고~ 평소 전자책을 선호하긴 하지만 아무래도 개발 관련 도서들은 pdf로만 지원이 돼서 종이책으로 읽게 된다. 그래도 애용하는 리디북스 링크를 남겨본다. 무던한 개발자를 위한 모던한 자바스크립트 자바스크립트는 배우고 싶은데 시간이 없다면?최신 자바스크립트를 습득하는 가장 쉽고 빠른 방법 자바스크립트 ES6 이상에 대응하는 완벽하고도 간결한 최신 자바스크립트 안내서다. 자바, C#, ridibooks.com 여타 언어들과 마찬가지로 초반부.. 2022. 2. 9.
[Nuxt.js] 학습정리 Nuxt ? 파일 기반의 자동 라우팅 생성이 넉스트의 특징. - 디렉터리 구조 설명 [pages] pages 내부에 생성한 main.vue 페이지는 localhost:3000/main 으로 바로 접근이 가능하다. 폴더나 vue파일을 생성하고 서버를 실행하면 .nuxt/router.js 에서 해당 이름들을 확인 할 수 있다. [layouts] error 페이지는 layouts/error.vue 로 작성하면 자동으로 인식해서 존재하지 않는 경로를 요청 할 경우 자동으로 페이지를 넘겨준다. default.vue 공통된 UI들을 보여주고 싶을 때 사용한다. 헤더, 푸터 등 헤더에서 메뉴를 보여주고싶을때 vue에서는 를 사용했지만 nuxt에서는 홈페이지 로 변경하여 사용해준다. 는 는 nuxt에서 REST API.. 2022. 2. 1.
[ESlint] 유용한 ESlint 모음 순서 정렬 해주는 규칙 (ex. asyncData 는 data 위에 위치한다.) { "vue/order-in-components": ["error", { "order": [ "el", "name", "key", "parent", "functional", ["delimiters", "comments"], ["components", "directives", "filters"], "extends", "mixins", ["provide", "inject"], "ROUTER_GUARDS", "layout", "middleware", "validate", "scrollToTop", "transition", "loading", "inheritAttrs", "model", ["props", "propsData"], ".. 2022. 2. 1.
반응형