전체 글 115

[에러해결] Failed to verify code signature of... | The identity used to sign the executable is no longer valid.

에러발생Failed to verify code signature of /var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.7bcLRc/extracted/Runner.app : 0xe8008018 (The identity used to sign the executable is no longer valid.) Please ensure that the certificates used to sign your app have not expired. If this issue persists, please attach an IPA of your app when sending a report to Apple.   갑자기 빌드를 잘하던 앱이 요상한 에..

[Flutter Architecture] Overview

이 글은 https://docs.flutter.dev/app-architecture/case-study 이 페이지를 정리했습니다. 코드를 구성하는 인기있는 방법은 크게 2가지로 구분될 수 있습니다.기능별각 기능에 필요한 클래스가 함께 그룹화됩니다. 예를들어 auth 디렉토리에 auth_viewmodel.dart,, login_usecase.dart, logout_usecase.dart, login_screen.dart, logout_button.dart 와 같이 공통된 기능과 관련된 파일들을 넣을 수 있습니다. 유형별같은 타입의 파일들끼리 그룹화하는 방법입니다. 예를들어 repositories, models, services, viewmodels와 같은 디렉토리를 만들고 하위에 해당 디렉토리에 해당하는 ..

카테고리 없음 2025.01.06

[Flutter Architecture] 앱 아키텍처 가이드

이 글은 https://docs.flutter.dev/app-architecture/guide 를 읽고 정리한 내용입니다. 프로젝트 구조 개요관심사의 분리가 가장 중요한 원리로 플러터 앱은 크게 UI 레이어와 Data 레이어로 나눠질 수 있습니다.각 레이어는 다음과 같이 더 디테일하게 분리될 수 있고, 각 구성요소는 고유한 책임, 인터페이스, 각각의 경계및 종속성을 가지고 있습니다.ViewView modelsRepositoriesServicesMVVM앱을 세개의 부분으로 나누는데 Model, ViewModel, Model 로 나눌 수 있습니다.View, ViewModel : 앱의 UI를 그리는 뷰와, 그 뷰에서 필요한 로직을 처리하는 뷰 모델Repositories, Services : 앱 데이터의 sin..

[Kafka 에러해결] ERROR Shutdown broker because all log dirs in have failed (kafka.log.LogManager)

문제 상황window 서버에 kafka 3.8.0버전 (2023년 4월에 릴리스)을 설치하고 운영하고 있는데, 주기적으로ERROR Shutdown broker because all log dirs in [카프카 log 경로] have failed (kafka.log.LogManager) 라는 에러가 나며 카프카가 자동 종료되는 현상 다음처럼 로그 파일을 rename할 수 없다는 에러가 발생하고log4j:ERROR Failed to rename [C:\kafka_2.12-3.8.0/logs/server.log] to [C:\kafka_2.12-3.8.0/logs/server.log.2024-11-19-20].log4j:ERROR Failed to rename [C:\kafka_2.12-3.8.0/logs/..

Kafka 2024.11.28

[flutter 에러해결] The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 9.0, but the range of supported deployment target versions is 12.0 to 17.5.99. (in target 'GoogleDataTransport' from project 'Pods')

에러 메시지 Writing result bundle at path: /var/folders/jh/y9698_j138qclsq5jcwck9jh0000gn/T/flutter_tools.4Bjdjz/flutter_ios_build_temp_dirANxhRM/temporary_xcresult_bundle /Users/dayeon/Library/Developer/Xcode/DerivedData/Runner-ealmqulhcewlragkkxbxwsthahph/Build/Intermediates.noindex/Runner.build/Debug-iphoneos/Runner.build/Script-21EA686D5646CF8A3CCBD44A.sh: line 2: /Users/dayeon/Developme..

[flutter 에러 해결] Framework 'Pods_Runner' not found

재현flutter plugin 프로젝트 생성프로젝트 명/example/ios 폴더 우클릭 Flutter -> Open Ios module in XCode 클릭Xcode에서 Product -> Run 클릭 발생한 에러Framework 'Pods_Runner' not foundLinker command failed with exit code 1 (use -v to see invocation) 원인CocoaPods가 플러터 플러그인 프로젝트의 종속성을 올바르게 설치하지 못했을 때 발생해결프로젝트 클린 및 재빌드flutter cleanflutter pub getcd iospod installpod updatecd ..flutter build ios

[Flutter] flutter plugin 만들기

flutter의 앱 관리 기능을 외부에서도 가져다 쓸 수 있게 패키지화 했던 개발 기록기이다. 문제점일반적으로 IDE에서 만드는 New Flutter Project로 프로젝트를 생성할 경우flutter를 이용해서 Running하는 애플리케이션을 만드는 용도로 생성이 된다.이 구조로 flutter plugin을 만들려고 시도해서 꽤나 삽질을 했다.😂 pub.dev에서 가져온 플러그인도 내가 만드는 앱 관리 패키지에서 쓸 수 있어야 하고, 직접 만든 Plugin도 쓸 수 있어야 했는데pub.dev에서 가져온 플러그인은 잘 실행이 되고, 직접 만든 플러그인은 MainActivity.kt 파일에서 코드가 실행되지 않는 문제점이 있었다.   해결 과정내가 삽질했던 프로젝트의 구조(일반적인 방법으로 Flutter..

[flutter] Isolate를 이용한 동시성 제어

요구사항앱(.apk파일)을 다운로드하는 도중에 중지 버튼을 눌러 중지시킬 수 있어야 한다.다운로드 받으면서 실시간으로 몇 MB까지 다운로드 됐는지 UI를 계속 업데이트 해야 한다.현재 앱이 백그라운드로 내려가도, 다운로드는 중지되지 않고 계속 실행되어야 한다. => Isolate를 이용해서 앱을 별도의 쓰레드에서 다운로드 하도록 하고 중지 버튼 이벤트를 받을 수 있게 해야 한다. Isolate란 무엇인가Dart 코드는 스레드가 아닌 isolate의 내부에서 실행된다.각 isolate는 자신의 메모리 힙을 가지고, 다른 isolate에서는 자신의 상태에 접근할 수 없다. (공유하는 메모리가 없다.)Isolate를 사용하면 Dart 코드가 추가 프로세서 코어를 사용하여 여러가지 독립된 작업을 한 번에 수행할..

[JPA 프로그래밍] - 07. 고급 매핑

상속관계 매핑• 관계형 데이터베이스는 상속 관계가 없다.• 슈퍼타입 서브타입 관계라는 모델링 기법이 객체의 상속과 유사함• 상속관계 매핑: 객체의 상속 구조와 DB의 슈퍼타입 서브타입 관계를 매핑 관련 어노테이션@Inheritance(strategy=InheritanceType.XXX)JOINED : 조인 전략SINGLE_TABLE : 단일 테이블 전략TABLE_PER_CLASS : 구현 클래스마다 테이블 전략 @DiscriminatorColumn(name="DTYPE")DTYPE은 운영상 있는것을 추천 @DiscriminatorValue("XXX") : 자식 테이블을 구분하는 DTYPE을 테이블 이름이 아닌 임의로 주고싶을 때, 이 어노테이션을 자식 클래스에 사용한다. 슈퍼타입 서브타입 논리 모델을 실..

JPA 2024.05.08

[JPA 프로그래밍] - 06. 다양한 연관관계 매핑

다대일05. 게시글 참조https://swdy1233.tistory.com/256 [JPA 프로그래밍] - 05. 연관관계 매핑 기초단방향 매핑예제 시나리오• 회원과 팀이 있다.• 회원은 하나의 팀에만 소속될 수 있다.• 회원과 팀은 다대일 관계다. @Entitypublic class Member { @Id @GeneratedValue private Long id; @Column(name = "USERNAME") pswdy1233.tistory.com 일대다 비추천a를 수정했는데 b테이블에 업데이트 쿼리가 나가고, 이는 테이블이 많은 운영 환경에서는 혼란을 야기할 수 있으므로 바람직한 방법이 아님.일대다 단방향, 일대일 양방향 매핑보다는 trade off가 있어도 다대일 양방향 매핑을 사용하자!  일대일..

JPA 2024.05.06