[개발외] 한이음 내부의 깃랩 사용 😸깃랩의 활용 이번 프로젝트는 일반적인 깃허브가 아니라 한이음 내에 있는 GitLab이라는 곳을 활용하여 프로젝트 관리 툴을 사용하기로 하였다. (한이음 측에서 그렇게 하라고 얘기를 한 것 같다.) 그런데 한이음 측에서 팀을 만들고 팀원을 넣을(?) 때 내가 아닌 다른 사람을 넣는 바람에 gitlab 로그인 권한이 없어서 접근을 할 수가 없었다.ㅠㅠ (추후 한이음 측에 문의하여 문의할 예정이다.) 개발일지/2023_한이음 2023.05.10
💡깨달음 - 프로젝트에서 기능별 폴더 정리는 중요하다. 🌸상황위의 사진처럼 기능별로(controller, service ...) 폴더를 정리하지 않았었다. 팀원의 코드를 보니 기능별로 깔끔하게 정리를 해놓은 모습을 보게되었다.⭐앗차! 포인트팀원의 구성방식을 보니 파일들이 늘어날수록 저렇게 분류해놓지 않으면 나중에 파일을 일일이 찾는 것이 매우 번거로울 것 같다는 생각이 들었다.⛅향후방향왼쪽에 팀원의 폴더 정리 방식처럼 나의 코드도 리팩토링을 할 예정이며, 앞으로 다른 프로젝트에서도 제대로 적용시킬 생각이다. 카테고리 없음 2023.05.10
💡깨달음 - entity클래스가 있는데 DTO가 필요한가? 🌸 상황나는 dto 클래스가 없었지만 함께 개발하는 팀원의 코드를 보니 entity 클래스 말고도 DTO 클래스가 있었다.⭐ 아하! 포인트 지금까지 혼자 공부할 때는 거의 entity 클래스를 dto 클래스처럼(객체처럼 활용, 데이터도 주고/뱓음) 사용했었다. 그 과정들이 하나의 클래스로 진행되니까 오히려 효율적이라고 생각했었는데 다음과 같은 차이점이 존재했다. JPA에서 Entity 클래스는 DB의 테이블과 매핑되는 클래스입니다. 이 클래스는 JPA가 제공하는 다양한 기능을 사용할 수 있도록 매핑 정보를 가지고 있습니다. Entity 클래스는 기본적으로 DB의 스키마를 기반으로 생성됩니다. DTO(Data Transfer Object) 클래스는 엔티티(Entity) 객체와 비슷하지만, 보통 엔티티.. 개발공부/spring boot 2023.05.10
[객체 지향의 원리와 이해] - 3단원 모든 메모리는 각자의 주소를 가지고 있다. 객체 참조 변수가 더 이상 힙 영역에 존재하는 객체를 참조하지 않으면 가비지 컬렉터가 쓰레기로 인식하여 수거해 간다. 스태틱을 왜 스태틱이라고 할까? 스태틱은 "고정된" 이라는 뜻을 가지고 있다. 스태틱 영역에 올라간 정보는 main() 메서드가 시작되기 전에 올라가서 main() 메서드가 종료된 후에 내려올 정도로 스태틱 영역에 단단히 고정돼 있기 때문에 스태틱 영역이라고 한다. static 키워드가 붙은 속성을 클래스 맴버 속성이라고 한다. static 키워드가 안 붙은 속성은 객체 맴버 속성이라고 한다. 정적 속성인 경우 T 메모리의 스태틱 영역에 클래스가 배치될 때 클래스 내부에 메모리 공간이 확보된다. 필드 = 속성 = 프로퍼티 출처 - 스프링 입문을 .. 개발공부/객체 지향의 원리와 이해 2022.12.29
[객체 지향의 원리와 이해] - 3단원 OOP의 추상화는 모델링이다. 클래스 : 객체 = 펭귄 : 뽀로로 클래스 설계에서 추상화가 사용된다. 클래스 설계를 위해서는 애플리케이션의 경계부터 정해야 한다. 객체 지향에서 추상황의 결과는 클래스이다. 추상화 = 모델링 = 자바의 class 키워드 논리적 설계는 개발 환경(언어 등)에 영향을 받지 않는 설계이며, 물리적 설계는 개발 환경에 맞춰진 설계이다. 객체가 생성되야만 속성의 값을 저장하기 위한 메모리 공간이 스태틱 영역이 아닌 힙 영역에 할당된다. UML 표기법에서 클래스 멤버는 밑줄을, 객체 멤버는 밑줄 없이 표현. 출처 - 스프링 입문을 위한 자바 객체 지향의 원리와 이해 카테고리 없음 2022.12.28
[객체 지향의 원리와 이해] - 3단원 클래스와 객체를 구분하는 간단한 방법은 나이를 물어보는 것이다. ex) 사람의 나이는 몇 살인가 ? 김연아의 나이는 몇 살인가 ? 클래스는 분류에 대한 개념이지 실체가 아니다. 클래스 : 객체 = 펭귄 : 뽀로로 = 사람 : 김연아 = 쥐 : 미키마우스 애플리케이션 경계(컨텍스트) = "내가 만들고자 하는 애플리케이션은 어디에서 사용될 것인가?" 모델링 = 추상화란 구체적인 것을 분해해서 관심 영역에 있는 특성만 가지고 재조합하는 것. -> 지구본을 보자. 지구를 정확히 표현하는가? 지구의 굴곡과 바다, 기후를 지구본에 다 표현할 수도 없으며, 그럴 필요도 없다. 모델은 실제 사물을 정확히 복제하는 게 아니라 목적에 맞게 관심 있는 특성만을 추출해서 표현하는 것이다. 모델은 추상화를 통해 실제 사물을 단.. 개발공부/객체 지향의 원리와 이해 2022.12.27
[객체 지향의 원리와 이해] - 2단원 지역 변수 : 스택 영역에서 일생을 보낸다. 클래스 멤버 변수 : 스태틱 영역에서 일생을 보낸다. 객체 맴버 변수 : 힙에서 일생을 보낸다. "외부 스택 메모리에서 내부 스택 프레임의 변수에 접근하는 것은 불가능하나 그 역은 가능하다." 멀티 스레드 : T 메모리 모델은 스택 영역을 스레드 개수만큼 분할해서 쓰는 것. 멀티 프로세스 : 다수의 데이터 저장 영역, 즉 다수의 T메모리를 갖는 구조다. 출처 - 스프링 입문을 위한 자바 객체 지향의 원리와 이해 개발공부/객체 지향의 원리와 이해 2022.12.25
[객체 지향의 원리와 이해] - 2단원 int i 라는 명령은 메모리에 4바이트 크기의 정수 저장 공간을 마련하라는 것이다. if문을 실행하면 main() 메서드의 스택 프레임 안에 if 문의 블록 스택 프레임이 중첩되어 생성된다. if 블록 중 참일 때의 블록을 종료하는 닫는 중괄호를 만나면 if 블록 스택 프레임은 스택 영역에서 사라진다. 느낀점(배운점) 교제에서는 메모리의 상태를 그림을 그려가며 공부하게 구성되어 있는데 변수를 아래와 같은 방식으로 그려놨는데 처음에는 큰 의미가 없다고 생각했었지만 나중에 더 깊이 생각해보니 이 T 메모리 구조에서는 " int i = 10 " 이라고 했을 때, i 라는 변수를 먼저 할당(생성)하니까 바깥 사각형으로 표시를 한 것이고, 그 다음에 값이 들어오니까 또 사각형으로 표현을 한 것이다. 한마디로 하.. 개발공부/객체 지향의 원리와 이해 2022.12.24
[객체 지향의 원리와 이해] - 2단원 자바 개발 도구인 JDK를 이용해 개발된 프로그램은 JRE에 의해 가상의 컴퓨터인 JVM 상에서 구동된다. 코드 실행 영역 데이터 저장 영역 --> 프로그램이 메모리를 사용하는 방식 JRE는 먼저 프로그램 안에 main () 메서드가 있는지 확인한다. JRE는 Start 클래스에서 main 메서드를 발견할 수 있을 것이다. main() 메서드의 존재가 확인되면 JRE는 프로그램 실행을 위한 사 전 준비에 착수한다. 가상의 기제인 JVM에 전원을 넣어 부팅하는 것이다. 부팅된 JVM은 목적 파일을 받아 그 목적 파일을 실행한다. JVM이 맨 먼저 하는 일은 전처리라고 하는 과정이다. 모든 자바 프 로그램이 반드시 포함하게 되는 패키지가 있다. 바로 java.Iang 패키지다. JVM은 가장 먼저 java... 개발공부/객체 지향의 원리와 이해 2022.12.23