2009년 11월 30일 월요일

공개 콘텐츠 비판에 대응하는 우리의 자세

http://bloter.net 의 비전 디자이너님의 글은 매번 잘 보지 못하는 곳을 보여주는 역할을 해주는 것 같다.

오늘도 아침에 올라와 이 글(http://www.bloter.net/archives/19959)을 읽었는데 참 여러가지 생각을 가져다 주었다.

 

비판을 받아들이는 겸허함...

 

그간 너무 좋은 소리를 듣는 것에만 내 귀가 열려있던 것은 아닐까?

 

다시 한번 좋은 글 감사드립니다.

 

My Me2 (2009년 11월 30일)

이 글은 yoonani님의 2009년 11월 30일의 미투데이 내용입니다.

구글 검색 알고리즘에 대한 markov 님의 정리

구글 검색 알고리즘의 원리 - 1 (http://markov.tistory.com/2 )

구글 검색 알고리즘의 원리 - 2 (http://markov.tistory.com/3 )

구글 검색 알고리즘의 원리 - 3 (http://markov.tistory.com/13 )

구글 검색 알고리즘의 원리 - 4 (http://markov.tistory.com/14 )

 

잘 정리된...

한번 살펴보고 무언가 시작해야 할 것이다...

몇가지 PageRank와 관련된 논문을 저장하였는데...

이 녀석이 정보 + 통계에 합당한 녀석이 아닐런지?

Community Business

http://socialbusiness.tistory.com/entry/%EC%BB%A4%EB%AE%A4%EB%8B%88%ED%8B%B0%EB%B9%84%EC%A6%88%EB%8B%88%EC%8A%A4%EB%9E%80

 

알기쉽게 잘 정리해 주셔서 감사드립니다.

 

제가 지금 관심있는 부분은 한국의 지역에 어떻게 도입할지 고민이었는데 표 하나로 너무 깔끔히 잘 정리된 것 같습니다.

 

다시 한번 감사드립니다.

 

My Me2 (2009년 11월 30일)

  • 티핑 포인트가 있다. 0.1mm 두께인 신문지를 50번 접으면 어떻게 될까. 두께가 무려 1억1259만km다(티핑포인트) [ 2009-11-30 21:17:05 ]

이 글은 yoonani님의 2009년 11월 30일의 미투데이 내용입니다.

yoonani의 미투데이 - 2009년 11월 30일

이 글은 yoonani님의 2009년 11월 30일의 미투데이 내용입니다.

2009년 11월 25일 수요일

스프링노트를 사용하다.

잘 사용해야 할텐디...

암튼 유용하게 써 먹어야 겠다.

월별 기록이니 뭐 그런 양식이 있어서 요긴하게 써 먹을수 있을듯...

암튼...

뭐든 잘 시작하고...

절실하게 살자...

화이링!!!

이 글은 스프링노트에서 작성되었습니다.

[웹서비스]jQuery를 이용한 Form 다루기

 

 

수업할 내용입니다.

그리고 수업에 사용될 소스는 이곳에서 받으시기 바랍니다.

 

 

2009년 11월 22일 일요일

정규화 예제

다음의 파일로 부터 물음에 답하고 사용된 Query를 잘 보관하고 계시오.

 

2009년 11월 19일 목요일

의료교육에서의 가상현실

 

정호가 낀방 블로그에 올린 내용에 추가하여...

정흠이가 있는 연구실에서 올린 Virtual Surgery...

지금 생각으로는 이런걸 바탕으로 이것저것 교육과 평가에 응용해 보려고 한다.

Python3 - 자료구조(Set, Tuple, Dictionary)

Set

 

보통 알고 있는 집합과 유사함.

할당시 중괄호({})를 사용한다.

Ex)

a = {1, 2, 3}

b = {2, 3, 4}

 

Set 연산

 

합집합(union, |)

a.union(b)                     // {1, 2, 3, 4}

a | b                             // {1, 2, 3, 4}

 

교집합(itersection, &)

a.intersection(b)           // {2, 3}

a & b                           // {2, 3}

 

차집합(difference)

a - b                           // {1}

 

 

 

 

Tuple

 

리스트와 유사하나 읽기전용. 즉, 생성시에 만들어진 원소만으로 이루어진다. (추가, 삭제 안됨, 마치 const 인 것으로 생각하면 좋을 것 같음)

생성은 괄호(())를 사용

 

Ex)

t = (1, 2, 3)

(a, b) = (1, 2)                    // print (a, b)로 하면 1 2가 출력됨

 

 

list, set, tuple은 전용의 생성자 함수 list(), set(), tuple()을 가지고 있으며 이를 이용하여 언제든지 변환 가능

a=set((1, 2, 3))                 // a는 set

b = list(a)                         // b는 list

c = tuple(b)                      // c는 tuple

 

 

Dictionary

 

연관배열과 같은 것으로 "키:값"의 쌍을 갖는다. (생성자 함수는 dict())

d = dict(a=1, b=2, c=3)

di = {"a" : "apple", "b" : "banana"}

 

dictionay 명과 키에 의해 값을 반환하거나 새로이 추가할 수 있다.

di["a"]                  // 'apple' 반환

di['c'] = 'cherry'    // 키는 'c' 이고 값은 'cherry'인 원소 추가

 

삭제

del문을 한 원소씩 제거

del di['c']    // 키 값이 'c'인 원소 제거

 

.clear()를 이용하여 전체 dictionary 삭제

di.clear()      // 어떤 원소도 갖지 않는 빈 dictionary로 만듦

 

함수들

.items()                 // 한 번 호출시 현재 Dictionary에서 가르키고 있는 원소를 반환하고 포인터를 다음으로 이동

                            // 반복문과 같이 혼용되어 전체 혹은 일부의 원소를 반환할 때 사용

.keys()                  // 키값만 반환

.values()               // 값들만 반환

Python 3 - 자료구조(리스트)

리스트

 

리스트는 대괄호([])를 사용하여 자료구조를 생성한다.

리스트에 참여하는 멤버는 ,를 구별자로 하여 저장한다.

Ex) colors=['red', 'green', 'gold']

 

개별값 가져오기 (슬라이싱)

  결과가 colors[1]과 같이 리스트내의 단일 원소를 명시적으로 지정한 경우는 해당 자료형

      type(colors[1])            // colors[1]의 결과는 'green'

  그렇지 않을 경우의 결과값은 리스트

      type(colors[1:2])         // colors[1:2]의 결과는 ['green']

Ex)

colors[0]     // ['red']

colors[1:2]   // ['green']

colors[-1]    // ['gold']

colors[:2]     // ['red', 'green']

 

 

리스트에 원소 추가하기

 

append(값)

  리스트의 맨 뒤에 새로운 원소를 추가한다.

  colors.append('blue')

  colors.append('blue', 'yellow')

  colors.append(['blue', 'yellow'])     // 위의 것과 다른 결과를 보이는데 위에는 원소 두개를 추가한 것이고

                                                      // 이 문장은 리스트의 원소로 새로운 리스트 ['blue', 'yellow']를 추가한다.

 

insert(위치 인덱스, 값)

  해당 인덱스에 새로운 값을 넣는다.

  colors.insert(1, 'black')                    // 1번 인덱스(즉, 두번째)에 새로운 값 'black'을 집어넣는다.

 

extend(값)

  마지막에 새로운 값을 넣는다.

  colors.extend('white', 'gray')            // 에러. 새원소를 넣을땐 다음과 같이 리스트로 넣는다.

  colors.extend(['white', 'gray'])

 

+ 연산자

  colors += ['red']

  colors += 'red'                                  // 새로운 원소로 'red'가 아닌 'r', 'e', 'd'를 추가한다.

 

 

원소 가져오기

 

index(리스트 원소, 시작위치, 끝나는 위치)

  해당 원소의 리스트를 가져온다.

  colors.index('red')               // 0

  colors.index('red', 1)           // 8

  colors.index('red', 1, 5)        // 주의할 점....해당 구간에 원소가 없으면 에러발생

 

 

count(리스트 원소)

  리스트내에 해당 원소의 갯수를 반환한다.

  colors.count('red')              // 2

 

 

pop([인덱스])

  가장 뒤의 값을 뽑아서 결과를 반환하고 해당 원소를 리스트에서 제거한다.

  인덱스를 지정하면 해당 인덱스의 원소를 반환하고 제거한다.

  colors.pop()                       // 'd', 리스트에서 빠짐

  colors.pop(1)                     // 'black', 인덱스 1인 black이 빠진다.

 

 

 

원소 삭제하기

 

remove(원소값)

  해당 값을 가지는 원소를 제거한다. 반환값 없음

  colors.remove('red')             // 동일값에 대해 앞의 'red'가 빠진다.

 

Python 3 - 변수

일반 다른 프로그래밍언어와 마찬가지로

 

변수명 = 값

 

의 형태로 사용

 

다른 스크립트 언어의 특징을 따른다.

즉, 별도의 자료형을 지정하지 않는다.

대신 생성시에 자료형을 정할 수 있다.

자료형을 확인하는 함수는 type()

Ex)

year = 2008

십진수 2008을 값으로 갖는 변수 year

 

진법

: 진수 변환함수의 반환값은 문자열임을 주의

 

8진수

0o(숫자0, 소문자 o)10

oct(10)

10진수 10을 8진수로 변환

 

16진수

0xff

hex(38)

10진수 10을 16진수로

 

2진수

0b01

bin(38)

10진수 38을 이진수로

 

 

복소수

x = 3- 4j

type(x)   // complex

실수 3

허수 -4

x.imag     // 허수부 반환

x.real      // 실수부 반환

 

 

문자(열)

x = 'string'

x[0]            // 's'

x[1:4]          // 'tri'

x[-2]           // 'ng'

x[:2]            // 'st'

x[0] = 'o'     // 안됨, 튜플과 같이 읽기전용이라고 생각하면 됨

 

문자열 관련 연산

'py' 'thon'   // 'python'

'py'+'thon'  // 'python'

'pyp * 3      // 'pypypy'

 

텍스트큐브....트랙백 사용방법이...

조금 복잡하게 생각된다...

일단 글을 쓰고 글보내기를 클릭해야 하네...

훔...

일단은 뭐 글케 알고 넘어가지 뭐 ㅋ

Blog 다운 Blog

수업중에 우연히 만들게 된 이 블로그...

어느 정도는 내 미래에 대해 생각해 둔 것이 이제는...

내 생각을 정리할 공간이 필요하다는 생각이 든다...

 

이곳에 내 생각을 끄적여 보자...