공부

    [Git - CLI] 버전 관리

    [Git - CLI] 버전 관리

    생활코딩의 [Git CLI - 버전관리] 강의를 듣고 정리하는 글. Command Line에서 Git을 실행하는 법을 알아보자. Git-CLI의 장점 일단 익숙해지면 복잡한 GUI 없이 간단하게 Git을 다룰 수 있다. 명령어의 특성상 처리해야 할 일을 한번에 명령해서 자동화를 할 수 있다. GUI로 제어할 수 없는 서버 환경에서도 사용할 수 있는 유일한 방법이다. 저장소를 만드는 방법 git init 초기화. 현 디렉토리를 git에게 버전관리 시키는 것. 해당 명령어를 실행하면 .git 폴더가 생긴다. 이것이 git repository(저장소)다. 버전을 생성하는 방법 Working Tree : 파일을 수정하는 곳. 개발, 작업을 하는 곳 Staging Area : 버전을 만들 파일을 두는 곳 Repo..

    [클래스] Class(2)

    [클래스] Class(2)

    [이것이 자바다] 책으로 공부하고 정리하는 글 필드 필드에는 객체의 ①고유 데이터, ②부품 객체, ③현재 상태 데이터 등의 내용이 들어간다. 필드 선언 타입 필드[ = 초기값];// [ ] 부분은 생략해도 되는 부분 Ex) String company = "Kakao"; bool isLogin; 초기값이 지정되지 않은 필드는 객체 생성시 자동으로 기본값으로 초기화된다. 필드 사용 필드 값을 읽고, 변경하는 작업 객체 내부 : "필드 이름"으로 바로 접근 객체 외부 : "변수.필드 이름"으로 접근 class Car { int speed; Car() { speed = 0;// 바로 접근 } void method() { speed = 10;// 바로 접근 } } void main() { Car car = new..

    [클래스] Class (1)

    [클래스] Class (1)

    [이것이 자바다] 책으로 공부하고 정리하는 글 객체와 클래스 클래스는 객체를 정의한 것. 클래스에는 객체를 생성하기 위한 필드와 메소드가 정의되어 있다. 클래스로부터 만들어진 객체를 해당 클래스의 인스턴스라고 한다. 하나의 클래스로부터 여러 개의 인스턴스를 만들 수 있다. 즉, 클래스는 객체를 만들기 위한 설계도고 이 설계도로 만들어진 것이 곧 객체다. 클래스 선언 소스 파일 생성: 클래스이름.java ㅡ(컴파일)→ 클래스이름.class(바이트 코드 파일) public class 클래스이름 { } 소스 파일 당 하나의 클래스를 선언하는 것이 관례지만 두 개 이상의 클래스도 선언이 가능하다. (but 권장X) 소스 파일 이름과 동일한 이름의 클래스만 public으로 선언할 수 있다. 선언한 개수만큼 바이트..

    [클래스]  객체지향 프로그래밍

    [클래스] 객체지향 프로그래밍

    [이것이 자바다] 책으로 공부하고 정리하는 글 객체지향 프로그래밍 OOP = Object Oriented Programming 객체를 만들고 이를 조립해 완성된 프로그램을 만드는 프로그래밍 기법 객체(Object)란? 물리적 혹은 추상적인 것들 중 속성과 동작을 가지는 모든 것. 객체는 필드(속성)와 메소드(동작)로 구성된 자바 객체로 모델링 할 수 있다. 현실세계의 객체를 소프트웨어 객체로 만드는 과정을 소프트웨어 객체 모델링이라고 한다. 객체의 상호작용 객체들은 서로 간에 메소드를 사용해 데이터를 주고 받는다. 객체 지향 프로그램에서 객체는 다른 객체와 여러 관계를 맺고 있다. 관계의 종류 집합 관계 : 완성품과 부품의 관계 (ex: 자동차 - 엔진, 타이어, 핸들) 사용 관계 : 객체가 다른 객체를..

    [Deno] 신생 JS & TS 런타임 데노(Deno)

    [Deno] 신생 JS & TS 런타임 데노(Deno)

    [인프런] 따라하며 배우는 데노 강의를 듣고 정리 Deno란 Deno란 JavaScript와 TypeScript를 실행하기 위한 새로운 Command-line Runtime이다. Deno의 특징 기반 기술 1. Deno의 기반 기술은 V8 Javascript Runtime로 Node와 같다. 2. Node에서는 C++을 이용했는데 Deno에서는 Rust를 이용한다. 3. Tokio를 사용해 Event Loop를 컨트롤한다. 4. Deno에서는 TypeScript를 기본으로 사용할 수 있다. Deno는 왜 만들어졌을까? Deno는 Node.js를 만든 사람이 만들었다. (Ryan Dahl) 그는 Node.js를 만들고 한참 뒤에 Node.js의 단점과 오래된 기술들이 쓰였다는 것을 깨달았다. 그러나 Nod..

    스프링 AOP & PSA

    스프링 AOP & PSA

    [인프런] 백기선 님의 강의 「예제로 배우는 스프링 입문 (개정판)」 을 듣고 정리 스프링 AOP AOP란 Aspect-Oriented Programming의 약자로 관점 지향 프로그래밍이란 뜻이다. 흩어진 코드를 한 곳으로 모은다고 생각하면 된다. 코드를 예시로 들자면, class A { method a() { AAAA 오늘은 7월 4일 미국 독립기념일입니다. BBBB } method b() { AAAA 저는 아침에 운동을 다녀와서 밥을 먹고 빨래를 했습니다. BBBB } } class B { method c() { AAAA 점심은 마파두부를 먹었습니다. BBBB } } 이와 같이 각기 다른 메소드, 다른 클래스에서 'AAAA', 'BBBB' 부분이 반복되고 있다. 이런 공통 부분을 따로 모아서 별도의..

    스프링 IoC

    스프링 IoC

    [인프런] 백기선님의 강의 「예제로 배우는 스프링 입문 (개정판)」 을 듣고 정리 스프링 IoC IoC = Inversion of Control IoC란 제어권이 역전되었다. 는 의미다. 일반적인 경우, 자기가 만든 의존성을 자기가 사용한다. 이 의존성에 대한 제어권이 역전되었다는 것은 이 제어권을 원래는 자기자신이 가지고 있었는데 다른 누군가에게 넘어갔다는 의미이다. 다음 코드를 봐보자. class OwnerController { private OwnerRepository repository = new OwnerRepository(); } 위 코드에서 OwnerController 클래스는 내부에서 OwnerRepository 객체를 직접 만들어 쓴다. 이 경우, 의존성에 대한 제어권이 자기자신에게 있다..

    [Web] RESTful API

    [Web] RESTful API

    이 글은 「그런 REST API로 괜찮은가」 라는 Naver D2의 유튜브 영상을 매우 많이 참고해서 작성되었다. REST API란 무엇인가? REST 아키텍쳐 스타일을 따르는 API가 REST API다. REST를 기반으로 서비스 API를 구현한 것 RESTful하다는 것은 REST API를 제공하는, REST의 스타일을 잘 지키는 시스템을 RESTful하다고 할 수 있다. REST란? Representational State Tranfer의 약자. 자원을 이름으로 구분하여 해당 자원의 상태를 주고받는 모든 것을 의미한다. 월드 와이드 웹(WWW)과 같은 분산 하이퍼미디어 시스템을 위한 아키텍쳐 스타일. REST는 네트워크 상에서 Client와 Server 사이의 통신 방식 중 하나로, 웹의 기존 기술..