전체 글(42)
-
Intellij GUI로 불필요한 Git Commit 취소하기
1. Intellij GUI를 사용하여 커밋 취소하기Version Control 탭 열기Intellij 하단의 "Version Control" 탭을 클릭 한다.Commit 탭에서 커밋 내역을 확인할 수 있다최근 커밋 선택"Log" 탭으로 이동 한다.가장 최근 커밋을 오른쪽 클릭Reset Current Branch to Here 선택우클릭 메뉴에서 **"Reset Current Branch to Here"**를 선택Reset Type 선택Mixed를 선택하면, 커밋은 삭제되지만, 변경된 파일은 Staged 상태로 유지Soft를 선택하면, 커밋은 삭제되고, 변경된 파일이 Working Directory에 남음Hard를 선택하면, 커밋과 함께 변경사항도 완전히 삭제확인원하는 Reset Type을 선택한 후 확..
2025.03.15 -
JSON_ARRAYAGG와 JSON_OBJECTAGG 차이 (Mysql 8.0)
JSON_ARRAYAGG() 함수와 JSON_OBJECTAGG() 함수는 MySQL에서 JSON 데이터를 집계하는 데 사용되는 함수로, 각각 다른 형태의 JSON 구조를 생성한다. 이 두 함수의 차이점은 생성되는 JSON 데이터의 형태에 있다.1. JSON_ARRAYAGG()JSON_ARRAYAGG() 함수는 JSON 배열을 생성, 여러 개의 값을 한 배열로 묶어서 JSON 형태로 반환할 때 사용된다. 쉽게 말해, 특정 컬럼의 값을 순차적으로 모아서 하나의 배열을 만드는 역할을 한다.예제:다음과 같은 테이블이 있다고 가정id name1John2Jane3Smith이 데이터를 JSON_ARRAYAGG()로 집계하면:SELECT JSON_ARRAYAGG(name) AS names_arrayFROM employ..
2025.02.12 -
‘com.docker.vmnetd’에 악성 코드가 포함되어 있어서 열리지 않았습니다. (docker-desktop Mac인증서 issue)
Macbook Air M3 칩을 사용하고 있는데 갑자기 Docker Desktop 앱이 실행 안되는 오류가 발생하고 있다. https://docs.docker.com/desktop/setup/install/mac-install/위 url에 들어가 docker desktop을 재설치해도 마찬가지로 오류가 발생하고 있다.도커 공식 repository에 Malware detection prevents Docker Desktop to start 라는 issue에 해당 오류와 관련된 내용들이 나오는데check.sh.txt를 다운받고 이름을 변경 한 뒤 ./check.sh /Library/PrivilegedHelperTools/com.docker.vmnetd 를 실행하라는 내용이 나온다.check.sh#!/bin/..
2025.01.15 -
조인 테이블이 있으면 다대다 관계다?
회사에서 ORM을 사용하고 있는데 내가 보기에는 @ManyToMany를 사용하는게 적절해 1대다 관계를 양측에 만들고 중간테이블을 엔티티로 만들어 놓을 것을 보면서 다대다 관계에 대한 이야기를 나누었는데 상대방이 생각하는 다대다 테이블과 내가 생각하는 다대다 관계 테이블이 달라서 이야기를 나누다가 작성하게 되었다.결론만 간략하게 이야기 한다면 나의 의견은 중간테이블(User_Project)이 존재하는 User 테이블과 Project 테이블이 존재 한다면 User 테이블과 Proejct 테이블은 서로 N:M 관계 즉 다대다 관계라고 보는것이 내 생각이였고 상대방은 User테이블에 Project테이블의 FK 값이 직접적으로 존재하지 않으니 다대다 관계가 아니라는 것이다. 중간테이블을 만들게 되면 User테이..
2024.12.28 -
Nest, Adonis, Express 비교 하기
Node.js 환경에서 API 서버를 개발 할 때 처음엔 express를 사용했었다 그 당시에는 express가 너무 자유로워서 개발자들 마다 실력차이가 심하고 보일러플레이트 마다 안티패턴이 존재하거나 상대적으로 적을 수 있다고 생각이 들었다. 그러다가 nest.js를 접하면서 spring boot와 많이 닮아있는 nest.js가 만족스러웠는데 Lalavel에 영향을 받아 비슷한 구조를 가진다고 한다.공식문서, Chat GPT, 기타 검색을 통해 각 프레임워크에 차이가 궁금했는데 GPT의 답변이 요약과 정리가 잘 되어있다는 생각이 들었고 이해하는데 도움이 많이 된다는 생각이 들어 질문과 답변을 비루하게 나마 포스트로 남긴다.AdonisJS 와 nest.js의 특징, 장점, 단점에 대해 설명해줘Adonis..
2024.12.09 -
Nest.js 공부하기 (2)
Custom Pipe 만들기커스텀 파이프를 만들기 위해서는 PipeTransForm을 반드시 implements 해야 하고 transform 메서드를 오버라이드 해서 구현해야 한다.자바를 사용한 개발자라면 익숙한 방식 일 것 같다.import { ArgumentMetadata, PipeTransform } from '@nestjs/common';export class BoardStatusValidationPipe implements PipeTransform { transform(value: any, metadata: ArgumentMetadata) { throw new Error('Method not implemented.'); }}기본적으로 PipeTransform을 implem..
2024.11.27