본문 바로가기

분류 전체보기151

TIL 230712 : 자바의 람다식 짚고 넘어가기(2) 메소드 참조 https://thiswooin.tistory.com/50 TIL 230711 : 자바의 람다식 짚고 넘어가기. 조금은 머쓱한 얘기지만 자바의 기본 문법을 배울 때 잘 이해되지 않고 다른 것들에 밀려 유보해두었던 람다와 스트림에 대해 다시 한 번 공부를 해서 개념을 짚고 넘어가보려 합니다. 강의를 thiswooin.tistory.com 지난 시간 이어서 메소드 참조에 대해서도 정리해보려 한다. 메소드 참조 Page responseDtoList = products.map(ProductResponseDto::new); 위 코드에서 맨마지막 부분이 의문이었다. 모던자바 문법 중 하나로 메소드 참조라는 문법이다. 예시 (left, right) -> Math.max(left,right); 위와 같은 람다식에서 M.. 2023. 7. 13.
TIL 230711 : 자바의 람다식 짚고 넘어가기. 조금은 머쓱한 얘기지만 자바의 기본 문법을 배울 때 잘 이해되지 않고 다른 것들에 밀려 유보해두었던 람다와 스트림에 대해 다시 한 번 공부를 해서 개념을 짚고 넘어가보려 합니다. 강의를 들으며 이해가 안 됐던 코드 두가지가 있다. Product product = productRepository.findById(id).orElseThrow(()-> new NullPointerException("해당 상품은 존재하지 않습니다.") ); Page responseDtoList = products.map(ProductResponseDto::new); 바로, 람다식 그리고 메서드 참조이다. 람다식 람다식은 우선 코드를 간편하게 해주기 위해 태어난 것이다. 반대로 말하면 위의 람다식을 이용한 코드를 람다식이 없을 때.. 2023. 7. 12.
TIL 230710 : 다중 JSON 다루기 (JSONObject, JSONArray) 예전에 Post 안에 Reply를 그냥 리턴해서 오류가 난 적이 있다. JSON안에 값이 JSON의 배열인 형태였는데, 오늘 강의를 보며 이를 다루는 걸 다시봤다. String타입으로 받아온 JSON데이터. ResponseEntity에서 getBody를 통해 가져왔다. Body의 내용을 보면 키-값으로 이루어진 맵의 형태이지만, "items"키의 값은 배열 안에 또다른 JSON형태의 데이터들이다. 이렇게 값이 배열인 경우, 배열의 하나하나의 값이 JSON인 배열인 경우 JSONArray를 통해 배열형태로 가져올 수 있다. - 키값을 직접 명시해서 해당 키의 값에 해당하는 배열을 가져오는 형태. 그런 뒤 items라는 배열을 반복하며 Object인 item을 JSONObject로 형변환해서 ItemDto로.. 2023. 7. 10.
WIL 230709 : 스프링를 훑어 보며 FACTS 이번 일주일 동안 있었던 일, 내가 한 일 : JPA를 활용, 다양한 Entity간의 관계를 익히며 각각의 특성을 공부했다. 팀과제에 있어서는 1:N인 글과 댓글, N:M인 글과 태그이 연관관계를 맵핑하는 연습을 했다. FEELINGS 나의 감정적인 반응, 느낌 : 직접 코딩을 구현해보며 항상 느끼는 것은, 설명으로만 보는 건 쉬운데 직접 해보면 다양한 변수를 맞이한다. 동시에, 처음 접하는 다양한 개념들을 표면적으로 다양하게 배우다보니 어떤 개념이 낯선지 헷갈린다. 다행히 리뷰를 해보며 어떤 것들을 좀 더 복습하고 심화된 개념들을 더 파고들지 정리가 되어서 잘 됐다. FINDINGS 그 상황으로부터 내가 배운 것, 얻은 것 : N:M인 글과 태그를 설정하며 최초로 글을 작성할 때의 코딩을 하.. 2023. 7. 9.
TIL 230707 : 다른 팀의 발표를 보고 오늘 뉴스피드 팀과제 발표가 있었다. 다양한 기능을 구현한 팀부터 이러저러한 사정으로 팀원의 부재로 백엔드에 집중한 팀 등 다양했다. 모든 팀으로부터 배울점들이 있었다. 간략히 아래에 정리해본다. 폴더를 도메인별로 나눴다 강의를 듣고서 작업을 하다보면 보통 왼쪽처럼 폴더를 나누게 되는데, 이제 도메인이 다양해지면 저 폴더를 각 도메인에 (Reply, Post, User, Info 등) 나누어서 해당 패키지 내에서 독립적으로 의존하게 작업하기도 했다. 이를 튜터님도 칭찬해주셨고, 나도 시도해봐야겠다라고 생각했다. github의 issue, pull request 활용 매번 느끼지만 결국 협업이다. 내가 빠르게 10중에 10을 내 작업에 투자해서 진행하고 싶지만, 나의 시간 2를 투자해 팀에 10의 이득을 .. 2023. 7. 7.
TIL 230706 : 해시태그 조회 구현하기 (map활용 카운트하는 방식) 여러 태그를 모두 가지고 있는 게시물들을 반환하려고 한다. 문제 내가 찾고자 하는 태그를 모두 갖고 있는 Post들을 전부 가져오고 싶었다. List를 넣어줘서 쿼리메소드에 In을 붙이면 tag들이 있는 Post를 가져올거라 생각했다. 하지만, 원치않은 결과들도 호출됏다. 예를들어, tagA, tagB 둘 다 가지고 있는 Post를 가져오고 싶어서 List tagList = {tagA, tagB}; 를 해서 위 메소드에 입력하게 되면 tagA만 가지고 있는 Post도 가져오게 된다. 내가 원하는 건 모든 tag를 다 갖고 있는 Post들이다. 시도 1. Specification tag를 모두 갖고 있는 쿼리를 동적으로 만들어주는 specification을 활용해보고자 했다. 사실 내가 쓰면서도 잘 모르겠.. 2023. 7. 7.