API란?
·
개발/Glossaries
API란 쉽게 말해 TV의 리모컨 같은 것이라 할 수 있습니다. 시청자(클라이언트)가 채널을 전환하는 요청(리퀘스트)을 셋톱 박스(서버)에 전달하면 채널이 전환(결과 전달)됩니다. 영어로는 Application Programming Interface라고 하는데요. 서버와 데이터베이스에 대해 프론트 단에서 접근할 수 있는 중간 포인트 역할을 하는 것이 API입니다. 소프트웨어적으로 정의하자면 API란 프로그래머가 소프트웨어를 생성하거나 외부 시스템과 상호작용하기 위해 사용할 수 있는 일련의 명령어, 함수, 프로토콜, 객체를 의미합니다. TV 리모컨이 없다고 생각해보세요. 시청자는 채널을 전환하기 위해 셋톱 박스에 수동으로 접근해서 내부 로직에 따라 채널 전환 명령을 내려야 할 것입니다. 불가능한 일은 아니..
룰루 밀러 ‹물고기는 존재하지 않는다›
·
책/책 읽고 쓰기
1. “자연은 비약하지 않는다”고 다윈은 과학자의 입으로 외쳤다. 우리가 보는 사다리의 층들은 우리 상상의 산물이며, 진리보다는 편리함을 위한 것이다. 다윈에게 기생충은 혐오스러운 것이 아니라 경이였고, 비범함 적응력을 보여주는 사례였다. 크건 작건, 깃털이 있건 빛을 발하건, 혹이 있건 미끈하건 세상에 존재하는 생물의 그 어마어마한 범위 자체가 이 세상에서 생존하고 번성하는 데는 무한히 많은 방식이 존재한다는 증거였다. 그런데 데이비드는 왜 그걸 보지 못한 걸까? 사다리에 대한 그의 믿음을 반증하는 증거들이 이렇게 산더미처럼 쌓여 있는데. 식물과 동물이 배열되는 방식에 관한 이 자의적인 믿음을 왜 그토록 보호하려 한 걸까? 그 믿음에 도전이 제기되면 왜 더욱 강하게 그 믿음을 고수하고 폭력적인 조치를 ..
Express (2) 동적 웹사이트 만들기 (계산기 서비스)
·
개발/Express
이번 포스팅에서는 Express를 사용하여 간단한 계산기 서비스를 제공하는 웹 애플리케이션 페이지를 만들어 보도록 하겠습니다. 계산기 html 작성 계산기로 사용할 html 문서를 아래와 같이 작성해줍니다. Calculator Submit 여기서 핵심은 바로 form 태그를 사용했다는 것인데요. 중요한 사항들만 간단히 정리해보도록 하겠습니다. form 태그를 사용하면 정보를 제출할 수 있음 action은 form 제출을 처리하는 URL을 지정하며 데이터가 도착하는 URL입니다. 사용할 수 있는 대표적인 HTTP 메소드는 post, get post는 데이터를 request body에 담아 보냄 get 은 action url에 ? 와 함께 전달됨 더 알아보기 https://developer.mozilla.o..
Express (1) 기초 설치와 서버 실행
·
개발/Express
Express란? Node.Js 프레임워크 Node.Js를 더 효율적이고 쉬게 사용할 수 있게 함 Node.Js가 스크류드라이버라면 Express는 전동 드릴 정도 공식 웹사이트: https://expressjs.com/ Express 서버 시작하기 node.js 설치하기 mkdir express_server 새로운 서버 디렉토리 생성 touch server.js 서버 파일 생성 npm init package.json 파일 생성 npm install express express 설치 서버 실행 테스트하기 server.js에 아래와 같이 작성 node server.js 명령어로 파일 실행 const express = require("express"); const app = express(); app.lis..
[집무실 레터 ⑦] 정체성 갖기
·
기록/집무실 레터
회사에서 일하기를 그만둔 지 2주가 지났네요. 요즘 루틴 앱을 하나 찾아서 새로운 루틴을 만들어 가고 있습니다. 전과 비교했을 때 크게 달라진 점은 아침에 일어나서 명상을 한다는 점이에요. 아직까지는 10분도 가만히 있기가 어렵긴 하지만, 목표한 시간 동안 차분히 제 자신을 돌아보고 났을 때 주어지는 마음가짐은 하루를 보내는 데 있어서 참 소중한 거 같아요. 홀로서기를 할 때는 정체성이 무척 중요한 거 같아요. 번역가면 번역가, 창업가면 창업가, 개발자면 개발자... 물론 이러한 직의 타이틀을 빌려오지 않고 업을 중심으로 자신의 정체성을 정의할 수도 있죠. 정체성을 가질 때 중요한 건 한계를 정하지 않는 거라 생각해요. 예를 들어, 웹 개발자가 되기로 했다면 '나는 아직 아무 것도 모르니까 실제 프로젝트..
미들웨어 Middleware 뜻
·
개발/Glossaries
미들웨어는 Node.js의 요청과 응답 사이클 중간에서 웹 애플리케이션에 필요한 중간 함수를 처리하는 역할을 합니다. 활성화된 미들웨어 함수가 요청-응답 사이클을 멈추지 않는 경우 next() 함수를 호출하여 다음 미들웨어 함수로 넘어갑니다. 미들웨어를 통해 요청을 받고 최종 응답 사이에서 다음 작업을 수행할 수 있습니다. 코드 실행 요청 및 응답 객체 변경 요청-응답 사이클 종료 스택 내 다음 미들웨어 호출 더 읽어보기 How to Build Middleware for Node.js: A Complete Guide Writing middleware for use in Express apps 미들웨어의 뜻과 정의
디펜던시 Dependency 뜻
·
개발/Glossaries
소프트웨어 디펜던시(dependency)란 새로운 소프트웨어에서 재사용되는 코드 라이브러리 또는 패키지를 의미합니다. 예를 들어, 머신 러닝 프로젝트 모델을 만들기 위해 파이썬 라이브러리(디펜던시)를 호출할 수 있습니다. 소프트웨어 디펜던시를 사용하여 개발자는 이전 개발 작업을 이어받을 수 있고 더 빠르게 소프트웨어를 완성할 수 있습니다.소프트웨어 디펜던시가 발달하지 않았던 초창기에는 라이브러리를 다운로드하고 설치하는 것이 번거로웠습니다. 작은 패키지들을 재사용하는 것은 거의 불가능했습니다. 그러나 시간이 흐르며 Node.js의 NPM(Node Package Manager)와 Java의 Maven과 같은 도구가 출시되어 단 몇줄의 코드로 이뤄진 작은 패키지들을 쉽게 사용할 수 있게 되었습니다.더 읽어보기..
컴파일러 Compiler 뜻
·
개발/Glossaries
컴파일러란 프로그래밍 언어의 소스 코드를 기계 언어, 바이트 코드 또는 다른 프로그래밍 언어로 전환하는 특별한 프로그램입니다. 소스 코드는 보통 자바나 C++과 같은 사람이 읽을 수 있는 하이레벨 언어로 작성됩니다. 프로그래머는 코드 에디터에 소스 코드를 작성하거나 소스 코드와 여러 텍스트 파일을 작성할 수 있는 IDE에 이를 작성합니다. 컴파일러는 소스 프로그래밍 언어를 읽고, 코드를 분석한 다음 대상 플랫폼에 적합한 형태로 전환합니다. 더 읽어보기 What is a compiler?