반응형

전체 글 377

[여행 계획] 폴란드 브로츠와프 (Wrocław)

딸아이 여름 방학이 1달이 넘어가고 2-3주 있으면 Secondary로 올라간다. 방학 시작하자마자 크로아티아 스플릿 (Split)으로 여행을 갔다왔고 방학이 끝나기전 한번 더 여행을 가려고 찾아보던 중, 베를린 집에서 운전해서 3시간 30분 정도 걸리는 폴란드 브로츠와프 (Wrocław)로 가기로 결정했다.폴란드 브로츠와프로 결정하게된 이유1. 베를린에서 멀지 않아서 (약 3시간 30분) 운전해서 갈만한 거리이다.2. 여행 기간에 Bolesławiec (볼레스와비에츠)에서 폴란드에서 유명한 도자기 축제를 한다. 볼레스와비에츠는 베를린에서 2시간 30분정도 걸리고 브로츠와프로 가는 길목에 있다. 하루 정도 들려서 Bolesławiec 에서 도자기 축제를 즐길 예정이다.3. 워터파크가 브로츠와프에 있다. ..

Travel 2024.08.12

[번역] Embedded Linux Development Using Yocto Project 3판

작년 3월 아주 간단하게 https://www.yocto.co.kr/180 에서 Embedded Linux Development Using Yocto Project 3판에 대한 도서리뷰를 진행했다. 이후 출판사와 이야기하여 2023년 6월에 번역을 진행하기로 합의하고 연말까지 번역을 완료하기로 했다. 생각보다 2판에 비해 수정사항이 많아서 작지만 번역료는 처음부터 번역하는 가격과 동일하게 진행하기로 했다. 원래는 수정부분에 대한 페이지별로 번역료가 책정되지만 이 경우는 많은 부분이 최신 버전으로 업데이트 되고, 일부 장은 추가되기도 해서 그렇게 진행하기로 에이콘 출판사와 합의를 했다. 최종 번역 초안은 12월 중순에 출판사에 전달하였고 그 뒤로 자잘하게 1-2번 수정을 했다. 초안이 전달되고 정산일인 1..

Book 2024.08.07

독일 생활 6년차 (연봉, 물가, 회사생활 등)

오늘 아내와 딸래미와 티어가르텐 (시내에 있는 숲으로 이루어진 큰 공원, 베를린에는 이런 공원들이 지역별로 많이 있다)에 가서 돗자리를 펼쳐 놓고 배드민턴, 탁구, 배구, 축구공을 가지고 놀면서 아.. 이래서 독일이 좋구나라는 생각을 했다. 그러면서 한편으로 나중에 한국에 돌아가면 이런 생활이 그립겠구나 생각도 했다. 내친김에 독일 생활 6년차가 되었을 때 개인적으로 가지고 있는 독일 생활에 대한 느낌을 한국과 비교해서 써볼까 한다. 올해 3월 https://www.yocto.co.kr/276 에서 독일 개발자 근무 환경에 대해서 써보았다. 지극히 개인적인 의견이니 고려해서 글을 읽어보기 바란다.연봉독일은 결혼 여부, 외벌이/맞벌이 등에 따라 세금 내는 %가 다르다. 많이들 독일이 한국에 비해 세금이 엄..

Daily 2024.08.05

자동차 소프트웨어 개발에 오픈소스 기반 혁신이 가능한가?

자동차 소프트웨어 개발에 오픈소스 기반 혁신이 가능한가? 라는 큰 주제를 가지고 국민대학교 자동차학과 학생들에게 10월 달에 두차례 세미나를 진행할 예정이다. 임베디드 소프트웨어 개발, 특히 차량용 소프트웨어 개발에는 엄청난 양의 코드가 들어가 있다. 이 코드의 양은 SDV (Software Defined Vehicle)가 되면서 가파르게 증가할 예정이다. 그리고 그 코드 중 상당수가 오픈소스로 구성되어 있다. 현재 벤츠의 인포테인먼트 플랫폼의 코드 절반 이상이 오픈 소스로 구성되어 있을 정도이고 다른 자동차 회사들도 마찬가지이다. 전체를 완전 상용 OS (QNX, VxWorks등)를 사더라도 오픈소스 없이 제품을 개발한다는 것은 상상도 할 수 없는 일이다. 빠른 개발과 유지보수를 위해 오픈소스의 사용을..

Automotive 2024.08.03

Cloud 비용을 줄이기 위한 Hackathon 아이디어

회사에서 프로젝트를 진행하는데 개발 환경의 인프라가 대부분 Cloud에 올라가 있다. 당연히 비용도 엄청나게 지불하고 있고 관리가 잘 안되어 무차별적으로 사용하고 있는 부분도 많이 있다. 이에 전사적으로 Cloud 비용을 줄이기 위한 해커톤을 하루 진행하기로 했다.  기본적으로 오랫동안 사용하지 않는 아티팩트 찾아서 삭제, 올바른 형태로 CI/CD 사용, 최적의 인스턴스 유형 사용, 사용하지 않는 시간에 인스턴스 Off 등 큰 아이디어들은 제공한다. 그리고 실제 프로젝트의 아티팩트에 들어가서 줄이는 작업을 진행한다. 당연히 제품과 개발에 영향을 주면 안된다. 내일 참여하기 위해 간단히 아이디어를 생각해보려고 이렇게 글을 쓰고 있다. 우선 가능하면 현재 프로젝트에서 사용하는 AWS에 접속해서 어디서 비용을..

Development 2024.08.02

SDV 개발에서 HW/SW Decoupling (디커플링)

SDV (Software Defined Vehicle)는 Automotive 분야에서 가장 많이 듣는 용어 중에 하나이다. 물론 회사 내부에서 개발을 할 때 많이 들어보지는 못했다. 내부적으로는 그냥 MB.OS (Mercecdes-Benz Operating System) 이라는 용어를 훨씬 더 많이 쓴다. 하지만 여기저기 미디어나 다른 회사 블로그 등에서 보면 대중적으로 사용하는 것은 분명하다. 그럼에도 불구하고 이전에 유비쿼터스 등과 같은 용어와 같이 이미 있는 기술을 잘 포장하는 듯한 느낌이 많이 나는것은 필자만의 생각일까? 또한 여러군데서 여러 사람들이 조금씩 다르게 SDV라는 용어에 대해서 이야기한다. 여기서는 그 내용 중 하나인 차량용 SW 개발에서 하드웨어와 분리되어 SW를 개발할 수 있는 환..

Automotive 2024.08.01

Yocto Shared State Cache 디버깅 하기

Yocto 프로젝트의 shared state cache (SSTATE)는 빌드 시스템의 빌드 속도와 효율성을 높이기 위해 사용하는 메커니즘이다. 이 캐시 시스템은 이전에 빌드된 결과물을 재사용할 수 있도록 하여, 매번 전체 빌드 과정을 다시 수행하지 않아도 되게 한다. 위의 그림은 Bazel의 Remote cache에 대해 설명한 그림인데, Yocto의 Shared State Cache 또는 PREMIRROR 도 비슷하다. 원격의 공유할 수 있는 공간에 Cache를 담아 놓고 빌드할 때 접근해서 캐시를 사용한다. 캐시는 이미 빌드해 놓은 결과물로써 변경이 없으면 그대로 사용하여 빌드 속도를 향상시키는데 주 목적이 있다. 하지만 가끔 변경이 없거나 잘못된 의존성 등으로 인해서 Cache Hit이 되지 않아..

Yocto 2024.07.31

QNX 유용한 명령어 (Command)

QNX에서 사용할 수 있는 유용한 명령어에 대해 간단히 정리해보고자 한다. 이 글에서 설명하고 있지 않거나 명령어에 대한 자세한 옵션들을 보고 싶으면 QNX 사이트 https://www.qnx.com/developers/docs/8.0/com.qnx.doc.neutrino.utilities/topic/about.html 를 참고하기 바란다.기본 명령어1. pidin: 시스템의 프로세스 및 상태 정보를 표시한다.$ pidin ar 2. slogger2: 시스템 로그 메시지를 기록하는 데 사용된다. 3. slog2info: 시스템 로그를 표시한다. 4. use: 특정 명령어 또는 프로그램의 사용법을 표시한다. 5. pci: PCI 장치에 대한 정보를 표시한다. 6. devb-: 블록 I/O 드라이버를 실행한..

Development 2024.07.27

QNX의 SDV 전략 (QNX Cabin)

QNX에서 지난주 수요일과 목요일 이틀동안 회사에 와서 하루는 데모를 진행하고 다른 하루는 전일 기술적인 워크샾을 진행하였다. 이틀 모두 참석했고 이에 대한 QNX의 SDV 전략에 대해서 간단히 느낀대로 적어보고자 한다. 아래 webOS가 있어서 간만에 반가웠다. :)  결론부터 이야기하면 이대로 잘 구현만 된다면 QNX를 사용하는 OEM은 Supplier에 의존성이 많이 줄어들고 대신 QNX에 대한 의존성이 조금 더 늘어날 것 같다. 방향성은 정말 좋고 현재 데모도 AWS Cloud, Qualcomm 레퍼런스 보드, Samsung 레퍼런스 보드에서 잘 동작하는 것을 보았다. 물론 이상과 현실은 다르지만 플랫폼과 개발 환경에는 너무 좋은 것 같다.QNX CabinQNX Cabin이라는 새로운 용어를 들고..

Automotive 2024.07.27

빌드 성능 개선 (최적화)

작년 10월 https://www.yocto.co.kr/176 글에서 Yocto 빌드 성능 최적화에 대해서 글을 썼고 중간중간 clang 적용, ccache 적용 등 회사에서 작업한 내용들을 간단히 적어보았다. 이 글에서는 일반론적인 임베디드 소프트웨어 개발에서 빌드 성능을 개선할 수 있는 작업들을 경험을 토대로 적어보고자 한다. Yocto Linux, QNX, 안드로이드 등 OS를 포함하는 빌드에서 성능을 개선하는데 큰 그림이 될 수 있을 것으로 생각된다. 차량용 ECU가 여러 개에서 하나로 통합되면서 고성능의 SoC가 필요하고 그 위에 하이퍼바이저 기반으로 여러개의 OS가 올라가서 동작한다. 이 각각의 OS를 빌드하는데도 오랜 시간이 걸리고 클라우드를 사용하면 그 비용을 상당히 많이든다. 현재 프로젝..

Development 2024.07.25
반응형