IT 용어
-
Local 과 Remote의 차이 로컬 저장소 (Local Repository) : 현재 내가 사용하고 있는 내 디바이스(PC)에 저장되는 개인 정용 저장소이다. 내 PC의 폴더 라고 생각하면 된다. 원격저장소의 파일, 혹은 폴더를 로컬 저장소로 Pull 할 수 있다. 원격 저장소 (Remote Repository) : Git의 주 목적은 파일 공유에 있다. 원격 저장소는 원격 전용 서버에서 관리되고 저장되는 저장소이며, 여러사람이 함께 공유하기 위한 저장소로 로컬 저장소의 파일, 혹은 폴더를 원격 저장소에 Push 할 수 있다
Local 과 Remote의 차이Local 과 Remote의 차이 로컬 저장소 (Local Repository) : 현재 내가 사용하고 있는 내 디바이스(PC)에 저장되는 개인 정용 저장소이다. 내 PC의 폴더 라고 생각하면 된다. 원격저장소의 파일, 혹은 폴더를 로컬 저장소로 Pull 할 수 있다. 원격 저장소 (Remote Repository) : Git의 주 목적은 파일 공유에 있다. 원격 저장소는 원격 전용 서버에서 관리되고 저장되는 저장소이며, 여러사람이 함께 공유하기 위한 저장소로 로컬 저장소의 파일, 혹은 폴더를 원격 저장소에 Push 할 수 있다
2022.12.22 -
GitHub와 Gitea 둘다 Git을 관리할 수 있는 도구 GitHub Github는 공개적으로 사용 가능한 무료 서비스로 모든 코드를 공개해야 한다. Github에 푸시한 코드를 보고 개선을 위한 제안을 제공할 수 있다. 오픈소스 역할 Github는 현재 수만 개의 오픈 소스 프로젝트를 위한 소스 코드를 호스팅 한다. 클라우드 기반으로 이용 2. GitHub의 장단점 · 장점 - 유료 서비스도 있지만 무료 서비스입니다. - repos 구조에서 매우 빠른 검색. - 대규모 커뮤니티이며 쉽게 찾을 수 있습니다. - 협력을위한 실용적인 도구와 Git과의 좋은 통합을 제공합니다. - 다른 타사 서비스와 쉽게 통합 할 수 있습니다. - TFS, HG 및 SVN에서도 작동합니다 · 단점 - 절대적으로 열려 있지..
GitHub와 Gitea, Gitla차이점GitHub와 Gitea 둘다 Git을 관리할 수 있는 도구 GitHub Github는 공개적으로 사용 가능한 무료 서비스로 모든 코드를 공개해야 한다. Github에 푸시한 코드를 보고 개선을 위한 제안을 제공할 수 있다. 오픈소스 역할 Github는 현재 수만 개의 오픈 소스 프로젝트를 위한 소스 코드를 호스팅 한다. 클라우드 기반으로 이용 2. GitHub의 장단점 · 장점 - 유료 서비스도 있지만 무료 서비스입니다. - repos 구조에서 매우 빠른 검색. - 대규모 커뮤니티이며 쉽게 찾을 수 있습니다. - 협력을위한 실용적인 도구와 Git과의 좋은 통합을 제공합니다. - 다른 타사 서비스와 쉽게 통합 할 수 있습니다. - TFS, HG 및 SVN에서도 작동합니다 · 단점 - 절대적으로 열려 있지..
2022.12.22 -
Github에서 Gitea 변경 1. gitea 접속 후 회원가입 2. 기존 폴더는 백업 후 삭제하고 다시 git clone 받아서 사용 작성 방법 1. 폴더 생성 $ mkdir [폴더 이름] 2. 해당 폴더로 이동 $ cd [폴더 이름] 3. Git 저장소 생성 $ git init 4. 원격 저장소 추가 $ git remote add origin [Gitea 주소] 5. 현재 위치한 브랜치로 (원격에 있는)브랜치 이름을 가져온다. $ git pull origin master ( 생략 가능 ) 6. develop라는 브랜치를 새로 생성 후 master인 브랜치를 develop로 변경(이동) $ git checkout -b [사용할 브랜치 명] 7. 현재 위치한 브랜치로 (원격에 있는)브랜치 이름을 가져와..
Github에서 Gitea 변경 방법Github에서 Gitea 변경 1. gitea 접속 후 회원가입 2. 기존 폴더는 백업 후 삭제하고 다시 git clone 받아서 사용 작성 방법 1. 폴더 생성 $ mkdir [폴더 이름] 2. 해당 폴더로 이동 $ cd [폴더 이름] 3. Git 저장소 생성 $ git init 4. 원격 저장소 추가 $ git remote add origin [Gitea 주소] 5. 현재 위치한 브랜치로 (원격에 있는)브랜치 이름을 가져온다. $ git pull origin master ( 생략 가능 ) 6. develop라는 브랜치를 새로 생성 후 master인 브랜치를 develop로 변경(이동) $ git checkout -b [사용할 브랜치 명] 7. 현재 위치한 브랜치로 (원격에 있는)브랜치 이름을 가져와..
2022.12.22 -
제네릭(Generic) '데이터 형식에 의존하지 않고, 하나의 값이 여러 다른 데이터 타입들을 가질 수 있도록 하는 방법'으로 클래스 내부에서 지정하는 것이 아닌 외부에서 사용자에 의해 지정되는 것을 의미한다. 즉, 특정(Specific) 타입을 미리 지정해주는 것이 아닌 필요에 의해 지정할 수 있도록 하는 일반(Generic) 타입이라는 것이다. 예를들어 우리가 어떤 자료구조를 만들어 배포하려고 한다. 그런데 String 타입도 지원하고싶고 Integer타입도 지원하고 싶고 많은 타입을 지원하고 싶다. 이럴때 String에 대한 클래스, Integer에 대한 클래스 등 하나하나 타입에 따라 만들기 보다 제네릭을 사용하는게 더 효율적이다. 제네릭(Generic)의 장점 1. 제네릭을 사용하면 잘못된 타입..
[Java] 제네릭(Generic)제네릭(Generic) '데이터 형식에 의존하지 않고, 하나의 값이 여러 다른 데이터 타입들을 가질 수 있도록 하는 방법'으로 클래스 내부에서 지정하는 것이 아닌 외부에서 사용자에 의해 지정되는 것을 의미한다. 즉, 특정(Specific) 타입을 미리 지정해주는 것이 아닌 필요에 의해 지정할 수 있도록 하는 일반(Generic) 타입이라는 것이다. 예를들어 우리가 어떤 자료구조를 만들어 배포하려고 한다. 그런데 String 타입도 지원하고싶고 Integer타입도 지원하고 싶고 많은 타입을 지원하고 싶다. 이럴때 String에 대한 클래스, Integer에 대한 클래스 등 하나하나 타입에 따라 만들기 보다 제네릭을 사용하는게 더 효율적이다. 제네릭(Generic)의 장점 1. 제네릭을 사용하면 잘못된 타입..
2022.12.21 -
리팩토링(Refactoring) 1. 가독성, 유지보수성 코드의 가독성과 유지보수성을 높이기 위해 소스코드를 재작성한다.(성능을 최적화하는 것은 다른 문제이다.) 2. 사람, 협업 여러명과 함께 작업을 하게 되는데 새로운 사람이 내가 작성한 프로젝트에 추가로 참여하면 인수인계가 되거나 불가능 할 경우가 있다 이때, 같이 협업을 하는 개체가 사람이 되며 사람이 이해하는 코드를 작성하는 것이 중요하다. Why? 중복 코드를 제거하고 수정 용이성 향상 소프트웨어 이해도와 가독성 향상 버그를 찾는데 도움이 된다. 프로그램 개발 속도 향상 How? 사유사한 내용이 세번 이상 반복될 때 리펙토링을 고려한다 하지만 무조건 하는 것이 아니라 상황에 따라 결정 작성된 설계, 소스코드에서 새로운 기능을 추가하기 어려울때 ..
리팩토링(Refactoring)리팩토링(Refactoring) 1. 가독성, 유지보수성 코드의 가독성과 유지보수성을 높이기 위해 소스코드를 재작성한다.(성능을 최적화하는 것은 다른 문제이다.) 2. 사람, 협업 여러명과 함께 작업을 하게 되는데 새로운 사람이 내가 작성한 프로젝트에 추가로 참여하면 인수인계가 되거나 불가능 할 경우가 있다 이때, 같이 협업을 하는 개체가 사람이 되며 사람이 이해하는 코드를 작성하는 것이 중요하다. Why? 중복 코드를 제거하고 수정 용이성 향상 소프트웨어 이해도와 가독성 향상 버그를 찾는데 도움이 된다. 프로그램 개발 속도 향상 How? 사유사한 내용이 세번 이상 반복될 때 리펙토링을 고려한다 하지만 무조건 하는 것이 아니라 상황에 따라 결정 작성된 설계, 소스코드에서 새로운 기능을 추가하기 어려울때 ..
2022.12.20 -
Lombok의 대표적인 Annotation @Setter Class 모든 필드의 Setter method를 생성해준다. @Getter Class 모든 필드의 Getter method를 생성해준다. @AllArgsConstructor Class 모든 필드 값을 파라미터로 받는 생성자를 추가한다. @NoArgsConstructor Class 기본 생성자를 자동으로 추가해준다. @ToString Class 모든 필드의 toString method를 생성한다.
Lombok의 대표적인 AnnotationLombok의 대표적인 Annotation @Setter Class 모든 필드의 Setter method를 생성해준다. @Getter Class 모든 필드의 Getter method를 생성해준다. @AllArgsConstructor Class 모든 필드 값을 파라미터로 받는 생성자를 추가한다. @NoArgsConstructor Class 기본 생성자를 자동으로 추가해준다. @ToString Class 모든 필드의 toString method를 생성한다.
2022.12.19 -
Spring의 대표적인 Annotation @Component 생성한 Class를 Spring의 Bean으로 등록할 때 사용 @ComponentScan Spring Framework는 @Component, @Service, @Repository, @Controller, @Configuration 중 1개라도 등록된 클래스를 찾으면, Context에 bean으로 등록한다. @ComponentScan Annotation이 있는 클래스의 하위 Bean을 등록 될 클래스들을 스캔하여 Bean으로 등록한다. @Bean @Bean Annotation은 개발자가 제어가 불가능한 외부 라이브러리와 같은 것들을 Bean으로 만들 때 사용한다. @Controller Spring에게 해당 Class가 Controller의 ..
스프링 어노테이션(String Annotation)Spring의 대표적인 Annotation @Component 생성한 Class를 Spring의 Bean으로 등록할 때 사용 @ComponentScan Spring Framework는 @Component, @Service, @Repository, @Controller, @Configuration 중 1개라도 등록된 클래스를 찾으면, Context에 bean으로 등록한다. @ComponentScan Annotation이 있는 클래스의 하위 Bean을 등록 될 클래스들을 스캔하여 Bean으로 등록한다. @Bean @Bean Annotation은 개발자가 제어가 불가능한 외부 라이브러리와 같은 것들을 Bean으로 만들 때 사용한다. @Controller Spring에게 해당 Class가 Controller의 ..
2022.12.19 -
자바 코드에 적용되는 내장 어노테이션 @Override 선언한 메서드가 오버라이드 되었다는 것을 나타냅니다. 만약 상위(부모) 클래스(또는 인터페이스)에서 해당 메서드를 찾을 수 없다면 컴파일 에러를 발생 시킵니다 @Deprecated 해당 메서드가 더 이상 사용되지 않음을 표시합니다. 만약 사용할 경우 컴파일 경고를 발생 키십니다. @SuppressWarnings 선언한 곳의 컴파일 경고를 무시하도록 합니다. @SafeVarargs Java7 부터 지원하며, 제너릭 같은 가변인자의 매개변수를 사용할 때의 경고를 무시합니다. @Functionallnterface Java8 부터 지원하며, 함수형 인터페이스를 지정하는 어노테이션입니다. 만약 메서드가 존재하지 않거나, 1개 이상의 메서드(default 메서..
자바 어노테이션(Java Annotation)자바 코드에 적용되는 내장 어노테이션 @Override 선언한 메서드가 오버라이드 되었다는 것을 나타냅니다. 만약 상위(부모) 클래스(또는 인터페이스)에서 해당 메서드를 찾을 수 없다면 컴파일 에러를 발생 시킵니다 @Deprecated 해당 메서드가 더 이상 사용되지 않음을 표시합니다. 만약 사용할 경우 컴파일 경고를 발생 키십니다. @SuppressWarnings 선언한 곳의 컴파일 경고를 무시하도록 합니다. @SafeVarargs Java7 부터 지원하며, 제너릭 같은 가변인자의 매개변수를 사용할 때의 경고를 무시합니다. @Functionallnterface Java8 부터 지원하며, 함수형 인터페이스를 지정하는 어노테이션입니다. 만약 메서드가 존재하지 않거나, 1개 이상의 메서드(default 메서..
2022.12.19