주소 문자열과 요청 파라미터 다루기웹사이트에 접속하기 위한 사이트 주소 정보는 노드에서 URL 객체로 만들 수 있음. Example) actor로 검색버튼을 눌렀을 시 https://www.google.co.kr/?gws_rd=ssl#newwindows=1&q=actor 이때 가장 중요한 것은 어디 까지가 사이트 주소인지와 어떤 내용이 요청 파라미터 인지 구별해야함. 노드에서 미리 만들어 둔 모듈 : url 모듈 사용!url 모듈을 사용하면 일반 주소 문자열을 URL 객체로 만들거나 또는 URL 객체에서 일반 문자열로 변환하는일이 쉬워진다. Example) url 모듈을 이용한 주소 문자열과 URL 객체 간의 변환 https://www.google.co.kr/?gws_rd=ssl#newwindows=1&..
프로토타입자바스크립트에서도 객체의 원형을 정의 한 후 그원형에서 새로운 인스턴스 객체를 만들어 낼 수 있음.Ex) 프로토 타입 예제function Person(name,age){ this.name = name; this.age = age;} Person.prototype.walk = function(speed){ console.log(speed + " km 속도로 걸어 갑니다.");} var person01 = new Person('kim ',20);var person02 = new Person('park',24); console.log(person01.name + "객체의 walk(10)을 호출 합니다.");person01.walk(10);=>1. Person 프로토 타입의 객체를 만드려면 먼저 Per..
자바스크립트에 클래스는 없지만 함수(function)와 new를 통해 클래스를 비스무리하게 흉내낼 수 있습니다.function Person() { this.eyes = 2; this.nose = 1; }var kim = new Person(); var park = new Person();console.log(kim.eyes); // => 2 console.log(kim.nose); // => 1console.log(park.eyes); // => 2 console.log(park.nose); // => 1kim과 park은 eyes와 nose를 공통적으로 가지고 있는데, 메모리에는 eyes와 nose가 두 개씩 총 4개 할당됩니다. 객체를100개 만들면 200개의 변수가 메모리에 할당되겠죠? 바로 이런 ..
콜백함수(CallBack function)파라미터로 전달되는 함수 function add(a,b,callback){var result = a + b;callback(result);} 함수를 호출했을 때 또 다른 함수를 파라미터로 전달하는 방법함수를 파라미터로 전달하는 경우 대부분은 비동기 프로그래밍, 연산이 끝났을 때 파라미터로 전달한 함수가 실행 될 수 있다면 그 시점에 겨로가를 처리할 수 있으므로, 효율함수 안에서 값을 반환 할 때 새로운 함수를 만들어 반환하는 방법Ex) function add(a,b,callback){ var result = a + b;var cnt = 0; callback(result); var history = function(){cnt ++; return a + '+' + b..
자바 스크립트의 객체와 함수 이해하기1. 자바 스크립트는 자료형을 명시하지 않는다. 2. 숫자를 넣어 둘떄는 문자열 보다 작은 크기의 변수 상자를 만들게 된다. 3. var 키워드자료형undefined : 값을 할당하지 않은 변수 값null : 존재하지 않는 값을 가리키는 값Object: 객체를 값으로 가진다.Number : 정수나 부동 소수 값을 가지는 자료형 객체.()으로 객체 접근[]대괄호로 속성의 이름이용 접근 예) person['age'] = 20;console.log("나이 %d",person.age); 익명함수function keyword뒤에 곧바로 소괄호 형태function add(a,b){}표현식 처럼 사용될 경우 ;속성 추가 예제ex) var person ={}; person['age'..
1. express를 사용해서 렌더링하려고 할경우html파일로 렌더링을 하기 위해서는?예)app.get('/form',function(req,res){ res.render('form'); // template 파일의 form.jade 파일이나 ejs파일 })Express는 웹서버라서 렌더링 하실 포멧 설정을 해야 한다. (Ejs나 pug) , 아니면 파일확장자만 바꿔도된다.굳이, html 파일을 보내려고 할경우 res.sendFile()을 써준다.2. express를 사용해서 ejs 파일 렌더링 하려는 경우 app.set('view engine','ejs');app.get('/form',function(req,res){ res.render('form.ejs');
모듈 : http,os => node.js 제공 모듈 그외 Date,Array,String Js제공 모듈이다. npm(node 계의 앱스토어) -의존성 관리 낮춰줌package manager uglifyjs 설치 방법$npm install uglify -js -g 명령어(global 독립 소프트웨어로 사용)$uglifyjs --help 명령어 의미를 나타내준다 1.$uglifyjs pretty.js 파일 실행필수적 코드만 만들게 해준다(공백, 필요없는것들 없앤후 코드 생성)2.$uglifyjs pretty.js -m-m 옵션(mungle) 공백 및 지역 변수 같은 이름바꾸어도 될것들은 짧게 바꾸어준다.3.$uglifyjs pretty.js -o uglifyed.js -m 짧아진 코드 지정 해준다.-o u..
인터넷 동작 과정computer1(요청) Internet computer2(응답)1. computer1 클라이언트2. computer2 서버(http://a.com, 52.192.173.51) http://a.com(브라우저요청) -> 서버(http://a.com)서버 종류 Database 서버채팅 서버게임 서버웹 서버=> 브라우저 요청에 따라 서버는 누가 응답을 할지를 결정하는 역할을 한다. 포트http://a.com:80(80 생략가능) -> 80번 포트를 요청하면 80번 문에 있는 웹서버에 접속하여 port 80을 Listen 하게 한다. a.com을 컴퓨터 한테 요청한다는 말이다. https://opentutorial.org:80(s가 생략시) 이런 형태로 쓰인다.
웹 서버 코드 // const 는 상수 이며, 값이 한번 할당되면 바꿀수 없다.const http = require('http');const hostname = '127.0.0.1';const port = 1337;const server = http.createServer((req, res) => { res.setHeader('Content-Type', 'text/plain'); res.end('Hello World\n');}); // 서버 생성 코드 // 서버 대기 상태(서버 열기) 만드는 코드server.listen(port, hostname, () => { console.log(`Server running at http://${hostname}:${port}/`);});
넷스케이프 (브라우저의 한 종류)1. 웹2. 인터넷 역사(History)2004년 gmail -> html.css.javascriptG map API2008년V8엔진 -> JS 개발 2009년node.js 생겨남node.js(Run time) -> 웹브라우저 뿐만아니라 서버 개발도 가능해졌다 자바 스크립트는 Web browser 와 Server 개발이 가능하다. Node.js 는 V8 엔진을 사용하므로 -> 성능이 갑이다. Node.js 설치(Install)1. node.js 설치 -> 64 비트2. cmd -> $node --version
chapter 1 정보 환경 1.1 정보 처리 시스템- 정보처리란? 컴퓨터가 정보를 생성하기 위해 데이타를 처리하는 작업즉, 정보처리는 단순히 계산이나 자료 처리보다 더 일반성을 나타내고 있다.1.1.1 정보와 데이타- 데이터란? 현실 세계로 부터 단순한 관찰이나 측정을 통해서 수집된 사실이나 값(value)을 말한다.- 정보란? 어떤 상황에 대한 적절한 의사 결정을 할 수 있게하는 지식으로서 데이터의 유효한 해석이나 데이터 상호간의 관계를 말하는것공식적 표현 I = P(D) P는 처리기,D는 데이타,I는 정보- 정보 추출 방법이란? 자료 처리 또는 광의로 정보 처리라고 한다. 정보는 정확성과 현재성을 가지고 있어야한다. 1.1.2 정보시스템- 정보 시스템(information system) 이란? 한 ..
문제 2 - 문자열중에서 앞뒤문자열의 중복을 이루는 것을 체크하는 프로그램을 작성하라(palindrom)예) ioi 앞에서 읽어도 똑같고 뒤로 읽어도 똑같은 문자열이 펠린드롬인지 확인할 수 있도록. #include #include int main(void){char str[100];char str1[100];int len;int check= 1; // 현재 1의 상태 printf("문자열 입력 하시오");scanf("%s",&str);len = strlen(str);printf("문자열 길이: %d",len);printf("문자이름 %s",str); for(int i=0; i
문제1 –이차 방정식의 계수를 입력 받아서 이차방정식의 해가 있으면 해를 출력하고 그렇지 않으면 해가 없다는 것을 출력하는 프로그램을 작성하라.#include void myprintf(int equationx2,int equationx1,int num);void myprintf(int equationx2,int equationx1,int num){ int result =((equationx1*equationx1) - (4 * equationx2 * num)); if(result > 0){ printf("2개의 해를 갖습니다."); }else if(result == 0 ){ printf("1개의 해를 갖습니다."); }else { printf("해가 없습니다"); }}int main(void){ int e..
내장 모듈 이란?자주 사용하는 기본기능을 노드에 포함 시켜 제공하는것인데,노드를 설치하고 나면 그 안에 제공되는 다양한 모듈을 사용 할 수 있다.내장모듈에 대한 정보(http://nodejs.org/api) 내장모듈보다 외장모듈이 더 편리한 경우도 있다.OS 모듈메소드 이름 설명 hostname() 운영체제의 호스트 이름을 알려준다. totalmem() 시스템의 전체 메모리 용량을 알려준다. freemem() 시스템에서 사용 가능한 메모리 용량을 알려준다 cpus() cpu 정보를 알려준다. networkInterface() 네트워크 인터페이스 정보를 담은 배열 객체를 반환한다. 예시) var os = require('os');console.log('시스템의 hostname: %s',os.hostname..
파일의 분리메인 파일의 코드중에서 독립적인 기능은 별도 파일로 분리 가능, 메인 파일에서 전체적인 순서나 흐름만 제어 한다. 이렇게 분리된 파일을 노드에서는 모듈 이라고 부른다.export 전역객체각각의 기능을 분리 시킬 떄는 단순히 별도의 파일에 코드를 나누어 놓는게 끝나는것이 아니다. 모듈 파일을 불러와서 사용할 수 있는 방법도 함께 만들어 준다.노드는 CommonJs의 표준 스펙에 따라 모듈을 사용할 수 있게 한다. 이때 사용하는것이 exportNode.js에서 모듈 사용하는 대표적인방식Main.js VS module1.js 1. Main.Jsvar module1 = require('module1');module1.함수 이름(); 2. module1.jsexports.함수이름 = 함수 정의; => ..
process 객체란?프로그램을 실행 했을떄 만들어지는 프로세스 정보를 다루는 객체process 객체의 주요 속성과 메소드속성/메서드 이름 설명 argv 프로세스를 실행 할때 전달되는 파라미터(매개변수)정보 env 환경 변수 정보 exit 프로세스를 끝내는 메소드 예)console.log('argv 속성의 파라미터 수 :' + process.argv.length);console.dir(process.argv);argv의 결과: 2가 나오게 되는데 node.exe 파일의 이름이 첫번 째 파라미터가 되고, 자바스크립트 파일의 패스가 두번째 파라미터가 된다.나머지 세번째 파라미터의 값을 어떻게 확인 할까?if(process.argv.length >2){ console.log('세번 째 파라미터의 값 %s ',..
console 객체란?전역 객체라고 부르며, 필요할때 코드의 어느 부분에서나 사용 가능하다. 전역 객체는 언제 어디에서나 사용 할 수 있다. 함수 안에서 선언한 변수는 그 함수 안에서만 사용이 가능하다.대표적인 전역 객체 console 콘솔 창에 결과를 보여주는 객체 process 프로세스의 실행에 대한 정보를 다루는 객체 exports 모듈을 다루는 객체 cosole 객체에 정의된 log() 메소드를 호출하면서 문자열을 파라미터(매개변수)로 전달 하면 그대로 출력포멧 형식 사용한다. 예) console.log("숫자 보여주기 : %d",10);null 과 undefined 차이점undefined는 단순히 값이 존재하지 않는다.null은 의도적으로 값을 비웠다 라고 생각하면 된다.JSON 포멧 이란?자바..
브라켓 설치하기 (http://brackets.io)크롬 브라우저 설치하기(https://www.google.co.kr/chrome/browser/desktop)브라켓 플러그인 설치 하기(pretty 입력후 설치 코드이쁘게 해준다)NodeJs Integration 플러그인 - Ctrl + shift + N 을 누르면 현재 파일을 바로 실행 할수 있음. 테마 변경 하기 1. 보기 -> 테마 (bracket Dark)2. 글자크기 15~18정도가 적당한것 같아요 기본 사용법1. 프로젝트 만들고 브라켓에서 파일 만들기(html,js,ejs,css 등등)2. 기본적인 코드를 친후 Ctrl + s 로 저장 한다.
Node.js란?노드제이에스(node.js)는 노드(node)라는 원래의 이름뒤에 자바스크립트를 사용한다는 의미에서 제이에스(js)를 붙인형태 왜 Node.js를 만들었을까?파일업로드 할때, 업로드 완료되기전까지 아무것도 할수 없었기 때문에, 이 문제를 해결하기 위해 새로운 방식의 서버 개발 도구를 만들기 시작함.-> 파일 업로드 기능을 담당하는 핸들러를 하나 만들어 둔다.Node 특징1. 하나의 요청 처리가 끝날 때까지 기다리지 않고 다른 요청을 동시에 처리 할 수 있는 비동기(입출력,Non-Blocking IO)방식을 적용 그러면 반대로 동기 입출력 방식은 무엇일까?- 파일 기능(읽기요청) -> 파일 준비 -> 파일 처리 -> 데이터 처리(완료 되었을 경우 완료되지 않았으면 다시 반복) -> 다른 작..
클라이언트(Client) 다른곳에 있는 단말에 데이터를 달라고 요청하는 프로그램 서버(Server)다른곳에서 요청받은 명령을 처리하는 프로그램 인터넷에 연결하기 위해서는 ? 단말에 네트워크 카드가 있어야한다. 포트(port)란? 단말에 접속하기 위한 '논리적인 접속 위치'포트 0~65535(0~1023 잘 알려진 포트, 1024~49151번 등록된 포트, 49152~65535번 동적 포트) 웹서버란? 웹브라우저에 접속하는 서버를 '웹서버'라고 한다. 우리가 자주 들어가는 웹브라우저를 생각하면 된다. 프로토콜이란(Protocol)이란? 데이터를 서로 어떤 형식으로 주고 받을지를 정한것(데이터의 형태라고 생각하면 된다) 웹문서란? 보통 HTML,CSS,Javascript를 이용해서 만들어 둔것, 웹브라우저가..
어셈블리어 개념 vs 2010vs 2017 High Level Language -> Obecjt File ->Linking -> exe filedisasemble 기계어 -> 어셈블리어asemble 어셈블리어 -> 기계어 리버싱핵심원리 ToolOllydbg GDBvisual Debuger 환경설정 하기1. library download irvine.zip ( irvine 파일 C:/경로) 2. 빈 프로젝트Ex) kgh 3. 사용자 지정 빌드 masm 4. 소스 파일 추가 (text 파일 .asm 파일로 생성 5. 프로젝트명 우클릭 : 설정 3개 6. 링커 -> 일반 -> 추가 라이브러리 카테고리C:\Irvine입력 -> 추가 종속성 irvine32 lib; // 세미콜론으로 나눠준다. 구분위해서 7. m..
안녕하세요 감자 코딩에 감자블로그 입니다. 이번에 살펴볼 내용은 팀 프로젝트 협업에 있어서 간단 명료하게 Pull Request를 통해 협업을 하는 방식입니다1. 작업 공간 변경사항있으면 모두 스테이지 파일 올리기 -> 커밋2. git push origin kgh ( master 브랜치가 아닌 새로 하나의 브랜치 kgh를 만들어서 push 해준다)3. github request -> master 한테4. 마스터가 merge 해주었을때(보통 email로 확인하는듯)5. git pull ( 새로 업데이트 되었거나 merge된 것들의 정보를 가져온다)6. git branch -D 브랜치명(kgh) - local 가지 불필요한거 삭제해준다(새로운 것들을 pull받았기때문에)7.git fectch -p ( loc..
- Total
- Today
- Yesterday
- 감자개발자
- C langauge
- Algorigm
- 백준
- Controller
- 머신러닝
- 스프링
- 개발하는 관광이
- 리버싱
- 프로그래밍
- 노드
- db
- node
- MVC
- node.js
- TensorFlow
- 감자코딩
- 알고리즘
- 학교
- 코드엔진
- 복습
- C언어
- programming
- Android
- Spring
- 초보자를 위한 C언어 300제
- BFS
- 안드로이드
- 텐서플로우
- 백준알고리즘
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |