본문 바로가기

Portpolio/webdev_tip125

토비의 스프링 3.1 1권 스터디 00. 시작 일정 : 2024 1월 ~ 2월 말일 예정 교재: 이일민 님의 토비의 스프링 3.1 1권 https://www.yes24.com/Product/Goods/7516721 토비의 스프링 3.1 Vol. 1 스프링의 이해와 원리 - 예스24 대한민국 전자정부 표준 프레임워크 스프링을 설명하는 책!단순한 예제를 스프링 3.0과 스프링 3.1의 기술을 적용하며 발전시켜 나가는 과정을 통해 스프링의 핵심 프로그래밍 모델인 IoC/DI, PSA, A www.yes24.com 1장 오브젝트와 의존관계 https://zpub.tistory.com/287 토비의 스프링 3.1 1권 스터디 01. 오브젝트와 의존관계 1.1 초난감 DAO 우선 DAO는 Data Access Object를 의미하며, DB를 사용해 데이터를 조.. 2024. 1. 11.
Spring 웹 계층 - Web Layer - Service Layer @Transactional이 사용되어야 하는 구간 - Repository Layer - Dtos : 계층 간에 데이터 교환을 위한 객체 - Domain Model 2024. 1. 11.
JDK와 JRE의 차이점 2024. 1. 10.
MyBatis와 JPA의 차이 웹 백엔드에서 DB 관련해서 꼭 나오는 얘기 중 하나가 MyBatis냐 JPA냐 하는 내용으로 토론하는 커뮤니티 글들이 꽤 많다. 우선 MyBatis는 SQL Mapper이고, JPA는 ORM에 해당하며 ORM은 Object Mapper에 해당한다. ORM은 DB Table을 자바 클래스로 만들어 관리할 수 있게 해준다. JPA는 Spring Boot에서 ORM 기술의 표준으로 사용하는 표준명세서이자 인터페이스이다. Spring에서는 Spring Data JPA라는 모듈을 이용한다. 보통 자체 서비스회사에서는 JPA를, SI에서는 Mybatis를 많이 사용하는 경향이 있다고 한다. 결국 현대의 웹 어플리케이션에서 RDB를 다루다보면 패러다임 불일치가 OOP와 RDB는 지향하는 바가 서로 다르기 때문이다... 2024. 1. 10.
기술블로그에 달리는 악플에 대처하는 방법 블로그를 여러 개 운영하면서 느낀 점들은, 특히 개발 분야나 기술 쪽일수록 비판을 가장한 비난을 일삼는 댓글들이 참 많다는 것이다 사실 개발 쪽만 그런 것도 아니고 어느 공간이나 다 그렇지만 보통 주인장이 어떻게 대처하느냐에 따라서 결과는 매우 달라진다 "그거 그렇게 써도 되는거 맞음? ㅇㅇㅇ에서는 아니라고 하던데?" 같이 본인 의견은 없이 남의 의견 가져와서 툭툭 시비 걸거나 언제봤다고 뒷조사라도 했는지 스무고개 마냥 신상 털이하는 인간들부터 가지가지더라 이럴 때 제일 좋은건 상대 자체를 안해주는 것이다 정당한 비판은 지식 공유에 있어서 필수적이고 자양분이다 물론 비판과 비난을 결정하는 것도 다 내가 하는 것이고 나 또한 주관적이다 상대 역시 주관적이다 그러니 설득시키려고 할 필요도 없고 관심을 줄 필.. 2024. 1. 10.
[spring] jsonpath 사용하기 JSON 응답값을 필드별로 검증할 수 있는 메소드이다. $를 기준으로 필드명을 명시한다. package org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath; public static ResultMatcher jsonPath(String expression, Matcher 2024. 1. 10.
[assertj] assertThat 사용하기 assertj라는 테스트 검증 라이브러리의 검증 메소드이다. 검증하고 싶은 대상을 메소드 인자로 받는다. 메소드 체이닝이 지원되어 isEqualTo와 같이 메소드를 이어서 사용할 수 있다. Junit보다 assertj이 비교적으로 더 나은 선택이라는 의견이 많다. 그 이유중 가장 큰 이유는 Junit의 assertThat을 쓰면 is()와 같이 CoreMatchers 라이브러리가 필요하기 때문이다. 2024. 1. 10.
카카오톡 엑소더스를 하는 이유 카카오톡에는 오픈채팅이라는 기능이 있다 본인의 프로필과 무관하게 익명으로 불특정 다수와 서로 이야기 할 수 있는 기능인데, 개발 관련 정보를 얻거나 스터디, 프로젝트 팀원끼리 소통하기 위한 플랫폼으로 처음에는 카톡에 거의 의존했지만 익명이다보니 이 오픈채팅은 검열이 매우 강하다 다른 팀원이나(그럴 일은 거의 없고) 보통 인원이 많은 정보공유방에서 조금만 신고를 당해도 최소 일주일에서 영구정지까지 당할 위험도 존재한다 한번은 열심히 떠들다가 정지를 당했는데 사유를 찾아보니 홍보 상업성 어쩌구라고 하더라 그래서 내가 영업을 한것도 아니 대체 뭐지하고 고민을 했는데 개발 관련 서적을 추천받길래 인터넷 서점 링크를 보내줬는데 이게 원인인가 짐작만 하며 한숨이 나오더라 근데 카카오에 문의를 한다고 정지를 해제해주.. 2024. 1. 9.
[gradle] 6.0버젼부터 lombok을 build.gradle에 입력하려면 dependencies { ... implementation 'org.projectlombok:lombok' testImplementation 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' testAnnotationProcessor 'org.projectlombok:lombok' ... } 이러한 방법으로 입력해야 한다. 2024. 1. 6.
[intellij] gradle version 알아보는 방법 gradle >> wrapper >> gradle-wrapper-properties 파일 들어가서 distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip 와 같은 부분이 있는데 여기서 8.5 위치에 있는 수가 gradle의 버젼이다. 2024. 1. 6.