전체 글

I'm still working on it. We must be better.
·CS
본 게시글은 http와 https에 대한 이해를 함양하기 위한 글로, 주로 AWS의 공식 자료를 참고했습니다. HTTP와 HTTPS의 차이점은? HTTP(Hypertext Transfer Protocol)는 클라이언트와 서버 간 통신을 위한 통신 규칙 세트 또는 프로토콜입니다. 사용자가 웹 사이트를 방문하면 사용자 브라우저가 웹 서버에 HTTP 요청을 전송하고 웹 서버 또한 HTTP로 응답합니다. 웹 서버와 사용자 브라우저는 데이터를 일반 텍스트로 교환합니다. 요약하면, HTTP 프로토콜은 네트워크 통신을 작동하게 하는 기본 기술입니다. HTTPS(HTTP Secure)는 HTTP의 확장 버전 또는 더 안전한 버전입니다. HTTPS에서는 브라우저와 서버가 데이터를 전송하기 전에 안전하고 암호화된 연결을 ..
문제 출처: https://www.acmicpc.net/problem/9935 문제 시도 일단 무난하게 contains()로 확인하고 replace로 대체하는 식으로 작성했다. import java.io.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = br.readLine(); String expl = br.readLine(); while (str.contains(expl)) { str = str.replace(expl, ""); } System.out..
문제 출처: https://www.acmicpc.net/problem/11286 문제 시도 일단 나름대로 Heap을 작성해봤는데 절댓값 비교 부분으로 인해 실패한다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); AbsoluteHeap ah =..
·알고리즘
본 게시글은 정렬 알고리즘 중 힙 정렬에 대한 이해를 증진하기 위한 글로, 요즘 IT의 기술 아티클(링크)을 참고했습니다. 자료 구조는 데이터를 효율적으로 저장, 검색, 삭제할 수 있도록 설계된 구조나 방법을 의미합니다. 이 중, 힙(heap)은 정렬, 우선순위 큐, 스케줄링 같은 다양한 알고리즘에서 활용되는 자료 구조입니다. 1. 힙의 정의 힙은 완전 이진 트리(Complete Binary Tree)의 일종으로, 부모 노드와 자식 노드 간에 특정한 조건을 만족하는 자료구조를 말합니다. ※ 완전 이진 트리란 부모 노드 밑에 자식 노드가 최대 2개까지 있을 수 있고, 마지막 레벨을 제외한 모든 레벨에 노드가 완전히 채워져 있는 트리 구조를 의미합니다. 힙의 기본 용어는 다음과 같습니다. 부모 노드, 자식 ..
논리적 데이터베이스 설계란 현실 세계의 업무를 분석하여 이를 약속된 표기법을 사용하여 개념적 모델(ERD)로 표현하는 과정으로, 데이터 모델링이라고도 부릅니다. 데이터베이스 용어 모델링 용어 테이블 엔티티 컬럼, 열 속성 튜플, 행 인스턴스 기본키 주 식별자 외래키 외래 식별자 용어 엔티티 (entity) 현실 세계를 데이터 관점에서 모델링할 때 사용되는 핵심 개념 업무의 관심 대상이 되는 정보를 갖고 있거나 그에 대한 정보를 관리할 필요가 있는 유형, 무형의 사물(개체) ex. 회원, 상품, 쇼핑카트 속성 (attribute) 엔티티에서 관리해야 할 최소 단위의 정보 항목 엔티티는 하나 이상의 속성을 포함합니다. 관계 (relationship) 두 엔티티 사이의 관련성으로, 이는 상호 공유하는 속성이 ..
데이터베이스는 데이터의 집합으로, 파일 형태로 산재했던 데이터, 정보들을 하나로 모아 이를 관리하고 사용자와 데이터 사이에 인터페이스 역할을 할 수 있는 S/W를 만들기 위해 정립된 개념입니다. 특징 데이터 독립성 지원 데이터베이스 시스템에서는 사용자 혹은 응용 프로그램이 직접 데이터베이스에 접근할 수 없고 반드시 DBMS를 통해서만 접근이 가능합니다. 데이터베이스 내에 있는 데이터의 물리적, 논리적 변화가 응용 시스템에 영향을 미치지 않도록 하여 독립성을 보장합니다. 데이터 무결성 유지 데이터베이스 시스템은 데이터베이스 내에 저장될 데이터에 대하여 데이터의 타입, 길이, 값의 범위 등에 대한 정보를 갖고 있습니다. 이를 위반하는 데이터가 들어올 경우 처리를 거절함으로써 데이터의 무결성을 지원합니다. 데..
·CS/운영체제
LVM(Logical Volume Manager)은 리눅스에서 디스크 파티션 및 논리 볼륨을 효과적으로 관리하기 위한 시스템입니다. LVM을 사용하면 논리적인 디스크 공간을 만들고 필요에 따라 크기를 조절하며, 여러 개의 물리적 디스크를 하나의 논리적인 공간으로 통합하는 등의 기능을 수행할 수 있습니다. LVM의 구조를 나타내는 용어는 다음과 같습니다. 물리적 볼륨 : 물리적 디스크나 디스크 파티션 등을 LVM이 인식할 수 있는 형태로 설정한 것입니다. 볼륨 그룹 : 하나 이상의 물리적 볼륨을 그룹화하여 만든 논리적 그룹입니다. 논리적 볼륨 : 볼륨 그룹 안에서 생성된 논리적인 디스크 공간입니다. 일반 파티션처럼 사용할 수 있습니다. 이러한 구성으로 LVM을 사용하면 논리적인 디스크 공간을 다양한 용도로..
문제 출처: https://www.acmicpc.net/problem/11279 문제 시도 처음엔 문제 카테고리를 신경 쓰지 않고 내가 생각해본 LinkedList를 통해 풀어보기로 했다. LinkedList 삽입, 삭제가 자유롭고, 조회에 대한 시간 복잡도가 O(n)이라는 단점이 있지만 문제는 가장 큰 요소, 즉 첫 번째 요소를 출력할 걸 요구하기 때문에 문제가 없을 거라고 여겼다. import java.io.IOException; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.LinkedList; public class Main { public static void main(String[] args) ..
·CS/운영체제
RAID (Redundant Array of Inexpensive / Independent Disks) RAID는 여러 개의 하드디스크를 하나의 하드디스크처럼 사용하는 방식으로, 비용을 절감하면서도 신뢰성을 높여 성능까지 향상시킬 수 있습니다. RAID는 일반적으로 하드웨어 RAID와 소프트웨어 RAID로 나뉩니다. 유형 1.하드웨어 RAID 하드웨어 RAID는 하드웨어 제조업체에서 여러 개의 하드디스크를 연결한 장비를 만들어 그 자체를 공급하는 것이기 때문에 보다 안정적이고, 각 제조업체에서 기술 지원을 받을 수 있기 때문에 많이 선호되는 방법입니다. 고가의 경우 SA_SCSI 하드디스크를, 중저가의 경우 SATA 하드디스크를 사용해 만들어집니다. ※ SATA와 SCSI는 하드웨어 인터페이스의 일종입니..
데이터베이스에서 데이터를 캐싱할 때, 사전 예방적(proactive) 및 사후 대응적(reactive)으로 취할 수 있는 캐싱 패턴으로 Redis와 Memcached가 있습니다. 구현하기 위해 어떤 패턴을 취하든 모두 자신이 사용할 캐싱과 애플리케이션 목표와 밀접하게 관련되어 있어야 합니다. 가장 흔한 접근은 사전 예방적으로 'cache-aside'(혹은 'lazy loading')을 취하는 것, 그리고 사후 대응적으로 'write-through'를 취할 수 있습니다. Cache-aside는 데이터가 요청된 후에 수정되는 방식이며, write-through 캐시는 메인 DB가 수정되었을 때 즉시 수정하는 방법입니다. 두 방법 모두, 애플리케이션이 어떤 데이터를 얼마나 캐싱할지를 관리하는 방법입니다. 아래..
G+
IT 이모저모