항해14기 본과정 65

[항해 14기] 개발일지12 (동기/비동기, 객체 리터럴)

주특기 입문 1. 동기, 비동기 1) 동기 - 먼저 실행된 코드의 결과가 나올때까지 대기 2) 비동기 - 실행된 순서와 관계없이 결과가 나옴 3) Blocking Model - 코드의 실행이 끝나기 전까지 실행 제어권을 다른곳에 넘기지 않음 4) Non-Blocking Model - 코드의 실행이 끝나기 전에 실행 제어권을 다르곳에 넘김겨 다음 코드 실행 가능 - JS 방식, 동기적 명령을 제외환 모든 함수는 비동기적 실행 5) 동기와 Blocking 비교 - 제어권을 넘기지 않으면 비동기 처리가 가능한 환경이어도 비동기 처리 불가능 2. 프로미스 1) 프로미스 - 비동기 처리를 동기적 처리로 변환해주는 객체 2) executor - Promise 실행 함수, Promise가 만들어질 때 자동으로 실행 ..

[항해 14기] 개발일지11 (Node.js)

주특기 입문 1. Node.js 1) 개요 - Chrome V8 JavaScript 엔진으로 빌드 된 JavaScript 런타임 - Node.js를 통해 JS 애플리케이션들을 실행할 수 있으며, 주로 서버를 실행하는데 많이 사용 2) 상세 - JavaScript를 서버에서도 사용할 수 있도록 만든 프로그램 - JavaScript V8엔진 위에서 동작하는 런타임(환경) - 스크립트 언어가 아닌 프로그램 - 웹서버와 같이 확장성 있는 네트워크 프로그램을 제작하기 위해 만들어짐 - Non-blocking I/O와 단일 스레드 이벤트 루프를 통한 높은 처리 성능을 가지고 있는 것이 특징 3) Event-driven, Event Loop - 이벤트 기반(Event-driven) : 이벤트가 발생할 때 미리 지정해..

[항해 14기] 개발일지10 (프로그래머스 1LV - 카카오 기출)

알고리즘 1. 프로그래머스 14문제 중 남은 5개(심화 난이도) 1) 모든 문제 해결 완료 2) 해결한 문제 리스트 - 폰켓몬, [1차] 비밀지도, 키패드 누르기, [1차] 다트 게임, 크레인 인형뽑기 게임 2. 다른 방식으로 풀어볼 문제 - [카카오 인턴]키패드 누르기 : 나중에 맨하탄거리, 유클리드 거리 공부 후 해당 방식으로 연습 - [1차] 다트 게임 : 배열과 정규식 사용해서 코드 최적화 - 크레인 인형뽑기 게임 : 배열을 회전 시킨 뒤 pop등을 이용 3. 다시 풀어본 결과 - 다음달에 다시 풀어본 후 작성 예정 4. 리뷰 - 자료구조를 모르는 상태로 풀어서 비효율적인 코드 작성이 많았다. 추후에 자료구조 공부 이후 몇몇 문제를 다시 풀어볼 예정 - splice나 중첩 포문등을 자주 사용하여 ..

[항해 14기] 개발일지9 (프로그래머스 1LV)

알고리즘 1. 프로그래머스 14문제 중 9개(심화 난이도) 1) 모든 문제 해결 완료 2) 해결한 문제 리스트 - 약수의 개수와 덧셈, 약수의 합, 예산, 최대공약수와 최소공배수, K번째 수, - 나머지가 1이되는 수, 소수 찾기, 실패율, 체육복 2. 다른 방식으로 풀어볼 문제 - 약수의 개수와 덧셈 : 제곱근을 사용하여 코드를 줄여보자 - 체육복 : 이중포문 최적화 3. 다시 풀어본 결과 - 다음달에 다시 풀어본 후 작성 예정 4. 리뷰 - 중첩 반복문을 남용하는 습관을 줄이자

[항해 14기] 개발일지8 (프로그래머스 숙련)

알고리즘 1. 프로그래머스 12문제(중간 난이도) 1) 모든 문제 해결 완료 2) 해결한 문제 리스트 - 3진법 뒤집기, 최소직사각형, 같은 숫자는 싫어, 두 개 뽑아서 더하기, 로또의 순위, 모의고사 - 문자열 정렬하기, 내림차순으로 배치하기, 소수 만들기, 숫자 문자열과 영단어, 시저 암호, 신규 아이디 추천 2. 다른 방식으로 풀어볼 문제 - 로또의 순위 : 배열 만들어서 비교 - 모의고사 : 배열 만들어서 비교 - 숫자 문자열과 영단어 : 배열or객체, 정규식 이용 3. 다시 풀어본 결과 - 다음달에 다시 풀어본 후 작성 예정 4. 리뷰 - 컨디션이 좋지 않은 상태로 진행하였고, 문제 제출에만 급급하여 비효율적인 코드가 많이 나옴 - 사이즈가 작은 특정 규칙들은 배열로 비교하여 풀면 코드 최적화가..

[항해 14기] 개발일지7 (프로그래머스 기본)

알고리즘 1. 프로그래머스 28문제(기본 난이도) 1) 모든 문제 해결 완료 2) 해결한 문제 리스트 - 직사각형 별찍기, 짝수와 홀수, 가운데 글자 가져오기, 두 정수 사이의 합, 문자열을 정수로 바꾸기 - 없는 숫자 더하기, 음양 더하기, 평균 구하기, 핸드폰 번호 가리기, 행렬의 덧셈 - x만큼 간격이 있는 n개의 숫자, 부족한 금액 계산하기, 2016년, 나누어 떨어지는 숫자 배열, 내적 - 문자열 내 p와 y의 개수, 문자열 다루기 기본, 서울에서 김서방 찾기, 수박수박수박수박수박수?, 완주하지 못한 선수 - 이상한 문자 만들기, 자릿수 더하기, 자연수 뒤집기, 내림차순으로 배치하기, 정수 제곱근 판별 - 제일 작은 수 제거하기, 콜라츠 추측, 하샤드 수 2. 다른 방식으로 풀어볼 문제 - 문자..

[항해 14기] 4주차 WIL (Restful API, package.json)

1. Restful API 1) REST - HTTP를 기반으로 클라이언트와 서버 간에 데이터를 주고받을 때 특정 인터페이스를 제공하여 Router들의 분산이 가능해짐 - REST 아키텍처에서는 자원을 중심으로 데이터를 관리. 자원은 URI로 식별되며 HTTP 메소드(GET, POST, PUT, DELETE 등)로 작업 수행. - 상태를 유지하지 않는(stateless) 구조 : 서버가 세션 정보 등을 유지하지 않고 요청에 응답하여 서버 부하가 줄어들고 서버의 확장성이 좋아짐 - 자원에 대한 표현(Representation) : 서버와 클라이언트 간의 데이터 형식에 대한 의존성이 줄어듬 2) URI - URL(자원 위치 식별), URN(자원 이름 식별)으로 구성 3) REstful - REST 방식으로 ..

[항해 14기] 개발일지5 (JS심화)

JS 심화 1. 데이터 타입 1) 기본형 : Number, String, Boolean, null, undefined, Symbol - 값이 담긴 주소값 바로 복제, 불변성(데이터 메모리 변경 불가) 2) 참조형(Object) : Array, Function, Date, RegExp,Map,Set - 기본형들의 묶음을 가리키는 주소값 복제, 불변X(데이터 메모리 변경 가능) 3) 메모리 키워드 - 변수 메모리, 데이터 메모리, 참조형 메모리, 가비지 컬렉터 2. 실행컨텍스트 1) 개요 - 선언된 변수 끌어올림(호이스팅), 외부 환경 정보 구성, this 설정 - 콜스택 방식 2) 컨텍스트 구성 - 전역 컨텍스트 : 스크립트를 실행하는 최상위 컨텍스트, 전역 컨텍스트는 단 하나만 존재하며, 코드 실행 전에..

[항해 14기] 개발일지4 (JS - 숫자야구 구현)

본과정 1주차 과제 - 숫자야구 만들기 1. 과제 조건 2. 구상 1) node에서 실행을 위한 리드라인 생성 2) 랜덤함수 제작 3) 입력값에 대한 S,B 판정 4) 시도횟수 카운트 5) 입력값이 난수값과 같을 시 종료 6) 콘솔로그 배분 3. 구현 1) 리드라인 const readline = require("readline"); const rl = readline.createInterface({ input: process.stdin, output: process.stdout, }); rl.on("line", (line) => { let input = []; input.push(line.split("").map((a) => parseInt(a))); console.log(`${count}번째 시도 :`..