본문 바로가기

728x90

전체 글

(405)
[컴퓨터 구조] CPU 속도에 관여하는 것 CPU의 속도에 영향을 미치는 요소CPU는 명령어를 처리하는 부품이며, 명령어 처리 속도가 빠를수록 컴퓨터의 성능이 향상됩니다. CPU의 명령어 처리 속도를 빠르게 할 수 있는 방법은 다음과 같습니다. 1. 클럭 (Clock)클럭의 정의: 컴퓨터 부품은 클럭이라는 신호에 맞춰 작동합니다. 클럭 신호는 컴퓨터의 동작을 제어하는 타이밍 신호로, 신호가 올 때마다 CPU가 작업을 시작합니다.클럭 속도: 클럭 속도는 Hz(헤르츠)로 측정되며, 1초에 n번 신호를 반복한다면 nHz입니다. 예를 들어, 1초에 10번 신호가 오면 10Hz입니다. 일반적인 CPU의 속도는 다음과 같습니다:저가형 CPU: 약 2.5GHz ~ 3.5GHz중급형 CPU: 약 3.5GHz ~ 4.5GHz고급형 CPU: 약 4.0GHz ~ 5..
[프로그래머스 (Kotlin)] 배열의 유사도 코드 힌트1. Set을 활용한 교집합Set 자료구조를 사용하여 두 배열의 교집합을 구하는 방법입니다.Set은 중복을 허용하지 않기 때문에, 공통된 원소만 남길 수 있습니다.2. 포함 여부 확인이 방법은 포함 여부를 체크하는 contains와 개수를 세기 위해 count를 사용하는 간단한 방식입니다.3. for문 사용가장 원초적인 방법이며 코틀린이 처음 공부하는 언어라면 이 방법을 추천합니다.  정답은 더보기 클릭더보기class Solution { fun solution(s1: Array, s2: Array): Int { val set1 = s1.toSet() val set2 = s2.toSet() return (set1.intersect(set2)).size ..
[Python] 넘파이(Numpy) 배열 넘파이(Numpy)란?Numpy는 Python 기반의 수치 해석 라이브러리로, 선형대수 연산 및 다차원 배열 처리를 위한 다양한 함수를 제공합니다. Numerical Python의 약자이며, 과학 컴퓨팅과 데이터 분석에 자주 사용됩니다. Numpy 설치 및 사용 방법pip install numpy# np(줄인말)는 표준화가 되어 있으며 numpy는 np로 사용합니다import numpy as np   Numpy 배열과 파이썬 리스트의 차이점연산 가능 여부np.array([1, 2, 3]) + np.array([4, 5, 6]) # 결과: [5, 7, 9][1, 2, 3] + [4, 5, 6] # 결과: [1, 2, 3, 4, 5, 6] Numpy: 배열 간 수학 연산 가능 Python List: 덧셈..
[자료구조] 큐(Queue) 큐(Queue)란?큐(Queue)는 한쪽에서 데이터를 삽입하고 반대쪽에서 데이터를 삭제하는 선입선출(FIFO, First In First Out) 자료구조입니다.  큐의 현실 예시: 줄 서기식당에서 줄을 서면, 가장 먼저 도착한 사람이 가장 먼저 입장합니다. 이는 큐의 선입선출 특징과 같아 큐를 이해하는 좋은 예시가 됩니다. 큐의 종류원형 큐 (Circular Queue)삽입과 삭제 위치를 원형으로 연결하여 사용합니다.배열의 끝에 도달해도 공간을 재활용할 수 있는 특징이 있습니다.배열 기반 큐에서 공간 낭비를 줄이기 위해 사용됩니다.덱 (Deque: Double-Ended Queue)양쪽에서 삽입과 삭제가 가능한 큐입니다.Java에서는 기존의 Queue보다 Deque를 더 권장합니다.이유: Deque는 ..
[OS] 동기화 기법 뮤텍스 락, 세마포 동기화의 중요성: 레이스 컨디션과 임계 구역공유 자원이란?프로세스나 스레드가 공유하는 자원을 공유 자원(shared resource)이라고 합니다. 공유 자원은 메모리, 파일, 전역 변수, 입출력 장치 등 다양합니다.여러 프로세스나 스레드가 동시에 동일한 공유 자원에 접근할 경우, 예기치 않은 문제가 발생할 수 있습니다.  레이스 컨디션 문제다음은 두 개의 스레드가 count라는 공유 변수를 각각 100번씩 증가시키는 예제입니다.public class RaceConditionExample { static int count = 0; // 공유 변수 public static void main(String[] args) { Thread t1 = new Thread(new Counter(..
[Spring Boot] Filter란? 필터를 활용한 요청 및 응답 로깅 Filter란?Filter는 클라이언트의 요청과 응답을 가로채는 역할을 합니다. 스프링 프레임워크에서는 필터가 DispatcherServlet 이전과 이후에 동작하며, 웹 컨텍스트 영역에서 실행됩니다. 스프링 부트에서는 기본적으로 톰캣 서버가 제공되며, 필터는 톰캣 서버와 DispatcherServlet 사이의 요청 및 응답을 제어할 수 있습니다.  Filter의 활용데이터 변환 및 조작요청 또는 응답 데이터를 변환하거나 가공합니다.요청 로깅 (Logging)클라이언트의 요청 데이터를 기록합니다.인증 및 권한 확인요청에 대한 인증과 권한을 필터 단계에서 확인합니다.필터 체인(Filter Chain) 구성여러 필터를 연속적으로 실행해 특정 작업을 처리할 수 있습니다.  예시: 학생 등록 시스템에서 발생할 ..
[자료구조] 스택(Stack) Java 예제 포함 스택(Stack)은 컴퓨터 과학에서 매우 중요한 자료 구조 중 하나로, 데이터를 저장하고 접근하는 방법에 대한 규칙을 따릅니다. 스택은 LIFO(Last In, First Out)라는 원칙을 기반으로 동작합니다. 이는 마지막에 들어간 데이터가 먼저 나오는 구조로, 물리적인 구조로는 책을 쌓는 것과 비슷합니다.   스택의 주요 특징LIFO (Last In, First Out):스택에 저장된 데이터는 나중에 추가된 데이터가 먼저 처리됩니다.즉, 스택의 마지막에 추가된 요소가 가장 먼저 제거됩니다.기본 연산:Push: 스택의 맨 위에 새로운 데이터를 추가하는 연산입니다.Pop: 스택의 맨 위에 있는 데이터를 제거하고 반환하는 연산입니다.Peek (또는 Top): 스택의 맨 위에 있는 데이터를 제거하지 않고 반..
[네트워크] OSI 7계층 OSI 7계층이란?OSI 7계층(Open Systems Interconnection 7-Layer Model)은 네트워크 통신을 이해하고 설계하는 데 도움을 주기 위해 만들어진 모델입니다. 각 계층은 자신만의 역할을 수행하며 OSI 7계층을 통해 서로 다른 네트워크 장치 간의 데이터 교환을 이루어지게 합니다. 즉, 서로 다른 네트워크끼리 통신을 할 수 있게 도와주는 모델인 것입니다. OSI 7계층(Open Systems Interconnection 7-Layer Model)은 네트워크 통신의 복잡성을 나누어 설명하기 위해 만들어진 참조 모델입니다. 이 모델은 각 계층이 서로 독립적으로 동작하면서도 상호작용할 수 있도록 구성되어 있으며, 네트워크 문제 해결과 설계, 구현에 도움을 줍니다. OSI 모델의 핵..

728x90