Development 75

소프트웨어 플랫폼에 대해서 - 1부 (LG전자 webOS)

정확히 언제였는지 기억도 안난다. 한 10년쯤 전인가.. LG전자 CTO 산하 멀티미디어 연구소로 입사해서 블루레이 플레이어 및 이런저런 제품을 개발하고 있던 시절. 연구소 이름이 소프트웨어 플랫폼 연구소로 바뀌고 이제 플랫폼에 집중하겠다라고 했었던 시절이 있었다. 그 이름은 지금도 그대로 소프트웨어 플랫폼 연구소로 남아 있고 webOS 기반으로 플랫폼 관련된 일을 계속 하고 있는것으로 알고 있다. 처음에 소프트웨어 플랫폼이 무엇일까? 그 당시 어린 (?) 개발자에게는 이해도 안가고 너무 추상적인 개념 갔았다. 아직도 기억이난다. 황정환 연구소장님이 플랫폼을 최대한 쉽게 설명하고 이해시키려고 노력했던 모습을.. 기억을 되새겨 보자면 플랫폼이란 다른 일들을 하기 위한 기반이 되는 것이고 백화점을 예를 들어..

Development 2023.05.28

소프트웨어 개발에서 Automation (자동화)에 대한 허와 실

소프트웨어 개발에서 Automation (자동화)에 대한 이야기를 많이 한다. 자동화는 여러군데에서 적용하여 실행을 할 수 있고 실제로 많은 도움을 주어 잡다한 일들을 해소시켜준다. 하지만 역으로 자동화를 구현, 관리하고 유지보수하는데 경우에 따라서는 많은 노력이 든다. 특히 임베디드 기기와 연결을 하거나 하면 더 그럴 수 있다. 하지만 많은 개발자들이나 매니저들은 자동화를 마치 신인 것처럼 계속 외치고 있다. 물론 좋다. 이상적으로 동작할 경우에는 100% 찬성한다. 하지만 매뉴얼 테스트하고 플래싱하는데도 하드웨어에서 문제가 생기고 소프트웨어에서 문제가 생기는데 무슨 자동화... 병행은 한다만 무조건 만능이고 모든 문제를 해결해 줄 것이라는 기대를 버리라고 하고 싶다. 실체를 제대로 파악하고 어느 분야..

Development 2023.05.27

gitlab workflow

요즘 Jenkins 재부팅 하는 주기가 늘어나고 있다. 이유는 Jenkins 메모리를 거의 Full로 사용한다는 것이고 그 중에 하나가 forked repo라고 한다. 솔직히 직접 들어가서 보진 않았고 이해는 가지 않았지만 다양한 이슈로 인해 Infra 팀에서 forked repo 사용을 지양해 달라고 요청이 왔다. Forked repo를 지양해달라는 이유로는 다음과 같다 Jenkins 에 부하가 많이 걸림 (Scan Issue) Gitlab 저장 공간 낭비 Supplier간에 접근 제어 문제 유지 보수 문제 (forked repo의 configuration 문제로 자주 문의가 옴, 특히 등록 안된 사용자가 commit을 한 경우) 어제 gitlab company의 PM들과 현재 문제점에 대해서 미팅을 ..

Development 2023.05.25

오픈 소스 프론티어

오래전부터 정부에서 공개 SW를 활성화 하고자 다양한 형태로 오픈소스 개발자 및 오픈소스 커뮤니티를 지원하고 있다. https://www.oss.kr/ 에서 다양한 정보를 볼 수 있다. 이 글에서는 필자가 수년째 오픈 프론티어를 하고 있고 이 경험을 바탕으로 간단히 적어보고자 한다. 매년 초,중순에 한번씩 뽑고 지원 내용은 해마다 달라진다. 다양한 오픈소스 프로젝트의 커미터급 개발자를 뽑아서 프로젝트에 기여를 하고 오픈소스 참여 문화를 확산하는데 주도를 하기 위해 다양한 형태로 지원을 한다. 프로젝트 활동 지원 프로젝트 활동비 및 개발 환경 지원 가상개발환경 (클라우드 지원) 개발 전용 공간 및 회의실 지원 https://www.oss.kr/developer_support 에 좀 더 자세한 내용이 있다...

Development 2023.05.17

diff 한 내용을 html 파일로 저장

프로젝트를 진행하는데 SOP branch와 mainline branch의 갭을 메꾸기 위한 데이터가 필요했다. PM에게 전달하기 위해 보기 편한 형태로 추출하기 위해서 diff한 내용을 html 파일로 저장을 했다. Yocto에서 빌드를 하면 installed-packages.txt파일을 추출할 수 있고 양쪽 branch간에 정보를 비교할 수 있다. 다행히 필자의 회사에서 semantic versioning을 적용하기 위해 yocto recipe에 PV를 PV = "1.0.0+git${SRCPV}"와 같이 잘 사용하고 있었다. package 이름에 이 버전이 잘 반영되어 비교하기 쉬웠다. 이제 두 파일을 diff 명령어로 양쪽에 보기 좋게 y옵션을 사용하여 diff파일을 만들었고 최종적으로 vim에서 -..

Development 2023.05.11

AGL AMM (All Member Meeting) Berlin 2023 후기

AGL AMM (All Member Meeting)이 Berlin에서 2023년 3월 8일 - 9일까지 열렸다. 3월 7일에는 Steering Committee 미팅, 3월 10일에는 Expert Group 미팅이 연달아 열렸다. 필자는 3월 7일 ~ 10일까지 모두 참석하였고 하루는 International Woman's Day 베를린 휴일이여서 딸아이와 함께 갔었다. https://aglammspring2023.sched.com/ 에서 행사 일정과 일부 발표 자료를 받을 수 있다. Mercedes-Benz는 Silver 멤버로 매년 Board 와 Steering Committee 가 되기 위해 회원사들의 투표를 했고 올해도 계속 자격을 유지했다. Board와 Steering Committee는 AGL..

Development 2023.04.28

"find" command의 대안 "fd"/"fd-find"

find 명령어로 제일 많이 사용하는게 find . -name "*xxxxx*" 구문인데 alias를 걸기도 매번 치기도 귀찮아서 검색하다고 좋은 대안이 있어서 간단히 소개하고자 한다. 명령어는 바로 fd 이다. MACOS 뿐만이 아니라 거의 모든 리눅스 Distro를 지원하고 엄청나게 빠르고 쓰기 편하다. 공식 저장소: https://github.com/sharkdp/fd GitHub - sharkdp/fd: A simple, fast and user-friendly alternative to 'find' A simple, fast and user-friendly alternative to 'find' - GitHub - sharkdp/fd: A simple, fast and user-friendly ..

Development 2023.04.26

Yocto에 최적화된 AWS EC2 Instance 사양

필자의 회사는 Yocto를 사용하여 Embedded Linux 빌드를 하고 있다. CI는 Jenkins를 사용하고 있으며 Jenkins Slave는 Docker환경을 AWS EC2 Instance에서 사용하고 있다. 제품을 빌드시간이 엄청나게 오래 걸려 여러가지 방안으로 줄이려는 노력을 하고 있다. AWS EC2 Instance Type 조정 Incredibuild 솔루션 도입 검토 (PoC 진행 완료) 빌드 시간 오래 걸리는 컴포넌트 아키텍처 수정 및 내부 코드 최적화 ccache 적용 검토 이 글에서는 1. AWS EC2 Instance Type 테스트 한 결과를 바탕으로 필자 회사의 환경에 최적화 된 EC2 Instance를 이야기해 보려고 한다. 현재 사용하고 있는 EC2 Instance Type..

Development 2023.04.23

M1 IPAD Pro에서 터미널(shell + git) 개발 환경 구축하기

M1 아이패드 프로를 가지고 있는데 개발이나 다양한 방면으로 좀 더 잘 활용할 수 있는 방법을 찾고 있었다. 구글링 및 아이패드 앱을 검색하 던 중 터미널을 앱 (iSH)을 발견하고 사용한 후기를 간단히 적어보고자 한다. iSH 앱은 무료앱이고 github를 통해 소스도 오픈하여 개발하고 있다. sandbox 형태로 파일시스템이 설치되어 있고 아이폰 및 아이패드 모두 지원한다. 장점은 Ubuntu의 apt와 같이 앱을 apk 명령어로 설치할 수 있도록 제공을 하고 있다. 필자는 vi로 간단한 python app 개발 및 yocto를 git으로 받아 최신 개발 업데이트 상황을 파악하는 정도로 사용할 예정이여서 우선 git, tig, vim 이 3가지 애플리케이션이 가장 필요했다. vi는 기본적으로 설치되어..

Development 2023.04.23
반응형