Skip to content

Instantly share code, notes, and snippets.

@sooop
sooop / vid2gif.bat
Last active Mar 23, 2020
convert video to animated GIF using FFMPEG
View vid2gif.bat
@echo off
@setlocal
@set start_time="0:0"
@set filters="fps=20,scale=320:-1:flags=lanczos"
@set palette="__palette.png"
@ffmpeg -v warning -ss %start_time% -i %1 ^
-vf "%filters%,palettegen"^
-y %palette%
@ffmpeg -v warning -ss %start_time% -i %1 ^
View vim-howto-help.vd
// vi: filetype=vimdesc textwidth=70 colorcolumn=70
도움말은 `:h[elp]` 명령으로 열 수 있다. 보통 가로로 분할된 창으로
열리면서 도움말 화면이 표시된다.
도움말 화면 내에서의 이동은 기본적인 이동방법을 그대로 사용할 수 있다.
실제로 vim 도움말 파일은 읽기전용 속성의 텍스트 파일이며 내부적으로 각
토픽을 연결하는 링크(태그)가 정의되어 있다. 따라서 `h`, `j`, `k`, `l`
을 사용한 커서 이동 및 그외 여러 스크롤 이동, 검색등의 명령을 모두 사
용할 수 있다.
View c.vim
" using `<Plug>` map
mes clear
let s:save_cpo = &cpo
set cpo&vim
function! s:highlightSelection()
let l:temp = @@
normal! gvy
let @/ = '\V'. substitute(escape(@@, '\'), "\n", '\n', 'g')
View vim_registers.txt
레지스터에는 총 10가지의 종류가 있다!!
* 이름없는 레지스터 : ""
* 10개의 번호 레지스터 : "0
* 삭제 레지스터 : "-
* 26개의 이름이 있는 레지스터 a-z : 대소문자를 구분하지 않음
* 세 종류의 읽기 전용 레지스터 : ":, "., "%
* 대체 버퍼 레지스터 : "#
* 표현식 레지스터 : "=
View hangul_code.json
{
"_LETTERS_": {
"Kiyeok": ["0x3131", ""],
"Ssangkiyeok": ["0x3132", ""],
"Kiyeok-Sios": ["0x3133", ""],
"Nieun": ["0x3134", ""],
"Nieun-Cieuc": ["0x3135", ""],
"Nieun-Hieuh": ["0x3136", ""],
"Tikeut": ["0x3137", ""],
"Ssangtikeut": ["0x3138", ""],
@sooop
sooop / jamo.py
Last active Oct 27, 2019
한글초성분리 및 낱자모 변환
View jamo.py
import jamodata
# 초성
def choseong(c):
'''초성의 자모 코드값을 리턴'''
v = ord(c)
if 0xAC00 <= v <= 0xD7A3:
key = (v - 0xac00) // 28 // 21 + 0x1100
name = jamodata.jamo_indices[key]
return chr(jamodata.letters[name])
View IntListParser.hs
import Data.Char (isDigit, isSpace)
newtype Parser a = Parser { runParser :: String -> [(a, String)]}
instance Functor Parser where
fmap f p = Parser $ \str ->
case runParser p str of
[] -> []
[(y, ys)] -> [(f y, ys)]
@sooop
sooop / example.py
Created Jun 16, 2019
비동기 PUSH-PULL 분산처리 구조 - onefile
View example.py
from multiprocessing import Process
import sys
import random
import zmq
import zmq.asyncio
import asyncio
ctx = zmq.asyncio.Context()
View publisher.py
import sys
import random
import asyncio
import zmq
import zmq.asyncio
ctx = zmq.asyncio.Context()
async def run_server(port=5556):
sock = ctx.socket(zmq.PUB)
@sooop
sooop / e001.jl
Last active Jan 10, 2019
Project Euler with Julia 001-010
View e001.jl
@elapsed sum(i for i=1:999 if i % 3 == 0 || i % 5 == 0) |> println
## FASTER SOLUTION
@time (Set(3:3:999) Set(5:5:999)) |> sum |> println
You can’t perform that action at this time.