<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mediawiki.zeropage.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=165.194.17.168</id>
	<title>ZeroWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=165.194.17.168"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php/Special:Contributions/165.194.17.168"/>
	<updated>2026-05-14T20:18:38Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EB%8D%B0%EB%B8%94%EC%8A%A4%EC%BA%A0%ED%94%842017/DynamicProgramming:StepByStep&amp;diff=49067</id>
		<title>데블스캠프2017/DynamicProgramming:StepByStep</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EB%8D%B0%EB%B8%94%EC%8A%A4%EC%BA%A0%ED%94%842017/DynamicProgramming:StepByStep&amp;diff=49067"/>
		<updated>2017-06-29T11:10:50Z</updated>

		<summary type="html">&lt;p&gt;165.194.17.168: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
[https://www.slideshare.net/InseoPark1/dynamic-programming-step-by-step 강의 자료]&lt;br /&gt;
&lt;br /&gt;
== Dynamic Programming이란? ==&lt;br /&gt;
* 한국어로는 동적 계획법&lt;br /&gt;
* 사실 그냥 멋있어서 붙인 이름 &lt;br /&gt;
* 문제를 작은 문제로 나누는 것에서 출발&lt;br /&gt;
&lt;br /&gt;
== 문제 ==&lt;br /&gt;
* 문제를 푸는법&lt;br /&gt;
** 문제를 나눈다.&lt;br /&gt;
** 문제를 푼다.&lt;br /&gt;
** 결과를 합친다.&lt;br /&gt;
   =&amp;gt; Divide And Conquer (분할 정복)&lt;br /&gt;
** Memoization : 동일한 계산을 반복해야 할 때, 이전 계산 값을 저장함으로써 빠르게 계산하는 방법&lt;br /&gt;
** Dynamic Programming 에서 핵심이 되는 기술&lt;br /&gt;
** 예시&lt;br /&gt;
** 피보나치 함수 ( f(n) = f(n-1) + f(n-2), f(0) = 0, f(1) = 1 )&lt;br /&gt;
** 기본 정의에 의한 Fibonacci 구현 &lt;br /&gt;
&lt;br /&gt;
    =&amp;gt; 중복이 많이 발생&lt;br /&gt;
    =&amp;gt; 중복에 대한 결과를 미리 저장한다면&lt;br /&gt;
    =&amp;gt; Memoization(메모이제이션)!&lt;br /&gt;
&lt;br /&gt;
*** 이항계수&lt;br /&gt;
&lt;br /&gt;
*** 구간합 구하기&lt;br /&gt;
*** 2차원 구간합&lt;br /&gt;
== 실제 문제 풀이 ==&lt;br /&gt;
* 백준 2748 - 피보나치 수 2                  풀어보세요&lt;br /&gt;
* 백준 11051 - 이항계수                       풀어보세요&lt;br /&gt;
* 백준 11659 - 구간합 구하기 4             풀어보세요&lt;br /&gt;
* 백준 11660 - 구간합 구하기 5            풀어보세요&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>165.194.17.168</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EB%8D%B0%EB%B8%94%EC%8A%A4%EC%BA%A0%ED%94%842017/DynamicProgramming:StepByStep&amp;diff=49066</id>
		<title>데블스캠프2017/DynamicProgramming:StepByStep</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EB%8D%B0%EB%B8%94%EC%8A%A4%EC%BA%A0%ED%94%842017/DynamicProgramming:StepByStep&amp;diff=49066"/>
		<updated>2017-06-29T11:07:01Z</updated>

		<summary type="html">&lt;p&gt;165.194.17.168: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
[https://www.slideshare.net/InseoPark1/dynamic-programming-step-by-step 강의 자료]&lt;br /&gt;
&lt;br /&gt;
== Dynamic Programming이란? ==&lt;br /&gt;
* 한국어로는 동적 계획법&lt;br /&gt;
* 사실 그냥 멋있어서 붙인 이름 &lt;br /&gt;
* 문제를 작은 문제로 나누는 것에서 출발&lt;br /&gt;
&lt;br /&gt;
== 문제 ==&lt;br /&gt;
* 문제를 푸는법&lt;br /&gt;
** 문제를 나눈다.&lt;br /&gt;
** 문제를 푼다.&lt;br /&gt;
** 결과를 합친다.&lt;br /&gt;
   =&amp;gt; Divide And Conquer (분할 정복)&lt;br /&gt;
** Memoization : 동일한 계산을 반복해야 할 때, 이전 계산 값을 저장함으로써 빠르게 계산하는 방법&lt;br /&gt;
** Dynamic Programming 에서 핵심이 되는 기술&lt;br /&gt;
** 예시&lt;br /&gt;
** 피보나치 함수 ( f(n) = f(n-1) + f(n-2), f(0) = 0, f(1) = 1 )&lt;br /&gt;
** 기본 정의에 의한 Fibonacci 구현 &lt;br /&gt;
&lt;br /&gt;
    =&amp;gt; 중복이 많이 발생&lt;br /&gt;
    =&amp;gt; 중복에 대한 결과를 미리 저장한다면&lt;br /&gt;
    =&amp;gt; Memoization(메모이제이션)!&lt;br /&gt;
&lt;br /&gt;
*** 이항계수&lt;br /&gt;
&lt;br /&gt;
*** 구간합 구하기&lt;br /&gt;
*** 2차원 구간합&lt;br /&gt;
== 실제 문제 풀이 ==&lt;br /&gt;
* 백준 2748 - 피보나치 수 2     풀어보세요&lt;br /&gt;
* 백준 11051 - 이항계수         풀어보세요&lt;br /&gt;
* 백준 11659 - 구간합 구하기 4  풀어보세요&lt;br /&gt;
* 백준 11660 - 구간합 구하기 5  풀어보세요&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>165.194.17.168</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EB%8D%B0%EB%B8%94%EC%8A%A4%EC%BA%A0%ED%94%842017/React%EC%99%80Redux%EB%A1%9C%EB%B0%B0%EC%9B%8C%EB%B3%B4%EB%8A%94%ED%95%A8%EC%88%98%ED%98%95%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D%ED%8E%98%EB%9F%AC%EB%8B%A4%EC%9E%84&amp;diff=49097</id>
		<title>데블스캠프2017/React와Redux로배워보는함수형프로그래밍페러다임</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EB%8D%B0%EB%B8%94%EC%8A%A4%EC%BA%A0%ED%94%842017/React%EC%99%80Redux%EB%A1%9C%EB%B0%B0%EC%9B%8C%EB%B3%B4%EB%8A%94%ED%95%A8%EC%88%98%ED%98%95%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D%ED%8E%98%EB%9F%AC%EB%8B%A4%EC%9E%84&amp;diff=49097"/>
		<updated>2017-06-29T10:51:08Z</updated>

		<summary type="html">&lt;p&gt;165.194.17.168: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;c 받기 잘하는 진겸입니다.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== 함수형 프로그래밍 ==&lt;br /&gt;
* 언어도 중요하지만, 그 언어를 통해 무엇을 할 수 있는가가 중요&lt;br /&gt;
* 기존 시각과는 조금 다른 js를 통해 함수형 프로그래밍&lt;br /&gt;
* React와 Redux&lt;br /&gt;
** js로 만들었지만 함수형 프로그래밍의 개념을 사용하는 프레임워크&lt;br /&gt;
* 함수형 프로그래밍 on Web??&lt;br /&gt;
** 옛날 -&amp;gt; 정보가 서버에 집중&lt;br /&gt;
** 현재 -&amp;gt; 브라우저에서 정보를 다룸&lt;br /&gt;
** 이 변화를 완화시켜줌&lt;br /&gt;
 &lt;br /&gt;
* 5가지 조건&lt;br /&gt;
## pure function &lt;br /&gt;
** 함수형 프로그래밍의 기본&lt;br /&gt;
** deterministic - 언제 어디서든 같은 결과값&lt;br /&gt;
** predictable - 예측 가능&lt;br /&gt;
** test code - 테스트 코드&lt;br /&gt;
** 스코프 외의다른 변수나 메서드에 의존적이지 않고, 변수 또한 변경하지 않는다.&lt;br /&gt;
*** 어떤 입력에 대해 같은 출력&lt;br /&gt;
*** 이 함수로 인한 side effect가 없다&lt;br /&gt;
## input -&amp;gt; ouput의 mapping&lt;br /&gt;
## ~~여러 명령의 집합체~~&lt;br /&gt;
## ~~I/O 관련 함수~~&lt;br /&gt;
** referential transparency&lt;br /&gt;
*** 자기 할 일만 함 ex) multiply&lt;br /&gt;
*** 같은 형태로 표현 가능함&lt;br /&gt;
*** 보장되지 않는 경우 - increase(1), hello word&lt;br /&gt;
** 순수하지 않은 함수들 &lt;br /&gt;
### current time&lt;br /&gt;
### random&lt;br /&gt;
### io&lt;br /&gt;
### user input, network request&lt;br /&gt;
&lt;br /&gt;
## avoiding shared state&lt;br /&gt;
** 구글의 자동완성&lt;br /&gt;
** state를 공유하는 순간, io 또는 변수를 추적하기 어려워짐&lt;br /&gt;
** 즉, 예측 불가능해짐&lt;br /&gt;
## avoid side effects&lt;br /&gt;
** side effect와 logic의 분리&lt;br /&gt;
** 다만 side effect가 없다면 기능을 할 수 없으므로 &lt;br /&gt;
** 이를 정리하자&lt;br /&gt;
## avoid mutable data, mutating state&lt;br /&gt;
## declarative rather than imperative &lt;br /&gt;
&lt;br /&gt;
== React &amp;amp; Redux ==&lt;br /&gt;
* React&lt;br /&gt;
** facebook에서 만든 프론트엔드용 프레임워크&lt;br /&gt;
** View만 설계해주는 라이브러리&lt;br /&gt;
** unidirectional data flow&lt;br /&gt;
** virtual DOM  &lt;br /&gt;
** 바꿔야될 부분만 바꾸게 됨&lt;br /&gt;
** 성능상의 이점&lt;br /&gt;
* Redux&lt;br /&gt;
** react와 같은 단방향 &lt;br /&gt;
** deterministic &lt;br /&gt;
** 앱의 모든 상태와 view를 예측 가능하도록&lt;br /&gt;
** MVC: 커질 수록 view와 model 사이의 관계가 비대&lt;br /&gt;
** state를 store하는데에 사용&lt;br /&gt;
** 앱내의 모든 state를 저장&lt;br /&gt;
** user event -&amp;gt; Action -(dispatch)&amp;gt; store -&amp;gt; new state -&amp;gt; React가 렌더링&lt;br /&gt;
** 같은 state에 대해 항상 일정한 view를 보여줌&lt;br /&gt;
** 기존의 state를 변형시키지 않음&lt;br /&gt;
** 3 laws&lt;br /&gt;
** single source of truth&lt;br /&gt;
** state is read-only&lt;br /&gt;
** changes are made with pure function&lt;br /&gt;
* 장점&lt;br /&gt;
** 앱의 구조가 깔끔해진다.&lt;br /&gt;
** 앱 전체가 predictable해진다.&lt;br /&gt;
** 성능상의 문제도 해결해준다.&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>165.194.17.168</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EB%8D%B0%EB%B8%94%EC%8A%A4%EC%BA%A0%ED%94%842017/React%EC%99%80Redux%EB%A1%9C%EB%B0%B0%EC%9B%8C%EB%B3%B4%EB%8A%94%ED%95%A8%EC%88%98%ED%98%95%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D%ED%8E%98%EB%9F%AC%EB%8B%A4%EC%9E%84&amp;diff=49096</id>
		<title>데블스캠프2017/React와Redux로배워보는함수형프로그래밍페러다임</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EB%8D%B0%EB%B8%94%EC%8A%A4%EC%BA%A0%ED%94%842017/React%EC%99%80Redux%EB%A1%9C%EB%B0%B0%EC%9B%8C%EB%B3%B4%EB%8A%94%ED%95%A8%EC%88%98%ED%98%95%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D%ED%8E%98%EB%9F%AC%EB%8B%A4%EC%9E%84&amp;diff=49096"/>
		<updated>2017-06-29T10:49:52Z</updated>

		<summary type="html">&lt;p&gt;165.194.17.168: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;c 받기 잘하는 진겸입니다.&lt;br /&gt;
&lt;br /&gt;
== 함수형 프로그래밍 ==&lt;br /&gt;
* 언어도 중요하지만, 그 언어를 통해 무엇을 할 수 있는가가 중요&lt;br /&gt;
* 기존 시각과는 조금 다른 js를 통해 함수형 프로그래밍&lt;br /&gt;
* React와 Redux&lt;br /&gt;
** js로 만들었지만 함수형 프로그래밍의 개념을 사용하는 프레임워크&lt;br /&gt;
* 함수형 프로그래밍 on Web??&lt;br /&gt;
** 옛날 -&amp;gt; 정보가 서버에 집중&lt;br /&gt;
** 현재 -&amp;gt; 브라우저에서 정보를 다룸&lt;br /&gt;
** 이 변화를 완화시켜줌&lt;br /&gt;
 &lt;br /&gt;
* 5가지 조건&lt;br /&gt;
## pure function &lt;br /&gt;
** 함수형 프로그래밍의 기본&lt;br /&gt;
** deterministic - 언제 어디서든 같은 결과값&lt;br /&gt;
** predictable - 예측 가능&lt;br /&gt;
** test code - 테스트 코드&lt;br /&gt;
** 스코프 외의다른 변수나 메서드에 의존적이지 않고, 변수 또한 변경하지 않는다.&lt;br /&gt;
*** 어떤 입력에 대해 같은 출력&lt;br /&gt;
*** 이 함수로 인한 side effect가 없다&lt;br /&gt;
## input -&amp;gt; ouput의 mapping&lt;br /&gt;
## ~~여러 명령의 집합체~~&lt;br /&gt;
## ~~I/O 관련 함수~~&lt;br /&gt;
** referential transparency&lt;br /&gt;
*** 자기 할 일만 함 ex) multiply&lt;br /&gt;
*** 같은 형태로 표현 가능함&lt;br /&gt;
*** 보장되지 않는 경우 - increase(1), hello word&lt;br /&gt;
** 순수하지 않은 함수들 &lt;br /&gt;
### current time&lt;br /&gt;
### random&lt;br /&gt;
### io&lt;br /&gt;
### user input, network request&lt;br /&gt;
&lt;br /&gt;
## avoiding shared state&lt;br /&gt;
** 구글의 자동완성&lt;br /&gt;
** state를 공유하는 순간, io 또는 변수를 추적하기 어려워짐&lt;br /&gt;
** 즉, 예측 불가능해짐&lt;br /&gt;
## avoid side effects&lt;br /&gt;
** side effect와 logic의 분리&lt;br /&gt;
** 다만 side effect가 없다면 기능을 할 수 없으므로 &lt;br /&gt;
** 이를 정리하자&lt;br /&gt;
## avoid mutable data, mutating state&lt;br /&gt;
## declarative rather than imperative &lt;br /&gt;
&lt;br /&gt;
== React &amp;amp; Redux ==&lt;br /&gt;
* React&lt;br /&gt;
** facebook에서 만든 프론트엔드용 프레임워크&lt;br /&gt;
** View만 설계해주는 라이브러리&lt;br /&gt;
** unidirectional data flow&lt;br /&gt;
** virtual DOM  &lt;br /&gt;
** 바꿔야될 부분만 바꾸게 됨&lt;br /&gt;
** 성능상의 이점&lt;br /&gt;
* Redux&lt;br /&gt;
** react와 같은 단방향 &lt;br /&gt;
** deterministic &lt;br /&gt;
** 앱의 모든 상태와 view를 예측 가능하도록&lt;br /&gt;
** MVC: 커질 수록 view와 model 사이의 관계가 비대&lt;br /&gt;
** state를 store하는데에 사용&lt;br /&gt;
** 앱내의 모든 state를 저장&lt;br /&gt;
** user event -&amp;gt; Action -(dispatch)&amp;gt; store -&amp;gt; new state -&amp;gt; React가 렌더링&lt;br /&gt;
** 같은 state에 대해 항상 일정한 view를 보여줌&lt;br /&gt;
** 기존의 state를 변형시키지 않음&lt;br /&gt;
** 3 laws&lt;br /&gt;
** single source of truth&lt;br /&gt;
** state is read-only&lt;br /&gt;
** changes are made with pure function&lt;br /&gt;
* 장점&lt;br /&gt;
** 앱의 구조가 깔끔해진다.&lt;br /&gt;
** 앱 전체가 predictable해진다.&lt;br /&gt;
** 성능상의 문제도 해결해준다.&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>165.194.17.168</name></author>
	</entry>
</feed>