'전체'에 해당되는 글 87건

  1. 2009/11/02 이런걸 2년전에 만들었구나 (2)
  2. 2009/10/29 바쁜 사람의 취미
  3. 2009/10/22 신입 입사서류들을 보면서 (2)
  4. 2009/09/21 아이디어 도우미란...
  5. 2009/09/01 같은 부류의 사람들에게로
  6. 2009/08/31 역대 다음 데브데이 프로젝트들
  7. 2009/08/12 상상예찬
  8. 2009/07/24 [뻘짓금지]저장프로시저 자동 문서화하기 (2)
  9. 2009/06/23 비순수 함수와 순수 함수
  10. 2009/06/17 의미


여기서 음악은 영화 아일랜드OST를 사용하였습니다.
문자를 Z축으로 쭈욱 불규칙하게 나열하고 카메라를 이동한거지요.

심심풀이로 만들어본 결과물입니다.

조금 더 아이디어적이고 모험적인것으로 준비하고 있습니다.
크리에이티브 커먼즈 라이선스
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이선스에 따라 이용하실 수 있습니다.

취미란....
줄곧 사람들에게 취미를 물어본다
.

게임, 영화,
...?

나의 취미는 금전적으로 시간적으로 투자해야만 하며 한편으론 주업으로도 이용이 가능하다
.
특히 영상편집이 취미이다 보니 워크스테이션급의 컴퓨터가 필요하였고 캠코더 등이 필요한 시점이다. 또 음악듣기 보다 연주 하는 것을 하고 싶어 악기를 탐내고 있고 틈틈이 배울 시점을 노리고 있다
.

모두 깊은 시간과 넓은 애정을 가지고 있어야 지속적이고 멋진 발산이 가능해진다
.

하지만 일이 치이며 살아가는 사람은 감히 이런 취미를 누린다는 건 사치일지도 모른다. 가뜩이나 시달리는데 취미 또한 반복하며 배우고 고독이 작업해야만 하는 건 정말이지 고개가 갸우뚱거릴 뿐이다
.

나도 최근에 머릿속에 담아 논 영상을 만들어 볼까 하지만 회사에서 가져온 커다란 스트레스는 아무생각없이 놀 거리를 찾아가게 만들어 버린다
.

그래서 취미는 그냥 가만히 꼼지락거릴 수 있거나 지켜볼 수만 있게 하는 영화나 게임이 주 취미 생활이 되어버린다. 단 이게 나쁜 취미라고 하는 건 아니다. 그저 하고 싶은 취미가 여건이 안되고 바로 가능한 취미가 가능하니 어쩔 수 없다는 것이다
.

바쁜 사람들은 취미를 할 수 있을까? 취미에 쏟을 에너지도 모두 일에 투자하는 건 아닐까? 취미는 사치 일까
?

나의 생각이 표현할 시간이 없어 안타까움에 쓰지만 막상 시간이 생기면 나태해져 이 글이 무색해 지겠지
?

고로 나의 열정이 문제라 여기며...

크리에이티브 커먼즈 라이선스
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이선스에 따라 이용하실 수 있습니다.

나도 저때가 있드랬지.

난 자신이 넘쳤었지. 경력은 없어도 보증되는 것들이 있었기에 말이지.
각자 써넣은 입사서류들에게 넌 무엇이 너를 보증하냐 묻듯 훓어 보고 지나가고 나에게 의미 있는 단어에 멈춰 주위깊게 살펴 보고 있는.

분명 써넣은 각오와 다짐은 몇개월이면 소진될게 분명하니 믿지 않겠어.
기술을 해봤거늘 중요한 기본이 얼마만큼 지녔는지 몰라 냉소적으로 판단 하겠어.

단지 난 책을 통해 공부했고 거인의 어깨를 찾아 돌아다녔으니 그 기준에 맞춰지겠지.

얼마나 기본을 다지려했고 움직임 있는 배움을 하였는지 말이지.

그냥 학교든 학원이든 그 어디에 자신을 맡기는 것 보다 스스로 움직이는 열정이 서류에 묻어놨으면 좋겠어.

크리에이티브 커먼즈 라이선스
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이선스에 따라 이용하실 수 있습니다.

다음데브데이 8회때 제안한 아이디어입니다.

우리는 아이디어를 어떻게 만드나요?
자리에 앉아 웅크리며 눈은 감고 하시나요? 아이디어를 대변하는 전구 아이콘 처럼 어둡기만 한 생각이 번쩍이며 밝혀 올까요?

성공시대!?
가끔 TV에 특정 주인공의 성공에 관한 이야기를 보여주는 프로그램이 있습니다.
그 특정 주인공은 자신의 주위에서 아이디어를 발견하고 곧 대박을 거머쥐게 됩니다.

아이디어는 주위에 있습니다.
아이디어를 생각할때 더 눈을 굴려 주위 사물을 찾아보아야 합니다.

잠자는 아이디어 깨우기-How To Get Ideas(잭 포스터/ 정 상수 옮김/ 해냄 출판사 발행)라는 책에는 이런 글이 있습니다.
무언가 서로 다른 두 가지를 합쳐 보십시오. 재미있는 아이디어가 나옵니다.
화가 달리는 꿈과 예술을 조합하여 초현실주의를 탄생시켰습니다.
허친스라는 사람은 자명종과 시계를 결합하여 자명종 시계를 발명했습니다.
리프먼은 연필과 지우개를 합쳐 지우개 달린 연필을 만들었지요.
어떤 이는 걸레에 막대기를 붙여 대걸레를 만들었습니다.

아이디어는 아주 수학적이지도 과학적이지 않은 그저 주위의 조합입니다. 위의 글 처럼 자명종과 시계를 알았기에 자명종시계가 나왔고 연필과 지우개를 알았기에 지우개연필이 나왔습니다.
무언가를 알았기에 조합할 수 있었다는 이야기이죠.
그 무언가는 주위에 널려있습니다. 하지만 우린 몇가닥 선을 통해 더 많은 무언가를 접할 수 있습니다.

99% 성공율 1%는 여러분의 몫
99%의 성공율 보여줍니다. 나머지 1%는 여러분의 영감이 필요할 것 입니다.

프로그램 설명
다음은 프로그램의 1차 요구사항입니다.
  • 웹에서 무작위로 3개의 이미지를 가져온다.
  • 임의로 하나를 정해놓고 나머지를 무작위로 이미지를 가져온다
    만약 연필이라는 아이템에서 조합 하여 아이디어를 만들고 싶다면 일단 연필을 웹에서 이미지로 불러와 지정하고 나머지는 랜덤으로 이미지를 보여줍니다.
  • 작성된 이미지를 토대로 아이디어를 작성하고 블로그(스프링노트 등)에 작성을 합니다.
  • 랜덤으로 가져온 이미지를 한두개는 정지(Hold) 시키고 나머지를 랜덤으로 돌려 조합한다.
다음은 1차 개발 중에 나온 App 캡쳐 사진입니다.


여기서 강조하고 싶은건 저는 개발자입니다.(디자이너가 아니죠)
처음에는 전선으로 연결하여 전선을 통해 뭔가 아이디어가 돌아간다라는 컨셉을 가지고 할려고 했었는데 디자이너가 아닌 저로서 전선은 엄청난 난이도이더군요.

다음 캡쳐사진은 이미지를 무작위로 가져온 예입니다.



위와 같은 결과에 다음과 같이 아이템을 발견할 수 있습니다.
컴퓨터 + 버스 + 남자 + 선글라스 = ?
여기서 제가 떠오르는 아이디어는 차는 썬텐을 하는데 차에 앞유리 만한 대형 썬글라스를 끼워 눈 부실때마다 자동차 전용 선글라스를 끼우는것 입니다.

아무튼 이런 식으로 뭔가 아이디어를 생각해낼 기회를 마련한다는 것이 주 목적입니다.

구현 시 발생한 문제
물론 직장인이다 보니 시간이 큰 문제였지만 나 잘되라고 하는 것이기에 잠 쪼개어 구현하였습니다. 그리고 기능성 제일 중요한 요구사항인 랜덤되는 이미지를 가져오라! 인데 아무 이미지나 가져오는 것도 만만치 않은 작업이었습니다.

a~z까지 아무거나 조합으로 키워드를 사용하여 이미지를 가져오면 아이디어에 사용되기 힘든 이미지들이 나오기만 했습니다.(거의 설치화면만 잔득)
그래서 단어를 30개 정도 저장하고 랜덤으로 단어를 골라 그 단어를 포함하여 이미지를 가져오는 방법을 사용하였습니다. 주어진 단어만 검색을 하다보니 특정 키워드가 포함된 이미지만 가져오기만 하는 단점이 생겼습니다. 그리고 총페이지와 현재 결과 이미지의 순서에 따라 적용하였는데 다음과 네이버의 OpenAPI는 페이지가 1에서~100까지로 한정되어 있었습니다.

나머지 요구사항들은  GUI를 그리는데 집중하다보니 진도가 잘 나가지 못한 상태입니다.


앞으로의 계획
아이디어 도우미는 정말 좋은 아이디어입니다. 정말 아이디어가 스스로 사물을 그리고 조합하는 것 보다 더 집중하게 되는 저를 발견 할 수 있었습니다.
원하시는 분들도 있기에 위에 요구사항을 토대로 만들어진 컨셉을 기반으로 더욱 보강하고 언제 어디서나 아이디어를 만드는데 도와줄 수 있게 모바일에까지 적용할 예정입니다.

마지막으로 다음Devday가 없었으면 아마도 이같은 아이디어를 생각할 엄두도 안냈을 것입니다.
그런 점에 있어 깊은 감사를 드립니다.
크리에이티브 커먼즈 라이선스
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이선스에 따라 이용하실 수 있습니다.

축구선수들이 모여 축구팀이 이루어지고 야구선수들이 모여 야구팀이 이루어 지니~
그래 내안에 시냅스여 오늘은 무엇을 말하고 싶은고...

IT에 큰열정을 가진 학생과 젊은이들이 모인 자리에 나도 있기를 바란다. 그래서 몸 부대끼며 하는 행사를 좋아한다.

최근에도 제 8회 다음데브이를 통해 제주도에서 성격다른 열정들을 배워 왔다.
이런데서 보고 있으니 서로들 자신이 보잘것 없다 하지만 손수 만든 App에 강한 애착과 자부심이 풍겨 나온다. 암 당연하지. 자신의 의지에 만들어진 것은 그 자체가 자랑거리요 자부심일 것이지.

또 느끼는건 서로가 우물안 개구리라고 한탄을 하는데. 아니아니! 지금 바로 이 자리에 있다는건 이미 우물안을 나와 뛰고 있다는 것을 말하고 싶다. 하지만 멈추면 그 자리가 곧 우물이 될 것이라고 덧붙어 말해본다.

조금더 나이들은 나 자신이 어리고 어린 IT 후배들에게 재미없는 말을 건네어 본다.
"취업이든 뭐든 세상의 굴레에 맞추어 움직이려 하지마라 너 자신이 원하는것을 재밌게 해봐라"

참고로 이 말은 이미 우물안에 나온 자에게 적합한 말일 것이다. 철없는 자에겐 독약이 될것이니...

IT의 힘이 될 후배들이여, 울고불고 하소연 노래하는 선배들에 의기소침 하지마라.
너의 손을 통해 만들어질 제국을 생각하며 날아 올라 보길 바란다.

그리고 너보다 나은 자들이 있는 곳으로 모여라. (다음 데브데이 같은 ㅎㅎㅎ)

크리에이티브 커먼즈 라이선스
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이선스에 따라 이용하실 수 있습니다.
이미 소실되거 없어진게 다반사.
좋은 아이디어이지만 다시 개발하지 않는 귀차니즘.
한번 상기시켜 보고 그리고 잊지 않도록 공간을 차지해 본다.

1회 - 지름신 알리미
비스타 가젯기반의 가계부와 쇼핑을 합친 프로젝트로 원하는 물건을 선택하여 그 금액이 충분히 모였으면 "지름신이 강림하였습니다" 라는 링크가 뜨고 클릭하면 쇼핑몰로 가는 프로젝트

3회 - 엑셀 + OpenAPI
엑셀의 셀에 작성된 키워드를 VBA를 통해 OpenAPI를 이용하여 이미지를 넣는 프로젝트
[엑셀 + OpenAPI 프로젝트 가기]

5회 - 스마트폰간의 끝말 잇기 & 나라이름 & 차이름 말하기 게임
스마트폰간에 전송된 키워드를 OpenAPI를 검색하여 진짜 단어인지를 유효성 체크를 하고 대결하는 게임.

스키캠프 - 파워포인트 + OpenAPI 프로젝트
3회와 비슷하지만 엑셀이 아니라 파워포인트. 파워포인트 작업시 사진을 넣을때 바로 입력이 가능한 프로젝트.

8회 - 아이디어 알리미
슬롯머신 형태로 OpenAPI를 통해 막무가내로 뽑은 이미지 3장을 뽑아 이미지 3장을 기반으로 아이디어를 생각하게 해주는 아이디어를 도와주는 프로젝트
크리에이티브 커먼즈 라이선스
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이선스에 따라 이용하실 수 있습니다.

상상예찬

생각 2009/08/12 03:47

10년전 쯤...

고등학생땐 생각하는게 좋았다.(여기저기 풉)
버스를 타고 등교를 하거나 하교를 하거나 뭔가 생각할 여유가 생길땐 가차없이 상상의 지도를 펼쳐 오늘은 어디를 갈까하며 상상을 시작하게 된다.

예를 들어 올림픽에 유도선수로 나가 금메달을 따며 감격으로 눈물을 흘리고 좋아하는 여자친구에게 멋진 모습을 보이는....

 이런 상상이 대부분이었다. 창피한 이야기지만 곧잘 눈물 흘길때도 있었다.

잠자는게 제일 좋았다!
잠자는거 자체가 아니라 눈을 감고 생각할 수 있는 시간이 풍요롭기 때문..'아싸 나 잠잔다' 하며 자리에 누워 상상의 나래에 흠뻑 젖어 서서히 잠을 자게 된다.

나만 그랬을까? 아니면 그 나이때는 대부분 그런 증상이 보이나?
이제는 늙어서 그런가 상상도 상상 나름으로 헛된 상상이라며 스스로를 희미한 상상속에서 흔들어 깨우기만 한다.
또한 잠자기 위해 자리에 누워 컨트롤 불가한 알파세계에 들어가고 싶지만 상상으로 잠을 쉽게 못자는것 같아 불평이 많아 진다.

기대하는 상상, 무언가 이루어지는 상상. 지금은 헛된 상상이라며 스스로를 흔들어 깨웠지만 되돌아 보는 이글을 쓰는 시점에 헛된게 아니었다라는것이 느껴진다.

즐겁게 상상하자. 내가 무엇이 되든 상상은 최고의 성적, 최고의 감동, 영화같은 작품이 된다. 그것을 느끼는 동시에 행동으로 옮기는 것을 노력하자.

이 쯤에서 여행스케치의 엉뚱한 상상을 들으면 적당할 듯 하다.

크리에이티브 커먼즈 라이선스
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이선스에 따라 이용하실 수 있습니다.

먼저 필요한 건 데이터베이스의 정보입니다. 그 정보를 바로 엑셀에서 읽을 수도 있지만 여기선 그냥 복사하는 형태로 하겠습니다.


다음은 데이터베이스의 정보를 가져오는 쿼리입니다.

SELECT
/*프로시저이름*/ SO.name AS [ObjectName],
/*파라미터이름*/ P.name AS [ParameterName],
/*파라메터타입*/
[ParameterDataType] = CASE TYPE_NAME(P.user_type_id)
WHEN 'varchar' THEN 'varchar('+ CAST(P.max_length  AS VARCHAR(10)) +')'
WHEN 'char' THEN 'char('+ CAST(P.max_length  AS VARCHAR(10)) +')'
ELSE TYPE_NAME(P.user_type_id)
END + '  ' + CASE P.is_output
             WHEN 1 THEN 'OUTPUT'
             ELSE 'IN'
             END
FROM sys.objects AS SO
INNER JOIN sys.parameters AS P
ON SO.OBJECT_ID = P.OBJECT_ID

WHERE SO.OBJECT_ID IN ( SELECT OBJECT_ID
FROM sys.objects
WHERE TYPE IN ('P'))
ORDER BY
SO.name, P.parameter_id

 

이 쿼리를 실행하면 다음과 같이 반환을 하게 됩니다.

  ObjectName ParemeterName ParemeterDataType
1 usp_procedure1 @param1 int IN
2 usp_procedure1 @param2 varchar(50) IN
3 usp_procedure1 @param3 int OUTPUT
4 usp_procedure2 @param1 int
 
이 내용을 복사하여 엑셀에 있는 시트에 붙여 넣으시기 바랍니다.
그럼 다음과 같이 됩니다.
 
 
여기서 A열을 비워 두었는데 다 이유가 있습니다. 그건 각 저장프로시저들의 그룹단위를 표시하기 위해 비워 두었는데 이유는 나중에 데이터를 열마다 읽을 때 어디서부터 어디까지가 하나의 프로시저묶음인지 알기 위해서 입니다. 그럼 A열 2번째 부터 ‘=B2=B1’ 라는 식을 넣고 1번째는 False라는 문자열을 삽입합니다.
 
 
 
이렇게 되었으면 매크로를 통해 하나의 열을 돌아다니며 표를 만들면 끝이 됩니다라는 코드 작성하면 됩니다.
 
늘 말은 짧고 쉽죠~ 코드는 말이 참 많습니다.
 
그럼 말 많은 코드를 공개하겠습니다.
 

Sub GeneratorParamDoc()
    Dim tableGr As Range
    Dim writeCur As Range
    Dim firstCur As Range
    Dim rowCnt As Integer
    Set writeCur = ActiveCell
    Set firstCur = writeCur.Offset(0, -1)
    rowCnt = 0
     For Each tableGr In Range("A1:A10000")
        If tableGr = False Or tableGr = "" Then
            If rowCnt <> 0 Then
                Range(firstCur.Offset(3, 0), firstCur.Offset(3, 0).Offset(rowCnt, 0)).Merge
                '매개변수
                With Range(firstCur.Offset(4, 1), firstCur.Offset(4, 1).Offset(rowCnt, 3)).Borders(xlInsideHorizontal)
                    .LineStyle = xlContinuous
                    .ColorIndex = xlAutomatic
                    .TintAndShade = 0
                    .Weight = xlThin
                End With
                '매개변수 중앙정렬
                With Range(firstCur.Offset(3, 1), firstCur.Offset(3, 1).Offset(rowCnt, 3))
                    .HorizontalAlignment = xlCenter
                    .VerticalAlignment = xlCenter
                End With
                '큰 틀 그리기
                With Range(firstCur, firstCur.Offset(rowCnt + 3, 4)).Borders(xlEdgeTop)
                    .LineStyle = xlContinuous
                    .ColorIndex = xlAutomatic
                    .TintAndShade = 0
                    .Weight = xlMedium
                End With
                With Range(firstCur, firstCur.Offset(rowCnt + 3, 4)).Borders(xlEdgeRight)
                    .LineStyle = xlContinuous
                    .ColorIndex = xlAutomatic
                    .TintAndShade = 0
                    .Weight = xlMedium
                End With
                With Range(firstCur, firstCur.Offset(rowCnt + 3, 4)).Borders(xlEdgeLeft)
                    .LineStyle = xlContinuous
                    .ColorIndex = xlAutomatic
                    .TintAndShade = 0
                    .Weight = xlMedium
                End With
                With Range(firstCur, firstCur.Offset(rowCnt + 3, 4)).Borders(xlEdgeBottom)
                    .LineStyle = xlContinuous
                    .ColorIndex = xlAutomatic
                    .TintAndShade = 0
                    .Weight = xlMedium
                End With
                With Range(firstCur, firstCur.Offset(rowCnt + 3, 4)).Borders(xlInsideVertical)
                    .LineStyle = xlContinuous
                    .ColorIndex = xlAutomatic
                    .TintAndShade = 0
                    .Weight = xlThin
                End With
                If tableGr = "" Then
                    Exit For
                End If
            End If
            rowCnt = 1
            Set writeCur = writeCur.Offset(4, 0)
            Set firstCur = writeCur.Offset(0, -1)
            writeCur.Offset(0, -1).Value = "프로시저명"
            writeCur.Offset(3, 0).Value = "이름"
            writeCur.Offset(3, 1).Value = "형태"
            writeCur.Offset(3, 2).Value = "설명"
            writeCur.Offset(3, 3).Value = "비고"
            writeCur.Offset(1, -1).Value = "프로시저 설명"
            writeCur.Offset(2, -1).Value = "반환형태"
            writeCur.Offset(3, -1).Value = "파라매터"
            '!

            '셀합치기
            Range(writeCur, writeCur.Offset(0, 3)).Merge
            Range(writeCur.Offset(1, 0), writeCur.Offset(1, 0).Offset(0, 3)).Merge
            Range(writeCur.Offset(2, 0), writeCur.Offset(2, 0).Offset(0, 3)).Merge
            '셀 합치기 끝
            With Range(writeCur.Offset(0, -1), writeCur.Offset(0, -1).Offset(0, 4)).Borders(xlEdgeBottom)
                .LineStyle = xlDouble
                .ColorIndex = xlAutomatic
                .TintAndShade = 0
                .Weight = xlThick
            End With

            With Range(writeCur.Offset(1, -1), writeCur.Offset(1, -1).Offset(0, 4)).Borders(xlEdgeBottom)
                .LineStyle = xlDouble
                .ColorIndex = xlAutomatic
                .TintAndShade = 0
                .Weight = xlThick
            End With

            With Range(writeCur.Offset(2, -1), writeCur.Offset(2, -1).Offset(0, 4)).Borders(xlEdgeBottom)
                .LineStyle = xlDouble
                .ColorIndex = xlAutomatic
                .TintAndShade = 0
                .Weight = xlThick
            End With
            With Range(writeCur.Offset(3, -1), writeCur.Offset(3, -1).Offset(0, 4)).Borders(xlEdgeBottom)
                .LineStyle = xlDouble
                .ColorIndex = xlAutomatic
                .TintAndShade = 0
                .Weight = xlThick
            End With
            writeCur.Value = tableGr.Offset(0, 1)
            Set writeCur = writeCur.Offset(4, 0)
            writeCur.Value = tableGr.Offset(0, 2)
            writeCur.Offset(0, 1).Value = tableGr.Offset(0, 3)
            writeCur.Offset(0, 2).Value = tableGr.Offset(0, 4)
        Else
            rowCnt = rowCnt + 1
            Set writeCur = writeCur.Offset(1, 0)
            writeCur.Value = tableGr.Offset(0, 2)
            writeCur.Offset(0, 1).Value = tableGr.Offset(0, 3)
            writeCur.Offset(0, 2).Value = tableGr.Offset(0, 4)
        End If
     Next tableGr
End Sub


 

이 코드는 표를 그리고 정렬하고 데이터 넣고 하는 VBA코드입니다. 이렇게 만들어지기까지 수많은 시행착오가 있었…(모르게 눈물이)

아무튼 멀찌감치 커서를 놓고 위의 매크로를 실행합니다.

실행 결과는 다음과 같습니다.

 

표들이 보이시죠?

그것을 복사해서 문서화하면 되는 것 입니다.

여기서 안타까운건 설명컬럼입니다. 설명컬럼은 일일이 그 컬럼에 가서 써야 하지요. 성격상 또 반복 작업스러운건 질색입니다. 그래서 MSSQL에 있는 설명글을 가져와서 붙이고 싶었지만 MSSQL내부의 프로시저에 설명을 작성하지 않아서 일일이 또 작업을 해야만 했습니다.
만약 설명을 틈틈히 프로시저 만들때 하였다면 이 설명까지 가져와 깔끔한 문서를 생성했겠지요.

MSSQL뿐만 아니라 다른 DBMS의 정보를 맨 처음 쿼리 같이 리스트를 뽑는다면 쉽게 문서화 할 수 있겠죠?

프로시저뿐만아니라 테이블 등등…
더이상 문서를 만들진 맙시다. 개발자는 코드로 시크하게 답변해주자고요~

아무튼 뻘짓금지는 계속됩니다.

크리에이티브 커먼즈 라이선스
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이선스에 따라 이용하실 수 있습니다.
TAG 뻘짓

비순수 함수

다음 코드에서 HypenatedConcat 함수는 클래스에서 aMember 데이터 멤버를 수정하기 때문에 순수 함수가 아닙니다.

public class Program
{
    private static string aMember = "StringOne";

    public static void HypenatedConcat(string appendStr)
    {
        aMember += '-' + appendStr;
    }

    public static void Main()
    {
        HypenatedConcat("StringTwo");
        Console.WriteLine(aMember);
    }
}

 

순수함수

class Program
{
    public static string HyphenatedConcat(string s, string appendStr)
    {
        return (s + '-' + appendStr);
    }

    public static void Main(string[] args)
    {
        string s1 = "StringOne";
        string s2 = HyphenatedConcat(s1, "StringTwo");
        Console.WriteLine(s2);
    }
}

이런것도 있었구나.

참조 - http://msdn.microsoft.com/ko-kr/library/bb669139.aspx

크리에이티브 커먼즈 라이선스
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이선스에 따라 이용하실 수 있습니다.

의미

분류없음 2009/06/17 03:44

하나의 생각이 무슨 의미가 있을까?
아무 의미 없는 서로에게 그 동안에 기억은 무슨 의미가 있을까? 
그저 흩어진 첫마음을 쓸어본들 슬픔스러운 불순물만 늘어나는구나.

우린 무엇을 했을까?
뭔가 다른걸 보여주고 싶지만 그럴 기회 없는건가?

물음표가 난무한 이글처럼 우린 답하나 없겠구나.

크리에이티브 커먼즈 라이선스
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이선스에 따라 이용하실 수 있습니다.
1 2 3 4 5  ... 9 

글 보관함

get rsstistory!