일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 코딩테스트
- node.js
- 인접리스트
- OOP
- 알고리즘
- winston
- html
- JWT
- dfs
- typescript
- nestjs
- 자료구조
- 탐욕법
- java
- Deep Dive
- Spring
- Kubernetes
- javascript
- REST API
- Interceptor
- TIL
- 프로그래머스
- Linux
- bean
- GraphQL
- puppeteer
- LifeCycle
- css
- 인접행렬
- MySQL
- Today
- Total
목록전체 글 (241)
처음부터 차근차근
java.lang 패키지란?자바에서 기본으로 제공하는 패키지로써, 자바 언어를 이루는 가장 기본이 되는 클래스들을 보관하는 패키지입니다.Object : 모든 자바 객체의 부모 클래스String : 문자열Integer, Long, Double : 래퍼 타입, 기본형 데이터 타입을 객체로 만든 것Class : 클래스 메타 정보System : 시스템과 관련된 기본 기능들을 제공이 패키지는 모든 자바 애플리케이션에 자동으로 임포트 됩니다.Object 클래스자바에서 모든 클래스의 최상위 부모 클래스는 항상 Object 클래스입니다. 이것은 묵시적으로 상속 받기 때문에, 따로 extend를 사용하지 않아도 자동으로 상속을 받습니다.클래스에 상속 받을 부모 클래스를 명시적으로 지정하면 Object를 상속받지 않지만,..
Umask란?새로 생성되는 파일이나 디렉토리의 권한을 제한하는 명령어로써, 생성된 파일 및 디렉터리의 퍼미션을 설정하거나 확인하는 shell 내부 명령어이다.기본 권한에서 umask 값을 뺀 숫자가 앞으로 생성될 파일 및 디렉터리의 권한이 된다. 간단 예시umask의 값을 222로 사용한다면777-222 = 555 == r-xr-xr-x로 된다.이것은 파일 및 디렉토리 모두 적용된다. 사용법- 현재 umask 값 확인하기단순히 umask를 치면 현재의 사용자 파일 생성 마스크 값이 표시된다.일반적으로 umask 값은 0022이다.이것을 별도로 지정하지 않는다면, 새로 생성되는 텍스트 파일은 0644, 실행 파일은 0755의 파일 권한을 가지게 된다. - umask 값 변경하기umask 만약 그룹과 모든..
Chown이란?파일이나 디렉토리의 소유자를 변경하는 명령어이다.Change + owner의 줄임말이다.사용방법1. 소유자만 변경하고 싶은 경우chown user /path/to/file_or_directory2. 소유자 및 그룹까지chown user:group /path/to/file_or_directory 하위 디렉토리, 폴더까지 변경하고 싶은 경우, Option에 -R을 붙여주면 된다.참조 linux chown 명령어 사용법 www.lesstif.com chown - 파일 소유권 변경요약 chown [-R [ -H | -L | -P ]] [ -h ] owner[:group] file ... 설명 chown을 사용하여 파일의 소유자를 소유자가 지정한 사용자 ID 또는 프로파일로 설정할 수 있습니다. 선..
Chmod란?chmod(change mode의 축약어)명령어는 유닉스와 유닉스 계통 환경 안에서 쓰이는 셸 명령어이다. 이 명령어는 파일들이나 디렉터리의 파일 시스템 모드들을 바꾼다. 그 모드들은 허가나 특별한 모드들을 포함한다. 리눅스에서는 각 파일 및 디렉토리에 대해읽기 r쓰기 w실행 x권한(permission)을 파일 개별적으로 지정할 수 있도록 만들어놨다. chmod 명령은 바로 이러한 파일의 권한을 변경할 수 있게 만들어주는 명령어이다. Change 와 Mode의 앞 글자들을 조합한 이름이다. 즉, chmod 명령을 사용하여 파일의 모드를 변경한다는 것은 파일의 권한을 변경한다는 것과 동일하다는 의미를 가진다. 왜 만들어졌을까?리눅스 시스템의 모든 파일이 그 종류 또는 쓰임새와 관계 없이 읽기,..
0과 1로 숫자를 표현하는 방법컴퓨터가 표현하는 정보 단위를 학습하고, 0과 1만으로 숫자를 표현하는 방법정보 단위컴퓨터는 0 또는 1밖에 이해하지 못한다.비트(bit) : 0과 1을 나타내는 가장 작은 정보 단위Why? 전기를 통해 연산하는, 즉 전기를 켜고 끄는 방식으로 작동하는 컴퓨터에게 적합한 방법이다. 컴퓨터에는 굉장히 많은 스위치(Transistor)가 있고, on/off 상태를 통해 0과 1로 표현한다.바이트(byte) : 여덟 개의 비트를 묶은 단위로, 여러 숫자 조합을 컴퓨터에 나타내기 위해 비트열을 사용.하나의 바이트에 여덟 개의 비트가 있고, 비트 하나는 0과 1로 표현될 수 있기 때문에 2^8 = 256개의 서로 다른 바이트가 존재할 수 있다.워드(word) : CPU가 한 번에 처..
지금까지는 스프링 빈이 스프링 빈이 스프링 컨테이너의 시작과 함께 생성되어서 스프링 컨테이너가 종료될 때까지 유지된다고 학습하였습니다. 이것은 스프링 빈이 기본적으로 싱글톤 스코프로 생성되기 때문입니다. 빈 스코프란? 번역 그대로 빈이 존재할 수 있는 범위를 뜻합니다. 스프링은 다음과 같은 다양한 스코프를 지원합니다. 싱글톤 : 기본 스코프, 스프링 컨테이너의 시작과 종료까지 유지되는 가장 넓은 범위 스코프 프로토타입 : 스프링 컨테이너는 프로토타입 빈의 생성과 의존관계 주입까지만 관여하고 더는 관리하지 않는 매우 짧은 범위의 스코프 웹 관련 스코프 request : 웹 요청이 들어오고 나갈때 까지 유지되는 스코프 session : 웹 세션이 생성되고 종료될 때까지 유지되는 스코프 application ..
데이터베이스 Connection pool이나 Network socket처럼 Application의 시작 시점에 필요한 연결을 미리 해두고, 애플리 케이션 종료 시점에 연결을 모두 종료하는 작업을 진행하려면, 객체의 초기화와 종료 작업이 필요합니다. 이번 시간에는 스프링을 통해 이러한 초기화 작업과 종료 작업을 어떻게 진행하는지 예제로 알아보겠습니다. 빈 생명주기 콜백 시작 간단하게 외부 네트워크에 미리 연결하는 객체를 하나 생성한다고 가정해보겠습니다. (실제로는 네트워크에 연결하는 것이 아니라 단순 문자만 출력하도록 가정) 이 Class는 애플리케이션 시작 시점에 connect()를 호출해서 연결을 맺어두어야 하고, 애플리케이션이 종료되면 disConnect()를 호출해서 연결을 끊어야 합니다. 예제 코..
Spring에는 다양한 DI 방법이 존재합니다. 이번 시간에는 의존 관계를 자동으로 주입시켜주는 방법에 대해 학습해보겠습니다. 다양한 의존관계 주입 방법 의존관계 주입에는 크게 4가지 방법이 존재합니다. 생성자 주입 수정자 주입(setter 주입) Field 주입 일반 메서드 주입 생성자 주입 생성자를 통해서 의존 관계를 주입 받는 방법이며, 지금까지 진행했던 방법입니다. 특징 생성자 호출 시점에 딱 1번만 호출되는 것이 보장됩니다. 불변, 필수 의존관계에 사용합니다. @Component public class OrderServiceImpl implements OrderService { private final MemberRepository memberRepository; private final Dis..
오늘 한 일 Chipi Backend CI 프로세스 정립 및 Github Action 설정 Spring 강의 진행 Chipi Backend CI 프로세스 정립 및 Github Action 설정 Backend CI 프로세스를 정립하게 위해 Github Action 설정을 진행했습니다. github 내 폴더가 push가 안된 상황이여서 에러가 발생하였으며, 이를 수정하였습니다. CI 프로세스 정립을 위해 Github Action 설정을 진행하다 에러를 마주쳤습니다. 먼저 jest.json의 설정은 { "moduleFileExtensions": ["js", "json", "ts"], "rootDir": "./unit", "testEnvironment": "node", "testRegex": ".spec.ts..
지금까지 스프링 빈을 등록할 때는 @Bean 애너테이션이나 XML의 등을 통해서 설정 정보에 직접 등록할 스프링 빈을 나열했습니다. 하지만 이렇게 수동으로 등록하다보면 등록해야 하는 스프링 빈이 수십, 수백개가 되었을 때 일일이 등록하기도 귀찮고 설정 정보도 커지는 문제점이 발생합니다. 따라서 스프링은 설정 정보가 없어도 자동으로 스프링 빈을 등록하는 Component Scan이라는 기능을 제공합니다. 또한 의존관계도 자동으로 주입하는 @Autowired도 제공합니다. ComponentScan, Autowired @Configuration // 컴포넌트 스캔을 사용하려면 애너테이션을 붙이면 됩니다. @ComponentScan( excludeFilters = @ComponentScan.Filter(type..