분류 전체보기

JVM/JPA

[QueryDSL] Date 별 Group By 는 Expressions.dateTemplate !! 혹은 StringTemplate ??

서론 --- 회사에서 일 별 합계를 구해야 하는 페이지를 제작 중에 시간까지 저장되어 있는 쿼리를 어떻게 변환하여 적용하는 지에 대해 꽤 오랜 시간을 찾다가 깨닫게 되어서 글을 작성해본다. 본론 -- dsl에 있는 메소드인 'Expressions.stringTemplate' 를 사용하면 된다. DateTemplate formattedDate = Expressions.dateTemplate(LocalDateTime.class, "DATE_FORMAT({0}, {1})", qItem.loadDt, "%d/%m/%Y"); DateTemplate formattedDate = Expressions.dateTemplate(LocalDateTime.class, "DATE_FORMAT({0}, {1})", qItem...

DataBase

left outer join ?

첫 번째 테이블은 조건과 관계없이 모두 결합된다. SELECT [열 목록] FROM [첫 번째 테이블] LEFT OUTER JOIN [두 번째 테이블] ON [조인될 조건] WHERE [검색 조건] 예시) select a.* , b.device_id from simple_check_list a left outer join (select * from simple_device_check where device_id = #{deviceId}) b on b.check_list_id = a.check_list_id where a.device_type_id = #{deviceTypeId} ------------------------------------------------------ select a.* , b.d..

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들이 가져와진걸 보고 "아 비동기처리 했다!" 라고 생각을 했다. 그 당시엔 비동기 처리가 뭔지.. 우리 사이트에 ..

JavaScript/JavaScript

[JavaScript]프로트타입(Prototype) ??

프로트타입은 자바스크립트에서 어쩌면? 가장 핵심적인 내용이라고도 볼 수 있습니다. '함수는 객체다.' 라는 말을 들어보셨을 겁니다. function a(x, y) { return x - y; } a.add = "No add"; console.log(a.add); 이런 식으로 add를 추가시켜서 Key/Value 를 가질 수 있습니다. 추가를 시킬 수도 있지만 기존에 있던 것들도 사용할 수 있습니다. 평소에도 많이 보셨던 a.name, a.length 등 이렇게 사용할 수 있는게 바로 함수가 객체이고 자바스크립트가 프로트타입 방식이기 때문입니다. 예제와 이미지를 통해 설명을 하면 이해하기 더 쉽겠지만 이번 포스팅에선 간단하게 글로만 제가 이해한 것을 바탕으로 적어만 두고, 나중에 한번 수정할 예정입니다. ..

Hyo Kim
'분류 전체보기' 카테고리의 글 목록 (16 Page)