- 작성자가 질문을 받을 수 있는 게시판입니다.
- AMA는 Ask me anything (무엇이든 물어보세요)라는 뜻입니다.
Date 18/10/16 07:45:35
Name   T.Robin
Subject   가짜(-_-) 프로그래머입니다
서른아홉에 처음 개발자 직함을 받았습니다. 개발 경력은 몇개월 안됩니다. 어쨌든 이제는 직업이 되어서 개발쪽 공부를 좀 깊게 한다고 하고 있는데, 이건 뭐 정우성 얼굴 보는것도 아니고 날마다 새롭군요.
재귀함수만 보면 숨이 막합니다. 솔직히 공간 낭비란 측면이 있어서 왜 쓰나 싶기도 합니다. 퀵정렬과 병합정렬은 시간 좀 들이면 대충 돌아가게는 만듭니다(......).
C++을 쓰긴 하는데, C++을 가장 Java처럼 쓰게 만드는 Qt를 전문으로 다루고 있어서 C++ 전문이라고 말하기도 애매하군요.

두 아들녀석의 아빠입니다. 주변 모든 사람들이 인정한 공식 츤데레인 5살 연상의 아내와 함께 살고 있는데 같이 다니면 제가 연상으로 보입니다. 목요일날 부모님 및 동생 부부와 함께 온 가족이 다함께 모여 고지식함이 날마다 천원돌파해 가시는 아버지 칠순 및 몸이 성치 않으신데도 그 연세에 어떻게든 일하시겠다고 고집 피우시는 어머니 생신 기념으로 제주도에 갑니다.

1990년대~2000년대 초반까지 애니메이션을 보는게 낙이었습니다. 자칭 Otaku from 20th century(-_-) 되겠습니다.

뭐 그 외에 기타 여러가지 있을 듯 한데, 뭘 더 말해야 될지 모르겠네요.

하여간 뭐든 좋습니다. 질문 받습니다.



0


April_fool
명작 애니메이션 3작품만 골라보신다면 무엇이 있나요?
T.Robin
초중신 그라비온(산도맨 사마!)
아리아 시리즈(부끄러운 대사 금지!)
그리고 애니메이션은 아닙니다만, 특수전대 데카렌쟈(보스!) 되겠습니다.
April_fool
제가 들어보기라도 한 것은 아리아밖에 없군요.
April_fool
하나 더. 츤데레 누님과의 첫만남은 언제 어떻게 하게 되셨나요?
T.Robin
전 직장동료의 소개팅 되겠습니다.
*alchemist*
개발자 경력이 얼마 안되신다는 게 놀라운데요...?
막막 어려운 글 쓰고 그러셨던거 같은데(...) ^^;
T.Robin
취미가 직업이 된 사례입죠(......).
뭔가 아시는 분들이 보면 헛웃음만 나올겝니다.
*alchemist*
그...그렇군요;;; 저는 글도 그렇고 장비도 그렇고 전문 개발자이신줄 일았거든요
T.Robin
글은 모르겠고 장비라고 해봐야 뒤집어서 접히는게 특징인 Dell 노트북 하나가 전부인뎁쇼(......).
*alchemist*
음... 그...그랬었던 것 같기도 하고 그렇네요 ^^;;;;
Azurespace
코드사이즈도 줄이고 복잡한 작업을 손쉽게 하려고 재귀함수를 쓰는 거죠.
T.Robin
물론 필요하다면 써야 하겠지만, 저는 꼭 필요한 경우가 아니라면 재귀함수의 사용을 배제하고 있습니다. 재귀함수의 가장 큰 문제 중 하나가 공간복잡도가 비교적 높다는 건데, 이게 어느 수준을 넘어서면 시스템 자원을 미친듯이 갉아먹어서 결국 시스템이 뻗어버리는 경우까지 생기더군요. 물론 memoization같은 방법을 쓰면 결과가 훨씬 좋겠지만 이게 아무때나 쓸 수 있는 것도 아니고....... 특히나 아직까지 32비트 실행환경을 고집하는 일부 기업의 경우에는 이런 문제가 더 심각합니다.
Azurespace
글쎄요. 전 스택 크기가 수십 kb 정도밖에 안 되는 임베디드 개발자입니다. 재귀 깊이라던지 몇가지 사려깊게 잘 쓰면 여전히 유용합니다. 터지면 개발자가 잘못 짠거죠.
T.Robin
예, 사실은 제가 재귀함수의 적용에 능숙하지 못해서 회피하는 겁니다. -_-

여기서 제가 가짜인게 들통나는군요.
T.Robin
이왕 이리 된거, 역으로 질문드리겠습니다. 현업에서 재귀함수를 설계할때 요령같은게 있을까요? 이를테면......
1. 이게 재귀로 풀리는지 아니는지 판단하는 방법
2. 재귀함수 설계 요령
3. 일반적인 재귀함수 설정상의 유의점(경험에서 누러나오는 노하우를 공유해주실 수 있다면 더 좋겠습니다만 그런건 말그대로 노하우이니......)
4. 기타

가짜가 진짜께 가르침을 여쭙습니다. OTL
Azurespace
제가 지금 폰으로 월도질 중이라 단답으로 달아서 약간 오해가 있는 것 같은데, 재귀가 나름의 쓸모가 있다는 것이지 재귀호출을 적극 활용해야 한다는 것은 아닙니다. 현업에서는 [재귀호출을 잘 사용하는 방법 1. 재귀호출을 쓰지 않는다.] 라는 말도 있고요. 가능하면 메시지 큐 같은 다른 방법을 많이 쓰게 되죠. (다만, 재귀호출이 공간을 딱히 더 낭비하진 않습니다. 재귀호출을 풀어헤치면 자동으로 자라는 스택 대신 개발자가 힙에 정의한 자료구조를 쓰게 될 뿐이죠.)

그럼에도 불구하고 복잡한 ... 더 보기
제가 지금 폰으로 월도질 중이라 단답으로 달아서 약간 오해가 있는 것 같은데, 재귀가 나름의 쓸모가 있다는 것이지 재귀호출을 적극 활용해야 한다는 것은 아닙니다. 현업에서는 [재귀호출을 잘 사용하는 방법 1. 재귀호출을 쓰지 않는다.] 라는 말도 있고요. 가능하면 메시지 큐 같은 다른 방법을 많이 쓰게 되죠. (다만, 재귀호출이 공간을 딱히 더 낭비하진 않습니다. 재귀호출을 풀어헤치면 자동으로 자라는 스택 대신 개발자가 힙에 정의한 자료구조를 쓰게 될 뿐이죠.)

그럼에도 불구하고 복잡한 시스템에서는 결국 완전히 배제하기 힘든게 재귀호출이기도 합니다. 알고리즘이나 자료구조 자체가 재귀구조를 가지고 있는 경우가 많고 내부 스케쥴러까지 얽히면, 아 이거 생노가다 되겠는데 하고 느낌이 딱 올 때가 있습니다.

그럴 때에 고려할 것들은
1. 알고리즘상 최대 깊이만큼 파고들었을 때 얼마만큼의 스택 용량을 잡아먹는가
2. 다른 컨텍스트가 중간에 끼어들거나, 이 함수가 다른 컨텍스트에서 실행되면서 1에서 상정한 최악의 경우를 넘어서는 경우는 없는가
3. 1 또는 2에서 걸릴 경우 내가 스택 프레임의 크기를 조절할 권한은 있는가 혹은 다른 컨텍스트 전환을 막을 수는 있는가
4. 중간 결과물을 스택 대신 파일 등으로 저장해두는 흑마법을 부려도 되는가(성능에 얼마나 민감한가)

등이 있습니다
T.Robin
이해했습니다. 도움말씀 감사드립니다.
[재귀호출 사용법]은 저도 어디선가 들은 것 같군요.

아울러 생각해보니, 병합정렬같이 매 호출마다 뭔가를 새로 만들어야 하는 경우가 아니면 메모리가 늘어날 일은 없겠네요. (그게 퀵정렬의 장점 중 하나이기도 하고......)
Azurespace
scratchpad가 필요한건 머지소트 알고리즘의 특성이지 재귀의 문제는 아닙니다.

scratchpad memory가 필요없는 inplace merge sort도 존재합니다. worst case time complexity는 scratchpad 쓰는 버전보다 안 좋은데, cache hit율이 높아서 현실 데이터에선 오히려 더 빠른 경우도 많은 녀석이죠.
회색사과
CS로 학부/석사 마치고 일하고 있는 회사원입니다.

퀵소트나 머지소트는 못 짜게 된 지 오래입니다.
저보다 나으시네요 ㅋㅋㅋㅋ

파이썬을 배워보실 생각은 없으신지요? 가짜 개발자에게 최고의 언어 같습니다.
T.Robin
'못 짜게 된지 오래'라면, 지금은 pseudocode 슥 보시면 다시 하실 수 있는 분이시겠군요. 진짜시면서 뭘......
전 저거 짤 수 있게 된지 48시간정도 되었습니다. -_-

Python은 딱 한 번 만져봤습니다. 다른 사람에게 인계할 목적으로 만든 업무용 프로그램이었어요. 반나절 문법만 슥 보고 만들었는데 코드가 원하는데로 움직여주는걸 보고 감탄했습니다. 기회가 되면 다시 써보고 싶습니다. 단, 10Gbps급 패킷을 near-realtime으로 검증하기엔 속력이 많이 느린 것 같더군요(지금 만들고 있는게 그런 거라......).
기쁨평안
음. 궁금한 점이 있는데, 어떻게 하다가 IT쪽으로 옮겨가게 되신거에요?
너무 거창한 질문인 것 같기도 한데, 간략하게라도 좀 여쭤보고 싶습니다.
T.Robin
사실 산업군 자체는 계속 IT이긴 했습니다. 통신사에도 있었고, 호스팅 회사에도 있었고, 개발사에도 있었고요. 단지 업무가 개발이 아니었을 뿐이죠.

이번 회사는 이전 회사에서 제가 알음알음 개발한 것을 눈여겨보신 분이 절 채용하신 겁니다.
모든 조건이 허용된다는 가정하에 다른 직업을 선택할 수 있는 기회가 있다면 무엇을 택하고 싶으신지요? 이유도 말씀해주시면 감사하겠습니다.
T.Robin
국제학교 IT 팀장을 해보고 싶군요. 거기 일이 힘들긴 한데(네트웍. 서버, PC, 각종 IT 보안까지 혼자서 다 관리해야 함+영어 필수), 그만큼 급여도 괜찮고, 아무래도 학교다 보니 애들하고 같이 지내면 뭐 재미있지 않을까...... 싶습니다.
신입 웹개발자에게 뭘 공부할지, 어떤책을 읽었으면좋을지, 자신이 받을 신입개발자에게 원하는 태도나 역량이 궁금합니다
T.Robin
제가 웹서비스 분야는 전혀 문외한이라 뭐라 말씀드리기가 매우 조심스럽습니다만, 그냥 상식선에서 몇가지 말씀드리자면......

= 자바스크립트에 집중하세요. 커피스크립트 등은 쳐다보지 않으시는게 건강에 좋습니다. 단, 타입스크립트는 검토해볼만한 가치가 있습니다.
= 꼭 서버개발자가 아니더라도, 클라우드가 어떻게 돌아가는지 이해하시는게 중요합니다. 최소한 AWS, 그 외에 Google Cloud 및 시간이 되시면 Azure도 살펴보세요. 필요한 경우에는 클라이언트가 웹서버를 통하지 않고 바로 클라우드에 접속하는게 더 나을 수도... 더 보기
제가 웹서비스 분야는 전혀 문외한이라 뭐라 말씀드리기가 매우 조심스럽습니다만, 그냥 상식선에서 몇가지 말씀드리자면......

= 자바스크립트에 집중하세요. 커피스크립트 등은 쳐다보지 않으시는게 건강에 좋습니다. 단, 타입스크립트는 검토해볼만한 가치가 있습니다.
= 꼭 서버개발자가 아니더라도, 클라우드가 어떻게 돌아가는지 이해하시는게 중요합니다. 최소한 AWS, 그 외에 Google Cloud 및 시간이 되시면 Azure도 살펴보세요. 필요한 경우에는 클라이언트가 웹서버를 통하지 않고 바로 클라우드에 접속하는게 더 나을 수도 있습니다.
= 꼰대같은 발언이지만...... 항상 내가 교만하지 않는가 살펴보세요. 지금은 아니더라도 2~3년쯤 지나면 분명 백열각으로 이불킥할 날이 옵니다(-_-;). 저도 이렇게 되지 않기 위해 조심 또 조심하고 있습니다만 쉽지 않네요.
= 지속적인 자기 부정만이 살길인 것 같습니다. 자기가 짠 현재의 코드에 만족하지 말고 혹시 다른 방안이 없을지 계속 생각해보세요. 필요하다면 동일한 솔루션을 처음부터 다시 작성해보는 것도 도움이 됩니다
= Concurrent programming에 익숙해지시면 도움이 많이 되시리라 믿습니다. 더 많은 작업을 더 짧은 시간 안에 처리할 수 있게 되더군요. MapReduce같은 것들이 도움이 많이 됩니다.

...... 두서없습니다만, 일단 생각나는건 이 정도네요. 도움이 되셨으면 좋겠습니다.

P. S:
Toby님 휘하 웹서비스 산업 종사자 여러분, 여기 불쌍한 중생에게 가르침을...... OTL
커피스크립트, jquery는 구시대의 유물이고, es6+ 혹은 타입스크립트는 점점 필수가 되어갑니다.

전공자가 아니라면 기본 지식을 어느정도 쌓아야합니다. 자료구조, os, 네트워크, 언어론.. 나중에 다 뽀록난다고 시니어 개발자분이 말해주셨기도 하고 면접때도 물어보기도 하니까요..
아 반갑습니다. 현업에서 c/c++ 개발15년했습니다.
대략 10년차 부터는, 아무것도 하고 싶지 않고 그렇습니다.
지금도 어느정도는 그렇지만, 입으로만 코딩하고 싶습니다. ㅎㅎ
T.Robin
요즘 참 찾기 힘든 C++ 개발자시군요!
혹시 어떤거 개발하시나요?
믹스메쉬
c/c++ 오래 했었는데 공백이 크니 멀게 느껴지네요.
욕하던 입개발로 넘어오니 삶이 편합니다 ㅜㅜ
T.Robin
아니 뭐 입개발도 입개발 나름이라...... -_-;
(차범근+차두리 입축구 쩌네요 짤)

C/C++ 쓰실때는 어떤쪽 개발하셨나요?
믹스메쉬
임베디드 윈도우/리눅스 드라이버와 통신스택
윈도우 프로그램 및 리눅스 실행바이너리였습니다.
T.Robin
...... -o-
고수님을 뵙습니다. OTL
(전 쳐다보지도 못할 영역.......)
홍차뽀이
개발이 재미있으신가요? 휴..전 잘하지도못하지만, 정말 재미없더라구요.. 매일 출근하면 뭐 문제푸는느낌이랄까?ㅠ 취미가 업으로되셨다니, 정말 존경합니다!
T.Robin
매일 재미있을리는 없죠. 똑같은 일을 해도 맥락에 따라 재미가 있을 수도, 없을 수도 있습니다.

다 그런 것 아니겠습니까.
목록
번호 제목 이름 날짜 조회 추천
1108 지구를 정복하러 온 외계인입니다. 143 [익명] 18/10/02 6597 0
1109 요즘 나온 대중음악 비평 해드립니다. 59 [익명] 18/10/04 5757 0
1110 홍차넷에서 심심을 담당하고 있습니다 88 라떼 18/10/04 6013 0
1111 범아이돌 덕후입니다. 16 [익명] 18/10/05 4382 0
1112 가방끈 짧은 intp입니다. 18 [익명] 18/10/05 5963 0
1113 외로워서 AMA 합니다 35 [익명] 18/10/07 4220 0
1114 INFP 입니다 질문받습니다 8 [익명] 18/10/10 4117 0
1115 오랜만에 ama합니다 44 소라게 18/10/10 4809 0
1116 홍차넷은 참 신기한 곳이군요 120 기역디귿이응 18/10/11 7263 0
1117 직장인인데 독립영화를 만듭니다 26 우라라라라 18/10/12 5234 9
1118 바다... 바다가 보고 싶습니다 46 다시갑시다 18/10/13 5927 0
1119 사회생활 시한부 46시간 모든것을 물어보세요 38 실 성 18/10/13 5930 0
1120 교환학생에 관한 것, 알려드려요. 15 [익명] 18/10/14 3933 0
1121 공황장애가 있습니다.. 9 [익명] 18/10/14 4494 0
1122 질문 받습니다 23 커피최고 18/10/16 5231 0
1123 가짜(-_-) 프로그래머입니다 35 T.Robin 18/10/16 6148 0
1124 AMA 애스크 미 애니뜅 33 그럼에도불구하고 18/10/16 4516 0
1125 요즘 홍차넷 중독인거 같습니다. 질문주세요 47 비형시인 18/10/16 5602 0
1126 머리가 너무 복잡해서 식히고 싶습니다. 23 기쁨평안 18/10/16 4803 0
1127 어제 누군가와 대판 싸우고 절교 비슷하게 됐습니다. 19 [익명] 18/10/16 4834 0
1128 동거 유경험자입니다. 20 [익명] 18/10/16 6063 0
1129 서울에 있는 호텔 뷔페 여러곳에서 밥을 먹어봤습니다. 33 졸려졸려 18/10/18 6798 0
1130 월급도둑...같이 하실래요? 56 리페이스 18/10/19 5319 0
1131 TMI로 답변해드리겠습니다. 35 트리플헤더 18/10/19 5851 0
1132 신입 회원 가입 기념 AMA 받습니다. 80 The xian 18/10/21 6022 0
목록

+ : 최근 6시간내에 달린 댓글
+ : 최근 12시간내에 달린 댓글

댓글
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기