배경 졸업과제를 시작할 때, 팀원의 제안으로 졸업과제 로그를 상세히 남기기로 했다. 깃허브 레포지토리의 위키를 기반으로 했고, 엑셀 기반의 백로그를 작성했다. 진행상황과 해야할 일, 이슈 등을 서로 공유할 수 있어서 좋았는데.. 생각보다 손이 가지 않았다. 백로그를 잘 남기지 않게되면서 어디까지 작업이 진행되었는디, 이제 무엇을 해야하는지 등이 제때 생각나지 않게 되었고 이는 생산성에 큰 영향을 미쳤다. 졸업과제 최종발표까지 남은 2달 동안 구현에 집중하기 위해서는 문서를 간편하고 빠르고 자주 작성할 필요성을 느꼈다. 그래서 Github Wiki에서 Notion으로 옮겨왔다. 그김에 아예 노션에서 모든 문서를 작성하기로 했다. 백로그와 더불어, 환경변수 파일, 회의록, 회고 등을 하나의 저장소에서 관리하..
일시: 2024-03-26 배경 2023년도 후기 졸업과제 중간보고서를 제출하고, 본격적인 서비스 구현에 앞서 기획 회의를 진행하였다. ZKP 기반의 신원증명 프로토콜의 구현은 얼추 완료되었고, 이제 남은 2달 동안 이 프로토콜을 기반으로 한 서비스를 구현하는 것이 최우선 과제이다. 서로 이번주 할 업무를 지정하고 프로토콜 로직을 점검했다. 그리고 이 프로토콜의 장점을 살릴 수 있는 서비스가 무엇일지 한참 고민했다. 결론을 내렸다. 이제부터는 프론트엔드 개발자와 백엔드 개발자가 갈려나갈 시간이다. 대충 그린 와이어프레임이다. 이전까지는 하나의 테스트 페이지를 구현해서 프로토콜 로직을 테스트했지만, 테스트가 완료된 지금은 UI/UX를 고려해서 구현해야 한다. 지갑을 빠르게 구현한 후, 서비스 홈페이지를 구..
간단하게 숫자 2개를 더하는 wasm을 Chrome Wallet에서 실행해보았다. 배경 Chrome Extensions 에서 유저의 VC, VP로 zk-proof를 생성하기 위해서는 rust로 구운 wasm을 실행해야 한다. proof을 생성하는 Rust 함수는 코어 직무의 팀원이 개발하는 중이고, 나는 우선 간단한 wasm을 구워서 Chrome Extensions에서 실행시켜보기로 했다. 초간단한 rust 함수 use wasm_bindgen::prelude::*; #[wasm_bindgen] pub fn add(x: i32, y: i32) -> i32 { x + y } WASM 컴파일 사실 컴파일하는 것은 간단하다. wasm-pack 이라는 툴을 설치해서 해당하는 명령어를 실행하면 된다. 우리는 웹 환..
배경 AID 동아리에는 부원들이 사용하는 디스코드 서버가 있다. AID 서버에는 [채용 공고] 채널이 존재하는데 부원들이 알게된 AI/인턴 채용 공고 정보를 서로 공유하는 공간이다. 이를 Github Actions와 Discord Hooks을 활용해 자동화하기로 했다. 상세 구현 사항은 다음과 같다. 채용 공고 크롤링 최근 게시물 인덱스 관리 AID 채널로 공고 전송: Discord Hooks 매일 특정 시간마다 스케줄링: Github Actions AI 기반 채용 공고 필터링: Transformers.js 개발 환경 Bun Github Actions Discord Hooks 채용 공고 크롤링 Job 구현 이 부분은 그냥 크롤링해오면 되는 거라 어려울 건 없다. 가장 익숙한 Nodejs를 사용해서 구현했..