CS 지식

CS 지식

[데이터베이스] JOIN(조인)

JOIN이란? 두개이상의 테이블이나 데이터베이스를 연결하여 데이터를 검색하는 방법 논리적 조인과 물리적 조인으로 나뉜다. 논리적 조인 1. INNER JOIN - 기준테이블과 Join한 테이블의 중복된 값을 보여줌 - 교집합 2. LEFT OUTER JOIN - JOIN 문 기준 왼쪽 테이블(A)의 전체 데이터와, A테이블과 B테이블의 중복 데이터를 보여줌 3.RIGHT OUTER JOIN - JOIN문 기준 오른쪽 테이블(B)의 전체 데이터와, A테이블과 B테이블의 중복 데이터를 보여줌 4.FULL OUTER JOIN - A테이블과 B테이블 데이터 모두를 보여줌( 사실상 모든 데이터 출력) - 합집합 5. CROSS JOIN - 모든 경우의 수를 표현해줌 - 기준 테이블이 A일 경우, A 데이터의 RO..

CS 지식

[JAVA] Call By Value, Call By Reference

Call By Value 함수가 호출될 때, 메모리 공간 안에서는 함수를 위한 별도의 임시 공간이 생성된다. (c++의 경우 stack frame) 함수가 종료되면 해당 공간은 사라진다. 스택 프레임(Stack Frame) : 함수 호출시 할당되는 메모리 블록(지역변수의 선언으로 인해 할당되는 메모리 블록) call-by-value 값에 의한 호출방식은 함수 호출시 전달되는 변수의 값을 복사하여 함수의 인자로 전달한다. 복사된 인자는 함수 안에서 지역적으로 사용되는 local value의 특성을 가진다. 따라서 함수 안에서 인자의 값이 변경되어도, 외부의 변수의 값은 변경되지 않는다. Java의 경우 함수에 전달되는 인자의 데이터 타입에 따라서 (원시자료형 / 참조자료형) 함수 호출 방식이 달라진다. 원..

CS 지식

[데이터베이스] 식별관계와 비식별관계

기본키 : 테이블의 하나의 행의 여러 정보들 중 이를 식별해 낼 수 있는 정보 외래키 : 테이블간의 관계(참조하는 테이블과 참조되는 테이블 간의 관계) 식별 관계 부모 테이블의 기본키 또는 유니크 키를 자식 테이블이 자신의 기본키로 사용하는 관계 부모 테이블의 키가 자신의 기본키에 포함되기 때문에 반드시 부모 테이블에 데이터가 존재해야 자식 테이블에 데이터를 입력할 수 있다. 즉, 부모 데이터가 없다면 자식 데이터는 생길 수 없다. 식별관계는 ERD상에서 실선으로 표시한다 바퀴는 자동차 테이블에 데이터가 존재해야 생성할 수 있다. 즉, 부모 테이블에 자식 테이블이 종속된다. 상품테이블과 주문테이블의 기본키인 상품번호와 주문번호가 주문상품 테이블의 외래키가 되었다. 그리고 이 두 외래키는 주문상품테이블의 ..

CS 지식

우분투 WslRegisterDistribution failed with error

CS 지식은 아니지만 오류가 해결되어 적어봄 우분투를 설치하려고 하니 저렇게 떴다. (우분투 버전은 20.04) 분명 가상머신플랫폼과 Linux용 Windows 하위 시스템도 켰지만 문제가 발생했다 검색해보니 wsl2와 우분투의 호환 문제 때문에 발생한다는 것 같다. 따라서, 다음을 cmd 창에 쳐서 해결하였다. wsl --set-default-version 1 참고 https://parkjh7764.tistory.com/122

CS 지식

IP 주소

ARP: Address Resolution Protocol - IP 주소를 MAC 주소로 바꿔주는 프로토콜 - 컴퓨터 간 통신은 IP 주소에서 ARP를 통해 MAC 주소를 찾아 MAC 주소를 기반으로 통신 - A가 ARP request 브로드캐스트를 보내서 해당 ip 주소에 해당하는 mac 주소를 찾는다. 해당 주소에 맞는 장치 b가 arp reply 유니캐스트를 통해 mac 주소를 변환하는 과정을 거쳐서 mac 주소를 찾게 됨 IP: 가상 주소 MAC: 실제 주소. 디바이스마다 할당된 물리 주소 RARP(Reverse Address Resolution Protocol): MAC -> IP 유니캐스트(Unicast) : 1대1 통신, 출발지와 목적지가 1대1 통신 브로드캐스트(Broadcast) : 1대..

CS 지식

HTTP와 HTTPS

HTTP - 인터넷 상에서 클라이언트와 서버가 자원을 주고 받을 때 쓰는 통신 규약 - 클라이언트와 서버를 분리함으로써 각가의 역할에 집중할 수 있다. - 무상태성(stateless) 무상태(Stateless) : 클라이언트와 서버 사이에 상태를 유지하지 않는다. => 서버는 클라이언트의 상태를 보존하지 않는다. 장점: 서버 확장성 높음(스케일 아웃) 단점: 클라이언트가 추가 데이터 전송 (메모리 ↑) - 비연결성(connectionless) 서버와 클라이언트의 Connection 연결을 지속하지 않는다. 클라이언트가 서버에 요청을 하고 응답을 받으면 바로 TCP/IP 연결을 끊어 연결을 유지하지 않음 이러한 비연결성 특성 때문에 서버 자원을 매우 효율적으로 사용할 수 있다. 무상태성 vs 비연결성 무상..

CS 지식

TCP와 UDP

TCP와 UDP는 전송계층 프로토콜이다. 데이터의 전달을 담당하며 전달되는 패킷의 오류를 검사하고 재전송 요구 등의 제어를 담당한다. 프로토콜 종류 TCP UDP 연결방식 연결형 비연결형 패킷 교환 방식 가상 회선 방식 데이터그램 방식 전송 순서 전송 순서 보장 전송 순서 바뀔 수 있음 수신 여부 수신 여부 확인 수신 여부 확인 안함 통신 방식 1:1 1:1 or 1:N or N:N 신뢰성 높다 낮다 속도 느리다 빠르다 UDP - 비연결형 서비스 (연결을 위해 할당되는 논리적인 경로가 없고, 각각의 패킷은 다른 경로로 전송되며, 독립적인 관계를 지닌다.) - 데이터그램 패킷 교환 방식 사용 - 3 way handshaking을 지원하지 않기 때문에 신뢰성이 떨어진다. (UDP도 신뢰성을 애플리케이션 저체..

CS 지식

네트워크

네트워크란? - 노드(node)와 링크(link)가 서로 연결되어 있으며 리소스를 공유하는 집합 - 노드 : 서버,라우터,스위치 등 네트워크 장치 - 링크 : 유무선 형태의 연결 수단 - 좋은 네트워크란 => 많은 처리량을 처리할 수 있다 / 지연 시간이 짧다 / 장애 빈도가 적다 / 좋은 보안을 갖춘 네트워크 처리량과 지연 시간 트래픽 - 특정 시점에 링크 내에서 '흐르는' 데이터의 양 - 인터넷 상에서 서버에 흐르는 데이터 양 처리량(throughput) - 링크 내에서 성공적으로 전달된 데이터의 양. 얼만큼의 트래픽을 처리했는지를 의미 - 단위 : bps(bit per second) - 사용자들이 많이 접속할 때마다 커지는 트래픽, 네트워크 장치 간의 대역폭, 네트워크 중간에 발생하는 에러, 장치의..

CS 지식

Static Method는 오버라이딩 하지 못하는 이유

Compile Time vs. RunTime 컴파일 타임 - 개발자가 작성한 소소코드를 기계어 코드로 바꾸는 과정 - JAVA : byte 코드로 바꾸는 과정 (JVM이 이 byte 코드를 이해한다) 런타임 - 컴파일 과정을 마친 프로그램이 실행되고 있는 시간 Static binding vs. Dynamic binidng 정적 바인딩 - 컴파일 타임에 호출될 함수 결정 - 컴파일러가 어떤 메소드를 실행할지 컴파일 타임에 결정 동적 바인딩 - 런타임 때 호출될 함수 결정 Static 메서드는 왜 오버라이딩이 왜 불가할까 JVM이 메서드를 호출할 때, instance method 의 경우 런타임 시 해당 메서드를 구현하고 있는 실제 객체를 찾아 호출한다.(다형성) 하지만 컴파일러와 JVM 모두 static ..

CS 지식

프로그래밍 패러다임

프로그래밍 패러다임 프로그래머에게 프로그래밍의 관점을 갖게 해주는 역할을 하는 개발 방법론 함수형 프로그래밍 프로그램은 함수로 이루어진 것. 선언형 패러다임의 일종 순수 함수들을 블록처럼 쌓아 로직을 구현하고 고차함수를 통해 재사용성을 높인 프로그래밍 패러다임 순수 함수(Pure Function) 함수형 프로그래밍에서 사용하는 함수는 이러한 순수 함수들이다. Memory or I/O의 관점에서 Side Effect가 없는 함수 함수의 실행이 외부에 영향을 끼치지 않는 함수 출력이 입력에만 의존 고차함수 함수가 함수를 값처럼 매개변수로 받아 로직을 생성. 고차함수를 쓰기 위해서 해당 언어가 일급 객체라는 특징을 가져야 함 1급 객체(First-Class Object) 그리고 1급 객체란 다음과 같은 것들이..

ankisile
'CS 지식' 카테고리의 글 목록