일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- JPA예제
- Axon framework
- 프로그래머스
- 스프링
- 자바공부
- 스프링부트
- Flutter
- Kafka
- 기술면접공부
- 카프카
- 스프링공부
- 코테공부
- 플러터 개발
- nestjs공부
- 기술공부
- querydsl
- 알고리즘공부
- JPA
- 스프링 공부
- 플러터 공부
- nestjs
- DDD
- K8S
- nestjs스터디
- JPA 공부
- JPA공부
- 코테준비
- JPA스터디
- 자료구조공부
- 스프링부트공부
- Today
- Total
목록분류 전체보기 (715)
DevBoi
한개의 프로젝트를 진행하고 있지도 않고, 여러개의 프로젝트에 배포를 조금씩 해야한다. 원래는 CI/CD를 젠킨스나 툴을 이용해서 구축하는게 맞지만 1개에 여러번이 아닌, 10개의 3번씩 배포를 해야하는 샹황이라, 아래와 같이 배포를 하려고한다. 1. Docker image build 및 Docker hub push 2. docker-compose file ec2 upload 또는 vi로 이미지 버전 수정 3. ec2에서 docker image pull 및 빌드 1) Ec2 도커환경 구성 https://devboi.tistory.com/543 [AWS] EC2에 Docker 설정 1. 패키지 업데이트 > sudo apt update -y 2.Docker 설치 > sudo apt install docker ..
Querydsl 처리 중 페이징처리 관련 정리 컨트롤러 @GetMapping("/member") @Operation(description = "회원 상세 조회") public PageImpl getAllMember( MemberReadDto memberReadDto,PageRequest pageRequest) { Pageable pageable = pageRequest.of(); PageImpl result = memberService.getAllMember(memberReadDto,pageable); return result; } 커스텀 페이징 객체 구현 package com.boiler.core.backend.member.dto.paging; import org.springframework.data...
귀찮기도 하지만, 여러개 만드는 것보다 널처리해서 선택적 동적 쿼리를 생성 public Long patchMember(MemberDto tMember) { JPAUpdateClause clause = queryFactory.update(member); clause = MemberUpdateClause(clause,tMember); return clause.execute(); } JPAUpdateClause MemberUpdateClause(JPAUpdateClause jpaUpdateClause,MemberDto tMember){ if(member.address != null) jpaUpdateClause.set(member.address,tMember.address()); if(member.birth ..
QueryDsl 프로젝트를 빌드할때 오류가 났다. 사유는 Qclass의 중복 생성시도로 인한 오류이다. 아래와 같이 세팅해서 해결했다. 별건아니고 그냥 의존성 주입과 그래들 과정에서 번거롭게 또 삽질 싫어서 남겨둔다. 나는 쿼리 팩토리를 별도 빈으로 생성해서 서비스에서 주입 받아서 사용했다. 별도 레포지토리는 비즈니스 로직이 복잡할때만 ...할까 하다가 파일이 많아지면 신규 모듈 개발할때 귀찮아서 우선 서비스에서 끝냈다. plugins { id 'org.springframework.boot' version '3.1.2' id 'io.spring.dependency-management' version '1.1.2' id 'java' } group = 'com.boiler.core' version = '0...
아래와 같이 플러팅 버튼을 누를때, 다이얼 로그 에 대한 노출을 한다. floatingActionButton: FloatingActionButton( onPressed: ((){ showDialog( context: context, builder: (BuildContext context){ return AlertDialog( content: CreatePopup(), ); }) 이후에 값을 받아올때는 아래와 같이 구현한다. showDialog( context: context, builder: (BuildContext context){ return AlertDialog( content: CreatePopup(), ); }).then((value) { setState(() { reportList = valu..
State 하위 메서드에서는 아래와 같은 메서드를 오버라이드 해서, 초기 세팅을 할 수 있다. @override void initState() { super.initState(); } 근데 비동기 함수를 중간에 넣으면 잘 동작을 안하는 경우가 있다. supser.initState가 위 함수 완료 이전에 진행되면 빈화면이 노출된다. 방법은 크게 생성자와 비동기 함수 동작이다. 생성자는 다른 포스팅에서 많이 다뤄서 아래와 같이 다른 방법을 공유한다. @override void initState() { asyncMethod(); super.initState(); } asyncMethod() async { dataInterface.init().then((value) => { setState((){ reportL..
프로듀서 에서는 파티셔너를 제일 많이 쓴다. 총 2개의 파티셔너에 대한 지원을 해준다. UniformStickyPartitioner, RoundRobinPartitioner 2개의 파티셔너를 제공한다. 카프카 클라이언트 라이브러리에서 파티셔너를 지정하지 않는 경우, UniformStickyPartioner가 파티셔너로 기본 설정된다. 1. 메시지 키가 있을 경우 동작 UniformStickyPartioner와 RoundRobinPartitioner 둘다 메시지 키가 있을때는 메시지 키의 해시값과 파티션을 매칭하여 레코드를 전송한다. 동일한 메시지키가 존재하는 레코드는 동일한 파티션 번호에 전달 된다. 만약 파티션 개수가 변경되는 경우,메시지키와 파티션 번호 매칭은 깨지게 된다. 즉 메시지키가 있는 경우,..
카프카 토픽을 사용할때 가장많이 사용하는 도구이다. 프로듀서 애플리케이션을 개발해서, 토픽에 메시지를 발행하고 일반적인 환경에서는 Producer 애플리케이션을 개발해서 토픽에 메시지를 넣는다. 카프카의 데이터는 시작점이 프로듀서이다. 프로듀서 애플리케이션은 카프카에 필요한 데이터를 선언하고 브로커의 특정 토픽의 파티션에 전송한다. 프로듀서는 리더 파티션이 있는 브로커와 통신하게 된다. 즉 프로듀서는 토픽의 리더파티션을 가지고있는 브로커와 통신하고 다른 팔로워 파티션은 이를 복제한다. 또한 이런 애플리케이션이 자바가 아닌 라이브러리를 사용하면, 공식적으로 지원하는 라이브러리가 아니기떄문에 문제가 발생할 수 있다. 따라서 자바로 개발하는게 좋다. 파티셔너,배치생성 단계를 거치고 데이터를 브로커로 전송하게 ..
태그 같은 느낌으로 사용하고싶었고, 필요했다. 유틸성 클래스를 작성했고, 사용방법은 아래와 같다. import 'dart:ui'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; class Chipbuilder{ static Widget build(String label, Color color) { return Chip( labelPadding: EdgeInsets.all(0.1), label: Text( label, style: TextStyle( color: Colors.white, ), ), backgroundColor: color, elevation: 6.0, shadowColor: Colors.gre..
Entity 에서 properties로 아래와 같이 저장하고싶을때가 있다. List tags 이를 해결하고 JPA는 어떻게 관리하는 지 알아보자 우선 내가 사용하는 Entity 타입이다. package com.boiler.flutterbackend.app.group.dto; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import java.time.LocalDateTime; import java.util.List; @AllArgsConstructor @NoArg..