전체 글
-
03.15 수업학교 수업 정리/컴퓨터구조 2023. 3. 18. 02:57
교수님의 아이패드 줌 접속 이수로 인해 수업을 30분 늦게 시작해한 게 별로 없음. 문제해결 중 교수님 목소리가 하울링처럼 울려서 옆에 친구랑 10분 정도 웃은 것 같다. 컴퓨터의 state는 cpu와 메모리이다. 정확히는 cpu안의 레지스터임. 이 말이 처음에는 이해가 안 갔는데 컴퓨터란 결국 0과 1로 무엇인가를 표현하는 기계이고 명령어의 실행은 특정 메모리의 상태(0인지 1인지)를 바꾸는 것이기에 이렇게 말할 수 있다. 명령어는 기계의 state를 바꾸는 역할을 한다. SPEC을 구할 때는 일반적인 프로그램의 정수연산과 서버와 데이터베이스의 실수연산으로 각각 평가한다. 기준이 되는 프로세서를 하나 정한 뒤에 그것보다 실행속도가 얼마나 빠른지 여러 프로그램별로 측정한다. 이때 프로그램은 현재 가장 많..
-
이진 탐색(Binary Search)에 대해 알아보자알고리즘 2023. 3. 17. 04:33
이진탐색은 이전에 다룬 탐색방법과는 다르게 이미 정렬되어 있는 숫자에서 특정 숫자를 빨리 찾는 것이 목표인 알고리즘이다. 대상 데이터 전체의 중간값과 찾고자 하는 값을 비교해 찾고자 하는 값이 크면 중간값 오른쪽으로 범위를 좁히고 작으면 왼쪽으로 범위를 좁히는 것을 반복하며 원하는 값이 중간값으로 나올 때까지 반복하는 것이다. 시간복잡도는 O(logN)이며 구현이 매우 간단한 편이다. 구현은 투포인터와 유사하게 하면 된다. 시작포인터와 끝포인터를 처음에는 배열 전체의 시작과 끝으로 하고 중간값과 찾고자 하는 값을 비교해 중간값이 크면 끝포인터를 중간값-1로 바꾸어 중간값 왼쪽 데이터를 선택하고 중간값이 작으면 시작포인터를 중간값+1 해서 오른쪽 데이터를 선택하면 된다. 이것을 while문으로 반복하고 시..
-
03.15 수업학교 수업 정리/데이터베이스 2023. 3. 16. 00:54
정보를 저장하는 방법은 파일기반(File-based)과 데이터베이스기반(Database-based) 두 가지 방법이 있다. 파일기반은 기존의 프로그램(C, JAVA)등의 프로그램을 이용해 데이터를 관리하는 방법이다. 데이터 구조를 프로그램 안에서 정의한다. 프로그램과 데이터가 종속되며 데이터구조가 바뀌면 모든 프로그램을 업데이트해줘야 한다. 데이터베이스기반은 프로그램과 데이터가 분리되어 있고 데이터가 저장될 때 메타데이터(스키마)와 같이 저장된다는 특성이 있다. 두 가지 방법을 선택할 때는 여러 가지를 고려해서 선택하여야 함. 공통된 데이터가 많다고 하면 중복문제(Redundancy)가 발생해 공간이 낭비되고 데이터의 일관성이 보장되지 않을 수도 있다.(두 개의 부서에서 각각 정보를 가지고 있다가 하나의..
-
03.13 수업학교 수업 정리/컴퓨터 네트워크 2023. 3. 15. 20:48
https://aws.amazon.com/ko/what-is/?faq-hub-cards.sort-by=item.additionalFields.sortDate&faq-hub-cards.sort-order=desc&awsf.tech-category=tech-category%23networking-content-dev 클라우드 컴퓨팅 개념 허브 | AWS 다중 인증(MFA)은 사용자에게 암호 이외의 추가 정보를 입력하도록 요구하는 다중 단계 계정 로그인 과정입니다. 예를 들어, 사용자에게 암호와 더불어 이메일로 전송된 코드 입력, 보안 암호 질 aws.amazon.com 관련 단어 정의가 잘 나와있는 아마존 홈페이지. 인터넷이란 ip가 동작하는 네트워크이다. web1.0 은 정적 페이지로 읽기만 가능했다. 2..
-
03.13 수업학교 수업 정리/컴퓨터구조 2023. 3. 15. 02:28
반도체의 선폭을 얼마나 얇게 하느냐가 공정 기술의 척도이다. 선폭의 가장 작은 단위가 람다이고 이것을 minnimum featureside라고 한다. 실제칩은 3차원이므로 람다가 절반이 되면 4배 이상으로 집적도가 증가하게 된다. 반도체는 전부 NAND게이트로 구성되어 있다. 2 input NAND게이트는 2개의 PMOS와 2개의 NMOS로 구성되므로 트랜지스터 1000개의 반도체는 NAND게이트 250개를 가진다고 근사 시킬 수 있다. 컴퓨터의 Native Language는 명령어 집합이다. 회사마다 제품 라인업마다 명령어 셋이 다르고 다른 명령어 셋은 사용할 수 없다. IA32는 인텔 아키텍처의 명령어이다. 80486에서 처음 파이프라인이 도입. 팬티엄 1에서 슈퍼스칼라 도입, in-order방식. ..
-
(My)SQL 데이터 변경 구문을 알아보자SQL 2023. 3. 12. 02:34
SQL에서 데이터 변경은 입력, 수정, 삭제 정도로 구분할 수 있다. 3가지를 알아보자. 테이블은 다음과 같다. INSERT구문은 데이터를 입력, 삽입하는 역할을 한다. 사용법은 다음과 같다. INSERT INTO qwer VALUES ('mnz','ddd','3465',30); 전체 행에 데이터를 입력하였다. 순서를 따로 명시하지 않으면 앞에서부터 차례대로 입력된다. 만약 일부만 입력하고 싶으면 입력할 변수들의 열 이름을 명시해주어야 한다. 입력하지 않은 열은 NULL로 입력된다. INSERT INTO qwer (id, age)VALUES ('mnz',30); 기존 테이블에 AUTO_INCREMENT가 설정되어 있다면 NULL을 입력해 주면 된다. 다른 테이블에서 데이터를 가져오고 싶다면 현재 테이블의..
-
탐색 알고리즘 문제 풀어보기 4(백준 1167번 트리의 지름)알고리즘 2023. 3. 11. 04:16
이번에는 깊이, 너비 탐색으로 푸는 마지막 문제이다. 다음부터는 다른 탐색 알고리즘인 이진 탐색을 알아보고 해당 문제를 풀어볼 것이다. 이번 문제는 트리의 지름을 구하는 아주 간단한 문제이다. 트리의 리프에서 리프까지의 거리 중 최대 거리를 찾는 문제이다. 백준 1167번이다. https://www.acmicpc.net/problem/1167 1167번: 트리의 지름 트리가 입력으로 주어진다. 먼저 첫 번째 줄에서는 트리의 정점의 개수 V가 주어지고 (2 ≤ V ≤ 100,000)둘째 줄부터 V개의 줄에 걸쳐 간선의 정보가 다음과 같이 주어진다. 정점 번호는 1부터 V까지 www.acmicpc.net 이 문제에서는 에지의 거리가 일정하지 않고 문제에서 주어진다. 따라서 모든 노드를 탐색하면서 최장거리를 ..
-
탐색 알고리즘 문제 풀어보기 3(백준 2178번 미로 탐색하기)알고리즘 2023. 3. 10. 01:18
이번 문제는 미로가 주어지면 출구까지의 최단거리를 찾는 문제이다. https://www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net 미로는 2차원배열형대로 주어지고 무조건 답이 있다. 처음에는 갈 수 있는 길을 쭉 찾아나가며 DFS로 해결하려 했지만 메모리 초과가 나왔다. 이 문제에서 DFS는 모든 경우의 수를 탐색해 가장 작은 정답을 골라야 하는데 탐색하며 가짓수가 너무 많이 생기면 재귀함수가 너무 많이 호출되어 메모리가 초과되는 문제가 발생하였다. 따라서 이 문제는 DFS로는 불가능하고 B..