re.compile() 함수는 정규식 패턴을 정규식 객체로 컴파일하는 데 사용된다. 그런 다음 이 객체를 사용해 문자열과 일치시키거나 문자열 내에서 패턴을 검색할 수 있다. 정규식을 객체로 컴파일하면 몇 가지 이점이 있다. 효율성 : 정규식 패턴을 객체로 컴파일하면 패턴이 분석돼 매칭에 최적화된 내부 형식으로 한 번만 변환된다. 동일한 패턴을 여러 번 사용하려는 경우 한 번 컴파일하고 객체를 재사용하는 것이 re.match(), re.search() 등의 함수에서 패턴을 직접 사용할 때마다 다시 해석하는 것보다 더 효율적이다. 재사용 가능성 : 정규식 객체는 일단 컴파일되면 여러 문자열에 걸쳐 여러 번 재사용할 수 있다. 이렇게 하면 코드가 더 깔끔해질 뿐만 아니라 패턴이 한 곳에 정의되므로 유지 관리도..
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
VK_CONTROL은 윈도우 운영 체제에서 키보드의 Ctrl 키에 대한 가상 키 코드를 의미한다. 가상 키 코드는 Windows API (애플리케이션 프로그래밍 인터페이스) 내에서 키보드 키를 나타내기 위해 사용된다. 특히 키보드 관련 이벤트에서 Ctrl 키를 누르거나 놓는 시점을 감지하기 위해 프로그래밍에서 VK_CONTROL 코드가 사용된다. 윈도우 프로그래밍의 맥락에서 개발자는 키보드 단축키를 만들거나 애플리케이션에서 특정 키보드 입력을 처리하는 데 VK_CONTROL을 사용할 수 있다. 예를 들어, 다른 키와 결합하면 Ctrl 키는 텍스트 복사(Ctrl + C), 붙여넣기(Ctrl + V)와 같은 다양한 표준 작업을 수행할 수 있다. 키보드 입력을 처리할 때 VK_CONTROL 키의 상태를 확인해..
윈도우에서 Accelerator Key (액셀러레이터 키)는 키보드 단축키(keyboard shortcut) 또는 단축키(hotkey)라고도 하며, 같이 누르면 애플리케이션 또는 운영 체제 내에서 특정 기능이나 명령을 수행하는 키 조합이다. 이러한 키는 메뉴를 탐색하지 않고도 기능에 빠르게 액세스하거나 명령을 실행할 수 있는 방법을 제공한다. 일반적으로 Accelerator Key는 다른 키와 함께 누르는 것을 말한다. 예를 들어, 많은 윈도우 애플리케이션에서 Alt + F를 누르면 파일 메뉴가 열린다. Alt 키 외에도 문자, 숫자 또는 기능 키와 조합해 바로 가기를 만드는 데 Ctrl 및 Shift 키와 같은 다른 수정자 키(modifier keys)도 많이 사용된다. 예를 들어, 선택한 텍스트나 개..
Adaptive Beamforming은 레디어 시스템, 무선 통신 시스템, 소나 (수중 음파 탐지) 등의 센서 배열에서 신호의 수신 또는 전송을 특정 방향으로 유도하기 위해 사용되는 고급 신호 처리 기술이다. 신호 빔의 방향성을 동적으로 조정해 다른 신호의 간섭을 최소화하면서 원하는 신호에 더 집중할 수 있다. Adaptive Beamforming은 다양한 적용에서 신호 품질과 방향성을 향상시키는 데 중요한 역할을 하며 최신 통신 및 감지 시스템의 핵심 기술로 자리 잡고 있다. 파티에서 대화하는 상황을 빗대 이해를 해보자. 손님들로 가득 찬 시끄러운 파티에서 친구의 이야기를 듣고 싶다고 상상해 보자. 친구는 방 한 구석에 있고 음악이 흘러나오고 있으며 주변에서는 여러 가지 대화가 오가고 있다. 친구의 이..
파이썬의 re 모듈에 있는 re.escape 함수는 문자열의 특수 문자를 escape 처리해 해당 문자가 특수 문자로 해석되지 않고 정규 표현식에서 사용될 수 있도록 설계됐다. "escape"라는 이름이 붙은 이유는 "escape"라는 더 넓은 프로그래밍 개념에서 유래했다. 많은 프로그래밍 언어와 문맥에서 "escape"한다는 것은 그 앞에 다른 문자 (종종 백슬래시 \)를 붙여 그 뒤에 오는 문자를 일반적인 특수 문자가 아닌 문자 그대로 해석해야 함을 나타낸다. 이는 정규식(다른 많은 구문과 마찬가지로)에서 특정 문자(.*?+()[]{}|^$ 등)가 수량화, 그룹화 또는 제어 구조를 나타내는 등 특별한 의미를 갖기 때문에 필요하다. 예시를 살펴보자. 기본적인 사용 : text에서 "Hello, worl..
FPGA는 고객 또는 설계자가 제조 후 구성할 수 있도록 설계된 직접 회로, 즉 "field-programmable(현장 프로그래밍 가능)"한 회로다. FPGA에는 프로그래밍 가능한 논리 블록 어레이와 재구성 가능한 상호 연결 계층 구조가 포함되어 있어 서로 다른 구성으로 상호 연결할 수 있는 여러 논리 게이트처럼 블록을 함께 배선할 수 있다. 논리 블록은 복잡한 조합 기능을 수행하도록 구성할 수도 있고, AND 및 XOR과 같은 단순한 논리 게이트로 구성할 수도 있다. 대부분의 FPGA에서 이러한 블록에는 단순한 flip-flops(플립플롭) 또는 보다 완전한 메모리 블록일 수 있는 메모리 요소도 포함된다. FPGA의 주요 특징은 재구성이 가능하기 때문에 제조 후에도 다양한 목적과 애플리케이션에 사용할..
3비트 checksum을 생성하는 CRC3이라는 작은 버전을 사용해 CRC가 어떻게 작동하는지 알아보자. 예시에서는 간단한 4비트 입력 메시지와 4비트 다항식을 사용한다. 원리는 CRC32와 동일하지만 규모만 더 작을 뿐이다. 다항식 선택 : 먼저 CRC3 계산을 위해 4비트 다항식을 선택한다 0xB(2진수로는 1011)을 사용한다. 선행 비트는 항상 1로 가정하며 명시적으로 기록하지 않는다. 입력 데이터 준비 : 입력 데이터가 1101(4비트 메시지)라고 가정하자. CRC3을 수행하려면 이 메시지를 CRC 비트 수(이 경우 3)만큼 환장한다. 메시지 끝에 0을 세 개 추가해 1101 000을 만들면 된다. 나누기 : 이제 2진수의 긴 나눗셈과 유사한 XOR 연산을 사용해 확장된 메시지를 다항식으로 나눈..
CRC32는 순환 중복 검사 32비트의 약자다. 디지털 네트워크 및 저장 장치에서 원시 데이터의 우발적인 변경을 감지하기 위해 일반적으로 사용되는 오류 감지 코드의 한 유형이다. CRC32의 "32"는 알고리즘이 입력 데이터에서 32비트 해시값(32비트의 고정 크기 문자열)을 생성한다는 것을 나타낸다. CRC 알고리즘은 다항식 나누기를 기반으로 하며, 여기서 나눗셈은 입력 데이터, 제수는 미리 정해진 다항식, 몫은 버려진다. 이 나눗셈의 나머지는 오류를 감지하기 위한 checksum으로 사용되는 CRC 값이다. CRC의 구체적인 공식은 아래와 같은 단계를 포함한다. 초기화 : CRC 레지스터가 모두 1 (0xFFFFFFFF)로 초기화된다. 이는 데이터의 선행 0이 checksum에 영향을 미치지 않도록 ..
NMEA는 주로 해양 내비게이션 및 통신 시스템과 관련이 있는 미국해양전자협회(NMEA) 표준을 의미한다. NMEA 표준, 특히 NMEA 0783 및 NMEA 2000 프로토콜은 GPS 및 내비게이션 시스템에서의 유용성으로 인해 항공을 포함한 다양한 분야에서 응용되고 있다. NMEA 0183은 SONAR, GPS receiver 및 기타 다양한 항해 장비와 같은 해양 전자 기기 간의 통신을 위한 표준이다. 직렬 데이터 버스에 대한 전기 신호 요구 사항, 데이터 전송 프로토콜 및 타이밍을 정의한다. 항공 분야에서는 호환되는 장치 간의 GPS 데이터 공유에 NMEA 0183을 사용하여 항공기 시스템이 내비게이션 및 기타 관련 정보를 교환할 수 있다. 더욱 강력하게 업데이트 된 프로토콜인 NMEA 2000은 ..
- Total
- Today
- Yesterday
- 티스토리챌린지
- ml
- Computer Graphics
- Hash Map
- 소켓 프로그래밍
- 딕셔너리
- machine learning
- 안드로이드
- socket programming
- 오블완
- defaultdict
- The Economist
- 파이썬
- 투 포인터
- tf-idf
- java
- DICTIONARY
- leetcode
- min heap
- The Economist Espresso
- vertex shader
- Android
- C++
- 이코노미스트
- 리트코드
- join
- 머신 러닝
- Python
- I2C
- 이코노미스트 에스프레소
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |