일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Encapusulation
- atmega328
- APP
- sensor
- SERIAL
- public
- file access
- Pointer
- mfc
- wpf
- stream
- Class
- Unity
- Filtering
- aduino
- Binary
- flutter
- c++
- UNO
- Read
- digitalRead
- compare
- Contour
- edge
- memory
- parameter
- subpixel
- Gaussian
- Android
- Gradient
- Today
- Total
목록분류 전체보기 (351)
폴크(FOLC)
Named Pipe 방식 (CreateNamedPipe)1. 개요Windows에서 제공하는 고속 메모리 기반 IPC (Inter-Process Communication) 방식프로세스 간 실시간으로 스트림 혹은 메시지를 전송할 수 있음파일처럼 보이지만 진짜 파일은 아님구성 요소서버 프로세스:CreateNamedPipe 로 파이프 생성ConnectNamedPipe 로 클라이언트 연결 수신클라이언트 프로세스:CreateFile 로 파이프에 연결WriteFile, ReadFile 로 데이터 송수신동작 흐름서버가 \\.\pipe\MyPipe 라는 파이프를 생성클라이언트가 해당 파이프에 연결 시도연결 후 실시간 데이터 전송 가능 (버퍼 기반)장점실시간성 우수 (메모리 기반 통신)디스크 접근이 없어 빠름읽기/쓰기 작..
공유 파일 방식 (Shared File Method)1. 개요파일을 공유 폴더(네트워크를 통해 접근 가능한 폴더)에 저장하고, 다른 PC가 이를 읽거나 수정하는 방식Windows의 SMB (Server Message Block) 프로토콜을 이용해 구현됨구성 요소공유 폴더 설정: 특정 경로를 공유하도록 설정 (\\192.168.0.101\SharedData)파일 입출력 API: C++에서는 CFile, CStdioFile, 또는 fopen, ifstream 등을 사용동작 흐름PC A가 공유 폴더를 설정하고 data.txt를 만듦PC B는 해당 경로를 통해 파일에 접근 (\\PC-A\SharedData\data.txt)두 PC가 파일에 순차적으로 접근하여 데이터 읽기/쓰기장점구현이 간단하고 직관적파일 내용이..
두 대의 PC가 네트워크 드라이브를 통해 공유된 폴더에서 파일을 생성하고, 메시지를 주고받을때 아래과 같이 예외(Exception)가 발생할 수 있다.원인파일이 아직 완전히 생성되지 않았을 때 접근파일 작성이 끝나기 전에 다른 PC에서 접근하면 IOException이나 FileNotFoundException이 발생할 수 있습니다.버퍼링 및 파일 캐싱 문제파일 시스템에서 파일 생성 직후에 바로 디스크에 반영되지 않아 접근 시 에러가 발생할 수 있습니다.파일 잠금 (File Locking)한쪽 PC에서 파일을 아직 닫지 않은 상태일 경우, 다른 PC가 파일을 읽으려 할 때 "사용 중" 예외가 날 수 있습니다. 방안 텍스트 파일 생성 → 완료 메시지 전송 → 수신 측에서 파일 안정성 체크 후 → 파일 읽기원본..
1.Customer Obsession2.Ownership3.Invent and Simplify4.Leaders are right a lot5.Learn and Be Curious6.Hire and Develop the Best7.Insist on the Highest Standards8.Think Big9.Bias for Action10.Frugality11.Earn Trust12.Dive Deep13.Disagree and Commit14.Deliver Results15.Strive to be Earth’s Best Employer16.Success and Scale Bring Broad Responsibility

서브픽셀 엣지 검출(Subpixel Edge Detection) 알고리즘은 머신 비전 분야에서 매우 정교하게 설계된 고정밀 위치 추정 기법입니다. 이 방식은 일반적인 픽셀 해상도를 넘어 0.1 픽셀 이하의 위치 정밀도를 달성할 수 있습니다.엣지 검출의 기본 흐름 다음과 같은 순서로 작동합니다: ROI(Region of Interest) 설정 -> 측정 위치에 ROI 위치시키기 픽셀 프로파일 생성 (Intensity Profile) -> I(x)=grayscale intensity Gradient 계산 (1차 미분 또는 필터 기반) -> G(x)=I(x+1)−I(x)또는 Gaussian Derivative 필터도 사용 가능:-> G(x) = I(x) ∗ d / dx * Gaussian(x) Peak 위치 ..

소프트웨어 개발 및 프로젝트 관리 방식 중 하나로, 빠른 피드백과 유연한 대응을 중시하며, 고객 중심의 반복적·점진적 개발을 통해 가치를 극대화하는 것을 목표로 합니다. 🔹 핵심 개념 반복적(Iterative)이고 점진적(Incremental) 프로젝트를 여러 개의 짧은 개발 주기(스프린트, iteration)로 나눠서 작업합니다. 각 주기에서 동작 가능한 제품(working software)을 제공합니다. 고객 중심(Customer-Centric) 고객의 피드백을 적극 반영하여 요구사항을 유연하게 변경합니다. 변화는 피할 것이 아니라, 경쟁력의 원천으로 간주됩니다. 협업 중심(Collaborative) 개발자, 기획자, 고객 간의 긴밀한 커뮤니케이션이 핵심입니다. 팀 간 협업과 자율성이 강조됩니다. ..
Model Context Protocol(MCP): AI 모델과 외부 도구 간의 연결개요: MCP는 Anthropic이 개발한 개방형 표준으로, 대형 언어 모델(LLM)이 외부 데이터 소스 및 도구와 상호작용할 수 있도록 설계되었습니다. 이를 통해 AI 모델이 다양한 리소스에 접근하고 작업을 수행할 수 있습니다.주요 특징:표준화된 인터페이스: MCP는 JSON-RPC 기반의 메시징 프로토콜을 사용하여, 모델이 외부 도구와 통신할 수 있는 구조를 제공합니다.모델 독립성: OpenAI, Google DeepMind, Claude 등 다양한 LLM에서 사용할 수 있도록 설계되었습니다.보안 및 확장성: MCP는 안전하고 확장 가능한 통합을 지원하며, 기업 애플리케이션과의 안전한 통합을 가능하게 합니다.적용 예..
A2A의 핵심 구성 요소1. 에이전트 카드 (Agent Card)에이전트 카드는 각 AI 에이전트의 기능, 엔드포인트, 인증 방식 등을 JSON 형식으로 기술한 메타데이터 파일입니다. 일반적으로 /.well-known/agent.json 경로에 위치하며, 다른 에이전트나 클라이언트가 이 파일을 통해 해당 에이전트의 기능과 상호작용 방식을 파악할 수 있습니다.2. A2A 서버 및 클라이언트A2A 서버: 에이전트가 HTTP 엔드포인트를 통해 A2A 프로토콜 메서드를 구현하여 요청을 수신하고 작업을 관리합니다. A2A 클라이언트: 다른 에이전트에게 작업을 요청하거나 데이터를 교환하는 애플리케이션 또는 에이전트입니다.3. 작업(Task) 기반 통신에이전트 간의 상호작용은 "작업(Task)" 단위로 이루어지며,..
**모델 컨텍스트 프로토콜(MCP)**은 다양한 AI 모델들이 상황(Context) 을 보다 정확하고 일관되게 이해하고 공유하기 위해 고안된 표준화된 데이터 포맷 및 통신 규약입니다. MCP는 AI가 사용자 요구, 작업 환경, 입력 데이터 특성 등을 효과적으로 해석하여 더 맞춤화된 응답과 행동을 할 수 있도록 설계되었습니다.MCP의 목적은 크게 세 가지입니다:모델 간 정보 공유 : 여러 AI 모델이 동일한 컨텍스트를 공유하면서 협력하거나 교대할 수 있게 함상황 기반 행동 최적화 : 입력이나 요청에 따라 더 적절하고 상황 맞는 행동을 유도사용자 경험 향상 : 사용자 별 상황(Context)을 고려하여 맞춤형 인터랙션 제공 MCP의 주요 구성 요소MCP는 보통 다음과 같은 구조적 요소로 구성됩니다:구성 요소..
GLUT란 무엇인가?GLUT는 OpenGL 프로그램을 쉽게 작성할 수 있도록 도와주는 툴킷 라이브러리입니다."OpenGL은 3D 그래픽스 그리기만 담당"합니다.그런데 OpenGL 자체는 윈도우 생성이나 키보드, 마우스 입력, 타이머 이벤트를 관리하는 기능이 없습니다.이 불편함을 해결해주기 위해 만들어진 것이 GLUT입니다.핵심 역할 요약기능설명윈도우 생성 및 관리윈도우 생성, 크기 설정, 닫기 이벤트 처리입력 이벤트 처리키보드 입력, 마우스 클릭, 마우스 이동렌더링 루프 관리화면 갱신을 위한 main loop기본적인 메뉴 기능마우스 우클릭 메뉴 생성 가능GLUT의 기본 구조GLUT를 사용하는 프로그램은 딱 4단계 구조를 가집니다.초기화윈도우 생성콜백 함수 등록 (Display, Keyboard, Mous..
MFC (Microsoft Foundation Classes) C++ 기반 프로젝트에서, OpenGL을 이용해 x, y, z 형태의 이미지 데이터를 화면에 표시하는 방법 1. 기본 개념 정리 MFC는 CView나 CWnd 기반으로 OpenGL 컨텍스트를 초기화해서 사용해야 합니다. OpenGL은 glVertex3f(x, y, z) 같은 걸 써서 3D 좌표를 직접 화면에 그립니다. 당신이 가진 데이터가 (x, y, z) 형태라면 메쉬화해서 그릴 수도 있어요.2. 전반적 작업 순서 MFC 프로젝트에 OpenGL 초기화 OpenGL 렌더링 컨텍스트 생성 데이터 (x, y, z 배열) 준비 OpenGL의 렌더링 함수 (OnDraw 등) 안에서 데이터 출력 윈도우 리사이즈 및 OpenGL 뷰포트 관리3. 간단 예..
// 원의 중심과 반지름 Point center(100, 100); int radius = 50; // 마스크 생성해서 처리 하는 방법 Mat mask = Mat::zeros(image.size(), CV_8UC1); circle(mask, center, radius, Scalar(255), -1); // 흰색 원 (255 값으로) Mat modified = image.clone(); // 원형 영역의 픽셀 값 +20 (또는 -20) for (int y = 0; y for (int x = 0; x if (mask.at(y, x) == 255) { // saturate_cast 사용으로 0~2..
1. Adobe Illustrator로 보기 (가장 정확한 방법)플랫폼: Windows, macOS장점: 완벽한 호환성과 편집 가능설명: .ai 파일은 원래 Adobe Illustrator에서 만든 것이므로 가장 완벽하게 볼 수 있는 방법입니다.단점: 유료 (Creative Cloud 구독 필요)2. Adobe Reader 또는 Acrobat (PDF 기반 파일인 경우).ai 파일은 내부적으로 PDF 호환 모드를 포함하는 경우가 많습니다.이런 경우, Adobe Reader나 Adobe Acrobat으로도 파일을 열어볼 수 있습니다.단점은 편집은 불가능하고, 보기만 가능합니다.3. 무료 뷰어 프로그램👉 Inkscape (무료 오픈소스 벡터 편집기)설명: .ai 파일을 불러올 수 있으며, SVG로 변환하여..
1. spdlog – 고성능과 유연성을 겸비한 로그 라이브러리특징:헤더 전용(헤더 온리) 라이브러리로, 별도의 빌드 없이 사용 가능비동기 로깅 지원으로 높은 성능 제공다양한 로그 출력 방식 지원: 콘솔, 파일, 회전 로그, 일일 로그 등Windows 디버거 출력 지원 (OutputDebugString 활용)멀티스레드 환경에서의 안전한 로그 처리사용자 정의 포맷 및 로그 레벨 설정 가능적합한 경우:고성능이 요구되는 대규모 애플리케이션다양한 로그 출력 방식과 포맷이 필요한 경우멀티스레드 환경에서 안정적인 로그 처리가 필요한 경우 2. Easylogging++ – 간편한 설정과 사용의 로그 라이브러리특징:단일 헤더 파일로 구성되어 간단한 통합 가능런타임 설정 변경 및 다양한 로그 레벨 지원사용자 정의 포맷..
1. 6-Pager란 무엇인가?6-Pager는 아마존에서 전략적인 제안이나 프로젝트를 논의할 때 사용하는 최대 6페이지 분량의 내러티브 형식 문서입니다.단순 요약이 아닌, 깊이 있는 분석과 논리 구조를 갖춘 문서여야 합니다.회의 참석자들은 회의 시작 20~30분 동안 이 문서를 조용히 읽는 시간부터 갖습니다. 2. 왜 6-Pager인가? (도입 배경)아마존은 초기부터 PPT 중심 회의의 한계를 인식하고 있었습니다:PPT 방식의 한계6-Pager 방식의 장점시각적 요소에 치우쳐 핵심 논리가 약함논리 구조와 설득력에 집중발표자 중심, 참석자들은 수동적모두가 문서를 읽고 적극적으로 토론중요 정보가 빠질 수 있음논리적으로 모든 주요 논점을 담도록 설계됨Jeff Bezos는 “Good writing is good..
1. 프레스 릴리스(Press Release, PR)상상 속 제품이 출시된 날을 가정해 고객을 대상으로 쓴 뉴스 기사 형태의 문서고객의 문제, 제품이 제공하는 가치, 고객이 느낄 주요 혜택 등을 명확하게 설명예시 구조:제품명 및 소개고객의 문제점 설명솔루션 소개 (당사 제품)제품의 주요 기능 및 장점고객 인용문 (가상의 고객 반응)목적: “고객이 진짜 이 제품을 사고 싶어할까?”를 사전에 검증2. 자주 묻는 질문(FAQ)이해 관계자, 고객, 내부 팀원이 궁금해할 만한 질문과 그에 대한 답을 정리두 가지 종류로 구분:고객 FAQ: 소비자가 궁금해할 점내부 FAQ: 엔지니어링, 마케팅, 운영 등 내부 조직이 궁금해할 점 (예: 기술적 난제, 수익 모델)3. 비주얼(Mockups)UI/UX 또는 제품의 모습에..

CStatic을 상속받아 사용자 정의 클래스를 제작해 놓은 CLabel 클래스의 예시입니다.- 텍스트 색상 변경과 마우스 이벤트 처리 가능// CLabel.h #pragma once #include class CLabel : public CStatic { public: CLabel(); virtual ~CLabel(); void SetTextColor(COLORREF color); void SetBkColor(COLORREF color); protected: afx_msg HBRUSH CtlColor(CDC* pDC, UINT nCtlColor); afx_msg void OnMouseMove(UINT nFlags, CPoint point); afx_..
1장. 왜 실리콘밸리는 프로세스에 집중하는가실리콘밸리는 ‘천재’를 찾기보다, 평범한 사람이 잘할 수 있는 구조를 만든다.아마존, 구글 등은 ‘데이터 기반’, ‘프로세스 중심’, ‘실행 우선’이라는 공통점이 있음.🔹 포인트: 성과는 재능보다 환경이 만든다 → 환경 = 프로세스2장. 일 잘하는 팀에는 공통된 시스템이 있다아마존의 일하는 방식은 ‘작성된 문서’와 ‘정해진 도구’를 따름.예) 아마존은 회의에서 PPT 금지 → 대신 6페이지짜리 내러티브 문서 사용🔹 포인트: 말이 아니라 글로 구조화된 사고가 실행을 이끈다.3장. 퓨처백 아이데이션으로 미래를 기획한다기존 기업들은 현재의 문제에서 시작하지만, 아마존은 미래에서 시작한다.예) "5년 뒤 우리가 선보일 제품이 언론에 보도된다면, 그 내용은?"🔹 도..

int x = 0;bool b = false;string s = null;MyClass obj = nullint[] arr = null; // null (배열은 참조형)int[] numbers = new int[5]; // {0, 0, 0, 0, 0}byte[] arr = null; // null (배열은 참조형)byte[] numbers = new byte[0];byte[] numbers = Array.Empty(); float[] arr = null; // null (배열은 참조형) float [] numbers = new float[0]; float [] numbers = Array.Empty();string[] names = new string[3]; // {null..

후보: Feature Matching + RANSAC + 서브픽셀 정합구성:특징점 추출: SIFT 또는 SuperPoint 등 (정밀도 좋음)정합 필터링: FLANN + RANSAC으로 잘못된 매칭 제거정밀 위치 추정: 서브픽셀 정렬 (Sub-pixel refinement)(선택) 이미지 정합 후 위치 보정 (Homography로 변환 모델 추정)장점:회전/스케일/조명 변화/노이즈에 매우 강함정확한 위치 정합 가능수 μm 단위의 정밀 정합도 가능 (산업/과학 영상에서도 활용)후보: Deep Learning 기반 - Siamese Network / Object Detection장점:특징점 없이 복잡한 패턴도 학습을 통해 정합회전/스케일/노이즈/왜곡에 매우 강함정합 유무 뿐 아니라 존재 확률, 위치 추정까지..