분류 전체보기
-
* 교재 "쉽게 배우는 알고리즘"을 기준으로 알고리즘 수업에서 배운 내용을 정리하는 글입니다. 점근적 표기법이란 시간 복잡도 또는 공간 복잡도 함수의 증가 양상을 구분하기 위해 사용하는 표기법이다. 대표적으로 상한(O), 하한(Ω), 차수(Θ)가 있다. 교재에는 o(리틀오) ω(리틀 오메가) 표기법도 나와있다. O(f(n)) : 상한, 아무리 느려봤자 f(n) 정도이다. f(n)보다 빠르거나 같다. Ω(f(n)) : 하한, 아무리 빨라봤자 f(n) 정도이다. f(n)보다 느리거나 같다. Θ(f(n)) : 차수, 상한과 하한을 함께 제시. 두 집합의 교집합 O-표기법 빅오 표기법은 점근적 상한으로 볼 수 있으며, g(n) ∈ O(f(n))일 때, f(n)이 g(n)의 상한이 된다. 주어진 복잡도함수 f(n..
[알고리즘] 점근적 표기법 - 상한 하한 차수* 교재 "쉽게 배우는 알고리즘"을 기준으로 알고리즘 수업에서 배운 내용을 정리하는 글입니다. 점근적 표기법이란 시간 복잡도 또는 공간 복잡도 함수의 증가 양상을 구분하기 위해 사용하는 표기법이다. 대표적으로 상한(O), 하한(Ω), 차수(Θ)가 있다. 교재에는 o(리틀오) ω(리틀 오메가) 표기법도 나와있다. O(f(n)) : 상한, 아무리 느려봤자 f(n) 정도이다. f(n)보다 빠르거나 같다. Ω(f(n)) : 하한, 아무리 빨라봤자 f(n) 정도이다. f(n)보다 느리거나 같다. Θ(f(n)) : 차수, 상한과 하한을 함께 제시. 두 집합의 교집합 O-표기법 빅오 표기법은 점근적 상한으로 볼 수 있으며, g(n) ∈ O(f(n))일 때, f(n)이 g(n)의 상한이 된다. 주어진 복잡도함수 f(n..
2023.10.11 -
소수를 구하는 문제였다. 풀이 def isPrime(data): cnt = 0 for i in data: for j in range(2, i + 1): if i % j == 0: if j == i: cnt += 1 break print(cnt) n = int(input()) data = list(map(int, input().split())) isPrime(data) 위에서 사용한 코드의 설명을 들어보겠다. 예를 들어 3이라면 (입력값 = 1 \n 3) i = 3 j = 2(에서 4까지 증가) 만약 i % j 가 나누어떨어진다면, i 와 j 가 같은지 비교, 같다면 카운트 증가(= 소수이다) 이므로 3일경우 3 % 3이 될 때 3 == 3이므로 카운트는 증가할 것이다. 트러블 슈팅 (해결) 처음에 데이터..
[백준] 1978: 소수 찾기소수를 구하는 문제였다. 풀이 def isPrime(data): cnt = 0 for i in data: for j in range(2, i + 1): if i % j == 0: if j == i: cnt += 1 break print(cnt) n = int(input()) data = list(map(int, input().split())) isPrime(data) 위에서 사용한 코드의 설명을 들어보겠다. 예를 들어 3이라면 (입력값 = 1 \n 3) i = 3 j = 2(에서 4까지 증가) 만약 i % j 가 나누어떨어진다면, i 와 j 가 같은지 비교, 같다면 카운트 증가(= 소수이다) 이므로 3일경우 3 % 3이 될 때 3 == 3이므로 카운트는 증가할 것이다. 트러블 슈팅 (해결) 처음에 데이터..
2023.10.11 -
영어 발표 스터디를 하고 있다. (참고로 OMEP: Oh My English Present 는 사실 내가 그냥 지은 이름이다.) 내 발표들을 다시 정리해두면 좋을 것 같아, 블로그에도 업로드한다. (참고로, week3 가 없는 이유는 발표가 격주로 돌아가면서 한 주 발표를 건너뛰었기 때문이다!) 이번 주제는 twitter에서 본 흥미로운 스레드에 대해 공유한 것인데, NoSQL에 대해 깊게 생각해본적이 없었지만 이번 발표를 통해 생각해보게 되었다. 하지만 영어로 발표하기에는 너무 어려운 내용이었어서 아쉬움이 많이 남는다. Celebrating SQLite’s 23rd birthday: why we love it Intro SQLite was realesed on August 17, 2000. so thi..
[Study | OMEP] week 4: Celebrating SQLite’s 23rd birthday: why we love it영어 발표 스터디를 하고 있다. (참고로 OMEP: Oh My English Present 는 사실 내가 그냥 지은 이름이다.) 내 발표들을 다시 정리해두면 좋을 것 같아, 블로그에도 업로드한다. (참고로, week3 가 없는 이유는 발표가 격주로 돌아가면서 한 주 발표를 건너뛰었기 때문이다!) 이번 주제는 twitter에서 본 흥미로운 스레드에 대해 공유한 것인데, NoSQL에 대해 깊게 생각해본적이 없었지만 이번 발표를 통해 생각해보게 되었다. 하지만 영어로 발표하기에는 너무 어려운 내용이었어서 아쉬움이 많이 남는다. Celebrating SQLite’s 23rd birthday: why we love it Intro SQLite was realesed on August 17, 2000. so thi..
2023.10.08 -
영어 발표 스터디를 하고 있다. (참고로 OMEP: Oh My English Present 는 사실 내가 그냥 지은 이름이다.) 내 발표들을 다시 정리해두면 좋을 것 같아, 블로그에도 업로드한다. 주제 선정 이유 원래 디자인에 관심이 많이 있는 편이다. 당연히 요즘 최고로 핫한 디자인 툴, 피그마에도 많은 관심이 있다. 그동안은 테크 주제를 해야겠다! 라는 생각이 강했으나, 테크 주제가 생각보다 난이도가 있어서 매주 테크 주제를 유창하게 발표하는 것은 부담이 느껴졌고, 좋아하는 분야로 발표해봐야겠다(테크도 좋아하긴 한다!) 싶어 도전해보았다. Figma for developers Features of Figma 1. Windows OS, Mac OS support + Design via web brows..
[Study | OMEP] week 2: Figma for developers영어 발표 스터디를 하고 있다. (참고로 OMEP: Oh My English Present 는 사실 내가 그냥 지은 이름이다.) 내 발표들을 다시 정리해두면 좋을 것 같아, 블로그에도 업로드한다. 주제 선정 이유 원래 디자인에 관심이 많이 있는 편이다. 당연히 요즘 최고로 핫한 디자인 툴, 피그마에도 많은 관심이 있다. 그동안은 테크 주제를 해야겠다! 라는 생각이 강했으나, 테크 주제가 생각보다 난이도가 있어서 매주 테크 주제를 유창하게 발표하는 것은 부담이 느껴졌고, 좋아하는 분야로 발표해봐야겠다(테크도 좋아하긴 한다!) 싶어 도전해보았다. Figma for developers Features of Figma 1. Windows OS, Mac OS support + Design via web brows..
2023.10.08 -
영어 발표 스터디를 하고 있다. (참고로 OMEP: Oh My English Present 는 사실 내가 그냥 지은 이름이다.) 내 발표들을 다시 정리해두면 좋을 것 같아, 블로그에도 업로드한다. week1: the basics of redis Characteristics Redis is a data structure with the following characteristics Located on a remote server. Existing as a process Executed within in memory-based process. A key-value data management system that is non-relational and allows for simple storage and r..
[Study | OMEP] week 1: the basics of redis영어 발표 스터디를 하고 있다. (참고로 OMEP: Oh My English Present 는 사실 내가 그냥 지은 이름이다.) 내 발표들을 다시 정리해두면 좋을 것 같아, 블로그에도 업로드한다. week1: the basics of redis Characteristics Redis is a data structure with the following characteristics Located on a remote server. Existing as a process Executed within in memory-based process. A key-value data management system that is non-relational and allows for simple storage and r..
2023.10.08 -
디비디비딥 스터디 시리즈 더보기 [ 데이터베이스 첫걸음 ] 1장 2장 3장 4장 5장 6장 7장 8장 9-10장 [ SQL 첫걸음 ] 1장 2장 3-4장 5-6장 7-8장 8장. 테이블 설계의 기초 - 테이블 개념과 정규형 관계형 데이터베이스에서는 전체 데이터가 테이블에 포함되고 저장됨. → 테이블을 사용하여 데이터를 적절히 다루는 것이 중요 테이블 설계 규칙 테이블 열과 행으로 구성된 데이터 구조 고유한 기본키를 가지는 공통 속성을 가진 요소들의 집합 현실 세계의 개념이나 집합을 나타낸 것 공통점을 가진 사물의 집합을 나타내야 함 테이블명은 반드시 복수형이나 집합 명사로 표현해야 함 관련성이 없는 무작위 집합을 생성해서는 안됨 가장 상위의 개념 집합으로 정리하기 열은 개체의 속성(Attribute) →..
[데이터베이스 첫걸음] 8장디비디비딥 스터디 시리즈 더보기 [ 데이터베이스 첫걸음 ] 1장 2장 3장 4장 5장 6장 7장 8장 9-10장 [ SQL 첫걸음 ] 1장 2장 3-4장 5-6장 7-8장 8장. 테이블 설계의 기초 - 테이블 개념과 정규형 관계형 데이터베이스에서는 전체 데이터가 테이블에 포함되고 저장됨. → 테이블을 사용하여 데이터를 적절히 다루는 것이 중요 테이블 설계 규칙 테이블 열과 행으로 구성된 데이터 구조 고유한 기본키를 가지는 공통 속성을 가진 요소들의 집합 현실 세계의 개념이나 집합을 나타낸 것 공통점을 가진 사물의 집합을 나타내야 함 테이블명은 반드시 복수형이나 집합 명사로 표현해야 함 관련성이 없는 무작위 집합을 생성해서는 안됨 가장 상위의 개념 집합으로 정리하기 열은 개체의 속성(Attribute) →..
2023.10.07 -
EBS 인스턴스 종료되도 데이터를 받을 수 있다. 한번에 하나의 인스턴스에만 마운트 특정 가용 영역에서만 연결 가능 네트워크 USB 대체 작용 등에 유용 (빠르게 다른 인스턴스로 연결이 가능하므로) ec2 종료시 인스턴스와 한께 EBS 볼륨을 삭제하도록 할 수 있다. 시험출제 가능 루트 볼륨은 보통 인스턴스 종료시 삭제이다. EBS 스냅샷 EBS 볼륨의 특정 시점에 대한 백업 스냅샷은 다른 리전에도 복사할 수 있다. 휴지통 기능을 통해 최소 1일에서 최대 1년간 보관 가능 FSR을 통해 매우 큰 스냅샷을 EC2인스턴스에 옮기는 것 비용 큼 AMI (아마존 머신 이미지) EC2인스턴스를 통해 만든 이미지를 통칭 EC2의 커스텀 버전 public AMI 마켓 플레이스 AMI 다른 사람이 만든 이미지를 구매하..
[SAA] EC2 인스턴스 스토리지EBS 인스턴스 종료되도 데이터를 받을 수 있다. 한번에 하나의 인스턴스에만 마운트 특정 가용 영역에서만 연결 가능 네트워크 USB 대체 작용 등에 유용 (빠르게 다른 인스턴스로 연결이 가능하므로) ec2 종료시 인스턴스와 한께 EBS 볼륨을 삭제하도록 할 수 있다. 시험출제 가능 루트 볼륨은 보통 인스턴스 종료시 삭제이다. EBS 스냅샷 EBS 볼륨의 특정 시점에 대한 백업 스냅샷은 다른 리전에도 복사할 수 있다. 휴지통 기능을 통해 최소 1일에서 최대 1년간 보관 가능 FSR을 통해 매우 큰 스냅샷을 EC2인스턴스에 옮기는 것 비용 큼 AMI (아마존 머신 이미지) EC2인스턴스를 통해 만든 이미지를 통칭 EC2의 커스텀 버전 public AMI 마켓 플레이스 AMI 다른 사람이 만든 이미지를 구매하..
2023.10.07 -
일단 문제 이해를 못했었다.. N이 2이 2일때 약수를 더했는데 어떻게 4가 나오지...? 이러고 있었다가 10에서 함수를 사용해 대입해보니, g(10) = f(1) + f(2) + f(3) + f(4) + f(5) + f(6) + f(7) + f(8) + f(9) + f(10) g(10) = 1 + 3 + 4 + 7 + 6 + 12 + 8 + 15 + 13 + 18 g(10) = 87 이 도출되었다. 처음에 이렇게 했다가O(n^2) 이라 첫째 줄에 자연수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 이 조건을 만족하지 못해서 a = int(input()) ans = 0 for i in range(1, a+1): for j in range(1, a+1): if i % j == 0: ans += j ..
[백준] 17427: 약수의 합 2일단 문제 이해를 못했었다.. N이 2이 2일때 약수를 더했는데 어떻게 4가 나오지...? 이러고 있었다가 10에서 함수를 사용해 대입해보니, g(10) = f(1) + f(2) + f(3) + f(4) + f(5) + f(6) + f(7) + f(8) + f(9) + f(10) g(10) = 1 + 3 + 4 + 7 + 6 + 12 + 8 + 15 + 13 + 18 g(10) = 87 이 도출되었다. 처음에 이렇게 했다가O(n^2) 이라 첫째 줄에 자연수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 이 조건을 만족하지 못해서 a = int(input()) ans = 0 for i in range(1, a+1): for j in range(1, a+1): if i % j == 0: ans += j ..
2023.10.01 -
[Spring] 소셜 로그인 3편: validate와 reissue 2023.09.14
-
디비디비딥 스터디 시리즈 더보기 [ 데이터베이스 첫걸음 ] 1장 2장 3장 4장 5장 6장 7장 8장 9-10장 [ SQL 첫걸음 ] 1장 2장 3-4장 5-6장 7-8장 7장 트랜잭션과 동시성 제어 - 복수의 쿼리 통합 트랜잭션이란? 쿼리를 처리하는 단위. 한 번에 실행되어야 하는 복수의 쿼리를 한 단위로 묶은 것 트랜젝션 (ACID 특성) Atomicity(원자성) 트랜잭션이 전부 성공하거나 전부 실패하여야 함 Consistency(일관성) 트랜잭션이 성공적으로 실행 완료되면 언제나 일관성 있는 데이터베이스 상태를 유지해야 함 일관성 유지를 위해 데이터베이스 오브젝트에 각종 정합성 제약(유니크 등) 사용 가능 Isolation(고립성/격리성) 트랜잭션 수행 시 다른 트랜잭션의 연산 작업이 끼어들 수 ..
[데이터베이스 첫걸음] 7장디비디비딥 스터디 시리즈 더보기 [ 데이터베이스 첫걸음 ] 1장 2장 3장 4장 5장 6장 7장 8장 9-10장 [ SQL 첫걸음 ] 1장 2장 3-4장 5-6장 7-8장 7장 트랜잭션과 동시성 제어 - 복수의 쿼리 통합 트랜잭션이란? 쿼리를 처리하는 단위. 한 번에 실행되어야 하는 복수의 쿼리를 한 단위로 묶은 것 트랜젝션 (ACID 특성) Atomicity(원자성) 트랜잭션이 전부 성공하거나 전부 실패하여야 함 Consistency(일관성) 트랜잭션이 성공적으로 실행 완료되면 언제나 일관성 있는 데이터베이스 상태를 유지해야 함 일관성 유지를 위해 데이터베이스 오브젝트에 각종 정합성 제약(유니크 등) 사용 가능 Isolation(고립성/격리성) 트랜잭션 수행 시 다른 트랜잭션의 연산 작업이 끼어들 수 ..
2023.09.09 -
디비디비딥 스터디 시리즈 더보기 [ 데이터베이스 첫걸음 ] 1장 2장 3장 4장 5장 6장 7장 8장 9-10장 [ SQL 첫걸음 ] 1장 2장 3-4장 5-6장 7-8장 6장 SQL문의 기본 SELECT문의 기본 SQL은 주로 DBMS에 저장된 테이블을 조작하기 위해 사용 데이터베이스가 여러개 존재할 수 있기 때문에 테이블을 보기 위해서는 데이터베이스를 선택해야 함 데이터베이스 목록 보기 mysql> show databases; 데이터베이스 사용하기 mysql> use 데이터베이스명; 테이블 목록 보기 mysql> show tables; WHERE 테이블에서 열의 수는 테이블을 작성(정의)했을때 결정되어 이후 명시적으로 변경하지 않는 한 늘어나지 X. but 행수는 제한이 X. → SELECT문 줄이고..
[데이터베이스 첫걸음] 6장디비디비딥 스터디 시리즈 더보기 [ 데이터베이스 첫걸음 ] 1장 2장 3장 4장 5장 6장 7장 8장 9-10장 [ SQL 첫걸음 ] 1장 2장 3-4장 5-6장 7-8장 6장 SQL문의 기본 SELECT문의 기본 SQL은 주로 DBMS에 저장된 테이블을 조작하기 위해 사용 데이터베이스가 여러개 존재할 수 있기 때문에 테이블을 보기 위해서는 데이터베이스를 선택해야 함 데이터베이스 목록 보기 mysql> show databases; 데이터베이스 사용하기 mysql> use 데이터베이스명; 테이블 목록 보기 mysql> show tables; WHERE 테이블에서 열의 수는 테이블을 작성(정의)했을때 결정되어 이후 명시적으로 변경하지 않는 한 늘어나지 X. but 행수는 제한이 X. → SELECT문 줄이고..
2023.09.09 -
디비디비딥 스터디 시리즈 더보기 [ 데이터베이스 첫걸음 ] 1장 2장 3장 4장 5장 6장 7장 8장 9-10장 [ SQL 첫걸음 ] 1장 2장 3-4장 5-6장 7-8장 5장 DBMS를 조작할 때 필요한 기본 지식 MySQL 설치 생략 MySQL 과 커넥션, 그리고 전화걸기 커넥션(Connection) 로그인을 통해 프롬프트가 표시된 것 → 사용자와 MySQL이 접속되었다. (연결되었다.) 커넥션과 전화 커넥션은 로그인에 실패하면 전화의 잘못된 번호 와 같은 안내를 받는다. 전화와는 달리 1대1이 아닌 복수의 사용자가 동시에 커넥션 할 수 있다. 전화를 끊는 것은 로그오프 세션(Session) 커넥션의 시작과 종료 사이에 DBMS와 다양한 교환을 진행하는데, 그 교환의 시작과 종료까지의 단위 기본적으로..
[데이터베이스 첫걸음] 5장디비디비딥 스터디 시리즈 더보기 [ 데이터베이스 첫걸음 ] 1장 2장 3장 4장 5장 6장 7장 8장 9-10장 [ SQL 첫걸음 ] 1장 2장 3-4장 5-6장 7-8장 5장 DBMS를 조작할 때 필요한 기본 지식 MySQL 설치 생략 MySQL 과 커넥션, 그리고 전화걸기 커넥션(Connection) 로그인을 통해 프롬프트가 표시된 것 → 사용자와 MySQL이 접속되었다. (연결되었다.) 커넥션과 전화 커넥션은 로그인에 실패하면 전화의 잘못된 번호 와 같은 안내를 받는다. 전화와는 달리 1대1이 아닌 복수의 사용자가 동시에 커넥션 할 수 있다. 전화를 끊는 것은 로그오프 세션(Session) 커넥션의 시작과 종료 사이에 DBMS와 다양한 교환을 진행하는데, 그 교환의 시작과 종료까지의 단위 기본적으로..
2023.09.09