About Me

This is what I do.

저에 대해

저는 유닉스/리눅스 시스템 관리, 자동화 스크립트, Docker   Incus, Go 언어 패키지 개발(Tcl/Tk 9.0)에 관심 있는 대학생입니다. 현재 Java와 C#을 배우고 있습니다.

관심 분야

  • 유닉스/리눅스 시스템 관리
  • 자동화 스크립트
  • Docker   Incus
  • Go 언어 (Tcl/Tk 9.0)
  • Java (학습 중)
  • C# (학습 중)
  • Ruby (학습 중)
개인적인 이야기 저는 여가 시간에 LP 듣는 것을 좋아합니다.

연락처


이메일: gg582@naver.com 또는 gzblues61@gmail.com(푸시 메시지 때문에 읽지 못할 수 있음)

주요 프로젝트


DeltaEdit - 비 유니코드 CJK 텍스트 편집기

DeltaEdit은 유닉스 계열 운영 체제에서 CJK(중국어, 일본어, 한국어) 언어를 위해 특별히 설계된 경량 비 유니코드 텍스트 편집기입니다. 문제 해결 플랫폼 통합을 위한 내부 브라우저 탭, 스마트 자동 들여쓰기 기능, 구문 강조 지원 및 단일 파일의 올인원 구현을 제공합니다.

YoonZIP - EUC-KR ZIP 관리자

YoonZIP은 한국의 Windows 종속적인 생태계에 따라 발생하는 Unicode, EUC-KR 호환성 문제에 대해 쉽게 해결하기 위한 방안으로 고안된 PyZipper 기반 압축/압축 해제 프로그램입니다. 일반적인 데스크톱 기준 1MB * 2000개의 랜덤 파일을 압축한 ZIP을 해제할 때 3-5초 정도 소요되며, Recursive Folder 복원 역시 지원합니다. 암호화 ZIP은 PyCrypto를 지원하고 실패 시 AES ZIP으로 fallback 처리됩니다.

LinuxVirtualization - Incus 컨테이너 원격 관리자

이 프로그램은 지정된 서버 주소의 Incus 클러스터에 RestAPI를 통해 간접 접근해서 컨테이너의 간단한 관리를 지원합니다. Miney 프로토타입과 달리 포트 등의 정보를 안전하게 관리하고 있으며, 다양한 배포판의 Fresh Installation 환경을 제공하는 확장된 서비스입니다. Goroutine 동시성 제어를 통해 성능 역시 향상시켰으며 Kivy 클라이언트는 KivyMD 스타일 적용, Window 매니저를 통한 창 리디렉션 관리 등을 적용한 형태입니다. 또한, 이것의 경우 main.go와 모듈을 분리한 형태로 제작되어 유지/보수가 용이합니다/

remoteCarFromMonet - 연구실 프로젝트 시스템 백엔드

이 시스템 백엔드는 연구실에 있을 때 교수님과 선배들과의 회의를 통해 백엔드 구조를 설계하고(구조 설계 주도자는 당시 학부생 4학년이었던 김경빈 졸업생께서 하셨습니다) 실제 구현체는 제가 총괄하게 된 프로젝트입니다. 디바이스 드라이버 구조 설계와 패킷 경로 등은 교수님의 지도 하에 제가 추가적으로 정제를 시도하였습니다. 자동 디플로이를 위한 스크립트가 다수 비중을 차지하는데, 웹 풀스택과 프로젝트 추상 구조 전반을 담당하신 김경빈 선배님이 작업하신 분량은 제 프로젝트와 별개라서 누락되었습니다. 추후 시간이 있다면 해당 웹서버를 재구현해볼 생각이나 아직은 구현되지 않은 상태입니다.

survivedCodeOfProbono2022

이것은 2022년 킨텍스에서 진행된 창의적종합설계경진대회 코드 중 유일하게 유실되지 않은 프로토타입입니다. 완전한 코드는 아니나 이것의 완성본은 5위로 동상을 수상했습니다.

Espresso Archiver: RLE 변형 난독화 프로그램

Espresso Zip은 파일을 비트 수와 나열 순서로 나누는 아이디어에서 출발한 RLE(Run-Length Encoding) 변형 난독화 프로그램입니다. 간단하지만 효과적인 난독화, 가볍고 빠른 처리 속도, 쉬운 이해도를 제공합니다.

Miney (Prototype, Ubuntu 22.04)

Miney는 마인크래프트 서버 관리 서비스입니다. LXD 포트를 생성/삭제하고 응답을 통해 포트 및 정보를 얻을 수 있습니다. Go 언어로 작성된 백엔드 애플리케이션과 Python으로 작성된 프론트엔드 애플리케이션으로 구성됩니다.

Baekjoon 문제 풀이 저장소

이 저장소는 백준 온라인 저지에서 해결한 문제들을 자동으로 푸시하는 저장소입니다. 다양한 프로그래밍 언어로 작성된 문제 풀이 코드를 확인할 수 있습니다.

Go Tcl/Tk 9.0 바인딩

Go 언어에서 Tcl/Tk 9.0 위젯을 사용할 수 있도록 바인딩하는 프로젝트입니다. 리스트 박스, 이미지 뷰어 등 다양한 위젯을 지원하며, 테마 변경 기능도 제공합니다. 그 중 리스트박스, 트리뷰의 경우 제가 새롭게 구현한 바인딩이며, 몇 가지 Public Raw 함수 호출들과 ttk::entry의 내용을 쉽게 가져오기 위한 Get 메서드 역시 제가 작성하였습니다.

dnf-tk 패키지 매니저 (개발 중)

이것은 앞서 언급한 Go Tcl/Tk 9.0을 이용해 샘플 앱으로 개발 중인 Fedora DNF5 를 위한 Tcl 프론트엔드 앱입니다. 향후 개발이 완료될 경우 tk9.0 소스 트리에 포함할 계획입니다.

Raspberry Pi Raspbot

이것은 remoteCarFromMonet에 있었던 Device Driver 작성 부분만 따로 추려서 미니 프로젝트로 6.x 커널에 맞게 재작성한 토이 프로젝트입니다. 간단한 디바이스 드라이버와 그를 이용한 장애물 회피 알고리즘이 내장되어 있습니다. Raspberry Pi 4와 그 revision에 알맞는 Yahboom 4WD 키트가 필요합니다.

RiotOS-car

RiotOS의 GPIO 컨트롤 기능을 이용한 간단한 장애물 회피 로직입니다. 사용된 키트는 IFLine의 라인트레이서 저가 키트 중 하나였으나 현재는 단종되었습니다.

기여 및 연락

저의 프로젝트에 기여하고 싶다면 언제든지 환영합니다! 저장소를 포크하고 새로운 브랜치를 만들어 기능을 추가하거나 버그를 수정하고, 풀 리퀘스트를 보내주세요. 질문, 제안 또는 피드백이 있다면 언제든지 저에게 연락해주세요.