모바일 오유 바로가기
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도쿄올림픽
  • 게시판찾기
  • 오유인페이지
    개인차단 상태
    하느님™님의
    개인페이지입니다
    가입 : 11-11-16
    방문 : 1688회
    닉네임변경 이력
    회원차단
    회원차단해제
    게시물ID : programmer_12374
    작성자 : sinnic
    추천 : 5
    조회수 : 408
    IP : 183.107.***.128
    댓글 : 5개
    등록시간 : 2015/07/27 13:40:48
    http://todayhumor.com/?programmer_12374 모바일
    점심시간에 심심해서 써보는 내가 졸업과제를 한다면?.
    옵션
    • 창작글
    심심할때마다 프게를 눈팅하는 눈팅러입니다.

    프게를 눈팅하다 보면, 뭔가를 만들어 보고 싶은데 뭘 어떻게 해야할지 모르겠어요. 더군요.

    그래서 점심먹고 심심해서 생각난 김에 제가 풀어 나가는 흐름을 끄적거려 보려구요.

    참고로, 전 주로 Realtime-OS에서 돌아가는 프로그램을 주로 하고 있구요.

    운영체제는 리눅스와 vXXXXX(이건 너무 바닥이 좁아서 XX처리) 주로 쓰고 있네요.

    (가끔 시간의 여유가 있으면 장비와 연동하는 Windows GUI까지 직접 해버리는게 함정. 이게 효율이 더 빠를때도 있더군요.)

    그냥 저런일을 하는 녀석은 저렇게 일하고 있구나.. 정도로 생각해주시면 되겠습니다.

    여기서는, PC와 휴대폰간 연동이 되는 To Do List 프로그램을 만들어보고 싶어요. 라는 예를 가지고 끄적거려 보겠습니다.

    To Do List는 일종의 할일 관리 리스트라고 생각하시면 됩니다.

    1. 문제 인식

      사실 가장 중요한 단계입니다. 학부 과제 정도라면 문제가 사실 명확하지만, 고객의 요청사항이라면, 정말 가장 중요한 단계입니다.

      (학부과제는 전공자가 내지만, 고객은 전공자가 아닐 확률이 더 높지요. ㅎ)

      게시판에 글을 쓰시는 대부분의 질문러들께서는 보통 이 1번 단계를 안거치고, 바로 by-pass해서 글을 쓰시는 경우가 많습니다.

      (그런 글을 보면, 의욕이 확 떨어집니다. ㅎ 내 문제를 남이 풀어달라는 거니까요.)

      여기서는 우리의 주제를 가지고 풀어 나가 보죠.

      우리가 만들고 싶은걸 자세하게 쪼개 보면

      할일 목록을 관리하고 싶다.

      PC에서도 사용하고 스마트폰에서도 사용하고 싶다.

      두가지 어느곳에서 사용해도 항상 같은 정보를 유지했으면 좋겠다. 입니다.

      같은 말인데도 쪼개어 풀어놓으니 좀 다른 느낌이죠? 여기서 출발입니다.


    2. 문제 분석

      큰 기능으로 큼직하게 잘라내었으면, 그 큰기능을 하기 위해서 다시 무엇을 해야하는지 살펴봅시다.

      - 할일 목록을 관리하고 싶다

        할일 목록을 관리 하려면 할일을 저장하고, 저장된 할일을 수정하고, 저장된 할일을 삭제하는 기능이 기본적으로 필요하겠지요?

      - PC와 스마트폰에서도 항상 같은 정보를 유지했으면 좋겠다.

        내가 관리한(저장하고 수정하고 삭제했던) 할일 목록이 양쪽에 동일하게 적용되었으면 좋겠다.가 되겠군요.

        여기서 저는 고민합니다. "PC와 스마트폰이 각각 할일 목록을 가지고 있고, 뭔가 바뀔때마다 서로 알려주는 방식을 쓸까?"

        아니면 "공동의 저장공간을 두고, 서로 정보를 가져와서 사용할까?"

        이 선택은 여러가지 변수(상시 사용가능한 DB가 있는가? 등등)에 따라 결정이 달라지겠지만. 여기서 전 후자를 택하겠습니다.


    3. 기본설계
      
      자 기본적인 문제가 정리 되었습니다.

      저는 공동의 저장공간을 두고, PC와 스마트폰에서 모두 접근가능한 할일 목록을 관리(저장, 수정 삭제)하는 프로그램을 만들겁니다.

      그럼 저 기능을 만들기 위해 기본적으로 무엇이 필요할까를 고민해 봅니다.

      먼저 공동의 저장공간이 필요합니다. 저는 관리의 편의성을 위해 DB를 적용하기로 합니다. 거기다 전 돈이 없으므로, 열심히 구글링 해서 무료 DB를

      검색하여 선정합니다.

      두번째로 공동의 저장공간에 접근하기 위한 방법을 고민해 봅니다.

      각 기기(PC, 스마트폰)에서 직접 DB에 접근할 수도 있고, DB가 설치된 서버에서 중간 역할을 하는 프로그램을 하나 두고, 거기로 접속하여 관리하는

      방법을 두고 고민합니다.(참고로 이런 모든 선택은 최선의 선택이 아닙니다. 제 판단이니까요. 제가 할수 있겠다 싶은 방법을 택하는 겁니다.)

      여기서는 중간에 프로그램을 하나 두는 형태를 선택하겠습니다. 아무래도 직접 DB에 접근하는 경우는 개인적으로 찝찝해합니다. ㅎ

      그러면 다시 정리 해 보겠습니다.

      저는 DB를 두고, DB를 관리하는 중간 프로그램을 통하여, PC와 스마트폰에서 동시 접근하여 할일 목록을 관리 하는 프로그램을 만들겁니다.

      어라? 중간 프로그램과 기타 기기들이 어떻게 서로 접근하고 할일 목록을 관리할지가 정해지지 않았군요?

      그것부터 정해야 겠네요. 여기서는 스마트폰에서도 사용가능하고, PC에서도 사용가능한 방식을 정해야 겠네요.

      전 Ethernet 기반 UDP 통신을 사용하겠습니다. (여기도 선택한 부가적인 이유들이 있지만, 생략하겠습니다.)

      그럼 우리는 DB를 두고 DB를 관리하는 중간프로그램과 주변기기(PC와 스마트폰)간 UDP통신을 통하여

      할일 목록을 관리하는 프로그램을 만들면 되겠군요.


    4. 상세 설계

      기본적인 설계가 끝났으니 이제 우리는 다음에 대한 설계를 시작합니다.

      우선 DB를 두기로 했으니, DB에 어떤식으로 저장할지에 대한 설계가 필요하겠지요?

      두번째로 UDP로 명령을 받아서 DB를 제어하는 프로그램에 대한 설계가 필요할테구요.

      세번째로 PC에서 동작할 UDP를 통하여 중간 프로그램과 연동할 프로그램을 설계해야 하구요.

      마지막으로 스마트폰에서 동작할 UDP를 통하여 중간 프로그램과 연동할 프로그램을 설계해야 하네요.

    5. 구현

      뭐 따로 설명하지 않겠습니다. ㅎ 닥치고 코딩인거지요. 



    간단하게 써볼려고 했더니 기네요. 개발에 들어가기 전까지의 간단한 흐름 정도라고 보시면 될꺼 같네요.

    개인적인 바램으로 프게에 질문하실때에는 

    뭔가 만들고 싶은데 뭘로 만들어야 할지 모르겠다! 하실때에는

    최소한 2단계까지는 거치고 질문하시는게 원하시는 답을 얻는게 빠를겁니다.


    뭘 만들고 있는데 잘 모르겠다! 아이디어가 안떠오른다! 하실때에는

    최소한 4단계는 완료하셨거나, 5단계 진행중일때, 위를 예로 하면,

      그럼 우리는 DB를 두고 DB를 관리하는 중간프로그램과 주변기기(PC와 스마트폰)간 UDP통신을 통하여

      할일 목록을 관리하는 프로그램을 만들고 싶은데 DB설계를 어떻게 해야할지 감이 안잡혀요와 같은 형태로

    질문하시는게 원하시는 답을 얻어낼 가능성이 높다고 생각합니다.

    프로그램이 막연하게 어렵다. 라고 생각하시기보다, 차근차근 접근해 나가시면, 좀 더 도움이 되실거라고 생각합니다.

    언어에 대한 이해도, 코딩 스킬등도 물론 매우 중요합니다만. 가장 기본적인 소양은, 한가지 명제에 대해서 분석하고 잘게 쪼개어서

    작은 단위 하나하나로 나눈 다음 그걸 구조화 시키는게 가장 기본이라고 생각합니다.

    두서없이 끄적거렸더니 무슨 말인지 잘 모르는 부분도 많으실거라 생각됩니다.

    댓글로 물어보시면 최대한 답글 달아드리겠습니다.
      
    출처 내 머리속.
    sinnic의 꼬릿말입니다
    오늘의유머 꼬릿말 서비스 by ActiveXXX

    이 게시물을 추천한 분들의 목록입니다.
    [1] 2015/07/27 13:47:29  119.192.***.28  모래늪  172557
    [2] 2015/07/27 14:12:16  112.172.***.225  내맘의눈  636655
    [3] 2015/07/27 14:13:38  124.137.***.43  kosi  439167
    [4] 2015/07/27 14:35:01  210.95.***.36  구차니  168644
    [5] 2015/07/27 14:58:48  203.247.***.162  꾸르렁꾸르렁대  552816
    푸르딩딩:추천수 3이상 댓글은 배경색이 바뀝니다.
    (단,비공감수가 추천수의 1/3 초과시 해당없음)

    죄송합니다. 댓글 작성은 회원만 가능합니다.

    번호 제 목 이름 날짜 조회 추천
    23
    빠대/13렙 납치 부탁드립니다. sinnic#3568 [1] 하느님™ 16/07/03 20:58 20 0
    22
    선물이다냥 [2] 창작글외부펌금지 하느님™ 16/01/09 12:55 93 5
    21
    권리당원 신청했습니다. [6] 창작글 하느님™ 15/12/17 14:35 82 11
    20
    프로그램 공부를 위한 책 추천. [2] 창작글본인삭제금지 sinnic 15/12/10 15:21 41 1
    점심시간에 심심해서 써보는 내가 졸업과제를 한다면?. [5] 창작글 sinnic 15/07/27 13:40 72 5
    18
    베오베 보내주신데 대한 감사의미로 둘째 영상 방출합니다. 창작글 sinnic 15/06/25 23:37 33 4
    17
    주인님 삐진걸 달래는 노하우 공유좀 부탁드립니다. [7] 창작글 sinnic 15/06/23 13:45 80 11
    16
    제가 이상한걸까요. 흠. [9] 창작글본인삭제금지 sinnic 15/06/04 15:38 67 4
    15
    [극혐/클릭하기전에 주의하세요]강아지 학대 동영상(공게로 이동하였습니다) [3] sinnic 14/08/24 20:44 60 0
    14
    지금까지 힘들어 잠못들고 계신분들.. [4] sinnic 14/08/18 02:10 117 15
    13
    [러스트]서버를 운영하고 있는 녀석입니다. + 잡설 [3] sinnic 14/08/16 20:44 50 7
    12
    [러스트]죄송합니다. 모드 적용중 제 실수로 인하여 데이터가 리셋되었습니 [7] sinnic 14/08/11 00:44 82 3
    11
    [러스트]서버 오픈 하였습니다. [37] sinnic 14/08/10 15:41 71 2
    10
    [러스트]서버 개장 했습니다. [18] sinnic 14/08/09 18:23 65 7
    9
    [러스트]서버 운영 방향에 대해서 조언을 구하고자 합니다. [18] sinnic 14/08/09 00:22 77 7
    8
    [러스트]눈팅하다 빡쳐서 해보는 수요 조사 [14] sinnic 14/08/08 20:54 75 5
    7
    [러스트]보통 러스트 서버 접속인원이 몇명인가요? [3] sinnic 14/08/08 20:03 44 0
    6
    데이즈... 오늘 첨해보니 이건 뭐.... [1] sinnic 14/08/02 23:48 99 0
    5
    저도 질러버렸습니다. 데이즈... [4] sinnic 14/08/01 21:51 100 2
    4
    우리 희망적인 글도 좀 써봐요. ㅎㅎ [27] sinnic 14/07/27 16:29 42 10
    3
    그.. 저... 저도 추..추천인 가지고 싶어요..;;; [5] sinnic 14/07/26 22:34 92 0
    2
    뭔 질문이 이리 많나 했더니.... sinnic 14/04/18 01:44 42 1
    1
    진격의 병오!! [3] sinnic 13/06/08 12:53 31 1
    [1]
    단축키 운영진에게 바란다(삭제요청/제안) 운영게 게시판신청 자료창고 보류 개인정보취급방침 청소년보호정책 모바일홈