전체글 138

5. PlantUML로 ERD와 Sequence Diagram을 그린 학습내용 정리하기

사이드 프로젝트를 진행하며 말로만 설명하는것에 대해 한계를 느껴,이런 설계문서를 작성해 두는것도 좋을것 같아서 학습한 내용을 정리해 본다.PlantUML로 ERD와 시퀀스 다이어그램을 만들어보자.  ERD 기본 문법plantUML은 @startuml과 @enduml 사이에 작성한다.테이블은 entity “테이블명” { } 사이에 작성하면 된다. 연관관계 매핑은 다음과 같다.무조건 하나 (1:1)||없거나 한개o|한개 또는 여러개 (1:N)|{없거나 여러개o{  관계선 종류는 다음과 같다.실선 (식별관계) —점선 (비식별관계).. 따라서 우리 프로젝트에 대한 erd를 간단하게 만들어보았다. @startumlentity 유저{ **user_entity** * id [PK] (integer) auto in..

4. React + Spring Boot 이용해서 카카오 로그인 구현기 (공식문서 참조)

https://developers.kakao.com/docs/latest/ko/kakaologin/rest-api Kakao Developers카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.developers.kakao.com 이곳에 나와있는 대로 진행 할 예정이다.근데 공식문서 보고 하면 될거를 자꾸 구글링 해서 블로그 글 참조하게 되고 그러더라.. 다시 마음을 잡고 공식문서 있는거를 토대로 개발해 볼 예정이다.따라해보자. 0. 들어가기 앞서 - 시퀀스 다이어그램카카오 홈페이지에 이렇게 기재되어 있다.하나씩 천천히 해보자 1. Step 1. 인가 코드 받기① Get요청을 하기 위한 Spring Boot 컨트롤러..

3. 내가 @Setter 어노테이션을 싫어하는 이유

들어가며사이드 프로젝트 진행 중, 피어코드리뷰를 진행하며 팀원과 @Setter 어노테이션에 있어 이견 차이가 있었다. 나는 평소에 여러 이유로 @Setter를 쓰는것을 싫어한다. (물론 실무에서도 @Setter를 쓰는 경우를 왕왕 보긴 했다.)그러다 보니 상대방을 설득하려면 논리적으로 나의 생각을 설명해야 하는데, 단편적으로 느끼고 있었던 지식이 파편화 되어있어 말이 잘 안나오더라.. 그래서 그냥 빼애액 우기는 사람의 꼴이 되었다.그래서 좀 반성하며 복습할겸 나름의 이유를 글로 남겨보자 한다. @Setter 어노테이션 이란?이 글을 보고 있는 사람들에게는 의미없는 단락이겠지만.. '왜?' 를 알기 위해서는 '무엇'인지 부터 알아야 하기 때문에.. 간단히 적어보자면,public class Person { ..

2. Live Template을 이용하여 테스트 작성 시 자동완성 작성하기

거두절미하고, 바로 본론으로 넘어가 보자. ctrl + alt + s로 Settings 진입, 위에 Live Template로 검색하여 해당 부분까지 찾아간다.그러면, 아래와 같이 단축어를 셋팅 할 수 있다.그 후, 다음과 같이 입력해 주자. 또한, 밑에 Change 버튼을 눌러 Java로 셋팅해 준다. (눌러보면 무슨 말인지 알 것이다.) 이제 IDE에서 test라고 입력하면, 다음과 같이 이용할 수 있다.생각보다 생산성 향상에 좋으니, 애용하도록 해야겠다.

SideProject 2024.07.09

1. Spring Boot에서 h2 데이터베이스를 사용해보자.

사이드 프로젝트를 진행하던 중, 원래는 매번 설정된 프로젝트에서 시작하느라 몰랐는데, 아무것도 없는 프로젝트에서 다시 쌓아 올리려니 어떻게 해야하는지 알지 못함을 알 수 있었다. 그래서 지금이라도 적어놓고, 나중에 까먹으면 찾아보려 한다. 1. build.gradle에 의존성 추가 dependencies { // h2 runtimeOnly 'com.h2database:h2' }depenencies 부분에 h2 를 추가해 준다.2. application.properties 파일 수정# H2 콘솔 활성화spring.h2.console.enabled=truespring.datasource.driver-class-name=org.h2.Driverspring.datasource.url=jdbc:..

SideProject 2024.07.09

데스커 라운지 워크투게더, 향로님 강연 후기

어느 날과 같이 유튜브 세상을 탐험하던 중, 개발바닥 유튜브 커뮤니티에 올라온 해당글을 보게 되었다.향로님은 인프런 CTO 이 시고, 내 개발자 인생의 롤모델이기도 하다.. 개인적으로 팬심이 두터웠기 때문에 일단 신청을 해보았다.그렇게 잊고 살던 어느 날.. 다음과 같이 문자가 왔다.예약 후, 당일날 반차를 내고 데스커 라운지에 출근했다.시설은 굉장히 깔끔했고, 다만 의자가 불편해서 오래 앉아있었더니 허리가 아팠다. ㅠㅠ. 그것 말고는 직원분들도 친절하시고, 프로그램도 잘 진행해 주셔서 좋은 인상을 많이 받았다.특히, 진행해주시는 분들의 에너지가 엄청났는데, 수줍음 많은 개발자 분들이 잘 따라오게 하기 위해 많은 노력을 기울이시는 거 같아서 감명 깊었다. 프로그램은 1부와 2부로 진행되었는데, 1부는 주..

[SpringBoot] 프로젝트 만들 때 들어가는 Group? Artifact? 얘내는 뭐지?

서론 맨날 스프링 부트 프로젝트를 만들면서도, Group, Artifact, 이런 놈들이 뭔지도 모르고 사용했던게 생각나서, 이 기회에 정리해서 적어두려고 한다. 본론 이다 그래서 Package name 이 Group + Artifact 인 것이다.. 결론 결론은 Group => 회사명을 의미하고, Artifact => 프로젝트 이름을 의미한다. 별 뜻은 없다..

IntelliJ에서 React 프로젝트에 AirBnB의EsLint를 설정해보자.

1. 일단, git에서 가져온 프로젝트에 react 모듈을 추가해준다.Project Structure (Ctrl + Alt + Shift + S) 에서 사진처럼 모듈을 import 해준다. 그러면,위와같이 프로젝트가 잘 생성됨을 알 수 있는데, 이제 Lint를 깔아보자.  2. ESLint 설치여러 블로그들을 참고하였다. 터미널에서 다음과 같이 입력해주자.npm install --save-dev eslint 그러고 나서, Actions 창 (Ctrl + Shift + a) 에서 다음과 같이 설치됨을 확인 할 수 있다. 보통 자동으로 config를 잡아주기 때문에, 인텔리제이에서 해줄건 끝났고, 이후론 npm에서 설정해준다. 3. Airbnb Style 설치npx install-peerdeps --dev ..

Spring Boot에서 MQTT 사용해보기

MQTT란? Message Queue for Telemetry Transport로써, IoT기기와 게이트웨이가 통신하기 위해 만들어진 프로토콜이다. MQTT의 특징 Connection oriented: 연결된 클라이언트와 브로커 간에 지속적인 연결을 유지하기 위한 세션을 사용 퍼블리셔(publisher)와 서브스크라이버(subscriber) : 퍼블리셔는 특정 주제(Topic)에 대한 메세지를 보내고, 서브스크라이버는 그 주제(Topic)를 구독하여 메세지를 받는다. 브로커(Borker): MQTT 메세지를 중개하고 관리하는 서버. 클라이언트(퍼블리셔 역할을 함)는 브로커에 연결하여 메세지를 발행 or 수신한다. QOS(Quality of Service): 메시지의 전달 품질을 나타내는 등급. 0, 1,..

Mybatis 기본적인 사용법 정리

Mybatis 사용법 보통 mybatis는 2가지 사용법이 있다고 한다. 1. Java 코드에 SQL을 작성하기 2. XML 안에 SQL을 작성하기 요즘 빌드파일도 xml이 아닌 kotlin으로 지원하는 형국이니 2번은 차차 알아보고 일단 1번부터 알아보도록 하겠다. 1. 테이블 생성 위와 같은 테이블을 만들었다. 이름은 computer라고 하자. 2. Mapper 인터페이스 생성 repository 하위에 computer 패키지를 생성해주고, @Mapper public interface ComputerMapper { //CRUD 작성 @Select("SELECT * FROM computer") List findAll(); } 위와같이 작성해준다. 3. Computer 클래스 작성 및 컨트롤러 작성 Co..