모바일 오유 바로가기
http://m.todayhumor.co.kr
분류 게시판
베스트
  • 베스트오브베스트
  • 베스트
  • 오늘의베스트
  • 유머
  • 유머자료
  • 유머글
  • 이야기
  • 자유
  • 고민
  • 연애
  • 결혼생활
  • 좋은글
  • 자랑
  • 공포
  • 멘붕
  • 사이다
  • 군대
  • 밀리터리
  • 미스터리
  • 술한잔
  • 오늘있잖아요
  • 투표인증
  • 새해
  • 이슈
  • 시사
  • 시사아카이브
  • 사회면
  • 사건사고
  • 생활
  • 패션
  • 패션착샷
  • 아동패션착샷
  • 뷰티
  • 인테리어
  • DIY
  • 요리
  • 커피&차
  • 육아
  • 법률
  • 동물
  • 지식
  • 취업정보
  • 식물
  • 다이어트
  • 의료
  • 영어
  • 맛집
  • 추천사이트
  • 해외직구
  • 취미
  • 사진
  • 사진강좌
  • 카메라
  • 만화
  • 애니메이션
  • 포니
  • 자전거
  • 자동차
  • 여행
  • 바이크
  • 민물낚시
  • 바다낚시
  • 장난감
  • 그림판
  • 학술
  • 경제
  • 역사
  • 예술
  • 과학
  • 철학
  • 심리학
  • 방송연예
  • 연예
  • 음악
  • 음악찾기
  • 악기
  • 음향기기
  • 영화
  • 다큐멘터리
  • 국내드라마
  • 해외드라마
  • 예능
  • 팟케스트
  • 방송프로그램
  • 무한도전
  • 더지니어스
  • 개그콘서트
  • 런닝맨
  • 나가수
  • 디지털
  • 컴퓨터
  • 프로그래머
  • IT
  • 안티바이러스
  • 애플
  • 안드로이드
  • 스마트폰
  • 윈도우폰
  • 심비안
  • 스포츠
  • 스포츠
  • 축구
  • 야구
  • 농구
  • 바둑
  • 야구팀
  • 삼성
  • 두산
  • NC
  • 넥센
  • 한화
  • SK
  • 기아
  • 롯데
  • LG
  • KT
  • 메이저리그
  • 일본프로야구리그
  • 게임1
  • 플래시게임
  • 게임토론방
  • 엑스박스
  • 플레이스테이션
  • 닌텐도
  • 모바일게임
  • 게임2
  • 던전앤파이터
  • 마비노기
  • 마비노기영웅전
  • 하스스톤
  • 히어로즈오브더스톰
  • gta5
  • 디아블로
  • 디아블로2
  • 피파온라인2
  • 피파온라인3
  • 워크래프트
  • 월드오브워크래프트
  • 밀리언아서
  • 월드오브탱크
  • 블레이드앤소울
  • 검은사막
  • 스타크래프트
  • 스타크래프트2
  • 베틀필드3
  • 마인크래프트
  • 데이즈
  • 문명
  • 서든어택
  • 테라
  • 아이온
  • 심시티5
  • 프리스타일풋볼
  • 스페셜포스
  • 사이퍼즈
  • 도타2
  • 메이플스토리1
  • 메이플스토리2
  • 오버워치
  • 오버워치그룹모집
  • 포켓몬고
  • 파이널판타지14
  • 배틀그라운드
  • 기타
  • 종교
  • 단어장
  • 자료창고
  • 운영
  • 공지사항
  • 오유운영
  • 게시판신청
  • 보류
  • 임시게시판
  • 메르스
  • 세월호
  • 원전사고
  • 2016리오올림픽
  • 2018평창올림픽
  • 코로나19
  • 2020도쿄올림픽
  • 게시판찾기
  • 오유인페이지
    개인차단 상태
    노력의천재님의
    개인페이지입니다
    가입 : 12-03-06
    방문 : 896회
    닉네임변경 이력
    회원차단
    회원차단해제
     

    노력의천재님의 댓글입니다.
    번호 제목 댓글날짜 추천/비공감 삭제
    558 금빛모자이크 극장판 나왔나요?? [새창] 2017-03-01 21:11:38 0 삭제
    오... 찾아보니 일본에서는 작년에 개봉했었군요!! 극장판으로 나올거라곤 생각도 못했는데!! :D
    557 열도의 흔한 모에화 [새창] 2017-02-22 00:03:47 0 삭제
    진짜 신기하네요!!.. 모에화의 끝은 어디인가?!
    556 다가시카시에 나오는 사야 예쁘네요 [새창] 2017-02-21 13:09:53 0 삭제
    원래 사야가 좋습니다!!! ㅠㅠ 매력있잖아요!!
    555 프로그래밍을 가르친다면 언어는? [새창] 2017-02-17 18:52:41 0 삭제
    개인적으로 C# 추천합니다~
    554 원 게시글이 삭제되었습니다. [새창] 2017-02-14 16:59:37 0 삭제
    우와!! 정리글 대박!! 추천!!!!!!!!!!!
    553 2017년 1분기 일상물의 권력서열이 어떻게 되는줄 아느냐? [새창] 2017-02-12 14:57:12 0 삭제
    크으....모에모에잖아!!!!!!!!!!!!!!!!!!!
    552 java.lang.NullPointerException 오류 질문! [새창] 2017-02-07 20:01:31 0 삭제
    Error 메세지 로그를 잘 보세요.. :)
    551 막쓰는 엔진 ( 2D 게임엔진 개발중! ) [새창] 2017-02-05 21:13:20 0 삭제
    오!! 흥미롭네요. 지켜보겠습니다. :)
    550 학생으로서 궁금합니다!! [새창] 2017-01-14 21:37:29 0 삭제
    지나가는 게임 프로그래머 취준생입니다.
    부족한 사람이지만 아는내용 최대한 적어보겠습니다.

    작성자님이 언급한 1, 2번 항목에 대해 이야기를 풀어보겠습니다.
    1. "오로지 프로그래밍 + 관련된 분야를 깊숙하게 공부하고 그와 관련된 활동을 하면서 성장한다(학력 없이!!) "
    -> 대한민국이 학력에 대한 차별없이 그 사람이 가진 열정과 실력으로만 승부를 볼 수 있는 세상이면 좋겠지만 현실은 그렇지 않습니다. 차별은 존재합니다. 그리고 차별에 대한 정도는 개인적으로는 크다고 느꼈습니다. (경험으로..)
    -> 개인적으로 실력을 키우는데 있어 가장 좋은건 뛰어난 사람들과 함께하는거라 생각합니다. 뛰어나다 라는건 무슨 의미일까요? 단순하게 보자면 프로그래밍 이라는 학문에 대해 깊이가 있는 사람들을 지칭할겁니다. 그렇다면, 어디를 가야 뛰어난 사람들과 함께 할 수 있을지는 Case by Case 입니다만, 일반적으로 기술력이 뛰어난 회사, 공대로 유명한 4년제 대학교등이 있겠군요.
    -> 어떤 학문이건 기본은 중요합니다. 그 기본을 배우기 가장 쉬운곳은 학교라고 생각합니다. 물론 혼자만의 노력으로 달인이 되는 경우도 있습니다.
    하지만 흔치는 않다고 봅니다. 따라서, 공부를 함에 있어 학교를 다니는걸 배제하는건 좋은 선택이라고 생각되지 않습니다.

    2. "무조건 학력부터 가지고 프로그래밍을 하자!!"
    -> 학력부터 가지고 간다는게 우선은 대학입시를 목표로하고 프로그래밍은 잠시 접어두자. 라는 의미라면 저는 조금 다르게 생각합니다.
    입시공부를 위해 자신이 좋아하는 일을 한순간에 내던져버리는게 쉬운일이 아닙니다. 프로그래밍과 입시공부가 양립할 수 있냐에 대한 부분은 충분히 유동적으로 조절 가능하다고 봅니다. 예를들어 하루에 30분정도 시간을 내어 프로그래밍을 해보는게 그렇게 불가능한 일은 아닐겁니다.

    열심히 이야기를 적어보았습니다. 작성자님은 두가지 방법중에 1개를 선택하고 싶은 것 같습니다만, 저라면 입시공부를 하는 동시에 프로그래밍도 즐기며 해보겠습니다. 앞서 말했지만, 충분히 양립할 수 있다고 생각합니다. 그리고 인생은 본인이 걸어가는 길입니다. 본인이 선택하고 그에 따른 결과를 책임져야 합니다. 그러니 주변에서 하는 말에 경청하고 고민하되 일방적으로 의존은 하지 않는게 현명한 선택이라 생각됩니다. :) 제가 쓴 덧글도 그저 참고만 해주세요.
    549 [선택장애,조언부탁][C++,Java] 다음 프로그램으로 뭘 만들까요? [새창] 2016-12-10 13:23:54 0 삭제
    틀린 내용이 있을수도 있으니.. 참고만하시고 정확한 내용은 MSDN 레퍼런스를 참고하세요~
    548 [선택장애,조언부탁][C++,Java] 다음 프로그램으로 뭘 만들까요? [새창] 2016-12-10 13:23:02 0 삭제
    좀더 글을 붙이자면, C/C++ 같은 언어에서는 포인터라는 개념을 통해 메모리에 직접 접근하는게 가능합니다. 이에 따라서 메모리 관리에 대한 책임이 프로그래머한테 전가된다면, 반대로 C#/JAVA같은 경우 C/C++의 포인터처럼 직접 메모리에 접근해서 뭔가를 수정하는 방식을 쓰지 않습니다.(제가 아는 내용에서는) 대신에 레퍼런스(참조)라는 방식이 있으며 이는 포인터라는 개념으로 봐도 좋죠. 그러나 프로그래머가 직접적으로 코드에 적고 관리하지는 않는거라 생각하면 될 것 같습니다. 예를 들면..
    C#의 경우 변수 타입의 경우 reference 와 value 타입이 있습니다. 레퍼런스 타입은 class 같은게 대표적이고 벨류타입은 int, float, struct 등이 있겠네요. A라는 Class가 있다고 생각해보면,
    A aObject = new A(); // (C++코드로 보면) A* aObject = new A();
    이는 A클래스에 대한 인스턴스를 생성하는거죠. 그리고
    A temp = aObject; // (C++코드로 보면) A* temp = aObject;
    A클래스 오브젝트를 담을 수 있는 변수에 aObject 를 대입하면, temp 변수는 aObject를 가리키게 됩니다. temp.value = 5 를 하게되면 aObject의 value값이 5로 변하게 되죠. 이런식으로 레퍼런스 타입은 C#에서 C++/C에서 흔히 보는 포인터개념과 비슷합니다. 그러나 C++/C에서 처럼 포인터에 대해서 ++, -- 연산자나 *을 이용해서 메모리에 대한 접근이 자유롭지 않습니다. 정확하게는 이게 제공되지도 않습니다. ( 제가 알기로는. )
    조금 복잡해졌는데, 모든 언어에서는 포인터라는 개념이 있을겁니다. 메모리에 접근하는건 기본이니까요. 다만, C/C++의 경우 접근을 하는데 있어 더 넓고 자유로운 환경이 있고 대신에 메모리 해제 및 할당에 대한 책임이 있고 반면에 C#의 경우 그런 자유를 제한하는거죠. 대신에 내부적으로는 앞서 얘기햇듯이 레퍼런스 타입의 변수들은 포인터처럼 행동을 합니다.
    547 [선택장애,조언부탁][C++,Java] 다음 프로그램으로 뭘 만들까요? [새창] 2016-12-10 13:08:20 0 삭제
    ㅋㅋㅋㅋ 글쎄요. 잘하는 프로그래머의 기준이 뭔지 저도 궁금합니다. 포인터를 잘쓴다는게 결국은 컴퓨터 메모리에 대한 부분을 깊게 이해하는거라 생각되고요. 해당 부분이 기본이면서 중요한거이기에 그런 말이 있지않았나 싶네용.

    그리고 작성자분의 글을 보면서 프로그래밍 공부에 대해서 클래스 및 포인터 개념에 대해서 강박감? 중압감을 느끼고 그거에만 너무 포커스를 맞추는게 아닌가 생각이 들었고, 제 경험을 비추어서 프로그램을 이래저래 고민하고 생각하며 만들다보면 자연스레 그 모든 과정들이 학습으로 이어진다는걸 얘기하고 싶었습니다. 덧글에서 적었듯이 문자열 처리를 하다보면 메모리나 이에 접근가능한 포인터라는 개념을 자연스럽게 학습이 된다고 생각하거든요. 꼭 문자열 처리만 아니더라도 여러 프로그램을 작성하다보면 필요한 경우도 생기고요. 정확하게는 메모리 처리에 대한 부분은 어떤 프로그램을 만들던간에 반드시 생각하게 되는 부분이긴 하네요.
    546 [선택장애,조언부탁][C++,Java] 다음 프로그램으로 뭘 만들까요? [새창] 2016-12-10 11:14:11 0 삭제
    추가로 포인터에 대해 공부를 하고싶다면, 문자열 처리를 해보시면 도움이 될거라 생각합니다. 그리고 자료구조 에서는 스택, 큐, 링크드 리스트, 트리 구조를 만들면 자연스레 포인터를 사용할테고요.
    545 [선택장애,조언부탁][C++,Java] 다음 프로그램으로 뭘 만들까요? [새창] 2016-12-10 11:11:14 0 삭제
    지나가는 취준생이 조심스레 얘기해봅니다.
    우선, 스도쿠 프로그램을 만드셨다고 하니 이걸로 예를 들어보죠.

    스도쿠 프로그램을 만든다고 해봅시다. 작성자분께서는 C++이라는 언어를 선택하고 해당 프로그램을 작성했습니다. 단순한 알고리즘이기에 프로그램 자체가 단순해져서 뭔가 배우고 학습한 내용이 적은 것 같다. 라고 느끼시는군요. 하지만 스도쿠 프로그램을 정말 사용자가 플레이 가능한 수준으로 만든다고 생각해보죠. 그러면 뭐가 필요할까요? 간단하게 생각해서 우선, UI가 필요할테고, 입력처리, 메모리관리, 버그 또는 에러 발생시 로그를 남기는 시스템, 스도쿠 퍼즐을 생성하는 랜덤하게 생성하는 부분, 예외처리,프로그램 전체에 대한 클래스 구조 그리고 가독성 및 유지보수를 높이기 위한 코드 디자인패턴을 어떻게 적용할것인지등 생각해보면 이래저래 고민할부분이 많습니다.

    또 다른 예를 들어보죠. 어떤 운영체제건 간에 '메모장' 프로그램은 있습니다. 문자열을 저장하는 메모장 프로그램은 그 구조자체가 크게 복잡하지 않습니다. 단순하게 메모를 저장하면 되는거니까요. 그런데 이걸 좀더 파고들기 시작하면 고민할게 많아집니다. 부족한 식견으로 적어보자면..

    1) 컴퓨터가 문자를 표현한다라.. 어떻게?
    -> 제일 간단한 ASCII(이하 아스키) 집합을 살펴봅시다.
    "아스키는 7비트 인코딩으로, 33개의 출력 불가능한 제어 문자들과 공백을 비롯한 95개의 출력 가능한 문자들로 이루어진다. 제어 문자들은 역사적인 이유로 남아 있으며 대부분은 더 이상 사용되지 않는다. 출력 가능한 문자들은 52개의 영문 알파벳 대소문자와, 10개의 숫자, 32개의 특수 문자, 그리고 하나의 공백 문자로 이루어진다." - 위키백과 中
    예를 들어 100 0001 비트열은 -> A를, 100 0111 비트열은 -> G를 표현합니다.
    이런식으로 0과1밖에 모르는 컴퓨터를 위해 사람들이 열심히 고민해서 만든 문자를 표현하는 집합들이 여러개 있습니다. UTF-8, UTF-16, 유니코드등.
    각 나라 언어를 표현함에 있어 방법이 다르다는걸 알았으니 간단하게 예를들어볼게요.
    (환경 : windows10 64bit /C++ / 컴파일러 : MinGW (TDM-GCC-32) )
    char* eng = "H";
     char* kor = "ㅎ";

     cout << strlen(eng) << endl;
     cout << strlen(kor) << endl;

    다음과 같은 코드에서 eng와 kor의 문자열 길이는 어떻게 될까요? ASCII는 1byte( 정확하게는 그중 7비트만 사용) 의 메모리를 먹을테니
    eng의 경우 1바이트가 나올테고요. kor의 경우는 어떨까요? 똑같이 1문자씩 있으니 1byte일까요?...
    위의 답은 eng의 경우 1byte, kor의 경우 3byte가 나옵니다. 이를 보아 똑같이 1문자를 표현함에도 불구하고 각기 다른 표현방법을 쓴다는게 보입니다.

    2) 메모장 프로그램이 여러 나라의 언어를 모두 표현해야 한다면?
    -> 일본어로도 작성하고, 중국어로도 작성하고 싶다면 컴퓨터에서 문자를 표현하는 방법에 대해 알아야겠죠. 영어는 ASCII 라는 집합으로
    표현이 가능한데, ASCII로는 한글이나 중국어는 표현이 불가능합니다. 문자갯수만 보더라도 차이가 있죠. 한글로 예를 들면 자모가 있고 자모를 이용해 많은수의 글자가 만들어지죠.( ex: 값걊겺걉깁겹걉힓햛헓혋...) 글자가 만들어지는 규칙을 이용해서 문자집합을 구성할지, 아니면 생성 될 수 있는 모든 글자에 대해 매핑을 할지.. 여러가지 방법이 있겠죠. 2바이트 조합형, 2바이트 완성형처럼.
    ※ 한글 인코딩 참고 링크 : http://d2.naver.com/helloworld/19187

    1번과 2번 항목의 내용을 바탕으로, 단순하게 생각했던 문자열을 저장하는 메모장 프로그램은 생각보다 복잡해지기 시작했습니다. 어떤 문제가 있을지
    간단하게 생각해보면 컴퓨터에 저장된 특정 메모파일을 불러올 때 입니다.

    "안녕하세요. 나는 james jonny 입니다. 場友都의 의미를 아십니까? 하하하. こんにちは." 라는 문자열이 저장된 파일을 열어보려 합니다. 보시다시피 각 나라 언어가 섞여있습니다. 이때, 파일을 읽어들여 메모를 사용자에게 보여주고 싶은데 어떻게 해야할까요? 1byte씩 읽어서 표현해야할까요? 그치만 영어,한글, 중국, 일본어의 경우 표현방법이 다릅니다. 따라서 1문자를 표현함에 있어 각기 다른 메모리 크기가 사용됩니다. 이를 어떻게 구분지어서 파일을 읽어야할까요?... 만약 메모장 프로그램이 ASCII 표현 방법만 지원한다면, 이 프로그램은 영어를 기반으로한 언어외에는 표현하는데 있어 애로사항이 생기겠죠.

    얘기가 길어졌는데... 정리를 하자면..

    작성자분께서도 현재 포인터와 클래스에 대한 궁금증이 크고 이를 많이 활용하면 프로그래밍에 대한 실력이 쑥쑥 클거라 생각하는 것 같습니다. 물론
    도움이 됩니다. 다만, 반드시 포인터와 클래스를 잔뜩써서 프로그램을 만들고 하는식으로 접근하는건 뭔가... 느낌이 쎄하군요. 그리고 프로그래밍 공부를 위해서 꼭, 반드시 클래스 및 포인터를 쓰자!! 라는식의 생각은 개인적으로 불필요한게 아닌가 싶습니다. 필요한 상황에서 필요한 만큼 쓰는거니까요. 이를 위해 프로그램을 만들기전 머릿속으로 구상하고 설계하는 과정이 중요하겠죠. 목적을 어디에 두고 어느만큼의 상황을 가정하는지에 따라 프로그램을 만드는데 필요한 기능이 달라지니까요.

    그래서.. 제 경험을 바탕으로 프로그래밍 공부하는거에 대해 얘기를 하면서 마무리를 짓겠습니다.
    프로그래머 지망생 또는 현업분들이 프로그래밍 공부에 있어 프로그램을 만드는건 기본이다! 라는거에 대해선 대부분 동의하실테고 저또한 이를 바탕으로 공부를 하며 재미도 많이 느낍니다. 이런저런 프로그램을 만들어보면서 때로는 문자열 처리가 필요했고, 정규식이라던가.. 또는 정수에서 문자로 변환한다던가 등의 기능을 구현해야 할때가 있었습니다. 리눅스에서 만든 text 파일을 윈도우에서 읽어들여야 한다던가.. 루리웹에서 배경화면 게시판에서 이미지를 일일이 손으로 다운받는게 아니라 일종의 간단한 웹크롤러 프로그램을 만들어서 다운받으면 어떨까 해서 시작된 개인 프로젝트도 있고요. 그래서 삽질도 많이해보고 구글링도 해보며 MSDN 같은 레퍼런스 문서도 참고를 하다보니 어떤 생각이 떠올랐습니다.

    " 프로그램을 만드는데 고민을 많이하고 의문점을 가지고 생각할수록 자연스레 공부가 되는구나.."

    그리고 가장 기본적이구나~ 라는것도 느낍니다. 그냥 당연히 해야하는거랄까요.. 추가적으로 공부하고 싶은건 책을 사서보든 사람들과 이야기를 나누던, 오픈소스 라이브러리 소스를 직접 열어서 분석하는것도 있을테고요.

    아무튼!! 어디까지나 개인적인 경험이니 그저 참고만 해주시고요. 즐거운 프로그래밍 공부가 되시길 바랍니다. :D
    544 조언부탁)스도쿠를 푸는 프로그램을 만들다 막혔습니다. 소스코드를 볼까요? [새창] 2016-12-05 11:20:02 0 삭제
    ㅋㅋㅋㅋㅋ 처음에는 다 그렇죠. 하다보면 실력이야 올라가는거죠. 그리고 참고하는거에 자존심을 세울필요는 없다고봐요.
    단순히 참고만하고 동작 원리에 대해서 무시한다면 그건 문제가 되겠지만, 원리 이해를 바탕으로 참고를 한다면 오히려 도움이 될겁니다~
    그리고 다른사람이 작성한 코드도 눈여겨 보면서 왜 이렇게 작성했을까? 라는 고민도 좋은거랍니다.



    [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [다음10개▶]

     
    단축키 운영진에게 바란다(삭제요청/제안) 운영게 게시판신청 자료창고 보류 개인정보취급방침 청소년보호정책 모바일홈