Linux에서 정적 라이브러리 조작하기
Linux 환경에서 정적(static) 라이브리러를 조작하는 방법을 간단히 공유한다.
Linux 환경에서 정적(static) 라이브리러를 조작하는 방법을 간단히 공유한다.
JSON-RPC 사용법을 정리해 본다.
VS Code 용 c_cpp_properties.json 파일을 자동으로 생성하는 툴을 자작하여 공유한다.
X.509 인증서의 파싱 방법과 C 언어로 구현한 예제이다.
LSP를 지원하는 편집기에서 C/C++ 소스 코드의 navigation 등을 위한 방법을 기술한다.
eMMC read/write를 위한 C 언어용 API를 구현하기
Little endian 시스템에서 스트림 데이터를 C 구조체 포인터를 이용하여 엑세스하는 방법을 공유한다.
C 언어에서 dec/hex 숫자를 문자열로 입력으로 받아서 처리할 때의 팁을 공유한다.
Linux에서 C/C++로 코딩 후 빌드시 security hardening 관련을 기술한다.
CMake를 이용하여 Ninja 빌드를 구성 및 테스트해 보았다.
C 코드에서 보안 취약점 검사 방법을 정리해 보았다.
C로 2GiB 이상 크기의 파일을 다루는 방법을 간단히 기록한다.
Web에서 소스 코드를 브라우징할 수 있는 OpenGrok을 설치 및 테스트해 보았다.
ARM, MIPS 등의 실행 파일을 QEMU로 시뮬레이션 실행시켜 보자.
SonarQube 소개와 간단히 사용법을 정리한다.
GitHub Copilot을 로컬 서버로 운용할 수 있게 해 주는 FauxPilot을 소개한다.
Doxygen config 파일을 소스 저장소에서 쉽게 관리하는 방법을 정리한다.
IT 회사로서 좋은 개발 문화를 가지고 있는지 측정해 볼 수 있는 체크 리스트이다.
구글 repo 툴에서 사용되는 Manifest 작성과 Git 저장소 구성 방법을 정리해 본다.
VirtualBox 명령어 팁을 기록한다.
회사 PC에 원격 접속하는 몇가지 방법들을 소개한다.
추후 참조를 위하여 SSH 설치/접속 및 설정을 간단히 정리해 본다.
소스 코드의 tab을 space로 일괄 변환하는 방법이다.
GitHub Copilot을 간단히 사용해 보고 후기를 남긴다.
Docker 이미지로부터 Dockerfile 파일을 추출하는 방법이다.
Jenkins에서 SVN으로 소스를 가져와서 Docker 환경을 사용하여 프로젝트 소스를 빌드하는 방법이다.
Docker 컨테이너에서 네트워크를 사용할 때 내부 네트워크 망과 충돌이 발생하는 경우를 정리한다.
Docker를 대체할 수 있는 Podman을 사용해 보자.
Docker 컨테이너 환경에서 소스 빌드 환경을 구축하였고, 간단히 기록을 남긴다.
배포하는 Docker 이미지의 크기를 줄여보았다.
Docker 컨테이너로 GitLab 서버를 설치하고 관련 내용을 정리하였다.
현재 Docker 컨테이너에서 수동으로 포트 매핑을 변경하는 팁을 공유한다. (볼륨 변경도 마찬가지)
추후 참조를 위하여 Docker(도커)의 기본적인 사용법을 간단히 정리한다.
Android에서 AIDL을 사용하여 예제 서비스를 구현해 보았다.
안드로이드에서 ClearKey DRM을 테스트하는 방법을 서술한다.
Android 11부터 지원되는 Rust로 Native 서비스를 구현 및 테스트 해 본다.
AOSP에서 HIDL 소개 및 예제 코드를 작성/빌드/테스트하여 성공한 방법이다.
파이썬으로 안드로이드 앱을 간단히 제어하는 예제를 작성해 보았다.
Android 빌드시 시스템 CPU 리소스를 모두 사용하지 않도록 하기
안드로이드에서 시스템 앱을 설치하거나 삭제하는 방법을 정리해 본다.
안드로이드 앱 개발시 pre-built 된 정적/동적 라이브러리를 사용하는 방법을 기술한다.
안드로이드 디바이스 개발시 Ethernet으로 ADB 연결하는 방법에 대하여 정리해 본다.
Go 언어를 사용하여 Windows용 WebApp 프로그램을 구현하는 방법을 간단히 정리해 본다.
Go 실행 파일에서 리소스 파일들을 포함시키는 방법을 알아본다.
Go 소스의 빌드를 편리하게 할 수 있도록 기본적인 Makefile을 작성해 보았다.
Go 패키지 중에 golang.org/x/crypto/openpgp에서 PGP encrypt/decrypt 사용 팁이다.
Go나 Python을 사용하여 Outlook으로 메일을 보내는 방법을 공유한다. (OLE 이용)
Go 프로그램에서 힙 메모리 관련 팁이다.
REST API를 위하여 Go 언어에서 Swagger를 사용해 보았고, 간단히 사용 방법을 정리해 본다.
파이썬과 유사하게 Go 언어로 크롤링(crawling) 테스트를 해 보았다.
직접 간단한 Linux 배포판을 만들어보는 실험이다.
Linux 환경에서 유용하게 사용 중인 tool 들의 업데이트를 자동화하는 스크립트를 작성해 보았다.
Linux에서 USB, Ethernet 장치의 hot plug 처리에 대해서 정리한다.
Linux capability 정리
내가 참조하기 위한 Bash 팁 정리
신년을 맞이하여 shell을 z shell(zsh)로 바꾸어 보았다.
Linux 터미널 내용의 녹화 및 재생 방법을 정리한다.
GitLab으로 운용되는 프로젝트와 Jenkins를 연동하여 자동으로 빌드 및 결과를 이메일로 발송하도록 설정해 보았다.
서버 시작시에 자동으로 특정 프로그램을 실행하는 방법에 대하여 간단히 기술한다.
우분투 서버에서 VNC 접속을 위한 설정을 간략히 정리한다.
SVN 서버 구성시 내가 사용했던 유용한 팁을 일부 정리해 본다.
Docker 컨테이너로 GitLab 서버를 설치하고 관련 내용을 정리하였다.
Windows에서 Linux를 samba로 연결시 설정 관련 팁을 공유한다.
Jira에서 일일 작업 시간 기록을 자동화하는 툴을 작성해 보았다.
파이썬으로 SQLite DB를 생성하고 확인하는 간단한 툴을 작성해 보았다.
최신 파이썬을 임베디드 시스템에서 동작시키기
파이썬으로 안드로이드 앱을 간단히 제어하는 예제를 작성해 보았다.
Go나 Python을 사용하여 Outlook으로 메일을 보내는 방법을 공유한다. (OLE 이용)
PyInstaller로 단일 실행 파일 생성시 PyQt UI 파일들을 포함시키는 방법을 정리해 본다.
노트 앱 중의 하나인 UpNote를 간단히 소개한다.
Cloud 파일 서버 솔루션 NextCloud를 간단히 소개한다.
마크다운 문서를 협업하여 작성할 수 있는 HedgeDoc을 소개한다.
개인 지식 관리를 위한 노트 앱 중의 하나인 Obsidian(옵시디언)을 소개한다.
GitHub 블로그를 만든 방법을 기술한다.
bWAPP(buggy web application) 해킹 실습 교육을 받고, 관련 내용을 정리해 보았다.
Linux security hardening 기법 중의 하나인 capability 관련하여 정리해 본다.
Linux에서 C/C++로 코딩 후 빌드시 security hardening 관련을 기술한다.
C 코드에서 보안 취약점 검사 방법을 정리해 보았다.
NFS 서버의 no_root_squash 설정 취약점을 이용하여 NFS 서버의 root shell을 얻는 방법을 보여준다.
WSL2로 bare metal 서버처럼 SSH, SAMBA, HTTP, NFS, TFTP 서버를 구성하여 외부 장치에서도 접근할 수 있는 방법을 정리한다.
WSL2에서 삼바(Samba) 서버를 구축하고 고정 IP로 삼바를 이용하는 방법을 정리해 본다.
Windows에서 NFS 서버를 설치하는 방법을 소개한다.
Windows11에 포함된 WSL2를 간단히 소개한다.
WSL2 관련하여 간단히 정리해 보았다.
내 Neovim(LazyVim)의 설정 내용이다.
VS Code 용 c_cpp_properties.json 파일을 자동으로 생성하는 툴을 자작하여 공유한다.
VS Code 용 Android HIDL syntax 익스텐션 제작
Visual Studio Code 용 Hex ascii converter 익스텐션 제작
자바 jar 파일을 Windows 실행 파일로 만들기 위한 launch4j 툴에서 JRE 관련하여 정리한다.
마인크래프트 용 플러그인 개발 방법을 정리한다.
오래 전 JavaFX 프로젝트에서 빌드를 IDE 대신에 커맨드로 빌드하도록 구축해 보았다.
Console 환경에서 make로 자바 소스 빌드하기
하나의 프로그램에서 정적/동적 라이브러리를 동시에 사용하는 경우의 링크 방법이다.
Go 소스의 빌드를 편리하게 할 수 있도록 기본적인 Makefile을 작성해 보았다.
make -j 옵션으로 빌드시 각 하위 디렉토리들도 동시에 multi-job 빌드하는 방법을 정리한다.
Console 환경에서 make로 자바 소스 빌드하기
웹 페이지 자동화 시 Selenium을 대체할 수 있는 Playwright 소개
업무 자동화 툴에서 Web 서버에서 자바스크립트를 이용하여 팝업을 처리하는 방법을 공유한다.
HTTPS 접속을 지원하기 위한 사설 인증서 만들기 과정을 정리한다.
파이썬과 유사하게 Go 언어로 크롤링(crawling) 테스트를 해 보았다.
Windows command console(cmd.exe)에서 색깔을 출력하는 방법이다.
CLI 툴 Windows Package Manager인 winget이 v1.0으로 업데이트가 되어서 간단히 실사용해 보고 정리해 보았다.
Windows에서 MSYS2 + MinGW 설치 및 간단한 사용법을 정리한다.
회사 생활에 도움이 될 만한 글들이다.
지식에 대한 명언 중에서 내가 좋아하는 명언들이다.
명사들이 남긴 말 중에서 내가 좋아하는 명언들이다.
MPEG-2 시스템에서 A/V 동기화를 위한 PCR, DTS, PTS 등을 간단히 정리해 본다.
MPEG-2 TS(Transport Stream)을 다루는 tool 중에서 TSDuck 소개와 기본적인 사용법이다.
Linux Kernel에서 initrd와 initramfs 이미지 사용법을 정리한다.
Linux 커널 default config 관련
NAND FLASH에서 데이터 파티션을 UBIFS로 사용시 효율적으로 파티셔닝 하는 방법을 정리한다.
NAND simulator 사용법을 간단히 정리해 보았다.
Android 11부터 지원되는 Rust로 Native 서비스를 구현 및 테스트 해 본다.
2016년 이후로 줄곧 개발자가 가장 사랑하는 언어 1위로 뽑히고 있는 Rust 언어를 간략히 소개한다.
SQLite3 DB 파일의 무결성(integrity) 검사를 구현해 보았다.
파이썬으로 SQLite DB를 생성하고 확인하는 간단한 툴을 작성해 보았다.
비트코인(Bitcoin) 채굴의 반감기와 난이도를 간략히 정리해 보았다.
GitHub 블로그에서 PlantUML을 출력하는 방법을 정리한다.
Markdown 파일을 PDF로 변환하는 방법을 정리한다.
JavaScript 소스의 크기를 최적화하는 방법을 간단히 기록한다.
요즘 핫한 MCP(Model Context Protocol) 서버를 만들고 테스트 해 보았다.