목록zerebase (46)
Hyunebee
그래프 상의 모든 노드들을 최소 비용으로 연결하는 방법 크루스칼, 프림 2가지가 존재 크루스칼 간선 중 최소 값을 가진 간선부터 연결 사이클 발생 시 다른 간선 선택 주로 간선 수가 적으면 사용 O(ElogE) 프림 임의의 노드에서 시작 연결된 노드의 간선 중 낮은 가중치를 갖는 간선을 선택 간선의 개수가 많을 때 크루스칼 보다 유리하다. O(ElogV)
큰 문제를 부분 문제로 나눈 후 답을 찾아가는 과정 계산된 결과를 기록하고 재활용하며 문제의 답을 구하는 방식 분할정복 vs DP 분할 정복은 부분 문제가 중복되지 않아서 DP와 다름 DP는 부분문제가 중복되어 재활용한다. 그리디 vs DP 그리디 알고리즘은 순간의 최선을 구하지만 DP는 모든 경우에 수에서 최적해를 구함 DP의 방법 상향식 접근 (타뷸레이션) 작은 하위 문제부터 풀면서 올라감 모두 계산하면서 차례대로 진행 하양식 접근 (메모이제이션) 큰문제에서 하위문제를 확인해가며 진행 계싼이 필요한 순간 계산하며 진행
데이터 베이스와 연결 Java app과 database 연결 필요요소 1. ip주소(도메인) 2. port 번호 3. 계정 4. 계정 비밀번호 5. 인스턴스 연결 순서 1. 드라이버 로드 (JDBC Connetion jar파일 형태로 제공) 보통 사용하는 database에서 배포하고 있다. 다운받아서 라이브러리에 등록 Class.for()을 사용하여 로드한다. Class.forName("org.mariadb.jdbc.Driver") 2.Database Connection을 생성 String url = jdbc:mariadb://접속할 ip주소:포트번호/접근할 DB인스턴스 Connction connection = DriverManager.getConnction(url,계정 이름,계정 비밀번호) 3.SQL을..
4월달에 이어서 5월달까지 수업을 착실히 받고있는중입니다. 코딩테스트에 따라 탈락하는 분들도 있었지만 점점 지날 수 록 실력이 상승하는게 눈으로 보여서 열심히 하고 있습니다. 지금은 5월에서 6월로 곧 넘어가면서 2개월차가 넘어가기 시작했고 자바 기초를 넘어서 데이터 베이스 CS지식 까지 전반적인 기초는 대부분 학습하고 있습니다. 자바 기초가 끝나고.. 저는 학부때 거의 자바만 공부했고 프로그래밍은 이론 따로 실습 따로 공부를 하는 편이였습니다. 확실히 6개월 코스라 그런지 이론 부분또한 적지 않게 채워주셔서 흥미롭게 듣고있습니다. 문법은 짜여진 틀에서 사용하는것이 대부분 이지만 돌아가는 원리를 아는것은 조금 다른 영역이라 생각하기 때문에 이론공부도 꼭 따라와야한다고 생각합니다. 이론을 공부 하다보면 내..
TCP 프로세스 대 프로세스 프로토콜로 종단간의 흐름제어 및 오류 제어등의 기능을 통해 데이터 전송의 신뢰성을 제공한다. 여기서 데이터 링크 계층의 오류제어 기능과 다른 점은 데이터 링크 계층은 이웃 노드 간이지만 TCP는 송신부 부터 수신 부까지 이기 떄문 신뢰성 있는 전송을 위해 사용자 데이터 세그먼트와 함께 이에 대한 확인 응답인 ACK를 이용 세그먼트 : TCP 프로토콜 사이에 전송단위 위에서 말한것과 같이 신뢰성 있는 스트림 전송서비스를 제공하는게 TCP의 목적이다. 이것을 구현하기위해 p-ACK 재전송 기법을 사용하고 있다. ACK를 받지 못하거나 타임아웃이 되면 재전송을 하는 방식으로 구현 하고 있다. TCP전송의 특징 1. 스트림 지향성 TCP는 데이터 전송에 있어서 옥텟(octets) 또..
IP(Internet Protocol) 네트워크 계층에 해당하는 프로토콜 비신뢰성 비연결형 데이터그램 프로토콜로 오류제어 기능 수행 좋은 서비스를 제공 IPv4 패킷 : 데이터 그램(헤더 + 데이터) 헤더의 크기는 20~60으로 가변적이다. VER : IPv4, IPv6 버전을 나타내기 위한 비트 HLEN : 헤더 길이 DS(Diffentiated Service) 또는 서비스 유형 : 데이터의 전송 목적에 따라 서로 다른 우선권을 설정하기 위한 영역이다. 전체길이 : IP 데이터 그램의 총길이를 뜻한다. 데이터 그램 식별자 : 패킷 분할시 원본 데이터 그램으로부터 분할된건지 확인가능 플래그 : 분할된 패킷인지 아닌지 확인 패킷 분할 offset : 분할된 패킷의 일부분을 나타냄 존재시간 영역(TTL) :..
네트워크 계층과 라우팅 네트워크 계층은 전송 측에서 목적지까지 데이터 패킷이 거쳐가는 최적의 경로를 선택하여 배정하는 기능(라우팅)을 한다. -> 이 기능을 수행하는 장치로 라우터가 있다. 라우터는 패킷을 받아 라우팅 테이블을 거친다. 라우팅 테이블 라우팅 테이블 구성 1. 네트워크 주소 2. 메트릭(목적지 까지 소요비용) 3. 다음 라우터 혹은 다음 게이트웨이 4. 인터페이스 패킷의 Destination 주소를 Netmask 을 적용하여 Network Destination 을 결정한후 적당한 Interface 로 보낸다. 네트워크 대상(네트워크 목적지) 네트워크 목적지 주소에 네트워크 마스크를 AND 연산한다. 어떤 곳으로 갈지 넷마스크가 결정하게됨 현재 보면 0.0.0.0은 디폴트 라우팅 테이블로 직..
OSI(Open System Interconnection) 7계층 : 개방형 시스템의 7 계층을 나타낸다. 이들의 목적은 다양한 표준화와 관련된 기본 골격을 제공하는 것이다. -> 향후 기술 진보에 따른 프로토콜의 확장 등을 고려 보편적인 개념과 용어를 사용 개방형 시스템간의 상호 데이터 통신, 데이터 저장, 자원관리, 데이터 보안 같은 동작에 대해 규정 OSI 계층 간의 데이터 교환 SDU : 서비스 데이터 단위 PDU: 프로토콜 데이터 단위 이들은 동일한 개체 또는 인접 계층의 개체 간에 데이터를 교환하기 위한 단위이다. 보통 제어정보 PCI와 SDU를 결합되어 N-1계층의 SDU가 된다. 송신측은 데이터를 캡슐화를 해서 보냄고 수신측은 받은 데이터를 역캡슐화해서 사용한다. OSI 7계층의 구성 1...