Today I learned(88)
-
[Web] HTTP API와 REST API
회사에서 API 관련 논의 중, HTTP API는 REST API와는 다르다는 얘기가 나왔습니다. 작년 초에 학습했었으나 둘의 차이에 대해서 다소 헷갈려, 복습 겸 정리하려 합니다. tl;dr 통신을 통해 한 곳의 자원들을 다른 곳에서 쉽게 접근할 수 있도록 하는 것을 Web API라고 합니다. 그 중에서도 HTTP 통신을 활용하는 API를 HTTP API라고 하며, REST API의 특성들을 가지는 API를 REST API라고 합니다.API HTTP API와 REST API에 공통으로 들어가는 API란 단어부터 먼저 살펴볼까요. API(Application Programming Interface)는 컴퓨터 혹은 컴퓨터 프로그램끼리의 연결, 좀 더 인간적인 표현으로는 소통을 뜻합니다. 이러한 소통을 어떻..
2021.07.31 -
[JS] 이해하기 쉬운 코드, 클린 코드
강의: [edwith 부스트코스] 웹 프로그래밍 챕터 4, 웹 앱 개발: 예약서비스 2/4 학습일: 2020년 7월 9일 2. 라이브러리 활용과 클린 코드 - FE 클린 코드 클린 코드의 중요성 클린 코드(Clean Code)는 '깨끗한 코드', 즉 '읽기 편한 코드'를 의미합니다. 프로그래밍을 공부하다 보면 클린 코드의 중요성을 심심치 않게 들을 수 있는데요, 그렇다면 클린 코드가 왜 중요한 것일까요? 프로그램은 '이해하기 쉬워야 하기 때문'입니다. 일상적 언어로 작성된 글도 문장 구조나 논리 전개가 어긋나면 글쓴이의 의도가 제대로 전달되지 않는 경우가 부지기수인데, 다양한 수식과 기호가 포함된 프로그래밍 언어로 작성된 코드는 '깨끗하지 않다면' 이해하는 것이 급격하게 힘들어집니다. 특히 클린 코드는 ..
2020.07.09 -
[JS] handlebars 라이브러리를 활용한 템플릿 작업 ... Part 2
강의: [edwith 부스트코스] 웹 프로그래밍 챕터 4, 웹 앱 개발: 예약서비스 2/4 학습일: 2020년 7월 8일 2. 라이브러리 활용과 클린 코드 - FE handlebars 라이브러리를 활용한 템플릿 작업 배열이 포함된 데이터 처리하기 실제로 템플릿을 작업할 때 다루는 데이터는 첫 예제처럼 단순하지 않을 가능성이 높습니다. 이번에는 데이터에 배열이 포함되었을 때의 처리 방법을 살펴보겠습니다. var data = { id : 13, name : "Dev", content : "Testing...", like : 5, comment : ["1st comment!", "lol", "nice post!"] }; comment 속성의 값이 3개의 원소로 이루어진 배열로 바뀌었습니다. 이런 경우에는 ha..
2020.07.08 -
[JS] handlebars 라이브러리를 활용한 템플릿 작업 ... Part 1
강의: [edwith 부스트코스] 웹 프로그래밍 챕터 4, 웹 앱 개발: 예약서비스 2/4 학습일: 2020년 7월 8일 2. 라이브러리 활용과 클린 코드 - FE handlebars 라이브러리를 활용한 템플릿 작업 DOM 요소 조작과 템플릿의 활용 웹페이지는 수많은 요소들이 계층적으로 구조를 이루고 있고, 이 일부분을 변경하고자 할 때 DOM 요소에 일일이 접근하는 것은 너무나도 번거로운 일입니다. 그렇기 때문에 DOM 요소에 일일이 접근하지 않아도 되도록 HTML 문자열로 이루어진 일종의 양식을 만든 뒤, replace와 같은 메서드를 활용해 특정 문자열만 변환해주는 방법을 사용하게 되었습니다. 이를 템플릿 작업이라고 합니다. 그런데 웹사이트의 규모가 계속 커지면서 템플릿을 통해 문자열을 변환하는 것..
2020.07.08 -
[JS] 한 시대를 풍미한 jQuery, 그리고 프레임워크의 대두
강의: [edwith 부스트코스] 웹 프로그래밍 챕터 4, 웹 앱 개발: 예약서비스 2/4 학습일: 2020년 7월 7일 2. 라이브러리 활용과 클린 코드 - FE JavaScript 라이브러리와 프레임워크 최근 10년 간의 트렌드 2010년 이후로, 대표적인 JavaScript 라이브러리의 이름을 거론할 땐 jQuery가 빠지지 않습니다. 심지어 'JavaScript가 아닌 실무에서 쓰이는 jQuery를 중점적으로 배워야 한다'는 글도 있었을 정도로 광범위하게 바닐라 JavaScript를 대체하며 사용되었던 라이브러리가 jQuery입니다. 하지만 시간이 흐르고 웹의 대세가 웹 앱이 되면서 jQuery의 중요성은 떨어지고, 더 큰 규모의 도구인 프레임워크들이 관심을 이어받게 되었습니다. 그렇다면 jQue..
2020.07.07 -
[JS] bind 메서드를 활용한 this 제어
강의: [edwith 부스트코스] 웹 프로그래밍 챕터 4, 웹 앱 개발: 예약서비스 2/4 학습일: 2020년 6월 18일 1. 객체지향 JavaScript 구현 - FE bind 메서드로 this 제어하기 this의 참조 Part 2에서 언급했듯이, this는 함수의 실행 시점에 결정된다. this의 이런 특성으로 인해서 예상과 다르게 동작하는 경우가 발생하게 된다. 아래의 코드를 보자. showHealth 메서드를 실행하면, this.name과 this.lastTime이 undefined로 출력된다. 왜일까? setTimeout 메서드는 일정 시간 후 인자로 전달받은 함수를 실행하는 메서드이므로, 전달받은 출력 함수가 이벤트 큐에 저장되어 있다가 실행되기 때문이다. 출력 함수의 실행 시점에 showH..
2020.06.18