Java에서 .NET으로의 코드 포팅을 표현한 추상적인 이미지

Java hwplib을 .NET으로 이식하기: AI와 함께한 오픈소스 포팅 여정

시작은 단순한 호기심에서 “한글 파일을 .NET에서 직접 다룰 수 있으면 좋겠는데…” 이런 생각을 한 .NET 개발자가 저만은 아닐 것입니다. HWP 파일은 한국에서 공공기관을 중심으로 여전히 널리 사용되는 문서 형식이지만, .NET 생태계에서는 이를 제대로 다룰 수 있는 오픈소스 라이브러리가 마땅치 않았습니다. .NET에서는 그동안 HWP 파일을 다루기 위해서, Windows OS 한정으로 아래아한글을 설치하면 같이 따라오는 HWP ActiveX 컨트롤의 COM 타입 라이브러리를 불러와서 제어하는 것 정도만 겨우 다루어지고 있었을 뿐이었지만, 안타깝게도 이 마저도 지원이 중단되면서 지금은 길이 막힌 상태죠! ...

2026년 1월 8일 · 9 분 ·  rkttu
식탁보 카탈로그 UI 업데이트

테이블에서 카드로: 식탁보 카탈로그 UI의 현대화 여정

들어가며 한국에서 인터넷 뱅킹을 이용해본 적이 있다면, 각종 보안 프로그램 설치 요구에 고개를 끄덕이게 될 것입니다. ActiveX는 사라졌지만 그 자리를 대신한 수많은 보안 플러그인들—AhnLab Safe Transaction, TouchEn nxKey, Veraport 등—은 여전히 우리의 PC에 설치를 요구합니다. 식탁보(TableCloth) 프로젝트는 이런 보안 프로그램들을 Windows Sandbox라는 격리된 환경에서 실행할 수 있게 해주는 오픈소스 도구입니다. 그리고 식탁보 카탈로그는 어떤 금융 사이트에서 어떤 보안 프로그램이 필요한지를 정리해둔 데이터베이스 역할을 합니다. 이번 업데이트 한눈에 보기 식탁보 카탈로그 프로젝트에 다섯 건의 커밋이 적용되었습니다. 이번 업데이트는 프론트엔드, 백엔드, DevOps 세 영역에 걸친 종합적인 개선입니다. ...

2025년 12월 8일 · 6 분 ·  rkttu
식탁보 프로젝트 카탈로그 빌더 업데이트

식탁보 프로젝트 카탈로그 빌더, .NET 10과 FBA로 현대화

식탁보 프로젝트란? 식탁보(TableCloth)는 한국의 인터넷 뱅킹 환경에서 필요한 보안 플러그인들을 Windows Sandbox 환경에서 안전하게 사용할 수 있도록 도와주는 오픈소스 프로젝트입니다. 다양한 금융 기관 웹사이트에서 요구하는 보안 프로그램들을 격리된 환경에서 실행하여 호스트 시스템의 안전을 보장합니다. 카탈로그 리포지토리란? TableClothCatalog 리포지토리는 식탁보 프로젝트에서 참조하는 금융 기관 사이트별 보안 프로그램 목록을 보관하는 저장소입니다. 각 은행, 증권사, 보험사 등의 웹사이트에서 요구하는 보안 플러그인 정보가 체계적으로 정리되어 있으며, 카탈로그 빌더 도구는 이 정보를 바탕으로 식탁보 앱에서 사용할 수 있는 형태로 가공합니다. ...

2025년 12월 6일 · 3 분 ·  rkttu
AI와 개발을 상징하는 이미지

AI '학습'이라는 용어에 속지 마세요

서비스 개발을 하는 동료들과 이야기를 나누다 보면, AI 도입에 대해 막연한 부담감을 느끼는 경우를 종종 봅니다. 그 부담감의 근원을 파고들면 대개 **‘학습(Training)’**이라는 용어가 주는 오해에서 비롯됩니다. “모델을 서비스에 붙이면, 유저 데이터를 먹고 실시간으로 학습해서 똑똑해지는 건가요?” “그럼 그 학습 과정을 우리가 통제할 수 있나요? 이상한 걸 배우면 어떡하죠?” 만약 이런 고민을 하고 계셨다면, 잠시 걱정을 내려놓으셔도 좋습니다. 오늘 그 오해를 개발자의 언어로 풀어드리겠습니다. ‘학습’은 빌드타임, ‘추론’은 런타임 가장 먼저 바로잡아야 할 것은, 우리가 서비스에 배포하는 AI 모델은 대부분 ‘얼어있는(Frozen)’ 상태라는 점입니다. ...

2025년 12월 5일 · 3 분 ·  rkttu
AI와 개발을 상징하는 이미지

AI '학습'이라는 용어에 속지 마세요

서비스 개발을 하는 동료들과 이야기를 나누다 보면, AI 도입에 대해 막연한 부담감을 느끼는 경우를 종종 봅니다. 그 부담감의 근원을 파고들면 대개 **‘학습(Training)’**이라는 용어가 주는 오해에서 비롯됩니다. “모델을 서비스에 붙이면, 유저 데이터를 먹고 실시간으로 학습해서 똑똑해지는 건가요?” “그럼 그 학습 과정을 우리가 통제할 수 있나요? 이상한 걸 배우면 어떡하죠?” 만약 이런 고민을 하고 계셨다면, 잠시 걱정을 내려놓으셔도 좋습니다. 오늘 그 오해를 개발자의 언어로 풀어드리겠습니다. ‘학습’은 빌드타임, ‘추론’은 런타임 가장 먼저 바로잡아야 할 것은, 우리가 서비스에 배포하는 AI 모델은 대부분 ‘얼어있는(Frozen)’ 상태라는 점입니다. ...

2025년 12월 5일 · 3 분 ·  rkttu
블로그 작성을 위한 노트북과 커피

/dev/write: AI와 함께 기술 블로그 운영하기

기술 블로그를 운영하면서 가장 큰 고민은 “어떻게 하면 꾸준히 양질의 글을 쓸 수 있을까"입니다. 특히 다국어로 콘텐츠를 제공하고 싶다면 번역까지 신경 써야 하니, 부담이 배로 늘어나죠. /dev/write는 이런 고민에서 시작했습니다. Hugo 정적 사이트 생성기에 GitHub Copilot을 결합해서, 글쓰기에만 집중할 수 있는 환경을 만들어봤습니다. 왜 또 블로그 시스템인가? 솔직히 말하면, 기존 블로그 플랫폼들도 충분히 좋습니다. Medium, velog, 티스토리 모두 훌륭한 선택지예요. 하지만 몇 가지 아쉬운 점이 있었습니다. 첫째, 다국어 지원입니다. 한국어로 쓴 글을 영어와 일본어로도 제공하고 싶었는데, 대부분의 플랫폼에서는 별도 계정이나 복잡한 설정이 필요했습니다. ...

2025년 12월 5일 · 4 분 ·  rkttu
서버 가상화 환경 이미지

Windows 10/11 Pro에서 Hyper-V 2세대 VM으로 Ubuntu 부팅하기

시작하기 Windows Pro에는 기본적으로 Hyper-V가 포함되어 있습니다. 별도의 가상화 소프트웨어를 설치하지 않아도, 운영체제 안에서 바로 가상 머신을 만들고 관리하실 수 있습니다. 이번 글에서는 Hyper-V의 2세대(Generation 2) 가상 머신을 이용해 Ubuntu를 부팅하는 방법을 정리해보겠습니다. 먼저 관리자 권한 PowerShell을 열고 다음 명령어를 입력해 Hyper-V 기능을 활성화합니다. Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All 설치가 완료되면 재부팅해주십시오. 그 다음 “Hyper-V 관리자”를 실행해 새 가상 머신을 생성합니다. 세대는 반드시 2세대(Generation 2) 로 선택하고, 메모리는 4GB 이상, 디스크는 20GB 이상으로 지정하시면 됩니다. ...

2025년 10월 23일 · 2 분 ·  rkttu