본문 바로가기

CS study

(51)
[GIT] 대용량 파일을 점진적으로 받아올 때. (--depth) https://eunjinii.tistory.com/128 RPC failed; curl 18 transfer closed with outstanding read data remaining 문제해결 방법 문제상황 git clone을 받으려고 하는데 "RPC failed; curl 18 transfer closed with outstanding read data remaining" 라는 문구가 뜨면서 클론이 안 되고 있다. 원인 규모가 큰 레포지토리를 클론하려고 하는데 로컬에 eunjinii.tistory.com 해당 블로깅을 참고하였다. 문제 상황 최종 파일을 정리하고, 발표 대본과 데이터를 넣던 도중 팀원이 최종 브랜치에 많은 양의 대용량 데이터를 넣는 일이 있었다. 이 이후 pull이나 파일을 받아오..
AOP의 개념과 적용하기 개요 https://csg1353.tistory.com/90 위의 포스팅처럼 elasticsearch의 logstash 로그를 수집하기 위해 AOP의 개념을 사용해 로그를 수집해보려 한다. 이를 위해서는 먼저 AOP에 대한 개념을 학습해야 할 것이다. AOP란 (Aspect-Oriented Programming) 정의 공통 기능(예: 로깅, 보안)을 핵심 비즈니스 로직에서 분리하고, 이러한 공통 기능을 필요한 위치에 적용 어떤 로직을 기준으로 핵심적인 관점, 부가적인 관점으로 나누어서 보고 그 관점을 기준으로 각각 모듈화 한 것. AOP는 기존 OOP의 객체 지향적인 프로그래밍이 아닌, Aspect(관점)을 기준으로 프로그래밍하는 기법이다. 공통 기능의 관심 사항과 핵심 관심 사항 등, 객체지향으로는 분..
[2주차 스터디 노트] 쓰레드, 멀티 프로세스/쓰레딩, 프로세스 상태 변화 프로세스 상태 프로세스의 수행 상태 변화는 운영 체제의 프로세스 관리의 중요한 부분이다. 운영 체제는 프로세스의 생명 주기 동안 여러 가지 상태를 가지며, 프로세스의 현재 상황과 다음에 수행해야 할 작업을 나타낸다. OS에서는 이 상태를 PCB를 통해 인식하고 관리한다. 새로 생성된 상태 (New) 프로세스가 생성되고 초기화되는 단계이다. 프로세스는 프로세스에 필요한 초기 리소스와 설정을 할당받있지만, 아직 실행 준비가 완전히 되지 않은 상태. -> 프로세스가 필요한 모든 리소스를 할당받고, 실행을 위한 준비가 완료되면 "준비 상태"로 전환된다. 여기서 할당받을 리소스들은 다음과 같다. - 프로세스 식별자 (PID): - 프로세스 제어 블록 (PCB): - 프로세스 실행을 위한 최소한의 메모리 공간 - ..
[2주차 스터디 노트] 프로세스, 프로세스의 메모리 구조, 문맥 교환 프로그램과 프로세스 프로그램은 저장장치에 존재하는 컴파일된 코드의 집합이다. 이것이 실행되기 전까지는 그저 저장장치에 존재되는 데이터에 불과하지만, OS에서 명령을 받아 메모리에 적재하게 되면 그때부터는 운영체제의 관리를 받으며 CPU 자원을 통해 동작하는 '프로세스' 가 된다. 프로세스는 CPU 자원을 사용하고 운영체제의 관리를 받으며, 프로그램 코드를 실제로 실행하는 동적인 개체 이중 눈에 보이지 않는 백그라운드 프로세스를 유닉스 체계의 운영체제에서는 데몬(daemon)이라고 부르고, 윈도우 운영 체제에서는 서비스라고 부른다. 프로그램은 어떤 과정을 거쳐 메모리에 적재되는가? 프로그램이 메모리에 적재되는 일반적인 과정 1. 프로그램 실행 요청: 특정 프로그램을 실행하라는 명령을 운영체제에 전달 2. ..
가볍게 알아보는 인덱스와 성능에 대해(개선예정) 인덱스? DataBase 분야에서 Table에 대한 동작 속도를 높여주는 자료구조. 마치 책갈피처럼, 인덱스를 설정하면 빠르게 색인을 할 수 있도록 도와준다. 인덱스의 구조 key, file, data에 맞추어 세개의 종류가 존재한다고 한다. 1. Clustered Index 대표적으로 PK 인덱스가 있다. 2. NonClustered Index 일반적인 인덱스를 지칭하며, 여러 개를 지정할 수 있다. 하지만 클러스터와 달리 줄을 세우는 느낌은 아니다. 실습(Clustered Index) alter table TBL_CODE add primary key(CODE) PK 테이블을 설정할 경우 CODE에 따라 자동 정렬된다. 클러스터드 인덱스의 특징인 줄세우기가 바로 나타남을 확인할 수 있다. 실습(Nonc..
1주차 스터디 노트 면접 예상 질문 1. 운영체제는 무엇이고 어떤 역할을 수행하는지 설명해주세요. 답변 - 운영체제는 컴퓨터 시스템이 동작할 때, 이들 자원을 적절하게 사용할 수 있는 방법을 제공한다. - 컴퓨터 하드웨어와 사용자 간의 인터페이스 역할을 하는 시스템 소프트웨어이다. 이는 현대의 정부와 유사하다. 정부 자체로는 유용한 기능을 제공하지 않지만, 유용한 작업을 할 수 있는 환경을 만드는 것이다. - 역할 1. 메모리 자원을 관리한다. (하드웨어 자원을 관리) 실행할 프로그램을 메모리에 적재하고, 실행되지 않는 프로그램을 메모리에서 삭제한다. CPU, 메모리, 입출력 장치 등 컴퓨터 자원을 효율적으로 관리하고 할당한다. - 역할 2. CPU 자원을 할당하여 프로그램들이 올바르게 실행되도록 관리한다. 이는 메모리에 ..
스터디 시작 개요 본격적으로 프로젝트 이후 오후 시간에 CS를 학습하려고 한다. 지금까지는 동기생들, 주변 스터디 팀원들과 알음알음 질의응답식으로 예상 문제를 던져주는 것에 그쳤지만, 이번 스터디 참여를 계기로 면접을 위한 지식이 아닌 개발을 위해 필요한 지식적 기반을 쌓고자 한다. 일정 주차별 핵심 소재를 필두로 원리를 학습하고, 예상 질문을 서로 질의해보며 기반을 다질 것이다! https://jscode.notion.site/CS-e7a5eef418f24e83842b331803c34458 모의면접으로 학습하는 컴퓨터공학(CS) 스터디 📋 스터디 개요 jscode.notion.site
인터셉터(Interceptor)란? 인터셉터. 수업을 수강하며 들었었던 개념이지만, 문득 어디에 쓰이고 어떻게 사용하는지는 알아야 될 것 같아 찾아보고 글을 쓴다. 이게 뭔데요? 인터셉터는 스프링 프레임워크에서 HTTP 요청을 가로채거나 수정, 추가 작업을 할 수 있는 구성 요소다. 이 얘기는 해당 스프링 서버로 들어오는 HTTP 요청에서 로직보다 앞세워 무언가 선행 조치를 취할 수 있다는 말이다. 내가 짠 코드보다 앞서서 전처리를 하거나.. 그렇기에 관리자 인증 등의 예시가 나왔던 것이 이해가 된다. 인터셉터는 MVC 패턴에서 Controller로 가기 전, 후에 작동해서 웹 애플리케이션의 전반적인 동작을 관리한다. Filter랑 뭐가 달라요? 필터 역시도 앞서 말했던 것처럼, 유사한 역할을 수행한다. 다만 가장 큰 차이점은 생성 위치와..