상황 다음과 같이 상품(Product)을 나타내는 클래스가 있다. 그런데 Long.valueOf() 메서드를 저렇게 사용하는건 불필요하고 번거로워 보인다. 3. 그냥 Primitive 타입을 사용한다. Product 클래스의 price 속성이 꼭 null을 허용할 수 있는 Wrapper타입 Long이어야 할까? 상품의 가격이 null이라는건 어떤 의...
OOP(Object Oriented Programming, 객체 지향 프로그래밍)란? 객체지향 프로그래밍이란 컴퓨터 프로그램을 명령어의 집합으로 보는 시각에서 벗어나, 여러개의 독립된 단위인 ‘객체' 들의 모임으로 보는 하나의 프로그래밍 패러다임이다. 객체지향과 비교되는 패러다임으로 절차지향(Procedural) 프로그래밍이 있다. 절차지향 프로그래밍은 ...
Javascript Runtime & Node.js 런타임이란 우리가 만든 코드가 실행되는 환경을 말한다. 다시 말해서, “어떤 프로그래밍 언어가 동작할 수 있는 프로그램" 이다. 자바스크립트로 만든 코드가 웹에서 돌아간다면, 이때 런타임은 브라우저다. Node.js도 마찬가지로 자바스크립트가 실행될 수 있는 런타임이다. 우리는 Node.js 덕분에 자바스...
2장 의미있는 이름 의도를 분명히 밝혀라 이름을 지을 때 답해야하는 질문들 - 변수의 존재 이유는? - 수행 기능은? - 사용 방법은? 주석이 필요한 코드는 코드에 의도를 분명히 드러내지 못한 코드다. 위의 코드보다 아래 코드가 더 좋다. 생성자 사용을 제한하려면 해당 생성자를 private으로 선언해줘야 한다. 기발한 이름은 피해라. 특...
객체 지향 프로그래밍(OOP)이란? 객체 지향 프로그래밍(이하 OOP)는 컴퓨터 프로그램을 “객체(Object)"들의 모임으로 파악하고자 하는 프로그래밍의 패러다임 중에 하나이다. 각 “객체(Object)" 들은 서로 메시지를 주고 받을 수 있으며 데이터를 처리할 수 있다. 객체 지향 프로그래밍(OOP)의 장점은 - 프로그램을 유연하고 변경이 용...
Velog에 글을 작성하게 된 배경 여느때와 같이 구글에서 평소에 궁금하거나 처음보는 용어들을 검색하면서 다른 사람들의 글을 읽고 내심 '대단하다'라고 생각만했던 내가 이번 기회에 velog에 글을 정리 하기로 결정했다. 평소 백엔드 프로그래밍에 관심이 많았기에 여느 때와 같이 구글에서 생각나는 키워드로 검색을 하던 중, velog포스트 내에서 백엔드 관련...
이 글은 Martin Tournoij의 글 Easy means easy to debug를 번역한 글입니다. 다수의 의역이 포함되어 있으며, 원문을 읽고 싶으신 분들은 Easy means easy to debug을 참조하시기 바랍니다. 또한 이 문서는 cc-by 4.0 라이센스를 준수합니다. 어떤 프레임워크나 라이브러리, 도구가 "쉽다"는 건 무슨 의미일...