본문 바로가기

전체 글164

GitHub + Slack Webhook 400 오류 문제 Last delivery was not successful, Invalid HTTP Response: 400. 슬랙 채널의 webhook 을 깃허브 webhook 과 연결할 경우 400 에러 response missing_text_or_fallback_or_attachments 원인 slack webhook 은 request 할 때 json body 에 text 필드를 통해 메시지를 보내야하는데, github webhook 에서 보내는 reqeust 에는 text 가 포함되지 않는다. 해결 : github + slack 연동하기 (webhook) 2021. 12. 3.
09.28. react-player, useRef, axios file, postman array 웹 기반 동영상 플레이어 : https://www.npmjs.com/package/react-player React useRef 사용 : useRef 반환 값을 담은 player 변수를 컴포넌트의 ref 프롭스에 넘겨주면, player.current 를 이용해 컴포넌트를 사용할 수 있다. const player = useRef(null); const onSeek = (seconds) => { player.current.seekTo(seconds, "seconds"); }; return ( ... ... ); axios 에서 파일 보내기 const onOk = () => { const formBody = new FormData(); const file = document.querySelector("#fil.. 2021. 9. 29.
한 번에 끝내는 Git 사용법 - 이론편 이 글을 읽기 전에 한 번에 끝내는 Git 사용법 - 실전편 (feat. GitHub) 내용을 먼저 숙지하고 있어야 합니다. 23-08-29 : git switch 명령어에 대한 부연 설명이 추가되었습니다. git add git commit 은 Staged 된 파일들만 커밋한다. Git repository 에서 파일들의 상태에 대해 알아보자. Untracked → Staged Git repository 에 있는 파일들은 네 가지 상태로 나눌 수 있다. Untracked, Unmodified, Modified, Staged. Untracked 를 제외하고는 다 추적되고 있는 파일들이다. Untracked 상태에 있는 파일들은 Git 기록이 남지 않는다. Untracked 인 파일을 추적하도록 만들려면 다음.. 2021. 9. 25.
한 번에 끝내는 Git 사용법 (feat. GitHub) - 실전편 대상 : Git 을 모른다. 목표 : 토이 프로젝트에 Git 사용 가능 VCS : Version Control System VCS 종류 : Git, Subversion, ... VCS 는 버전 관리 시스템이고 그 중 가장 많이 쓰이는 것이 Git 이다. 다음 두 가지 경우에 유용하게 사용할 수 있다. 중간 저장 : 현재 상태를 저장한다. 언제든지 현재 상태로 되돌아올 수 있다. 협업 : 다른 사람의 코드를 카카오톡을 통해서 보내지 않아도 된다. 같은 파일을 수정해도 건드린 부분만 확인할 수 있다. Git 을 사용하기 전 - 3분 (각 컴퓨터에 최초 한 번) 1. Git 설치 Git 을 사용하기 위해서는 Git 을 설치해야 한다. https://git-scm.com/downloads 2. Contribut.. 2021. 9. 25.
[cpp]백준 14266번 나는 가르친다 스위핑을 더보기 오늘 시간 낭비한 것에 대한 푸념 풀이는 맞았는데, 실수로 디버깅하려고 작성한 코드를 안 지워서 정답률 및 시간 손해를 봤다... ㅠㅠ 그것도 두 문제나... 구현이 길어지면 단계별로 테스트하기 위해 다음과 같이 로그를 찍어보는 코드를 넣었는데, 제출할 때 이를 인지하지 못 한 게 사건의 발단이었다. 그래서 위와같이 8번의 맞왜틀을 시전했다. 처음 코드에서 44번 라인만 지우니 맞더라... https://www.acmicpc.net/problem/14266 14266번: 나는 가르친다 스위핑을 영선이는 BOJ 캠프의 강사다. 이번에 스위핑에 대한 세미나를 진행하였는데, 그 연습문제를 만들었다. “1사분면 정수 좌표계에 n개의 점이 주어질 때, 원점을 지나는 직선 중 직선위의 점들이 최 www.ac.. 2021. 9. 19.
알고리즘 및 코딩테스트 언어 고민 중이다. 얼마 전 카카오 블라인드 코딩테스트 본 후 C++ 로는 코딩테스트를 풀기 힘들다고 느꼈다. 물론 여전히 백준이나 알고리즘 대회에서는 C++ 이 최고다. 알고리즘 대회나 백준은 시간 제한이 타이트한 경우가 많아서 같은 알고리즘이라도 순수 파이썬으로는 시간초과 나는 경우가 있다. 또한 채점이 완료되는데 기다리는 시간도 길다. 특히 언어별 추가시간이 없는 경우에도 C++ 로 풀 경우 알고리즘만 맞는다면 시간초과를 볼 일이 없다. 1. C++ 의 한계 사실 한계까지는 아니고 C++ 로도 코딩테스트 다 풀 수는 있는데 많이 불편하다. 코딩테스트 특성상 순수 알고리즘 실력보다는 구현, 실제 개발 위주로 문제를 내려고 하는 것 같다. 물론 뒷번호로 가면 알고리즘을 물어보는 문제가 나오기도 한다. 아무튼 문제 유형에 .. 2021. 9. 19.
[cpp]백준 1107번 리모컨 https://www.acmicpc.net/problem/1107 1107번: 리모컨 첫째 줄에 수빈이가 이동하려고 하는 채널 N (0 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 고장난 버튼의 개수 M (0 ≤ M ≤ 10)이 주어진다. 고장난 버튼이 있는 경우에는 셋째 줄에는 고장난 버튼 www.acmicpc.net 이 문제를 본 건 엄청 오래됐다. 3년 전에도 봤었고, 그 뒤로도 몇 번 풀이를 생각했으나 못 풀었던 문제다. 요즘엔 알고리즘을 나름 꾸준히 풀고 있어서 무슨 수를 써서든 풀 수 있을 거란 확신이 있었다. 처음엔 1ms 도 아니고 1μs 안에 돌아가는 알고리즘을 생각했지만, 구현이 매우 어렵고 예외처리도 많이 해야 한다. 그 뒤에 아주 간단한 풀이 방법이 생각 났는데, 왜 이걸 이.. 2021. 9. 12.
Nginx - React 설정 React 를 Nginx 웹서버를 이용해 배포하려고 할 때 기본적인 설정에 대해 알아보자. algosketch 의 환경 (참고로 AWS 는 putty 로 연결하여 사용하였다. putty 연결하는 방법을 모른다면 그냥 EC2 인스턴스에서 연결 누르고 웹 환경에서 조작하면 된다. Free Tier 말고 유료 버전도 쓰고 있는데 Free Tier 버전은 입력할 때 딜레이가 생긴다. 서버 스펙 차이인 듯...) AWS EC2 - Free Tier ubuntu 20.04 CRA(Create React App) 로 만들어진 React 프로젝트 1. nginx 설치 및 실행 sudo apt-get update sudo apt-get install nginx sudo service nginx start sudo ser.. 2021. 9. 9.
React - 로그인 아직 해결 못 함. API : 서버에서 jwt 를 주면, 인증이 필요할 때 헤더에 담아서 보내면 된다. 여기서는 jwt 를 사용했지만 다른 방식은 세션 방식이 있다. jwt 는 서버에서 관리할 게 줄어들어 편하지만, 세션과는 다르게 한 번 발급한 jwt 는 다시 주워 담을 수 없다. 유효 기간이 긴 refresh token 과 유효 기간이 짧은 access token 두 개를 발급하여 관리할 수도 있지만 완전한 해결책은 아니다. 대신 jwt 방식의 장점이 세션 방식의 단점. 참고 자료 : https://youtu.be/1QiOXWEbqYQ 첫 번째 접근 : 서버에서 받은 jwt 를 전역 변수에 저장 후 (axios)요청시 헤더에 jwt 를 담아서 보낸다. 문제점 : React 는 새로고침하면 전역 변수가.. 2021. 8. 29.