(2018.4.20, 차재복, Cha Jae Bok, cjbword@gmail.com)  

[파일 구성] ================================================================

ㅁ (소스 환경/구성/설명/보기) ---------------------------------------------------

  ㅇ /test/ [소스설명]
    - 소스 파일 설명 및 웹페이지로 보여주기
       . notice.txt (2018-04-07) : 운용 환경 및 개발 방향
       . files.txt (2018-04-20)  : 소스 파일명 및 보기
       . notice.php (2018-04-07) : 텍스트 파일을 웹페이지로 보기
          .. 기능 구성 : html 선언, html 헤더부 선언 (utf-8 셋팅, mobile 체킹 및 적응, styling), 전달 파라미터(파일명) 처리,
	               해당 파일 내용 입수, file list 배열로부터 해당 파일의 최종수정일 등을 삽입, 입수된 파일 내용 출력,
                       저작권 알림, 소스 개방 알림, 접속통계 처리
          .. PHP 함수 : date(), empty(), file_get_contents(), foreach(), htmlspecialchars(), is_numeric(),
	               isset(), realpath(), str_replace(), substr()
	  .. PHP 전역 변수 : $_GET[]
       . view_src.php (2018-02-23) : 소스 파일을 웹페이지로 보기
    - 소스 폴더 및 파일 리스트
       . dir_files.php (2018-04-20) : 모든 폴더 및 파일 명칭 리스트화 (PHP 배열 활용)
          .. 주요 스크립트 파일이 이 배열 내용을 참조함


ㅁ (구현 모듈 목혹화) ------------------------------------------------------

  ㅇ /test/example : 구현 모듈 마다 실제 소스 구성/설명/보기 등은 수행시 상단에 보여줌
    - example.php (2018-04-20) : 메인 스크립트 파일
       . 기능 구성 : 세션 설정, db 접속, html 선언, utf-8 캐릭터셋 선언, 모바일 셋팅, styling, javascript/jQuery,
                   전달 변수 처리, 상단 타이틀 출력, db에 의한 목록 구현 (heirarchy 형태로 보기), 저작권 알림, 소스 개방 알림,
		   접속통계 처리
       . PHP 함수 : empty(), is_numeric(), isset(), session_start(), substr()
       . PHP 전역 변수 : $_SESSION[], $_REQUEST[]
    - ex_array.php (2018-03-29)
    - ex_preface.php (2018-03-27)
    - example.js (2018-04-20)
    - example_ajax.php (2018-04-17)
    - example_tbl_chk.php (2018-04-05) : db 테이블 관련 처리 
    - example_update.php (2018-04-20)
    - example_utils.php (2018-04-20)
    - example_tbl_utils.php (2018-04-17)

    - 데이터베이스 (example_tbl_chk.php에서 생성 등 db 테이블 관련 처리 sql 있음)  
       . db 테이블 명 : example
       . 테이블 구조 : id int(11), parent int(11), sub_seq int(11), name varchar(40), file varchar(20), desc varchar(100)
       . 계층 구조 상 노드 표현 : parent (부모), sub_seq (순서화된 자식)
       . 데이터 접근 방식 : 재귀적 방식


ㅁ (공통 기능 모음) --------------------------------------------------------

  ㅇ /test/base_utils [공통기능]
     - 재귀적 검색 mysql 루틴 
        . getpath_v2_proc.sql (2018-01-10)
        . MySQL은 재귀적 기능의 함수를 지원 안하므로, 이를 가능케하는 procedure 루틴 
     - 소스 개방 안내문
        . open.php (2018-03-28)
     - 통계 처리 루틴
        . stat_utils.php (2018-04-20) : 
     - 수식 표현 자바스크립트 라이브러리
        . mathjax_config.php (2018-01-28)
     - 테스트편집자로 로그인/로그아웃 (PHP session 기능 활용)
        . editor_login.php (2018-04-17)
        . editor_login_ok.php (2018-04-05)
        . editor_logout.php (2018-01-10)
     - 웹페이지 초기 설정 
        . config.php (2018-04-17) : db 접속, html head
        . db_conn.php (2018-03-20) : db 접속 만
        . html_head.php (2018-01-18) : html head 만
	. mobile.php (2018-03-16) : 모바일 여부에 따른 셋팅


ㅁ (정보통신기술용어해설 개선) -------------------------------------------------

  ㅇ /test/items [분류관리]
     - items.php (2018-01-10) : 메인 파일
        . PHP 함수 : empty(), is_numeric(), isset(), session_start(), str_replace(), strlen(), substr(),
	. PHP 전역 변수 : REQUEST[], $_SESSION[]
     - items.css (2018-01-10) : 메인 스타일
        . CSS : font-size, padding-left, padding-right
     - items_jq.js (2018-02-08) 
        . jQuery 메소드 : ajax(), alert(), attr(), closest(), confirm(), css(), data(), find(), hide(),
	                 indexOf(), keydown(), nextAll(), on(), prev(), preventDefault(), prop(), push(),
			 show(), siblings(), splice(), submit(), text(), toggle(), val()
     - items_ajax_page.php (2018-01-29) : Ajax 호출시 수행됨
        . PHP 함수 : empty(), is_numeric(), isset(), session_start(), substr()
	. PHP 전역 변수 : REQUEST[]
     - items_display.php (2018-02-08) : 분류 항목/용어해설 항목들을 navigation menu 형태로 보여주기
        . PHP 함수 : array(), foreach(), function_exists(), strpos(), str_repeat()
     - items_table.php (2018-01-29) : 화면 구조의 테이블 형태 구현
     - items_table.css (2018-01-31) : 화면 구조 테이블 스타일
     - items_srch_display.php (2018-02-09) : 항목명 검색 및 그 결과를 보여주기
     - items_update.php (2018-03-01) : 업데이트 요청 수행 (db 처리)
     - items_utils.php (2018-01-31) : 공통 기능 모음

  ㅇ /test/search [용어검색]
     - srch.php (2018-04-20) : 검색 메인 파일
     - srch.css (2018-01-10) : 검색 스타일
     - srch_page_utils.php (2018-04-20) : 페이지 정보
     - srch_utils.php (2018-01-10) : 검색 관련 루틴 모음

  ㅇ /test/view [해설보기]
     - view.php (2018-04-20) : 메인 파일
     - view.css (2018-04-17)
     - view_anti_hack.php (2018-04-20)
     - view_body_text.php (2018-01-10)
     - view_contents.css (2018-01-10)
     - view_contents.js (2018-01-10)
     - view_contents_ajax.php (2018-01-10)
     - view_contents_db_qry.php (2018-01-10)
     - view_contents_display.php (2018-04-14)
     - root node에서 leaf node까지의 path 보여주기
        . view_path.css (2018-01-10)
        . view_path.php (2018-04-14)
        . view_path_jq.js (2018-01-10)
     - 분류 요약 보여주기 
        . view_summary.css (2018-01-10)
        . view_summary.php (2018-04-14)
     - view_top_section.php (2018-04-17)
     - view_top.css (2018-04-17)
     - view_utils.php (2018-04-14)
     - view_word.php (2018-04-17)

  ㅇ /test/yoyak [분류요약]
    - yoyak.php (2018-04-20) : 메인 파일
    - yoyak_contents.css (2018-04-20) : 메인 스타일
    - yoyak_contents.js (2018-04-20) : 자바스크립트(제이쿼리)
       . 1) ▷ 클릭시, 페이지 기반으로, 해당 id에 대한 하부 항목들을 보여줌 (ajax 호출, yoyak_contents_ajax.php (2018-01-18))
       . 2) ▷,▽ 클릭시, 조건에 따라 해당 하위 항목들을 펼치기/숨기기
       . 3) .edit_ajax 클릭하면, 편집모드로 바꿈
       . 4) .submit 클릭하면, update ajax (yoyak_update_ajax.php) 호출
    - yoyak_contents_ajax.php (2018-01-18) : Ajax
    - yoyak_contents_db_qry.php (2018-01-10)
    - yoyak_contents_display.php (2018-04-20)
       . PHP functions : foreach(), mysqli_fetch_assoc(), mysqli_num_rows(), mysqli_query(), strpos(), str_repeat(), ...
    - yoyak_detail_items_display.php (2018-01-18)
    - yoyak_update_ajax.php (2018-04-20) : 항목요약 편집 submit에 따른 서버 처리 반환


ㅁ (간이지식관리 개발) ------------------------------------------------------

  ㅇ /test/knowledge [간이지식관리]
    - knowhow.php (2018-02-05) : 메인 파일
    - km_db_conn.php (2018-01-22) : db 접속
    - ajax 호출시 실행 및 그 결과 리턴 
       . ajax_content.php (2018-02-05)
       . ajax_page.php (2018-02-05)
       . ajax_sub_display.php (2018-01-22)
    - css_code.css (2018-01-22)
    - km_db_qry.php (2018-02-05) : db 쿼리 실행
    - 테스트편집자로 로그인/로그아웃 (PHP session 기능 활용)
       . km_editor_login.php (2018-01-22), km_editor_login_ok.php (2018-01-22), km_editor_logout.php (2018-01-22)
    - getpriority_proc.sql (2018-01-10)
    - 항목 관리 버튼 구현
       . item_button.php (2018-02-05) : 항목 관리 버튼
       . item_button.css (2018-01-22) : 항목 관리 버튼 스타일
       . item_button.js (2018-01-22) : 항목 관리 버튼용 제이쿼리
    - item_update.php (2018-01-22) : 항목 내용 업데이트
    - jq_editor.js (2018-01-10)
    - jq_user.js (2018-02-05)
    - km_jq_contents.js (2018-02-05)
    - km.php (2018-01-10)
    - km_top.php (2018-02-05) : 상단 헤더부
    - km_parm_chk.php (2018-01-22) : 전달 파라미터 점검
    - search.php (2018-02-19)
    - stat_function.php (2018-01-22)
    - stat_page.sql (2018-01-10)
    - user_function.php (2018-01-22)


[DB 구성] ================================================================

ㅁ (단편지식관리 DB 테이블)
  ㅇ 테이블 명 : km
  ㅇ 테이블 구조 
    - id int(11) auto_increment, parent int(11), chap int(11), time datetime, title varchar(80), abbr mediumtext
  ㅇ 계층 구조 상 노드 표현 : parent (부모), chap (순서화된 자식)
  ㅇ 데이터 접근 방식 : 재귀적 방식


Copyrightⓒ written by 차재복 (Cha Jae Bok, cjbword@gmail.com)

   - 실험적 개발중 :   구현 모듈 목록화
   - 용어해설 개선중 :   해설보기   용어검색   요약관리   분류관리
   [ 개발 현황 ]    [ 온라인 소스 ]    [ 파일 개방 ]