본문 바로가기

반응형

분류 전체보기

(501)
[문자열 & 해시맵] 프로그래머스 '오픈채팅방' 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/42888#qna 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 코드 처음에는 아이디에 따른 닉네임 저장을 객체를 사용해서 했다. 하지만 이 방법은 1,16번 테케만 통과되었다. 시간도 조금 더 걸렸던 것 같고... 객체를 사용하면 왜 안되는지는 모르겠다만, 이런 유형들은 해시 맵을 사용하는 쪽이 더 나은 것 같다. function solution(record) { let answer = []; let newRecord = []; // ..
[디자인패턴 & 프로그래밍 패러다임] 프록시/이터레이터/노출모듈/MVC/MVP/MVVM & 선언형/함수형/객체지향/절차지향 2023.4.8 43p~65p 1.1.5 프록시 패턴과 프록시 서버 프록시 패턴? 프록시 패턴은 대상 객체에 접근하기 전 그 접근에 대한 흐름을 가로채 대상 객체 앞단의 인터페이스 역할을 하는 디자인 패턴이다. 이를 사용해 객체의 속성, 변환 등을 보완하고 보안, 데이터검증, 캐싱, 로깅에 사용한다. * 프록시 서버에서의 캐싱 : 캐시 안에 정보를 담은 후 캐시 안에 있는 정보를 요구하는 요청에 캐시 안에 있는 데이터를 활용하는 것이다. 불필요하게 외부와 다시 연결하지 않기 때문에 트래픽을 줄일 수 있다는 장점이 있다. 프록시 서버? 서버와 클라이언트 상이에서 클라이언트가 자신을 통해 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해주는 컴퓨터 시스템이나 응용 프로그램이다. nginx는 비동기 이벤트..
17장 생성자 함수에 의한 객체 생성 2023년 4월 8일 234p~248p 17장 생성자 함수에 의한 객체 생성 17.1 Object 생성자 함수 new 연산자와 함께 Object 생성자 함수를 호출하면 먼저 빈 객체를 생성하여 반환하고, 프로퍼티 또는 메서드를 추가한다. // 빈 객체의 생성 const person = new Object(); // 프로퍼티 추가 person.name = 'Lee'; person.sayHello = function () { console.log('Hi! My name is ' + this.name); }; console.log(person); // {name: "Lee", sayHello: ƒ} person.sayHello(); // Hi! My name is Lee 생성자 함수란 new 연산자와 함께 호..
객체 key 값으로 정렬하기 배열 정렬은 많이 해봤지만, 객체를 Key 값으로 정렬할 경우가 생길 것 같아 기록해본다. const unordered = { 'b': 'foo', 'c': 'bar', 'a': 'baz' }; console.log(JSON.stringify(unordered)); // → '{"b":"foo","c":"bar","a":"baz"}' const ordered = Object.keys(unordered).sort().reduce( (obj, key) => { obj[key] = unordered[key]; return obj; }, {} ); console.log(JSON.stringify(ordered)); // → '{"a":"baz","b":"foo","c":"bar"}'
[문자열 & 해시] 프로그래머스 '주차 요금 계산' - js 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/92341 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 코드 이 문제는 주어진 records 배열을 계산하기 쉽게 지지고 볶아주는 것이 포인트다. 나는 객체와 해시 맵을 사용했다. 자세한 설명은 주석으로 대신한다. function solution(fees, records) { let newR = [],car = {}, map = new Map(), fee = [], temp = []; // 계산하기 편하게 빈칸 기준으로 값 나눠주기(n..
[문자열] 프로그래머스 'n진수 게임' - js 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/17687 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 코드 이 문제는 차분하게 for문의 조건을 생각해보는 것이 관건이였던 문제같다. 습관적으로 let i=0부터 적고 나니 머리가 복잡해졌지만, 돌이켜 생각해보니 내 순서와 참여인원을 알고 있으면 쉽게 for문의 조건을 만들어 줄 수 있었다. 차분하게! function solution(n, t, m, p) { let answer = []; let str = ""; let i = 0; ..
[디자인 패턴] 싱글톤/팩토리/전략/옵저버 2023년 4월 7일 16p~43p 라이브러리 & 프레임워크 라이브러리와 프레임워크는 공통으로 사용될 수 있는 특정한 기능들을 모듈화한 것을 의미한다. 라이브러리는 폴더명, 파일명 등에 대한 규칙이 없고 프레임워크에 비해 자유롭지만 프임워크는 규칙이 있으며 라이브러리에 비해 좀 더 엄격하다. 1.1 디자인 패턴 디자인 패턴이란 프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이용하여 해결할 수 있도록 하나의 규약 형태로 만들어 놓은 것이다. 1.1.1 싱글톤 패턴 싱글톤 패턴이란 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴이다. 하나의 클래스를 기반으로 단 하나의 인스턴스를 만들어 이를 기반으로 로직을 만드는 데 쓰이며, 보통 데이터베이스 연결 모듈에 많이 사용한다고 한다. /..
19장 프로토타입(3) 2023년 4월 7일 209p~312p 19장 프로토타입 19.11 직접상속 19.11.1 Object.create에 의한 직접 상속 Object.create 메서드는 명시적으로 프로토타입을 지정하여 새로운 객체를 생성한다. Object.create 메서드도 다른 객체 생성 방식과 마찬가지로 추상 연산 OrdinaryObjectCreate를 호출한다. Object.create의 첫번째 매개변수에는 생성할 객체의 프로토타입으로 지정할 객체를 전달하고, 두번째 매개변수에는 생성할 객체의 프로퍼티 키와 프로퍼티 디스크립터 객체로 이루어진 객체를 전달하며 이것은 옵션이다. // 프로토타입이 null인 객체를 생성한다. 생성된 객체는 프로토타입 체인의 종점에 위치한다. // obj -> null let obj =..

반응형