[JavaScript] ... 문법
·
JavaScript
자바스크립트에서 ... 을 사용하는 문법이 2개가 있다. 하나는 rest 파라미터, 다른 하나는 spread operator 가 있다. rest 파라미터 함수에 파라미터를 넘겨줄 때, 몇 개의 파라미터가 들어갈지 미리 정의할 수 없는 경우가 있다. 그럴 때 사용하는 것이 rest 파라미터이다. function addAll(...num) { let sum = 0; num.forEach(element => { sum+= element; }) return sum; } addAll(1,2,3,4,5); addAll(1,2,3,4,5,6,7,8,9,10); 함수 파라미터의 명칭 앞에 ... 을 붙여주면 파라미터를 여러 개를 받는다는 뜻이다. 특징으로는 일반 파라미터 뒤에만 올 수 있다. function addAl..
[TypeScript] class 만들 때 타입 지정
·
TypeScript/기초
필드 값 타입 지정 class 내부에는 모든 자식이 사용할 수 있는 속성을 만들어 줄 수 있다. class Person { data = 0; } let seo = new Person(); let park = new Person(); console.log(seo.data); // 0 console.log(park.data);// 0 타입스크립트를 사용하면 이런 속성에게도 타입을 지정할 수 있다. class Person{ data: number = 0; } // ... seo.data = "a" // number로 설정되어 있는데 문자 할당 시 에러 가만히 냅둬도 사실 타입스크립트가 자동으로 number 타입을 지정해주지만 명시하고 싶다면 일반 변수처럼 타입을 지정할 수 있다. constructor 타입지정..
[알고리즘] 수식 최대화
·
알고리즘
문제 설명 IT 벤처 회사를 운영하고 있는 라이언은 매년 사내 해커톤 대회를 개최하여 우승자에게 상금을 지급하고 있습니다. 이번 대회에서는 우승자에게 지급되는 상금을 이전 대회와는 다르게 다음과 같은 방식으로 결정하려고 합니다. 해커톤 대회에 참가하는 모든 참가자들에게는 숫자들과 3가지의 연산문자(+, -, *) 만으로 이루어진 연산 수식이 전달되며, 참가자의 미션은 전달받은 수식에 포함된 연산자의 우선순위를 자유롭게 재정의하여 만들 수 있는 가장 큰 숫자를 제출하는 것입니다. 단, 연산자의 우선순위를 새로 정의할 때, 같은 순위의 연산자는 없어야 합니다. 즉, + > - > * 또는 - > * > + 등과 같이 연산자 우선순위를 정의할 수 있으나 +,* > - 또는 * > +,-처럼 2개 이상의 연산자..
해바라기 키우기 - 10일차
·
취미생활/잉여의 식물키우기
어제 말한 대로 한번 위치를 돌려서 두었다. 이제 저친구만 좀 더 성장하면 아파트 화단에 몰래 심는 계획을 진행하면 될 것 같다. 근데 심었다가 밟혀서 죽으면 어떡하지.... 걱정도 있다.
[Node.js] Zoom 클론코딩 - 채팅편
·
Node.js/실험실
0. 들어가며 앞서 세팅편을 보지 않으셨다면 먼저 보고 오시는 것을 추천합니다. 1. [Node.js] Zoom 클론코딩 - 세팅편 1. 서버 설정하기 npm i ws Node.js에서 webSocket의 핵심 패키지인 ws이다. express는 기본적으로 http를 지원하기 때문에 ws는 지원하지 않는다. 그래서 서버에 ws 기능을 추가로 설치할 예정이다. import express from "express"; import http from "http"; const app = express(); app.set("view engine", "pug"); app.set("views", __dirname + "/views"); app.use("/public", express.static(__dirname + ..
해바라기 키우기 - 9일차
·
취미생활/잉여의 식물키우기
하루가 다르게 이친구들은 쑥쑥 자라고 있네요. 오른쪽 구석에 있는 친구가 생각보다 자라는게 더디길래 주기적으로 화분을 돌려가면서 햇빛을 보게 하는 방식으로 키우면 잘 성장할까 궁금하네요. 우선 내일은 돌려서 한번 나둬봐야겠어요. 그리고 이제 새싹인 친구들은 없어서 더이상 분무기로 물을 주는게 아닌 물뿌리개로 물을 주고 있어요.
[Node.js] Zoom 클론코딩 - 세팅편
·
Node.js/실험실
0. 들어가며 WebSocket 공부를 위해서 JavaScript와 Node.js를 사용해서 Zoom 클론 코딩을 할 계획이다. 사용하는 준비물로는 Node.js, JavaScript, Socket.io를 사용할 예정이다. 1. Server 세팅 프로젝트 폴더를 만들고 초기 세팅을 진행한다. npm init -y npm i nodemon @babel/core @babel/cli @babel/node @babel/preset-env -D 코드를 변경하면 자동으로 새로고침이 되길 원하기 때문에 nodemon을 설치해준다. 또 바벨 설정을 위해서 필요한 패키지들도 함께 다운로드한다. { "ignore": ["src/public/*"], "exec": "babel-node src/server.js" } node..
해바라기 키우기 - 8일차
·
취미생활/잉여의 식물키우기
하루가 다르게 쑥쑥 자라나는 우리 해바라기 친구들이다. 좀 더 성장하면 아파트 화단에 옮겨 심고 그쪽에서 관리를 하는게 어떤가 하는 고민도 생기고 있다. 요 친구가 지난번에 말한 잎이 3개로 나뉘어진 해바라기다. 다른 녀석들은 2개로 나뉘었는데 이녀석만 3개라서 신기한 친구이다