분류 전체보기 536

[flutter] 화면 방향을 세로/가로 고정 방법

// 화면 방향을 세로모드로 고정합니다. void setOrientationVertical(BuildContext context) { SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); } // 화면 방향을 가로모드로 고정합니다. void setOrientationHorizontal(BuildContext context) { SystemChrome.setPreferredOrientations([ DeviceOrientation.landscapeLeft, DeviceOrientation.landscapeRight, ]); } 위의 코드는 Flutter 앱에서 화면 방향을 제어하기 위해 사용되는 함수들을 정의하고 있습니다. 이러한 함..

[flutter] 화면의 가로 및 세로 크기를 가져오기(휴대폰/패드 등)

휴대폰인지 패드인지 확인하기 위한 작업이 필요하다. 다음 코드를 봅시다. _screenSize() { MediaQueryData mediaQueryData = MediaQuery.of(context); // 화면의 가로 및 세로 크기를 가져옵니다. double screenWidth = mediaQueryData.size.width; double screenHeight = mediaQueryData.size.height; if(screenWidth > 600) { print('pad 에서 접속했습니다. 가로모드만 적용'); } else { print('phone 에서 접속했습니다. 세로모드만 적용'); } } 해설 MediaQueryData를 사용하여 현재 디바이스의 화면 크기 정보를 가져옵니다. scre..

es6 옵셔널 체이닝 에 대해 ?. 샘플 OCP

디자인 패턴의 OCP 를 공부하다 기록해 놓습니다. 아래와 같은 코드가 있습니다. const aa = 't'; if(aa == 't') console.log('ooo'); else consolelog('xxx'); 아주 단순한 코드죠 위 코드를 라우팅 테이블과 라우터로 변경해봅니다. const resultProcess = { table: { "true": () => { console.log('ooo'); }, "false": () => { console.log('xxx'); }, }, router(input) { return this.table[input == 't']?.(input); } }; resultProcess.router('t'); OCP 를 흉내내기 위해서 아주 간단한 코드로 작성했습니다. ..

프로그래밍/Js 2023.08.31

[spring boot JPA] object references an unsaved transient instance - save the transient instance before flushing 오류 원인

"object references an unsaved transient instance - save the transient instance before flushing" 오류는 Hibernate 또는 JPA에서 발생하는 오류로, 영속성 컨텍스트에 저장되지 않은(transient) 엔티티를 다른 엔티티가 참조하고 있을 때 발생합니다. 이 경우, 영속성 컨텍스트는 참조한 엔티티를 올바르게 관리하지 못하므로 오류가 발생합니다. 이 오류를 해결하기 위해 다음을 확인하십시오: 연관 엔티티 저장: 먼저 연관 엔티티(Team)를 저장한 후, 메인 엔티티(Members)에 연관 엔티티를 설정하세요. 영속성 컨텍스트는 참조된 엔티티가 영속 상태로 저장되어 있어야 합니다. 원본 Members members = new M..

spring boot 와 JPA + mysql 사용한 두개 테이블 조인 Insert

프로젝트 구조 build.gradle buildscript { repositories { mavenCentral() } dependencies { classpath "gradle.plugin.com.ewerk.gradle.plugins:querydsl-plugin:1.0.10" } } plugins { id 'java' id 'war' id 'org.springframework.boot' version '2.7.14' id 'io.spring.dependency-management' version '1.1.2' id 'com.ewerk.gradle.plugins.querydsl' version '1.0.10' // Querydsl 플러그인 추가 } group = 'com.naya' version = '0..

spring boot 와 JPA 사용한 프로젝트 전체 구조

Spring Boot 및 Spring Data JPA 프로젝트의 구조를 잘 구성하는 것은 프로젝트의 확장성과 유지 관리성을 향상시키는 데 중요합니다. 아래에 제안하는 전형적인 프로젝트 구조를 참고하실 수 있습니다. 프로젝트 구조의 주요 구성 요소: Controller: 사용자의 HTTP 요청을 처리하고 응답을 생성하는 역할을 합니다. 주로 @Controller나 @RestController 어노테이션이 지정된 클래스입니다. src/ └── main/ └── java/ └── com/ └── example/ └── controller/ Service: 비즈니스 로직을 수행하는데 사용됩니다. 서비스 계층은 컨트롤러와 리포지토리 사이에서 중간 역할을 합니다. 주로 @Service 어노테이션이 지정된 클래스입니..

IntelliJ 이용하여 스프링 부트 + JPA + Mysql + thymleaf 게시판 CRUD

IntelliJ IDEA를 사용하여 스프링 부트(Spring Boot) 기반의 웹 애플리케이션을 개발하며, JPA(Java Persistence API)를 통해 MySQL 데이터베이스를 사용하고 Thymeleaf를 사용하여 간단한 게시판의 CRUD(Create, Read, Update, Delete) 기능을 구현하는 과정을 설명합니다. 이 프로젝트를 만들기 위한 단계별 가이드입니다. 전제 조건: - IntelliJ IDEA 설치 - JDK 11 설치 - 스프링 부트 프로젝트 생성 및 설정 - MySQL 데이터베이스 설치 및 설정 IntelliJ IDEA로 스프링 부트 프로젝트 생성 IntelliJ IDEA를 열고 "File" 메뉴에서 "New"를 선택한 다음 "Project"를 클릭합니다. "Spring..

IntelliJ 이용하여 스프링 부트 + JPA + Mysql 간단한 예제

JAVA 11 사용 build.gradle plugins { id 'java' id 'war' id 'org.springframework.boot' version '2.7.14' id 'io.spring.dependency-management' version '1.1.2' } group = 'com.naya' version = '0.0.1-SNAPSHOT' java { sourceCompatibility = '11' } configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring..