분류 전체보기 195

JPA 다중 DataSource 설정

스프링 부트를 이용하면 application.properties 또는 application.yml에 설정하여 db에 쉽게 연결 할 수 있다. 하지만 n개의 db에 접속하기 위해서는 application.properties, application.yml에 설정한 것에 따라 bean에 직접 등록해야한다. 글쓴이는 yml을 이용하여 2개의 mariadb에 연결하는것을 포스팅 하겠습니다. 1. application.yml 설정 spring: jpa: hibernate: ddl-auto: validate naming: physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl properties: hibernate: #..

[그리디 알고리즘, C++] 백준 1541 잃어버린 괄호

https://www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net 문제는 다음과 같다. 문제 세준이는 양수와 +, -, 그리고 괄호를 가지고 식을 만들었다. 그리고 나서 세준이는 괄호를 모두 지웠다. 그리고 나서 세준이는 괄호를 적절히 쳐서 이 식의 값을 최소로 만들려고 한다. 괄호를 적절히 쳐서 이 식의 값을 최소로 만드는 프로그램을 작성하시오. 입력 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과..

[그리디 알고리즘, C++] 백준 11399 ATM

https://www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net 문제는 다음과 같다. 인하은행에는 ATM이 1대밖에 없다. 지금 이 ATM앞에 N명의 사람들이 줄을 서있다. 사람은 1번부터 N번까지 번호가 매겨져 있으며, i번 사람이 돈을 인출하는데 걸리는 시간은 Pi분이다. 사람들이 줄을 서는 순서에 따라서, 돈을 인출하는데 필요한 시간의 합이 달라지게 된다. 예를 들어, 총 5명이 있고, P1 = 3, P2 = 1, P3 = 4, P4 = 3, P5 = 2 인 경우를 생각해보자. [1,..

[컴퓨터 구조] 5-3) 간접 사이클(indirect cycle)과 명령어 실행 사이클 예제

2021.10.03 - [컴퓨터 공학/0 + 컴퓨터 구조] - [컴퓨터 구조] 5-2) 명령어 종류와 실행 사이클 [컴퓨터 구조] 5-2) 명령어 종류와 실행 사이클 명령어 종류 IR에 보내진 명령어 코드를 제어 유닛에서 해독 한 후, 그 결과에 따라 필요한 연산들을 수행 이 과정에서 실행되는 마이크로 오퍼레이션들은 명령어의 종류에 따라 다른 과정으로 howisitgo1ng.tistory.com 명령어 실행 사이클(간접 사이클 indirect cycle) Addr 정보를 가지고 갔는데 주기억장치 데이터가 또 다른 addr정보를 갖고 있는 경우 인출 사이클의 마이크로 연산(micro-operation) 명령어에 포함되어 있는 주소정보를 이용하여, 실제 명령어 실행에 필요한 데이터를 인출하는 사이클 간접 주..

[컴퓨터 구조] 5-2) 명령어 종류와 실행 사이클

명령어 종류 IR에 보내진 명령어 코드를 제어 유닛에서 해독 한 후, 그 결과에 따라 필요한 연산들을 수행 이 과정에서 실행되는 마이크로 오퍼레이션들은 명령어의 종류에 따라 다른 과정으로 수행 데이터 전송명령 레지스터와 레지스터, 레지스터와 기억장치, 기억장치와 기억장치 간에 데이터를 이동시키는 명령 산술 연산명령 2의 보수 및 부동소수점 수에 관한 산술 연산명령 논리 연산명령 데이터의 각 비트들 간에 대한 논리 연산명령 입출력(I/O)명령 CPU와 외부I/O 장치들 간의 데이터를 이동시키는 명령 프로그램 제어명령 각 명령어의 실행 순서를 변경하는 분기(Branch), 서브루틴 호출(Subroutine Call)및 리턴 명령 명령어 실행 사이클(LOAD) 인출 사이클의 마이크로 연산(micro-opera..

[컴퓨터 구조] 5-1) 컴퓨터 처리 작업(Computer Processing)

컴퓨터 처리 작업(Computer Processing) 명령어 사이클 CPU가 하나의 명령어를 실행하는데 필요한 전체 처리과정 중단 될 때 까지 주기적으로 반복 인출 사이클 CPU가 주기어장치로부터 지정된 명령어를 읽어오는 단계 명령어 실행 명령어 레지스터에 적재된 명령어를 해독 후, 실행하는 단계 명령어 인출(instruction fetch) 주기억장치로 부터 지정된 주소에 있는 명령어를 IR로 가져옴 명령어 해독(instruction decode) 실행해야 할 동작을 결정하기 위해 인출된 명령어를 해독 데이터 인출(data fetch) 데이터가 필요한 경우 주기억장치 또는 입출력장치로 부터 데이터를 가져옴 데이터 처리(data process) 산술 및 논리적 연산 수행 데이터 저장(data store..

[컴퓨터 네트워킹] 4-3) TCP Congestion control

TCP Congestion control Too many sources sending too much data too fast for network to handle. -> 네트워크를 공유하고 있는 노드들이 서로 양보해야함… End to end Network-assisted AMID approach Additive increase: 천천히 증가 Multiplicative decrease: 반으로 감소 Congestion window(cwnd) 송신측이 ack 없이 한번에 데이터를 보내는 크기(congestion contro을 위해 계속 변함) TCP Receive window(rwin) 수신측이 ack없이 한 번에 data를 받을 수 있는 크기 상대방에게 자신이 처리 가능한 buffer 크기 만큼을 wi..

[컴퓨터 네트워킹] 4-2) TCP Retransmit(TCP 재전송)

TCP fast retransmit 송신자가 3개의 중복된 ACK를 받는다면 가장 작은 seq num의 segment를 전송한다. TCP 재전송 발생 조건 Timeout events Duplicate acks TCP Timeout value 설정 방법 RTT보다 길어야한다. SampleRTT ACK응답 까지 걸린 시간 EstimatedRTT SampleRTT의 평균 값 EstimatedRTT = (1-a) x EstimatedRTT(이전값)+ a x SampleRTT(현재값) Timeout Interval = EstimatedRTT + “Safety margin” 3 way handshake RST Flags: RST역할 e.g) Client가 Server에게 80port연결 할래! Server가 Cli..

[컴퓨터 네트워킹] 4-1) TCP(Transmission Control Protocol)

Keyword - 연결지향(connection-oriented): 송/수신기 사이의 물리적인 연결이 아닌 논리적인 연결을 의미하는 개념 - 핸드셰이크(handshake): 통신 관련 분야에서 둘 이상의 장치가 연결/단절을 위해 선행하는 약속된 협상 과정 - 최대 세그먼트 크기(Maximum Segment Size, MSS): TCP가 세그먼트 한 개로 보낼 수 있는 최대 데이터 크기 - 전이중 통신(full-duplex): 송신과 수신이 동시에 가능한 통신 방식(참조: https://ko.wikipedia.org/wiki/이중통신) - 혼잡 윈도우(congestion window): 송신측에서 ACK 수신 없이 연속적으로 전송할 수 있는 최대 데이터 양 - AIMD (Additive Increase an..

[컴퓨터 구조] 4-4) 명령어 주소지정 방식(Addressing Mode)

명령어 주소지정방식을 알아보기 전에 명령어에 대해서 소개 한다.. 명령어의 종류 명령어 주소지정방식 즉치(immediate addressing mode) 묵시적(implied addressing mode) 직접(direct addressing mode) 간접(indirect addressing mode) 레지스터(Register addressing mode) 레지스터 간접(Register indirect addressing mode) 변위(displacement addressing mode) 즉치(immediate addressing mode) 묵시적(implied addressing mode) 직접(direct addressing mode) 간접(indirect addressing mode) 레지스터(..