Skip to content

Instantly share code, notes, and snippets.

View singun's full-sized avatar
🎯
Focusing

Daewook Shin singun

🎯
Focusing
  • Coupang
  • Seoul, Republic of Korea
View GitHub Profile
@singun
singun / hexo-command.md
Last active February 7, 2016 16:19
command for hexo

###Commands:

  • clean Removed generated files and cache.
  • config Get or set configurations.
  • deploy Deploy your website.
  • generate Generate static files.
  • help Get help on a command.
  • init Create a new Hexo folder.
  • list List the information of the site
  • migrate Migrate your site from other system to Hexo.
  • new Create a new post.
@singun
singun / Promise.md
Last active March 17, 2016 02:37
ES6 Promises in Depth - 1

Promises

  • Promises/A+ 스펙에 따르면, 이미 bluebired와 같은 라이브러리에서 구현되어 널리 사용됨
  • Promise는 트리 구조로 동작. p.then(handler), p.catch(handler)를 이용해서 branch를 추가
  • new Promise((resolve, reject) => { /* resolver */})를 이용해서 새로운 promises를 생성
    • resolve(value) callback은 value를 이용해서 promise를 수행
    • reject(reason) callback은 p를 거절
    • 비동기적으로 resolver와 reject를 호출 가능
  • Promises는 pending 상태에서 시작하고, fullfilled되거나 rejected되면 settled로 상태가 변경
  • Promises는 오직 한번만 settled 될 수 있으며, settled promise는 deeper branch를 막는 역할을 수행
  • promise는 체인의 형태로 여러번 사용 가능
@singun
singun / java-puzzler-3.md
Last active January 24, 2024 00:18
Long 자료형 나눗셈

다음 소스코드의 실행 결과는 뭐가 나올까?

public class HelloWorld{
     public static void main(String []args){
        final long MICROS_PER_DAY = 24 * 60 * 60 * 1000 * 1000;
        final long MILLIS_PER_DAY = 24 * 60 * 60 * 1000;
        System.out.println(MICROS_PER_DAY / MILLIS_PER_DAY);
     }
}
@singun
singun / java-puzzler-4.md
Last active February 11, 2016 00:35
초등학교 수준의 문제

아래 코드는 어떤 결과를 출력할까?

public class HelloWorld{
     public static void main(String []args){
        System.out.println(12345 + 5432l);
     }
}

66666이 출력된다고 예상했으나, 결과는 17777이 출력되었다. 두번째 피연산자를 보면 마지막 글자가 숫자 1이 아니라 소문자 l이다. 1과 l은 구분하기 쉽지 않다. 따라서 long 자료형의 숫자를 나타낼 때는 절재 소문자 l을 사용하지 말 것

@singun
singun / git.md
Last active February 19, 2016 14:28
깃 명령어
  • git branch -v -a
  • git reset --hard origin/dev
  • git log
  • git stash
  • git stash pop
  • git config color.ui true
@singun
singun / flask.md
Last active May 17, 2018 10:18
flask - python web framework 설치 및 실행

FLASK 시작하기

virtualenv 설치

Flask로 웹 어플리케이션을 만들기 위해서 우선 virtualenv라는 프로그램이 필요하다. virtualenv 공식 홈페이지에서는 다음과 같이 표현하고 있다.

virtualenv is a tool to create isolated Python environments.

시스템에 설치되어 있는 파이썬에 영향을 주지 않고, 독립된 파이썬 개발 환경을 만들어준다. 이렇게 생성된 가상의 개발 환경에서는 실행 파일과 라이브러리를 저장할 수 있는 경로가 별도로 제공된다. 아래의 명령어를 이용해서 virtualevn를 설치한다. 모든 작업은 Ubuntu 14.04 에서 진행하였다.

# sudo apt-get install python-virtualenv
@singun
singun / nginx.md
Last active February 18, 2016 01:49
nginx & uWSGI 설치 및 flask 어플리케이션 배포
@singun
singun / datastructure-graph.md
Last active December 2, 2021 13:27
자료구조 - 그래프

그래프

1. 그래프의 구조

그래프(Graph)는 연결되어 있는 원소간의 관계를 표현하는 자료구조이다. 나와 연관된 인간 관계를 나타내는 인맥 지도, 수도 배관에 대한 배수 시스템, 물질의 분자 구조 등은 연결 구조가 다양하기 때문에 선형 자료 구조나 트리로는 표현 할 수가 없다.

그래프는 연결할 객체를 나타내는 정점(vertex)와 객체를 연결하는 간선(edge)의 집합으로 구성된다. 그래프 G를 _G=(V,E)_로 정의하는데, V는 그래프에 있는 정점들의 집합을 의미하고, E는 정점을 연결하는 간선들의 집합을 의미한다.

1) 그래프의 종류

무방향 그래프(undirected graph)

두 정점을 연결하는 간선의 방향이 없는 그래프이다. 무방향 그래프에서 정점 _Vi_와 정점 _Vj_을 연결하는 간선을 _(Vi, Vj)_로 표현하고, _(Vi, Vj)_와 _(Vj, Vi)_는 같은 간선을 나타낸다. V(G)={A,B,C,D}, _E(G)={(A,B),(A,D),(B,C),(B,D),(C,D)}_와 같이 정점의 집합 _V(G)_와 간선의 집합 _E(G)_로 나타낼 수 있다.

방향 그래프(directed graph)

방향 그래프는 다이그래프(di-graph)라고도 하는데, 간선이 있는 그래프를 의미한다. 정점 _Vi_에서 정점 _Vj_를 연결하는 간선, 즉, Vi->_Vj_를 로 표현하고 화살표로 나타낸다. 이때 _Vi_를 꼬리(tail), _Vj_를 머리(head)라고 한다. 방향 그래프 와 ``는 서로 다른 간선이 된다.