본문 바로가기

전체 글141

JpaRepository를 상속하지 않는다. 회사 코드를 보다가 Repository 코드를 보았는데 신기했다.JpaRepository를 상속하지 않고,PagingAndSortingRepository을 구현한 인터페이스? 그리고 QuerydlsPredicateExecutor를 사용했다.보고 왜일까?? 의문이 들어 회사에서 아직 업무가 없을때라서 한번 찾아보았다. 불필요한 메서드들 JpaRepository를 사용하여 자동완성?? 기능같은걸 사용하다보면정말 다양한 메서드를 자동으로 제공한다.즉 사용하지 않는 메서드들이 너무 많다. 내가 프로젝트했을 경우도 위 이미지에서 사용하지 않은게 아마 2/3?? 일때도 있다. 이외에도 테스트할때도 fake 객체를 만들어서 한다고 한들 repository 인터페이스의 메서드들을 모두 오버라이딩해야한다.즉 불필요한 부.. 2024. 5. 12.
[Kotlin] 기초 개념 (2) 이전 블로그에서 헷갈리는 기초개념을 정리했다. 이번 블로그에서도 헷갈리는 기초개념을 정리할 예정이다. 인터페이스 자바의 경우 implements, extends를 사용하여 구현과 상속을 했다. Kotlin에서는 공통적으로 ":"을 사용한다. 인터페이스 메서드 구현은 override 변경자를 반드시 붙여야함 interface Click { fun click() } class Button: Click { override fun click() { prinln("click Button") } } open, final, abstract 변경자 : 기본 final Kotlin은 기본적으로 모든 클래스, 메서드 final class 임으로 open class, method인 경우 상속가능 open class Cust.. 2024. 4. 20.
[Kotlin] 기초 개념 (1) Kotlin을 공부해야하는 상황이라 부트캠프에 있는 Kotlin 기초개념 중 헷갈리거나 처음본 개념들을 정리할 것이다. 공부하면서 느낀점은 확실히 Java보다 편리한점은 존재하지만 뭔가 헷갈린다고 할까나...??? 그런 부분들 정리할 예정 문자열 템플릿 // kotlin val name = "DalBeen" println("Hello, $name!") println("Hello, ${if(age>26) name else "Dog"}!") // java String name = "DalBeen"; System.out.println("Hello, " + name + "!"); 보통 자바에서는 항상 ""+""을 통해서 변수값을 넣었는데 Kotlin은 위와 같이 편리함을 제공해준다 $+문자열 -> 문자열 리터럴.. 2024. 4. 18.
프록시??? 스프링 AOP?? 트랜젝션?? (5) 이 제목의 챕터를 사실 마무리?라고 해야하나..? 어째든 정리하고자했는데 갑자기 지연로딩도 프록시랑 관련있다는게 생각나서 어떻게 관련이 있는지 한번 공부할겸 정리해본다 지연로딩 JPA를 써봤다면 지연로딩이라는 단어를 한번쯤은 들어봤을 거다. 간단하게 설명하자면 엔티티 A와 연관된 엔티티 B의 정보를 한번에 가져오지 않는 것이다. class Member { @ManyToOne(fetch = FetchType.LAZY) // 지연로딩 @JoinColumn private Team team; } 위의 코드에서 Member를 조회했을때 지연로딩으로 설정되어있다면 해당 값은 같이 조회되지않는다. 좀더 제대로 말하자면 프록시로 감싸진다? 의 느낌이다. 근데 만약 해당 값이 필요하다면?? member.getTeam().. 2024. 4. 15.
2024-04-14 일주일 회고록 최종면접 최종면접이 하나 내일 잡혔다... 두근두근... 1,2차 모두 기술면접이였던지라 뭔가 인성면접의 느낌이 좀더 커서 그쪽으로 준비중이다. 잘하고 싶다..! 일단 회사자체가 원하던 분야이고 스타트업이라서 출시부터 유지보수, 개선까지 함께 할 수 있음에 너무 매력적이다. 오늘까지 열심히 해서 내일꼭 합격해야지!!!! 곧 시험기간 아 곧 학교 시험기간이다.. 다행히 2과목 듣는다.. 한과목은 예상문제 주신다고 해서 다행인데... 한과목은 수업을 들음에도 불구하고 이해가 안된당....ㅋㅋㅋㅋㅋ 일단 내일 면접까지 마무리하고 공부해야징 합격해랏합격해랏 마법을 부리자! 내일 합격할 것이다 라는 마인드 셋으로 조금만더 열심히 준비하자..! 합격하면 관련 분야 책도 읽고 기술스택도 공부해야지..ㅎㅎㅎ 나의 간절.. 2024. 4. 14.
프록시??? 스프링 AOP?? 트랜젝션?? (4) 약 한달만에 이어쓰는 프록시이야기...ㅎㅎ 최근 한달동안 서류합격한거 과제하느라 바빴다.. 또 이번주는 꼭 최종합격하고 싶은지라... 열심히 면접 준비하라... 애를 마니 썼다.. 뭐랄까 부족함은 존재하지만 잘할수 있는 신입 개발자라는 걸 어필하고 싶어서...ㅎㅎㅎ 어째든 시간이 좀 나서 그동안 궁금했던 트랜젝션 동작원리를 알아보고자 한다. 트랜젝션은 AOP의 예이다 찾아보니 나는 단순히 트랜젝션이 프록시 패턴 이용해서 구현했거니.. 추측하고 있었는데 그게 아니라 AOP의 대표적인 예였다. 앞서 말했듯이 AOP는 여러 클래스의 비즈니스 로직과 공통적인 부가로직을 구분하게 위하여 사용되는 기술?? 이다. 그래서 생각해보면 트랜젝션도 결국 여러 서비스 코드에서 @Transactional이 붙으면 AOP에 의.. 2024. 4. 10.
728x90