'프로그래머'에 해당되는 글 1건

  1. 2009/02/08 코더(Coder), 프로그래머(Programmer), 소프트웨어 아키텍트(Software Architect), 그리고 구루(Guru) (32)

코더(Coder), 프로그래머(Programmer), 소프트웨어 아키텍트(Software Architect), 그리고 구루(Guru)

|

최근 친구를 만나서 이런 저런 이야기를 나누더 중 코더(Coder)에 관한 이야기가 나왔습니다. 이야기를 나누면서 저 나름대로의 정의를 설명해 주었는데, 여러분과도 함께 나누고 싶어서 글을 올립니다.

 

코더(Coder)란 무엇일까요?

소프트웨어 업종에서 개발하는 사람들에게 코더란 의미는 상당히 나쁜 의미로 받아들어지고 있습니다.

 

사전 상에서도 Coder란 뜻은 "코딩(Coding)하는 사람"이란 뜻입니다. 하지만 프로그래머(Programmer)도 코딩을하고 소프트웨어 아키텍트(Software Architect)도 코딩을 합니다. 그리고 우리가 가장 존경하는 구루(Guru)도 코딩을 합니다. 우리가 잘 알고 있는 유명한 구루(Guru)인 리처드 스톨만(Richard Stallman)도 코딩을 합니다.

과연 코더와 프로그래머와 소프트웨어 아키텍트 및 구루를 나누는 기준은 무었일까요?

 

개인적으로 코더와 프로그래머와 소프트웨어 아키텍트 및 구루의 차이는 가지고 있는 사상의 차이라고 생각합니다.

어떠한 소프트웨어를 개발하면서 소프트웨어의 설계문서를 보면서 저는 자신의 사상보다는 다른 사람들의 사상을 바탕으로 소프트웨어를 개발하는 사람들을 코더라고봅니다.

즉 소프트웨어의 근본적인 사상이나 본래의 기능등에 대한 깊이있는 고민이나 사상이 없이 소프트웨어 디자이너(Software Designer)나 프로젝트 매니저(Project Manager; PM)나 프로젝트 리더(Project Leader; PL)가 시키는 일을 하며 소프트웨어를 개발하는 사람들을 코더라고 볼 수 있습니다.

하지만 코더를 나쁜 의미로 볼 필요는 없습니다.

왜냐하면 전문 코더(Professional Coder)는 소프트웨어 개발에 관련된 전문적인 지식을 바탕으로 소프트웨어가 필요로하는 기술(Technology)를 제공하여, 소프트웨어가 훌륭하게 구현될 수 있도록 지원하는 사람이라고 볼 수 있습니다.

일예로 Java 진영에서 가장 많이 사용하는 Eclipse의 경우 전문 코더의 헌신적인 노력으로 구현된 최고의 IDE입니다. 전문 코더에 대한 인터뷰를 나중에 올리겠습니다.

따라서 전문 코더(Professional Coder)는 소프트웨어 업계에서 나름대로 존중하여야 할 직종이라고 생각합니다.

이를 위해서는 코더 자신이 소프트웨어 설계 문서를 면밀하게 분석할 줄 알아야하며, 최적의 로직을 구현하기 위하여 알고리즘(Algorithm)이나 자료구조(Data Structure) 및 각종 개발 스킬 등을 잘 알고 있어야 합니다.

이렇게 종합적으로 개발 관련된 지식들을 잘 알고 계신 분들이 있어야 소프트웨어가 더욱 탄탄하게 구현될 수 있으며, 이런 분들이 다양한 소프트웨어를 구현하면서 쌓은 경험이나 지식을 계속 소프트웨어의 발전을 위하여 쏟을 수 있는 환경을 제공할 필요가 있습니다.

아직 우리나라에서는 이러한 전문 코더에 대한 이해나 직업상의 인정이 부족한 것이 사실이지만, 개발하여야 할 소프트웨어가 많아지고 기술적인 난이도가 높아질수록  전문 코더의 필요성이 커질 것이라고 예상합니다.

 

그렇다면 프로그래머(Programmer)란 무었일까요?

프로그램(Program)을 창조하는 사람(someone whose job is to create computer programs)을 프로그래머(Programmer)라고 합니다. 여기서 코더와 프로그래머를 나누는 기준이 생기는데 창조하는 것입니다.

소프트웨어를 창조하려면 소프트웨어에 대한 이해나 사상이 있어야 합니다.

즉, 프로그래머의 경우 자신의 사상을 바탕으로 소프트웨어를 만드는 사람을 의미하며, 이러한 사상이 있다면 프로그래머라고 생각합니다.

대부분의 모든 개발자들이 프로그래머라고 볼 수 있습니다. 프로그래머 역시 코더와 마찬가지로 소프트웨어를 훌륭하게 개발할 수 있는 개발 기술을 갖추고 있어야하며, 더 나아가 소프트웨어를 설계할 수 있는 설계 능력이 있어야 한다고 생각합니다.

소프트웨어의 기능정의부터 각종 설계서를 작성할 줄 알아야 합니다. 왜냐하면 자신의 사상을 논리적으로 표현하고 이를 다른 사람들에게 공유할 수 있어야 하기 때문입니다. 자신의 사상을 기술하고 이를 바탕으로 소프트웨어가 개발될 수 있도록 좋은 설계문서를 만드는 일은 프로그래머에게 중요한 일이라고 생각합니다.

이러한 요건을 갖추었다면, 저는 프로그래머라고 생각합니다.

 

 

그렇다면 소프트웨어 아키텍트(Software Architect)란 무엇일까요?

소프트웨어 아키텍트는 프로그래머의 사상을 더욱 확장해서 생각할 수 있는 사람을 의미합니다. 소프트웨어에 필요한 계획이나 정책을 세울 수 있으며, 이를 구체적으로 실행할 수 있는 사람(the person who has the idea for something such as a plan or policy and makes it happen)을 의미합니다.

특히 소프트웨어 아키텍트는 소프트웨어의 전체적인 구조를 결정하고 소프트웨어 전반에 영향을 미치는 부분들을 책임지고 결정하는 사람입니다. 따라서 넓은 안목을 가지고 있어야 하며, 가장 핵심이 되는 부분에 대한 결정적인 방향을 제시할 수 있어야 합니다.

마치 CEO와 같은 안목을 가지고 있어야하는데, 소프트웨어 아키텍트의 결정에 따라 소프트웨어 개발이 쉬워질 수 도 있고 어려워질수도 있기 때문입니다.

잘못된 소프트웨어 아키텍쳐(Software Architecture)를 제시하는 화성인 아키텍트의 경우 잘못된 소프트웨어 아키텍쳐를 제시하여 소프트웨어 관련 프로젝트에 종사하는 사람들을 수령에 빠뜨리며, 결국 관련된 모든 사람들이 "죽음의 행진(Death March)"을 하게 만듭니다.

아울러 분명히 코더나 프로그래머들은 36시간 연속 코딩을하면서 죽어라고 고생하였음에도 불구하고, 고객(혹은 사용자)에게 혹평을 받는 소프트웨어를 만들어 냅니다.

우리나라에는 수 없이 많은 화성이 아키텍트들이 존재합니다. 물론 이분들의 노력이 헛되었다는 것은 아닙니다. 하지만 올바르지 못한 사상을 가진 아키텍트가 만들어내는 결과는 너무나도 끔찍합니다.

그래서 전 소프트웨어 아키텍트는 정말로 올바른 사상을 바탕으로 소프트웨어를 올바르게 설계 및 구현될 수 있도록 모든 과정을 책임질 수 있는 사람이라고 정의하고 싶습니다.

특히 올바른 사상이 없거나 자신의 결과에 대한 당당한 책임을 지지 않는 소프트웨어 아키텍트는 화성인이라고 부르고 싶습니다.

화성인 아키텍트에 관한 자세한 내용은 조엘 온 소프트웨어란 책을 참고하세요~

 

마지막으로 구루(Guru)란 무엇일까요?

마지막으로 우리가 존경에 마지않는 구루(Guru)는 소프트웨어 아키텍트의 사상과 책임은 물론 자신의 믿음을 행동으로 실천하는 깨어있는 사람을 의미합니다.

여기서 코더나 프로그래머나 소프트웨어 아키텍트와는 다른 기준이 적용됩니다. 바로 믿음을 실천하는 것입니다.

원래 구루라는 용어는 인도에서 유래된 용어입니다. 구루는 힌두교에서는 랍비와 비슷한 의미이며, 자신의 믿음을 실천하고 이를 널리 알리어 진실한 깨달음으로 이르게 하는 사람을 의미합니다.

공통적으로 인도에서 사용하는 구루의 의미는 위와 같지만, 인도내 여러 종교마다 약간씩 구루의 의미가 다릅니다.

대체로 소프트웨어 업계에서 구루라는 의미는 해당 소프트웨어 분야에 많은 지식과 경험을 가지고 있는 사람을 의미하지만, 진정한 구루는 지식과 경험을 바탕으로 자신의 사상을 실천하는 사람이라고 생각합니다.

소프트웨어 업계에서 가장 많이 알려져있는 대표적인 구루가 리처드 스톨만(Richard Stallman)인데, GNU 운동을 실천하여 오픈소스 진영에 지대한 사상적인 영향을 미쳤으며, 소프트웨어를 모두 함께 나눌 수 있는 사상을 제공하고 실천하는 사람입니다.

이렇게 구루는 단순히 많은 지식과 경험을 가지고 있는 사람이 아니라 자신의 사상을 실천하는 사람이 진정한 그루라고 생각합니다.

 

이렇게 소프트웨어 분야에서 대표적인 직종에 대한 나름대로의 구분점을 정리하였습니다.

생각하기에 따라서 여러분들도 각기 다른 정의를 하실 수 있습니다만, 사상의 크기와 이를 얼마나 실천할 수 있고 책임질 수 있는가에 따라 구분하는 것이 가장 명확한 구분요소라고 생각합니다.

끝까지 읽어주셔서 감사합니다. ;-)

 

최근 인터넷을 제대로 쓸 수 없는 환경에 있습니다. 제 글을 기다리시는 분에게 죄송합니다만 2월 중순이 넘으면 궨찮아질 듯합니다. 조금만 기다려 주세요~ :-)

Trackback 4 And Comment 32

Trackback http://blog.java2game.com/trackback/213 관련글 쓰기

  1. Subject [짱가™]의 생각

    Tracked from architecting's me2DAY 2009/02/20 13:11 delete

    [장선진] 삶을 위한 소프트웨어 :: 코더(Coder), 프로그래머(Programmer), 소프트웨어 아키텍트(Software Architect), 그리고 구루(Guru)- 항상 좋은 글… 감사합니다.

  2. Subject 코더(Coder), 프로그래머(Programmer), 소프트웨어 아키텍트(Software Architect), 그리고 구루(Guru)

    Tracked from 2009/03/02 20:14 delete

    내가 생산해 내는 코드 위에 자신있게 @author 를 붙일 수 있을까? 코드를 생산해 내면서 더 많은 노력과 생각을 해나가지 않으면 안될 것이다.

  3. Subject 코더의 의미

    Tracked from 사랑해사랑해 2009/03/11 10:37 delete

    좋은 글 감사합니다.

  4. Subject hong!의 생각

    Tracked from exign's me2DAY 2009/06/03 23:03 delete

    코더(Coder), 프로그래머(Programmer), 소프트웨어 아키텍트(Software Architect), 그리고 구루(Guru)… UX Guru?

  1. pLacebo 2009/02/09 10:56 address edit & del reply

    코더라고 하면 안좋은 인식이 많았었는데 다시 생각해볼 수 있게 되었네요... 좋은글 감사합니다.. ^^

    • Favicon of http://blog.java2game.com jangsunjin 2009/02/16 13:52 address edit & del

      네~ 감사합니다. :-)

      답글을 늦게 달아서 죄송합니다.

      개인적인 일로 인터넷에 접속히 힘들었습니다.

      종종 놀러오세요 ;-)

  2. Favicon of http://allofsoftware.net Ray 2009/02/09 14:08 address edit & del reply

    좋은 의견 잘 읽었습니다.

    • Favicon of http://blog.java2game.com jangsunjin 2009/02/16 13:53 address edit & del

      안녕하세요~ 레이님~ :-)

      잘 지내시죠~

      댓글 남겨주셔서 감사드립니다.

  3. Favicon of http://lemonbook.pe.kr 레몬에이드(현지환) 2009/02/10 13:11 address edit & del reply

    재밌게 잘 읽었습니다 ^^

    • Favicon of http://blog.java2game.com jangsunjin 2009/02/16 13:54 address edit & del

      안녕하세요~ 지환님 ;-)

      잘 지내고 계신지요~

      벌써 2월이 됬네요~

      행복한 하루 보내시고~ 늘 건강하시길 기원드리겠습니다.

  4. arload 2009/02/11 09:43 address edit & del reply

    어서 나으셔야 될텐데.. 몸은 괜찮으신지요..
    여튼 어서 나으셔서 스터디때 뵈요. 힘내시구요. :) 홧팅~~

    • Favicon of http://blog.java2game.com jangsunjin 2009/02/16 13:55 address edit & del

      :-) 네~ 영수님 감사합니다.

      이번주부터 인터넷을 잘 쓸 수 있게 됬습니다.

      댓글 감사드립니다.

      다음 스터디부터 열공하겠습니다. ;-)

  5. Favicon of http://younghoe.info 영회 2009/02/13 23:58 address edit & del reply

    훌륭한 정리군요. :)

    • Favicon of http://blog.java2game.com jangsunjin 2009/02/16 13:52 address edit & del

      네~ 감사합니다~ :-)

  6. Favicon of http://greenfrog7.egloos.com greenfrog 2009/02/14 08:49 address edit & del reply

    저 또한 코더라는 것을 나쁜 의미로만 인식해 왔었는데 절너 의미들로 생각해 볼 수 있겠군요 ~
    그나저나 arload님의 덧글 보니 몸이 아프신것 같은데 쾌차하시기 바람니다 ~

    • Favicon of http://blog.java2game.com jangsunjin 2009/02/16 13:56 address edit & del

      네~ 감사합니다.

      이제점 많이 궨찮아졌습니다.

      인터넷을 원활하게 쓰지 못해서.. 답답했는데~

      이제부터는 궨찮습니다.

      감사합니다. :-)

  7. mothcar 2009/02/17 10:55 address edit & del reply

    오전에 친구와 토론하다가 잠시 시간이 나서 검색해 보니 님의 글을 발견하여 읽게 되었습니다. 뭐라 비유하기 힘들지만 코더나 프로그래머, 개발자, 구루 모두의 목표는 같다고 봅니다. 단지 '모든것(인터넷, 웹, 언어, 하드웨어)'에 대한 이해가 부족해서 이렇게 나뉜것 아닐까요?

    • Favicon of http://blog.java2game.com jangsunjin 2009/02/17 13:42 address edit & del

      친구분과 참 의미있는 토론을 나누셨네요 :)

      말씀하신 내용이 맞습니다.
      제 생각을 더 붙여서 말씀드리면 다음과 같습니다.

      코더, 프로그래머, 아키텍트, 구루 모두 소프트웨어를 위하여 존재한다는 점은 동일합니다.

      하지만 여기서 소프트웨어에 대하여 얼마나 많이 이해하고 더 나아가 책임을 질 수 있는가에 문제가 가장 크다고 생각합니다.

      대게 코더는 소프트웨어 전체에 대하여 책임지지 않습니다. 다만 자신이 맡은 서브 프로그램이나 모듈의 구현에 대하여 책임집니다. 따라서 자신이 책임질 분량만큼만 이해하는 경향이 많습니다.

      대부분의 코더가 자신이 맡은 부분만 이해하기 때문에 서로간에 문제가 발생하는 경우가 많지만, 이는 코더라는 Role(역활)에 충실하기 때문에 발생하는 문제라고 생각합니다.

      하지만 프로그래머는 구현과 더불어 비즈니스 로직이 다른 서브 프로그램이나 프로그램 전체에 어떻게 영향을 미치는지를 생각하게 됩니다.

      말씀하신대로 이해의 범위가 넓어집니다. 그리고 그 만큼 책임의 범위도 늘어납니다. 대부분의 프로그래머들은 소프트웨어(혹은 시스템)의 전체 설계도 이해하고 있습니다.

      더 나아가 소프트웨어 아키텍트는 소프트웨어가 본질적으로 추구하는 바를 실현하기 위하여 가장 최적의 방안들을 제시하고, 이를 실현하기 위하여 노력하는 사람입니다.

      여기서 사상의 범위가 더욱 넓어집니다. 단순한 이해의 차원을 넘어서 새로운 가치를 현실화 할 수 있는 사상이 필요합니다. 그리고 그 사상을 현실화 할때 발생할 수 있는 각종 문제에 대한 책임도 져야 합니다.

      책임의 범위가 소프트웨어를 넘어서 소프트웨어에 관련된 모든 것으로 넓어집니다.

      만약 아키텍트가 새로운 경매 시스템을 설계하고 구축한다면, 새로운 경매 시스템이 왜 전에 경매 시스템보다 더 효과적인지를 설명할 수 있어야 합니다.

      새로운 경매 시스템이 어떻게 동작하는지, 그리고 경매 시스템을 통하여 사용자가 어떤 효용을 얻을 수 있는지, 더 나아가 회사에 어떤 이익을 줄 수 있는지까지 설명할 수 있어야 한다고 생각합니다.

      아울러 만약 경매 시스템이 잘못 구축되었다면, 아니면 새로운 경매 시스템이 전에 경매 시스템보다 수익이 나지 않는다면, 그 책임을 져야 합니다.

      마지막으로 구루는 자신의 이러한 사상을 다른 사람들도 함께 실천할 수 있도록 구체적인 방안을 제시하고, 효과를 제시하며, 이끌 수 있는 사람입니다.

      사상과 책임에 대한 두가지만으로 구분한다는 것은 현실적으로 어렵습니다. 이 외에도 많은 부분들이 코더와 프로그래머와 아키텍트와 구루를 나눌 수 있는 기준이 될 수 있습니다.

      하지만 가장 큰 차이점은 각 Role(역활)별 사상과 책임의 차이가 아닌가 생각합니다.

      어느 정도 도움이 되셨는지 모르겠습니다.

      언제 기회되면 같이 커피한잔하면서 논의하면 더 좋은 결론이 날 것 같습니다.

      시간 궨찮으실때 불러주세요 ;-)

  8. Favicon of http://www.arload.net arload 2009/02/24 09:44 address edit & del reply

    안녕하세요 선진님 :)

    이 글이 많은 분들에게 전해지고 있습니다.
    상당히 좋은글인거 같습니다.
    마소에 한번 기고해서 좀더 많은 분에게 나누어 주시는게 어떨까요 ? :)

    • Favicon of http://blog.java2game.com jangsunjin 2009/02/24 12:51 address edit & del

      안녕하세요~ 영수님~

      우선 제 글을 좋게 봐주셔서 감사드립니다. :)

      저 역시 좋습니다.

      아직 회사에 복귀한지 얼마 안되서 조금 바쁘긴 하지만, 마소에 기고한다면 부족한 부분을 채워서 좋은 생각을 함께 공유하고 싶습니다.

      좋은 제안 감사드립니다. ;-)

  9. blueseasky 2009/02/27 09:17 address edit & del reply

    좋은 글 잘 봤습니다. : ) 이제 신입 개발자로 앞으로의 진로에 갈팡질팡 하는 사람입니다만 -
    jangsunjin님의 글을 읽고 나서는 나아가야 할 방향이 약간 보이기 시작하는것 같습니다~ ^_^;

    • Favicon of http://blog.java2game.com jangsunjin 2009/02/27 13:07 address edit & del

      ^^~ 저의 부족한 글이 조금이나마 도움이 되었다니 다행입니다.

      조금씩 사상을 키우시다보면 좋은 길이 보이실거에요~ ;-)

      멘토링이 필요하시면~ 언제든지~ 메일 주세요~

      감사합니당~ :-)

  10. 2009/03/02 20:02 address edit & del reply

    비밀댓글입니다

    • Favicon of http://blog.java2game.com jangsunjin 2009/03/03 12:11 address edit & del

      네~ :) 좋은 결실 맺기를 기원드리겠습니다.

      언제나 멘토링이 필요하시면 말씀해주세요 ;-)

      감사합니다.

  11. Favicon of http://www.finebe.com finebe 2009/03/03 12:51 address edit & del reply

    안녕하세요..메일로 온 "2월 두번째 썬 개발자 뉴스레터"에서 선진님의 글을 보고 오게되었습니다.
    전 4가지의 구분이 모호하다고만 생각해 왔습니다. 구루라는건 잘 몰랐구요^^;
    선진님의 글을 보고 조금 힌트를 얻은 듯합니다. 아직 미숙한 개발자라..많은 부분을 배우고 갑니다.

    메인글 "이 세상 그 무엇보다 사람이 가장 소중합니다."을 보니 갑자기..책 상도에서 나온 "장사는 돈을 남기는것이 아니라 사람을 남기는 것이다"라는 문구가 떠오르네요..

    좋은 하루가 되시구요..언제나 웃음이 가득하시길 빌겠습니다.

    • Favicon of http://blog.java2game.com jangsunjin 2009/03/03 13:35 address edit & del

      안녕하세요~ 조금이나마 도움이 되셨다니 다행입니다. :-)

      앞으로 본 주제에 대하여 조금 더 깊이 있는 내용을 작성할 예정입니다.

      아마도 마이크로소프트웨어에 기고가 될 것 같습니다.

      잘 정리해서 더 좋은 힌트를 드리도록 노력하겠습니다.


      그리고 좋은 말씀 감사합니다. 저역시 항상 좋은 일이 가득하시고 행복하시길 기원드리겠습니다.

      감사합니다. :)

  12. Favicon of http://www.finebe.com finebe 2009/03/04 11:24 address edit & del reply

    우와~ 마이크로소프트웨어..기고...^-^ 축하드려요...

    전 언제 ㅠㅠ 될까요~ 오늘 아침에도 삽질만 하고...ㅠㅠ

    자주 들리겠습니다..^-^ 그럼 오늘하루도 활기차게 보내시구요..

    • Favicon of http://blog.java2game.com jangsunjin 2009/03/04 13:26 address edit & del

      :-) 감사합니다.

      저도 삽질을 좀 합니다만~ 계속 열심히 파다보면 좋은 것들이 나오기 시작하더라구요~

      그럼 항상 행복하세요~

  13. H 2009/05/06 02:53 address edit & del reply

    글이 너무 맘에 들어 저의 블러그에 올립니다.
    출처사이트 포함해서요.
    좋은 글 감사합니다^ㅡ ^

    • Favicon of http://blog.java2game.com 장선진 jangsunjin 2009/05/06 09:44 address edit & del

      안녕하세요~ H 님 :-)

      우선 제 글을 잘 읽어 주셔서 감사드립니다.
      그리고 옮기시는 것은 언제든지 환영합니다.

      더 좋은 글을 작성하도록 노력하겠습니다.
      감사합니다. ;-)

  14. Favicon of http://blog.daum.net/nanhjb 한종빈 2009/12/01 22:21 address edit & del reply

    프로그래머가 되고 싶은 코더입니다.

    미래의 포부에 매번 아키텍트라고 썼는데 이런 의미가 있었군요.

    저도 글이 맘에 들어 제 블로그에 옮기려고 합니다.

    물론 출처 포함하겠습니다.

    좋은 글 감사합니다 :)

    • Favicon of http://blog.java2game.com 장선진 jangsunjin 2009/12/02 09:19 address edit & del

      안녕하세요~ 한종빈님~
      성함이 왠지 친숙하네요~ ^^

      제 글을 잘 읽어주셔서 감사드리구요~ 언제나 어떤 글이나 마음대로 옮기셔도 궨찮습니다.

      저 역시 함께 나누고 싶어서 올린 글이니까요~
      그럼 좋은 일 가득하시길 기원드리겠습니다. ;-)

  15. Favicon of http://www.ericsink.com/No_Programmers.html Minhyuk Kwon 2010/05/19 13:31 address edit & del reply

    전 이 글이 더 와닫는거 같네요...

    http://www.ericsink.com/No_Programmers.html

    • Favicon of http://blog.java2game.com jangsunjin 2010/05/20 16:23 address edit & del

      아 좋은 글입니다. 저도 잘 참고하겠습니다. 감사합니다. :-)

  16. ppy333 2011/03/30 13:11 address edit & del reply

    좋은글 감사합니다.소프트웨어 아키텍트에 대해 찾아보다가 여기 들리게 되었는데,,,많은 글 들을 보고 가네요^^
    이 글 저도 포스팅 할께요 ^^

    아직 학생이지만, 사람들을 위한 소프트웨어를 만들 수 있도록 열심히 공부해야겠어요! 감사합니다 :

    • Favicon of http://blog.java2game.com 장선진 jangsunjin 2011/04/06 17:20 address edit & del

      안녕하세요~ 장선진입니다
      좋은 도움이 되셨다니 다행이네요~ ^^
      감사합니다~

prev | 1 | next