분류 전체보기692 [TIL] 일일 회고 2022/05/22 요즘 한 일 1. ByteCode 조작해보기 소스코드를 컴파일하면 바이트 코드가 나오게 되는데, 이를 ByteBuddy를 통해 조작함으로써 신기한 기술을 몇가지 사용해 봤다. [Java] 바이트코드 조작하기 소스코드의 커버리지를 측정하는, 가령 Jacoco와 같은 tool들이 바이트코드를 이용하여 측정한다. 이러한 소스코드 커버리지는 내 전체 소스코드에서 얼만큼을 테스트로 커버 했는지? 를 알려주는 blogshine.tistory.com 이러한 기술을 사용하는 도구들주 예로 Jacoco가 있다. Jacoco는 코드 커버리지를 측정하는 도구인데, 바이트 코드상에 가감을 통해 이를 측정한다고 한다. 실로 놀라운 기술이다. 2. Reflection 공부하기 [Java] Reflection 이번 글은 Sprin.. CODE SQUAD/회고록 2022. 5. 22. [코드스쿼드] 애플리케이션 아키텍처와 객체지향 - 조영호 PPT의 모든 출처는 우아한 형제들의 조영호 님께 있습니다. 문제 될 시 삭제하도록 하겠습니다.# 이번 코드스쿼드 5월 콘퍼런스로 우아한 형제들의 조영호 님께서 초청 강연을 해주셨다. 1. 도메인의 개념 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 우리가 소프트웨어 적으로 해결해야 하는 문제의 대상이 도메인이다. 이번 강연에서는 영화 예약 시스템을 도메인으로 예제를 만들어 보여주셨다. 2. 레이어 아키텍처 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 이를 통해 맨 처음 설명해주신 개념으로는 Transaction Script 와 Domain Model에 대한 차이이다. 이중 Transaction Script는 절차 지향적인 방식이고, .. Life/컨퍼런스 2022. 5. 22. [Java] Reflection 이번 글은 Spring의 DI(의존성 주입)이 어떻게 동작하는 것 일까? 란 의문으로부터 공부한 글 입니다. 여러 블로그와 백기선님의 더 자바 강의를 살펴보며 정리한 글 입니다. 1. 리플렉션 API 1부 : 클래스 정보 조회 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 Reflection은 Class를 통해서 접근할 수 있다. Class (Java Platform SE 8 ) Determines if the specified Class object represents a primitive type. There are nine predefined Class objects to represent the eight primitive types and void. These .. BackEnd/Java 2022. 5. 22. [Java] 바이트코드 조작하기 소스코드의 커버리지를 측정하는, 가령 Jacoco와 같은 tool들이 바이트코드를 이용하여 측정한다. 이러한 소스코드 커버리지는 내 전체 소스코드에서 얼만큼을 테스트로 커버 했는지? 를 알려주는 유용한 도구이다. 이번 시간에는 이러한 바이트코드를 직접 조작하는 방법에 대하여 공부하는 글이다! 1. Jacoco를 통한 코드 커버리지 측정 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 우선 간단하게 Jacoco를 사용하는 것부터 확인해보자. 테스트 해볼 간단한 코드는 다음과 같다. public class MeetUp { private int maxNumberOfAttendees; private int numberOfEnrollment; public void addPerson.. BackEnd/Java 2022. 5. 20. [TIL] 일일 회고 2022/05/19 요즘 한 일 1. JVM 구조 공부하기 간단하게 JVM 구조에 대하여 공부하게 되었다. https://blogshine.tistory.com/415 HTML 삽입 미리보기할 수 없는 소스 이번에는 JVM, JRE, JDK의 차이점에 대하여 알아보자. 1-1) JVM (Java Virtual Machine) 자바 가상 머신으로 자바 바이트 코드(..." data-og-host="blogshine.tistory.com" data-og-source-url="https://blogshine.tistory.com/415" data-og-url="https://blogshine.tistory.com/415" data-og-image="https://scrap.kakaocdn.net/dn/DdFX8/hyOs2Ao01.. CODE SQUAD/회고록 2022. 5. 19. [백준][C++] 16946번: 벽 부수고 이동하기 4 <221> 직접 풀어보고 올리는 코드입니다. 지적이나 더 좋은 방향에 대한 댓글은 항상 환영합니다. 16946번: 벽 부수고 이동하기 4 N×M의 행렬로 표현되는 맵이 있다. 맵에서 0은 이동할 수 있는 곳을 나타내고, 1은 이동할 수 없는 벽이 있는 곳을 나타낸다. 한 칸에서 다른 칸으로 이동하려면, 두 칸이 인접해야 한다. 두 칸이 www.acmicpc.net 생각의 흐름 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 이번 문제를 1이 나올때마 전체 이동 가능한 칸을 직접 확이하면 시간안에 해결할수가 없다. 총 방문 가능한 칸이 1000*1000 칸이 있는데, 각 칸마다 확인하려면 1000*1000(모든 칸)*1000*1000(이동 가능한 최대 칸) 만큼 돌아야 한다. 시간안에.. Algorithm/백준 2022. 5. 19. [Java] JVM 구조 1. JVM, JDK, JRE " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 이번에는 JVM, JRE, JDK의 차이점에 대하여 알아보자. 1-1) JVM (Java Virtual Machine) 자바 가상 머신으로 자바 바이트 코드(.class 파일)를 OS에 특화된 코드로 변환(인터프리터와 JIT 컴파일러)하여 실행하는 역할을 합니다. 그럼 자바 바이트 코드는 무엇일까? 우리는 기본적으로 Hello.java 와 같이 java 파일을 만든다. 이를 컴파일한것이 바이트 코드이다. 이를 다음 명령을 통해서 compile 해보자. javac Hello.java 실행 결과를 보면 compile된 class 파일을 확인할 수 있다. 이를 JVM을 통해서 OS가 이해할 수 있는(.. BackEnd/Java 2022. 5. 19. [TIL] 일일 회고 2022/05/17 요즘 한 일 1. QueryDsl 완강하기 영한님의 QueryDsl을 완강하게 되었다!! 현재 코드스쿼드의 개인프로젝트 기간으로 1. 스스로 공부 2. 개인프로젝트 중 선택하여 진행하는 시간인데, 나는 첫주에는 스스로 공부를 선택하여 밀린 영한님의 QueryDsl 강의를 시청하였다. 강의를 단순히 듣고 따라 치기보다는, 나만의 방식으로 정리하면서 요약하였다. 확실히 시간만 많다면 하나하나 다 요약하면서 강의를 들어야 기억에 남는것 같다. 그냥 한번 쓱 듣는것으로는... 자고 일어나면 초기화... https://blogshine.tistory.com/405 HTML 삽입 미리보기할 수 없는 소스" data-og-host="blogshine.tistory.com" data-og-source-url="http.. CODE SQUAD/회고록 2022. 5. 17. [JPA] Spring Data JPA가 제공하는 QueryDsl 기능 내가 공부한 것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼 겸 상세히 기록하고 얕은 부분들은 가볍게 포스팅하겠습니다. 1. 인터페이스 지원 - QuerydslPredicateExecutor " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 여기서 소개하는 기능은 제약이 커서 복잡한 실무 환경에서 사용하기에는 많이 부족하다. 그래도 Spring Data 에서 제공하는 기능이므로 간단히 소개하고, 왜 부족한지 설명하겠다. 1-1) Interface 지원 - QuerydslPredicateExecutor 기존의 repository에 다음과 같이 QuerydslPredicateExecutor를 추가로 상속하게 되었다. public interface MemberRepository.. BackEnd/JPA 2022. 5. 16. [JPA] 실무 활용 - Spring Data JPA와 Querydsl 내가 공부한 것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼 겸 상세히 기록하고 얕은 부분들은 가볍게 포스팅하겠습니다. 이번 시간에는 이전에 순수 JPA로 만들었던 repository들을 Spring Data JPA를 통해 만들어 보자. 1. Spring Data JPA 리포지토리로 변경 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 ▶ Spring Data JPA - MemberRepository 코드 작성 public interface MemberRepository extends JpaRepository { List findByUsername(String username); } 기존의 순수 JPA를 활용한 MemberJpaRepository 와 비교해볼때, 상당히 .. BackEnd/JPA 2022. 5. 15. [JPA] 실무 활용 - 순수 JPA와 Querydsl 내가 공부한 것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼 겸 상세히 기록하고 얕은 부분들은 가볍게 포스팅하겠습니다. 이번 글은 다음과 같은 순서로 이어질 것 이다. 순수 JPA 리포지토리와 Querydsl 동적쿼리 Builder 적용 동적쿼리 Where 적용 조회 API 컨트롤러 개발 1. 순수 JPA 리포지토리와 Querydsl " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 우선 순수 JPA를 기반으로 repository를 하나 만들자. Repository public class MemberJpaRepository { private final EntityManager em; private final JPAQueryFactory jpaQueryFactory; pub.. BackEnd/JPA 2022. 5. 15. [JPA] QueryDSL 중급문법 - 2 내가 공부한 것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼 겸 상세히 기록하고 얕은 부분들은 가볍게 포스팅하겠습니다. 4. 동적 쿼리 - BooleanBuilder 사용 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 동적 쿼리를 해결하는 방식에는 2가지 방식이 존제한다. BooleanBuilder Where 다중 파라미터 사용 각각이 다 장단점이 있는 방식이다. 이에 대하여 알아보자. ▶ BooleanBuilder 를 사용하는 방법 @Test public void dynamic_query_boolean_builder_test() { String usernameParam = "member1"; Integer ageParam = 10; List result = searc.. BackEnd/JPA 2022. 5. 14. 이전 1 ··· 21 22 23 24 25 26 27 ··· 58 다음