[ES2015] 기본 매개변수 (Default Parameters)

ES2015는 자바스크립트의 근간이 되는 함수에도 여러가지 변화를 가져왔습니다.이번 포스트에서는 그 중 기본 매개변수(Default Parameters)에 대해서 알아보도록 하겠습니다. 매개변수를 무시한 함수 호출다음과 같이 사용자의 아이디의 배열을 매개변수를 받아서 사용자의 상세 정보를 돌려주는 함수가 있다고 가정해봅시다. 1234function fi

[ES2015] const로 상수 선언하기

이번 포스트에서는 ES2015에서 let과 함께 자바스크립트에 추가된 const 사용법에 대해서 알아보도록 하겠습니다. let 사용법에 대해서는 아래 포스트들을 참고바라겠습니다. let으로 변수 선언하기 1 let으로 변수 선언하기 2 매직 넘버아래 코드에서 findUser 함수는 안자로 받은 id 값이 100보다 작은지 여부에 따라서 로직이 분기되어

[ES2015] let으로 변수 선언하기 2

이전 포스트에서 ES2015의 let 키워드에서 대해서 알아보았습니다.이번 포스트에서는 for 문에서 let이 어떻게 사용될 수 있는지 살펴보겠습니다. 예제 코드다음 코드는 사용자 아이디를 받아 가짜 사용자를 담든 후 콜백 함수를 호출하는 비동기 함수입니다.마치 DB 연동처럼 setTimeout 함수를 이용하여 1초의 지연을 주었습니다. 12345funct

[ES2015] let으로 변수 선언하기 1

본 포스트에서는 ES2015를 통해 자바스크립트에 추가된 let 키워드에 대해서 알아보도록 하겠습니다. 문제의 코드먼저 다음 예제 코드를 살펴보시죠. 1234567891011function findUser(id) { if (id > 0) { var successMsg = "사용자를 조회하였습니다."; console.log

[자바스크립트] var를 사용할 때 발생하는 문제들

많은 자바스크립트 강좌에서 가급적 var 대신에 let이나 const 키워드를 사용하여 변수를 선언하라고 가이드하고 있는데요. 본 포스트에서는 var의 어떤 문제점 때문에 그런건지 알아보도록 하겠습니다. 아리송한 코드먼저 다음 코드를 살펴보도록 하겠습니다.무엇이 출력이 될지 예상이 되시나요? 1234567var n = 1function test()

AssertJ 소개

멋진 테스트 코드를 작성하도록 돕는 AssertJ 라이브러리에 대해서 알아봅시다. AssertJ의 장점 메소드 체이닝을 지원하기 때문에 좀 더 깔끔하고 읽기 쉬운 테스트 코드를 작성할 수 있습니다. 개발자가 테스트를 하면서 필요하다고 상상할 수 있는 거의 모든 메소드를 제공합니다. 라이브러리 의존성 설정Java8 이상 기반 프로젝트는 3.x 버전을, Ja

자바8 Optional 3부: Optional을 Optional답게

Optional을 좀 더 Java8 API 설계자의 의도에 맞게 쓰는 방법에 대해서 알아봅시다. 이전 포스트를 통해서 Optional에 대해서 소개드렸습니다.또한 Optional을 Optional답지 않게 사용할 경우, 어떤 부작용이 발생하는지도 살펴보았는데요.이 번 포스트에서는 어떻게 코드를 작성해야 Optional을 Optional답게 쓸 수 있는지

자바8 Optional 2부: null을 대하는 새로운 방법

Java8의 Optional API를 통해 어떻게 null 처리를 할 수 있는지 알아봅시다. 이전 포스트를 통해 Java8 이 전에는 얼마나 null 처리가 고통스러웠는지 살펴보았습니다.그리고 문제의 본질이 null 참조를 통해 “값의 부재”를 표현하는 자바 언어의 초기 설계에 기인한다라는 것도 말미에 언급하였습니다. null 관련 문제 돌아보기이 전

자바8 Optional 1부: 빠져나올 수 없는 null 처리의 늪

Java8이 나오기 이 전에는 얼마나 힘들게 null 처리를 했었는지 살펴봅시다. null 창시자가 스스로 인정한 null 탄생의 실수우선 null이라는 개념은 언제 누구에 의해 만들어졌을까요?null 참조는 1965년에 Tony Hoare라는 영국의 컴퓨터 과학자에 의해서 처음으로 고안되었습니다.당시 그는 “존재하지 않는 값”을 표현할 수 있는 가장

소켓이란 무엇인가?

본 포스트는 오라클 자바 튜토리얼의 What Is a Socket?를 번역하였습니다. 소켓 통신일반적으로 서버는 특정 포트가 바인딩된 소켓를 가지고 특정 컴퓨터 위에서 돌아갑니다.해당 서버는 클라이언트의 연결 요청을 소켓을 통해 리스닝하면서 그냥 기다릴 뿐이죠. 클라이언트는 서버가 떠 있는 머신의 호스트네임과 서버가 리스닝하고 있는 포트 번호를 알고 있