전체 글56 객체 메소드, Computed property Computed property 📓 객체의 key값을 표현식(변수, 함수 등)을 통해 지정하는 문법 // Computed property(계산된 프로퍼티) // 예시 1 let a = 'age'; const user = { name: 'Mike', [a]: 30 // age: 30 } // 예시 2 const user = { [1 + 4] : 5, ["안녕" + "하세요"] : "Hello" } console.log(user) // {5: 5, 안녕하세요: "Hello"} 객체 메소드 종류 Object.assign() : 객체 복제 const user = { name: 'Mike', age: 30 } const newUser = Object.assign({}, user); // 초기값인 {}에 user .. 2022. 10. 4. Javascript 변수(var, let, const), 호이스팅 📌 목차 변수 let, const는 ES6부터 생긴 것 var 변수 중복 선언이 가능 var name = 'Mike'; console.log(name); // Mike var name = 'Jane'; console.log(name); // Jane 선언하기 전에 사용할 수 있다. // var name; // 코드가 실제로 이동하진 않지만 var로 선언한 변수들은 최상위로 끌어올린것처럼 동작(호이스팅hoisting) console.log(name); // undefined // 선언은 호이스팅되지만 할당은 호이스팅되지 않기 때문에 undefined로 뜸 name = 'Mike'; // 할당 시작 함수 스코프(fucntion-scoped) 📓 함수 스코프? 함수 내에서 선언된 변수만 그 지역변수가 되는 것.. 2022. 10. 4. Express request(req.params, req.query, req.body) express에서 request란? 'HTTP request'로써 'req'로 표현되는 객체 request 'query string', 'parameters, 'body', 'HTTP header' 등의 프로퍼티를 가진다 위와 같이 ‘req’객체에는 다양한 프로퍼티가 있지만, 오늘은 req.params와 req.query에 대하여 알아보려한다. req.params 라우터 매개변수 // 예시 1 // 제품별 상세 페이지 routes부분 :productId을 예약어로 지정하여 -> req.params.productId로 받을 수 있게함 router.get('/products/:productId', shopController.getProduct); // controller 부분 exports.getProduc.. 2022. 10. 3. Buffer와 Stream(Node.js) 📌 목차 Buffer vs Stream fileSystem을 사용해 파일을 읽고 쓰고 저장하는 동작을 하려고 할때, 즉 데이터를 주고 받을 때 사용하는 형식이다. 버퍼: 일정한 크기로 모아두는 데이터 일정한 크기가 되면 한번에 처리 버퍼링: 버퍼에 데이터가 찰 때까지 모으는 작업 스트림: 데이터의 흐름 ➡️ 일정한 크기로 나눠서 여러 번에 걸쳐서 처리 버퍼(또는 청크)의 크기를 작게 만들어서 주기적으로 데이터를 전달 스트리밍: 일정한 크기의 데이터를 지속적으로 전달하는 작업 Buffer buffer는 데이터이기 때문에 조각조각 나뉘어서 보내줌 → 받는 쪽에서 buffer를 하나로 모아서 합쳐줘야함(배열에 들어있으면 concat사용) 메서드 from(문자열) 문자열을 버퍼로 바꿔줌. length 속성은 버.. 2022. 9. 29. 면접 알고리즘 재도전(array 내 중복찾기 feat.Set) 오늘은 면접 시 받았던 알고리즘 질문에 재도전 해보고 더 좋은 방법을 찾아보고자 한다 [1, 2, 3, 4], [4, 1, 3, 4] 등 처럼 무작위 배열이 주어졌다. 이 배열 안에서 중복이 있으면 True, 없다면 False를 반환하는 함수를 만들어라! function checkduplicate(arr) { for (i=0; i 2022. 9. 29. DFS/BFS(그래프 탐색 알고리즘) 📌 목차 DFS/BFS(그래프 탐색 알고리즘) 탐색(Search) : 많은 양의 데이터 중에서 원하는 데이터를 찾는 과정 대표적인 그래프 탐색 알고리즘 → DFS, BFS 코테에서 매우 자주 등장하는 유형으로 반드시 숙지 필요 DFS(Depth-First Search) 깊이 우선 탐색, 깊은 부분을 우선적으로 탐색하는 알고리즘 스택 자료구조(혹은 재귀 함수)를 이용 → 반복문에 비해 스택이나 재귀는 좀 오래걸림 → 따라서 만약 DFS, BFS 둘다 사용할 수 있으면 BFS를 사용하는게 더 빠른 경우가 많음 동작 과정 1.탐색 시작 노드를 스택에 삽입하고 방문 처리 2.스택의 최상단 노드에 방문하지 않은 인접한 노드가 하나라도 있으면 그 노드를 스택에 넣고 방문처리 3.계속 방문 처리 4.방문하지 않은 인.. 2022. 9. 25. REST(RESTful) API란? REST API? RESTfull API(rePresentational State Transfer)라는 용어의 약자로 '특정자원(데이터)를 어떤 방식으로 전달하는 것'으로 간주하고 이를 표현하는 방식을 통일하여 개발자들간의 의사소통을 원활히 하도록 도와주는 약속이다. 즉 REST란 1. HTTP URI를 통해 자원을 명시하고 2. HTTP Method(POST, GET, PUT, DELETE)를 통해 해당 자원에 대한 CRUD를 적용하는 것을 의미 CRUD란 대부분의 컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리 기능인 Create, Read, Update, Delete를 묶어서 일컫는 말로 REST에서 CRUD는 다음과 같다 Create : 데이터 생성(POST) Read : 데이터 조회(GET) U.. 2022. 9. 22. EC2 생성 및 프로젝트 실행 오늘은 채팅 시스템의 서버를 담당해주었던 EC2 생성을 정리해보고자 한다. EC2 Elastic Compute Cloud(EC2) 독립된 컴퓨터를 임대해주는 클라우드 서비스 특징 컴퓨팅 요구사항의 변화에 따라 컴퓨팅 자원을 조절할 수 있다. 사용한 만큼 지불할 수 있다. EC2 생성 ➡️ 모든 설정 완료 후 인스턴스 시작을 누르면 서버 생성 ⭐️(추가) ➡️ 보안 ➡️ 보안그룹 ➡️ 인바운드 규칙 ➡️ 인바운드 규칙 편집 ➡️ 자신이 받아줄 포트번위 추가로 지정해줘야함 Mac 환경 서버접속 # putty 설치 brew install putty # 설치 잘 되었는지 확인하기 brew list # pem to ppk(pem 폴더 내로 이동 후) puttygen 파일명.pem -o 파일명.ppk # pem 권.. 2022. 9. 20. Node.js와 Socket.io를 이용한 간단한 채팅 구현 회고 SIHA CHAT project 실시간으로 들어온 사람들끼리 대화할 수 있는 채팅웹사이트 구현 개인 프로젝트 GitHub link 실제 사용(모바일) 구현항목 닉네임 입력시 채팅방 입장 기능 채팅방 입퇴장 알림 기능 채팅 메세지 송수신 기능 DM 기능 채팅시 닉네임 및 DM 반환 기술 스택 Front-end : HTML, CSS, JS, jQuery Back-end : node.js, express, AWS(E2) Tools : Git, Github Socket.IO 기본적인 기능을 구현하면서 Socket.io를 처음으로 공부해볼 수 있었다. noje.js에서는 여러 웹 소켓 라이브러리가 있는데, 대표적으로는 socket.io와 ws가 있다. 일단 기본적인 기능 구현을 하며 소켓을 공부해보는 것이 목표이.. 2022. 9. 20. 이전 1 ··· 3 4 5 6 7 다음