전체 글 (730) 썸네일형 리스트형 [Kafka] 클라이언트 메타데이터와 브로커 통신 카프카 클라이언트는 메타데이터를 요청하고 응답받는다. 클러스터는 브로커가 여러개일 수있다. 리더 파티션이 몇번 브로커에 있는지 알수있는 메타데이터를 요청하고 전달 받는다. 카프카 프로듀서 메타데이터 옵션 -metadata.max.age.ms : 메타데이터를 강제로 리프래시하는 간격, 기본 5분이다. -metadata.max.idle.ms : 프로듀서가 유휴 상태일 경우, 메타데이터를 캐시에 유지하는 기간이다. 카프카 클라이언트는 반드시 리더파티션과 통신해야한다. 그게 아니라면, Exception이 발생된다. 대부분, 메타데이터 리프래쉬 이슈로발생하고, 해당 리프레쉬 기간에 대한 재설정이 필요하다. 파티션과 리더파티션의 개념을 살짝 추가로 얘기하면 아래와 같다. 브로커는 파티션으로 이루어져있고, 이 파티션.. [Flutter] IOS 앱 빌드 및 배포 TestFlight 와 곂치는 부분은 링크로 대체, 해당 부분에서 확인 하면 된다. https://devboi.tistory.com/563 [Flutter] IOS 앱 빌드 및 배포 (TestFilght) 1. 앱 식별자 등록 developer.apple.com > 식별자 관리 > Bundle Id에 대한 추가를 해줘야 한다. 아래와 같이 만들고, 새앱으로 이동해준다. 2.신규 앱 등록 해당 신규 앱을 추가하면, 아까 식별자로 등록한 devboi.tistory.com 1. 앱 식별자 등록 (Testflight 확인가능) Ios Bundle Id > ios/Runner.xcodeproj/project.pbxproj 파일에 있는 PRODUCT_BUNDLE_IDENTIFIER 속성에 들어있다. 2.신규 앱 등.. [Flutter] SharedPreferences 데이터 삭제 및 수정 1. 슬라이드로 밀면 삭제되는 위젯은 Dismissed 로 감싸주면 된다. 기존 소스에서 아래로 바꿨다. child: Dismissible( key: UniqueKey(), onDismissed: (direction) { if(list.length == 1){ list = []; } else { list.removeAt(index); } memoInterface.saveList(list); }, child: Container( height: 80, margin: const EdgeInsets.symmetric( horizontal: 16, vertical: 4, ), decoration: BoxDecoration( color: list[index].completeYn == "N" ? Colors .blu.. [Flutter] SharedPreferences 사용하여 입/출력 정리 SharedPreferences에 대한걸 정리한다. 동기/비동기에 대한 처리를 제대로 하지않아, 오류가 발생했다. 목표 : SharedPreferences에 데이터를 넣고, 해당 데이터가 업데이트 될때마다, 리스트뷰에 추가해준다. 1. 저장 객체 선언 class Memo{ int? id; String content=''; String? completeYn; Memo(int id,String content,String completeYn){ this.id = id; this.content = content; this.completeYn = completeYn; } Map toJson() { return { 'id': this.id, 'content': this.content, 'completeYn': th.. [Flutter] shared_preferences 사용 1. 의존성 추가 shared_preferences: ^2.2.0 2. 텍스트 받을 위젯 세팅 final _contentEditController = TextEditingController(); child: TextField( controller: _contentEditController, style: TextStyle(color: Colors.black), decoration: InputDecoration( border: InputBorder.none, hintText: '메모를 입력해주세요', hintStyle: TextStyle(color: Colors.grey[300])), cursorColor: Colors.blue, ), 3. 인스턴스 초기화 (대부분 State단에서 선언) final Futu.. [Flutter] 팝업 띄우기 1. 별도 메소드 작성 Future _dialogBuilder(BuildContext context) { return showDialog( context: context, builder: (BuildContext context) { return AlertDialog( title: const Text('Basic dialog title'), content: const Text( 'A dialog is a type of modal window that\n' 'appears in front of app content to\n' 'provide critical information, or prompt\n' 'for a decision to be made.', ), actions: [ TextButton( sty.. [Spring] Springboot 3.2 Swagger 설정 Spring boot 3.2 버전으로 올렸다. 스웨거 관련 다양한 설정방법들이 난무해서 어떤게 문제인지 알기 쉽지않다. 그리고 swagger설정에 시간투자를 많이하면 귀찮기도하다. 그래서 정리하자면 단순히 아래 의존성만 주입해도된다. implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.0.2' 아래 주소로 확인 가능하다.(로컬 빌드 기준) http://localhost:8080/swagger-ui/index.html 패키지 스캔도 자동으로하고, 여러가지 자동으로 지원해준다. 더 세세한 설정방법등은..사실 뭐 있겠지만.. 사실 나는 스웨거에 별로 시간투자를 안하려고한다 (할게 많다..) [Jpa] java.sql.SQLNonTransientConnectionException: (conn=48) Got a packet bigger than 'max_allowed_packet' bytes java.sql.SQLNonTransientConnectionException: (conn=48) Got a packet bigger than 'max_allowed_packet' bytes 오류가 발생할 수 있다. 아래 두개의 커맨드를 입력해서 디비 설정 값을 바꿔주면 된다. set global max_allowed_packet=1000000000; set global net_buffer_length=1000000; 이전 1 ··· 13 14 15 16 17 18 19 ··· 92 다음