전체 글 299

Systemd에서 Idle 상태이면 자동으로 종료하기

회사에서 AWS를 사용하고 있고 개발자들에게 자유롭게 EC2 Instance Type을 선택하고 사용할 수 있도록 제공한다. 자유롭게 사용할 수 있는 만큼 책임이 따르지만 많이들 좋은 Instance Type을 선택하고 빌드가 아닌 작은 작업을 한다던지 심지어 깜빡하고 종료를 안하고 퇴근하기도 한다. 이에 사용하지 않을때 자동으로 종료하는 방법을 찾아서 설정하고 두가지 방안을 동시에 적용하려고 한다. 하나는 이번 글에서 설명할 systemd 설정을 변경하여 30분동안 idle 상태이면 자동으로 종료하도록 하는 것이고, 다른 하나는 AWS의 cloudwatch에서 alert를 설정하여 종료를 하도록 하는 것이다.systemd 환경설정 방법설정방법은 간단하다. /etc/systemd/logind.conf 파..

Linux 2024.06.21

SEA:ME Symposium 2024 이벤트 후기

SEA:ME (Software Engineering Automotive & Mobility Ecosystems, https://seame.space/) 의 2024년 1년 성과를 공유하는 자리에 Follow로써 참여하고 온 후기를 간단히 적고자 한다. SEA:ME는 자동차 및 모빌리티 분야의 소프트웨어 개발을 위한 고급 학습 프로그램이다. 2023년에 시작된 이 프로그램은 독일 볼프스부르크의 42 소프트웨어 개발 대학에서 제공되며, 코드 기반 모빌리티, 자율 주행 시스템, 모빌리티 생태계를 중심으로 전문가를 양성한다. 폭스바겐, 마이크로소프트 등 산업계와 본 대학, 베를린 공대 등의 학계 전문가들이 협력하여 커리큘럼을 구성했으며, 실습 및 프로젝트 기반 학습을 강조한다. 12개월 동안 진행되며 전액 무료..

Development 2024.06.19

독일 소프트웨어 개발자 chatgpt 사용 범위

회사에서 마이크로소프트 (Microsoft)와 계약이 되어 Copilot이나 chatgpt 를 사용할 수 있게 되어 있다. 이 말인 즉 슨, Confidential 정보도 모두 공식적으로 사용할 수 있다는 이야기이다. 이 글에서는 chatgpt를 업무용으로 어떻게 사용하고 있는지를 간단히 이야기해보고자 한다. chatgpt 사용 범위는 무궁무진하지만 필자가 많이 이용하는 것들은 다음과 같다.영어 문장 교정: 통합의 중심에 있다보니 전체 공지를 할 경우, 블로그 글을 작성할 경우, Management를 포함하여 이메일 작성, Supplier에게 이메일 작성 등 글을 작성하는 경우가 많이 있다. 이 때 영어로 문장을 작성하고 각 용도에 맞게 chatgpt에게 교정해 달라고 하면 정말 깔끔하고 자연스럽게 교정..

Development 2024.06.19

개발자 해외 (독일) 취업 방법 및 연봉

필자는 2019년 2월 중순에 한국에서 독일 베를린으로 와서 이제는 6년차 베를리너인 임베디드 시스템 소프트웨어 개발자이다. 한국에서는 약 10년 정도 임베디드 리눅스를 가지고 가전제품을 만들었고 이제는 차량용 인포테인먼트 소프트웨어를 개발하여 최근 벤츠 E클래스에 들어가는 제품을 출시하였다. 이 글에서는 그동안 필자가 듣고 경험한 내용을 토대로 어떻게 독일에 취업을 할 수 있는지 다양한 방법들을 이야기해보고자 한다. 참고로 필자는 서류, 기술 인터뷰에 들어가 팀 동료들을 채용하는데 관여했고 작년에는 ANU (임시직) 채용에 관여하였다. 또한 Wolfsburg에서 운영중인 SEA:ME 프로그램에서 공부하고 있는 대학생, 사회 초년생들에게 멘토로써 조언도 하고 있다.독일 취업 경로독일 뿐만이 아니고 국내/..

Development 2024.06.18

Github Copilot 사용 방법 및 후기

GitHub Copilot은 GitHub와 OpenAI가 공동으로 개발한 인공지능 기반 코드 작성 도구이다. 이 도구는 프로그래머가 코드를 작성할 때 실시간으로 코드 제안을 제공하며, 자연어로 작성된 설명을 코드로 변환해 주기도 한다. 이를 통해 개발자는 더 빠르고 효율적으로 코드를 작성할 수 있으며, 반복적인 코딩 작업을 줄이고 창의적인 문제 해결에 더 많은 시간을 할애할 수 있다. Copilot은 Visual Studio Code와 같은 IDE(통합 개발 환경)에서 사용 가능하며, 다양한 프로그래밍 언어를 지원한다.비용Copilot 개인 사용자 요금은 한달에 10달러이고 30일 무료체험이 가능하다. 이후 정기 구독을 통해 계속 사용할 수 있다. 이외에도 회사에서 구독해서 회사의 SSO와 연결하여 사용..

Development 2024.06.17

Yocto의 PREMIRROR와 Shared State Cache (빌드 속도 향상)

Yocto 빌드 속도를 향상시키는 방법 여러가지가 있다. 대표적으로 소스코드의 파일을 다운로드해서 미리 저장해 놓는 PREMIRROR, 그리고 Yocto에서 지원하는 Shared State Cache이다.PREMIRRORYocto 프로젝트에서 premirror는 빌드 속도를 향상시키기 위한 중요한 기능 중 하나다. premirror는 빌드 중 다운로드되는 소스 코드, 패치 파일, 그리고 기타 필요한 파일들을 저장하는 미러 서버를 설정하는 기능을 말한다. 이를 통해 네트워크 다운로드 시간을 줄이고, 빌드 환경에 필요한 파일들을 신속하게 접근할 수 있다. premirror를 설정하면 Yocto 빌드 시스템이 소스 파일을 다운로드할 때 먼저 지정된 미러 서버를 확인한다. 만약 미러 서버에서 파일을 찾지 못하면..

Yocto 2024.06.13

AWS S3 Transfer Acceleration 테스트

배경회사에서 프로젝트를 하는데 이미지 저장 공간으로 CI에서 빌드한 후 AWS에 Artifactory를 운영하고 있다. 미국, 인도, 중국, 한국 등 전세계적으로 판매되는 차량이기 때문에 각 지역에 QA와 개발자들이 이미지를 받아서 테스트를 하는데 경우에 따라서는 5시간, 12시간까지 걸리기도 한다. 이를 줄이고자 리서치를 하던 도중 AWS에서 CDN (Content Delivery Network) 으로 사용하는 Clond Front를  알게 되었고 S3에서는 Transfer Acceleration 하나만 특정 bucket에서 Enable 하여 쉽게 사용할 수 있다는 것도 알게 되었다. 이를 가지고 미국, 인도, 한국 등에서 테스트를 진행하였다.AWS S3Transfer Acceleration 이란?Am..

Development 2024.06.11

Yocto 병렬 빌드 옵션 최적화

Yocto 프로젝트에서 병렬 빌드 옵션을 설정하면 빌드 속도를 크게 향상시킬 수 있다. 일반적으로 Yocto 프로젝트는 OpenEmbedded 빌드 시스템을 사용하며, 병렬 빌드 옵션을 설정할 때 다음 두 가지 주요 변수를 설정해야 한다.BB_NUMBER_THREADS: BitBake가 병렬로 실행할 수 있는 스레드의 수를 지정한다.PARALLEL_MAKE: make가 병렬로 실행할 수 있는 작업의 수를 지정한다.이 변수의 기본 값은 빌드하는 호스트의 CPU 개수 값으로 meta/conf/bitbake.conf 파일에 설정 되어 있다. 작은 프로젝트나 Yocto 프로젝트의 레퍼런스인 Poky를 빌드할 때 기본 옵션을 사용해도 크게 상관은 없지만 이 옵션들은 빌드 호스트 머신의 성능과 프로젝트에 맞게 커스..

Yocto 2024.06.10

clang toolchain의 위력 (빌드 최적화, build time profiling)

인포테인먼트 제품을 개발하고 있고 Yocto 프로젝트 기반의 임베디드 리눅스를 기반으로 하고 있다. Yocto 버전은 dunfell을 사용하다가 작년에 kirkstone으로 고생해서 마이그레이션을 해서 사용중이다. 컴포넌트 하나가 이전에 4시간 걸렸던 것이 LTO (Link Time Optimization) 옵션을 적용해서 2시간으로 줄었다. 이 컴포넌트는 ARXML 기반으로 프로토콜이 작성되어 있고 이것이 code generator을 통해 헤더와 코드가 생성되고 라이브러리가 생성되는 구조이다. 그렇기에 엄청나게 많은 파일이 linking 단계에서 사용되어 오래걸렸던 것이다. LTO는 빌드 시간이 더 걸릴 수 있다고 봤지만 이 경우에는 엄청나게 단축되었다. 3가지 variant가 있는데 최근 업그레이드 ..

Linux 2024.06.06

git send-email 에서 gmail 사용시 비밀번호는?

오랜만에 Yocto 커뮤니티에서 iptables 버그 리포트가 날라왔다. 이유인 즉슨 이전 iptables 1.8.10 업그레이드 할 때 특정 패치도 함께 뺐기 때문이다. 다시 살리려고 빌드 환경을 셋업해서 테스트를 하고 아래 명령어를 통해 yocto에 올렸다. OE에 기여하는 방법과 gmail 환경 설정하는 방법은 https://www.yocto.co.kr/26 글을 참고하기 바란다. git send-email --to=openembedded-core@lists.openembedded.org --confirm=always -M -1 --subject-prefix="OE-core][PATCH" git send-email 명령어로 메일 주소와 함께 날리려고 하니 비밀 번호를 묻는다. 아주 오래전에 보안 문..

Yocto 2024.05.28
728x90