JS

JavaScript

[JavaScript] 교집합, 합집합, 차집합 구현

😢서론 파이썬 코드로 알고리즘을 공부하다가 파이썬에선 집합들을 엄청 쉽게 구현하는 것들을 보고 충격받았다... js에서도 있나 찾아봤는데 없는 것 같아서 따로 코드로 정리를 해보려고 한다. 😉본론 파이썬 코드 first = set([1, 2, 3, 4, 4, 2]) second = set([1, 3, 5, 1]) print(first | second) # 합집합 [1, 2, 3, 4, 5] print(first & second) # 교집합 [1, 3] print(first - second) # 차집합 [2, 4] 위 코드를 js 문법을 통해서 구현해보려 한다. JS 코드 const first = new Set([1, 2, 3, 4, 4, 2]); const second = new Set([1, 3, 5,..

JavaScript/JavaScript

[JavaScript] Object key and value loop Object.entries()

🙄서론 파이썬 문법에 key와 value를 한 번에 가져와서 for문을 돌리는 걸 보고 js에도 있나 찾아보게 되었다. 🤗본론 파이썬 문법 stations = {} stations['kone'] = ['id', 'nv', 'ut'] stations['ktwo'] = ['wa', 'id', 'mt'] for key, value in stations.items(): print(key) print(value) 딕셔너리를 key, value 모두 가져와서 사용할 수 있다. 자바스크립트 문법 const object1 = { a: 'somestring', b: 42 }; for (const [key, value] of Object.entries(object1)) { console.log(`${key}: ${valu..

JavaScript/JavaScript

[JavaScript]두 배열 안에 오브젝트를 비교 후 중복된 값 제거

서론 --- 몇 시간동안 고민 후 일단 짠 다음 과장님께 코드리뷰를 부탁드려서 결국 사내 라이브러리를 통해 내가 짠 코드보다 몇 배는 간결하게(거의 2~3줄로 끝낸..) 끝을 내는 방법을 찾아 해결을 하긴 했다. 하지만, 회사 라이브러리 없이 어떻게 짜는 방법이 간결한지 궁금해서 기록 느낌으로 일단 짠 코드를 올려서 나중에 다시 이런 일이 있었을 때 보고 예전엔 저렇게 짰었구나 생각하기 위한 글. 본론 --- 오브젝트로 구성된 배열이 A, B가 있다. 오브젝트 안에 있는 name, address 두 가지를 같이 비교를 하여, B와 같은 name, address가 A에 있는지 확인하여 A에 있다면 A에서 그 오브젝트를 제거하는 로직 내가 생각한 방식은 새로 배열을 만들어서 일단 무조건 넣고, 중복된 걸 찾..

JavaScript/NodeJs

express.use 메소드

app.use([path,] callback [, callback...]) 1. 패스가 지정되어 있지 않기 때문에 모든 경로에서 계속 호출 app.use(function (req, res, next) { console.log('Time: %d', Date.now()) next() }) 2. '/abcd' 경로에 들어왔을 때만 실행 app.use('/abcd', function (req, res, next) { console.log('Time: %d', Date.now()) next() }); 참고주소

JavaScript/NodeJs

[Prisma2] ON DELETE CASCADE는 어떻게 하는건가!

www.prisma.io/docs/getting-started/setup-prisma/start-from-scratch-sql-node-mysql Start from scratch (Node.js & MySQL) Learn how to create a new Node.js or TypeScript project from scratch by connecting Prisma to your database and generating Prisma Client for database access. www.prisma.io Prisma2를 배우면서 위에 사이트에서 보면서 따라하는 것을 해보았다. 하는 도중에 막히는 부분이 있어서 글로 남겨본다. 거의 막바지에 delete를 하는 부분이 있었는데 아래 에러가 발생하였..

Project

'Graphql'을 선택한 이유

이번 프로젝트를 시작하기에 앞서 graphql에 접하게 되었다. 하는방법이나 연습은 Nomad Coders와 howtographql를 통해 쉽게 접할 수 있었다. 지금까지 REST API로 작업하면서 느꼈던 불편함들을 graphql을 통해 해소할 수 있었으며, 코드의 간결함, 보기쉽고 백과 프론트가 주고받기 쉬움 등 여러 장점이 있었다. 내가 느낀 장점과 해외사이트에서 소개한 장점들을 설명하면서 Graphql이 왜 주목을 받는지 정리를 해볼 예정이다. 일단 'Graphql'은 Fackbook에서 만든 오픈소스 쿼리언어입니다. 현재 전 세계에 있는 대기업 및 개인커뮤니티에서 관리를 하며 빠른 성장세를 유지하고 있습니다. 오랫동안 유지해오던 REST API의 대안으로 나온 Graphql이 이토록 무서운 성장..

JavaScript/NodeJs

[GraphQL] Over-fetching과 Under-fetching?

기술스택을 늘리고 싶다는 생각만으로 GraphQL을 공부하려고 했다. 하려고 찾아보니 기존 RESTAPI에 있는 문제점인 Over-fetching과 Under-fetching를 해결하기 위해 나온 API 쿼리언어라는 것을 알게 되었다. 그럼 Over-fetching과 Under-fetching이 뭔지 알아야 좀 더 효율적으로 사용할 수 있을 것 같아 정리를 해보려고 한다. Over-fetching API를 호출 시 필요없는 데이터(?) 사용하지 않을 데이터까지 딸려오는 것을 말한다. 만약 내가 유저의 정보 중에서 유저의 이름만을 원한다고 하면 어떨까? { user: [ { "id": 1, "name": "dong", "email": "naver.com", "age" : 23, }, { "id": 2, "..

JavaScript/JavaScript

[일기]async await 비동기 방식 처리

http://kdhyo.kr Mapstival Best Travel with a map Start kdhyo.kr 첫 프로젝트로 축제사이트를 만들었을 당시 nodejs와 자바스크립트에 대한 어떻게 만지는지에 대해서만 배운 후 바로 만들었던 작품이었다. 그 당시에 축제 API를 불러오는 과정에서 비동기방식으로 처리를 해야된다는 이야기를 듣고, 어떻게 불러오고, 어떻게 비동기 방식으로 처리해야되는지 감이 안오는 상태에서 이것저것 검색을 해보았을 때 promise와 axios 그리고 async await에 대한 단어들을 알게 되었고 그것들을 실제 적용을 하였다. 적용을 하고 보니 정상적으로 api들이 가져와진걸 보고 "아 비동기처리 했다!" 라고 생각을 했다. 그 당시엔 비동기 처리가 뭔지.. 우리 사이트에 ..

Hyo Kim
'JS' 태그의 글 목록