IT (155) 썸네일형 리스트형 무지성으로 Stable Diffusion Webui랑 놀아보자(코랩편) - 1부 m1 stable diffusion webui install stable diffusion이란? Stability AI에서 오픈소스 라이선스로 배포한 text-to-image 인공지능 모델이다 Stable Diffusion은 독일 뮌헨 대학교 Machine Vision & Learning Group (CompVis) 연구실의 "잠재 확산 모델을 이용한 고해상도 이미지 합성 연구"[1]를 기반으로 하여, Stability AI와 Runway ML 등의 지원을 받아 개발된 딥러닝 인공지능 모델이다. (출처: 나무위키) 처음에는 mac m1에서 설치하는 것을 시작하려고 하였으나, 실제 m1 mac mini에서 설치해서 사용해본 결과 너무 느려서 많은 이미지를 동시에 뽑는 작업은 거의 불가능하다고 판단해서, 기.. Spring JPA 1+n 이슈에 대해 알아보기 Spring JPA 1+n 이슈에 대해 알아보기 오늘은 JPA 연관관계를 사용하면서 한번은 겪게 되는 1+N 이슈에 대해서 알아보고자 합니다. N+1 이슈가 무엇이고 왜 발생하는 걸까요? N+1이슈는 연관 관계에서 발생하는 이슈로 연관 관계가 설정된 엔티티를 조회할 경우에 조회된 데이터 갯수(n) 만큼 연관관계의 조회 쿼리가 추가로 발생하여 데이터를 조회하는 경우가 발생합니다. 이를 N+1 문제라고 합니다.먼저 연관관계를 만들어 보기 위해서 Team, Member Entity를 만들어 보겠습니다. NBA 농구에 시카고 불스 팀이 있습니다. 시카고 불스 팀에 포함된 멤버가 있습니다. 연관관계는 일대다, 다대일로 되어있습니다. // Team.kt @Entity class Team ( @Id @Generate.. SpringBoot, Kotlin, Mysql사용해서 Rest-Api 만들기 SpringBoot, Kotlin, Mysql사용해서 Rest-Api 만들기 이번에는 Spring boot, Kotlin언어와 데이터베이스는 Mysql을 사용해서 Rest-Api를 만들어 볼까합니다. DB설계는 간단하게 할꺼고, 목적은 Back-end Rest-Api구조를 만드는것이 목적입니다.프로젝트 환경 Springboot 3.0.4 (글 작성 현재 기준 최신) Kotlin 1.7.22 Mysql 8.0.31 Jvm17 프로젝트 생성 IntellijIdea 를 기준으로 하겠습니다. Dependency는 Spring Boot DevTools, Spring Web만 선택하고 Create를 눌러 줍니다. Mysql관련 설정은 수동으로 하도록 하겠습니다. 프로젝트 생성후 실행 생성된 프로젝트를 실행후 loc.. [Nuxt] Jest 설정 및 사용해 보기 Nuxt에서 Jest 설정 및 사용해 보기 프로젝트를 진행하면서 TDD(테스트 주도 개발) 많이들 사용하실 겁니다. 테스트 코드를 짜는게 꼭 절대적으로 좋다라고는 말할수는 없지만 단위테스트 정도는 무리가지 않으니 많이하고 있는걸로 압니다. 오늘은 Nuxt3로 프로젝트를 하면서 사용한 테스트 프레임워크 Jest를 설정하고 사용해 보는법을 정리해 보고자 합니다. Jest 설치 nuxt프로젝트를 cli로 만들때 단위테스트를 선택하는 부분이 있는데 선택하면 자동으로 설치해줍니다. 저는 프로젝트 생성시에 선택하지 않아서 수동으로 설치해 줬습니다. Nuxt프로젝트 생성 수동으로 선택해서 프로젝트 생성시 npm init nuxt-app 기본설정으로 프로젝트 생성시 npx nuxi init Dependency inst.. [Nuxt] 상태관리 라이브러리 Pinia 사용 및 설정하기 이전에 vue로 프론트 작업할때는 vuex 상태관리 라이르러리를 사용했었는데 nuxt로 작업하면서 pinia를 사용해 보았습니다. vue 공식사이트에서는 pinia를 사용하도록 권장하고 있는것 같습니다. 오늘은 nuxt에서 pinia를 사용해보면서 경험한 부분을 환경설정 하는 것처럼 정리해보고자 합니다. 개인 환경에 따라서 다를 수 있습니다. 저는 nuxt3, mac환경입니다. 여기서는 제 프로젝트 기준으로 정리를 할 것이니 참고 부탁드립니다. 프로젝트 환경 Node: 16.18.1 Nuxt: 3.0.0 Node PM: npm 8.19.0 Pinia 설치 pinia, @pinia/nuxt, pinia-plugin-persistedstate 설치해 줍니다. pinia-plugin-persistedstate.. 우분투 (ubuntu 22.0.4) Node 설치 NVM Install curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash # Zsh 사용자 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | zsh 설치가 완료되면 아래 명령을 입력해 NVM을 활성화 (아니면 터미널 재실행) source ~/.bashrc # Zsh 사용자 source ~/.zshrc 잘 설치가 되었는지 버전을 확인 nvm -v NVM Node.js Install 설치는 nvm install 으로 합니다. 아래 명령어 옆에 주석으로 표시합니다. nvm install node # 최신 버전 설치 nvm install .. [Nuxt] Nuxt3 프로젝트 Docker를 이용한 배포하기 Nuxt3 프로젝트 Docker를 이용한 배포하기 오늘은 공부삼아 시작한 Nuxt3 프로젝트를 Docker를 이용해서 개인용 서버에 배포하는 것을 정리 해보고자 한다. Dockerfile 파일 만들기 # Dockerfile FROM nginx COPY .output /usr/share/nginx/html/nuxt-toy-project COPY nginx.conf /etc/nginx/nginx.conf Nginx.conf 파일 만들기 user nginx; worker_processes auto; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid events { worker_connections 1024; } http { .. 안드로이드 프로젝트 하면서 도입한 클린아키텍처 구조정리 안드로이드 프로젝트 하면서 클린아키텍처 도입 오늘은 최근에 안드로이드 프로젝트를 하면서 사용한 CleanArchitecture에 대해서 간략히 정리하고자 한다. 상세 소스는 없고 단지 구조적인 부분만 정리한 것이다. 위의 그림을 보면 클린아키텍처의 모든걸 한번에 알수 있다고 해도 과언이 아니다 클릭아키텍처 사용목적 어떤 경우에 클린아키텍처가 빛을 발휘할 수 있을까? 어플리케이션이 확장을 하거나, 변경을 필요할때 클린아키텍처를 도입을 했다면 이럴때 빛을 발휘할 수 있을것이다. 클린아케텍처를 도입했다면, 단순하게 인터페이스 어댑터 영역과 프레임워크와 드라이브 영역만 수정하면 가능할 것이다. 클린 아키텍처는 단순한 추상화에 불과하다. 프로젝트를 구조를 만들.. Spring boot WeSecurityConfigureAdapter deprecated처리 Spring boot WeSecurityConfigureAdapter deprecated처리 오늘은 Spring boot WebSecurityConfigureAdapter Deprecated된 부분을 처리하는 시간을 갖도록 하겠다. 기존 override fun configure(http: HttpSecurity) { http .csrf() .disable() .httpBasic() .disable() .formLogin() .disable() } 기존에는 위와 같이 override 형태로 되어 있다. 이 부분을 @Bean으로 등록 해 주면 된다. 변경 후 @Bean fun filterChain(http: HttpSecurity): SecurityFilterChain { return http .csrf().. JPA Entity 애노테이션 알아보기 JPA Entity 애노테이션 알아보기 지난 시간에 상품을 주문하고 결제하는 데 필요한 대략적인 Entity를 만들어 보았다 오늘은 Entity에 사용된 애노테이션에 대해 알아보고자 한다 @Entity - Jpa Entity를 만들기 위해 사용되며 데이터베이스 테이블과 1:1로 매칭되는 객체단위이다 - 테이블에서 하나의 레코드 값을 의미한다. @Id, @GeneratedValue - @Id는 테이블에서 Primary key와 같은 개념이며 객체의 유일한 키값을 의미한다. = @GeneratedValue는 유일한 키값에 대한 전략이다. @JsonIgnore - 직렬화 역직렬화에 사용되는 논리적 프로퍼티(속성..) 값을 무시할때 사용됩니다. @JsonIgnore var password: String, 위의 .. JPA Entity를 만들어 보자 JPA Entity 만들기 스프링으로 프로젝트를 진행할때 ORM으로 진행한다. 그때 Entity를 만들어 DB와 매핑을 하는데 오늘은 Entity작성법을 알아보고 다음편에는 관련 속성에 관하여 정리를 해보고자 한다. - 이글의 목적은 Entity를 만들때마다 생각이 가물가물한 경우가 많아서 대략적인 구조를 정리하는 차원이다. - 참고로 작성된 언어는 KOTLIN으로 작성되었다.시나리오 1. 고객정보를 담은 Customer Entity 작성 2. 상품을 판매하는 판매자 Entity작성 3. 판매자가 운영하는 가게 정보를 담은 Entity작성 4. 판매하는 상품의 정보를 담은 Entity 작성 5. 판매하는 상품의 옵션 정볼를 담은 Entity 작성 6. 주문 정보를 담은 Entity 작성 7. 주문한 가게.. JWT Springdoc-openapi 전역 설정 Springdoc-openapi 전역 설정 (기존 Swagger) 스프링에서 API문서를 작성할 때 Swagger사용시 스프링 2.6.x에서 에러가 발생해서 이 기회에 그냥 바꾸기로 함 기존 dependency implementation("io.springfox:springfox-boot-starter:3.0.0") implementation("io.springfox:springfox-swagger-ui:3.0.0") 변경 dependency implementation ("org.springdoc:springdoc-openapi-ui:1.6.8") dependency 하나만 주입하면 된다. OpenApiConfig 파일 설정 @Configuration class OpenApi30Config { @Be.. [ JPA ] 프록시와 연관관계 정리 프록시와 연관관계 관리 프록시 2개의 테이블 Shop, Product가 있다. 두 테이블은 OneToMany , ManyToOne으로 연관되어 있다. 이 경우 Product를 조회할 때 Shop이 함께 출력되는 경우와 Product만 출력되는 경우를 보자 # 상품과 상점이 함께 출력되는 경우 fun pringProductAndShop(productId: String) { val product = em.find(Product::class.java, productId) val shop = product.shop println("상점 이름 : ${shop.name}") println("상품 이름 : ${product.name}") } # 상점만 출력되는 경우 fun printShop(shopId: String.. Android Kotlin에 대한 개인적인 생각 안녕하세요 통키입니다. 안드로이드 개발한지도 어언 ~~ 좀 됐네요 ㅋ 처음 자바로 안드로이드로 개발을 시작했다가 이제는 Kotlin이라는 공식 언어가 나온지도 꽤 됐네요 저는 요즘 기존 안드로이드 개발시 사용하던 RecyclerView 를 코틀린으로 새로 만들어 보고 있는데 코드가 훨씬 간결해지고 가독성?도 괜찮고 NPE에 대한 스크레스트 근본적으로 많이 상쇄된점은 좋게 느끼고 있습니다. 결론적으로만 말하자면 이제 코틀린으로 넘어가야 할때가 된거 같습니다. 다른 많은 분들은 벌써 넘어가서 개발을 하고 계시겠지만 이제라도 저도 코틀린으로 프로젝트를 진행을 해봐야 겠다는 생각이 듭니다. (나이들어 또 뭔가를 배우기가 참 귀찮긴 하지만...) 최근에 각광받고 있는 언어가 Swift와 Kotlin이라고 하는데 .. JPA Entity 조인 테이블 연관관계에 대해 알아보자 JPA 연관관계 매핑 - 조인 테이블(@JoinTable) 조인 테이블 DB에 연관관계를 맺는 방법은 크게 두가지이다. 1. 외래키를 가지고 연관관계를 맺는 조인 컬럼 방식 2. 테이블과 테이블 사이에 조인테이블을 만들어 연관관계를 맺는 방식여기서는 2의 경우에 대해서 알아보도록 한다. 1:1 조인 테이블 조인테이블의 경우 외래키를 사용하는 방법과는 다르게 테이블이 하나 더 생기때문에 관리해야 할 테이블이 늘어나는 단점이 있다 @Entity class product ( @Id @Column(name = "product_id") val id: Long, @Column(name = "product_name") val product_name: String, @OneToOne @JoinTable(name = ".. 이전 1 2 3 4 5 6 7 8 ··· 11 다음