본문 바로가기

전체 글

(84)
졸업 그리고 입학: 2021~2022 회고록 졸업 그리고 입학 매년 쓰던 글인 회고록을 작년에는 건너뛰었습니다.(큰 이유는 없고 그냥 깜빡했습니다) 2021년은 짧게 다루고 2022년으로 넘어가 보겠습니다. 🐂2021년부터 출발해 봅시다 🖥️수정과와 수프트를 되돌아보면... 2021년, 고등학교를 다니면서 수프트(수프트 개발기)와 수정과(수정과 개발기)라는 이름으로 실서비스 프로젝트를 했었습니다. 각각 CBT(문제은행) 서비스와 교내 인트라넷입니다. 수프트는 시험기간에 공부하려고 간단하게 만든 프로젝트였습니다. 졸업하면서 서서히 잊혔고 지금은 제 테스트베드로 사용하고 있습니다. 수정과는 교내 인트라넷으로 급식 확인, 우산 대여, 고교학점제 수강신청 등의 기능을 제공합니다. 첫번째 목표가 학교의 대부분 사람들이 서비스를 이용하게 하는 것이고, 두번째..
pfSense 와 함께 인터넷 사용하기 📡 pfSense 알아보기 pfSense는 오픈소스 방화벽 소프트웨어입니다. 데스크톱이 될 수도 있고, 서버 또는 VM 등 컴퓨터에 설치해서 사용하는 방화벽입니다. pfSense의 모든 기능을 쓰지는 않지만.. DHCP 서버, NAT 등 가정에서 쓰는 공유기 이상의 기능을 지원합니다. 제 경우 미니 PC를 구입하여(알리익스프레스에서 구매) pfSense를 올린 후 사용하고 있습니다. [pfSense는 공식 문서]가 존재하고, 영어만 가능하다면 최고의 설명서입니다. 다만, 한국어 자료는 부족했고 2021년 5월부터 지금까지 겪었던 시행착오를 정리하고자 합니다. 보안 또는 네트워크와 관련된 전문적 지식을 가지고 쓰는 글이 아닙니다. 더 나은 방법이나 잘못된 지식이 있다면 댓글로 알려주세요! 🤣 시작하기 전에..
랜덤 한글 단어 만들기 서론 학교에서 진행 중인 프로젝트 '주다'는 온·오프라인 학습에서 쓸 수 있는 보조 플랫폼입니다. 방에 입장하기 위한 초대 코드와 출석체크에 필요한 출석 코드를 만들어야 하는데 흔히 쓰이는 알파벳 코드가 아닌 한글 단어로 이루어진 코드를 만들어 보기로 했습니다. 이런 느낌으로요! 🅰 알파벳은 알겠는데... 한글? 알파벳으로만 이루어진 코드는 예전에도 해봤었고, 구글링을 통해 쉽게 자료를 얻을 수 있었습니다. 알파벳을 담은(A-Z, a-z) 문자열 변수를 만들어주고 랜덤 한 인덱스를 뽑은 뒤 이에 매칭 되는 알파벳을 골라주면 됩니다. const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'; const generateCode = (..
학교 인트라넷 프로젝트: 수정과 개발기 갑자기 인트라넷? 각 학교마다 여러 가지 행사들이 있습니다. 저희 학교의 경우 '우산대여제'라는 사업(행사)이 있습니다. 아래와 같은 프로세스로 굴러가는데, 비가 오거나 눈이 오는 등으로 우산이 필요할 때 시행합니다. 학생회에게 보증금을 2천원을 먼저 주고 우산을 받습니다. 우산을 반납하면 보증금을 돌려받습니다. 우산 반납이 연체되면 보증금을 돌려받을 수 없습니다. 또한 3일 이내에 반납이 이루어지지 않으면 블랙리스트에 등록되며 영구적으로 이용할 수 없습니다. 간단하지만 사람이 많다면 복잡한 과정이라고 생각합니다. 우산 대여자가 많아지면 학생회의 일이 커지게 되는데 이를 자동화할 수 없을까? 라는 생각에서 출발했습니다. 코로나19로 인해 원격 수업이 잦아지면서 구글 클래스룸, Zoom 등 수업 링크를 기..
벌써 2021년? 2020년은 2019년보다 더 빠르게 지나간 것 같습니다. 많은 일들이 있었지만 가장 생산력 있는 해였습니다. 아무리 블로그 글은 안 올려도 회고글은 항상 올렸기에 2020년에도 한 해를 회고해보려고 합니다. SW마에스트로 합격 SW마에스트로가 뭔지 알고만 있었는데, 주변 지인을 통해 11기 모집한다는 소식을 듣고 지원해봤습니다. 매우 감사하게도 11기에 최종 합격했습니다! 🎉 SW마에스트로는 오프라인 행사로 이루어져 있었으나... 코로나로 인해 대부분 행사가 온라인으로 바뀌었고 프로젝트 또한 온라인으로 진행하게 되었습니다. 사람들은 많이 못 만난 건 아쉽지만 고등학생이기 때문에 편하게 참여하기는 했습니다 😀 코딩 테스트 또한 오프라인 테스트에서 온라인 코테 2번으로 변경되었습니다. 10기에서는 모든 문..
GitHub Actions와 SFTP로 React 프로젝트 배포하기 예전에는 Jenkins, Travis CI와 같은 써드파티를 이용하여 배포를 했다면 요즘에는 GitHub Actions으로 이전보다 쉽게 배포를 할 수 있게 되었습니다. 개인적으로 React 프로젝트를 배포하기 가장 쉬운 방법은 아마존 S3라고 생각합니다 S3를 썼으면 좋겠지만.. 여러 사정으로 인해 진행하는 프로젝트에서는 S3를 이용할 수가 없었기 때문에 SFTP를 이용해서 React 프로젝트를 배포해보겠습니다. Workflow 작성하기 SFTP를 쓸 수 있는 Action입니다. https://github.com/SamKirkland/FTP-Deploy-Action SamKirkland/FTP-Deploy-Action Deploys a GitHub project to a FTP server using ..
Git 사용시 한글 깨지는 오류 해결하기 Git을 이용해 commit을 확인하려고 하니까 한글이 깨지는 이슈가 발생하였습니다. (똑같지는 않았는데 비슷한 문구였다) 혹시 clone을 잘못한 게 아닌가 싶어 다시 해봤고 재부팅도 해봤으나 결국은 인코딩 문제였습니다. 해결 방법은 두 가지인데, 1. Git Bash를 사용하자 2. 환경변수로 인코딩을 바꿔주자 입니다. 1번은 금방 해결되고 여기서는 2번을 다뤄보겠습니다. 환경변수 LC_ALL 을(를) 추가해주고 값에 ko_KR.UTF-8 을(를) 넣어주면 됩니다. 이후 저장해주고 터미널을 재시작해주면 해결됩니다.
공적마스크 재고 & 온라인 개학 시간표 알림 챗봇 개발기 공적 마스크 재고 조회 한참 공적 마스크 구매가 유행일 때 마스크 재고 조회 API가 등장하였고 저희 반 디스코드 방에 있던 챗봇에 기능을 추가하게 되었습니다. 해당 봇은 원래 시간표, 급식 정보를 알려주는 봇입니다. 주의! 아래 기능들은 하루 만에 개발을 끝낸 거라 코드가 많이 더럽습니다. 😂 처음에는 React를 이용하여 웹으로 개발하려 했으나 복잡하기도 하고 시간문제가 있어 챗봇에 넣게 되었습니다. 웹 환경에서는 사용자의 위치를 가져올 수 있기 때문에 해당 기준으로 마스크 조회가 가능하지만, 디스코드에서는 현재 위치를 조회하기 어렵습니다. (개발 당시에는 방법을 몰랐는 데 있을지도 모른다) 끝내 결정한 방법은 주소를 받으면 주소 주변의 마스크 판매점을 알려주기로 했습니다. 주소 기준 판매점 조회는 ..

반응형