전체 글
-
golang: 고루틴(Goroutines)이란?Back-End/Golang 2024. 3. 30. 12:02
고루틴(Goroutines)은 Go 언어에서 동시성(concurrency)을 구현하는 핵심적인 부분입니다. 간단히 말하자면, 고루틴은 Go에서 실행되는 경량 스레드(lightweight threads)와 유사합니다. 하지만 전통적인 스레드에 비해 훨씬 적은 메모리를 사용하며, 쉽게 수천 개 이상을 생성하고 관리할 수 있습니다. 고루틴은 Go 런타임에 의해 관리되며, 고루틴 사이의 통신은 주로 채널(Channels)을 통해 이루어집니다. 고루틴의 특징: 경량: 고루틴은 매우 작은 메모리 스택을 사용하여 시작되며, 필요에 따라 동적으로 확장됩니다. 비동기 실행: 고루틴은 비동기적으로 실행됩니다. 즉, 메인 프로그램의 실행을 차단하지 않고 동시에 실행될 수 있습니다. 쉬운 생성: go 키워드를 사용하여 함수 ..
-
Insertion Sort(삽입 정렬)Algorithm & Data Structure/Sort 2024. 3. 30. 00:18
Insertion sort 란? 삽입 정렬은 정렬되지 않은 리스트를 순차적으로 이미 정렬된 배열의 적절한 위치에 삽입하여 정렬을 완성하는 방식입니다. 이 알고리즘은 부분적으로 정렬된 배열을 유지하며, 각 반복에서 하나의 원소를 정렬된 배열 부분으로 이동시킵니다. Insertion sort 사이클 설명 삽입 정렬의 한 사이클은 다음과 같이 진행됩니다: 배열의 두 번째 요소를 선택합니다(첫 번째 요소는 이미 정렬된 상태로 간주). 선택된 요소를 그 이전의 요소들과 비교하여 적절한 위치를 찾습니다. 선택된 요소가 이전 요소보다 크면 그 위치에 삽입됩니다. 배열의 모든 요소가 이 과정을 거쳐 정렬될 때까지 반복합니다. 이 사이클은 배열의 각 요소가 올바른 위치에 있을 때까지 계속됩니다. Insertion sor..
-
Selection Sort(선택 정렬)Algorithm & Data Structure/Sort 2024. 3. 29. 23:59
Selection sort 란? 선택 정렬(Selection Sort)은 배열 내의 최소값(또는 최대값)을 찾아서 맨 앞(또는 맨 뒤)에 위치한 값과 교환하는 방식으로 정렬을 수행하는 알고리즘입니다. 이 과정을 배열 전체에 대해 반복함으로써 전체 배열을 오름차순 또는 내림차순으로 정렬합니다. 선택 정렬은 이해하기 쉽고 구현하기 간단한 알고리즘 중 하나로, 작은 데이터 세트에 적합합니다. Selection sort 사이클 선택 정렬의 한 사이클은 전체 배열에서 현재 선택된 위치를 기준으로 최소값을 찾는 과정을 포함합니다. 첫 번째 사이클에서는 전체 배열을 검사하여 최소값을 찾고, 이 값을 배열의 첫 번째 위치와 교환합니다. 두 번째 사이클에서는 첫 번째 원소를 제외한 나머지 배열에 대해 동일한 과정을 수행..
-
맥에서 크롬, 크롬 카나리아가 열리지 않는 현상 해결법etc./Mac 2024. 3. 29. 20:39
크롬이나 크롬 카나리아를 눌렀을 때, 이유도 없이 켜지자마자 꺼지는 경험을 종종 했다. 해결 방법!! 1. 터미널을 열어준다. 2. 크롬 데이터 폴더를 삭제해준다. 여기에는 로그인 등의 크롬 관련 데이터들이 들어있는 곳이다. 이 것을 지우면 로그인 정보들이 지워진다. sudo rm -rf ~/Library/Application\ Support/Google/Chrome\ Canary 3. 크롬 폴더를 다시 새롭게 생성해준다. 크롬일때와 크롬 카나리아일 때를 잘 확인하고 둘 중 하나를 실행 해준다. cd ~/Library/Application\ Support/Google sudo mkdir Chrome # Chrome 일 때, sudo mkdir Chrome\ Canary # Chrome Canary 일 때..
-
Bubble Sort(거품 정렬, 버블 소트)Algorithm & Data Structure/Sort 2024. 3. 29. 20:21
Bubble sort 란? 버블 소트(Bubble Sort)는 가장 간단하면서도 직관적인 정렬 알고리즘 중 하나입니다. 이 알고리즘은 인접한 두 원소를 비교하여 잘못된 순서(예: 오름차순 정렬에서 더 큰 수가 왼쪽에 위치하는 경우)가 발견될 때마다 이를 교환합니다. 이 과정을 모든 원소가 올바른 순서로 정렬될 때까지 반복합니다. 이 알고리즘의 이름은 더 큰 원소들이 마치 '거품'처럼 배열의 끝으로 '떠오르는' 모습에서 유래했습니다. Bubble sort 사이클 버블 소트의 한 사이클은 배열의 첫 번째 원소부터 시작해 마지막 원소까지 진행됩니다. 각 단계에서, 현재 원소와 그 다음 원소를 비교하여 현재 원소가 다음 원소보다 크면 두 원소의 위치를 바꿉니다. 이 과정은 배열의 끝에 도달할 때까지 반복되며, ..
-
ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed 에러 해결Back-End/Python 2018. 9. 22. 22:08
맥북에서 CERTIFICATE VERIFY FAILED 에러 대처 파이썬으로 크롤링을 연습하던 중 에러를 만났다. self._sslobj.do_handshake() ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:645) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/Users/bsherman/anaconda/lib/python3.5/runpy.py", line 184, in _run_module_as_main "__main__", mod_spec) File "..