ska097777의 등록된 링크

 ska097777로 등록된 네이버 블로그 포스트 수는 171건입니다.

[자격증] 82회 테셋 TESAT 1급 합격 [내부링크]

테셋 이란, TESAT은 복잡한 경제 현상을 얼마나 잘 이해할 수 있는가를 평가하는 종합경제이해력 검증 시험입니다. 테셋 성적 활용, TESAT은 한국은행 자산관리공사 등 금융 관련 공기업을 비롯 은행 증권 등 금융회사, 삼성 현대자동차 등 많은 대기업들이 사원 채용 승진 인사에 활용하고 있습니다. 학점은행제를 활용해 학사, 전문 학사를 취득하려는 학생들은 TESAT으로 17~20 학점의 경영 학점을 취득할 수 있고, 경제 경영학도를 꿈꾸는 청소년들은 TESAT을 자기 계발 도구로 활용할 수 있습니다. 테셋 출제영역과 문항수 배점, 영역 기능 지식 이해 적용 분석 추론 종합 판단 문항수 및 배점 경제이론 기초 일반 20 10 - 20X3 10X4 =100점 미시 거시 금융 국제 시사경제 정책(통계) 20 10 - 20X3 10X4 =100점 상식(용어) 경영(회사법 회계 재무) 응용복합 (추론 판단) 자료해석 - - 20 20X5 =100점 이슈 분석 의사결정(비용편익분석) 합계 3

ADsP 주관식 [내부링크]

1. 회사 내 기능조직, 비즈니스 분석 또는 BI조직에 소속되어 있으면서 빅데이터 분석 전문 조직과 협력을 통하여 업무에 필요한 분석 모델이나 예측 모델을 Self Service Analytics도구를 활용하여 구현하는 전문가 - 빅데이터기획전문가 2. 문자, 기호, 음성, 화상, 영상 등 상호 연관된 다수의 콘텐츠를 정보 처리 및 정보통신 기기에 의하여 체계적으로 수집·축적하여 다양한 용도의 방법으로 이용할 수 있도록 정리한 정보의 집합체 - 데이터베이스 3. 데이터로부터 의미있는 정보를 추출해 내는 학문으로, 통계학과는 달리 정형 또는 비정형을 막론하고 다양한 유형의 데이터를 분석 대상으로 한다. 또한 분석에 초점을 두는 데이터마이닝과는 달리 분석 뿐 아니라 이를 효과적으로 구현하고 전달하는 과정까지 포함하는 포괄적인 개념 - 데이터사이언스 4. 기업의 의사결정 과정을 지원하기 위한 주제 중심적이고 통합적이며 시간성을 가지는 비휘발성 데이터의 집합 - 데이터웨어하우스 5. 데이터

[평촌역] 샤브샤브, 뽕잎사랑 [내부링크]

건강하게 먹고 싶을 때, 뜨끈한 국물이 당길 때, 맛있는 거 먹고 싶을 때 샤브샤브를 자주 먹는 편이다. 원래도 국물요리를 좋아하는데 매콤 국물 샤브샤브는 최고다. 보통 뽕잎 쇠고기 샤브나 샤브+보쌈 세트를 많이 먹었다. 메뉴마다 고기 양, 구성에 조금씩 차이가 있어 다양하고 사리만도 따로 추가 가능하다. 메뉴에 기본으로 칼국수랑 볶음밥이 포함이다. 옛날에 샤브샤브 먹으러 가면 칼국수나 죽/볶음밥 중에 골라야 했는데 여기는 안 고르고 다 먹고 추가도 가능해서 너무 좋다. 평일 점심에 먹으면 더 저렴하게 먹을 수 있는데 갈 일이 없어서 아쉽다. 어묵 아직 못 먹어봤는데 너무 먹어보고 싶다. 다음에 가면 꼭 먹어봐야겠다. 기본 반찬은 양배추 샐러드랑 김치랑 아무 피클이 나온다. 야무진 조합이다. 각각 칼국수랑 볶음밥이랑 먹을 때같이 먹으면 조합이 좋다. 국물도 얼큰한 국물이랑 안 매운 국물 고를 수 있는데 별로 안 매우니 무조건 얼큰 국물 먹어야 한다. 야채랑 고기랑 칼국수랑 볶음밥 세

[Python] 파이썬에서 텍스트 파일 만들기 [내부링크]

파이썬으로 실행한 결과를 텍스트 파일로 출력하려고 한다. 원하는 경로를 입력한 뒤 파일을 쓰기 모드로 열고 입력하고자 하는 내용을 입력한다. 해당 파일이 존재하지 않으면 새 파일을 만들어 연다. 내용 입력 후에는 꼭 close로 닫아주어야 한다. f = open(r'C:\Users\User\Desktop\py\pool\tt.txt','w') f.write('여기다가 내용 입력\n') f.write('성공') f.close() 실행 완료 시 해당 경로에 tt.txt라는 파일이 생성되어 있고 입력했던 내용을 확인할 수 있다. 쓰기 모드 w 이외에도 읽기 전용 r과 덮어쓰기 a가 존재한다.

[Python] openpyxl로 파이썬에서 엑셀파일 만들기 [내부링크]

파이썬으로 실행한 결과를 엑셀로 출력하기 위해 openpyxl을 사용하려고 한다. openpyxl은 파이썬으로 excel 파일을 읽거나 쓸 수 있도록 해주는 모듈이다. openpyxl을 사용해 엑셀 파일을 만들고 간단히 수정해 보려 한다. 아래 사이트에 구체적인 내용과 다양한 사용법이 나와 있다. https://openpyxl.readthedocs.io/en/stable/tutorial.html Tutorial — openpyxl 3.0.10 documentation Create a workbook There is no need to create a file on the filesystem to get started with openpyxl. Just import the Workbook class and start work: >>> from openpyxl import Workbook >>> wb = Workbook () A workbook is always created with

15. 그래프 친구의 친구 찾기 [내부링크]

fr_info = { 'Summer': ['John', 'Justin', 'Mike'], 'John': ['Summer', 'Justin'], 'Justin': ['John', 'Summer', 'Mike', 'May'], 'Mike': ['Summer', 'Justin'], 'May': ['Justin', 'Kim'], 'Kim': ['May'], 'Tom': ['Jerry'], 'Jerry': ['Tom'] } 15-1 다음 그래프를 탐색하고 친밀도를 계산하는 프로그램을 만들어 보세요(시작 꼭짓점: Summer). def print_all_friends(g, start): qu = [] done = set() qu.append((start, 0)) done.add(start) while qu: (p, d) = qu.pop(0) print(p, d) for x in g[p]: if x not in done: qu.append((x, d + 1)) done.add(x) fr_info

12. 이진 탐색 [내부링크]

이진 탐색(binary search)은 정렬된 데이터 집합을 이분화하면서 탐색하는 방법이다. 12-1 일반적인 이진 탐색 알고리즘을 사용해서 리스트 [1, 4, 9, 16, 25, 36, 49, 64, 81]에서 탐색 과정을 적어 보세요. def binary_search(a, x): start = 0 end = len(a) - 1 while start <= end: mid = (start + end) // 2 print("mid : ",a[mid]) if x == a[mid]: return mid elif x > a[mid]: start = mid + 1 else: end = mid - 1 return -1 d = [1, 4, 9, 16, 25, 36, 49, 64, 81] print(binary_search(d, 9)) print(binary_search(d, 50)) >> 2 >> -1 12-2 다음 과정을 참고하여 재귀 호출을 사용한 이분 탐색 알고리즘을 만들어 보세요. ① 주

13. 큐와 스택 회문 찾기 [내부링크]

큐(Queue)는 가장 먼저 입력된 자료를 가장 먼저 처리하는 선형 자료구조 입니다. (First In First Out) 큐에 자료를 한 개 집어넣는 동작을 ‘인큐(enqueue)’, 큐 안에 있는 자료를 한 개 꺼내는 동작을 ‘디큐(dequeue)’라고 표현합니다. 스택은 가장 마지막에 입력된 자료를 가장 먼저 처리하는 선형 자료구조 입니다. (Last In First Out) 스택에 자료를 하나 집어넣는 동작을 ‘푸시(push)’, 스택 안에 있는 자료를 하나 꺼내는 동작을 ‘팝(pop)’이라고 표현합니다. 자료 구조 동작 코드 설명 큐 초기화 qu = [ ] 빈 리스트를 만듦 자료 넣기(enqueue) qu.append(x) 리스트의 맨 뒤에 자료를 추가 자료 꺼내기(dequeue) x = qu.pop(0) 리스트의 맨 앞(0번 위치)에서 자료를 꺼냄 스택 초기화 st = [ ] 빈 리스트를 만듦 자료 넣기(push) st.append(x) 리스트의 맨 뒤에 자료를 추가 자료

14. 딕셔너리 동명이인 찾기 [내부링크]

파이썬의 딕셔너리는 정보를 찾는 기준이 되는 키(key)와 그 키에 연결된 값(value)의 대응 관계를 저장하는 자료 구조입니다. 함수 설명 사용 예 len(a) 딕셔너리 길이(자료 개수)를 구합니다. d = {"Justin": 13, "John": 10, "Mike": 9} len(d) # 3 d[key] 딕셔너리에서 키(key)에 해당하는 값을 읽습니다. d = {"Justin": 13, "John": 10, "Mike": 9} d["Mike"] # 9 # 없는 키의 값을 읽으려고 하면 키 에러(KeyError)가 발생합니다. d[key] = value 키(key)에 값(value)을 저장합니다. 없다면 새로 만들고 이미 있다면 value 값을 덮어씁니다. d["Summer"] = 1 d["Summer"] = 2 # d["Summer"]에는 2가 저장됩니다. del d[key] 키(key)에 해당하는 값을 지웁니다. del d["Summer"] d["Summer"] # "Sum

11. 퀵 정렬 [내부링크]

퀵 정렬(quick sort)은 기준키를 기준으로 작거나 같은 값을 지닌 데이터는 앞으로, 큰 값을 지닌 데이터는 뒤로 가도록 하여 작은 값을 갖는 데이터와 큰 값을 갖는 데이터로 분리해가며 정렬하는 방법입니다. 11-1 일반적인 퀵 정렬 알고리즘을 사용해서 리스트 [6, 8, 3, 9, 1, 2, 4, 7, 5]을 정렬하는 과정을 적어 보세요. def quick_sort_sub(a, start, end): if end - start <= 0: return pivot = a[end] i = start for j in range(start, end): if a[j] <= pivot: a[i], a[j] = a[j], a[i] i += 1 a[i], a[end] = a[end], a[i] quick_sort_sub(a, start, i - 1) quick_sort_sub(a, i + 1, end) def quick_sort(a): quick_sort_sub(a, 0, len(a) - 1

10. 병합 정렬 [내부링크]

병합 정렬(merge sort)은 하나의 리스트를 정렬하기 위해서 해당 리스트를 n개의 서브리스트로 분할하여 각각을 정렬한 수, 정렬된 n개의 서브리스트로 합병시켜서 정렬시키는 방법입니다. 10-1 일반적인 병합 정렬 알고리즘을 사용해서 리스트 [6, 8, 3, 9, 1, 2, 4, 7, 5]을 정렬하는 과정을 적어 보세요. def merge_sort(a): n = len(a) if n <= 1: return mid = n // 2 g1 = a[:mid] g2 = a[mid:] merge_sort(g1) merge_sort(g2) i1 = 0 i2 = 0 ia = 0 while i1 < len(g1) and i2 < len(g2): if g1[i1] < g2[i2]: a[ia] = g1[i1] i1 += 1 ia += 1 else: a[ia] = g2[i2] i2 += 1 ia += 1 while i1 < len(g1): a[ia] = g1[i1] i1+= 1 ia += 1 whil

2022 월디페 WDJF 월드 디제이 페스티벌 잠실 종합운동장 보조경기장 [내부링크]

송크란 이후 고민하다가 티켓이 매진되어서 중고나라에서 구매해서 월디페에 다녀왔다. 고민하지 말고 그냥 살껄... 비싸게 구매했다. 종합운동장에는 주차가 안된다는 얘기를 들어서 주변에 주차하려고 공영주차장으로 출발했다. 그런데 평일에 비가 너무 많이 와서 다 잠기는 바람에 주차장이 없어졌다. 그래서 길가에 있는 노상 공영주차장에 주차를 했는데 주말이라 공짜였다. 주차 후 다리를 건너가야 해서 총 20분 정도 걸어가야 도착할 수 있다. 탄천 공영 주차장 서울특별시 강남구 대치동 78-25 도착해서 민증을 안 가져와서 엄청 걱정했다. 모바일 운전면허증 발급받아야 하나 찾아보면서 갔는데 민증 사진으로도 가능해서 다행이었다. 일기예보에 비가 있어서 그런지 우비도 나눠 줬는데 비가 안 와서 쓸 일은 없었다. 메인 스테이지로 가는 길에 피치스 스테이지도 구경하고 도착했다. 벤츠 부스에서 인증샷을 찍고 인스타에 태그와 함께 올리면 팔찌를 만들 수 있었다. 돌아다니면서 이것저것 받았다. 컨디션에서

9. 삽입 정렬 [내부링크]

삽입 정렬(insertion sort)은 아직 정렬되지 않은 임의의 데이터를 이미 정렬된 부분의 적절한 위치에 삽입해 가며 정렬하는 방식입니다. 9-1 일반적인 삽입 정렬 알고리즘을 사용해서 리스트 [2, 4, 5, 1, 3]을 정렬하는 과정을 적어 보세요. def ins_sort(a): n = len(a) for i in range(1, n): key = a[i] j = i - 1 while j >= 0 and a[j] > key: a[j + 1] = a[j] j -= 1 a[j + 1] = key d = [2, 4, 5, 1, 3] ins_sort(d) print(d) >> [1, 2, 3, 4, 5] 9-2 문제 9에서 설명한 정렬 알고리즘은 숫자를 작은 수에서 큰 수 순서로 나열하는 오름차순 정렬이었습니다. 이를 큰 수에서 작은 수 순서로 나열하는 내림차순 정렬로 바꾸려면 프로그램의 어느 부분을 바꿔야 할까요? def ins_sort(a): n = len(a) for i in

7. 순차 탐색 [내부링크]

7-1 순차 탐색 알고리즘을 이용하여 주어진 리스트 [17, 92, 18, 33, 58, 5, 33, 42]에서 특정 값(18, 33, 900)을 찾아서 해당 위치 번호를 돌려주는 알고리즘을 만들어 보세요. def search_list(v, n): for i in range (1,len(v)): if v[i] == n: return i return -1 v = [17, 92, 18, 33, 58, 7, 33, 42] print(search_list(v, 18)) print(search_list(v, 33)) print(search_list(v, 900)) >> 2 >> 3 >> -1 7-2 7-1은 리스트에 찾는 값이 여러 개 있더라도 첫 번째 위치만 결과로 돌려줍니다. 찾는 값이 나오는 모든 위치를 리스트로 돌려주는 탐색 알고리즘을 만들어 보세요. 찾는 값이 리스트에 없다면 빈 리스트인 [ ]를 돌려줍니다. def search_list(v, n): ls = [] for i in r

8. 선택 정렬 [내부링크]

선택 정렬(selection sort)은 정렬되지 않은 데이터들에 대해 가장 작은 데이터를 찾아 가장 앞의 데이터와 교환해나가는 방식입니다. 8-1 일반적인 선택 정렬 알고리즘을 사용해서 리스트 [2, 4, 5, 1, 3]을 정렬하는 과정을 적어 보세요. def sel_sort(a): n = len(a) for i in range(0, n - 1): min_idx = i for j in range(i + 1, n): if a[j] < a[min_idx]: min_idx = j a[i], a[min_idx] = a[min_idx], a[i] l = [2, 4, 5, 1, 3] sel_sort(l) print(l) >> [1, 2, 3, 4, 5] 8-2 8-1은 숫자를 작은 수에서 큰 수 순서로 나열하는 오름차순 정렬이었습니다. 이 알고리즘을 큰 수에서 작은 수 순서로 나열하는 내림차순 정렬로 바꾸려면 프로그램의 어느 부분을 바꿔야 할까요? def sel_sort(a): n = len

5. 재귀 호출 최대공약수 구하기 [내부링크]

5-1 유클리드 방식을 이용해 최대공약수를 구하는 알고리즘을 구현해 보세요. def gcd(a, b): if b==0: return a return gcd(b, a%b) print(gcd(6,4)) >> 2 5-2 0과 1부터 시작해서 바로 앞의 두 수를 더한 값을 다음 값으로 추가하는 방식으로 만든 수열을 피보나치 수열이라고 합니다. 즉, 0+1=1, 1+1=2, 1+2=3이므로 피보나치 수열은 다음과 같습니다. 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55 … 피보나치 수열이 파이썬의 리스트처럼 0번부터 시작한다고 가정할 때 n번째 피보나치 수를 구하는 알고리즘을 재귀 호출을 이용해서 구현해 보세요(힌트: 7번 값 = 5번 값 + 6번 값). def fibo(n): if n <= 1: return n return fibo(n - 2) + fibo(n - 1) print(fibo(1)) print(fibo(2)) print(fibo(3)) print(fibo(4)

6. 재귀 호출 하노이의 탑 옮기기 [내부링크]

하노이의 탑에는 크기가 다른 원반이 n개 있고 원반을 끼울 수 있는 기둥이 세 개 있습니다. 하노이의 탑 문제는 어떻게 하면 원반 n개를 모두 가장 왼쪽 기둥(출발점, 즉 1번 기둥)에서 오른쪽 기둥(도착점, 즉 3번 기둥)으로 옮길 수 있을까 하는 문제입니다. 6-1 하노이의 탑을 구하는 알고리즘을 구현해 보세요. def hanoi(n, from_pos, to_pos, aux_pos): if n == 1: print("1. ",from_pos, " -> ", to_pos) return hanoi(n-1, from_pos, aux_pos, to_pos) print("2. ", from_pos, " -> ", to_pos) hanoi(n-1, aux_pos, to_pos, from_pos) print("n = 1") hanoi(1, 1, 3, 2) print("n = 2") hanoi(2, 1, 3, 2) print("n = 3") hanoi(3, 1, 3, 2)

[범계역] 카페, Vibra [내부링크]

민트색을 보고 가게 된 카페다. 입구부터 검은색과 민트색으로 깔끔하게 꾸며져 있다. 카페에 나그참파가 있어서 향이 좋다. 이거 보고 집에도 나그참파를 사봤는데 집에서 피우기엔 좁아서 안 맞았다. 메뉴판 앞에 스티커는 가져가도 된다. 블랙라뗴는 초코 맛나는 라떼인데 예쁘고 맛있다. 비브라 쉐이크는 민트색인데 바나나맛이 난다. 소파 좌석이 많아서 편해서 좋다. 창가에 소파 좌석에 앉으면 뷰가 좋다. 새로 지은 힐스테이트가 보인다. 크로플 먹는 날은 아메리카노랑 차를 마셨다. 크로플도 먹어봤는데 크로플 맛집이다. 바삭한 크로플에 아이스크림 조합이 너무 맛있었다. 블랙라떼도 초코색이 아니라 까만색인데 초코맛이고 맛있다. 크로플 냠 Vibra coffee studio 경기도 안양시 동안구 평촌대로223번길 64 제일빌딩 3층 Vibra coffee studio

1. 1부터 n까지의 합 구하기 [내부링크]

1-1 1부터 n까지 연속한 숫자의 제곱의 합을 구하는 프로그램을 for 반복문으로 만들어 보세요(예를 들어 n = 10이라면 12 + 22 +32 + … + 102 = 385를 계산하는 프로그램입니다). def sum(n): s = 0 for i in range(1,n+1): s = s + i**2 return s print(sum(10)) >> 385 1-2 연습 문제 1-1 프로그램의 계산 복잡도는 O(1)과 O(n) 중 무엇일까요? >> O(n) 1-3 1부터 n까지 연속한 숫자의 제곱의 합을 구하는 공식은 로 알려져 있습니다. for 반복문 대신 이 공식을 이용하면 알고리즘의 계산 복잡도는 O(1)과 O(n) 중 무엇이 될까요? def sum(n): return n*(n+1)*(2*n+1)//6 print(sum(10)) >> 385 >> O(1)

2. 리스트 최댓값 찾기 [내부링크]

리스트 함수 함수 설명 사용 예 len(a) 리스트 길이(자료 개수)를 구합니다. a = [] len(a) # 빈 리스트이므로 0 len( [1, 2, 3] ) # 자료 개수가 세 개이므로 3 append(x) 자료 x를 리스트의 맨 뒤에 추가합니다. a = [1, 2, 3] a.append(4) # a는 [1, 2, 3, 4]가 됩니다. insert(i, x) 리스트의 i번 위치에 x를 추가합니다. a = [1, 2, 3] a.insert(0, 5) # 0번 위치(맨 앞)에 5를 추가합니다. # a = [5, 1, 2, 3]이 됩니다. pop(i) i번 위치에 있는 자료를 리스트에서 빼내면서 그 값을 함수의 결괏값으로 돌려줍니다. i를 지정하지 않으면 맨 마지막 값을 빼내서 돌려줍니다. a = [1, 2, 3] print(a.pop()) # 3이 출력되고 a = [1, 2]가 됩니다. clear( ) 리스트의 모든 자료를 지웁니다. a = [1, 2, 3] a.clear() # a

3. 집합 동명이인 찾기 [내부링크]

집합 함수 함수 설명 사용 예 len(s) 집합의 길이(자료 개수)를 구합니다. s = set() len(s) # 빈 집합이므로 0 len({1, 2, 3}) # 자료 개수가 세 개이므로 3 add(x) 집합에 자료 x를 추가합니다. s = {1, 2, 3} s.add(4) # s는 {1, 2, 3, 4}가 됩니다(순서는 다를 수 있음). discard(x) 집합에 자료 x가 들어 있다면 삭제합니다(없으면 변화 없음). s = {1, 2, 3} s.discard(2) # s는 {1, 3}이 됩니다. clear( ) 집합의 모든 자료를 지웁니다. s = {1, 2, 3} s.clear() # s = set(), 즉 빈 집합이 됩니다. x in s 어떤 자료 x가 집합 s에 들어 있는지 확인합니다(x not in s는 반대 결과). s = {1, 2, 3} 2 in s # 2가 집합 s 안에 있으므로 True 5 in s # 5가 집합 s 안에 없으므로 False 5 not in s #

4. 재귀 호출 팩토리얼 구하기 [내부링크]

4-1 숫자 n의 팩토리얼 구하기를 재귀 호출로 만들어 보세요. def fac(n): f = 1 if n==1: return 1 return n*fac(n-1) print(fac(5)) >> 120 4-2 1부터 n까지의 합 구하기를 재귀 호출로 만들어 보세요. def add(n): if n==1: return 1 return n + add(n-1) print(add(10)) >> 55 4-3 숫자 n 개 중에서 최댓값 찾기를 재귀 호출로 만들어 보세요. def max(l, n): if n==1: return l[0] m = max(l, n-1) if l[n-1] < m: return m else: return l[n-1] ll = [17, 92, 18, 33, 58, 7, 33, 42] print(max(ll, len(ll))) >> 92

[범계역] 일식, 이나카별장 [내부링크]

텐동을 먹어보기 전에는 튀김덮밥이 이해가 안 갔다. 튀김이 반찬도 아니고 밥이랑 먹는 게 이해가 안 갔는데 맛있다. 범계역에 롯데백화점에만 텐동집이 2개 있는데 그중 하나가 이나카별장 이다. 항상 방문하는 시간이 평일이고 거의 마감 직전이라 조용히 식사가 가능하다. 텐동에 기본적으로 간장이 뿌려져있지만 부족하면 더 찍어 먹으면 된다. 에비 텐동세트랑 회덮밥 세트를 주문했다. 이름부터 새우가 들어가는데 새우가 정말 탱글탱글하고 크고 많다. 새우튀김 단호박 튀김 꽈리고추튀김 가지 튀김 등이 있다. 튀김이라 먹다가 느끼할 수 있는데 샐러드가 있어서 깔끔하게 먹을 수 있다. 회덮밥은 평범한 초장 뿌려진 회덮밥이었다. 밥이 따로 나와서 야채가 양이 많은 것 같다. 이날 더운 날이었는데 소바를 시키길 너무 잘한 것 같다. 텐동 회덮밥 냠 이나카별장 롯데백화점 평촌점 경기도 안양시 동안구 시민대로 180 롯데백화점 평촌점 지하 1층

[Python] QT Designer PySide 계산기 [내부링크]

QT Designer와 Pyside를 이용해 계산기를 만들어보려고 한다. QT Designer를 이용하여 다음과 같이 만들어준 뒤 파이썬 파일로 변형했다. # -*- coding: utf-8 -*- ################################################################################ ## Form generated from reading UI file 'calc.ui' ## ## Created by: Qt User Interface Compiler version 6.3.1 ## ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ from PySide6.QtCore import (QCoreAp

[Python] PyInstaller로 파이썬 파일 실행파일(exe) 만들기 [내부링크]

파이썬으로 만들었던 계산기를 실행파일로 만들어보려고 한다. [Python] QT Designer PySide 계산기 QT Designer와 Pyside를 이용해 계산기를 만들어보려고 한다. QT Designer를 이용하여 다음과 같이 ... blog.naver.com 먼저 pyinstaller를 설치한다. pip install pyinstaller 실행파일을 만들 python 파일이 있는 폴더로 이동해서 다음 명령어를 입력한다. pyinstaller -w -F 파이썬파일 생성이 완료되면 파이썬 파일이 있는 폴더에 dist라는 폴더가 새로 생겼는데 이 폴더 안에 생성된 exe 파일이 있다. exe 파일을 실행시켜보면 기존 내용이 잘 실행된다.

[SHEIN] 쉬인 직구 쇼핑 배송 리뷰 [내부링크]

페스티벌 티켓을 하나 더 예매해서 옷을 또 구매했다. 지난번에 갖고 싶었는데 못 찾았던 것을 찾아서 같이 구매했다. 7월 20날 주문했는데 이 상품은 출고가 금방 광저우로 되었음에도 광저우에서 움직이지를 않았다. 광저우에서 5일 이상 지나서 걱정하고 있었는데 7월 29일 날 갑자기 택배 문자가 왔다. 택배 추적 시스템이 썩 완벽하지는 않은 것 같다. 이미 우리나라에 들어와서 우리 집 문 앞에 도착할 때까지 광저우라고 표시되어 있었다. 그래도 택배를 9일 만에 받아서 너무 만족스럽다. 밀봉은 잘 되어있다. 안에 물건도 잘 포장되어 있다. 액세서리들도 다 잘 왔다. 야광 타투 스티커라고 해서 샀는데 실제로는 어떨지 궁금하다. 저 초커 목걸이는 정말 일회용일 것 같은데 천 원이라서 구매했다. 천 원치고 퀄리티가 좋다. 보면 난해해 보이기는 하는데 하면 예쁜 것 같다. 이건 이름을 뭐라고 검색해야 할지를 몰라서 못 찾다가 어떻게 발견해서 바로 샀다. 산 것들을 다 입어봤다. 바지가 진짜 예

[평촌역] 초밥, 스시제이 [내부링크]

한 가지 음식에 빠지면 그 음식만 엄청 먹는 편이다. 지금도 좋아하기는 하지만 한때 초밥에 엄청 빠진 적이 있었는데 매주 금요일마다 이곳에서 초밥을 먹었었다. 주변이 회사여서 그런지 평일 점심에 가면 줄 서있기도 한데 저녁이나 주말에 가면 괜찮다. 세트메뉴가 구성이 좋아서 고로케가 있는 스시 세트로 주문했다. 추가 금액을 내면 우동을 소바로 변경 가능하다. 샐러드랑 장국이 먼저 나온다. 원래 구운 연어도 나와서 맛있었는데 없어져서 아쉬웠다. 그래도 연어 참치 광어 점성어 등 종류가 다양해서 좋다. 원래 뿔소라는 잘 안 먹는데 여기서는 쫄깃하니 맛있는 것 같다. 고추냉이는 초밥에 따로 안 들어있고 따로 나와서 초밥에 얹어먹으면 된다. 간장에 안 풀고 그냥 초밥 위에 얹어 먹는 게 제일 맛있다. 고로케랑 우동도 나왔다. 고로케 위에 소스가 뿌려져있는데 달달하니 바삭하다. 초밥냠 스시제이 경기도 안양시 동안구 시민대로 311 금강스마트빌딩

[백운호수] 카페, 이학순 베이커리 [내부링크]

묘하게 배는 고픈 듯 뭔가 먹고 싶은데 밥은 먹기 싫어서 베이커리 카페를 다녀왔다. 요즘 지나다니며 자주 본 것 같은데 한 번도 안 가봐서 이학순 베이커리에 방문했다. 비 오는 날이었는데 주차할 자리가 여유롭게 있어서 좋았다. 루프탑 4층까지 있다니 엄청 큰 카페다. 입구는 들어가자마자 엘리베이터와 계단이 있다. 2층 올라가자마자 한쪽에는 와인과 음료, 그리고 빵을 담을 수 있는 쟁반이 있다. 빵 종류가 엄청 많아서 고르기 힘들었는데 대표 빵 10가지 추천이 있어서 좋았다. 빵 종류가 엄청나게 많다. 가격대는 좀 있는 편인 것 같다. 빵뿐만 아니라 샐러드랑 샌드위치도 있었다. 몇 바퀴 돌다가 대표 10가지 빵 중 파게트와 앙모스를 골랐다. 바게트 종류가 많아서 너무 좋다. 황 치즈 바게트도 엄청 좋아하는데 다음에 와서 먹어봐야겠다. 원래 1인 1음료지만 빵을 시키면 1인 1음료 주문을 안 해도 된다고 한다. 이미 카페에 다녀온 뒤라 음료는 얼그레이 티 아이스 한 잔만 시켰다. 주문

[SHEIN] 쉬인 직구 쇼핑 배송 리뷰 [내부링크]

송크란 다녀온 후로 페스티벌이 재밌어서 월디페 티켓을 샀다. 이번에는 좀 더 준비해서 예쁜 옷을 입어보려고 찾아보다가 shein에서 구매하게 되었다. 옷이 너무 많아서 보다 보면 끝이 없다. 이것 때문에 며칠 동안 이 앱만 본 것 같다. 컨셉을 홀로그램이랑 요정이랑 고민하다가 결국은 요정으로 선택해서 초록 초록한 탑과 액세서리를 구매했다. 예상 배송일이 2주 정도라서 굳이 추가금을 안 내고 기본 배송을 선택했다. 7얼 17일 주문하고 예상 배송일이 8월 1일이라 안심하고 있었는데 찾아보니 예상 배송일을 넘긴 배송도 많다고 해서 너무 걱정되었었다. 그래서 맨날 배송추적하며 걱정했다. 계속 광저우에만 있어서 진짜 걱정 많이 했는데 광저우 탈출하고 한국 오니 금방이라 오늘 7월 26일에 도착했다. 총 9일 걸렸다! 좀 꼬깃꼬깃한 비닐에 오긴 했는데 밀봉은 잘 되어있다. 안에 물건은 잘 포장되어 있다. 옷도 바로 입어봤는데 잘 맞고 좋았다. 하나 더 주문했는데 기대된다.

[Python] 두 가지 동시 처리하기 Thread [내부링크]

파이썬 프로그램은 기본적으로 하나의 스레드에서 코드가 순차적으로 실행된다. 코드를 병렬로 실행하기 위해서는 별도의 스레드를 생성해야 한다. 원래는 함수 aa가 끝난 후 bb가 실행되는데 aa가 무한 루프이니 bb가 절대 실행될 일이 없다. 그런데 aa 함수를 스레드로 실행시켰기 때문에 aa와 bb가 동시 실행된다. 스레드를 실행할 때는 target에 실행할 함수만 입력하고 start 해주면 된다. import threading, time def aa(): while True: print("A") time.sleep(1) def bb(): while True: print("B") time.sleep(1) a = threading.Thread(target=aa) a.start() bb() 데몬 스레드는 메인 스레드가 종료되면 즉시 종료되는 스레드이다. 데몬 스레드가 아니면 메인 스레드가 종료되더라도 자신의 작업이 끝날 때까지 계속 실행된다. 데몬 스레드 속성을 통해 스레드가 데몬 스레드

모션 그래픽 인터랙티브 체험전 [내부링크]

돌아다니면서 저 모션 그래픽 인터랙티브 체험전 광고를 많이 봐서 궁금했다. 정보를 찾아봤는데 많이 나오지 않아서 가까우니 그냥 가봐도 괜찮을 것 같아서 다녀왔다. 평촌 아트홀은 안양 자유 공원 내에 있다. 공원 주차가 가능해서 편리하게 갈 수 있었다. 평촌 아트홀 도착했다. 주창에서도 엄청 가까워 5분도 안 걸은 것 같다. 일단 들어갔는데 어린이들이 너무 많아서 살짝 당황스러웠다. 본인이 너무 정보가 없이 방문한듯했다. 그래도 여기까지 왔으니 한번 보고 가려고 매표소에서 티켓을 결제했다. 안양 지역상품권은 결제가 안된다. 입장 전에 알았다. 어린이용 전시회였다. 입구에서 색칠할 수 있는 공룡 그림을 받을 수 있다. 빨리 보고 가야지 하고 입장했다. 여기가 생각보다 괜찮았다. 여러 영상들이 벽에 보였는데 바다 모양이 너무 이뻤다. 두 번째 비존에는 명화들의 영상이 보였다. 여기서 공룡 그림에 그림을 그리고 스캔하면 화면에 내가 그린 공룡 그림이 나온다. 내가 움직이면 입자들이 나를 따

[범계역] 순대곱창, 번창 순대곱창 타운 [내부링크]

신나는 금요일이었다. 다이어트 중이라 적당히 먹으려 했는데 한번 매운 음식이 생각나니 멈출 수 없었다. 정신을 차려보니 순대곱창을 먹으러 와있었다. 범계에서 가장 오래된 번창 순대곱창 타운이다. 안양에 순대곱창 골목은 호객이 너무 심해서 어렵던데 여기는 그런 게 없고 맛있어서 너무 좋다. 엄청 크고 자리도 많아서 편하게 먹고 갈 수 있다. 자리가 엄청 많다. 사진에는 없지만 좌식 자리도 있다. 메뉴는 순대곱창밖에 없다. 매운 게 당기면 땡초를 먹고 보통이면 순대곱창을 먹는데 이날은 매운 게 너무 먹고 싶어서 땡초로 주문했다. 볶음밥은 먹다가 중간에 주문할 예정이다. 물이랑 사이다랑 단무지를 먼저 갖다주신다. 순대곱창이 나왔다. 몇 분간 저어주며 익히고 먹으면 된다. 맵긴 한데 진짜 맛있다. 일반보다 매운맛이 조금 더 있어서 먹으면 스트레스 너무 풀리는 매운맛이다. 다음날이 힘들 수 있기 때문에 매운맛 잘 먹는 사람/ 감당 가능한 사람만 땡초를 추천한다. 본인도 불닭볶음면 잘 먹는데

[Python] 이미지 주소를 이용하여 문자 인식하기 Tesseract OCR AI [내부링크]

OCR을 적용할 이미지들을 미리 다운로드해 준비하는 것은 비효율적이다. 그래서 이미지 주소를 이용하여 다운로드하지 않고 문자를 인식해 보려고 한다. 이미지는 지난번 캡처해 둔 뉴스 기사를 사용하려고 한다. [Python] 사진에서 문자 인식하기 OCR AI OCR 은 Optical Character Recognition으로 이미지속 글자 위치를 찾고 어떤 글자인지 알아내는 것이... blog.naver.com 이미지 url은 F12를 눌러서 img 태그의 src에서 확인할 수 있다. import pytesseract import cv2 import numpy as np import urllib.request url = 'https://postfiles.pstatic.net/MjAyMjA3MTlfNzUg/MDAxNjU4MjIwOTI3NDI4.8-wQ7e8HBwDq_GsCammmJmkyXMIjvNRf_eZ8Y2sa_6cg.E4E7Xmlzh05ayJGANuNOifqT9JYx7TSNme65

[Python] OCR로 광고 멘트 사진 거르기 [내부링크]

인스타그램 자동 좋아요 코드를 사용하다가 개선해야할 부분이 생겼다. 사람이 직접 좋아요를 누를 때는 부업, 광고 계정은 그닥 좋아하지 않는다. 그런데 자동으로 하다보니 사진이 부업인지 광고인지 판단을 못해서 그냥 좋아요를 눌러버렸다. 그래서 Tesseract를 이용하여 사진에 문자를 인식해서 거르도록 하려고 한다. 또한 태그 내용을 불러와서 태그에도 거를 문자가 있으면 마찬가지로 스킵하게 하려고 한다. [Python] 인스타그램 자동 좋아요 본 코드는 인스타그램 개인 계정 페이지에서부터 시작한다. 로그인 부분은 앞선 글에 있으므로 두 개를 합... blog.naver.com Tesseract 설치하는 과정이다. [Python] 사진에서 문자 인식하기 Tesseract OCR AI OCR 은 Optical Character Recognition으로 이미지속 글자 위치를 찾고 어떤 글자인지 알아내는 것이... blog.naver.com 기존과 다르게 창 사이즈를 변경했다. 사진에 텍스트

[Python] 사진에서 문자 인식하기 OCR AI [내부링크]

OCR 은 Optical Character Recognition으로 이미지속 글자 위치를 찾고 어떤 글자인지 알아내는 것이다. 구글에서 개발한 Tesseract를 사용하여 사진에서 문자를 인식해 보려고 한다. Window 사용자는 아래 링크에서 Tessercat을 다운받을 수 있다. https://github.com/UB-Mannheim/tesseract/wiki Home · UB-Mannheim/tesseract Wiki Tesseract Open Source OCR Engine (main repository) - Home · UB-Mannheim/tesseract Wiki github.com 본 컴퓨터는 64비트 컴퓨터라 64비트 설치파일을 다운받았다. 다운받은 설치파일을 실행하면 언어는 아무거나 해도 된다. 한국어가 없어서 영어로 했다. 다음 동의 다음을 누른다. 여기서 사용할 언어를 설치해야 한다. 한국어도 설치해야 하는데 additional language data내에서 k

[Python] Pyside6 QT Designer - 간단한 브라우저 만들기 [내부링크]

QT Designer와 Pyside6을 이용하여 간단한 웹 브라우저를 만들어 보려고 한다. 우선 QT Designer를 실행시켜 틀을 먼저 잡아준다. 좌측 위젯에서 검색창으로는 lineEdit, 버튼은 pushButton, 웹 내용이 표시될 webEngineView를 드래그 해와서 웹 브라우저처럼 배치했다. 배치 완료 후 상단의 빨간색 버튼을 클릭하고 액션을 추가해 준다. 검색창에 주소를 입력 후 버튼을 클릭하면 해당 주소로 이동하게 해줄 것이므로 버튼이 클릭되었을 때 이벤트가 필요하다. 빨간색 버튼을 클릭하고 이벤트를 추가할 버튼을 클릭한 뒤 마우스를 움직이다 보면 다음 그림처럼 접지 모양이 나올 때 클릭하면 된다. 슬롯에 초록색 +버튼을 클릭해 search() 함수를 추가했다. 클릭되었을 때 이벤트를 추가할 것이므로 clicked를 선택하고 우측 main window 아래에 편집을 눌러 함수를 추가해 준다. 이제 버튼이 눌리면 search가 실행될 것이다. 이따가 search 함

[Python] QT Designer [내부링크]

QT Designer는 GUI 프로그래밍을 할 때 쉽게 레이아웃을 편집할 수 있게 해주는 편집기이다. QT Designer는 Pyside를 인스톨하면 같이 설치되기 때문에 cmd를 열고 다음과 같이 입력하면 열린다. designer 아니면 윈도우에 designer를 검색해서 실행해도 된다. 메인 윈도우 창을 추가할지, 다이얼로그 창을 추가할지, 위젯을 추가할지 선택하면 된다. 일단 메인 윈도우를 생성했다. 왼쪽에는 위젯 박스가 있다. 이곳에서 원하는 위젯을 드래그하여 창을 구성할 수 있다. 우측 상단의 객체 탐색기는 위젯들의 종속관계를 설정할 수 있다. 우측 속성 편집기에서는 위젯들의 속성을 설정할 수 있다. 현재 내용은 메인 윈도우의 속성이다. 시그널/슬롯 편집기에서는 위젯 간의 시그널-슬롯을 보여주며 편집할 수 있다. 동작 편집기에서는 액션을 편집할 수 있다. 리소스 탐색기에서는 리소스 파일을 편집할 수 있다. 간단하게 로그인 창을 만들었다. 이것을 저장하면 .ui 파일로 저장되

[Python] PySide GUI [내부링크]

Tkinter 내장 라이브러리의 GUI 프로그램 모듈이다. 위젯이 부족하고 UI가 예쁘지 않다. PyQt Qt 제작사가 아닌 회사에서 제작한 별도 파이썬 바인딩이다. 많이 알려져서 리소스를 구하기 쉽고 Qt Designer를 사용할 수 있다. PyQt 개인 사용자에게는 무료지만 상업용은 유료이다. PySide Qt 공식에서 PyQt가 상업용 라이선스가 필요한 점을 보안하고자 제작했다. Qt Designer를 사용할 수 있다. 개인용 상업용 모두 무료이다. https://wiki.qt.io/Qt_for_Python Qt for Python - Qt Wiki Qt for Python Jump to: navigation , search En Ar Bg De El Es Fa Fi Fr Hi Hu It Ja Kn Ko Ms Nl Pl Pt Ru Sq Th Tr Uk Zh Qt for Python The Qt for Python project aims to provide a complete p

[범계역] 카페, 카페페이버릿컬러 [내부링크]

레몬 케이크를 찾다가 너무 귀여워서 가게 되었다. 카페가 너무 귀엽고 아기자기해서 친구도 데리고 갔다. 입구부터 귀여움이 보인다. 처음 갔을 때 메뉴판을 못 찍어서 두 번 방문했다. 덕분에 더블초코, 멜론 소다, 아이스 아메리카노, 페퍼민트 허브티 4가지 음료를 마셔봤다. 케이크 종류가 엄청 많은데 다 너무 예쁘다. 레몬 케이크는 많이 먹었는데 귀엽고 맛있고 귀엽다. 요새 초당 옥수수 디저트가 핫해서 초당옥수수 크럼블 하겐다즈 바닐라도 먹어보았다. 아기자기한 소품들이 많고 이쁘게 꾸며져 있어서 사진 찍을 데도 너무 많다. 저 곰돌이 조명 말랑하게 생겼는데 안 말랑하다. 곰돌이 색깔별로 갖고 싶다. 사진을 찍으면 프린트해주는 기계가 있다. 1인당 1번 사용할 수 있다. 흑백으로 나오긴 하는데 재밌다. 위는 더블초코, 멜론 소다, 레몬 케이크다. 초코는 꾸덕꾸덕한 초코맛이고 멜론 소다는 위에 바닐라 아이스크림이 올라간 멜론 소다 맛이다. 근데 멜론 소다가 너무 이쁘게 생겼다. 레몬 케이

[Python] 파이썬 코드로 cmd 실행하기 [내부링크]

열려있는 창에서 크롤링을 하고자 할 때, 특정 포트로 창을 열어놓고 실수로 닫아서 다시 cmd를 열어서 시작해야 하는 경우가 있었다. 또한 매번 cmd를 열어서 코드를 치기 귀찮아서 파이썬으로 자동으로 창을 열어주게 하려고 한다. [Python] 열려있는 chrome 창에서 크롤링 cmd를 관리자 모드로 실행 후 chrome.exe가 있는 폴더로 이동 후 크롬을 디버깅 모드로 실행한다. 완료되면... blog.naver.com 내용은 위 링크와 같다. import os os.chdir('C:\\Program Files\\Google\\Chrome\\Application') os.system('chrome.exe --remote-debugging-port=9222 --user-data-dir="C:\\Users\\User\\Desktop\\py\\chrome') 파이썬에서 쉘 명령어를 사용하려면 os 모듈을 임포트 해서 system 함수를 사용하여 사용한다. os.system에 명령어

[Python] tkinter GUI [내부링크]

GUI란 Graphical User Interface의 약자로서 눈에 띄는 직관적인 조작 방식이다. (아이콘, 이미지, 버튼) CLI(Command Line Interface)는 음식을 주문할 때 점원에게 말 또는 글로 주문하는 것이고, GUI는 음식이 그려진 메뉴판에서 원하는 것을 가리키며 주문하는 것에 비유할 수 있다. 파이썬에서 print를 하면 콘솔에 띄워지므로 tkinter를 이용해 예쁘게 정보를 표시해 보려고 한다. 기본 기본 내장 모듈이므로 따로 설치 없이 라이브러리를 import 했다. tk를 선언하고 메인 루프를 선언했다. 이제 실행되고 종료 버튼을 누르기 전까지 종료되지 않는다. from tkinter import * tk = Tk() tk .mainloop() 2. 제목 추가, 창 크기 설정 제목을 추가하고 창 사이즈를 400*100으로 설정해 주었다. from tkinter import * tk = Tk() tk.title("제목") tk.geometry("40

[Python] (unicode error) 'unicodeescape' codec can't decode bytes in position 58-59: truncated [내부링크]

경로는 맞게 썼는데 오류가 뜬다. 경로 입력중 \가 유니코드로 인식되기 때문에 오류가 떴다. 기존 경로에서 \를 \\로 다음과 같이 수정하면 오류가 없어진다. C:\\Users\\User\\Desktop\\py\\chrome 아니면 경로 따옴표 앞에 r을 추가해도 된다. r'C:/Users/User/Desktop/py/chrome'

[Python] 랜덤 딜레이로 사람처럼 보이기 [내부링크]

인스타그램 자동 좋아요 코드를 사용하다가 또 밴 당했다. [Python] 인스타그램 자동 좋아요 본 코드는 인스타그램 개인 계정 페이지에서부터 시작한다. 로그인 부분은 앞선 글에 있으므로 두 개를 합... blog.naver.com 기존 코드에는 좋아요 클릭하고 2초 딜레이 후 다음 사진으로 넘어간다. 계속 동일 시간으로 반복작업을 해서 그런 것 같다. 그래서 랜덤하게 딜레이를 주려고 한다. 또한 랜덤하게 몇몇 사진은 좋아요를 하지 않고 패스해서 진짜 사람인 것처럼 동작하게 하려고 한다. 우선 랜덤 한 숫자부터 테스트해 보았다. 2에서 10 사이의 랜덤 수 20개를 뽑았다. import random for i in range (20): print(random.uniform(2,10)) 숫자가 랜덤하게 잘 나온다. 기존 딜레이 2초보다는 사람 같을 것 같다. 다음은 0과 1의 랜덤 한 숫자를 뽑는데 20%의 확률로 0을 80%의 확률로 4를 뽑는다. import random for i

2022 S20 송크란 edm 뮤직 페스티벌 서울랜드 [내부링크]

송크란은 처음 들어봤는데 태국에서 물뿌리는 신년 축제라고 한다. 물을 많이 뿌리는 edm 페스티벌이라 재밌어 보였다. 몇 년간 코로나로 행사가 많이 안 열렸기 때문에 올해는 가보기로 했다. 1차 때 구매를 못해서 티켓값은 130,000 이었다. 걱정되기도 하고 기대되기도 하는 맘으로 서울랜드에 도착했다. 주차공간이 적을 줄 알고 조금 일찍 갔는데 너무 여유로웠다. 서울랜드 입구에서 코끼리 열차를 타거나 걸어서 서울랜드로 가야 한다. 걸어가는 길에도 곳곳에 표지판이 잘 설치되어 있었다. 매표소에 도착하니 일정이 잘 정리되어 있었다. 양쪽이 포토존인데 너무 덥고 사람도 많았지만 난 줄 서서 찍었다. 위메프에서 티켓을 구매해서 입장 밴드를 교환받고 소지품 검사도 받았다. 가방을 안 들고 가서 딱히 뭐가 없었다. 토요일 1일권이다. 메인 스테이지로 가려고 하는데 서울랜드를 관통해서 간다. 입구부터 정반대 쪽 끝까지 간 것 같다. 방수팩도 안 가져와서 중간에 샀다. 앞에서 팔겠지 생각하고 그

[평촌 먹거리촌] 브런치, 숲 [내부링크]

한 6년 전쯤 라자냐가 정말 먹고 싶었던 적이 있었다. 요즘은 라자냐를 파는 곳이 그래도 있지만 이때는 주변에 라자냐를 파는 곳이 많이 없었다. 열심히 검색에 검색을 하다가 이곳을 발견했다. 한번 갔다가 라자냐에 반해서 종종 방문했었는데 최근에는 못 갔던 것 같다. 그래서 오랜만에 라자냐를 먹으러 다시 방문했다. 내부가 아기자기하고 편한 분위기이다. 입구 쪽은 창이 커서 채광이 좋고 반대쪽은 테라스가 있다. 벽에도 메뉴판이 있지만 메뉴판을 따로 갖다주신다. 일단 라자냐는 당연히 포함이고 단호박 먹물 피자와 콥 샐러드를 주문했다. 음식에 음료가 포함이라 카페라떼랑 콜라랑 캐모마일 티 아이스로 정했다. 음료 변경 시 추가 금액을 지불하면 된다. 내부에 화장실과 물 디스펜서, 티슈가 있다. 음료랑 피클이 먼저 나왔다. 콥 샐러드, 라자냐, 단호박 먹물 피자이다. 샐러드가 생각보다 양이 많고 푸짐했다. 닭 가슴살 아보카도 올리브 등 각종 야채가 엄청 많다. 라자냐는 소스도 맛있고 조합이 너

[수원역] 파스타, 바비레드 [내부링크]

오랜만에 수원역에 가게 되어서 바비레드를 먹으러 갔다. 처음 듣고 파스타에 밥을 비벼 먹는다고 해서 이상했는데 먹고 보니 너무 맛있어서 먹게 된다. 사실 파스타보다 밥이 더 맛있는 것 같다. 가자마자 9팀점도 앞에 있어서 잠시 기다렸다. 자리를 안내받았다. 이 매장에는 로봇이 돌아다니는데 물병과 피클을 들고 계속 돌아다녀서 필요하면 갖다 먹으면 된다. 물 따르니 3컵 정도의 양밖에 되지 않았는데 금방 갖다 먹을 수 있어서 괜찮았다. 메뉴판에 주문방법이 적혀있다. 주문서를 작성하고 카운터에 가서 선불로 결제해야 한다. 고민을 많이 했는데 결국엔 그냥 2인 세트로 시켰다. 매운 단계는 3단계이고 음료는 유자에이드가 재밌어 보여서 골랐다. 포케류도 인기가 많은 것 같아서 다음에 먹어보고 싶다. 레드 크림 파스타 곱빼기, 스테이크 샐러드와 유자에이드 1잔이 나왔다. 스테이크 샐러드 스테이크 육즙이 엄청난데 드레싱과 야채와 잘 어우러졌다. 파스타 양념도 질리지 않고 맛있었고 샐러드와 피클로

[Python] 인스타그램 자동 좋아요 [내부링크]

본 코드는 인스타그램 개인 계정 페이지에서부터 시작한다. 로그인 부분은 앞선 글에 있으므로 두 개를 합치면 된다. [Python] 인스타그램 자동 로그인 자동으로 인스타그램 로그인을 하려고 한다. myId와 myPw에 로그인할 계정 정보를 넣어두면 자동으로 크... blog.naver.com 로그인부터 한 번에 하려고 로그인을 여러 번 시도했더니 인스타그램 계정 차단을 당했었다. 로그인 정보는 저장되지 않고 창을 새로 열 때마다 로그인을 다시 해야 한다. 그래서 계속 열려있는 창을 사용하도록 했다. [Python] 열려있는 chrome 창에서 크롤링 cmd를 관리자 모드로 실행 후 chrome.exe가 있는 폴더로 이동 후 크롬을 디버깅 모드로 실행한다. 완료되면... blog.naver.com 크롬 창을 연 뒤 로그인하고 (https://www.instagram.com/계정명/)로 이동한다. from re import search from selenium import webdriv

[Python] 인스타그램 자동 로그인 [내부링크]

자동으로 인스타그램 로그인을 하려고 한다. myId와 myPw에 로그인할 계정 정보를 넣어두면 자동으로 크롬을 실행해 네이버로 가서 로그인을 시도한다. from selenium import webdriver from selenium.webdriver.chrome.service import Service from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC import time myId = "로그인할 아이디" myPw = "로그인할 비밀번호" options = webdriver.ChromeOptions() options.add_experimental_option("excludeSwitches", ["enable-logging"]) service_o

[Python] 인스타그램 팔로워 팔로잉 맞팔 확인 [내부링크]

본 코드는 인스타그램 개인 계정 페이지에서부터 시작한다. 로그인 부분은 앞선 글에 있으므로 두 개를 합치면 된다. [Python] 인스타그램 자동 로그인 자동으로 인스타그램 로그인을 하려고 한다. myId와 myPw에 로그인할 계정 정보를 넣어두면 자동으로 크... blog.naver.com 로그인부터 한 번에 하려고 로그인을 여러 번 시도했더니 인스타그램 계정 차단을 당했었다. 로그인 정보는 저장되지 않고 창을 새로 열 때마다 로그인을 다시 해야 한다. 그래서 계속 열려있는 창을 사용하도록 했다. [Python] 열려있는 chrome 창에서 크롤링 cmd를 관리자 모드로 실행 후 chrome.exe가 있는 폴더로 이동 후 크롬을 디버깅 모드로 실행한다. 완료되면... blog.naver.com 크롬 창을 연 뒤 로그인하고 (https://www.instagram.com/계정명/)로 이동한다. from selenium import webdriver from selenium.webdr

[Python] div내 자동 스크롤 내리기 [내부링크]

페이지 안에 있는 div 내의 스크롤을 자동으로 내려보려고 한다. 유튜브 플레이리스트 같은 경우이다. from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.chrome.service import Service import time options = webdriver.ChromeOptions() options.add_experimental_option("excludeSwitches", ["enable-logging"]) service_obj = Service(r"C:\Users\User\Desktop\py\chromedriver.exe") driver = webdriver.Chrome(options=options, service=service_obj) driver.set_window_size(1600, 800) driver.get('https://www.youtu

[Python] 딜레이(delay) [내부링크]

time.sleep 일정 시간 동안 아무것도 안 하고 대기한다. import time time.sleep(10) 2. 암시적 대기(Implicit Waits) 명령어를 줬을 때 다음 웹페이지가 넘어올 때까지 기다리는 최대 시간이다. 웹페이지가 로딩될 때까지 기다리고 10초가 넘어가면 웹페이지가 로딩이 됐던 안됐던 다음 명령어를 실행한다. 웹페이지가 10초보다 빨리 로딩되면 바로 다음 명령어를 실행한다. from selenium import webdriver driver = webdriver.Firefox() driver.implicitly_wait(10) # seconds driver.get("http://somedomain/url_that_delays_loading") myDynamicElement = driver.find_element_by_id("myDynamicElement") 3. 명시적 대기(Explicit Waits) 특정 조건이 발생할 때까지 대기한다. title_is

[Python] 딜레이(delay) [내부링크]

time.sleep 일정 시간 동안 아무것도 안 하고 대기한다. import time time.sleep(10) 2. 암시적 대기(Implicit Waits) 명령어를 줬을 때 다음 웹페이지가 넘어올 때까지 기다리는 최대 시간이다. 웹페이지가 로딩될 때까지 기다리고 10초가 넘어가면 웹페이지가 로딩이 됐던 안됐던 다음 명령어를 실행한다. 웹페이지가 10초보다 빨리 로딩되면 바로 다음 명령어를 실행한다. from selenium import webdriver driver = webdriver.Firefox() driver.implicitly_wait(10) # seconds driver.get("http://somedomain/url_that_delays_loading") myDynamicElement = driver.find_element_by_id("myDynamicElement") 3. 명시적 대기(Explicit Waits) 특정 조건이 발생할 때까지 대기한다. title_is

[Python] 자동 스크롤 내리기 [내부링크]

한 번에 모든 정보가 나오지 않고 스크롤을 아래로 내려야지만 아래 정보가 로딩되는 경우가 있다. 모든 정보가 필요할 때 스크롤을 맨 아래 더 이상 내릴 수 없을 때까지 내려서 로딩한 뒤 크롤링 한다. 네이버 백화점 사이트도 한 번에 모든 상품 정보가 뜨지 않고 아래로 내리면 새로운 정보가 뜨다가 계속 아래로 내리면 더 이상 정보가 뜨지 않는다. 이때까지 스크롤을 내려보려고 한다. from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.chrome.service import Service import time options = webdriver.ChromeOptions() options.add_experimental_option("excludeSwitches", ["enable-logging"]) service_obj = Service(r"chromedriver.e

[Python] 열려있는 chrome 창에서 크롤링 [내부링크]

cmd를 관리자 모드로 실행 후 chrome.exe가 있는 폴더로 이동 후 크롬을 디버깅 모드로 실행한다. cd chrome.exe의 폴더로 이동 C:\Users\User>chrome.exe --remote-debugging-port=9222 --user-data-dir="경로" 완료되면 새 크롬 창이 뜬다. 다음 코드를 실행하면 열려있는 창이 네이버로 이동한다. from selenium import webdriver from selenium.webdriver.chrome.service import Service options = webdriver.ChromeOptions() options.add_experimental_option("debuggerAddress", "127.0.0.1:9222") service_obj = Service(r"C:/Users/User/Desktop/py/chromedriver.exe") driver = webdriver.Chrome(service=ser

[Python] 텍스트 추출 [내부링크]

네이버 웹툰의 인기순 웹툰을 텍스트 추출하려고 한다. 네이버 웹툰에 들어가서 F12를 누른 후 다음 화살표를 클릭해 찾고자 하는 부분을 클릭한다. 텍스트를 추출할 부분은 ol 안의 li 안의 a 태그 안의 텍스트이다. ol 태그를 우 클릭하여 copy selector를 클릭한다. ol의 selector를 복사해와서 그 안의 li 안의 a의 텍스트를 추출해 rank에 저장해두었다. li는 10개가 있으므로 10번 반복했다. from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.chrome.service import Service options = webdriver.ChromeOptions() options.add_experimental_option("excludeSwitches", ["enable-logging"]) service_obj = Service(r"C:

[인덕원역] 등갈비, 팔덕식당 [내부링크]

오랜만에 매운 음식이 당기는 날이었다. 고기도 먹고 싶었다. 그래서 매운 등갈비찜을 먹으러 팔덕식당에 갔다. 따로 주차장은 없지만 주변에 주차할 수 있다. 볶음밥을 먹을까 말까 고민하다가 곤드레 밥을 2개 시켰더니 밥 양이 많다고 세트를 추천해 주셨다. 그래서 밥 1개에 사리가 추가된 2인 세트를 1단계로 주문했다. 사리는 밀떡으로 정했다. 동치미와 무말랭이랑 메밀전이 나왔다. 동치미 국물이 시원하다. 등갈비가 나왔다. 테이블 옆에 타이머가 달려있었는데 등갈비를 11분간 끓인 뒤에 먹어야 한다고 한다. 그냥 기다리면 다 해주신다. 원래 곤드레 밥 1개지만 2개로 먹기 좋게 나눠주셨다. 알람이 울리고 바로 먹을 수 있었다. 밀떡 사리를 추가했는데 쫄깃하니 맛있다. 1단계다 보니 안 매웠는데 중간에 더 맵게 요청할 수 있었다. 고춧가루를 주셔서 원하는 매운맛으로 조절해 먹었다. 중간에 콩나물도 한번 리필해 주셔서 맛있게 먹었다. 등갈비찜 냠 팔덕식당 안양본점 경기도 안양시 동안구 관양로

[Python] DeprecationWarning: executable_path has been deprecated, please pass in a Service object [내부링크]

동작에는 문제가 없는 코드이지만 자꾸 executable_path가 deprecated 되었다는 경고가 떠서 수정해야겠다. from selenium import webdriver from selenium.webdriver.common.by import By options = webdriver.ChromeOptions() options.add_experimental_option("excludeSwitches", ["enable-logging"]) dr = webdriver.Chrome(options=options, executable_path=r'chromedriver.exe 경로') dr.set_window_size(414, 800) dr.get('https://www.google.com/') time.sleep(2) DeprecationWarning: executable_path has been deprecated, please pass in a Service object web-

[인덕원역] 카페, 리띵커피 [내부링크]

입구에 저 계단 의자를 보고 꼭 가봐야겠다고 생각했다. 주말에는 항상 사람이 많았었는데 평일에는 차가 적을까 하고 방문했지만 역시 차가 많았다. 날이 너무 더워서 아이스 아메리카노 2잔을 주문했다. 쿠키도 종류가 많았다. 레몬 쿠키가 있어서 그냥 지나칠 수 없었다. 계단 위에 앉을 수 있는 자리도 있지만 밑에 골방도 있다. 골방에 한 커플이 앉아있었는데 자꾸 뽀뽀하는 걸 보여줬다. 테이블마다 조명이 있어서 나름 분위기 있는 것 같다. 아이스 아메리카노 너무 시원하고 레몬 쿠키 너무 딱딱하지도 않고 부드러웠다. 레몬 쿠키 냠 리띵커피 경기도 안양시 동안구 동편로27번길 6-51 1층 리띵커피

[Python] pyautogui, selenium, chrome driver 설치 [내부링크]

pyautogui를 설치한다. pip install pyautogui selenium을 설치한다. pip install selenium 크롬 설정에서 크롬 버전을 확인한다. chrome://settings/help 크롬 버전에 맞는 드라이버를 다운로드한다. 윈도우는 win32를 다운로드했다. https://chromedriver.chromium.org/downloads ChromeDriver - WebDriver for Chrome - Downloads Current Releases If you are using Chrome version 103, please download ChromeDriver 103.0.5060.53 If you are using Chrome version 102, please download ChromeDriver 102.0.5005.61 If you are using Chrome version 101, please download ChromeDriver 1

[Python] 크롬 자동으로 꺼짐 [내부링크]

다음 코드를 실행했는데 크롬 브라우저가 열리자마자 꺼졌다. ctrl + f5로 실행시켰는데 우측 상단의 실행 버튼으로 실행시키면 안꺼진다.

[Python] chromedriver' executable needs to be in path [내부링크]

다음 코드를 실행했는데 오류가 뜨고 실행이 안 됐다. from selenium import webdriver browser = webdriver.Chrome('chromedriver.exe') browser.get('http://www.naver.com') chrome driver의 경로가 잘못되어서 생긴 문제였다. chrome driver.exe가 있는 경로를 추가하고 경로 앞에 r을 추가했다. from selenium import webdriver browser = webdriver.Chrome(r'C:\Users\User\Desktop\py\chromedriver.exe') browser.get('http://www.naver.com')

[평촌역] 일식, 가츠라 [내부링크]

별로 밥 생각이 없었는데 가츠라 가자는 말에 달려갔다. 내부가 아기자기하게 생겼다. 입식과 좌식 자리 두 종류 있다. 돈가스 돈부리 나베 카레 라멘 우동 소바 다 있다. 날이 너무 더워서 가츠라 정식 + 미니소바랑 감자 고로케 카레 +미니소바로 시켰다. 가츠라 정식에는 돈가스 1덩이(4조각) 생선가스 1덩이(2조각) 새우튀김 2개가 나왔다. 튀김들이 바삭바삭하니 느끼하지 않고 맛있다. 소스는 생선가스용 타르타르 소스, 돈가스 소스랑 단무지 김치가 있다. 근데 샐러드가 너무 맛있다. 감자 고로케 카레에는 감자 고로케가 3덩이가 나온다. 감자고로케랑 카레가 맛있고 조합이 좋다. 날이 너무 더웠는데 미니소바까지 먹으니 한결 시원해졌다. 돈까 카레 소바까지 냠! 가츠라 평촌점 경기도 안양시 동안구 관평로182번길 24

[Python] bluetooth_adapter_winrt.cc:1074 getting default adapter failed [내부링크]

블루투스를 사용하지 않는 다음 코드를 실행했다. 동작에는 문제가 없었지만 사용하지도 않는 usb디바이스, 블루투스 에러가 떴다. from selenium import webdriver browser = webdriver.Chrome(r'C:\Users\User\Desktop\py\chromedriver.exe') browser.get('http://www.naver.com') enable-logging 크롬 옵션을 추가하니 해결되었다. from selenium import webdriver options = webdriver.ChromeOptions() options.add_experimental_option("excludeSwitches", ["enable-logging"]) browser = webdriver.Chrome(options=options, executable_path=r'C:\Users\User\Desktop\py\chromedriver.exe') browser.ge

[Python] 네이버 자동 로그인 [내부링크]

myId와 myPw에 로그인할 계정 정보를 넣어두면 자동으로 크롬을 실행해 네이버로 가서 로그인을 시도한다. from selenium.webdriver.common.by import By from selenium import webdriver import time myId = "로그인할 아이디" myPw = "로그인할 비밀번호" options = webdriver.ChromeOptions() options.add_experimental_option("excludeSwitches", ["enable-logging"]) browser = webdriver.Chrome(options=options, executable_path=r'chromedriver.exe 경로') browser.get('http://www.naver.com') time.sleep(2) login_bt = browser.find_element(by=By.CLASS_NAME, value='sc_login') login_

[Python] 유튜브 자동 검색 [내부링크]

s에 검색할 내용을 입력하면 자동으로 크롬을 실행해 유튜브에서 검색한다. from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys from selenium import webdriver import time s = "음악" options = webdriver.ChromeOptions() options.add_experimental_option("excludeSwitches", ["enable-logging"]) browser = webdriver.Chrome(options=options, executable_path=r'chromedriver.exe 경로') browser.get('https://www.youtube.com/') time.sleep(2) search = browser.find_element(By.XPATH, '//input[@id="search"]') searc

[Python] 구글 이미지 수집 [내부링크]

foods 내에 검색할 음식들을 입력하면 각 5개의 이미지를 해당 경로 내에 jpg로 저장한다. from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.by import By import time import urllib.request def crawling_img(name): options = webdriver.ChromeOptions() options.add_experimental_option("excludeSwitches", ["enable-logging"]) driver = webdriver.Chrome(options=options, executable_path=r'chromedriver.exe 경로') driver.get('https://www.google.co.kr/imghp?hl=ko&tab=wi&authuser=0&ogbl/')

[범계역] 라멘, 우마이식당 [내부링크]

어디 라멘을 먹을까 하다가 우마이식당을 갔다. 옛날에는 1층에 있었는데 어느 날 2층으로 이전하며 더 커졌다. 이날은 밥이 먹고 싶었는데 하필 밥 종류가 다 품절이었다. 명란 소고기 덮밥이 먹고 싶었는데 아쉬웠다. 매운맛 추가한 돈코츠라멘이랑 탄탄멘을 시켰다. 입구에서 바로 키오스크로 주문하면 된다. 진동벨이 울리면 직접 음식을 가져와야 하고 먹고 난 후에는 퇴식구에 쟁반을 넣어둬야 한다. 돈코츠라멘과 탄탄멘이다. 돈코츠라멘에는 차슈가 올라가있고 탄탄멘에는 볶은 돼지고기가 올라가있다. 밑반찬으로는 깍두기랑 단무지가 나온다. 국물이 정말 진하다. 숙주와 야채와 단무지로 느끼하지 않게 먹은 것 같다. 라멘 냠 우마이식당 경기도 안양시 동안구 평촌대로223번길 52 2층 우마이식당

[범계역] 카페, 랑데자뷰 [내부링크]

친구랑 예쁜 카페를 가기로 해서 랑데쟈뷰에 갔다. 케이크 종류가 많아서 안 먹어볼 수 없다. 커피는 산미 있는 맛, 없는 맛있는데 산미를 별로 안 좋아해서 산미 없는 맛으로 주문했다. 아메리카노 1잔이, 딸기 요거트 블렌디드랑 오레오 생크림 케이크를 주문했다. 평일 6시 이전에 가면 케이크를 4000원에 먹을 수 있다고 하는데 한참 늦은 시간이라 안된다. 바닥에 나무가 깔려있다. 돌길도 있고 프로젝터로 바다를 보여줘서 제주도 분위기가 난다. 거울 포토존이 2개 있는데 아주 맛집이다. 특히 1번째가 사진이 정말 잘 나온다. 내부에 깨끗한 남녀 화장실이 있어서 너무 편리하다. 커피가 그냥 쓴맛일줄 알았는데 쓰지 않고 향이 좋고 맛있었다. 오레오케이크는 그냥 맛있다. 커피 케이크 냠 랑데자뷰 안양범계점 경기도 안양시 동안구 평촌대로223번길 56

[AutoHotKey] 웹 크롤링(GET) [내부링크]

크롤링은 웹사이트(website)의 내용을 수집하는 것이다. 크롤링을 통해 수집한 자료에서 필요한 정보만 추출하는 것을 파싱이라 한다. 예제 다음과 같이 서울 날씨를 네이버에 검색했을 때 나오는 정보를 자동으로 가져와서 메시지 박스에 띄워준다. 정보를 가져올 주소를 url에 입력한다. url := "https://search.naver.com/search.naver?where=nexearch&sm=top_hty&fbm=1&ie=utf8&query=%EC%84%9C%EC%9A%B8+%EB%82%A0%EC%94%A8" com 객체를 생성한다. get 방식으로 url에 연결한다. 응답을 기다렸다가 응답을 data에 저장했다. whr := ComObjCreate("WinHttp.WinHttpRequest.5.1") whr.Open("GET", url) whr.Send() whr.WaitForResponse() data := whr.ResponseText data의 내용이다. Instr을 사

[AutoHotKey] 반복문(Loop, While, For) [내부링크]

1. Loop 지정된 반복 횟수만큼 내용을 반복한다. 반복 횟수가 없을 경우 무한 반복한다. Loop, 반복 횟수 (내용) 예제 A_Index는 반복 횟수를 세는 내장 변수이다. 루프가 3번 돌아갔으므로 메시지 박스에는 1, 2, 3이 나온다. Loop, 3 { MsgBox, Iteration number is %A_Index%. Sleep, 100 } 2. While 조건이 false가 될 때까지 내용을 반복적으로 수행한다. while(조건) (내용) 예제 A_Index가 4보다 작을 때, 3일 때까지만 실행된다. 마찬가지로 루프가 3번 돌아갔으므로 메시지 박스에는 1, 2, 3이 나온다. while(A_Index < 4) { MsgBox, Iteration number is %A_Index%. Sleep, 100 } 3. For 범위 내에서 키-값에 대해 작업을 반복한다. 키나 값 중 하나의 값만 사용할 수도 있다. For 키, 값 in 범위 (내용) 예제 colours에 red

[AutoHotKey] 핫키(hot key), 핫 스트링(hot string) [내부링크]

1. 핫키 핫키는 작업을 실행시키기 위해 누르는 키 조합이다. 다음 키들을 활용해 여러 키를 조합할 수도 있다. 키 조합::(내용) # Windows 로고기 ! Alt ^ Ctrl + Shift & 두 개의 키 또는 사용자 정의 단축키 예제 esc를 누르면 메시지 박스에 다음과 같이 메시지를 띄워준다. Esc:: MsgBox, Escape!!!! return 하나의 항목에 대해 많은 줄의 코드도 추가할 수 있다. 다음은 ctrl + j를 누르면 많은 일이 일어난다. ^j:: MsgBox, Wow! MsgBox, There are Run, notepad.exe WinActivate, Untitled - Notepad WinWaitActive, Untitled - Notepad,, 2 Send, 7 lines{!}{Enter} SendInput, inside the CTRL{+}J hotkey. return 2. 핫 스트링 핫 스트링은 작업을 실행시키기 위해 입력하는 특정 문자 조합이다

[AutoHotKey] 좌표 [내부링크]

오토 핫 키를 실행하면 작업 표시줄에 다음과 같은 아이콘이 생긴다. 아이콘을 우 클릭하고 windows spy를 클릭해 실행시킨다. 또는 그냥 검색해서 찾을 수도 있다. 실행시키면 다음과 같이 뜬다. Screen : 컴퓨터 전체 화면의 좌표 Window : 활성화된 화면의 좌표 Client : 활성화된 화면 테두리를 제외한 좌표 Color : 색깔 코드 screen 좌표이다. 컴퓨터 화면의 좌측 상단이 (0,0) 지점이다. Window 좌표이다. 활성화된 창의 좌표이다. Client 좌표이다. 활성화된 창에서 창의 테두리를 제외한 좌표이다. x좌표는 왼쪽으로 갈수록 커지고 Y좌표는 아래로 갈수록 커진다.

[AutoHotKey] 마우스 입력(MouseMove, MouseClick, MouseClickDrag) [내부링크]

MouseMove 마우스 커서를 원하는 속도로 이동시킬 수 있다. MouseMove, x좌표, y좌표, 속도, 상대/절대좌표 설정 스피드 : 0(빠름)~100(느림)의 범위에서 마우스를 움직이는 속도이며 기본은 0이다. 상대/절대좌표 설정 : R 있으면 현 위치 기준으로 (x, y) 만큼 이동하고 생략하면 절대좌표로 취급한다. 예제 마우스 커서를 (200,100) 위치로 가장 빠르게 이동시킨다. MouseMove, 100,200 return 마우스 커서를 현재 위치에서 (100,200) 만큼 떨어진 위치로 이동시키며 아까보다 느리다. MouseMove, 100,200,50,r return 2. MouseClick 마우스 버튼을 클릭하거나 누르고 있거나 휠을 돌린다. MouseClick, 버튼, x좌표, y좌표, 클릭 횟수, 속도, 버튼 누르고 있는 상태 설정, 상대/절대좌표 설정 버튼 : 좌 클릭(기본) l, 우 클릭 r, 가운데 버튼 클릭 m을 고를 수 있다. 클릭 횟수 : 클릭할

[AutoHotKey] 키보드 입력(Send, SendInput) [내부링크]

기호 키 누름 뗌 ^ {Ctrl} {Ctrl down} {Ctrl up} + {Shift} {Shift down} {Shift up} ! {Alt} {Alt down} {Alt up} # {LWin} {RWin} {LWin down} {RWin down} {LWin up} {RWin up} 1. Send 사람이 타이핑하는 것처럼 일일이 타이핑하게 되어 느리다. Send, 키 예제 문장이 천천히 타이핑된다. Sends send and sendInput ctrl 버튼과 Home 버튼을 동시에 누른다 Send ^{Home} AbC가 타이핑된다. Send +abC 2. SendInput 복사하여 붙여 넣는 스피드로 빠르다. SendInput, 키 예제 문장이 복사 붙여넣기처럼 빠르게 입력된다. SendInput send and sendInput 기타 키 옵션들을 조합해서 사용할 수 있다. 기호 키 {F1} - {F24} F1 - F24 {!} ! {#} # {+} + {^} ^ {{} {

[AutoHotKey] 내장 변수 [내부링크]

다음 변수들은 프로그램에 내장되어 있으며 스크립트로 참조할 수 있다. 내장 변수는 읽기 전용이라 내용을 바꿀 수 없다. 특수문자 A_Space 이 변수는 스페이스 문자가 하나 담겨 있다. A_Tab 이 변수는 탭 문자 하나가 담겨 있다. 스크립트 특성 A_WorkingDir 스크립트의 현재 작업 디렉터리로서, 기본값으로 여기에서 파일에 접근 A_ScriptDir 현재 스크립트가 위치한 디렉터리의 완전한 경로 A_ScriptName 현재 스크립트의 파일 이름 A_ScriptFullPath 위의 두 변수를 조합해 스크립트를 완전하게 지정 A_ScriptHwnd 스크립트의 숨은 메인 창의 유일한 ID (HWND/handle) A_LineNumber 스크립트 안에서 현재 실행 중인 줄의 번호 A_LineFile A_LineNumber 가 속해 있는 파일의 전체 경로와 이름 A_ThisFunc 현재 실행 중인 사용자-정의 함수의 이름 A_ThisLabel 현재 실행 중인 라벨 (서브루틴)의

[AutoHotKey] 함수(function) [내부링크]

중복 내용은 함수를 통해 간단히 할 수 있다. 매개변수는 있어도 되고 없어도 된다. 함수 이름(매개변수) (내용) return (값) 예제 Add함수는 x와 y를 매개변수로 받아 x+y값을 보내준다. 그 값을 Var에 넣어 메세지박스로 출력했다. Add(x, y) { return x + y } Var := Add(2, 3) MsgBox %Var% returnTest는 매개변수는 없고 123값만 보내준다. Test는 이 값을 저장하고 메세지박스로 Test를 출력하면 123이 나온다. Test := returnTest() MsgBox % Test returnTest() { return 123 }

[AutoHotKey] 이미지 서치(ImageSearch) [내부링크]

이미지 서치는 화면에서 원하는 이미지를 찾아준다. ImageSearch, x좌표 결괏값, y좌표 결괏값, 시작 지점 x, 시작 지점 y, 끝 지점 x, 끝 지점 y, 찾을 이미지 x좌표 결괏값 : 이미지를 찾았을 경우 이미지의 왼쪽 상단의 x좌표 y좌표 결괏값 : 이미지를 찾았을 경우 이미지의 왼쪽 상단의 y좌표 시작점(x, y) : 이미지 검색을 시작할 시작점 끝 지점(x, y) : 이미지 검색의 끝 지점 찾을 이미지 : 찾고자 하는 이미지 예제 시작 위치는 (0,0)으로 좌측 상단으로부터 끝나는 위치는 (1918,916) 우측 하단까지로 설정했다. 찾을 이미지는 다음과 같은 네이버의 초록색 N(n.PNG)으로 했다. 이미지를 찾은 후에는 마우스를 해당 위치로 이동시키고 결괏값(x, y)를 메시지 박스로 출력했다. F1:: ImageSearch x,y,0,0,1918,916,n.PNG if (ErrorLevel = 0) { MouseMove x,y MsgBox found!!!(x

[AutoHotKey] 픽셀 서치(PixelSearch) [내부링크]

픽셀 서치는 화면에서 원하는 색의 픽셀을 찾아준다. PixelSearch, x좌표 결괏값, y좌표 결괏값, 시작 지점 x, 시작 지점 y, 끝 지점 x, 끝 지점 y, 컬러 ID, 오차 범위, 모드 x좌표 결괏값 : 이미지를 찾았을 경우 이미지의 왼쪽 상단의 x좌표 y좌표 결괏값 : 이미지를 찾았을 경우 이미지의 왼쪽 상단의 y좌표 시작점(x, y) : 이미지 검색을 시작할 시작점 끝 지점(x, y) : 이미지 검색의 끝 지점 컬러 ID : RGB 형식으로 검색할 10진수 또는 16진수의 색상 ID (예 0x9d6346) 오차 범위 : 색상 검색 오차 범위(예 오차 범위가 2이고 id가 0x444444 이면 0x424242 - 0x464646까지 검색) 모드 : fast 모드는 빠른 검색, RGB 모드는 RGB로 검색 색을 찾을때는 다음 툴을 사용하면 유용하다. https://blog.naver.com/PostView.naver?blogId=ska097777&logNo=2226083

[AutoHotKey] smart GUI [내부링크]

GUI란 Graphical User Interface의 약자로서 눈에 띄는 직관적인 조작 방식이다. (아이콘, 이미지, 버튼) CLI(Command Line Interface)는 음식을 주문할 때 점원에게 말 또는 글로 주문하는 것이고, GUI는 음식이 그려진 메뉴판에서 원하는 것을 가리키며 주문하는 것에 비유할 수 있다. 오토 핫 키 편집기(SciTE4AutoHotkey)에서 "SmartGUI Creator" 버튼을 클릭한다. 좌측에는 좌표 창의 보이고, 우측에는 실제 보이게 될 모습이 보인다. 상단에서는 도구를 선택할 수 있다. (버튼, 체크박스, 라디오박스, 프로그레스 바, 슬라이더 등) 원하는 대로 쉽게 꾸밀 수 있다. file - test script를 클릭하면 만들어둔 디자인을 미리 볼 수 있다. 저장할 때는 file-save script and exit을 클릭한다. save new gui to file을 클릭한다.

[AutoHotKey] 조건문(If, Else) [내부링크]

조건 내용이 true 일 때 내용을 실행한다. if와 else만 존재할 수도 있고 조건이 여러 개이면 else if로 조건을 여러 개 추가할 수 있다. if (조건) (내용) else if (조건) (내용) else (내용) 예제 숫자를 비교하는 조건문이다. num이 100보다 클 경우 메시지 박스에 "over100"이라는 메시지가 출력된다. 한 줄일 경우에는 중괄호가 필요 없다. num = 180 if ( num > 100 ) MsgBox over100 return 문자를 비교하는 else if가 사용된 조건문이다. Color가 Blue나 White일 경우 메시지 박스에 "Blue or White"라는 메시지가 출력된다. Color가 Silver일 경우 메시지 박스에 "Silver" 메시지가 출력된다. Color가 조건에 부합하지 않는 경우 else가 실행되어 메시지 박스에 "This color is not recognized"가 출력된다. Color= Blue / White /

[AutoHotKey] 메시지 박스(MsgBox) [내부링크]

MsgBox는 지정된 텍스트를 보여준다. MsgBox, Text MsgBox, Options, Title, Text, Timeout Text : 정보를 표시하기 위해 메시지 상자 내부에 표시되는 텍스트 Options : 메시지 상자의 유형과 가능한 버튼 조합 Title : 메시지 상자 창의 제목 Timeout : 시간이 경과하면 자동으로 메시지 상자가 닫힘 Options 버튼 기능 10진수 값 16진수 값 확인(즉, 확인 버튼만 표시됨) 0 0x0 확인/취소 1 0x1 중단/재시도/무시 2 0x2 예/아니오/취소 3 0x3 예/아니오 4 0x4 재시도/취소 5 0x5 취소/다시 시도/계속 6 0x6 2. 아이콘 기능 10진수 값 16진수 값 아이콘 손(정지/오류) 16 0x10 아이콘 질문 32 0x20 아이콘 느낌표 48 0x30 아이콘 별표(정보) 64 0x40 3. 기본 버튼 기능 10진수 값 16진수 값 두 번째 버튼을 기본값으로 설정 256 0x100 세 번째 버튼을 기본값

[AutoHotKey] 변수(Variable) [내부링크]

오토 핫 키에서는 따로 데이터 타입을 정하지 않는다. 변수를 선언하는 방법은 두 가지로 나뉜다. =를 사용하면 값을 문자로 인식하고 :=를 사용하면 숫자로 인식한다. 다만 "값"일 경우는 :=일 때도 문자로 인식한다. 변수 = 값 >> 값을 문자로 인식 변수 := 값 >> 값을 숫자로 인식 변수 := "값" >> 값을 문자로 인식 num1과 num3은 문자로, num2는 숫자로 인식되어 계산된 값이 출력되었다. num1 = 123 + 123 num2 := 123 + 123 num3 := "123 + 123" MsgBox, %num1% MsgBox, %num2% MsgBox, %num3% str1과 str3은 문자로 인식되어 값이 출력되었지만 str2는 문자이므로 인식되지 못해 빈칸이 출력되었다. str1 = Hi str2 := Hi str3 := "Hi" MsgBox, %str1% MsgBox, %str2% MsgBox, %str3%

[AutoHotKey] 연산자(Operator) [내부링크]

연산자의 종류는 산술연산자, 대입연산자, 비교연산자, 증감연산자, 논리연산자 등이 존재한다. 산술연산자 연산자 의미 + 덧셈 - 뺄셈 * 곱셈 / 나눗셈 ** 제곱 // 몫 2. 대입연산자 연산자 의미 := 값 대입 = 문자 대입 += 더해서 대입 -= 빼서 대입 *= 곱해서 대입 /= 나눠서 대입 3. 비교연산자 연산자 의미 > 왼쪽이 크다 < 오른쪽이 크다 >= 같거나 왼쪽이 더 크다 <= 같거나 오른쪽이 더 크다 = 같다 == 대소문자 같다 <>, != 다르다 4. 증감연산자 연산자 의미 ++ 1씩 증가 -- 1씩 감소 5. 논리연산자 연산자 의미 && AND || OR ! 부정

[범계역] 떡볶이, 떡슐랭 [내부링크]

정말 오랜만에 만난 친구랑 떡볶이를 먹기로 했다. 친구가 떡슐랭을 한 번도 안 먹어봤다 해서 맛집이라 자랑하며 데려갔다. 동네에 있어서 자주 갔던 곳인데 유튜버 떡볶퀸님이 소개해 주셔서 너무 신기했었다. 떡슐랭은 지하 1층에 있다. 먼저 자리를 잡고 키오스크에서 주문한다. 메뉴판을 사진을 찍었는데 너무 못 찍어서 그냥 검색해서 가져왔다. 테이블 번호를 입력하고 음식을 주문한다. 사이드랑 사리가 종류가 정말 많다. 내가 많이 못 먹어서 너무 아쉽다. 기본 2인 떡볶이 2단계(신라면 정도)에 버터 갈릭 프라이를 시켰다. 물이랑 국자, 단무지, 앞접시, 소스는 직접 가져가야 한다. 떡볶이 위에는 만두피 튀김인데 이것도 별미다. 떡볶이 구성은 떡 어묵 소시지 메추리알인데 양념이 엽떡 신전과는 다른 맛이다. 버터 갈릭 프라이는 소스도 맛있고 떡볶이에 찍어 먹는 것도 맛있는 것 같다. 떡볶이 냠 떡슐랭 경기도 안양시 동안구 평촌대로223번길 59 서련코아빌딩 지하1층

[AutoHotKey] 오토핫키 설치하기 [내부링크]

다음 사이트에서 오토핫키를 설치한다. v1은 사라지게 될 것이고 v2이므로 그냥 현재 버전을 다운받는다. https://www.autohotkey.com/ AutoHotkey Key Binds Define hotkeys for the mouse and keyboard, remap keys or buttons and autocorrect-like replacements. Creating simple hotkeys has never been easier; you can do it in just a few lines or less! LEARN MORE What is AutoHotkey AutoHotkey is a free, open-source scripting language for Windows that ... www.autohotkey.com 다운받은 파일을 설치한다. 따로 커스텀 설치는 하지 않았다. 오토핫키 편집기를 설치한다. https://www.autohotkey.com/sc

[AutoHotKey] 스크립트를 만드는 방법 [내부링크]

작업 폴더를 만들고 폴더에서 우클릭 - 새로만들기 - AutoHotKey Script를 클릭한다. .ahk확장자로 끝나는 새 스크립트를 만들었다. 스크립트를 편집할때는 우클릭을 해서 Edit Script를 클릭해야 한다. 다음과 같이 오토핫키 편집기가 뜬다.(편집기가 설치되지 않았다면 메모장이 뜸) 이제 내용을 지우고 명령어를 입력하면 된다.

[정자역] 햄버거, 브루클린 더 버거 조인트 [내부링크]

저녁으로 수제버거를 먹으러 갔다. 금요일 저녁이었는데 웨이팅이 1팀 있었다. 와관부터 빈티지한 느낌이 좋았다. 영업시간이 밖에 쓰여있다. 내부 의자가 원형인 게 독특했다. 주황색이 빈티지한 인테리어와 잘 어울린다. 앉고 싶었던 자리에 앉게 되었다. 메뉴판과 식기가 세팅되어 있고 소스로는 케첩, 머스터드, 마요, 소금, 후추가 있다. 햄버거 종류가 많아서 뭘 먹을지 고민했다. 베이컨 치즈 프라이가 먹고 싶었던지라 세트를 시키지 않았다. 햄버거는 브루클린 웍스 140g이랑 램버거를 시켰다. 음료수도 버블업이 무슨 맛일지 궁금해서 시켜보았다. 음료가 먼저 나왔다. 설명하기 어려운 맛이다. 약간 달달한 맛이 나면서 풍선껌향 같기도 하고 맛있었다. 감자튀김이 정말 맛있게 생겼다. 소스가 있는 버거가 램버거 이다. 소스는 큐민마요 소스인데 같이 먹으면 잘 어울린다. 브루클린 웍스에는 마요네즈를 살짝 뿌려먹으니 더 맛있었다. 햄버거 냠 브루클린더버거조인트 분당정자점 경기도 성남시 분당구 정자일로

[삼성역] 샐러드, 피그 인 더 가든 [내부링크]

가끔 건강하게 먹고 싶을 땐 샐러드를 먹는다. 피그는 가든에 도착했다. 코엑스와도 연결되어 있고 전용 출입구도 있다. 외부 메뉴판은 사실 너무 복잡하고 내부에서 사진과 함께 보는 게 나은 것 같다. 플레이트와 보울 메뉴판이 따로 있고 주문하는 곳도 다르다. 먼저 메뉴를 정하고 플레이트는 플레이트 쪽에 줄을 서고 보울은 보울쪽에 줄을 서서 메뉴를 말하면 주문서를 준다. 주문서를 확인하고 다음 샐러드를 정한다. 샐러드까지 정하면 완성된 메뉴와 주문서를 가지고 카운터로 가서 주문하면 된다. 수비드 포크밸리 플레이트와 비프 머쉬룸 라이스 보울을 주문했다. 수비드 포크밸리는 삼겹살이라 맛 걱정이 없다. 샐러드로는 가지 라자냐와 그릴 브로콜리를 주문했다. 가지는 그냥 맛있고 브로콜리는 좀 크지만 고기와 조합은 괜찮았다. 비프 머쉬룸 라이스는 소고기와 야채와 참깨 드레싱이 잘 어울렸다. 현미밥이 들어있어 더 건강한 것 같다. 샐러드 냠 다 먹고 난 뒤에는 퇴식구에 넣어두면 된다. 나오는 길에 팔

[삼성역] 카페, w 스타일 도넛 [내부링크]

분홍색 건물을 처음 본 순간 여길 꼭 가야겠다고 생각했다. 저 멀리서도 보일 만큼 강렬한 건물 외관이다. 도착하면 도넛이 손을 들고 있다. 들어가자마자 벽이 여러 가지 도넛 포스터와 스티커들로 예쁘게 꾸며져있다. 한쪽에는 병음료와 캔 음료가 있는 냉장고가 있고 또 다른 한쪽에는 귀여운 물건들을 팔고 있다. 도넛 종류가 정말 많다. 이름들도 너무 재미있는 것 같다. 제일 눈이 가던 사과 모양의 사과 크림과 맛이 기대되던 산소 같은 요거트를 골랐다. 도넛이라 아이스 아메리카노 2잔도 주문했다. 2층에서 먹고 갈 수 있다. 스누피들이 뭘 들고 있는 게 귀엽다. 곰돌이들의 티파티 테이블도 예쁘게 꾸며져 있다. 1층에는 남자화장실, 2층에는 여자화장실이 있다. 도넛이 너무 맛있게 생겼다. 잘라보면 크림이 이렇게 들어있다. 보통 크림인가 했는데 사과 크림 도넛에는 사과가 들어있는 사과 크림이었다. 크림에서 사과향이 나니 상큼했다. 산소 같은 요거트 도넛도 요거트 크림이라 느끼한 맛없이 맛있었다

2022 CJ대한통운 슈퍼레이스 챔피언십, 인제 스피디움 나이트 레이스 [내부링크]

몇 년 전 나이트 레이스를 보고 너무 재밌어 보여서 가고 싶었다. 드디어 올해는 실제로 가보려고 인제 스피디움에 방문했다. 인제.... 가면 언제 오나 하며 출발했다. 가는 길에 살짝 날씨가 안 좋더니 비가 오기 시작해서 걱정했으나 다행히 도착하니 비는 오지 않았다. 강원도는 터널이 엄청 많은데 터널 하나 지날 때마다 새로운 날씨이다. 총 3시간 정도 걸려서 도착했다. yes24로 티켓을 예매했는데 매표소에서 팔찌와 교환해야 했다. 늦게 도착했는데도 줄이 생각보다 길었다. 표 교환 후 팔찌와 가방을 받았다. 혹시 몰라 내 가방을 들고 갔는데 짐만 되고 불편해서 저 비닐가방 안에 내 가방을 넣고 다녔다. 다음에는 그냥 최대한 가볍게 소지품만 들고 가야겠다. 입구에서 팔찌를 확인하고 계단을 올라갔다. 그랜드스탠드까지 가야 한다. 여기서 팔찌를 한 번 더 확인한다. 자유좌석이라 자리는 아무 데나 앉으면 된다. 경기장 뒤쪽에서는 이벤트와 푸드트럭이 있었다. 가방에 무료 음료 쿠폰과 미션 스

[KiCad] 회로도 심볼 그리기 [내부링크]

심볼을 그리기 위해 심볼 편집기로 들어간다. 기존 라이브러리가 없으므로 새 라이브러리를 추가한다. 이곳에 그려진 심볼이 추가된다. 전역을 선택하면 전체 프로젝트에서 사용할 수 있고 프로젝트를 선택하면 현재 프로젝트 내에서만 사용할 수 있다. 라이브러리가 저장될 위치이다. 라이브러리 목록에 방금 만든 라이브러리가 추가되었다. 라이브러리를 우클릭해 새로운 심볼을 클릭한다. 심볼의 정보를 입력한다. 글씨가 겹쳐져있으므로 심볼을 그릴 수 있도록 이동시켜준다. 우측 "호 추가"를 클릭해 그려준다. 호 가운데 검정색 점으로 깊이를 조절할 수 있다. 호를 여러개 복붙하고 직선을 추가했다. R을 클릭해 회전시켰다. 우측 "원 추가" 버튼을 클릭해 원을 그려준다. 원을 그리고 더블클릭하면 속성창이 나온다. 원의 색을 외곽선 색상으로 채워준다. 복붙하고 회전시켜 반대쪽에 하나더 위치시켰다. 그리고 중간에 선을 그어주었다. 복붙하고 호를 2개 지워서 아래쪽에 하나더 위치시켰다. 이제 핀을 추가한다. 우

청와대 당첨, 청와대 관람 [내부링크]

청와대가 관람 가능하다는 소식을 듣고 청와대 관람 응모를 했다. https://reserve.opencheongwadae.kr/ 청와대, 국민 품으로 청와대, 국민 품으로 reserve.opencheongwadae.kr 경쟁률이 너무 높아서 아침 7시에 입장으로 응모했고 안될 줄 알았는데 당첨되었다! 아침에 가면 더운 날씨에 땀은 안 나게 사진을 찍을 수 있겠다고 생각했는데 아침에 가길 정말 잘한 것 같다! 건물 내부로 들어가려면 줄을 서야 해서 더웠지만 아침이라 덜 더워서 다행이었다. 7시 입장이지만 조금 늦어서 7시 반에 도착했다. 앞에서 바코드를 찍고 입장했다. 아침인데도 사람이 너무 많아서 당황스러웠다. 본관 실내로 들어가려면 줄을 서야 했다. 오래 걸릴 줄 알았지만 30분 정도 기다리니 금방 줄어든 것 같다. 입장하면 신발 위에 덧신을 신고 돌아다녀야 한다. 가구들이 차있으면 더 멋있었겠지만 거의 없이 비워져 있어서 아쉬웠다. 하지만 건물의 사소한 부분의 디테일들이 멋있었다

[안국역] 카페, Basket Twelve [내부링크]

요새 쿠키런 띠부씰 빵을 열심히 먹으며 스티커를 모으고 있다. 그래서 쿠키 맛집 카페에 갔다. 흰색 초록색 조합의 인테리어가 너무 예쁘다. 주변하고 대조되어 눈에 잘 띈다. 작지만 외부에서 먹을 수도 있고 내부에서 먹을 수도 있다. 이날은 너무 더워서 안으로 들어갔다. 음료는 커피와 주스가 있다. 쿠키를 먹을 거라서 커피를 주문했다. 쿠키는 종류가 엄청 많은데 사진이 있고 유리 장 안에 있는 모습을 직접 보고 고를 수 있어서 좋았다. 4개 이상/ 8개 이상 구매 시 무료로 상자에 포장해 준다. 4개 이상씩 사 가는 사람이 많았다. 한쪽에서는 옷과 가방 모자 굿즈도 팔고 있었다. 귀엽게 생겨서 혹했다. 레몬 얼그레이 쿠키와 아이스 아메리카노 2잔을 주문했다. 레몬 쿠키 냠 바스켓12 계동 서울특별시 종로구 계동길 54 1층 바스켓12

[안국역] 카페, 런던 베이글 뮤지엄 [내부링크]

엄청 핫한 베이글 카페라 기대하는 마음으로 방문했다. 도착하자마자 웨이팅이었는데 먹고 가려고 등록하니 3시간 기다려야 했다. 기다리는 시간이 너무 길어서 기대가 더 많이 되었다. 베이글 종류가 엄청 많다. 근데 전부다 영어로 쓰여있다. 아 맞다 여기 런던이지. 크림치즈도 종류가 많다. 샐러드, 코올 슬로도 있다. 음료도 시키려 하는데 메뉴판이 알아보기 힘들었다. 에라 모르겠다 아이스 아메리카노를 시켰다. 주문 후 옆에서 식기와 휴지 물 등을 가져갈 수 있다. 감자 치즈 베이글과 쪽파 프레첼 베이글 두 가지를 시켰다. 베이글 냠 런던 베이글 뮤지엄 서울특별시 종로구 북촌로4길 20

[KiCad] 풋프린트 작성 [내부링크]

풋프린트를 직접 작성하기 위해 풋프린트 편집기에 들어간다. 기존 라이브러리가 없으므로 새 라이브러리를 추가한다. 이곳에 작성된 풋프린트가 추가된다. 전역을 선택하면 전체 프로젝트에서 사용할 수 있고 프로젝트를 선택하면 현재 프로젝트 내에서만 사용할 수 있다. 라이브러리가 저장될 위치이다. 라이브러리 목록에 방금 만든 라이브러리가 추가되었다. 작성할 풋프린트의 데이터 시트이다. 라이브러리를 우 클릭해 새로운 풋프린트 클릭한다. 풋프린트의 이름을 입력한다. 우측 패드 추가 버튼을 통해 패드를 추가할 수 있다. 패드를 하나 추가했다. 더블클릭해 패드 정보를 설정해 준다. 일단 여섯 개를 대충 만들어준다. 데이터 시트대로 위치를 추가했다. 3과 4는 4.8만큼 떨어져 있으므로 3의 위치는 (-2.4, -10) 4의 위치는 (2.4, -10)이다. x축은 왼쪽이 - 오른쪽이 +지만 y 축은 위쪽이 - 아래쪽이 +이다. 1(-10, -10), 2(-6.2, -10), 3(-2.4, -10),

[JAVA] 세 값의 대소관계, 중앙값 [내부링크]

세 값의 대소관계 Q1) 세 값의 대소관계, 중앙값을 구하는 메서드 package chap01; import java.util.Scanner; public class Med3 { public static int med3(int a, int b, int c) { if (a >= b) if (b >= c) return b; else if (a <= c) return a; else return c; else if (a > c) return a; else if (b > c) return c; else return b; } public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("세 값의 중앙값"); System.out.print("첫번째 숫자 : "); int a = scanner.nextInt(); System.out.print("두번째 숫자 : "); int b

[인덕원역] 고기, 짚불구이 전문점 백암집 [내부링크]

오랜만에 소고기를 먹으러 갔다. 음식점 바로 앞에 공영주차장(유료)이 있다. 이른 주말 점심이라 바로 주차할 수 있었다. 들어오면 짚 냄새가 나서 너무 좋았다. 소고기 우대 갈비를 시켰다. 주문하면 바로 짚으로 고기를 초벌해 주신다. 겉은 짚으로 안쪽은 숯불에 구워 먹는다. 밑반찬으로 명이나물, 양파, 김치가 나온다. 소스로 간장소스, 쌈장, 소금, 고추냉이가 나온다. 갈비를 통째로 가져와서 잘라주신다. 칼로 한번 자르고 뼈에 붙어잇는 나머지 고기는 따로 잘라서 갖다주신다. 한 입 크기로 다 잘라주셔서 먹기 편했다. 숯불에 마늘이랑 구워 먹었다. 고기 냠 식사로 물냉면이랑 김치찌개, 공깃밥을 시켰다. 냉면 김치찌개 냠 백암집 경기도 안양시 동안구 흥안대로 509 102호 백암집

[KiCad] KiCad 설치하기 [내부링크]

다음 ki cad 홈페이지에서 운영체제에 맞춰 다운로드해 설치한다. https://www.kicad.org/ KiCad EDA A Cross Platform and Open Source Electronics Design Automation Suite www.kicad.org 다운로드를 클릭한다. 설치하고자 하는 운영체제를 선택한다. 다운로드할 서버를 선택하여 설치 파일을 내려받는다. 다운로드한 설치 파일을 실행한다. 따로 설정할 건 없다. finish를 눌러 설치 완료한다.

[KiCad] 회로도 그리기 1 [내부링크]

ki cad를 실행하고 새 프로젝트를 생성한다. 바탕화면에 kicad 폴더를 만들고 main1이라는 이름으로 저장했다. pcb 파일과 sch 파일 중 sch을 선택한다. 마우스 휠로 줌인 줌아웃을 할 수 있다. 휠을 누른 상태로 움직이면 화면을 움직일 수 있다. 우측 증폭기 기호에서 부품 기호를 선택할 수 있고, 접지 기호에서 전원 기호를 선택할 수 있다. 기호를 선택 후 원하는 위치에 배치한다. 키보드 R을 클릭해 기호를 회전시킬 수 있다. 기호 배치 후 우측 선 기호를 클릭해 이어준다.

[KiCad] 회로도 그리기 2 [내부링크]

현재 저항, led, 커넥터에는? 가 붙어있다. 이 부분을 자동으로 주석을 붙여주기 위해 상단 "회로도 심벌 참조 지정자 채우기"를 클릭한다. 주석을 달아준다. 이제? 가 아니라 1로 바뀌었다. 본 회로도에는 1개씩밖에 없어서 1밖에 없지만 복잡한 회로도에는 자동으로 숫자가 들어가 있다. 저항값이 R로 되어있으므로 저항에도 값을 설정해야 한다. 저항값을 입력한다. 주석 설정이 완료되었다.

[KiCad] 회로도 그리기 3 [내부링크]

저항에도 여러 사이즈가 있고 종류가 있다. 현재 심볼들은 어떤 부품인지 명확하게 정해지지 않았다. 상단 "풋프린트 할당 도구 실행"을 통해 부품을 설정한다. 심볼 : 회로도 기호 풋프린트 : pcb 기판에 올려지는 모양 회로도에 추가한 부품들을 확인할 수 있다. 상단 풋프린트 필터를 통해 부품을 필터링할 수 있다. 왼쪽 : 키워드로 필터 중간 : 필수로 필터 오른쪽 : 라이브러리로 필터 다음 버튼을 클릭해 풋프린트를 확인할 수 있다. LED_0201_0603Metric의 풋프린트를 확인했다. 각각의 심볼에 맞는 부품을 선택한다.

[KiCad] PCB 레이아웃 1 [내부링크]

만들어둔 회로도를 pcb로 불러와 레이아웃을 설정한다. 상단 "보드 편집기에서 pcb 열기"를 클릭한다. 회로도의 내용을 불러오기 위해 상단의 "회로도의 수정사항을 pcb에 반영하여 업데이트"를 클릭한다. pcb 업데이트를 클릭한다. 부품들이 나타났으나 한데 모여있으므로 위치를 이동시켜야 한다. 부품을 클릭, 키보드 M으로 이동 가능하고 R로 회전 가능하다.

[KiCad] PCB 레이아웃 2 [내부링크]

부품 배치를 완료했으면 부품 간 배선을 설정해야 한다. 우측 "배선 라우트"를 클릭해 배선한다. 이제 pcb 외곽선을 그린다. 우측 "Edge.Cuts"를 클릭한 후 "선 그리기"를 클릭해 외곽선을 그려준다. 일반적인 네모 모양으로 그릴 수 있다. 필요에 따라 곡선형, 구멍 뚫기가 가능하다. 완성된 pcb를 3D로 미리 볼 수 있다.

[KiCad] 거버 파일 만들기 [내부링크]

완성된 pcb 레이아웃은 거버 파일로 내보낸다. 상단의 파일에서 플롯을 클릭한다. 설정 후 플롯을 클릭한다. 지정된 폴더에서 생성된 거버 파일을 확인할 수 있다. 이제 드릴 파일을 생성한다. 플롯 옆 옆의 드릴 파일 생성을 클릭한다. 설정 후 드릴 파일 생성을 클릭한다. 지정된 폴더에서 생성된 드릴 파일을 확인할 수 있다.

[KiCad] 거버 뷰어 [내부링크]

저장한 거버 파일을 kiCad의 거버 뷰어를 통해 확인해 볼 수 있다. 거버 뷰어로 클릭해 들어간다. 상단의 파일에 "거버 플롯 파일 열기"를 클릭한다. 거버를 저장한 위치로 가서 거버 파일들을 모두 드래그해서 연다. 만들었던 파일을 확인할 수 있다.

[통계학] 기본 개념 [내부링크]

측정 척도 어떤 통계분석을 하든 그 출발점은 변인들을 측정하는 것이다. 측정(measurement) : 대상에 숫자를 부여하는 것 우리가 무엇을 어떻게 재느냐에 따라 우리가 얻는 숫자들은 다른 속성을 갖게 되는데 숫자가 얻는 속성들을 측정 척도라고 한다. 측정 척도(scale of measurement) : 대상들에 부여한 숫자들의 관계의 특징 측정 척도가 어떤 통계 절차를 사용할지 선택하는데 중요하다고 생각한 S. S. Stevens는 명명척도, 서열척도, 간격 척도, 비율척도라는 네 종류의 척도를 구분했다. 명명척도는 흔히 분류를 위해 사용된다. 명명척도(nominal scale) : 대상들을 구분하는 용도로만 사용되는 숫자 예) 축구팀에서 운동선수들의 등번호 서열척도는 하나의 연속선상에서 순서를 매긴 척도이다. 서열척도(ordinal scale) : 대상들을 순서대로 배열하는 용도로만 사용되는 숫자 예) 시험 석차 간격 척도는 점수들 간의 차에 대해 비교할 수 있다. 하지만 비

[통계학] 자료 보여주기 [내부링크]

정리되지 않은 원자료는 아무 정보도 주지 못한다. 해석이 가능해지려면 원자료들은 어떤 형태로든 논리적인 방식으로 조직화되어야 한다. 자료를 이해하기 쉽게 하는 방법의 하나는 자료들을 그림과 같은 형태로 그리는 것이다. 이런 방법으로는 빈도분포, 줄기-잎 그림. 히스토그램과 같은 것들이 있다. 1. 빈도분포 빈도분포는 각각의 값이 몇 번 발생했는지를 알려준다. 10명의 학생들의 점수를 나타낼 때, 점수가 보고된 횟수(학생 수)가 기록되어 있다. 빈도분포(frequency distribution) : 종속변인의 값과 그 값이 보고된 빈도를 표나 그림으로 그린 분포 점수 빈도 100점 2 90점 4 80점 3 70점 1 2. 줄기-잎 그림 줄기-잎 그림은 각각의 개별적인 값들과 값들의 빈도라는 두 가지 정보를 모두 보여준다. 원자료에서 수의 가장 왼쪽 숫자를 앞자리 수라고 하고 그림의 수직 축인 줄기가 된다. 앞자리 수를 제외한 나머지 부분이 뒷자리 수가 되어 그림의 수평 요소인 잎이 된

[통계학] 집중경향치 [내부링크]

분포의 중심을 표현하는 데 사용되는 통계치들을 집중 경향치라고 한다. 집중 경향치의 세 가지 측정치는 최빈치, 중앙값, 평균이다. 분포가 대칭적일 때에만 평균과 중앙값은 일치하며, 분포가 대칭적이고 단봉일 때에만 세 측정치가 일치한다. 그 밖의 경우 한 측정치가 집중경향의 대표로 선정되어야 한다. 집중 경향치(measures of central tendency) : 분포의 중앙을 가리키는 숫자 값 최빈치 최빈치는 가장 많은 참가자에게서 관찰되는 가장 흔한 점수이다. 최빈치(mdoe, Mo) : 가장 많이 관찰되는 관찰치 장점 가장 많은 사람을 대표하는 장점이 있다. 명명척도에 적용할 수 있지만 평균이나 중앙값은 적용할 수 없다. 단점 자료를 어떻게 묶느냐에 따라 달라질 수 있다. 전체 숫자의 집합에 대해서는 대표적이지 못하다. 2. 중앙값 중앙값은 자료들을 크기 순서대로 배열했을 때 그 점 혹은 그 점 아래에 전체의 50%가 놓이는 점수이다. N 개 숫자의 중앙값의 위치는 (N+1)

[통계학] 변산성 측정 [내부링크]

평균이 대부분의 자료들의 일반적인 위치를 반영해 줄 수도 있고, 자료들이 널리 퍼져 있어서 평균이 전체 자료에 대해 별로 대표적이지 못할 수도 있다. 그래서 각 자료들이 평균에서부터 얼마나 흩어져 있는지, 혹은 평균 주위에 얼마나 모여있는지 그 정도에 대한 측정치가 필요하다. 이것을 평균, 중앙값. 최빈치로부터의 분산 혹은 변산성이라고 한다. 변산성은 평균으로부터의 분산을 가리킨다. 분산(dispersion), 변산성(variability) : 각 개별 자료가 평균 주위에 퍼진 정도 범위 범위는 가장 낮은 점수와 가장 높은 점수 간의 거리를 알려주는 거리의 측정치이다. 범위(range) : 가장 낮은 점수와 가장 높은 점수의 차이 범위는 가장 낮은 점수와 가장 높은 점수라는 두 점수로만 표현되기 때문에, 극단적인 점수에 크게 좌우되어 변산성에 대해 왜곡된 정보를 제공할 수 있다. 사분점 간 범위는 범위가 극단적인 점수에 지나치게 영향을 받는 문제를 해결하기 위해 나온 해결 방법의 하

[통계학] 정상분포 [내부링크]

정상분포 통계에서 분포가 매우 중요하다. 분포가 취할 수 있는 여러 가지 가능한 형태 중에서 정상분포가 가장 중요하다. 다음 분포는 전형적인 정상분포이다. 가로축은 X의 다양한 값들을 가리키며, 세로축은 밀도라 불리며 X의 발생 빈도 혹은 확률과 관련이 있다. 정상분포(normal distribution) : 종 모양의 형태를 보이는 분포 가로축(abscissa) : 주로 독립변인이 그려지는 경우가 많다 세로축(ordinate) : 주로 종속변인이 그려지는 경우가 많다 밀도(density) : 특정 X에서 분포의 높이 수학적으로 정상분포는 다음과 같이 정의된다. p(= 3.1416)와 e( = 2.7183)는 상수이고, m은 분표의 평균, s는 표준편차이다. 2. 표준 정상분포 분포의 평균(m)과 표준편차(s)에 따라 분포의 구체적인 모양이나 값이 달라지기 때문에 정상분포 표를 만드는 것은 문제가 있다. 그러므로 표준 정상분포를 활용한다. 이 분포는 평균이 0이고 변산이 1이며 N(

[통계학] 확률 [내부링크]

확률 확률에 대해 가장 오래되고 일반적인 정의가 분석적 견해이다. 어떤 사건이 A가 지 방법으로 일어날 수 있고, B가 지 방법으로 일어나지 않을 수 있으며, 모든 가능한 방법들이 일어날 가능성이 같다면 그 사건이 일어날 확률은 A/(A+B)이고 그 사건이 일어나지 않을 확률은 B/(A+B)이다. 분석적 견해(analytic view) : 가능한 결과 사상들을 분석해서 확률을 정의하는 견해 확률을 보는 또 다른 관점은 상대적 빈도 견해이다. 안이 보이지 않는 구슬이 들어있는 주머니에서 구슬을 집는 일을 반복하면서 어떤 색의 구슬을 집었는지 기록할 때, 한번 구슬을 집으면 다음 구슬을 집기 전에 다시 봉지에 넣는 충원 표본을 한다. 상대적 빈도 견해(relative frequency view) : 과거 사실에 의해 확률을 정의하는 견해 충원 표본(sample with replacement) : N 번째 시행에서 뽑힌 사례를 다시 넣고 (N+1) 번째에 추첨하는 방식으로 선정된 표본 세

[통계학] 표집 분포와 가설검증 [내부링크]

표집 분포 모든 통계 검증의 기저에 깔린 가장 기본적인 개념이 통계치의 표집 분포이다. 표집 분포란 표집 오류 때문에 우연적으로 얻어질 것으로 기대되는 표본들 간의 변산성의 정보이다. 표집 분포는 사전에 정의된 조건하에 특정한 통계치의 값으로 우리가 기대할 수 있는 값 또는 기대할 수 없는 값이 무엇인지를 알려준다. 표집 분포(sampling distribution) : 특정 전집에서 반복해서 표본을 선정해서 나온 통계치들의 분포 표본에서 얻는 통계치는 표본에 따라 달라진다. 어떠한 표본도 모집단을 정확하게 설명할 수 없기 때문에 오차(모집단의 특성을 나타내는 실제 값과 모집단의 표본으로부터 추정된 값의 차이)가 발생한다. 이 차이를 표집오차라 한다. 표집오차를 최소화하기 위해 표본의 선택이 무작위이어야 한다. 표집오차(sampling error) : 우연에 의해 비롯되는 표본의 통계치 간의 변산성 표본 평균들로 구성된 분포의 표준편차를 분포의 표준오차라고 부른다. 표준오차(stan

[통계학] 상관 [내부링크]

1. 상관 개인의 호감도(Y) 평정이 신체적 매력(X)과 관계가 있는가? 특정 국가의 평균 수명(Y)이 그 나라의 일 인당 건강 비용(X)의 증가에 따라 증가하는가? 위와 같은 경우에 한 변인(Y)이 다른 변인(X)과 관련되는지를 묻고 있다. 두 변인 간 관계성을 다룰 때 상관에 관심을 두고 있으며, 이러한 관계성의 정도나 강도의 측정치를 상관계수로 표시한다. 가장 일반적인 상관계수인 Pearson 적률 상관계수(r)에 대해 살펴보겠다. 상관(correlation) : 변인들 간의 관계 상관계수(correlation coefficient) : 변인들 간의 관계 측정치 Pearson 적률 상관계수(r) : 가장 일반적인 상관계수 2. 산포도 두 변인들 간의 관계성을 조사하기 위한 목적으로 두 변인에 대한 측정치를 수집할 때, 이러한 관계성에 관한 통찰을 구할 수 있는 가장 유용한 기법 중 하나는 산포도를 만드는 것이다. 산포도는 2차원 공간에서 (x, y)의 좌표로 표시한다. 전통적으

[TensorFlow] K-means Clustering K-평균 군집화 적당한 K값 예측 [내부링크]

라이브러리 로딩 import pandas as pd from sklearn.preprocessing import MinMaxScaler from sklearn.cluster import KMeans import matplotlib.pyplot as plt 2. 데이터셋 로딩 (미리 sales data.csv파일 업로드) 불러온 데이터셋에는 도매 유통업체의 고개 데이터로 신선한 제품, 유제품, 식료품 등에 대한 고객의 연간 지출정보가 포함되어 있습니다. - channel : 고객 채널 또는 소매 채널 - Region : 고객 지역 - Fresh, Milk, Grocery, Frozen, Detergents_Paper, Delicassen : 신선제품, 유제품, 식료품, 냉동제품, 세제 및 종이제품, 조제식품에 대한 연간 지출 (연속형 데이터) data = pd.read_csv('sales data.csv') data 3. 데이터셋 분류 데이터 형태 설명 수치형 관측된 값이 수치로 측정

[인공지능] K-means Clustering, K-평균 군집화 [내부링크]

1. K-평균 군집화란? 레이블이 없는 데이터를 입력받아 각 데이터에 레이블을 할당해 군집화를 수행하는 방법 - 왜 사용하나? 주어진 데이터에 대한 군집화 - 언제 사용하나? 주어진 데이터셋을 이용하여 몇개의 클러스터를 구성할지 사전에 알 수 있을때 분류 과정 1) 랜덤하게 초기 중심점 선택 2) K개의 중심점과 각각 개별 데이터간의 거리를 측정한 후 가장 가까운 중심점을 기준으로 데이터 할당 3) 새로운 중심점 선택 4) 중심점의 변화가 없다면 진행을 멈추로, 변화가 있다면 1-3 반복 SSD(Sum of Squared Distance, 거리 제곱 합) : 두 데이터의 차를 구해 제곱한 값을 모두 더해 유사성을 측정하는데 사용됨 k-평균 군집화와 맞지 않는 경우 - 데이터가 비선형일 때 - 군집 크기가 다를 때 - 군집마다 밀도와 거리가 다를 때 2. k-평균 군집화 예제 훈련 데이터셋에서 적당한 K값 예측 https://blog.naver.com/ska097777/22271519

[인공지능] DBSCAN, Density Based Spatial Clustering of Applications with Noise,밀도 기반 군집 분석 [내부링크]

1. 밀도 기반 군집 분석이란? 일정 밀도 이상을 가진 데이터를 기준으로 군집을 형성하는 방법 노이즈에 영향을 받지 않으며 k-평균 군집화가 잘 처리하지 못하는 오목하거나 볼록한 부분을 처리하는데 유리함 - 왜 사용하나? 주어진 데이터에 대한 군집화 - 언제 사용하나? 사전에 클러스터의 숫자를 알지 못할 때, 주어진 데이터에 이상치가 많이 포함되었을 때 분류 과정 1) 중심점을 기준으로 엡실론 내 점이 m개 있으면 하나의 군집으로 인식 2) 주어진 데이터를 사용하여 두번째 군집을 생성하고 1군집+2군집을 통해 하나의 군집으로 확대 3) 더 이상의 중심점을 정의할 수 없을때까지 1-2단계 반복 4) 어떤 군집에도 포함되지 않은 데이터를 노이즈로 정의

[인공지능] PCA, Principal Component analysis, 주성분 분석 [내부링크]

1. 주성분 분석이란? 고차원 데이터를 저차원 데이터로 축소시키는 방법 변수가 많은 고차원 데이터는 중요하지 않은 변수로 인해 처리해야 할 데이터량이 많아지고 성능도 나빠지기 때문에 고차원 데이터를 저차원으로 축소시켜 데이터의 대표 특성만 추출한다면 성능은 좋아지고 작업도 간편해짐 - 왜 사용하나? 주어진 데이터에 대한 간소화 - 언제 사용하나? 현재 데이터의 특성이 너무 많을 경우 특성을 압축해서 데이터를 시각화하여 살펴보고 싶을때 차원축소 방법 1) 데이터들의 분포 특성을 잘 설명하는 벡터를 두 개 선택 2) 벡터 두 개를 위한 적정한 가중치를 찾을 때까지 학습 진행

[인공지능] 딥러닝 [내부링크]

딥러닝 구성 요소 입력층 데이터를 받아들임 은닉층 입력값을 받아 가중합을 계산하고 활성화 함수에 적용하여 출력틍에 전달 출력층 신경망의 최종 결과값 가중치 노드와 노드 간 연결 강도 바이어스 가중합에 더해 주는 상수 가중합, 전달 함수 가중치*노드의 곱을 합한것 활성화 함수 신호를 입력받아 처리해 출력해주는 함수 손실 함수 출력함수의 결과와 실제 값 간의 오차를 측정하는 함수 활성화 함수 시그모이드 함수 - 선형 함수의 결과를 0~1 사이에서 비선형 형태로 변형 - 기울기 소멸 문제(딥러닝 모델의 깊이가 깊어지면 기울기가 사라짐)발생 하이퍼볼릭탄젠트 함수 - 선형 함수의 결과를 -1~1 사이에서 비선형 형태로 변형 - 시그모이드에서의 결괏값이 양수로 편향된 문제를 해결 - 기울기 소멸 문제 발생 렐루 함수 - 입력이 음수면 0을 출력, 양수면 입력값을 출력 - 경사하강법에 영향을 주지 않아 학습 속도가 빠르고 기울기 소멸 문제 해결 - 음수값을 입력받으면 출력이 0이기 때문에 학습

[통계학] 서론 [내부링크]

서론 통계 절차는 크게 기술 통계와 추론 통계로 나눌 수 있다. 기술 통계(descriptive statistics) : 자료를 기술하는 통계적 방법 예 ) 섭식 억제 척도에서 섭식 점수, 법무부의 자료에서 범죄율, 특정 과목에서 학생들의 시험 점수와 평균 점수 추론 통계(inferential statistics) : 수치를 확률적으로 추정하는 통계적 방법 예 ) 소꼬리의 길이, 여자아이들은 언제쯤 걷기 시작하는지 2. 기본 용어 소 한 마리, 여자아이 한 명만을 측정해서 알 수 없고, 전부를 측정할 수도 없다. 그러므로 전집에서 표본을 설정한다. 전집(population) : 관심의 대상이 되는 사건의 전체 집합 표본(sample) : 실제 관찰치의 집합, 전집의 부분집합 하지만 우리가 관심을 가지는 경우는 전집의 크기가 커 현실적으로 자료를 다 수집하기 어렵기 때문에 일부 표본을 관찰하여 표본을 통해 전집의 특성에 대한 정보를 얻게 된다. 통계치(statistics) : 표본에

[TensorFlow] Decision Tree 결정트리 타이타닉 승객 생존 여부 예측 [내부링크]

라이브러리 로딩 import pandas as pd 2. 데이터셋 로딩 (미리 train.csv 업로드) df = pd.read_csv('train.csv', index_col='PassengerId') df 3. 데이터 전처리 타이타닉 전체 데이터중 분석에 필요한 데이터만 추출하여 전처리 합니다. 승객의 생존여부를 예측하기 위해 Places, Sex, Age, SibSp, Parch, Fare 를 사용합니다. 성별을 나타내는 Sex를 0또는 1의 정수로 변환하고 값이 없는 데이터는 삭제합니다. Survival 값을 예측 레이블로 사용합니다. df = df[['Pclass', 'Sex', 'Age', 'SibSp', 'Parch', 'Fare', 'Survived']] df['Sex'] = df['Sex'].map({'male': 0, 'female': 1}) df = df.dropna() X = df.drop('Survived', axis=1) y = df['Survived'] 훈

[인공지능] Decision Tree, 결정 트리 [내부링크]

결정트리란? 데이터를 분류하거나 결괏값을 예측하는 분석 방법으로 결과 모델이 트리 구조 - 왜 사용하나? 주어진 데이터에 대한 분류 - 언제 사용하나? 이상치가 많은 값으로 구성된 데이터셋, 결정과정이 시각적으로 표현되기 때문에 의사결정 방식을 알고싶을 경우 데이터를 분류하며 각 영역의 순도는 증가하고, 불순도와 불확실성은 감소하는 방향으로 학습 진행 결정 트리에서 불확실성을 계산하는 방법 엔트로피 : 확률 변수의 불확실성을 수치로 나타낸 것 (엔트로피가 높을수록 불확실) 지니계수 : 불순도를 측정하는 지표로, 데이터의 통계적 분산 정도를 정량화해서 표현한 값 (지니계수가 높을수록 데이터가 분산됨) 2. 결정 트리 학습 절차 - 데이터셋 로딩 - 훈련과 검증 데이터셋 분리 - 모델 생성 - 검증 데이터 예측 3. 결정 트리 예제 - 타이타닉 승객 생존 여부 예측 https://blog.naver.com/ska097777/222713343194 [TensorFlow] Decision

[TensorFlow] Logistic Regression 로지스틱 회귀 신규 입력(숫자) 데이터의 정확한 예측 [내부링크]

라이브러리, 데이터셋 로딩 8*8 크기의 1797개의 숫자 이미지 데이터셋은 사이킷런에서 제공받습니다. %matplotlib inline from sklearn.datasets import load_digits digits = load_digits() print("Image Data Shape" , digits.data.shape) print("Label Data Shape", digits.target.shape) 실제 데이터셋의 이미지와 레이블을 시각화해서 확인합니다. 예시로 다섯 개를 확인합니다. import numpy as np import matplotlib.pyplot as plt plt.figure(figsize=(20,4)) for index, (image, label) in enumerate(zip(digits.data[0:5], digits.target[0:5])): plt.subplot(1, 5, index + 1) plt.imshow(np.reshape(image

[인공지능] Logistic Regression, 로지스틱 회귀 [내부링크]

1. 로지스틱 회귀란? 회귀 : 변수가 두 개 주어졌을 때 한 변수에서 다른 변수를 예측하거나 두 변수의 관계를 규명하는데 사용하는 방법 로지스틱 회귀 : 분석하고자 하는 대상들이 두 집단 혹은 그 이상으로 나뉜 경우, 개별 관측치들이 어느 집단에 분류될 수 있는지 분석하고 이를 예측하는 모형을 개발하는데 사용되는 통계 기법 - 왜 사용하나? 주어진 데이터에 대한 부류 - 언제 사용하나? 주어진 데이터에 대한 확신이 없거나 향후 추가적으로 훈련 데이터셋을 수집하여 모델을 훈련시킬 수 있는 환경 구분 일반적인 회귀 분석 로지스틱 회귀 분석 종속 변수 연속형 변수 이산형 변수 모형 탐색 방법 최소제곱법 최소제곱법 최대우도법 - 최소 제곱법(Mean Square) 실제 값에서 예측 값을 뺀 후 제곱해서 구할 수 있음 - 최대 우도법(Maximum Likelihood) 우도(likelihood, 가능도) : 나타난 결과에 따라 여러 가능한 가설을 평가할 수 있는 척도 입력값 X와 파라미터

[TensorFlow] Linear Regression 선형 회귀 훈련 데이터셋에서 최대 기온 예측 [내부링크]

라이브러리 로딩 import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as seabornInstance from sklearn.model_selection import train_test_split from sklearn.linear_model import LinearRegression from sklearn import metrics %matplotlib inline 2. 데이터셋 로딩 (미리 weather.csv파일 업로드) 날씨 데이터셋에는 강수량, 강설량, 기온, 풍속 및 그날의 노우 등 정보들이 포함되어 있으나 예제에서는 최대 온도를 예측하기 때문에 최소/최대 기온 정보만 사용합니다. dataset = pd.read_csv('weather.csv') dataset MinTemp와 MaxTemp 데이터 간 분포를 확인하고자 2D 그래프로 시각화 합니다. dataset.plot(

[인공지능] Linear Regression, 선형 회귀 [내부링크]

1. 선형 회귀란? 독립 변수 x를 통하여 종속 변수 y의 움직임을 예측하고 설명하는데 사용됨 단순 선형 회귀 : 하나의 독립 변수 x로 y값을 설명할 수 있을 때 다중 선형 회귀 : 독립변수 x의 값이 여러개일 때 - 왜 사용하나? 주어진 데이터에 대한 부류 - 언제 사용하나? 주어진 데이터에서 독립 변수와 종속 변수가 선형 관계를 가질 때 2. 선형 회귀의 학습 절차 - 라이브러리 호출 - 데이터셋 로딩 - 훈련과 검증 데이터셋 분리 - 모델 생성 - 검증 데이터 예측 - 예측 시각화 3. 선형 회귀 예제 훈련 데이터셋에서 최대 기온 예측 https://blog.naver.com/ska097777/222713481598 [TensorFlow] Linear Regression 선형 회귀 훈련 데이터셋에서 최대 기온 예측 2. 데이터셋 로딩 (미리 weather.csv파일 업로드) 날씨 데이터셋에는 강수량, 강설량, 기온, 풍속 및 그날... blog.naver.com

[TensorFlow] KNN 붓꽃 분류예제에서 최적 K값 찾기 [내부링크]

1. 라이브러리 로딩 import numpy as np import matplotlib.pyplot as plt import pandas as pd from sklearn import metrics 2. 데이터셋 로딩 (미리 iris.data파일 업로드) 데이터셋의 열(column) 이름을 할당합니다. 데이터를 판다스 데이터프레임에 저장하고 경로는 수정해서 진행합니다. names = ['sepal-length', 'sepal-width', 'petal-length', 'petal-width', 'Class'] dataset = pd.read_csv('iris.data', names=names) dataset 3. 데이터 전처리 데이터를 클래스를 제외한 X와 클리스 y로 나누고 훈련과 검증 데이터셋으로 분리합니다. X = dataset.iloc[:, :-1].values y = dataset.iloc[:, 4].values from sklearn.model_selection impor

[TensorFlow] SVM 네가지 특성으로 붓꽃 분류 [내부링크]

1. 라이브러리 로딩 from sklearn import svm from sklearn import metrics from sklearn import datasets from sklearn import model_selection import tensorflow as tf import pandas as pd import os os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3' TF CPP MIN LOG LEVEL 환경변수를 사용해 로깅 제어합니다. - 0 : 기본값, 모든 로그 표시 - 1: INFO 로그 필터링 - 2: WARNING 로그 필터링 - 3: ERROR 로그 추가 필터링 2. 데이터셋 로딩 (사이킷런에서 제공하는 iris 데이터 사용) iris = datasets.load_iris() 데이터셋을 불러와 훈련 데이터와 검증 데이터로 분리합니다. x_train, x_test, y_train, y_test = model_selection.train_te

[인공지능] Tensorflow [내부링크]

1. 텐서플로(TensorFlow) 란? 데이터 흐름 그래프를 사용하여 데이터의 수치 연산을 하는 오픈 소스 소프트웨어 프레임워크 머신러닝/딥러닝에서 데이터는 벡터로 표현됨 벡터 : 숫자들의 리스트로 1차원 배열 형태 행렬 : 2차원 배열 형태 텐서 : 3차원 이상의 배열 형태 2. 텐서플로 특징 및 장점 - 코드 수정 없이 데스크톱, 서버, 모바일 디바이스에서 CPU나 GPU를 사용하여 연산 구동 가능 - 분산 환경에서 실행 가능 - GradientTape를 사용해 자동으로 미분 계산 가능 - 구글에서 공식 배포했으므로 다양한 학습자료 제공 3. 텐서플로 아키텍처 모델 생성 모델 저장 모델 배포 - 데이터 준비 - 모델 정의 - 모델 훈련 - 모델 평가 - 모델 저장 - 텐서플로 허브에 모델 개시 - 서비스를 위한 모델 배포 - 데이터 준비 : 파이썬 라이브러리(Pandas)를 사용하거나 텐서플로를 사용 데이터가 이미지일 경우 분산된 파일에서 데이터를 읽은 후 전처리하고 배치 단위

[인공지능] KNN, K-Nearest Neighbor, K-최근접 이웃 [내부링크]

1. KNN 이란? 새로운 입력(분류되지 않은 검증 데이터)을 받았을 때 기존 데이터와의 거리를 측정한 후 가장 많은 속성을 가진 값을 할당하는 분류 알고리즘 - 왜 사용하나? 주어진 데이터에 대한 분류 - 언제 사용하나? 훈련데이터를 충분히 확보할 수 있는 환경에서 사용하면 좋음 위 그림에서 신규데이터 초록색 별의 값은 k값에 따라 달라짐 k = 1일때, 주변 한개가 파란색이므로 파란색으로 분류 k = 3일때, 주변에 파란색 1개와 노란색 2개이므로 노란색으로 분류 2. KNN 학습 절차 - 라이브러리 호출 - 데이터셋 로딩 - 훈련과 검증 데이터 분리 - 모델 생성 - K값 예측 3. KNN 예제 - KNN 붓꽃 분류예제에서 최적 K값 찾기 https://blog.naver.com/ska097777/222712316613 [TensorFlow] KNN 붓꽃 분류예제에서 최적 K값 찾기 1. 라이브러리 로딩 2. 데이터셋 로딩 (미리 iris.data파일 업로드) 데이터셋의 열(c

[인공지능] SVM, Support Vector Machine, 서포트 벡터 머신 [내부링크]

1. 서포트 벡터 머신이란? 분류되지 않은 새로운 데이터가 나타나면 결정 경계(기준선)을 기준으로 경계의 어느 쪽에 속하는지 분류하는 모델 - 왜 사용하나? 주어진 데이터에 대한 분류 - 언제 사용하나? 커널만 적절히 선택한다면 정확도가 높기 때문에 정확도를 요구하는 분류 문제를 다룰 때 좋음, 텍스트를 분류할 때도 많이 사용 결정 경계는 데이터가 분류된 클래스에서 최대한 멀리 떨어져 있을 때 성능이 좋음 (A2 >> A1) 마진 : 결정 경계와 서포트 벡터 사이의 거리 서포트 벡터 : 결정 경계와 가장 가까이 있는 데이터들 => 데이터들을 올바르게 분리하면서 마진 크기를 최대화 해야함 SVM은 선형 분류와 비선형 분류를 지원 - 선형 분류 - 비선형 분류 비선형 문제를 해결하기 위해 저차원 데이터를 고차원으로 보내는데 많은 수학적 계산을 필요로 함 다항식 커널(poly) : 실제로 특성을 추가하지는 않지만 다항식 특성을 많이 추가한 것과 같은 결과를 얻을 수 있는 방법 가우시안 R

[Python] 행렬 변환 [내부링크]

1. 벡터의 내적/ 외적 - 벡터의 내적 : 벡터의 각 원소를 곱해서 더해주는것 (연산결과 - 스칼라) a · b = |a| |b| cosθ => numpy.dot() import numpy as np u = np.array([6,6]) v = np.array([12,0]) # uv = u*v uv = np.dot(u, v) print(uv) >> 72 - 벡터의 외적 : 3차원 공간에 있는 벡터 간 연산 (연산결과 - 벡터) a = (a1, a2, a3), b = (b1, b2, b3) 일때 a X b = (a2b3 - a3b2, a3b1 - a1b2, a1b2 - a2b1) => numpy.cross() import numpy as np a = (1, 3, 5) b = (2, 4, 6) def cross(a, b): c = [a[1]*b[2] - a[2]*b[1], a[2]*b[0] - a[0]*b[2], a[0]*b[1] - a[1]*b[0]] return c cross(a,b

[TensorFlow] google colab으로 의류 이미지 분류 image classification [내부링크]

1. 라이브러리 로딩 import tensorflow as tf import numpy as np import matplotlib.pyplot as plt 2. Fashion MNIST 데이터셋 10개의 범주(category)와 70,000개의 흑백 이미지로 구성된 패션 MNIST 데이터셋을 사용하겠습니다. 이미지는 해상도(28x28 픽셀)가 낮고 다음처럼 개별 옷 품목을 나타냅니다. # 패션 MNIST 데이터셋 준비 fashion_mnist = tf.keras.datasets.fashion_mnist # 데이터셋을 훈련 세트와 테스트 세트로 나눔 (train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data() # 레이블(label)은 옷의 클래스(class)를 나타내는 0에서 9까지의 정수 배열 class_names = ['T-shirt/top', 'Trouser', 'Pullover', 'Dr

[Python] 고유값과 고유벡터 [내부링크]

1. 고유값 분해 고유벡터 : 정방행렬인 선형 변환 A에 의한 변환 결과가 자기자신의 상수배가 되는 0이 아닌 벡터 고유값 : 고유벡터에서의 상수배 - 고유값 분해 고유값분해, 고유분해 : 고유값과 고유벡터를 찾는 작업 => numpy의 linalg.eig() import numpy as np A = np.array([[5,-1],[-2,1]]) W1, V1 = np.linalg.eig(A) print(W1) print(V1) >> [5.44948974 0.55051026] >> [[ 0.91209559 0.21927526] [-0.40997761 0.97566304]] - 대각화 어떤 정사각 행렬이 주어졌을때 대각선 성분을 제외한 나머지 성분을 모두 0으로 만드는 것 B = np.array([[1,3],[4,2]]) W2, V2 = np.linalg.eig(B) V2_inv = np.linalg.inv(V2) # 역행렬 np.diag(W2) V2 @ np.diag(W2) @ V2_

[TensorFlow] google colab으로 영화 리뷰 텍스트 분류 text classification [내부링크]

1. 라이브러리 로딩 import matplotlib.pyplot as plt import os import re import shutil import string import tensorflow as tf from tensorflow.keras import layers from tensorflow.keras import losses from tensorflow.keras import preprocessing from tensorflow.keras.layers.experimental.preprocessing import TextVectorization 2. IMDB 데이터세트 이 노트북은 감정 분석 모델을 훈련하여 리뷰 텍스트를 기반으로 영화 리뷰를 긍정적 또는 부정적으로 분류합니다. 이것은 기계 학습 문제의 중요하고 널리 적용 가능한 종류인 이진(또는 2개 클래스) 분류의 예입니다. 인터넷 영화 데이터베이스에서 가져온 50,000개의 영화 리뷰 텍스트가 포함된 Large Movie

[TensorFlow] google colab으로 회귀를 통해 자동차 연비 예측 regression [내부링크]

1. 라이브러리 로딩 import pathlib import matplotlib.pyplot as plt import pandas as pd import seaborn as sns import tensorflow as tf from tensorflow import keras from tensorflow.keras import layers print(tf.__version__) 2. Auto MPG 데이터셋 회귀는 가격이나 확률같이 연속된 출력 값을 예측하는 것이 목적입니다. 이 데이터셋은 1970년대 후반과 1980년대 초반에 출시된 자동차의 실린더 수, 배기량, 마력, 공차 중량 같은 속성들이 포함되어있습니다. 이 노트북은 데이터셋을 이용해 1970년대 후반과 1980년대 사이의 자동차 연비를 예측하는 모델을 만듭니다. # 데이터세트 다운로드 dataset_path = keras.utils.get_file("auto-mpg.data", "http://archive.ics.uci.e

[Python] 함수 [내부링크]

1. 거듭제곱 => math의 pow() def f1(x): return x**5 f1(2) >> 32 import math as mt def f2(x): return mt.pow(x,5) f2(2) >> 32.0 2. 제곱근 => math의 sqrt() def f3(x): return x**(1/2) f3(16) >> 4.0 import math as mt def f4(x): return mt.sqrt(x) f4(16) >> 4.0 3. 그래프 그리기 numpy : 대규모 다차원 배열을 다룰 수 있게 해주는 파이썬 라이브러리 - linspace : 시작점과 종점, 갯수를 정하면 범위 내에 일정한 간격을 둔 숫자 배열을 반환 matplotlib : 데이터를 시각화 할 때 쓰는 파이썬 라이브러 y = (x-2)^2 + 2 그래프 import numpy as np def f5(x): return (x-2)**2 + 2 x = np.linspace(-1,5,101) y = f5(x) im

[Python] 미분 [내부링크]

1. 극한 => sympy의 Limit().doti(), S.Infinity f(x) = 1/x의 그래프에서 극한값 구하기 x가 무한대로 갈 때의 함수 1/x의 극한 from sympy import Limit, S, Symbol x = Symbol('x') Limit(1/x, x, S.infinity).doit() >> 0 x가 -무한대로 갈 때의 함수 1/x의 극한 Limit(1/x, x, S.Infinity, dir='-').doit() >> 0 x가 +0으로 갈 때의 함수 1/x의 극한 Limit(1/x, x, 0).doit() >> ∞ x가 -0으로 갈 때의 함수 1/x의 극한 Limit(1/x, x, 0, dir='-').doit() >> -∞ 2. 평균변화율 (y의 증가량)/(x의 증가량) f(x) = x^2 + 5x + 10 에서 x가 0에서 5까지의 평균 변화율 from sympy import symbol min = 0 max = 5 x = symbol('x') fx

[Python] 적분 [내부링크]

1. 부정적분 미분의 역연산이나 적분상수의 조건이 없어 정해지지 않은 적분 => sympy.integrate() f(x) = xe^x + e^x 의 부정적분 import sympy as sp x = xp.symbols('x') f1 = x*sp.exp(x) + sp.exp(x) sp.integrate(f1) >> xe^x f(x) = 2x + y 를 x에 대하여 부정적분 x, y = sp.symbols('x, y') f2 = 2*x + y sp.integrate(f2, x) >> x^2 + xy f(x) = 2x + y 를 y에 대하여 부정적분 sp.integrate(f2, y) >> 2xy + y^2/2 2. 정적분 독립변수 x가 어떤 구간 [a,b] 사이일 때, 함수 f(X)와 x축이 이루는 면적을 구하는 것 => F.subs, evalf() f(x) = x^3 -3x^2 + x + 6 의 정적분 import sympy as sp x = sp.symbols('x') f3 = x*

[Python] 벡터 [내부링크]

1. 스칼라, 벡터, 행렬, 텐서 스칼라 : 실수인 숫자중 하나 벡터 : 크기와 방향을 가진 물리량 (벡터의 크기 = 벡터의 길이 = 벡터의 norm) 행렬 : 벡터 여러 개가 모여 있는 것 (2차원 배열) 텐서 : 행렬 여러 개가 모여 있는 것 (3차원 배열) 2. 벡터의 종류 - 단위벡터 : 길이가 1인벡터 => scipy의 linalg.norm() import numpy as np from scipy import linalg s = np.array([3, 4, 5]) v01 = s/linalg.norm(s) v01 >> array([0.42426407, 0.56568542, 0.70710678]) - 위치벡터 : 원점이 시작점인 벡터 - 영 벡터 : 모든 성분이 0으로 구성된 벡터 => numpy.zeros() import numpy as np np.zeros(5) s = (2,2,2) np.zeros(s) array([0., 0., 0., 0., 0.]) >> array([[

[Python] 변수, 사칙연산, 방정식 [내부링크]

1. 변수 x = 1 print(x) >> 1 2. 덧셈 x, y = 1, 2 print(x+y) >> 3 3. 뺄셈 x, y = 5, 1 print(x-y) >> 4 4. 곱셈 x, y = 2, 3 print(x*y) >> 6 5. 나눗셈 x, y = 7, 2 print(x/y) >> 3.5 6. 몫 x, y = 7, 2 print(x//y) >> 3 7. 나머지 x, y = 7, 2 print(x%y) >> 1 8. 거듭제곱 x, y = 2, 3 print(x**y) >> 8 9. 일차방정식 sympy 라이브러리 : 기호 기반으로 수학 연산을 가능하게 하는 파이썬 라이브러리 - Symbol : 기호변수 - solve : 해 찾기 방정식을 풀기 위해서는 (방정식)=0 형태로 변형할것 3x - 6 = 0 풀이 from sympy import Symbol, solve x = Symbol('x') equation = 3*x - 6 solve(equation) >> 2 10. 연립방정식

.2. [내부링크]

주말에 꽃구경을 다녀왔다. 회사앞에 꽃이 예쁘게 펴서 회사로 왔다. 주말에도 회사에 출근도장 찍었다. 운동하는 사람들이랑 사진찍는 사람들이 많았다. 꽃도 예뻤는데 바람이 너무 많이 불어서 머리 때문에 힘들었다. 사진만 찍으려고 하면 바람이 더부는것 같다. 바람맞으면서도 열심히 찍었다. 즐거운 주말!

[YOLOv4] google colab으로 yolo4 사용해 Object Detection 물체 감지 실행하기 [내부링크]

google colab에서 yolo4을 이용해 좌측의 그림에서 객체를 탐지해 다음 결과를 얻었습니다. YOLO(You Only Look Once)란 객체 탐지 모델 입니다. 객체 탐지란 이미지에서 관심 객체를 배경과 구분해 식별하는 자동화 기법입니다. YOLO는 기존의 다른 객체탐지 모델들보다 높은 정확도를 추구하는것이 아닌, 근접한 정확도를 가지면서 더 빠른 속도를 추구합니다. 다음의 모델이 훈련되어 있습니다. person, bicycle, car, motorbike, aeroplane, bus, train, truck, boat, traffic light, fire hydrant, stop sign, parking meter, bench, bird, cat, dog, horse, sheep, cow, elephant, bear, zebra, giraffe, backpack, umbrella, handbag, tie, suitcase, frisbee, skis, snowboard,

[인공지능] KNN, K-Nearest Neighbor, K-최근접 이웃 [내부링크]

1. KNN 이란? 새로운 입력(분류되지 않은 검증 데이터)을 받았을 때 기존 데이터와의 거리를 측정한 후 ...

[인공지능] SVM, Support Vector Machine, 서포트 벡터 머신 [내부링크]

1. 서포트 벡터 머신이란? 분류되지 않은 새로운 데이터가 나타나면 결정 경계(기준선)을 기준으로 경계의 ...

[인공지능] MediaPipe face_mesh로 얼굴 랜드마크를 감지해 카메라 필터 만들기 [내부링크]

MediaPipe를 이용해 필터 이미지, 비디오를 적용해 다음 결과를 얻었습니다. face_mesh는 실시간으로 468개의 3D 얼굴 랜드마크를 추정합니다. 랜드마크 옵션을 통해 다양한 기능을 활용할 수 있습니다. mp_face_mesh.FACEMESH_FACE_OVAL 얼굴 윤곽 의 인덱스 mp_face_mesh.FACEMESH_LIPS 입술 인덱스 mp_face_mesh.FACEMESH_LEFT_EYE 왼쪽 눈 의 인덱스 mp_face_mesh.FACEMESH_RIGHT_EYE 오른쪽 눈 의 인덱스 mp_face_mesh.FACEMESH_LEFT_EYEBROW 왼쪽 눈썹 의 인덱스 mp_face_mesh.FACEMESH_RIGHT_EYEBROW 오른쪽 눈썹 의 인덱스 mp_face_mesh.FACEMESH_LIPS 를 사용하여 열린입과 닫힌 입의 높이 차이를 구해 비교할 수 있습니다. 필터를 적용.......

[인공지능] MediaPipe hands로 손 랜드마크를 감지해 가위바위보 게임 만들기 [내부링크]

미디어파이프로 손 랜드마크를 감지해 다음과 같은 가위바위보 게임을 만들었습니다. 1. 손가락 랜드마크 높이 계산 hands는 감지된 손 영역 내부의 21개 3D 손 관절 좌표의 정확한 키포인트 위치 지정, 즉 직접 좌표 예측을 수행합니다. 손가락 랜드마크는 아래와 같이 정의되었습니다. 손가락 랜드마크의 높이를 계산해서 손 제스처를 판단하겠습니다. 손가락이 다음과같은 상태일때 4번은 3번보다 높고 3번은 2번보다 높고 1번은 0번보다 높은것을 알 수 있습니다. 이것을 활용해서 (4번 랜드마크의 좌표&#62;3번 랜드마크의 좌표) &#38;&#38; (3번 랜드마크의 좌표&#62;2번 랜드마크의 좌표) &#38;&#38; (2번 랜드마크의 좌표&#62;1번 랜드마크.......

[AWS] 클라우드 컴퓨팅1 [내부링크]

1. 클라우드 컴퓨팅이란? 클라우드 서비스 제공자가 제공하는 IT 자원(서버 스토리지 네트워크 등) 서비스를 필요시, 마우스 클릭으로 배포(ON)하여 사용 후 필요없을때 OFF - 언제 어디서나 인터넷을 이용해 손쉽게 IT 자원을 활용 - 최소한의 노력으로 최단 시간에 컴퓨터 자원을 늘리거나 줄이는 것이 가능 2. 클라우드 비용 지불 방식 사용량 기반 과금이 적용되어 사용한 만큼만 비용을 지불 3. 클라우드의 장점 - 비용 절감 : 초기 투자비용이 발생하지 않으며 사용한 만큼만 지불 - 운영 비용 절감 : 클라우드 사업자는 많은 고객을 대상으로 서비스를 제공하므로 종량 과금제 요금이 낮아짐 - 미래에 필요한 인프라 용량을 추정 불필요 :.......

[AWS] 클라우드 컴퓨팅2 [내부링크]

1. 글로벌 인프라 구조 리전(Region) : 전세계의 지리적으로 분리된 물리적 위치 단위 - 최소 2개 이상의 가용 영역(AZ)들의 집합 - 고려사항 : 지연시간, 법률 및 규제, 서비스 가용성, 비용 가용영역(AZ, Availability Zones) - 완전히 격리된 1개 이상의 데이터센터(DC) 모음으로 구성, 각 DC는 초고속 광통신망으로 연결됨 - 각 AZ는 가연재해를 고려하여 물리적으로 떨어진 위치에 존재 PoP(Point of Presence Location) : 빠른 컨텐츠 배포를 위한 캐시 서비스 - 에지 로케이션(Amazon CDN Clound Front를 위한 캐시 서버들의 모음) + 리전 에지 캐시 (에지 로케이션에 컨텐츠가 없는 경우 리전별 에지 캐시에서 검색 시도) 2. AWS 컴퓨팅.......

[AWS] EC2(Elastic Compute Cloud) [내부링크]

1. EC2의 특징 - 유연한 가상 컴퓨팅 제공 - 폭넓은 선택 옵션 - AWS 서비스들과의 통합성 - 보안 2. 인스턴스 타입별 포기 - 인스턴스 패밀리 범용 (M / T) 컴퓨팅 최적화 (C) 메모리 최적화 (X / R) I/O 및 스토리지 최적화 (I/D) GPU (G / P), 하드웨어 가속 (F) - 인스턴스 세대 : 인스턴스 패밀리에 따라 1-5세대 - 인스턴스 크기 : 인스턴스 패밀리 및 세대에 따라 크기 제공 3. 보안그룹 인스턴스 수준의 보안 제공 인스턴스에 대한 인바운드, 아웃바운드의 네트워크 트래픽을 제어하는 가상의 방화벽 역할을 수행 보안그룹은 네트워크 트래픽에 대한 허용만 가능 차단 기능 적용을 위해서는 Network VCL을 통해 서브넷 수준에서 트래팩 흐.......

.1. [내부링크]

겨우내 움직이다가 3월 한달을 휴식을 취하니 답답해 요가를 시작해야겠다고 생각했다. 귀찮은 마음에 미루고 미뤘지만 다이어트 생각에 빠르게 결심해야했다. 전화해보니 첫날 무료로 체험을 할 수 있다고 해서 아무거나 주섬주섬 입고 가봤다. 체험해보니 수업도 괜찮고 편안하게 몸을 움직이는 기분이라 바로 등록해버렸다. 그리고 꼬까옷을 사러갔다. 총총 1+1 세일을 하길래 두세트 사왔다. 너무이쁘다. 빨리 운동하고싶다. 레깅스와 티셔츠를 입어보고 샀는데 빨리 살을 많이많이 빼야겠다고 결심을 하게 만든다. 저녁 식단조절과 카페음료를 줄이기로 했다. 그래서 카페에서 내 특별 음료를 주문했다. 시럽없는 밀크티(홍차+우유 끝) 사장.......

[인공지능] 인공 신경망(ANN, Artificial Neural Network)의 신호 전달 [내부링크]

1. 인공 신경망의 신호 전달 원리 하나의 뉴런은 여러 뉴런에게서 신호를 받고 다음 뉴런으로 신호를 보낼 수 있습니다. (전달하지 않을 수도 있습니다.) 이때 인공신경망은 신호 세기를 변경해 전달하는데, 신호 세기 변경에 사용되는 값이 가중치와 편향입니다. 가중치와 편향을 데이터에 맞게 맞추어가는 것을 인공 신경망이 학습한다는 의미입니다. -&#62; 가중치(weight) : 값이 얼마나 중요한지 중요하지 않은지를 표현 -&#62; 편향(bias) : 한쪽으로 치우친 성질 -&#62; 뒤로 전달할 신호 &#x3D; 입력신호 * 가중치 + 편향 2. 입력 신호 세기를 조절 각 뉴런은 출력 신호를 결정하기 위해서 입력받은 신호에 활성화 함수(activation function.......

[인공지능] google colab으로 MediaPipe face_detection 얼굴 인식 실행하기 [내부링크]

google colab에서 MediaPipe를 이용해 좌측의 그림에 face_detection을 실행해 우측의 그림과 같은 결과를 얻었습니다. FaceDetection 옵션 min_detection_confidence (기본값 : 0.5) 0.0에서 1.0 사이의 값으로 모델의 최소 신뢰값 입니다. model_selection (기본값 : 0) 0일때는 카메라에서 2m 이내의 얼굴에 가장 적합한 근거리 모델을 선택하고 1일때는 5m 이내의 얼굴에 가장 적합한 전체 범위 모델을 선택하는데 사용합니다. 참고 https://google.github.io/mediapipe/solutions/face_detection.html 사진 https://unsplash.com/

[인공지능] google colab으로 MediaPipe face_mesh 페이스 메쉬 실행하기 [내부링크]

google colab에서 MediaPipe를 이용해 좌측의 그림에 face_mesh를 실행해 우측의 그림과 같은 결과를 얻었습니다. FaceMesh 옵션 static_image_mode (기본값 : false) true일때는 정적 이미지를 처리하고 false일때는 입력 이미지를 비디오스트림으로 처리합니다. refine_landmarks (기본값 : false) 눈과 입술 주변의 랜드마크 좌표를 추가로 수정하고 홍채 주변의 추가 랜드마크를 출력할지 여부 입니다. max_num_faces (기본값 : 1) 감지할 최대 얼굴 수 입니다. min_detection_confidence (기본값 : 0.5) 0.0에서 1.0 사이의 값으로 모델의 최소 신뢰값 입니다. draw landmarks - connection 옵션 FACEMESH_TESSELATION FACEMESH_CONTOURS FA.......

[인공지능] google colab으로 MediaPipe hands 손 인식 실행하기 [내부링크]

google colab에서 MediaPipe를 이용해 좌측의 그림에 face_mesh를 실행해 우측의 그림과 같은 결과를 얻었습니다. Hands 옵션 static_image_mode (기본값 : false) true일때는 정적 이미지를 처리하고 false일때는 입력 이미지를 비디오스트림으로 처리합니다. max_num_hands (기본값 : 2) 감지할 최대 손 수 입니다. min_detection_confidence (기본값 : 0.5) 0.0에서 1.0 사이의 값으로 모델의 최소 신뢰값 입니다. 참고 https://google.github.io/mediapipe/solutions/hands#multi_handedness 사진 https://unsplash.com/

[인공지능] google colab으로 MediaPipe pose 포즈 실행하기 [내부링크]

google colab에서 MediaPipe를 이용해 좌측의 그림에 pose를 실행해 우측의 그림과 같은 결과를 얻었습니다. Pose 옵션 static_image_mode (기본값 : false) true일때는 정적 이미지를 처리하고 false일때는 입력 이미지를 비디오스트림으로 처리합니다. min_detection_confidence (기본값 : 0.5) 0.0에서 1.0 사이의 값으로 모델의 최소 신뢰값 입니다. model_complexity (기본값 : 1) 0, 1, 2 의 숫자로 숫자가 올라갈수록 정확도가 올라가고 시간이 오래걸립니다. 참고 https://google.github.io/mediapipe/solutions/pose.html#pose-landmark-model-blazepose-ghum-3d 사진 https://unsplash.com/

[인공지능] google colab으로 MediaPipe holistic 전체 실행하기 [내부링크]

google colab에서 MediaPipe를 이용해 좌측의 그림에 holistic을 실행해 우측의 그림과 같은 결과를 얻었습니다. Holistic 파이프라인은 포즈, 얼굴, 손의 개별 모델을 통합합니다. 먼저 포즈를 추정합니다. 그런 다음 추론된 포즈 랜드마크를 사용하여 각 손(좌,우)과 얼굴에 대해 모델을 적용하여 랜드마크를 추정합니다. 마지막으로 모든 랜드마크를 병합하여 전체 540개 이상의 랜드마크를 생성합니다. 참고 https://google.github.io/mediapipe/solutions/holistic.html 사진 https://unsplash.com/

[인공지능] google colab으로 MediaPipe selfie segmentation 인물 배경 분리(누끼) 실행하기 [내부링크]

google colab에서 MediaPipe를 이용해 좌측의 그림에 selfie_segmentation을 실행해 우측의 그림과 같은 결과를 얻었습니다. 참고 https://google.github.io/mediapipe/solutions/selfie_segmentation.html#model_selection 사진 https://unsplash.com/

[인공지능] google colab으로 MediaPipe objectron 3D 물체 감지 실행하기 [내부링크]

google colab에서 MediaPipe를 이용해 좌측의 그림에 objectron 실행해 우측의 그림과 같은 결과를 얻었습니다. Objectron 옵션 static_image_mode (기본값 : false) true일때는 정적 이미지를 처리하고 false일때는 입력 이미지를 비디오스트림으로 처리합니다. max_num_objects (기본값 : 5) 감지할 최대 물체 수 입니다. min_detection_confidence (기본값 : 0.5) 0.0에서 1.0 사이의 값으로 모델의 최소 신뢰값 입니다. model_name (기본값 : Shoe) 3D 경계 랜드마크를 예측하는데 사용할 모델의 이름입니다. 현재는 Shoe, Chair, Cup, Camera를 지원합니다. 참고 https://google.github.io/mediapipe/solutions/objectron.html 사진 https:/.......

[인공지능] 웹에서 JavaScript로 MediaPipe face_detection 얼굴 인식 실행하기 [내부링크]

웹에서 MediaPipe를 이용해 face_detection을 실행해 다음 결과를 얻었습니다. index.html script.js style.css 좌측 상단 control pannel 에서 설정을 확인하고 조절할 수 있습니다. 웹캠으로 설정해두면 실시간으로 얼굴이 인식됨을 확인할 수 있습니다. 업로드 버튼을 클릭하면 사진을 업로드해 얼굴 인식을 할 수 있습니다. 참고 https://google.github.io/mediapipe/solutions/face_detection.html 사진 https://unsplash.com/

[인공지능] windows 환경에 mediapipe 설치하기 [내부링크]

1. 아나콘다 다운로드 https://www.anaconda.com/products/individual#Downloads 2. Visual C++ Redistrivutable 설치 https://docs.microsoft.com/en-US/cpp/windows/latest-supported-vc-redist?view&#x3D;msvc-170 3. Visual Studio Code 설치 https://code.visualstudio.com/download 4. Visual Studio 설정 visual studio를 열어 실행시키고 좌측 버튼을 클릭해 검색창에 python을 검색해 python을 설치합니다. 상단 메뉴중 View - Command Palette (ctrl+shift+p)를 클릭하고 Terminal:select Default Profile을 검색해 Command Prompt로 변경합니다. 상단 메뉴중 Terminal - New Terminal (ctrl+shift+&#x27;)를 클릭해 터미널을 엽니다. .......

[인공지능] windows 환경에서 python으로 MediaPipe face_detection 얼굴 인식 실행하기 [내부링크]

windows 환경에서 MediaPipe를 이용해 face_detection을 실행해 다음 결과를 얻었습니다. visual studio를 실행해 MP폴더를 열고 faceDetection.py를 생성했습니다. 1. 사진 입력 프로젝트 폴더내에 얼굴인식을 할 사진을 넣어준 뒤 다음의 코드를 실행시킵니다. 2. 영상/ 웹캠 입력 프로젝트 폴더내에 얼굴인식을 할 영상을 넣어준 뒤 다음의 코드를 실행시킵니다. 영상일때 출력 입니다. 웹캠일때 출력 입니다. 참고 https://google.github.io/mediapipe/solutions/face_detection 영상 https://www.pexels.com/ko-kr/

[안드로이드] 윈도우에서 ADB를 이용해 logcat 파일로 저장 [내부링크]

1. sdk platform 설치 안드로이드 스튜디오를 설치하면 ADB는 자연스럽게 설치가 되어 있을 수 있습니다. 설치되어있는 경로는 (C:\Users\컴퓨터이름\AppData\Local\Android\Sdk\platform-tools) 입니다. 설치되지 않았을 경우 아래 링크에서 다운받고 원하는 위치에 압축을 해제합니다. https://developer.android.com/studio/releases/platform-tools 2. 환경변수 설정 제어판 &#62; 시스템 및 보안 &#62; 시스템 &#62; 고급 시스템 설정 &#62; 환경변수 에 진입합니다. 윈도우 검색에 &#34;환경 변수&#34;를 검색해도 진입할 수 있습니다. 시스템변수에 새로만들기를 누릅니다. sdk platform의 경로를 추가하고 확인을 누릅니다. 시스템 변수에.......

[무료체험/유료] 로그 필터 툴 Zooo Android Debug Helper [내부링크]

무료 - 2시간 사용제한 http://www.dreamycni.com/kr/ 구매 - 55,000\ https://smartstore.naver.com/zooo ADB 로그 내용을 보여주고 필터랑합니다. 기존 로그필터가 가지는 불편함들을 해소하고 이슈 분석 시간을 줄여줄 여러 편리한 기능들을 가지고 있습니다. 주요 기능 - Main, System, Event, Kernel, Radio 로그 catch 및 필터링(Kernel 로그는 rooting이 필요합니다.) - 필터 대소문자 구분 옵션 - 책갈피 설정 - 설정: Ctrl+F2, 다음 책갈피 : F4, 이전 책갈피 : F3 - &#x27;GO&#x27; 버튼 (단축키 Ctrl+G) : Line 또는 시간을 입력하여 해당 위치로 바로 이동 - 메모 입력 - 설정한 북마크 및 메모 자동 저장 - 전체 화면으로 크게보기.......

[무료체험/유료] 데이터 비교 툴 Beyond Compare [내부링크]

무료 - 30일 체험 구매 - 60$/30$ https://www.scootersoftware.com/index.php Beyond Compare를 사용하면 파일과 폴더를 빠르고 쉽게 비교할 수 있습니다. 간단하고 강력한 명령을 사용하여 관심 있는 차이점에 집중하고 관심이 없는 차이점은 무시할 수 있습니다. 그런 다음 변경 사항을 병합하고, 파일을 동기화하고, 기록에 대한 보고서를 생성할 수 있습니다. 폴더비교, 파일비교 폴더병합, 파일병합 폴더 동기화

[안드로이드] 안드로이드 스튜디오 설치하기 [내부링크]

자바 JDK(Java Development Kit) : 명령어를 실행하기 위한 자바 개발 키트 입니다. 안드로이드 스튜디오 : 프로그래밍 언어를 활용해 간편하게 실행하고 디버깅할 수 있게 해주는 통합 개발 환경 IDE(Integrated Development Environment)의 일종 입니다. 1. 자바 설치 https://www.oracle.com/java/technologies/downloads/ 운영체제를 선택해 파일을 다운받고 실행합니다. 계속 Next 버튼을 클릭합니다. 설치 폴더는 기본값으로 합니다. Close 버튼까지 클릭하면 설치가 완료됩니다. 2. 안드로이드 스튜디오 설치 https://developer.android.com/studio 윈도우 사용자는 아래 버튼을 클릭해 파일을 다운받습니다. 기타 운영체제는 Download op.......

[JAVA] Eclipse 설치하기 [내부링크]

자바 JDK(Java Development Kit) : 명령어를 실행하기 위한 자바 개발 키트 입니다. 이클립스 : 프로그래밍 언어를 활용해 간편하게 실행하고 디버깅할 수 있게 해주는 통합 개발 환경 IDE(Integrated Development Environment)의 일종 입니다. 1. 자바 설치 https://www.oracle.com/java/technologies/downloads/ Download the Latest Java LTS Free Subscribe to Java SE and get the most comprehensive Java support available, with 24/7 global access to the experts. www.oracle.com 운영체제를 선택해 파일을 다운받고 실행합니다. 계속 Next 버튼을 클릭합니다. 설치 폴더는 기본값으로 합니다. Close 버튼까지 클릭하면 설치가 완료됩.......

[무료] 실시간 파일/폴더 검색 툴 Everything [내부링크]

https://www.voidtools.com/ko-kr/downloads/ Everything은 파일 이름으로 파일과 폴더를 실시간으로 찾아주는 윈도 검색 엔진입니다. 윈도 검색과 달리 Everything은 처음에 컴퓨터에 있는 모든 파일과 폴더를 보여줍니다(그래서 이름이 그렇습니다). 검색 필터를 입력해 무슨 파일과 폴더를 보여줄지 거릅니다. Everything은 파일과 폴더 이름만 색인하며 일반적으로 데이터베이스를 구축하는 데 수초가 걸립니다. 윈도 10 설치 직후(약 12만개 파일)에서 색인하는데 약 1초가 걸립니다. 파일 100만 개의 경우 약 1분 가량이 걸립니다. 상단 검색 줄에 파일 이름 일부분을 쳐서 검색합니다.

[무료] 색상 추출 툴 Color Cop [내부링크]

http://colorcop.net/download/ Color cop 화면에서 스포이드 그림을 마우스 왼쪽 클릭한 상태로 추출할 이미지 위로 드래그합니다. Custom 버튼을 클릭하면 더 자세한 정보를 확인하고 세밀한 조정이 가능합니다.

[JAVA] 세 값의 최댓값 [내부링크]

최댓값 : max 숫자1 : a / 숫자2 : b / 숫자3 : c Q1) 세 값의 최댓값을 구하는 메서드 Q2) 네 값의 최댓값을 구하는 메서드 Q3) 세 값의 최솟값을 구하는 메서드 Q4) 네 값의 최솟값을 구하는 메서드

[인공지능] 인공지능, 머신러닝, 딥러닝 [내부링크]

1. 정의 - 인공지능 이란? 인간의 지능이 가지는 학습, 추리, 적응, 논증 따위의 기능을 갖춘 컴퓨터 시스템입니다. - 머신러닝이란? 수많은 데이터, 빅데이터 속에서 스스로 규칙을 찾아 학습하는 것입니다. 전통적인 방식 : 데이터와 프로그램을 입력하면 &#x3D;&#62; 프로그램의 실행 결과 머신러닝 : 데이터와 데이터로 인해 나타나는 결과 &#x3D;&#62; 프로그램 - 딥러닝이란? 인공지능을 만드는 방법 중 하나입니다. 딥러닝은 머신러닝이라고 할 수 있지만, 머신러닝은 딥러닝이 아닙니다. 인공지능을 만드는 방법에는 딥러닝 이외에도 다양한 기법들이 있습니다. 2. 머신러닝의 학습방법 종류 - 지도학습 레이블(정답)이 있는 데이터를 이용.......

[인공지능] 인공 신경망(ANN, Artificial Neural Network) [내부링크]

1. 정의 - 신경망(Neural Network)이란? 사람의 뇌에는 뉴런이라는 신경세포가 복잡한 네트워크를 이루고 있습니다. 뉴런들은 서로 연결되어 필요한 신호들을 서로 전달하는 역할을 합니다. - 인공 신경망(ANN, Artificial Neural Network)이란? 뉴런들이 서로 연결된 모습을 인공적으로 만든 것입니다. 인공 신경망에서는 뉴런이 뉴런과 연결된 모습을 각각의 층으로 분류합니다. 다음은 입력층, 은닉층과 출력층으로 구성된 인공 신경망입니다. -&#62; 입력층(Input Layer) : 데이터를 입력받습니다 -&#62; 은닉층(Hidden Layer) : 입력층에서 들어온 데이터가 신호로 바뀌어 출력층에 전달됩니다 -&#62; 출력층(Output Layer) : 결과를 출력합니.......