수원에 사는 6학년 조카놈인데... 요즘 애들은 이러구 노나 봅니다.
엄마가 컴퓨터를 평소에 못하게 하니 다른 쪽으로 에너지를 발산시키네요.


저작자 표시 비영리 변경 금지
신고

'살며 사랑하며' 카테고리의 다른 글

뚜벅이 여행 - 종로 교남동  (0) 2013.03.02
종로 관광지도 신청하기  (0) 2013.03.02
양평 1박2일 여행  (0) 2011.09.17
조카의 큐브 실력  (0) 2011.06.06

애자일 이야기 http://agile.egloos.com/4570504

내가 6년째 하고 있는 휴대폰 SW 개발 업무를 가지고 3가지 질문에 스스로 답해 봅니다.
정확히는 프로그래밍에 대한 답변입니다.

1. 좋아하는가?
네, 좋아합니다. 5학년때 학교 컴퓨터실에 있는 SPC3000(정확한 모델명은 기억나질 않네요;;)으로  베이직 프로그램을 만들던 때 부터 좋아했습니다. 대학 전공인 기계과에서 대학원을 전산쪽으로 바꾸었을 때도 이 질문은 결정에 큰 영향을 주었습니다.

2. 잘 하는가?
음... 답변하기 무지 어렵습니다. 중간 이상은 하는 것 같습니다. 사실 주위에 잘 하는 사람들이 너무 많고, 그렇지 못한 사람들은 더더욱 많습니다.

3. 지속 가능한가?
피끓는 20대였을 땐 좋아하는 일만 쫓아다니며 할 수 있었습니다.
지금은 서울에서 결혼하고, 집사고 나중에 애들 키울 생각하니 좀 가슴이 시려오네요.
거기에 우리나라 대기업의 특성상 경력이 늘어날 수록 관리로 빠지게 되니 다음 휴가때 심각하게 진로 고민을 해 봐야 겠습니다. 
학교 후배이자 대학원/회사 동기인 누구는 회사 때려치고 벤처 회사 하나 꾸려가고 있는데.. 저만 제자리인 것 같은 생각도 들곤 하네요.


저작자 표시 비영리 변경 금지
신고

여러분은 새로운 프로그래밍 언어를 공부를 할 때 어떤 방식으로 하시나요?
회사 동료가 Ruby를 공부하면서 즐겨 찾는다는 사이트가 있어 공유하고자 합니다. 

http://projecteuler.net/



회원가입 후 Problems 메뉴로 갑니다. 337개의 문제들이 있군요.
문제를 풀고 정답을 제출하면 최적화된 해법을 pdf로 다운받을 수 있습니다.
문제 풀이에 대해 다른 사람들과 토론도 할 수 있네요.
자기가 풀었던 방식과는 다른 고수들의 사고방식을 엿보고 자기 것으로 체화할 수 있으면 금상첨화겠군요! 

예제로 1번 문제 하나 퍼왔습니다.

Problem 1

05 October 2001

If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.

Find the sum of all the multiples of 3 or 5 below 1000.



모범 답안(글자가 흰색입니다. 마우스로 긁어서 확인하세요 ^^)

As you have solved this problem we do not have to explain that all numbers divisible by 3 
and/or by 5 should be counted.
So the first numbers to be added would be:
3, 5, 6, 9, 10, 12, 15 and so on.
 
A simple way to do this  is to go through all numbers from 1 to 999 and test whether they are 
divisible by 3 or by 5. 
This would result in code like:

target=999
sum=0
for  i=1 to target do
if (i mod 3=0) or (i mod 5)=0 then sum:=sum+i
output sum

(In some programming languages the mod operator is written as %)
Simple enough you might say.
But wait a minute: if we had asked to do the same for all numbers less than 1,000,000,000 that 
is going to take quite a while. Perhaps you would like to try out that first (make sure your sum 
variable does not overflow).

To get a more efficient solution you could also calculate the sum of the numbers less 
than1000 that are divisible by 3, plus the sum of the numbers less than1000 that are divisible 
by 5. But as you have summed numbers divisible by 15 twice you would have to subtract the 
sum of the numbers divisible by 15.
 
If  we now define a function:
Function SumDivisibleBy(n)
    Details to be filled in
EndFunction

Then  the answer would be 
SumDivisibleBy(3)+SumDivisibleBy(5)-SumDivisibleBy(15)

Let’s look at the details of our function and take as example n=3.
We would have to add:
3+6+9+12+......+999=3*(1+2+3+4+...+333)
For n=5 we would get:
5+10+15+...+995=5*(1+2+....+199)
Now note that 199=995/5 but also 999/5 rounded down to the nearest integer.
In many programming languages there exists a separate operator for that: div or \.
If we now also note that 1+2+3+...+p=½*p*(p+1)  our program becomes:

target=999
Function SumDivisibleBy(n)
  p=target div n
  return n*(p*(p+1)) div 2
EndFunction
Output SumDivisibleBy(3)+SumDivisibleBy(5)-SumDivisibleBy(15) 


copyright Project Euler,further distribution without the consent of the author(s) prohibited
Author: hk 


저작자 표시 비영리 변경 금지
신고


"실용주의 사고와 학습(Pragmatic Thinking & Learning - Refactor Your Wetware)" - 앤디헌트 / 박영록 번역/ 김창준 감수, 위키북스



오늘 부산에 다녀오는 기차간에서 드디어 이 책을 다 읽었습니다.
보통은 책을 읽다 보면 책을 거의 다 읽어 갈때 쯤 (4/3정도?) 되면 책에 대한 집중도도 떨어지고
흥미를 그다지 끌지 못한 책은 그냥 던져버리게 되죠. (저만 그런가요? @@;)

이 책이 뇌 활용방안과 학습에 대한 내용이다 보니 책 부록까지 꼼꼼하게 읽게 되더군요.
문득 다음 방법도 좋은 '의도적 학습'이 되겠다 싶은 생각이 들었습니다.

책을 다 읽고 난 후 '찾아보기'을 읽고 모르는 단어를 다시 찾아본다.


이렇게 하면 다음과 같은 장점이 있는 것 같습니다. 직접 한 번 해 보고 후기를 다시 올리겠습니다.

-. 저자가 중요하게 생각하는 키워드를 확인할 수 있다.
-. 자연스럽게 반복학습이 이루어진다.
-. 책을 읽을 때 집중력이 떨어져서 대충 읽은 것을 다시 읽게 해 준다. 전반적인 내용의 이해력이 높아진 상태에 복습이 이루어지므로 이해도가 높아진다.

위 방법의 단점
-. 전/후 문맥(context)를 파악하지 못한 상태에서 부분에만 집중해서 다시 읽으면 내용 이해가 되지 않으므로 주의.
   이로 인해 해당 챕터를 다시 읽는 이점도 있지만 시간이 오래 소요됨.
 


저작자 표시 비영리 변경 금지
신고

김창준씨의 블로그에 스터디 하는 방법이 올라와 있네요. (http://agile.egloos.com/3684946)
다음에 팀 내에서 스터디 할 때 꼭 한 번 써먹어 봐야 겠습니다.
지난 번 리눅스 커널 스터디 때에도 막판에 흐지부지 됐거든요.

같은 팀에서 스터디할 때도 하는 일도 다르고 이해하는 정도도 각자 다르니 
주로 선임자의 강의 형식으로 흐르기도 하고.. 듣고만 있으면 이해도도 떨어지구요.

무엇보다 책을 먼저 읽고 들어와야 되는데 한명이라도 읽지 않은 사람이 있으면
이해시키는 데도 오래 걸리고 스터디 일정도 계획대로 되지 않더군요. 


저작자 표시 비영리 변경 금지
신고