본문 바로가기
반응형

전체 글45

[도서] 프로그램 프로그래밍 프로그래머 시리즈 순서!! / Program Programming Programmer 구글링이나 네이버에 검색을 해도 시리즈의 순서가 정리된 글이 없어서 직접 작성해 봅니다. 개발자에게 너무 좋은 책들이라서 기록해뒀다가 한 권씩 읽어보세요. 프로그램 프로그래밍 프로그래머 시리즈 (총 12권) 1. 생각하는 프로그래밍, 존 벤틀리 3. 컴퓨터 프로그램의 구조와 해석, 해럴드 애빌슨, 제럴드 제이 서스먼, 줄리 서스먼 4. 테스트 주도 개발, 켄트 벡 5, 프로그래밍 심리학, 제럴드 M. 와인버그 6. CODE - 하드웨어와 소프트웨어에 숨어있는 언어, 찰스 펫졸드 7. 클린 코드 - 애자일 소프트웨어 장인 정신, 로버트 C. 마틴 8. 피플웨어, 톰 드마르코, 티모시 리스터 9. 맨먼스 미신, 프레더릭 브룩스 11. 클린 아키텍처 - 소프트웨어 구조와 설계의 원칙, 로머트 C. 마틴 12... 2023. 1. 10.
[클린코드 리뷰] 5. TDD, 테스트 코드를 깨끗하게 유지하자. 작은 회사는 TDD(Test Driven Development / 테스트 주도 개발)를 못한다. 그 회사들 중 절반은 TDD가 뭔지도 모를 것이고, 나머지 절반은 알아도 여력이 없어서 못한다고 말하리라. 하지만 여력이 없다는 핑계로 테스트케이스를 만들지 않은 대가는 결국 부메랑처럼 돌아온다. 그 시스템의 수정은 항상 불안하며 버그를 발생하게 한다. 나 역시 그랬다. 예를들어 기존의 입력폼에 간단한 항목 하나를 추가한다고 해보자. 뷰페이지와 데이터베이스에 추가하는 건 간단하다. 그리고 생각한다. '사용자 정보가 노출되는 페이지, 마이페이지, 관리자 페이지의 목록들과 팝업창, 그리고 어떤 함수에 들어가서 계산이 되는 곳, 혹은 통계페이지, 혹은 리포트, 그리고 엑셀, 워드 등등.. 오케이 다 추가했다!!' .. 2022. 12. 31.
NodeJS를 이용한 채팅서버 구축 하기(express, Socket.io, Redis) -1- 준비물 윈도우 환경입니다. VSCode, nodeJS, git 설치해주세요. 모두 현시점의 최신버전으로 설치하시면 됩니다. 1. 파일 > 폴더열기 > 프로젝트 폴더 설정 (저는 NEWCHAT 으로 했습니다.) 2. 터미널 > 새 터미널 (하단에 터미널이 열립니다.) 3. 아래 코드 입력하여 GIT CLONE * 혹시 VSC터미널에서 GIT이 동작하지 않는경우, VSC를 재시작하거나 그냥 CMD에서 하시면됌 git clone https://github.com/socketio/socket.io 4. vsc터미널의 newchat 폴더에서 아래코드 입력하여 설치진행 (폴더선택은 tab키 누르면 편함) cd socket.io npm install 5. socket.io의 chat폴더로 이동하여 한번 더 설치 cd.. 2022. 12. 29.
낡은 자바스크립트 작성 습관, 이젠 바뀌어야겠지 이 글은 프론트엔드 엔지니어인 Freddy Manrique라는 분이 작성한 글을 -> 요즘IT와 Mr.P라는 번역가가 해석 및 정리한 컨텐츠를-> 제가 다시 정리하며 곱씹어 보는 글 입니다. '내가, 나에게' 말하는 느낌이니 편하게 작성하겠습니다. 원본(Freddy Manrique) : https://medium.com/gogrow/say-bye-bye-to-bad-javascript-practices-5971688ba80a 요즘 IT : https://yozm.wishket.com/magazine/detail/1836 1) var는 이제 버리자. let, const로 더욱 명확하게. // 나쁜코드 With var var name = 'GoGrow' if( name === 'GoGrow' ) { var .. 2022. 12. 25.
[클린코드 리뷰] 4. 절차적인 코드와 객체지향 코드 1. 절차적인 도형 public class Square { public Point topLeft; public double side; } public class Rectangle { public Point topLeft; public double height; public double width; } public class Circle { public Point center; public double radius; } public class Geometry { public final double PI = 3.141592653589793; public double area(Object shape) throws NoSuchShapeException { if (shape instanceof Square) { .. 2022. 11. 26.
[클린코드 리뷰] 3. 나쁜 코드에 주석을 달지 마라. 새로 짜라. 1. 주석은 나쁜 코드를 보완하지 못한다. 주석은 '순수하게 선하지' 못하다. 사실상 주석은 기껏해야 필요악이다. 우리는 코드로 의도를 표현하지 못해, 그러니까 실패를 만회하기 위해 주석을 사용한다. 여기서 내가 실패라는 단어를 썼다는 사실에 주목한다. 진심이다. 주석은 언제나 실패를 의미한다. 때때로 주석 없이는 자신을 표현할 방법을 찾지 못해 할 수 없이 주석을 사용한다. 그러므로 주석이 필요한 상황에 처하면 곰곰이 생각하기 바란다. 상황을 역전해 코드로 의도를 표현할 방법은 없을까? 코드로 의도를 표현할 때마다 스스로 칭찬해준다. 주석을 달 때마다 자신에게 표현력이 없다는 사실을 푸념해야 마땅하다. 내가 이렇듯 주석을 무시하는 이유가 무엇이냐고? 거짓말을 하니까. 항상도 아니고 고의도 아니지만 너무.. 2022. 11. 17.