https://school.programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr dfs/bfs문제를 처음 접하는데 하루종일 풀었다. 이건 혼자서 풀어볼려고 하는 것보다 dfs/bfs 개념을 충분히 숙지한 뒤 푸는 게 더 좋을 것 같다. 처음에 이상한 풀이봐서 이해가 가지 않았는데 너무 친절하게 설명해주는 블로그 만나서 이해가 되었다. 📒 풀이 function solution(numbers, target) { let answer = 0; dfs(0, 0); function df..
전체 글
타입스크립트는 자바스크립트에 추가적인 구문을 추가하여 editor(ex. vscdoe) 와의 단단한 통합을 지원합니다. 따라서 이를 통해 editor에서 초기에 오류를 잡을 수 있습니다. 타입스크립트는 자바스크립트를 이해하고 타입 추론을 사용하여 추가 코드 없이도 훌륭한 도구를 제공합니다. const player = { age: 12 } player.age = false 타입스크립트에서 이런식으로 코드를 작성하면 바로 실행되기전에 player.age에 빨간 밑줄이 생긴다. 왜냐하면 타입스크립트는 타입 추론으로 age를 number로 인식하는데 갑자기 boolean을 할당하려고하니 타입이 다르다고 경고해주는 것이다. let a = "hello" a = "bye" a = 1 이와같이 첫 번째 a = "bye..
자바스크립트는 진짜 오류를 거의 만들지 않는다. 그냥 어떻게든 실행시켜줄려고 한다. 그래서 아래와 같은 코드도 작동이된다. [1, 2, 3, 4] + false // '1,2,3,4false' 이런식으로 array와 boolean을 그냥 string으로 만들어서 합쳐버린다. 엄청 이상한 일인데 자바스크립트는 아무렇지 않듯이 작동시켜준다. 다른 언어는 이를 허용하지 않는다. 허용되서는 안 되는 코드인데 허용이 된다니 .... 바로 이게 자바스크립트의 가장 큰 단점중에 하나이다. 이상적인 상태는 저렇게 했을때 자바스크립트가 저 부분이 잘못되었다고 알려주는 것이다. "왜 배열에 boolean을 더하려고 하나요?" 라고 말이다. 다른 경우도 보자 function divide(a, b) { rueturn a/b ..
와 오늘은 진짜 지옥이었다. 먼저 아침에 도메인 이름을 처음 구입하기에 한참 고민을 해서 ryandia.com이라는 도메인 이름을 구입하였다. 바로 EC2에 고정 IP를 할당하고 aws route 53에서 레고드를 생성하여 프로젝트를 할당했는데 헉 갑자기 에러가 떴다. crbug/1173575, non-JS module files deprecated 이 에러가 터졌다. 이 에러에 잘못걸리면 진짜 고생이다. 이 에러의 해결법은 너무나도 많다. 즉 원인이 다양하다는 것이다. 그 수많은 원인 중에 어떤 원인때문에 저 에러가 떴는지 찾아야한다. 해결법은 1 인터넷 연결확인 2 크롬을 종류후 다시 켜기 (쿠키삭제) 3. 크롬 네트워크 창의 throttle 설정이 오프라인으로 되어 있는지 확인 4. node mod..
하나의 컴퓨터에는 웹서버가 여러개가 설치될 수 있다. 웹서버 뿐만아니라 게임서버, 채팅서버등 여러가지 서버를 설치할 수 있다. 이때 우리가 특정 컴퓨터로 접속했을 때 이 여러개의 서버를 가진 컴퓨터중에 뭐가 어떤 서버인지 어떻게 식별할까? 우리가 접속을 할때 그 많은 서버들 중에 누구랑 상호작용을 할것인지를 서버 역할을 하는 컴퓨터에게 알려줘야하는데 이때 사용하는게 바로 port이다. 쉽게 이해하자면 IP로는 목적지를 찾을 수 있고 여러 서버중에서 원하는 서버를 찾을 수 있게 도와주는게 PORT이다. port는 0부터 65535번까지 있다. (총 65536개가 있다.) port 20번은 ssh가 쓰도록 정해져있다. port 80번은 웹이 쓰도록 정해져있다. 쉽게말해 server컴퓨터에 ssh서버를 설치하..
생활 코딩의 강의를 바탕으로 글을 정리함 Router 인터넷을 사용하기위해서는 ip address가 있어야 한다 그래야 다른 컴퓨터와 통신을 할 수 있기 때문이다. 예를 들어보자 왼쪽이 사용자 컴퓨터이고 오른쪽이 서버라고 해보자 왼쪽 컴퓨터가 서버에 요청을 할때(오른쪽 서버 ip에 요청을 한다) 왼쪽 사용자 컴퓨터의 ip도 같이 전달이 된다. 그때 오른쪽 서버가 왼쪽 컴퓨터의 요청을 응답을 해주면 싸이클이 끝난다. ( 응답은 오른쪽 서버가 요청한 ip으로 다시 응답해준다) 이와같이 정보를 서로 인터넷을 통해 주고 받기위해서는 ip address가 필요하다. 요즘 인터넷을 설치한다고 말하면 일반 가정에서는 보통 통신사와 하나의 회선 사용을 계약한다고 생각하면 된다. 하지만 보통은 집에 컴퓨터 말고도 인터넷..
req.body 유저의 정보 또는 파일을 클라이언트에서 웹서버로 POST요청을 보낼때 주로 사용한다. (JSON/ application형식으로 데이터를 보냄) req.body의 기본 값은 undefined로 설정되어있다. 따라서 접근할때 express.json() 과 express.urlencoded()와 같은 미들웨어랑 같이 사용이 된다. 요청 본문에 제출 된 키-값 데이터 쌍을 포함한다. 일단 예제를 보자 const express = require("express"); const app = express(); app.use(express.json()); app.use(express.urlencoded({ extended : true }); express.json() 이 하는 역할은 클라이언트 요청의 ..
https://school.programmers.co.kr/learn/courses/30/lessons/12899 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음에 보기에는 쉬워보였는데 알고봤는데 문제를 완전 잘못 해석했다. 나의 코드 전체코드 let result = ""; function solution(n) { let remainder = n % 3; let quotient = Math.floor(n / 3) if(!remainder){ quotient = Math.floor(n / 3) - 1; remainder = 3 } result += re..
https://school.programmers.co.kr/learn/courses/30/lessons/62048 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 코드 1) 실패한 코드 function solution(w, h) { const sum = h*w; if(w === 1 || h === 1) return 0; if(w > h){ const divide = w / h; return sum - Math.ceil(divide) * h; }else if(h > w){ const divideW = h / w; return sum - Math.ceil..