일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 쓰레드
- 회고록
- 항해99솔직후기
- bean
- Dependency Injection
- 클래스
- IoC
- jvm
- jwt
- 인스턴스
- 소셜로그인
- 인스턴스화
- 스레드
- 소셜
- inversion of control
- API
- process
- 항해99장점
- 프로세스
- 부트캠프추천
- social login
- 객체
- Instance
- 오브젝트
- Thread
- class
- DI
- 객체지향 프로그래밍
- object
- 항해99단점
- Today
- Total
목록항해99_'22.01~04/개념 (6)
로운's 기술노트
◆ 프로세스(Process) ▶ 개념 - 컴퓨터 프로그램의 인스턴스 - 디스크로부터 메모리에 적재되어 CPU의 할당을 받을 수 있는, 실행 중인 프로그램 - 운영체제로부터 시스템 자원을 할당받는 작업의 단위 ※ 할당받는 시스템 자원의 예 - CPU 시간 - 운영되기 위해 필요한 주소 공간 - Code, Data, Stack, Heap의 구조로 되어 있는 독립된 메모리 영역 * 데이터(Data) 섹션 : 전역 변수를 수록하는 곳 프로세스 스택(Stack) : 로컬 변수와 같은 임시 자료를 보관하는 곳 힙(Heap) : 프로세스 실행 중에 동적으로 할당되는 메모리 ▶ 특징 - 프로세스는 각각 독립된 메모리 영역(Code, Data, Stack, Heap의 구조)을 할당받는다. - 기본적으로 프로세스당 최소 ..
◆ 클래스(Class) ▶ 개념 - Obejct를 만들어 내기 위한 설계도 - 연관되어 있는 변수(Variable)와 메서드(Method)의 집합 ▶ 특징 - 객체의 상태를 나타내는 필드(field)와 객체의 행동을 나타내는 메소드(method)로 구성된다. - 필드란, 클래스에 포함된 변수(variable)를 의미 - 메소드란 어떠한 특정 작업을 수행하기 위한 명령문의 집합 ◆ 객체(Object) ▶ 개념 - 소프트웨어 세계에 구현할 대상 - Class에 선언된 모양 그대로 생성된 실체 ▶ 특징 - 'Class의 Instance'라고도 부른다. - Object는 모든 Instance를 대표하는 포괄적인 의미를 갖는다. - OOP의 관점에서 Class의 타입으로 선언되었을 때 'Object'라고 부른다...
■ TDD (테스트 주도 개발, Test Driven Development) ㅇ 개념 : 테스트가 주도하는 개발로 테스트 코드를 작성하여 검증된 코드를 가지고 실제 코드를 작성하는 애자일의 대표적인 개발 방법론 ㅇ 특징 - 짧은 개발 서클의 반복을 갖는 소프트웨어 개발 프로세스 - 테스트를 통과하는 코드를 작성하고 상황에 맞게 리팩토링 ㅇ 장/단점 - 코드의 가독성 향상 : 각 모듈의 역할이 단순해지고 명확해짐 - 프로젝트의 유지보수와 확장이 용이 - 프로젝트의 품질을 높이고, 효율적인 테스트 경험과 사용자의 입장을 고려한 개발 진행이 가능 - 진입장벽 : 테스트 코드 작성에 대한 학습이 필요하며, 익숙해지는데 많은 시간이 필요 - 작성시간 및 코드량 증가 : 비지니스 로직, 코드 디자인 외에도 테스트 ..
■ 개념 ㅇ Servlet : 서블릿(servlet)은 서버에서 웹페이지 등을 동적으로 생성하거나 데이터 처리를 수행하기 위해 자바로 작성된 프로그램이다. Java코드 안에 HTML태그가 삽입되며 자바언어로 되어있다는 특징이 있다('.java'가 확장자이다). 자바언어를 웹어플리케이션에 조금 더 개발하기 쉽게 하기 위해 만든 API(라이브러리, 클래스 들)이며 이 규약에 맞는 라이브러리나 클래스들을 상속 및 구현하여 만든 클래스를 '서블릿'이라고 한다. Java 코드 안에 HTML 코드 (하나의 클래스) data processing(Controller)에 좋다. 즉 DB와의 통신, Business Logic 호출, 데이터를 읽고 확인하는 작업 등에 유용하다. Servlet이 수정된 경우 Java 코드를 ..
■ Rest의 정의 put과 patch의 차이를 정확하게 알아보기 앞서 Rest의 의미를 알아보자. Rest는 “Representational State Transfer”의 약자로 자원(resource)의 표현(representation) 에 의한 상태 전달이라고 볼 수 있다. 즉, HTTP 통신에서 특정 자원에 대한 요청을 Resource와 Method로 표현하여 특정한 형태로 응답하는 것을 의미한다. 여기에서 표현되는 Method에 우리가 궁금해하는 'put'과 'patch'가 있다. ■ put과 patch의 차이 구분 기능 개념 *멱등성 POST Create 데이터 등록 X GET Read 데이터 조회 O PUT Update 데이터를 대체 (또는 새로운 데이터를 생성) O PATCH Update 데..
ㅇ JPA(Java Persistence API)란? : 자바 ORM 기술에 대한 표준 명세로, JAVA에서 제공하는 API이다. (스프링에서 제공하는 것이 아님) *ORM이기 때문에 자바 클래스와 DB테이블을 매핑한다. (SQL을 매핑하지 않는다) * ORM이란? : 객체와 DB의 테이블이 매핑을 이루는 것을 말한다. 즉, '객체'가 '테이블'이 되도록 매핑 시켜주는 것이다. ORM을 이용하면 SQL Query가 아닌 직관적인 코드(메서드)로서 데이터를 조작할 수 있습니다. ㅇ JPA장점 (사용하는 이유) 1) 생산성 : 개발자가 일일히 CRUD용 쿼리를 작성해 줘야하던 Mybatis와 같은 Mapper방식은 컬럼이 추가되면 수정해 주어야 하는 부분이 상당히 많았다. 이로 인해서 자바를 사용하지만 객체..