개발 언어
-
스피커, 헤드셋 전환 원클릭 프로그램 만들기개발 언어/Python 2024. 8. 15. 14:05
스피커와 헤드셋을 번갈아가면서 사용하는데, 매번 소리 설정을 열어서 클릭하기가 너무 귀찮았습니다. 소리설정 열고, 출력장치 눌러서 바꾸고, 입력장치 눌러서 바꾸면총 5번의 클릭이 소요됩니다. 하루에 한번씩만 바꿔도 365일 * 5번 = 1825번의 클릭을 하게 됩니다. 가끔 잘못누르면 더 늘어납니다. 그래서 파이썬을 이용해 프로그램을 만들었고 아주 편안하게 사용할 수 있게 되었습니다 SoundVolumeView 설치https://www.nirsoft.net/utils/sound_volume_view.html View / change sound volume on Windows 11/10/7/8/2008 from command-line or GUIDisplay, change, mute, unmute t..
-
[실전] 파이썬으로 웹크롤링을 해보자 - Selenium으로 원하는 정보 크롤링하기개발 언어/Python 2024. 4. 1. 15:13
부동산 써브에서 관리하고 있는 매물들의 상세내용을 알아와야합니다. 일일이 클릭해서 찾을 수 없으니, 웹크롤링을 해보겠습니다. 먼저 관리하고 있는 매물의 매물번호와 주소가 적힌 엑셀시트를 제공해주어서, 그걸로 매물번호들을 모두 크롤링 해보겠습니다. selenium을 이용하여 크롤링 해보겠습니다. from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys from selenium.webdriver.chrome.options import Options import time import os import requests from bs4 import Be..
-
파이썬 pandas xlrd.biffh.XLRDError: Excel xlsx file; not supported 에러개발 언어/Python 2024. 3. 31. 16:29
# 엑셀 파일 읽기 df = pd.read_excel(excel_file) 실행 시, 에러가 발생한다. https://stackoverflow.com/questions/65254535/xlrd-biffh-xlrderror-excel-xlsx-file-not-supported/65266270#65266270 xlrd.biffh.XLRDError: Excel xlsx file; not supported I am trying to read a macro-enabled Excel worksheet using pandas.read_excel with the xlrd library. It's running fine in local, but when I try to push the same into PCF, I am..
-
VS Code에 Anaconda 연동하는 방법개발 언어/Python 2023. 9. 5. 14:15
VS Code에서 빌드를 하기위해 Anaconda와 연동하는 방법입니다. VS Code를 실행합니다. Anaconda Navigator에서 실행해도 되고, 파일탐색기창에 cmd 입력 -> code . 을 통해 실행할 수 있습니다. Python 설치 Extention에서 Python 과 Code Runner을 찾아서 설치합니다. Python Interpreter 선택 View - Command Palette를 선택합니다. 단축키 : Ctrl + Shift + P Python : Select Interpreter 검색 위와 같이 설치된 파이썬을 적용할 수 있습니다. Anaconda 경로에 있는 파이썬을 선택하면, 아나콘다와 연동이 됩니다. 터미널에서 파이썬 버전을 확인하니 제대로 로딩이 되었습니다.
-
Anaconda 에서 Python 버전 변경하는 방법개발 언어/Python 2023. 9. 5. 12:41
Anaconda 환경에서 Python 버전을 변경하는 방법입니다. | Anaconda prompt 실행 아래와 같이 입력 > conda search python 설치가능한 python 의 버전이 나옵니다. 원하는 파이썬의 버전을 찾은 후, 아래와 같이 입력 > conda install python=a.b.c a.b.c 버전에 해당하는 파이썬이 설치됩니다. 굉장히 오래걸립니다... 환경 탐색이 다 끝나고 나면, 패키지 버전을 변경할 것인지 묻고 Y 를 입력하면 전체 패치를 진행 후 done 이 출력되며 끝납니다.
-
Overhead를 줄이기 위한 인라인 함수란? Inline Function개발 언어/Embedded C 2023. 5. 9. 23:36
정의 인라인함수(Inline Function)는 함수 호출 시, Overhead를 줄이기 위한 C/C++의 기능입니다. 인라인 함수는 함수가 호출되는 대신, 함수 코드가 직접 호출문 위치에 삽입되어 컴파일됩니다. 따라서 함수 호출 시에 발생하는 Overhead를 줄일 수 있습니다. 작성방법 인라인 함수는 일반적인 함수와 마찬가지로 작성하는데, 함수 선언에 'inline' 키워드가 추가되어야 합니다. 아래는 일반적으로 함수를 작성하는 방법입니다. int add(int x, int y){ return x+y; } int main(){ int a = 10, b = 20; int c = add(a, b); return 0; } 인라인함수로 만들 경우 아래와 같이 작성합니다. inline int add(int x..
-
임베디드에서 오버헤드(Overhead)란?개발 언어/Embedded C 2023. 5. 9. 23:15
정의 Overhead는 일반적으로 작업을 수행하기 위해 시스템 자원을 사용하는데 필요한 추가적인 비용을 말합니다. 즉, 실제 작업에 직접적으로 기여하진 않고, 시스템 전반적인 성능에 영향을 미치는 부분을 의미합니다. 예시 시스템 호출, 함수 호출, 데이터 복사 등이 Overhead의 예시입니다. 즉, 추가 비용이 드는 행위는 Overhead를 초래합니다. 함수를 호출하면, 호출되는 함수의 지역 변수와 매개 변수를 스택(Stack Section)에 할당합니다. 함수가 종료되면 반환 값이 있을 경우 값을 반환하고, Stack 프레임을 제거한 후, 원래 실행되던 함수로 돌아갑니다. 이 과정에서 스택(Stack Section)에 할당하는 행위가 Overhead를 만듭니다. Overhead를 줄이는 방법 가능한 ..
-
Sync, Async 차이 (동기와 비동기)개발 언어/알고리즘 2022. 10. 12. 15:46
Sync와 Async의 차이점은 무엇인가요? 동기식("sync"라고도 함)과 "비동기"라고도 하는 비동기식은 두 가지 유형의 프로그래밍 모델입니다. 이러한 두 모델의 차이점을 이해하는 것은 API(응용 프로그래밍 인터페이스)를 빌드하고, 이벤트 기반 아키텍처를 만들고, 장기 실행 작업을 처리하는 방법을 결정하는 데 매우 중요합니다. 사용할 메서드와 사용 시기를 선택할 때 동기 프로그래밍 및 비동기 프로그래밍에 대한 몇 가지 주요 사항을 아는 것이 중요합니다. Sync(Synchronous, 동기; 동시에 일어나는) 동기는 동시에 일어나는 것을 의미합니다. 요청과 결과가 동시에 일어납니다. 동기식은 차단 아키텍처로 알려져 있으며 반응 형 시스템을 프로그래밍하는 데 이상적입니다. 단일 스레드 모델로서 엄격한..
-
고급 암호화 표준(Advanced Encryption Standard, AES) 이란?개발 언어/알고리즘 2021. 3. 11. 17:23
- 요약 대칭키를 가지고 암호화와 복호화를 한다. AES 뒤의 숫자는 대칭키의 bit수를 나타내는 것이다. (AES-128 : 128bit의 대칭키를 쓰는 암호화 알고리즘) 128bit = 16 byte, 키의 String length = 16자리다. - 개요 고급 암호화 표준(Advanced Encryption Standard, AES)은 2001년 미국 표준 기술 연구소(NIST)에 의해 제정된 암호화 방식이다. AES는 두 명의 벨기에 암호학자인 존 대먼과 빈센트 라이먼에 의해 개발된 Rijndael(레인달, [rɛindaːl]) 에 기반하며 AES 공모전에서 선정되었다. AES는 미국 정부가 채택한 이후 전 세계적으로 널리 사용되고 있다. 1977년 공표된 DES를 대체한 AES는, 암호화와 복호..
-
SHA2 (Secure Hash Algorithm 2) 이란?개발 언어/알고리즘 2021. 3. 11. 17:15
- 정의 SHA-2 (Secure Hash Algorithm 2)는 미국 국가안보국(NSA)가 설계한 암호화 해시 함수들의 집합이다. 암호 해시 함수는 디지털 데이터 상에서 수학적으로 동작하며 알려져 있고 예측된 해시값에 대해 계산된 해시(알고리즘의 실행 출력)를 비교함으로써 사람이 데이터의 무결성을 파악할 수 있게 된다. 이를테면 다운로드한 파일의 해시를 계산한 다음 이전에 게시한 해시 결과물의 결과와 비교하면 다운로드한 파일이 수정 또는 조작되었는지 알 수 있다. 암호 해시 함수의 주요 개념은 충돌 회피이다. 즉, 누구도 동일한 해시 출력 결과가 있는 두 개의 다른 입력값을 알아낼 수 없다. - 스펙 문서 https://web.archive.org/web/20160330153520/http://www..
-
ECDSA(Elliptic Curve Digital Signature Algorithm) 란?개발 언어/알고리즘 2021. 3. 11. 17:11
ECD ( Elliptic Curve Digital Signature Algorithm) 라고도하는 ECDSA 는 더 작은 키 크기를 사용하여 비슷한 수준의 보안을 구현할 수있는 널리 사용되는 DSA 알고리즘의 버전입니다. 이는 2000 년대 중반에 개발 된 공개 키 암호화 기술인 타원 곡선 암호화를 사용하여 수행합니다. 여러 개의 큰 주요 요소의 결과 인 큰 정수에 보안을 적용하는 대신 ECDLP (타원 곡선 불연속 대수 문제)를 사용합니다. - 정의 타원곡선 디지털서명 알고리즘(ECDSA; Elliptic Curve Digital Signature Algorithm)은 타원곡선암호를 전자서명에 접목시킨 암호 알고리즘이다. 이는 비트코인, 이더리움 등의 암호화폐 거래 시 정당한 소유주만이 자금을 쓸 수..