안드로이드에서 Snackbar와 Toast는 모두 사용자에게 간단한 메시지를 표시하는 데 사용되는 UI 구성 요소지만, 모양 및 동작이 다르다. Snackbar는 더 다양하고 대화형인 반면 Toast는 더 단순하며 주로 짧은 비대화형 메시지를 표시하는 데 사용된다. 상호 작용 Snackbar : 사용자와 상호 작용을 허용한다. '실행취소(UNDO)' 또는 '재시도(RETRY)'와 같은 Action Button (작업 버튼)을 추가하여 사용자가 메시지에 따라 특정 작업을 수행할 수 있도록 할 수 있다.Toast: 비대화형 메시지다. Toast는 단순히 메시지를 표시하고 사용자 상호작용 없이 사라진다.사용 컨텍스트Snackbar: 현재 보기와 관련된 메시지(예: 양식 제출 또는 업데이트)를 표시하는 데 사..
컴퓨터 비전에서 Image Pyramid는 이미지를 반복적으로 다운샘플링 (일반적으로 2의 배수)하여 해상도가 점차 낮아지는 이미지 시퀀스를 생성하는 이미지의 다중 스케일 표현이다. 이 구조는 알고리즘이 다양한 수준의 디테일로 이미지를 처리할 수 있게 해주므로 object detection, image matching, texture analysis 같은 다양한 작업에 유용하다. Pyramid에는 크게 두 가지 유형이 있다.Gaussian Pyramid:Pyramid의 각 레벨은 Gaussian Filter를 사용해 noise와 detail을 줄이기 위해 이전 레벨을 매끄럽게 하고(smoothed) 다운샘플링한 버전이다.주로 다양한 스케일로 글로벌 이미지의 특징을 캡처하는 것이 목표인 응용에 사용된다...
컴퓨터 비전에서 NCC는 두 이미지(또는 이미지 패치) 간의 유사성을 측정하는 Normalized Cross-Correlation (정규화된 교차 상관관계)의 약자다. 템플릿 매칭 (template matching) 및 이미지 정렬 (image alignment) 작업에서 일반적으로 사용되며, 템플릿과 이미지 섹션 간에 가장 잘 일치하는 것을 찾는 것이 목표다. NCC에 관련된 단계는 아래와 같다.Normalization: 비교 대상인 템플릿과 이미지 패치는 모두 평균을 빼고 표준편차로 나누어 정규화된다. 이렇게 하면 발기와 대비가 다른 효과가 제거된다.Cross-correlation: 템플릿과 이미지 패치의 정규화된 버전을 곱하고 합산해 상관 관계 점수를 계산한다. 그 결과는 유사성의 척도로서 점수가..
Android Studio에서 새로운 Activity를 생성할 때 Empty Activity와 Empty View Activity를 확인할 수 있다. 두 Activity의 차이점을 알아보자. Empty Views Activity: Empty Views Activity는 Android 앱에서 Java를 이용한 template이다. Android Developers 사이트에도 현재 Empty Views Acitivty에 대한 문서 페이지는 없다.(Empty Activity에 대한 페이지 역시 제공하지 않고있다.) 이는 Android 앱 개발이 Java로만 이뤄지던 시절에 존재했던 기본 Activity로 old version이라고 할 수 있지만, 현재 Java로 개발을 할 때는 Empty Views Activ..
Linux (C 구현)와 Windows (C++ 구현)에서 CPU affinity(선호도) 설정 구현 예시를 살펴보자. 이 예시에서는 프로세스(Linux)와 스레드(Windows)를 CPU 0에 바인딩한다. mask를 수정해 다른 또는 여러 CPU에 바인딩할 수 있다. 예를 들어, CPU 0과 CPU 1에 모두 바인딩하려면 Windows에서는 mask를 3(binary 11)으로 설정하고 Linux에서는 CPU_SET(1, &mask)를 사용한다. Linux (Using C): Linux에서 'sched_setaffinity()' 함수를 사용한 구현 예시다.cpu_set_t mask: CPU 세트를 정의하는 자료구조CPU_ZERO(&mask): CPU 세트를 비어있는 상태로 초기화CPU_SET(0, &m..
멀티스레딩 시스템에서 특정 코어를 작업에 지정하는 것운 꽤 일반적이다. 이러한 사용 CPU 선호도(affinity) 또는 프로세서 선호도라고 한다. 실제로 CPU 선호도 설정은 운영체제 내에서, 운영체제에서 제공하는 API(예: Linux의 sched_setaffinity)를 사용하거나 애플리케이션 코드 내에서 등 다양한 수준에서 수행할 수 있다. 많은 최신 운영체제와 스레딩 라이브러리는 CPU 선호도를 설정하는 메커니즘을 제공한다. 그러나 CPU 선호도 설정은 이점을 제공할 수 있지만 신중한 고려와 튜닝이 필요하다는 점에 유의해야 한다. 코어에 작업을 잘못 할당하면 성능이 최적화되지 않을 수 있으며, 제대로 수행하지 않으면 시스템의 전반적인 효율성이 저하될 수도 있다. 이 구현의 이유는 아래와 같다. ..
C와 C++는 메모리 관리에 더 많은 제어 기능을 제공해 잠재적인 차이점을 제공하는 반면, Python은 이러한 세부 사항을 추상화해 일부 효율성을 희생하는 대신 개발을 간소화한다. C, C++ Low-Level Memory ManagementManual Memory Allocation (수동 메모리 할당)C: C에서는 malloc, calloc, realloc, free와 같은 함수를 사용해 메모리를 직접 관리한다.malloc(size_t size): 초기화 되지 않은 메모리의 크기(바이트)를 할당한다.calloc(size_t num, size_t size): num 요소 배열의 각 크기 바이트에 대한 메모리를 할당하고 모든 바이트를 0으로 초기화한다.realloc(void *ptr, size_t si..
일반적으로 C++(및 C)의 구현은 Python의 구현보다 더 빠른 경향이 있다. 그러나 모든 유형의 애플리케이션에서 성능 차이가 크지는 않다. 예를 들어, 개발 속도 및 유연성 측면에서 Python은 단순성과 풍부한 라이브러리 에코시스템으로 인해 신속한 개발 및 프로토타이핑에 선호되는 경우가 많다. IO-boun 애플리케이션의 경우 Python은 높은 수준의 추상화와 사용 편의성으로 인해 웹 서버, 데이터 처리 스크립트 등 IO 바인딩 애플리케이션에 매우 효율적일 수 있다. 요악하면, C++와 C는 일반적으로 컴파일된 특성과 낮은 수준의 제어로 인해 실행 시간이 빠르지만, Python은 사용 편의성과 빠른 개발 기능으로 인해 실행 속도는 느리지만 많은 애플리케이션에서 강력한 선택이 될 수 있다. 아래는..
LSK 라벨은 특히 항공기의 항공 전자 시스템 기능과 관련이 있다. 이러한 라벨은 최신 항공기의 조종석에 있는 CDU (Control Display Unit, 제어 디스플레이 장치) 또는 MCDU (Multifunction Control Display Unit, 다기능 제어 디스플레이 장치) 에서 찾을 수 있다. LSK 레이블은 항공 전자 시스템의 중요한 부분으로, 조종사가 항공기의 내비게이션, 통신 및 관리 시스템과 상호 작용할 수 있는 사용자 친화적인 인터페이스를 제공한다. 다음은 일반적으로 LSK 라벨이 가리키는 내용이다. 항공 전자 시스템: 항공 전자 공학에서 LSK는 CDU 또는 MCDU의 화면 옆에 위치한 버튼이다. 각 LSK는 디스플레이의 특정 라인 또는 항목과 연결되어 있다. 조종사는 이 ..
PDB 파일은 데이터베이스 파일이지만 단순히 읽기 전용 데이터 저장소(Read-only data store) 그 이상이다. 컴파일하는 동안 컴파일러가 PDB 파일에 활발하게 기록한다. 아래는 PDB 파일의 역할과 컴파일 중에 이 파일에 write 해야하는 이유다. PDB 파일이란: 아래와 같은 프로그램에 필요한 디버깅 정보가 저장된다.변수 및 함수에 대한 symbols소스 파일 이름 및 line 번호자료 구조에 대한 type 정보컴파일 중에 PDB 파일에 write을 하는 이유: 컴파일하는 동안 몇 가지 작업을 수행하려면 PDB 파일을 업데이트 해야한다.Symbol 정보 저장: 컴파일러는 각 소스 파일을 처리할 때 변수 잉름, 함수 이름 및 해당 주소와 같은 기호 정보를 생성하고 이 정보를 PDB 파일에..
- Total
- Today
- Yesterday
- Hash Map
- 머신 러닝
- socket programming
- 티스토리챌린지
- vertex shader
- 리트코드
- Computer Graphics
- 이코노미스트 에스프레소
- join
- DICTIONARY
- leetcode
- 딕셔너리
- Android
- tf-idf
- C++
- machine learning
- ml
- min heap
- I2C
- java
- 소켓 프로그래밍
- 이코노미스트
- 투 포인터
- Python
- 오블완
- The Economist
- The Economist Espresso
- 안드로이드
- 파이썬
- defaultdict
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |