본문 바로가기

전체 글

(341)
[일곱번째] Node.js 기본 / Template Engine, Jade 동적 파일 제공 템플릿 엔진어떠한 기술 '들'을 의미한다. 상품군 많은 훌륭한 템플릿 엔진들이 있지만 우선 Jade에 대해 알아보도록 하자. app.set('view engine','jade');express 와 jade 를 연결하는 코드로view engine 으로 jade를 사용하겠다는 뜻이다. app.set('views','./views')관습적으로 템플릿 파일을 views라고 명명한 폴더에 모아둔다.res.render('upload');이런식으로 views 폴더에 있는 파일을 렌더링 한다.소스코드를 가지고 와서 웹페이지를 만들어내는 것도 일종의 렌더링 Jade 문법을 알기 위해 홈페이지에 접속을 하게 되면 Main페이지에서 딱 두 개의 소스코드 페이지를 제공한다.http://jade-lang.com/doctype ..
[여섯번째] Node.js 기본 / 정적 파일 제공 정적 파일 제공일단, 각 문법적 요소 요소들에 대해서 무조건 알고 넘어가야 겠다는 강박증을 내려놓자.각 코드들을 레고 블럭처럼 생각하고 어떤 것을 하기위해 어떤 것이 필요하다라고패턴화로 기억하자. 정적인 파일이란 한번 만들어지면 변할 일이 없는 계속 똑같은 html문서 같은 것을 말한다.app.use(express.static('public'));.static 메소드는 정적인 파일이 위치할 디렉토리를 지정하는 기능을 갖고 있다.디렉토리 명은 관습적으로 public 이라고 한다.정적인 파일에 대해 변경된 사항에 대해서 노드 애플리케이션을 껐다가 다시 킬 필요 없다. API 문서를 살펴보면이미지, CSS 파일 및 JavaScript 파일과 같은 정적 파일을 제공하려면Express의 기본 제공 미들웨어 함수인..
[그들이 쓰는 언어] 3. 디버깅 / 리팩토링 디버그 / 디버깅 / 디버거디버그란?컴퓨터 프로그램의 정확성이나 논리적인 오류를 찾아내고 테스트하는 것을 의미하고 이 과정을 디버깅이라고 한다.컴퓨터에서는 이 오류를 버그라고 지칭하고 벌레를 없애다 라는 뜻으로 디버깅이라는 용어를 사용한다. 디버거는 디버그 행위를 돕는 도구이다. 오류를 발견하는데 있어서 코드를 단계적으로 실행하거나 메모리에 저장된 값을 살펴보는 등 많은 기능을 지원한다. 리팩토링사용자에게 노출되는, 출력되는 값은 그대로 유지하면서내부 논리나 구조를 바꾸고 개선하는 유지보수 행위이다.결과의 변경 없이 코드의 구조를 재조정하는 것을 의미한다.주로 가독성을 높이고 유지보수를 편하게 하는데에 그 목적이 있다.디버깅과는 다른 개념이다.하지만 리팩토링은 버그를 찾도록 도와준다.새로운 기능을 추가해..
[다섯번째] Node.js 기본 / Express 도입 express express 는 Node.js 에서 사용 가능한 프레임워크로 npm의 일종이다. 일단 express Framework 를 쓰지 않은 코드를 보자.const http = require('http'); const hostname = '127.0.0.1';const port = 1337; var server = http.createSever(function(req,res){res.writeHead(200, { 'Content-Type': 'text/plain' }); res.end('Hello World\n');}); server.listen(port, hostname, function(){ console.log('Server running at http://${hostname}:${port}..
'글'이 가진 힘. 선거가 일주일 앞으로 가까워졌다.정치에는 관심이 없지만들리고 보이는 것들로 눈곱만큼 아는 수준이다. 느꼈던 건글이 가진 힘은 정말 대단하다는 것이다. 구체적으로 '칼럼'을 예로 들겠다.요즘 같은 시대에 , 이 칼럼이 퍼지는 것은 순식간이다.SNS를 타고 1분이면 엄청나게 많은 사람들 손안으로 들어오게 된다.물론 칼럼에 노출된 사람들이 그 칼럼을 다 읽는 것은 아니다.하지만 그것이 한 번 탄력을 받으면사람들은 나만 안 읽은 칼럼인것 같은 느낌적인 느낌에그 칼럼을 읽는다.탄력은 더 큰 파급효과를 불러온다. 그 글이 어떤 글이건 일반 대중에게 들어가는 순간,'효과'를 발휘한다.굉장히 비판적이고 어느 누구보다 객관적인 시각으로 글을 대하지 않는다면자신이 평소 가지고 있던 생각을 증폭시킬 수도 있고아예 반전시킬 ..
[개발상식] 7. 프로세스 / 스레드 / 커널 프로세스(Process)프로세스란기본적으로 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램을 의미한다.프로세스랑 프로그램이랑은 약간 다르다.프로그램이란 일반적으로 하드 디스크 등에 저장되어 있는 실행코드를 의미한다.그리고 프로세스는 프로그램을 구동하여 프로그램 자체와 프로그램의 상태가메모리 상에서 실행되는 일종의 작업단위이다.하나의 프로그램을 여러 번 구동하면 여러 개의 프로세스가 메모리 상에서 실행된다. 프로세스는 사용 중인 파일, 데이터, 프로세서 상태, 메모리 영역 주소 공간, 스레드 정보전역데이터가 저장된 메모리 부분 등 수 많은 자원을 포함하는 개념이다.스케줄링의 대상이 되는 작업(task)라고 불리기도 한다. 프로세스는 항상 커널의 자원을 차지하기 위해 경쟁하고커널은 이들에게 효율적으로 자..
[네번째] Node.js 기본 / 동기&비동기 개념 동기와 비동기Synchronous(동기) vs Asynchronous(비동기) 줄여서 Sync, Async 로 표현한다. 실생활에서의 비유를 통한 설명 > 상황 : 세 가지 일을 해야한다. 빨래. 설거지. 청소 각각 한시간씩 걸린다. 동기적으로 일을 처리하는 것빨래를 하고 다 하고 나서 그 다음에 설거지를 하고 다 하고 나서 그 다음에 청소를 한다. 총 3시간이 걸린다. 비동기적으로 일을 처리하는 것빨래하는 업체가 있고 설거지 하는 업체가 있고 청소를 하는 업체가 있다. 그 빨래업체에게 전화를 한다. "빨래 좀 해주세요. 끝나면 말해주세요." 전화를 하는데 1분이 걸렸다. 그 설거지업체에게 전화를 한다. "설거지 좀 해주세요. 끝나면 말해주세요." 전화를 하는데 1분이 걸렸다. 그 청소업체에게 전화를 한..
[세번째] Node.js 기본 / 콜백 복습 콜백(call back) 함수. Node.js를 다루는데 꼭 알고 넘어가야하는 자바스크립트 문법이다. 커맨드 창에 node 라고 만 입력하고 엔터를 치게 되면커맨드에서 직접 js 코드를 한줄 한줄 실습할 수 있다. cf) 세미콜론으로 한줄에 여러 줄의 코드를 입력할 수 있다. Javascript의 문법 중에 array와 sort를 사용해서 콜백 함수에 대해 알아보겠다.> a=[3,1,2];function b(v1, v2){return v2-v1}; a.sort(b); console.log(a);[ 3, 2, 1 ] undefined > a=[3,1,2];function b(v1, v2){return v1-v2}; a.sort(b); console.log(a); [ 1, 2, 3 ] undefined > ..