About Me

저에 대해

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

관심 분야

  • 유닉스/리눅스 시스템 관리
  • C언어를 활용한 시스템 제어
  • TUI 도구 개발
  • TCP/IP 계층에서의 다양한 네트워크 관리
  • 자동화 스크립트
  • Docker, Incus
  • Go 언어 (쿠버네티스, 인커스)
  • Java (학습 중)
  • C# (학습 중)
  • Ruby (학습 중)

연락처


이메일: gg582@proton.me

주요 프로젝트


CWIST: Flask만큼 쉽게, 성능은 무난하게

CWIST는 처리량 지향도, 안정성 최우선도 아닌 '육각형' 웹 프레임워크를 표방하며 개발 중입니다. 이것의 목표는 Flask처럼 쉽게 앱을 찍어낼 수 있으면서도 적당히 쓸 만한 퍼포먼스를 보여주는 것에 있습니다. 현재 CWIST로 운영 중인 프로젝트는 Ceversi, 바보쉽이 있습니다. https://ceversi.korokorok.com https://gg582.github.io/baboship

LibTTAK: 메모리 소유권과 수명 개념을 C언어에

LibTTAK은 메모리 소유권과 수명 개념을 C언어에 이식한 프로젝트입니다. 이 프로젝트는 전통적인 의미의 GC 없이 어디까지 GC언어의 안전성을 모방할 수 있을지 시험하면서도, 지나치게 현학적인 메모리 관리가 되지 않는 것에 집중합니다. 현재까지 LibTTAK으로 리팩토링된(혹은 리팩토링 중인) 소스는 SSH-Chatter, CWIST가 있습니다.

YoonZIP - EUC-KR ZIP 관리자

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

SSH-Chatter - 현대적인 PC통신

SSH-Chatter는 SSH/TELNET을 이용해 현대적이고 즉각적인 통신을 빌려온 21세기판 PC통신을 구현합니다. 이것은 사진이나 눈이 아픈 광고 없이 정말 채팅만을 하고, 게시물만을 읽고 쓸 수 있으며, 모든 소스는 C23으로 작성되었습니다. 5만 여줄이 Go와 유사한 코드 스타일로 관리되어 있으며, 1달 간 개발 후 패치 및 보수 중입니다. chatter.pw으로 SSH 22번(권장), TELNET 예비 포트는 2323번으로 접속해 주세요. (이사 등 상황에 따라 접속 여부 변동 가능)

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

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

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

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

Baekjoon 문제 풀이 저장소

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

Raspberry Pi Raspbot

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

RIOTOSMiniCar
Implementation

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

Cwist: C로 만드는 웹 프레임워크

이것은 C로도 스프링이나, 모던 C++ 웹개발 등을 따라갈 수 있다는 생각에서 천천히 진행 중입니다.

GoBus: Go로 만드는 쉬운 DBus Wrapper

이것은 궁극적으로 D-Foot에서 보이는 모든 요소들에 대한 간편화를 목표로 하나, 현재 개발 인력이 혼자 뿐입니다. 활발한 기여를 해 주세요. (gosuda/gobus)

기여 및 연락

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