분류 전체보기 108

[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

[JPA 프로그래밍] - 05. 연관관계 매핑 기초

단방향 매핑예제 시나리오• 회원과 팀이 있다.• 회원은 하나의 팀에만 소속될 수 있다.• 회원과 팀은 다대일 관계다. @Entitypublic class Member { @Id @GeneratedValue private Long id; @Column(name = "USERNAME") private String name; private int age; // @Column(name = "TEAM_ID") // private Long teamId @ManyToOne @JoinColumn(name = "TEAM_ID") private Team team; //팀 저장Team team = new Team();team.setName("Team..

JPA 2024.04.28

[JPA 프로그래밍] - 04. 엔티티 매핑

객체와 테이블 매핑 @Entity @Entity가 붙은 클래스는 JPA가 관리한다. JPA를 사용해서 테이블과 매핑할 클래스는 @Entity 필수 주의점 기본 생성자 필수(파라미터가 없는 public 또는 protected 생성자) DB에 저장할 필드에 final 사용 불가 final 클래스, enum, interface, inner 클래스는 @Entity로 맵핑할 수 없음 @Entity 속성 name @Entity(name="anotherMember") JPA에서 사용할 엔티티 이름을 지정 기본값은 클래스 이름을 그대로 사용(예: Member) 중복되는 클래스 이름이 없으면 가급적 기본값을 사용한다. @Table @Table은 엔티티와 매핑할 테이블 지정 속성 기능 기본값 name 매핑할 테이블 이름 ..

JPA 2024.04.06

adb: failed to open ~build/app/outputs/flutter-apk/app-debug.apk: Operation not permitted

안드로이드 실행시 다음과 같은 에러 발생  Error: ADB exited with exit code 1Performing Streamed Installadb: failed to open /Users/chouchou/what_flutter_can_do_today/build/app/outputs/flutter-apk/app-debug.apk: Operation not permittedError launching application on sdk gphone arm64.  열심히 검색해본 결과 회사 보안프로그램 때문에 발생했다. 보안 프로그램 삭제 후 안드로이드 실행시 문제 없으 실행 됌

[에러 해결] android studio에서 Dart SDK is not configured

상황 다음 캡쳐와 같이 Dart SDK is not configured 경고 메세지가 나온다. 해결 Open Dart settings 클릭한다. Dart SDK path 부분이 중요한데 플러터를 설치한 위치 밑에 'flutter/bin/cache/dart-sdk'이 부분까지 정확히 적어줘야 한다 그리고 두 개 체크박스까지 체크해준다. 상황2 run 버튼이 비활성화되어 있고 Add Configuration...이 보인다. 해결 안드로이드 스튜디오 첫 실행시 나오는 화면에서 Plugins -> flutter 검색 -> Install 또는 command + , 눌러서 Settings 창을 열고 좌상단 검색창에 'plugins' 검색 -> flutter 검색 -> Install

[에러 해결] Flutter SDK not available (feat. Intl)

상황 VS Code에서 Flutter Intl 익스텐션 설치 후 Command + Shift + P 단축키로 Command Palette...실행 Flutter Intl: Initialize 입력하고 누를시 다음과 같은 에러 발생 시도1 flutter가 설치된 경로를 ~/.zshrc에 PATH 추가하기 which flutter 위 명령어 입력시 [경로]/flutter/bin 까지의 경로를 확인하고, 아래처럼 ~/.zshrc에 flutter SDK 경로 추가한다. export PATH="$PATH:/Users/someone/Developments/flutter/bin" 그리고 재부팅 같은 에러가 나고 해결안됨 시도2 settings.json파일에 "dart.flutterSdkPath": "/Users/so..

[실전 Dart] 01.객체 생성 & 비교

1. 객체 생성 객체 생성시 값을 메모리에 저장하고, 메모리 주소를 반환함 값(Value) : 메모리에 저장된 데이터 참조(Reference) : 값이 저장된 메모리 주소 변수는 참조(메모리 주소)를 저장한다. String name = '철수'; //철수라는 값이 담긴 메모리 주소를 변수 name에 저장한다. 2. 객체 비교 객체 비교에는 두 가지가 있다. 값 비교 : 메모리에 담긴 값을 비교하는 방법 참조 비교 : 메모리 주소를 비교하는 방법 Dart는 기본적으로 참조 비교를 사용한다. 3. 메모리 할당 규칙 객체 생성시, 가변 객체는 항상 새 메모리를 할당하고 불변 객체는 값이 동일하다면 기존에 생성한 객체를 재활용한다. void main() { print('철수' == '철수'); // true (..

Dart 2024.03.14

터미널 꾸미기

1. iTerm2 다운로드 https://iterm2.com/index.htmlhttps://iterm2.com/index.html 2 homebrew 설치 zsh 설치와 관련 설정들을 위해 homebrew가 필요하다. /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 3. .zsh 설치 MacOS Catalina 이후 버전은 기본적으로 zsh가 있다. 설치되어 있지 않다면 설치한다. zsh 설정 관리를 위해 oh-my-zsh도 설치한다. // zsh 설치 brew install zsh // oh-my-zsh 설치 sh -c "$(curl -fsSL https://raw.github...

카테고리 없음 2024.03.09