The document discusses self-esteem exploration activities conducted by Park Je-young, the shelter manager. It describes various activities done individually and in groups to boost self-esteem, such as writing, drawing, sharing feelings, and bonding with others. The goal is to help people appreciate their own worth and strengths.
The document discusses self-esteem exploration activities conducted by Park Je-young, the shelter manager. It describes various activities done individually and in groups to boost self-esteem, such as writing, drawing, sharing feelings, and bonding with others. The goal is to help people appreciate their own worth and strengths.
The document provides tips for exercising and maintaining a healthy lifestyle. It recommends including stretching daily, balancing cardio exercise with strength training, eating a balanced diet with nuts and cheese, staying hydrated, and getting enough sleep. The overall message is that exercise and diet should be approached holistically to benefit both physical and mental health.
천재님's presentation tells us about the importance of self-esteem.
Someone who doesn't have enough self-esteem can have some kind of serious problem, according to his speech.
Subscribe to the NewsCred Blog: http://newscred.com/subscribe
NewsCred and Getty Images have joined forces to create a guide on how brands can incorporate visual storytelling successfully into their campaigns for maximum impact.
The full guide is available for download here: http://newscred.com/theacademy
Also check out the accompanying interactive microsite here: http://bit.ly/1uEqB27
JESS3’s shares our thoughts on the key elements and mechanisms of visual storytelling.
At the very heart of it all: storytelling is no longer just for Hollywood. In the advertising and business world, it’s not just about a brand telling its history or its story. Gone are the days of branded marketing: storytelling is now about telling the definitive narrative about an issue or topic in a wholistic way -- the state of, the evolution of, the future of. And it is in this context that brands will most successfully communicate with their consumer.
Originally presented at Oklahoma City’s Ad Club on 6/13/12.
40 Tools in 20 Minutes: Hacking your Marketing CareerEric Leist
Marketing today requires doing a little bit of everything from creative writing to HTML to light Photoshopping. There are a ton of free tools to make those tasks easier and scalable.
Originally presented at Suffolk University's Bridging the Gap Conference--April 18th, 2014.
WEB APPS
http://zapier.com
https://ifttt.com/
http://twitterfeed.com/
http://gaggleamp.com
http://landerapp.com/
https://support.google.com/analytics/answer/1033867?hl=en
http://99designs.com/
http://visual.ly
http://www.alexa.com/
http://www.hubspot.com/blog-topic-generator
http://www.wordle.net/
www.inboundwriter.com
http://litmus.com/
http://www.inboundwriter.com/
https://www.optimizely.com/
http://thenounproject.com/
http://fortawesome.github.io/Font-Awesome/
https://www.facebook.com/help/459892990722543/
http://ads.twitter.com
https://plzadvize.com/
DESKTOP APPS
https://itunes.apple.com/us/app/caffeine/id411246225?mt=12
http://jumpcut.sourceforge.net/
http://www.gifgrabber.com/
http://www.gimp.org/
EMAIL TOOLS
http://getsignals.com
http://www.yesware.com/
http://www.boomeranggmail.com/
http://rapportive.com/
http://www.wisestamp.com/
http://verify-email.org
MOBILE APPS
https://play.google.com/store/apps/details?id=com.xuchdeid.clear
https://itunes.apple.com/us/app/cardmunch-business-card-reader/id478351777?mt=8
BROWSER PLUGINS
https://chrome.google.com/webstore/detail/omnidrive/gpnikbcifngfgfcgcgfahidojdpklfia?hl=en-US
https://addons.mozilla.org/en-US/firefox/addon/klout/
LEARNING PLATFORMS
http://www.google.com/analytics/learn/
http://www.codecademy.com/
http://teamtreehouse.com/
https://generalassemb.ly/
http://www.intelligent.ly/
http://smarterer.com/
이 발표에서는 위상학적 자료 분석(Topological Data Analysis)을 어떻게 하고, 그에 대한 통계적 추정을 어떻게 하는지 간단하게 소개한다. 위상학적 자료 분석은 포괄적으로는 자료에서 위상학적인 특성을 추출하는 분석 방법을 아우르는데, 대표적으로 persistent homology와 군집 나무(cluster tree) 등이 있다.
persistent homology는 자료를 여러 해상에서 관측하고 지속성 있게 나타나는 위상 특성을 추려냄으로써 분석하고, 군집 나무는 자료의 레벨 군집이 어떤 계층 구조를 생성하는지 봄으로써 자료를 분석한다. 자료로부터 추정된 persistent homology와 군집 나무는 자료 분포의 임의성에 의해 오차가 생기는데, 이를 통계적으로 정량화할 수 있다.
이 발표에서는 persistent homology와 군집 나무의 오차를 정량화함으로써 어떻게 통계적으로 유효한 신뢰 집합을 얻을 수 있는지 제시하고, 실제로 계산하는 방법도 알아본다.
This document provides a summary of MongoDB update operations:
1. The $set, $unset, $inc, $push, $addToSet, $pop, $pull and $rename operators allow modifying documents in the MongoDB database without replacing the entire document.
2. The $ operator allows modifying sub-documents or array elements within a document. For example, the $inc operator can increment a field within an embedded document.
3. The findAndModify command provides an atomic find-and-update or find-and-remove operation that is useful for tasks like queue processing.
The document describes different data structures and algorithms for representing and traversing linked data structures in memory. It discusses singly linked lists, doubly linked lists, trees, and graphs. It presents pseudocode for algorithms to traverse nodes by (1) recursively exploring all links, (2) using a stack to iteratively explore links in depth-first order, and (3) using a circular buffer and pointers to explore links in breadth-first order.
This document discusses tree data structures and binary trees. It contains the following information:
- Binary trees are a type of tree data structure where each node has at most two children, described as left and right. Nodes without children are called leaves and nodes with children are branch nodes.
- The level of a node is the number of edges from that node to the root node. For example, the root node is at level 0.
- Two binary trees are equal if they have the same structure and corresponding nodes contain the same data.
- Examples of binary trees are given to illustrate tree structure and traversal algorithms like depth-first and breadth-first search. Notation for representing trees with parentheses is also
1) This document discusses calculating Fibonacci numbers using a closed-form formula and taking the limit as n approaches infinity. It derives the formulas Fn = φn/√5 and ln(φ1000/5) = 1000lnφ - ln5/2.
2) It then calculates the value of φ to high precision and uses the formulas to find the limit of Fn as n approaches infinity, which is approximately 209.
3) Additional comments provide context that this relates to efficiently calculating Fibonacci numbers using memoization and discuss applications in computer science.
The document discusses the differences between object-oriented programming (OOP) patterns and Gang of Four (GoF) design patterns. It provides examples of GoF patterns like Observer, Strategy, and Decorator and explains that GoF patterns are commonly used design patterns for object-oriented software design. The document encourages learning about GoF patterns to improve one's object-oriented programming skills.
1.3장 차수 높은 프로시저(higher order procedure)로 요약하는 방법
1. 1.3장 차수 높은 프로시저
(higher order procedure)
로 요약하는 방법
SICP
아꿈사 - 우주미아홍구
2.
3. 1.3장 차수 높은 프로시저(higher order procedure)로
요약하는 방법
되풀이 되는 계산 방법을 간추리거나,
프로시저를 인자로 받거나,
프로시저를 결과 값으로 되돌려 주는,
차수 높은 프로시저 : 데이터 처럼 사용하는 프로시저
계산 방법을 요약 간추리는 프로시저
(제네릭?,STL?,NS?)
5. 1.3.1 프로시저를 인자로 받는 프로시저
a~b 까지 정수의 합을 계산하는 프로시저
(define (sum-integers a b))
(if (> a b)
0
(+ a (sum-integers (+ a 1) b))))
6. 1.3.1 프로시저를 인자로 받는 프로시저
시그마 ( 수열의 덧셈 ) 프로시저
(define (<name> a b))
(if (> a b)
0
(+ (<term> a)
(<name> (<next> a) b))))
7. 1.3.1 프로시저를 인자로 받는 프로시저
(define (identity x) x)
(define (inc n) (+n 1))
(define (sum term a next b)
(if (> a b)
0
(+ (term a)
(sum term (next a) next b))))
(define (sum-intergers a b))
(sum identity a inc b))
8. 1.3.1 프로시저를 인자로 받는 프로시저
(define (identity x) x)
(define (inc n) (+n 1))
(define (sum term a next b)
(if (> a b)
0
(+ (term a)
(sum term (next a) next b))))
(define (sum-intergers a b))
(sum identity a inc b))
9. 1.3.1 프로시저를 인자로 받는 프로시저
(define (identity x) x)
(define (inc n) (+n 1))
(define (sum term a next b)
(if (> a b)
0
(+ (term a)
(sum term (next a) next b))))
(define (sum-intergers a b))
(sum identity a inc b))
10. 1.3.1 프로시저를 인자로 받는 프로시저
(define (identity x) x)
(define (inc n) (+n 1))
(define (sum term a next b)
(if (> a b)
0
(+ (term a)
(sum term (next a) next b))))
(define (sum-intergers a b))
(sum identity a inc b))
11. 1.3.2 lambda로 나타내는 프로시저
임시 함수
ex) (define (identity x) x)
define 해서 하나하나 만들기 귀찮다!
lambda를 쓰면 작은 프로시저는 따로 만들지 않아도!!
12. 1.3.2 lambda로 나타내는 프로시저
(define (plus4 x) (+ x 4))
(define plus4 (lambda (x) (+ x 4)))
(lambda (<parameters>) <body>)
13. 1.3.2 lambda로 나타내는 프로시저
간단히 연습 lambda
(define (square z) (z x z))
((lambda (x y z) (+ x y (square z))) 1 2 3)
= ?
14. 1.3.2 lambda로 나타내는 프로시저
간단히 연습 lambda
(define (square z) (z x z))
((lambda (x y z) (+ x y (square z))) 1 2 3)
= ?
15. 1.3.2 lambda로 나타내는 프로시저
간단히 연습 lambda
(define (square z) (x z z))
((lambda (x y z) (+ x y (square z))) 1 2 3)
= (+ 1 2 (x 3 3))
= 12
16. 1.3.2 lambda로 나타내는 프로시저
let으로 갇힌 변수 만들기
프로시저 안에서만 쓰는 변수(로컬변수)
각각의 리스트가 값을 가지고 바디에 적용
(let ((<var1> <exp1>)
(<var2> <exp2>)
…
(<varn> <expn>))
<body>)
17. 1.3.2 lambda로 나타내는 프로시저
let으로 갇힌 변수 만들기
각각의 리스트가 값을 가지고 바디에 적용
let 외부에서 x는 2라면
(let (x 3)
(y (+ x 2))
(* x y))
let 안에서 첫번째 리스트 x는 3
y는 외부의 x를 사용해서 2
18. 1.3.2 lambda로 나타내는 프로시저
let으로 갇힌 변수 만들기
각각의 리스트가 값을 가지고 바디에 적용
let 외부에서 x는 2라면
(let (x 3) //x = 3
(y (+ x 2)) //x = 2 (외부)
(* x y))
let 안에서 첫번째 리스트 x는 3
y는 외부의 x를 사용해서 2
19. 1.3.2 lambda로 나타내는 프로시저
let으로 갇힌 변수 만들기
각각의 리스트가 값을 가지고 바디에 적용
let 외부에서 x는 2라면
(let (x 3) //x = 3
(y (+ x 2)) //x = 2 (외부)
(* x y))
let 안에서 첫번째 리스트 x는 3
y는 외부의 x를 사용해서 2
결국 body 에는 (* 3 4) => 12
20. 1.3.3 일반적인 방법을 표현하는 프로시저
수뿐 아니라 함수까지 인자로 받아
계산하는 방법만 도려내어 프로시저로 간추림
21. 1.3.3 일반적인 방법을 표현하는 프로시저
이분법으로 방정식의 근 찾기
f(a) < 0 < f(b)
f(x) > 0 일때 f의 근은 a와 x 사이에 있음
f(x) < 0 일때 f의 근은 b와 x 사이에 있음
분할 탐색 같은 느낌? 이진트리? 처럼 가서 근접점,값
22. 1.3.3 일반적인 방법을 표현하는 프로시저
이분법으로 방정식의 근 찾기
f(a) < 0 < f(b)
f(x) > 0 일때 f의 근은 a와 x 사이에 있음
f(x) < 0 일때 f의 근은 b와 x 사이에 있음
분할 탐색 같은 느낌? 이진트리? 처럼 가서 근접점,값
(define (serarch f neg-point pos-point)
(let ((midpoint (average neg-point pos-point))) //가운데 값 정의
(if (close-enough? neg-point pos-point) //값이 근사치인가
midpoint //맞으면 리턴
(let ((test-value (f midpoint))) //아니면 중간값 사용
(cond ((positive? test-value) //0보다 큰가
(serarch f neg-point midpoint) //가까운값
((negative? test-value) //0보다 작은가
(serarch f midpoint pos-point)) //먼값
(else midpoint)))))) //둘다 아니면 중간값
23. 1.3.3 일반적인 방법을 표현하는 프로시저
이분법으로 방정식의 근 찾기
f(a) < 0 < f(b)
f(x) > 0 일때 f의 근은 a와 x 사이에 있음
f(x) < 0 일때 f의 근은 b와 x 사이에 있음
분할 탐색 같은 느낌? 이진트리? 처럼 가서 근접점,값
(define (serarch f neg-point pos-point)
(let ((midpoint (average neg-point pos-point))) //가운데 값 정의
(if (close-enough? neg-point pos-point) //값이 근사치인가
midpoint //맞으면 리턴
(let ((test-value (f midpoint))) //아니면 중간값 사용
(cond ((positive? test-value) //0보다 큰가
(serarch f neg-point midpoint) //가까운값
((negative? test-value) //0보다 작은가
(serarch f midpoint pos-point)) //먼값
(else midpoint)))))) //둘다 아니면 중간값
24. 1.3.3 일반적인 방법을 표현하는 프로시저
이분법으로 방정식의 근 찾기
f(a) < 0 < f(b)
f(x) > 0 일때 f의 근은 a와 x 사이에 있음
f(x) < 0 일때 f의 근은 b와 x 사이에 있음
분할 탐색 같은 느낌? 이진트리? 처럼 가서 근접점,값
(define (close-enough? x y) // 근접 한가
(< (abs (- x y)) 0.001))
25. 1.3.3 일반적인 방법을 표현하는 프로시저
이분법으로 방정식의 근 찾기
f(a) < 0 < f(b)
f(x) > 0 일때 f의 근은 a와 x 사이에 있음
f(x) < 0 일때 f의 근은 b와 x 사이에 있음
분할 탐색 같은 느낌? 이진트리? 처럼 가서 근접점,값
(define (serarch f neg-point pos-point)
(let ((midpoint (average neg-point pos-point))) //가운데 값 정의
(if (close-enough? neg-point pos-point) //값이 근사치인가
midpoint //맞으면 리턴
(let ((test-value (f midpoint))) //아니면 중간값 사용
(cond ((positive? test-value) //0보다 큰가
(serarch f neg-point midpoint) //가까운값
((negative? test-value) //0보다 작은가
(serarch f midpoint pos-point)) //먼값
(else midpoint)))))) //둘다 아니면 중간값
26. 1.3.3 일반적인 방법을 표현하는 프로시저
이분법으로 방정식의 근 찾기
f(a) < 0 < f(b)
f(x) > 0 일때 f의 근은 a와 x 사이에 있음
f(x) < 0 일때 f의 근은 b와 x 사이에 있음
분할 탐색 같은 느낌? 이진트리? 처럼 가서 근접점,값
(define (serarch f neg-point pos-point)
(let ((midpoint (average neg-point pos-point))) //가운데 값 정의
(if (close-enough? neg-point pos-point) //값이 근사치인가
midpoint //맞으면 리턴
(let ((test-value (f midpoint))) //아니면 중간값 사용
(cond ((positive? test-value) //0보다 큰가
(serarch f neg-point midpoint) //가까운값
((negative? test-value) //0보다 작은가
(serarch f midpoint pos-point)) //먼값
(else midpoint)))))) //둘다 아니면 중간값
27. 1.3.3 일반적인 방법을 표현하는 프로시저
이분법으로 방정식의 근 찾기
f(a) < 0 < f(b)
f(x) > 0 일때 f의 근은 a와 x 사이에 있음
f(x) < 0 일때 f의 근은 b와 x 사이에 있음
분할 탐색 같은 느낌? 이진트리? 처럼 가서 근접점,값
(define (serarch f neg-point pos-point)
(let ((midpoint (average neg-point pos-point))) //가운데 값 정의
(if (close-enough? neg-point pos-point) //값이 근사치인가
midpoint //맞으면 리턴
(let ((test-value (f midpoint))) //아니면 중간값 사용
(cond ((positive? test-value) //0보다 큰가
(serarch f neg-point midpoint) //가까운값
((negative? test-value) //0보다 작은가
(serarch f midpoint pos-point)) //먼값
(else midpoint)))))) //둘다 아니면 중간값
28. 1.3.3 일반적인 방법을 표현하는 프로시저
이분법으로 방정식의 근 찾기
f(a) < 0 < f(b)
f(x) > 0 일때 f의 근은 a와 x 사이에 있음
f(x) < 0 일때 f의 근은 b와 x 사이에 있음
분할 탐색 같은 느낌? 이진트리? 처럼 가서 근접점,값
(define (serarch f neg-point pos-point)
(let ((midpoint (average neg-point pos-point))) //가운데 값 정의
(if (close-enough? neg-point pos-point) //값이 근사치인가
midpoint //맞으면 리턴
(let ((test-value (f midpoint))) //아니면 중간값 사용
(cond ((positive? test-value) //0보다 큰가
(serarch f neg-point midpoint) //가까운값
((negative? test-value) //0보다 작은가
(serarch f midpoint pos-point)) //먼값
(else midpoint)))))) //둘다 아니면 중간값
29. 1.3.4 프로시저를 만드는 프로시저
프로시저를 프로시저의 결과 값으로 돌려주는
표현력의 상승 효과!!
(define average-dump f)
(lambda (x) (average x (f x))))
((average-dump square) 10)
31. 벌써 마무으리…
프로그래머는 언제나 스스로 짠 프로그램을 놓고
그 속에서 간추릴 게 무엇인지 찾아내어(리팩토링-냄새?),
이로부터 더 수준 높은 표현 수단을 만들어 내려고 애써야 한다(추상화?)
32. 벌써 마무으리…
몇 가지 문제 풀이 방법을 간추려서
다른 문제 풀이에도 다시 쓸수 있도록
일반적인 표현 수단을 만들려고
애쓰는 버릇은 정말 중요하다
(재사용?,일반화?,제네릭?)
33. 정리
프로그래밍 언어의 일등급(first class)
(프로시저가) 변수의 값(처럼 사용될 수)이 될 수 있다.
다시 말해, 이름이 붙을 수 있다.
(프로시저가) 프로시저의 인자로 쓸 수 있다.
(프로시저가) 프로시저의 결과로 만들어질 수 있다.
(프로시저가) 데이터 구조속에 집어 넣을수 있다.