일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 웹팩
- 알고리즘
- 큐
- C
- vue3
- cors
- pytorch
- alexnet
- 자바스크립트
- RT scheduling
- 브라우저
- 연결 리스트
- 프로세스
- 배열
- GraphQL
- 해시테이블
- 스택
- Machine Learning
- RxJS
- 타입스크립트
- 포인터
- APOLLO
- 컨테이너
- 이진탐색
- 연결리스트
- 릿코드
- 자료구조
- 프론트엔드
- 프로그래머스
- 코딩테스트
- Today
- Total
목록분류 전체보기 (164)
프린세스 다이어리
1. GraphQL를 사용하기 위해 필요한 것 RestAPI와 마찬가지로, GraphQL 또한 데이터를 주고받기 위한 한 형식일 뿐이다. 누군가가 정보를 실제로 받을 수 있도록 만들어둔 장치가 아니라는 것이다. 따라서 GraphQL을 사용하려면 이미 만들어져 있는 솔루션(라이브러리)이 필요하다. GraphQL 라이브러리의 역할과 종류: - 백엔드에서 정보를 제공 및 처리 - 프론트엔드에서 요청 전송 - GraphQL.js, GraphQL Yoga, AWS Amplify, Relay,... 백엔드 단에서 요청이 들어오면 GraphQL이 요청을 해석해서 데이터베이스로부터 정보를 꺼내다가 가공 및 처리해서 다시 보내주는 것이다. 또 프론트 단에서도 해당 형식에 맞게 GraphQL 요청을 보낼 수 있어야 한다...
얄팍한 코딩 유튜브 강좌 1. GraphQL 형식 정리 (1) query RestAPI로 따지면 get 같은 역할을 하는 게 GraphQL에서는 query다. 모든 팀의 정보 전체를 받아오기 위해 다음과 같이 쿼리를 날릴 수 있다. query { teams { id manager office extension_number mascot cleaning_duty project } } 여기에서 manager와 office 정보만 받아오고 싶다면 이렇게 teams를 요청하면 된다. query { teams { manager office } } 그리고 id가 2인 팀을 받고 싶다면 team(id: 2)로 요청한다. query { team(id: 2) { manager office } } 이렇게 GraphQL에서는..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bp5sfQ/btrlKfaInDE/dHpDkRyHgToxYPYno3oKpk/img.png)
얄팍한 코딩 유튜브 강좌 1. RestAPI가 무엇인가? RestAPI는 데이터를 주고받을 수 있는 하나의 형식이다. 그 형식은 크게 두 파트로 나뉘는데, 하나는 URI고 하나는 요청 방식이다. (1) 요청 방식 GET 정보 받아오기 POST 정보 입력하기 PUT/PATCH 정보 수정하기 DELETE 정보 삭제하기 이런 것들이 있다. (2) URI 형식 우리가 항상 사용하는 주소창 url처럼 생겼다. 데이터 받아오기 GET localhost:3000/api/team GET localhost:3000/api/team/{id 번호} GET localhost:3000/api/people GET localhost:3000/api/people?{변수}={값}&{변수}={값} ... GET localhost:300..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/SezDd/btrkWPEGGrx/omZbSKaF4e3UdDRRVXESD1/img.png)
> 문제 바로가기 코딩테스트 연습 - 베스트앨범 스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 속한 노래가 programmers.co.kr 1. 접근 방법 (0) 일단 문제가 해시 카테고리에 있다는 점을 참고해 map을 생성하여 작성함. (1) map에 장르별로 key에 장르를, value에 각 곡의 인덱스와 실행 횟수를 배열로 넣어주고, 문제의 조건대로 value 정렬하기 let map = new Map(); for (let i = 0; i < genres.length; i++) { if (map.get(genres[i])) { map.set(genres[i], [...map...
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/LIdSw/btrkOkqLbr7/uwLyvvxobqkwgszTSLeCr0/img.png)
> 문제 바로가기 1. 접근 방법 (1) 주어지는 clothes 배열을 for...of 문으로 돌면서 map에 넣어준다. for (let clothing of clothes) { if (map.get(clothing[1])) { map.set(clothing[1], [...map.get(clothing[1]), clothing[0]]) } else { map.set(clothing[1], [clothing[0]]); } } (2) 옷을 입는 경우의 수를 계산한다. 아무것도 안 입는 경우는(-///-) 없기 때문에 마지막에 1을 뺀다. for (let [key, value] of map) { result = result * (value.length + 1) } return result - 1; 2. 전체 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/JdnMB/btrkPG1pWdF/1uJRdOJcMUbbNcZNxOBXh0/img.png)
> 문제 바로가기 1. 접근 방법 (0) 동명이인이 있을 수 있다는 점에서 해시 테이블로 푸는 방법을 생각했다. (1) participant를 map에 저장하면서, key는 참가자 이름, value는 동명이인이 이미 있으면 +1, 없으면 그냥 1로 넣어준다. for (let person of participant){ if(!map.get(person)){ map.set(person, 1); }else{ map.set(person, map.get(person)+1); } } (2) completion을 돌면서 한 명씩 map에 이름에 해당하는 값이 1이면 엘리먼트를 삭제해 주고, 2 이상이면 1을 뺀다. for(let person of completion){ if(map.get(person) >= 2){ ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/109Hv/btrkHoIm4hZ/0TG4PUBaFXwyaoSs06wqz0/img.png)
> 자바스크립트 해시 테이블 구현하는 방법에서 이어진다. class HashTable { table = new Array(3); /// ... } 만약 위 같이 테이블의 길이가 너무 짧은 경우에는 해시 충돌이 일어난다. myTable.setItem('firstName', 'eunjin'); myTable.setItem('lastName', 'lee'); myTable.setItem('age', 29); myTable.setItem('birth', '2000-00-00'); console.log(myTable.getItem('firstName')); // 2000-00-00 console.log(myTable.getItem('lastName')); // 2000-00-00 당장 key-value 4개만 집..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dvPKzB/btrkHcnJwQ9/gaUxkSn45aTAFbLpBkaE8k/img.png)
const person = {}; person['firstName'] = 'eunjin'; person['lastName'] = 'lee'; 위 코드는 string 자료형의 key에 해당하는 공간에 string 자료형의 value를 집어넣은 것이다. 이렇게 키와 값의 형태로 데이터를 저장하는 자료 구조를 자바스크립트의 object나 map, 파이썬의 dictionary 등으로 구현할 수 있다. 이들은 모두 해시 테이블의 일종이다. 자료구조를 공부할 때 흔히 이야기하는 해시 테이블이라 함은 특정 오퍼레이션에 대해 시간복잡도를 해결해야 할 때, 원하는 값을 key로 사용하는 자료구조다. 해시 테이블이 무엇인지 공부하고 자바스크립트로 해시 테이블을 짜는 방법을 정리해 보았다. 1. Hash Table 생성하기..