SY 개발일지
article thumbnail
[DB] 기본키, 후보키, 슈퍼키, 대체키, 외래키
CS 정리/개발 상식 2024. 5. 27. 17:10

키(Key)데이터베이스 테이블에서의 데이터는 서로 상이합니다. 즉, 해당 테이블을 구성하고 있는 애트리뷰트 전부를 이용하면 모든 데이터들을 항상 유일하게 식별할 수 있습니다. 그러나 실제로는 애트리뷰트 전부를 이용할 필요 없이 하나 또는 몇 개의 애트리뷰트만 지정하여 그 값을 이용해도 해당 테이블에 있는 있는 모든 데이터들을 유일하게 식별할 수 있는 경우가 많습니다. 이렇게 데이터들을 유일하게 식별할 수 있는 애트리뷰트 집합을 그 테이블의 키(Key)라고 합니다. 특징1️⃣ 유일성: 유일한 값을 가져야 합니다.2️⃣ 최소성: 최소한의 값으로 식별할 수 있어야 합니다.3️⃣ 불변성: 변하는 값이어선 안됩니다.4️⃣ 존재성: 반드시 존재해야 합니다. 누구한텐 있고 누구한테는 없어선 안됩니다.후보키(Candi..

article thumbnail
[CS] DNS가 무엇인가요 ?
CS 정리/개발 상식 2024. 5. 24. 22:35

DNS란 ?DNS에 대해서 알기 위해 먼저 전화번호부를 생각해봅시다.누군가의 전화번호를 저장하기 위해 해당 번호를 저장했다고 생각해봅시다.전화번호만 알고 있다면 이 전화번호가 누구 껀지, 그리고 해당 번호를 항상 외우고 있어야 합니다.하지만 이 번호가 무수하다면 ?이를 다 외우고 있기엔 사실상 불가능할 것입니다. 그래서, 우리는 이름을 매핑해줍니다.그러면, 우리는 해당 이름만을 가지고 그 사람의 전화번호를 얻을 수 있습니다.도메인 이름 시스템(Domain Name System, DNS)란, 사람이 읽을 수 있는 도메인 이름(예: www.naver.com)을 머신이 읽을 수 있는 IP 주소(예: 192.0.2.44)로 변환해주는 서비스를 말합니다.DNS은 전세계적으로 약속된 규칙을 공유하는데, 상위 기관에..

article thumbnail
[CS] 주소창에 www.naver.com을 검색하면 일어나는 일
CS 정리/개발 상식 2024. 5. 21. 21:10

CS 공부를 하며 항상 나오는 문제는주소창에 www.naver.com을 입력하면 무슨 일이 일어나나요 ? 였습니다.그래서 이번 포스팅에서는 해당 질문에 대해 윈도우 운영체제 기준으로 자세히 답해보도록 하겠습니다. 웹 브라우저에 www.naver.com 을 입력하면 일어나는 일 IP 주소 가져오기우리는 보통 웹 브라우저에서 검색을 하면 주소창에 URL(보통 도메인 이름)의 형태로 작성을 합니다.URI? URL?URI는 Uniform Resource Idenfier의 약자로, 통합 자원 식별자라고도 합니다.✅ Uniform은 리소스를 식별하는 통일된 방식을 말합니다.✅ Resource는 URI로 식별 가능한 모든 종류의 자원(웹 브라우저 파일 및 그 외의 리소스 포함)을 지칭합니다✅ Identifier는 다..

article thumbnail
[CS] GSLB란?
CS 정리/개발 상식 2024. 5. 21. 17:52

네이버나 구글 정도의 사이트들은 단순히 DNS를 이용해서만 IP 주소를 제공하지 않고, GSLB를 통해 IP 를 사용자에게 제공합니다. 그렇다면 GSLB는 무엇일까요 ? GSLB의 개념Global Server Load Balancing의 약자로 로드 밸런스의 발전된 형태로 생각할수도 있지만, 이름과는 달리 DNS 서버의 발전된 형태입니다. 지능적 DNS 서비스라고도 불립니다. DNS 서비스는 도메인 이름을 IP주소로 변환하는 일을 해줍니다. 하나의 도메인 주소에 대해서 여러 개의 IP 주소를 넘겨줄 수도 있는데, 이 기능을 이용해 가용성 구성과 로드 밸런싱 기능을 수행할 수 있습니다. 하지만 DNS 서비스의 목적은 이러한 목적이 아니라 한계가 분명히 존재합니다.예를 들어 클라이언트가 표준 DNS 에 질의..

article thumbnail
[CS] IP 주소의 개념과 기능
CS 정리/개발 상식 2024. 5. 20. 19:03

컴퓨터를 하는 사람이라면 IP 주소에 대해서 한 번쯤은 들어봤을 겁니다. 또한, 통신을 할 때에 우리는 IP 주소와 포트번호를 이용해 데이터를 주고 받습니다.그렇다면 그 IP 주소는 무엇이며, 어떤 기능을 하고 있을까요 ? IP 주소란 ?인터넷 프로토콜 주소 또는 IP(인터넷 프로토콜, Internet Protocol) 주소는 고유한 식별자 역할을 하는 숫자 문자열입니다. 인터넷의 모든 디바이스에는 고유한 IP 주소가 할당됩니다. 수신자에게 편지를 전달하는 데 사용되는 실제 주소와 우편번호와 같이, IP 주소는 IP 패킷을 올바른 위치로 라우팅합니다. ISP(인터넷 서비스 사업자)는 디바이스에 IP 주소를 할당합니다. 신뢰할 수 있는 인터넷을 보장하려면 이 시스템이 올바르게 작동해야 합니다. 현재 인터넷..

article thumbnail
[CS] 소켓 통신이란 ?
CS 정리/개발 상식 2024. 5. 18. 02:07

프로젝트를 진행하면서 채팅 등 실시간 기능을 이용해보신 분이라면 웹소켓에 대해서 들어보신 적이 있으실 겁니다.이번 포스팅에서는 저번 포스팅에 이어 소켓이 어떻게 통신하는지에 대해 정리해보겠습니다 웹소켓에 대한 설명은 다음 포스팅을 참고해주세요🥰https://soyeonnnb.tistory.com/74 [CS] WebSocket이란 ?프로젝트를 진행하며 채팅 기능이 필요할 시 웹소켓을 통해 연결하는 경우가 많습니다. 따라서 웹소켓의 개념에 대해 한번 정리해보고자 합니다.웹소켓이란웹소켓은 두 프로그램 간의 메세지soyeonnnb.tistory.com파일이란?소켓에 대해 알기 위해서는 파일에 대해 먼저 알아야 합니다.파일이란 무엇일까요 ?? 아마 파일에 대해서는 다들 알고있지만, 정확하게 무엇이다 ! 라고 ..

article thumbnail
[디자인 패턴] MVC, MVP, MVVM 디자인 패턴 비교
CS 정리/개발 상식 2024. 5. 14. 21:04

Spring 에 대해 학습하며, Spring 은 MVC 디자인 패턴을 따른다고 배웠습니다.MVC 패턴에 대해 검색하면 항상 함께 나오는 패턴이 MVP, MVVM 패턴인데, 이에 대해 한번 정리해보고자 합니다.디자인 패턴이란?디자인 패턴은 건축으로치자면 공법에 해당하는 것으로, 프로그램 개발에서 자주 나타나는 과제를 해결하기 위한 방법입니다. 소수의 뛰어난 엔지니어가 해결한 문제를 다수의 엔지니어들이 처리할 수 있도록 한 규칙이면서, 구현자들 간의 커뮤니케이션의 효율성을 높이는 기법입니다. MVC패턴MVC란 Model-View-Controller의 약자로, 애플리케이션을 세가지 역할로 구분한 개발 방법론입니다. MVC 패턴은 비지니스 로직과 화면을 분리합니다. 이러한 관심사 분리는 업무를 분담하여 유지보수..

article thumbnail
운영 체제 서비스 Operating-System Services
CS 정리/개발 상식 2023. 5. 11. 23:04

Operating-System Services 운영 체제는 프로그램과 사용자에게 프로그램과 서비스를 실행하기 위한 환경을 제공한다. 한 세트의 운영체제 서비스는 사용자에게 유용한 기능을 제공한다. 1. 사용자 인터페이스 User Interface(UI) 거의 모든 운영체제 서비스는 사용자 인터페이스를 가지고 있다. 이러한 것들은 Command-Line(CLI), Graphics User Interface(GUI), touch-screen, Batch등과 상이하다. 2. 프로그램 실행 Program execution 시스템은 정상적으로나 비정상적으로나(오류를 표시하면서) 반드시 메모리에 프로그램을 적재하고, 프로그램을 실행하고 종료할 수 있어야 한다. 3. 입출력 I/O operations 실행중인 프로그..

article thumbnail
운영체제란 ?
CS 정리/개발 상식 2023. 5. 11. 23:04

정의 컴퓨터 사용자와 컴퓨터 하드웨어 사이에서 중개자 역할을 하는 프로그램 운영체제의 목표 사용자 프로그램을 실행하고 사용자 문제를 쉽게 해결한다. 컴퓨터 시스템을 사용하기 편리하게 만든다. UI 를 생각하면, command line으로 사용하는 것보다 UI를 사용하는 것이 더 편리하다. 컴퓨터 하드웨어를 효율적으로 사용한다. 역할 자원 관리 컴퓨터 시스템 자원 효율적 관리 자원 보호 프로그램이나 다른 사용자가 데이터를 삭제하거나 중요 파일에 접근하지 못하게 컴퓨터 자원들을 보호한다. 인터페이스 제공 하드웨어 인터페이스와 사용자 인터페이스를 제공하여 편리하게 사용하도록 지원한다. 목적 운영체제의 목적에는 처리능력 향상, 반환시간 단축, 사용 가능도 향상, 신뢰도 향상 등이 있다. 이러한 지표들은 운영체제..