일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 정보처리기사
- git
- 정보처리기사필기
- controller
- Groovy문법
- 시계열디비
- 무중단배포
- 정처기공부
- 롬복
- 정처기필기
- PULL방식아키텍쳐
- 롬복사용시주의할점
- 정처기
- 생성자
- 프로그래머스
- 어노테이션
- 알고리즘
- 빌드자동화도구
- API
- 자바
- 롬북
- spring
- Java8
- Docker
- 빌드스크립트
- 완전탐색알고리즘
- aws
- CICD
- java
- 서버
- Today
- Total
목록우당탕당 개발일지 (47)
우당탕탕 개발일지
H/W (하드웨어)⇒ 물리적 시스템 ex) 사람의 신체중앙처리장치(CPU) ex) 인간의 뇌 → 기억장치가 없음 레지스터라고 작은게 있으나 모든 연산을 처리하기 힘듦제어장치(CU) - 모든 장치에 대한 제어를함연산장치 - 산술연산, 논리연산캐시 메모리L1 → CPU 내에L2 → CPU와 RAM 사이주기억장치(ROM, RAM)주변장치(입/출력 장치)보조기억장치(HDD, SSD)HDD(하드디스트크) - 속도 느림(SSD에 비해) / 용량이 커도 저렴함SSD(반도체이용) - 속도 빠름 / 용량이 클 수록 비쌈 / 발열량 적음입/출력 장치입력 - 마우스, 키보드 등출력 - 모니터, 프린터 등soft copy - 모니터(출력되면 수정이 쉬움)hard copy - 프린터(출력되면 수정이 어려움)S/W (소프트웨어)..
@Data 어노테이션에 포함된 기능은@Getter / @Setter / @ToString / @EqualsAndHashCode / @RequiredArgsConstructor 이다.많은 기능을 포함한 만큼 @Data 어노테이션 하나로 코드를 대폭 줄일 수 있다.하지만, @Data를 사용할 때 몇가지 주의할 점이 있다.@Data 어노테이션은 callSuper / includeFieldName / exclude와 같은 파라미터와는 같이 사용할 수 없다.해당 파라미터를 이용할 경우엔 개별 어노테이션을 따로 다 명시해주어야한다./** * @see Getter * @see Setter * @see RequiredArgsConstructor * @see ToString * @see EqualsAndHashCode ..
멋쟁이사자처럼 백엔드 스쿨 2기를 교육 받으면서 만들었던 프로젝트를 리팩토링 하며,불필요한 코드를 공부하고 프로젝트를 정리해보기로 했다.제일 먼저 눈에 띈 한 클래스 내 같이 작성된 @AllArgsConstructor / @NoArgsConstructor해당 애노테이션이 어떤 용도인지를 파악하며 코드를 수정해보기로 했다.@AllArgsConstructor 클래스의 모든 필드 값을 파라미터로 받는 생성자를 자동으로 생성한다.고로 클래스의 모든 필드를 한 번에 초기화할 수 있다.하지만 파라미터를 꼭 다 받아야하는 경우가 아니라면 이 생성자는 굳이 필요가 없을 수 있다.@NoArgsConstructor파라미터가 없는 기본 생성자를 자동으로 생성한다.이 애노테이션을 사용하면, 클래스에 명시적으로 선언된 생성자..
✅ 교착 상태란? 두 개 이상의 프로세스가 자원을 점유한 상태에서 서로 다른 프로세스가 점유하고 있는 자원을 요구하며, 서로의 작업을 끝나기만을 기다리다 둘 다 영원히 끝나지 않는 상황 즉, 둘 이상의 프로세스가 다른 프로세스가 점유하고 있는 자원을 서로 기다릴 때 무한 대기에 빠지는 상황 예를 들어, 위와 같이 자동차(프로세스)들이 현재 위치한 길(자원)을 점유함과 동시에 다른 차가 사용하는 길을 사용하려고 대기하고 있지만 다른 길을 사용할 수 없으며 현재의 길에서도 벗어나지 못하는 상태를 말함. 📌 교착상태의 발생 조건 4가지 아래의 4가지 조건이 모두 만족 될 경우 발생할 가능성이 있으며, 하나라도 만족하지 않으면 교착상태가 발생하지 않는다. 상호 배제 ( Mutual Exclusion ) 한 번에..
JVM 이란? Java Virtual Machine 의 약자 자바 가상 머신 (가상 컴퓨터, 실제 컴퓨터는 아닌 소프트웨어로 만들어진 컴퓨터) 자바와 운영체제 사이에서 중개자 역할을 수행 자바 바이트 코드를 실행하기 위한 기계 가비지 컬렉터(Garbage Colletor : GC)를 사용한 메모리 관리를 자동으로 수행 레지스터 기반이 아닌 스택 기반으로 동작 한번 작성하면, 어디서든 실행! (Write once, run anywhere) - Sun Microsystems windows용으로 작성 된 애플리케이션은 windows 운영체제에서만 사용가능 만약, Macintosh 운영체제에서 사용 되려면 windows용으로 작성 된 애플리케이션을 macintosh용으로 애플리케이션을 수정해야만 한다. ( 해당..
Gradle(그래이들)이란? 유연성과 성능에 중점을 둔 오픈 소스 빌드 자동화 도구 Groovy Script 를 이용한 Build 자동화 시스템 같은 빌드 도구인 Ant, Maven의 장점을 모아 2012년에 출시 Android OS의 빌드 도구로 채택 간결함 / 빠른 속도 / 유연성 / 확장성 / 다양하고 많은 문서화 등의 장점이 있음 📌 빌드 관리 도구 ( = Gradle / Maven / Ant ) 프로젝트에서 필요한 xml, properties, jar 파일들을 자동으로 인식하여 빌드해주는 도구 빌드 되기전 미리 소스 코드를 컴파일, 테스트, 정적분석 등을 하여 실행가능한 앱인지 확인 및 빌드 실행을 해줌 프로젝트의 정보 관리, 테스트 빌드, 배포 등의 작업을 해줌 배포작업 ⇒ 배포가 되는 위치로..
Prometheus(프로메테우스) 란? 오픈 소스 기반의 모니터링 시스템이다. 대상 시스템으로 부터 각종 모니터링 지표를 수집하여 저장하고 검색할 수 있는 시스템이다. 구조가 간단하여 운영이 쉽고, 강력한 쿼리 기능을 가지고 있다. 또, 그라파나를 통한 시각화를 지원한다. 무엇보다 넓은 오픈 소스 생태계를 기반으로 해서 많은 시스템을 모니터링할 수 있는 다양한 플로그인을 가지고 있다. 특히, 이런 간편함 때문에 쿠버네티스의 메인 모니터링 시스템으로 많이 사용되면서 요즘 특히 더 주목을 받고 있다. ✅ SoundCloud사에서 만든 오픈 소스 기반 모니터링 솔루션 ✅ go언어로 만들어짐 - 하드웨어 레벨 / 애플리케이션 모니터링 가능 - 마이크로서비스 - multiple language 지원(java, g..
📌 SOP(Same Origin Policy) 정책 동일한 출처에서만 리소스를 공유할 수 있다. 👉 동일한 출처에 대한 정책 동일 출처 서버에 있는 리소스는 자유롭게 가져올 수 있지만, 다른 출처 서버에 있는 이미지나 유튜브 영상 같은 리소스들은 상호작용이 불가능하다. SOP는 2011년, RFC 6454에서 처음 등장한 보안 정책으로 말 그대로 "같은 출처에서만 리소스를 공유할 수 있다" 라는 규칙을 가진 정책이다. ✅ 동일 출처 정책이 필요한 이유? "CSRF 공격!" 만일 제약이 없다면, 해커가 CSRF(Cross-Site Request Forgery) 나 XSS(Cross-Site Scripting)등의 방법을 이용하여 우리가 만든 애플리케이션에서 해커가 심어놓은 코드가 실행되어 개인 정보들을 가..