전체 글 300

[Tech, Python] \b (정규식)

정규식의 \b 메타 문자는 단어 경계를 나타낸다. 이는 문자를 일치시키는 것이 아니라 문자 사이의 위치를 일치시키는 것으로, 구체적으로 단어 문자(\w) 뒤에 단어가 아닌 문자(\W)가 오는 위치 또는 그 반대의 위치에 일치시킨다. 또한 첫 번째 또는 마지막 문자가 단어 문자인 경우 만자열의 시작 또는 끝에서도 일치한다. \b를 사용하면 텍스ㅌ 전체 단어 일치 : 'cat'이라는 단어를 문장에서 찾는데 'cat'이 다른 단어의 일부('catalog', 'bobcat' 같은 경우)가 아닌 경우를 찾을 때 import re text = "The cat scurried away from the catalog on the bobcat." pattern = r'\bcat\b' matches = re.findall..

[Comm.] Cirrus Aircraft (시러스 에어크래프트)

Cirrus Aircraft는 항공 분야 중 특히 개인 파일럿과 소규모 전세 서비스에서 인기가 높은 단일 엔진, 피스톤 및 제트 항공기 라인으로 잘 알려져 있다. Cirrus Aircraft는 항공기 모델에서 몇 가지 혁신적인 기능으로 유명하다. Cirrus Aircraft는 SR20 및 SR22 피스톤 엔진 항공기를 비롯해 항공 시장의 접근성이 높은 부문에 제트기의 속도와 성능을 제공한다는 점에서 주목받고 있는 단일 엔진 초경량 제트기 (single-enging, very light jet, VLJ)인 비전 제트 등 여러 인기 기종을 보유하고 있다. The Cirrus Airframe Parachute System (CAPS, Cirrus 기체 낙하산 시스템) : Cirrus 항공기의 가장 특징적인 안..

[Tech, Python] re.group()

re.group() 함수는 검색된 패턴에서 일치하는 항목을 가져오는 데 사용된다. 이 함수는 정규식과 일치하는 문자열의 일부를 추출하는 데 사용할 수 있다. 예시를 살펴보자. 기본 사용법 import re # Compile a pattern and search in the string pattern = re.compile(r'\d+') # Matches one or more digits match = pattern.search('The price is 123 dollars.') # Use group to get the matched string if match: print(match.group()) # Output: 123​ 괄호를 사용해 일치하는 문자열 중 특정 문자열 접근 import re text ..

[Tech, Algo] Sieve of Eratosthenes (에라토스테네스의 체)

에라토스테네스의 체는 소수를 찾아내기 위한 알고리즘으로, 교과 과정에서도 배우는 내용 중 하나다. 이 알고리즘은 LeetCode 204. Count Primes 와 같은 인터뷰에도 종종 등장하므로 알고 있으면 매우 유용하다. 고대 그리스 수학자 에라토스테네스가 발견한 이 알고리즘은 '체'로 치듯이 수를 걸러낸다고 해 '에라토스테네스의 체'로 불린다. 이 알고리즘의 포인트는 배수와 제곱근을 활용하는 것이다. 예를 통해 이해해보자. 1부터 100까지의 숫자 중 소수를 찾는다 가정하자. 1부터 100까지의 숫자를 나열해보자. 작은 숫자부터 시작을 하고, 특수한 경우인 1을 우선 지운다. 2를 제외한 2의 배수를 지운다. (배수 활용 시작) 3을 제외한 3의 배수를 지운다. 4의 배수는 이미 2의 배수를 통해 ..

[Tech, Python] re.compile()

re.compile() 함수는 정규식 패턴을 정규식 객체로 컴파일하는 데 사용된다. 그런 다음 이 객체를 사용해 문자열과 일치시키거나 문자열 내에서 패턴을 검색할 수 있다. 정규식을 객체로 컴파일하면 몇 가지 이점이 있다. 효율성 : 정규식 패턴을 객체로 컴파일하면 패턴이 분석돼 매칭에 최적화된 내부 형식으로 한 번만 변환된다. 동일한 패턴을 여러 번 사용하려는 경우 한 번 컴파일하고 객체를 재사용하는 것이 re.match(), re.search() 등의 함수에서 패턴을 직접 사용할 때마다 다시 해석하는 것보다 더 효율적이다. 재사용 가능성 : 정규식 객체는 일단 컴파일되면 여러 문자열에 걸쳐 여러 번 재사용할 수 있다. 이렇게 하면 코드가 더 깔끔해질 뿐만 아니라 패턴이 한 곳에 정의되므로 유지 관리도..

[Tech, Network] Octet (옥텟)

bit는 0 혹은 1로 이루어진 단일 숫자 단위다. byte는 8 bit가 모여서 이루어진다. octet 역시 8 bit가 모여 이루어진 단위를 말한다. 그러나 초기 컴퓨터를 다룰 때 1byte에 대한 공통된 정의가 존재하지 않아, 8 bit를 꼭 의미하지 않았기에 octet이 사용됐다. 하지만 현대에는 byte와 octet을 같은 의미로 봐도 무방하다. 참고 - https://noogoonaa.tistory.com/126 - http://www.terms.co.kr/octet.htm?ckattempt=1 - https://gourmet-eundong.tistory.com/21

[Tech, C++] VK_CONTROL

VK_CONTROL은 윈도우 운영 체제에서 키보드의 Ctrl 키에 대한 가상 키 코드를 의미한다. 가상 키 코드는 Windows API (애플리케이션 프로그래밍 인터페이스) 내에서 키보드 키를 나타내기 위해 사용된다. 특히 키보드 관련 이벤트에서 Ctrl 키를 누르거나 놓는 시점을 감지하기 위해 프로그래밍에서 VK_CONTROL 코드가 사용된다. 윈도우 프로그래밍의 맥락에서 개발자는 키보드 단축키를 만들거나 애플리케이션에서 특정 키보드 입력을 처리하는 데 VK_CONTROL을 사용할 수 있다. 예를 들어, 다른 키와 결합하면 Ctrl 키는 텍스트 복사(Ctrl + C), 붙여넣기(Ctrl + V)와 같은 다양한 표준 작업을 수행할 수 있다. 키보드 입력을 처리할 때 VK_CONTROL 키의 상태를 확인해..

[Tech, C++] Accelerator Key (액셀러레이터 키) - Windows

윈도우에서 Accelerator Key (액셀러레이터 키)는 키보드 단축키(keyboard shortcut) 또는 단축키(hotkey)라고도 하며, 같이 누르면 애플리케이션 또는 운영 체제 내에서 특정 기능이나 명령을 수행하는 키 조합이다. 이러한 키는 메뉴를 탐색하지 않고도 기능에 빠르게 액세스하거나 명령을 실행할 수 있는 방법을 제공한다. 일반적으로 Accelerator Key는 다른 키와 함께 누르는 것을 말한다. 예를 들어, 많은 윈도우 애플리케이션에서 Alt + F를 누르면 파일 메뉴가 열린다. Alt 키 외에도 문자, 숫자 또는 기능 키와 조합해 바로 가기를 만드는 데 Ctrl 및 Shift 키와 같은 다른 수정자 키(modifier keys)도 많이 사용된다. 예를 들어, 선택한 텍스트나 개..

[Tech, Algo] Adaptive Beamforming (적응형 빔형성)

Adaptive Beamforming은 레디어 시스템, 무선 통신 시스템, 소나 (수중 음파 탐지) 등의 센서 배열에서 신호의 수신 또는 전송을 특정 방향으로 유도하기 위해 사용되는 고급 신호 처리 기술이다. 신호 빔의 방향성을 동적으로 조정해 다른 신호의 간섭을 최소화하면서 원하는 신호에 더 집중할 수 있다. Adaptive Beamforming은 다양한 적용에서 신호 품질과 방향성을 향상시키는 데 중요한 역할을 하며 최신 통신 및 감지 시스템의 핵심 기술로 자리 잡고 있다. 파티에서 대화하는 상황을 빗대 이해를 해보자. 손님들로 가득 찬 시끄러운 파티에서 친구의 이야기를 듣고 싶다고 상상해 보자. 친구는 방 한 구석에 있고 음악이 흘러나오고 있으며 주변에서는 여러 가지 대화가 오가고 있다. 친구의 이..

[Tech, Python] re.escape

파이썬의 re 모듈에 있는 re.escape 함수는 문자열의 특수 문자를 escape 처리해 해당 문자가 특수 문자로 해석되지 않고 정규 표현식에서 사용될 수 있도록 설계됐다. "escape"라는 이름이 붙은 이유는 "escape"라는 더 넓은 프로그래밍 개념에서 유래했다. 많은 프로그래밍 언어와 문맥에서 "escape"한다는 것은 그 앞에 다른 문자 (종종 백슬래시 \)를 붙여 그 뒤에 오는 문자를 일반적인 특수 문자가 아닌 문자 그대로 해석해야 함을 나타낸다. 이는 정규식(다른 많은 구문과 마찬가지로)에서 특정 문자(.*?+()[]{}|^$ 등)가 수량화, 그룹화 또는 제어 구조를 나타내는 등 특별한 의미를 갖기 때문에 필요하다. 예시를 살펴보자. 기본적인 사용 : text에서 "Hello, worl..