최신 글
Linux - Docker 컨테이너 올리기 (react, spring boot, mariadb) [2]
Server2024.06.18 14:20Linux - Docker 컨테이너 올리기 (react, spring boot, mariadb) [2]

이전 포스팅에서 mariadb와 spring boot를 docker 컨테이너로 올리는 것까지 진행하였다.2024.06.18 - [Server] - Linux - Docker 컨테이너 올리기 (react, spring boot, mariadb) [1] Linux - Docker 컨테이너 올리기 (react, spring boot, mariadb) [1]회사에서는 Spring boot jar를 사용하여 서버를 구동하기 때문에 Docker를 사용할 일이 없었지만이번에 테스트 겸 프로젝트를 올려보았다. 아주 조금 docker를 사용했기 때문에 그냥 프로젝트끼리dockermagicmk.tistory.com 이번 포스팅은 react 프로젝트를 docker image로 만든 뒤 서버에 올리는 것으로 마무리하겠다.✅R..

Linux - Docker 컨테이너 올리기 (react, spring boot, mariadb) [1]
Server2024.06.18 13:24Linux - Docker 컨테이너 올리기 (react, spring boot, mariadb) [1]

회사에서는 Spring boot jar를 사용하여 서버를 구동하기 때문에 Docker를 사용할 일이 없었지만이번에 테스트 겸 프로젝트를 올려보았다. 아주 조금 docker를 사용했기 때문에 그냥 프로젝트끼리docker image를 만들어 container에 올리면 되는 것이 아닌가 하고 안일하게 생각한 뒤 작업을 진행하였다.뒤에 무슨 일이 생기는 줄도 모르고....ㅋㅋ 본 포스팅의 작업은 OS에 Docker가 설치되어 있다는 가정 하에 진행됩니다.✅ MariaDBDB의 경우는 매우 유명해서 아주 수월했다... 🔹MariaDB image 설치우선 mariaDB를 pull 해준다.docker pull mariadb 아래와 같이 mariaDB 이미지를 확인할 수 있다.[root@DJ-blabla-v7 ~]#..

시간이 멈춘 방 - 고지마 미유
독서 포스트2024.06.14 19:15시간이 멈춘 방 - 고지마 미유

이 책도 홀가분하게 즐기는 의식주와 같이 보자마자 읽어야 할 것 같은 느낌이 들어 정신 차리고 보니 이미 내 손에 들려있던 책이다. 유품정리사가 고독사의 흔적을 미니어처로 만든다니.. 실제 책은 내 생각보다 훨씬 더 감동이 있었다. 저자가 유품정리사로 일하며 미니어처를 만들게 된 계기나,일하는 와중에 있었던 여러 사건들을 읽다보면 슬프고, 화나고, 괴로움이 사무쳐온다. 참 읽다보니 글로 표현할 수 없는 복잡 미묘한 감정들이 소용돌이치는 것을 느낀 것 같다.아무래도 나 또한 돌아가신 아버지가 있기 때문에 더욱 공감하며 읽지 않았나 싶다. 나는 죽기 전에 어떤 마음가짐으로 죽을 수 있을까 내가 떠난 뒤 내 주변에게 어떤 마음을 남겨주고 갈 수 있을까역시 책의 힘은 대단한 것 같다.

자신을 즐기는 의식주 [홀가분하게 즐기는 의식주] -  오쿠다이라 마사시
독서 포스트2024.06.08 10:27자신을 즐기는 의식주 [홀가분하게 즐기는 의식주] - 오쿠다이라 마사시

평소 그림과 사진이 잔뜩 들어간 책은 읽지 않는 편이었지만 왠지 모를 따뜻함이 느껴지는 표지를 보고 자연스럽게 손에 들게 되었다. 월 150만원으로 즐기는 도쿄 생활이라니 요즘 같이 퍽퍽한 세상에서 무엇으로 본인의 인생을 즐길 수 있을까 궁금한 마음으로 책을 읽기 시작했다. 책을 읽기 전 전체적으로 대충 훑어보니 저자의 평범한 하루 일상에 대해 사진을 붙이고 글로 설명하는 책이라고 생각했다. 실제로 읽어도 그러했지만 약간 달랐다. 책의 저자는 자신의 일상을 설명하며 이러한 일에 어떠한 즐거움을 느끼는지 어떤 사고방식을 가지고 세상을 살아가는지를 설명한다. 그것은 누군가 보기에 별거 아닌 것처럼 느껴질 수 있지만 나에게는 따뜻하게 와닿는 글들이었다.소유에 욕심두지 않고 내가 필요한 것들만 가지고 살아가는 ..

인기글
Spring boot 게시판 - 1 < 간단 회원 가입 구현>
Spring boot 게시판 - 1 < 간단 회원 가입 구현>
spring 게시판
2022.11.10 13:49
시스템 구성 Spring boot 2.7.5 Gradle Java 11 Intellij Ultimate 라이브러리 thymeleaf jpa web lombok h2 DB 프로젝트 구조 프로젝트 구조는 위와 같은 구조를 따라갈 것이며 각 내용이 무엇을 하는지는 https://magicmk.tistory.com/4 Spring boot 패키지 구조 및 내용 spring boot의 구조를 살펴보고 각 기능별로 살펴보겠습니다. 구조 Spring boot는 목적에 따라 패키지를 따로 생성해서 프로젝트를 관리하는데 크게 나누어 보자면 다음과 같다. Controller DTO Service Reposi magicmk.tistory.com 이 전에 작성한 내용을 보면 이해하기 쉬울 것 같다. 구현 우선 회원가입 관련한..
spring boot 게시판 - 14 <게시물 이미지 기능>
spring boot 게시판 - 14 <게시물 이미지 기능>
spring 게시판
2023.06.19 08:09
2023.06.16 - [Java/spring 게시판] - spring boot 게시판 - 13 " data-og-description="2023.06.01 - [Java/spring 게시판] - spring boot 게시판 - 12 spring boot 게시판 - 12 2023.02.23 - [Java/spring 게시판] - spring boot 게시판 - 11 spring boot 게시판 - 11 2023.02.21 - [Java/spring 게시판] - spring boot 게시판 - 10 spri" data-og-host="magicmk.tistory.com" data-og-source-url="https://magicmk.tistory.com/53" data-og-url="https://mag..
[Spring boot + React] Rest Api 연동하기
[Spring boot + React] Rest Api 연동하기
spring
2022.08.16 17:03
구조 기본적으로 Spring 프로젝트 내부에 React가 들어가는 형식의 구조로 구성한다. 프로젝트 구조는 본인 편한 대로 구성해도 무방하다. Spring 프로젝트 생성 spring project 생성은 이곳으로 본인이 선호하는 java 버전과 프로젝트 내용을 선택하여 만들면 된다. frontend를 제외하고 위와 같이 프로젝트가 생성이 된다. React 프로젝트 생성 이제 react 프로젝트를 생성할 건데 위치는 원하는 곳에 넣어주면 된다. 나는 spring 프로젝트의 루트 디렉토리에 생성하였다. npx create-react-app {project name} {project name} 이라고 적은 곳에 원하는 app 이름을 작성하면 된다. proxy 설정 이상태로는 프론트와 백이 서로 다른 포트를 사..
Oracle Mybatis Clob Select
Oracle Mybatis Clob Select
Java
2023.02.14 14:56
✅ 최초 Mapper 최초 Mapper를 작성할 때는 아무런 생각 없이 Map 형식으로 가져오려고 시도하였다. ⏹️ imageMapper.xml select MASK_INFO, from TB_ELB_MASK_B where EID = #{EID} 위와 같이 쿼리를 작성하였더니 오류는 나지 않지만 데이터를 제대로 가져오지 못하였다. ✅ ResultMap의 사용 그래서 두 번째로 resultMap을 통해 Clob을 String으로 변환하는 과정을 만들었다. ⏹️ imageMapper.xml select MASK_INFO, from TB_ELB_MASK_B where EID = #{EID} 위와 같이 resultMap에서 CLOB을 String으로 변환하고 실제 select 쿼리에서는 reulstType이 아니..
spring boot 게시판 - 7 <회원 정보 수정 및 탈퇴>
spring boot 게시판 - 7 <회원 정보 수정 및 탈퇴>
spring 게시판
2022.11.24 22:13
2022.11.22 - [Java/spring 게시판] - spring boot 게시판 - 6 spring boot 게시판 - 6 https://magicmk.tistory.com/32 spring boot 게시판 - 5 https://magicmk.tistory.com/31 spring boot 게시판 - 4 https://magicmk.tistory.com/29 spring boot 게시판 - 3 https://magicmk.tistory.com/28 spring boot 게시판 - 2 https://magicmk.tistory.com/ magicmk.tistory.com 이전 시간에 머리 식히려고 프론트 관련된 내용을 진행했었는데 이번에는 회원 정보 수정 및 탈퇴를 구현했다. ✅ 회원 정보 수정 현..
spring boot 게시판 - 12 <댓글 기능 구현>
spring boot 게시판 - 12 <댓글 기능 구현>
spring 게시판
2023.06.01 20:06
2023.02.23 - [Java/spring 게시판] - spring boot 게시판 - 11 spring boot 게시판 - 11 2023.02.21 - [Java/spring 게시판] - spring boot 게시판 - 10 spring boot 게시판 - 10 2022.11.30 - [Java/spring 게시판] - spring boot 게시판 - 9 spring boot 게시판 - 9 2022.11.30 - [Java/spring 게시판] - spring boot 게시판 - 8 spring magicmk.tistory.com 나태지옥에서 빠져나오겠다고 선언한 지 언 4개월이 흘러흘러... 다행히 자격증은 끝이 났고 이번에는 일본어 공부에 푹 빠져서 일본인들과 대화하며 어울리느라 시간을 보냈다...
Java
HttpSessionListener를 이용한 중복 로그인 방지
HttpSessionListener를 이용한 중복 로그인 방지
spring
2024.04.30 14:41
프로젝트를 간단하게 진행하다 보니 중복 로그인에 관한 내용을 신경 쓰지 않고 있었다. Spring Security를 이용하면 수월하다고 하던데프로젝트에 Spring Security를 적용하지 않아서 급한대로HttpSessionListener를 이용하여 중복 로그인을 방지해 보았다.✅ SessionConfig@Slf4j@WebListenerpublic class SessionConfig implements HttpSessionListener { private static final Map sessions = new ConcurrentHashMap(); //중복로그인 지우기 public static boolean loginSessionidCheck(HttpSession session, String user..
Bean Validation
Bean Validation
spring
2024.02.26 14:34
Spring boot에서 검증 기능을 매번 작성하는 것은 번거롭다. 검증 로직의 대부분은 빈 값인지, 특정 크기를 넘는지 아닌지와 같은 매우 일반적인 로직이다. 이런 로직을 모든 프로젝트에 적용하도록 공통화하고, 표준화한 것이 Bean Validation이다. 의존성 주입 Bean Validation을 사용하기 위해서는 gradle에 의존성을 추가해야 한다. implementation 'org.springframework.boot:spring-boot-starter-validation' ✅ DTO @Data public class ItemSaveForm { @NotBlank(message = "상품명을 입력해주세요.") private String itemName; @NotNull(message = "가격..
Thymeleaf 스프링 통합과 폼
Thymeleaf 스프링 통합과 폼
spring
2024.02.15 16:24
Spring boot에 관련해서 조금 더 공부를 하다가 Thymeleaf에서 Form을 작성할 때 훨씬 수월하고 깔끔하게 작성할 수 있는 방식에 대해서 알게 되었는데 그냥 그렇구나 하고 넘어갈 뻔하다가 블로그에 조그마한 것이라도 정리하는 습관을 다시 들이기 위해 올리기로 했다. 상황 설명 쇼핑몰 서비스를 제공한다고 가정했을 때, 상품을 등록하는 과정에서 체크박스가 사용되는 경우가 많을 텐데 이것을 Spring boot와 Thymeleaf를 통합하여 간단하게 구현할 수 있는 방법을 알아보자 상품 @Data public class Item { private Long id; private String itemName; private Integer price; private Integer quantity; pr..
spring boot 게시판 - 14 <게시물 이미지 기능>
spring boot 게시판 - 14 <게시물 이미지 기능>
spring 게시판
2023.06.19 08:09
2023.06.16 - [Java/spring 게시판] - spring boot 게시판 - 13 " data-og-description="2023.06.01 - [Java/spring 게시판] - spring boot 게시판 - 12 spring boot 게시판 - 12 2023.02.23 - [Java/spring 게시판] - spring boot 게시판 - 11 spring boot 게시판 - 11 2023.02.21 - [Java/spring 게시판] - spring boot 게시판 - 10 spri" data-og-host="magicmk.tistory.com" data-og-source-url="https://magicmk.tistory.com/53" data-og-url="https://mag..
spring boot 게시판 - 13 <프로필 사진 구현>
spring boot 게시판 - 13 <프로필 사진 구현>
spring 게시판
2023.06.16 20:00
2023.06.01 - [Java/spring 게시판] - spring boot 게시판 - 12 spring boot 게시판 - 12 2023.02.23 - [Java/spring 게시판] - spring boot 게시판 - 11 spring boot 게시판 - 11 2023.02.21 - [Java/spring 게시판] - spring boot 게시판 - 10 spring boot 게시판 - 10 2022.11.30 - [Java/spring 게시판] - spring boot 게시판 - 9 sprin magicmk.tistory.com 지난번 댓글 기능을 구현하고 무엇인가 허전해서... 고민하다가 프로필 사진을 추가하기로 했다! 역시 개인 프로필에 사진이 빠질 수 없지 ✅ Table 작성 우선 Imag..
spring boot 게시판 - 12 <댓글 기능 구현>
spring boot 게시판 - 12 <댓글 기능 구현>
spring 게시판
2023.06.01 20:06
2023.02.23 - [Java/spring 게시판] - spring boot 게시판 - 11 spring boot 게시판 - 11 2023.02.21 - [Java/spring 게시판] - spring boot 게시판 - 10 spring boot 게시판 - 10 2022.11.30 - [Java/spring 게시판] - spring boot 게시판 - 9 spring boot 게시판 - 9 2022.11.30 - [Java/spring 게시판] - spring boot 게시판 - 8 spring magicmk.tistory.com 나태지옥에서 빠져나오겠다고 선언한 지 언 4개월이 흘러흘러... 다행히 자격증은 끝이 났고 이번에는 일본어 공부에 푹 빠져서 일본인들과 대화하며 어울리느라 시간을 보냈다...
Etc
Medium - 자바 개발자가 피해야 하는 11가지 실수
Medium - 자바 개발자가 피해야 하는 11가지 실수
개발 팁
2024.05.29 16:00
1. Nulls와 OptionalsBad Practice: 메서드에서 바로 null을 리턴하는 건 NPE를 유발할 수 있습니다.public String getString() { return null;} Good Practice: null에 대한 명확한 핸들링과 에러 방지를 위해 Optional을 사용합니다.public Optional getString() { return Optional.empty();} 2. String.valueOf()로 String 변환Bad Practice: '+' 연산자를 사용해 문자열을 합칩니다.double d = 3.14525;String s = "" + d; Good Practice: 내장 메서드를 활용합니다.double d = 3.14245;String s = ..
IntelliJ 프로젝트 설정
IntelliJ 프로젝트 설정
Etc
2024.02.28 10:34
✅ Guide Line Show hard wrap and visual guides (configured in Code Style options) 체크 해제 해당 옵션을 체크 해제하면 에디터 상 우측 라인이 없어진다. ✅ Build Tools - Gradle 최초에 Build and run using, Run tests using이 Gradle로 설정되어 있는데 이것을 IntelliJ IDEA로 변경 프로젝트를 실행할 때 Gradle보다 IntelliJ IDEA로 실행하는 것이 조금 더 빠르다. ✅ Encoding Project Encoding, Default encoding for properties files를 UTF-8로 설정해 주고 Transparent native-to-ascii conversio..
VS Code Extension & Settings
VS Code Extension & Settings
Etc
2024.02.28 10:17
Settings ✅ Cursor Cursor Blinking: phase로 수정 Extensions 1. Error Lens: 코드의 에러를 표시해 줌 2. Prettier: 코드 자동 정렬 (on save 설정해줘야 함) 3. Material Icon Theme: VSCode 아이콘 테마 4. Barcket Pair Color DLW: 괄호마다 색을 넣어서 어떤 괄호인지 알기 쉬움
Cookie, Session과 Token
Cookie, Session과 Token
Etc
2023.08.01 17:13
보통 SSR (Server Side Rendering) 방식으로 프로젝트를 구성했기 때문에 Cookie와 Session을 통한 로그인으로 인증 인가를 구성했는데 이번에 Rest API를 이용하여 프로젝트를 구성하다 보니 Token 기반의 로그인을 구성하게 되었다. 이번 시간에는 Cookie, Session, Token에 대하여 헷갈리지 않도록 확실하게 짚고 넘어가려고 한다. 🍪 쿠키란 무엇인가 쿠키란 사용자를 기억하기 위해 서버가 사용자의 브라우저에 저장하는 데이터라고 할 수 있다. 쿠키의 동작 방식 서버는 클라이언트의 로그인 요청에 대한 응답을 작성할 때, 클라이언트 측에 저장하고 싶은 정보를 응답 헤더의 set-cookie에 담는다. 클라이언트가 재요청을 할 때마다 저장된 쿠키를 요청 헤더의 cook..
Git push / pull password 무시하기
Git push / pull password 무시하기
Etc
2023.07.26 20:24
Git을 사용하다 보면 이런저런 변수로 인하여 push 할 때마다 계정과 패스워드를 입력해야 하는 경우가 있다. 한창 개발을 하면서 지속적으로 push를 행하는데 이럴 때마다 계정 정보를 묻는다면 컴퓨터를 부숴버리고 싶다. 이것을 해결하는데 2가지 방법이 있다. Credentail git config credential.helper store credential.helper의 store 옵션을 주면 해당 git directory에서 반영구적으로 인증 절차가 생략된다. 공통적으로 적용하고 싶다면 global 옵션을 넣어주면 된다. git config credential.helper store --global Cache 만약 반영구적이 아닌 임시로 인증 절차를 생략하고 싶다면 캐시를 사용하는 것이 바람직하다..
이클립스 단축키 꿀팁
Etc
2023.06.20 10:38
https://seodaeya.tistory.com/90 단기 속성 입문 현업 사용 이클립스 단축키 팁 정리 들어가기 전 개발할 때 제일 중요한 것은 당연히 만들고자하는 기능을 잘 만드는 것이 당연하다. 하지만, 이클립스 같은 IDE 툴을 사용하는 것은 개발을 좀 더 빠르고 편리하게 할 수 있게 하기 seodaeya.tistory.com
image