post-thumbnail

[BOJ 1717] 집합의 표현(Java)

집합의 표현전형적인 Union-Find 문제이다. 단, 주의할 점은 Union-Find로 구현할 때 반드시 경로 압축을 해야만 시간초과에 걸리지 않는다.일반적인 방법으로는 다음과 같이 구현한다.하나의 노드를 기준으로 부모를 따라 계속 탐색하는 방식이다.이 방법은 치명적

2022년 9월 30일
·
0개의 댓글
·
post-thumbnail

[2022Kakao Blind] 파괴되지 않은 건물(Java)

파괴되지 않은 건물1 <= N,M <= 1,000이며 1 <= skill <= 250,000이기 때문에 일반적인 방법으로는 시간초과를 피할 수 없다. 가장 일반적으로 문제를 푸는 방법은 skill대로 2차원 배열을 일일이 탐색한 뒤, degree를

2022년 9월 19일
·
0개의 댓글
·

[BOJ 23290] 마법사 상어와 복제(Java)

마법사 상어와 복제삼성 기출문제인 마법사 상어 시리즈이다.마법사 시리즈 문제는 구현할 내용을 간단히 정리하고, 문제에서 주어지지 않은 엣지 케이스를 가정하는 것이 중요하다. 1\. 복제물고기가 담겨있는 board를 순회하며 Queue에 물고기의 정보들을 담아놓고 5번에

2022년 9월 10일
·
0개의 댓글
·
post-thumbnail

[CS] MSA(Micro Service Architecture)

단일 프로그램을 각 컴포넌트 별로 나누어 작은 서비스의 조합으로 구축하는 방법입니다.독립적으로 배포 가능한 각각의 기능을 수행하는 서비스로 구성된 프레임워크각 컴포넌트가 독립적으로 기능하기 때문에 해당 기능이 마비되더라도, 전체적인 서비스에 영향을 주지 않습니다.모놀리

2022년 1월 16일
·
0개의 댓글
·

[CS] Builder 패턴

싱글톤, 팩토리 패턴과 마찬가지로 GoF의 생성 패턴에 속하는 패턴입니다.원래 사용하던 자바빈즈 패턴의 경우, 생성자에 맞게 파라미터를 일일이 설정해줘야 하며, 만약 그러한 생성자가 없을경우 일일이 setter를 활용해 데이터를 입력해줘야 합니다.하지만 후자의 경우 객

2022년 1월 16일
·
0개의 댓글
·

[CS] 자바의 스레드

프로세스를 구성하는 세부 실행단위(Unit)를 말합니다. 자바는 JVM을 통해 멀티 쓰레드를 구성하여 concurrent 하게 동작하여 동시에 여러 작업을 수행할 수 있습니다. 하지만 동시에 수행되는 쓰레드의 수행순서는 보장되어 있지 않습니다.또한, 모든 프로세스는 메

2021년 11월 14일
·
0개의 댓글
·
post-thumbnail

[CS] 가비지 컬렉션(Garbage Collection)

메모리 관리 방법 중에 하나로, 시스템에서 더이상 사용하지 않는 동적 할당된 메모리 블럭을 찾아 자동으로 다시 사용 가능한 자원으로 회수하는 기법입니다.일반적으로 Heap 영역의 오브젝트 중 stack 에서 도달 불가능한 (Unreachable) 오브젝트들은 가비지 컬

2021년 11월 10일
·
0개의 댓글
·
post-thumbnail

[CS] 직렬화(Serialization)

객체를 직렬화하여 전송 가능한 형태로 만드는 것을 의미합니다. 객체를 네트워크로 전송하기 위해 연속적인 데이터로 변환한뒤, Stream을 통해 데이터를 읽도록 합니다.주로 객체들을 통째로 파일로 저장하거나 전송하고 싶을 때 사용됩니다.역직렬화? 직렬화된 파일 등을 역으

2021년 11월 9일
·
0개의 댓글
·

[CS] 인덱스란?

인덱스란 추가적인 쓰기 작업과 저장 공간을 활용하여 데이터베이스 테이블의 검색 속도를 향상시키기 위한 자료구조입니다.테이블을 만들고 안에 데이터가 쌓이게 되면 테이블의 레코드는 내부적으로 순서가 없이 뒤죽박죽으로 저장됩니다. 이렇게 되면 Where절에 특정 조건에 맞는

2021년 11월 7일
·
0개의 댓글
·

[CS] 데이터베이스에 대해서

데이터베이스(DB: database)는 통합하여 관리되는 데이터의 집합체를 의미합니다.이는 중복된 데이터를 없애고, 자료를 구조화하여, 효율적인 처리를 할 수 있도록 관리됩니다.따라서, 여러 업무에 여러 사용자가 데이터 베이스를 사용할 수 있습니다.이러한 데이터베이스는

2021년 11월 7일
·
0개의 댓글
·

[CS] DB 무결성에 대해

데이터의 무결성은 데이터의 정확성, 일관성, 유효성이 유지되는 것을 말합니다. 데이터의 무결성을 유지하는 것은 데이터베이스 관리시스템 (DBMS)의 중요한 기능이며, 주로 데이터에 적용되는 연산에 제한을 두어 데이터의 무결성을 유지합니다.개체 무결성 제약조건은 기본키를

2021년 11월 7일
·
0개의 댓글
·
post-thumbnail

[CS] TCP

전송 계층의 주요 프로토콜로, 연결 지향형 프로토콜입니다.TCP는 상위층이 넘겨준 데이터를 세그먼트라는 단위로 쪼개어 가공하고 하위층으로 넘겨주며 상위층이 신뢰할수 있는 연결방식을 제공합니다.ex) 3way, 4wayTCP는 기본적으로 IP와 함께 사용이 됩니다. 이유

2021년 10월 31일
·
0개의 댓글
·
post-thumbnail

[CS] OSI 7계층에 대하여

네트워크 통신이 일어나는 과정을 7단계로 나눈 것을 말합니다.스프링과 웹을 MVC로 나누면 디버깅이 수월한 것 처럼, 각 통신 과정을 계층화 하여 어떤 계층에서 문제가 발생했는지 한눈에 보기 위함입니다. 각 계층의 역할이 다르기 때문입니다.전송 단위 : 비트(Bits)

2021년 10월 29일
·
0개의 댓글
·
post-thumbnail

[CS] 데드락(Deadlock)

둘 이상의 프로세스가 다른 프로세스가 점유하고 있는 자원을 서로 기다릴 때 무한 대기에 빠지는 상황을 일컫습니다.위 상황은 두 프로세스 모두 Resource 1, 2가 필요한 상황입니다. 하지만 서로 자원을 각각 하나씩 점유하고 있고, 상대방이 자원을 해제할때까지 기다

2021년 10월 23일
·
0개의 댓글
·
post-thumbnail

[CS] CPU 스케줄링

CPU를 효율적으로 사용하기 위해 운영체제가 CPU의 자원을 어떤 프로세스에게 할당해 줄 지 그 일정을 짜는 것입니다.프로세스는 작업을 진행하기 위해 CPU를 할당받아야 합니다. 하지만 CPU는 하나의 프로세스만 할당이 가능합니다. 따라서 특정 프로세스가 I/O 요청에

2021년 10월 22일
·
0개의 댓글
·

[CS] IPC(Inter Process Communication)

IPC란? >* 프로세스는 각자 독립된 메모리 공간을 가지고 있어 서로간의 데이터를 공유할 방법이 없습니다. 그렇기 때문에 나온 방식이 IPC로 프로세스 간 통신을 하는 방법입니다. 프로세스는 커널이 제공하는 IPC 설비를 이용해 프로세스간 통신을 할 수 있게 되며,

2021년 10월 22일
·
0개의 댓글
·
post-thumbnail

[CS] 프로세스 주소 공간에 대해

프로세스는 OS에 의해 메모리를 할당받습니다.이 메모리는 프로세스의 주소 공간으로, 영역이 3가지로 구성 되어 있습니다.Code Segment(코드 부분)읽기만 가능하며, 프로그램의 코드가 저장되어 있습니다.Data Segment (데이터 부분)전역 변수(global

2021년 10월 22일
·
0개의 댓글
·
post-thumbnail

[CS] 인터럽트(interupt)

프로그램을 실행하는 도중에 예기치 않은 상황이 발생할 경우 현재 실행 중인 작업을 즉시 중단하고, 발생된 상황에 대한 우선 처리가 필요함을 CPU에게 알리는 것입니다.지금 수행 중인 일보다 더 중요한 일(ex. 입출력, 시스템 콜 등의 예외상황)이 발생하면 그 일을 먼

2021년 10월 22일
·
0개의 댓글
·
post-thumbnail

[CS] 시스템 콜(system call)

응용 프로그램이 운영체제의 기능을 사용하기 위해 운영체제의 API를 호출하는 함수입니다.운영 체제는 사용자 모드와 커널 모드로 나뉘어 구동되는데 open(), exec(), fork(), kill()와 같은 기능들을 사용하려면 커널 모드로의 전환이 필요합니다. 시스템

2021년 10월 22일
·
0개의 댓글
·
post-thumbnail

[CS] 프로세스와 스레드

프로세스란? > * 운영체제로부터 자원을 할당받아 메모리 상에 올라와 실행되고 있는 프로그램을 뜻합니다. 프로그램이란 파일이 저장 장치에 저장되어 있지만, 정적인 상태를 가지고 있는 파일을 뜻합니다. 프로그램에서 프로세스 상태로 변경되면 프로세스 제어 블록(PCB)를

2021년 10월 21일
·
0개의 댓글
·