분류 전체보기

공부 etc.

SVN과 Git의 차이점, 버전 관리 시스템(VCS)

기본 구조 SVN 중앙 집중식 버전 관리 시스템, 중앙 서버에서 전체 코드 및 변경이력을 저장한다. SVN은 저장소에 중앙 서버가 있고, commit 할 시에 코드가 중앙 서버로 전달된다. 그래서 인터넷이 안되는 환경이나 중앙 서버에 문제가 발생한 경우에는 협업이 불가능하다. Git 분산 버전 관리 시스템, 분산 구조를 사용하여 각 개발자의 로컬 저장소에 전체 코드 및 변경이력이 저장된다. Git은 각 클라이언트가 모두 저장소를 가진다. 개발자들은 로컬 저장소에서 작업하고, 변경사항을 원격 저장소와 동기화 한다. 즉, 인터넷 연결이 불안정하고 중앙 서버에 문제가 생기더라도 작업을 계속 할 수 있다. 브랜치 관리, 저장소 SVN SVN은 파일의 변화(차이점)를 저장한다. 브랜치를 새로 만들 경우, SVN은..

공부 etc.

[23.04.27] REST API

REST (REpresentational State Transfer) : HTTP 기반 소프트웨어 아키텍쳐 REST API 즉, 웹 어플리케이션, 다양한 언어, 모바일 어플리케이션, 다른 서버 (*다 HTTP 기반) 등 끼리 서로 통신할 수 있도록, 통역 역할을 해주는 API (어플리케이션 간의 데이터 통신을 위한 어플리케이션 프로그래밍 인터페이스​) 구성 자원(RESOURCE) - URI 행위(Verb) - HTTP METHOD 표현(Representations) 특징 1. 무상태성 Stateless 클라이언트의 상태를 저장 x​. 작업을 위한 상태정보를 따로 저장하고 관리하지 않음. 세션 정보나 쿠키정보를 별도로 저장하고 관리하지 않기 때문에 API 서버는 들어오는 요청만을 단순히 처리하면 된다. 2..

공부 etc.

[Cloud] 컨테이너, 도커, 쿠버네티스(k8s)

용어 간단 정리 컨테이너 애플리케이션을 실행할 수 있는 환경까지 감싸서 어디서든 쉽게 실행 가능하게 하는 기술 - 앱, 바이너리, 라이브러리 등을 패키지로 묶어 배포하며 서로 다른 컴퓨팅 환경에서 앱을 실행 할 수 있게 하며, 개발환경에 구애 받지 않고 빠른 개발과 배포가 가능. - 이식성이 좋고 가볍다. - VM 이미지 보다 컨테이너 이미지 생성이 효율적이다. 도커(Docker) 리눅스 컨테이너를 만들고 사용할 수 있도록 하는 컨테이너화 기술, 컨테이너를 다루는 도구 - 컨테이너를 가벼운 모듈식 가상머신처럼 다룰 수 있게 함 - 컨테이너를 구축, 배포, 복사하고 한 환경에서 다른 환경으로 이동하는 등 유연하게 사용할 수 있어, 애플리케이션을 클라우드에 최적화하도록 지원 - 애플리케이션을 개별 프로세스로..

공부 etc.

[Java] final에 관하여

초기값을 변경하지 않고 그대로 사용하기 위해 사용한다.(수정x) final 변수 변수를 선언할 때 초기화된 값을 수정할 수 없도록 제한. 변수 선언과 동시에 초기화 or 생성자에서 초기화 가능 초기값을 변경하지 않고 그대로 사용하기 위해 사용 파이와 같은 수학적 값을 사용하기 위해 사용 주민번호, 학번과 같은 유일값을 사용하기 위해 사용 final 메소드 메소드를 오버라이딩 할 수 없게 제한 > 자식 클래스에서 메소드 내용을 변경하지 못한다. final 클래스 해당 클래스를 다른 클래스에서 상속할 수 없도록 제한 > 해당 클래스를 수정 없이 그대로 사용하려는 목적이다.

공부 etc.

[Java] 객체지향언어 특징(상속, 다형성, 캡슐화, 추상화)

Object Oriented Programming(oop) 1. 상속 상위클래스를 하위클래스가 모두 이어 받는것입니다. 즉, 부모가 자식에게 유전자를 물려주듯이 부모의 특징을 자식에게 물려줍니다. 2. 다형성 상속과 연관이 있는 개념으로, 한 객체가 다른 여러형태의 객체로 재구성 되는 것을 말합니다. 쉽게 말하면 한부모의 밑에서 태어난 자식(쌍둥이포함)이 똑같지는 않는것과 같은 것과 같다할 수 있습니다. 오버로딩(Overloading)과 오버라이딩(Overriding)이 대표적인 예시입니다. 3. 캡슐화 데이터와 코드의 형태를 외부로부터 알 수 없게 하고, 데이터의 구조, 역할, 기능을 하나의 캡슐 형태로 만드는 방법입니다. 4. 추상화 객체의 공통적인 속성과 기능을 추출하여 정의하는 것.

Spring Framework

[Spring] 의존성 주입, DI(Dependency Injection)

의존성 주입(DI) 이란? 객체가 필요로하는 어떤 객체를 생성자 혹은 세터(Setter)를 통해서 주입하는 것을 말한다. 의존관계는 new 라는 키워드를 통해 생성된다. 코드를 짤 때 이런 강결합을 일으키는 요소를 많이 사용하기 시작하면 나중에 큰 유지보수 비용이 든다. 의존성 주입은 IoC(의존성 역전) 원칙 하에 객체 간의 결합을 약하게 해주어 유지보수에 용이한 코드를 만들어 준다. 의존성이 줄어든다. 앞서 설명했듯이, 의존한다는 것은 그 의존대상의 변화에 취약하다는 것이다.(대상이 변화하였을 때, 이에 맞게 수정해야함) DI로 구현하게 되었을 때, 주입받는 대상이 변하더라도 그 구현 자체를 수정할 일이 없거나 줄어들게 된다.

백준

[백준/java] 15552번 빠른 A+B

이 문제는 scanner와 system.out.println() 를 이용해서는 안된다. 속도 제한이 걸린 문제로서 BufferReader 와 BufferWriter를 이용해야한다. 바로 전송하는 것 보다, 중간에 메모리 버퍼를 두어서 데이터를 묶어 이동하는 것이 빠르기 때문이다. public class Baek15552 { public static void main(String[] args) throws IOException { BufferedReader bf= new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); //입력 in..

Java

BufferedReader & BufferedWriter

scanner와 System.out.println() 를 대신하여 사용 할 수 있다. 속도 측면에서 훨씬 빠르기 때문에 데이터 처리의 효율성이 좋다. 바로 전송하는 것 보다, 중간에 메모리 버퍼를 두어서 데이터를 묶어 이동하는 것이 빠르기 때문이다. 대신에 받은 데이터는 String으로 인식하므로 가공과정이 추가로 필요하다. BufferedReader BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); //선언 String str = bf.readLine(); //String 입력받음 int i = Integer.parseInt(bf.readLine()); //입력을 int로 형변환 입력은 readLine()이라는 메서드를 ..

꿈꾸는야오옹
'분류 전체보기' 카테고리의 글 목록 (3 Page)