분류 전체보기 417

[백엔드 스터디] 7, 8주차 - JPA 연관관계 및 영속성 전이

이번주 주제는 JPA 연관관계 매핑과 영속성 전이입니다. 주제가 비교적 큰 범위로 선정되어 이번 7, 8주차를 기준으로 마무리된다. JPA에서는 아래 세 가지가 중요하다. 방향: 단방향, 양방향 (객체 참조) 연관 관계의 주인: 양방향일 때, 연관 관계에서의 관리의 주체 다중성: 다대일(N:1), 일대다(1:N), 다대다(N:N) 데이터베이스 테이블은 외래 키 하나로 양 쪽 테이블 조인이 가능함. 그러나 객체의 세계는 참조용 필드가 있는 객체만 다른 객체를 참조 가능함. 기본적으로 단방향 매핑으로 하고 나중에 꼭 필요할 때만 양방향을 추가해주면 된다. 연관 관계의 주인을 정하는 건 무엇일까? 두 단방향 관계 즉 (a -> b, b -> a) 에 대해서 제어의 권한 즉 외래 키를 비롯한 테이블 레코드를 저..

[CS스터디] CS스터디 방식 소개

CS 스터디 진행 방식에 설명드리겠습니다. 매주 토요일 13시에 시작하고 컴퓨터 네트워크 Chapter 1 컴퓨터와 네트워크 인터넷 1.1 인터넷이란 무엇인가? 1.2 네트워크의 가장자리 1.3 네트워크 코어 1.4 패킷 교환 네트워크에서의 지연, 손실과 처리율 1.5 프로토콜 계층과 서비스 모델 1.6 공격받는 네트워크 1.7 컴퓨터 네트워킹과 인터넷의 역사 1.8 요약 Chapter 2 애플리케이션 계층 2.1 네트워크 애플리케이션의 원리 2.2 웹과 HTTP 2.3 인터넷 전자메일 2.4 DNS: 인터넷의 디렉터리 서비스 2.5 P2P 파일 분배 2.6 비디오 스트리밍과 콘텐츠 분배 네트워크 2.7 소켓 프로그래밍: 네트워크 애플리케이션 생성 2.8 요약 Chapter 3 트랜스포트 계층 3.1 트..

[Computer Graphics] 3D 게임 프로그래밍 후기 with TheCherno

2022년에는 특히나 그래픽스 프로그래밍에 대해 관심갖고 지냈다. 특히 언리얼5 출시와 함께 많은 프로젝트가 발표되었는데 상당히 인상깊은 프로젝트들이 많았다. 국내에서 가장 유명했던 프로젝트를 꼽으라면 당연히 러셀 님이 진행하고 계신 Project RYU가 될 수 있겠다. 그 영상을 보고 정말 감명받았고 배우고 싶다는 생각이 들었다. 아래 프로젝트 RYU 영상을 링크로 걸어뒀다. 꽤나 긴 영상이지만 시간이 남는다면 꼭 보기 바란다. 언리얼로 이정도 수준까지 구현할 수 있다는 점이 정말 놀랍다. Project RYU 개인적으로 아쉬웠던 점은 우리 컴퓨터공학 학부는 그래픽스 강좌가 현재는 열리지 않는 상태이기 때문에 어떻게든 혼자서 공부하는 수밖에 없었다. 아마 강좌가 있었다면 해당 강좌를 수강하고 어떤 식..

[백엔드 스터디] 6주차 - JPA 영속성 컨텍스트

안녕하세요. 이번 6주차에는 JPA 영속성 컨텍스트에 대한 스터디를 진행하고자 합니다. 지난 주차와 마찬가지로 단순 단답 위주의 질문 보다는 서술이 가능한 질문 위주로 연습하도록 합니다. 영속성 컨텍스트란? 영속성 컨텍스트란 엔티티를 영구 저장하는 환경이라는 뜻이다. 애플리케이션과 데이터베이스 사이에서 객체를 보관하는 가상의 데이터베이스 같은 역할을 한다. 엔티티 매니저를 통해서 엔티티를 저장하거나 조회하면 엔티티 매니저는 영속성 컨텍스트에 엔티티를 보관하고 관리한다. em.persist(object) 는 엔티티 매니저를 사용해서 object 엔티티를 영속성 컨텍스트에 저장한다는 의미이다. 영속성 컨텍스트의 특징 엔티티 매니저를 생성할 때 하나 만들어진다. 엔티티 매니저를 통해서 영속성 컨텍스트에 접근하..

[백엔드 스터디] 5주차 - ORM과 JPA의 추상화 계층 그리고 특징들

이번 5주차에서는 본격적으로 JPA를 공부하기에 앞서서 ORM 그리고 JPA는 무엇이며 이러한 것들이 필요한 이유에 대해서 알아보는 시간을 가지고자 한다. 이번 주는 간단한 답변보다는 서술할 수 있는 수준에 초점을 맞추고자 합니다. 주제에 앞서 먼저 ORM와 JPA의 기본인 영속성에 대해 짚고 넘어가고자 합니다. Persistence Persistence란 무엇인가? Persistence 즉 영속성이란 데이터를 생성한 프로그램이 종료되더라도 사라지지 않는 데이터의 특성을 말합니다. 영속성을 갖지 않는 데이터는 단지 메모리에서만 존재하기 때문에 프로그램을 종료하면 모두 잃어버리게 됩니다. 즉 휘발성이 있습니다. Object Persistence인 영구적인 객체는 무엇일까요? 메모리 상의 데이터를 파일 시스..

[Test] Intellij에서 테스트 시 No tests found for given includes: 에러 발생

인텔리제이에서 테스트 빌드 중 아래와 같은 에러를 만났다. No tests found for given includes: 환경 상의 문제인 것 같은데 해결 방법은 간단하다. 인텔리제이 settings에 들어가서 gradle로 이동한다. 해당 설정 창에서 .Run tests using: 을 Intellij IDEA로 바꿔주면 작동한다. 출처는 아래와 같다. 감사합니다. https://ddasi-live.tistory.com/35 Intellij JUnit Test 실패 No tests found for given includes Intellij 에서 JUnit Test 할때에 아래와 같이 에러가 발생하였다. No tests found for given includes: filter.includeTestsM..

개발 팁 2023.01.30

[Gradle] gradle 빌드 중 error: unmappable character (0xED) for encoding x-windows-949 발생

터미널에서 gradlew build를 통해 빌드를 하던 도중 다음과 같은 에러를 만날 수 있다. error: unmappable character (0xED) for encoding x-windows-949 인코딩이 깨지는 현상인데 이건 Intellij에서 빌드를 통해 jar파일을 얻으려고 한 경우에는 해결방법이 이미 많이 나와있다. settings에서 빌드 옵션이 gradle인지 intellij로 되어있는지 확인해서 변경하면 되는 문제라서 인터넷에 잠깐만 검색해도 방법이 많이 나와있다. 다만 터미널에서 빌드를 하려고 하는 경우 어떻게 이 문제를 해결할 수 있을까? 지금까지 봤던 해결방법 중 가장 간단하고 효과적인 방법을 찾았다. build.gradle 파일에 아래와 설정을 적어준다. 이후 터미널에서 g..

개발 팁 2023.01.29

[백엔드 스터디] 4주차 - 컴포넌트 스캔 그리고 의존관계 자동 주입

이번 4주차 주제는 컴포넌트 스캔 그리고 의존관계 자동 주입이다. 컴포넌트 스캔이란? 스프링 빈을 등록할 때 구성파일에 @Bean을 등록해서 사용할 수 있었다. 하지만 관리할 빈이 많아지면 이 방식이 관리하기 번거로워진다. 그래서 굳이 빈 설정파일을 만들지 않거나 @Bean을 안쓰고 빈 등록을 할 수 있는 방식을 쓰게 되었다. 그게 @Component를 써서 컴포넌트 스캔을 하는 방식이다. 설정파일이 없다면 의존관계를 어떻게 주입할까? @Autowired를 사용해서 자동 의존관계 주입을 한다. 자동 의존관계 주입은 아래서 살펴본다. 컴포넌트 스캔이란 스프링이 스프링 빈으로 등록될 준비가 된 클래스들을 스캔해서 빈으로 등록해주는 과정을 말한다. @Component 어노테이션이 붙어있는 클래스들은 모두 컴포..

[UnrealEngine5] Unreal Engine5로 제작한 첫 시네마틱 영상

이번주에 시간이 남아서 언리얼5를 만져봤다. 예전에 한번 잠깐 배워본 적이 있었는데 거의 기억에 남아있지 않아서 이번에 좋은 학습 영상을 추천받아서 새롭게 살펴보았다. 그리고 학습 영상을 통해 하나의 시네마틱 영상을 제작해보았다. 카메라 움직임과 빛의 세기 등을 조절해서 첫 영화를 만들었다. 재밌게 배웠고 정말 뛰어난 툴이라는 생각이 든다. 아래 영상을 첨부한다. 4K라서 영상의 용량이 꽤나 크다. 그래서 카톡으로 다른 사람들에게 자랑하고 싶었지만 못했다. (카톡 전송용량을 초과해버려서 그렇다. 그래서 여기 올려서 링크로 보내줄거다.ㅎ) 조금 어설프지만 그래도 처음 만든 것 치곤 잘 만들었다.

Unreal Engine 2023.01.19
반응형