분류 전체보기 465

[Git] 협업 방식 정리(1) git + gitflow + gitlab + 코드 리뷰 + code convention + PR Request + Merge Request + 개발 문화

협업을 제대로 해본 적이 없어서 협업 방식에 대해서 정리하고자 한다. 코드 리뷰도 제대로 해본 적이 없어서 협업 컨벤션이나 구체적인 루틴에 대한 이해가 필요할 것 같다. 간단하게 정리하고자 한다. https://backlog.com/git-tutorial/kr/ git 기본 명령어 정리 https://wecandev.tistory.com/152 인덱스(index): 커밋할 변경사항을 모아놓은 궁간임. 작업 폴더(work Tree)의 변경내용을 인덱스에 기록하는 것을 스테이지(Stage)라고 한다. 머지(Merge): 선택한 브랜치에 다른 브랜치에서 커밋한 내용을 병합하는 동작임. 컨플릭트(Conflict):동시에 같은 파일의 유사한 부분을 수정한 경우 발생하는 코드충돌을 의미하고 의도에 맞는 코드를 선택..

인프라/Git 2023.02.15

[백엔드 스터디] 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 엔티티를 영속성 컨텍스트에 저장한다는 의미이다. 영속성 컨텍스트의 특징 엔티티 매니저를 생성할 때 하나 만들어진다. 엔티티 매니저를 통해서 영속성 컨텍스트에 접근하..

[Thoughts] 2023년의 시작, 새로운 기회와 성찰

바쁘게 지낸 1월을 보내고 내게 새로운 기회가 찾아왔다. 정말 좋은 기회를 얻게 되었고 회사 규정상 세세한 프로세스를 적을 순 없지만 원했던 포지션에 원했던 기술을 쓸 수 있는 자리를 얻었다. 2022년은 혼란스러웠고 방황했던 시기다. 하지만 원하는 것을 얻은 순간에서야 뒤를 돌아보면 혼란스러웠던 와중에도 제대로 찾아왔다는 생각이 든다. 매번 좋은 기회를 얻었다는 생각이 든다. 파우스트는 사람은 올바른 길을 가는 한 방황하기 마련이라고 했다. 불안할 때마다 이 말을 떠올리려 했다. 다만 이 말에 내가 조금이라도 기대는 것 같다는 생각이 들면 혹시나 하는 마음에 가혹해졌다. 과정에서 늘 기억나는 건 내가 얼마나 잘했고 열심히 했는지보다는 함께 걸었던 사람들과 나를 도와줬던 사람들이다. 그래서 큰일이다. 이..

생각들 2023.02.01

[백엔드 스터디] 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
반응형