분류 전체보기 (717) 썸네일형 리스트형 [Flutter] Search Module 검색 기능구현 필요. 검색에 대한 기능 처리 중 어떻게 구현을 해볼까.. 싶었음 글자를 입력할떄마다 자동으로 검색이 될수도있고, 검색하기 버튼을 누르면 검색이 될수도있음 요새 대세는 자동 검색인듯..? 그래서 필요한 ListBuilder를 구현, 해당 ListBuilder와 FutureBuilder는 자동으로 값이 추가되면 해당 값을 읽고 setState로 상태변경을 해주지 않아도 상태를 변경해줌 Flutter 에서는 검색을 위한 클래스들을 지원해준다. SearchDelegate 아래 클래스를 상속받아서 Search Class를 구현해주자 기존 골격은 구현 해야하는 메소드들을 구현했고, 초기에 userId를 전달 받아서 결과에서 제외해준다. 추천 친구리스트에서도 동일하게 친구 추가를 할 수 있게 끔 세팅.. [JPA] QueryDsl LeftJoin,SelfJoin 비즈니스 로직은 정리를 안하는 편이지만 정리를 해보자 QueryDsl을 사용하다가 두개의 테이블을 조인 나랑 친구인 상태인 유저는 제외, 이외 모든 유저정보를 불러모으지만, 내가 친구를 신청했던 상태에 대한 정보는 추가로 들고 와야하는 비즈니스 로직 작성 -> LeftOuterJoin + SelfJoin + Projections.fields 다대일 연관관계 매핑 안한이유 = N+1에 대한 위험 요소가 높고, 두개를 조인했을때 오히려, 친구라는 엔티티의 자유도가 떨어진다고 판단 @Override public List findFriendRecommandList(String userId) { QFriend subFriends = new QFriend("subFriends"); List result = quer.. [Flutter] 친구 레이아웃 끝내기 친구 Layout 관련 만들었던 백엔드 Api를 붙여보자 screen source body: Container( child: FutureBuilder( future: getFriendList(userId.toString()), builder: (context,AsyncSnapshot snapshot){ if (snapshot.hasData) { return ListView.builder( padding: EdgeInsets.symmetric(horizontal: 20), itemCount: snapshot.data.length, itemBuilder: (BuildContext context, int index) { FriendItem item = snapshot.data[index]; return Fri.. [JPA] QueryDsl 여러 기능 정리 1) BooleanBuilder, BolleanExpression 사용 비슷한 용도이지만 내 생각에 두개의 용도는 다르다. BooleanExpression은 null인 경우 null을 반환해주면서, 조건에서 제외가 된다. 즉 특정 조건에 따라서 다이나믹하게 조건절이 추가되어야 하는경우, 심하면 없어도되는경우 BooleanExpression을 사용한다. BooleanBuilder는 항상 객체가 생성이 되지만 복잡한 조건절의 쿼리를 생성해야할 때 이걸 사용하게 되면, 그나마 보기 쉽고 조합을 자유롭게 해줄수있다 다만 무조건 사용해야하고 복잡한 조건절의 조합 도구라고 보면된다. 물론 두개다 때에 따라서 용도와 장점과 어긋나게 사용은 가능하지만 장단이 있으니 그에 따라 맞게 사용하면 좋을 것 같다. Boolea.. [Spring] Response 한글안깨지긔 Spring 에서 기본 필터를 제공해주거나, 빈으로 등록하는데 스프링 버전이 변경되면서 Response를 내리는 필터의 설정 방법도 조금 바뀌었다. server: servlet: context-path=/: encoding: charset: UTF-8 force: true 위 처럼 진행하면 된다.(application.yaml) [Docker] local docker-compose 파일 구성 뭐 별건없다. 배포할때는 서비스에 대한 구성을 따로 올리지만, 그게 아닐때 로컬에서 개발할때는 마리아 디비를 도커에서 구성해서 올리는데 자꾸 설정에 대한 오류, 버퍼에 대한 오류가 나서 짜증나서 로컬용 docker-compose 파일을 만든다 (디비만, 필요시 카프카나 추가예정) version: "3.2" services: database: container_name: database image: mariadb volumes: - ~/docker/mariadb/etc/mysql/conf.d:/etc/mysql/conf.d:ro - ~/docker/mariadb/var/lib/mysql:/var/lib/mysql - ~/docker/mariadb/var/log/maria:/var/log/maria envi.. [JPA] 친구 관련 API개발 추천친구 (나랑 아무런 친구 요청이 없는 것) 친구 요청(추천친구에서 친구 요청) 친구 검색(닉네임 기준 친구 검색) 친구 리스트 (본인과 친구관계인 사람) 친구 수락(친구 요청에 대한 승인) 친구 요청 내역 확인(본인 기준 친구 요청을 보낸사람) 우선 이렇게 3가지에 대한 API를 개발할 것이고, 포스팅은 한개만 예시로 할 것이다. 해당 API는 플러터에서 사용 목적으로 개발한다. 친구 controller @GetMapping("/recommand-friends") public List recommandFriends(@RequestParam("userId") String userId) { return friendService.recommendFriends(userId); } @PostMapping("/.. [JPA] QueryDsl 친구 관련 설계 친구데이터 관련 설계를 하고 있었다. 뭐가 좋을까. 고민 되었다. 특히 추천 친구라는 기능을 하나 만들고 싶었다. 우선 Entity간의 연관관계를 두기 싫었다. 그래서... 나는 이렇게 설계했다. 회원가입하면, Friends 테이블에 자기 자신도 넣어주는 것이다. 자세한건 아래 로직을 보자 1) 회원가입 로직 @PostMapping("/user") public User saveUser(@RequestBody UserDto userDto) { return userService.saveUser(userDto); } public User saveUser(UserDto userDto) { List result = userRepository.findByUserId(userDto.getUserId()); if(re.. 이전 1 ··· 7 8 9 10 11 12 13 ··· 90 다음