본문 바로가기

전체 글142

메타데이터 (Metadata) 관리 및 포맷 JSON, YAML 메타데이터 관리는 데이터의 출처, 형식, 구조 및 기타 속성에 대한 정보를 체계적으로 관리하는 것을 의미한다. 메타데이터를 통해 데이터의 추적 가능성을 높이고, 데이터 검색과 사용을 용이하게 할 수 있다. 메타데이터 관리는 다음 단계들로 구성된다.1. 메타데이터의 정의메타데이터의 종류와 구조를 정의해야 한다. 일반적으로 메타데이터의 종류와 구조에는 데이터 형식, 구조, 크기, 용도, 소유자, 수집 및 갱신 주기, 처리 시간 등이 있다.2. 메타데이터 수집메타데이터를 수집하는 방법을 정의한다. 자동화 도구를 사용해 메타데이터를 수집하거나, 데이터 소스에서 직접 수집할 수 있다.자동화 도구: Apache Atlas, Google Data Catalog 등직접 수집: 수작업으로 메타데이터를 입력3. 메타데이터.. 2024. 11. 13.
데이터옵스 (DataOps)와 데이터 파이프라인 (Data Pipeline) 데이터옵스 (DataOps)데이터 운영을 최적화하는 방법론을 말하며, 데이터 파이프라인의 효율성과 품질을 향상시키는 것이 목표임.데이터 파이프 라인 자동화, 지속적인 데이터의 배포, 데이터 파이프라인 모니터링, 데이터 품질 관리 등이 포함됨데이터 파이프라인데이터옵스에서 데이터 파이프라인은 데이터의 수집, 처리, 분석, 저장, 배포 과정을 자동화하고 최적화하는 일련의 단계들임.데이터 수집다양한 데이터 소스에서 데이터를 수집하고, 데이터를 정기적으로 추출하거나 실시간으로 수집할 수 있음데이터 저장데이터 레이크 : Raw 데이터를 저장하는 대용량 저장소데이터 웨어하우스 : 정제된 데이터를 저장하고, 분석 및 보고 목적으로 사용할 수 있는 저장소데이터 처리데이터 정제 : 결측값 처리, 중복 제거, 데이터 정규화.. 2024. 11. 13.
[C++] GUI 추천 Dear ImGui (아임구이) 회사에서 누군가 ImGui로 GUI를 만들어 놓아서 유지보수를 위해 반강제로 공부하게 되었다ㅎㅎ. 그런데 사용성도 간편하고, 비쥬얼라이저 효과가 좋아서 공부하길 잘한 것 같다. ImGui로 코드 짜신 분께 감사함! GitHub - ocornut/imgui: Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependenciesDear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies - ocornut/imguigithub.comDear ImGuiDear ImGui는 가볍고 불필요한 기능을 줄인 C++용 그래픽 사용자 인터페이스 라이브러리 (GU.. 2024. 10. 28.
PC에서 개발한 소스코드를 임베디드 소스코드로 만들기 임베디드 소스코드로 변경하는 이유? 자동차, 생활가전, 모바일 등 아직까지도 많은 프로그램이 클라우드가 아닌 로컬 장치의 임베디드 환경에서 동작해야 한다. 이런 프로그램을 개발할 때 타겟 환경에서 바로 개발 및 테스트를 해보는 것이 좋지만, 때로는 PC에서 개발한 후 타겟 환경에서 테스트 해야 하는 경우도 있다. 이 때 PC환경에서 개발하다보면 OS(ex/ Windows)에서 제공하는 API나 기타 Library를 사용하게 된다. 이 코드를 그대로 타겟 환경으로 가져가게 되면 빌드 오류가 발생한다. 따라서 임베디드 환경에서 동작할 소스코드의 경우, 타겟 환경에서 사용할 수 없는 Windows API나 기타 Library를 사용하지 않도록 주의를 기울여야 한다.임베디드 소스코드를 만드는 과정 PC에서 개발.. 2024. 9. 14.
코드 리뷰 - SW 검증, 분석, 리뷰 종류 회사에서 코드 리뷰를 수행하면서 적용 중인 방법들을 정리한다. 보통 코드 리뷰라면, 짧은 크기의 코드를 대상으로 가독성, 기능 정도가 수행 범위인데, 현재는 큰 단위의 코드를 대상으로 코드 리뷰에 더해 정적 검증과 최적화도 같이 수행하고 있다. 업무명은 코드 리뷰이지만 SW 검증, 최적화, 리뷰가 짬뽕되어 있다 ㅎㅎ1. 기본 코딩 룰 및 코드 작성법 확인 가장 기본적인 코드 리뷰로 코딩 룰과 코드 작성법을 확인한다. 팀 차원에서 공유되는 코딩룰의 위반 사항이 있는 지 점건하는데, 이는 코드를 하나하나 읽으면서 찾아내고 있다. 이 작업은 업무에 필요한 시간 대비 얻을 수 있는 효익이 크진 않아서 가장 비효율적인 업무라 느껴진다. 특히, 리뷰하는 코드의 크기가 큰 상황에서는 더욱 그렇다. 자동화 할 수 있는.. 2024. 8. 10.
임베디드 C 프로그래밍 최적화 임베디드 C 프로그래밍 최적화란 CPU, 메모리 등 가용 자원이 제한적인 임베디드 환경에선 코드 최적화가 필수적이다. 코드 최적화는 속도, 메모리, 가독성 등의 요소를 최대화 하는 것을 의미한다. 각 최적화 요소는 trade-off 관계이기 때문에, 일반적으로 모든 요소의 향상을 추구할 수는 없다. 프로젝트 목표나 임베디드 환경에 따라 다른 요소의 성능은 포기하면서, 원하는 성능을 달성해야 한다. (하지만 문제에 따라 특정 알고리즘을 사용해 속도와 메모리의 성능을 모두 끌어올릴 수도 있다.)  임베디드 C 프로그래밍에서 최적화 여부를 확인하는 기초적인 방법인 디스어셈블리 코드를 확인하는 것이다. 디스어셈블리 코드란 우리가 작성한 코수준 코드를 기계어로 변경하기 이전에, 컴파일러가 어셈블리 코드로 만든 것.. 2024. 7. 16.