본문 바로가기

Contents168

공부, 계획과 메타 인지 공부 카테고리에 넣었지만 사실 공부라기보다 내 생각을 정리하고 의견을 표현하는 글이다. (여담이지만 나는 유튜브를 많이 본다. 공부보다 재밌다.) 원래는 "통제할 수 있는 것과 통제할 수 없는 것"이라는 제목과 내용으로 글을 쓰려고 했다. 통제할 수 있는 것에 집중하라는 말은 멘토님이 말씀해 주셨던 내용이다. 그때 이야기의 맥락은 외주 디자이너를 구할 때 크몽(외주 플랫폼)에 올려놓은 뒤 가만히 기다리는 것이 아니라 더 다양한 플랫폼에서 구해보고, 내가 연락할 수 있는 인맥 등을 활용해서 디자이너에게 먼저 연락도 해 보라는 것이었다. 여기서 통제할 수 없는 것은 디자이너가 먼저 나에게 연락을 취하는 것이고, 통제할 수 있는 것은 내가 먼저 디자이너와 컨텍하는 것이다. 이때의 문제가 외주 디자이너를 구하는.. 2021. 12. 23.
[kotlin] 고차함수와 람다 ※ 이 글은 고차함수와 람다에 대한 기본 개념을 설명하지는 않습니다. inline 과 람다 고차함수 return inline 과 람다 람다가 변수를 포획하면 람다가 생성되는 시점마다 새로운 무영 클래스 객체가 생성된다. 이는 람다 사용에 따른 부가 비용이다. inline 함수와 람다를 함께 사용하면 람다로 받은 부분을 컴파일 시점에 대치한다. 따라서 런타임에 더 빠르게 동작한다. 다음 코드를 보자. fun main(args: Array) { doSomething { println("action") } } inline fun doSomething(action : () -> Unit) { println("before action") action() println("after action") } 람다를 파라미.. 2021. 12. 13.
[kotlin] 구조 분해 선언 JavaScript 를 별로 안 좋아하지만 JavaScript 에서는 다음과 같은 편리한 문법이 가능하다. // 함수 반환 function func() { return [10, 20]; } // 사용 const [a, b] = func(); // React hooks const [value, setValue] = useState(); 함수에서는 배열을 반환하고, 그 값을 한 번에 초기화할 수 있다. 코틀린에서도 조금 불편하긴 비슷한 문법이 가능하다. fun main(args: Array) { val person = Person("algosketch", 24) val (name, age) = person println("이름 : $name, 나이 : $age") } data class Person(val .. 2021. 12. 11.
github + slack 연동하기 (webhook) 1. 채널 우클릭 후 채널 세부정보 열기 2. 통합 - 앱 추가 3. GitHub 추가 incomming webhooks 를 추가하면 github webhook 에서 보내는 reqeust body 와 incomming webhooks 의 required body 가 달라서 400 에러가 난다. 4. 채팅 명령어 /github subscribe owner/repository 입력 5. 다시 채널 세부정보에서 GitHub 앱 추가 2021. 12. 3.
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.