- Windows2003Tips . . . . 122 matches
- 음성/테마 적용 및 자바설치등을 해주면 원할한 사용.
* 여기에 이 팁은 Windows 2003 버전을 손쉽게 사용하도록 해주는 기본팁 입니다.
*시작-실행-gpedit.msc-확인-그룹정책개체편집기-컴퓨터구성-windows설정-보안설정-로컬정책-보안옵션-대화형로그온ctrl+alt+del]을 사용할필요없음-더블클릭
-(사용)으로 체크
자동 로그인으로 편안하게 사용하기
* 실행-control userpasswords2-확인-사용자계정-사용자이름과 암호를 입력해야 이 컴퓨터를 사용할수 있슴-체크(해제)-확인-창이 하나 나오는데 여기에 설치시
-우측창에서 시스템 종료이벤트 추적표시 더블클릭-(사용 안함)으로 변경
* 제어판-프로그램 추가/제거-windows 구성요소 추가/제거-Internet Exporer 보안 강화구성-이것을 클릭후 체크(해제)하고 밑에 자세히를 클릭-관리자구성 과 기타 사용자그룹-체크(해제)-다음 클릭-잠시 작업후에 비활성화됨-인터넷옵션 보안에는 보통으로 됨
9. 미리보기 케쉬로 인한 메모리 사용량 과대 방지
미리보기... explorer에서 그림보여주는것..미리보기를 케시해서 메모리사용량만
* 시작-실행-dxdiag-확인-디스플레이 이항목에서 가속을 (최대)로하고 3가지 3D 항목이 사용안함으로 되어 있는것을 (사용)으로 하여준다.
Directdraw - (사용)으로변경
Direct3d - (사용)으로 변경
agp 질감가속 - (사용)으로 변경
* 다음에는 사운드를 사용하기위해서-windows audio 더블클릭-(자동)으로 적용
12. 활성화시킨 Theme 및 Audio 사용하기
13. XP 처럼 디스플레이 사용하기
xp 처럼 바탕화면 아이콘이나 모양을 사용
(시스템으로 설정된 프로세서)와 (메모리사용계획)을 두곳다 (프로그램)으로 한다.
19. 내문서나 미디어플레이어 사용후에 흔적 지우기.
- MoniWikiFaq . . . . 55 matches
'''A''': FreeBSD를 사용하시는군요. 저는 FreeBSD 4.11 에서 MoniWiki를 돌리고 있습니다. 저도 4.x 에서 같은 문제를 겪었습니다. Linux 에서는 {{{$lang='auto';}}} 이나 {{{$lang='ko';}}}로 해도 문제가 없어보입니다. FreeBSD에서는 auto나 en 으로 설정을 해도 경우에 따라서 메뉴나 설명 따위가 깨진 한글로 나오더군요. 리로드하면 영어로 나오기도 합니다. locale 의 문제인지는 모르겠지만 저는 정신건상상에 {{{$lang='en';}}}과 {{{$charset='utf-8';}}}로 설정하였고, locale/{fr,ko,ko_KR.UTF-8}/ 그리고 locale/po/{ko,fr} 은 지워서 쓰고 있습니다. 이렇게 하니까 깨진 한글이 나오지 않고 메뉴와 설명이 영어로 나옵니다.
'''Q''' : Monisetup.php파일에서 셋업을 할 경우 Old password와 New Password의 용도를 알고싶습니다. 비밀번호 바꿀시에만 사용을 하고 그냥 페이지이름등의 update버튼으로 끝나는것이 맞습니까? 그렇다면 아무나 접근경로만 안다면 설정자체까지도 바꿀수 있다는것입니까? 참.. 어렵군요.. ㅠ0ㅠ 답변 부탁드립니다.(꾸벅)
'''A''': 라이센스가 GPL입니다. 고쳐 쓸 수 있으며, 상업적으로 사용도 가능합니다. 다만, 고친 소스는 GPL라이센스하에 공개해야 하겠지요. 개인적으로 고쳐 쓰는 것이라면 상관 없겠구요.
RCS를 저장소로 사용하는 것이 어떤 면에서 ''백업본으로 인한 성능 저하 감소 방지''를 해줄까요? 백업본이 어떤 성능을 저하시키나요? 매 버젼간의 "delta"를 저장하는 RCS가 어떤 경우에 특별히 성능이 좋을까요? -- [김창준]
사실 크게 차이나지 않을 것이라고 생각합니다. 백업본이 많아져서 예를 들어 200개정도 된다고 하면 RCS 역시 느려지겠지요. 백업본이 많아지면 [모인모인]도 느려지더군요 ( GnomeKorea 위키는 지금까지 백업을 하나도 지우지 않아서 info를 보려고 하면 시간이 상당히 걸리더군요. 측정같은 것은 안해봤습니다만) RCS를 사용하면 백업본이 하나만 있는 셈이므로 용량이 줄어드는 장점이 있으리라고 봅니다. 기타 RCS를 사용하면 rcs를 설치해야 하는 문제점이 있겠지요. UseModWiki는 RCS와 비슷한 방식이지만 {{{rcs}}}를 사용하지 않고 구현하고 있더군요. 덕분에 소스가 4천줄 이상입니다. -- WkPark
'' 모인모인에서 백업본이 많아져서 속도가 느려진다면 그건 아마 플랫 파일 시스템을 쓰기 때문에 백업본 목록을 만들 경우 디렉토리 리스트 시스템 콜이 발생하고, 여기에 시간이 오래 걸리기 때문이라고 생각합니다. 아시다시피 CVS 역시 RCS 백엔드를 쓰는데, 리비젼이 많아지면 CVS도 상당히 느려지더군요. 목록을 별도의 화일/디비 등에 따로 관리하는 것이 RCS 사용에서 얻는 성능향상보다는 더 낫지 않을까 합니다. 그런데, RCS에선 과거 히스토리의 일부(예컨대 한 달 이전 기록은 삭제하는 등의 트리밍)를 삭제해 나가는 게 간단한가요? -- [김창준]''
config.php에서 $admin_passwd줄을 지우고 config.php의 퍼미션을 666으로 조정한 후에 MoniSetup을 다시 실행하시던지, mkpasswd.pl을 사용하세요.
mkpasswd.pl을 사용해서 다음과 같이 암호를 만듭니다.{{{
\\}}} 그런 다음 윗 줄을 잘라서 {{{$admin_passwd="b3m0nloMoPsyM";}}}줄을 config.php에 넣으시면 haha를 비밀번호로 사용할 수 있게 됩니다. 물론, 위의 것은 예제이고 암호는 다른 것으로 하세요 :p -- WkPark
보통 "= 제목 ="는 잘 사용하지 않고, "== 제목 =="을 사용하게 되더군요. CSS에 따라서 틀리겠지만요 :) -- WkPark
띄어쓰기 토론과 관련하여, 별도의 제목을 넣을 수 있게 한 방식(#title)을 rc17부터 사용합니다. -- WkPark
처럼 수정하게 되면 ID가 admin인 사용자에게만 편집을 허용하게 됩니다. 다른 ID를 사용하고 싶다면 admin대신에 다른 userid를 입력하시면 됩니다. -- 김대정
'''A''': 네, php 설정파일에서 system() 함수를 사용하지 못하도록 막아둔 것 같습니다. phpinfo() 함수를 실행시켜보면 어떤 함수를 막아두었는지 확인할 수 있습니다. system() 함수를 사용하고자 한다면, 이 부분에 대해 서버 관리자에게 문의를 해야할 것입니다.
'''A''': 지난번 제로보드 관련 보안 권고로 system() 함수를 막아놓은 호스팅업체들이 많더군요. 비슷한 기능을 할 수 있는 popen()으로도 대신할 수 있어요. wiki.php 여시고, system 으로 찾기하셔서 @popen 으로 바꿔주세요. 전 그렇게 편법(?)을 써서 지금 잘 사용하고 있습니다. - vividian
'''Q''' : !TableofContent 를 사용할 때 일정부분의 heading만 출력되고 맙니다.
'''A''' : MoniWiki 의 bug 입니다. 박스(Box, {''''''{{)를 사용하게 되면 발생합니다. 소스의 수정없이 피해가는 편법은 제가 알기로 {''''''{{ 대신에 {''''''{| 를 사용합니다.
'''A''' : 버전 1.0.8에서 1.0.9으로 넘어가면서 생긴 버그입니다. 최근 릴리스 버전을 사용하시면 해결됩니다. Please see http://kldp.net/forum/forum.php?thread_id=4419&forum_id=712
= 모니위키를 한글화 패치한것은 없나요? 사용메뉴얼까지 포함해서... =
'''Q''' : 이 곳에 있는 윈도우즈용 모니위키를 설치해서 StandaloneWiki로 사용하고 있습니다. 그런데, 짧은 텍스트는 저장되는데 좀 길다 싶으면 페이지오류를 일으킵니다. 각종 자료를 정리할 목적으로 설치한 것인데 이런 문제가 발생해서 난감하네요. 길어 봤자 A4용지 1장 분량도 되지 않는데 이상합니다. 제가 무슨 문제인지 알아보려고 했으나, php는 영 낯설어서요. :( 도움 부탁드립니다.
'''A''' : 현재 standaloneWiki의 기능은 제한이 많은 것으로 압니다. 그 때문에, 대부분의 분들이 http://www.apmsetup.com/ 에 가셔서 Apm_setup이란 것을 다운받아서 pc상에서 아파치를 돌리면서 사용하고 계십니다. 저도 그렇고요. 쉽게 설치 가능하고 moniwiki로 전체 기능을 전부 쓸 수 있어서 매우 편리합니다.
- K8S . . . . 42 matches
1. Kubernetes 내장 DNS 서버 사용
* 이 DNS 이름은 쿠버네티스 클러스터 내부에서만 사용할 수 있습니다.
* 기본적으로 ClusterIP 유형의 Service는 TCP와 UDP 프로토콜을 지원하며, 포트는 사용자가 지정할 수 있습니다.
* NodePort는 각각의 노드의 IP 주소와 지정된 포트를 사용하여 Service를 외부에 노출시킵니다.
* 기본적으로 NodePort 유형의 Service는 TCP와 UDP 프로토콜을 지원하며, 포트는 사용자가 지정할 수 있습니다.
* LoadBalancer는 클라우드 공급자의 로드 밸런서를 사용하여 Service를 외부에 노출시킵니다.
* TCP, UDP 등 다른 프로토콜을 사용하는 서비스에 대해서는 Service 자원을 이용해야 합니다.
2. Ingress는 백엔드 서비스를 지정하기 위해 레이블 셀렉터를 사용합니다.
* Ingress 규칙을 적용하기 위해서는 kubectl apply 명령을 사용합니다.
* HTTPS를 사용하는 경우에는 TLS 인증서를 Ingress 자원에 연결할 수 있습니다.
* 클라우드 공급자의 로드 밸런서를 사용할 수 있으며, Nginx, Traefik, Istio 등의 오픈 소스 로드 밸런서를 사용할 수도 있습니다.
* Ingress 규칙을 사용하여 경로 기반 라우팅을 수행하면, 다중 레이어의 서비스 아키텍처를 간편하게 구성할 수 있습니다.
또한, `pathType` 필드를 이용하여 경로 타입을 지정할 수 있습니다. 이 예제에서는 `Prefix`를 사용하여 경로가 `/app1` 또는 `/app2`로 시작하는 모든 요청을 처리합니다.
이 예제를 적용하기 위해서는, `kubectl apply` 명령어를 사용하여 YAML 파일을 클러스터에 적용하면 됩니다.
시크릿은 데이터를 Base64로 인코딩해 가지고 있다가 환경 변수나 마운트된 볼륨으로 파드에 전달하기 전에 디코딩된다. 간혹 시크릿을 보안 기능으로 착각하기도 하지만 Base64는 암호화 기법이 사용된 인코딩이 아니며 보안 측면에서 평문과 동일하다. 그렇다면 왜 시크릿이 컨피그맵보다 안전하다고 할까? 시크릿은 보안을 유지하기 위한 구현 세부사항이 많다. 끊임없이 개선이 이루어지는 중이지만 현재 시점에서는 크게,
그러나 이런 주요 구현과 상관없이 루트 사용자로 시크릿에 접근하거나, 파드를 생성해서 시크릿에 마운트하는 등 다양한 방법으로 시크릿을 읽을 수 있다. 따라서 민감한 정보는 애플리케이션 레벨에서 별도의 암호화가 필요하다.
쿠버네티스 Secret 자원은 상대적으로 안전한 자원입니다. Secret 자원은 Kubernetes에서 제공하는 암호화된 방식으로 저장되며, 기본적으로 메모리 내에만 저장되며, 노드나 Pod에 대한 로깅과 같은 기능으로 보호됩니다. 또한, Secret 자원을 사용하는 컨테이너가 실행되는 노드에서만 액세스 가능하며, 컨테이너 내에서 암호화된 형태로만 사용되기 때문에 데이터가 보호됩니다.
ConfigMap과 비교하여 Secret 자원은 보안적인 측면에서 더 안전하다고 볼 수 있습니다. ConfigMap은 기본적으로 암호화되지 않은 평문으로 저장되며, ConfigMap에 저장된 데이터는 컨테이너 내에서 별도의 암호화 처리를 수행하지 않으면 노출될 수 있습니다. 따라서 ConfigMap에 저장된 민감한 정보를 사용하는 경우, 해당 정보를 보호하기 위해 별도의 보안 처리가 필요합니다.
그러나 Secret 자원도 완전히 안전한 것은 아닙니다. Secret 자원을 사용하는 컨테이너나 Pod가 해킹되면, Secret 자원에 저장된 민감한 정보가 노출될 수 있습니다. 따라서 Secret 자원을 사용할 때는 보안적인 측면을 고려하여 사용해야 합니다.
그러나 이는 단순히 인코딩된 형태일 뿐, Base64로 인코딩된 데이터는 평문으로 보이지만 인코딩된 형태이기 때문에 인코딩을 해제하지 않는 이상 데이터를 읽을 수 없다. 따라서 Secret을 사용하는 컨테이너나 Pod가 해킹되더라도, Base64로 인코딩된 데이터를 해독하지 못한다면 노출될 가능성이 낮아지게 된다.
- 윈도우 레지스트리 . . . . 33 matches
윈도우 레지스트리는 마이크로소프트 윈도우 운영 체제에서 사용되는 중요한 데이터베이스이다. 이 데이터베이스에는 운영 체제, 응용 프로그램 및 하드웨어 설정과 같은 시스템 구성 정보가 저장된다.
레지스트리는 윈도우 운영 체제에서 설정을 저장하고 응용 프로그램이나 하드웨어와의 상호작용을 조정하는 중요한 역할을 한다. 사용자가 시스템 정책을 변경을 할 때나, 설치된 응용 프로그램이 레지스트리를 변경, 저장한다.
윈도우 3.X, DOS 에서는 구성 설정을 담는데 각 프로그램마다 .INI 파일이 사용되었다. 당연히 이러한 파일들이 시스템 여러 곳에 퍼져있어서 찾기가 쉽지 않았는데 윈도우 3.11을 개발하는 동안 .INI 파일을 제거해야 한다는 필요성이 제기되었다. 이에 새로운 파일 형식이 도입되었는데 이 파일을 Reg.DAT 이라 하고 C:\Windows 디렉터리에 저장되었으며 현재 레지스트리 구조의 선구자적 역할을 했다.
키는 레지스트리의 계층적인 구조를 형성한다. 키는 폴더와 유사한 역할을 하며, 다른 키를 가질 수 있다. 각 계층 수준을 나타내기 위해 백슬래시를 사용하며 폴더 경로와 비슷한 구문을 사용한다.
값 이름에 백슬래시를 포함할 수 있다. 하지만 백슬래시를 사용하면 키(경로)와 구별하는 것이 어렵게 될 수 있다. 그래서 레지스트리 값을 이용하는 윈도우 API는 부모 키에 대한 핸들과 값 이름을 따로 파라미터로 받아서 사용한다.
레지스트리 값은 다양한 데이터 유형(type)을 가질 수 있다. 가장 많이 볼 수 있는 유형은 REG_SZ, REG_DWORD, REG_BINARY 이다. 그 외에는 REG_EXPAND_SZ, REG_MULTI_SZ 정도를 제외하면 특수한 경우에만 사용되거나 거의 쓰이지 않는다.
6. REG_BINARY: 이진(binary) 데이터 값. 이미지나 음악 파일과 같은 바이너리 데이터를 저장하는 데 사용된다.
7. REG_NONE: 데이터 유형이 정의되지 않은 값. 거의 사용되지 않는다.
8. REG_LINK: 기호 링크를 저장. 링크된 대상의 경로와 이름을 저장한다. 사용자가 직접 만드는 경우는 많지 않다.
윈도우 레지스트리는 여러 개의 레지스트리 하이브(hive)가 모여서 이루어진 데이터베이스이다. 레지스트리 하이브는 레지스트리 데이터를 저장하는데 사용되는 윈도우 레지스트리의 하위 구조이다. 각 하이브는 별도의 파일로 저장되어 있으며, 윈도우 레지스트리는 이러한 하이브 파일들의 모음이다.
2. HKEY_CURRENT_USER: 현재 로그인한 사용자의 설정 정보를 포함.
4. HKEY_USERS: 모든 사용자 계정의 설정 정보를 포함.
5. HKEY_CURRENT_CONFIG: 현재 사용 중인 하드웨어와 관련된 설정 정보를 포함.
* HKEY_CURRENT_USER (HKCU)는 HKEY_USERS\'''%SID(User's Security identifier)%'''[[FOOTNOTE(사용자를 고유하게 식별하는 값. https://learn.microsoft.com/en-us/windows/win32/secauthz/security-identifiers)]]와 HKEY_LOCAL_MACHINE이 합쳐진 Shortcut이다. *아래 추가 설명. (사용자가 로그인하면 그 사용자의 프로파일에 대한 SID 서브키가 HKEY_USERS 아래 연결된다.)
HKEY_LOCAL_MACHINE 하이브는 하드웨어 설정과 소프트웨어, 네트워크 설정 등과 같은 모든 사용자가 같이 쓰는 전체 시스템 구성 정보를 저장하는 레지스트리이고, HKEY_USERS는 현재 로그인한 모든 사용자에 대한 사용자 프로파일 설정을 저장하는 하이브이다.
* {{{[질문]}}} HKEY_USERS는 시스템에 존재하는 모든 사용자 하이브가 아니라 지금 로그인된 사용자 하이브만 포함되는가?
* {{{[질문]}}} 그렇다면 로그아웃된 사용자의 하이브를 불러들일 수 있는가?
== 레지스트리 사용 ==
* C/C++: Windows API 함수를 사용하여 레지스트리 조작 가능 (e.g. RegOpenKeyEx(), RegSetValueEx(), RegQueryValueEx() 등)
* C#: .NET Framework에서 제공하는 Registry 클래스 사용 가능
- 모니위키 팁 . . . . 26 matches
=== 마크업 문법 사용 ===
=== HTML 사용 ===
`~`를 구분자로 사용하여 네임스페이스를 지정할 수 있다.
`/`를 구분자로 사용하여 상위 페이지와 하위 페이지 간 이동을 할 수 있다.
=== 인터위키 사용 ===
사용 방법:
와 같이 사용한다.
주소 뒤에 ?action= 을 통해 rename 액션을 사용한다.
''''(작은따옴표 네 개) 또는 ''''''(여섯 개)를 사용할 수 있다.
=== Markdown 사용 방법 ===
2. 또는 다음과 같이 [[html({{{)]]#!markdown }}} Markdown 프로세서 블록을 사용할 수도 있다.
Markdown 문법을 이 안에서 사용할 수 있습니다.
위키를 직접 만든 테마로만 운영하고 싶을 경우 다음과 같이 설정할 수 있다. 이 설정을 사용하면 사용자가 설치된 다른 테마로 변경할 수 없다.
* /!\ 1.1.3 에서 편집창이 개선되면서 사용 불가(불필요). -- [hyacinth] [[DateTime(2009-01-06T16:43:58)]]
특정 캐시 디렉토리 삭제(구 캐시 사용)
특정 캐시 디렉토리 삭제(새 캐시 사용)
=== 웹 관리자 도구 사용 ===
cacheadmin 플러그인이 있으므로 웹 관리자 도구 사용해서 캐시를 관리할 수 있습니다:
==== 설치 및 사용방법 ====
Processor #!folding 으로 사용.
- PowerShell . . . . 24 matches
PowerShell 환경 변수는 PowerShell 스크립트에서 사용되는 변수이다. PowerShell 환경 변수는 일반적으로 $ 문자로 시작하며, 변수 이름은 대소문자를 구분한다.
1. 변수 선언: `$` 문자와 변수 이름을 사용한다. `$myVariable = "Hello, World!"`
2. 변수 값 읽기: `$` 문자와 변수 이름을 사용한다. `$myVariable`
3. 변수 값 변경: `$` 문자와 변수 이름을 사용하여 변수에 새 값을 할당한다. `$myVariable = "Goodbye, World!"`
4. 변수 삭제: `Remove-Variable` cmdlet 사용. 예) `Remove-Variable myVariable`과 같이 입력하면 `$myVariable` 변수를 삭제할 수 있다.
* 시스템 환경 변수: PowerShell은 시스템 환경 변수도 읽고 쓸 수 있다. 시스템 환경 변수는 `$env:` 접두사를 사용하여 접근할 수 있다. 예를 들어, `$env:Path` 변수를 사용하여 시스템 Path 환경 변수 값을 읽을 수 있다.
* 사용자 환경 변수: 사용자 환경 변수는 `$env:USERNAME`과 같이 `$env:` 접두사를 사용하여 접근할 수 있다.
PowerShell의 cmdlet은 PowerShell에서 사용되는 기본 명령어이다. cmdlet은 "커맨드 렛" 또는 "커맨드릿"이라고도 불리며, .NET Framework에서 구현된 C# 또는 VB.NET 코드로 작성된다. cmdlet은 PowerShell 스크립트나 명령줄에서 직접 사용할 수 있으며, 직접 만든 사용자 정의 cmdlet도 추가할 수 있습니다.
PowerShell의 cmdlet은 명령어 이름, 매개 변수 및 명령어 출력을 지정하는데 사용되는 동사-명사 구조를 가진다. 예를 들어, `Get-Process` cmdlet은 현재 실행 중인 모든 프로세스를 검색하는 데 사용된다. 이 cmdlet의 이름은 "Get" 동사와 "Process" 명사로 구성되어 있다.
PowerShell에는 수백 가지의 내장 cmdlet이 있으며, 이러한 cmdlet은 파일 및 폴더 관리, 프로세스 관리, 이벤트 로깅, 성능 모니터링 등 다양한 작업을 수행할 수 있다. 일부 cmdlet은 Windows 운영 체제의 서비스나 레지스트리와 상호 작용하는데 사용되기도 한다.
cmdlet은 일반적으로 파이프라인을 통해 함께 사용되어 데이터 처리를 쉽게 할 수 있다. 예를 들어, `Get-ChildItem | Where-Object {$_.Name -like "*.txt"}`와 같이 입력하면 Get-ChildItem cmdlet으로부터 출력된 파일 목록에서 .txt 파일만 필터링할 수 있다.
PowerShell의 cmdlet은 PowerShell 스크립트 및 PowerShell 환경에서 일관된 명령 구문을 제공하므로, PowerShell을 사용하여 시스템 관리, 자동화 및 스크립팅을 보다 쉽게 수행할 수 있다.
Set-PSReadlineKeyHandler는 PowerShell의 PSReadline 모듈에서 사용되는 cmdlet이다. 이 cmdlet은 키보드 입력과 PSReadline 명령을 매핑하는 데 사용된다. Set-PSReadlineKeyHandler cmdlet을 사용하면 키 매핑을 만들어 PowerShell 명령줄 편집을 개선할 수 있다.
PSReadline 모듈은 PowerShell에서 명령줄 편집을 지원하는 모듈이며, 사용자 정의 키 매핑을 만들 수 있는 기능도 제공한다. Set-PSReadlineKeyHandler cmdlet을 사용하여 이러한 사용자 정의 키 매핑을 만들 수 있다.
- Blog/2008-12 . . . . 21 matches
어제 몇 년간 사용하던 TV 수신 카드인 시그마 TV-2를 서브 컴에 물려주고 8,000원 주고 스카이디지탈 SKY-TV2를 구했습니다.
영상처리 성능에서 CX2388x과 BT878A의 가장 큰 차이는 화상 디코더가 8bit에서 10bit로 향상된 것입니다. 일반적으로 말하기를 10bit 영상 처리는 밝기와 색에 대한 정보를 추가하여 8bit 영상 처리보다 4배 이상 더 정밀하게 변환처리가 가능하게 됩니다만, 그렇다고 정말 사용자가 느끼는 화질이 4배 이상 좋아지는 것은 아니며 "별 차이가 없다", "확연한 차이가 느껴진다" 등 의견이 분분하기도 합니다. 물론 이는 DVD, HD급 이상 화질에서 화질 차이를 비교하며 말하는 것인데, 아날로그 TV수신 수준에서 8bit, 10bit 차이를 말한다는 것은 우습게 느껴지기도 하네요. ;;
그렇다면 실제로 CX2388x과 BT878A 칩셋을 사용한 TV 수신 카드의 화질을 비교해 보겠습니다.
BT878A 칩셋을 사용한 시그마 TV-2는 출시된지 거의 7, 8년이 다 되어가는 제품입니다. 반면 CX23880-19 칩셋을 사용한 SKY-TV2는 출시된지 2년이 조금 안 된 비교적 최근 제품입니다.
CPU 사용률의 비교입니다. 시그마 TV-2는 평균 10% ~ 15% 의 CPU 사용률을 보여줍니다. 다른 사용자들의 평을 보아도 시그마 TV-2는 다른 TV 카드보다 CPU 부담이 덜하다는 의견이 많습니다.
위는 SKY-TV2의 CPU 사용률입니다. 15% ~ 20% 내외로 시그마 TV-2 보다는 약간 높지만 비스타에서 시스템 아이들 상태의 시피유 사용률이 조금 높은 것을 감안하면 여전히 낮은 수준의 CPU 사용률입니다. 어느 쪽도 TV화면을 실행하고 다른 작업을 하기에 큰 부담은 없습니다. HDTV 수신카드는 시스템 사양이 낮으면 멀티 태스킹이 불가능할 정도로 높은 사양을 요구하고 있는 것을 비교하면 말이지요.
종합하면 아날로그 TV 수신 카드 중 CX2388x를 사용한 TV 카드와 BT878A 칩셋을 쓴 구형 TV 카드의 화질 차이는 크다라는 결론입니다.
모니위키의 최신 버전이 지난주 릴리즈 후보(RC2)를 내놓았습니다. 1.1.2 릴리즈 이후 약 2년 만입니다. 2년 동안 꾸준히 CVS에 추가된 기능이나 버그 수정 등 많은 변화가 있습니다. 개발자 박원규님도 많은 부분이 개선되었으니 기존 사용자들도 될 수 있으면 업그레이드를 권하고 있습니다.
* 이미 모니위키를 사용중이시던 분은 config.php.default를 참고하시기 바랍니다.
* `latex2png` 액션 추가 및 이를 활용한 MathChooserPlugin (수식 툴바) 및 사용자 정의 수식툴바 지원
* 내장된 PHP gettext를 이용하여 Dynamic 메시지 변환 및 사용 가능하도록 메시지파일 병합
* 1-pass 파싱의 잡다한 hack, if문 남발을 보다 논리적으로 간단한 알고리즘 사용
지금까지 플로우 차트를 그리는 프로그램으로 Chartist Pro 라는 제법 마이너한 프로그램을 사용했습니다. 사실 너무 불편한 프로그램입니다. 인터페이스도 불편하고 외관 꾸미기도 상당히 제한적이고 그런데 돈까지 받는 상용 프로그램입니다.(물론 구입을 한건 아니지만) 지금 생각하면 어떻게 지금까지 사용했나 합니다.
MS 오피스군 중 Visio 라는 몹시 훌륭한 프로그램이 있다는걸 오늘 처음 알았습니다. 플로우 차트 뿐만 아니라 모든 차트, 도식도를 그리는 전문 프로그램인듯 한데, 처음 사용하는데도 쉽게 사용할 수 있을만큼 아주 직관적인 인터페이스로 편리하고 기능도 뛰어나군요. 역시 메이저가 만들면 다릅니다. 내가 이래서 M$ 를 좋아합니다.
- MoniWikiACL . . . . 21 matches
* @ALL: 모든 사용자 (priority: 1)
* @User: 등록 사용자 (priority: 2)
== 사용자 정의 그룹 @Group 그리고 @Group의 priority ==
##@그룹이름 사용자리스트 [priority]
/!\ Anonymous 사용자는 @Guest로 지정되어 있으며, @Guest는 미리 정의된 그룹이 아닙니다.
# 페이지이름 @그룹/특정사용자 allow/deny 액션리스트
@Guest Anonymous // @Guest 사용자 그룹 정의
* @ALL deny * // 모든 페이지(*)를 모든 사용자(@ALL)에서 모든 액션(*)을 거부(deny)
* @ALL allow ticket // 모든 페이지를 모든 사용자에게 ticket 액션을 허락(allow)
// 모든 페이지(*)를 일반 가입 사용자에게(@User) 허락(*)
// 사용자 Foobar는 WikiSandbox 편집 못하게 함
@Guest Anonymous // @Guest 사용자 그룹 정의
// 모든 페이지(*)를 모든 사용자(@ALL)에서 모든 액션(*)을 거부(deny)
// 모든 페이지(*)를 모든 사용자(@ALL)에게 ticket 액션을 허락(allow) ticket은 가입 폼에 나오는 로봇가입방지 captcha
// 모든 페이지(*)를 일반 가입 사용자에게(@User) 허락(*)
// 모든 페이지(*)에 대해 모든 사용자의(@ALL) detetefile,deltetepage 등등의 protect 가능한 액션을 protect
// MoniWiki 페이지를 @ALL 모든 사용자에게 edit,upload,diff등의 일부 액션을 거부
* 모든 사용자(@ALL)에게 allow를 제외한 모든 액션 거부.
* 일반 등록 사용자(@User)는 edit,savepage 허락.
* 이 경우 등록 사용자에 대해 {{{@User deny *}}} + {{{@User allow edit,savepage}}}이므로 edit,savepage만 허용된다.
- vi editor . . . . 19 matches
>> vi[뷔]아이는 광범위하게 사용되는 유닉스 기반의 유명한 텍스트 편집기이다. 대부분의 유닉스 시스템 인터페이스 및 다른 텍스트 편집기들과 마찬가지로, vi는 사용자가 시스템을 제어하기 위해 키보드를 사용한다. vi의 간결한 인터페이스는, 프로그래밍 언어를 입력하거나 수정하느라 하루종일 컴퓨터 앞에서 일해야하는 사람들, 특히 프로그래머들에게 매우 인기가 높다. vi는 Emacs가 나오기 전에 개발되었는데, Emacs는 vi의 인기 있는 대안으로서, 더 많은 기능을 가졌으며, 좀더 복잡하고, 속도가 다소 느린 텍스트 편집기이다. vi는 프로그래밍 언어를 입력하고 편집하는데, 그리고 전자우편을 포함해 짧은 글을 쓰는데, 가장 일반적으로 사용된다. vi는 대개 유닉스 시스템의 일부로 따라 나온다. ─ [http://www.terms.co.kr/vi.htm 텀즈]
set shiftwidth=2 >>나 << 사용시 들여쓰기 간격을 지정한다.
set visualbell 사용자 실수를 경고할 때 비프음 대신에 화면을 한 번 번쩍이는 비주얼 벨로 경고한다.
set cindent C 언어 스타일의 들여쓰기를 사용한다.
set autoindent 자동 들여쓰기를 사용한다.
set smartindent 좀 더 지능적인 들여쓰기를 사용한다.
set incsearch 키워드를 입력할 때마다 검색하는 점진 검색(incremental search)을 사용한다.
set number 라인 넘버를 사용한다.
syntax on 구문강조 기능을 사용한다.
set backspace=eol,start,indent 줄의 끝, 시작, 들여쓰기에서 백스페이스를 사용하면 이전 줄과 연결된다.
set hlsearch 검색어 강조 기능을 사용한다.
vim에서 자동완성을 사용하는 방법은 엄청나게 많다.
* <C-p>, <C-n> 사용 (<C-p>: ctrl + p 를 의미한다. <C-n>: ctrl + n 을 의미한다.)
vim의 기본 자동완성이며, 어떤 플러그인도 없이 기본 vim에서도 사용할 수 있다.
--윈도우에서 vi와 gcc를 사용하고 싶다면 Cygwin 도입을 적극 권장.--
3~4년 전엔 그렇게 생각했는데 Cygwin은 '''굉장히''' 무겁고, 지금에 와선 vi+gcc만 쓰기 위해서 좋은 선택은 아니다. 최근은 Cygwin gcc 대신 MinGW를 사용하고 있다. 참고: [wiki:"EditPlus+MinGW+gcc 컴파일 설정"] -- [hyacinth] [[DateTime(2014-05-23T15:05:06)]]
- docker . . . . 17 matches
yhyacinth/ubuntu 처럼 / 앞에 사용자명이 있으면 그 사용자가 올린 이미지를 받음.
공식 이미지는 사용자명이 붙지 않음.
예를 들어, `v1.0.0` 버전에서 `v1.1.0` 버전으로 업데이트할 때, 새로운 태그 `v1.1.0`을 사용하면 됩니다. 만약 `v1.0.0` 버전에서 작은 수정을 가했을 경우, `v1.0.1` 버전을 태그할 수 있습니다.
태그 관리를 위해서는 규칙을 정하고, 이를 모든 개발자들에게 공유하는 것이 중요합니다. 예를 들어, `v1.x.x` 버전은 메이저 버전 변경이 있을 때 사용하고, `v1.0.x` 버전은 패치 버전 변경이 있을 때 사용하는 등의 규칙을 정할 수 있습니다.
또한, Git과 같은 버전 관리 시스템을 사용하여 Docker 이미지 빌드 스크립트와 함께 태그를 관리할 수 있습니다. 이렇게 하면 이미지의 업데이트 이력을 추적하고, 문제가 발생했을 때 이전 버전으로 쉽게 돌아갈 수 있습니다.
개발 용도로 수시로 업데이트 해야할 땐 일반적으로 `latest`라는 태그를 사용합니다. 이 태그는 항상 가장 최신 버전의 이미지를 가리키므로, 빠르게 업데이트된 이미지를 사용할 수 있습니다.
하지만 `latest` 태그를 사용할 경우, 이미지 버전을 구분하는 것이 어렵기 때문에 개발, 테스트 및 프로덕션 환경에 따라 다른 태그를 사용하는 것이 좋습니다. 예를 들어, 개발 환경에서는 `dev` 태그, 테스트 환경에서는 `test` 태그, 프로덕션 환경에서는 `prod` 태그와 같이 구분할 수 있습니다.
또한, Git의 `commit hash`와 같이 고유한 값을 사용하여 이미지 버전을 구분할 수도 있습니다. 이렇게 하면 이미지를 업데이트할 때마다 새로운 고유한 값으로 태그를 지정하므로, 이미지 버전을 구분하는 것이 용이해집니다. 하지만 이 방법은 일반적으로 개발자나 CI/CD 파이프라인에서 자동으로 처리되어야 하므로, 조금 복잡할 수 있습니다.
=== Windows Server Core에서 IIS 사용 ===
(FROM mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2019 을 사용하지 않을 경우)
=== Alpine에서 bash 사용 ===
=== tensorflow 사용 ===
2. docker-machine.exe 실행 시 -s 옵션을 사용하도록 수정한다.
- omr1/2 . . . . 17 matches
강의에 사용했던 문제를 여과없이 실었고, 모든 코드에 대해 단계적인 설명을 합니다.
- 자료구조는 C++로 수업하는 것이 좋습니다. 당연히 사용하기에도 좋습니다.
제 수업의 교재로는 이 책과 2번중에 택일해서 사용합니다.
코드 한 줄 없이, 의사 코드를 사용해서 내용을 풀어갑니다.
다행스럽게 최근에 입문서로 사용할만한 책들이 나왔습니다.
언제나 제가 교재로 사용하는 책입니다.
C++를 올바르게 사용하는 방법들을 명쾌하게 설명합니다.
아하, stl을 사용할 수 없는 환경이라면 그럴 수도 있겠습니다.
역시 올바르게 사용하기 위해 주제별로 설명하고 있습니다.
사용자 인터페이스와 관련한 최고의 클래스가 아닌가, 싶습니다.
상용으로 사용할 정도의 코드가 만들어지면
개발자에게는, 이미 회사에서 사용하고 있는 패턴으로 개발하는 분들에게는
제 나름대로 수정해서 사용하고 있습니다.
다만 당나귀나 프루나처럼 알려진 방식이 아니라 가장 기본적인 방식을 사용했으므로
- 대학 교재로 사용하기에 딱 좋은 프로토콜 서적들이 있습니다.
보지 않으면, 왜 그런 옵션을 사용해야 하는지 이해하지 못합니다.
또한 운영체제에서 제공하지 않는 프로토콜을 사용할 때에도 필요합니다.
- 프로그램의 텍스트 출력 방법들 . . . . 17 matches
텍스트를 화면에 출력하는 것은 단순해 보이지만, 그 이면에는 폰트 파일 파싱, 글리프 추출, 셰이핑(shaping), 래스터화, 안티 앨리어싱에 이르는 복잡한 파이프라인이 존재한다. 이 파이프라인을 어느 계층에서 다루느냐에 따라 사용하는 API와 라이브러리가 달라진다.
가장 전통적인 Windows 텍스트 출력 방식이다. `TextOut`, `DrawText` 같은 GDI 함수를 사용하여 디바이스 컨텍스트(DC)에 텍스트를 그린다. 폰트 제어에는 주로 두 가지 구조체가 활용된다.
| `LOGFONT` | 폰트 생성 시 속성을 지정하는 논리 폰트 기술자. 간단한 폰트 제어에 사용한다. |
| `TEXTMETRIC` | 현재 선택된 폰트의 측정 정보를 담는 구조체. `LOGFONT`보다 많은 정보를 제공하며 세밀한 제어가 필요할 때 사용한다. non-TrueType 폰트용이다. |
DirectWrite는 기능을 계층화하여 제공한다. 최상위 `IDWriteTextLayout`은 서식 있는 텍스트의 측정·렌더링·히트 테스트를 담당하고, 중간 계층은 폰트 컬렉션·열거, 하위 계층은 글리프 수준의 저수준 API로 구성된다. 렌더링 백엔드는 애플리케이션이 선택할 수 있어, Direct2D(GPU 가속), GDI 비트맵, 커스텀 렌더러 중 하나를 사용할 수 있다.
Windows App SDK에 포함된 DWriteCore는 DirectWrite를 Windows 8 이상에서 사용할 수 있도록 시스템으로부터 분리한 구현이다. 크로스플랫폼 활용 가능성도 열려 있다.
운영체제 네이티브 API를 사용하지 않고 직접 텍스트를 렌더링해야 하는 경우(크로스플랫폼 게임 엔진, 임베디드 시스템, 커스텀 UI 프레임워크 등), 전문 라이브러리를 사용한다. 이들 라이브러리는 폰트 파일을 직접 파싱하여 글리프를 추출하고, 해상도를 고려한 배율을 적용한 뒤 래스터 이미지로 변환하여 화면에 출력한다. 안티 앨리어싱도 적용하여 배경과 글자가 부드럽게 어우러지도록 한다.
- ClearType 관련 특허가 2019년 만료되어, 이후 버전부터 ClearType 컬러 필터링을 자유롭게 사용할 수 있다.
> FreeType은 글리프를 추출하고 래스터화하는 역할을 하지만, **어떤 글리프를 어떤 순서와 위치로 배치할지(셰이핑)**는 처리하지 않는다. 복잡한 스크립트(아랍어, 인도계 문자 등)를 올바르게 표시하려면 HarfBuzz 같은 셰이핑 엔진을 함께 사용해야 한다.
Android, Chrome, Firefox, Safari(WebKit), LibreOffice, Qt, GNOME, Figma, Adobe Photoshop/Illustrator/InDesign, Unreal Engine, Godot Engine 등 사실상 모든 주요 플랫폼과 소프트웨어에서 사용된다.
- 텍스트 레이아웃 및 렌더링 라이브러리로, 주로 GNOME/GTK 생태계에서 사용된다.
- 내부적으로 HarfBuzz를 셰이핑 엔진으로, FreeType을 글리프 래스터라이저로 사용한다.
- Cairo와 함께 사용하도록 설계되어 있으며 `pangocairo` 모듈로 통합된다.
| **셰이핑** | Uniscribe | 내장 | HarfBuzz 별도 사용 | HarfBuzz 내장 |
| **사용 난이도** | 쉬움 | 보통 | 어려움(저수준) | 보통 |
| **주요 사용처** | 레거시 Win32 앱 | 현대 Windows 앱 | 게임 엔진, 임베디드 | GNOME/GTK 앱 |
- Grafana vs. Kibana 비교 . . . . 16 matches
Kibana는 Elasticsearch와 함께 사용하는 시각화·분석 도구로, Elastic(ELK) Stack의 일부이며 ELK의 **K**에 위치한다. (E=Elasticsearch, L=Logstash, K=Kibana)
Kibana의 핵심 기능은 **데이터 쿼리와 분석**이다. 사용자는 다양한 방법으로 Elasticsearch에 인덱싱된 데이터를 검색하여 근본 원인 분석(RCA, Root Cause Analysis)이나 진단을 위한 특정 이벤트나 문자열을 찾을 수 있다. 이렇게 쿼리한 결과를 차트, 테이블, 지리 지도(geo map) 등 다양한 시각화로 표현할 수 있다.
| 대표 사용자 | SecOps, 개발자, DevOps | SRE, DevOps, 인프라 엔지니어 |
예를 들어 DevOps 팀이 여러 서비스에 걸쳐 로그 항목을 검색·분석하며 애플리케이션 오류를 트러블슈팅할 때는 Kibana를, SRE 팀이 Kubernetes 클러스터의 CPU·메모리·네트워크 사용량을 모니터링하면서 리소스 경고를 받아야 할 때는 Grafana를 사용하는 것이 전형적인 시나리오다.
Kibana에서는 Alerting을 사용자가 스스로 설정할 수 없었다. Kibana에 알림을 추가하려면 Logz.io와 같은 호스팅 ELK Stack을 선택하거나, ElastAlert를 구현하거나, X-Pack(유료)을 사용해야 했다.
- 새로운 사용자도 기본 대시보드는 쉽게 만들 수 있다
- Elasticsearch에 익숙하지 않은 사용자에게는 학습 곡선이 더 가파르지만, Elastic 생태계 안에서는 직관적이다.
| 라이선스 | Elastic License (Elastic Stack의 일부). 기본 기능은 무료이지만 머신러닝·고급 알림·보안 기능·특정 통합 등 많은 고급 기능은 유료 티어에서만 사용 가능 | 오픈소스 버전은 Apache 2.0 라이선스. 시각화 엔진, 다양한 데이터 소스 지원, 내장 알림 등 대부분의 핵심 기능이 무료 |
- **Grafana**: 머신러닝 기능은 일반적으로 플러그인이나 외부 ML 서비스와의 통합을 통해 사용 가능
- **Kibana**: 강력한 커뮤니티를 갖고 있지만 Elasticsearch 중심의 사용 사례에 더 집중된 편
- 이미 Elasticsearch를 사용하고 있거나 ELK 스택을 도입하려는 경우
**둘 다 사용하는 경우 (꽤 흔한 패턴)**
실제로 많은 조직이 두 도구를 상호 보완적으로 사용한다. Logz.io와 같은 일부 회사는 자신들의 프로덕션 환경을 모니터링하기 위해 Grafana를 Graphite, Prometheus, Elasticsearch와 연결하여 두 도구를 모두 사용한다. 대개 메트릭 모니터링·알림은 Grafana로, 로그 탐색·디버깅은 Kibana로 역할 분담하는 식이다.
- C++/이미지 대표색 찾기 . . . . 15 matches
일반적으로 이미지의 픽셀 값을 분석하여 대표적인 색상을 추출하는 방법을 사용한다.
1. K-means clustering: 데이터 포인트를 k개의 클러스터로 그룹화하는 방법이다. 이미지에서 색상을 추출하기 위해, 픽셀 값을 데이터 포인트로 사용하고 k값을 지정하여 클러스터링을 수행한다. 각 클러스터의 중심은 대표적인 색상으로 사용될 수 있다.
2. Median Cut: 이미지의 색상 수를 줄이는 방법이다. 이미지에서 픽셀 값을 사용하여 RGB 공간을 나누고, 각 영역의 중간값을 색상으로 사용한다. 이 방법은 적은 색상 수로 이미지를 대표할 수 있어서 이미지 압축에 사용된다.
3. Color Histogram: 이미지에서 각 색상이 얼마나 많이 나타나는지 히스토그램으로 나타내는 방법이다. 히스토그램에서 높은 값을 가진 색상은 이미지에서 더 많이 사용되는 색상으로 추정할 수 있다.
5. Neural Network: Neural Network를 사용하여 이미지에서 대표 색상을 추출하는 방법도 있다. 예를 들어, Autoencoder 네트워크를 사용하여 이미지를 압축하고, 압축된 이미지에서 대표 색상을 추출할 수 있다.
* 학습된 모델을 사용하기 위해서는 훈련 데이터가 필요하다.
사용하려는 목적에 따라 선택한 방법 다를 수 있다.
K-means clustering 알고리즘을 사용하여 C++로 이미지 대표색을 찾아본다. OpenCV 라이브러리를 사용하여 이미지에서 대표 색상을 추출하는 코드이다.
위 코드에서 `K`는 클러스터의 수를, `attempts`는 알고리즘 실행 횟수를 나타낸다. `kmeans` 함수를 사용하여 K-means clustering 알고리즘을 적용하고, `labels`와 `centers`는 각각 클러스터링 결과와 클러스터의 중심을 나타낸다. 클러스터링 결과를 이미지에 표시하고, 결과 이미지를 출력한다.
이 코드는 OpenCV 라이브러리를 사용하기 때문에 해당 라이브러리를 설치하고, `#include <opencv2/opencv.hpp>`를 추가해야 한다.
- MoniWikiTutorial . . . . 15 matches
* 계정 만들기: UserPreferences로 가서 사용자 등록을 합니다.
* 사용자 ID: 영문으로 사용자 ID를 만들 경우 보통 소문자 구성된 사용자 ID를 만드는 것이 일반적이지만, 위키위키에서는 FooBar같은 낙타식 사용자 ID를 종종 사용합니다. 한글로 만드셔도 됩니다.
* UserPreferences: 사용자 가입/로그인/설정
공백을 보존되는 preformat을 사용하고 싶은 경우는 중괄호`{{{{{{ ... }}}}}}`를 사용합니다.: {{{
사용례:
고급기능인 플러그인을 사용할 수 있습니다.
* 매크로는 페이지에 따라 종종 동적으로 변할 수 있습니다. 예를 들어 {{{[[Calendar]]}}}매크로를 사용하면 보이는 달력은 날마다 그 내용이 변할 수 있습니다.
* 주로 사용하는 매크로는
* ` PageList` - 인수로 사용되는 패턴과 일치하는 페이지 목록을 보여줍니다.
* 페이지를 만들때는 Template를 사용하면 편리한 경우도 있습니다.
- omr1/501 . . . . 15 matches
호스트 : CPU Intel Core2Duo T5600 1.83GHz, 2GB RAM, 사용OS: 페도라 12
III. 사용 환경
▶ SIP 규격으로 초기화를 하고 국내 SIP 프록시 서버에 접근하여 전화를 걸고 받는다. 사용자가 입력한 번호로 전화를 걸거나 받으면서 로그를 출력.
시작 시 이루어지는 작업으로 먼저 네트워크 연결을 위한 초기화 작업과 환경파일(/home/dicephonerc)에서 저장된 SIP 설정 정보를 읽어 들이고, 마지막으로 음성 코덱을 읽어오면 초기화가 완료 된다. 본 프로젝트에서 사용된 음성 코덱은 훌륭한 오픈 소스 음성 코덱인 speex와 PCMU/PCMA(G.711)을 사용하였며 실행 시스템에서 사용가능한 음성코덱은 모두 로드된다. 코덱을 모두 읽어 들이면 네트워크 상태(대역폭)에 따라 최적의 코덱이 자동으로 선택된다. speex를 사용하려면 arm계열로 크로스 컴파일 후 라이브러리에 등록을 해야 한다.
4. mediastream2: linphone에서 사용하는 미디어 전송 라이브러리
이슈 추적시스템(ITS)은 Mantis, Trac, Bugzilla 등 여러 종류가 있지만 퀄리스타.ITS는 국내 환경에 맞추어 사용자 편의와 보다 빠르고 쉬운 작업을 목적으로 비전문가들도 쉽게 사용할 수 있도록 제작되었다.
III. 사용 환경
USB가 필요한 데이터 매니저와 달리 무선으로 스마트폰과 PC의 파일을 교환할 수 있다는 장점을 지니며, 촬용을 통해 사용자가 쉽게 원하는 파일을 주고 받을 수 있는 장점을 가진다.
III. 사용 환경
▶ 클라이언트에서 사진 촬영을 하면 셔터가 닫히기 직전 서버(PC)에서 순간적으로 좌표 인식을 돕기 위한 마커를 표시하며 표시된 마커를 통해 좌표를 인식한다. 검색 알고리즘은 정규화 과정을 거친 템플리트 매칭 알고리즘을 사용한다.
단, 파란색과 빨간색 사각형은 좌표 인식 과정에 빠질 수 없는 성분이며 정규화에 사용된다. 정규화는 몇 가지 절차를 거치는데 크게 먼저 카메라 distortion을 보정(undistortion)하고, 허프 변환을 통해 빨간색 사각형의 직선 성분을 검출하여 회전을 보정한 다음, 파란색 사각형을 레퍼런스 사각형으로 삼아 크기를 정규화(size normalization)한다.
- 학부/4학년 . . . . 15 matches
호스트 : CPU Intel Core2Duo T5600 1.83GHz, 2GB RAM, 사용OS: 페도라 12
III. 사용 환경
▶ SIP 규격으로 초기화를 하고 국내 SIP 프록시 서버에 접근하여 전화를 걸고 받는다. 사용자가 입력한 번호로 전화를 걸거나 받으면서 로그를 출력.
시작 시 이루어지는 작업으로 먼저 네트워크 연결을 위한 초기화 작업과 환경파일(/home/dicephonerc)에서 저장된 SIP 설정 정보를 읽어 들이고, 마지막으로 음성 코덱을 읽어오면 초기화가 완료 된다. 본 프로젝트에서 사용된 음성 코덱은 훌륭한 오픈 소스 음성 코덱인 speex와 PCMU/PCMA(G.711)을 사용하였며 실행 시스템에서 사용가능한 음성코덱은 모두 로드된다. 코덱을 모두 읽어 들이면 네트워크 상태(대역폭)에 따라 최적의 코덱이 자동으로 선택된다. speex를 사용하려면 arm계열로 크로스 컴파일 후 라이브러리에 등록을 해야 한다.
4. mediastream2: linphone에서 사용하는 미디어 전송 라이브러리
이슈 추적시스템(ITS)은 Mantis, Trac, Bugzilla 등 여러 종류가 있지만 퀄리스타.ITS는 국내 환경에 맞추어 사용자 편의와 보다 빠르고 쉬운 작업을 목적으로 비전문가들도 쉽게 사용할 수 있도록 제작되었다.
III. 사용 환경
USB가 필요한 데이터 매니저와 달리 무선으로 스마트폰과 PC의 파일을 교환할 수 있다는 장점을 지니며, 촬용을 통해 사용자가 쉽게 원하는 파일을 주고 받을 수 있는 장점을 가진다.
III. 사용 환경
▶ 클라이언트에서 사진 촬영을 하면 셔터가 닫히기 직전 서버(PC)에서 순간적으로 좌표 인식을 돕기 위한 마커를 표시하며 표시된 마커를 통해 좌표를 인식한다. 검색 알고리즘은 정규화 과정을 거친 템플리트 매칭 알고리즘을 사용한다.
단, 파란색과 빨간색 사각형은 좌표 인식 과정에 빠질 수 없는 성분이며 정규화에 사용된다. 정규화는 몇 가지 절차를 거치는데 크게 먼저 카메라 distortion을 보정(undistortion)하고, 허프 변환을 통해 빨간색 사각형의 직선 성분을 검출하여 회전을 보정한 다음, 파란색 사각형을 레퍼런스 사각형으로 삼아 크기를 정규화(size normalization)한다.
- C++/컴파일러의 변수에 대한 최적화 . . . . 13 matches
''' Q: C++ 컴파일러가 사용하는 변수에 대한 최적화 기법들의 종류'''
컴파일러는 실행 속도를 높이고 메모리 사용량을 줄이기 위해 다양한 최적화를 수행합니다. **변수**와 관련된 대표적인 기법은 다음과 같습니다.
변수가 컴파일 타임에 상수 값임을 알 수 있을 때, 그 값을 사용처에 전파합니다.
동일한 연산이 반복될 때 한 번만 계산하고 결과를 재사용합니다.
자주 사용되는 변수를 CPU 레지스터에 유지해 메모리 접근을 최소화합니다. (그래프 색칠 + spilling 기법 사용)
이 기법들은 대부분 `-O2` / `-O3` 수준에서 자동으로 적용되지만, 과도한 최적화가 의도하지 않은 동작을 유발할 수 있어 `volatile`이나 `std::atomic` 등을 사용해 제한하기도 합니다.
**상수 전파(Constant Propagation)**는 변수가 컴파일 타임에 알려진 상수 값임을 파악한 뒤, 그 값을 모든 사용 지점에 전파하여 연산을 단순화하는 기법입니다.
변수에 상수 값이 할당된 사실을 추적해 그 값을 사용처까지 **전파**합니다.
즉, 상수 폴딩은 “리터럴만 있는 식”을 계산하는 것이고, 상수 전파는 “변수에 상수가 들어있는 사실”을 퍼뜨리는 것입니다. 두 기법은 거의 항상 함께 사용되며, 상수 전파 후에 폴딩이 추가로 적용되는 경우가 많습니다.
int x = 100; // 사용 안 되면 할당 자체 제거 가능
그러나 **volatile 미사용 시** 또는 **side-effect 없는 무한 루프**가 제거되는 경우 문제가 됩니다.
사용자가 직접 임시 변수를 만드는 예제는 실제 자동 최적화 모습과 다소 다릅니다.
- REST와 RESTful API의 차이 . . . . 13 matches
REST: Representational State Transfer의 약자로, 웹 기반 시스템에서 클라이언트와 서버 간의 통신 방식을 정의한 아키텍처 스타일이다. 자원(resource)을 URI로 식별하고 HTTP 메서드(GET, POST, PUT, DELETE 등)를 사용하여 자원에 대한 행위를 정의한다.
RESTful API: REST 아키텍처 스타일을 따르는 API를 말한다. 즉, 자원을 URI로 식별하고 HTTP 메서드를 사용하여 자원에 대한 CRUD(Create, Read, Update, Delete) 작업을 수행하는 API를 의미한다.
실용적이라는 말은 해석하기 나름이지만, 웹 API는 사용하기 쉬워야 한다는 데에는 다들 동의하는 편이다. 외부 개발자가 보았을 때 이해하기 쉬워야 하고, 일관되어야 하고, 예측 가능하고, REST의 많은 부분을 따라야 한다. REST의 일부 디자인 스타일을 구현하면 이런 종류의 사용 편의성이 생긴다. 사람들이 종종 오해하는 것과는 다르게, REST 제약은 원래 단기 생산성이나 개발자의 사용 편의성과는 정반대로 만들어졌다.
RESTful API의 일부 특징은 REST와 상충한다. 가장 주목할 점은, 데이터 전송 방법으로 JSON을 채택한 것이다. JSON은 하이퍼텍스트 링크를 페이로드 할 수 없으므로(최소한 널리 수용된 링크 메커니즘이 없다.) REST의 HATEOAS(Hypermedia As The Engine Of Application State)를 실현할 수 없다. JSON을 사용하면 응답 유형 자체에 정의된 연결을 할 수 없다. 연결할 수 없는 매체를 사용하면, API는 자기 설명적이지 않게 되고 따라서 문서가 필요한 API가 된다. HATEOAS가 이론적으로는 설득력이 있어도, 지속적으로 구현하기에는 어려움이 있는 것이 사실이다. JSON이 웹 API를 위한 사실상 표준 데이터 전송 포맷으로 널리 채택되었기에 더욱 어렵다.
REST 제약 중 하나가 일관된 인터페이스(Uniform Interface)라는 점을 상기해보자. 일관된 인터페이스는 거의 완전히 자기 설명적이다. 이상적으로는 이런 인터페이스로 된 시스템은 시스템의 진입점 이상의 가이드 문서가 필요하지 않다. RESTful API는 모든 자원에 대한 링크를 제공하고, 그 외의 설명을 추가하지 않는다. 현실적으로는, 웹 API의 문서가 잘되어 있으면 RESTful API가 훨씬 더 사용하기 쉽다.
| 메시지 형식 | 초기에는 XML 사용이 많음 (형식 자체는 제한 없음) | JSON이 사실상 표준처럼 널리 사용됨 |
| HTTP 메서드 사용 | GET, POST, PUT, DELETE 등 HTTP 메서드 의미를 엄격히 사용 | RPC 스타일 등으로 의미가 약하게 사용되는 경우도 있음 |
- 이미지 비교 지표에 대해 . . . . 13 matches
- 이를 보완한 **MS-SSIM(Multi-Scale SSIM)** 도 널리 사용됨
Delta-E도 이미지 유사도/색상 차이를 측정하는 데 사용되지만, SSIM과는 **목적과 설계 철학이 다르다.**
| **주요 사용처** | 압축, 복원, SR 품질 평가 | 인쇄, 디스플레이 색 교정 |
두 지표는 상호 보완적이라 **같이 사용**하면 효과적이다.
| **NIQE / BRISQUE** | 참조 이미지 없이 품질 평가 (No-Reference) | 원본 없이도 사용 가능 |
| **NMI** (Normalized Mutual Information) | 두 이미지의 상호 정보량 비교, 의료 영상 정합에 많이 사용 |
각 지표는 단독보다 **조합해서 사용**할 때 더 강력하다. 예를 들어 Super Resolution 논문에서는 보통 **PSNR + SSIM + LPIPS** 를 함께 보고한다.
- 임베디드/엣지 환경에서도 사용 가능
- 학습 데이터 없이 즉시 사용
- 대규모 사용자 실험(Human Study) 없이도 지각 품질 추정 가능
- 모델 가중치 로딩, 메모리 사용량 큼
## 현업/연구에서의 실제 사용 전략
딥러닝 기반 지표가 **지각적 정확도**에서 압도적으로 우수하지만, 전통 지표를 완전히 대체하지는 못한다. 그 이유는 전통 지표의 **해석 가능성, 재현성, 속도**가 여전히 실용적으로 중요하기 때문이다. 현재 연구 트렌드는 두 계열을 **상호 보완적으로 함께 사용**하는 방향으로 자리잡고 있다. 예를 들어 Super Resolution 논문에서는 보통 **PSNR + SSIM + LPIPS** 를 함께 보고한다.
- C++/(Windows)파일 처리 . . . . 12 matches
굵게(Bold)처리한 함수들은 자주 쓰일법한 녀석들이다.</p><p style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 15px; font-family: 돋움, Dotum, AppleGothic, sans-serif; color: rgb(138, 138, 138); font-size: 12px;">사용하기 위해서는 shlwapi.h를 include하고 shlwapi.lib를 링크해야 한다.</p><p id="more4_0" class="moreless_top" style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 18px; border: 0px; line-height: 15px; font-family: 돋움, Dotum, AppleGothic, sans-serif; text-decoration: underline; background-image: url(http://ts.daumcdn.net/custom/blog/29/294052/skin/images/iconLess.gif); color: rgb(138, 138, 138); font-size: 12px; background-position: 0% 0%; background-repeat: no-repeat no-repeat;"><span style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3; cursor: pointer;"></span></p><div id="content4_0" class="moreless_content" style="margin: 10px 0px; padding: 0px; border: 0px; line-height: 15px; font-family: 돋움, Dotum, AppleGothic, sans-serif; color: rgb(138, 138, 138); font-size: 12px;"><p style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;"><strong style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;"><font color="#0000ff" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">LPTSTR PathAddBackslash( LPTSTR <i style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">lpszPath </i>);</font></strong></p><blockquote dir="ltr" style="margin: 5px 0px 5px 5px; padding: 0px 0px 0px 16px; border: 0px; line-height: 1.3; font-family: 돋움, Dotum, AppleGothic, sans-serif; background-image: url(http://ts.daumcdn.net/custom/blog/29/294052/skin/images/iconBlockquote.gif); background-position: initial initial; background-repeat: no-repeat no-repeat;"><p dir="ltr" style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;"><font color="#808080" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">Adds a backslash to the end of a string to create the correct syntax for a path. If the source path already has a trailing backslash, no backslash will be added.</font>
pszExtension이 NULL이라면 기본적으로 ".exe"가 붙는다.</p></blockquote><p style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;"><strong style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;"><font color="#0000ff" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">BOOL PathAppend( LPTSTR <i style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">pszPath</i>, LPCTSTR <i style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">pszMore </i>);</font></strong></p><blockquote dir="ltr" style="margin: 5px 0px 5px 5px; padding: 0px 0px 0px 16px; border: 0px; line-height: 1.3; font-family: 돋움, Dotum, AppleGothic, sans-serif; background-image: url(http://ts.daumcdn.net/custom/blog/29/294052/skin/images/iconBlockquote.gif); background-position: initial initial; background-repeat: no-repeat no-repeat;"><p dir="ltr" style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;"><font color="#808080" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">Appends one path to the end of another.</font></p><p dir="ltr" style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;">두개의 경로 문자열 결합. pszPath에 pszMore를 붙여준다. 필요하다면 '\' 문자를 사용해 결합한다.</p></blockquote><p style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;"><font color="#0000ff" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">LPTSTR PathBuildRoot( LPTSTR <i style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">szRoot</i>, int <i style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">iDrive </i>);</font></p><blockquote dir="ltr" style="margin: 5px 0px 5px 5px; padding: 0px 0px 0px 16px; border: 0px; line-height: 1.3; font-family: 돋움, Dotum, AppleGothic, sans-serif; background-image: url(http://ts.daumcdn.net/custom/blog/29/294052/skin/images/iconBlockquote.gif); background-position: initial initial; background-repeat: no-repeat no-repeat;"><p dir="ltr" style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;"><font color="#808080" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">Creates a root path from a given drive number.</font></p><p dir="ltr" style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;">드라이브 식별 번호(iDrive)를 문자열 형(szRoot)으로 변환해 준다. 0 = a:\ 뭐 이런식이다.</p></blockquote><p style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;"><font color="#0000ff" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">BOOL PathCanonicalize( LPTSTR <i style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">lpszDst</i>, LPCTSTR <i style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">lpszSrc </i>);</font></p><blockquote dir="ltr" style="margin: 5px 0px 5px 5px; padding: 0px 0px 0px 16px; border: 0px; line-height: 1.3; font-family: 돋움, Dotum, AppleGothic, sans-serif; background-image: url(http://ts.daumcdn.net/custom/blog/29/294052/skin/images/iconBlockquote.gif); background-position: initial initial; background-repeat: no-repeat no-repeat;"><p dir="ltr" style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;"><font color="#808080" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">Canonicalizes a path.</font></p><p dir="ltr" style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;">경로에 상대경로 지정문자 ( "./", "../")가 포함되어 있다면 이를 적절하게 처리해준다. lpszsrc="c:\\a\\b\\..\\c" temp_src="c:\\a\\b\\..\\c"라면 lpszDst = "c:\\a\\c"가 된다.</p></blockquote><p style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;"><font color="#0000ff" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;"><strong style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">LPTSTR PathCombine( LPTSTR <em style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">lpszDest</em>, LPCTSTR <em style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">lpszDir</em>, LPCTSTR <em style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">lpszFile</em> );</strong></font></p><blockquote dir="ltr" style="margin: 5px 0px 5px 5px; padding: 0px 0px 0px 16px; border: 0px; line-height: 1.3; font-family: 돋움, Dotum, AppleGothic, sans-serif; background-image: url(http://ts.daumcdn.net/custom/blog/29/294052/skin/images/iconBlockquote.gif); background-position: initial initial; background-repeat: no-repeat no-repeat;"><p dir="ltr" style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;"><font color="#808080" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">Concatenates two strings that represent properly formed paths into one path; also concatenates any relative path elements.</font></p><p dir="ltr" style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;">폴더 경로 + 파일경로로 구성해준다. lpszDest = lpszDir + lpszFile.
적절하게 '\'를 사용해서 연결해 주며, 상대경로가 포함되어 있다면 이또한 적절하게 처리해 준다.
또, 실제 URL(Web)이 아니라 Local File Url이라야 한다.</p></blockquote><p style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;"><font color="#0000ff" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;"><strong style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">BOOL PathFileExists( LPCTSTR <em style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">pszPath</em> );</strong></font></p><blockquote dir="ltr" style="margin: 5px 0px 5px 5px; padding: 0px 0px 0px 16px; border: 0px; line-height: 1.3; font-family: 돋움, Dotum, AppleGothic, sans-serif; background-image: url(http://ts.daumcdn.net/custom/blog/29/294052/skin/images/iconBlockquote.gif); background-position: initial initial; background-repeat: no-repeat no-repeat;"><font color="#808080" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;"></font><p style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;"><font color="#808080" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">Determines whether a path to a file system object such as a file or directory is valid.</font></p><p dir="ltr" style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;">제시된 경로의 파일/폴더가 실제로 <font id="altools-findtxt" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3; background-color: rgb(255, 255, 0); font-size: 14px; font-weight: bold;">존재</font>하는지 검사한다.</p></blockquote><p style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;"><font color="#0000ff" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;"><strong style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">LPTSTR PathFindExtension( LPCTSTR <em style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">pPath</em> );</strong></font></p><blockquote dir="ltr" style="margin: 5px 0px 5px 5px; padding: 0px 0px 0px 16px; border: 0px; line-height: 1.3; font-family: 돋움, Dotum, AppleGothic, sans-serif; background-image: url(http://ts.daumcdn.net/custom/blog/29/294052/skin/images/iconBlockquote.gif); background-position: initial initial; background-repeat: no-repeat no-repeat;"><font color="#808080" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;"></font><p style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;"><font color="#808080" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">Searches a path for an extension.</font></p><p dir="ltr" style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;">파일 경로에서 확장자를 찾아준다. (pPath에서 확장자가 시작되는 위치를 반환).</p></blockquote><p style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;"><font color="#0000ff" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;"><strong style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">LPTSTR PathFindFileName( LPCTSTR <em style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">pPath</em> );</strong></font></p><blockquote dir="ltr" style="margin: 5px 0px 5px 5px; padding: 0px 0px 0px 16px; border: 0px; line-height: 1.3; font-family: 돋움, Dotum, AppleGothic, sans-serif; background-image: url(http://ts.daumcdn.net/custom/blog/29/294052/skin/images/iconBlockquote.gif); background-position: initial initial; background-repeat: no-repeat no-repeat;"><font color="#808080" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;"></font><p style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;"><font color="#808080" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">Searches a path for a file name.</font></p><p dir="ltr" style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;">파일 경로에서 파일 이름을 찾아준다. (pPath에서 이름이 시작되는 위치를 반환).</p></blockquote><p style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;"><font color="#0000ff" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">LPTSTR PathFindNextComponent( LPCTSTR <em style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">pszPath</em> );</font></p><blockquote dir="ltr" style="margin: 5px 0px 5px 5px; padding: 0px 0px 0px 16px; border: 0px; line-height: 1.3; font-family: 돋움, Dotum, AppleGothic, sans-serif; background-image: url(http://ts.daumcdn.net/custom/blog/29/294052/skin/images/iconBlockquote.gif); background-position: initial initial; background-repeat: no-repeat no-repeat;"><font color="#808080" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;"></font><p style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;"><font color="#808080" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">Parses a path for the next path component.</font></p><p dir="ltr" style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;">다음 위치의 경로를 찾아준다. 어떤 경로에 대해 순자접근이 필요하다면 사용해볼 법 하다.
PathGetArgs("c:\test.exe temp.txt /x") = "temp.txt /x"</p></blockquote><p style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;"><font color="#0000ff" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;"><strong style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">UINT PathGetCharType( TUCHAR <em style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">ch</em> );</strong></font></p><blockquote dir="ltr" style="margin: 5px 0px 5px 5px; padding: 0px 0px 0px 16px; border: 0px; line-height: 1.3; font-family: 돋움, Dotum, AppleGothic, sans-serif; background-image: url(http://ts.daumcdn.net/custom/blog/29/294052/skin/images/iconBlockquote.gif); background-position: initial initial; background-repeat: no-repeat no-repeat;"><font color="#808080" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;"></font><p style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;"><font color="#808080" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">Determines the type of character in relation to a path.</font></p><p dir="ltr" style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;">문자가 경로 문자열에 사용되면 어떤 의미인지 알려준다. 경로에 포함될 수 있는 문자인가? 경로 구분자('\')인가? 등등..
이 함수를 이용해서 경로에 사용할 수 있는 문자열인지를 검사할 수 있다.</p></blockquote><p style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;"><font color="#0000ff" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">int PathGetDriveNumber( LPCTSTR <em style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">lpsz</em> );</font></p><blockquote dir="ltr" style="margin: 5px 0px 5px 5px; padding: 0px 0px 0px 16px; border: 0px; line-height: 1.3; font-family: 돋움, Dotum, AppleGothic, sans-serif; background-image: url(http://ts.daumcdn.net/custom/blog/29/294052/skin/images/iconBlockquote.gif); background-position: initial initial; background-repeat: no-repeat no-repeat;"><font color="#808080" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;"></font><p style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;"><font color="#808080" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">Searches a path for a drive letter within the range of 'A' to 'Z' and returns the corresponding drive number.</font></p><p dir="ltr" style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;">제시된 경로에 포함된 드라이브 문자(c:\) 의 식별 번호를 반환한다.</p></blockquote><p style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;"><font color="#0000ff" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">BOOL PathIsContentType( LPCTSTR <em style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">pszPath</em>, LPCTSTR <em style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">pszContentType</em> );</font></p><blockquote dir="ltr" style="margin: 5px 0px 5px 5px; padding: 0px 0px 0px 16px; border: 0px; line-height: 1.3; font-family: 돋움, Dotum, AppleGothic, sans-serif; background-image: url(http://ts.daumcdn.net/custom/blog/29/294052/skin/images/iconBlockquote.gif); background-position: initial initial; background-repeat: no-repeat no-repeat;"><font color="#808080" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;"></font><p style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;"><font color="#808080" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">Determines if a file's registered content type matches the specified content type. This function obtains the content type for the specified file type and compares that string with the pszContentType. The comparison is not case-sensitive.</font></p><p dir="ltr" style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;">제시된 파일경로가(확장자만 넘겨줘도 된다;) 등록된 contents type과 일치하는지 검사한다.
정확히 말하자면, 경로를 구성하는데 사용되는 문자 (경로 구분자'\' 라던지, 드라이브 구분자':' 라던지..)가 포함되어 있으면 FALSE가 반환된다.
주의: 파일명으로 사용할 수 없는 문자(/, :, * 등)가 들어있는가? 를 검사하는 함수가 아니다!!</p></blockquote><p style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;"><font color="#0000ff" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">BOOL PathIsHTMLFile( LPCTSTR <em style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">pszFile</em> );</font></p><blockquote dir="ltr" style="margin: 5px 0px 5px 5px; padding: 0px 0px 0px 16px; border: 0px; line-height: 1.3; font-family: 돋움, Dotum, AppleGothic, sans-serif; background-image: url(http://ts.daumcdn.net/custom/blog/29/294052/skin/images/iconBlockquote.gif); background-position: initial initial; background-repeat: no-repeat no-repeat;"><font color="#808080" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;"></font><p style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;"><font color="#808080" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">Determines if a file is an HTML file. The determination is made based on the content type that is registered for the file's extension.</font></p><p dir="ltr" style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;">제시된 경로의 확장자가 HTML 유형인가를 검사한다.
PathMatchSpec( "c:\test\temp.txt", "*.txt") = TRUE</p></blockquote><p style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;"><font color="#0000ff" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">BOOL PathMatchSpecEx( LPCTSTR <em style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">pszFile</em>, LPCTSTR <em style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">pszSpec</em>, DWORD <em style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">dwFlags</em> );</font></p><blockquote dir="ltr" style="margin: 5px 0px 5px 5px; padding: 0px 0px 0px 16px; border: 0px; line-height: 1.3; font-family: 돋움, Dotum, AppleGothic, sans-serif; background-image: url(http://ts.daumcdn.net/custom/blog/29/294052/skin/images/iconBlockquote.gif); background-position: initial initial; background-repeat: no-repeat no-repeat;"><font color="#808080" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;"></font><p style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;"><font color="#808080" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">Searches a string using a Microsoft MS-DOS wild card match type and a flag.</font></p><p dir="ltr" style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;">PathMatchSpec과 유사하다. 차이점은, dwFlags에 PMSF_MULTIPLE를 사용하면 여러개의 검색 패턴 지정이 가능하다는 점.
주의: shlwapi.dll version 7.0.(Vista) 이상에서 사용 가능하다.
상대경로를 적절히 계산해 주고, 시스템 변수가 사용된 경우 이를 적절히 확장해 준다.
UrlCombine( "http://abc.com/a/b/c/", "d" ...)로 해야 "http://abc.com/a/b/c/d"가 된다.</p></blockquote><p style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;"><font color="#0000ff" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">int UrlCompare( LPCTSTR pszURL1, LPCTSTR pszURL2, BOOL fIgnoreSlash );</font></p><blockquote dir="ltr" style="margin: 5px 0px 5px 5px; padding: 0px 0px 0px 16px; border: 0px; line-height: 1.3; font-family: 돋움, Dotum, AppleGothic, sans-serif; background-image: url(http://ts.daumcdn.net/custom/blog/29/294052/skin/images/iconBlockquote.gif); background-position: initial initial; background-repeat: no-repeat no-repeat;"><font color="#808080" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;"></font><p style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;"><font color="#808080" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">Makes a case-sensitive comparison of two URL strings.</font></p><p dir="ltr" style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;">두 URL 문자열을 비교한다. (대소문자 구분 없음)</p></blockquote><p style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;"><font color="#0000ff" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">HRESULT UrlCreateFromPath( LPCTSTR pszPath, LPTSTR pszUrl, LPDWORD pcchUrl, DWORD dwReserved );</font></p><blockquote dir="ltr" style="margin: 5px 0px 5px 5px; padding: 0px 0px 0px 16px; border: 0px; line-height: 1.3; font-family: 돋움, Dotum, AppleGothic, sans-serif; background-image: url(http://ts.daumcdn.net/custom/blog/29/294052/skin/images/iconBlockquote.gif); background-position: initial initial; background-repeat: no-repeat no-repeat;"><font color="#808080" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;"></font><p style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;"><font color="#808080" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">Converts a Microsoft MS-DOS path to a canonicalized URL.</font></p><p dir="ltr" style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;">로컬 경로문자열(c:\temp)을 URL포맷(file:///c:\temp)으로 변환해준다.</p></blockquote><p style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;"><font color="#0000ff" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;"><strong style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">HRESULT UrlEscape( LPCTSTR pszURL, LPTSTR pszEscaped, LPDWORD pcchEscaped, DWORD dwFlags );</strong></font></p><blockquote dir="ltr" style="margin: 5px 0px 5px 5px; padding: 0px 0px 0px 16px; border: 0px; line-height: 1.3; font-family: 돋움, Dotum, AppleGothic, sans-serif; background-image: url(http://ts.daumcdn.net/custom/blog/29/294052/skin/images/iconBlockquote.gif); background-position: initial initial; background-repeat: no-repeat no-repeat;"><font color="#808080" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;"></font><p style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;"><font color="#808080" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">Converts characters in a URL that might be altered during transport across the Internet ("unsafe" characters) into their corresponding escape sequences.</font></p><p dir="ltr" style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;">URL로 사용할 수 없는 문자들(^, {, " 등)을 URL encoding된 문자열로 변환해 준다.</p></blockquote><p style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;"><font color="#0000ff" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">HRESULT UrlEscapeSpaces( LPCTSTR pszURL, LPTSTR pszEscaped, LPDWORD pcchEscaped );</font></p><blockquote dir="ltr" style="margin: 5px 0px 5px 5px; padding: 0px 0px 0px 16px; border: 0px; line-height: 1.3; font-family: 돋움, Dotum, AppleGothic, sans-serif; background-image: url(http://ts.daumcdn.net/custom/blog/29/294052/skin/images/iconBlockquote.gif); background-position: initial initial; background-repeat: no-repeat no-repeat;"><font color="#808080" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;"></font><p style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;"><font color="#808080" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">A macro that converts space characters into their corresponding escape sequence.</font></p><p dir="ltr" style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;">URL에 포함된 공백을 escapce처리 해 준다.</p></blockquote><p style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;"><font color="#0000ff" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;"><strong style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">HRESULT UrlGetPart( LPCTSTR pszIn, LPTSTR pszOut, LPDWORD pcchOut, DWORD dwPart, DWORD dwFlags );</strong></font></p><blockquote dir="ltr" style="margin: 5px 0px 5px 5px; padding: 0px 0px 0px 16px; border: 0px; line-height: 1.3; font-family: 돋움, Dotum, AppleGothic, sans-serif; background-image: url(http://ts.daumcdn.net/custom/blog/29/294052/skin/images/iconBlockquote.gif); background-position: initial initial; background-repeat: no-repeat no-repeat;"><font color="#808080" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;"></font><p style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;"><font color="#808080" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">Accepts a URL string and returns a specified part of that URL.</font></p><p dir="ltr" style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;">dwPart값에 따라 URL에서 특정부분을 분리해 준다. (hostname, port...)</p></blockquote><p style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;"><font color="#0000ff" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">BOOL UrlIs( LPCTSTR pszUrl, URLIS UrlIs );</font></p><blockquote dir="ltr" style="margin: 5px 0px 5px 5px; padding: 0px 0px 0px 16px; border: 0px; line-height: 1.3; font-family: 돋움, Dotum, AppleGothic, sans-serif; background-image: url(http://ts.daumcdn.net/custom/blog/29/294052/skin/images/iconBlockquote.gif); background-position: initial initial; background-repeat: no-repeat no-repeat;"><font color="#808080" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;"></font><p style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;"><font color="#808080" style="margin: 0px; padding: 0px; border: 0px; line-height: 1.3;">Tests whether or not a URL is a specified type.</font></p><p dir="ltr" style="margin-right: 0px; margin-left: 0px; padding-right: 0px; padding-left: 0px; border: 0px; line-height: 1.3;">URL이 UrlIs에 제시된 조건(적합한 URL인가? 파일 경로인가? 등)에 맞는 구성인지 확인한다.</p></blockquote></div>
- Git . . . . 12 matches
현재 브랜치에서 작업중인 내용을 임시로 저장하고 다른 브랜치로 이동할 때 사용한다.
예를 들어 마지막 세 번째에 있는 커밋 로그를 수정하고 싶다면 rebase -i를 사용해서 수정한다. 주의할 점은 이미 서버에 push된 커밋은 SHA-1 값이 바뀌기 때문에 가능하면 수정하지 말아야 한다. 만약 rebase에 익숙하지 않다면 다음을 주의 깊게 봐야 한다. https://git-scm.com/book/ko/v1/Git-%EB%8F%84%EA%B5%AC-%ED%9E%88%EC%8A%A4%ED%86%A0%EB%A6%AC-%EB%8B%A8%EC%9E%A5%ED%95%98%EA%B8%B0
==== 기본 사용법 ====
`--no-ff` 와 같이 사용할 수 있다.
`git tag`는 특정 커밋에 대해 레이블을 지정하여 태그를 붙이는 기능이다. 이를 사용하여 특정 커밋의 버전을 명시할 수 있다.
* {{{{color:red}core.eol = native}}} 기본 설정. 시스템에서 line ending 을 처리하는 방법에 따른다. windows에서는 CRLF 를 사용하고 Linux, OS X 는 LF 만 사용한다.
* {{{{color:red}core.eol = crlf}}} CRLF 를 line ending 으로 사용한다.
* {{{{color:red}core.eol = lf}}} LF를 line ending 으로 사용한다.
* {{{{color:red}core.autocrlf = input}}} LF를 line ending 으로 사용한다.
`-n( --dry-run)` 옵션을 사용하면 적용전에 어떻게 변경되는지 테스트가 가능하다.
커밋 히스토리 확인이 주 목적이라면 이게 가장 가볍고 빠름. 무엇을 골라야할지 모르겠다면 이것부터 사용을 추천.
- Hash collision 회피 전략 . . . . 12 matches
해시 충돌 회피는 다음과 같은 방법들이 일반적으로 사용된다.
체이닝은 해시 충돌 시 연결 리스트를 사용하여 충돌이 발생한 버킷에 여러 개의 데이터를 저장하는 방식이다. 각 버킷은 링크드 리스트의 노드가 되며, 충돌이 발생하면 링크드 리스트의 새로운 노드를 추가한다.
개방 주소법은 충돌이 발생하면 다른 버킷을 사용하는 방식이다. 선형 조사 (Linear Probing), 이차원 조사 (Quadratic Probing), 이중 해시 (Double Hashing) 등 다양한 방법이 있다.
완벽 해시는 충돌이 전혀 없는 해시 함수를 사용하는 방식이다. 이를 위해서는 입력 데이터의 특성에 맞는 해시 함수를 찾아야 한다. 예를 들어, 정적인 데이터 집합에 대해 미리 계산된 해시 함수를 사용할 수 있다.
분리 연쇄법은 체이닝과 비슷한 방식으로 충돌이 발생하면 해당 버킷에서 연결 리스트를 사용한다. 하지만 체이닝과는 달리, 연결 리스트를 다른 배열에 저장한다. 이를 통해 캐시 효율성을 높일 수 있다.
Cuckoo Hashing은 두 개의 해시 함수와 두 개의 해시 테이블을 사용하는 방식이다. 충돌이 발생하면 다른 해시 테이블에 값을 저장한다. 이를 반복하다가 한 테이블이 꽉 차면 다른 해시 함수를 사용하여 다른 값을 저장한다.
데이터의 특성에 따라 해시 함수와 충돌 회피 방법을 선택해야 한다. 예를 들어, 입력 데이터가 균등하게 분포하지 않은 경우 유니버설 해싱이나 완벽 해시를 사용할 수 있다. 반면 입력 데이터가 균등하게 분포하는 경우 개방 주소법이나 체이닝을 사용하는 것이 좋다.
삽입과 삭제 연산의 빈도가 높은 경우에는 개방 주소법이나 분리 연쇄법과 같이 연결 리스트를 사용하는 방식이 적합하다. 반면, 삽입과 삭제 연산이 적은 경우에는 개방 주소법이나 완벽 해시를 사용하는 것이 좋다.
- 유니코드에 대해 . . . . 12 matches
유니코드의 목적은 현존하는 모든 문자 인코딩 방법들을 유니코드로 교체하려는 것이다. 기존의 인코딩들은 그 규모나 범위 면에서 한정되어 있고, 나라마다 달라 서로 호환되지 않는 문제점이 있었다. 유니코드가 다양한 문자 집합들을 통합하는데 성공하면서 유니코드는 컴퓨터 소프트웨어의 국제화와 지역화에 널리 사용되게 되었다.
15번과 16번 두 평면은 사용자 영역으로, 특정 업체나 사용자 별로 할당하여 쓰게 되므로 소프트웨어간이나 글꼴간의 호환성이 보장되지 않는다.
UCS는 ISO/IEC 10646으로 정의된 문자 인코딩의 국제 표준이다. UCS는 유니코드 값을 그대로 표현하는 인코딩이다. 유니코드는 110만 개 이상의 사용 가능한 코드 영역이 있지만 일반적으로 첫 65535개(Basic Multilingual Plane, BMP, 기본 다국어 평면)만이 사용된다. 그리고 많은 코드 영역, 심지어 BMP 영역에서도 서로 다른 인코딩 형태와 미래의 확장성을 고려하여, 일부러 문자를 할당하지 않았다.
UCS-4는 0xFFFFFFFF 까지의 코드 즉 4 바이트로 한 문자를 표현한다. 유니코드 값을 그대로 32비트로 표현한다. UTF-32도 같은 방식을 사용하는 인코딩이며 따라서 __USC-4와 UTF-32는 같다.__
UCS와 UTF-16의 문제점은 지나치게 많은 공간이 필요하다는 점과 기존 ASCII 체계와 호환성이 없다는 점이다. 첫 번째 문제는 컴퓨터 상에 존재하는 많은 글자들이 1바이트로 표현할 수 있는 글자들인데 이 글자들에 2바이트를 사용하는 것은 너무 낭비라는 지적이다. 두 번째 문제는 UCS-2나 UTF-16과 호환성을 위해서는 기존 문서들을 모두 변환해야하는데 이 역시 문제라는 지적이다. 이 두 가지 문제를 동시에 해결하는 인코딩 방식이 UTF-8이다.
UTF-8 인코딩은 유니코드 한 문자를 나타내기 위해 1바이트에서 4바이트까지를 사용한다. U+0000부터 U+007F범위에 있는 ASCII 문자는 UTF-8에서 1바이트 만으로 표시된다. 7비트 이상이 필요한 글자들은 다음 방식으로 바이트 수를 늘려간다.
위 패턴을 사용하면 더 큰 코드 범위도 표시할 수도 있다. 하지만 원래 UTF-8은 6바이트까지의 코드 범위도 표현할 수 있었으나, 2003년 11월 RFC 3629에서 UTF-16으로 표현 가능한 상한선인 U+10FFFF 까지의 글자만 표시할 수 있도록 제한하게 되었다.
바이트 순서 표식(Byte Order Mark, BOM)은 유니코드에서 엔디언을 구별하기 위해 사용되는 문자로, 문자 값은 U+FEFF 이다.
UTF-8의 경우 엔디언 문제가 일어나지 않기 때문에 BOM을 붙여야 할 필요는 없다. 하지만 해당 문서가 UTF-8 인코딩이라는 표식으로 사용하는 경우도 있다. 특히 마이크로소프트의 많은 문서 편집기는 UTF-8 로 저장할 경우 자동으로 문서의 가장 앞부분에 BOM을 추가한다. 이와는 반대로 유닉스 계열 문서 편집기는 BOM을 사용하지 않는 경우가 일반적이다. 이 경우 문서의 BOM을 잘못 인식하고 문제가 발생할 수도 있다.
- 폰트에 대해 . . . . 12 matches
- 인쇄에 사용하는 경우가 많으며 특히 책이나 잡지와 같은 전문가 수준의 인쇄 작업에 자주 사용됨.
- 그래픽 디자인 출력에 주로 사용. 출력 품질은 좋지만 곡선 구현 방식으로 모니터 화면에서는 다소 매끄럽지 않아 보일 수 있음.
* 일반 문서 작업에는 TTF 포맷, 섬세한 디자인 작업이나 출력물 작업 시에는 OTF를 사용.
- 모질라와 기타 조직들이 결합하여 웹에서 사용할 목적으로 개발
- OTF/TTF는 쉽게 복제될 수 있어 웹에서 사용할 목적으로 대신 WOFF가 만들어짐.
- 파일 크기를 훨씬 가볍게 해서 모바일 사용에 이상적으로 만들어짐. SVGZ는 SVG의 압축된 버전.
하나의 폰트 파일에 여러 개의 페이스가 같이 저장되어 배포되기도 하는데 이런 파일을 폰트 컬렉션이라고 하며 확장자 .TTC로 되어 있다. 영문 폰트는 이런 예가 거의 없지만 아시아계의 폰트는 이런 경우가 종종 있다. 우리가 사용하는 한글 윈도우즈의 한글 폰트들도 컬렉션으로 제공된다.
페이스 특성에 대한 값이다. 폰트를 만들 때 사용한 디자인 도면의 크기라든가 도면 내에서 글자의 영역, 밑줄의 위치 등의 정보들이 저장되어 있다. 또 개별 글리프의 크기 정보들도 저장되어 있는데 높이는 얼마이며 다음 글자는 어디쯤에 놓아야 하는지, 여백은 얼마나 되는지 등의 정보들이 들어 있다.
- 하나의 글꼴을 화면, 지면 따위에 출력할 때 사용하는 그 글꼴의 세로폭. 대체로 한 글꼴의 크기를 결정한다.
* 둘의 절대적인 차이는 이용되는 출력장치에서 나타난다. 화면에서만 사용한다면 사실 px를 사용하는 것이 더 정확하다. 하지만 폰트는 화면 뿐만이 아니라 종이, 직물 등에도 인쇄되기 때문에 세로폭을 이야기할 때 pt를 더 많이 쓴다.
- Go/Go에서 string enum . . . . 11 matches
{{{#!chatgpt Go 언어에서 string enum을 사용하는 예를 보여줘.
Go 언어는 열거형(enum)을 지원하지 않습니다. 따라서 string enum을 사용하려면 문자열 상수(constant)를 정의해야 합니다. 이를 예를 들어 설명해 보겠습니다. {{{#!vim ruby
위 코드에서는 const 키워드를 사용하여 Red, Green, Blue 세 개의 문자열 상수를 정의하였습니다. 이러한 문자열 상수는 각각 "RED", "GREEN", "BLUE" 값을 갖고 있습니다. 이후 main 함수에서는 switch 문을 사용하여 color 변수의 값에 따라 분기를 수행합니다.
이렇게 문자열 상수를 활용하여 enum과 비슷한 기능을 구현할 수 있습니다. 하지만 이 방식은 Go 언어에서 일반적으로 사용되지 않는 방식이기 때문에 상황에 따라 적절한 방법을 선택하는 것이 좋습니다.
{{{#!chatgpt Go 에서 enum을 사용하지 않는 이유는 무엇이지?
Go 언어에서는 대신 상수(constant)와 iota를 사용하여 비슷한 기능을 구현할 수 있습니다. 상수는 프로그램 전체에서 값을 변경할 수 없는 값으로 사용되며, iota는 열거형 상수에서 값을 자동으로 증가시키는 데 사용됩니다.
이러한 방식으로 enum을 대체하는 것은 코드의 가독성을 높이고 복잡성을 줄이는 데 도움이 됩니다. 또한, Go 언어는 타입 안정성(type safety)을 강조하고 있기 때문에 enum을 사용하여 런타임에서 발생할 수 있는 타입 관련 오류를 미리 방지할 수 있습니다.
따라서, Go 언어에서는 명시적인 enum을 제공하지 않지만, 상수와 iota를 사용하여 비슷한 기능을 구현할 수 있습니다. 이는 Go 언어가 간결하고 명시적인 코드를 지향하는 철학을 따른 결과입니다.
- Windows Via C/C++ . . . . 11 matches
* DuplicateHandle을 이용할 때 원본 프로세스에서 원본 오브젝트를 사용할 수 있다면 절대로 복사된 핸들을 닫아선 안 된다.
* DuplicateHandle의 1, 3번째 파라메터에 같은 프로세스 오브젝트 핸들을 넣어 동일 프로세스에서 사용되는 핸들을 복사할 수 있다. 주로 같은 커널 오브젝트에 액세스 권한을 제한한 핸들을 생성할 때 사용할 수 있다.
* 프로세스는 두 개의 컴포넌트로 구성된다. 프로세스를 관리하기 위한 목적으로 운영체제가 사용하는 커널 오브젝트와 실행 모듈이나 Dll 코드와 데이터를 수용하는 주소 공간. 주소 공간엔 스레드 스택이나 힙 할당 같은 동적 메모리 할당에 사용되는 공간도 포함한다.
* 프로세스는 자신만의 주소공간을 가지기 때문에 스레드에 비해 더욱 많은 시스템 리소스를 사용한다. 개별 프로세스는 상당량의 정보를 시스템 내부에 저장하고, .exe와 .dll 파일이 주소 공간으로 로드되어야 하므로 파일 리소스가 필요하다. 스레드는 프로세스에 비해 비교적 적은 리소스가 필요한데 사실 스레드는 하나의 스레드 커널 오브젝트와 스레드 스택 정도만 필요로 할 뿐이다.(사실 스레도도 그렇게 가벼운 자원은 아니다. 어디까지나 비교적이다.)
* 캐시 라인에 대해. 애플리케이션이 사용하는 데이터는 캐시 라인의 크기와 그 경계 단위로 묶어서 다루는 것이 좋다.
* 항상 단일 스레드에 의해서만 접근되는 데이터를 구성하거나(함수의 매개변수와 지역변수를 사용하는 것이 이러한 방식을 따를 수 있는 가장 쉬운 방법이다.), 단일 CPU에 의해서만 접근되는 데이터를 구성하는 것(스레드 선호도를 사용하여)이 성능을 위해서는 가장 좋은 방법이다. 이 두 가지를 동시에 할 수 있다면 캐시 라인과 관련된 문제를 완전히 피할 수 있다.
* 윈도우는 프로세스들 사이에 데이터를 전달하는 다양한 방법들을 제공하고 있지만 내부적으로는 모두 메모리 맵 파일을 사용하여 구현되었으며, 실제로 메모리 맵 파일을 사용하는 것이 단일 머신에서 프로세스 간에 데이터를 전달하는 가장 효과적인 방법이다.
- Blog/2014-07 . . . . 10 matches
기능이 단순해서 사용하기 쉽다. HTTP와 CGI, SSL, SSI, Lua 등을 지원한다.
Civetweb은 MIT 라이선스기 때문에 상용 소프트웨어도 제한없이 사용할 수 있다. Civetweb은 C로 구현된 웹 서버 mongoose 프로젝트([https://code.google.com/p/mongoose/])에서 fork되었다. mongoose는 원래 MIT 라이선스였으나 2013년 8월 GNU GPL v2 라이선스로 변경되었다. 즉, Civetweb은 mongoose가 GPL v2 라이선스를 가지게 됨에 따라 mongoose가 아직 MIT 라이선스일 때부터 fork 되어 MIT 라이선스를 유지하는 것이 Civetweb에서 명시하고 있는 프로젝트의 가장 큰 목적이다. (프로젝트에 기여하는 개발자들에게도 GPL 라이선스 변경 이후 mongoose 코드를 사용하지 말 것을 강조하고 있다. 최신 기능과 Sergey Lyubka(mongoose의 저자)가 작성한 훌륭한 기능들을 사용하고 싶으면 mongoose를 사용해 달라고 말하고 있다. 물론 GNU v2 라이선스를 유지할 수 있다면.)
최종 사용자를 위한 서버 프로그램은 SourceForge에서 다운로드 받을 수 있다. https://sourceforge.net/projects/civetweb/
다음은 C 프로젝트에서 Civetweb을 사용하여 HTTP 서버를 열어 Hello civetweb 페이지를 리턴하는 예제다. 사용하기 간단다는 것을 보여준다.
MFC에서 사용하려면 각 헤더에 stdafx.h를 추가하고 civetweb.c 확장자를 .cpp로 변경하고 사소한 캐스팅 오류가 나는 몇 부분을 수정하면 된다.
CivetServer 클래스는 다음 같이 사용한다. 핸들러 클래스를 만들고 CivetServer 클래스를 선언해 핸들러를 등록하면 끝난다.
- C++/volatile 키워드에 대해 . . . . 10 matches
C/C++ 에 있는 키워드 중에서 가장 사용 빈도가 낮은 키워드라고 알려져 있다.
따라서 컴파일러는 변수에 최적화를 수행하지 않는다. 즉, 컴파일러가 값을 예측하거나 캐싱하는 것을 방지하기 때문에 레지스터를 사용하지 않고 매번 메모리에서 읽는다
하지만 임베디드 장비처럼 메모리 주소에 연결된 하드웨어 값을 읽어온다면(Memory-mapped I/O) 이야기가 달라진다. 언제든지 값이 변경될 수 있기 때문에 주소가 같다는 이유 만으로 메모리 읽기를 예측하거나 캐싱하여 넘기면 안된다. 이런 경우 유용하게 사용될 수 있는 키워드가 `volatile`이다.
{{{+1 volatile이 사용되는 3가지 상황 }}}
1. 하드웨어 레지스터와 상호 작용하는 경우: 특정 하드웨어 레지스터에 값을 읽고 쓰는 데 사용되는 변수는 예기치 않게 변경될 수 있다.
3. 인터럽트 서비스 루틴: 인터럽트가 발생하면 실행 중인 코드가 중단되고 인터럽트 서비스 루틴이 실행된다. 이 경우 인터럽트 서비스 루틴에서 사용되는 변수는 예기치 않게 변경될 수 있으므로 `volatile`로 선언해야 한다.
이처럼 레지스터를 재사용하지 않고 매번 메모리를 참조하는 것을 가시성(visibility)이 보장된다고 말한다.
이러한 동기화 문제를 해결하기 위해서는 C++11 이후의 표준에서 도입된 `std::atomic` 타입이나 뮤텍스, `std::lock_guard`와 같은 동기화 메커니즘으로 명시적으로 락을 잡아 사용해야 한다.
`volatile`을 사용하면 컴파일러가 수행하는 재배치에 제약을 준다.
유용성과 한계를 충분히 인지하고 `volatile`을 사용하자.
- MPIR로 C++ 고정밀 연산을 해 보자 . . . . 10 matches
C 환경에서 가장 유명한 오픈소스 고정밀(Multiprecision) 연산 라이브러리는 GNU Multiple Precision Arithmetic Library(GMP)일 것이다. GMP는 리눅스 환경에서 사용하기 간편하지만 윈도우(VC++)환경에서 사용하는 것은 쉽지 않으며 최신 버전에서는 VC++ 환경에서 빌드 가능한 솔루션을 제공하고 있기는 하나 여전히 불편하다. 윈도우(VC++)에서 고정밀 연산 라이브러리를 사용하려고 할 때 MPIR는 훌륭한 대안이다. MPIR는 GMP에서 fork 된 오픈소스 프로젝트이며 대부분의 코드가 GMP으로부터 왔고 추가 오리지널 기여 코드로 구성되어 있다. MPIR 개발자가 말하는 MPIR 프로젝트의 주 목적은 다음과 같다[[footnote(http://en.wikipedia.org/wiki/MPIR_(mathematics_software))]].
...라고 말은 하지만 결국 MPIR의 목적은 프로젝트의 부제 MPIR (GMP Windows fork)와 같이 윈도에서 GMP를 쉽게 사용하기 위함이다. GNU 계열 OS는 그냥 GMP 쓰면 된다.
사용할 환경에 맞는 프로젝트를 빌드한다. (예: Debug, x64, lib, gc)
= 사용하기 =
##GMP 사용법과 같으며 공식 홈페이지를 방문하면 샘플 코드를 포함한 친절한 설명을 얻을 수 있다. -_-
모든 C++ 클래스와 함수는 다음 헤더로 사용 가능하다.
반대의 경우, 클래스는 GMP C 타입으로 클래스를 초기화하거나 명시적인 생성자를 사용하여 할당할 수 있다.
MPIR(고정밀 연산 라이브러리)를 Visual Studio 2010에서 빌드 및 기본 사용법
- irc logs/2002-2010 . . . . 10 matches
[20:36] <05냐옹이^절대시계> 사용법: !기억 <단어> <내용>
[18:26] <02봇-루미> 사용법: !!토사물 번호 (1~4)
[15:23] -Chanserv- Welcome - L/I/N/U/X 채널에 오신 것을 환영합니다. 이 곳에서는 봇, 스크립트, 색글 및 안시 코드의 사용을 금지하고 있으며, 채널 로그의 공개 역시 허용하지 않습니다. 그리고, 서빙을 제공하지 않습니다. 이에 반하는 행동을 하실 경우, 경고 없이 킥/밴을 당하실 수 있으니 유의 하시기 바랍니다.
[18:32] <02풍류> 그거 아무계정이나 사용가능?
1 4 UNL_jpgas^망ㅋ2 님의 사용자 정보
1 4* 2사용자명14: UNL_jpgas
1 4* 2인증유저14:1 UNL_jpgas^망ㅋ 님은 jpgas 사용자로 로그인되었습니다.
[4-X4-] 입력하신 사용자 혹은 서버를 찾을 수 없습니다.
[4에러: hyacinth - 닉네임이 이미 사용중입니다. (7kr.hanirc.org)]
[4에러: hyacinth - 닉네임이 이미 사용중입니다. (7kr.hanirc.org)]
- 다차원데이터를 시각화하는 방법 . . . . 10 matches
다차원 데이터(3차원 이상의 데이터)를 시각화하기 위해 차원 축소, 상호작용, 또는 특정 시각화 기법을 사용하는 것이 일반적이다. 주요 방법은 다음과 같다.
- **t-SNE**: 비선형 차원 축소로, 주로 클러스터링 결과를 시각화할 때 사용.
- 인터랙티브 대시보드나 플롯을 통해 사용자가 데이터를 탐색하며 차원을 선택하거나 필터링.
### 2. **다차원 데이터 시각화에 사용되는 주요 라이브러리**
다양한 프로그래밍 언어와 도구에서 아래는 주로 사용되는 라이브러리와 도구들이다.
- **Holoviews**: 고차원 데이터의 상호작용 시각화를 간소화. Bokeh 또는 Matplotlib 백엔드 사용.
- **VTK (Visualization Toolkit)**: 고급 3D 및 볼륨 시각화에 사용.
- **차원 선택**: 시각화 목적에 따라 중요한 변수를 선택하거나 차원 축소 기법을 사용.
- **인터랙티브 도구 활용**: Plotly, Bokeh, Tableau 같은 도구는 사용자 경험을 향상.
- **성능 고려**: 대규모 데이터의 경우, 데이터 샘플링 또는 효율적인 라이브러리(Bokeh, Plotly) 사용.
- 윈도우에서 쓰이는 명령어 . . . . 10 matches
[09] eudcedit [사용자 정의 문자 편집기]
단, 윈2000에서는 cmd실행 후 sfc사용 - 마지막 설정된 값을 다음 윈도우부팅시 곧바로 실행됨
[05] control userpasswords2 [사용자 계정]
[12] lusrmgr.msc [로컬 사용자 및 그룹]
[06] control Userpasswords [사용자 계정]
[18] nusrmgr.cpl [사용자 계정]
lusrmgr.msc : 로컬 사용자 및 그룹
control userpasswords2 : 사용자 계정
원격 데스크톱 연결 사용
[Nusrmgr.cpl] 사용자계정
- 학부/3학년 . . . . 10 matches
메모리 사용량과 CPU 사용량, 모든 프로세스의 실시간 정보 등를 보여주며 GUI로 프로세스의 작업을 관리할 수 있다.
III. 사용 환경
② CPU/메모리 사용률 출력
▶ 프로세스 종류별로 일정 시간 동안 사용된 CPU 사용률과 메모리와 사용량을 실시간으로 보여주는 기능.
text = wxString::Format(_T("프로세스: %d\t CPU 사용: %3d%%\t실제 메모리: %3d%%"), numproc, (int)cpus->usage_tot, ((mems->memtotal - mems->memfree) * 100)/mems->memtotal);
III. 사용 환경
▶ 윈도우 공유 폴더를 CIFS (Common Internet File System;마이크로소프트에서 개발하고 사용중인 프로토콜) 형태로 마운트 한다. 리눅스 상에서 마운트 되었으므로 네트워크 디렉토리 역시 로컬 디렉토리와 같이 탐색과 실행이 가능하다.
- C++/extern "C" 를 쓰는 이유 . . . . 9 matches
C에서는 링커가 함수를 이름으로만 구분하고, C++에서는 매개변수까지 사용해서(시그니처) 구분한다. 즉, 똑같은 이름의 함수라도 매개변수에 따라 링커는 달리 구분한다. 같은 이름의 함수가 여럿 존재할 때 어떤 함수를 호출하는지 구분해서 링크하기 위해 이름 외에 매개변수까지 사용해서 컴파일러는 이름을 변형(맹글링)한다.
{{{+1 extern "C" = C 이름 장식을 사용하겠다. 즉, "네임 맹글링을 하지 않겠다"의 의미. }}}
외부 모듈의 함수나 변수를 링크 하려면 extern 키워드를 사용해 링크하려는 대상을 찾을 수 있도록 해준다. C++에서 그냥 extern 만 사용하면 extern "C++" 과 같은 뜻이다. 그리고 extern "C" 를 적용하면 이 이름을 찾아 링크하려는 녀석이 C라는 의미다. 따라서 C 이름 장식을 사용하게 된다. gcc는 gcj를 통해 자바와 링크할 수 있어 extern "Java"도 가능하다. gcj로 컴파일된 자바 모듈을 찾아서 링크할 수 있도록 하라는 의미다. 기술적/실용적 이유에서 사실상 대부분 컴파일러가 extern "C++"과 extern "C"만 지원하지만, extern "X"의 "X" 자리에 어떤 언어든, 또는 어떤 링크 규칙이든 들어올 수 있다.
C++ 네임 맹글링을 하면 외부 C 모듈에서 링크할 수 없다. C는 C++ 네임 맹글링을 모르기 때문에. 그리고 서로 다른 C++ 컴파일러로 컴파일된 모듈 역시 위에서 언급했던 대로 컴파일러 제조사마다 네임 맹글링 방법이 달라지는 이유로 링크할 수 없다. 그래서 DLL과 같이 컴파일된 이미지를 상호 간에 사용해야할 경우 extern "C" 를 사용하여 C 언어 기본 이름 장식 형식으로 컴파일 하도록 만들어 서로 호환되게끔 사용하는 것이다. 이것이 extern "C" 의 의미다.
- HelpOnUserPreferences . . . . 9 matches
== 사용자 환경 설정 ==
위키위키를 여행하시는데에 사용자 등록을 하시면 편리합니다. 사용자 등록을 마친 후에는 우상단의 아이콘에 [[Icon(home)]]이 보이게 되며, 자신만의 [위키홈페이지]를 만들어 보실 수도 있습니다.
* '''[[GetText(Name)]]''': 사용자의 실제 이름 혹은 별명. WikiName 형식으로 만들면 편리합니다.
* '''[[GetText(Password)]]''': 비밀번호는 다른사람이 쉽게 알거나 추측할 수 없는 것을 사용하시기 바랍니다.
* 웹상의 비번은 쉽게 노출될 가능성이 많으므로 가능한 노출되어도 큰 문제가 되지 않을 비밀번호를 사용하시기 바랍니다.
* '''[[GetText(Password repeat)]]''': 초기 사용자 등록시에 나타납니다. 바로 위에서 입력했던 비밀번호를 확인하는 단계로, 조금 전에 넣어주었던 비밀번호를 그대로 집어넣어 주시면 됩니다.
* '''[[GetText(Email)]]''': 자주 쓸 이메일 주소. 이메일 주소를 넣어주면 원하는 위키페이지에 대하여 그 변경점을 구독신청하거나 취소하실 수 있습니다. 비밀번호를 잊으셨을 경우에도 이 이메일 주소를 사용해 새로운 비밀번호를 등록하실 수 있습니다.
* '''[[GetText(User CSS URL)]]''': 자신이 원하는 CSS로 변경하고 싶을 경우에 사용합니다.
- Tools . . . . 8 matches
사용 방법은 Alt+C를 누르면 클립보드 히스토리 목록이 표시된다.
화면을 녹화하여 gif로 만들기. 흠잡을 데 없는 사용성. Free(Open source on GitHub)!
사용할 때마다 기분이 좋고 쾌적한 사용성을 보여주는 Git GUI 클라이언트. Win과 Mac 지원. 무료. UI가 매우 깔끔하고 빠름. 비주얼한 Merge Conflict 처리기와 인터랙티브 Rebase 기능. 이미지 파일 Diff 보기도 가능
Break Reminders. PC 사용 중 눈의 피로를 덜기 위해 짧은 휴식 시간을 알려주는 유용한 프로그램
크롬 사용자라면 강력 추천. {OK} {OK}
Evernote 확장을 사용하여 웹에서 본 것을 Evernote 계정에 저장하십시오. 만약 당신이 Evernote 를 사용한다면.
- tools . . . . 8 matches
사용 방법은 Alt+C를 누르면 클립보드 히스토리 목록이 표시된다.
화면을 녹화하여 gif로 만들기. 흠잡을 데 없는 사용성. Free(Open source on GitHub)!
사용할 때마다 기분이 좋고 쾌적한 사용성을 보여주는 Git GUI 클라이언트. Win과 Mac 지원. 무료. UI가 매우 깔끔하고 빠름. 비주얼한 Merge Conflict 처리기와 인터랙티브 Rebase 기능. 이미지 파일 Diff 보기도 가능
Break Reminders. PC 사용 중 눈의 피로를 덜기 위해 짧은 휴식 시간을 알려주는 유용한 프로그램
크롬 사용자라면 강력 추천. {OK} {OK}
Evernote 확장을 사용하여 웹에서 본 것을 Evernote 계정에 저장하십시오. 만약 당신이 Evernote 를 사용한다면.
- 텍스트 에디터에서 Dot과 Mark의 의미 . . . . 8 matches
Dot과 Mark는 텍스트 에디터나 워드 프로세서에서 캐럿을 구현하는 데 사용되는 용어이다.
* '''Dot (닷)''': 일반적으로 텍스트 에디터에서 캐럿의 위치를 나타내는 단위로 사용된다. 특히, 화면에 표시되는 텍스트에서 현재 위치를 나타내는 데 사용된다. 현재 위치한 문자 또는 공백을 가리키는 데에 사용된다.
* '''Mark (마크)''': 텍스트 에디터에서 사용자가 선택한 텍스트의 시작과 끝을 나타내는 지점을 말한다. 일반적으로 사용자가 특정 텍스트를 강조 표시하거나 복사 및 붙여넣기를 수행할 때 사용된다. "Mark"는 사용자가 선택한 영역의 시작과 끝을 정의하는 데 도움이 된다.
- Blog/2008-10 . . . . 7 matches
이에 구글은 크롬의 플러그인을 대폭 수정, 웹 페이지가 멈춤 현상을 방지했다고 강조한다. 또 어도비 플래시나 모질라의 파이어폭스에 대응하는 플러그인도 사용할 수 있게 됐다.
위 기사를 보고 업데이트를 하려고 했는데 사용자를 위한 베타버전 업데이트는 아직 되지 않고 있고 개발자용만 업데이트 된 듯합니다.
윈도우 비스타를 사용중입니다.
메모리는 1GB + 1GB 해서 2GB 를 사용중인데 처음 윈도우가 깨끗했을 때는 충분한 듯 하다고 생각했는데 어플리케이션을 설치하고 큰 프로그램을 돌릴 때 조금 부족하다는 느낌을 가끔 받았습니다.
2GB 메모리도 작업관리자에서는 60~70% 만 사용중이고 30%는 여유가 있어 넉넉한줄 알았는데 과연 큰 프로그램을 돌릴 때에는 메모리가 많을 수록 좋다는 말을 바로 느낍니다.
비스타에서 램 2GB 를 사용중이라면 모양새가 이상해도 3GB 이상을 추천합니다.
사실 외국어를 배우며 가장 힘든 것은 저런 사소한 것들이다. 원어민은 아무렇지도 않게 사용하는 관용 표현, 가벼운 슬랭, 책에서는 잘 나오지 않는 현지에서 아니면 쉽게 알기 힘든 사소한 것들.
- ColorImpact . . . . 7 matches
ColorImpact를 이용하면 선택한 색상에 어울리는 색상을 제공해줍니다. 이러한 작업을 사용자가 직접하려면 왠만한 색감을 가지고 있지 않고서는 어려운 일입니다.
웹 사이트의 메뉴를 만들면서 배경색에 색을 설정(보색 설정)할 때 포토샵 등을 이용하여 이런저런 색을 대입해보고 괜찮다 싶으면 이를 사용하는 경우가 많습니다.
하지만 이러한 일은 색감이 뛰어난 사용자의 경우에는 별다른 문제가 없겠지만 색감이 떨어지는 사용자라면 보색의 선택에 어려움을 느낄 수 밖에 없습니다.
BMP, GIF, JPG, PNG, CSS, HTML, ACO, ACT, ACF, WMF, EMF 등과 몇 가지 텍스트 포맷으로 내보내기 할 수 있습니다. 일반적으로 많이 사용되는 Paint Shop Pro, Photoshop, Illustrator, FreeHand를 지원하므로 대다수의 디자이너가 이용 가능합니다.
ColorImpact는 보색관련 작업으로 불편함을 느끼는 사용자와 색상 선택에 어려움을 느끼는 사용자에게 적합한 프로그램입니다.
- Guestbook/2009 . . . . 7 matches
Q. 카테고리 페이지에서 {{{[[PageList(^Category.*[^{Category$}])]]}}}을 사용해야 CategoryCategory를 목록에서 제외할 수 있는데, 그렇다면 CategoryWiki 페이지에서 CategoryWiki를 목록에서 제외하려면 매크로를 어떻게 지정해야 하나요? --파초 -- [icehit3] [[DateTime(2009-01-30T12:05:30)]]
A. CategoryWiki를 제외하는 경우라면 {{{[[PageList(^Category.*[^{CategoryWiki$}])]]}}}와 같이 쓰시면 됩니다. 일반적인 정규 표현식의 사용과 같습니다. -- [hyacinth] [[DateTime(2009-01-30T17:23:41)]]
Q2. Subpage 사용법 : 책, 책/삽질정신 과 같이 서브 페이지를 만들어 사용할 수 있더군요. 그런데 책과 같은 최상위 페이지에서 최하단에 붙어있는 {{{../}}}는 따로 매크로같은 걸 사용하는 건가요?
Q3. 제가 사용 중인 모니위키에서는 카테고리를 FrontPage에 링크시켜놓고 있습니다. 그런데 CategorySearch 매크로를 사용하게 되면 FrontPage도 검색되 버리네요. 이 경우 검색 결과에서 FrontPage를 제외하려면 어떻게 해야하나요? -- 파초 [[Date(2009-02-07T05:05:19)]]
- HelpOnInstallation . . . . 7 matches
* <!> `rcs`가 없어도 사용할 수 있으나 백업본이 저장되지 않습니다.
* 최신 모니위키는 PHP로 만들어진 RcsLite를 제공하며, rcs 대신에 사용할 수 있습니다.
* 윈도우즈 사용자의 경우는 아파치 웹서버를 제외한 PHP + rcs + 기타 몇몇 프로그램이 함께 패키징 된 apmoni-setup-1.1.x.exe를 제공합니다.
그러나 초보사용자라면 SystemPages는 반드시 설치하는 것을 권장한다.
모니위키 설치가 끝났지만 사용자의 입맛에 맞게 설정하고자 한다면 다음을 참고하세요.
root사용자라면 tar를 이용해서 간단히 백업할 수 있겠고, 호스팅을 하는 일반 사용자의 경우라면 backup restore를 액션을 이용할 수 있다.
- MoniWikiOptions . . . . 7 matches
* 1로 설정하면 테마의 기본 CSS만을 사용하도록 강제 설정. (기본값 0)
* 기본값은 `$url_prefix.'/css/kbd.js'` : 사용하기 싫으면 그 값을 빈 문자열로 한다.
* 스마일리 사용을 켜거나 끈다.
* Email Notification을 활성화 한다. 이 기능을 키면 SubscribePlugin을 사용할 수 있다.
* 페이지 카운터의 사용 여부를 결정한다 (See PageHitsMacro)
* 모니위키 블로그에서 트랙백을 사용할 수 있게 한다.
`gethostbyaddr()`의 사용여부 결정
- TaggingSystem . . . . 7 matches
정확하게 말해서 모니위키에서 지원하는 시스템은 KeywordSystem이다. 그러나 일반 KeywordSystem과는 다르게 일반 사용자가 키워드를 추가할 수 있기 때문에 TaggingSystem에 좀 더 가깝다.
일반적으로 우리가 말하는 TaggingSystem은 WikiPedia:Folksonomy 시스템이다. Folksonomy는 정제되지 않은 수많은 태깅 정보를 분류하고 연결하는 역할을 한다. 그러나 위키위키는 고도로 정제된 사용자가 매우 정제된 키워드를 사용할 수 있으므로 위키위키에서는 Folksonomy보다 간단한 방식의 분류로 구현할 수 있다.
== 사용법 ==
=== TagCloud 사용하기 ===
TagCloud를 사용하기 위해서 {{{[[Keywords(tour)]]}}} 매크로를 이용합니다. 자세한 내용은 KeywordsMacro를 참조하세요.
LocalKeywords 페이지에 누구나 내용을 첨가할 수 있지만 이것이 곧바로 시스템에 반영되지 않는다. 이것을 시스템에 반영하기 위해서는 위키위키의 관리자 혹은 소유자로 등록된 사용자가 다음과 같이 URL에 덧붙여준다.
- 100대 홈페이지 . . . . 6 matches
사용방법을 안내한다. 그 밖에도 아로마, 에센셜오일(Essencial oil), 아로마
기 위한 팁, 케이크를 만드는 데 필요한 재료와 도구, 사용법을 소개하고 케이
이름을 사용한다고 한다. 2000년 5월 이후로 110회가 넘는 꾸준한 방송을 해오
진들, 대소변 가리기에서 육아용품 사용법까지 직접 체험한 육아상식 정보가 있
자료를 저장해 놓고 관리하는 데이터베이스 프로그램의 일종. 무료로 사용할
수 있어서 많이 사용된다.
- Blog/2024-08 . . . . 6 matches
* '''2.4GHz, 5GHz, and up to 7GHz 커버링 안테나:''' 이 안테나는 특정 주파수 대역, 즉 2.4GHz에서 7GHz 사이의 주파수 대역을 주로 커버하도록 설계되었다. 이러한 안테나는 Wi-Fi, Bluetooth, 일부 무선 통신 시스템 등에 사용된다. 이 대역 안에서 효율적으로 신호를 송수신할 수 있도록 최적화되어 있으며, 좁은 주파수 대역을 커버하는 대신 해당 대역에서 높은 성능을 발휘한다.
* '''모든 영역 주파수를 커버하는 안테나 (Wideband/Ultra-Wideband 안테나):''' 이 안테나는 매우 넓은 주파수 범위를 커버할 수 있도록 설계되었다. 예를 들어, 수 MHz에서 수십 GHz까지 커버하는 안테나도 있을 수 있다. 이런 안테나는 여러 주파수 대역을 사용하는 시스템이나 다양한 주파수에서 동작하는 여러 장치와의 호환성을 필요로 하는 경우에 사용된다. 하지만 특정 주파수 대역에서의 성능은 좁은 주파수 대역을 커버하는 안테나에 비해 상대적으로 떨어질 수 있다.
'''2.4GHz, 5GHz, 7GHz 커버링 안테나:''' Wi-Fi 라우터, 스마트폰, 블루투스 장치 등에서 사용된다. 특정 주파수 대역에 대한 강한 요구가 있을 때 주로 사용된다.
'''Wideband/Ultra-Wideband 안테나:''' 군사, 레이더 시스템, 다양한 무선 통신 장치 등 다양한 주파수를 사용해야 하는 응용 분야에 적합하다. 다양한 주파수 환경에서 동작할 필요가 있을 때 유용하다.
- C++/콜링 컨벤션 차이 . . . . 6 matches
C와 가변인자를 사용하는 C++ 함수의 기본 호출 규약. 함수 이름 앞에 _가 붙는다.
처음 두 개까지의 DWORD 인자는 스택을 사용하지 않고 ECX와 EDX 레지스터를 사용한다. 이름 장식은 함수 이름 앞에 @가 붙으며 나머지는 stdcall과 같다.
가변인자를 사용하지 않는 C++의 기본 호출 규약. ECX 레지스터에 this 포인터를 넣는다. 컴파일 시 가변인자인 경우 cdecl로 변경된다.
기본적으로 C++ 멤버 함수는 thiscall을 사용한다.
이름 장식을 하지 않는 것을 빼면 cdecl과 같다. VxDs에서만 사용한다.
- GNU 선언문 요약 . . . . 6 matches
GNU란 `GNU는 유닉스가 아니다`를 의미하는 영어표현의 재귀적 약자이며 원하는 모든 사람이 자유롭게 사용할 수 있는 소프트웨어 시스템의 이름이다. 이를 위해 자원자들과 프로그램, 장비, 금전적인 도움이 절실하다.
상업적인 소프트웨어를 불법적으로 사용하는 것이 죄가 된다면, 나는 나 자신의 신념에 따라 그런 소프트웨어는 사용하지 않겠고 컴퓨터 작업을 계속하기 위해 스스로 자유 소프트웨어의 본체를 만들겠다.
많은 프로그래머들은 소프트웨어의 상용화를 불쾌하게 생각하며 소프트웨어의 상용화가 프로그래머들을 동질감보다 투쟁해야할 대상으로 느끼게 하는 것에 동의한다. GNU를 사용하게 되면 자유롭지 못한 프로그램을 쓸 때는 느낄 수 없는 조화로운 느낌을 갖게 해준다. GNU에 흥미를 느끼는 많은 프로그래머들을 찾을수 있다.
그렇게 되면 더이상 라이선스와 소유권에 대한 소모적인 노력을 기술을 향상시키는데 사용될 수 있을 것이다.
프로그램을 복제하고 재생산하는 행위는 프로그래머들에게 있어서 숨을 쉬는 것 만큼이나 자연스럽고 생산적인 일이다. 따라서 프로그램은 마땅히 자유롭게 사용되어야 한다.
- HelpForDevelopers . . . . 6 matches
사용중에 불편하신 부분이나 오작동하거나 질문할 부분이 있으면 개발 사이트에 오셔서 언제든지 개발자와 피드백을 하실 수 있습니다.
모니위키 사용중에 문제점이 발생하는 경우에는 지체없이 http://kldp.net/projects/moniwiki/bugs 사이트에서 문제점을 보고해주시기 바랍니다. 혹은 사용중에 불편한 점이 있다고 생각하셔도 보고해 주시면 고맙겠습니다.
개발자는 사용자가 불편하게 생각하는 부분을 잘 모르는 경우가 많습니다. 사용자의 피드백은 모니위키를 좀 더 사용하기 편리하게 만들어 줄 가능성을 열어줍니다!
- HelpOnInstallation/MultipleUser . . . . 6 matches
모니위키 버전 1.0.9 이후부터 모니위키는 다중사용자를 위한 좀 더 편리한 설치환경을 제공합니다.
각 사용자는 따로 설치할 필요 없이 관리자가 설치해놓은 모니위키를 단지 make install로 비교적 간단히 설치할 수 있습니다.
== 사용자 설치 ==
이 경우 대부분의 php파일이 설치되지 않은채로 각 사용자가 사용하게 되기 때문에, 모니위키의 php취약점이 발견되었을 경우 관리자가 설치된 [모니위키]만을 업데이트하는 것으로 문제점을 해결할 수 있게 됩니다. 물론 일부 카피된 파일 및 php 이외에 웹상에 직접 노출되는 지역 파일은 사용자가 직접 업데이트해야 하겠지요.
- VS . . . . 6 matches
VS2008까지 사용 가능. 추천 {OK} . VS2013부터는 이 기능이 기본으로 들어갔다. 스크롤 환경 설정 옵션에 포함되었다.
10여가지 기능별로 켜고 끌 수 있어 불필요하다 느껴지는 건 끄고 사용할 수 있다. 특히 Match Margin 기능은 매우 유용한 도구.
쓰다 보니까 이것 없이 사용하는 건 불가능해질 정도다.
1. {{{[도구>사용자 지정]}}}
사용자가 별도로 입력을 해주는건 없고, 단지 이전에 커서가 있었던곳으로
Shift+Alt+F12 : 빠른기호찾기 ( 이거 찾기보다 좋더군요. 함수나 define등 아무거나에서 사용)
- mym/2010_01_03 . . . . 6 matches
사용자 인터페이스만 제공.
누가 이 소프트웨어에 관여하고 누가 참여하고 개발할 것인가. 사용자 입장에서, 개발자 입장에서 파악.
각 사용자들이 원하는 바 파악.
시나리오 단계에서 많이 사용.
센서에 사용자가 값을 입력을 할 수 있게 하면 입력을 받아서.
사용자는 다시 액션을 취할 수 있다. 컨트롤러에 액션이 반영.
- omr1/3/002 . . . . 6 matches
</div><div><span class="Apple-style-span" style="color: rgb(51, 51, 51); font-family: Verdana; font-size: 12px; line-height: normal; "><div class="post hentry category-42" id="post-2443" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><h3 class="storytitle" style="font-weight: normal; text-transform: capitalize; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; font-family: 돋움, dotum, sans-serif; "><a href="http://gaemon.wordpress.com/2008/10/13/10%eb%85%84-%ec%95%88%ec%97%90-%ed%94%84%eb%a1%9c%ea%b7%b8%eb%9e%98%eb%b0%8d-%eb%8f%85%ed%95%99%ed%95%98%ea%b8%b0/" rel="bookmark" target="_blank" style="color: rgb(102, 102, 102); text-decoration: none; ">10년 안에 프로그래밍 독학하기</a></h3><div class="meta" style="font-weight: normal; color: rgb(204, 204, 204); letter-spacing: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; ">Filed under: <a title="View all posts in 42" href="http://ko.wordpress.com/tag/42/" rel="category tag" target="_blank" style="font-weight: normal; letter-spacing: 0px; color: rgb(102, 102, 102); text-decoration: none; ">42</a> — 개멍 @ 21:52</div><div class="storycontent" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><div class="snap_preview" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><p style="font: normal normal normal 1em/1.3em Verdana, Arial, Helvetica, sans-serif; margin-right: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 2px; margin-bottom: 2px; "><a id="yit6" title="피터 노빅 횽아의 유명한 글" href="http://www.norvig.com/21-days.html" target="_blank" style="color: rgb(102, 102, 102); text-decoration: none; ">피터 노빅 횽아의 유명한 글</a> 번역. <a id="vb" title="다른 분이 번�한 글" href="http://tavon.org/work/21-days" target="_blank" style="color: rgb(102, 102, 102); text-decoration: none; ">다른 분이 번역한 글</a> 도 있긴 한데 품질이 맘에 안 들어서 새로 번역해 봤다. “프로그램하다” 는 말은 요즘 잘 안 쓰이는거 같아서 몇몇 경우 “코딩하다” 는 표현을 사용했다.</p><hr width="100%" size="2"><p style="font: normal normal normal 1em/1.3em Verdana, Arial, Helvetica, sans-serif; margin-right: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 2px; margin-bottom: 2px; ">어떤 서점을 들어가도 “7일만에 자바 독학하기” 라든가 그 옆에 나란히 놓인 비주얼 베이직, 윈도우즈, 인터넷 등을 며칠 내지 몇 시간만에 독학하는 방법을 찾을 수 있다. 아래와 같은 고급 검색을 amazon.com 에서 해 봤더니:</p><p style="font: normal normal normal 1em/1.3em Verdana, Arial, Helvetica, sans-serif; margin-right: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 2px; margin-bottom: 2px; ">248 개의 결과가 나왔다. 상위 78 개는 컴퓨터 책이었다. (79위는 “30일만에 벵갈어 배우기” 였다) “며칠만에” 를 “몇 시간 만에” 로 바꿔도 눈에 띄게 비슷한 결과가 나온다. 253 개의 결과 중 상위 77 개는 컴퓨터 책이고 “문법과 문체를 24 시간만에 독학하기” 가 78위로 뒤를 잇는다. 상위 200 개 중에 96% 가 컴퓨터 책이다.</p><p style="font: normal normal normal 1em/1.3em Verdana, Arial, Helvetica, sans-serif; margin-right: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 2px; margin-bottom: 2px; ">결론을 내리자면 사람들이 컴퓨터를 배우기 위해 몰려들고 있든가, 아니면 다른 어떤 것보다 컴퓨터가 끝내주게 쉽다는 얘기, 둘 중 하나일 것이다. 베토벤이나 양자 역학이나 심지어 개 빗질하는 법을 며칠 만에 배우는 책은 없다. <a id="jrhs" title="3일만에 파스칼 배우기" href="http://www.amazon.com/exec/obidos/ISBN=1556225679/4094-7934802-027992" target="_blank" style="color: rgb(102, 102, 102); text-decoration: none; ">“3일만에 파스칼 배우기”</a> 같은 책이 어떤 의미일지 생각해 보자:</p><p style="font: normal normal normal 1em/1.3em Verdana, Arial, Helvetica, sans-serif; margin-right: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 2px; margin-bottom: 2px; ">배우기: 3일 이라면, 의미있는 프로그램을 몇 개 짤 시간도 없고, 그 과정의 성공이나 실패로부터 배울 수도 없다. 경험있는 프로그래머와 같이 일하는 환경이 어떤 것인지 이해할 시간도 없다. 잘라 말해, 별로 많이 배울 시간이 안된다. <a id="rfbb" title="알렉산더 포프" href="http://en.wikipedia.org/wiki/Alexander_Pope" target="_blank" style="color: rgb(102, 102, 102); text-decoration: none; ">알렉산더 포프</a> 가 말했듯, 선무당이 사람잡는다.</p><p style="font: normal normal normal 1em/1.3em Verdana, Arial, Helvetica, sans-serif; margin-right: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 2px; margin-bottom: 2px; "><strong><font color="#fe1100" size="3">파스칼: 3일 이라면 파스칼의 문법은 배울 수 있을 것이다 (비슷한 언어를 이미 알고 있다면). 하지만 그 문법으로 뭘 할지를 배우진 못할 것이다.</font></strong> 잘라 말해, 당신이 베이식 (BASIC) 프로그래머라면, 파스칼 문법을 사용해서 베이식 스타일의 프로그램은 짤 수 있겠지만, 파스칼이 정말 좋은지 (또는 나쁜지) 는 알 수 없을 것이다. 그러니 그게 무슨 소용인가? <a id="ilr3" title="알란 펄리스" href="http://www-pu.informatik.uni-tuebingen.de/users/klaeren/epigrams.html" target="_blank" style="color: rgb(102, 102, 102); text-decoration: none; ">알란 펄리스</a> 가 말했듯이, “프로그래밍에 대해 생각하는 방법을 바꾸지 않는 언어는 알 필요도 없다.” 파스칼을 (실은 비주얼 베이식이나 자바스크립트 쪽이 좀 더 가능성 있겠지만) 약간 배워서 기존에 존재하는 코드와 인터페이싱한다면 뭔가 소용이 되긴 하겠지만, 그런 경우도 프로그래밍을 배우는건 아니다: 그 일을 하는 방법을 배우는 것일 뿐.</p><p style="font: normal normal normal 1em/1.3em Verdana, Arial, Helvetica, sans-serif; margin-right: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 2px; margin-bottom: 2px; ">3일 동안이라. 불행히도 이걸론 충분치 않다. 좀 더 설명해 보겠다.</p><h3 style="font-weight: normal; text-transform: capitalize; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; font-family: 돋움, dotum, sans-serif; ">10년 동안 프로그래밍 독학하기</h3><p style="font: normal normal normal 1em/1.3em Verdana, Arial, Helvetica, sans-serif; margin-right: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 2px; margin-bottom: 2px; ">연구자들 (<a href="http://www.amazon.com/exec/obidos/ASIN/034531509X/" target="_blank" style="color: rgb(102, 102, 102); text-decoration: none; ">Bloom (1985)</a>, <a href="http://www.norvig.com/21-days.html#bh" target="_blank" style="color: rgb(102, 102, 102); text-decoration: none; ">Bryan & Harter (1899)</a>, <a href="http://www.amazon.com/exec/obidos/ASIN/0805803092" target="_blank" style="color: rgb(102, 102, 102); text-decoration: none; ">Hayes (1989)</a>, <a href="http://www.norvig.com/21-days.html#sc" target="_blank" style="color: rgb(102, 102, 102); text-decoration: none; ">Simmon & Chase (1973)</a>) 은 세상의 많은 일들 중 어느 하나라도 전문적 지식을 갖추려면 10년 정도의 시간이 걸린다는 것을 밝힌 바 있다. 체스라든가, 음악 작곡, 모르스 전신 치는 법, 그림, 피아노 연주, 수영, 테니스, 신경정신학 및 토폴로지 등 모두 마찬가지다. 지름길은 없는 듯 하다: 심지어 <font size="3"><strong><font color="#fe1100">4살 때 음악 신동이었던 모짜르트도 세계적인 음악을 만들기까지는 13년을 기다려야 했다</font></strong>.</font> 장르를 바꿔 얘기하면, 비틀즈는 갑자기 나타나 1964 년부터 연속으로 1위 히트곡을 쏟아내면서 <a id="rg7o" title="에드 설리반 쇼" href="http://en.wikipedia.org/wiki/The_Ed_Sullivan_Show" target="_blank" style="color: rgb(102, 102, 102); text-decoration: none; ">에드 설리반 쇼</a> 에 출연한 것 처럼 보인다. 하지만 그들은 리버풀이나 함부르그의 작은 클럽에서 1957 년부터 활동해 왔고, 그때부터 대중적 호소력이 있긴 했지만, 진정한 첫 번째로 성공한 앨범인 “페퍼 하사” 는 1967 년에 발매되었다. 사무엘 존슨 (1709-1784) 는 심지어 10년도 짧다고 봤다: “어느 분야에서든 탁월함을 보이려면 평생 노력해야 한다. 더 싼 방법은 없다.” 그리고 초서 (1340-1440) 는 “인생은 짧고, 재주를 배우는건 너무 오래 걸리는도다” 고 한탄했다. 히포크라테스 (기원전 400년경) 는 그의 명언 “인생은 짧고, 예술은 길다” 라는 말은 남겼는데, 축약되지 않은 원문은 “Ars longa, vita brevis, occasio praeceps, experimentum periculosum, iudicium difficile” 이며 번역하자면 “인생은 짧고, 재주는 길고, 기회는 잠깐이고, 실험은 믿을 수 없고, 판단은 어렵다.” 이다. 라틴어에서 “ars” 는 예술이나 기술 어느 쪽을 말할 수도 있지만, 원문의 그리스어는 “techne” 이고 이는 “재주” 로 번역되지 “예술” 로 번역되지 않는다.</p><p style="font: normal normal normal 1em/1.3em Verdana, Arial, Helvetica, sans-serif; margin-right: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 2px; margin-bottom: 2px; ">내가 제안하는 성공적인 프로그래밍의 요소는 다음과 같다:</p><ul style="list-style-type: none; list-style-position: initial; list-style-image: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><li style="font: normal normal normal 1em/1.3em Verdana, Arial, Helvetica, sans-serif; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">프로그래밍에 흥미를 갖고, 재미로 해 봐라. 계속해서 재미를 느껴서 10년을 버틸 수 있도록 하라.</li><li style="font: normal normal normal 1em/1.3em Verdana, Arial, Helvetica, sans-serif; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">다른 프로그래머와 얘기하라; <font color="#fe1100" size="3"><strong>다른 이들이 짠 프로그램을 읽어라</strong></font>. 이것이 어떤 책이나 수업보다 더 중요하다.</li><li style="font: normal normal normal 1em/1.3em Verdana, Arial, Helvetica, sans-serif; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">코딩하라. <font size="3"><strong><font color="#fe1100">가장 좋은 학습은 </font></strong></font><a id="bxrj" title="해보면서 배우는 것" href="http://www.engines4ed.org/hyperbook/nodes/NODE-120-pg.html" target="_blank" style="color: rgb(102, 102, 102); text-decoration: none; "><font color="#fe1100" size="3"><strong>하면서 배우는 것</strong></font></a> 이다. 더 전문적으로 말하자면, “개인이 특정 영역에서 최고로 발휘할 수 있는 수준은 그저 오랫동안 경험한다고 그냥 배워지는게 아니다. 매우 경험이 많은 개인이라도 발전하려는 노력이 없으면 수준을 높일 수 없다.” <a href="http://www2.umassd.edu/swpi/DesignInCS/expertise.html" target="_blank" style="color: rgb(102, 102, 102); text-decoration: none; ">(p. 366)</a> 그리고 “가장 효과적인 학습에는 특정 개인에게 맞는 난이도의 잘 정의된 과제와, 유익한 피드백과, 반복해서 잘못을 수정해 나갈 기회가 필요하다.” (p. 20-21) 이러한 관점을 제공하는 <a href="http://www.amazon.com/exec/obidos/ASIN/0521357349" target="_blank" style="color: rgb(102, 102, 102); text-decoration: none; ">Cognition in Practice: Mind, Mathematics, and Culture in Everyday Life</a> 는 흥미로운 참고서적이다.</li><li style="font: normal normal normal 1em/1.3em Verdana, Arial, Helvetica, sans-serif; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">원한다면, 대학에서 4년을 보내라 (아니면 대학원에서 더 시간을 보내라). 이렇게 하면 해당 경력을 필요로 하는 직업에 도전할 수도 있고, 이 분야에 대한 더 깊은 이해를 얻을 수도 있다. 하지만 수업을 즐기지 않는다면 (약간의 노력으로) 직업 내에서 비슷한 경험을 얻을 수도 있다. 어느 경우든, 책에서 배우는 것만으론 충분치 않다. “컴퓨터 과학 교육을 듣는다고 전문 프로그래머가 될 수 있다면 붓과 물감을 전공한 누구든 전문 화가가 될 수 있을 것이다” 고 <a id="lhvd" title="The New Hacker's Dictionary" href="http://www.ccil.org/jargon/jargon_toc.html" target="_blank" style="color: rgb(102, 102, 102); text-decoration: none; ">The New Hacker’s Dictionary</a> 의 저자 <a id="md7x" title="에� 레이몬드" href="http://catb.org/esr/" target="_blank" style="color: rgb(102, 102, 102); text-decoration: none; ">에릭 레이몬드</a> 가 말한 바 있다. 내가 고용했던 최고의 프로그래머 중 하나는 고등학교 졸업장밖에 갖고 있지 않았다. 그는 <a href="http://www.xemacs.org/" target="_blank" style="color: rgb(102, 102, 102); text-decoration: none; ">대단한</a> <a href="http://www.mozilla.org/" target="_blank" style="color: rgb(102, 102, 102); text-decoration: none; ">소프트웨어</a> 를 많이 만들었고, 자신만의 <a href="http://groups.google.com/groups?q=alt.fan.jwz&meta=site%3Dgroups" target="_blank" style="color: rgb(102, 102, 102); text-decoration: none; ">뉴스 그룹</a> 도 있으며, 스톡 옵션을 충분히 벌어 자신의 <a id="eirn" title="나이트클럽" href="http://en.wikipedia.org/wiki/DNA_Lounge" target="_blank" style="color: rgb(102, 102, 102); text-decoration: none; ">나이트클럽</a> 까지 만들었다.</li><li style="font: normal normal normal 1em/1.3em Verdana, Arial, Helvetica, sans-serif; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><font face="돋움" size="3" ;=""><strong><font color="#fe1100">다른 프로그래머들과 같이 프로젝트에 참여하라</font></strong>.</font> 몇 프로젝트에서 최고의 프로그래머가 되어라. 다른 몇 개에서는 최악의 프로그래머가 되어라. 자신이 최고인 프로젝트에서는 프로젝트를 꾸려나가고, 다른 이들에게 영감을 주는 능력을 시험하라. 최악인 프로젝트에서는 스승들이 무엇을 하고, 무엇을 하기 싫어하는지 배워라 (하기 싫은 것은 당신에게 시킬 것이다).</li><li style="font: normal normal normal 1em/1.3em Verdana, Arial, Helvetica, sans-serif; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">다른 프로그래머들이 이미 일하는 프로젝트에 참여하라. 다른 이들이 쓴 코드를 이해하는데 집중하라. 원 저자의 도움 없이 이해하고 고치는데 얼마나 노력이 드는가 경험하라. 당신이 짠 코드를 관리해야 하는 이들이 쉽게 작업하려면 어떻게 프로그램을 설계해야 할지 생각하라.</li><li style="font: normal normal normal 1em/1.3em Verdana, Arial, Helvetica, sans-serif; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">최소한 대 여섯개의 프로그래밍 언어를 배워라. 클래스 추상화를 제공하는 언어 (Java 나 C++ 같은) 하나와, 함수 추상화를 제공하는 언어 (Lisp 이나 ML 같은) 하나, 문법 추상화를 제공하는 언어 (Lisp 같은) 하나, 선언형 명세 방법 (declarative specification) 을 지원하는 언어 (Prolog 나 C++ 템플릿 같은) 하나, 코루틴을 제공하는 언어 (Icon 이나 Scheme 같은) 하나, 병렬화를 제공하는 언어 (Sisal 같은) 하나는 꼭 배워라.</li><li style="font: normal normal normal 1em/1.3em Verdana, Arial, Helvetica, sans-serif; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">“컴퓨터 과학” 에는 “컴퓨터” 가 들어간다는 것을 잊지 마라. 컴퓨터가 인스트럭션 하나를 수행하거나, 메모리에서 워드 하나를 가져오거나 (캐쉬 미스 나는 경우 및 안 나는 경우), 디스크에서 워드를 연속으로 읽어오거나, 디스크를 탐색하는데 얼마나 걸리는지 배워라. (해답은 아래쪽에)</li><li style="font: normal normal normal 1em/1.3em Verdana, Arial, Helvetica, sans-serif; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">언어 표준화 작업에 참여하라. ANSI C++ 위원회에 들어갈 수도 있지만, 주위 사람들의 인덴트 스타일이 공백 2 개인지 4 개인지 결정하는 일일 수도 있다. 어느 경우든, 다른 이들이 특정 언어에서 무엇을 좋아하는지, 얼마나 좋아하는지, (운이 좋으면) 왜 그렇게 느끼는지 배울 수 있다.</li><li style="font: normal normal normal 1em/1.3em Verdana, Arial, Helvetica, sans-serif; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">위 언어 표준화 작업에서 가능한 빨리 빠져나오는 센스를 키워라.</li></ul><p style="font: normal normal normal 1em/1.3em Verdana, Arial, Helvetica, sans-serif; margin-right: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 2px; margin-bottom: 2px; ">이 모두를 염두에 두면, 책에만 의존해서 얼마나 배울 수 있는지 의문스럽다. 내 첫 아이가 태어나기 전, 나는 모든 “~하는 법” 류의 책들을 다 읽었지만 그럼에도 아직도 대책없는 초보라고 느꼈다. 30달이 지나 내 두 번째 아이가 태어날 때 쯤, 기억을 되살리려 그 책들을 다시 읽었을까? 아니다. 나는 개인적 경험에 의존했고, 전문가들이 쓴 수천 페이지보다 그 쪽이 훨씬 유용하다는 확신을 줬다.</p><p style="font: normal normal normal 1em/1.3em Verdana, Arial, Helvetica, sans-serif; margin-right: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 2px; margin-bottom: 2px; ">프레드 브룩스는 그의 에세이 <a href="http://citeseer.nj.nec.com/context/7718/0" target="_blank" style="color: rgb(102, 102, 102); text-decoration: none; ">No Silver Bullets</a> 에서, 훌륭한 소프트웨어 설계자를 찾는 세 가지 방법을 제시했다.</p><ol style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><li style="font: normal normal normal 1em/1.3em Verdana, Arial, Helvetica, sans-serif; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">가능한 일찍, 최고 설계자감을 체계적으로 찾아내라.</li><li style="font: normal normal normal 1em/1.3em Verdana, Arial, Helvetica, sans-serif; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">경력 개발을 책임질 멘토를 붙여주고, 재능을 계발하는 책임을 부여하라. 신중하게 경력을 쌓게 하라.</li><li style="font: normal normal normal 1em/1.3em Verdana, Arial, Helvetica, sans-serif; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">자라나는 설계자들이 서로 소통하고 자극할 기회를 만들어 줘라.</li></ol><p style="font: normal normal normal 1em/1.3em Verdana, Arial, Helvetica, sans-serif; margin-right: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 2px; margin-bottom: 2px; ">이 말은 훌륭한 설계자감은 이미 처음부터 그럴 자질이 있다는 것을 암시한다. 신경 써야 하는 부분은 그들끼리 제대로 얽히게 하는 것이다. <a id="ep_c" title="알란 펄리스" href="http://www-pu.informatik.uni-tuebingen.de/users/klaeren/epigrams.html" target="_blank" style="color: rgb(102, 102, 102); text-decoration: none; ">알란 펄리스</a> 가 더 간단히 말한 바 있다: “누구에게나 조각을 가르칠 수 있지만, 미켈란젤로에게는 조각을 못하게 가르칠 수는 있어도 조각은 가르칠 방법이 없다. 훌륭한 프로그래머도 마찬가지다.”</p><p style="font: normal normal normal 1em/1.3em Verdana, Arial, Helvetica, sans-serif; margin-right: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 2px; margin-bottom: 2px; ">그러니 가서 그 자바 책을 사라. 뭔가 소용은 있을 것이다. 하지만 그 책은 당신의 인생을 바꿀 수도 없고, 프로그래머로서의 전문성을 24시간 안에, 며칠 안에, 심지어 몇 달 안에 가르치진 못할 것이다.</p><h3 style="font-weight: normal; text-transform: capitalize; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; font-family: 돋움, dotum, sans-serif; ">참고문헌</h3><ol style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><li style="font: normal normal normal 1em/1.3em Verdana, Arial, Helvetica, sans-serif; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">Bloom, Benjamin (ed.) <i><a href="http://www.amazon.com/exec/obidos/ASIN/034531509X" target="_blank" style="color: rgb(102, 102, 102); text-decoration: none; ">Developing Talent in Young People</a></i>, Ballantine, 1985.</li><li style="font: normal normal normal 1em/1.3em Verdana, Arial, Helvetica, sans-serif; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">Brooks, Fred, <i><a href="http://citeseer.nj.nec.com/context/7718/0" target="_blank" style="color: rgb(102, 102, 102); text-decoration: none; ">No Silver Bullets</a></i>, IEEE Computer, vol. 20, no. 4, 1987, p. 10-19.</li><li style="font: normal normal normal 1em/1.3em Verdana, Arial, Helvetica, sans-serif; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">Bryan, W.L. & Harter, N. “Studies on the telegraphic language: The acquisition of a hierarchy of habits. <i>Psychology Review</i>, 1899, 8, 345-375</li><li style="font: normal normal normal 1em/1.3em Verdana, Arial, Helvetica, sans-serif; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">Hayes, John R., <i><a href="http://www.amazon.com/exec/obidos/ASIN/0805803092" target="_blank" style="color: rgb(102, 102, 102); text-decoration: none; ">Complete Problem Solver</a></i> Lawrence Erlbaum, 1989.</li><li style="font: normal normal normal 1em/1.3em Verdana, Arial, Helvetica, sans-serif; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">Chase, William G. & Simon, Herbert A.<a href="http://books.google.com/books?id=dYPSHAAACAAJ&dq=%22perception+in+chess%22+simon&ei=z4PyR5iIAZnmtQPbyLyuDQ" target="_blank" style="color: rgb(102, 102, 102); text-decoration: none; ">“Perception in Chess”</a> <i>Cognitive Psychology</i>, 1973, 4, 55-81.</li><li style="font: normal normal normal 1em/1.3em Verdana, Arial, Helvetica, sans-serif; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">Lave, Jean, <i><a href="http://www.amazon.com/exec/obidos/ASIN/0521357349" target="_blank" style="color: rgb(102, 102, 102); text-decoration: none; ">Cognition in Practice: Mind, Mathematics, and Culture in Everyday Life</a></i>, Cambridge University Press, 1988.</li></ol><h3 style="font-weight: normal; text-transform: capitalize; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; font-family: 돋움, dotum, sans-serif; ">부록: 언어 선택</h3><p style="font: normal normal normal 1em/1.3em Verdana, Arial, Helvetica, sans-serif; margin-right: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 2px; margin-bottom: 2px; ">몇 사람들이 맨 처음 무슨 프로그래밍 언어를 배워야 할지 물어왔다. 하나의 정답은 없지만, 이런 점들을 생각해 보자.</p><ul style="list-style-type: none; list-style-position: initial; list-style-image: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><li style="font: normal normal normal 1em/1.3em Verdana, Arial, Helvetica, sans-serif; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><b>친구들을 사용하라.</b> “어떤 OS 를 써야 할까? 윈도우즈, 유닉스, 아니면 맥?” 이라고 누가 내게 물어보면, 난 보통 이렇게 대답한다: “친구들이 쓰는걸 써라.” 친구들에게서 배울수 있다는 장점은 OS 나 프로그래밍 언어의 어떤 근본적 차이점보다도 더 큰 잇점이다. 또 앞으로 사귈 친구들을 고려하라: 해당 언어 사용자 커뮤니티에 당신도 참여하게 될 것이다. 선택한 언어의 사용자 커뮤니티가 계속 커지고 있는가, 아니면 사라지고 있는가? 해답을 찾을 수 있는 책이나, 웹 사이트나, 온라인 게시판이 있는가? 그 게시판에 있는 사람들이 맘에 드는가?</li><li style="font: normal normal normal 1em/1.3em Verdana, Arial, Helvetica, sans-serif; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><b>간단한 것을 골라라.</b> C++ 나 자바 같은 언어는 경험 많은 프로그래머들이 큰 팀으로 모여서 전문적인 개발을 하기 위한 것이고, 런타임 성능에 신경을 쓴다. 그렇기 때문에 이 언어들에는 그런 상황에 맞는 복잡한 부분들이 있다. 당신은 프로그램을 배우는데 신경을 써야 한다. 그런 복잡한 부분은 필요없다. 한명의 신인 프로그래머가 배우기 쉽고 기억하기 쉬운 언어를 골라라.</li><li style="font: normal normal normal 1em/1.3em Verdana, Arial, Helvetica, sans-serif; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><b>갖고 놀아라.</b> 피아노를 어떻게 배우고 싶은가? 흔히 하듯이 인터랙티브하게, 건반을 치면 곧 소리가 들리는 방식으로 하고 싶은가? 아니면 “뱃치” 방식으로, 한 곡을 다 쳐야만 소리가 나는 식으로 배우고 싶은가? 당연히, 인터랙티브 모드 쪽으로 피아노를 배우는 편이 쉽다. 프로그래밍도 마찬가지다. 반드시 인터랙티브 모드가 있는 언어를 선택하고 그 모드를 사용하라.</li></ul><p style="font: normal normal normal 1em/1.3em Verdana, Arial, Helvetica, sans-serif; margin-right: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 2px; margin-bottom: 2px; ">이런 기준을 놓고 볼 때, 내가 추천하는 첫 번째 언어는 <b><a id="i" title="파이쏜" href="http://python.org/" target="_blank" style="color: rgb(102, 102, 102); text-decoration: none; ">파이쏜</a></b> 이나 <b><a href="http://www.schemers.org/" target="_blank" style="color: rgb(102, 102, 102); text-decoration: none; ">스킴</a></b> 이다. 하지만 당신의 상황은 다를 수 있고, 다른 좋은 대안들도 있다. 나이가 한자리 숫자라면 <a id="e8ve" title="앨리스" href="http://alice.org/" target="_blank" style="color: rgb(102, 102, 102); text-decoration: none; ">앨리스</a> 나 <a id="j83l" title="스퀵" href="http://www.squeak.org/" target="_blank" style="color: rgb(102, 102, 102); text-decoration: none; ">스퀵</a> 을 좋아할 수도 있다 (나이가 들었다고 싫어할 이유는 없다). 중요한 것은 일단 선택하고 시작하는 것이다.</p><p style="font: normal normal normal 1em/1.3em Verdana, Arial, Helvetica, sans-serif; margin-right: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 2px; margin-bottom: 2px; "></p></div></div><div class="feedback" style="clear: both; font: normal normal normal 1em/1.3em Verdana, Arial, Helvetica, sans-serif; color: rgb(204, 204, 204); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "></div></div><p style="margin-right: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 2px; margin-bottom: 2px; "> </p><p style="margin-right: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 2px; margin-bottom: 2px; "><a href="http://gaemon.wordpress.com/2008/10/13/10%EB%85%84-%EC%95%88%EC%97%90-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D-%EB%8F%85%ED%95%99%ED%95%98%EA%B8%B0/" target="_blank" style="color: rgb(102, 102, 102); text-decoration: none; ">http://gaemon.wordpress.com/2008/10/13/10년-안에-프로그래밍-독학하기/</a></p><p style="margin-right: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 2px; margin-bottom: 2px; "> </p><p style="margin-right: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 2px; margin-bottom: 2px; ">여기서 긁어왔음.</p><p style="margin-right: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 2px; margin-bottom: 2px; ">결국 핵심은 공부엔 왕도가 없다.</p><p style="margin-right: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 2px; margin-bottom: 2px; ">날로 먹을려고 들지 마라.</p><p style="margin-right: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 2px; margin-bottom: 2px; "> </p><p style="margin-right: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 2px; margin-bottom: 2px; ">프로그래밍 잘 하고 싶으면, 코딩 많이 해봐라.</p><p style="margin-right: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 2px; margin-bottom: 2px; ">라는 얘기.</p><p style="margin-right: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 2px; margin-bottom: 2px; "> </p><p style="margin-right: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 2px; margin-bottom: 2px; ">당연한 말이면서 중요하고, 핵심을 찌르는 말들이네요.</p></span></div>
- Blog/2011-10 . . . . 5 matches
Workrave는 PC를 사용하며 정해진 스케쥴에 따라 정기적으로 휴식을 취할 수 있게 도와주는 --천사같은-- 프로그램이다. [http://www.workrave.org/ 링크]
Workrave는 PC가 켜지면 항상 같이 실행되니 꽤 정확한 사용 통계가 된다.
윈도우는 유니코드를 사용할 때 UNICODE 매크로를 정의한다. Visual Studio는 C++ 프로젝트를 생성하면 UNICODE와 함께 _UNICODE를 정의한다.
'' 유니코드 문자 집합 사용 구성 속성의 차이는 UNICODE와 UNICODE_ 매크로를 정의하는 것 뿐이다. ''
C 언어는 모든 아이덴티파이어에 항상 언더스코어(_)를 붙인다. '' 그런데'' 이것은 C++ 표준안은 아니기 때문에 윈도우 개발팀은 언더스코어를 UNICODE 구분자에 포함하지 않았다. 이런 이유로 두 매크로가 같이 사용되게 된 것이다. 그래서 항상 UNICODE와 _UNICODE를 같이 정의하거나 둘 다 정의하지 말아야 한다.
- Blog/2013-11 . . . . 5 matches
##blog-desc Dan Morrill(Google/Android 엔지니어)이 안드로이드 커뮤니티에 킷캣 OTA에 대해 글을 남겼다. 구글 앤드로이드 OS 업데이트 OTA는 몇 단계를 거친다. 일반적으로 24-48시간 안에 1% 사용자들의 기기에서 시작한다. (구글이 OTA 시작을 알리고 아주 적은 수의 사용자가 OTA가 벌써 왔다고 말하는 건 이 1%에 포함된 사람들이다.) 그리고 1% 기기에서 이상이 없는지 오류 리포트(가 있다면)를 확인한다. 그리고 이를 일반적으로 1주에서 2주동안 25%, 50%, 100% 단계로 진행한다.
구글 앤드로이드 OS OTA 업데이트는 몇 단계를 거친다. 일반적으로 24-48시간 안에 1% 사용자들의 기기에서 시작한다. (구글이 OTA 시작을 알리고 아주 적은 수의 사용자가 OTA가 벌써 왔다고 말하는 건 이 1%에 포함된 사람들이다.) 그리고 1% 기기에서 이상이 없는지 오류 리포트를(가 있다면) 확인한다. 그리고 이를 일반적으로 1주에서 2주동안 __25%, 50%, 100% 단계로__ 진행한다.
일련의 사항으로 다음을 추측할 수 있다. '''구글은 OTA 비율을 조절할 때 GCM ID를 사용한다.''' 그리고 GCM ID는 랜덤하게 새로 생성 된다. 따라서 난 7번 시도해서 업데이트가 됐는데 킷캣 OTA가 시작된지 9일이 지난 지금은 25% 단계라고 생각된다. 클리앙 글에서 어제까지 이 방법이 되지 않았지만 오늘부터 된다는 말은 __어제까지는 1% 단계였기__ 때문이라고 생각할 수 있다. 100번 쯤 시도 했으면 됐을 거다.
- C++/MFC 메시지 맵에 대해 . . . . 5 matches
대부분의 메시지는 프로그램에 대한 사용자의 반응이다. 커맨드는 메뉴 아이콘 또는 툴바 버튼 마우스 클릭이나 키 입력에 의해 생성된다. 사용자는 또한 윈도우 이동이나 리사이징 등으로 윈도우 메시지를 생성할 수도 있다. CCmdTarget 클래스는 커맨드 메시지들을 수신하고 응답할 수 있도록 도와준다. 그렇기 때문에 이런 기능을 필요로 하는 클래스들은 이 클래스를 상속하면 된다. CCmdTarget 클래스는 메시지 아이디를 그에 대응하는 커맨드 핸들러에 매핑해주는 메시지맵 인터페이스를 갖고 있다. 이 메시지맵 인터페이스를 통해서 커맨드 메시지는 이 메시지의 핸들러를 제공하는 클래스들을 순회하게 된다.
헤더에서 메시지 맵을 선언한다. 클래스 선언의 마지막에 사용하거나 DECLARE_MESSAGE_MAP()을 사용한 이후에 멤버를 선언할 경우 반드시 액세스 타입(private, public)을 새로 지정해줘야 한다.
메시지 맵은 매크로를 이용해 message map entry macro에 등록한 함수만 가상 함수처럼 동적 바인딩을 해준다. AFX의 파생 클래스마다 모두 이런 골격을 만들어 뒀기에 가능하다. 개발자는 사용할 윈도우 메시지 엔트리를 등록하고 처리할 함수를 만들면 모든 일이 끝난다.
- C++/SAL 표준 표식 언어 . . . . 5 matches
</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.6; "><span style="font-family: Arial; ">즉 wcscpy 함수는 안전하지 않으니 wcscpy_s 를 대신 사용할 것을 권장하고 있다.</span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.6; "><span style="font-family: Arial; ">만약 이 경고문구를 더이상 보기 싫다면 #define _CRT_SECURE_NO_WARNINGS 을 프리컴파일러헤더 "stadafx.h" 에 정의하면 된다. 란것이다.</span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.6; ">
</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.6; "><span style="font-family: Arial; ">마이크로 소프트는 윈도우즈를 98->2000->XP->Vista 로 업그레이드하면서 쉘에 관련되 GUI에 엄청난 향상과 변화가 있었다. 이렇게 눈에 보이는것도 있지만 눈에 보이지 않는 곳에 엄청난 시간과 인원을 투입했고 지금도 그러한 분야가 바로 보안쪽이다. </span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.6; "><span style="font-family: Arial; ">정품을 인정받은 윈도우즈는 자동업데이트를 사용할 수 있는데 종종 업데이트되는것을 보연 보안관련 패치들이 상당히 많이 차지하는것을 알 수가 있다.</span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.6; "><span style="font-family: Arial; ">그렇다..누군가 계속 해킹(여기서 해킹은 꼭 인터넷만 의미하는것은 아니다. 일반 데스크탑 어플리케이션의역 컴파일러, 어플리케이션 보안취약점을 이용한 공격등을 모두 의미한다.)을 하고 MS는 그것을 방어하려 애쓰고 있다는 뜻이다.</span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.6; ">
</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.6; "></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.6; "><span class="Apple-style-span" style="font-family: Arial; ">위에서 wcscpy' 함수는 바로 이런 버퍼오버런을 취약점이 발생하기 쉽다는 뜻이다.</span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.6; "><font class="Apple-style-span" face="Arial">대신 wcscpy_s 을 사용하라고 하였는데 두함수의 원형을 보면 다음과 같다.</font></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.6; "><font class="Apple-style-span" face="Arial">
</font></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.6; "><font class="Apple-style-span" face="Arial">차이점은 <span class="Apple-style-span" style="border-collapse: collapse; color: rgb(0, 0, 0); font-family: -webkit-monospace; font-size: 11px; line-height: 15px; white-space: pre; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; ">wcscpy_s에는 버퍼에 대한 사이즈를 인수로 받을 필요가 있다.</span></font></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.6; "><font class="Apple-style-span" color="#000000" face="-webkit-monospace" size="3"><span class="Apple-style-span" style="border-collapse: collapse; font-size: 11px; line-height: 15px; white-space: pre; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; ">즉 사용자가(caller)가 strDestination의 버퍼사이즈를 확실히 알고있고 설정함으로써 strSource 가 버퍼사이즈보다 </span></font></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.6; "><font class="Apple-style-span" color="#000000" face="-webkit-monospace" size="3"><span class="Apple-style-span" style="border-collapse: collapse; font-size: 11px; line-height: 15px; white-space: pre; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; ">더 크게 들어와서 지정된 버퍼사이즈만큼 복사가되기때문에 버퍼오버런을 막을 수 있다.</span></font></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.6; "><font class="Apple-style-span" color="#000000" face="-webkit-monospace" size="3"><span class="Apple-style-span" style="border-collapse: collapse; font-size: 11px; line-height: 15px; white-space: pre; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; ">
</span></font></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.6; "><font class="Apple-style-span" face="Arial">wcscpy 는 strDestination 버퍼사이즈보다 strSource가 훨씬크다면 버퍼오버런이 일어 난다.</font></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.6; "><font class="Apple-style-span" face="Arial">그래서 MS는 예전 이런 문자열관련 C/C++함수들을 모두 금지하였다. 따라서 앞으로 예전 문자열 관련 함수보다 뒤에 _s가 붙은 함수를 사용하는것이 보안상 더 좋은 코드를 쓰게 된다.</font></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.6; "><font class="Apple-style-span" face="Arial">
- C++/데이터 정렬에 대해 . . . . 5 matches
그리고 자주 사용되는 데이터를 프로세서의 캐시 라인 크기에 맞추면 효율적으로 캐시된다. 이런 이유에서 컴파일러는 가능하면 캐시 라인 크기에 맞도록 메모리 상에 데이터를 적재한다. 이것이 프로그래밍에서 말하는 데이터 정렬이다.
컴파일러의 데이터 정렬을 변경하려면 다음 지시어를 사용한다.
[[code(#pragma pack(pop))]]을 하지 않으면 [[code(#pragma pack(push, #))]]이 사용된 이후 코드는 전부 적용이 되게 된다. 주의해야 한다.
멤버 변수에 비트필드를 사용했을 때 A는 VC++는 4 바이트가 되고 gcc는 1 바이트가 된다.
VC++는 비트필드 사용에 상관 없이 멤버들의 자료형 내에서 데이터 정렬 크기가 결정되고 gcc는 비트필드의 합이 8비트 이하면 1 바이트가 된다.
- Go/모듈 다운로드 위치 확인 . . . . 5 matches
Go 언어에서는 모듈을 다운로드하고 관리하기 위해 Go 모듈(module)이라는 시스템을 사용합니다. Go 모듈을 사용하면 프로젝트의 종속성(dependency)을 관리하고, 이를 다운로드하고 업데이트하는 등의 작업을 쉽게 수행할 수 있습니다.
만약 `$GOPATH`를 사용자 정의로 설정했다면, 다운로드된 모듈의 위치는 `$GOPATH/pkg/mod` 디렉토리 내부에 해당 모듈의 경로와 버전 정보를 포함하는 디렉토리에 저장됩니다.
또한, Go 언어에서는 `go list -m all` 명령을 사용하여 현재 프로젝트의 모든 종속성을 확인할 수 있습니다. 이 명령은 모듈의 이름, 버전 및 위치를 나열합니다. 따라서, `go list -m all` 명령을 사용하여 모듈의 위치를 확인할 수도 있습니다.
- HelpOnInstallation/SetGid . . . . 5 matches
보안상의 이유로 웹서버는 php 스크립트를 `nobody, www, apache` 혹은 `httpd`같은 특별히 제한된 계정으로 실행하게 됩니다. 이러한 이유로 [모니위키] 스크립트가 생성하게 되는 여러 파일 혹은 디렉토리는 이러한 특별한 계정의 소유가 되며 진짜 사용자가 소유하지 못하게 되는 일이 발생하고 어떤 경우는 이렇게 만들어진 파일을 읽을수도 지울 수도 없게 됩니다.
이러한 것을 방지하기 위해서 [모니위키]가 특별한 파일을 생성하게 되는 몇몇 디렉토리에 대하여 그룹 아이디로 퍼미션을 가지게 할 수 있습니다. 이렇게 Setgid를 사용하도록 그룹 퍼미션을 주게되면 wiki.php에 의해 새롭게 만들어지는 모든 파일은 진짜 사용자의 그룹아이디와 같게 되며, 그룹 아이디가 가지는 퍼미션을 진짜 사용자도 누릴 수 있게되어 읽거나 고치거나 지울 수 있게 됩니다.
Setgid 퍼미션을 작동시키려면 간단히 "`chmod 2777 ''dir''` 명령을 내리면 되는데, 모니위키가 여러 파일들을 만들게되는 디렉토리에 대해 이 명령을 내려주면 됩니다. 모니위키를 최초 설치하는 과정에서 setgid를 사용하려면 우선 모니위키 최상위 디렉토리를 먼저 `chmod 2777`을 해 줍니다. 아마 wiki.php가 들어있는 디렉토리가 될것입니다.
- HelpOnUpdating . . . . 5 matches
upgrade.sh가 하는 일은, 위키 엔진(*.php)을 업데이트하고, 기존의 위키엔진을 사용자가 변경하거나 해서 사용하고 있던 *.php는 없는지 검사하고 사용자가 변경한 *.php파일이 있다면 백업해줍니다.
아래는 upgrade.sh를 사용하지 않고 수동으로 직접 업그레이드 하는 방법을 설명합니다.
다음은 css/*.css imgs/* theme/* 등등의 파일을 업데이트합니다. 기존에 사용자가 변경한 파일이 있다면 반드시 백업하시기 바랍니다.
- grok 패턴 예제 . . . . 5 matches
Logstash의 grok 패턴은 일련의 정규 표현식 규칙으로 구성된 텍스트 매칭 및 변환 시스템입니다. grok 패턴은 Logstash에서 로그 데이터를 추출하고 구문 분석하는 데 사용됩니다.
예를 들어, Apache 웹 서버의 액세스 로그에서 IP 주소, 날짜, 시간, 요청 및 응답 코드를 추출하려면 다음과 같은 grok 패턴을 사용할 수 있습니다.
이 grok 패턴은 일반적인 Apache 액세스 로그 라인의 필드에 대한 규칙을 정의합니다. 이 패턴은 IP 주소, 아이덴티티, 인증 정보, 타임스탬프, HTTP 동사, 요청 URI, HTTP 버전, 응답 코드, 응답 크기, 참조자 및 사용자 에이전트를 추출합니다.
다양한 grok 패턴은 다양한 로그 형식 및 데이터 유형에 맞게 사용할 수 있습니다. Logstash에서는 미리 정의된 많은 grok 패턴이 제공되며, 사용자 정의 패턴도 생성할 수 있습니다.
- irc logs . . . . 5 matches
[18:55:09] 18<냐옹이18> 사용법: !이전기억 <단어> <번호(1~20)>
[13:36:47] 20<hyacinth>30 음식에 사용하는 형용사 ‘딜리셔스(delicious)’를 총리 부인을 수식하는 데 사용한 것이다.
[12:36:03] 18<[]18> <item4> 사용자들은 그런가보다 하고 안 넣는 사용자 경험을 퇴적시키는
- mym/2010_01_01 . . . . 5 matches
제어쪽으로 많이 사용. 제어용 단일 칩 마이크로컴퓨터
MCU는 전자제품에 사용되어 단순 시간예약에서부터 특수한 기능에 이르기까지 다양한 특성을 컨트롤하는 역할을 하는 비메모리 반도체
* 레지스터(register) : 데이터를 보관하는 조그만 메모리. 프로그램 실행 중 사용. 고속 엑세스.
복잡한 명령어는 단순한 명령어를 조합해서 사용
개인용 PC에 많이 사용
- omr1/103 . . . . 5 matches
case ': 5[ UCQ - 학문(법) ] 죄형법정주의의 한 내용인 법률주의에 의하면 ㅇㅇ법은 형법해석의 보충자료로 사용될 수 있다. (띄어쓰기 0개) ':
case ': 5[ UCQ - 학문(법) ] 이자, 부양료, 급료, 사용료 기타 1년이내의 기간으로 정한 금전 또는 물건의 지급을 목적으로 한 채권의 소멸시효는 O년이다. (숫자만 쓰시오) (띄어쓰기 0개) ':
case ': 5[ UCQ - 학문(법) ] ㅇㅇㅇㅇ계약이란 직원을 채용할 때 나중에 그 직원이 고용계약상의 채무불이행이나 불법행위로 사용자나 회사에 손해를 입힌 경우 그 배상의무의 이행을 담보하기 위한 계약이다. 이 계약의 명칭은? (띄어쓰기 0개) ':
case ': 5[ UCQ - 학문(법) ] "이것"은 전세금을 지급하고 타인의 부동산을 점유하여 그 부동산의 용도에 좇아 사용/수익하는 물권으로, 이 권리가 소멸하면 목적부동산으로부터 우선변제를 받을 수 있다. 이것은 무엇인가? (띄어쓰기 0개) ':
case ': 5[ UCQ - 학문(법) ] ㅇㅇㅇㅇ계약이란 직원을 채용할 때 나중에 그 직원이 고용계약상의 채무불이행이나 불법행위로 사용자나 회사에 손해를 입힌 경우 그 배상의무의 이행을 담보하기 위한 계약이다. 이 계약의 명칭은? (띄어쓰기 0개) ':
- string wstring 상호 변환 . . . . 5 matches
string(multi-byte string)과 wstring(wide-char string)을 상호 변환하는 방법을 알아보자. 보통 mbstowcs와 wcstombs 함수를 사용하거나 윈도우즈 환경에서는 MultiByteToWideChar와 WideCharToMuliByte 함수를 사용해서 구현하는데 여기서는 STL의 codecvt를 사용해서 구현했다. (codecvt는 문자를 인코딩하는데 사용된다. )
사용 예
- 스페셜티 커피 . . . . 5 matches
보통 오렌지 등 감귤류에서 느껴지는 산미를 평가할 때 사용. 날카로우면서도 상쾌한 커피의 맛.
* 동물냄새 (animal-like) - 사향과 같이 향기롭다는 의미가 아닌, 젖은 털, 땀, 가죽 등의 냄새와 유사하다는 의미로 사용되며, 커피의 품질이 나쁘다는 특징은 아니고, 일반적으로 향이 강한 커피를 설명할 때 사용.
* 썩은 냄새 (rancid/rotten) - rancid는 주로 식물성 지방이 산화할 때 생성되는 냄새를, rotten은 단백질 등의 물질이 부패할때 생성되는 냄새를 지칭하며 커피 품질을 부정으로 표현할 때 사용하는 경우가 많음.
* 재냄새 (ashy) - 부정적인 의미는 없으며, 주로 볶은정도를 나타낼 때 사용.
- 윈도우 사용 중인 포트 소켓 확인 및 종료 . . . . 5 matches
== 사용 중인 포트/소켓 확인 ==
=== 포트 사용 확인 ===
PID를 사용해 어떤 프로세스인지 확인:
사용 중인 프로세스를 종료합니다.
* 모든 perl.exe 인스턴스를 종료합니다. 주의해서 사용하세요.
- 윈도우용 wget . . . . 5 matches
== 사용방법 ==
재귀적 탐색의 깊이 레벨은 기본값이 '5'로 되어 있다. '-l depth' 옵션을 사용하면 바꿀수 있다. 이 레벨이 증가함에 따라 복사해오는 파일은 지수 함수적으로 증가하게 된다.
'-np' 옵션을 사용한다. 'np'는 'no-parent'를 의미한다.
와 같이 -'A'옵션을 사용한다. 'A'는 'accept'를 의미한다. 위의 예처럼 원하는 파일의 형식을 나열하면된다. 반대로 일부 파일을 제외하고 싶으면 '-R' 옵션을 사용한다. 'R'은 'reject'를 의미한다.
- Blog/2007-05 . . . . 4 matches
나는 수 년 전부터 의식있는 얼리 어답터로서 내 능력이 닿는 가능한 최상, 최선의 피시 환경을 구축하고 활용해 왔다. 이제 그 점을 비판적인 시선으로 되돌아 보자. 얼리 어답터로서의 지식과 의식을 항상 충전하고 있었던 것이야 그렇다 치더라도 꼭 돈과 시간을 들여 최선의 피시 환경 구축을 할 필요가 있었나? 과시욕을 충족시키기엔 수입이 적은 내 처지에 조건부터 불가능한 일이다. 그렇다면 자기만족 그리고, 그래 이건 환경조성 이전에 활용에 관한 이야기가 된다. 나의 피시 사용 패턴은 대부분 생산적인 시간으로의 전환이 가능했던 비생산적인 일에 사용되었던 것이다. 게임은 거의 하지 않으나 앞으로 미연시를 조금 더 건드려 볼 생각은 있고 현재로서 주 용도로는 애니메이션 감상과 자료 저장에 있다…. ──
──마르크스의 말, "인간은 자신이 답할 수 있는 질문밖에 말하지 않는다". 이 말에 크게 놀라 스스로 답을 찾기 어려웠던 내 안을 떠도는 많은 질문들 중, '나에게 있어 피시 사용은 어떤 의미이며, 피시를 사용하지 않아도 되는가?' 라는 질문에 나는 이미 스스로 답을 알고 있다 믿으며 무리하게서라도 자답을 해보려고 했지만…. 젠장, 이래선 아무런 의미도 없지않나! 좀 더 단순히 접근해 보자. 처음 문제 제기 이후 떠오른 것은 난 지금껏 얼리 어답터와 같이 피시를 구축하려 했지만 환경상 진정 파워유저 수준에는 조금도 미치지 못했고, 내가 정말 하고 싶은 것은 돈으로 떡칠을 하여 내 거지같은 허영심을 만족시킬 수 있는 환경이며 학생의 신분으로는 불가능한 일, 학생의 신분이면 학생으로서 해야할 일만을 생각하고 지금의 일은 이 후에도 계속해 나감으로──
- Blog/2007-08 . . . . 4 matches
메인 컴은 케이스가 없어서 당분간 위 같이 사용해야한다.
개인 홈페이지를 둘로 나누면 경어체를 사용하는 사람, 경어체를 사용하지 않는 곳으로 나눌 수 있다. 아무래도 경어체를 사용하는 곳이 더 사교적인 느낌이 든다. 여기와 같이 방문객이 거의 없으면, 결국 혼자 말하는 건데 경어체를 쓰면 이상해 보이지만, 방문객이 많게 되면 반대로 경어체를 쓰지 않는 것이 이상하게 보일 듯 하다.
- Blog/2009-06 . . . . 4 matches
'''트위터'''(twitter)는 무료 소셜 네트워킹 겸 마이크로-블로깅 서비스이다. 사용자들은 단문 메시지 서비스, 인스턴트 메신저, 이메일 등을 통해 "트위트"(140바이트 한도 내의 문자, 다른 말로 업데이트)를 트위터 웹사이트로 보낼 수 있다. 트위트는 사용자의 프로파일 페이지에 표시되며, 또한 이 트위트는 다른 사용자들에게로 전달된다.
주로 군사용 다족 보행 로봇을 제작하는 보스턴 다이나믹社가 공개한 영상이다. 상당히 인상적이다.
- Blog/2009-08 . . . . 4 matches
달력에 표시하는 일정 관리나 일정 기억은 지금까지 휴대폰에 있는 걸 사용했다. 그렇지만 어제 노트북을 구입했기에 PC용을 찾아보았다. 구글 후 처음 찾은 앱은 TransPlan ver 1.60G([http://windspxe.cafe24.com/zbxe/?document_srl=4332 link])인데, 이게 설치하고 보니 저번주 박은찬 교수의 고진샤 바탕화면에서 본 것이다. 그 때 보고 깔끔해 보여서 어플 이름이 뭔가 물어볼까 하다 그만두었는데 이것이다. 문제 없으면 이걸 쓰려고 했는데 문제가 있다. Windows 사이드 바와 같이 쓰려고 하니 곂친다. 위치를 옮겨보려고 했는데 이동이 안 된다!! 조금 옆으로 움직일 수 있으면 쓰려고 했는데 바탕화면에 완전히 고정돼서 쓸 수 가 없다. 일단 삭제하고 더 찾아보았다.
{{{#!blog hyacinth 2009-08-04T14:23:24 배터리의 종류와 사용 방법
요즘 사용되는 배터리(2차 전지)는 크게 니켈-카드뮴(니카드), 니켈-수소, 리튬-이온 배터리로 나뉜다.
리튬-이온은 핸드폰, MP3, PMP, 노트북 등 요즘 쓰이는 모바일 기기에서 가장 일반적으로 볼 수 있는 배터리다. 리튬-이온 배터리는 메모리 이펙트 현상이 없어 막 사용해도 크게 무리가 없다. 오히려 완전 방전과 충전을 반복할 경우 배터리가 사망한다. 조금 썼다 싶으면 그때 그때 충전을 하는 것이 좋다. 단순히 말해 ''' 그냥 막 쓰는 것이 오히려 배터리 수명에 좋다. '''
- Blog/2012-02 . . . . 4 matches
{{{#!blog hyacinth 2012-02-22T06:23:34 트리플 파이 10초 사용기
##구글은 잘 알려진 몇 가지 대표적인 알고리즘[[FootNote(PageRank 등. 지금은 초기보다는 다양한 알고리즘을 통해 계산되고 있지만 여전히 중요한 알고리즘이다.)]]을 통해 검색어에 대해 사용자가 원했던 페이지에 가장 일치하는 결과를 찾는다. N 포탈은 일단 "~는 무엇인가요?"라는 누군가 사용자가 검색한 것을 물어본 지식을 찾는다. --; 뭐야 이게... . 그리고 N[[FootNote(점점 짧아진다. 입에 담고 싶지도 않은. )]]의 웹 검색은 일반적 웹(WWW)과는 꽤 떨어져있다.
사용자가 가장 찾고 싶어하는 정보를 빠르게 찾아주는 것이 검색엔진의 본분이라면 네이버는 검색엔진의 본분을 잊은 듯 하다.
- Blog/2013-08 . . . . 4 matches
{{{#!blog hyacinth 2013-08-28T09:05:35 MPIR 사용하기
C 환경에서 가장 유명한 오픈소스 고정밀 연산 라이브러리는 GNU Multiple Precision Arithmetic Library(GMP)일 것이다. GMP는 리눅스 환경에서 사용하기 간편하지만 윈도우(VC++)환경에서 사용하는 것은 쉽지 않으며 최신 버전에서는 VC++ 환경에서 빌드 가능한 솔루션을 제공하고 있지만 여전히 불편하다. 윈도우(VC++)에서 고정밀 연산 라이브러리를 사용하려고 할 때 MPIR는 훌륭한 대안이다. MPIR는 GMP에서 forked 된 오픈소스 프로젝트이며 대부분의 코드가 GMP으로부터 왔고 오리지널 기여 코드로 구성되어 있다. MPIR 개발자가 말하는 MPIR 프로젝트의 주 목적은 다음과 같다.
- Blog/2025-01 . . . . 4 matches
칸트는 1784년에 쓴 논문 <계몽이란 무엇인가?(Beantwortung der Frage: Was ist Aufklärung?)>에서 계몽운동의 모토는 "자기 자신의 오성(悟性)을 사용할 용기를 가지는 것"이라고 썼다. 여기서 '오성'이란 사람이라면 누구나 가지고 있는 '이해하는 능력'을 뜻한다. 이 모토를 쉽게 말하면(넓은 의미에서 보면) '스스로 생각하는 용기를 가지라'라는 뜻으로 새길 수 있다.
칸트는 사람들에게 스스로 생각하는 용기를 가지라고 독려했다. 스스로 생각한다? 그거 쉽지 않나요? 거기에 용기라는 말까지 사용할 필요가 있나요? 라고 생각할 수 있다. 스스로 생각한다는 것이 정말로 쉬운 일일까?
셋째는 '시장의 우상'인데 사람들이 나누는 말이 정확히 정의되지 않아서 발생한다. 베이컨은 이것이 가장 성가신 우상이라고 말했다. 우리는 언어를 사용하지 않고는 생각할 수 없다는 점을 비추어 보면 부적절한 언어 사용이 우리 사고에 미치는 폐해가 크다는 것을 짐작할 수 있다.
- C++ . . . . 4 matches
["/(MFC)COM dll 사용"]
["/(ATL)COleDateTime 사용"]
["/현재 로그인한 사용자의 SID 구하기"]
["/GoogleTest 사용"]
- C++/(Gdiplus)주요 이미지 형식의 CLSID . . . . 4 matches
// 사용 예제
// CLSID 사용 (예: Bitmap::Save)
C++에서 이미지 형식의 CLSID(Class Identifier)를 동적으로 얻는 것은 일반적으로 필요하지 않다, 특히 JPEG, PNG, BMP 등 널리 사용되는 형식의 경우에는 CLSID가 잘 알려져 있고 고정되어 있다. 따라서 상수로 정의된 CLSID를 사용하는 것이 간단하고 효율적이다.
- C++/(Modern C++)람다 캡처는 성능 부담이 거의 없다 . . . . 4 matches
C++에서 람다(lambda)를 사용할 때 "캡처(capture)"는 변수들을 람다 바디에서 사용할 수 있도록 람다 함수 안으로 "가져오는 것"이다.
→ 해결 방법: 가능하면 auto로 람다를 직접 사용할 것, or std::function 사용을 최소화
- C++/좀 더 나은 enum 방법 . . . . 4 matches
C++11 에서 추가된 enum class 를 사용하면 위 같이 namespace를 사용하지 않아도 위에서 열거한 모든 장점들을 얻을 수 있다. 사용 방법은 다음과 같다.
// 사용
- GetLastError(Windows)는 어디에 기록될까 . . . . 4 matches
윈도우 API를 사용하다 실패하면 GetLastError()를 먼저 살펴보게 된다.
GetLastError를 사용하면 가장 최근 실패한 에러코드를 반환한다. 따라서 API 실행이 실패한 이후 다른 API를 호출하면 GetLastError 값도 바뀔(덮어 쓸) 수 있기 때문에 실패한 API를 사용한 직후에 GetLastError를 사용해야 정확한 값을 알 수 있다. GetLastError는 '''현재 스레드의 마지막 에러 코드'''를 반환한다. 따라서 멀티 스레드로 동작중이라고 해도 GetLastError 값이 덮어 써질 일은 없다.
- HelpOnHeadlines . . . . 4 matches
"="로 시작해서 "="로 끝나는 줄은 섹션의 제목(Heading)이 됩니다. 다섯단계 레벨까지 사용하실 수 있습니다.
''' 사용례 '''
/!\ {{{= 레벨 1 =}}} 제목은 <h1>으로 랜더링되지만 다른 위키위키 마크업과 통일성을 위해 '''두개'''의 "==" 부터 제목줄을 사용하시는 것을 권장합니다. MediaWiki에서도 비슷한 이유로 ``레벨1`` 제목 사용을 제한적 허용하고 있는데, 그 이유는 <h1>은 ''페이지의 제목''에 할당하고 있기 때문이라고 합니다.
- UploadFileMacro . . . . 4 matches
{{{[[UploadForm]]}}} 혹은 {{{[[UploadFile(js)]]}}}: 이 매크로는 여러개의 파일을 올릴 수 있는 폼을 자바스크립트를 사용하여 만들어준다.
예를 들어, {{{MyPage}}}에 들어가서 {{{MyPage?action=UploadFile}}}을 하거나, MyPage에서 {{{[[UploadFile]]}}} 매크로를 사용하여 파일을 업로드를 하면 $upload_dir='pds';라고 되어있는 경우에 {{{pds/MyPage/}}}가 새롭게 만들어지고 거기에 올린 파일이 저장된다.
$upload_masters=array('Foobar','Babo'); 여기에 등록된 모든 사용자는 파일 확장자와 무관하게 모든 종류의 파일을 업로드 할 수 있습니다.
안전한 업로드가 이미 보장 된 경우 사용하실 수 있을 것입니다.
- UserPreferences . . . . 4 matches
'''사용자 등록하기'''
* /!\ 웹상의 비밀번호는 안전하지 않습니다. 비밀번호는 평소에 쓰지 않는 것으로 사용해 주시길 바랍니다.
'''[[GetText(logout)]]'''을 누르면 쿠키가 지워지고, '''[[Gettext(Login)]]'''을 하시면 쿠키가 사용되며, 다른 곳에서도 같은 설정을 유지하며 사용하실 수 있습니다. 공공의 PC에서 [필명]이 도용되는 것을 막기 위해서 '''[[GetText(Logout)]]'''을 이용해 주시기 바랍니다.
- bidi(Bidirectional)란 무엇인가 . . . . 4 matches
그리스어는 점차 LTR 패턴이 정착하게 되었다. 한 편, 아랍어와 히브리어는 RTL을 사용하게 되었다.
약한 문자는 애매한 방향성을 가진 것들이다. 이 문자 타입의 예는 유럽 숫자, 동 아라비아-인도 숫자, 수학 기호, 통화 기호, 많은 문장에서 일반적으로 사용되는 문장 부호(콜론, 콤마, 마침표 등) 등은 이 타입으로 떨어진다.
"embedding" 방향성 포맷팅 문자는 고전적인 명시적 포맷팅의 유니코드 방식이며, 유니코드는 대신 "isolates" 를 권장하고 있다. 텍스트 일부의 "embeddings" 신호는 방향성이 다른 것으로 간주된다. embedding 포맷팅 범위 내의 문자는 주위의 텍스트와 독립적이지 않다. 또한, embedding 된 문자는 문자 바깥 순서에 영향을 줄 수 있다. 유니코드 6.3에서는 방향성 embedding은 대개 주위에 너무 강한 효과를 가져오며 따라서 필요 이상으로 사용하기 어렵다는 것을 밝혔다.
"isolate" 방향성 포맷팅 문자는 텍스트 일부의 방향성을 주위와 분리되면서 다르게 처리되도록 신호한다. 유니코드 6.3은 새 문서는 방향성 embedding 대신 이것을 사용하도록 권장한다. "embedding" 방향성 포맷팅 문자와는 달리 "isolate" 문자는 텍스트 범위 바깥의 순서에 영향을 주지 않는다.
- irc logs/2011 . . . . 4 matches
[21:46] <02Jnana^넷북> 싱가포르 연구진이 식탁에서 사용하는 소금을 이용해 컴퓨터 하드디스크의 자료 저장 용량을 6배 늘리는 방법을 개발했다고 14일 밝혔다.
[23:52] <01daybreaks> 거으 1:1 로 시스템 사용법 가르침 -_-
[15:04] <+야바위> 오색꿈을 꾸게 해준다는 그걸 한번 사용해보세요..
[14:02] -Chanserv- Welcome - L/I/N/U/X 채널에 오신 것을 환영합니다. 이 곳에서는 봇, 스크립트, 색글 및 안시 코드의 사용을 금지하고 있으며, 채널 로그의 공개 역시 허용하지 않습니다. 그리고, 서빙을 제공하지 않습니다. 이에 반하는 행동을 하실 경우, 경고 없이 킥/밴을 당하실 수 있으니 유의 하시기 바랍니다.
- irc logs/2012 . . . . 4 matches
[17:15] -^^- hyacinth!~y_hyacing@119.207.203.98 주소를 통해 현재 사용하는 Hyacinth 아이디로 동시인증 되었습니다. 지금 직접 접속하신게 아니고 모르는 아이피 주소라면 누군가 암호를 알아내어 접속했을 가능성이 있습니다. 그런 경우라면 '/msg ^^ 권한정지 <암호>' 명령어를 사용해 더이상의 피해를 막으신 뒤, ^^ 어드민에게 연락해주세요. 이 명령어를 사용하면 이 아이디의 모든 권한과 명령어를 사용할 수 없으니 주의바랍니다.
- irc logs/2013-2017 . . . . 4 matches
사용을 안 하더라
[12:28:22] 18<jaeholee_18> "기존의 바이러스가 변형되어서 백신 Ⅱ 플러스로 치료가 되지 않을 때는 필자에게 바이러스가 포함된 디스켓을 보내주기 바란다. 이러한 일들이 선량한 사용자들의 컴퓨터 바이러스에 의한 피해를 최소화할 수만 있다면 더 바랄 것이 없겠다."
[13:55] <냐옹이> 사용법: !urlenc <내용> | !urlenc -e <인코딩> <내용>
[17:45] <+냐옹이> 사용법: !알려 <단어>
- omr1/401/manual . . . . 4 matches
{{{+2 엠파스 뉴스 크롤러 ─사용자 매뉴얼 }}}
엠파스 뉴스 크롤러를 사용하기 위해서는 Perl 을 컴파일하고 실행할 수 있고, wget이 사용가능한 환경이 필요합니다.
== 엠파스 뉴스 크롤러 사용 준비 ==
- omr1/403/01 . . . . 4 matches
DWORD tmStart; // 스테이지 시작 시간. 경과 시간을 구하는데만 사용.
BOOL pause; // 스레드 동작을 멈출 때 사용.
BOOL restart; // 스레드를 다시 시작할 때 사용.
BOOL quit; // 스레드를 종료할 때 사용.
- test4 . . . . 4 matches
int user, // 사용자 영역 코드 실행 시간
int nice, // 기본보다 낮은 우선순위로 실행한 사용자 영역 코드 실행 시간
CPU 사용률
http://74.125.155.132/search?q=cache:0tZ5TCPsOm4J:webdizen.new21.net/blog/2930+리눅스+CPU+사용률+jiffies&cd=8&hl=ko&ct=clnk&gl=kr&lr=lang_ko
- 성우 전설 . . . . 4 matches
모 유카나가 있는 OVA에 출연했을때, 와카모토씨의 대본을 들여다 보면 애드립에 사용할 재료들이
기획 회의에 사용된 방이나 선물을 보관하는 방에 어째서인가 타카하시가 들어가보고 싶어해서,
메일 "포크를 사용하지 않고 스파게티를 능숙하게 먹을 수 있는 사람은 이 것이 능숙하다고 들었습니다. 그것은 무엇일까요?"
그 밖에도 스네이크의 행동에는 오오츠카 아키오 자신의 것이 잘 사용되기도 하는 것 같다.
- AttachmentMacro . . . . 3 matches
== 간단한 사용법 ==
== GUI를 사용하는 경우 ==
모니위키 1.1.3부터 제대로 지원하게 된 WikiWyg GUI를 사용하면 좀 더 쉽게 파일을 업로드 하실 수 있습니다.
- AudioPlayerMoniwikiMacro . . . . 3 matches
/!\ 2022.02.09. 어도비 플래시 플레이어에 대한 모든 지원이 종료되어 앞으로 사용 불가. jQuery amazingaudioplayer로 변경.
모니위키 {{{[[Play(Media)]]}}} 매크로에서 사용하는 재생기인 JW Player와 비교한 장단점은 다음과 같습니다.
== 사용방법 ==
- Blog/2009-09 . . . . 3 matches
메칠클로로이소치아졸리논(methylchloroisothiazolinone). 세제나 샴푸에서 많이 쓰이는 이 화합물은 화학방부제이다. 단독으로 쓰이기 보다 클로로(chloro)기가 덜 붙어있는 메칠이소치아졸리논(methylisothiazolinone)과의 혼합물로 사용된다. 이 화합물은 그램 양성이나 음성의 박테리아나 이스트 및 진균의 성장을 억제하는 효과를 보인다. 1970년대에 처음 화장품류 제품에서 사용이 되었으나 농도가 높은 경우 피부에 화학물질에 의한 화상을 일으키고 세포막 손상을 일으키기에 매우 짧은 시간 피부와 접촉이 되는 제품(예를 들면 샴푸) 이외에는 사용이 되지 않고 있다. 알러지의 원인 물질이나 발암성 물질로 추정되기도 한다. 이 물질이 여러 분야에서 쓰일 수 있는 원인은 여러 가지가 있는데, 물에 매우 잘 섞이고 프로필렌 그리콜이나 알코올류에도 잘 녹는다. 넓은 범위의 항균능력, 낮은 농도에서도 항균력 발휘, 계면활성제나 유화제와 친화력이 좋음, 적용 pH가 넓어 거의 전 부분에 적용 가능, 냄새나 색이 없음, 분해성이 좋아 자연 중에 축적이 되지 않은 점 등이 있다.
- Blog/2011-03 . . . . 3 matches
어떤 논증이 제시되기도 전에 그 논증을 미리부터 비난하기 위해 감정이 실린 말을 사용하는 오류를 말한다. 예컨대, “분별있는 사람은 누구도 그 사람을 훌륭하다고 생각하지 않는다”라고 말하는 게 바로 그런 경우다. 이 용어는 중세 유럽의 유대인 박해로부터 유래하였다. 어떤 마을에 전염병이 돌면 사람들은 유대인들이 우물에 독을 뿌렸다고 소문을 내 유대인들을 학살하곤 했다. 이 수법은 반론 가능성을 원천봉쇄하겠다는 의지의 표현으로도 사용된다. 니체는 “내가 ‘인간은 타락하였다’라고 할 때 나에게 동의하지 않는 자들은 자신들이 이미 타락하였다는 것을 증명하고 있는 것이다”고 주장했다. 니체 같은 거물이야 그런 ‘억지’를 부려도 되겠지만, 거물이 아닌 사람이 이 수법을 쓰면 오히려 다칠 수 있다.
그리고 정말 용산 간 김에 산 물건인 실리콘 진동 방지 볼트. 항상 붙어다니는 Coolink와 녹투아... 두 회사 관계는 정확히는 모르겠는데 녹투아 제품에 사용되는 게 이거다. 색깔만 다르고.
- Blog/2012-12 . . . . 3 matches
얼마 전 DISQUS([http://disqus.com/])라는 괜찮은 서비스를 찾았다(뒤늦게?). 이건 페이스북 댓글 플러그인에서 있었던 페이지 로딩이 길어지는 단점이 없다. iframe 등을 사용해 마치 스레드처럼 자연스럽게 로딩된다. 그리고 국내/외에서 아주 많이 사용하는 서비스다! 아는 만큼 보인다고 이제는 댓글 시스템에 DISQUS을 사용한 블로그/매체가 정말 많이 보인다. WordPress, Blogger, Tumblr 같은 메이저 서비스나 많은 블로그, 특히 해외 신문사 홈페이지, GitHub 등. 소셜 댓글 서비스 중엔 지금까지 본 것 중 가장 좋다.
- Blog/2014-06 . . . . 3 matches
윈도우에서 애플리케이션을 실행하면 메모리를 어떻게 잡을까? 시스템은 애플리케이션을 구성하는 .exe 파일을 열어서 애플리케이션을 구성하는 코드와 데이터의 크기를 얻어낸다. 이후 프로세스의 주소 공간에 얻어낸 크기만큼의 영역을 예약하고, 이 영역에 대한 '''커밋된 물리적 저장소를 .exe 파일 자체라고 설정'''한다. 이처럼 시스템은 페이징 파일에 공간을 할당하는 대신 프로세스의 주소 공간에 예약된 영역을 활용하여 .exe 파일의 내용이나 데이터 등을 사용한다. (이렇게 하면 애플리케이션은 더 빠르게 로딩될 수 있고, 페이징 파일의 크기를 증가시키지 않고 그대로 유지할 수 있게 된다.)
''플로피 디스크의 경우'' - 이 때는 조금 다른데, 만약 .exe나 DLL 파일이 플로피 디스크로부터 실행되면 플로피 디스크에 있는 파일 전체를 시스템의 램으로 복사한다. 또한 페이징 파일에 파일 이미지를 저장할 충분한 저장소를 할당한다. 그 이유는, 플로피 디스크에서 애플리케이션을 수행할 경우 종종 다른 플로피 디스크를 삽입하기 위해 기존 플로피 디스크를 제거해야 하는 경우가 생긴다. 마이크로소프트는 애플리케이션이 정상적으로 동작하도록 하기 위해 플로피 디스크로부터 실행 파일을 수행할 때 이러한 방법을 사용할 수 밖에 없었다.
물론 최근에는 플로피 디스크가 거의 사용되고 있지 않지만 그럼에도 시스템은 애플리케이션이 정상적으로 동작할 수 있도록 플로피 디스크에서 파일이 실행되면 램으로 복사한다. 얼마 더 지나면 이건 정말 아무래도 상관없는 이야기가 될 것이다.
- Blog/2022-07 . . . . 3 matches
- MVP를 활용하여 제품의 가치를 필요로 하는 사용자가 존재하는지 검증할 수 있다는 것이다. (다만, 스타트업 경영 방법론에서 나온 것이므로 회사를 존속시키기 위해서는 돈을 벌어야 하는데, 무엇을 검증했는지를 생각해야 한다. 드롭박스 MVP 예에서는 사용하는 사람이 많다는 것은 검증했지만, 이들이 제품을 계속 사용하고 지불할 의사가 있는지는 검증되지 않았다. 이는 추가적인 검증이 필요한 사항이다.)
- C_Sharp/이름 규칙 . . . . 3 matches
언어마다 가지고 있는 특성과 철학이 다르기 때문에 나는 언어마다 사용하는 이름 규칙이 전부 다른 편이다.
C# 에서 내가 사용하는 이름 규칙은 다음과 같다.
1. 헝가리언 표기법은 사용하지 않는다.
- ComplexScripts . . . . 3 matches
가족 이모지 👨👩👧👦(22바이트), 👨🏼👩🏾👦🏻👧🏿(38바이트), 깃발이 자주 쓰인다. 특히 🏴(스코틀랜드 깃발; 28바이트)은 태그 문자(Tag Character)를 사용하여 구성되므로 코드 포인트 수가 매우 많지만 UAX #29에서는 하나의 grapheme cluster로 취급되는 대표적인 테스트 케이스.
UTF-16 크기: 각 코드 포인트가 보조 평면(SMP)이므로 surrogate pair(4바이트)를 사용하여 28바이트
UAX #29 Grapheme cluster(사용자가 인식하는 문자 단위)에 대한 정의
- HelpOnFormatting . . . . 3 matches
그리고 이러한 포매팅을 ''있는 그대로'' 보여주기 위해 {{{ {{{ }}} }}} 중괄호 세개를 연달아 사용하는 문법이 있습니다.
위키위키 문법을 무시하게 하기 위해서 중괄호 세개를 {{{ {{{이렇게}}} }}} 사용하게 되면 글꼴이 고정폭 글꼴로 보여지게 되며 ({{{monospace font}}}) 만약에 이 문법을 여러 줄에 걸쳐 사용하게 되면, 중괄호 블럭의 모든 공백이 보호되어 프로그램 코드를 직접 삽입하여 보여 줄 수 있습니다.
- Internet Explorer에서 RegCreateKeyEx Error 5 (Access Denied)될 때 . . . . 3 matches
정확히 말하면 IE Browser Extentions(BHO 등)에서 RegCreateKeyEx를 사용했는데 Error 5 (Access Denied)가 떨어질 때.
마이크로소프트는 Low Integrity에서 사용할 수 있는 "Low 버전" 레지스트리 키를 만들었다. IE(Browser Extentions, BHO 등)는 다음 위치의 레지스트리를 사용할 수 있다.
- RFC 793 . . . . 3 matches
RFC 793는 Transmission Control Protocol (TCP)의 기술적인 사양을 정의하는 문서입니다. 이 문서는 1981년 9월에 IETF (Internet Engineering Task Force)에 의해 개발되었으며, TCP를 사용하여 안정적이고 신뢰성있는 데이터 통신을 제공하는 방법을 자세히 설명합니다.
RFC 793는 TCP의 동작 방식, 데이터 전송 및 수신 프로세스, 연결 설정 및 해제 절차, 오류 처리 및 복구 방법 등 TCP에 대한 모든 중요한 측면을 다루고 있습니다. 이 문서는 TCP의 세그먼트 구조와 데이터 전송 제어, 순서 제어, 윈도우 제어 등 TCP의 핵심 기능을 설명하고 있으며, TCP의 핵심적인 기능을 이해하고 사용하는 데 있어서 중요한 참고 자료입니다.
그러나 TCP의 핵심 개념과 동작 방식을 이해하고 TCP 네트워크를 관리하려는 경우에는 RFC 793이 가장 기본적이면서도 중요한 문서입니다. RFC 793은 TCP 프로토콜의 개요, 핵심 기능, 세그먼트 구조, 연결 설정 및 해제, 오류 처리 및 복구 등을 설명하고 있으며, TCP를 사용하여 안정적이고 신뢰성 있는 데이터 통신을 구현하는 데 있어서 매우 유용한 참고 자료입니다.
- WinDbg . . . . 3 matches
==== 자주 사용하는 명령 ====
* kf: 현재 스레드의 callstack 과 커널 스택 사용량 보기
- [[code(.pd_)]] 와 같이 compressing된 심볼 파일 경로는 로컬 위치도 [[code(SRV*)]]를 사용한다.
- WinampControllers . . . . 3 matches
Microsoft社 Keyboard를 사용할 때 MS 키보드 관리 프로그램 IntelliType Pro를 설치하면 Winamp의 일부 Global Hotkey가 작동하지 않는다.
사용이 불가능한 키는 Stop, Play/Pause, Previous Track, Next Track 네 가지로 모두 미디어 관련 키들이다.
그래서 윈도우 실행 시 Winamp를 먼저 실행하고 잠시 딜레이를 준 후 IntelliType Pro를 실행하도록 VB등을 이용해 스크립트를 만들어 사용하는 사람도 있다.
- Windows2003Tips/MSN설치 . . . . 3 matches
헉. v8.0.0787로 설치를 하니 새로운 버전으로 업데이트를 해야만 사용가능하다고 한다.
'사용자지정수준'에서 변경을 해야하는데...
제어판-프로그램 추가/제거-windows 구성요소 추가/제거-Internet Exporer 보안강화구성- 이걸 클릭후에 체크해제하고 밑에 자세히를 클릭해서 엽니다. 그럼 안에 관리자구성과 기타사용자그룹 이렇게 두개가 보이는데 체크 해제를 합니다. 그런 다음에 확인하고 나서 다음을 클릭하면 됩니다. 그러면 잠시 작업후에 비활성화되는데 인터넷옵션 보안에는 보통으로 표시됩니다..
- ZCS . . . . 3 matches
즉, 웹 패치를 만드는 건데 비슷한 건 크롤러 만들기나 웹 자료 수집 때문에 몇 번이나 해보았기에 부루에서 이미지를 가져오는 작업도 전혀 어렵지 않았다. 기왕 만드는 김에 어떤 겔부루, 단부루 계열에도 사용할 수 있게 필요한 정보(게시글 주소, 원본 이미지 주소의 정규표현식 등)만 구성하면 자료를 가져올 수 있게 만들 수 있을 것이다.
== 사용법 ==
Improved: 프록시 사용 개선
- kommentar . . . . 3 matches
"철학자, 웅변가, 입법자, 전사, 사상의 정복자, 우상 없는 신앙이라는 합리적 교리의 부흥자, 지상의 제국 20개와 정신의 제국 하나를 창설한 창설자, 이것이 바로 무하마드이다. 인간의 위대함을 측정하는 모든 기준을 사용하더라도 그를 당해낼 위인은 없을 것이다.
독일의 철학자 칸트는 '손은 눈에 보이는 뇌의 일부'라고 했고, 20세기의 르네상스 인이라 불리는 폴란드 작가 브로노우스키는 '손은 정신의 칼날'이라고 했다. 동물들은 자신의 꼬리를 사용하여 감정을 나타내는 것이 일반적이지만, 꼬리가 없는 인간은 손과 섬세한 손가락을 사용하여 많은 감정을 표현해낸다. 누구라도 이야기를 하는 내내 손의 움직임이 끊임없이 변화하기 때문에 상대의 손동작을 잘 읽는다면 많은 내면적 정보를 얻을 수 있다. -- [hyacinth] [[DateTime(2008-11-24T16:19:25)]]
- omr1/404/01 . . . . 3 matches
#include <atlcore.h> // ATL 매크로 사용
// main.h 사용자 인터페이스
// 대량의 노드를 처리할 때 위 재귀함수에서 스택 오버플로우 발생. 7~800개 이하에서만 사용 가능
- omr1/T02 . . . . 3 matches
http://blogit.blogkorea.net/12102642/http://honeyperl.tistory.com/entry/perl을-사용한-HTML-Parser -- [hyacinth] [[DateTime(2008-11-29T13:20:37)]]
InitializeCriticalSection(&cs); // 사용하기 전 임계 영역을 초기화한다.
DeleteCriticalSection(&cs); // 임계 영역의 사용이 끝나면 삭제한다.
- robocopy . . . . 3 matches
#user-keywords robocopy, 사용법
성능을 향상시키려면 /LOG 옵션을 사용하여 STDOUT 출력을 리디렉션하십시오.
C:에 용량이 부족해서 다른 드라이브로 파일만 이동시켜 복사를 하고 싶다. 이 때 robocopy로 C:에 위치한 원본 디렉토리를 다른 드라이브로 복사를 한 다음 원본 디렉토리를 지우고 mklink로 복사한 디렉토리에 대해 심볼릭 링크를 만들면 아무 수정 없이 사용할 수 있다.
- 메모장 . . . . 3 matches
사용자 인터페이스만 제공.
'lunarade.com'이라는 도메인은 예전에 이올린에서 본 다른 어떤 분의 블로그 이름에서 따서 지었으며 '너나우리'에서 5,500원/1년에 등록했습니다. 계정은 원래 사용하던 '와우웹'으로 가려다가 더욱 예전에 사용하던 '비누넷'을 잠시 고민해본 뒤 새로운 도전 같은 느낌이 강하면서 서비스 사양도 우수하다고 판단된 '라오니넷'으로 옮겼습니다. 1년에 20,000원이었는데 가격 대비 사양은 훌륭하다고 느껴집니다. 주변의 평도 괜찮더군요.
- 모니위키활용 . . . . 3 matches
[/html사용하기]
[/오에카키사용하기]
[../Help On Smileys] 사용가능한 아이콘 도움
- 모니위키활용/AccessControl/읽기권한제어 . . . . 3 matches
마찬가지로 $security_class = '(사용하는시큐리티플러그인)'; 를 추가한다.
'' hyacinth 의 경우 needtologin 을 수정-사용 ''
※ 특정 페이지 이름은 정규 표현식 사용이 가능하다.
- 모니위키활용/html사용하기 . . . . 3 matches
Describe 모니위키 활용/html 사용하기 here 2008-01-11 21:34:05
__html코드를 사용하게 되면 위키문법으로의 의미를 잃게되며 모인모인과의 소스레벨 호환성을 잃어버리게 됩니다.__
|| Processor는 #!php 혹은 #!python 로도 사용 가능. ||
- 정규표현식 . . . . 3 matches
== 사용례 ==
# 이 경우 [0-9] 를 사용.
정규표현식에는 탐욕적 수량자(Greedy Quantifier)와 게으른 수량자(Lazy Quantifier)가 있다. 탐욕적 수량자는 가능한 큰 블록를 찾으려고 하고(예:.+) 작은 블록을 찾으려면 게으른 수량자를 사용한다. (예:.+?)
- ACN . . . . 2 matches
대량의 웹문서를 이용해(포털 인터넷 기사) 주제 연관 데이터베이스를 생성하고, 생성한 데이터를 이용하는 몇 가지 모델을 사용.
== 사용법 ==
- Blog/2012-03 . . . . 2 matches
비교적 역사가 짧은 신조어고 사용처도 4chan을 중심으로 한 서브 컬쳐계가 대부분이기 때문에 영어권에서도 (심한) 속어로 여겨지는 단어다.
다만, 최근 리처드 도킨스가 밈에 대해 진지하게 평가하고 리처드 브로디 같은 사람(밈 용어의 에반젤리스트)이 학술적으로 적극적으로 [http://www.yes24.com/24/goods/4441968?scode=029 접근]하는 사람들이 있어, 인용한 책에서도 나오지만 학회에서도 밈에 대해 주석 없이 일반 명사처럼 사용하는 사례가 나오고 있다.
- Blog/2013-07 . . . . 2 matches
다음은 2기에서 나온 일화. 2기 오프닝 애니메이션을 만들 때 관리자 쪽에서 '~의 해당 부분은 뱅크씬을 사용해도 좋다'라고 했지만 담당자가 스스로 ''' '그러면 내가 하는 의미가 없다' '''며 그것을 거부하고 오프닝에만 사용될 그림을 전부 새로 작업했다고 한다.
- Blog/2014-01 . . . . 2 matches
|| ★★★★ || URL을 사용하는 링크드 데이터 형식 ||
별점 한 개짜리 PDF 같은 임의 형식의 공개 단계부터, 별점 네 개에 이르면 오픈 API나 SPARQL 질의를 통해 원하는 데이터에 접근할 수 있게 된다.[[footnote(http://onto.tistory.com/55)]] 별점 네 개와 다섯 개의 차이는, 별점 다섯 개는 다른 데이터를 링크하여 데이터를 제공한다. 예를 들면 DBpedia의 링크를 사용해 데이터 해석에 대한 문맥을 제공한다. 이것의 의미는 별점 네 개까지가 단지 웹에 공개된 데이터라면, 별점 다섯 개는 다른 데이터를 소비하여 '''연결 된(linked) 웹 안'''의 데이터가 되는 것이다.
- Blog/2014-02 . . . . 2 matches
그 전에, 많은 *nix 환경(ext4 이전 파일 시스템을 사용하는)에서는 파일 생성 시간을 제공하지 않는다. (ctime이 생성시간(creation time)이 아니라는 걸 처음 알았을 때는 놀랐는데─웃기게도 ctime은 원래 creation time을 뜻했다[[footnote(http://en.wikipedia.org/wiki/Stat_(system_call)#ctime)]]. 이건 언젠가 이야기하고 싶은 주제인데 다음으로 미룬다.)
이게 모니위키와 관련이 있는 이유는 모니위키는 페이지 관리를 DB가 아닌 파일 시스템을 사용하기 때문인데, 그래서 페이지 수정 시간은 {{{ filemtime() \}}} 으로 쉽게 구할 수 있지만(페이지 하단의 `Modified on 2:32 pm, February 20, 2014' 와 같은) 페이지 생성 시간은 쉽게 구할 수가 없다! 모니위키에서 페이지(파일) 수정 시간을 구하는 방법은 두 가지가 있는데 하나는 페이지 파일의 mtime을 직접 얻는 방법과 모니위키에서 관리하는 수정 이력(editlog)으로부터 fake mtime을 구하는 방법이다. (이는 config.php의 $use_fakemtime=1 또는 0 옵션으로 선택된다.) editlog 형식은 다음처럼 되어 있다.
- Blog/2014-03 . . . . 2 matches
구글조차 X-UA-Compatible을 사용한다. ([http://www.chromium.org/developers/how-tos/chrome-frame-getting-started/chrome-frame-faq#TOC-How-can-I-enable-Google-Chrome-Frame-for-my-site-])
자, 결국 Andreas가 가장 많이 사용되는 단어를 찾기 위해 조사한 숫자는 이렇다.
- Blog/2014-08 . . . . 2 matches
HyacinthWiki 의 일부 페이지는 크리에이티브 커먼즈 라이선스(CCL) CC BY 2.0을 사용하고 있다. 페이지 하단에 CC 배너를 추가하고 링크를 따던 중 2.0은 한국어 페이지가 있는데( http://creativecommons.org/licenses/by/2.0/kr/ ) 4.0은 한국어 페이지가 없는 것 같았다(.../4.0/kr/ 같은 주소를 예상했다.). CCL 2.0을 써도 되는지 궁금해서 CCL 2.0과 CCL 4.0의 차이를 찾아 봤다.
여기서 대규모로 개정된 국제 버전 3.0에서 다루어진 이슈는 2.0 대한민국에서 이미 해결되었다. 4.0은 DB 권리 등 새로운 권리를 커버하는 것이다. 따라서 새로운 권리까지 필요하지 않다면 CCL 2.0 대한민국을 계속 사용해도 충분하다.
- Blog/2015-03 . . . . 2 matches
어떤 서비스를 홍보하는 건 시간과 비용이 들고 비용만큼 효과가 있지 않을 수도 있어 쉽지 않은 일이지만, 정말 잘 만들어 놓으면 사용자가 팬보이가 되어 자발적으로 홍보를 해준다. 나는 에버노트의 오랜 팬이고 주위 사람에게 에버노트 쓰라고 자주 이야기 해 왔는데, 푸시불렛도 그런 유형에 추가해야겠다.
푸시불렛(Pushbullet)이란 앱+크롬 확장이 있는데 매우 편하다. 안드로이드 푸시 메시지를 PC와 연동하는 서비스인데 크롬을 사용하고 있다면 스마트폰에서 푸시가 오면 크롬 알림으로 동시에 볼 수 있고 크롬에서 스마트폰으로 푸시를 날릴 수도 있다.
- Blog/2016-05 . . . . 2 matches
10여년 전 디카 초기에는 건전지 충전기도 많이 사용했고 CDP 시절엔 껌전지를 썼을 때부터 다용도 충전기 회사로 익숙한 회사였는데 CDP도 사라지고 리튬 전지 사용할 때 쯤부터 이름 들어본지가 오래되었다.
- Blog/2017-11 . . . . 2 matches
셀 안에 있는 ▼ 버튼은 현재 셀이나 드래그한 셀 배경색 변경 및 셀 편집 기능이 나열된다. 셀 편집 기능들은 마우스 오른쪽 컨텍스트 메뉴로부터 예전부터 있었지만 자주 사용하는 기능을 버튼으로 명시했고, 셀 배경색 변경이 고전적인 컬러 피커가 아니라 보다 직관적으로 만들어졌다.
전체적으로 더 편리해졌다. 행, 열 추가 기능은 자주 사용하는 기능인 만큼 특히 마음에 든다. UX/UI 특허로 냈을지도 모르겠다.
- Blog/2021-09 . . . . 2 matches
일반적으로 마키아벨리주의는 사회의 발전을 위해서라면 위정자들은 어떠한 수단이나 방법도 허용된다는 의미로 사용하는데, 정확히 말하면 마키아벨리는 속임수와 거짓, 부당한 짓이 군주의 당연한 미덕이라고 조언한 것이 '''아니고''', 정당한 이유가 있다면 지나치게 소심할 필요는 없다고 주장한 것이다.
이런 지침 덕분에 'WikipediaKo:국가이성 (Raison d'État)'을 현실 정치학에 도입한 인물로 평가받는데, 마키아벨리주의에 대해서 반론도 있다. 국가이성은 '''사회 안정과 안녕을 위해 군주들이 저지르는 바람직하지 못한 행동에 대한 변명'''으로 사용되기도 하기 때문이다. 즉, 마키아벨리는 많은 정치가들이 개인의 이익이나 당의 이익을 사회 전체의 이익과 구분하지 못한다는 것을 예상하지 못했다.
- C++/(Gdiplus)BitmapArray to HBITMAP . . . . 2 matches
일반적으로 개발 포럼에서는 간단하기 때문에 Stream을 사용하는 방법을 많이 답변해주는데 위 방법이 훨~씬 빠르다.
- Bitmap을 풀(pool)로 재사용하거나
- C++/(MFC)ms단위 시간측정 . . . . 2 matches
mill-second까지 계측할 때는 아래 함수들을 사용한다.
// timeGetTime 사용
- C++/MFC 헤더 정리 방법 . . . . 2 matches
비주얼 스튜디오의 MFC 코드 자동 생성 기능이나 VAssistX를 사용하면 소스에 자동으로 코드들이 추가되는데 자동으로 생성되는 코드들은 헤더 마지막 줄에 추가되기 때문에 코드가 복잡해진다. 놔두고 있어도 동작하는데 아무 문제 없지만 의미있는 원칙을 가진 일정한 기준을 가지고 정리하면 관리하기가 편해진다. 정리하기 좋아하는 개발자라면 다음을 따르라.
1. 메시지 맵 선언 매크로는 헤더 맨 끝에 둔다. -> [[Code(DECLARE_MESSAGE_MAP())]]는 [[Code(protected)]] 엑세스 타입 키워드를 포함하고 있기 때문에 매크로를 클래스 마지막에 선언하거나 매크로를 사용한 이후에 멤버를 선언할 경우 반드시 액세스 타입(private, public)을 새로 지정해줘야 한다.
- C++/소멸자에 virtual을 쓰는 이유 . . . . 2 matches
그런데 다형성을 이용하기 위해 부모 클래스의 포인터로 자식 클래스를 호출할 때, 가상 함수로 정의되어 있지 '''않은''' 자식 클래스의 오버라이딩된 함수를 호출하면 부모 클래스의 멤버 함수가 호출된다. 가상 함수 키워드 `virtual`이 사용되었다면 이것은 자식 클래스에서 재정의될 수 있음을 명시하기 때문에 포인터의 종류에 상관없이 항상 자식 클래스의 메서드가 호출된다. 소멸자도 자식 클래스에서 오버라이딩된 함수라고 볼 수 있기 때문에 만약 부모 클래스 포인터로 객체를 삭제하면 부모 클래스의 소멸자가 호출된다.
결과 2 - classA 소멸자에 `virtual`을 사용했을 때
- C_Sharp . . . . 2 matches
["/DebugView 사용"]
["/.NET Framework 4.0에서 ILMerge 사용법"]
- CodeMacro . . . . 2 matches
== 사용법 ==
{{{+1 기본 사용 }}}
- EditPlus+MinGW+gcc 컴파일 설정 . . . . 2 matches
=== 사용자 도구 설정 ===
도구>기본 설정>사용자 도구 - 추가(D)>프로그램
- Facename vs. Fontname . . . . 2 matches
* 사용자가 보통 인식하는 글꼴 이름
결과적으로 font name이라는 말이 FaceName을 가리키는 관용어처럼 사용된다.
- FortuneMacro . . . . 2 matches
== 사용예 ==
Fortune 매크로는 fortune파일의 인덱스를 직접 읽어들여 사용하므로 FortuneCookies를 읽어들이는 RandomQuoteMacro보다 매우 빠릅니다. :)
- FrontPage . . . . 2 matches
<li><a href="/moniwiki/wiki.php/gdb%20%EC%82%AC%EC%9A%A9%EB%B2%95">gdb 사용법 & Tips</a></li>
<li><a href="/moniwiki/wiki.php/UserPreferences">UserPreferences</a> - 사용자 설정</li>
- Grafana + InfluxDB2 + Telegraf 개인 서버 모니터링 구축 . . . . 2 matches
#description 1. Grafana를 설치 1.1. admin 계정 변경 1.2. Grafana 포트 오픈 2. InfluxDB2를 설치 2.1. InfluxDB 실행 2.2. 초기 설정 2.3. INFLUX_TOKEN 3. Telegraf를 설치 3.1. telegraf.conf 3.1.1. 기본 .conf를 사용한다면 3.1.2. 기본 .conf를 사용하지 않는다면 3.2. telegraf 실행 3.3. 서비스 등록(자동 실행)
- Grafana + InfluxDB2 + Telegraf 개인 서버 모니터링 구축/구축 동기 . . . . 2 matches
<blockquote class="twitter-tweet"><p lang="ko" dir="ltr">어제 집에서 1년 24시간 돌리는 서버가 상태가 이상해서 점검을 했는데 사용 가능 메모리가 알수 없는 이유로 0이 되어서 원격 접속도 안되는 상황이 발생했다. 모니터링 시스템을 구축할 필요가 있다고 생각해서 거실에서 역시 안 끄고 있는 PC를 호스트로 InfluxDB+Grafana를 설치하고 작업 서버에서</p>— Yellow Hyacinth (@yhyacinth) <a href="https://twitter.com/yhyacinth/status/1411271223657385985?ref_src=twsrc%5Etfw">July 3, 2021</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
<blockquote class="twitter-tweet"><p lang="ko" dir="ltr">Telegraf로 시스템 메트릭을 보내서 Grafana로 시각화하고 메모리 사용량 알람을 보내도록 설정했다. 마음이 편해진다...</p>— Yellow Hyacinth (@yhyacinth) <a href="https://twitter.com/yhyacinth/status/1411271225251303432?ref_src=twsrc%5Etfw">July 3, 2021</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
- HTML에 사용되는 색이름 . . . . 2 matches
#title HTML에 사용되는 색이름
<TABLE width=650 cellpadding=5 style="color:#222222" summary="HTML에 사용되는 색 이름과 그와 일치하는 16진수 표기방식">
- HelpOnRules . . . . 2 matches
네가이상의 "-"를 사용하면 가로줄이 됩니다. 대쉬의 개수가 증가할 수록 굵기가 두꺼워지고 10개 이상이면 굵기가 더 이상 증가하지 않습니다.
=== 사용례 ===
- MoniWikiPo . . . . 2 matches
msgstr "사용자 설정이 성공적으로 저장되었습니다 !"
msgstr "사용자 등록"
- PHP/a-zA-Z1-10 랜덤 출력 . . . . 2 matches
[18:30] <+냐옹이> php 코드를 실행합니다. %nick%은 닉네임으로 치환됩니다. '~http://google.com/'을 파일로 읽으면 해당 웹 페이지의 내용이 fd로 출력됩니다. c/c++에서 기본 헤더 파일은 인클루드가 되어있으며, boost도 일부 사용 가능하고, main함수를 생략해도 됩니다. | !c !cpp !pl !py !rb !js !lua !php !bas !기억실행
[18:30] <+냐옹이> 사용법: !php <코드>
- omr1/3 . . . . 2 matches
그리고 C++의 깊이 있는 공부. 객체지향이론 말고도 C++를 제대로 사용하려면 STL과 템플릿까지 마스터 해줘야.
http://memolog.blog.naver.com/rhealove/55 함수/변수네이밍시 사용되는 반대말 접두어들
- omr1/3/001 . . . . 2 matches
사용자 편의성, Usability
최근 최소 사용, LRU, Least Recently Used
- omr1/404 . . . . 2 matches
{{{+2 신문 기사 자동분류 시스템 ─사용자 매뉴얼 }}}
학습된 데이터 베이스로 사용자가 입력한 기사를 분류한다.
- omr1/502 . . . . 2 matches
IDA 기본 사용법
- 디버거 사용 방법
- 독도영유권 문답 . . . . 2 matches
{{{{color: rgb(64, 64, 64); font-family: gulim, sans-serif; font-size: 13px; line-height: 22px; }{{{{margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-weight: bold; font-size: 12pt; line-height: 24px; font-family: 돋움; text-decoration: underline; }독도영유권 문답 - 프랑스 국제법 학자와의 대화 (1996.06.14)}}} 홍승목(洪承睦) ( 이 글은 '대한국제법학회논총' 2003년 10월호에 게재된 것입니다.) ○필자 소개 - 1980년 이래 외교통상부 (단, 1998-2003.2 휴직, 국제기구 근무) * 조약국 國際法規課 (1989-1990, 1993-1994, 1996.3-7) * 조약국 條約課長: 1996.8-1997 * 대법원 파견 (국제협력 심의관): 2003.3- - 1998-2003.2: UNESCO 사무국 (빠리) * 대외협력실 亞․太 課長: 2001-2003.2 - 서울대학교 법학과 졸업 및 동 대학원 석사과정 수료 (국제법)- 영국 Sussex 대학교에서 International Relations 수학 (MA) - 호주 Adelaide 대학교 환경대학원(Mawson Graduate Centre for Environmental Studies)에서 地球環境法 연구''-------------------------------------------------------------------'''''아래 내용은 7년 전(1996.6.14) 당시 필자가 외무부의 國際法規課 직원으로 근무하던 중, 외국인 Mr Thierry Mormanne (프랑스)의 방문을 받아 가진 2시간 여의 대담을 기록으로 옮긴 것이다.''''''방문 외국인은 자신이 프랑스에서 국제법을 전공하였으며(박사학위 소지), 현재 ‘프랑스 國立極東學院(Ecole Francaise d'Extreme-Orient) 東京支部’의 researcher로서 ‘일본의 동북아 영토문제’를 연구하는 중이라고 소개하였다. 필자도 당시에 개인 차원에서 ‘독도문제를 이해하고자 하는 외국인’들을 겨냥한 글(영문)을 쓰던 중이어서 기본 facts나 관련자료를 대개 기억하고 있었기 때문에, 대담은 빠른 속도로 거침없이 진행되었다.''''''당초 “사전통보도 없이 우연히 이루어진 ‘사적’인 대담”이라 여겨 이를 기록으로 남길 가치가 있다고 보지는 않았다. 더욱이, 담당하고 있던 ‘유엔해양법재판소 판사 선거’(고려대 박춘호 교수님 입후보) 캠페인 등으로 몹시 분주하여 ‘사소한’ 일에 큰 시간을 할애할 겨를이 없는 상황이었다. 그런데 1-2주일이 지나면서 마음이 바뀌어 아무래도 기록으로 옮겨야겠다는 결론에 이르렀다. 개인적으로 1년 후면 외무부를 떠나 국제기구(UNESCO)에서 근무를 시작하게 된 상황에서, “후배들에게 선배로서의 의견을 들려 줄 기회가 달리 없을지도 모르겠다”는 점도 감안되었다.''''''빠른 속도로 2시간이 넘게 진행된 대담인 데다, 현장에서는 간단한 memo조차 남기지 않았다. 따라서, 이를 기록으로 재현하는 과정에서 세부적으로 빠진 부분이 약간 있을 것이며, 또 설명이 완전히 끝나기 전에 다른 topic으로 넘어간 부분에서는 추가된 것도 있을 것이다. 그러나 대체로 verbatim에 가깝다고 보아도 좋을 것이다.''''''국제기구에서 근무하던 지난 6년 동안 사실상 이 글을 잊고 있었는데, 금년에 귀국하여 “지금이라도 발표하는 것이 좋겠다”는 권고를 받았다. 원고를 다시 꺼내어 먼지를 털고 읽으면서, 이를 공개해야 할 필요성을 깨닫게 되었다. 대담에 나오는 방문자의 질문이 일본 측이나 또는 제3자가 제기할 수도 있는 문제를 매우 잘 반영한 것으로 보이므로, 독도문제를 연구하는 분들을 위해 자료로 남겨두는 것이 도리라고 판단하였기 때문이다. ''''''다만 대담에 나오는 필자의 답변은 개인적인 생각을 나타낸 것에 불과하다. 예고도 없이 맞은 방문이었으므로 동료들과의 최소한의 사전협의조차 불가능한 상황이었다. 즉, 필자의 답변은 외교통상부의 입장과는 전혀 무관한 것이다.'''------------------------------------------------------------ Mormanne : 일본에서 독도 영유권분쟁을 연구 중이다. 일본 측의 자료는 충분히 연구하여 그 입장을 잘 알고 있으나, 한국 측의 시각은 일본의 자료를 통해서 간접적으로만 알고 있을 뿐이다. 한국의 입장을 직접 듣고 싶어서 왔다. 학자들과도 대화를 나누었지만, 당신을 만나보라는 권고를 받았는데 시간을 내 줄 수 있겠는가? 그리고 가능하면 영문으로 정리된 자료를 구하고 싶다.홍 : 구하는 영문 자료는 없다. “독도문제는 일본의 주장에 대꾸할 필요도 없다”는 것이 우리 정부의 입장이기 때문에 정부 차원에서 외국인을 위한 홍보자료는 만들지 않은 것 같다.Mormanne : 한국의 학자가 영문으로 쓴 논문도 구하기 어렵던데…홍 : 없는 것으로 알고 있다. (주: 1996년 대담 당시의 상황을 말한 것임.)Mormanne : 이해할 수 없다. 아무런 할 말이 없다는 뜻인가? 한국의 입장을 구두로라도 설명해 줄 수 있는가?홍 : 1965년 한․일 기본협정 체결 회담 이래 지난 30여 년 간 한국 측의 입장은 “국제법적으로, 역사적으로 너무나 당연히 한국의 영토이므로 사소한 트집에 대꾸하지 않는다”는 정도라고 보면 될 것이다. 그러나 의문이 나는 사항에 대해 ‘개인적’ 시각으로 답해 줄 수는 있다.'''__[재판으로 가기를 거부하는 이유]__'''Mormanne : 일본은 독도분쟁을 재판으로 해결하자고 하는데 비해, 한국은 이를 반대하는 것으로 알고 있다. 분쟁을 국제재판에 의해 평화적으로 해결하자는 일본의 입장을 한국은 왜 거부하나? 단적으로 한국이 법적으로는 자신이 없다는 증거가 아닌가?홍 : “일본은 재판에 의한 해결을 희망하는데 한국은 이를 반대한다”는 인식은 상당히 왜곡된 것이다. 일본 정부의 홍보를 듣는 기분이다. 정확하게 말하자면, 일본은 ‘국제사법재판소’(International Court of Justice: 이하 ‘ICJ’)에 가자고 했고 한국은 이를 거부했을 뿐이다. 즉, ICJ라는 특정의 법정에 가는데 대해 이견이 있었을 뿐이다.Mormanne : 한국은 ICJ에 가는 것을 거부할 특별한 이유가 있다는 뜻인가?홍 : 물론이다. 아마도 ICJ에 가더라도 한국이 이길 것이다. 그러나 일본은 두 가지 특별한 이유로 ICJ에 가야만 자신에게 약간이나마 승산이 있다고 보아 ICJ를 고집하는 것이고, 한국은 굳이 불공평하다고 느끼면서 ICJ에 갈 이유는 없기 때문에 반대하는 것이다. 우선 일본은 “ICJ에 의한 분쟁의 평화적 해결”을 주장하면서 중국과의 ‘釣魚島(Tiaoyutai) 분쟁’, 즉 일본인들이 말하는 ‘Senkaku Islands(尖閣列島) 분쟁’은 ICJ에 가야한다고 주장하지 않는 것이 이상하다고 생각되지 않는가?Mormanne : 실효적으로 일본이 점유하고 있으니 반대하는 것으로 보이는데… 홍 : 자기네가 실효적으로 점유하고 있는 경우에는 재판에 갈 수 없고, 상대방이 실효적 점유를 하는 경우에만 재판에 가자는 것은 무슨 논리인가? 비슷한 문제를 두고 일관성이 없는 것이 좀 수상(fishy)하지 않은가? Mormanne : 일관성이 없는 것은 사실이지만 일본 정부의 입장에서 보면 이해할 수도 있다고 본다. 상대방이 점유 중인 독도 문제는 ICJ에 가져가지 못하면서, 자신이 점유하고 있는 Senkaku Islands(尖閣列島) 문제만 ICJ에 가져갈 수는 없지 않겠는가? 독도를 실효적으로 점유하고 있으니 ICJ에 가지 않으려는 점에서 한국도 일본과 비슷하다고 보는데…홍 : 참으로 순진한(naive) 생각이다. 그렇다면 소위 러시아와의 ‘북방 영토’ 문제에서는 러시아가 해당 섬들을 점유하고 있으므로 일본은 적극적으로 ICJ에 가자고 해야 할 텐데, 오히려 러시아가 적극적이고 일본은 러시아의 제의를 거부하고 있지 않은가?Mormanne : 사실이다. 무슨 이유라고 보는가?홍 : 간단하다. 일본은 ICJ에 판사가 있는데 한국은 없으니, 한․일간 문제는 ICJ에 가는 것이 명백히 자기에게 advantage가 있다고 본 것이다. 그러나 중국과 러시아는 일본과 마찬가지로 ICJ에 각각 판사를 두고 있으니 일본이 ICJ에서 아무런 advantage를 기대할 수 없고, advantage가 없이는 ICJ에 못 가겠다는 것이다. “ICJ에 가면 불공평하니까 못 가겠다”는 한국과, “advantage가 없이 공평한 조건으로는 ICJ에 못 가겠다”는 일본이 어떻게 같이 취급될 수 있는가?Mormanne : 흥미 있는 point 이다. 일본이 ICJ를 고집하는 이유가 두 가지라고 했는데 나머지 한 가지는?홍 : ICJ의 보수적 성격상 ‘구시대의 악법’이라고 할지라도 명백히 무효화되지 않은 이상 그 타당성 여부를 따지지 않고 ‘있는 그대로의 법(lege lata)’을 엄격하게 적용할 것으로 기대되기 때문이다. “일본의 독도편입 조치는 제국주의․식민주의의 일환이며, 이는 당초부터(ab initio) 무효라는 것이 한국의 입장이다. 그런데 일본은 “독도를 영토로 편입한 조치는 식민주의와는 무관하다”고 주장하지만, 내심으로는 보수적인 ICJ가 적어도 1905년 일본의 독도편입 당시에는 식민주의에 의한 조치도 합법이라고 판단해 줄 것으로 기대하고 있다. 한국은 ICJ가 “식민주의는 법적으로 무효라는 확인을 받기 위해 독도를 stake로 내 걸 생각은 없다.'''__[중재재판 가능성]__'''Momanne : 중재재판(arbitration)에 부탁하는 것은 가능하다고 보는가? 홍 : 일본정부가 공식 제의해 온 적이 없으므로 한국 측도 그동안 별로 생각해 보지 않았다. 사실은 “일본이 제의해 올 가능성이 없으므로 검토할 필요도 없었다”고 얘기하는 것이 더 적절하겠다. Mormanne : 그렇게 단정하는 근거는?홍 : 30년쯤 전에 한국의 李漢基 교수가 ‘한국의 영토’라는 논문을 통해 학자 자격으로 “독도문제를 중재재판에 회부하자”고 제의한 적이 있으나, 일본 측에서는 정부든 학자든 이에 대해 일체 반응이 없었다. ‘응하지 못하는’ 입장을 반영한 것으로 판단된다. 李漢基 교수는 독도문제에 관해 한국의 대표적 국제법 학자로서 정부에 자문을 해 왔으며, ‘한국의 영토’는 독도에 관한 한국 측의 대표적인 논문의 하나로서 일본의 학자나 정부에 의해 철저히 검토되었을 것이다. 단언하건데, 일본 측이 몰라서 대응하지 않는 것은 아니다.Mormanne : 李漢基 교수의 논문은 나도 보았다. 한글을 해독하지 못해 漢字로 된 부분만 읽느라 내용을 숙지할 수는 없었다. 상황이 바뀌어 나중에라도 일본정부가 중재재판을 하자고 제의해 오면?홍 : 검토할 만하다고 보는 것이 개인적인 시각이다. 다만 “식민주의에 입각한 영토편입 조치는 법적으로 무효”라는데 대해 먼저 합의가 이루어져야 하며, 이 부분은 협상 대상이 아니라고 본다.'''__[한․일 양국이 독도문제를 바라보는 시각의 차이]__'''Mormanne : 조그만 섬이 왜 그렇게 중요한가? 兩國간에 독도문제가 돌출되면 일본의 언론은 비교적 냉정을 유지하는데 한국의 언론과 국민은 매우 민감한 반응을 보인다는 인상을 받고 있다.홍 : 일본의 언론이나 국민이 냉정할 수 있었던 것은 독도가 일본영토라는 자기네 정부의 주장이 무리라는 것을 어느 정도 인식하고 있기 때문이다. 그네들이 말하는 소위 ‘북방 도서’와 관련하여 유사한 상황이 벌어져도 일본의 언론이나 국민이 냉정을 유지할 수 있을까? 오히려 러시아 국민이 냉정한 반응을 보일 것이다. 이 때 “러시아 국민은 mature 한데 일본국민은 왜 이렇게 nervous 하냐”고 물어 볼 것인가? 일본이 3개 영토문제중 독도 문제에 한해서만 재판(ICJ)에 가자고 요구하는 또 하나의 이유가 있다. 당초부터 일본의 영토가 아니니까 패소해도 잃을 것은 없고 어쩌다가 이기면 순이익이라는 계산 때문이다. 한국을 식민 지배했으니 자료입증 측면에서도 월등 유리한 입장이고… 그러나 소위 ‘북방영토’나 ‘尖閣列島(Senkaku Islands)’ 문제에서는 패소하면 낭패라고 생각하여 감히 재판의 위험부담을 하지 못하는 것이다. 말하자면 독도문제에 관한 한, 일본으로서는 일종의 ‘부담없는 게임’을 즐길 수 있다는 뜻이다. 일본이 스스로 주장하듯이 진정으로 ‘분쟁의 평화적 해결’ 정신을 존중한다면 먼저 ‘북방 영토’ 문제나 ‘Senkaku 열도’ 문제를 ICJ에 가져가는 것을 보고 싶다. 일본이야말로 ICJ에 가서 불공정한 대우를 받을 이유도 없는데…Mormanne : 일본은 그렇다고 치고, 그래도 한국의 언론이나 국민이 그렇게 과민한 반응을 보이는 것은 제3자로서 이해하기 어렵다. 솔직히 “자신이 없으니까 과민반응을 보인다”는 외부의 시각이 있는데…홍 : 독도문제를 단순한 영토분쟁으로 인식하면 그런 의아심을 가질 수도 있다고 본다. 하나의 조그마한 무인도의 영유권 문제이니까… 실제로 일본국민 입장에서는 조그만 무인도를 둘러싼 영토분쟁에 불과한 것이 사실이다. 그러니까 비교적 냉정한 태도를 보이는 것이고… 그러나 한국국민에게는 독도가 ‘주권과 독립의 상징’으로서 특별한 의미를 가진다. 20세기 초 일본이 한국을 식민지로 만들 때 제1단계로 1905년에 독도를 빼앗고, 그 5년 후에 제2단계로 나머지 全국토를 빼앗아 식민지화를 완성하였다. 일본이 “다께시마(竹島)는 일본영토” 云云하는 것이 한국국민에게는 “너희는 아직 완전히 독립한 것이 아니라 부분적으로 우리의 식민지이다. 제2단계에서 식민지로 된 땅이 해방된 것은 인정하지만 이에 앞서 식민지가 된 독도를 언제 해방시켜 주었느냐. 아직 일본의 식민지로 남아있어야 한다”는 의미가 된다. 이런 모욕을 받고 냉정해질 수 있겠는가? 독일이 지금 와서 프랑스더러 “빠리가 나찌 독일의 점령에서 해방된 것은 인정해 주겠지만, 알자스․로렌은 돌려받아야 하겠어. 빠리가 점령되기 전에 이미 독일이 점령한 것이잖아!” 한다면 프랑스 국민이 점잖게 “그렇게 볼 수도 있겠네. 재판으로 해결하는 게 좋겠어!” 라고 할 수 있을 지 궁금하다. '''__[대일(對日) 평화조약에서의 한국영토]__'''Mormanne : 태평양전쟁 후 1951년에 체결된 대일평화조약에서는 ‘제주도․거문도․울릉도’를 한국의 영토에 포함되는 것으로 명시하면서 ‘독도’는 언급하지 않았는데, 그 이유는 무엇이라고 생각하나?홍 : 조약의 당사국이 아닌 한국더러 설명하라는 것은 이상하다. ‘조약의 해석’ 문제라면, 한국영토의 외곽에 있는 ‘주요 섬’이기 때문일 것이다. 혹시 “한국영토의 외측 한계를 뜻하는 것이 아니냐” 라는 뜻으로 하는 질문이라면 간단히 반박할 수 있다. 이들 중 어느 섬도 한국영토의 가장 외곽에 위치하는 것은 없다. 제주도를 예로 들면 더 남쪽에 마라도가 있다. 그런데 일본에 대한 평화조약을 체결하면서 ‘일본 영토의 외측 한계’가 아니라 ‘한국 영토의 외측 한계’를 결정했을 것이라는 발상 자체가 우습다. 패전국은 일본이 아닌가? 대일평화조약에서는 한국영토에 반드시 ‘포함되어야 할’ 부분을 언급한 것으로 보는 것이 자연스럽지 않은가?'''__[일본의 독도편입 주장의 부당성]__'''Mormanne : 한국은 일본의 ‘1905년 영토편입조치’가 무효라고 주장하지만, 독도가 1905년 이전에 이미 한국의 영토라는 근거는 충분한가?홍 : 한 가지 물어보자. 일본의 주장대로 독도가 1905년까지는 無主地(terra nullius)였을 가능성이 정말 있다고 보는가?Mormanne : 그럴 수도 있는 것 아닌가? 홍 : 참으로 식민주의적인 발상이다. 20세기에 와서 태평양의 외떨어진 곳에서 ‘새로 발견된 땅(terra incognito)’이라면 몰라도 한․일 두 隣近國 사이에 위치하고 있고 이미 數 世紀 前부터 한․일 양국 국민이 그 섬의 존재를 잘 알면서 그 부근에서 어업을 해 왔다면 두 나라 중 한 나라의 영토라고 보는 것이 상식 아닐까? 1905년에 정말 無主地(terra nullius)였다면 ‘영국’이든 ‘러시아’든, 아니면 ‘쿠바’든 ‘이디오피아’든 아무 나라나 먼저 독도를 자기 영토로 편입할 수 있었다는 논리인데… 타당한가? 만약에 이러한 나라가 20세기에 독도를 ‘無主地(terra nullius)’라고 선언하면서 ‘영토편입’ 조치를 했으면 과연 일본이 이를 인정하였을까? Mormanne : 인정하기 어려웠겠다.홍 : 두 나라 입장의 근본적인 차이는 바로 여기에 있다. 즉, 일본의 입장은 “1905년에 독도는 ‘임자없는 땅(terra nullius)’이었으므로 어느 나라든 先占할 수 있었다”는 것이고, 한국의 입장은 “1905년에 이미 인근국가인 한․일 양국 가운데 한 나라가 영유권을 확보하였을 것이므로, 양국 중에서 과연 어느 나라의 영토였는지를 확인해 보면 된다”는 것이다. 말하자면, 일본의 입장은 서구의 식민주의 개념에 따른 것이고, 한국은 식민주의를 거부하는 입장이다. 독도의 지리적 위치와 규모를 감안할 때, 독도에 관한 기록이 한국이나 일본의 영토에 속하는 다른 유사한 섬에 대한 기록의 수준에 이르면 일단 독도는 terra nullius 는 아니었다고 보아야 한다. 한국의 경우 영토에 속한 섬은 별도의 이름을 가진 것만 해도 수백 개에 이른다. 그런데 독도는 조그마한 무인도로서 그 자체의 경제적 가치는 거의 없는데도 영유권을 입증할 역사적 기록은 다른 유사한 섬에 비해 비교적 풍부하다. 이것만으로도 terra nullius 의 논리는 당연히 배제되어야 한다. 1905년을 기준하여 일본이 한국보다 더 강하게 영유권을 주장할 근거가 있는지를 한․일 양국의 자료를 종합 검토하여 판정하면 되는 것이다.Mormanne : 1905년 일본의 영토편입 조치는 처음부터 없었던 것으로 간주되어야 한다는 뜻인가?홍 : 아니다. 중요한 역사적 사실인데 “전혀 없었던 것으로 간주한다”는 것은 이치에 맞지 않다. “식민주의에 입각한 영토편입 조치에 대해 ‘법적 효과’를 인정해서는 안 된다”는 뜻이다. 독도를 ‘無主地’라고 선언하여 “그 때까지는 자기네 영토가 아니었던” 점을 명백히 한 것은 중요한 ‘역사적 사실’이므로 없었던 것으로 간주될 수 없다.Mormanne : “일본에게 유리한 것은 인정할 수 없고 한국에게 유리한 것만 인정해야 한다”는 뜻인가?홍 : 이상한 질문이다. 간단한 비유를 들겠다. 협박이나 사기로 남의 집을 뺏은 경우에 법적으로 소유권 취득을 인정하지 않는다고 하여 당초부터 범죄행위도 없었던 것으로 될 수는 없는 것 아닌가? 범죄행위의 동기도 있을 것이고... 요컨데, “불법행위에 대해 법적 효과를 부여하지 않아야 하지만, 불법행위 자체나 그 동기가 처음부터 없었던 것으로 되는 것은 아니라”는 것이다.Mormanne : 결국 한국의 입장은 “독도는 1905년에 이미 일본이나 한국 중에서 한 나라의 영토라고 보아야 하는데, 일본은 terra nullius 라고 하여 자기네 영토가 아니라고 인정했으니까, ‘반사적으로’ 한국영토라야 한다”는 것인가? 1905년에 이미 한국영토였음을 한국이 적극적으로 입증해야 하는 것 아닌가?'''__[독도가 1905년에 한국영토였다는 증거]__'''홍 : 물론 한국영토였다는 증거는 충분히 있다. 다만, 한국이 수락하는 입증책임의 정도는 식민주의의 피해를 받은 국가들이 일반적으로 자기영토에 대해 부담할 수 있는 수준을 말하는 것이지, 선진국들이 식민주의를 합리화하기에 유리한 ‘엄격한’ 입증책임은 아니라는 점을 먼저 지적해 둔다. 우선 1905년에 한국 정부가 독도를 한국의 영토로 인식하고 있었는지의 법적 인식(animus)이 가장 중요할 것이다. 이에 대해서는 명쾌한 증거가 있다. 1905년에 일본이 비밀스럽게 영토편입 조치를 한 후에도 한국정부는 이를 전혀 모르고 있었다. 그런데 일본정부는 같은 해에 한국 정부의 외교권을 탈취한 후 다음 해인 1906년에 일본관리 일행을 울릉도에 파견하여 군수에게 “독도는 이제 일본영토가 되었기에 독도를 둘러보러 왔다”고 통보하였다. 이에 울릉군수는 깜짝 놀라 중앙정부에게 “本 鬱陵郡 所屬인” 獨島에 대해 일본인 관리일행이 통보해 온 내용을 보고하고 내용을 조사토록 건의하였다. “이제부터는 일본 영토”라는 일본 관리의 통보와 “본 울릉군 소속인 독도”라는 한국 관리의 보고가 당시의 양국 정부의 영유의식을 너무나 정확하게 반영하지 않는가? 이에 대한 일본 정부의 입장이 걸작이다. “보고서의 원본이 없으므로 믿을 수 없다”라고 한다. 울릉군수의 보고서는 같은 해의 신문이나 다른 문서에서 인용되고 있다. 이런 식으로 엄격하게 원본 여부만을 가지고 따지면 日本歷史인들 남아날까? 더구나 1910-1945년 간 한국을 식민지배하면서 역사 기록의 管理權도 몽땅 손아귀에 쥐고 있던 일본이 한국에 대해 역사 기록의 원본을 제시하라고 요구하니 가관 아닌가? 1906년에 한국의 어느 역사가는 “독도는 전에 울릉도 소속이었는데 일본이 이를 빼앗아 갔다”고 기록을 남겼고, 이보다 몇 년 앞서 1900년에는 정부가 취한 조치로서 “독도를 울릉군수의 관할로 한다”는 내용이 공포된 기록이 있다. 더 이상 무슨 의문이 있겠는가.Mormanne : 1900년의 정부조치에 대해 일본정부는 뭐라고 하나?홍 : “거론된 섬은 독도가 아니라 다른 어느 섬”이라는 것이다. 기록에서 ‘獨島’라고 하지 않고 ‘石島’라고 했기 때문이다. 한국 역사기록에 ‘독도’란 이름은 앞서 언급한 1906년 울릉군수의 보고서에 처음 나타나는데 이에 앞서 1900년에 ‘독도’라는 명칭이 어떻게 등장하나? 울릉도 사람들은 독도를 rock island 라는 의미인 ‘독섬’(즉, 돌섬)이라고 불렀는데, 이를 당시의 관례에 따라 한자로 표기할 때 ‘의미’를 따르면 ‘석도’가 되고 ‘발음’을 따르면 ‘독도’가 되는 것이다. 한국에서의 이러한 표기법은 일본에서는 아직도 통용된다. 더우기 현실적으로 ‘독도’말고는 ‘석도’에 해당하는 섬이 없다. 일본이 ‘석도’는 ‘독도’를 가리키는 것이 아니라고 주장하려면 도대체 어느 섬을 가리키는지 대안을 제시해야 할 것 아닌가? 일본은 한국의 역사 기록에 독도에 관한 기록이 나오면 “하여튼 독도는 아니다”라고 미리 단정한 후 울릉도 주변에 환상의 섬을 많이 만든다. “밤하늘에 가장 밝게 빛나는 천체로서 그 크기는 태양과 같다”는 역사 기록이 있으면 달(moon)이라고 가정하는 것이 상식 아닌가? 그런데 일본의 입장은 자신의 이익에 반하면 “무조건 달은 아니다”라고 단정한 후, “그 천체에 해당하는 다른 별을 있거나, 아니면 허위기록이다. 어느 쪽이든 나한테는 마찬가지이니 나한테는 입증책임이 없다”는 것이다.'''__[긴 역사로 본 독도의 영유권]__'''Mormanne : 1905년 이전의 역사기록으로서 독도가 한국의 고유영토임을 입증할 만한 것은 어떤 것이 있나? 방금 “1906년 이전의 역사기록에 ‘독도’라는 이름은 쓰이지 않았다”고 했는데… 물론 한국은 ‘우산도․삼봉도․가지도’ 등이 독도라고 주장하지만 일본은 이를 부인하고 있지 않은가?홍 : “역사기록상 ‘우산도’나 ‘삼봉도’ 등은 울릉도를 가리킨다”는 일본의 주장도 아주 틀린 것은 아니다. 그러나 ‘반드시’ 울릉도만을 가리킨다고 단정하기 때문에 문제가 있는 것이다. 울릉도 주변에 관한 기록이면서도 울릉도가 아닌 별개의 섬을 가리키는 것이 명백할 때는 일단 독도를 가리키는 것으로 상정하여 기록을 검토해 보는 것이 타당하다. 울릉도 부근에서 역사기록에 상응하는 다른 섬을 찾을 수 없는 때가 많기 때문이다. 그런데 일본은 ‘우산도’와 ‘삼봉도’가 ‘울릉도’를 가리키는 것으로 보이는 기록을 근거로 하여 이들은 모두 울릉도라고 단정한 후, 울릉도와는 ‘별개의 섬’인 것이 분명하면 이를 허위기록으로 몰아 붙인다. “자기네 역사책에 환상적(fantastic)인 허구가 많아서 남의 역사까지 의심하는구나”하고 이해를 해 주려고 노력은 하지만, 허위 역사도 필요할 때 만드는 것 아닌가? 건국신화 이야기가 나오는 곳도 아닌데, 그것도 15세기 또는 그 이후의 역사기록에서 “먼 바다 한 가운데에 있는 섬” 이야기가 나오면 “거기에 섬이 있으니까 기록된 것”으로 보아야 하는 것 아닌가? 당시 한국사람들이 獨島 부근에만 가면 갑자기 눈이 멀어져 섬을 못 보다가 茫茫大海에서는 느닷없이 환상의 섬을 본 것으로 추측해야 하나? 그 섬이 진정 ‘독도’일 수 없으면 일본의 ‘오끼시마(隱枝島)’를 가리키고, 따라서 오끼시마가 한국의 영토라는 증거라고 보는 것이 타당할 것이다. 독도를 제외하면 가장 가까운 섬이니까… ‘于山島’는 우산국이라는 역사적인 나라이름에서 나온 것이고, ‘三峰島’는 독도의 외형이 3개의 봉우리를 가진 것처럼 보이는 것을 나타낸 것으로 추측된다. 또 ‘가지도’는 가지(물개, seal)가 사는 섬이라는 데서 유래된 이름이다. 독도에 물개가 많이 산 사실은 일본의 19세기 기록에도 나타난다. 독도가 아닌 다른 섬에서 물개가 많이 발견되었다는 기록을 보지 못했다. 해류 때문에 독도가 아니고서는 물개가 몰려갈 만한 섬이 없다. 따라서 독도가 이러한 여러 가지 이름을 가지는 것은 자연스럽다. 다만 경우에 따라서는 이를 울릉도로 보는 것이 더 타당할 때가 있다. 독도의 이름에 대해 혼란이 있는 것을 부인하지는 않는다.'''__[우산․무릉 1도설]__'''Mormanne : 그렇지만 한국이 자주 원용하는 世宗實錄의 기록상 ‘于山島’와 ‘武陵島’는 모두 울릉도를 가리킨다는 일본의 주장이 일리가 있다고 보지 않나? 실제로 세종실록의 기록에서도 “一說에는 于山島와 武陵島가 하나의 섬이라고 한다”라고 분명히 말하고 있고… 홍 : 설사 ‘2島說’과 ‘1島說’이 공존하였다고 해도 울릉도와 독도의 관계를 볼 때 이는 자연스런 것으로 본다. 독도는 울릉도에 비해 크기가 1/400에 불과하고 절대적 크기도 0.2㎢ 미만인 무인도이다. 또 역사기록상 그 존재는 독자적이지 못하고 항상 울릉도에 종속되어 나타난다. 그런데 울릉도에서의 거리는 약 50해리, 일반적으로 보아 이웃 섬의 한 부분으로만 보기에는 상당한 거리다. 이러한 섬을 울릉도와는 별개의 섬이라고 보아야 하나, 아니면 울릉도에 부속된 것으로 보아야 하나? 거리로 보아 별개라는 사람이 많겠지만, 규모가 워낙 작고 또 주변에 다른 섬이 없으니 울릉도의 한 부분으로 보아 관념적으로는 하나의 섬으로 보는 사람이 있다고 해도 이해가 되는 것 아닌가? ‘2島說’과 ‘1島說’이 공존하였다고 해도 이상할 것은 없다. 게다가 ‘于山島’라는 이름이 때로는 ‘울릉도’를, 때로는 ‘독도’를 가리켜 명칭상의 혼란이 가미되었으니 ‘1島說’까지 거론될 수도 있다고 본다. 그런데 世宗實錄 地理志의 ‘一說’ 기록을 인용하여 “섬은 하나”라고 보는 것은 일본 측이 자의적으로 해석한 것이다. “一說에 于山․武陵 1島”라고 할 때의 ‘1島’란 There is only one island in the area, and that island must be the holder of both names 의 뜻이 아니라 Both names might designate one and the same island of the two 라는 의미일 뿐이다. 본문에서 “섬이 두 개 있고, 맑은 날 마주 보인다”라고 한 부분에 대해서는 아무런 단서도 달지 않았다. 단순히 ‘우산도’나 ‘무릉도’나 다 같이 본 섬(主島)을 가리키는 이름이 아닌가 하는 의문을 나타내었을 뿐이다. 중앙정부와 지방정부 간에 ‘우산도’라는 이름에 대해 인식의 괴리가 있었을 뿐, ‘두 개의 섬’이라는 인식에 차이가 있었다는 증거는 없다.Mormanne : 중앙정부와 지방정부 간에 ‘우산’이라는 이름에 대해 인식의 차이가 있었다는 말은 처음 듣는데, 무슨 뜻인지 좀 더 상세하게 설명해줄 수 있나? 그리고 그렇게 생각하는 근거는? 홍 : 지방정부에서는 작은 섬, 즉 후의 ‘독도’를 가리켜 ‘우산’ 이라고 하였는데, 중앙정부에서는 한 동안 이를 잘못 이해하여 ‘옛 우산국의 본 섬’으로 이해하였다. 그 증거는 간단하다. 지방정부의 보고를 기초로 할 수밖에 없는 ‘본문’의 내용은 언제나 ‘울릉도(무릉도)’에 대한 기록이 절대적 비중을 차지한다. 그러나 중앙정부의 인식을 반영하는 ‘제목’ 부분에서는 數 世紀 이후까지 ‘우산․울릉(무릉)’ 이라고 하여 ‘우산도’에 비중을 둔다. 따라서 독자들은 제목과 본문내용 간에 놓인 이상한 괴리를 느낀다. 제목을 쓰는 중앙정부의 기록자와 본문 내용의 결정적 자료가 되는 지방정부의 보고를 쓴 사람 간에 ‘우산국’에 대한 인식의 괴리가 있지 않고는 일어날 수 없는 현상이다. 아마 이런 과정을 거쳤을 것이다. 우산국 멸망 후 울릉도의 이름으로는 종래의 섬의 이름인 ‘울릉․무릉’과, ‘우산국’이라는 나라 이름에서 나온 ‘우산도’ 라는 이름이 함께 쓰였을 것이다. 그런데 현지에서는 원래의 이름인 ‘울릉․무릉’이 압도적으로 널리 쓰였을 것이고, ‘우산도’는 차츰 이름없는 섬인 ‘독도’를 가리키는 것으로 전용되었다. 그럼에도 불구하고 중앙에서는 ‘우산도’는 옛 우산국의 본 섬(主島)라는 고정관념이 계속되었을 것이다. ‘우산’이라는 이름이 선입감을 가지도록 하였을 뿐만 아니라 과거의 역사기록에도 우산도는 본 섬(主島)인 것으로 나타나기 때문에 오해는 불가피했다고 볼 수 있다. 역사적으로 별도의 의미가 있는 ‘우산’이라는 이름이 ‘독도’의 이름으로 쓰이게 된 것은 역사적으로 상당 기간 혼란을 야기하는 원인이 되었겠지만, 민간인들이 그렇게 부르니까 정부도 이를 그대로 쓴 것으로 보인다. 그러나 “별개의 섬이 존재한다”는 인식은 뚜렷하다. “맑은 날이면 마주 바라볼 수 있다”고 했는데 ‘혼자서’ 마주 보는 수도 없지 않은가? 그리고 울릉도에서 볼 때 평소에는 안 보이다가 맑은 날에만 바라볼 수 있다고 한 것은 독도에 대해 아주 정확하게 묘사한 것이다. 또 17세기의 한국의 역사기록에는 “(울릉도와는 별개의 섬인) 우산도를 일본사람들은 마쯔시마(松島)라고 부른다”고 하였는데 더 이상 무슨 의문이 있나? ‘마쯔시마(松島)’는 독도의 17세기 일본식 이름 아닌가? 지금은 ‘다께시마(竹島)’라고 불리지만… Momanne : 한국측의 기록에 “于山島를 일본인은 마쯔시마(松島)라고 부른다”고 한 것은 일본영유를 간접적으로 인정한 것 아닌가?홍 : “于山島를 일본사람들은 마쯔시마(松島)라고 부른다”고 부연 설명한 것은 그동안 주로 중앙정부에서 우산도를 잘못 이해하여 ‘울릉도와 동일한 섬’이라거나 또는‘별개의 섬이지만 우산국의 본 섬(主島)’으로 보는 견해가 있어서 이를 불식시킬 필요가 있었기 때문이다. 그런데 그 내용은 한국의 영유권을 분명히 나타내는 것이기 때문에 ‘일본 영유’라는 인식을 반영했을 것이라는 오해를 살 여지는 없다. 일본인이 독도를 ‘마쯔시마(松島)’라고 불렀다는 사실을 알게 된 것은 이 무렵 울릉도를 둘러싸고 한국과 일본의 지방정부간에 약간의 마찰이 일어나 일본인이 울릉도를 ‘다께시마’, 독도를 ‘마쯔시마’라고 부른다는 사실이 알려지게 되었기 때문이다. 울릉도를 둘러싼 마찰은 한국의 역사적 영유를 일본정부가 재확인하는 것으로 간단히 끝났다. '''__[安龍福 사건 기록의 역사적 의의]__'''Mormanne : 당시의 ‘安龍福 사건’이라는 사소한 episode를 한국 측이 독도 영유권 주장의 주요 근거로 삼는 것으로 알고 있는데, 개인의 영웅담을 영유권의 증거로 내세우는 것이 과연 타당하다고 보는가? 더구나 安龍福이 범법자로서 문초를 받으면서 진술한 내용이니 신빙성도 의문스러울 텐데…홍 : 어느 얼빠진 정부가 범법자의 황당한 진술까지 마구잡이로 국가의 공식 역사기록으로 채택하여 남기는가? 죄인의 진술이라도 정부가 그만큼 중요한 내용이라고 ‘가치판단’을 하였기에 安龍福의 진술이 정부의 역사기록으로 채택된 것 아니겠는가? “울릉도와 독도는 당연히 한국의 영토”라는 인식에 있어서 安龍福이라는 서민에서부터 중앙정부에 이르기까지 일치했음을 나타내는 기록이니까 중요하다고 보는 것이다. 安龍福 개인을 위해 한마디 하자면, 그는 남을 해친 파렴치한 범법자는 아니다. “강도를 잡느라 차도에 뛰어 들다 보니 결과적으로 교통신호 위반”이 된 것과 마찬가지다. 다만 그 당시 국가정책으로 교통신호 위반을 중대하게 취급하였을 뿐이다. 당신네 나라로 비기자면, 벨기에 목동이 양떼를 몰고 국경을 넘어 프랑스로 와서 풀을 먹이자 프랑스 농부가 이를 따지러 국경을 넘은 것이다. 그런데 이것은 “국경을 넘지 말라”는 임금의 명령을 어긴 것이기에 처벌을 받은 것이다. '''__[울릉도에서 정말 독도가 보이는가?]__'''Mormanne : 울릉도에서 독도가 보인다는 것은 사실인가?홍 : 왜 묻는지 알겠다. 「가와까미 겐조」라는 일본의 어용학자가 독도에 관한 논문에서 “울릉도에서 독도는 절대로 보이지 않는다”고 주장한 것을 염두에 두고 있는 모양인데… 그 사람은 일본정부의 시책에 따라 “독도는 무조건 한국영토가 아니라야 한다”는 결론을 미리 내려 두고, 독도에 관한 한국의 역사기록을 일본에 유리하게 왜곡 해석하거나, 심지어는 기록이 틀렸다고 주장하는 사람이다. 그만 자기도취가 심하여, 금방 드러나는 거짓말을 하면서 수학적 증명까지 해 보였으니 다른 부분의 논리는 오죽하겠는가? 울릉도 출신 사람들에게 물어 보니, 어린 시절에는 맑은 날이면 산에 올라가 독도를 바라보는 것이 재미였다고 한다. 요즈음은 공해가 심해져 어떤지 모르겠다. 울릉도에서 독도를 바라본 것은 역사기록에도 가끔 나온다. 1694년에 정부의 지시에 따라 울릉도를 순찰한 어느 정부관리의 기록에 “(울릉도에서) 쾌청한 날 산에 올라가 동쪽을 바라보니 불과 300리(65마일) 거리에 섬이 보인다”고 하였다(註: 鬱陵島事蹟, 張漢相, 《숙종실록》숙종21년). 울릉도와 독도의 실제 거리는 50마일인데, 눈짐작으로는 상당히 정확한 것이다. 울릉도에서 독도를 보았다는 기록임이 분명하다. 더우기 일본인도 울릉도에서 독도를 바라 본 기록을 남기고 있다. 한국이 일본의 식민지로 있던 1919년에 울릉도를 방문한 일본인 학자가 “공기가 깨끗할 때 동남쪽으로 바다 멀리 섬(독도)이 보인다”고 기록하였다. (註: 鬱陵島植物調査書, 中井猛之進, 朝鮮總督府, 1919) 「가와까미」란 사람이 ‘보이지 않는다’고 증명하려고 한 것은 “눈을 감으면 안 보인다”는 것인지, 아니면 “뒤로 돌아 서면 안 보인다는 것인지”는 것인지는 모르겠다. 왜 그런 증명이 필요한지는 모르지만…'''__[일본 고지도의 해석]__'''Mormanne : 일본 古地圖에 독도를 일본영토로 표시한 것이 많은데 어떻게 생각하는지?홍 : 아마 일본 고지도에 한국의 영토로 인정한 것이 더 많을 것이다. 그 당시의 일본인들은 그렇게 생각했을 테니… 물론 일본 정부는 자기에게 불리한 것은 숨겨놓고 있겠지만… 어쨌든 독도를 일본영토로 표시한 지도도 사실은 독도가 일본의 영토가 아니라 한국영토임을 반증하는 것이다.Mormanne : 무슨 뜻인가홍 : 일부 지도제작자들이 울릉도를 일본영토인 줄로 착각하게 되면 독도가 덩달아 일본영토로 표시되는 것은 필연적이다. 위치만 보더라도 독도가 울릉도에서 더 일본 쪽에 있으니까... 그런데 울릉도는 명백히 한국의 영토이니 이 지도들이 일본에게 아무런 유리한 증거가 될 수 없는 것 아닌가? Mormanne : 한국의 영토임을 반증한다는 뜻은?홍 : 일본 고지도의 공통점은 울릉도와 독도를 한꺼번에 한국영토로 표시하거나 혹은 한꺼번에 일본영토로 표시하고 있다는 점이다. 즉, 두 섬을 ‘공동운명체’로 보는 것이 양국 국민들의 공통된 역사적 시각이다. 물론 한국의 古地圖는 두 섬을 공동운명체로 보면서 일관성 있게 한국의 영토로 기술하고 있다. 일본의 古地圖도 두 섬을 모두 일본영토로 보든 한국영토로 보든, 공동운명체로 인식하는 것은 명백하다. “만약 울릉도가 한국영토라면 독도도 당연히 한국영토”라는 인식을 나타내는 것 아닌가? 지도뿐만 아니라 역사기록에서도 독도에 관해서는 반드시 울릉도에 곁들여 언급되고 있으며 독자적으로 언급되는 것을 본 적이 없다. 공동운명체이되 대등한 것이 아니라 독도가 울릉도의 종속된 섬으로 인식되어 온 것이다. 일본이 “울릉도는 한국영토, 독도는 일본영토”라고 주장하는 것은 자신들의 역사와도 단절된, 20세기의 새로운 주장이다. 일본이 지도를 통해 독도를 진정으로 자기네 영토로 인식하고 있었다고 주장하려면 울릉도를 한국영토로 그리면서, ‘동시에’ 독도를 일본영토로 그린 지도를 다수 제시하여야 한다. 물론 일본의 영유의식이 이렇게 하여 입증된 경우에도 일본영토로 인정되는 것이 아니라 ‘비로소’ 한국과 영유권을 겨룰 자격이 인정되는 것뿐이다. 지금까지 일본은 ‘독도’가 자기네 영토라고 하면서 주로 ‘울릉도’ 이야기만 잔뜩 늘어놓고 있다. “울릉도에 약간의 연고가 있었으나 한국영토인 것이 분명하니까, 그 옆에 있는 독도라도 먹어야겠다”는 심정을 표시하는 것일 뿐이다.Mormanne : 한국 측은 왜 이러한 입장을 국제사회에 발표하지 않나?홍 : 독도문제에 대한 한국 측의 시각을 요약하자면, “독도문제에 있어서 일본의 입장은 너무나 억지이다. 겉으로는 아닌 척 하지만 진심으로는 시대착오적인 식민주의적 영토편입 조치를 근거로 할 뿐이다. 주로 한국의 역사적 기록이 잘못되었다고 트집을 잡은 후, 그러니까 일본영토라는 것이다. 일본의 주장은 대꾸할 가치도 없고, 독도문제를 분쟁이라고 인정하기도 어렵다”라는 것이다. 한국 국민의 감정은 “명명백백한 것이 어떻게 분쟁이 될 수 있느냐”는 것이기 때문에 사실은 ICJ 뿐만 아니라 중재재판에 가려고 해도 반대가 많을 것이다. 개인적으로는 한국의 정부나 학자들이 한국의 입장을 좀 더 적극적으로 국제사회에 알리는 것이 좋겠다는 견해를 갖고 있다.'''__[일본의 ‘고유영토설’과 ‘영토편입설’ 병행주장]__'''Mormanne : 일본은 독도가 “1905년 편입조치 이전부터 일본의 고유의 영토이고 1905년에는 시마네 현에 편입시켰을 뿐” 이라고 주장하는 것으로 아는데 이 ‘고유영토설’에 대해 어떻게 생각하나?홍 : 거짓말을 하다가 들키자 더 큰 거짓말을 해서 어려움을 모면하려는 유치한 발상이다. 더우기 그 거짓말끼리 서로 모순되니…Mormanne : 매우 강한 어조인데 상세히 설명해 줄 수 있나?홍 : ‘고유영토설’이란 일본이 2차대전 패전 후 과거의 제국주의․식민주의의 효력에 의문이 생기자 종래의 ‘영토편입설’을 보강하기 위해 갑자기 지어낸 것이다. 이웃사람이 어느 날 “고아를 발견하였기에 내가 데려다 키우기로 했다”고 하다가 나중에 강도유괴 행위가 발각되자 “그 아이는 전부터 내가 키우고 있던 아이”라고 떼를 쓴다면 어떻게 생각해야 하나? 어처구니는 없지만, “꼭 그렇다면 ‘전부터’라는 것이 구체적으로 ‘언제부터’ 인가, 어떻게 입증되는가, 이미 키우고 있었다면서 왜 새로 데려왔다고 했나” 등을 밝혀야 하는 것 아닌가? 일본이 1905년에는 독도가 ‘무주지’라고 하면서 영토편입을 했다가 이제 와서 ‘고유영토’라고 주장하는데, 그러면 ‘언제부터’ 일본 영토라는 말인지, 주장 근거는 무엇인지, 1905년에는 왜 ‘무주지’라고 선언했는지, 일본에 돌아가면 문의해 보라. 아마 아무런 입장조차 없을 것이다. 독도에 관한 일본측의 최초의 기록은 1667년의 ‘온슈시초고끼(隱州視聽合紀)’인데 “울릉도․독도는 한국의 영토”라고 밝히고 있다. 그런데 일본측의 사료에 울릉도․독도가 기록되었으니 자기네 영유권의 근거가 된다고 생각하는 모양이다. 프랑스도 미리부터 조심하는 게 좋겠다. 일본 책에 ‘프랑스의 빠리(Paris)’라는 기록이 많을 텐데 언젠가 일본이 “빠리가 일본 책에 기록되어 있으니 이는 일본의 영토라는 증거”라고 우길 때가 올 지 모르니… Mormanne : 1905년에 분명히 ‘무주지(terra nullius)’라고 하면서 ‘영토편입’ 조치를 했나?홍 : 1905년 일본내각이 독도에 관해 채택한 결정의 요지는 “영토편입을 하라는 어느 개인의 청원을 접수한 것을 계기로 … 검토한 결과 타국의 영토라고 인정할 근거가 없다고 판단되어 … 국제법에 영토편입으로 인정될 조치를 한다”는 것이다. 자기네의 영토가 아니었다는 것을 여러 가지로 밝혔다. ‘영토편입 청원’이라든가 ‘타국의 영토라는 증거’ 云云, 그리고 ‘국제법상 인정될 조치’라는 표현을 쓰고 있는데, ‘한국의 영토’인줄 너무나 확실히 알았기 때문에 ‘無主地(terra nullius)’ 라는 표현조차 차마 쓸 수 없었을 것이다. 어쨌던 한국의 영토를 강탈하면서 편법상 ‘무주지’ 취급을 하였다. 재미있는 것은 일본정부가 정말로 terra nullius로 인식하여 영토편입을 하는 경우에는 이해관계가 있을지도 모른다고 생각되는 나라에 事前 통보한 후 편입하거나, 적어도 관보에 게재하여 나중에 문제가 대두되지 않도록 노력하였다는 점이다. 그런데 독도에 대해서는 가장 가까운 나라로서 긴밀한 관심을 가질 수밖에 없는 나라인 줄 알면서도 한국에 대해 편입조치를 숨겼고, 한국이 알게 될까 불안하여 관보게재도 피하였다. 도둑이 물건을 훔쳐가면서 주인이 알지 못하도록 조심하는 것과 같다. 편입조치를 한국에 숨기려다 보니 일본국민조차 그 사실을 잘 몰라서 편입조치 후에도 독도를 계속 한국의 영토로 표시한 일본사료가 발견된다. 이제 와서 식민주의가 힘을 잃고 1905년의 영토편입 조치로는 통하기 어렵게 되고 오히려 “1905년까지 영유권이 없었다”는 불리한 증거가 되니까 ‘고유의 영토’ 라고 한다. 자기 영토를 왜 새로이 자기 영토로 편입해야 하는지, 자기 영토를 처리하는데 왜 국제법이 거론되는지 도무지 설명을 하지 못한다. ‘고유’ 라는 것이 언제부터인지도 말못하고 … 입증할 수가 없으니 말할 수가 없지. 거짓말이 힘을 잃자 새로운 거짓말을 꾸몄는데, 앞의 거짓말과 모순되면 “먼저 한 말은 틀렸다”는 것은 인정해야 할 텐데, 뒤에 한 말이 거짓인 줄 드러날 경우에 대비해 “어쩌면 앞에 한 말이 사실일 수도 있고...”라고 한다. 지난 40여 년 간 독도문제에 관해 국제적으로 일본이 자기의 일방적 주장을 하도록 내버려두고 한국은 입다물고 조용하게 지켜보기만 했는데도 워낙 주장이 약하니까 국제적으로 수긍을 받지 못하고 있다. '''__[한국 고지도(古地圖)에 대한 의문]__'''Mormanne : 한국의 고지도에 대해 중대한 의문이 있다. 상당수 한국의 고지도에는 우산도가 울릉도보다 본토에 가깝게, 그것도 울릉도와 거의 비슷한 크기의 섬으로 그려져 있다. 무슨 이유인가? 일본은 이를 두고 “우산도는 울릉도를 가리킨 것이고 독도와는 무관한 것”이라는 주장을 하는데...홍 : 해석하기 어려운 수수께끼이다. 대강 18세기 후반부터 독도가 지도상 제자리를 찾아가기 때문에 한국의 영유권 주장을 결정적으로 훼손하는 것은 아니라고 본다. Mormanne : 전혀 설명이 불가능하다는 이야기인가?홍 : 여러 견해가 있겠지만 아직 수긍이 가는 설명을 보지 못했다. 개인적인 견해가 있기는 하지만 검증된 것은 아니다.Mormanne : 다른 곳에서 인용하지 않겠다고 약속하면 들려주겠는가?홍 : 앞서 설명했듯이 당초 우산국이 신라에 의해 정복되자 울릉도의 섬이름으로는 ‘우산도’와 ‘울릉도(무릉도)’가 동시에 쓰였을 것이다. 그런데 __현지에서는__ 당연히 본래의 섬이름인 ‘울릉도(무릉도)’라는 이름이 압도하였을 것이고, ‘우산도’라는 이름은 주인없이 떠돌다가 차츰 독도라는 이름없는 섬의 이름으로 쓰이게 되었을 것이다. 지방정부의 보고서는 당연히 현지의 관행에 따라 ‘독도’라는 의미로 ‘우산’이라는 이름을 사용하였을 것이지만 중앙정부의 관리들은 달랐을 것이다. 별도의 설명이 없는 한 ‘우산국’이라는 이름의 영향 때문에 ‘우산’은 과거 우산국의 본 섬(主島)이라는 고정관념이 있었을 것이다. 그런데 지방정부의 보고서에서는 울릉도(무릉도)에 대한 것이 대부분이고, 또 “우산도는 두 섬 중에서 작은 섬을 가리키는 것”이라고 하였다. 역사기록자 뿐만 아니라 지도제작자들도 혼란에 빠지는 것이 당연하였다. “우산도는 분명 우산국의 본 섬(主島)일텐데 울릉도 보다 더 작은 섬이라고 한다. 그렇다면 필시 본토에서 더 가까운 위치에 있다고 보아야 한다. 본 섬(主島)이 두 섬 중 크기가 작은 쪽이라는데 위치마저 본토 보다 멀다고 보는 것은 논리적으로 맞지 않다”고 결론을 내린 듯 하다. 우산도를 “울릉도보다는 작지만 그에 가까운 크기로” 그리고 있는 것도 ‘우산도가 본 섬(主島)’이라는 고정관념 때문이라고 하겠다. 지도상의 다른 섬의 형태로 미루어 보면 당시의 초보적인 지리적 인식으로 동해의 두 섬에 대해서만 유난히 정확하기를 기대할 수는 없다. 이상은 아직 검증되지 않은 개인적 가설에 불과하지만 지도상의 다른 의문점도 이 가설에 따라 설명할 수 있다. 즉, 우산도가 제 위치를 찾아 울릉도의 동쪽으로 옮겨가면서, 한 동안 우산도의 크기에 대해 일대 혼란에 빠진다. 이는 이렇게 설명된다. 첫째 부류로서, 우산도가 지금까지의 과장된 크기, 즉 울릉도에 미치지는 못하나 절반 정도의 크기를 유지하면서 단순히 울릉도와 위치만 바꾼 것이 있다. 둘째 부류로서, 울릉도의 크기를 유지하면서 우산도를 울릉도보다 훨씬 크게 그린 것이 있다. 지도 제작자가 “우산도는 우산국의 본 섬(主島)”이라는 고정관념을 벗어나지 못한 채 위치를 바꾼 결과이다. 셋째 부류로서, 우산도를 울릉도와의 상대적 비율에 가깝게 매우 작은 섬으로 그린 지도이다. ‘울릉도 보다 외측에 위치한 작은 섬’이라는 사실이 알려지면서 ‘우산도가 본 섬(主島)’이라는 고정관념을 깨고, 비로소 ‘매우 작은(tiny) 섬’이라는 현지의 보고를 편견없이 반영한 것이다. 하여튼 ‘우산도’라는 이름을 두고서 시대와 지역에 따라 때로는 ‘울릉도’로 때로는 ‘독도’로 이해하다 보니 이름의 주인, 위치, 크기 등에 상당기간 혼란이 계속되었다. 사실 하나의 섬이 數百 年 간 하나의 이름으로 꾸준히 통용되었기를 기대하는 것은 현대인의 편의주의적 발상에 지나지 않을 것이다. 중요한 것은 지도상으로 보더라도 '두 개의 섬'의 존재에 대한 인식은 뚜렷하였다는 것이다.Mormanne : 일본에서도 울릉도와 독도의 명칭에 대해 한동안 혼란을 겪다가 결국 두 섬의 이름이 바뀌었으니 이보다 여러 세기 전에 한국에서 비슷한 상황이 벌어졌을 가능성은 충분히 있다고 본다.홍 : 섬의 위치나 크기에 관한 지식이 현대인의 관점에서 볼 때 정확치 못한 것은 울릉도와 독도에만 해당하는 것이 아니라 한국의 거의 모든 섬에 공통되는 것이다. 아마 한국뿐만 아니라 대부분의 나라에 공통되는 문제일 것이다. 울릉도와 독도의 위치가 바뀌어 있다고 하여 영유권 입증이 불충분하다고 하면 한국의 대부분의 섬이 20세기 초까지는 무주지였다는 결과가 될 것이다. “한국이 이 섬들을 20세기에 들어와서야 선점했고 한국영토가 되었다”고 해석하는 것은 해괴한 논리가 아니겠는가? 역사기록은 그 시대의 과학기술 수준을 감안해 해석해야 한다. 여러 세기 전의 지도에 두 섬이 아예 나타나지 않는다고 해도, 그것이 한국의 영유권을 부인하는 증거가 될 수는 없을 것이다. 한국의 영토에 속하는 섬으로서 고지도에 나타나는 것은 일반적으로 수십 개에 불과하다. 지도에 나타나지 않는다고 하여 영토가 아닌가? 울릉도와 독도는 주변에 다른 섬이 없다는 사실 때문에 다른 섬보다는 그 존재가 비교적 쉽게 인식되었고 지도에 나타난 것일 뿐이다. 고지도상으로 위치는 바뀌었지만 하여튼 한국의 기록에 울릉도와 독도가 나타나기 시작한지 수 세기가 지나서야 일본의 기록에 두 섬에 관한 기록이 등장하기 시작한다. 그것도 ‘온슈시초고끼(隱州視聽合紀)’의 기록에서 보듯이 ‘한국의 영토’라는 분명한 인식을 가지고서... 한국의 고지도를 일본의 후대의 지도, 그것도 서양문물을 받아들인 후 그려진 지도와 평면적으로 비교하여 “일본의 지도가 더 정확하므로 일본이 독도에 대한 인식이 더 높았다”고 보는 위험은 피해야 한다. 현대에 한국에서 만든 유럽지도와 15세기에 유럽인이 만든 유럽지도를 비교하면서 유럽의 어느 섬이 한국의 지도에는 정확하게 나타나는데 유럽지도에는 나타나지도 않으니 이는 그 섬이 ‘한국영토’인 증거라고 주장한다면 얼마나 우스꽝스러운가? '''__[‘竹島(다께시마)’와 ‘松島(마쯔시마)’의 명칭 상호교환]__'''Mormanne : 변방 섬의 이름이나 크기, 위치가 정확하지 못한 것은 근세에 이르기까지 유럽에서도 마찬가지였다. 일본에서 ‘다께시마(竹島)’와 ‘마쯔시마(松島)’가 가리키는 섬이 중도에 서로 바뀌었다는 이론이 있는데, 이를 어떻게 생각하나?홍 : “러시아의 지도제작자가 착오로 이름을 서로 바꾸어 붙인 것이 계기가 되어 두 섬의 이름에 혼란이 왔고 궁극적으로는 이름을 서로 바꾸게 되었다”는 주장인데, 설득력이 있다고 본다. 물론 독도가 자기네 영토가 아니었음을 웅변적으로 보여주는 증거이기도 하고...Mormanne : 방금 한국에서도 비슷한 현상이 있었다고 설명하지 않았나? 어느 나라에서나 있을 수 있는 것으로 보는데...홍 : 바뀌는 배경이 전혀 다르다. 혹시 자녀가 있나?Mormanne : 있는데...홍 : 만약 지나가는 사람이 착각하여 당신 아이와 옆집 아이의 이름을 바꾸어 부르면 당신 아이의 이름을 버리고 옆집 아이의 이름을 쓰겠는가?Mormanne : 아하, 무슨 뜻인지 알겠다. 그러니까 일본이 “유럽의 지도제작자의 실수를 계기로 하여 이름을 바꾸어 부르게 되었다”는 것은 두 섬이 모두 자기네 섬이 아니었기 때문에 가능했다는 뜻이 아닌가?홍 : 백 번 양보하여, 두 섬이 모두 자기네 섬이었다면 그럴 가능성이 아주 약간은 있었다고 하자. 그러나 울릉도가 한국의 섬인 것을 명백히 인식하면서 독도와 그 이름을 서로 바꿔치기 한 것은 확실히 독도도 한국의 영토인줄 알았거나, 적어도 자기네 영토는 아니었기 때문에 비로소 가능한 것 아닌가? 자기네 섬의 이름과 외국 섬의 이름이 서로 바뀐 것을 보면 항의하거나 기껏 무시해 버리는 것이 상식일텐데... 일본은 왜 이렇게 “우리 조상들이 몰상식하여서...” 하면서 스스로를 폄하하는지 모르겠다.Mormanne : 아무래도 일본이 영유의식을 갖고 있었다고 보기는 어렵겠다. 그러나, 서양식 국제법이 도입되기 전에는 영유의식이 없이 한․일 양국 어민들이 공동으로 사용해 온 것으로 보는 것은 어떤가?홍 : 개인이든 민족이든 심지어 야생 짐승도 경쟁자와 만날 때 본능적으로 서로의 영역을 분명하게 하려고 한다. 이렇게 하여서 장차 일어날지도 모를 불필요한 분쟁을 예방하려는 의도이기도 하다. 유독 독도에 대해서만 양국이 명시적인 합의도 없이 영유의식을 기피했다는 가정에는 찬성할 수 없다. 安龍福 사건만 해도 영유권 침해를 느끼고 이를 바로잡으려는 의식의 자연적인 발로라고 본다.Mormanne : 장시간 자세한 설명에 감사드린다. 이제 한국 측의 시각을 상당히 이해하였다고 생각된다. 그러나 한국 측에서 자신의 견해를 외국인이 이해할 수 있도록 글로 발표하지 않는 것은 이해가 되지 않는다. 연구를 하다가 의문이 생기면 다시 찾아와도 좋은가?홍 : 솔직히 귀하의 전문성에 대단히 감명받았다. 제 3국의 학자한테서는 기대하지 않던 대단한 수준이다. 어쨌던 개인적으로는 즐거운 대화였다. 오늘처럼 예고없이 찾아오면 시간을 내기 어려울 수도 있으나, 사전에 연락만 해주면 기꺼이 맞겠다. (대담 끝)}}}
- 디자인 패턴에 따른 클래스 접미사 추천 . . . . 2 matches
||<align="center">Service ||서비스 계층에서 사용되는 클래스||UserService, OrderService||
||<align="center">Authenticator ||사용자 인증을 처리하는 클래스||LoginAuthenticator, TokenAuthenticator||
- 모니위키에서 LaTeX 표현 방법 . . . . 2 matches
과거에는 MoniWiki 자체에서 서버 사이드 TeX 렌더링을 제공하는 플러그인이 있었지만, 최근에는 MoniWiki의 틀에 얽매이기보다 최신 웹 환경에서 TeX 수식을 표현할 수 있는 클라이언트 렌더링 라이브러리인 '''MathJax 또는 KaTeX을 사용하는 편이 훨씬 편합니다'''.
그래서 다음과 같이 인라인 HTML 매크로 등을 이용해서 모니위키 본문에 $을 출력하면 KaTeX을 사용할 수 있다:
- 모니위키활용/링크클릭시새창으로 . . . . 2 matches
차선책으로 아래와 같이 매크로를 추가해 사용하는 방법이 있다.↓
매크로를 추가하면 위와 같이 사용한다.
- 모니위키활용/오에카키사용하기 . . . . 2 matches
Describe 모니위키 활용/오에카키 사용하기 here 2007-12-21 07:10:50
오에카키를 사용하려면 먼저 애플릿 설치가 필요하다.
- 시놀러지 SVN 설정 . . . . 2 matches
passwd - 사용자 추가
3. 소유자를 SVN을 관리하는 사용자 계정으로
- 윈도우 기본 프로세스 정보 . . . . 2 matches
사용자 세션 시작 기능 담당. 시스템 스레드에 의해 실행되며, Winlogon, Win32(csrss.exe)를 구동시키고 시스템 변수를 설정한다.
사용자 로그온과 로그오프를 관리하는 프로세스. Ctrl+Alt+Del을 누를 때 활성화 되는 GINA(Windows 2000, 2003 and XP) 혹은 Credential Providers(Vista, Win 7, Windows 2008 and Remote Desktop Gateway).
- 윈도우7 64비트에서 NTLEA 실행방법 . . . . 2 matches
=== NTLEA_087_BETA를 사용한다. ===
이 버전은 윈도우7 64비트에서 사용할 수 있다.
- 인간 지놈 프로젝트 . . . . 2 matches
그러나 이것은 공적자금에 의해서 진행되고 있는 인간지놈 프로젝트에 반하는 것으로, 지놈 프로젝트를 위한 다국적팀이 1996년 2월, 대서양에 있는 버뮤다 섬에 모여 작성된 데이터는 작성으로부터 24시간을 기본으로 모두 공개해 모든 연구자를 자유롭게 이용할 수 있도록 한다고 하는 유전자 사용 원칙, ‘버뮤다 원칙’을 무시한 것이다.
* Bioreactor에 의한 에탄올 생산 광합성 작용에 의해 만들어진 생물체에 저장된 에너지를 에너지원으로 사용할 수 있도록 바꾼 것을 바이오 에너지라 한다. 바이오 에너지는 태양, 풍력, 핵융합 등과 함께 대체 에너지로 각광 받고 있다.
- 주석 . . . . 2 matches
아직 하지 않았거나 코드를 설명하는 상황에 프로그래머 사이에서 널리 사용되는 표시가 몇 개 있다.
또한 상대적으로 중요성이 덜 할 때 소문자를 사용하는 방식도 있다.
- 크롬 확장 프로그램 만들기 . . . . 2 matches
아주 간단하다. manifest.json에 팝업 버튼을 사용하겠다고 아이콘만 지정하면 버튼이 생기고 버튼을 누르면 보이는 내용은 HTML로 작성하면 된다.
※ 실제 사용할 때는 사이즈 전부 추가해주는 게 좋다.
- 행(hang)과 데드락(deadlock)의 차이 . . . . 2 matches
가끔 단순히 행이 걸린 상태를 [데드락]이라며 혼용하여 사용하는 사람이 있는데 엄밀한 의미에서 틀린 사용법이다. 그 차이를 알아보자.
- 3L . . . . 1 match
동인, 상업에 관계없이 같은 이름을 쓴 적도 있지만 현재는 확실히 명의를 다르게 사용하고 있다. 3L과 anporin 각각의 공식 사이트를 가지고 있는 점에서, 동인 활동과 상업 활동은 확실히 구분하려는 것을 엿볼 수 있다.
- AtomMacro . . . . 1 match
2. 사용 방법
- Blog/2008-11 . . . . 1 match
빈도가 높은 단어 중에는 time, war, home, life, water 등 색인어로서 중요하게 사용되는 것도 있습니다. 또한, 컴퓨터 분야에서 computer, program, language, windows 등은 색인어로서 가치가 낮기 때문에 동일한 용어에 대해서도 분야별로 색인어의 중요도를 계산하는 방법이 달라질 수 있습니다.
- Blog/2009-01 . . . . 1 match
||<width="121" bgcolor="transparent">{{{{font-size: 9pt; }시스템 환경에 적합한 언어\}}}{{{{font-size: 9pt; }(\}}}{{{{font-size: 9pt; }사용할 언어)\}}}||<width="369" bgcolor="transparent">{{{{font-size: 9pt; }l \}}}{{{{font-size: 9pt; }Python 3.0\}}}||\}}}
- Blog/2011-12 . . . . 1 match
=== HTML에 사용되는 색 이름 및 색 리스트 ===
- Blog/2012-09 . . . . 1 match
노트북에 윈도우8을 설치하고 1주일 정도 사용 중인데 시작 키를 누르면 메트로 스타일로 이동하는 게 여전히 조금 이상한 경험이긴 하지만 생각보다 나쁘지 않다. 자주 쓰는 프로그램은 한정되어 있고 편리한 ''런처''라고 생각하면 나을까..? 잘 알려졌다시피 윈도우8은 데스크탑 모드에서 시작 메뉴가 없다. 기존 경험으로는 예를 들어 그림판(mspaint.exe)을 실행하고 싶으면 '시작 > 보조 프로그램 > 그림판'을 선택하게 된다. 그런데 윈도우8은 시작 메뉴가 없기 때문에 처음엔 보조 프로그램들에 접근할 수 있는 방법이 없는 줄 알았다. 심지어 제일 편한 방법이 Win+R 키로 "C:\Windows\system32\mspaint.exe"를 실행하는 건가 라고까지 생각했는데... 나는 상관 없지만 아줌마 할아버지까지 모든 이를 윈도우 geek으로 만들 셈이냐. MS 이래도 되는 거냐! ;; 물론 MS가 그렇게 허술하게 만들리가 없다. 마우스를 모니터 오른쪽 모서리로 가져가면 나오는 메뉴에서 검색을 선택하면 모든 프로그램 목록이 보인다.
- Blog/2012-10 . . . . 1 match
줄 서면서 "경복궁 백배즐기기"라는 안드로이드 어플을 받았는데 지도도 있고 이용안내나 각 전각 설명도 있으니 경복궁 방문할 때 사용하면 편할 듯.
- Blog/2013-01 . . . . 1 match
대표적인 위키 철학 중 하나는 '저자동 고유연성'이다. 처음 들으면 대체 무슨 말인가 싶다. 저(低)자동, 고(高)유연성, 낮은 자동성과 높은 유연성이 부여된 시스템은 사용자를 똑똑하게 만들 여지가 많고, 시스템 전체의 진화를 유도한다는 뜻이다. 이용자를 틀 안에 가두지 않고 포텐셜을 끌어 낼 수 있다는 뜻으로도 볼 수 있다. 그야말로 Geek스러운 철학이라고 할 수 있다… 역사가 오래된 단어는 아니고 시작은 개인의 사상 같은데 많은 사람이 공감하는 듯 하다.
- Blog/2013-02 . . . . 1 match
* ["C++/GoogleTest 사용"]
- Blog/2013-05 . . . . 1 match
사용법은 이렇다.
- Blog/2014-04 . . . . 1 match
1995년 자바스크립트가 탄생한 이후, 자바스크립트를 브라우저 밖에서도 사용하려는 노력이 끊임없이 이어져 왔다. 대표적인 프로젝트로 Helma, AppJet, Jaxer, Persever, Cappucino, Rhino 등이 있지만 큰 성공을 거두진 못하고 있다.
- Blog/2015-02 . . . . 1 match
파이썬 isnumeric()은 문자열이 유니코드 상에서 숫자 문자(u'四', u'¾' 분수, u'𐅉' 고대 그리스 숫자 (...) 등)로만 이루어져 있는지 판단하는 것이었는데 내가 의미를 잘못 생각했다. 쓸모있는 기능이긴 하지만 내가 필요했던 건 아니었다. 음수까지 대응할 수 있는 대안을 찾아봤는데 형 변환 할 때 예외처리를 사용하는 방법이 나아 보인다.
- Blog/2015-05 . . . . 1 match
지금 사용하고 있는 모니위키 테마 publishh2의 기본은 publish였다. publish에서 메뉴의 위치를 왼쪽으로 바꾸는 등 몇 가지 수정이 있었고('''publishh'''), 현재 모습처럼 레이아웃을 가운데 정렬하고, 메뉴를 간략하게 바꾸고, 페이지 이름을 상단에 고정하는 모습이 되기 위해 많은 영감을 받은 곳이 바로 [[html(<a href="http://nolboo.github.io">nolboo.github.io</a>)]] 이다(Theme inspired by nolboo.github.io).
- Blog/2016-08 . . . . 1 match
상황: 사용자는 리우 올림픽 안바울 선수의 66kg 유도 8강전이 끝난 직후 '''준결승전이 몇 시'''에 하는지 알고 싶다.
- Blog/2017-08 . . . . 1 match
거칠게 요약하면 무엇이 최선의 선택인지 누구도 알지 못하는 문제가 있을 때 한 명보다 두 명이 내리는 결정이 옳은 선택일 확률이 아주 조금 더 높고, 두 명보다는 세 명이, 이어서 결정을 내리는 사람이 많아질수록─혼자 결정할 때는 50% 확률로 옳은 선택이라면─다수결이 옳은 선택을 할 확률은 60%를 약간 넘는 수치로 수렴한다는 것이다. 여기에 사용된 통계적 방법은 언젠가 시간을 들여 정리할 만 하다.
- Blog/2022-06 . . . . 1 match
최근 한국 TeX 사용자 그룹 [http://www.ktug.org/xe/ KTUG]의 모니위키([http://wiki.ktug.org/wiki/wiki.php/FrontPage])가 활발히 활동 중인 걸 봤다. 그곳에서 많은 영감을 얻었다.
- Blog/2023-03 . . . . 1 match
챗GPT는 이미 다양한 분야에서 활용되고 있겠지만, 개발자들도 챗GPT를 활용하는 것이 너무 좋다. 최근 1~2주 사이에 유용했던 경험이 늘어나고 있다. 오랫동안 언젠가 활용할만한 유용한 Code Snippet을 모아두곤 했지만 챗GPT를 사용하면서 거의 쓸모가 없어졌다. 이제는 언어와 관계없이 상황을 서술하면 해당 상황에 대한 베스트 프랙티스와 최신 코드 예제를 알려준다.
- Blog/2024-07 . . . . 1 match
에버노트 노트들을 업노트로 마이그레이션을 하고 있는데, 모니위키에도 [wiki:"Evernote+MoniwikiMacro" 에버노트+모니위키 매크로]를 만들어 지금까지 종종 잘 사용 중인 매크로가 있어서 똑같은 기능을 하는 [wiki:UpNoteMacro 업노트+모니위키 매크로]를 만들었다. 아래는 그 컨셉.
- C++/(C++0x)정규표현식 . . . . 1 match
== 사용 ==
- C++/(MFC)COM dll 사용 . . . . 1 match
== COM 모듈만으로 COM 사용하기 ==
- C++/(MFC)DebugView 출력 Helper . . . . 1 match
쓸 때는 이런 식으로 사용.
- C++/(MFC)트리 컨트롤 몇 번째 아이템인지 조회 . . . . 1 match
// index 사용
- C++/C# 크롬 URL 추출(Chrome_OmniboxView을 쓰지 않고) . . . . 1 match
그 대안으로 Windows accessibility APIs를 사용해 현재 탭의 URL을 얻을 수 있으며 이를 소개합니다.
- C++/STL/시퀀스 컨테이너 비교 정리 . . . . 1 match
원소들 간 연결을 위해 추가적인 메모리가 사용된다.
- C++/cryptohash . . . . 1 match
Microsoft Cryptographic Provider를 쉽게 사용할 수 있는 헬퍼 템플릿 클래스.
- C++/pragma region . . . . 1 match
크로스플랫폼에서 사용할 수 있는 코드라면 아래와 같이 쓰는 게 좋을 것이다.
- C++/pragma 파일에 포함된 리터럴을 utf-8로 변경 . . . . 1 match
소스 코드에 다음 코드를 사용하여 소스 코드 내 문자 리터럴이 UTF-8임을 지정한다.
- C++/분기 안에서 아무것도 하지 않을 때 쓸만한 주석 . . . . 1 match
C++에서 분기 안에서 아무 작업도 수행하지 않을 때, 코드의 가독성을 높이기 위해 주석을 추가하면 코드를 이해하기 쉽게 만들어주고, 의도를 명확히 해 나중에 코드를 유지보수할 때 된다. 아래는 이러한 상황에서 사용할 수 있는 몇 가지 주석 예제이다
- C++/빌드 시 TODO 출력 . . . . 1 match
요렇게 사용하면 됨
- C++/빌드 이벤트에서 batch file 실행 . . . . 1 match
'''call'''을 붙이지 않고 foo.bat을 사용하면 개발 환경에서는 실행이 돼도, 다른 시스템 git 설정 환경 등에 의해서 권한이 없다며 배치 파일을 실행할 수 없는 경우가 있다.
- C++/상수 constexpr 값 이름 앞에 g_ prefix를 붙여도 될까 . . . . 1 match
보통 g_는 '''global variable'''이라는 의미로 사용된다.
- C_Sharp/ContainsCaseIntensiveString 메소드 . . . . 1 match
이것(Contains)는 Case Intensive 찾기를 할 수 없다. 대신 IndexOf + StringComparison.CurrentCultureIgnoreCase를 사용하면 Case Intensive한 포함 찾기를 할 수 있다.
- C_Sharp/INI 읽고 쓰기 . . . . 1 match
사용 예
- CategoryCategory . . . . 1 match
사용하고 있는 모든 분류의 목록은 다음과 같습니다:
- DisqusCommentsMacro . . . . 1 match
==== 사용 방법 ====
- EICAR test file . . . . 1 match
EICAR 테스트 파일(공식명칭:EICAR Standard Anti-Virus Test File)이란 ANTI 바이러스 테스트 용도로 사용될 수 있는 바이러스는 아니지만 바이러스로 인식되는 표준 바이러스 테스트 파일이다.
- Guestbook/2012 . . . . 1 match
이번에 호스팅 서비스 옮기면서, [[모니위키]] 1.2.0 CVS 설치해봤는데 테마 빼고는 다 맘에 들더군요. 껍데기가 예뻐야 모니위키 사용자도 좀 늘어날텐데 아쉬워요. 그렇다고 하나 만들자니 어렵고;;
- HelpContents . . . . 1 match
* HelpOnUserPreferences - 위키 사용자로 등록하고, 설정가능한 기본값을 입맛에 맞게 고쳐보세요.
- HelpForBeginners . . . . 1 match
처음 위키위키를 방문하신다면 무작정 다른 페이지를 고치려 하지 마시고 [위키모래상자]같은 곳에서 위키위키에 사용되는 간단한 문법을 테스트해보시기 바랍니다.
- HelpOnEditing . . . . 1 match
위키위키는 기본적으로, 위키위키 내의 모든 페이지를 모든 사용자가 고칠 수 있습니다. 위키위키는 좀 더 편리하고 직관적인 페이지 편집을 지원하며 편집에 앞서 몇가지 포매팅 규칙을 배우셔야 합니다.
- HelpOnLists . . . . 1 match
=== 사용례 ===
- HelpOnProcessors . . . . 1 match
다음과 같이 코드 블럭 영역 최 상단에 {{{#!}}}로 시작하는 프로세서 이름을 써 넣으면, 예를 들어 {{{#!python}}}이라고 하면 그 코드블럭 영역은 {{{plugin/processor/python.php}}}에 정의된 processor_python()이라는 모니위키의 플러그인에 의해 처리되게 됩니다. {{{#!python}}}은 유닉스의 스크립트 해석기를 지정하는 이른바 ''bang path'' 지정자 형식과 같으며, 유닉스에서 사용하는 목적과 동일한 컨셉트로 작동됩니다. (즉, 스크립트의 최 상단에 지정된 스크립트 지정자에 의해 스크립트의 파일 나머지 부분이 해석되어 집니다.)
- InterMap . . . . 1 match
MoniWiki는 UTF-8 위키입니다. EUC-KR를 사용하는 위키에서 다른 인코딩의 인터위키로 등록할 때에, 예를 들어 현재의 인터위키를 등록하기 위해서는 다음과 같은 방식으로 인터위키를 등록해야 합니다
- IrccolorMacro . . . . 1 match
=== 사용 방법 ===
- JavaScript . . . . 1 match
["/carouFredSel에서 img 대신 text 영역을 사용"]
- Lens . . . . 1 match
##최근은 구독리더 서비스 [https://feedly.com feedly], [https://www.inoreader.com/ inoreader] 사용 중.
- MoniWiki/Release1.0 . . . . 1 match
자꾸 욕심이 많아지네요 :) MoniWiki는 [개인 위키]를 목표로 합니다. 따라서 StandaloneWiki 혹은 DesktopWiki로 사용할 수 있는 쉬운 위키엔진이 목표입니다.
- MoniWikiPlugins . . . . 1 match
== 사용자 인터페이스 관련 ==
- NPAPI NPRuntime 크롬 파이어폭스 플러그인 만들기 . . . . 1 match
이 페이지에서는 2013년 4월 1일 현재 최신 Gecko SDK[[Footnote(XULRunner SDK로도 알려져 있다.)]](19.0.2)와 최신 비주얼 스튜디오(VS2008/2010/2012)를 사용한 NPAPI Hello world 를 만드는 방법을 소개한다. Gecko SDK 1.9 부터 프로젝트 구성 방법과 헤더와 타입이 많이 바뀌었기 때문에 1.9 버전 예제들은 변경이 필요하다. 이에 대한 자세한 방법을 소개한다.
- OeKaki . . . . 1 match
== 사용방법 ==
- OpenCV . . . . 1 match
이 코드들은 OpenCV 라이브러리를 사용하기 때문에 해당 라이브러리를 설치하고, `#include <opencv2/opencv.hpp>`를 추가해야 한다.
- PageHitsMacro . . . . 1 match
특정 사용자명, 가령 개인위키라면 그 위키 주인, 은 제외하고 incCounter()하는 게 어떨까요?
- Perl/배열 중복 검출 . . . . 1 match
Quantum::Superpositions 모듈 사용. 느리지만, 제법 readable.
- Python/requirements.txt . . . . 1 match
Docker와 같이 이 환경을 그대로 다른 환경에서 설치하고 싶을 때나 `Dockerfile`을 만들 때 필요한 패키지를 하나하나 `pip install` 할 수도 있지만 `requirements.txt`을 사용해서 관리하는 것이 쉽다.
- SAMISync . . . . 1 match
실제로 사용하는 경우가 많지 않고 나 역시 필요가 없어서 현재는 지원하지 않았다.
- UploadFile . . . . 1 match
'UploadFile'페이지 이외의 특정한 페이지에서 {{{[[UploadFile]]}}}을 사용하면, 그 페이지 이름을 하위 디렉토리로 하는 새로운 UploadFile 디렉토리가 만들어지고 그 밑으로 파일이 업로드 된다. (1단계 하위 디렉토리만 지원된다)
- UploadedFiles . . . . 1 match
== 사용법 ==
- VisualStudio 솔루션 이름 변경 . . . . 1 match
를 사용해서 변경해보자.
- gdb 사용법 . . . . 1 match
#title gdb 사용법 & Tips
- hyacinth . . . . 1 match
모니위키를 사용한 개인 위키/홈페이지입니다. HyacinthWiki
- mym/2010_01_02 . . . . 1 match
{{| IP는 일반적으로 A, B,C클래스로 구분합니다. D클래스 이상은 일반적으로 사용하는 IP는 아닙니다.
- omr1/402 . . . . 1 match
* 사용자 인터페이스
- omr1/5/002/001 . . . . 1 match
* 사용자 인터페이스
- omr1/5/002/081023 . . . . 1 match
* 사용자 인터페이스
- omr1/5/002/081031 . . . . 1 match
* 사용자 인터페이스
- omr1/5/002/081106 . . . . 1 match
* 사용자 인터페이스
- omr1/5/002/081120 . . . . 1 match
* 사용자 인터페이스
- omr1/5/002/081127 . . . . 1 match
* 사용자 인터페이스
- omr1/Totaliter . . . . 1 match
# - 이 스크립트는 공개로 제공됩니다. 이 스크립트를 사용할 경우에 생길 수 있는
- omr1/임시10 . . . . 1 match
//printf("%d %d \n",j, c); // 소수 출력시 사용
- omr1/임시5 . . . . 1 match
* 사용자 인터페이스
- omr1/임시9 . . . . 1 match
//printf("%d %d \n",j, c); // 소수 출력시 사용
- putty로 irc 포트 터널링해 접속하기 . . . . 1 match
Source port: 로컬에서 사용할 포트
- softphone . . . . 1 match
iPhone에서 삼성070 SIP 소프트폰 사용하기 « Peter .WEB2 -
- svndel . . . . 1 match
윈도우에서 Subversion을 사용할 때 폴더의 모든 SVN 폴더/파일 연결을 제거하는 방법. 알아두면 유용함.
- 개발자 인수인계 문서 작성하는 법 . . . . 1 match
외부에서 사용하는 API가 있다면 다음을 포함합니다.
- 구글 사이트맵 제출하기 . . . . 1 match
블로그는 미국의 워드프레스같은 설치형 블로그의 경우, 사용자 기반이 엄청나 그런 XML 사이트 맵을 자동으로 생성해주는 플러그인이 있는데 국내 태터툴즈는 아직 플러그인이 나와 있지 않네요. 따라서 xml-sitemaps.com 온라인 사이트 맵 생성 서비스를 이용하는게 편리할듯합니다.
- 논문에서 자주 쓰이는 표현들의 진실 . . . . 1 match
다음의 인용문과 그 실제의 뜻에 대한 해설은 과학/의학분야에서 사용하는 신비한 언어들에 대한 이해에 도움을 줄 것이다.
- 레지스트리 키 내보내기 . . . . 1 match
이런 형식으로 저장하기 위한 꼼수로 아래 코드를 사용할 수 있다.
- 메모장/2 . . . . 1 match
TF-IDF 보통 벡터 공간 모델을 많이 사용한다. 질의어와 문서를 키워드의 벡터로 표현하고, 내적을 계산해서 유사함을 평가한다. (코사인 유사도) -- [hyacinth] [[DateTime(2008-12-09T16:52:19)]]
- 벤자민 프랭클린 자서전 . . . . 1 match
여지 없이" 또는 의견에 대한 단호한 분위기를 주는 말들의 사용을
- 서머 타임 . . . . 1 match
제1차 세계대전 중 독일에서 처음으로 서머타임이 채택되었으며, 그후 유럽의 여러 나라가 이를 사용하기 시작하였다. 그러나 일상생활이나 학술적인 면에서 불편하고 혼란을 초래한다 하여 채택을 중단한 국가들이 많다.
- 셰릴의 생일 찾기 . . . . 1 match
이 문제를 풀기 위해서 각 대화의 힌트를 사용해보겠습니다.
- 소프트웨어 품질 관리 도구 . . . . 1 match
CppCheck는 소스 코드 구문을 분석하여 오류를 검출하며 마이크로소프트 윈도와 유닉스 계열의 운영체제에서 모두 사용할 수 있다. 특히 리눅스 커널 소스 코드에서 22개의 결함을 발견해 품질을 높이는 데 기여한 것으로 알려졌다.
- 윈도우 음소거 단축키 . . . . 1 match
국내 웹에 .vbs 윈도우 스크립트를 사용해 윈도우 볼륨 제어판을 열어 음소거하는 방법이 많이 돌아다니는데, 그 방법은 순간적으로 창이 열고 닫히는 화면이 보이기 때문에 보기에 좋지 않다.
- 유용한 Reference 사이트들 . . . . 1 match
["HTML에 사용되는 색이름"]
- 유전 알고리즘 . . . . 1 match
마스크를 사용 하여 어느 쪽의 유전자를 받아 들일지 결정
- 유튜브 Embed 작성 소스 . . . . 1 match
※ 파라미터에 주소창에서처럼 [[code(&t=)]]를 쓰는 것이 아니라 [[code(&start=)]]를 사용해야 함.
- 이 곡만 듣고나면 살맛이 난다(127) . . . . 1 match
남녀가 각각 절반씩인데, 40여명의 남자 직원들이 사용하고 있는 화장실 청소는
- 이것저것만든것들 . . . . 1 match
* '''["모니위키 플러그인"]''' ''(PHP)'' — MoniWiki 사용 중 필요에 따라 제작한 여러 확장 플러그인
- 인문학 서바이벌 . . . . 1 match
> 전문화는 이 밖에도 심오하면서도 중요한 사회적 기능을 수행한다. 전문화 이면에 자리 잡고 있는 개념은 전문화된 노력을 위해 필요한 지식과 기술은 전달할 수 있어도 양도할 수는 없다는 것이다. 전달성은 전문 직업이 미래 전문직 종사자들의 생산을 독점할 수 있도록 하기 위해 필요하다. ... 이러한 전문성의 비양도성은 전문화된 경제 체제에서 각각의 바퀴가 평형을 이루도록 한다. 즉 높은 교육을 받은 사람들이 도를 넘는 권위를 주장하는 것을 막는다. ... 다시 말해 전문성은 똑똑한 사람들에게 지나친 사회 권력을 주지 않으면서 그들을 생산적으로 사용하는 방법이다.
- 자료구조 . . . . 1 match
모든 예제는 C 스타일로 코딩되었으며 가장 먼저 구현된 단순 연결 리스트를 재사용하였습니다.
- 자료구조/집합 . . . . 1 match
* 사용자 인터페이스
- 학부/2학년 . . . . 1 match
III. 사용 환경
- 한글 유니코드 인코딩 및 폰트 기술에서 LVT . . . . 1 match
* 옛한글 처리: 현대 한글뿐만 아니라 초성, 중성, 종성이 분리된 형태의 옛한글을 미려하게 출력하기 위해 이 폰트 기술이 사용된다.
- 현대화된 모니위키 . . . . 1 match
- navigator.clipboard API 사용 + 구형 브라우저 fallback
Found 257 matching pages out of 1230 total pages (0 pages are searched)
You can also click here to search title.