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
[백준 30464] 시간 낭비 - Java 문제풀이
Java/문제풀이 2024. 5. 23. 14:36

문제 링크: https://www.acmicpc.net/problem/30464  문제건덕이는 학교에 가기 너무 싫은 나머지 최대한 늦게 학교에 도착하려고 한다. 등굣길은 N개의 칸이 가로로 놓인 형태이며, 각 칸은 가장 왼쪽 칸부터 오른쪽으로 1부터 N까지 번호가 매겨진다. 건덕이는 1번 칸에, 학교는 N번 칸에 존재한다.건덕이는 처음에 학교를 바라보는 방향으로 서 있다. 등교하는 방법은 특이한데, 1분마다 현재 자신이 서 있는 칸에 쓰인 수만큼 바라보는 방향으로 이동한다. 이때, 등굣길을 벗어나도록 이동할 수 없다.건덕이는 바라보는 방향을 최대 두 번 반전할 수 있다. 학교가 있는 칸에 처음으로 도착하는 시간을 최대한 늦추면 출발 몇 분 뒤에 도착할까? 건덕이가 방향을 반전하는 데 드는 시간은 무시한..

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
[백준 31804] Chance! - Java 문제풀이
Java/문제풀이 2024. 5. 21. 14:56

문제 링크: https://www.acmicpc.net/problem/31804  문제자료구조 시험에서 우찬이는 a점을 받았고, 상훈이는 우찬이보다 높은 b점을 받았다. 우찬이는 상훈이보다 점수가 낮아서 화가 났지만, 공부를 하나도 하지 않아서 상훈이보다 시험을 잘 볼 수는 없다는 것을 알고 있었다. 하지만 우찬이는 최소한 동점을 받고 싶었기 때문에, 자신의 수를 바꾸는 마법을 배워서 다음 3가지 마법을 사용할 수 있게 되었다.물 주기: 수에 물을 주면 수가 1 커진다.밥 주기: 수에 밥을 주면 수가 2배가 된다.chance!: 수에 chance!를 외치면 수가 10배가 된다.하지만 chance!를 외치면 목이 너무 아프기 때문에 우찬이는 chance! 마법을 최대 한 번만 사용할 수 있다. 그리고 마법..

article thumbnail
[백준 1038] 감소하는 수 - Java 문제풀이
Java/문제풀이 2024. 5. 20. 22:27

문제 링크: xxx 문제음이 아닌 정수 X의 자릿수가 가장 큰 자릿수부터 작은 자릿수까지 감소한다면, 그 수를 감소하는 수라고 한다. 예를 들어, 321과 950은 감소하는 수지만, 322와 958은 아니다. N번째 감소하는 수를 출력하는 프로그램을 작성하시오. 0은 0번째 감소하는 수이고, 1은 1번째 감소하는 수이다. 만약 N번째 감소하는 수가 없다면 -1을 출력한다. 입력첫째 줄에 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수 또는 0이다. 출력첫째 줄에 N번째 감소하는 수를 출력한다.풀이접근법완전탐색으로 접근하면 시간초과가 난다.숫자가 계속 감소하는, 순열이기 때문에 최대 9876543210이라는 숫자가 만들어진다. == 배열로 접근한다면 최대 10개의 숫자가 나오게 된다.배열의 ..

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

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

article thumbnail
[AWS/S3] Spring에서 S3에 데이터 저장하기
프로젝트 2024. 5. 19. 00:02

프로젝트를 진행하면 이미지를 서버에 저장해야 하는 경우가 많은데, 이럴 때 많은 사람들이 AWS의 S3를 이용하여 데이터를 저장하고, 이 링크를 DB에 저장하여 사용하는 경우가 많습니다.왜냐하면 프로젝트 서버 내에 직접 파일을 적재하면 용량이 많이 필요하기 때문입니다.  그래서 이번 포스팅에서는 AWS S3 버킷을 생성한 후, Spring을 이용해 데이터를 저장해보도록 하겠습니다. s3 버킷 생성1. AWS > S3 > 버킷 > 버킷 만들기 클릭또는 다음 주소에 접속합니다.https://ap-northeast-2.console.aws.amazon.com/s3/bucket/create?region=ap-northeast-2 2. 버킷 생성버킷을 생성하기 위해 이름을 입력합니다. 액세스 차단 설정의 경우에는..