일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 |
- javascript
- 카카오
- graphql
- 프로그래머스
- 피보나치 수
- 코딩태스트
- linux
- REST API
- tr명령어
- nestjs
- 코딩테스트
- 실패율
- Bandit
- mutation
- typescript
- ROT13
- 모던 자바스크립트
- RestAPI
- Query
- kakao
- JavaStritp
- html
- vanila js
- 자바스크립트의 역사
- typeorm
- node
- 자바스크립트
- js
- 백준
- await
- Today
- Total
목록Language (21)
꿀 떨어지는 코딩 양봉장
Level Goal The password for the next level is stored in the file data.txt, which contains base64 encoded data base64로 인코딩 된 data.txt 파일 안에 비밀번호가 있을 것입니다. 풀이 base64로 인코딩된 파일을 다시 디코딩하는 방법을 찾아봤습니다. cat data.txt VGhlIHBhc3N3b3JkIGlzIElGdWt3S0dzRlc4TU9xM0lSRnFyeEUxaHhUTkViVVBSCg== data.txt 파일을 읽으면 base64로 인코딩 된 파일이 읽힙니다. base64로 인코딩된 파일을 다시 디코딩해보겠습니다. base64 -di data.txt The password is IFukwKGsFW8MO..
Level Goal The password for the next level is stored in the file data.txt in one of the few human-readable strings, preceded by several ‘=’ characters. 패스워드는 data.txt 파일 안에 humma-readable(사람이 읽을 수 있는 문자)로 저장되어있습니다. 그리고 몇 개의 "=" 문자 뒤에 나온다고 합니다. 풀이 첫 번째로 파일을 읽는 명령어 cat, 특정 문자열을 찾는 명령어 grep을 사용해서 문제를 풀어봅시다. cat data.txt | grep "==" Binary file (standard input) matches Binary파일이라서 읽지 못한다 라는 문구가 나옵니다..
ORM이란? Object Relation Mapping에 약자입니다. 객체와 관계형 데이터베이스의 데이터를 자동으로 Mapping(연결)해주는 것을 말합니다. 객체지향 프로그래밍은 클래스를 사용합니다. 관계형 데이터베이스는 테이블을 사용합니다. 객체 모델과 관계형 데이터베이스 사이에는 모델 간에 불일치가 존재합니다. ORM을 통해 객체 간의 관계를 바탕으로 SQL을 자동으로 생성하여 불일치를 해결합니다. 데이터베이스객체(class) TypeORM이란? 그럼 TypeORM이란 무엇일까요? express와 관계형 데이터베이스를 조합할 때 같이 사용되는 ORM으로 Sequelize라는 라이브러리가 있지만, 타입스크립트의 확대와 같이 인기가 높아지는 ORM이 바로 TypeORM입니다. TypeScript에서도 ..
async와 await async와 await라는 특별한 문법을 사용하면 프라미스를 조금 더 편하게 사용할 수 있습니다. async 함수 async는 function앞에 위치합니다. async function f(){ return 1; } function 앞에 async를 붙이면 해당 함수는 항상 프라미스를 반환합니다. 위 코드처럼 프라미스가 아니 값을 반환해도 이행 상태의 프라미스로 값을 감싸 이행된 프라미스가 반환되도록 합니다. async function f(){ return 1; } f().then(alert); 위 코드처럼 result가 1인 이행 프라미스가 반환됩니다. await await는 async function안에서만 사용이 가능합니다. let value = await promise 자바..
프라미스 API Promise 클래스에는 5가지 정적 메서드가 있습니다. 이번 시간에는 5가지의 메서드를 알아보도록 하겠습니다. Promise.all 여러 개의 프라미스들을 동시에 실행시킵니다. 모든 프라미스가 준비가 될 때까지 기다립니다. 문법 let promise = Promise.all([..promises...]); 예시 let promise = Promise.all([ new Promise(resolve=>setTimeout(()=>resolve(1),3000)), new Promise(resolve=>setTimeout(()=>resolve(2),2000)), new Promise(resolve=>setTimeout(()=>resolve(3),1000)), ]).then(response=>{ ..
저번 글에 이어서 이번에도 프라미스에 대해서 공부해 보도록 하겠습니다. 프라미스 체이닝 스크립트를 불러오는 것과 같이 순차적으로 처리해야 하는 비동기 작업이 여러 개 있을 수 있습니다. 만약 콜백만을 사용한다면 '콜백 지옥' 혹은 '멸망의 피라미드'가 만들어질 수 있습니다. 더 자세히 콜백에 대해서 알고 싶다면 아래 사이트를 참고하세요 https://ko.javascript.info/callbacks 콜백 ko.javascript.info 만약 이럴떄 프라미스를 사용한다면 여러 가지 해결책을 만들 수 있습니다. 이번 시간에는 프라미스 체이닝(promise chainnig)을 이용한 비동기 처리에 대해서 알아보도록 하겠습니다. 프라미스 체이닝이란? 프라미스 체이닝은 아래와 같이 생겼습니다. new Prom..
콜백 프라미스가 나오게 된 배경을 설명해줍니다. 콜백 함수란 쉽게 설명해서 나중에 호출되는 함수입니다. 프라미스 프라미스란? ES6에 도입된 기술입니다. 프라미스란 제작코드와 소비 코드를 연결해주는 특별한 자바스크립트 객체입니다. 프라미스는 시간이 얼마나 걸리든 상관없이 약속한 결과를 제작코드가 준비되었을 때, 모든 소비 코드가 결과를 사용할 수 있도록 해줍니다. 콜백함수가 해주는 일과 비슷하다고 할 수 있습니다. let promise = new Promise(function(resoleve, reject){ //executor 제작 코드 }); new Promise에 전달되는 함수는 executor(실행자, 실행함수)라고 부릅니다. executor는 new Promise가 만들어질 때 자동으로 실행되고..
GraphQL에 대해서 공부하기 이전에 REST API에 대해서 간단하게 알아보겠습니다. 📕REST API란 소프트웨어 간 정보를 주고받는 방식입니다. GraphQL이전부터 사용 '다른' 방식 - 용도와 작업 특성에 따라 적합한 것을 사용 ❓REST API를 알아보는 이유 이전 포스팅에서 어떤 언어를 배우기 이전에 언어의 탄생 배경에 대해서 알게 된다면 더욱더 언어를 쉽게 이해할 수 있다고 했습니다. 그래서 이번 시간에 GraphQl의 등장 배경과 목적에 대해서 알아보겠습니다. 저는 인프런에 GraphQL 강의를 보면서 따라 하고 있습니다. localhost:3000/api/team => team의 정보를 가져온다. localhost:3000/api/team/1 =>id가 1인 team의 정보를 가져온다..