나무위키 컴퓨터 프로젝트

이 문서는 우만위키 프로젝트 관련 문서입니다.

우만위키 프로젝트에 참가해주신 여러분들께 감사드립니다.
참가자 분들은 참가하는 프로젝트 문서의 내용을 꼭 숙지해 주세요.

1 프로젝트 목적

나무위키의 컴퓨터(CSE) 관련[1] 정보들을 더욱 알차게 채우기 위한 프로젝트입니다.
기존에 있는 좋은 문서들을 체계화, 보완하고 부족한 문서들을 채워나가려 합니다. 나무위키의 많은 컴퓨터 능력자들이여, 일어나세요!

문서 작성을 두려워하지 마십시오.

문서를 작성할 때 반드시 완벽하게 작성할 필요는 없습니다. 과감하게 수정하고 옮기십시오. 실수를 두려워하지 마십시오. 모든 이력은 서버에 남아있습니다. 부족한 부분은 프로젝트 기여자들의 리뷰를 통해 채워질 것입니다. 여러분의 지식을 공유해주십시오.
편하게 도움을 요청하십시오.

위키 이용 중에 서술이 지나치게 어려운 문서나 부실글, 오개념, 컴퓨터 관련 정보인데 분류를 모르는 경우 등 도움이 필요하면 하단에 도움이 필요한 문서 칸에 기록해주십시오.

2 논의되고 있는 내용

논의를 위해 토론을 등록한 경우 활발한 참여 유도를 위하여 이곳에도 같이 작성하여 주시길 바랍니다.

  • 진행 중인 논의사항
    • 컴퓨터 제품 관련 문서 취급 여부. #
  • 지난 논의사항
    • 고립된 문서, 재미없는 문서 섹션 추가. #
    • 버퍼 오버플로우 심화 문서에 약간 위험한? 기법을 넣고싶습니다.#
    • 프로젝트 포맷 개정토론#
    • '분류:검색 알고리즘'을 '분류:탐색 알고리즘'으로 변경하는게 어떨까요?#

3 문서 작성시 주의사항

  • 분류 추가
문서 작성이 완료되면 항목에 대한 분류를 반드시 추가해 주시기 바랍니다. 분류 기능에 대해서는 나무위키 문서 분류 기능나무 위키 공식 분류법을 참고하십시오. 보통은 전산학컴퓨터나 그 하위 분류들에 위치하게 될 것입니다.
  • 코드 입력시 규칙
문서 중간에 코드를 입력해야 하는 경우 최소한의 가독성을 위해 들여쓰기와 함께 인라인 코드인용문으로 감싸주십시오. Syntax highlighting은 반드시 해야 할 필요는 없지만 하이라이팅에 도움이 필요하면 하단에 도움이 필요한 문서에 넣어주십시오.

3.1

기본 틀


기본 틀 코드
[include(틀:프로젝트 문서, 프로젝트=나무위키 컴퓨터 프로젝트)]

4 나무위키 컴퓨터 프로젝트와 관련된 분류

5 도움이 필요한 문서

어느 부분이 도움이 필요한지 하단에서 찾아서 문서의 링크와 함께 도움을 바라는 내용을 써주십시오. 최대한 자세하게 쓸수록 더 많은 기여자에게 관심을 끌 수 있습니다. 여러 부분에서 도움이 필요하다면 중복으로 등록해도 괜찮습니다. 문서의 윤곽을 모두 작성했다면 날짜와 함께 리뷰가 필요한 문서 항목에 넣어주십시오.

5.1 우선 작업 사항

아래의 사항들은 다른 것들보다 먼저 작업해야 할 목록입니다. 작업 순서 및 목록은 토론를 통해 결정됩니다.

  • 위키 이용 중에 발견한 미분류 문서들을 적절하게 분류해주십시오. 분류가 애매하다면 하단의 분류 요청에 추가해주십시오.

5.2 고립된 문서

아래 문서들은 다른 문서에서 참조가 되지 않은 문서들입니다. 관련된 문서에 아래 문서들의 참조를 넣어 따뜻한 연말연시를 보낼 수 있도록 도와주십시오.
추가로 발견된 고립된 문서는 아래에 추가해주시기 바랍니다. 고립된 문서는 하루에 한 번 갱신됩니다.

5.3 리뷰가 필요한 문서

5.4 작성중인 문서, 서술 추가 도움

기존 문서나 새로운 문서를 작성할 때, 문서 전체 내용을 작성하기에는 단편적으로만 알고 있거나 내용 부족으로 문서 완성이 힘들 경우 이곳에 남겨주십시오. 작성이 필요한 부분을 적고 틀과 분류를 달면 됩니다. 이곳은 프로젝트 참가자들의 도움을 바라는 공간이지 토막글을 만들어 문서 완성을 떠넘기는 곳이 아닙니다. 도움이 필요한 부분을 상세하게 써주십시오.

  • Microsoft BizSpark - 틀은 어느정도 잡아놓았으나 관련 정보와 지식이 부족하여서 추가 서술 부탁드립니다.
  • 참조에 의한 호출 - 소스코드 부분을 어떻게 해야 되는지 모르겠습니다. 맞는 문법을 보여 주신다면 추후에 참조하여 문서를 작성하는 데에도 도움이 많이 될 것 같습니다.
    • 설명이 너무 어렵습니다. 조금 더 쉬운 언어로 작성할 수 있지 않을까요?
      • 더 쉬운 언어? C로 작성했는데 더 쉬운 언어라 하시면 뭐가 있을까요?
        • 프로그래밍 언어가 어렵다는게 아니라 사용된 용어들이 너무 어렵다는 의미였습니다.
        • C에는 엄밀한 의미에서 참조에 의한 호출이 없지 않나요? CPP로 보이는게 맞을것 같습니다.
    • 참조에 의한 호출, 값에 의한 호출 등을 모두 문서로 분리하기보단 '함수 (프로그래밍)'이라는 문서를 만들어 거기에 통합하는 건 어떨까요?
      • 별 상관 없습니다.
  • 메모이제이션 개요 및 피보나치 수열 예시 부분을 작성했지만 아직 작성할 부분이 많은 것 같습니다.
  • 마크업 언어 도움이 필요합니다. 필요한 문단과 목차 만드는 방법을 모르겠습니다. 어떠한 내용이 담겨야하는지 방향을 제시해주세요.
  • -- 역사, 문법, 많이 쓰는 shell 리스트, shell들간의 차이점 등으로 아웃라인이 분화되어야 할 것 같습니다.
  • 문자열 알고리즘#s-2.2.1 - FSM based search 관련한 코드가 필요한 것 같습니다. Aho-Corasick 알고리즘 부분 보완 요청합니다.
  • BFS - DFS와는 달리 자료가 없는 듯 합니다. 일부 자료는 미로탐색 알고리즘에 있습니다.
    • 일단 일부 추가하기는 했습니다만 학부생이 아닌 관계로 틀린 부분이 있을 시 추가 바랍니다.
  • JavaScript - 최근 트렌드, 즉 emscripten과 asm.js에 의한 자바스크립트 포팅 및 게임 엔진 르네상스 내용 추가요망.
  • 자바 가상 머신 - JVM 구조, 클래스 로더 동작 등의 서술이 필요합니다.
  • 동적 계획법 - 내용에 재귀 함수 및 메모이제이션이 섞여 있습니다. 재귀함수 항목으로 일부 내용 이전이 필요합니다.
  • Microsoft Azure
  • 계산
  • 컴퓨터에서의 수 표현 - 일단 최대한 쓸 수 있는 데까지 썼는데, 학부생이다 보니 내용에 오류가 있을까 두렵습니다.
    • 전체적으로 문체가 백과사전이라기보단 강의노트스럽게 적혀 있습니다.
    • 전체적으로 ISA-specific과 PL-specific이 섞여있습니다.
      • ISA-specific: 1.2.3, 1.3.4 섹션의 경우 해당 캐스팅 및 곱셈은 C/C++에서는 각각 implementation-defined (C++의 경우 reinterpret_cast와 동치) / undefined입니다. 모든 환경에서 서술된 behavior 대로 동일하게 작동한다는 보장이 없어요. #
      • PL-specific: 1.3.1, 1.3.2 섹션에서 컴퓨터가 오버플로우를 알 수 없다고 서술되어 있는데 특정 ISA에서는 알 수 있고 따라서 어셈블리를 통해서 접근 가능합니다. (overflow flag 레지스터를 가진 CPU들) 다만 C/C++ 등 범용 언어에서 해당 플래그에 접근할 방법이 없는 것 뿐입니다.
      • ㄴ제가 작성한게 C언어 기준이여서 그런데... 관련항목을 보강하여 작성해주실 수 있나요?
    • b, 0x를 아랫첨자 (2)(16)으로 교체해야 할 것 같습니다. (코드: ,,(2),, 혹은 ,,(16),,), 예: 10001101(2)
      • ㄴ오... 이런 문법이 있는줄 몰랐습니다. 수정하겠습니다. 다만 16진법은 실제로 0x라는 기호를 앞에 붙여 표현하니까 놔두어도 상관없을것 같은데...
      • ㄴ 언어를 서술하는게 아니라 수학의 수를 컴퓨터식으로 표현하는 것이니 (16)으로 일괄변환이 나을것 같습니다. 0x는 PL-specific입니다.
    • BCD 언급이 필요할 듯 싶습니다. 숫자표시 디바이스 및 구형 임베디드 시스템에서 흔히 쓰이기도 하고, 2010년 문제의 직접적인 원인이라 언급할만 합니다.
    • 엔디안 별 특징이 언급되면 좋겠네요.
      • 빅엔디안: 네트워크 표준 표현이라는 사실
      • 리틀엔디안: 캐스팅 이득 #
  • Ruby on Rails - 내용보강
  • C(프로그래밍 언어) - 코드 fragment를 {{{ }}} 로 묶을것
  • SSD: 항목을 개편하고 있습니다. SSD 컨트롤러의 원리에 대한 설명이 있으면 좋겠는데, 현재 편집자들이 컨트롤러에 대한 지식이 부족하여 관련 내용을 추가할 수 없습니다. 대략적인 원리에 대해서 적어주실 분들의 도움을 구합니다.
  • SMB
  • BtrFS
  • XFS
  • 헝가리안 표기법 - 대충 정리해봤습니다.
  • 스위치#s-6 - L2 스위치에 대한 내용밖에 없는데 L3, L4, L7 스위치에 대한 내용이 보강되어야 할 것 같습니다.
  • GCC - 내용이 많이 부족해 보입니다.
  • 코틀린 - 국내에는 아직 덜 알려진 프로그래밍 언어 코틀린에 대해서 알고 계신 분들의 많은 관심 부탁드립니다.
  • GNS3 - 내용이 심각하게 없습니다
  • CrystalDiskInfo - Raw 데이터 의미(읽는 법) 부탁합니다.
  • Swift(프로그래밍 언어) - 언어에 대한 세부적인 내용이 부족한 것 같습니다.
  • DMB - HD DMB관련해서 기술적 특징과 진행방향등이 추가되면 좋을듯 합니다.
  • NSIS 전반적으로 서술이 부족합니다.
  • 벨먼-포드 알고리즘 내용 추가와 의사 코드 포맷 수정 필요합니다.
  • 아파치 라이선스 내용 추가 부탁드립니다
  • A* 알고리즘 의사코드를 비전공자도 쉽게 알아볼 수 있도록 했으면 좋겠습니다.
  • 국제화 도메인 네임 - 내용이 많이 부실합니다.
  • 제어판 - 내용이 많이 부족합니다.

5.5 신규 작성 요청

링크는 있지만 문서가 존재하지 않는 경우, 또는 참조가 잦은 항목이지만 문서가 존재하지 않는 항목들.

5.6 지적된 문서

오개념, 부실글로 지적된 문서들 일람

  • JNI (15/9/30) -- 내용이 부실합니다. 상위 분류가 위키상에 존재하거나 FFI 같은 상위분류 생성이 필요할 것 같습니다.
    • FFI 문서를 신설했습니다.
  • TTF 내용이 부실합니다. 상위 분류가 위키상에 존재하거나 상위분류 생성이 필요할 것 같습니다.
  • OTF 내용이 부실합니다. 상위 분류가 위키상에 존재하거나 상위분류 생성이 필요할 것 같습니다.
  • 클래스#s-3 - 기본적인 내용이 부실하고 객체 지향 프로그래밍에 하위 항목으로 들어가는 게 좋을 듯.
  • 디렉토리 내용 부실.
  • 더글러스 엥겔바트 - 내용 부실
  • Clojure 내용 부실.
  • Hadoop 문서를 생성 하였으나 내용이 매우 부실하며 빅데이터 관련 프레임워크, 소프트웨어, 시스템을 이용해 보신 분들의 의견이 필요할 것 같습니다.
  • 프로그래밍 언어/코드 예제/난해한 프로그래밍 언어 - 내용이 매우 부실하고 관련이 없는 내용이 많습니다.

5.7 비전공자에게 지나치게 어렵게 서술된 문서

보통은 맥락상 이해가 불가능할 정도로 항목이 없는 전공용어가 많이 등장하거나 어려운 개념을 쉽게 풀어쓰지 못한 경우가 대부분입니다.

  • 브루트 포스 전체적으로 다듬을 필요가 있음. (다듬어질 방향을 제시해주시면 좋겠습니다)
  • 개요에 무슨 기법인지 실질적으로 설명하지 않고 있습니다. 친구 폰에 적용하던(?) 예시 등을 적어주는건 어떨까합니다.

5.8 분류 요청

문서에 대한 분류가 없거나 애매하거나 잘못되어있는 문서들을 모아주십시오. 필요하다면 신규 분류를 생성해서 공유해도 좋습니다.

5.9 Syntax highlighting 도움

하이라이팅 도움이 필요한 문서들. [1]에서 Style: colorful를 이용하여 하이라이팅 해주시기 바랍니다. 의사코드의 경우 가장 비슷한 언어를 찾거나 혹은 Language: Text only로 세팅하시면 됩니다.

6 프로젝트 성과

생성되었거나 보완된 문서는 날짜와 함께 아래에 적어주십시오.

6.1 프로젝트 시작 후 생성/보완된 문서

목록의 아래에 추가해서 날짜순으로 정렬되도록 해주십시오. 만약 리뷰 요청이 아닌 보완해야 할 부분이 있다면 목록 위쪽에 추가하면 됩니다.

7 참가자 서명

서명은 자유입니다. 서명하지 않더라도 프로젝트에 제약 없이 자유롭게 참여할 수 있습니다.

나무위키는 문서 작성을 강요하지 않습니다. 위키의 모든 기여 문서들은 지식을 나누는 즐거움을 위해 자발적으로 작성됩니다. 프로젝트 역시 마찬가지입니다. 하지만 서명을 통해 프로젝트 참여에 대한 책임감을 나타낼 수 있습니다. 서명 등록 및 철회는 언제든지 가능합니다.
  1. #
  2. 영구차단.