반응형 Backend50 [Java]DTO는 항상 만들어야 할까? 답은 Yes라고 생각한다.요청(Request), 응답(Response) 모두 DTO를 만들어주면 좋다. 실무에서 API를 설계할 때 요청과 응답 각각에 DTO를 안 쓰면 컨트롤러에서 엔티티를 직접 노출하거나 받아야 하는데, 이건 보안, 유지보수, 확장성 면에서 매우 불리하다. 즉, 계층 분리, 보안, 유지보수, 유연성 모두를 위한 기본 설계 원칙이기 때문에 사실상 필수나 다름 없다. 특히 Form 데이터 다룰 때는 100% 써야한다.@ModelAttribute나 @RequestParam으로 폼 데이터를 받는 경우, 필드를 하나씩 받기보다는 DTO로 묶어서 받는 게 훨씬 명확하고 유지보수하기 좋다. 게다가 필드가 많아질수록 코드가 복잡해지는데, DTO를 쓰면 검증도 쉽게 걸 수 있어서 정말 좋다. 이유는 .. 2025. 4. 9. [Java]StringBuilder 클래스 사용법💪 ✅ StringBuilder란?: Java에서 문자열을 효율적으로 조작할 수 있도록 제공되는 클래스String은 불변(immutable) 특성 때문에 문자열을 반복적으로 수정하면 매번 새로운 객체가 생성되어 성능이 떨어질 수 있다. 이를 보완하기 위해 StringBuilder는 내부 버퍼(buffer) 를 이용하여 문자열을 변경할 수 있게 해준다. 📊 *버퍼(buffer) 참고버퍼는 간단히 말해 임시 저장 공간이다. StringBuilder는 문자열을 붙일 때마다 새로운 객체를 만들지 않고, 내부 버퍼에 계속 내용을 추가하면서 수정할 수 있음.String (불변)"H" + "e" → "He" (새 객체) + "l" → "Hel" (새 객체) + "l" → "Hell" (새 객체) + .. 2025. 4. 9. [Java] 클래스 파일 -> 자바 파일로 디컴파일 하는 법(jad decomplier 사용) 서버에 올려놨던 class 파일을 들여다 봐야 할 경우가 있다. 그러나 클래스 파일 (.class 파일)은 자바 소스 코드가 컴파일된 바이트코드로, 자바 가상 머신(JVM)이 실행할 수 있는 형식이라 사람이나 컴퓨터가 바로 읽을 수 있는 일반 텍스트 파일이 아니다. 즉, 소스를 보고 싶으면 사람이 읽을 수 있는 텍스트 파일인 자바 파일(.java 파일)을 텍스트 편집기나 IDE(통합 개발 환경)에서 열어야 한다. java 파일을 class 파일로 변환하는 것을 컴파일이라고 하니,class 파일을 java 파일로 변환하는 것은 디컴파일이 된다. ⭐⭐⭐⭐⭐⭐디컴파일 하는 법⭐⭐⭐⭐⭐⭐ 1. 먼저 아래 주소로 가서 JAD 디컴파일러를 설치하고, 다운로드 받은 압축파일을 푼다. https://varaneck.. 2024. 9. 24. [Java]split() 메서드 2024 2회차 정보처리기사 실기 시험 20번 문제에 나온 Java split 메서드 ! 주어진 기준값으로 문자열을 분할하는건 알겠는데..주어진 기준값은 문자열 배열에 들어가게 되는건지 아닌지 헷갈려서 결국 그 문제는 틀렸다 🤪그랬는데 시험 다 보고 나니까 실무 중에 쓸 일이 있어서 다시 보는 김에 정리해본다. 👨💻split() 메서드란?자바의 String 클래스에 포함된 메서드로, 문자열을 특정 구분자(Delimiter)나 정규 표현식을 기준으로 분할하여 배열로 반환해주는 메서드public String[] split(String regex)public String[] split(String regex, int limit) regex에는 분할의 기준이 될 문자 또는 정규표현식을 넣어준다.lim.. 2024. 9. 11. [Spring]Spring AOP 개념 및 활용 방법 🤔Spring AOP(Aspect Oriented Programming - 관점 지향 프로그래밍) 란?: AspectJ 컴파일러에 의해 프로그램 실행시 핵심관심코드와 횡단관심코드가 결합(Weaving)되어 실행되는 기능 제공1) OOP보다 AOP가 좋은 점?OOP의 경우 모듈화(캡슐화)가 너무 강력해서 핵심관심코드와 횡단관심코드를 분리하여 프로그램을 작성하기 어려움 => 코드의 중복성이 높아 프로그램의 생산성 및 유지보수의 효율성 감소이러한 부분을 AOP는 핵심관심코드와 횡단관심코드를 분리한 후, 결합이 필요한 부분에서만 결합하여 실행될 수 있도록하여 해결해줌!2) Spring AOP 기능을 사용하기 위해 2개의 라이브러리 빌드 처리 필요서는 aspectjrt 라이브러리와 aspectjweaver 라이.. 2024. 6. 25. [mybatis]resultMap 하위 엘리먼트 -collection 엘리먼트 🔸collection : 1:N 관계의 테이블 조인에서 검색행의 컬럼값으로 List 객체를 생성하여 resultMap 엘리먼트의 type 속성값으로 설정된 클래스의 객체 필드에 저장하는 엘리먼트 => 하위 엘리먼트로 id 엘리먼트 또는 result 엘리먼트를 사용하여 검색행의 컬럼값을 List 객체 요소(Java 객체)의 필드에 저장되도록 설정 ▪️ property 속성 : collection 엘리먼트로 생성된 List 객체가 저장될 클래스의 필드명을 속성값으로 설정 ▪️ ofType 속성 : List 객체에 저장된 요소(Java 객체)의 자료형을 속성값으로 설정 => Java 자료형 대신 typeAlias 엘리먼트로 설정한 별칭(AliasName) 사용 가능 👩💻실습 예제 게시글 한 개 당 0개 이상.. 2024. 3. 10. 이전 1 2 3 4 ··· 9 다음 반응형