본문 바로가기

개발

(46)
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를 이용하여 웹으로 개발하려 했으나 복잡하기도 하고 시간문제가 있어 챗봇에 넣게 되었습니다. 웹 환경에서는 사용자의 위치를 가져올 수 있기 때문에 해당 기준으로 마스크 조회가 가능하지만, 디스코드에서는 현재 위치를 조회하기 어렵습니다. (개발 당시에는 방법을 몰랐는 데 있을지도 모른다) 끝내 결정한 방법은 주소를 받으면 주소 주변의 마스크 판매점을 알려주기로 했습니다. 주소 기준 판매점 조회는 ..
백준 #6581 HTML 오로지 , 태그와 그 외 평문으로만 주어지는 HTML 문서가 있을 때, 그 결과를 보여주는 코드를 작성하시오. 한 줄에는 80자보다 많은 글자가 출력되어서는 안 된다. https://www.acmicpc.net/problem/6581 정답 뜨자마자 정리하는 따끈한 글! 해당 문제는 입력으로 HTML 코드가 들어오면 파싱해서 결과를 출력해주면 되는 문제이다. 단, 조건이 있는데 한 줄에는 80자 이상을 출력할 수 없고 80줄이 넘으면 줄바꿈 후 출력한다. 태그가 주어지면 줄바꿈을 한다. 태그가 주어지면 줄바꿈 후 라면 - 문자 80개를 출력하고 아니라면 줄바꿈 후 출력한다. 위 조건에 맞게 구현을 해주면 된다. 처음 접근 방식은 vector에 \n (newline) 기호를 넣어주고 출력해보면 되지 않을까 ..
🌐 HTTP Status Code, 301 vs 302 301과 302의 차이점 웹 개발을 하다보면 페이지 리다이렉트를 할 일이 생기는데 그 때마다 항상 찾아보는 코드이다. (어떻게 볼 때마다 까먹는지 지금은 기억함.. ㅎ) 301 (Permanent redirect) 페이지가 영구적으로 이동했다는 의미를 갖고있습니다. foo.com에서 bar.com으로 이동했다면 검색엔진은 영구적으로 페이지가 변경되었다 판단하고 검색 결과를 bar.com으로 표기합니다. 주로 도메인 이전으로 foo.com에서 bar.com으로 변경되거나 www.bar.com으로 접속했을 때 bar.com으로 리다이렉트 되는 경우에 쓰입니다. 302 (Temporary redirect) 페이지가 임시적으로 이동했다는 의미를 갖고있습니다. 301 코드와 달리 foo.com`에서 bar.com..
백준 #8979 올림픽 올림픽은 참가에 의의가 있기에 공식적으로는 국가간 순위를 정하지 않는다. 그러나, 많은 사람들이 자신의 국가가 얼마나 잘 하는지에 관심이 많기 때문에 비공식적으로는 국가간 순위를 정하고 있다. 두 나라가 각각 얻은 금, 은, 동메달 수가 주어지면, 보통 다음 규칙을 따라 어느 나라가 더 잘했는지 결정한다. 금메달 수가 더 많은 나라 금메달 수가 같으면, 은메달 수가 더 많은 나라 금, 은메달 수가 모두 같으면, 동메달 수가 더 많은 나라 각 국가는 1부터 N 사이의 정수로 표현된다. 한 국가의 등수는 (자신보다 더 잘한 나라 수) + 1로 정의된다. 만약 두 나라가 금, 은, 동메달 수가 모두 같다면 두 나라의 등수는 같다. 예를 들어, 1번 국가가 금메달 1개, 은메달 1개를 얻었고, 2번 국가와 3번..
백준 #2688 줄어들지 않아 어떤 숫자가 줄어들지 않는다는 것은 그 숫자의 각 자리 수보다 그 왼쪽 자리 수가 작거나 같을 때 이다. 예를 들어, 1234는 줄어들지 않는다. 줄어들지 않는 4자리 수를 예를 들어 보면 0011, 1111, 1112, 1122, 2223이 있다. 줄어들지 않는 4자리수는 총 715개가 있다. 이 문제에서는 숫자의 앞에 0(leading zero)이 있어도 된다. 0000, 0001, 0002는 올바른 줄어들지 않는 4자리수이다. n이 주어졌을 때, 줄어들지 않는 n자리 수의 개수를 구하는 프로그램을 작성하시오. https://www.acmicpc.net/problem/2688 DP문제입니다! 문제를 풀면서 알았는데 문제의 특징을 뽑아 점화식을 설계하면 편리한거 같습니다. 자릿수 n이 주어지고 줄어들지..
Rust toolchain 설치 시 액세스 거부 해결하기 Rust toolchain 설치 시 아래와 같은 오류가 발생하곤 합니다. error: could not rename component file from '경로\rust-docs\share/doc/rust/html' to '경로\share/doc/rust/html' info: caused by: 액세스가 거부되었습니다. (os error 5) 관리자 권한으로도 실행 해보고 직접 파일 이름을 바꾸기도(??) 해봤는데 아쉽게도 이 방법은 아니였고 백신 사용 시 백신을 모두 끄고 설치하시면 해결됩니다.

반응형