목록분류 전체보기 (175)
가자미의 개발이야기
GET 함수 const nubers = { a:1, b:2, get sum(){//get함수는 조회하려고 할 때 사용 console.log('sum func~'); return this.a+this.b; } }; get은 특정값을 조회하려고 할 때 사용한다. SET 함수 const cow={ name:'황소', set name(value){//특정값을 설정할 때 사용. console.log('change name'); this.name=value; } }; cow.name='무친소';//이런식으로 변경가능 set 함수는 매개변수를 받아 특정 변수에 설정할 때 사용한다.
const port = 3000, http = require("http"), httpStatus = require("http-status-codes"), app = http.createServer(); app.on("request",(req, res)=>{//이벤트리스너 res.writeHead(httpStatus.OK,{ "Content-Type":"text/html" }); let responseMessage ="This is message.; res.end(responseMessage); });
#자바스크립트의 특이한 문법을 정리 화살표함수 const add =(a, b)=> a+b; const sum = add(1,2); console.log(sum); const 선언으로 화살표 함수로 액션을 정의할 수 있다. 객채와 비구조 할당 const dog ={ name : '멍멍이', age : 2, } const {dogName}=dog; console.log(dogName); 객체 안에 함수 넣기 const cat ={ name='kitty', sound='yao', say: function(){//화살표함수 사용하면 this가 뭔지 모름 console.log (this.sound); } } 객체 안에 함수를 넣을 때 주의해야 할 점은 화살표 함수 안에 this를 활용하는 경우, this가 해당 ..
a. 쿠키 User-server state : cookies 서버가 유저의 상태를 기억하기 위한 쿠키(주문내역 등) 맨 처음 유저가 브라우저로 사이트를 방문할 경우 생성 이후 해당 브라우저로 사이트 방문시 쿠키를 통해 특정 액션을 취함. b. 쿠키의 네가지 구성요소 1. HTTP 응답메시지에 있는 쿠키 헤더라인 2. 다음 HTTP 요청 메시지에 있는 쿠키 헤더라인 3. 사용자의 브라우저가 관리하는 쿠키파일 4. 웹사이트의 백엔드 데이터베이스 하지만 보안 상의 위험이 존재. c. 웹 캐쉬(프록시 서버) 목적 : 클라이언트의 요구가 근본 서버에 관여하지 않고 안정화하자. (origin server가 클라이언트와 거리가 멀 경우..) 프록시 서버(캐쉬)에 주변 클라이언트가 자주 사용하는 데이터를 저장해놓음 만..
a. 어플리케이션 프로토콜의 역할 헤더의 메시지 타입 정의(request인지 response인지) 메시지의 어디까지를 헤더로 하고 어디까지를 페이로드로 정할지.(필드 지정) 메시지의 정의(100110를 request로 정의하자..) 언제 어떻게 메시지를 보내고 답변하는 규칙 수립 b. 어플리케이션 프로토콜의 종류 오픈 프로토콜 : RFC에 정의된 프로토콜, 상호연동성 확보, ex.http, smtp 사설 프로토콜 : 서비스만하고 프로토콜은 공개하지 않는 경우 ex.스카이프... c. 어플리케이션이 필요로 하는 요소 1. data integrity : 정확한 메시지 전달해야 하는지, 그 정도는 아닌지를 파악 2. timing : 딜레이가 낮은 것이 중요한지(실시간 게임) 3. throughput(bps) ..
const port =3000, //3000이라는 숫자는 별 의미 없음 http = require("http"), //http모듈을 변수에 저장() httpStatus = require("http-status-code"), //http 상태 코드를 나타냄 app = http.createServer((request,response)=>{ //서버 만들고 변수에 저장 //이벤트가 발생할 때마다 동작하는 콜백 함수 console.log("Received an incoming request!"); response.writeHead(200, { "Content-Type":"text/html" });//http요청을 성공적으로 받았음, http 헤더의 기본속성 정의 let responseMessage = "Hell..
npm은 외부 패키지의 관리 역할을 한다. npm 명령어 설명 npm init 애플리케이션을 초기화하고 package.json 파일을 생성 npm install 노드js 패키지 설치 npm pulish 만든 패키지를 npm패키지 커뮤니티에 저장 및 업로드 npm start 애플리케이션의 실행(반드시 package.json이 있어야함) npm stop 실행 중인 애플리케이션 중지 npm docs 지정된 패키지에 대한 가능한 문서페이지 열기 그 외 npm install 뒤에 --save를 쓰면 애플리케이션에 패키지가 종속 모듈로 설치. 뒤에 --global을 붙이면 패키지를 컴퓨터 상의 전역 패키지로 설치. 모듈 : 단일 컨셉트 기능 라이브러리와 관련된 코드를 포함하는 개인 javascript파일 패키지 :..
REPL은 노드js의 대화식 셸이다. 노드가 설치된 경우 터미널에서 node를 입력하면 자연스럽게 사용가능하다. REPL 명령어 설명 .break(.clear) REPL 세션 내 블록에서 빠져나옴. 코드 블록에서 빠져나올 때 유용. .editor 멀티라인 코드를 입력할 수 있는 내부 에디터를 연다. ctr+d로 저장하고 빠져나올 수 있다. .exit REPL 세션을 종료한다. .help 명령어나 유용한 팁을 보여준다 .load 로컬 파일명과 같이 사용되며 REPL이 코드 파일로 액세스하도록 한다. .save REPL 세션의 코드를 새로운 파일에 저장한다.
단계별 접근 1. 문제를 나누기 2. 풀 수 있으면 풀고 그렇지 않으면 더 작게 나누기 3. 만약 필요한 경우 문제들의 답을 결합. 이진검색법의 예시 1. divide : 배열을 반으로 나누기. 찾으려는 값과 중앙 값 비교. 비교 결과에 따라 배열 선택 2. conquer : 찾으려는 값의 위치를 찾아냄 public static index location(index low, index high){ index mid; if(low>high) return 0; else { mid= (low+high)/2; if(x==S[mid]) return mid; else if(x1){ const int h = floor(n/2), m=n-h; keytype[] U = new keytype[1....h], V= new ..
a. 네트워킹 어플리케이션 제작 서로 다른 엔드시스템에서 네트워크를 통해 소통하며 작동한다. 일반적으로 네트워크에 대해 몰라도 어플리케이션 제작 가능 b. 클라이언트-서버 구조 서버 : 항상 연결, 영구적 IP주소, 더 많은 양을 처리하기 위해선 데이터 센터 구비 클라이언트 : 간헐적으로 연결, 다이나믹 IP주소 사용(위치에 따라 변경), 직접 통신하진 않음. 통신의 시작 c. P2P(peer to peer) 구조 항상 연결된 서버가 없는 구조. 엔드시스템끼리 직접 통신 가능 자가확장성(self-scalability) : 더 많은 peer가 참여하면 처리 능력도 높아진다. peer들이 연결됐다가 해제됐다가 빈번. 관리 어렵고 IP주소가 자주 바뀜 d. 프로세스 어플리케이션 프로그램이 호스트에서 실행되는 ..