전체 글

개발 관련 새롭게 알게 된 지식이나 좋은 정보들을 메모하는 공간입니다.
· BE/Java
MapStruct는 객체끼리 매핑을 해주는 유용한 기능이다. 간단하게 아래의 예로 사용법을 알아보자.준비사항MapStruct는 Getter, Setter or builder 를 사용하기 때문에 lombok이 있으면 더욱 편리하게 사용할 수 있다.dependency 설정 시, Lombok 뒤에 MapStruct를 넣어줘야 정상적으로 실행 가능하다.매핑에 진행하기 앞서, 반드시 매핑을 진행하는 두 객체는 아래와 같은 설정을 해야 한다. 반환 타입의 객체: Builder or Setter 필요 (반환 타입의 객체에 데이터를 설정해야 하기 때문)파라미터 타입의 객체: Getter 필요(파라미터 객체의 데이터를 읽어야 하기 때문) Category.java (Entity)import jakarta.persiste..
· Git
특정 레파지토리를 Fork 하는데, 비공개 레파지토리로 가져오고 싶은 경우가 있었다.github에서는 fork 시, 항상 public 레파지토리로 생성해준다. 이번 글에서는 private 하게 가져오는 방법에 대해서 적어보겠다.bare clone과 mirror-push가 핵심 역할을 한다.아래는 내가 실제로 사용했던 방식대로 정리한 내용이다.1. bare clone일반적인 git clone은 체크아웃된 작업 폴더 + .git 구조다.하지만 우리는 지금 작업용 clone이 아니라, 저장소 전체를 복사하는 게 목적이다.그래서 bare clone을 쓴다.git clone --bare https://github.com/원본저장소/프로젝트.git bare작업 파일이 없는 순수 저장소(repo) 형태 를 의미함.p..
· FE/Framework
Electron을 처음 접하니, 브라우저랑 무슨 차이인 지 헷갈렸다.사실 구조 자체는 단순하지만, Main Process와 Renderer Process, 그리고 이 사이의 통신 구조가 생각보다 중요해보였다.이번 글에서는 Electron의 핵심 구조와 Renderer 활용법을 정리해본다.1. Main Process / Renderer ProcessElectron은 Node.js + Chromium 조합즉, 브라우저처럼 화면을 그리는 부분과, OS 기능을 다루는 Node 환경이 한 프로젝트 안에서 공존 Main Process앱 실행과 종료, 창 관리, OS와 직접적으로 상호작용Node.js 모듈 사용 가능 (fs, path, child_process)보통 단 한 개만 존재예: 창 생성, 시스템 트레이 등록..
· FE/Framework
1. 개요평소에 웹 개발을 하고 있는데, 개발 및 테스트를 하다 보면 항상 브라우저별 테스트가 문제였다.같은 코드인데 크롬에서는 잘 나오고, 엣지에서는 미묘하게 다르고, 사파리에서는 CSS가 또 다르게 동작한다.이런 걸 매번 브라우저별로 확인하고 수정하는 게 너무 번거로웠다. 그러다 Electron 프레임워크에 대해서 알게되었고이걸 적용하게 될지는 모르지만 관심이 생겨 해당 프레임워크에 대해서 알아볼 것이다. 2. Electron이란?Electron은 Node.js + Chromium 기반의 프레임워크다.즉, 웹 기술(HTML, CSS, JS)만으로 Windows, macOS, Linux용 데스크톱 앱을 만들 수 있다. Electron은 크게 두 영역으로 나뉜다.Main ProcessNode.js가 동..
멍목
김멍목의 개발블로그