배경 개발을 여러 환경에서 하다보면, 소스코드 관리가 꽤 골칫거리가 된다. 현재 밖에서는 맥북에어, 집에서는 리눅스 데스크탑으로 개발을 하고 있다. 학교에서 맥북으로 작업하다가, 집에서는 우분투로 해야하니 파일 동기화가 필요해졌다. 이전에도 비슷한 상황들이 있었는데, 그때는 우분투가 아닌 맥-윈도우 간의 동기화만 신경쓰면 됐어서, 그냥 구글 드라이브/...
WebRTC 내용 정리
방학동안 WebRTC를 사용해서 프로젝트를 진행했는데, 그때 공부한 WebRTC 관련 내용을 정리해보려고 한다. 사실 처음에는 그냥 실시간 통신을 위해서 많이 사용하는 기술이라서 무지성으로 적용을 했다. 개념만 간단히 이해하고 코드를 작성하는데, 이게 뭔가 작동하기는 하는데 이게 맞는지 의문점이 많이 들어서 공부를 깊게 해보았다. 공부하면 할수록 꽤 ...
단단한 심층 강화학습 정리
단단한 심층 강화학습 0. 소주제들 1. MDP와 POMDP 실제 세계에서 거의 대부분의 문제들은 POMDP이다. 1. 강화학습 소개 1.1 MDP로서의 강화학습 $s_t \in S$: 상태의 집합 $a_t \in A$: 행동의 집합 $P(s_{t+1}|s_t,a_t)$: 상태 전이 함수 ← Markov property $...
js 공부 정리
Javascript 공부 1. 기본 문법 Hello world! <script> alert('Hello world'); </script> <script src="/path/to/script.js"></script> 주석 //주석1 /* 주석2 */ ...
html 공부 정리
html 공부 1. Basic Structure <!DOCTYPE html> <html> <head> <title>title</title> </head> <body> <h1>heading</h1> <p>...
css 공부 정리
1. CSS Syntax h1 {color:blue; font-size:12px;} h1: selector, points to the HTML element color: property blue: value 2. CSS Selector element selector id selector #paral {color: red;} ...
정수론(2) 나머지로 보는 세상
1. 합동식 1-1. 합동과 나머지 가약성은 수론에서 엄청나게 강력한 도구이다. 이러한 가약성을 다르게 설명하는 방법이 있다. 바로 합동이다. $m$이 $a-b$를 나눌 때, 즉 $m|(a-b)$ 일때, $a$와 $b$가 법 $m$에대해 합동이다 라고 한다. 그리고 이를 [a \equiv b \pmod{m}] 로 표기한다. 예를 들어, $a$를 ...
정수론(1) 최대공약수의 새로운 정의
1. 시작하기 전에… 시작하기 전에, 기본 정수론 용어를 몇가지 정의하고 넘어가고자 한다. $\mathbb{Z}$를 정수환이라고 정의한다. 즉 $a, b\in \mathbb{Z}$인 $a$와 $b$의 덧셈과 곱셈의 결과 $c$는 여전히 $\mathbb{Z}$의 원소라는 것이다. 즉 $\mathbb{Z}$가 정수환이라는 것은, 정수를 원소로 ...
파이썬 코딩의 기술(5) 클래스와 인터페이스
책 파이썬 코딩의 기술을 읽고 정리한 내용입니다. — 5.클래스와 인터페이스 37. 내장 타입을 여러 단계로 내포시키기보다는 클래스를 합성하라 내장 타입(리스트, 딕셔너리, 튜플 등)을 여러 단계 합성시키면, 코드가 복잡해진다. 이를 피하기 위해 코드를 여러 클래스로 나누어 복잡도를 낮추고, 확장성을 높일 수 있다. 특히 ...
파이썬 코딩의 기술(4) 컴프리헨션과 제너레이터
책 파이썬 코딩의 기술을 읽고 정리한 내용입니다. — 4. 컴프리헨션과 제너레이터 27. map과 filter 대신 컴프리헨션을 사용하라 map과 filter를 사용하는 것보다 더 명확하다. even_squares = [x**2 for x in nums if x % 2 == 0] even_squares_dict = ...