분류 전체보기(574)
-
Python 클래스와 메서드
1. 클래스 (class)클래스는 객체 지향 프로그래밍(OOP)에서 사용되는 개념으로, 객체를 정의하기 위한 틀이다. AgeInfo라는 클래스를 정의하여 나이를 관리하는 객체를 만들고 있다. 2. 생성자 (__init__)생성자는 클래스의 인스턴스를 만들 때 자동으로 호출되는 메서드이다.__init__(self, age)는 객체가 생성될 때 age라는 값을 받아 해당 객체의 self.age에 저장한다.여기서 self는 현재 객체를 가리키는 매개변수로, 클래스 내부에서 자신의 속성과 메서드를 참조할 때 사용된다.3. 메서드 (def로 정의된 함수들)클래스 내에 정의된 함수들을 메서드라고 부른다.up_age(self)는 나이를 1 증가시키는 메서드이고, get_age(self)는 현재 나이를 반환하는 메서드..
2024.10.22 -
mathematical trick for estimating square roots
제곱근을 빠르게 근사하는 방법\[ \sqrt{X} \approx \frac{X + Y}{2\sqrt{Y}} \] 여기서: - \( X \)는 제곱근을 구하고자 하는 수이다. - \( Y \)는 \( X \)와 가장 가까운 완전제곱수이다. 1. \(\sqrt{51}\)을 근사하는 경우: - 51과 가장 가까운 완전제곱수는 \( Y = 49 \) ( \(\sqrt{49} = 7\)이므로). - 공식을 적용하면: \[ \sqrt{51} \approx \frac{51 + 49}{2\sqrt{49}} = \frac{100}{2 \times 7} = \frac{100}{14} \approx 7.14 \] - 실제 \(\sqrt{51}\) 값은 약 7.1412. \(\sq..
2024.10.22 -
웹에서 클라이언트가 서버에 데이터를 요청하거나 보낼 때 GET 방식과 POST 방식
1. GET 방식데이터 전송 방식: GET 요청은 URL에 데이터를 붙여서 서버로 전송한다. 즉, 요청 데이터가 쿼리 문자열(URL의 키=값 형식)로 전달된다.데이터가 URL에 노출: URL에 쿼리 파라미터로 포함되므로 누구나 볼 수 있다. 보안이 필요한 정보(예: 비밀번호)는 절대 GET 방식으로 보내지 않는다.길이 제한: URL의 길이에 제한이 있기 때문에 전송할 수 있는 데이터의 양이 제한된다.캐싱: 브라우저나 프록시 서버가 GET 요청을 캐시할 수 있다. 즉, 동일한 GET 요청에 대해 서버의 응답을 재사용할 수 있다.주로 데이터 조회에 사용된다. 서버 상태를 변경하지 않고, 데이터를 가져오는 목적이다.사용 예시: 검색 엔진에서 검색어를 입력하거나 페이지를 탐색할 때 자주 사용된다.2. POST ..
2024.10.22 -
NumPy를 사용하여 1차원 배열을 2차원 배열로 변환하는 과정
reshape_arr = np.reshape(origin_arr, (5, 3))origin_arr이라는 1차원 배열을 (5, 3) 형태의 2차원 배열로 변환한다.np.reshape(): NumPy의 reshape 함수로, 기존 배열의 데이터를 기반으로 새로운 형태의 배열을 만든다.origin_arr의 요소 수는 5 * 3 = 15여야 하며, 그렇지 않으면 오류가 발생한다. reshape_arr = reshape_arr.reshape(-1, 1)reshape_arr을 (-1, 1) 형태로 다시 변환한다.-1의 의미: -1은 NumPy에게 자동으로 적절한 차원을 계산하도록 지시하는 역할을 한다. 이 경우, reshape_arr의 총 요소 수를 유지하면서 열의 수를 1로 설정한다.결과: origin_arr의..
2024.10.22 -
Express.js | Single Page Application (SPA)
Express.js는 Node.js를 위한 웹 애플리케이션 프레임워크로, 서버 사이드 애플리케이션을 빠르고 쉽게 개발할 수 있게 해주며 최소한의 기능을 제공하면서도 확장성이 뛰어나, 다양한 미들웨어와 함께 사용하여 유연한 웹 애플리케이션을 구축할 수 있다. 미들웨어를 통해 요청 및 응답 처리를 세분화하고, 라우팅 시스템을 사용하여 다양한 URL 요청을 쉽게 처리할 수 있다. 미들웨어는 요청(request)와 응답(response) 객체를 조작하여 다양한 작업을 처리할 수 있는 기능으로 로깅, 인증, 에러 처리 등 다양한 미들웨어를 추가하여 애플리케이션을 확장할 수 있다. 또 Express.js는 URL과 HTTP 메서드(GET, POST, PUT, DELETE 등)를 기반으로 다양한 라우팅을 지원하여..
2024.10.20 -
비선점형 SJF (Shortest Job First)
비선점형의 의미 비선점형이란 한 번 CPU를 할당받은 프로세스가 자신의 작업을 완료할 때까지 CPU를 계속 사용하는 방식이다. 즉, 다른 프로세스가 도착하더라도 현재 실행 중인 프로세스는 끝까지 실행되며, 실행 도중에 중단되지 않는다. def sjf(processes): processes.sort(key=lambda x: (x[1], x[0])) # 도착 시간 -> 실행 시간 순으로 정렬 time = 0 waiting_time = 0 completed = [] while processes: # 도착한 프로세스들 중에서 실행 시간이 가장 짧은 프로세스 선택 available_processes = [p for p in processes if p[0] 1..
2024.10.19