일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 스프링공부
- 플러터 공부
- 스프링부트공부
- 스프링부트
- 자료구조공부
- Axon framework
- K8S
- DDD
- 코테공부
- 스프링
- 카프카
- 알고리즘공부
- nestjs스터디
- querydsl
- Kafka
- 스프링 공부
- Flutter
- 기술공부
- 플러터 개발
- 기술면접공부
- JPA
- JPA 공부
- 자바공부
- JPA예제
- 프로그래머스
- JPA공부
- JPA스터디
- nestjs공부
- nestjs
- 코테준비
- Today
- Total
목록분류 전체보기 (716)
DevBoi
컨슈머 그룹에 대한 걸 알아보자. 컨슈머 그룹으로 생성된 컨슈머로 해당 토픽에 대한 데이터를 가져갔다. 컨슈머 그룹은 따로 생성하는 명령을 날리지 않고 컨슈머를 동작할 때 컨슈머 그룹이름을 지정하면 새로 생성된다. 또한 어떤 컨슈머 그룹이 어떤 토픽을 대상으로 레코드를 가져갔는지 그리고 상태와 오프셋 컨슈머 렉 컨슈머 ID,호스트 등을 알 수 있다. (컨슈머 렉 - 현재 레코드의 오프셋과 마지막 레코드의 차이이다 ,즉 컨슈머가 읽지않은 데이터라고 이해하면 된다.) 컨슈머의 상태를 조회할때도 유용하다. 또한 컨슈머그룹의 오프셋을 리셋할 수 있다. 오프셋의 리셋은 처음부터 시작되는 것만은 아니다. 특정 오프셋으로 이동할 수 있는 것이다. 순차처리가 필요없는 경우, 최신의 데이터로 오프셋을 이동할 수 있다는 ..
카프카의 컨슈머 역할을 한다. 토픽에 대한 조회 용도로 사용한다. 특정 카프카 브로커의 토픽의 데이터를 가져올 수 잇다. bootstrap server, topic에 대한 옵션이 필수이고, 저장된 데이터를 가장 처음 부터 출력이 가능하다. 토픽의 데이터도 가져올 수 있고, 메시지키를 가져올 수도 있다. 최대 컨슘 메시지 개수를 설정할 수도있고 특정 파티션에 대한 컨슘도 가능하다. 진행해보자 1) 주키퍼, 브로커 데몬 모드로 기동 bin/zookeeper-server-start.sh -daemon config/zookeeper.properties bin/kafka-server-start.sh -daemon config/server.properties 2) 토픽 생성 bin/kafka-topics.sh --..
1. S3에 이미지를 올린다. https://devboi.tistory.com/564 참고하여, S3 구성 테스트 이미지 세팅 2.플러터 S3이미지 호출 방법 assets가 아닌 외부 Url로 이미지를 세팅하는 방법은 이렇다. Image.network( "s3주소/image/3126993.png", height: 170, width: MediaQuery.of(context).size.width, fit: BoxFit.cover, ), 3. 확인 4. 데모 백엔드 서버 구성 Docker-compose + Spring Hibernate + Mariadb (비즈니스 로직에 따라 querydsl 옵셔널) 5. 플러터에서 데모 백엔드 호출 라이브러리 추가 + http 통신 api 개발 http: ^0.13.5 F..
많이 쓰는 조합이다. 서버를 호출해서 데이터를 가져온다. 가져와서 리스트뷰로 아이템 세팅해서 뿌려준다. 대부분 이미지 + 텍스트 의 데이터를 기반으로 세팅하기에 해당 조건으로 템플릿을 생성한다. 우선 디렉토리를 위의 구조로 간다. data를 받아오는 곳은 해당 폴더에서 처리를 한다. 우선 해당 파일에서 리스트를 return 한다. List posts = List.generate( 13, (index) => { "name": names[random.nextInt(10)], "dp": "assets/images/cm${random.nextInt(10)}.jpeg", "time": "${random.nextInt(50)} min ago", "img": "assets/images/cm${random.nextIn..
Splash Screen 세팅은 아래 내 블로그 다른글에 집중적으로 작성했다. 참고하자 https://devboi.tistory.com/649 1. Splash Screen 의존성 추가해준다. dependencies: flutter_native_splash: ^2.3.1 #Splash 스크린 2.Splash Screen을 세팅해준다. 프로젝트 루트 경로에 flutter_native_splash.yaml 파일 생성 (주석처리 된 부분 참고하여, 커스터마이징) flutter_native_splash: # This package generates native code to customize Flutter's default white native splash screen # with background colo..
라이브러리 의존성을 주입받다보면 dart버전을 업그레이드 해야한다 1) 명령어로 업그레이드 그냥 프로젝트 가서 아래 명령어 치면 끝난다. flutter upgrade --force 알아서 이후에 flutter doctor까지 진행해주어서, 검사까지 해준다. 2) 직접설치 1번의 방법으로 진행이 안되면,아래로 진행하면 된다. 프로젝트에 대한 설정을 해주어야 한다. https://docs.flutter.dev/release/archive?tab=macos Flutter SDK archive All current Flutter SDK releases: stable, beta, and master. docs.flutter.dev 사실 위 과정은 안하고 이과정만 해도 무리는 없다. 위 링크에서 아래의 사진에서 다..
매번 카카오 로그인을 하는 사람은 없다. 카카오 로그인 이후에 회원정보를 캐시에 저장해두고, 해당 정보를 사용하자 https://devboi.tistory.com/665 [Flutter] shared_preferences 사용 1. 의존성 추가 shared_preferences: ^2.2.0 2. 텍스트 받을 위젯 세팅 final _contentEditController = TextEditingController(); child: TextField( controller: _contentEditController, style: TextStyle(color: Colors.black), decoration: InputDecoratio devboi.tistory.com 해당 글을 참고해서 shared_prefe..
Android 카카오 로그인 연동 1. AndroidManifest.xml packageName 확인 2. 해시키 값 얻는 명령어 keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore -storepass android -keypass android | openssl sha1 -binary | openssl base64 위 두가지 내용을 해당 정보에 넣어준다. 3. AndroidManifest의 파일에 아래 내용을 추가해준다. 여기서, kakao~key}까지 다 지우고, 즉 안에 값을 통으로 네이티브 키값으로 변경해줘야한다. 4. build.gradle compileSdkVersion 를 33버전으로 고정해준다. min..
BoilerTemplate BottomNavigation에 대해서 구현할거다. 저번에는 로그인에 대해서 까지만 구현했다. 로그인 이후에 해당 사용자 정보를 가지고 메인으로 가는 소스를 구현해보자 물론 메인으로 가기전에 캐시에 저장은 할 것이다. 1. 로그인 성공 시 main 화면으로 이동 IconButton( icon: Image.asset('assets/images/kakao_login.png'), iconSize: 350, onPressed: () async { viewModel.login().then((value) => Navigate.pushPageReplacement(context, MainScreen()) ); } ) login을 하면 NavigatepushPageReplace로 페이지를 전환..
가끔 깜빡깜빡하다가 아차차..하던것들 Spring Mvc Spring Mvc는 Thread per Request이다. 쓰레드풀의 하나의 쓰레드를 리퀘스트에 쓰는 것이다. 쓰레드 하나가 모든일을 사용하고, 중간에 이 과정은 block된다. 시스템 부하가 크다면, 단순히 외부 network IO를 처리하는 것 자체에 서버 속도 처리 spec이 달라진다는 것이 문제이다. Webflux는 netty 기반이고, nginx와 동일하게, 이벤트 루프를 사용하여, 쓰레드를 사용한다. 단적인 예는 위의 그림과 같다. 하나의 쓰레드에서 외부 Api를 호출하고, 이 과정이 끝나면 다음 테스크에서는 이벤트 루프의 응답을 받은 쓰레드에서 이어서 처리를 한다. 높은 처리가 가능한 이유는, 각 쓰레드당 free한 쓰레드가 많아진다..