오늘 한 일
- my SQL : 데이터 베이스의 활용
- table : 데이터 표, filed : 그 표를 채운 각각의 data
show tables //tables 안에 들어있는 모든 table 확인
select * from 000 // 000 테이블 안의 * 전체 내용
select a from b //b 테이블 안의 a
select a from b
//where : 조건
where point >= 2000 //크기비교
where week in (2,3) //포함 : week이라는 필드내용 안에 2와 3이 포함
where week != 2,3 // 제외
where date between '11-11' and '12-11' // 범위
where email like '%daum.net'
// 'daum.net'이라는 문자열 패턴을 포함한 조건 검색.
// %는 daum.net 앞이든 중간이든 어떤 패턴이 와도 daum.net으로 끝나는걸 의미
//(ex) a%b a와 t사이에 뭐가 오든 a로 시작해서 t로 끝나는.
LIMIT 5 //테이블 전체를 보는게 아닌 5개의 row만 조회. 크기가 큰 테이블을 구조만 간단히 파악할 때 유용하다.
SELECT DISTINCT(payment_method) FROM orders // 중복 제거. 중복되는 내용을 제거해 전체 분류를 보는데 활용할 수 있다.
SELECT count(*) FROM orders // 숫자로 세어준다. 이게 다 몇개게?
SELECT count(DISTINCT (name)) FROM users //응용 - 중복을 제거한 총 갯수
- 정렬 알고리즘
- 데이터 정렬이란? 알고리즘이 중복 데이터를 빠르게 식별하고, 필요한 데이터를 매우 빠르게 찾을 수 있다. (예를 들어, 탐색 전 데이터 비교를 위해 특정 순서로 배열을 정렬하는 것 등.)
- 버블 정렬: 오른쪽 끝에서 왼쪽 끝(가장 첫번째) 으로 이동하며 두 요소씩 비교. 시간 복잡도가 O(n²)으로 비효율적이다.
- 선택 정렬 : 선형 탐색을 응용한 알고리즘. 배열의 가장 작은 숫자를 찾아 맨 왼쪽(순서 첫 번째)으로 이동. 다음 숫자를 같은 방식으로 정렬. O(n²) 가장 작은 요소 찾기에 선형 탐색이 사용됨으로 데이터 개수가 증가할수록 실행 속도가 느려진다.
- 삽입 정렬 : 가장 왼쪽 부터 두 요소를 비교하며 위치를 바꿔나간다. 모든 요소가 정렬될 때까지 수행한다.
- 쉘정렬 : 요소를 몇 단위로 묶어 단위마다 삽입정렬을 시행한다. 이후 요소수를 점점 줄여 실행하고, 요소 수가 1이 될 때까지 실해하면 정렬이 완료된다.
- 병합 정렬 : 데이터를 반으로 나눠 수행하는 알고리즘으로 이러한 방식을 “분할정복” 이라고 한다. 모든 배열에 하나의 요소만 남을 때까지 분할을 반복, 두 배열씩 결합해 정렬, 결합을 반복하며 배열의 크기를 점점 늘려나간다.
- 퀵정렬 : 분할정복방식, 배열의 맨 왼쪽 요소를 피벗으로 정한다. 피벗을 정하고 나면 피벗 바로 오른쪽 요소와 배열 가장 오른쪽 요소를 왼쪽 마커, 오른쪽 마커로 정한다. 왼쪽 마커는 오른쪽으로 이동하며 피벗보다 크거나 같은 첫 번째 숫자를 선택. 오른쪽 마커는 왼쪽으로 이동하며 피벗보다 작은 첫 번째 숫자를 선택. 각 마커가 숫자를 선택하면 두 마커의 숫자 위치를 바꾼다. 계속 정렬을 이어나가면 왼쪽마커의 인덱스값과 오른쪽마커의 인덱스값이 서로 엇갈리게 된다. 이 때는 오른쪽 마커(피벗보다 작은 값)과 피벗의 위치를 바꿔준다. 그러면 피벗을 기준으로 두 배열로 나뉘게 되는데, 나눈 상태에서 피벗을 정하고 아까와 같은 정렬을 반복해준다. 이름에서도 알 수 있듯 진짜 빠르지만, 이미 모든 배열이 정렬된 상태라면 엄청 비효율적.
- 버킷 알고리즘
- 기수정렬
오늘의 느낀점
이기는 것은 지는 것을 두려워하지 않는 것이다.
로버트 기요사키의 책 [부자 아빠 가난한 아빠] 에 나온 내용이다. 가난함과 부를 가르는 차이는 실패에 대한 두려움을 어떻게 다루는 가에 있다고 한다. 진정한 패배자는 실패에 좌절하고 주저앉는 것이라고.... 누구나 두려움을 가지지만 그 두려움을 파고들어 더 공격적으로 행동할 때 성공이 오는거라는 내용이었다. 돈뿐만 아니라 삶을 살아가는데 있어서 꼭 필요한 태도라는 생각이 든다.
'이전 기록' 카테고리의 다른 글
[TIL]2022-0113 (THU) (0) | 2022.01.13 |
---|---|
[TIL]2022-0105 (WED) (0) | 2022.01.05 |
[TIL]2021-1227 (MON) (0) | 2021.12.28 |
[TIL]2021-1223 (THU) (0) | 2021.12.23 |
[TIL]2021-1222 (WED) (0) | 2021.12.23 |