E D R , A S I H C RSS

Full text search for "파일 입출력"

파일 입출력


Search BackLinks only
Display context of search results
Case-sensitive searching
  • Linux/필수명령어/용법 . . . . 404 matches
         - at -q [-m][-f 파일명] 큐(queue) 시간
         -f 파일명 : 표준 입력이 아닌 지시된 파일에서 작업을 읽어온다.
         명령은 기본적으로 표준 입력 장치를 통해서 받으며, ^D로 입력을 종료한다. 리다이렉션을 사용하여 다른 파일의 내용을 사용할 수 있다.
         /etc/at.allow 파일이 있다면 이 파일에 명단이 있는 사용자만이 at 명령을 사용할 수 있다. /etc/at.allow 파일이 없다면 /etc/at.deny 파일을 찾는다. 이 파일에 목록이 있는 사용자는 at 명령을 사용할 수 없다. 두 파일 모두 찾지 못한다면 오로지 슈퍼 유저만이 at 명령을 사용할 수 있다. 그리고 /etc/at.deny 파일이 비어 있다면 모든 사용자가 at 명령을 사용할 수 있다.
         내일 오후2시 40분에 work 파일에 수록된 작업을 수행한다.
         - sh [ 옵션 ][ 파일 ]
         cat은 catenate(사슬로 잇다. 연결하다)에서 이름이 유래한다. 이것은 파일의 내용을 화면에 출력하는 데 사용되기도 하며 파일을 다른 곳에 순차적인 스트림으로 보내기 위해 사용된다.
         - cat [ -benstuvETA ] [ 파일명(들) ]
         cat 명령은 읽어들이는 파일 이름을 지정하지 않으면, 기본 내정값으로 표준 입력 장치를 선정한다.
         - $ cat document.1 ,,document.1 파일을 화면으로 출력한다.
         content와 report.first 두 개의 문서가 연결된 myreport라는 파일을 생성하게 된다.
         파일의 그룹 소유권을 바꾼다.
         - chgrp [ -cfvR ] 그룹 파일
         -c : 실제로 소유자가 바뀐 파일에 대해서 자세히 기술한다.
         -f : 파일의 그룹 소유권을 바꿀 수 없더라도 에러 메시지를 출력하지 않는다.
         -R : 디렉토리와 그 내용 파일들의 소유권을 재귀적으로 모두 바꾼다.
         파일의 소유자나 슈퍼 유저만이 파일의 그룹 소유권을 바꿀 수 있다. chgrp 명령 뒤에 원하는 옵션을 사용한 후 목적하는 그룹의 이름을 명시하고 대상 파일의 이름을 명시한다.
         이것은 /usr/project의 모든 파일들의 소유권을 DoublePlus 그룹으로 바꾼다.
         파일의 모드를 바꾼다. 파일의 모드는 권한(permission) 을 제어한다.
         - chmod [ -cfvR ] 모드 파일명(들)
  • 창섭/배치파일 . . . . 66 matches
         도스에는 명령어를 일괄적으로 처리하기위한 배치파일이라는 것이 있습니다.
         대부분의 사람들은 배치파일이 도스환경을 쉽게 만든다는 사실을 과소평가하는데, 컴퓨터를 좀더 쉽게 사용하고 싶다면 배치파일을 꼭 짚고 넘어가는것이 좋습니다.
         ▶ 배치파일이란 ?
         이러한 경우 배치 파일은 가장 확실한 해결책입니다.
         배치파일의 기능은 순차적이고 반복된 동일한 작업 과정을 몇개의 혹은 수십, 수백 개의 연관된 명령어를 하나의 파일로 집약하여 그 하나의 파일(배치파일)만 실행함으로써 원하는 작업 과정을 수행하는것입니다.배치파일에 붙는 확장자는 .bat(batch 의 약어) 입니다.도스에서 실행이 가능하기 때문에 .com, .exe 확장자가 붙는 외부 명령어와 함께 실행 가능한 파일로 분류됩니다.차이가 있다면 .com, .exe 명령어는 컴퓨터만 해석 가능한 기계어 코드로 구성되어 있는반면, 배치 파일은 사람이 알아볼수 있는 일반 텍스트로 이루어져있다는 것입니다.
         그래서 사용자들은 문서작성에 이용하는 워드프로세서나 텍스트에디터 등을 이용해 배치 파일을 작성할 수 있습니다. 그러나 워드프로세서는 덩치가 크고 원래 목적이 편집과 출력을 위해 만들어진 것이므로 단순한 배치 파일을 작성하는 데는 권하고 싶지 않습니다.
         저장할때도 워드프로세서 고유의 포맷(예" .hwp 확장자를 가지는 아래아한글 데이터 파일)으로 저장하면 인식이 되지 않으므로 아스키 파일로 저장해야 합니다.가장 편리한 방법은 일반 문서 에디터( 도스의 Edit, Q에디터,U에디터 등)를 이용하거나 도스의 'Copy Con' 명령으로 배치 파일을 만드는 것입니다.다음과 같이 'Copy con 파일명' 형식으로 입력하고 엔터를 누르면 도스 프롬프트 상태에서 편집할 수 있는 상태가 됩니다.
         여기서 쓰고 싶은 대로 적기만 하면 됩니다.제일 마지막행의 ^Z 는 파일의 제일 마지막 부분이라는 것을 도스에게 알려주는 코드로 < Ctrl + Z > 키 또는 F6 키를 누르면 됩니다. 그리고 엔터키를 한번더 누르면 '1 File(s) copied' 라는 메세지가 출력되는데, 이는 방금 ' copy con 파일명 ' 으로 작성된 문서파일이 성공적으로 만들어졌다는 뜻입니다.위의 문서파일은 확장자가 .BAT 로 붙었기 때문에 실행가능한 외부 명령어가 되는데, 배치파일은 명령이 기록되어 있는 순서대로 실행되기 때문에 timedate.bat 를 실행시키면 먼저 화면을 지우고 난뒤 시스템의 시간과 날짜를 설정합니다.간단한 배치파일은 'copy con 파일명' 으로 작성하는 것이 다른 프로그램의 도움없이 쉽고 빠르게 처리할 수 있습니다. 하지만 배치파일이 조금 길거나 작성중에 수시로 편집할 일이 생기는 경우에는 불가능합니다. 'copy con 파일명' 으로 파일을 작성하면 행으로 다시돌아갈 수 없을 뿐 아니라 수정이 불가능하기 때문입니다. 그러므로 배치파일을 만들 필요가 있을때는 문서 에디터를 이용하는 것이 좋습니다.
         ▶ 배치파일 작성 명령어 9인방
         배치 파일파일 안에 기록되어 있는 명령의 순서대로 실행됩니다.가장 대표적인 것이 부팅에 이용되며, 컴퓨터의 루트 디렉토리에 위치하고 있는 Autoexec.bat 파일입니다. 그런데 만약 배치 파일의 실행의 순서를 순차적이 아닌멀티부팅용 Autoexec.bat 처럼 사용자 마음대로 정하고 싶다면 배치파일에 제공되는배치명령어의 용도를 알고 있어야 합니다.
         현재 실행중인 배치 파일을 종료하지 않고 필요한 다른 배치파일을 호출하여 실행한 다음 원래의 배치파일로 다시 돌아오려고 할 때 사용됩니다.
         ◇ 사용법 : Call [drive:]\[경로]\<배치파일명>[.BAT]
         어떤 배치 파일을 실행하는 도중에 경로 C:\bats 에 있는 sample.bat 파일을 실행한 다음 다시 원래의 배치파일로 돌아옵니다.
         배치 프로그램 내에서 사용자의 선택을 묻기 위해 사용됩니다. 배치 파일 제작자가 설정한 물음을 출력하면서 지정된 키 입력을 기다립니다. 이 명령은 배치파일 내에서만 사용 가능합니다.
         배치파일 실행중에 명령어를 화면에 표시할 것인지의 여부를 설정하며, 그 상태를 표시합니다. 한편 ECHO 명령 뒤에 오는 메세지는 화면에 나타납니다.
         - on : 배치 파일 실행중에 그 배치 파일 내의 명령어를 화면에 표시합니다.
         - off : 배치 파일 실행중에 명령어를 화면에 출력하지 않도록 합니다.
         ☞ 현재 실행중인 배치 파일 내의 명령어를 화면에 나타나지 않도록 함.
         For %%<변수> IN (<집합>) DO <명령> [<옵션>] ☞ 배치파일용.
         - %%<변수>, &<변수> : 변수로 사용되는 것은 임의의 영문자로 1자만 허용됩니다. 주의할 점은 배치파일에서 사용할 경우는 반드시 %%처럼 두개를 연달아 사용해야 하며, 일반 도스 프롬프트에서 사용할 때는 % 하나만 사용합니다.
  • MoreEffectiveC++/Miscellany . . . . 58 matches
         이런 좋은 소프트웨어를 만들기 위한 방법으로, 주석이나, 기타 다른 문서 대신에 C++ 내부에 디자인으로 구속해 버리는 것이다. 예를들자면 '''만약 클래스가 결코 다른 클래스로 유도되지를 원치 않을때''', 단시 주석을 헤더 파일에 넣는 것이 아니라, 유도를 방지하기 위하여 C++의 문법을 이용한 기술로 구속 시킨다.;이에 대한 방법은 '''Item 26'''에 언급되었다. 만약 클래스가 '''모든 인스턴스를 Heap영역에 생성시키고자 할때''', 클라이언트에게 말(문서)로 전달하는 것이 아니라. '''Item 27'''과 같은 접근으로 제한 시켜 버릴 수 있다. 만약 클래스에 대하여 복사와 할당을 막을려고 할때는, 복사 생성자와 할당(assignment) 연산자를 사역(private)으로 만들어 버려라. C++은 훌륭한 힘과, 유연성, 표현성을 제공한다. 이러한 언어의 특징들을 당신의 프로그래밍에서 디자인의 정책을 위해서 사용하라.
         어떤이가 무언가를 '''할수있다는것''' 알게되면 그들을 그것을 '''할것이다.''' 그들은 예외를 던질 것이다. 그들은 그들 스스로에게 객체를 할당할 것이다. 그들은 값을 제공하기전에 객체를 사용할 것이다. 그들은 객체를 제공하겠지만, 결코 사용하지 않는다. 그들은 커다란 값을 제공할 것이다. 그들은 아주 작은 값을 제공할 것이다. 그들은 null 값을 제공할 것이다. '''일반적으로 만약 컴파일이 되면 어떤이가 그것을 할것이다.''' 결과적으로 당신의 클래스를 정확히 사용하는건 쉽게, 이상하게 사용하는건 어렵게 만들어라. 클라이언트가 실수를 하도록 해라 그리고 당신의 클래스들이 그러한 에러들을 방지하고, 찾고, 수정할수 있게 만들어라. (예를들어 Item 33 참고)
         당신의 코드를 변화가 필요할때, 그 효과를 지역화(지역화:localized) 시키도록 디자인 해라. 가능한한 캡슐화 하여라:구체적인 구현은 private 하라. 광범위하게 적용해야 할곳이 있다면 이름없는(unamed) namespace나, file-static객체 나 함수(Item 31참고)를 사용하라. 가상 기초 클래스가 주도하는 디자인은 피하라. 왜냐하면 그러한 클래스는 그들로 부터 유도된 모든 클래스가 초기화 해야만 한다. - 그들이 직접적으로 유도되지 않은 경우도(Item 4참고) if-than-else을 개단식으로 사용한 RTTI 기반의 디자인을 피하라.(Item 31참고) 항상 클래스의 계층은 변화한다. 각 코드들은 업데이트 되어야만 한다. 그리고 만약 하나를 읽어 버린다면, 당신의 컴파일러로 부터 아무런 warning를 받을수 없을 것이다.
         그 의미는 클라이언트 코드에 대하여 약간의 변화가 -delete문-결과적으로 클래스 B의 정의까지 변화해야 하는 필요성을 보여준다. 그런한 상황이 발생하면, B의 클라이언트들은 모두 재 컴파일 해야 한다. 아까, 이 필자의 충고를 따르면, 확장 코드에 대한 클라이언트의 라이브러리도 재 컴파일, 재 연결해야 한다. 이는 소프트웨어 디자인에 효과를 미틴다.
         다시, B에 작은 변화는 아마 클라이언트의 부가적인 재 컴파일과 재링크를 요구한다. 그렇지만 소프트웨어의 작은 변화는 시스템에 작은 충격을 줄것이다. 이러한 디자인은 테스트로 실패이다.
         물론, 필요하다면 현재 감안하는 생각으로 접근한다. 당신이 개발중인 소프트웨어는 현재의 컴파일러에서 동작해야만 한다.;당신은 최신의 언어가 해당 기능을 구현할때까지 기다리지 못한다. 당신의 현재 가지고 있는 언어에서 동작해야 하고. 그래서 당신의 클라이언트에서 사용 가능해야 한다.;당신의 고객에게 그들의 시스템을 업그레이드 하거나, 수행 환경을(operating environment) 바꾸게 하지는 못할것이다. 그건은 '''지금''' 수행함을 보증해야 한다.;좀더 작은, 좀더 빠른 프로그램에 대한 약속은 라이프 사이클을 줄이고, 고객에게 기대감을 부풀릴 것이다. 그리고 당신이 만드는 프로그램은 '''곧''' 작동해야만 한다. 이는 종종 "최신의 과거"를 만들어 버린다. 이는 중요한 속박이다. 당신은 이를 무시할수 없다.
         솔직히, dynamic_cast를 사용해서 실행 시간에 검사하는건 좀 짜증난다. 한가지, 몇몇 컴파일러는 아직 dynamic_cast에 대한 지원이 부족해서, 이를 사용하면, 이론적으로는 이식성이 보장되지만 실제로는 그렇지 않다. 더 중요하게 Lizard와 Chicken의 클라이언트들은 bad_cast 예외에 대한 준비와, 할당을 수행할때의 각 코딩시에 민감하게 처리하지 못한다. 내 경험에 비추어 볼때 많은 프로그래머들이 그런 방법을 취하지 않고 있다. 만약 그들이 하지 않는다면, 할당이 일어나는 수많은 곳에서 정확하지 않은 처리상태로, 명료성을 보장 받을수 없다.
         가상 할당 연산자를 이용하는 것 역시 불충분한 상태가 주어진다. 그것은 클라이언트가 문제있는 할당을 하는 것을 방지하는 방법을 찾도록 노력하는데 힘을쓰게 만든다. 만약 그러한 할당이 컴파일 중에 거부된다면, 우리는 잘못이 일어날 것에 대해 걱정할 필요가 없게된다.
         이 디자인은 당신이 필요한 모든것을 제공한다. 동종의 할당에 관해서 ''동물'', ''도마뱀'', ''닭''의 할당 연산을 허용한다.;부분적인 할당과 타종간의 할당을 금지한다는 것;그리고 유도된 클래스의 할당은 아마 기본 클레스 내의 할당 연산자가 맡을 것이다. 게다가 Animal, Lizard, Chicken클래스의 역할이 기록된 코드들을 수정을 필요로 하지 않는다. 왜냐하면, 이들 클래스는 소계된 AbstractAnimal 클래스로 기존의 역할들을 대신 받을수 있다. 물론, 그러한 코드들은 재 컴파일이 되어야 한다. 그렇지만 컴파일러가 할당의 명시성을 보장해 주어서 보장되는 보안성에 비하여 작은 비용이다.
         이 모든것이 어떤 잘못된 생각으로 인도한다. 결국, 모든 클래스는 어떠한 종류의 추상화를 표현한다. 그래서 우리는 계층 관계에서 모든 개념을 위해서 두가지의 클래스를 생성할수가 없게 되지 않을가? 하나는 추상화로(추상화를 표현하는 부분 작성) 하나는 concrete로(객체 생성 부분 작성)? 아니다. 만약 당신이 그렇게 하면 당신은 굉장히 많은 클래스로 계층 관계를 만들 것이다. 그리고 컴파일에도 많은 비용을 소요한다. 그것은 객체 지향 디자인의 잘못된 목표이다.
         일단, 오직 한종류의 프로토콜을 통하여 오직 한종류의 패킷만을 전송한다고 가정하자. 아마도 다른 프로토콜과 패킷의 존재를 알고 있을 것이다. 그렇지만 당신은 그들을 지원하지 않고, 미래에도 이들을 지원할 계획이 없을 것이다. 당신은 패킷에 대한 추상 클래스(패킷을 표현하는 개념을 위한)를 사용할 패킷의 concrete 클래스와 같이 만들것인가? 만약 그렇게 한다면 당신이 패킷의 기본 클래스의 변화 없이 차후에 새로운 패킷 형태를 추가하는 것을 바랄수 있다. 그것은 새로운 형태의 패킷이 추가될경우 패킷과 관련하여 재컴파일할 수고를 덜어 줄것이다. 그렇지만 그런 디자인은 두개의 클래스를 요구한다. 그리고 지금 당신에게는 하나만이 필요하다.(당신이 사용하는 패킷만을 표현하는 클래스) 없을지도 모르는 미래를 위한 확장을 위해서 당신의 디자인을 복잡하게 하는 것을 해야 할까?
         여기에는 정확한 답을 내릴수 없다. 그렇지만 경험상으로 그것은 우리가 완전히 이해하기 힘든 개념을 잘 구현한 훌륭한 클래스의 디자인에는 결코 가까워 질수 없을 것으로 보인다. 만약 당신이 패킷을 위해서 추상 클래스를 만들었다면, 오직 단일 패킷 형태로 제한하는 디자인 이후에 어떻게 옳바른 디자인을 할수 있겠는가? 기억해 봐라, 만약 당신이 추상 클래스로 디자인해서 미래에 이를 상속한 클래스들로 디자인상 별 변화 없이 제작될수 있다는 면, 이런 추상 클래스가 주는 장점을 얻는다. (만약 변화가 필요하다면 모든 클라이언트에게 재 컴파일을 요구해야 한다. 그리고 아무것도 얻지 못한다.)
         많은 면에서, C++와 C에서 컴포넌트를 만들때, 네가 하는 걱정은 C 컴파일러가 오브젝트 파일을 서투르게 처리 할때의 걱정과 같다. 다른 컴파일러들이 구현에 의존적인 요소들에 대하여 동일하지 않으면, 그런 파일들을 혼합해서 쓸 방법이 없다. (구현 의존 요소:int, double의 크기, 인자를 넘기고 받는 방법, 호출자와 호출간에 통신 ) 이러한 개발 환경에서 컴파일러들을 섞어서 사용하는 것에(mixed-compiler) 관한 실질적은 관점은 언어의 표준에 대한 노력에 의해서 아마 완전히 무시 된다. 그래서 컴파일러 A와 컴파일러 B의 오브젝트 파일을 안전하게 섞어서 쓸수 있는 신뢰성 있는 유일한 방법은, 컴파일러 A,B의 벤더들이 그들의 알맞는 output에 대한 product의 정보를 확실히 아는 것이다. 이것은 C++와 C를 이용하는 프로그램, 그런 모든 프로그램에 대하여 사실이다. 그래서 당신이 C++과 C를 같은 프로그램에서 섞어서 쓰기 전에는 C++와 C컴파일러가 알맞는 오브젝트 파일을 만들어 내야만 한다.
         당신도 알다 시피, name mangling(이름 조정:이후 name mangling로 씀) 당신의 C++ 컴파일러가 당신의 프로그램상에서 각 함수에 유일한 이름을 부여하는 작업이다. C에서 이러한 작업은 필요가 없었다. 왜냐하면, 당신은 함수 이름을 오버로드(overload)할수가 없었기 때문이다. 그렇지만 C++ 프로그래머들은 최소한 몇개 함수에 같은 이름을 쓴다.(예를들어서, iostream 라이브러리를 생각해보자. 여기에는 몇가지 버전이나 operator<< 와 operator>>가 있다. ) 오버로딩(overloading)은 대부분의 링커들에게 불편한 존재이다. 왜냐하면 링커들은 일반적으로 같은 이름으로 된 다양한 함수들에 대하여 어두운 시각을 가진다. name magling은 링커들의 진실성의 승인이다.;특별히 링커들이 보통 모든 함수 이름에 대하여 유일하다는 사실에 대하여
         C++의 테투리에 머물러 있다면, name mangling은 당신과 그리 관계 있는 것 같지 않다. 만약 당신이 컴파일러가 xyzzy라고 magling한 drawLine이라는 함수를 가지고 있다면 당신은 항상 drawLine이라고 사용하고, 오브젝트 파일에서 xyzzy라고 교체되어 쓰는것에는 주의를 기울일 필요가 없다.
         하지만 C 라이브러리에서 drawLine이라면 이야기가 달라진다. 그런 경우에 당신의 C++소스 파일은 아마도 이것과 같이 선언된 헤더 파일을 가져야 할것이다.
         그리고 당신의 코드는 일반적으로 사용하는 것처럼 drawLine을 호출하는 코들르 가진다. 그러한 각 호출마다 당신의 컴파일러가 mangle을 한 함수 이름을 호출 부분에 넣는다. 그래서 이론 코드를 쓰면,
         당신의 오브젝트 파일은 다음과 같은 모습의 함수 호출을 가진다.
         그렇지만 만약 drawLine가 C함수라면, drawLine 함수를 호출할때 drawLine으로 포함하는 컴파일러된 버전으로 오브젝트( 혹은 동적 링크 라이브러리 등) 파일에 포함되어 있다.;name mangle이 되지 않은 체로 되어 있다. 당신이 이 둘을 모두 섞어서 프로그램 하려고 노력하면, 에러가 날것이다. 왜냐하면 링커는 xyzzy의 호출되는 함수를 찾고, 그에 관한 함수가 없기 때문이다.
         이런 문제를 해결하기 위하여, C++ 컴파일러에게 해당 함수에 name mangle을 수행하지 않도록 알려야 할 방법이 필요하다. C든, assempler, FORTRAN, Lisp, Forth나 니가 가진 무슨 언어간에, 다른 언어에서 작성되어진 name mangle 처리된 함수를 원할수 없다.(예, 이 언어들에 COBOL도 들어가겠지만 당신이 쓰는가?) 결곡, 만약 C함수인 drawLine을 호출하면 그것은 진짜로 drawLine을 호출하고, 당신의 오브젝트 코드역시 그 이름 그대로 변화없이 사용한다.
  • JavaNetworkProgramming . . . . 47 matches
          *6장 : 스트림을 사용한 파일 처리 프로그램밍의 진수
         === Chapter6 스트림을 사용한 파일처리 프로그래밍의 진수 ===
          *FileOutputStream과 FileInputStream은 파일에 대한 바이트 기반의 스트림 엑세스를 제공하는 2개의 표준 클래스이다.
          *이외에 File,FileDescriptor,RandomAccessFile에 관해 간략히 나오고 파일스트림과 같이 사용하는 예제가 나온다.
          *File클래스 : 시스템에 독립적인 파일의 이름을 나타내고 실제 파일에 관한 정보를 결정하는 메소드뿐만아니라, 파일의 속성을 바꾸는 메소드도 제공
          *FileDescriptor클래스 : FileDescriptor 객체는 하위 레벨의 시스템 파일 설명자로의 핸들이다. 파일 설명자는 열려진 파일을 의미하며, 읽기 작업이나 쓰기 작업을 위한 현재의 파일 내의 위치와 같은 정보들을 포함한다. RandomAccessFile이나 FileOutputStream, FileInputStream을 사용하지 않고는 유용하게 FileDescritor를 생성할수 있는 방법은 없다 . --;
          *RandomAccessFile클래스 : 파일스트림을 사용하지않고 파일을 쉽게 다룰수 있음 장점은 파일스트림 클래스는 순차적 엑세스만이 가능하지만 이것은 임의의 엑세스가 가능하다. 여기선 RandomAccessFile클래스랑 파일 스트림을 같이 쓰는데 RandomAccessFile의 장점을 가지고 네트워크에서도 별다른 수정없이 사용할수있다. 예제는 밑에 --;
          *FileOutputStream 클래스 : 연속적인 데이터가 파일에 쓰여질수 있도록 해줌
          *간단한 파일 스트림 예제
          if(args.length !=2) //넘어오는 args가 파일이 원본 복사본 두개여야한다.
          FileInputStream in = new FileInputStream(args[0]); //원본 파일
          FileOutputStream out = new FileOutputStream(args[1]); //복사본 파일
          while((numberRead = in.read(buffer)) >=0) //파일을 버퍼에 가능한 많은 양을 읽고 읽은 양만큼 파일에 쓴다. 파일이 EOF일 때까지.
          out.write(buffer,0,numberRead); //여기서 0은 초기시작위치이고 파일에 쓸때마다 점점 옆으로 이동한다 --;
          out.close(); //close가 호출되지 않으면 FileOutputStream에 가비지 콜렉션이 일어날 때에 파일과 하부의 FileDescriptor가 자동으로 닫힌다.
          protected RandomAccessFile file; //랜덤 엑세스 파일
          file = new RandomAccessFile(filename,"rw"); //RandomAccessFile은 파일이 존재하지 않으면 자동으로 파일생성 하고 그렇지
          //않으면 파일을 연다 파일을 열면 포인터는 자동으로 파일의 시작부분을 가리키미로
          //데이터를 쓰면 기존의 파일 내용 위에 덮어 쓰여진다.
          file.seek(position); //position의 위치로 파일 포인터 위치를 변경
  • Linux/디렉토리용도 . . . . 47 matches
         ''(어둠의 경로를 통해서 학원 강의 파일을 들어보면 이놈의 중급 웹 서버관리 과정은 공룡책에 나오는
         내용을 윈도우에서 강의하는거 같다는 기분이다. 덕분에 한 2장 보면 파일을 지우는 나 -_-;)''
          * 마운트 되는 리눅스 파일 시스템이 있는 최상위 디렉토리
          * 시스템 점검 및 복구 명령, 시스템 초기 및 종료 명령 등 시스템 관리에 관련된 실행파일들 존재.'''
          * 프로그램들이 의존하고 있는 라이브러리 파일들 존재.
          * /lib/modules : 커널 모듈 파일들 존재.
         lib 디렉토리에는 컴파일러를 통해서 혹은 만들어진 파일들이 잠조하는 라이브러리들이 존재한다. 또한 하부에 modules 디렉토리에 존재하는 커널 모듈은 특수장치를 설치했거나 제거했을 경우 커널이 자동적으로 모듈을 올리지 못할 경우 insmod, rmmod, modprobe 명령어를 통해서 이런 모듈을 다룰때 이용된다. 커널 모듈의 경우 2.4커널에서는 *.o, 2.6 커널에서는 *.ko의 확장자를 가지고 있다.
          * 시스템에 대한 정보를 제공하는 가상 파일 시스템.
          * 대부분 읽기 전용이나, 일부 파일중에는 쓰기가 가능한 파일이 존재하는데 이러한 파일들에 특정 값을 지정하면 커널 기능이 변하게 됨.
          * 이 디렉토리 내에 있는 파일을 cat 명령을 이용하여 보면 시스템 정보를 확인 할 수 있음.
          * 시스템 환경 설정 파일이 있는 디렉토리
          * 네트워크 관련 설정파일, 사용자 정보 및 암호정보, 파일 시스템 정보, 보안파일, 시스템 초기화 파일등 중요 설정 파일들의 위치한 디렉토리
          * /etc/CORBA : Common Object Request Broker Architecture (COBRA)에 관한 파일이 들어있음.
          * /etc/X11 : 엑스 윈도우 설정에 관련된 파일들이 있음.
          * /etc/cron.d : crontab 명령의 설정파일이 있음.
          * /etc/cron.daily : 매일 작동하게 하는 crontab 스크립트 파일이 존재.
          * /etc/gnome : GTK+ 정의파일들이 있음.
          * /etc/httpd (/etc/apache2) : 아파치 웹 서버의 설정 및 로그파일이 있음.
          * /etc/logrotate.d : logrotate 설정 파일들이 있음.
          * /etc/mail : 센드메일과 관련된 파일이 있음.
  • OurMajorLangIsCAndCPlusPlus/errno.h . . . . 47 matches
         ||1||int EPERM||허가되지 않은 작동; 파일의 소유자(또는 다른 자원)나 명령을 수행할수 있는 특별한 권리를 가진 프로세스.||
         ||2||int ENOENT||그러한 파일이나 디렉토리 없음: 이것은 이미 존재하고 있을 걸로 예상한 파일이 없는 경우에 일어 나는 "파일이 존재하지 않습니다"라는 에러이다.||
         ||5||int EIO||입출력 에러;언제나 물리적인 입출력 에러에 사용됨.||
         ||6||int ENXIO||그런 장치나 주소가 없음. 시스템이 당신이 파일에서 설정한 장치를 사용하고자 하나 그러한 장치 를 찾을 수 없었다. 이것은 장치파일이 잘못 인스톨되었거나, 물리적인 장치를 빠뜨렸거나 또는 컴 퓨터와 제대로 부합되지 않았음을 의미한다. ||
         ||8||int ENOEXEC||유효하지 않은 실행파일 포맷.||
         ||9||int EBADF||잘못된 파일 기록; 예를 들어,닫혀진 파일을 기록하려고 하든지 쓰기 모드로 열려진 파일을 읽으려 고 하는 경우(그 반대의 경우도)||
         ||13||int EACCES||허용되지 않음;파일이 시도하려는 작동을 허용하지 않는다.||
         ||16||int EBUSY||시스템 자원 사용중; 분배될 수 없는 시스템 자원이 이미 사용중일 때, 예를 들어: 현재 마 운트된 파일시스템의 루트에서 한개의 파일을 지우려 할 때에 이 에러를 만난다.||
         ||17||int EEXIST||파일이 존재: 새로운 파일로 만들겠다고 한 파일이 이미 존재한다.||
         ||18||int EXDEV||파일시스템이 인지할수 없는 영역에 부적당한 링크를 만들려고 시도할 때 이 에러메세지가 나온 다. 이것은 링크를 사용할때만 발생하지만 또, rename으로 파일을 재명명할 때 발생하기도 한다.||
         ||21||int EISDIR||파일이 하나의 디렉토리 이다; 쓰기(writing)위해 이 디렉토리를 열려고 시도할 때 이 에러는 발생 한다.||
         ||23||int ENFILE||지금 현재 프로세스에 너무 많은 파일이 오픈되어서 더 이상 오픈할수 없다. 복제된 기술자가 이 제한에 대하여 셈한다.||
         ||24||int ENFILE||전체 시스템에 열려져있는 너무 많은 개별파일들이 있다. 연결되 채널의 어떤 것이라도 파일 하 나를 여는것과 같이 센다.||
         ||25||int ENOTTY||하나의 보통 파일에서 터미날 모드를 정하려 시도하는것과 같은 부적합한 입출력 제어 오퍼레이션 에 발생.||
         ||27||int EFBIG||파일이 너무 크다; 파일의 크기가 시스템이 허용하는 것 보다 더 크다.||
         ||28||int ENOSPC||디바이스에 공간이 남겨지지 않았다.; 파일에 쓰기 명령을 줬을 때 디스크가 가득차서 공간이 남아 있지 않으면 실패한다.||
         ||30||int EROFS||읽기 전용으로 된 어떤 파일시스템에 무언가를 수정하려고 시도할 때||
         ||31||int ENLINK||너무 많이 연결.; 하나의 단일한 파일의 링크 수가 너무 길다. 리네임은 이미 할수 있는것보다 많은 링크를 가진 한 파일을 리네임하면 이 에러의 원인이 된다.||
         ||39||int ENOLCK||유용한 락이 아니다. 이것은 파일 락킹 함수들에 의해 사용된다.||
         || ||int ENOTBLK||어떤 상황에서 주어진 파일에 특별한 블록이 없는 경우. 예를 들면, 보통의 파일을 유닉스 파일 시스 템에 마운트하려 하면 이 에러가 발생한다.||
  • Emacs . . . . 44 matches
         받아서 압축을 풀고 바로 사용할 수 있습니다. 하위 폴더중에 bin 폴더가 있는데 그 안에 있는 실행파일이 있습니다.
          * emacs 는 dired mode 는 파일을 관리하고 browse 할 수 있는데, tramp 를 활용하여 remote 를 local 처럼 사용할 수 있습니다.
         Emacs는 HOME 이라는 환경변수를 이용해서 사용자 설정 파일인 .emacs(이름 앞에 점 하나 있습니다.)파일을 읽어들입니다. 이 환경변수에는 경로가 들어가는데 그 경로에 사용자 설정 파일이 있어야 합니다. 제어판->시스템->고급->환경변수 안에 HOME이라는 환경변수를 추가하고, 그 경로 밑에 .emacs를 설치해야 합니다. .emacs 파일 내용은 다음과 같이 만듭니다.
          * 이맥스 설정 파일입니다.
          * Emacs 처음 설치 시에는 해당 파일이 존재하지 않는 경우도 있습니다. 이럴 때는 당황하지 마시고 HOME 디렉토리 밑에 .emacs라는 이름으로 파일을 만들어 주시면 됩니다.
          * .emacs 파일을 작성하거나 편집할 필요가 있을 경우에는 C-x-f ~/.emacs로 해 주면 Windows 환경에서도 알아서 HOME 디렉토리 밑에 만들어 줍니다.
          * Emacs에서 받는 몇몇 파일들이 다운되도록 지정된 디렉토리입니다.
          * 주로 Emacs Wiki에서 받은 파일들이나 다양한 .el 파일들을 넣는 데 사용합니다.
          * ELPA에서 받은 파일들도 기본적으로 이쪽으로 들어가게 됩니다.
          * Emacs의 확장 기능은 .el(Emacs Lisp 확장자) 파일을 읽어오는 방법으로 이루어진다. 따라서 .el 파일만 있으면 확장 기능을 사용할 수 있는데, ELPA 이전까지는 통일된 .el 파일의 배포 방법이 없었기 때문에 기능을 추가하려면 직접 파일을 (EmacsWiki나 github이나 다양한 방식으로) 다운받아야 하는 불편함을 감수해야 했다. ELPA는 이러한 흩어진 파일(= 확장 기능)들을 통합해서 받을 수 있는 기능을 제공하고 있다.
          * .emacs 파일에 다음과 같이 적는다.
          * 강제 삭제 : d -> e(혹은 x)로 해당 패키지를 지울 수 있긴 한데 제대로 지워지지 않는 경우가 좀 있다(...). 그럴 경우는 해당 파일이 ELPA의 폴더 안에 들어가 있기 때문에 ~/.emacs.d/elpa에 들어가서 해당 패키지의 폴더를 지워버리면 된다. 그 후 Emacs를 다시 기동해서 M-x package-list-packages를 보면 해당 패키지가 설치 항목에서 지워진 것을 볼 수 있을 것이다.
          collection of emacs development tool의 약자로서, make파일을 만들거나 automake파일 구성에 도움을 주고, compile하기 쉽도록 도와주는 등, emacs환경을 더욱 풍성하게하는데 도움을 주는 확장 기능이다.
          1. cedet github에 들어가서 압축파일을 받는다.([http://sourceforge.net/projects/cedet/])
          4. emacs 설정 파일인 .emacs 혹은 init.el 파일에 설치한 cedet을 로드하기위한 elisp코드를 다음과 같이 써준다.
         (load-file "~/cedet.el파일의 경로를 써넣는다. cedet압축을 푼 폴더안의 common에 cedet.el이 있다.")
          emacs code browser의 약자로서, 프로젝트 파일 management나, 디렉토리 management등을 도와주는 확장 기능이다.
          2. 현제 emacs의 최신버젼은 24.*대이다. 그리고 이 버젼대의 emacs는 내부적으로 cedet이 설치되어있다고 한다. 이 cedet의 버젼과 ecb의 버젼 사이에 버그때문에 ecb 환경설정을 하려하면 어려움이 많다. 열심히 삽질해서 알아본 결과 어떤 외국 신사분이 버그 fix후 report하기전에 반영이 늦을것같기에 미리 github에 올려두신 수정 버전이 있다.([https://github.com/alexott/ecb/]) 여기에서 ecb의 압축파일을 받는 것부터 시작을 한다.
          3. 받은 압축파일을 .emacs.d 폴더 혹은 원하는 곳에 압축을 푼다.
          4. emacs 설정파일인 .emacs 혹은 init.el에 다음과같은 elisp 코드를 적는다.
  • MoreEffectiveC++/Efficiency . . . . 41 matches
         많은 사람들이 병목현상(bottleneck)에 관한 해결책에 고심한다. 경험에 따른 방법, 직관력, tarot 카드이용(운에 맏기기) 그리고 Ouija(점괘를 나타내는 널판지의 상표명, 즉 점보기) 보드를 사용 하기도 하고, 소문이나 잘못, 올바르지 않은 메모리 할당, 충분하지 않은 최적화를 한 컴파일러, 혹은 치명적인 순환 구문을 만들어내기 위해 어셈블리 언어를 사용한 돌대가리 메니저들의 메니저들. 이러한 사정들은 일반적으로 멸시의 비웃음을 동반하고, 그들의 예언은 솔직히 잘못된 것이다.
         대부분 프로그래머들은 그들의 프로그램에 관한 특성에 관하여 멍청한 직관력을 가지고 있다. 왜냐하면 프로그램 성능의 특징은 아주 직관적이지 못하다. 결과적으로 남에 눈에는 띄지 않고 말할수 많은 노력이 성능 향상을 위해 프로그램의 관련된 부분에 쏟아 부어 진다. 예를들어서 아마, 계산을 최소화 시키는 알고리즘과 데이터 구조가 프로그램에 적용 되다. 그렇지만 만약에 입출(I/O-bound)력 부분 적용된다면 저것은 허사가 된다. 증가되는 I/O 라이브러리는 아마 컴파일러에 의하여 바뀐 그 코드에 의해 교체될것이다. 그렇지만, 프로그램이 CPU-bound에 대한 사용이라면 또 이건 별로 중요한 포인터(관점)이 되지 않는 것이다.
         일을 할 그 부분은 실질적으로 당신의 프로그램의 20%로, 당신에게 고민을 안겨주는 부분이다. 그리고 끔찍한 20%를 찾는 방법은 프로그램 프로파일러(profiler:분석자)를 사용하는 것이다. 그렇지만 어떠한 프로파일러(profiler:분석자)도 못할일이다. 당신은 가장 관심 있는 직접적인 해결책을 내놓는 것을 원한다.예를 들자면 당신의 프로그램이 매우 느리다고 하자, 당신은 프로파일러(profiler:분석자)가 프로그램의 각각 다른 부분에서 얼마나 시간이 소비되는지에 관해서 말해줄껄 원한다. 당신이 만약 그러한 능률 관점으로 중요한 향상을 이룰수 있는 부분에 관해 촛점을 맞추는 방법만 알고 있다면 또한 전체 부분에서 효율성을 증대시키는 부분을 말할수있을 것이다.
         프로파일러(profiler:분석자)는 각각의 구문이 몇번이나 실행되는가 아니면 각각의 함수들이 몇번이나 불리는거 정도를 알려주는 유틸리티이다. 성능(performance)관점에서 당신은 함수가 몇번 분리는가에 관해서는 그리 큰 관심을 두지 않을 것이다. 프로그램의 사용자 수를 세거나, 너무 많은 구문이 수행되어 불평을 받는 라이브러리를 사용하는 클라이언트의 수를 세거나, 혹은 너무 많은 함수들이 불리는 것을 세는 것은 다소 드문 일이기도 하다. 하지만 만약 당신의 소프트웨어가 충분이 빠르다면 아무도 실행되는 구문의 수에 관해 관여치 않는다. 그리고 만약 너무 느리면 반대겠지. (이후 문장이 너무 이상해서 생략, 바보 작성자)
         물론,프로파일러(profiler:분석자)의 장점은 프로세스중 데이터를 잡을수 있다는 점이다. 만약 당신이 당신의 프로그램을 표현되지 않는 입력 값에 대하여 프로파일(감시 정도 의미로)한다고 하면, 프로파일러가 보여준 당신의 소프트웨어의 모습에서 보통의 속도와, 잘 견디는 모습을 보여준다면 - 그부분이 소프트웨어의 80%일꺼다. - 불만있는 구역에는 접근하지 않을 다는 의미가 된다. 프로파일은 오직 당신에게 프로그램의 특별난 부분에 관해서만 이야기 할수 있는걸 기억해라 그래서 만약 당신이 표현되지 않는 입력 데이터 값을 프로파일 한다면 당신은 겉으로 들어나지 않는 값에 대한 프로파일로 돌아가야 할것이다. 그것은 당신이 특별한 쓰임을 위하여 당신의 소프트웨어를 최적화 하는것과 비슷하다. 그리고 이것은 전체를 보는 일반적인 쓰임 아마 부정적인 영양을 줄것이다.
         이런 결과들을 막는데 최선책은 당신의 소프트웨어에 가능한한 많은 데이터 들에게 프로파일을 시도하는것이다. 게다가 당신은 각 데이터들이 소프트웨어가 그것의 클라이언트들(혹은 최소한 가장 중요한 클라인트들에게라도)에게 사용방식을 잘 보여주도록 확신할수 있어야만 한다. 잘표현되는 데이터들은 얻기가 용이하다 왜냐하면 프로파일링 중에는 당신이 그들의 데이터를 사용할수 있기때문에 많은 클라이언트들이 좋기 때문이다. (뭔소리야. --;) 당신은 당신의 소프트웨어를 그들과 만나면서 조정(tuning)을 할것이고, 그것이 오직 당신이나 클라이언트들 양쪽에게 좋은 방법이다.
         '''lazy fetching'''을 적용 하면, 당신은 반드시 field1과 같은 const멤버 함수를 포함하는 어떠한 멤버 함수에서 실제 데이터 포인터를 초기화하는 과정이 필요한 문제가 발생한다.(const를 다시 재할당?) 하지만 컴파일러는 당신이 const 멤버 함수의 내부에서 데이터 멤버를 수정하려고 시도하면 까다로운(cranky) 반응을 가진다. 그래서 당신은 "좋와, 나는 내가 해야 할것을 알고있어" 말하는 방법을 가지고 있어야만 한다. 가장 좋은 방법은 포인터의 필드를 mutable로 선언해 버리는 것이다. 이것의 의미는 어떠한 멤버 함수에서도 해당 변수를 고칠수 있다는 의미로, 이렇게 어떠한 멤버 함수내에서도 수행할수 있다. 이것이 LargeObject안에 있는 필드들에 mutable이 모두 선언된 이유이다.
         mutable 키워드는 최근에 C++에 추가되어서, 당신의 벤더들이 아직 지원 못할 가능성도 있다. 지원하지 못한다면, 당신은 또 다른 방법으로 컴파일러에게 const 멤버 함수 하에서 데이터 멤버들을 고치는 방안이 필요하다. 한가지 가능할 법인 방법이 "fake this"의 접근인다. "fake this"는 this가 하는 역할처럼 같은 객체를 가리키는 포인터로 pointer-to-non-const(const가 아닌 포인터)를 만들어 내는 것이다. (DeleteMe 약간 이상) 당신이 데이터 멤버를 수정하기를 원하면, 당신은 이 "fake this" 포인터를 통해서 수정할수 있다.:
          ... // 그래서 과거 컴파일러는 이걸 허용한다.
         이 함수는 *this의 constness성질을 부여하기 위하여 const_cast(Item 2참고)를 사용했다.만약 당신이 const_cast마져 지원 안하면 다음과 같이 해야 컴파일러가 알아 먹는다.
         countChar을 호출하는 곳을 보라. 처음에 구문에서 char 배열이 함수로 전달된다. 하지만 함수의 인자는 const string& 이다. 이런 호출은 오직 형(type)이 알맞지 않은것이 제거되거나 당신의 컴파일러는 훌륭히도 string 형의 임시 객체(temporary object)를 만들어서 그러한 맞지 않는 형문제를 제가하면 성공할수 있다. 그러한 임시 객체는 string 생성자가 buffer인자를 바탕으로 초기화 된다. 그러면 constChar의 str인자는 임시(temporary) string 객체를 받아들인다.(bind-bound) countChar이 반환될때 임시(temporary)객체는 자동 소멸된다.
         보통 당신은 이러한 비용으로 피해 입는걸 원하지 않는다. 이런 특별난 함수에 대하여 당신은 아마 비슷한 함수들로 교체해서 비용 지불을 피할수 있다.;Item 22는 당신에게 이러한 변환에 대하여 말해 준다. 하지만 객체를 반환하는 대부분의 함수들은 이렇게 다른 함수로의 변환을 통해서 생성, 삭제에 대한 비용 지출에 문제를 해결할 방법이 없다. 최소한 그것은 개념적으로 피할려고 하는 방법도 존재 하지 않는다. 하지만 개념과 실제(concep, reality)는 최적화(optimization)이라 불리는 어두 컴컴한 애매한 부분이다. 그리고 때로 당신은 당신의 컴파일러에게 임시 객체의 존재를 허용하는 방법으로 당신의 객체를-반환하는 함수들수 있다. 이러한 최적화들은 ''return value oprimization''으로 Item 20의 주제이다.
         임시 객체의 밑바탕의 생각은 비용이 발생하다. 이다. 그래서 당신은 가능한한 그것을 없애기를 원할 것이다. 하지만 이보다 더 중요한 것은, 이러한 임시 객체의 발생에 부분에 대한 통찰력을 기르는 것이다. reference-to-const(상수참조)를 사용한때는 임시 객체가 인자로 전달될수 있는 가능성이 존재 하는 것이다. 그리고 객체로 함수 값을 반환 할때는 임시 인자(temporary)는 아마도 만들어질것이다.(그리고 파괴되어 진다.) 그러한 생성에 대해 예측하고, 당신이 "behind the scences"(보이지 않는 부분) 에서의 컴파일러가 지불하는 비용에 대한 눈을 배워야 한다.
         컴파일러가 임시 인자들에 대한 비용 을 제거할수 있는 그런 방법이라면, 객체를 반환하는 함수 작성에 대해서는 가능할 것이다. 만약 객체 대신에 생성자 구문을 써넣어버리는 트릭(trick)이라면 말이다. 그리고 다음과 같이 할수 있다.
         이러한 지역 객체 대신의 생성자 구문을 반환하는 작업은 당신에게 더 많은걸 요구한다. 왜냐하면 당신은 아직 임시 객체에 대한 생성과 파괴에 대한 비용을 가지고 있고, 당신은 함수의 반환 객체들의 생성, 파괴에 대한 비용을 지불해야 하기 때문이다. 그렇지만 당신은 몇가지를 얻을수 있다. C++의 규칙은 컴파일러들이 임시 객체를 최적화 시키도록 한다. 결론적으로, 만약 당신이 operator*의 구문이 이것고 같다면,
         당신의 컴파일러는 operator*내부의 임시 인자를 없애고 그 임시 인자는 operator*에 의하여 반환 된다. 그들은 객체 c를 메모리에 할당하는 코드에 대하여 return 표현에 의해 정의된 객체를 생성한다. 만약 당신의 컴파일러가 이렇게 한다면 operator*에 대한 임시 객체의 총 비용은 zero가 된다. 게다가 당신은 이것보다 더 좋은 어떠한것을 생각할수 없을꺼다. 왜냐하냐면 c가 이름 지어진 객체이고, 이름 지어진 객체는 사라지지 않기 때문이다.(Item 22참고). 거기에 당신은 inline함수의 선언으로 operator*를 부르는 부하 까지 없앨수 있다.
         "내~ 내" 하고서 당신은 궁시렁 거릴꺼다. "최적화라..바보 짓이지. 누가 컴파일러가 그렇게 할수 있다고 하는거지? 나는 정말 컴파일러가 저렇게 하는지 알고 싶은데. 진짜 컴파일러가 저런 일을 하는거 맞아?" 이렇게 말이다. 이러한 특별한 최적화-함수의 반환 값을 가능한한 지역 임시 객체가 사용되는 것을 제거해 버리는것-는 유명한 것이고, 일반적으로 구현되어 있다. 그것은 이렇게 이름 붙여진다.:thr return value optimization. 사실 이런 최적화에 대한 이름은 아마 많은 곳에서 설명되어 질꺼다. 프로그래머는 C++컴파일러가 "return value optimization"을 할수 있는지 벤더들에게 물어 볼수도 있을 정도다 만약 한 벤더가 "예"라고 하고 다른 곳은 "뭐요?" 라고 묻는다면 첫번째 벤더는 당근 경쟁력에서 앞서 가는거다. 아~ 자본주의 인가. 때론 당신은 그걸 좋아 할꺼다.
         컴파일러가 수행해주는 이런 종류의 변환은 참 편하다. 그렇지만 이런 변환에 의해 생성되는 임시 객체는 우리가 바라지 예상하지 않은 비용을 발생시킨다. 많은 사람들은 단지, 이러한 작업에 대하여 아무런 비용을 지불하지 않기를 바라는것 처럼 대다수 C++ 프로그래머들도 암시적 형변환이 비용에 아무런 영향을 끼치지 않기를 원한다. 그렇지만 이런 계산없이 과연 어떻게 수행할수 있을까?
         이런 템플릿은 거의 위의 코드와 동일해 보이지만 결정적인 차이점이 있다. 바로 두번째의 탬플릿은 result인 '''이름을 가지는''' 객체를 포함한다는 것이다. 이런 이름 있는 객체가 있다는 사실은 최근에 구현된 '''반환 값 최적화'''(return value optimization, Item 20참고)가 operator+에 대하여 작동할수 없다는 것을 의미한다. 두가지중 첫번째 것은 항상 '''반환 값 최적화'''(return value optimization)을 수행하기에 적당하다 그래서 당신이 사용하는 컴파일러가 더 좋은 코드를 만들어낼 가능성이 존재 한다.
         이런 코드는, 대다수의 컴파일러들이 '''반환 값 최적화'''를 수행하는 것 보다 처리하기 더 까다롭다. 처음에 우리는 함수 안에서 단지 당신이 이름 지어진 result을 사용하기 위해 객체에 대한 비용을 지불해야 된다. 이름 지어지지 않은(없는) 객체가 이름 지어진 객체들 보다 더 제거하기 쉬운것은 사실이다. 그래서 이름 지어진 객체와 이름 지어지 않은(없는 ) 객체를 선택하 상황이 주어진다면 당신은 아마 임시 인자들을 사용을 선택하는 것이 더 좋은 방법이다. 그것은 특별히 오래된 컴파일러가 아닌 이상은 결코 이름 지어진 녀석들보다 더 많은 비용을 지불하지 않는다.
  • 새싹교실/2011/무전취식/레벨8 . . . . 37 matches
          * 파일 입출력 : 파일 포인터를 이용해서 파일을 받아옵니다. 엽니다. 임시저장소에 넣엇다가 출력합니다. 파일을 닫습니다.
          printf("파일 안열렸음!!");
          * 왜 4번이 실행됬을까? => 파일포인터가 가르키는 파일 구조(struct)안에 답이있다 => 파일을 얼마나 읽었는지 저장하기때문이다.
         이소라 : 파일입출력을 처음 봤어요. 네.. 그걸 포인터로 쓰는지도 몰랐어요 잘 배웠어요. 근데 담주에 못할것 같아요.
         서원태 : 파일입출력을 봣는데 해보면 재밌을것 같다. 근데 구조체가 이해가 안되요. 포인터배열이랑 배열포인터랑 차이점이 뭔가요?
         강원석 : 파일입출력을 포인터로 배웠는데 포인터를 처음부터 배워야할것 같아요. 포인터랑 Array도 그렇고 할것이 많네요
          * Ice Breaking이 날이갈수록 흥미진진한 얘기가 나옵니다. 재밌네. 오늘은 복습을 좀 많이 했죠. 기초가 중요한겁니다 기초가. pointer도 쓰는법은 생각보다 간단하지. 간단한 파일입출력도 해봤고. 정말 정말 잘하고있어. 수업태도도 나아지고있고. 이제 앞으로 나머진 들러리지만 알아두면 좋을 팁이라고 생각합니다. 하지만, 앞에서 배운 많은 개념을 잊어먹은것 보니까 이건 사태의 심각성이 있네 역시 복습하길 잘했어. 그리고 winapi사이트좀 자주가. 거긴 볼것이 많아. 그리고 후기좀 자세히봐=ㅂ= 후기쓸때도 그날 배운것 배껴서라도 올려내고!! - [김준석]
          * 훗 1등. 지난주에 못와서 복습을 했어도 좀 아리까리 하네요. array쪽부터 차근차근 다시 복습을 해봐야 할것 같습니다. 오늘 파일 입출력을 배웟는데 신기했어요. 저런걸 pointer로 하는지는 몰랐는데.... 그리고 구조체에 대해서 간단하게 배웠어요. 앞으로 계속해서 저랑 마주하게 될 아이들이니깐 열심히 공부해야 할것 같아요. - [강원석]
          * 오.. 1등 ㅊㅋㅊㅋ. 기특하군 새벽에 메신저에 있는거보니 뭐하는진 모르겠지만. 재밌길. 파일pointer가 좀 신기하긴 하지 사실 난 저걸 배울때 그냥 문법으로 알았는데 생각해보면 pointer라는것을 깨달은게 정말 오래걸렸달까? 구조체는... 나중에 진화한단다 그걸 위해서 고생좀 해봐야지. 그래 우리가 앞으로 더욱 레벨업된 몬스터를 상대하게 될꺼야. - [김준석]
          * 파일 입출력을 처음 보게되었는데 어려워도 해보면 정말 재미있을것 같아요. 여태 많이 봐왔던 파일들의 위치를 나태내어주던(주소창에 막 써졌던 것들)것에 대해 오늘 배운 파일 입출력에서 실체를 알게되었습니다ㅋ 포인터는 정말 중요한것 같아요. 반드시 여러번 이용해보면서 포인터에대해 익숙해 져야겠습니다. 그리고 저도 C관련 책을 하나 구해서 따로 자습을 해야 할것 같아요. - [서원태]
          * 파일 입출력 처음 배웠습니다! 완전히 처음봤어요. 근데 html인가? 하여튼 웹프밍배울때 배웠던 파일입출력이랑 조금 비슷한 것 같아요. fgets는 이해 안가요 ㅠㅠ 왜 저렇게되는지 모르겠어요 흑흑. 수업은 파일입출력까지 안나가겠지만 그래도 확실히 알아두고싶습니다+_+ 오빠 월요일에 안가서 죄송해요..헤헷.. @>----- 꽃...하핳... 그래도 오빠한테 항상 감사하고있어용♥ 앞으로도 잘부탁드려용 -[이소라]
          * 아이고 그래도 소라가 이쁜짓 하는구나 꽃 잘받음. html일때 파일입출력 해봤다니. 그말은 안했잖아!! 뭐 여튼.. 이번 기회에 4년동안 확실히 프밍할 기반을 잡았으면 좋겠다. 더욱 열심히 노력할께. - [김준석]
          * 파일 입출력...을 배웠지요 저 나름 열심히 쳐다봤는뎅 잘 모르겟네욧.. 구조체란 것도..너무 생소 해요!! fgets도 ㅠㅠ 으아아악 모르는거 투성이가 나와버렸어요@.@ 제눈은 빙글 빙글..ㅋㅋ 음 저도 왠지 고등학교 때 html 잠깐 아주 조금 배웠었는데 이런것 한 것 같기두 해용..히히 저도 죄송하여요 선생님♥..오빠가 없었다면 전 C 찌질찌질 왕찌질이 였을꼽니당...ㅎㅎ 근데 지금 포인터때매 너무 혼란하네용 더 알려주세요>.< 복..습도 할꼽니당!! -[이진영]
          * 우왕=ㅂ= 귀엽게 써주었네~! 진영이 너무 귀엽다 ㅠㅠ 파일 입출력은 다음시간에 복습할겁니다. 이렇게 한번씩 생각해본다니 신난다!! 뭘해볼까!? 빠지지 말고 와야되요!!! 그리고 포인터에 대한 질문 고마워요. 뒤에 또 다시 복습 하겠습니다. 포인터는 중요하고 중요하고 중요한것이니까요. 아싸 신난다~! - [김준석]
  • EffectiveC++ . . . . 33 matches
         ASPECT_RATIO는 소스코드가 컴파일로 들어가기 전에 전처리기에 의해 제거된다.[[BR]]
         define 된 ASPECT_RATIO 란 상수는 1.653으로 변경되기때문에 컴파일러는 ASPECT_RATIO 란것이 있다는 것을 모르고 symbol table 에?들어가지 않는다. 이는 debugging을 할때 문제가 발생할 수 있다. -인택
         삭제하려고 하며, 베이스 클래스는 가상 소멸자를 가지고 있지 않은 경우. 그 결과는 정의되어 있지 않다. 이것은 컴파일러로 [[BR]]
         치환의 오른쪽 부분이 String형이 아니라 char *형이기 때문에 컴파일러는 String의 생성자를 통해 임시 String객체를 만들어서 호출을 한다. 즉, 아래와 같은 code를 생성한다.
         컴파일러는 위와 같은 임시 객체를 만들려고 하지만, 임시 객체가 const라는 것에 주의. 그리고, operator=의 리턴형을 보면 String에 대한 레퍼런스를 돌려주기 때문에 리턴형이 일치하지 않게 된다. 그래서, error를 발생시킨다. 만약 error를 발생 시키지 않는다면, operator=이 호출되는 측에서 제공된 인자가 아니라 컴파일러가 발생시킨 임시 변수만 수정된다는 것에 놀랄것이다. --;[[BR]]
         그런데, 왜 최소한인가? 여러가지 일을 할수 있는 멤버 함수들을 계속 추가해 나가면 안되는 것인가? 대답은 안된다. 왜 안되는 것일까? 당신은 멤버 함수가 10개 있는 클래스와 100개가 있는 클래스중 어떤것이 이해하기 쉽다고 생각하는가? 나 만 쓰려는 클래스가 아닌이상 다른 사용자들이 쉽게 이해 할수 있도록 만들어야 하지 않겠는가? 그렇기 때문에 최소한의 인터페이스를 추구하는 것이다. 그리고, 관리적인 면에서 볼때 적은 함수들을 가진 클래스가 용이하다는 것이다. 중복된 코드라던지 아니면 개선할 것들을 향후에 하기 쉽다는 것이다. 또한, document를 작성한다 든지 할때 적은 멤버 함수들을 가진 클래스 쪽이 용이하다는 것이다. 마지막으로 아주 긴 클래스 정의는 긴 헤더 파일을 초래 한다. 일반적으로 헤더 파일들은 프로그램이 컴파일될 때마다 매 번 읽혀져야 하기 때문에 필요 이상 긴 클래스 정의는 프로젝트 주기 중의 총 컴파일 시간을 갉아 먹는다. 그런 이유들 때문에 최소한의 클래스 인터페이스를 추구하는 것이 좀더 나은 판단이라는 것이다.
         컴파일이 된다는 점에서 애매모호성라고 할수 있으나 해결하는데 비용이 많이 든다.
          * 요즘 컴파일러는 대충 이정도는 알아서 해주지 않나요?;;
         이것 말고도 인라인 함수의 함수포인터를 취할 때 컴파일러에 따라 파일마다 정적 복사본을 생성시킬수도 있다.
          * 생성자와 소멸자는 인라인으로 사용해서는 안된다. 이는 컴파일러구현자가 때에 따라 생성자와 소멸자에 보이지않는 코드부분을 포함할 수도 있기 때문이다.
         === 항목 34. 파일간의 컴파일 의존성(dependency)을 최소화하라. ===
         파일 한부분을 수정하고 다시 컴파일을 시도 했을때 모든 파일을 다시 컴파일하고 링크하고 실행하는 경험을 한번쯤은 해보았으리라 생각한다.
         이와 같이 파일간의 의존성으로 인해 너무 많은 컴파일 시간을 잡아먹는것은 시간낭비이고 사람에 따라 매우 짜증나는 일이다.
         이번 항목은 몇가지 방법으로 파일간의 의존성을 줄이는 방법을 제시한다.
         전방 참조를 함으로 헤더부분에서는 외부 클래스의 내용을 사용하지 않아 더 이상의 무의미한 컴파일의 연결고리를 끊을수 있다.
         프로토콜 클래스는 인터페이스를 사용한다. 추상화된 인터페이스만 만들어 헤더에 포함시키는 방법으로 파일간의 의존성을 약화시킨다.
         === 항목 46. 실행 시간 에러보다는 컴파일 시간과 링크 시간 에러가 좋다. ===
         C++은 컴파일되는 언어로 실행시간에는 에러를 탐지하지 않는다.
         그 대신 빠른 수행시간의 이익이 있고 실행 시간의 에러를 예방하기 위해서 컴파일 시간과 링크 시간에 위험을 제거하도록 해야 된다.
         이와 같은 방법으로 Month는 실행시간에 검사를 해야 할 내용을 컴파일 시간으로 옮길수 있다.
  • ViImproved/설명서 . . . . 31 matches
         ▶파일 데이터 파일 응용 프로그램의 데이터(binary)
          텍스트 파일 응용 프로그램의 source data 또는 문서화된 파일(ASCII)
         ▶.exrc 파일 설 정 vi가 시작할 때 자동적으로 읽어 들임 vi입력 모드에 쓰이는 모든 명령어와 vi환경 설정인 set 에 대한 정보를 가지고 있다 만약 .exrc파일이 없으면 모든 set값은 default로 설정됨
          쉘스크립트 파일 안에 존재하는 쉘 명령의 집합
         파일 조작(↓: CR)
          ZZ (=:wq) 파일이 수정된 경우는 그 파일에 쓰고 종료 수정이 없으면 그대로 종료
          :w <file>↓ 파일 name에 써넣기
          :w! <file>↓ 파일 name에 겹쳐 써넣기
          :q!↓ 파일변경 내용을 무시한채 vi종료 및 시스템으로
          :e <file>↓ 새로운 파일의 편집
          ^G 현재의 파일과 행의 표시
          :f<ESC> 파일은?
          다중 파일편 집
          $vi A B C D 4개의 파일(A B C D)을 순서대로 작업할 수 있다
          :n 다중화일 편집시 지정한 화일중 현재 파일의 다음 파일로 이동
          파일 복구
          $vi -r 화일명 시스템이 불시에 꺼졌거나(인터럽 발생시), 저장을 하지 않고 나왔을 때 파일의 변경 내용을 복구함
          1G 파일의 처음 행의 첫번째 문자로 이동
          nG 파일의 n번째 행의 첫번째 문자로 이동
          dG 현재 행으로부터 파일의 끝까지 모든 행을 지운다
  • 새싹교실/2012/세싹 . . . . 31 matches
          4) 만들어진 ubuntu 실행 -> 설치 미디어로 ISO파일 마운트 -> 설치
          * gcc로 hello world를 컴파일 해보았습니다.
          4) terminal 실행 -> .c 파일이 있는 경로로 이동 (ls와 cd를 이용합니다.)
          5) gcc로 컴파일을 합니다. (gcc 파일명.c -o 원하는파일명 -std=c99) 해당 예제외에 추가로 여러 옵션을 줄수 있습니다.
          6) 컴파일파일을 실행합니다. (./파일명)
          1) virtual box로 linux 설치 후 hello world 작성하고 컴파일하여 스크린샷을 강사 메일로 보내주세요.
          * 숙제를 수행하기 위해 버추얼 박스를 설치하였습니다. 설치파일이 정상적으로 실행 않는 문제가 있었는데 인터넷으로 강제 압축해제하는 방법을 듣고 7z으로 압축을 해제하는 방법으로 해결하였습니다. 데몬이 없어 iso파일도 7z으로 풀었습니다. - [김희성]
          * 어... iso파일을 풀필요없이 버추얼박스에서 바로 마운트시키는건데.. 제대로 설치됬어? - [정의정]
          * 그리고 실패하였습니다. 7z 젠장... 여러단계를 한번에 풀어주는거 같군요. 메뉴얼을 읽어보니 cmd로 풀라고 합니다. 시키는데로 하니 msi 파일이 나오는군요. -[김희성]-
          1) gcc 컴파일 옵션이 어려웠습니다. - gcc 컴파일 옵션의 대부분은 컴파일에 크리티컬한 것이 아니라 사용자에게 정보를 제공하는 것이 목적입니다. 그냥 안써도 되요 :D
          - 는 훼이크고 :P 간단히 설명하면 서버와 클라이언트가 byte stream을 주고 받는 것을 마치 파일 입출력을 하듯 해주는 것입니다.
          || 파일입출력 || 소켓 ||
          || 파일구조체생성 || 소켓 생성 ||
          * 컴파일이 안되서 인터넷으로 확인해보니 다중 스레드를 쓰려면 gcc에 옵션 -lpthread를 주어야하는군요. - [김희성]
          * 데이터 처리에 대하여 좀 더 검색하였는데 기본적으로 send된 정보는 버퍼에 계속 쌓이며, recv가 큐처럼 버퍼를 지우면서 읽는다고 되어있었습니다. 반면 read와 같은 파일포인터 함수로 읽으면 버퍼를 지우지않고 파일포인터만 이동하는 것 같더군요. recv도 옵션을 변경하면 버퍼에 계속 누적해서 보관할 수 있는거 같습니다.
          U32 ClustersPerFileRecord; // 파일 레코드당 클러스터수
          ReadFile은 파일포인터를 읽은 만큼 옮기던데 ReadSector에서는 옮긴 지점부터 섹터 단위로 세어서 읽는 건가요? 아니면 처음부터 다시 세어 읽는건가요? - [김희성]
          * 함수를 반복해서 실행해 보았는데 읽는 위치가 같은 걸 보아, 파일 처음 부분부터 단위를 세는 것이군요. - [김희성]
          * 파일 속성들을 읽는데 성공하였습니다.(2012/04/13/01:44)- [김희성]
          * HxD라는 헥스에디터가 있습니다. 4기가 바이트이상의 파일을 열수 있고 최대 8엑사 바이트까지 열 수 있다고 합니다. 그리고 가장 중요한 건 프리웨어네요.
  • CToAssembly . . . . 30 matches
         마이크로컴퓨터 시스템의 구성요소가 무엇인가? 마이크로컴퓨터 시스템은 마이크로프로세서 장치 (microprocessor unit, MPU), 버스 시스템, 메모리 하위시스템, 입출력 하위시스템, 모든 구성요소들간의 인터페이스로 구성된다. 전형적인 대답이다.
         기계어 프로그램은 컴퓨터가 이해하고 직접 실행할 수 있는 프로그램이다. 어셈블리어 명령어는 기계어 명령어와 보통 일대일 관계로 대응하지만, 우리가 쉽게 이해할 수 있는 문자열을 사용한다. 고급언어 명령어는 영어에 매우 가까워서 프로그래머가 생각하는 방식과 자연스럽게 대응한다. 결국 어셈블리어나 고급언어 프로그램은 변환기라는 프로그램에 의해 기계어로 변환되야 한다. 이 변환기를 각각 어셈블러(assembler), 컴파일러(compiler) 혹은 인터프리터(interpreter)라고 한다.
         C/C++같은 고급언어의 컴파일러는 고급언어를 어셈블리코드로 변환할 수 있다. GNU C/C++ 컴파일러의 -S 옵션은 프로그램 소스에 해당하는 어셈블리코드를 생성한다. 반복, 함수 호출, 변수 선언과 같은 기본적인 구조가 어셈블리어로 어떻게 대응하는지 알면 C 내부를 이해하기 쉽다. 이 글을 이해하기위해서는 컴퓨터구조와 Intel x86 어셈블리어에 익숙해야 한다.
         먼저 hello world를 출력하는 간단한 C 프로그램을 작성하고, -S 옵션으로 컴파일한다. 입력파일에 대한 어셈블리코드를 얻을 수 있다. GCC는 기본적으로 확장자 `.c'를 `.s'로 변경하여 어셈블러파일명을 짓는다. 어셈블러파일 끝의 몇줄을 해석해보자.
         80386 이상 프로세서에는 많은 레지스터와 명령어, 주소지정방법이 있다. 그러나 간단한 명령어 몇개만 좀 알아도 GNU 컴파일러가 만드는 코드를 충분히 이해할 수 있다.
         목록 1은 first.s 파일에 저장한 우리의 첫번째 어셈블리어 프로그램이다.
         cc first.s 명령어를 실행하면 이 파일을 어셈블하고 링크하여 a.out을 만든다. GNU 컴파일러 앞단 cc가 `.s' 확장자를 어셈블리어 파일로 인식하여, 컴파일단계를 생략하고 어셈블러와 링커를 부른다.
         함수로 파라미터를 전달하기위해 스택을 사용할 수 있다. 우리는 함수가 eax 레지스터에 저장한 값이 함수의 반환값이라는 (우리가 사용하는 C 컴파일러의) 규칙을 따른다. 함수를 호출하는 프로그램은 스택에 값을 넣어서 함수에게 파라미터를 전달한다. 목록 5는 sqr이라는 간단한 함수로 이를 설명한다.
         목록 6은 C 프로그램과 어셈블리어 함수를 보여준다. 파일 main.c에 C 함수가 있고 sqr.s에 어셈블리어 함수가 있다. cc main.c sqr.s를 입력하여 파일들을 컴파일하고 같이 링크한다.
         나는 이 글이 gcc가 만드는 어셈블러 출력을 이해하기에 충분하길 기대한다. 목록 8은 gcc -S add.c로 만든 파일 add.s를 보여준다. add.s를 편집하여 많은 (대부분 정렬(alignment) 등의 목적의) 어셈블러 지서어를 삭제하였음을 밝힌다.
         문장 foo: .long 10은 foo라는 4 바이트 덩어리를 정의하고, 이 덩어리를 10으로 초기화한다. 지시어 .globl foo는 다른 파일에서도 foo를 접근할 수 있도록 한다. 이제 이것을 살펴보자. 문장 int foo를 static int foo로 수정한다. 어셈블리코드가 어떻게 살펴봐라. 어셈블러 지시어 .globl이 빠진 것을 확인할 수 있다. (double, long, short, const 등) 다른 storage class에 대해서도 시도해보라.
         명령어 cc -g fork.c -static으로 프로그램을 컴파일한다. gdb 도구에서 명령어 disassemble fork를 입력한다. fork에 해당하는 어셈블리코드를 볼 수 있다. -static은 GCC의 정적 링커 옵션이다 (manpage 참고). 다른 시스템호출도 테스트해보고 실제 어떻게 함수가 동작하는지 살펴봐라.
         Asm 문장은 프로그램이 컴퓨터 하드웨어에 직접 접근하게 한다. 그래서 빨리 실행되는 프로그램을 만들 수 있다. 하드웨어와 직접 상호작용하는 운영체제 코드를 작성할때 사용할 수 있다. 예를 들어, /usr/include/asm/io.h에는 입출력 포트를 직접 접근하기위한 어셈블리 명령어가 있다.
         다음과 같이 최상의 최적화로 두 코드를 컴파일한다:
         컴파일러가 asm의 의미를 모르기때문에 asm을 사용하면 컴파일러의 효율성을 제한할 수 있다. GCC는 어떤 최적화를 막을 수 있는 보수적인 추측을 하게 된다.
         여러 작은 C 프로그램을 (-O2 같은) 최적화 옵션을 주고 또 안주고 컴파일해보라. 결과 어셈블리코드를 읽고 컴파일러가 사용한 공통된 최적화 기법을 찾아라.
         인라인 asm 문장이 있는 여러 작은 C 프로그램을 컴파일해보라. 이런 프로그램의 어셈블리코드에는 무슨 차이가 있는가?
         이 프로그램을 cc -S myprint.c로 컴파일하고 어셈블리코드를 해석하라. 또, 명령어 cc -pedantic myprint.c로 프로그램을 컴파일해보라. 무엇이 보이는가?
  • STLErrorDecryptor . . . . 30 matches
         VC++를 가지고 STL 프로그래밍을 하시는 분들이 가장 많이 느끼는 불편함(어느 플랫폼이나 마찬가지이지만)중 하나가 바로 "'''에러 메시지에 나타나는 STL 컴포넌트가 무엇인지 도통 모르겠다'''"라는 점일 겁니다. 이는 컴파일러가 STL 템플릿을 인스턴스화할 때 타입 매개 변수가 모두 포함된 상태로 전체 이름을 써 버리기 때문에 STL 책에 나오지도 않는 클래스 이름과 템플릿 이름 등이 마구 튀어나옴은 물론이거니와, 인스턴스화한 클래스 이름 자체가 엄청나게 길어져서, 코드 한 줄에 대한 에러 메시지가 수십 여 줄까지 만들어지는 현상이 일어나지요.
         이러한 현상은 이펙티브 STL의 항목 49에서도 다루어진 이야기입니다. 원저자는 "많이 읽어서 익숙해져라"라는 결론을 내리고 있지만, 이 문제를 도구적으로 해결한 방법도 있다는 언급도 하고 있었죠. 여기서 이야기하는 [http://www.bdsoft.com/tools/stlfilt.html STL 에러 해독기](이하 해독기)가 바로 그것입니다. 이 도구는 VC 컴파일러가 출력하는 에러 메시지를 가로채어 STL에 관련된 부분을 적절하게 필터링해 줍니다.
         가) 여느 개발도구와 마찬가지로 VC의 IDE는 그 자체에 빌드용 장치(컴파일러와 링커)를 내장하고 있지 않고, 외부에 있는 컴파일러와 링커를 실행해서 프로그램을 빌드합니다. 컴파일러와 링커의 출력 결과는 실제로 콘솔로 빠져 나오는 출력이지만, 네임드 파이프(named pipe)란 것을 통해 VC의 IDE로 다시 들어가 '''출력(output)''' 윈도우에 디스플레이되는 것입니다.
         컴파일을 맡은 프로그램은 CL.EXE란 것인데, 이 프로그램은 C/C++컴파일러(C2.DLL+C1XX.DLL)를 내부적으로 실행시키는 프론트엔드의 역할만을 맡습니다. VC IDE는 컴파일시 이 프로그램을 사용하도록 내정되어 있습니다.
         나) '''원래의 C/C++ 컴파일러를 작동시키되 그 결과를 필터링해주는 기능이 추가된 프론트엔드를 CL.EXE이란 이름으로 행세(?)'''하게 하면, VC의 IDE나 기존의 개발환경에 전혀 영향을 주지 않고 필터링만 할 수 있게 될 겁니다. 해독기 패키지에는 이런 CL.EXE가 포함되어 있습니다. 이것을 "프록시(proxy) CL"이라고 부릅니다.
          * CL2.EXE가 내는 컴파일 결과를 에러 필터 스크립트에 파이프(pipe)를 통해 통과시킴
          * 에러 필터 스크립트는 자신이 받은 컴파일 결과를 필터링하여 다시 VC의 IDE로 전송
         라) 꼭 알고 있어야 하는 파일만 간단히 설명하면 다음과 같습니다. 일단 훑어만 보시죠.
          * Proxy-CL.INI : 프록시 CL이 작동하는 환경을 제공하는 INI 파일.
          * '''STLfilt.pl : 컴파일러의 출력 결과를 필터링 해주는 펄 스크립트.이 파일의 위치를 잘 기억해두세요.'''
         다) 이젠 프록시 CL의 동작에 필요한 환경 옵션을 제공하는 Proxy-CL.INI 파일을 여러분의 개발환경에 맞게 고쳐야 합니다. 텍스트 편집기로 Proxy-CL.INI를 열면 아래의 [common], [proxy.cl], [stltask.exe] 부분이 모두 비어 있는데, 윗부분의 주석문을 참고하면서 환경 변수를 고쳐줍니다. 반드시 설정해야 하는 옵션은 다음과 같습니다.
          * FILTER_SCRIPT : 필터링 펄 스크립트(STLfilt.zip)의 전체 경로. 반드시 파일 이름까지 써 주어야 합니다.
          * TOGGLE_FILE : 필터링 활성화를 토글링하는 파일이 위치할 디렉토리. 생각할 시간 없는 분은 STLfilt.zip의 압축을 푼 위치로 정해주세요.
          * PERL_EXE : 펄 스크립트 인터프리터(PERL.EXE)의 전체 경로. 역시 파일 이름까지 써 주세요.
          * CL_DIR : VC의 컴파일러 프론트엔드인 CL.EXE가 위치한 디렉토리. 이 부분을 지정하지 않으면 해독기 컨트롤러가 제대로 작동하지 않습니다.
         아래의 그림은 저의 Proxy-CL.INI 파일입니다.
         라) 이렇게 편집한 Proxy-CL.INI를 윈도우 디렉토리에 복사합니다. 윈도우 디렉토리란 윈도우 98/ME 등에선 \WINDOWS이겠고, 윈도우 NT/2000/XP 등에선 \WINNT 이겠지요. 즉 운영체제와 프로파일 파일들이 들어 있는 곳입니다. 프록시 CL은 기본적으로 이 윈도우 디렉토리에서 읽은 Proxy-CL.INI을 가지고 동작 옵션을 정합니다.
          string s(10); // 컴파일 에러를 일으키는 문장, 하나의 매개 변수를 받는 string 생성자는 할당자만을 받습니다.
         나) Build나 Complie 명령을 내려서 이 소스를 컴파일해 봅시다.
         -> STL 필터링이 활성화되어 있지 않았을 때의 컴파일 결과(VC++.NET의 경우)는 다음과 같습니다. 절망적인 암호가 널브러져 있음을 알 수 있습니다.
  • 작은자바이야기 . . . . 30 matches
          * 입출력과 네트워크
          * 제가 "원래 모든 함수가 static"이라는 의미로 말한건 아닌데 오해의 소지가 있었나보군요. 사실 제가 설명한 가장 중요한 사실은 말씀하신 예에서 object의 컴파일 타입의 method() 메서드가 가상 메서드라면(static이 아닌 모든 Java 메서드), 실제 어떤 method() 메서드를 선택할 것이냐에 관한 부분을 object의 런타임 타입에 의한다는 부분이었지요. 그러니까 object는 컴파일 타입과 동일하지 않은 런타임 타입을 가질 수 있으며, 다형성의 구현을 위해 implicit argument인 object(=this)의 런타임 타입에 따라 override된 메서드를 선택한다는 사실을 기억하세요. (Python에선 실제 메서드 내에서 사용할 formal parameter인 self를 explicit하게 선언할 수 있다고 보면 되겠지요.) - [변형진]
          * 지난시간에 이은 Inner Class와 Nested Class의 각각 특징들 Encapsulation이라던가 확장성, 임시성, 클래스 파일 생성의 귀찮음을 제거한것이 새로웠습니다. 사실 쓸일이 없어 안쓰긴 하지만 Event핸들러라던가 넘길때 자주 사용하거든요. {{{ Inner Class에서의 this는 Inner Class를 뜻합니다. 그렇기 때문에 Inner Class를 포함하는 Class의 this(현재 객체를 뜻함)을 불러오려면 상위클래스.this를 붙이면 됩니다. }}} Iterator는 Util이지만 Iterable은 java.lang 패키지(특정 패키지를 추가하지 않고 자바의 기본적인 type처럼 쓸수있는 패키지 구성이 java.lang입니다)에 포함되어 있는데 interface를 통한 확장과 재구성으로 인덱스(index)를 통한 순차적인 자료 접근 과는 다른 Iterator를 Java에서 범용으로 쓰게 만들게 된것입니다. 예제로 DB에서 List를 한꺼번에 넘겨 받아 로딩하는것은 100만개의 아이템이 있다면 엄청난 과부하를 겪게되고 Loading또한 느립니다. 하지만 지금 같은 세대에는 실시간으로 보여주면서 Loading또한 같이 하게 되죠. Iterator는 통해서는 이런 실시간 Loading을 좀더 편하게 해줄 수 있게 해줍니다. 라이브러리 없이 구현하게 되면 상당히 빡셀 것 같은 개념을 iterator를 하나의 itrable이란 인터페이스로 Java에서는 기본 패키지로 Iterable을 통해 Custom하게 구현하는 것을 도와주니 얼마나 고마운가요 :) 여튼 자바는 대단합니다=ㅂ= Generic과 Sorting은 다른 분이 설명좀. - [김준석]
          * Maven - 의존성(dependency)을 관리해 주는 툴. pom.xml에 프로젝트의 의존성 관련 정보를 적으면 저장소(repository)에서 관련 라이브러리 파일들을 받아서 빌드에 포함시켜 준다.
          * 라이브러리 파일(jar) 만들기(Run as -> Maven Install) - ObjectMapper를 라이브러리와 클라이언트 프로젝트로 분리.
          * Windows7 기준으로 [사용자이름]\.m2\[groupid]\[artifactid] 폴더에 jar 파일을 만들어 준다.
          * resources - src/main/resources 설정파일 등을 target/classes로 전달. javac를 사용하지 않는다.
          * mvn compile - src/main/java에 있는 소스파일을 컴파일해서 .class를 만들어 target/classes로 보낸다.
          * test-resourecs - src/test/resources의 설정파일 등을 target/test-classes로 전달.
          * mvn test - 컴파일을 하고 나서 src/test/java를 컴파일해서 target/test-classes로. @Test 실행 <scope>가 언제 사용되는지 결정
          * mvn package - 패키징. pom.xml의 <packaging>에 따른 파일 생성. 기본은 jar파일 생성.
          * mvn install - 패키징된 파일, pom을 .m2/repository에 집어넣는다.
          * mvn deploy - 리모트 리포지터리에 라이브러리 파일을 배포.
          * driver의 설정에서 new com.mysql.jdbc.Driver(); 대신 볼 수 있는 Class.forName("com.mysql.jdbc.Driver"); 이러한 코드는 컴파일 타임 종속성을 런타임 종속성으로 바꾼 것이다.
          * servlet의 war(web archive)파일을 넣어주면 tomcat내부의 watcher가 war파일의 정보를 읽어서 추가된 클래스를 동적으로 로딩해 준다.
          * war : src/main에 있는 webapp 폴더 내부에 있는 파일이 root로 오게 된다.
          * 소스 코드의 컴파일 과정에서 load 과정에 해당하는 기술.
          * .java 파일에는 클래스 내에 native modifier를 붙인 메소드를 작성하고, .c, .cpp 파일에는 Java에서 호출될 함수의 구현을 작성한다. 이후 System.loadLibrary(...) 함수를 이용해서 .dll 파일(Windows의 경우) 또는 .so(shared object) 파일(Linux의 경우)을 동적으로 로드한다.
          * 라이브러리 파일의 함수는 특정한 naming convention을 지켜서 작성해야 하고, 인자도 반드시 몇몇 정해진 인자들을 받아야 한다. 또한 Java와 타입을 호환시키기 위해 C, C++에서 특정한 구조체들을 사용해야 한다. 해당 구조체들은 jni.h에 정의되어 있다.
          * 실제 사용하기에는 naming convention을 지켜서 함수를 작성하기는 귀찮기 때문에 native를 가진 .class 파일을 javah에 넣으면 convention을 지킨 .h 파일을 만들어 준다.
  • Java Study2003/첫번째과제/장창재 . . . . 29 matches
          자바 언어(Java Language)를 이용하여 작성한 자바 프로그램(Java Program)은 자바 컴파일러(Java Compiler)를 이용하여 자바 바이트코드(Java Byte code)로 컴파일 되고, 이 자바 바이트코드는 자바 가상머신에 의해 해석되어 실행되는데, 이때 자바 가상머신은 자바 바이트코드에 대한 해석기 즉 인터프리터(interpreter)로 동작하게 됩니다. 이렇게 자바 프로그램은 컴파일 방식 및 인터프리터 방식이 모두 적용된다는 것입니다.
          자바 컴파일러(Java Compiler):
         자바 언어로 작성된 자바 프로그램을 중간 언어(intermediate language) 형태인 자바 바이트코드로 컴파일 합니다<.
         컴퓨터는 각 CPU에 따라 서로 다른 기계어를 갖습니다. 이러한 이유 때문에 도스 또는 윈도우 95/98/NT 등이 설치되어 있는 컴퓨터에서 실행되는 프로그램이 유닉스가 설치되어 있는 컴퓨터에서는 실행되지 않는 것입니다. 그러나, 자바 바이트코드는 이러한 플랫폼에 상관없이 자바 가상머신에 의해 실행될 수 있도록 정의된 중간코드입니다. 따라서, 자바 바이트코드로 컴파일 되기만 하면, 자바 인터프리터인 자바 가상머신이 설치되어 있는 곳이면 어디에서든 실행시켜 줄 수 있습니다. 이는 자바 개발자 또는 사용자로 하여금 자바 프로그램을 개발하거나 사용할 때 그 플랫폼이 윈도우 95/98/NT, 유닉스, 또는 매킨토시인지 전혀 신경 쓰지 않아도 되도록 합니다.
         자바 바이트코드는 자바 가상머신에서 실행되는 기계어라고 생각하면 됩니다. 그리고, 모든 자바 인터프리터는 자바 가상머신을 구현해 놓은 것으로, 자바 가상머신과 자바 인터프리터를 같은 것으로 생각할 수 있습니다. . 이러한 자바 가상머신은 JDK(Java Development Kit)에 포함되어 있을 수도 있고, 자바 호환 웹 브라우저 내에 내장되어 있을 수도 있습니다. 또는, 자바 칩과 같이 하드웨어에 직접 구현될 수도 있습니다. 자바 바이트코드는 “write once, run anywhere”라는 말을 가능하게 해 줍니다. 다시 말해서, 자바 언어를 이용하여 작성한 자바 프로그램을 각 플랫폼(윈도우 95/98/NT, 리눅스, 유닉스, 매킨토시 등)에 맞게 제공되는 자바 컴파일러를 통해서 바이트코드로 컴파일 할 수 있습니다. 그리고, 이 바이트코드는 자바 가상머신이 있는 어떤 곳에서도 실행될 수 있습니다.
         자바 가상머신은 자바 플랫폼의기반을 이루며, 다양한 하드웨어기반 플랫폼에 포팅(poring) 됩니다. 다시 말해서, 자바 가상머신은 윈도우 95/98/NT, 유닉스, 또는 매킨토시 등과 같은 기존의 운영체제 또는 인터넷 익스플로러와 넷스케이프 등과 같은 웹 브라우저 등, 여러 가지 플랫폼에 설치되어 사용될 수 있으며, 사용자는 자바 바이트코드로 컴파일된 자바 프로그램을 실행시키기 위해서 이 자바 가상머신을 이용하면 됩니다.
         자바는 컴파일 시에 에러 검사를 철저하게 하고, 실행 시에 발생할 수 있는 에러에 대해서도 실행 시에 철저하게 검사를 수행함으로써 신뢰도가 높은 프로그램을 작성할 수 있도록 해 줍니다. 또한, C/C++ 프로그램 개발자들을 가장 혼란스럽게 하고, 프로그램의 치명적인 오류를 발생시킬 수 있는 포인터 및 포인터 연산을 자바에서는 사용하지 않게 함으로써, 포인터를 사용함으로써 프로그래머가 범할 수 있는 오류를 없앴다는 것입니다.
         자바는 분산환경에서 작동하도록 설계 되었습니다. 그러나, 자바는 자바 언어와 자바 런타임 시스템 내에 보안 기능이 내재되어 있기 때문에 보안성이 있는 프로그램을 개발할 수 있도록 해 줍니다. 이러한 특성은 자바 프로그램이 네트웍 환경에서 바이러스 등과 같은 프로그램이 파일 시스템을 파괴하려는 것을 막을 수 있도록 해 줍니다.
         자바는 서로 다른 이종(Heterogeneous)의 네트워크 환경에서 분산 되어 실행될 수 있도록 설계되었습니다. 이와 같은 환경에서는 응용 프로그램들이 다양한 하드웨어 아키텍쳐 위에서 실행될 수 있어야만 합니다. 이를 위해 자바 컴파일러는 이종의 하드웨어 및 소프트웨어 플랫폼에서 효율적으로 코드를 전송하기 위해 설계된 아키텍쳐 중립적인 중간 코드인 바이트코드를 생성합니다. 이는 동일한 자바 프로그램의 자바 바이트코드가 자바 가상머신이 설치되어 있는 어떤 플랫폼에서도 실행될 수 있도록 하는 것입니다. 또한, 자바는 기본 언어 정의를 엄격하게 함으로써 효율적인 이식성을 제공해 주고 있습니다. 예를 들어, int 형과 같은 기본 데이터형의 크기를 플랫폼과 무관하게 일정하게 하고, 연산자의 기능을 확실하게 규정하고 있습니다. C 언어를 이용하여 int 형을 선언할 때, 도스에서는 16비트, 윈도우 95/98/NT 등 32비트 운영 체제 환경에서는 32비트, 유닉스에서는 32비트 등 그 플랫폼에 따라 크기가 다르지만, 자바에서는 플랫폼에 상관없이 32비트로 고정되도록 하였습니다. 이는 자바 프로그램이 실행되는 환경이 자바 가상머신으로 동일하기 때문입니다.
         자바 언어로 작성된 자바 프로그램을 중간언어 형태인 자바 바이트코드로 컴파일하고, 이렇게 생성된 자바 바이트코드를 자바 인터프리터가 해석함으로써, 자바 인터프리터와 런타임 시스템이 이식(porting)된 모든 플랫폼에서 자바 바이트코드를 직접 실행할 수 있습니다.
         컴파일시 최적화:
         자바 컴파일러를 이용하여 컴파일 할 때 '-O' 옵션을 줌으로써 최적화 시켜줍니다.
         압축 파일(JAR 또는 ZIP):
         자바 애플릿을 실행시키기 위해 애플릿을 다운로드해야 하는데, 이 때 애플릿에서 사용하는 데이터들도 존재할 수 있습니다. 예를 들어, 애니메이션을 수행하는 애플릿이 있는 HTML 페이지에 접속하여 그 애플릿을 실행시켜야 할 경우, 해당 애플릿 파일과 애플릿에서 애니메이션을 위해 사용하는 각 프레임 이미지도 존재할 것입니다. 따라서, 애플릿 파일은 물론 애플릿에서 사용하는 이미지 파일도 다운로드해야 애플릿에서 제대로 애니메이션을 수행할 수 있겠지요. 이 때, 애플릿 실행과 관련된 모든 파일을 JAR 또는 ZIP 형태의 압축 파일로 묶어 전송하게 됩니다. 이렇게 함으로써, 느린 네트워크를 이용하여 애플릿과 관련된 파일들을 다운로드 하는데 드는 시간을 줄일 수 있습니다.
         다운로드 받은 애플릿과 애플릿 관련 파일들은 웹 클라이언트의 디스크에 캐싱합니다. 예를 들어, 웹 클라이언트가 애플릿이 포함된 페이지를 보다가 다른 페이지에 잠깐 들렀다가 애플릿이 포함된 페이지로 다시 돌아올 경우, 애플릿과 관련된 모든 파일들을 다시 다운로드하는 것이 아니고 웹 클라이언트의 디스크에 캐싱 되어 있는 애플릿 관련 파일들을 사용하게 됩니다. 이렇게 함으로써, 느린 네트워크를 이용하여 애플릿과 관련된 파일들을 다시 다운로드 하는데 걸리는 시간을 없앨 수 있습니다.
         다른 자바 프로그램에 의해 삽입(import)되어 사용될 수 있도록 작성된 자바 프로그램입니다. 이러한 자바 패키지는 기존의 프로그래밍 언어에서 사용하던 라이브러리 또는 운영체제에서 제공해 주는 API 등과 같다고 볼 수 있습니다. 자바 패키지 역시 해당 규약을 갖겠지요. 자바에서는 기본적으로 압축 파일의 형태로 'casses.zip"이라는 자바 패키지가 제공되고 있고, 압축 파일 내에는 디렉토리 단위로 패키지가 포함되어 있습니다. 다음에 나오는 그림은 JDK 1.2.2 에서 제공되는 패키지를 보여주고 있습니다.
  • MoreEffectiveC++/Exception . . . . 29 matches
         일단 여러분은 파일에서 부터 puppy와 kitten와 키튼의 정보를 이렇게 읽고 만든다. 사실 Item 25에 언급할 ''virtual constructor''가 제격이지만, 일단 우리에 목적에 맞는 함수로 대체한다.
         다음의 경우 passAndThrowWidget 이 던지는건 Widget 이다. 위에서 언급했듯이 static type으로 예외는 전달된다. 컴파일러는 rw가 SpecialWidget으로의 동작을 전혀 생각하지 않는다.
         일단 이 주제를 부정하는 이는 없으리라.:예외는 적절한 곳에 표현되어야 한다. 그들은 코드를 더 이해가기 편하게 만들어 준다. 왜냐하면 아마 명시적으로 표현된 예외 상태가 전달(던저:throw-이하 던진다는 표현으로) 될 것이기 때문이다. 그렇지만 예외는 주석(comment)보다는 모호하다. 컴파일러는 때때로 컴파일중에 정확히 일치하지 않은 예외들을 발견할수도 있으며, 만약 함수가 예외 스펙(명세:이하명세)상에 제대로 명기되지 않은 예외를 전달(던졌)다면 잘못은 실행시간(runtime)에 발견된다. 그리고 특별한 함수인 unexpected는 자동으로 불리게 된다. 이렇든 예외처리는 상당히 매력적인 면을 가지고 있다.
         unexpected에 관련한 기본적인 행동은 terminate를 호출해서 terminate내에서 abort를 호출로 강제로 프그램을 멈추게 한다. 이 의미는 바로 abort는 프로그램을 종료할때 깨끗이 지우는 과정을 생략하기 때문에 활성화된 스택 프레임내의 지역 변수는 파괴되지 않는다.(즉, 프로그램이 멈추고 디버그시 그 상황에 현재의 자료 값을 조사할수 있다는 의미). 그래서 예외 처리의 명세을 어긴 문제는 상당히 심각한 상황이나, 거의 발생하지 않은 상황이다. 불행히도 그런 심각한 상황을 이르게 하는 함수 작성이 용이하다는게 문제이다. 컴파일러는 오직 예외 명세에 입각한대로 부분적으로 예외 사용에 관한 검사를 한다. 예외가 잡을수 없는것-언어 표준 상에서 거부하는(비록 주의(wanning)일지라도) ''금지하는'' 것- 은 함수를 호출할때 예외 명세에서 벗어나는 함수일것이다.
         당신의 컴파일러가 예외 처리규정에 만족하지 않은 루틴을 가진 함수의 코드를 호출하는데 별 무리없다고, 그러한 호출이 아마 당신의 프로그램에서 프로그램의 중지를 유도하기 때문에 당신은 소프트웨어를 만들때 최대한 그런 만족되지 않은 호출을 최소화 하도록 결과를 유도해야 할것이다. 시작시 가장 좋은 방향은 템플릿상에서의 예외 스펙를 최대한 피하는 것이다. 자 다음의 어떠한 예외도 던지지 않은 템플릿을 생각해 보자.
         이러한 함수 포인터 전달시 관련은 최근에 추가된거니 만약 컴파일러가 지원 못한다고 해도 놀랄것은 없다. (이책은 1996년에 나왔다. 하지만 지금도(2001년정도) 제대로 지원하는 컴파일러가 많지 않은걸로 안다.) 만약 컴파일러가 처리 못한다면 이런 실수의 방지는 당신 자신에게 달렸다.
         이제 당신은 예외 명세가 많은 문제를 가지고 있을수 있음을 이해 할것이다. 컴파일러는 그들의 부분적인 쓰임새를 검사해서 템플릿에서 문제를 발생할 소지를 않으며, 컴파일러는 의외로 규칙위반을 하기 쉽고, 컴파일러가 제대로 되지 않으면 프로그램을 불시에 멈추어 지도록 유도할것이다. 예외 명세 역시 또다른 문제를 안고 있는데, 예외명세는 높은 수준의 호출자가 예외 발생을 대비할때도 unexpected로의 결과물을 만들어 낸다.
         예외 명세의 균형있는 시각은 중요한것이다. 그것은 예외 발생을 예상하는 함수들의 예외 종류들을 보면 훌륭한 문서화가 될것이고, 잘못된 예외 명세의 상황하의 프로그램은 기본적으로 주어지는 상태 즉, 즉시 멈추는 것을 정당화할 만큼 잘못된 일이다. 같은 시각으로 예외는 컴파일러에 의하여 오직 부분적인 점검만을 당하고 예외는 의도하지 않은 잘못을 양산하기 쉬울것이다. 게다가 예외는 unexpected 예외에서 발생하는 높은 레벨의 예외 잡는 문제에 대하여 예방할수 있다.
         '''자 그럼 전혀 예외 핸들링을 하지 않았을때의 지불 비용을 생각해 보자,''' 당신은 객체들이 적재되고, 유지되는 트랙이 필요한 데이터 구조의 사용을 위해 공간에 대한 비용 지불을 한다. 그리고 당신은 이런 데이터 구조들을 갱신하고 유지하는데 필요한 시간에 대한 비용을 지불한다. 이런 비용들은 일반적으로 정당한 요구이다. 반면에 프로그램이 예외를 위한 지원이 없이 컴파일 된다면 예외 지원을 하고 컴파일 하는 반대의 경우보다 좀더 빠르고, 좀더 작은 용량을 차지한다.
         이론적으로 당신은 이런(예외) 비용의 지출(선택,select)이 없어야 한다.:C++의 한 부분인 예외, 컴파일러는 예외를 지원해야한다.
         프로그램은 일반적으로 독립적으로 object 파일들이 생성되어 지고, 단지 하나의 작성되어 만들어진 object파일에서 예외 처리가 없다면 다른 것들상의 예외 처리가 아무런 의미가 없기때문에, 당신이 예외처리코드를 사용하지 않는다면, 당신은 컴파일러 제작사들이 이런 예외들을 지원시 일어나는 비용을 없앨 것이라고 예상한다. 게다가 object파일이 예외를 빼기위해 아무런 상호간의 링크가 되지 않는다면 예외 처리가 들어간 라이브러리와의 링크는 어떨까? 즉, 프로그램의 어떤 부분이라도 예외를 사용한다면 나머지 프로그램의 부분들도 예외를 지원해야 한다. 이런 부분적 예외 처리 상황은 실행시간에 정확한 예외를 잡는 수행이 불가능 하게 만들것이다.
         물론 저것은 이론이다. 실질적으로 예외 지원 밴더들은 당신이 예외 작성을 위한 코드의 첨가를 당신이 예외를 지원하느냐 마느냐에 따라 조정할수 있도록 만들어 놓았다.(작성자주:즉 예외 관련 처리의 on, off가 가능하다.) 만약 당신이 당신의 프로그램의 어떠한 영역과, 연계되는 모든 라이브러리에서 try, throw, catch를 빼고 예외 지원 사항을 빼고 당신 스스로 속도, 크기 같은 예외처리시 발생하는 단점을 제거할수 있을 것이다. 시감이 지나 감에 따라 라이브러리에 차용되는 예외의 처리는 점점 늘어나게 되고, 예외를 제거하는 프로그래밍은 갈수록 내구성이 약해 질것이다. 하지만, 예외처리를 배제한 컴파일을 지원하는 현재의 C++ 소프트웨어 개발상의 상태는 확실히 예외처리 보다 성능에서 우위를 점한다. 그리고 그것은 또한 예외 전달(propagate) 처리와, 예외를 생각하지 않은 라이브러리들의 사용에 무리없는 선택이 될것이다.
         ''' 두번째로 try 블록으로부터의 예외를 잡는(exception-handling)에 대한 비용을 생각해 보자''' 이것은 당신이 catch로 예외 하나를 잡기를 원할때 마다 요구되는 비용이다. 각기 다른 컴파일러들은 서로 다른 방식으로 try블록의 적용을 한다. 그래서 해당 비용은 각 컴파일러마다 다르다. 그냥 대충 어림잡아서 예상하면, 만약 try블록을 쓰게되면, 당신의 전체적인 코드 사이즈는 5-10%가 늘어나고, 당신의 실행 시간 역시 비슷한 수준으로 늘어난다. 이제 아무런 예외를 던지지 않는다고 생각하자;우리가 여기에서 토론하고 있는것은 단지 당신의 프로그램내에서 try가 가지는 비용만이 아니다. 이런 비용의 최소화를 위해서 아마 당신은 필요하지 않는 try블럭은 피해야만 할것이다.
         컴파일러는 수맣은 try 블럭의 예외 스펙에 대한 코드를 위하여 코드를 만들어내야 한다. 그래서 코드 스팩은 일반적으로 하나의 try블럭당 같은 수의 비용을 지출하게 된다. 잠깐?(excuse me?) 당신은 예외 스팩이 단시 스팩인, 즉 코드를 만들어 내는걸 생각하지 않는다고 말한다. 자, 당시은 그런 생각에 관해서 조금 새로운 몇가지를 감안해 봐ㅏ.
         그렇지만 잠깐, 내가 이런것에 관해서 어떻게 아냐구? 만약 예외를 위한 지원은 최근의 컴파일러와 ㄷ컴파일러간에 다른 방식으로 진행된다면서 비용이 5-10%떨어지고 스피드 역시 비슷하게 떨어지고 세개 명령어 정도 늘어나는 것과 같은 성능 저하에 관한 위의 언급 이런것에 관한 출처들? 아마 내가 해줄수 있는 답변은 다소 놀랄것이다.:당신이 try블록과 예외 스펙을 사용을 필요한 곳만 사용하도록 제한해라;그리고 컴파일 해봐라, 그래도 설계상에 문제가 있다면 일단 자신의 설계를 다시 그려보고 생각해 보라, 거기에다, 여기저기 다른 벤더들의 컴파일러로 컴파일 해봐라 그럼 알수 있다.
  • 새싹교실/2012/AClass/1회차 . . . . 28 matches
         1. 컴파일(Compile), 빌드(Build), 링크(Linking)에 대해 책에서 찾아보고 써 주세요.
         -컴파일 : 프로그래밍언어로 코딩한 것을 컴퓨터가 이해할 수 있는 기계어 코드로 변환하는 작업
          빌드: 컴파일과 링크를 합쳐 빌드라 한다. 빌드를 해야 컴퓨터가 실행할수 있는 형태의 기계 링크: 프로그램마다의 라이브러리를 내가 만든 것과 연결해 주는 작업
         -전처리 과정이랑 컴퓨터가 코딩한 파일을 컴파일 하기 전에 여러 텍스트를 바꾸고 고치는 기능. include<stdio.h>
         파일 첨부
         1.컴파일(Compile), 빌드(Build), 링크(Linking)에 대해 책에서 찾아보고 써 주세요.
          컴파일 : 작성된 *.c파일을 기계어로 변환하는 과정
          빌드 : 실행파일을 만들어 내는 것
          링크 : 기계어파일을 기타 라이브러리 파일과 묶어서 실행파일을 만드는 과정
          #include : 전처리 지시자,<stdio.h>같은 것을 찾아 지시자가 놓인 위치에 그 파일
          표준 입출력 라이브러리 함수를 사용하기 위해서 쓴다.
          전처리 과정 : 컴파일러가 프로그램을 처리하기전에 특별한 일을 수행해주는 과정
         1. 컴파일(Compile), 빌드(Build), 링크(Linking)에 대해 책에서 찾아보고 써 주세요.
          컴파일(Compile) : 컴퓨터가 이해할 수 있도록 기계어로 변환하는 과정
          빌드(Build) : 소스파일이 다음 단계를 거쳐 실행파일이 생성되는 과정.
          링크(Linking) : 컴파일된 코드를 라이브러리 파일과 연결시켜 주는 단계.
         표준 라이브러리 함수를 사용하기 위해서 해당 함수의 선언을 포함하는 헤더파일을 포함해야한다.
         1.컴파일(Compile), 빌드(Build), 링크(Linking)에 대해 책에서 찾아보고 써 주세요.
         컴파일(Compile)
         - 컴파일+링크
  • NeoCoin/Server . . . . 27 matches
         === 알아두면 좋은 파일들 ===
         /etc/syslog.conf : System 의 로그들이 어디에 남는가 기록되어 있는 파일
         /etc/skel : 사용자 생성시(useradd) 초기 bash 설정 파일 (이렇게 숨겨놓다니)
         /etc/vim/vimrc : vim 전체 적용 파일
         === 파일 시스템 문서 ===
          * 파일시스템을 reiserfs로 모두 바꾸기 http://debianusers.org/stories.php?story=01/03/01/9830027
         새로운 ext3 파일 시스템 생성
         있고 여러 커널을 컴파일하기 편하다.
         컴파일 후에 지우기 쉽게 /tmp 에 풀어내는 것이다. 참고로 데비안은 프로그램
         컴파일에 필요한 커널 헤더가 libc6-dev 패키지에 포함되어 있기 때문에
         4. 다음과 같이 /etc/kernel-pkg.conf 파일을 편집한다. debian은 커널 패키지의
         높을수록 커널 컴파일의 속도가 빨라진다.
         7. /boot 디렉토리를 보면 config-2.x.x 파일이 있는데 그걸 커널 소스 디렉토리에
         .config 파일로 복사한다.
         다시 설정하려면 stamp-configure 파일을 지우고
         만일 stamp-configure 파일이 없으면 커널 컴파일하기 전에 menuconfig나
         /var/lib/cvs/CVSROOT/ 밑에 파일을 직접편집해도 되지만 별로 권장하는 바는
         그리고 loginfo 파일에 밑에 내용을 추가
         mkisofs -rT -V <volume> -P <만든이> -o <출력 파일명> <이미지만들 디렉>
         cdrecord -v speed=<배속> dev=<scanbus 옵션에서 나온 장치> <이미지 파일>
  • STLPort . . . . 27 matches
          1. 입출력스트림 라이브러리가 개선되었음.
          1. MSVC 컴파일러의 자질구레한 경고 메시지를 막을 수 있다 ({{{~cpp _msvc_warnings_off.h}}}가 준비되어 있음)
          1. STLport 패키지의 압축 파일을 받습니다. 현재의 최신 안정화 릴리즈는 4.6.2 (STLport-4.6.2.tar.gz)입니다.
          * '''etc''' : 말 그대로 기타 잡다구리한 파일들이 있는 디렉토리
          * '''lib''' : 컴파일된 STLport 재사용 바이너리(lib, dll)가 들어가는 디렉토리. (처음엔 없다가 나중에 생길겁니다.)
          * '''src''': 재사용 바이너리를 빌드하기 위한 플랫폼 별 프로젝트 파일이 있는 디렉토리. (''주의: vc6.mak 파일이 있는지 확인해 보세요. 빌드에 중요합니다'')
         = 입출력스트림 라이브러리 컴파일하기 =
         STLport 버전의 입출력 라이브러리를 만드는 과정입니다.알려진 바에 의하면, VC++에 들어 있는 기본(stock) 입출력스트림 라이브러리보다 이것이 더 성능이 좋고 안정적이라고 하지요.
          1. Visual C++를 열고, File > Open 메뉴로 src\vc6.mak 메이크파일을 읽어 들입니다.
          * 메이크 파일을 읽으면, 아래와 같은 대화 상자가 나와 "프로젝트를 만들겠냐고 물어 보는데, 당연히 [예] 하시고, 적당한 이름(예: STLP_vc6)을 짓죠. 프로젝트 파일인 .dsp와 .dsw가 만들어 지면서 재사용 바이너리를 빌드할 수 있게 됩니다.
          이때, stlport\new 헤더 파일의 2줄에서 에러를 일으키는 경우가 있는데요, 네임스페이스 std::를 붙여 주도록 합시다. (아래의 그림에서 if 다음의 2줄입니다)
         == <!> 입출력 라이브러리를 빌드하지 않을 분들은? ==
         1. 비주얼 C++가 STLport의 헤더파일을 가장 먼저 참조할 수 있도록 인클루드 경로를 조정합니다.
         STLport는 상용이 아니기 때문에, 링크 시 사용하는 STLport 전용 C++ 런타임 라이브러리(입출력스트림이 있는) 직접 설정해 주어야 합니다. 이것을 제대로 이해하려면 우선 VC++가 사용하는 런타임 라이브러리를 알아 봐야 합니다. VC++6의 런타임 라이브러리는 VC98/lib 디렉토리에서 확인할 수 있는데, 정적/동적 링크여부에 따라 크게 {{{~cpp LIBxxx.lib}}} 버전과 {{{~cpp MSVCxxx.lib}}} 버전으로 나뉩니다. 프로젝트에서 조정하는 부분은 Project > Setting 메뉴로 열리는 C/C++ 탭입니다. C/C++ 탭에서 "Code Generation" 카테고리를 선택하면 '''Use Run-time Library''' 드롭다운 박스를 조정해 줄 수 있습니다. 여기서 디버그 정보 포함('''debug''') 유무, 런타임 라이브러리의 스레딩('''thread''') 모드, 동적 링크 여부('''DLL''')의 조합을 결정해 줄 수 있습니다. 긴 설명은 빼고, 간단히 정리하면 다음과 같습니다. (MSDN의 설명을 참고하여 정리하였습니다)
          ||'''"Use Run-time Library" 항목''' || '''이름''' || '''특징''' || '''컴파일 옵션''' || '''환경변수정의''' ||
          ||'''"Use Run-time Library" 항목'''||'''이름''' ||'''특징''' || '''컴파일 옵션''' || '''환경변수정의''' ||
          <실행파일경로> : fatal error LNK1169: one or more multiply defined symbols found
         이는, '''VC가 코드 생성 옵션을 무시하고 LIBCMT.lib을 기본적으로 덧대어 넣어주기 때문입니다'''. 실행파일을 만드는 경우라면 에러가 가장 성가실 테지만, 배포용 라이브러리를 만들 경우엔 경고도 없애 주어야 합니다. 이 에러와 경고를 없애기 위해서는, 위에 나온 링커 메시지 대로 /NODEFAULTLIB 옵션을 써야 합니다. VC IDE를 쓰고 계시다면 Project->Setting 메뉴를 선택하고 나오는 대화상자에서 '''"Link"''' 탭을 선택하시고, '''"Input"''' 드롭다운 항목을 고른 후에 '''"Ignore Libraries"''' 에디트 상자에 LIBCMT.lib를 써 넣으시면 됩니다.
         STLport에는 자체 라이브러리에서 자체 디버그 정보를 내어 주는 독특한 기능을 가지고 있습니다. 보충설명은 [wiki:ESTL 이펙티브 STL]의 항목 50을 참고하십시오. 여기서는 STLport의 디버그 기능을 활성화하는 방법만 설명합니다.말은 거창하지만, 본론은 간단합니다. 가장 먼저 컴파일되는 파일(.h/.cpp)의 앞부분에 다음과 같이
         이제 다 끝났습니다. STLport가 제대로 설치되었는지 확인하는 의미에서, 패키지에 들어 있는 메이크 파일을 Visual C++을 사용하여 읽은 후에 빌드해 보세요.
  • 데블스캠프2012/넷째날/후기 . . . . 26 matches
         = 새내기를 위한 파일입출력 =
          * [권순의] - 파일 입출력은 학부 과정을 수행할 때 많이 쓰는 것이다 보니 잘 알아두시는 게 좋을만한 내용이었습니다. 주제 선정이 잘 된 것 같네요. 사실 저도 매번 할 때마다 찾아서 하다 보니 귀찮긴 한데,, 자주 쓸 때는 외우는데 또 한동안 안 쓰면 까먹고 그래서 ㅋㅋㅋ 새내기 여러분은 잘 외워 두는 것도 나쁘지 않다고 봅니다. 아니면 정확히 이해하는 것 만으로도 이번 시간에서 얻어갈 만한 내용이 아닐런지
          * [서민관] - 이번 데블스캠프에 fundamental한 내용이 적다고 형진 선배가 얘기를 하셨는데 이번 시간이 그런 fundamental한 부분에 대한 요구를 좀 충족시켜준 시간이 아닌가 싶습니다. 다만 개인적으로 아쉬운 점은 1학년들이 C 언어 사용에 그렇게까지 익숙하지 않은지 파일 입출력 함수들의 사용이 그렇게 익숙하지 않았다는 점이었습니다. 분명 익혀두면 2학기에 도움이 될 기술이라고 생각하는 만큼 좀 아쉽긴 하네요. 그래도 아마 2학기 되면 인터넷에서 찾아가면서 하겠지만.
          * [이재형] - 좋은 것 중요한 것을 배우는데 파일 입출력간의 관계가 너무 헷갈려서 힘들었어요. 그래서 성현이형을 새싹교실 처럼 마구마구 괴롭혔지요;;; 죄송하기도 하고 감사하기도 하고 ㅎㅎ 암튼 달무티 하러 이만 ㄱㄱㄱㄱㄱ!!!!
          * [서영주] - 파일 입출력은 매번 쓸 때마다 찾아서 보고 그러는 것 같습니다. -_- 자바 오래하면 C++이 헷갈리고 C++오래하면 자바가 헷갈리고... 그래도 빼먹을 수 없는 기본적인 중요한 내용인 것 같습니다. 문자열 저장, 바이너리 저장에 대한 얘기와 바이너리로 저장된 파일이 실제로 어떻게 되어있는가, 리틀엔디안 빅엔디안 등 뭔가 눈에 보이는 실습이어서 좋았다고 생각합니다. 지금 당장은 모두 기억하기 어렵다고 하더라도 이런 방식으로도 파일을 저장할 수 있고 저런 방식으로도 저장할 수 있다는 사실을 알아두는 것 만으로도 나중에 파일입출력을 해야 할 때 참고가 될거라고 생각합니다.
          * [김윤환] - 파일입출력은 한번 공부해서 반복하는 연습하는데 정말 좋앗습니다. 그리고 뒤에 바이너리 부분이 상당히 흥미로운 부분이어서 더 공부해봐야할것같아요 ㅎㅎ
          * [권영기] - 파일입출력, 정확히 안다고 하기도 그런데 새벽이라서 체력이 방전이 되서 그런지 집중을 제대로 하지 못했습니다. 강의 열심히 해준 선배님한테 죄송하고, 연습을 좀 해야겠네요.
          *[안혁준] - 파일 입출력은 사실 이렇게 하는 경우는 이제는 거희 없지만, 알아두는게 좋은 내용이었습니다. 나중에 다른 언어들의 파일 입출력을 이해하는데 큰도움이 되거든요. 리틀 엔디안과 빅 엔디안의 차이라던가 사용문법의 차이같은것이 있지만 사실 모두 C의 출력을 예쁘게 만들어논거에 지나지 않으니까요. 새내기 분들은 함수를 다외우지는 못하더라도 "아! 파일 입출력은 어떤어떤 방식이 있구나"정도는 숙지하는게 좋을 껍니다. 어찌보면 어려운 내용을 잘 이끌어갔다고 봅니다.
          * [김태진] - 전 이시간에 파일입출력보단 다른 것들을 많이 배운거 같습니다. 일단, 한글을 콘솔에서 입력할때 어떤 오류가 나는지, 그걸 해결하려면 어떻게 해야하는지, Bash에서 쉘 명령어 쓰는방법이라던지, 등등.. 아, 또 코드를 객체지향적으로 설계한다고 생성자를 만들려다 오버로딩이 안돼서 멘붕하기도 했죠.. 아무튼 다른걸(?) 추가적으로 많이 배운 시간이었습니다.
  • Ant . . . . 25 matches
         Platform 독립적인 Java 의 프로그램 컴파일, 배포 도구 이다. 비슷한 역할로 Unix의 make 툴과 Windows에서 프로그램 Installer 를 생각할수 있다.
          make.gnumake,nmake,jam 과 같은 다른 Build 툴은 놔두고 왜 Ant 를 써야하는가에 대한 질문이다. Java 기반으로 프로그램을 짜고 컴파일 및 배포용 쉘 프로그램을 짜봤는가? 해봤다면 그것의 어려움을 잘 알것이다. 각 [OS] 마다 쉘 스크립트가 다르고 일반적으로 사용하고 있는 Unix 에는 또 각종 쉘들이 존재한다. 윈도우 쉘 또한 복잡하긴 매한가지이고 프로그램을 모두 작성하고 컴파일 및 배포 쉘 스크립트를 작성하기 위해서 이것들을 모두 작성하는것 자체가 프로그래머에게 또 하나의 고난이 아닐까 생각한다.(즉, 쉘 프로그램을 배워야 한다는 의미이다.)
         Ant 는 OS Indepenent 하게 프로그램을 Build 할 수 있는 환경을 제공해준다. build.xml 이란 Build 파일을 작성해서 그 내용에 따라 Build 를 진행해 나갈 수 있다. Ant 는 ["Java"] 에서 거의 표준으로 굳혀져가고 있으며, 거의 모든 IDE들이 Ant 를 지원한다.
          바이너리 파일을 기준으로 설명하겠습니다. 설치는 Windows 기반으로 설명하겠습니다. Unix/Linux 기반을 비슷하니 알아서(?) 하세요. ^^;
          * 일단 받은 Ant 압축파일을 C:\Ant 에 풀어 놓고 시작해봅시다. 하위 디렉토리는 bin,doc,lib 등이 있겠죠. ^^ (''Win 9x 시리즈에서는 환경변수에 들어가는 긴 파일명이 문제가 될 수 있으니 위와 같이 C:\Ant 에 설치하는 것이 좋습니다.'')
          Ant 는 다양한 Optional Tasks를 제공합니다. 일단 Task 라는 말이 앞으로 많이 나올텐데 Glossary 를 참고하세요. 예를들면 CVS 에 소스를 업데이트 해주는 Optional Task 가 있을 수 있고, 또 .NET 컴파일을 한다던지.. 기타 등등 다양한 Task 가 있습니다. (이에 대한 예제로는 ["AntTask"]를 참조)
          이제 Ant 를 실행하는 방법에 대해서 알아보자. Ant를 실행하는 것은 마치 make 명령을 내리는 것처럼 쉽다. Ant 에서 중요한 것은 make에서 "Makefile" 을 만들듯이 Build 파일을 잘 만드는 것이 중요합니다. Build 파일을 만드는 것에 대해서는 나중에 알아보기로 하고 일단 실행하는 방법부터 알아보죠.
          이것은 현재 디렉토리에 build.xml 이라는 파일을 Build File 로 해서 Build 를 하겠다는 것입니다. build.xml 파일이 없다면 에러를 출력하겠죠? ^^
          이것은 build 파일을 test.xml 이라는 파일을 build 파일로 사용해서 build 하겠다는 의미입니다.
          이것은 바로 위에 있는 것에다가 dist라는 것이 붙었는데 이것은 target 을 나타냅니다. Unix/Linux 에서 make 명령으로 컴파일 해보신 분들을 아실껍니다. 보통 make 명령으로 컴파일 하고 make install 명령으로 인스톨을 하죠? 거기서 쓰인 install 이 target 입니다. Ant 에서는 Build 파일 안에 다양한 target 을 둘 수 있습니다. 예를 들면 debug 모드 컴파일과 optimal 모드 컴파일 2개의 target 을 만들어서 테스트 할 수 있겠죠? ^^
          위의 예에 하나가 추가됐죠? -D 옵션은 Build 파일의 Property task 와 같은 역할을 합니다. 즉 Build File 내부에서 사용되는 일종의 변수를 선언한다고 볼 수 있겠죠? ^^
          실행 파일 ant는 Unix 계열에서는 shell 스크립트로 Windows 계열에서는 ant.bat 라는 배치파일로 배포됩니다. 내부에 보면 java 프로그램을 실행하는데, 다음과 같이 자신이 직접할 수도 있습니다.
          Ant 를 다룰줄 안다는 말은 즉, Build File 을 만들줄 안다는 의미와 같다. Build File 은 파일이름에서도 알 수 있듯이 xml 을 기반으로 하고 있다. 예제로 참조해볼만한 화일로 ["Ant/TaskOne"], ["Ant/BuildTemplateExample"] 이 있다. 해당 화일을 보면서 설명을 읽으면 편할것이다.
          * '''Build File''' : Build 의 순서 및 각 단계별 작업들에 대해서 xml 형식으로 적어놓은 파일을 말한다. Ant 에서는 default 로 build.xml 을 사용한다.
  • OurMajorLangIsCAndCPlusPlus/stdio.h . . . . 25 matches
         || FILE * fdopen(int, const char *) || 파일 지정자 필드로 부터 스트림을 얻습니다. ||
         || char * fgets(char *, int, FILE *) || char*에 int의 길이만큼 스트림에서 읽어서 저장한다. 파일의 끝이나 오류일 경우 NULL을 리턴한다. ||
         || FILE * fopen(const char *, const char *) || 파일을 연다. ||
         || FILE * freopen(const char *, const char *, FILE *) || 세번째 인자의 스트림을 닫고 그 포인터를 첫번째 인자의 파일으로 대체한다. ||
         || int fscanf(FILE *, const char *, ...) || 해당 파일에서 문자열을 지정한 형식으로 읽어들인다. ||
         || int getchar(void) || 표준 입출력으로 부터 한 글자를 읽어온다. ||
         || char * gets(char *) || 표준 입출력에서 한줄을 입력받는다. 오류가 발생할 경우 NULL을 리턴한다. ||
         || int putchar(int) || 표준 입출력으로 문자를 한개 출력한다. ||
         || int puts(const char *) || 표준 입출력으로 한줄을 출력한다. ||
         || int remove(const char *) || 해당 파일을 삭제한다. 성공시 0, 실패시 -1을 리턴한다. ||
         || int rename(const char *, const char *) || 첫번째 인자의 파일을 두번째 인자의 이름으로 바꾸어준다. ||
         || int scanf(const char *, ...) || 표준 입출력에서 해당 형식으로 입력 받는다. ||
         || FILE * tmpfile(void) || 임시파일을 생성한다. 종료시 자동으로 지워지며, 생성 실패시 NULL을 리턴한다. ||
         || char * tmpnam(char *) || 임시 파일로 사용할 수 있는 이름을 인자1에 기록한다. ||
         || int vprintf(const char *, va_list) || 표준 입출력에 인수리스트를 이용해서 지정된 형식의 문자열을 출력한다. ||
         || wint_t getwchar(void) || 표준 입출력으로 부터 유니코드 한자를 읽어온다. ||
         || wint_t putwchar(wchar_t) || 표준 입출력으로 유니코드 한 문자를 출력한다. ||
         || int wprintf(const wchar_t *, ...) || 표준 입출력으로 지정한 형식의 유니코드 문자열을 출력한다. ||
         || int vwprintf(const wchar_t *, va_list) || 표준 입출력으로 지정된 형식의 유니코드 문자열을 인수리스트를 사용해서 출력한다. ||
         || int wscanf(const wchar_t *, ...) || 표준 입출력을 사용해서 유니코드의 입력을 받는다. ||
  • UploadFileMacro . . . . 25 matches
         모니위키는 파일 업로드를 위한 3가지의 업로드 폼을 매크로로 지원하고 있다.
         {{{[[UploadFile]]}}}: 이것은 자바스크립트를 전혀 쓰지 않는다. 그 대신에 간단한 여러개의 파일을 올릴 수 있는 방법을 제공한다.
         {{{[[UploadForm]]}}} 혹은 {{{[[UploadFile(js)]]}}}: 이 매크로는 여러개의 파일을 올릴 수 있는 폼을 자바스크립트를 사용하여 만들어준다.
         {{{[[SWFUpload]]}}} 혹은 {{{[[UploadFile(swf)]]}}}: 이 매크로는 모니위키 1.1.3CVS부터 지원하며 다중 파일 업로드를 지원한다. (Flash 10 지원)
         모니위키의 {{{[[UploadFile]]}}} 매크로는 업로드 된 파일을 {{{$upload_dir}}}로 정의된 디렉토리에 각 페이지별 디렉토리를 생성시키고, 그 디렉토리에 업로드된 파일을 저장한다.
         업로드가 성공하면 업로드된 파일을 다음과 같은 문법으로 연결할 수 있다.
         예를 들어, {{{MyPage}}}에 들어가서 {{{MyPage?action=UploadFile}}}을 하거나, MyPage에서 {{{[[UploadFile]]}}} 매크로를 사용하여 파일을 업로드를 하면 $upload_dir='pds';라고 되어있는 경우에 {{{pds/MyPage/}}}가 새롭게 만들어지고 거기에 올린 파일이 저장된다.
         config.php의 $pds_allowed라는 변수를 조정하면 업로드가능한 파일을 제한을 걸 수 있다. $pds_allowed의 기본값은 다음과 같을 것이다.
         == 안전하지 않은 파일 확장자 점검 ==
         아파치 mod_mime의 문제점으로 인해서 안전하지 않은 파일 이름을 점검합니다.
         예를 들어 아파치의 mod_mime이 hwp 확장자를 인식하지 못하는데, {{{my.php.hwp}}}와 같은 파일이름을 업로드할 경우, 아파치의 mod_mime모듈은 my.php.hwp를 hwp가 아닌 php파일로 인식하게 됩니다.
         $pds_protected를 설정해 놓으면 {{{my.php.hwp}}} 파일 이름이 my.php.txt.hwp로 이름이 바뀌면서 파일이 업로드 됩니다.
         $upload_masters=array('Foobar','Babo'); 여기에 등록된 모든 사용자는 파일 확장자와 무관하게 모든 종류의 파일을 업로드 할 수 있습니다.
         이 값을 1로 설정하였을 경우, 업로드 할 때의 정보를 이용해서 파일 타입을 판별합니다.
         모니위키에서는 모든 업로드 된 파일이 {{{$upload_dir='pds'}}} 하위 디렉토리에 보존된다. 즉 {{{pds/*/}}}에 1단계 하위 디렉토리들이 생성된다. (2단계 이상은 지원하지 않습니다.)
         그러나 노스모크 모인모인에서는 {{{pds/*}}} 하위 디렉토리로 모든 파일이 저장된다. 노스모크 모인모인과 호환을 보장하기 위해서 UploadFile액션은 특별히 {{{UploadFile}}}이라는 페이지에서 파일을 업로드하면 {{{pds/UploadFile}}}라는 디렉토리가 만들어지지 않고 pds 아래로 바로 업로드 되게끔 하였다.
         pds 바로 밑으로 저장된 pds/* 파일을 연결하려면 {{{attachment:/foobar.png}}} 문법을 쓴다. 즉, "/"를 맨 앞에 붙여준다.
         === 공백이 들어있는 파일 이름 ===
         공백이 들어있는 파일을 링크를 걸 경우는 {{{attachment:"hello world.png"}}}와 같이 링크를 걸어 준다.
  • i++VS++i . . . . 25 matches
          * 사용한 컴파일러 : Microsoft 32-bit C/C++ Optimizing Compiler Version 12.00.8804 for 80x86 (Microsoft Visual C++ 6.0 에 Service Pack 5 를 설치했을때의 컴파일러)
          * ++i 의 컴파일된 어셈블리 소스
          * i++ 의 컴파일된 어셈블리 소스
          * ++i 의 컴파일된 어셈블리 소스
          * i++ 의 컴파일된 어셈블리 소스
          * ++i 의 컴파일된 어셈블리 소스
          * i++ 의 컴파일된 어셈블리 소스
          * ++i 의 컴파일된 어셈블리 소스
          * i++ 의 컴파일된 어셈블리 소스
          * ++i 의 컴파일된 어셈블리 소스
          * i++ 의 컴파일된 어셈블리 소스
          * ++i 의 컴파일된 어셈블리 소스
          * i++ 의 컴파일된 어셈블리 소스
          * ++i 의 컴파일된 어셈블리 소스
          * i++ 의 컴파일된 어셈블리 소스
          * ++i 의 컴파일된 어셈블리 소스
          * i++ 의 컴파일된 어셈블리 소스
          * ++i 의 컴파일된 어셈블리 소스
          * i++ 의 컴파일된 어셈블리 소스
          // 컴파일러는 내부적으로 operator++(0)을 호출한다.
  • 새싹교실/2012/주먹밥 . . . . 25 matches
          * [김준석] : 기존 기획했던 커리큘럼 프로젝트 결과물 3개 이상. 그리고 C언어의 파일입출력 및 네트워크 프로그래밍까지 가르치겠다. 그외 잡식은 +@
          * Linux에서 GCC를 사용한 컴파일 시범
          * 헤더 파일들에는 뭐가 들어가는지 한번 알아보았습니다. math.h에는 수학에 관련된 함수. time.h에는 시간 제어에 관련됨 함수를 사용했죠 .srand(time(NULL))이 왜 쓰이는 지는 아직 안알려주었답니다^.^
          * 포인터 : 포인터변수는 32bit 버전 컴파일러에서 4byte 64bit 버전 컴파일러에서 8byte의 크기를 가집니다. 어떤타입이든 말이죠 (void *), (int *), (float *) 모두 말이에요. int *a는 4byte를 할당받고 a에는 '''주소값(address)'''을 가지게 됩니다. 포인터 (*)를 붙이게 되면 그 해당 주소가 가르키는 '''값'''을 찾아가게 되죠. int형 값말이에요 그러니까 4byte만 찾아오겠죠?
          * 파일 입출력이 왜 필요한가 설명함
          * 운영 체제와 메모리(파일 포함)의 관계를 설명
          * 운영체제는 파일 시스템을 관리합니다. 관련해서 이번에 가르쳐주는것은 *(포인터:Pointer)관련해서 FILE 구조를 메모리 참조를 통해서 하는것을 알려주게 되었습니다. 파일(File)은 메모리주소로부터 시작되고 운영체제를 이를 관리하기 때문에 C에서 지원하는 라이브러리를 통해 운영체제로 부터 파일을 관리하는 정보를 가진 FILE 구조체를 불러오게 됩니다. 그래서 우리는 *를 통해 주소값을 따라가서 FILE구조체로 그 정보를 얻어오게 되죠. Good Good!
          * 기본 파일 구조체에는 대략 이런정보가 들어가게 됩니다. 파일 경로, 이름, 크기, '''현재 얼마나 읽었는지'''. 자세한 사항은 http://winapi.co.kr/clec/cpp2/17-2-1.htm 에 들어가면 있답니다.
          * 절대 경로와 상대경로. '절대 경로'는 운영체제 기준으로 운영체제가 젤 세부로 나눠주는 드라이브를 비유해서 설명해주었습니다. 운영체제 기준으로 {{{ C:\\Desktop\test.txt }}}를 같은 폴더 프로그램으로 불러와봅시다. 잘불러와지네요? 하지만 {{{C:\\Desktop\오리\test.txt }}}로 저 txt파일과 프로그램을 옮기면 실행이 될까요? 안되죠? 같은 폴더에 있는데도. 그럼 어떻게 해야할까요? 그래서 상대경로 라는것이 나왔습니다. {{{ .\test.txt }}} 면 같은 폴더에 있는 test파일을 찾고. {{{ ..\test.txt}}} 는 바로 위 상위폴더를 찾습니다. 다른폴더는 어떻게 하나고요? {{{ .\오리\test.txt }}}로 설정하면되죠. '''상대 경로'''는 해당 실행파일 기준으로 파일 위치를 추적 하는것이랍니다.
          * 예제를 통해 파일 입출력 스트림을 표현해주었지요.
          * stdin, stout. 표준 입출력을 지원해주는 스트림입니다. fprintf와 print가 똑같이 쓰일수 있는 예제를 보여주었죠.
          * 리다이렉션 > 표시는 현재 출력을 다른곳으로 돌릴때 쓴다고 했죠. 현재 이 test.exe파일을 실행시키면 5를 출력한다고 합니다
          윈도우의 CMD에서 이파일을 리다이렉션을 통해 test.txt로 출력을 시켜보겠습니다
          Git을 공부해서 Repository를 만들고 Readme파일을 올려서 다음주에 보여주기.
          * 메모장으로 Html파일을 만듬 -> 안에 소스를 넣음
  • Android/WallpaperChanger . . . . 24 matches
          * Wallpaper바꾸는데 Permission 필요하더라 (Androidmenifest.xml파일 수정 요함)
          * 또한 Service는 AndroidManifest.xml파일에 당연히 등록을 해야한다. (Application탭 -> Service등록)
          * 그림파일을 불러왔을경우 BitmapFactory에서의 이미지 사이즈 변경은 이미지를 늘리고 줄이기 때문에 기존 안드로이드 어플 배경화면에서 자르기로 들어간것과는 다르다.
          * Picture Gallery 불러오는 방법 및 여러개 파일 받아오는 방법
          1. 현재 설정되어있는 파일 리스트 보기
          1. 파일 리스트 화면
          1. 파일 리스트 추가/삭제
          || 4/17 || Layout추가 및 기본 Activity및 Service 파일 만듬 ||
          || 4/18 || WallPapermanagerActivity실행 및 파일 경로 받아오기 완성 ||
          || 4/26 || 전체 Activity간의 Parcel데이타를 넘길수 있게 코드를 리펙토링(Refactoring)함. DB의 연결문제를 삭제 삽입 목록에 flag를 달아 해결. 파일을 선택해서 Path와 Name을 보여주는 Activity의 Thumnail을 만들어 보여주게함. Refactoring후 Service 잘작동 확인. ||
         || 5/1 || Image Gallery에서 불러와서 크기조절 해주는 Crop 작성. File 입출력을 지원하면서 Side Effect로 DB 기록과 실제 File의 존재 유무를 판단해야하는 경우가 생김 ||
         자세한 내용을 다루기 전에, 간단한 주의사항입니다: 아래 설명된 대부분의 이슈들은 VM이 JIT 컴파일러이든 아니든 효과적입니다. 같은 기능을 수행하는 두 메소드가 있고 interpret 방식에서 foo()의 실행속도가 bar()보다 빠르다면, 컴파일 된 버전에서도 아마 foo()가 bar()과 비슷하거나 더 빠른 속도를 보여줄 것입니다. 컴파일러가 여러분을 "구해줄"것이라던가 충분히 빠르게 만들어줄 것이라고 의존하는 건 현명하지 못하다는 것이죠.
         C++와 같은 네이티브 언어에서 필드에 직접적으로 접근하는 것 (예. i = mCount) 보다 getter를 사용하는 것 (i = getCount())은 일반적인 관습입니다. 이 방법은 C++에서는 훌륭한 습관입니다. 왜냐하면 항상 접근을 inline화 할 수 있는 컴파일러를 사용하고 있고, 필드에 접근을 제한하거나 디버그 해야 한다면 언제나 코드를 추가할 수 있기 때문입니다.
         컴파일러는 클래스가 처음 사용될 때 실행하게 되는 <clinit>라 불리는 '클래스 초기화 메소드'를 생성합니다. 이 메소드가 intVal에 42 값을 저장하고, strVal에는 클래스파일 문자 상수 테이블로부터 참조를 추출하여 저장합니다. 나중에 참조될 때 이 값들은 필드 참조로 접근됩니다.
         클래스는 더이상 <clinit> 메소드를 필요로 하지 않습니다. 왜냐하면 상수들은 VM에 의해 직접적으로 다루어 지는 '클래스파일 정적 필드 초기자'에 들어가기 때문입니다.intVal의 코드 접근은 직접적으로 정수 값 42를 사용할 것이고, strVal로의 접근은 필드 참조보다 상대적으로 저렴한 "문자열 상수" 명령을 사용하게 될 것입니다.
         "final"으로 메소드나 클래스의 선언을 하는 것은 즉각적인 성능 이득을 주지는 못하지만, 특정한 최적화를 가능하게 합니다. 예를 들어, 컴파일러가 서브클래스에 의해 오버라이드될 수 없는 "getter"메소드를 알고 있다면, 메소드 호출을 inline화 할 수 있습니다.
         two() 는 자바 언어의 1.5버전에서 소개된 향상된 반복문 구문을 사용합니다. 컴파일러에 의해 생성된 코드는 배열 참조와 배열의 길이를 지역 변수로 복사해주어, 배열의 모든 원소를 탐색하는데 좋은 선택이 될 수 있습니다. 주 루프 내에 추가적인 지역 읽기/저장이 만들어지고(명백하게 "a"에 저장), one()보다 쪼금 느리고 4 바이트 길어지게 하긴 합니다.
         900 바이트의 클래스 파일 (Foo$Shrubbery.class) 로 변환됩니다. 처음 사용할 때, 클래스 초기자는 각각의 열거화된 값들을 표기화 하는 객체상의 <init>메소드를 호출합니다. 각 객체는 정적 필드를 가지게 되고 총 셋은 배열("$VALUES"라 불리는 정적 필드)에 저장됩니다. 단지 세 개의 정수를 위해 많은 코드와 데이터를 필요로 하게 됩니다.
         는 정적 필드 참조를 야기합니다. "GROUND"가 정적 final int 였더라면, 컴파일러는 알려진 상수로서 다루고, inline화 했을 수도 있습니다.
         물론, 반대적 측면에서 열거형으로 더 좋은 API를 만들 수 있고 어떤 경우엔 컴파일-타임 값 검사를 할 수 있습니다. 그래서 통상의 교환조건(trade-off)이 적용됩니다: 반드시 공용 API에만 열거형을 사용하고, 성능문제가 중요할 때에는 사용을 피하십시오.
  • PragmaticVersionControlWithCVS/CommonCVSCommands . . . . 24 matches
         파일의 내용을 확인하면 checkout 된 파일이 1.1버전의 것임을 확인할 수 있다.
         '''cvs update -d [files or directory]''' : 현재 디렉토리에 존재하는 모든 파일 폴더를 저장소의 최신버전으로 체크아웃. -d 옵션은 추가된 디렉토리가 존재하는 경우에 cvs가 현재 폴더에 자동으로 폴더를 만들어서 체크아웃 시킨다.
         ? : 작업공간에는 존재하나 CVS가 알지못하는 파일
         M : 지역에서 수정된 파일
         C : 파일의 변합중에 충돌을 일으킴
         '''cvs add''' : 파일이나 디렉토리를 저장소에 추가한다.
         CVS는 프로그램 소스 코드, XML 등 텍스트 파일을 위주로해서 설계되었다.
          * 특정 키워드를 대체하는 방법으로 파일에 주석을 달아준다. (비추천)
          * 바이너리 파일에 CVS 키워드가 들어있다면 이것이 치환되어서 문제가 발생하게 된다.
         '''cvs add -kb [File]''' : 지정된 파일에 대해서는 개정판 마디 파일의 전체를 저장하고 기타 처리를 하지 않는다.
         만약 바이너리 파일을 -kb옵션을 주지 않은 상태에서 add 시켰다면 이를 바꾸는 방법도 존재한다.
         개발을 하는 도중에는 여러개의 중간 단계의 파일들(.obj, .class 등등)이 생성된다. 이런 파일은 굳지 CVS 저장소에 보관하는 것이 아니라 로컬에 저장해 두고 사용자가 필요할 때마다 새로 생성시키는 것이 옳은 일이다. 다행히 cvs 는 이러한 일을 설정하는 것이 가능하다.
         를 로컬 작업공간에 저장해두면 저장된 .cvsignore 를 기반해서 cvs는 그런 파일을 무시하게된다.
         cvs에서 파일, 디렉토리의 이름을 바꾸는 특별한 옵션은 없다.
         방법은 단지 로컬 공간의 파일이름을 바꾸고 저장소내의 기존의 파일들을 삭제한뒤 로컬공간의 이름이 바뀐 파일들을 저장소에 추가하는 방법뿐이다.
         이렇게 관리를 하게되면 원래 존재했던 color.txt라는 파일에 존재하는 기존의 기록들이 삭제되어서 그 파일의 과거파일을 color_rename.txt의 로그로 이용하는 것이 불가하다. 기록이 따로 보관되기 때문이다.
         위에서 보듯 color_renamed.txt라는 파일의 버전이 1.1인 것에 반해서 color.txt가 1.3버전임을 확인할 수 있다.
  • 데블스캠프2003/넷째날/Linux실습 . . . . 24 matches
          * ls (파일 보기)
          * cp (파일1) (파일2) => 파일1을 파일2란 이름으로 카피한다.
          * cp 파일1 temp_file => 파일1을 temp_file로 카피한다.
          * cp 파일1 ../temp_file => 파일1을 현재의 상위 디렉토리의 하위 디렉토리인 temp_file로 카피한다.
          * rm (파일 지우기)
          * rm (파일1) 파일1을 지운다.
          * mv (파일 옮기기)
          * 파일을 처음 만들고자 할때는 그냥 vi라고 치면 된다.
          * 전에 있던 파일을 고치고자 할 때는 vi (파일명)으로 들어가면 된다..
          * wq 저장한 후 종료. 처음 만든 파일의 경우는 wq (파일명)을 써 주어야 한다.
          === vi에서 C 컴파일 해보기 ===
          * C 소스를 입력합니다. 단, C++ 스타일이 아닌 C 스타일로. 즉, stdio.h와 printf등을 사용하라는 뜻이죠. 주의할 점은, 여기서 주의할 점은 main() 함수의 리턴값은 void로 해주면 안 되고 int로 해주어야 합니다.(왜 그런지는 모르겠으나 컴파일 에러가 나더라고요.)
          * vi에디터를 나와서 gcc (파일명)을 치면 컴파일이 되는데, 무조건 실행파일은 a.out으로 나옵니다.
         예를 들면, apache 로그 파일을 줍니다. 그리고 sort, uniq, cut, grep, head 등의 명령어의 사용법을 간단히 가르쳐 줍니다. 그리고 이들을 파이프로 연결해서 2003년 6월에 접속한 IP 중에 가장 자주 접속한 IP 베스트 10을 1등부터 뽑아내라고 합니다. ({{{~cpp grep "Jul/2003" access.log| cut -d' ' -f1 |sort|uniq -c|sort -rn|head -10| cut -f2}}})
  • 새싹교실/2012/새싹교실강사교육/4주차 . . . . 24 matches
         3. 파일 입출력 예제를 통한 자신만의 데이터 파일 만들어보기
         이번 단원에서 배워 볼 내용은 크게 '파일' 이라고 할 수 있습니다.
         파일은 운영체제에 의해서 직접 관리되는 대상이기 때문에 파일을 다루려면, 우선 운영체제와 파일과의 관계를 이해해야 합니다.
         파일은 메모리와 같은 주기억장치가 아닌, 하드 디스크 같은 보조기억장치에 저장되는 기본 단위입니다. 파일에는, 그 어떤 프로그램이던 간에 무조건 프로그램이 작성한 정보가 저장되는데요. 프로그램은 꽤나 많이, 실행 중에 파일을 새로 만들거나 등의 행동을 해서 파일을 액세스해야 하는 경우가 생깁니다. 그렇기 때문에 정보의 저장과 불러오기가 꼭 필요합니다. 그걸 간단하게 두 개로 설명해보겠습니다.
         1.1 프로그램의 실행 파일에는 크기의 제약이 있기 때문에 프로그램이 가지고자 하는 모든 데이터를 가질 수 없습니다. 그래서 큰 정보는 외부의 파일에 두고, 실행 중에 파일을 읽어서 사용하는 방법을 흔히 쓰게 됩니다. 예를 들어 게임 프로그램에는 BGM, 효과음, 사진, 그림, 동영상 등의 파일을 읽어서 출력하게 됩니다.
          1.2 프로그램이 작업한 결과를 영구적으로 보존하기 위해서도 파일을 외부에 저장합니다. 이는 당연한 거겠죠? 우리가 그림판을 통해 작업을 하고 난 뒤에는 항상 저장을 합니다. 이와 같은 이치입니다. 만약 게임의 점수 정보가 담긴 파일을 저장한다든가 등에도 필요합니다.
         2.1 기본 파일 쓰기 예제
          FILE *ftr = fopen("C:\\입출력함수.txt","w");
          ftr2 = fopen("C:\\입출력함수.txt","r");
         2.2 절대경로를 통한 파일 복사 예제
         입력 : C:\5.png C:\copy\5.png 주의~! 진짜 파일이 있어야함.
         3.4 파일 입출력 스트림 fopen, fclose, fscanf, fprintf
  • Linux/필수명령어 . . . . 23 matches
         초기에는 파일을 다룰 수 있는 기본적인 명령어부터 시작하여서, 실제 시스템의 관리를 위해 사용되는
         == 파일관리 ==
         || cat || 터미널 상의 텍스트 파일 보기 ||
         === 파일 다루기 ===
         || ls -l x || 파일 x의 자세한 상황을 보여줌, ||
         || mv x y || 파일 x를 파일 y로 이름을 바꾸거나 옮기기 ||
         || cp x y || 파일 x를 파일 y로 복사하기||
         || rm x || 파일 혹은 디렉토리 x 지우기||
         || chmod <permission> <filename> || 파일 권한(permissions) 변경||
         || chown <id> <파일> || 파일 소유주(owner) 변경||
         || chgrp <group> <파일> || 파일 그룹(group) 변경||
         === 파일 백업 관련 ===
         || tar || 인자로 주어진 파일들을 아카이브로 묵거나, 아카이브를 풀수 있다||
         || gzip, gunzip || 특정파일은 gzip 형태의 파일로 압축한다 ||
         || bzip || 인자로 주어진 파일을 bzip2 형태의 파일로 압축한다 ||
         || find x -name y -print|| 디렉토리 x안에서 파일 y를 찾아서 화면에 그 결과를 보여줌||
         || whereis || 인자로 주어진 명령어의 바이너리 파일, 소스, man file의 실경로 표시 ||
  • PragmaticVersionControlWithCVS/WhatIsVersionControl . . . . 23 matches
         개발 중인 프로젝트의 모든 버전이 저장되는 장소이다. 파일 시스템, DB일수도 있으며, 어떤 경우에는 2가지를 같이 사용하기도 한다.
         프로젝트의 기본으로 저장되는 소스코드. 그 외에 버전관리에 필요한 기타 파일들이 저장함.
         || 자동으로 생성되는 잔여파일의 경우 굳이이를 관리할 필요는 없다. 대신에 특수한 이유(컴파일 타임. 라이센스)로 필요한 경우에는 관리를 하는 경우도 있다 ||
         지역 작업공간(local workspace)는 원격에 저장된 파일들을 프로그램의 개발을 위해서 개발자가 가지고 있는 컴퓨터에 받아서 프로그램을 수정하도록 하는 공간임.
         체크아웃(checkout) : 저장소에 있는 파일을 작업공간으로 복사해 지역 복사본을 생성.
         전송(commit) : 수정한 파일을 저장소에 반영시키는 것.
         ''만약 한개의 파일을 2명의 프로그래머가 각기 수정을 한뒤 commit한다면 이때의 상황을 어떤식으로 처리할 것인가?''
         기본적으로 Version Control 에서 관리의 가장 작은 단위는 파일이다. 그외에 한개의 프로젝트 단위로 전체 프로그램을 관리하고, 그 하부에 모듈을 기준으로 해서 소스를 관리한다.
         CVS가 각기의 파일에 할당하는 버전의 번호는 그 파일의 버전일뿐 전체 프로젝트의 버전일 수는 없다. ''(잡담:물론 따로 기능이 있지 않을까? -_-;)''
         버전 관리 시스템에서는 전체의 파일, 모듈단위, 프로젝트 단위로 이에 속한 파일들에 꼬리표라는 것을 붙이는 것이 가능하다.
         이 경우 PreRelease2를 불러들이게 되면 상기의 버전의 파일들이 불러들여지게 된다. 태그는 프로젝트의 진행에 있어서 중요한 일이 발생한 시점을 기록하는 것으로 사용되는 것도 가능하다.
         만약 한개의 파일을 가지고 2명의 사람이 동시에 수정작업을 거쳐서 체크인하게된다면 어떤 상황이 벌어질까? 아마 이대로는 한개의 파일이 쓰여지고 다른 파일이 그 파일을 덮어 쓰는 상황이 벌어질 것이다.
         파일을 체크아웃하는 시점부터 그 파일들은 읽기전용의 속성으로 변경된다. 따라서 다른 사람이 그 파일을 체크아웃하더라도 수정을 할 수는 없게되는 것이다.
         다수의 체크아웃을 허용하는 대신에 체크인을 하는 때에, 저장소에 저장된 파일들을 로컬 작업공간에 반영시킨다.
         상기와 같은 식으로 소스를 수정한뒤 fix01, fix02를 순차적으로 체크인하면 fix01에 의해서 저장소에 있는 파일이 갱신되었기 때문에 fix02가 체크인 되는 시점에서 충돌이 일어나게 된다. 이경우 CVS는 fix02의 소스에서 fix01에 반영된 3번째 줄의 변경내용을 병합하여 로컬 작업 공간에 반영하고 체크인하게된다.
  • 5인용C++스터디/멀티미디어 . . . . 22 matches
         pszSound : 연주할 사운드 파일의 이름. 파일의 경로를 넣을 더 수도 있다.
         hmod : 리소스에 있는 Wave파일을 연주할 경우 리소스를 가진 실행파일의 핸들인데, 그 외의 경우는 NULL로 준다.
         - SND_FILENAME : 첫 번째 인수인 pszSound는 사운드 파일의 이름이다.
         - SND_SYNC : 동기화된 연주를 한다. 사운드 파일의 연주가 완전히 끝나기 전에는 리턴하지 않는다.
          PlaySound 함수를 사용하려면 mmsystem.h 파일을 먼저 include 해주어야 하고,
         그 후 컴파일하고 실행한 후 작업영역을 왼쪽 마우스 버튼으로 누르면 소리가 날 것이다. 시스템에 사운드카드가 장착되어 있어야 하며 같은 디렉토리에 Battle.wav라는 파일이 있어야 할 것이다.
          앞서 만든 예제를 보면 PlaySound 함수는 사운드 파일 연주가 완전히 종료되기 전에는 리턴하지 않으므로 연주중인 동안은 어떤 일도 할 수 없다. 이런 방법을 동기화 방식이라고 한다.
          사운드 파일을 연주하는 것은 사용하기는 간단하지만 연주할 때마다 디스크에서 사운드 파일을 읽어와야 하므로 반응 속도가 느리다. 따라서 이 경우에는 사운드 파일을 리소스에 포함시켜 놓고 리소스에서 읽어서 연주하는 방법으로 하는 것이 좋을 것이다.
          앞에서 만든 예제를 수정해서 Battle.wav 파일을 실행파일에 합쳐보자.
          리소스 뷰의 팝업메뉴에서 Import 메뉴항목을 선택하고 리소스에 포함시키고자 하는 Wave 파일을 선택한다. 그러면 IDR_WAVE1이라는 ID로 리소스에 삽입될 것이다.
          리소스에 포함된 사운드를 연주하려면 PlaySound의 세 번째 인수에 SND_RESOURCE 플래그를 주고 첫 번째 인수에 리소스의 ID를 준다. 두 번째 인수에는 리소스를 가진 실행파일의 인스턴스 핸들을 주어야 하는데 MFC에서는 AfxGetInstanceHandle() 전역함수로 인스턴스 핸들을 구할 수 있다. 다음과 같이 코드를 작성해 보자.
          이렇게 하면 실행파일 속에 wav파일이 포함되어 Battle.wav파일이 없어도 연주할수 있게 된다.
          또한 프로젝트에서 이 라이브러리를 사용할 수 있도록 Project/Settings/Link 탭에 vfw32.lib를 추가한다. 그리고 동영상 파일을 프로젝트 디렉토리에 넣어두면 된다.
         szFile: MCIWnd생성시 오픈할 장치, 또는 AVI파일을 지정한다.
  • AsemblC++ . . . . 20 matches
         C 프로젝트로 빌드로 생성된 .exe파일에서 어셈블 코드를 찾아내고 그 효율성과 다른 각 IDE들의 차이점을 찾아보려는 의도로 만들어진 페이지.
         .exe파일의 어셈블 코드부분에 대한 질문. [http://zeropage.org/wiki/AsemblC_2b_2b?action=edit 지식in]
         결론부터 말을 하자면 .exe 파일에서 어셈블리 코드를 얻어낸 것이 아닙니다. 물론 그것도 가능하지만 매우 어렵죠.
         그렇다면 다른 방법이 있다는 건데... 바로 컴파일러에 어셈블리 코드를 얻어내는 기능이 있습니다.
         요즘 컴파일러들은 컴파일을 하면 오브젝트 파일(.obj)을 생성합니다. 이것은 소스를 해석해서 만들어낸 기계어 코드입니다.
         하지만 컴파일을 할 때 옵션을 붙여 오브젝트 파일 뿐 아니라 어셈블리 코드도 생성할 수도 있습니다.
         어셈블리 코드는 기계어와 거의 같다고 봐도 무방하기 때문에 컴파일러의 출력 형식의 차이 정도라고 보시면 되겠습니다.
         (생성된 어셈블리 코드를 어셈블러에 넣으면 오브젝트 파일이 나오게 됩니다.)
         이렇게 얻은 어셈블리 코드는 모든 최적화 과정이 끝난 상태이기 때문에 .exe 파일로 만들어질 때 까지 변형되지 않습니다.
         그렇기 때문에 굳이 어려운 방법을 통해 .exe 파일에서 어셈블리 코드를 얻어낼 필요가 없는 것이죠. --[상규]
         MS의 C/C++ 컴파일러에서 어셈블리 코드를 얻는 옵션은 /FA 입니다.
         이 옵션을 붙여 컴파일을 하면 .obj 파일 뿐 아니라 .asm 파일도 만들어집니다.
          .exe 파일에 대한 어셈블리 코드는 역어셈블러(아래 상협이가 말한 softice와 같은 프로그램)만 있으면 쉽게 얻을 수 있습니다. 수정에 관한 보안장치도 전혀 없구요. 하지만 .exe 파일에 대한 어셈블리 코드는 분석하거나 수정하는것 자체가 거의 불가능할 정도로 어렵습니다. 이유는... 시간이 없어서 나중에 쓰도록 하죠-_-; --[상규]
         처음에는 그냥 얼마나, 어떤식으로 컴파일러에 의해서 코드가 최적화되고 [IDE]의 버전과 종류에 따라서 어떤 차이가 존재할까 라는 단순한 물음이었지만, 지금 보니 그렇게 코드를 파해치고 분석하는게 해킹이고 크래킹 인것 같기도 합니다;; - [톱아보다]
  • PragmaticVersionControlWithCVS/Getting Started . . . . 20 matches
         이 파일이 저장된 폴더에서 다음의 명령어를 실행시킨다.
         이제 저장소에 저장된 파일을 로컬 작업공간에 체크아웃해보자. 이를위해서 일단 ~/work 라는 디렉토리를 구성하자.
         ~/work를 조사해서 ~/work/sesame 디렉토리에 정상적으로 저장소의 파일이 체크아웃되었다면 원본 파일을 삭제한다.
         상기의 '''status''' 옵션으로 확인이 가능하듯이 cvs는 자동으로 현재의 파일이 로컬 작업공간에서 수정되었다는 사실을 판단할 수 있다.
         또한 '''diff''' 옵션을 이용해서 변경된 파일이 어떤 변경이 있었는지를 조사하여 보여주는 옵션도 존재한다.
         파일을 수정, UnitTest를 거치면 수정한 내용을 저장소에 저장해야할 것이다.
         변경된 프로젝트는 '''commit''' 옵션으로 체크인시키는 것이 가능하다. 이때 '''-m''' 옵션으로 변경된 사항에 대한 주석을 다는 것이 가능하며, 만약 주석을 달지 않을 경우에는 vi 에디터가 실행되면서 주석을 저장할 수 있는 파일이 열린다.
         commit 을 통해서 저장소를 체크인하고난뒤 status로 변경된 파일의 정보를 출력하면 그 결과가 반영된 것을 알 수 있다.
         '''log'''옵션을 통해서 특정파일이 어떤 식으로 변경이 되었는지를 알 수 있다.
         이제 한개의 파일을 두사람이 동시에 변경할때 생기는 상황에대해서 살펴보자.
         상기와 같이 변경한 파일을 체크인 시킨다.
         sesame 폴더에 받아진 파일을 변경하여 체크인 시켰기 때문에 이제 aladdin 폴더에 존재하는 파일들은 더이상 최신 버전이 아니다.
         반영되는 파일은 오로지 최신버전의 파일이 저장소에 존재할 경우만이다. 그렇지 않으면 파일은 다시 받을 필요가 없기 때문에 받지 않는다.
         다음과 같이 변경을 해서 동시에 두사람이 파일의 수정작업을 하는 경우를 가정해보자.
         우선 aladdin 의 파일들을 체크인한다.
         그렇게 만든뒤에 sesame의 파일을 수정한 사람이 체크인을 한다고 생각해보자.
  • DNS와BIND . . . . 19 matches
          db 파일(DNS 데이터 베이스 파일)
          호스트->주소 맵핑하는 파일 - db.DOMAIN
          주소->호스트 맵핑하는 파일 - db.ADDR
          네임서버환경설정파일 - /etc/named.conf (BIND 버전 8)
          * db 파일
          DNS 리소스 레코드 : db 파일내의 항목들
          각 파일의 첫 항목
          * 완성된 데이터 파일
          db.127.0.0 파일
          db.cache(db.root) 파일
         == BIND 환경 설정 파일 셋업 ==
         (db 파일들은 /usr/local/named에 존재한다고 가정)
         // BIND 환경 설정 파일
          * 짧게 작성한 db 파일
          /etc/named -b conf-file (다른곳에 있는 환경설정파일 이용할때)
          grep daemon /etc/syslog.conf (syslog 메시지가 기록되는 파일을 알아냄, 여기선 /var/adm/messages)
          /etc/resolv.conf 파일에 domain movie.edu 라인 추가
          * 시동 파일 편집
  • ProjectZephyrus/Server . . . . 19 matches
          +---- bin : 실행 파일들의 저장고, 현재 빌드에서는 저장하지 않는다
          +---- lib : 컴파일에 필요한 라이브러리의 보관소
          .project : Eclipse용 project 세팅 파일
          .cvsignore : Eclipse에서 cvs에서 synch시에 무시할 파일
          java_win.bat : Windows용 RunServer 실행 batch파일
          javac_win.bat : Windows용 프로젝트 컴파일 batch파일
          javac_zp : ZeroPage Server용 컴파일 bash script (어느 서버에서나 동작 할꺼 같다.)
          ProjectZephyrusServer.jcp : JCreator용 project파일
          ProjectZephyrusServer.jcw : JCreator용 workspace 파일
          * Perspective를 CVS Repositary Explorering에서 {{{~cpp CheckOut}}}을 한다음, 컴파일이 안된다면 해당 프로젝트의 JRE_LIB가 잘못 잡혀 있을 가능성이 크다. (Win98에서 JRE가 잘못 설치되어 있을때) 방법은 ["Eclipse"]에서 Tip중 설치 부분을 찾아 보라
          * JCreator가 컴파일할 java파일의 선후 관계를 파악하지 못하여, 컴파일이 되지 못하는 경우가 있다. 이럴 경우 만들어둔 스크립트 javac_win.bat 을 수행하고, 이 스크립트가 안된다면, 열어서 javac의 절대 경로를 잡아주어서 실행하면 선후관계에 따른 컴파일이 이루어 진다. 이후 JCreator에서 컴파일 가능
          * 현재 ZeroPage와 Windows 2k상에 한글 인코딩 문제로 후자로 해야 ZeroPage서버에서 한글로 안내 메세지가 나옴. 컴파일시 해결할수 있지만 귀찮아서 --;; --상민
          * 컴파일은 주어진 javac_win.bat 로 실행하면 전체가 컴파일이 됨, Javac의 실행 위치가 path에 잡혀 있지 않다면, 절대 경로로 수정 필요 --상민
  • Gnutella-MoreFree . . . . 17 matches
         파일 공유 프로토콜인 Gnutella 에 대한 분석글
         내가 찾고자 하는 파일이 누가 가지고 있는 지 알고 있다면 굳이 P2P는 필요하지 않을 것이다.
          Query전송을 통해 네트워크내 파일의 검색과 다운로드를 가능하게 한다.
         || queryHit || 검색 Query 조건과 일치한 경우 QueryHit로 응답한다. Num Of Hits 조건에 일치하는 Query의 결과 수 Port / IP_Address (Big-endian) / Speed / Result Set File Index ( 파일 번호 ) File Size ( 파일 크기 )File Name ( 파일 이 / 더블 널로 끝남 ) Servent Identifier 응답하는 Servent의 고유 식별자 Push 에 쓰인다. ||
          1.4 파일 다운로드
          QueryHit 명령어를 받으면 파일을 초기화 하고 다운로드를 시작한다.
          을 이용하여 직접 파일이 전송된다.
          Range가 파일의 이어받기가 가능하게 함.
          <File Index>는 파일 번호이고 이는 QueryHit Result에 포함된 내용이다.
          GIV<File Index>:<Severnt Identifier>/<File Name>nn 를 보내 파일
          과 같은 HTTP GET request형식으로 응답을 하며 파일을 전송한다.
          그러나 Push Descriptor조차 보내지 못하면 파일전송은 불가능하다.
         파일을 선택하고 그 그룹의 결과값을 RelayDownload 함수의 전달인자로 보낸다.
         실제적으로 하나의 Host마다 CGnuDownload 클래스를 갖게 되며 데이타를 받는 소켓이 된다m_StartPos가 받기 시작하는 Chunk의 시작을 나타내며 ReadyFile()에서는 전의 받던 파일이 있는 지 조사후에 File을 연다.
         이어 받기를 할때에는 파일의 끝에서 -4096만큼 얻고 m_Verification 블럭의 4096크기 만큼 비교를 한 후에 이어받기를 시작한다.
  • MoreEffectiveC++/Techniques2of3 . . . . 17 matches
         opintee의 형은 pointer-to-T이다. 아마 String클래스에서는 이것이 String::StringValue의 복사 생성자 일것인데, 우리는 StringValue의 복사 생성자를 선언해 주지 않았다. 그래서 컴파일러가 자동적으로 C++내의 규칙을 지키면서 복사 생성자를 만들어 낼것이다. 그래서 복사는 오직 StringValue의 data 포인터에 해당하는 것만이 이루어 질것이다. data는 복사가 아닌 참조가 행해 질것이다. 이러한 이유로 이후, 작성되는 모든 틀래스에 복사 생성자가 추가되어야 한다.
         이제는 이러한 함수들이 더이상 필요 없다. 물론 아직 String객체의 복사는 지원된다. 복사는 참조세기를 기반한 StringValue객체에서 이루어 지는 것으로, String클래스는 다이성 이런 것을 위해서 한줄도 코딩할 필요가 없다. 그 이유는 이제 컴파일러가 만들 복사 생성자에게 모두 맡겨 버리면 기타의 것들은 모두 자동으로 생성된다. RCPtr은 스마트 포인터이다. 그사실을 기억하라, 복사시 모두 스마트 포인터가 참조를 관리해준다.
         대단하지 않은가? 누가 객체를 사용하지 않을까? 누가 캡슐화를 반대할까? 하지만, 이러한 신기한 String 클래스에 관한 기반 생각은 클라이언트 측에서 새부사항을 알필요가 없어야 밑이 나는 것이다. 알아야 할것이 없을수록 더 좋은 상태이다. 현재, String을 쓰는 기본 인터페이스는 바뀐것이 없다. 단지 참조세기의 기능이 추가되었을 뿐이다. 그래서 클라이언트는 기존 코드를 고칠 필요가 없다. 단, 재 컴파일(recompile)과 재링크(relink) 과정만이 남아 있을 것이다. 이러한 비용은 참조세기가 주는 이득에 비하면 정말 완전히 없는 비용이나 마찬가지이다. 캡슐화는 정말 좋은거다. (작성자주:뭐야 이 결론은..)
         가장 확실한 방법은 프로파일(profile)을 통해서 참조세기가 필요한 납득할 만한 이유를 찾는 것이다. 이러한 신뢰가 가는 방법은 성능의 병목 현상이 일어나는 부분에 참조세기의 적용을 통해서 더 높은 효율을 가지고 올수 있다는 증거가 될것이다. 오직 감으로 의존하여, 참조세기의 적용은 역효과를 가져다 올뿐이다.
          int data[dim1][dim2]; // 에러! 배열의 차원은 단지 컴파일 중에만 결정된다.
          // 이러한 선언은 컴파일 할수 없다.
         보자마자 이 연산자의 의도를 알것이다. 하지만 operator[][]란건 선언할수가 없다. 그리고 당신의 컴파일러역시 이것을 감안하지 않을 것이다. (오버로드(overload)와 관련한 연산자들에 관한 정보는 Item 7을 참고하라) 우리는 그외의 다른 방안을 찾아야 한다.
          // 이런 사항은 잘 컴파일 된다.
         불행히도 이러한 것은 수행되지 않는다. 컴파일러는 const와 non-const 멤버 함수의 구분을 오직 그 객체가 const인가의 여부에 따라만 판단한다. 이러한 구현은, const구별의 목적을 위해 아무런 영향을 못 끼친다.
         s1[5]의 표현은 CharProxy 객체를 반환한다. s1[5]가 output(<<) 연산자에 대하여 객체에 대하여 정의된것은 없다. 그래서 당신의 컴파일러는 operator<<에 적용할수 있는 암시적(implicit) 형변환을 찾는다. 컴파일러는 그래서 프록시 클래스 내부에 선언되어 있는 char()를 찾을수 있다. 컴파일러는 이(char) 형변환을 수행하기를 요청하고, 결과적으로 CharProxy는 문자로 변환되어서 출련되어 진다. 다시 말하지만, 이것은 CharProxy-to-char 로의 형변환이 CharProxy내부에 암시적(implicit) 형변환이 선언되어 있기 때문이다.
         Item 29에 언급된 공유플래그를 더한 StringValue객체에 관해서 다시 생각해 보자. 만약 String::operator[] 가 char&대신에 CharProxy를 반환한다면 이러한 경우는 더이상 컴파일 할수가 없다.
         s1[1]의 표현은 CharProxy를 반환하기 때문에, 두번째에서 오른쪽의 의미는 CharProxy*를 반환하는 것이다. 하지만 CharProxy*를 char*로 바꾸는 형변환은 허용되지 않기때문에 p의 초기화에서 컴파일러는 에러를 낸다. 일반적으로 proxy의 주소는 실제 객체보다 다른 포인터 타입을 가진다.
         이러한 어려움은 충분히 예상된다. operator[]가 반환하는 유리수에 관한 프록시이지 진짜 Rational객체가 아니다. numerator과 denominator 멤버 함수는 Rational위해서만 존재하지 프록시를 위해서는 존재하지 않는다. 그러므로 컴파일러가 이에 대한 수행을 못한다. 프록시를 만드는것은 그들이 의미하는 객체와 비슷한거지 완전히 동일한 객체의 기능을 제공할수 없다.
         마지막 프록시가 실패하는 진짜 객체를 교체하지 못하는 상황은 암시적(implicit) 형변환에서 기인한다. 프록시 객체는 암시적(implicit)으로 진짜 객체로 형변환할때 user-defined 형변환 함수가 불린다. 예를들어서 CharProxy는 char로 operator char을 호출해서 변화한다. Item 5의 설명을 보면 컴파일러는 user-defined 형변환 함수를 반응하는 인자로의 필요성이 있는 부분에서 해당 연산을 호출한다고 한다. 결국 함수 호출은 프록시가 전달될때 실패하면 실제 객체를 넘기는 것을 성공시켜서 가능한 것이다. 예를들어서 TVStation리하는 클래스에 watchTV 함수가 있다고 한다면:
         이 문제는 암시적 형변환이 주는 또 하나의 문제이다. 이것을 해결하기는 어렵다. 사실 TVStation에 생성자를 explicit로 선언하는 것이 더 좋은 디자인일 것이다. 그렇다면 watchTV에서 컴파일이 실패한다. explicit에 관한 자세한 설명은 Item 5를 참고하라
  • 코바예제/시계 . . . . 17 matches
         시간 객체에 대한 인터페이스는 ObjTimeServer이며 getTime()이라는 메소드를 가지고 있는데 getTime()는 문자 형식으로 현재의 시간을 반환해 준다. CORBA 객체를 작성하는 첫번째 단계는 인터페이스를 만드는 것이다. 인터페이스는 IDL로 작성되며 인터페이스는 IDL 컴파일러로 컴파일된다. 이 IDL 컴파일러는 기본적으로 사용자가 이용하는(예를들면 VisiBroker) ORB에 포함되어 있는 것이다. IDL로 작성된 인터페이스를 컴파일하면 컴파일러는 두 개의 코드 파일을 생성해 준다. 이 코드 파일들은 각 IDL 컴파일러가 사용하도록 약정된 프로그래밍 언어로 되어 있다. 여기에서 사용하는 ORB는 Java ORB이므로 코드 파일은 Java(Stub, Skeleton)로 되어 있을 것이다. IDL 컴파일러에 의해 생성되는 코드는 프록시 객체(proxy object) 및 스켈레톤 코드이다. 클라이언트는 프록시 객체를 사용하여 IDL로 표현된 인터페이스 타입의 객체 레퍼런스에 대한 호출을 생성한다. 바꾸어 말하녀 프록시 객체는 클라이언트가 작업을 위해 사용하는 대리("stand-in") 객체인데 원격 객체가 마치 지역 객체처럼 보이게 해준다는 것이다. 스켈레톤 코드는 이러한 인터페이스를 지원하는 객체에 액세스하기 위해 사용된다. 생성되는 코드는 위치 투명성을 구현한다. 위치 투명성을 통해 객체 레퍼런스를 변환하여 네트웍 연결을 퉁해 원격 서버로 보내며, 객체 레퍼런스에 대한 오퍼레이션에 따르붙는 파라미터를 ["마샬링"]하고, 이를 객체 레퍼런스가 지시하는 객체의 현재 메소드에 전달하여 메소드를 수행하고 그 결과를 반환하려고 하는 것이다. 바꾸어 말하면 클라이언트는 IDL 컴파일러에 의해 생성된 프록시 객체를 가지고 작업을 하는데, 그것이 마치 지역 객체로 작업하는 것처럼 보일 것이라는 의미이다. ORB와 통신하는 것이 프록시 객체의 임무이며 ORB는 네트웍 연결을 관리하고 파라미터를 실제 서버 함수에 넘겨주며 결과를 리턴한다. 이런 식으로 수행에 대한 투명성을 유지한다.
         이 IDL을 컴파일하면(idl2java) 스텁과 스켈레톤 코드가 생성된다.
         위의 IDL을 컴파일하면 스텁과 스켈레톤 코드가 생성된다. 컴파일러가 ObjTimeServer_Skeleton.java라는 이름의 파일을 생성하였으며, 여기에는 서버 쪽에서 사용되는 스켈레톤 코드가 들어 있다고 가정하자. 이제 이 IDL에서 지정된 인터페이스를 갖는 객체를 구현해야만 한다. 이 말은 서버 코드, 즉 구현을 작성해야 한다는 것이다. 그러한 구현 객체 클래스를 작성하기 위해서는 IDL 컴파일러에 의해 만들어진 스켈레톤 클래스와 결합해야 한다. 이 결합은 상속 또는 위임을 사용해서 이루어질 수 이다.
         위의 서버 코드를 컴파일하고 실행하게 되면 문자열화된 IOR을 반환할 것이다. 이것은 단지 인수 전달용으로 사용된다.
  • VMWare/OSImplementationTest . . . . 16 matches
         사용하면 역시 동일하게 gcc를 윈도우에서 컴파일 할 수 있습니다 그래도 저는 vc의
         스스로 자신의 커널 디버거를 만들어야 하는 거 같습니다. ) 에디팅과 컴파일
         - 커널의 컴파일 및 링킹을 담당합니다.
         - 우리는 디스켓도 사용하지 않고 바로 컴파일해서 이미지로 뜬 후 VMWare로
         = 소스 파일들 =
         - VC로 컴파일될 작은 커널
         - 부트섹터와 커널이미지를 merge하는 간단한 makeboot.c 컴파일해서 자신만의
         입니다. 따로 프로젝트를 만들어서 간단히 컴파일해서 makeboot.exe를 만들도록
         == Visual C++ 컴파일 환경 구성하기 ==
         위의 커널 소스를 컴파일 하기 위해서 VC 컴파일 환경을 구성해보도록 합니다.
         또한 컴파일 작업에서 바로 부트섹터도 컴파일하고 컴파일 끝나면 바로 부트 이미지도
         컴파일을 해봅니다.
         컴파일을 마치고 나면 아래와 같은 탐색기 모습이 될 것입니다. 마지막으로 셍성된 testos.img 가 우리의 커널 이미지가 됩니다.
  • MoreEffectiveC++/Techniques1of3 . . . . 15 matches
         자 지금까지 객체에 대한 이야기로 당신은 미칠 지경에 빠졌을 꺼다. 게다가 이것은 당신을 혼란에 빠트릴 수준까지 왔을 것이다. (첫줄만 직독직해.) 예를들어서 당신의 시스템에 프린터가 하나 밖에 없을때 프린터를 대변하는 객체의 숫자를 하나로 제한해야 하지 않을까? 아니면 하나의 파일에 대하여 16개의 파일 접근자만 허용할때 따위 같은거 말이다. 여기서는 그 해법에 관해서 생각해 본다.
         같은 코드 써서 내용만 늘린 것 같다. 하지만 조금더 언급해 본다면. Printer::maxObjects는 클래스 내부에서 10으로 초기화 시켰는데, 이는 컴파일러의 지원 여부에 따라 static const 멤버의 경우 초기화가 가능한 C++의 규칙이다.(주:참고 내용이 있었는데 몇 장인지 기억 안난다.) 그리고 maxObject에 관하여 변하지 않는 값이기에 enum으로도 쓸수 있는데, 다음과 같다.
         그리고 만약에 현재 컴파일러가 클래스 내부에서 초기화를 허용하지 않는다면 이렇게 써서 해결하라.
         위의 둘다 상단의 코드와 동일한 역할을 하는 것이다. 좋은 컴파일러 쓰시길..
         만약, using을 지원하지 않은 컴파일러라면 다음과 같은 옛날 문법을 사용할수 있다.
         자 다음과 같이, UPNumber 클래스는 Heap상에서만 사용할수 있는 객체만을 생성 할수 있다. 이것의 대안으로는 Item 26 마지막에 나온 예제와 같이 모든 생성자 만을 사역(private)화 시키는 것이지만, 이 아이디어의 문제는 많은 생성자가 모두 사역(private)으로 있어야 하고, 그것들을 반드시 기억해야 한다는 점이다. 기본 생성자는 물론, 복사 생성자를 전부 선언해 주어야 한다. 그렇지 않으면 컴파일러는 기본적으로 모두 공역(public)으로 취급하고 지역 변수를 만들수 있다. 결과적으로, 파괴자만을 사역(private)화 시키는 것이 간단하다.
          public UPNumber { ... }; // 에러! 생성자와 파괴자를 컴파일 못한다.
          UPNumber value; // 에러! 생성자와 파괴자를 컴파일 못한다.
         그렇지만 C++언어 상에서 이런 보장에 대한 스펙이 정의 되어 있지 않다 그래서 어떤 컴파일러는 다음과 같이 부를수도 있다.
         후자의 순서로 코드가 생성되어도 컴파일러에게 잘못은 전혀 없다. 그렇지만 '''set-a-bit-in-operator-new''' 방법을 사용한 상단의 예제는 두번째 순서에서는 실패 할수 밖에 없다.
         위에서 isSafeToDelete를 구현할때 다중 상속이나 가상 기초 함수으로 여러개의 주소를 가지고 있는 객체가 전역의 해당 함수를 복잡하게 할것이라고 언급했다. 그런 문제는 isOnHeap에서 역시 마찬가지이다. 하지만 isOnHeap는 오직 HeapTracked객체에 적용 시킨 것이기 때문에, dynamic_cast operatror를 활용으로 위의 문제를 제거한다. 간단히 포인터를 dynamic_cast 하는 것은 (혹은 const void* or volatile void* or 알맞는 것으로 맞추어서) 객체의 가장 앞쪽 포인터, 즉, 할당된 메모리의 가장 앞쪽에 주소를 가리키는 포인터를 의미한다. 그렇지만 dynamic_cast는 가상함수를 하나 이상 가지는 객체를 가리키는 포인터에 한해서만 허용 된다. isSafeToDelete함수는 모든 포인터에 관해서 가능하기 때문에 dynamic_cast가 아무런 소용이 없다. isOnHeap는 조금더 선택의 폭이 있어서 this를 const void*로 dynamic_cast하는 것은 우리에게 현재 객체의 메모리 시작점의ㅣ 포인터를 주게 된다. 그 포인터는 HeapTracked::operator new가 반드시 반환해야만 하는 것으로 HeapTrack::operator new의 처음 부분에 있다. 당신의 컴파일러가 dynamix_cast를 지원하면 이러한 기술은 이식성이 높다.
         컴파일시 이런 의미로 교체되는 것이라고 생각하면 된다.
         if (pa == po) ... // 이게 컴파일이 된단 말이다!
         pa와 po는 같은 것이 아니지만, 암시적(implicit) 형변환에 의해서 아주 잘 참으로 컴파일 된다. 이것은 대다수 암시적(implicit) 형변환의 문제점이다.(아직도 난감하면 Item 5를 다시 보자)
  • SmallTalk/강좌FromHitel/강의3 . . . . 15 matches
         Dolphin Smalltalk가 설치된 폴더를 열어보면 다음과 같은 파일이 있음을 알
         이 세 개의 파일이 여러분이 여벌(back up)을 받아야 하는 파일들입니다. 위
         의 파일들을 여벌 받아서 다른 곳에 각각 복사해 두면, 만일 여러분의 실수
         우 위의 세 파일을 압축하여 따로 보관합니다. 적어도 일 주일에 한 번은 위
         의 파일을 여벌 받아두는 것이 매우 좋습니다. (필자는 하루에 한 번 씩 여
         그럼 위의 파일들이 각각 무슨 역할을 하는지 간단하게나마 설명을 하도록
         이 파일은 Dolphin Smalltalk 바탕본의 바탕글(source code)입니다. 여기에
         이 파일은 Dolphin Smalltalk의 '본'(image)입니다. 앞서 말했지만, 이 본에
         이 파일은 '변경 기록 파일'(change log file)이라고 부릅니다. 이 파일
         이 파일에 기록되어 있습니다. 다시 말하면 바탕본이 어떻게 변해왔는지를
         이 파일에 기록해 두는 것입니다.
         여하튼 Dolphin Smalltalk에서 여러분은 위에서 늘어놓은 세 개의 파일을 반
  • WinCVS . . . . 15 matches
          * Path : CVS파일들(저장소)의 주소를 설정한다.
          * External Diff Program : 파일을 비교할 프로그램을 설정한다.
          * Default viewer used to open : 파일을 볼때 쓸 프로그램을 설정한다. 메모장정도면 충분하다.
          2. 추가학 파일들이 들어있는 디렉토리로 간다. (왼쪽의 탐색창을 이용하여)
          4. 파일들의 속성이 거의 자동으로 선택되니 특별한 일이 없으면 넘어가자
          5. 열심히 동작한 후 파일들이 무사히 나의 저장소에 저장되었다.
          * Local folder to checkout to : 이 파일들을 저장할 폴더의 이름을 넣어주자.
          4. 확인을 하면 파일들이 편집할 공간으로 나온다. sourcesafe의 체크인 정도로 생각하면 된다.
          1. 고칠수 있는 공간에 나온 파일들은 ReadOnly가 걸려있기 때문에 수정이 불가능하다.
          2. 수정을 하고 싶은 파일을 선택한 후 Trace - Edit Selection(툴바의 연필그림)을 선택하자
          4. 신나게 파일을 편집하도록 하자
          5. 파일을 모두 편집한 후에는 Trace - Unedit(툴바의 지우개그림)을 선택하자.
          6. 파일의 원래 상태로 돌아간다
          1. 이렇게 수정한 파일을 저장소에 보관해야한다.
          3. 변한 파일들은 저장소에 저장이 된다.
  • .bashrc . . . . 14 matches
         # bash-2.05 이후 버전을 위한 개인적 $HOME/.bashrc 파일
         # 아 파일은 대화모드 쉘을 위한 것입니다.
         # 이 파일은 너무 많은 것을 포함하고 있지만
         # 이 파일 크기를 줄이고 싶다면 이런 함수들은 스크립트로 빼도 됩니다.
         # -> 파일에 실수로 타격을 입히지 않게.
         alias ls='ls -hF --color' # 파일타입 인식을 위해 색깔을 추가
         alias la='ls -Al' # 숨겨진 파일 보기
         # 파일 & 문자열 관련 함수들:
         function ff() { find . -name '*'$1'*' ; } # 파일 찾기
         function fe() { find . -name '*'$1'*' -exec $2 {} \; ; } # 파일을 찾아서 $2 의 인자로 실행
         function fstr() # 여러 파일중에서 문자열 찾기
         function cuttail() # 파일에서 끝의 n 줄을 잘라냄. 기본값은 10
         function lowercase() # 파일이름을 소문자로 변경
         function swap() # 파일이름 두개를 서로 바꿈
  • 1thPCinCAUCSE . . . . 14 matches
          * 채점은 그 소스코드를 컴파일해서 수행파일을 만들어 채점한다.
          * 컴파일 error, 실행 시간 error , 출력 포맷이 문제에서 정한 것과 다른 경우에도 틀림.
          1. 각 문제는 데이터를 외부에서 입력받아서 프로그램으로 답을 계산한 후 반드시 출력을 한다. 이때, 입출력은 표준입출력만 사용한다. 파일 입출력문을 쓰면 안됨.
          2. 필요 없는 입출력을 하면 틀린 것으로 채점.
          3. 필요 없는 파일을 생성하거나, 표준입력을 하지 않고 파일 입력을 하면 역시 틀림.
          5. 채점 팀은 채점에 필요한 데이터를 파일로 만들어서 가지고 있다가 이를 학생의 수행파일파일 redirect를 통하여 수행파일에 입력시킨다.
  • 2thPCinCAUCSE . . . . 14 matches
          * 채점은 그 소스코드를 컴파일해서 수행파일을 만들어 채점한다.
          * 컴파일 error, 실행 시간 error , 출력 포맷이 문제에서 정한 것과 다른 경우에도 틀림.
          1. 각 문제는 데이터를 외부에서 입력받아서 프로그램으로 답을 계산한 후 반드시 출력을 한다. 이때, 입출력은 표준입출력만 사용한다. 파일 입출력문을 쓰면 안됨.
          2. 필요 없는 입출력을 하면 틀린 것으로 채점.
          3. 필요 없는 파일을 생성하거나, 표준입력을 하지 않고 파일 입력을 하면 역시 틀림.
          5. 채점 팀은 채점에 필요한 데이터를 파일로 만들어서 가지고 있다가 이를 학생의 수행파일파일 redirect를 통하여 수행파일에 입력시킨다.
  • 3rdPCinCAUCSE . . . . 14 matches
         - 소스파일의 이름은 문제에 주어진다. (예: clock.{c|cpp} )
         - 채점은 그 소스코드를 컴파일해서 수행파일을 만들어 채점한다.
         - 컴파일 error, 실행 시간 error, 출력 포맷이 문제에서 정한 것과 다른 경우에도 틀림.
         1. 각 문제는 데이터를 외부에서 입력받아서 프로그램으로 답을 계산한 후 반드시 출력을 한다. 이때, 입출력은 표준입출력만 사용한다. 파일 입출력문을 쓰면 안됨.
         2. 필요 없는 입출력을 하면 틀린 것으로 채점. 디버그 메시지 모두 지우세요.
         3. 필요 없는 파일을 생성하거나, 표준입력을 하지 않고 파일 입력을 하면 역시 틀림.
         5. 채점원은 채점에 필요한 데이터를 파일로 만들어서 가지고 있다가 파일 redirection을 통하여 수행파일에 입력시킨다.
  • ZeroPageServer/Mirroring . . . . 14 matches
          버의 설정 파일은 /etc/rsyncd.conf 파일인데, 이 파일은 자동으로 생성되지 않으므로 사
          용자가 직접 만들어 사용해야 한다. 이 파일의 설정 형식은 다음과 같다.
          ④ uid, gid : 각각 파일 전송하는 사용자와 그룹의 아이디로, 익명 접속이 가능하도록 기본값
          다음은 지금까지 살펴본 설정을 가지고 작성한 /etc/rsyncd.conf 예제 설정 파일이다.
          rsync 서비스는 슈퍼데몬 xinetd에 의해서 작동하기 때문에 /etc/xinetd.d/rsync 파일
          설정해 주어야 한다. RPM 패키지 설치시 이 파일이 제공되므로 이 파일 가운데에서 다음
          /etc/rsyncd.conf 파일의 설정이 정확한지를 체크한다.
          앞서 작성한 /etc/rsyncd.conf 예제 파일을 통하여 원격 rsync 서버에서 어떤 서비스를
          이 때 출력되는 것은 /etc/rsyncd.conf 파일에서 서비스명(모듈명)과 comment로 설정
          그러면 /rh9hwp 디렉토리에 있는 파일을 /mirror/rh9hwp_backup 디렉토리로 백업해
          이번에는 원격 서버의 레드햇리눅스9 배포판 이미지 파일을 미러링을 해보자.... 먼저
  • 데블스캠프2006/화요일/tar/김준석 . . . . 14 matches
          printf("파일이 열리지 않습니다.33");
          printf("파일이 열리지 않습니다.");
          폴더 안에있는 tar파일을 tar폴더에 해체하는것 ( untar )
          printf("파일이 열리지 않습니다.(에러1)\n");
          printf("파일이 열리지 않습니다.(에러2)\n");
          tar할 파일을 입력받고 그 파일이 폴더일경우 하위 파일과 디렉토리도 tar하는것
          if(argv[1]==argv[i]) continue; // 같은 파일인지 검사
          else tar(argv[i]); //tar로 넘겨준다 이름과 파일 주소제어포인터를
          else cout << "devil27_tar_untar [아카이브명] [압축할파일리스트]... 형식으로 해주세요.\n" << endl;
          printf("아카이브를 생성할 파일을 열 수 없습니다.\n");
          printf("아카이브 파일을 열 수 없습니다.\n");
          printf("파일을 생성할 수 없습니다.\n");
  • 새싹교실/2011/무전취식/레벨9 . . . . 14 matches
          * 파일 입출력
          * 일등이다 야홍호오호오홍호오호옿 ice breaking이 저장되지않았다니... 슬픕니다ㅜ_ㅜ제꺼가 제일길었는데... 숙제 다시 풀어보다가 생각나서 후기쓰려고 들어왔는데 일등이네요 하핫 오늘은 축젠데 노는건 내일부터 해야겠네요ㅠ_ㅠ 지지난 시간 복습을 했습니다. 스택구조에대해서 다시한번 배웠고, 파일입출력을 배웠습니당(사실 복습). 파일은 구조체로 작성되어있는데, 파일이 있는 주소와 파일을 어디까지 읽어왔는지를 기억하는 변수가 포함되어 있다고 배웠어요. 그래서 while문에서 fgets로 읽어온 곳이 null이면 break하라는 if문을 4번거쳐서(파일 내용이 4줄일경우) printf가 4번실행된다는 것을 알았어용.(맞낰ㅋㅋㅋ) 그리고 숙제로 나온 문제를 풀어주셨는데 2번이 어려웠었는데 수..수학때문이었던 것 같네용... 아직까지 dev의 공식을 모르겠어요. 나름 수학열심히했었는데.. 다시해야하나봐요ㅠ_ㅠ 수학이 모든 학문과 연관되어있다니..싫어도 꼭 제대로 공부해야할 것 같습니다ㅜ_ㅜ(그래도 선대는싫어요.)c공부도열씨미하고 수학공부도열씨미할게용 하하하하 후기 길다!! 숙제 도와주셔서 감사합니당♥히히힛 - [이소라]
          * 오옷~~ 소라가 길게 썻어 ㅋㅋ 우와우와.. 정말 레벨 9까지의 후기중에 가장 보람찬 후기군요. Ice Breaking저장 못해서 미안... 흑흑. 오늘은 축제이지만 사실 우리학교는 별로 놓게 없답니다 슬프지만 이게 현실이에요..ㅠ.ㅠ 맨날 술먹고 스타부르고. 정작 학생들이 놀자리가 없다니 이게 뭔가요 =3=!!! 이번 레벨9에서 배운내용에 대해 자세하게 남겨줘서 너무 기쁩니다. 정말. 정말 기쁨. 다음시간에도 파일 입출력을 해보고. 돌아가며 실습에 들어가봐야겠습니다. 수학. 우와 어렵죠. 소라도 수학이 약하지만 언젠가 수학이 필요한날이 올때가 있을거란다. 정말로. 정말로. - [김준석]
          * 애들이 왜케 후기가 빨라진 고에여..아직 목요일인뎅?,..ㅠㅠㅠㅋㅋㅋㅋ이번 시간은 정말롱! 유익햇어요 항상 그랬지만은 이번주는 특히! 왜냐면 수업에 빠졌었어서..ㅎㅎㅎ 뭔가 이해도 팍팍됐구요오 이번 시간에는 버블소트랑 셀렉션소트랑..과제 2,3번과 음..그 저번 시간 복습 파일 입출력! 그리고 while문에서 4번돌아가는거...힝 이거는 들어도들어도 계속 알것같으면서 모르겠어요!ㅠㅠ 어려워이잉 수업시작 되기전에 저 엄청 졸렸는데 수업할 때 맛있고 재밌어서 깼어요 잠! ㅋㅋㅋ 저 은근 열심히 들었는뎅..ㅎㅎㅎ 그리고 코딩도 해봤어요! 직접! 꺅! 근데 생각보다...할 수있었어욬ㅋㅋㅋㅋ코딩 맡겨보는거 좋은거같애요 오빠!히히 이제 이거 한번 복습하구 과제 마무리하러 가야게써용!! -[이진영]
          * 흐음.. 이번주는 정말 기분이 좋아^^ 후기를 이렇게 빨리써주다니. 이번 시간에는 나조차 생각못한 재밌는 시간이었나? 여튼.. 다음시간에도 파일 입출력 복습합니다. while문이 4번돌아가는건 fget함수 특성상 입력에서 \n을 만나면 거기서 끊어주기 때문이지=ㅂ=! 함수 특성에 대해서는 좀더 알려드리겠습니다. 가르쳐야될게 많아졌네. 그리고 역시 젤 좋은건 먹을것에 대한 유혹인가봐. ㅋㅋㅋ 아이셔 잔뜩 먹이면.. 잠 안올려나. 음.. 실험을 해봐야겠어! 여튼 진영이도 이렇게 후기 올리느라 새벽에 수고가 많아. 하번 훑어봐주고 과제 화이팅!! - [김준석]
  • AcceleratedC++/Chapter9 . . . . 13 matches
         4.2.1절 Student_info 구조체를 다루는 함수를 작성하고, 이를 한개의 헤더파일로 통합을 하는 것은 일관된 방법을 제공하지 않기 때문에 문제가 발생한다.
          '''※ 이런 식으로 헤더파일을 제공하고 실제의 구현된 소스파일은 이미 컴파일된 obj파일로 제공한다면 실제로 판매되는 컴파일러라도 그 컴파일러가 제공하는 함수의 실제구현은 볼 수가 없다.
          헤더파일은 단지 컴파일러가 컴파일을 할때 이런 함수가 존재한다고 가정만 하고, 실제로 그 함수의 코드가 존재하는 것을 확인 할 수 잇는 것은 모든 관련 오브젝트 파일을 링크한뒤에 호출할때 없다는 것을 확인할 수 밖엔 없다.'''
          만약 프로그래머가 생성자를 명시적으로 지정하지 않으면 컴파일러는 Default Constructor를 만들어주는데, 이 기본 생성자는 명시적인 초기화를 지원하지 않으며, 오로지 동일한 형의 다른 객체로의 초기화만을 제공한다.
          '''※만약 객체의 멤버로 const 멤버가 존재한다면 그 멤버는 반드시 이 표현으로만 초기화가 가능하다. 객체가 초기화 되는 시기는 생성자 코드로 진입되기 이전인데 일단 초기화된 const 멤버는 컴파일러가 그 값의 수정을 허용하지 않기 때문이다. '''
  • FoundationOfUNIX . . . . 13 matches
          * 파일을 복사하는 명령어
          * 파일 지우는 명령어
          * 파일 옮기기 mv example1 ./test1
          * 파일 새이름으로 바꾸기 mv example1 example2
          * 아까 -rwxr--r--은 (-디렉토리,파일여부 파일은 -, 디렉토리 d)(--- 사용자 권한)(---그룹 권한)(---다른사용자 권한)
          * 파일 찾기
          * find ./ -name '*.txt' (./ 현재 디렉토리 이후 모두 검색 , -name 파일을 이름으로 찾는 것을 의미, '*.txt' 패턴)
          * find ./ -name '*.txt' -ls -exec rm {} \; (현재 디렉토리 이후 *.txt 인파일을 모두 찾아서 지우기.
          * grep 파일 내용 검색하기
          * .cshrc 가 뭐하는 파일인지 설명
          * 간단한 쉘 스크립 파일 만들기
          * 먼저 만드는 방법 설명해 준다. 그후 date, ls, 한후 자신의 home 디렉토리로 가는 쉘스크립트 파일을 만들게 함
  • HelpOnUpdating . . . . 13 matches
         UpgradeScript가 하는 일은, 위키 엔진(*.php)을 업데이트하고, 기존의 위키엔진을 사용자가 변경하거나 해서 사용하고 있던 *.php는 없는지 검사하고 사용자가 변경한 *.php파일이 있다면 백업해줍니다.
         모니위키를 설치한 후에 `config/*` 및 `config.php`를 제외한 특별히 다른 아무 소스파일도 변경된 것이 없다면, 새로 다운로드 받은 압축파일을 단순히 덮어 쓰는 것 만으로도 업그레이드가 완료됩니다.
         그렇지 않고 일부 파일을 변경한 경우에는 조금 더 세심한 주의가 필요할 것입니다.
         `wiki.php`, `wikilib.php`는 가장 중요한 위키엔진입니다. 대부분 사용자가 직접 변경해서 사용하는 경우는 아마 이 두개의 파일일 것입니다.
         기존의 것을 잘 보존한 후에 새로운 파일로 교체해 줍니다.
         이것과 함께 `wikismiley.php` `lib/*.php` `plugin` 아래의 모든 파일을 새것으로 교체합니다.
         다음은 `css/*.css` `imgs/*` `theme/*` `local/*` 등등의 파일을 업데이트합니다. 기존에 사용자가 변경한 파일이 있다면 반드시 백업하시기 바랍니다.
         또한 `data/intermap.txt` 파일 등이 새롭게 갱신되어 있을 수 있으므로 이것도 업그레이드 해주어야 합니다.
         가장 쉽게 설정하는 방법은, 기존의 `config.php` 파일을 다른 이름으로 바꾼 후에 (예를 들어 `config.php.my`) `monisetup.php`를 브라우저를 통해 열어서 `config.php`를 다시 만드는 것입니다. (이 때 `chmod 2777 . data` 명령으로 미리 퍼미션을 조정해 두어야 합니다)
         새로 추가된 옵션은 `config.php.default` 파일에 담겨 있으므로 이 파일을 열어서 확인해 보실 수 있습니다.
  • RUR-PLE/Etc . . . . 13 matches
          * harvest1.wld 월드 파일을 연다.
          * harvest2.wld 월드 파일을 연다.
          * harvest3.wld 월드 파일을 연다.
          * amazing1.wld 월드 파일을 연다.
          * amazing2.wld 월드 파일을 연다.
          * amazing3.wld 월드 파일을 연다.
          * amazing5.wld 월드 파일을 연다.
          * hurdle3.wld 월드 파일을 열어서 돌려보자.(처음의 put_beeper()는 빼야함)
          * maze1.wld 월드 파일을 열어서 돌려보자.
          * rain1.wld 월드 파일을 연다.
          * rain2.wld 월드 파일을 연다. rain1과 좀 다르게 생겼다.
          * trash1.wld 월드 파일을 연다.
          * trash2.wld 파일을 연다. trash1에서 작성한 로직이 여기서도 돌아가야 한다.
  • SmallTalk/강좌FromHitel/강의2 . . . . 13 matches
          원래 Object Arts에서 제공하는 배포판의 파일 이름은 Dolphin981Setup.Exe
          이지만, 자료실의 파일명 길이 제한 때문에 위의 실행 파일을 다시 WinZip으
          2. 내리받은 파일은 zip 압축파일이므로 WinZip 등과 같이 긴 파일
          3. 압축이 풀리면 실행 파일 하나가 나오는데, 이것을 실행시키십시
          오. 자동 풀림 파일이므로 실행파일을 실행하면 바로 설치 화면
          래 명령은 여러분이 듣고싶은 음성(wave) 파일을 연주해 줍니다.
          위에서 'xxxxx.wav'를 자신이 연주하고 싶은 파일 이름으로 바꾸어 주면 됩
          로 고쳐서 실행해 보았습니다. 여하튼 위의 명령은 우리가 지정한 음성 파일
          (source code)를 찾아내는 명령입니다. 3MB가 넘는 큰 용량의 파일을 뒤져서
  • UploadFile . . . . 13 matches
         업로드 파일 이름은 유일하게 해주세요.
         동일한 파일이 업로드 된다면, 기존의 파일이 지워지고 대체 됩니다.
         다른 분이 업로드한 파일을 지우지 않도록 조심하세요.
         UploadFile매크로는 파일을 올리는 폼을 보여주고, UploadedFiles매크로는 올려진 파일의 리스트를 보여준다.
         'UploadFile'페이지 이외의 특정한 페이지에서 {{{[[UploadFile]]}}}을 사용하면, 그 페이지 이름을 하위 디렉토리로 하는 새로운 UploadFile 디렉토리가 만들어지고 그 밑으로 파일이 업로드 된다. (1단계 하위 디렉토리만 지원된다)
         == 파일 확장자를 통한 UploadFile제한 ==
         config.php의 {{{$pds_allowed}}}변수를 조정하여 UploadFile되는 파일 유형을 조절할 수 있습니다.
         이 파일들을 다른 페이지에 링크를 거는 방법은
         Upload:파일이름
         = 파일 올리기 =
         == 올라온 파일들 ==
  • 새싹교실/2011/쉬운것같지만쉬운반/2011.5.3 . . . . 13 matches
          3. C에서 exe파일이 만들어지는 과정
          4. file을 한번에 object파일로 바꾸는 컴파일말고 다른 개념이 있을까? 있다면 어떤 개념일까?
          3. 소스 코드를 작성한다 -> 컴파일(.obj파일 생성) -> 링크(다른 오브젝트와) = .exe파일 생성
          6. 전처리기는 컴파일하기 이전에 소스 코드를 완성시켜주는 역할!
          3. C에서 exe파일이 만들어지는 과정
          -컴파일→링크
          4. file을 한번에 object파일로 바꾸는 컴파일말고 다른 개념이 있을까? 있다면 어떤 개념일까?
          -컴파일을 한 줄 씩하는 인터프리터 입니다
          -컴파일을 하기 전에 소스 코드에 명령에 맞는 처리를 한다.
  • 새싹교실/2013/라이히스아우토반/1회차 . . . . 13 matches
          * printf, scanf 복습하고, 그 이외의 stdio.h에 있는 입출력 함수들을 소개할 겁니다.
          * printf, scanf 복습하고, 그 이외의 stdio.h에 있는 입출력 함수들을 소개할 겁니다.
          * 운영체제에서 갑자기 컴파일러로 건너 뛴거에 대한 설명이 없었는데.. 운영체제를 크게 보면 그 안에 컴파일러가 들어가기도 합니다.
          * 중간자 역할 (소프트웨어-운영체제-하드웨어, 고급언어-컴파일러-저급언어) 이란 점에서도 연관이 있습니다.
          1. 컴파일러란 것이 있는데, 우리가 만든 소스(코드가 들어가있는 텍스트파일)를 저급언어(사람은 이해하기 힘들고, 기계가 이해하긴 쉬운)인 어셈블리어로 바꾸어 준다.
          1. 이 기계어에 다른 필요한 이것저것 기타등등이 붙으면 실행파일이 된다. (윈도우 환경에서는 .exe가 바로 실행파일)
          1. 인터프리터라는 것도 있는 데, 코드를 프로그램으로 만들어 주는것은 컴파일러와 같지만, 컴파일러와는 다르다.
          * 이 부분 설명을 잘 못 했는데, 컴파일러는 통역병이라 하고, 인터프리터는 카투사라고 생각하면 좀 더 이해하기 쉬울지도.. 통역병은 통역이 업무지만, 카투사는 직접 듣고 일하는게 주 업.
          *컴파일러는 저급언어를 만들고, 인터프리터는 실행명령을 만듭니다. 이 만들어논 실행명령을 프로그램에 넣으면 실행이 되는거죠. 대표적인 인터프리터인 JVM을 가지고 와서 설명해야 할것 같은데.. 허허
  • ASXMetafile . . . . 12 matches
          일종의 윈도우즈미디어 메타파일. XML 스크립트로 이루어져있고 이 메타파일을 작성함으로써 플레이어를 건드리지 않고도 다양한 기능을 사용할 수 있다.
         === 윈도우즈 미디어 메타파일 확장자 ===
          * .asf 파일을 참조하는 .asx 파일
          * .wmv 파일을 참조하는 .wvx 파일
          * .wma 파일을 참조하는 .wax 파일
          하지만 해당 확장자가 참조하는 파일을 담지 않아도 재생이 가능하다 :) (예, .asx파일에 mpg, 나 mp3파일을 넣어도 재생된다)
  • AcceleratedC++/Chapter10 . . . . 12 matches
         int* p; // p는 int*라는 것을 강조하는 표현이다. C컴파일러는 * 주변의 공백을 무시하기 때문에 상기의 2개 표현은 완전히 동일하다.
          표준 라이브러리가 아닌 기본언어의 일부로서 하나 이상의 같은 타입의 객체들로 이루어진 시퀀스입니다. 단 배열 요소의 갯수는 컴파일 시에 알 수 있어야합니다.
          상기와 같은 표현은 const로 지정된 변수로 변수를 초기화하기 때문에 컴파일시에 그 크기를 알 수 있다. 또한 상기와 같은 방식으로 코딩을 하면 coord에 의미를 부여할 수 잇기 때문에 장점이 존재한다.
          상기의 예제에서 month_length의 배열의 크기를 명시적으로 나타내지 않았다는 사실에 유의. 대신에 컴파일러가 초기화된 갯수에 맞추어서 배열을 할당한다.
          === 10.5.2 여러 입력 파일과 출력 파일 다루기 ===
          파일입출력을 위해서 iostream을 파일 입출력에 맞도록 상속시킨 ofstream, ifstream객체들을 이용한다. 이들 클래스는 '''<fstream>'''에 정의 되어있다.
          <fstream>에서 사용하는 파일 이름은 char* 형이며, string 타입이 아니다. 이는 fstream library 가 만들어진 시기가 STL이 만들어진 시기 보다 앞서기 때문이다.
          만약 파일의 이름으로 string 형을 이용하고 싶다면 string형의 멤버함수인 c_str() 을 이용해서 사용하는 것이 가능하다.
  • Gof/Facade . . . . 12 matches
         예를 들기 위해, 어플리케이션에게 컴파일러 서브시스템을 제공해주는 프로그래밍 환경이 있다고 하자. 이 서브시스템은 컴파일러를 구현하는 Scanner, Parser, ProgramNode, BytecodeStream, 그리고 ProgramNodeBuilder 클래스를 포함하고 있다. 몇몇 특수화된 어플리케이션은 이러한 클래스들을 직접적으로 접근할 필요가 있을 것이다. 하지만, 대부분의 컴파일러 시스템을 이용하는 클라이언트들은 일반적으로 구문분석(Parsing)이나 코드 변환 (Code generation) 의 세부적인 부분에 대해 신경쓸 필요가 없다.(그들은 단지 약간의 코드를 컴파일하기 원할뿐이지 다른 강력한 기능을 알 필요가 없다.) 그러한 클라이언트들에게는 컴파일러 서브시스템의 강력하지만 저급레벨인 인터페이스는 단지 그들의 작업을 복잡하게 만들 뿐이다.
         이러한 클래스들로부터 클라이언트들을 보호할 수 있는 고급레벨의 인터페이스를 제공하기 위해 컴파일러 서브시스템은 facade 로서 Compiler class를 포함한다. 이러한 클래스는 컴파일러의 각 기능성들에 대한 단일한 인터페이스를 정의한다. Compiler class는 facade (원래의 단어 뜻은 건물의 전면. 외관, 겉보기..) 로서 작용한다. Compiler class는 클라이언트들에게 컴파일러 서브시스템에 대한 단일하고 단순한 인터페이스를 제공한다. Compiler class는 컴파일러의 각 기능들을 구현한 클래스들을 완벽하게 은폐시키지 않고, 하나의 클래스에 포함시켜서 붙인다. 컴파일러 facade 는저급레벨의 기능들의 은폐없이 대부분의 프로그래머들에게 편리성을 제공한다.
         서브시스템으로의 public interface는 모든 클라이언트들이 접속가능한 클래스들로 구성되며. 이때 서브시스템으로의 private interface는 단지 서브시스템의 확장자들을 위한 인터페이스이다. 따라서 facade class는 public interface의 일부이다. 하지만, 유일한 일부인 것은 아니다. 다른 서브시스템 클래스들 역시 대게 public interface이다. 예를 들자면, 컴파일러 서브시스템의 Parser class나 Scanner class들은 public interface의 일부이다.
         우리가 토론해온 클래스들은 곧 Compiler 서브시스템을 이룰 것이다. 자 이제 우리는 이 모든 조각들을 함께 묶은 facade 인 Compiler 클래스를 소개할 것이다. Compiler는 소스 컴파일과 특정 machine에 대한 코드변환기능에 대한 단순한 인터페이스를 제공한다.
  • Java Study2003/첫번째과제/노수민 . . . . 12 matches
         자바는 컴파일 시에 에러 검사를 철저하게 하고, 실행 시에 발생할 수 있는 에러에 대해서도 실행 시에 철저하게 검사를 수행함으로써 신뢰도가 높은 프로그램을 작성할 수 있도록 해 줍니다. 또한, C/C++ 프로그램 개발자들을 가장 혼란스럽게 하고, 프로그램의 치명적인 오류를 발생시킬 수 있는 포인터 및 포인터 연산을 자바에서는 사용하지 않게 함으로써, 포인터를 사용함으로써 프로그래머가 범할 수 있는 오류를 없앴다는 것입니다.
         자바는 분산환경에서 작동하도록 설계 되었습니다. 그러나, 자바는 자바 언어와 자바 런타임 시스템 내에 보안 기능이 내재되어 있기 때문에 보안성이 있는 프로그램을 개발할 수 있도록 해 줍니다. 이러한 특성은 자바 프로그램이 네트웍 환경에서 바이러스 등과 같은 프로그램이 파일 시스템을 파괴하려는 것을 막을 수 있도록 해 줍니다.
         자바는 서로 다른 이종(Heterogeneous)의 네트워크 환경에서 분산 되어 실행될 수 있도록 설계되었습니다. 이와 같은 환경에서는 응용 프로그램들이 다양한 하드웨어 아키텍쳐 위에서 실행될 수 있어야만 합니다. 이를 위해 자바 컴파일러는 이종의 하드웨어 및 소프트웨어 플랫폼에서 효율적으로 코드를 전송하기 위해 설계된 아키텍쳐 중립적인 중간 코드인 바이트코드를 생성합니다. 이는 동일한 자바 프로그램의 자바 바이트코드가 자바 가상머신이 설치되어 있는 어떤 플랫폼에서도 실행될 수 있도록 하는 것입니다. 또한, 자바는 기본 언어 정의를 엄격하게 함으로써 효율적인 이식성을 제공해 주고 있습니다. 예를 들어, int 형과 같은 기본 데이터형의 크기를 플랫폼과 무관하게 일정하게 하고, 연산자의 기능을 확실하게 규정하고 있습니다. C 언어를 이용하여 int 형을 선언할 때, 도스에서는 16비트, 윈도우 95/98/NT 등 32비트 운영 체제 환경에서는 32비트, 유닉스에서는 32비트 등 그 플랫폼에 따라 크기가 다르지만, 자바에서는 플랫폼에 상관없이 32비트로 고정되도록 하였습니다. 이는 자바 프로그램이 실행되는 환경이 자바 가상머신으로 동일하기 때문입니다.
         자바 언어로 작성된 자바 프로그램을 중간언어 형태인 자바 바이트코드로 컴파일하고, 이렇게 생성된 자바 바이트코드를 자바 인터프리터가 해석함으로써, 자바 인터프리터와 런타임 시스템이 이식(porting)된 모든 플랫폼에서 자바 바이트코드를 직접 실행할 수 있습니다.
          * 자바 Applat 에서 - 자바 Bytescode는 소스를 자바 컴파일러로 컴파일한 결과물로서 HTML 문서에 비해 크기가 매우 크며 웹 서버에서 브라우저로 전송되기까지가 많은 시간이 걸린다. 일단 전송된 애플릿은 브라우저가 수행시키므로 그 속도는 클라이언트의 시스템 환경과 브라우저가 내장하고 있는 JVM의 성능에 따라 좌우된다. 28.8K 정도의 모뎀 환경이라면 그럴듯한 애플릿을 다운 받아서 수행하는데는 많은 인내심이 필요하게 된다. 그러나, 점차 인터넷 통신 환경이 좋아지고 있으며 가정집을 제외한 대부분의 사무실과 학교 등에서는 전용 회선이 깔려 있고, 넉넉한 환경의 전용선이라면 애플릿을 구동하는데 무리가 없다. 근래에는 가정에서도 초고속 통신 환경을 싼 값에 구축할 수 있으므로 점차적으로 인터넷 환경에서 애플릿의 전송은 부담이 되지 않을 것이다. JVM도 기술적으로 많이 향상되었고, Sun뿐 아니라, IBM과 같은 매머드급 회사들이 뛰어들어 개발하고 있어 초기 지적받았던 JVM의 구동 속도는 점차 문제가 되지 않는 상황이다.
          사용자는 자바 바이트코드로 컴파일된 자바 프로그램을 실행시키기 위해서 이 자바 가상머신을 이용하면 된다.
          클래스로더는 자바 소스를 컴파일해서 생성된 클래스 파일을 로딩한다.
          클래스 파일내의 메서드, 변수들, 객체 변수들을 자바가상머신의 각 메모리에 로딩한다.
         다른 자바 프로그램에 의해 삽입(import)되어 사용될 수 있도록 작성된 자바 프로그램입니다. 이러한 자바 패키지는 기존의 프로그래밍 언어에서 사용하던 라이브러리 또는 운영체제에서 제공해 주는 API 등과 같다고 볼 수 있습니다. 자바 패키지 역시 해당 규약을 갖겠지요. 자바에서는 기본적으로 압축 파일의 형태로 'casses.zip"이라는 자바 패키지가 제공되고 있고, 압축 파일 내에는 디렉토리 단위로 패키지가 포함되어 있다.
  • VisualStudio . . . . 12 matches
         VisualC++ 6.0은 VS.NET 계열에 비하여 상대적으로 버그가 많다. 가끔 IntelliSense 기능이 안될때가 많으며 클래스뷰도 깨지고, 전체 재 컴파일을 필요로하는 상황도 많이 발생한다. ( 혹시, Debug Mode에서 돌아가다가, Release Mode에서 돌아가지 않는 경우도 있는데 보통 이는 프로그램에서 실수 태반이다. 그러나 간혹 높은 최적화로 인해 돌아가지 않을때도 있을 수 있다. )
         VS.net 에서는 프로젝트 상위 개념으로 솔루션이 존재합니다. (6.0도 그랬나? WorkSpace라는 녀석이 있었던듯... 아무튼~). 여러 프로젝트를 한 솔루션에서 관리하는 게 상당히 편해 졌더군요. 시작 프로젝트를 설정하고, 프로젝트의 컴파일 순서를 결정하는 일도 할 수 있고요.
         === 라이브러리 파일 링크 걸기 ===
          * Object/library(개체/라이브러리) 모듈 부분에서 라이브러리 파일 이름을 추가합니다.
          * 그리고 라이브러리 경로를 이 라이브러리들의 위치에 추가해야 합니다. Additional library path(추가 라이브러리 경로)에 라이브러리 파일이 있는 폴더를 추가해 주세요.
          * Show directories for:(다음 디렉토리 표시:) 드롭 다운 메뉴에서 Include Files(파일 포함)를 선택하고 include 파일이 위치한 디렉토리(예: C:\라이브러리폴더\include)를 입력합니다.
          * Show directories for:(다음 디렉토리 표시:) 드롭 다운 메뉴에서 Library Files(라이브러리 파일)를 선택하고 라이브러리 파일이 위치한 디렉토리(예: C:\라이브러리폴더\lib)를 입력합니다.
          * Show directories for:(다음 디렉토리 표시:) 드롭 다운 메뉴에서 Executable Files(실행 파일)를 선택하고 실행 파일이 위치한 디렉토리(예: C:\라이브러리폴더\bin)를 입력합니다.
          * 기본 도구 표시줄에서 Project(프로젝트) » Properties(속성) » Linker(링커) » Input(입력)을 선택하고 "Additional Dependencies(추가 의존관계)" 행에 필요한 라이브러리 파일 (예: abcd.lib)을 추가합니다.
  • 이영호/nProtect Reverse Engineering . . . . 12 matches
         두개를 고쳤지만 게임을 실행하니 원래대로 돌아가 있다는 것을 확인 후, 업데이트 파일이 있다는 것을 깨닫고, 파일을 변경 하였지만 시도는 성공 되지 않았다.
         업데이트 파일에서 host의 patch 주소를 내가 사용하는 eady.sarang.net/~dark/12/Mabi/로 고치고 여기에 파일 3개를 올리고 시도 하였더니
         gc_proch.dll 파일을 제거후 실행하였더니 gaurdcat.exe가 실행되고 debugger도 제대로 동작 하는 것을 알았다.
         2. client.exe(client가 실행될 때, gameguard와는 별개로 디버거가 있는지 확인하는 루틴이 있는 듯하다. 이 파일의 순서는 이렇다. 1. 데이터 파일의 무결성검사-확인해보지는 않았지만, 이게 문제가 될 소지가 있다. 2. Debugger Process가 있는지 Check.-있다면 프로세스를 종료한다. 3. gcupdater.exe를 서버로부터 받아온다. 4. createprocess로 gcupdater를 실행한다. 5. 자체 게임 루틴을 실행하고 gcupdater와 IPC를 사용할 thread를 만든다.)
         3. gcupdater(실행시 항상 서버에 접속하여 파일 3개를 받아온다. guardcat.exe, INST.dat, gc_proch.dll을 순서대로 받아와 자체적으로 wsprintf를 이용하여 복사한다.-아마 디버거에 API를 걸리기 싫었는지 모른다. createprocess로 guardcat.exe를 실행시킨다.)
         4. guardcat.exe(실행시 EnumServicesStatusA로 Process List를 받아와 gc_proch.dll 파일과 IPC로 데이터를 보낸다. 이 파일이 실행되는 Process를 체크하여 gc_proch.dll로 보내게 된다. 또한 IPC를 통해 client.exe에 Exception을 날리게 되 게임을 종료시키는 역할도 한다.)
         5. gc_proch.dll(이 파일은 debugger를 잡는 역할을 한다. 분석이 더 필요하다.) -> 이 파일은 dll injection 또한 막아낸다.
  • MoreEffectiveC++/Operator . . . . 11 matches
          * C++에서는 크게 두가지 방식의 함수로 형변환을 컴파일러에게 수행 시키킨다:[[BR]] '''''single-argument constructors''''' 와 '''''implicit type conversion operators''''' 이 그것이다.
         7줄 ''if ( a == b[i] )'' 부분의 코드에서 프로그래머는 자신의 의도와는 다른 코드를 작성했다. 이런 문법 잘못은 당연히! 컴파일러가 알려줘야 개발자의 시간을 아낄수 있으리, 하지만 이런 예제가 꼭 그렇지만은 않다. 이 코드는 컴파일러 입장에서 보면 옳은 코드가 될수 있는 것이다. 바로 Array class에서 정의 하고 있는 '''''single-argument constructor''''' 에 의하여 컴파일시 이런 코드로의 변환의 가능성이 있다.
         '''b[i]''' 는 int형을 반환하기 때문에 이렇게 즉석에서 맞춤 생성자로 type casting(형변환)을 컴파일러가 암시적으로 해줄수 있다. 이제 사태의 심각성을 알겠는가?
         만약 당신의 컴파일러가 엄청 낡은 거거나 제작자가 깜빡해서, 혹은 explicit를 죽어도 넣기 싫다고 할때에는?[[BR]]
         컴파일러 단에서 a생성자인 Array( ArraySize size) 에서 ArraySize 로의 single-argument constructor를 호출하기 때문에 선언이 가능하지만
         *작성자 사설: 아 나는 정말 이런 리턴이 이해가 안간다. 참조로 넘겨 버리면 대체 컴파일러는 어느 시점에서 oldValue의 파괴를 하냔 말이다. C++이 reference counting으로 자원 관리를 따로 해주는 것도 아닌대 말이다. 1학년때 부터의 고민이단 말이다. 좀 명쾌한 설명을 누가 해줬으면..
         이 문장의 해석을 컴파일러는 이렇게 받아 들인다.
         다음과 같은 코드는 컴파일러 단에서 이렇게 교체된다고 볼수 있다.
         당신이 쓰고 있는 컴파일러는 객체 ps point를 파괴하고 객체가 가지고 있는 메모리를 해제한다.
  • 간단한C언어문제 . . . . 11 matches
         *주* : 컴파일 하지말고 그냥 풀어보기 바란다.
         C언어의 컴파일러에 따라 메인함수는 저렇게 쓰일 수가 있어요;;; 특정 컴파일러는 return형이 int형이 아니라고 warnning을 내기도 하죠;; - [이영호]
          특정 컴파일러에 종속적인 프로그래밍은 좋지 않습니다. C90이라는 표준이 엄연히 존재하니까요. 특정 구현에 종속적인 프로그래밍을 한다고 하더라도, 프로그램의 심장은 표준에 따라 프로그래밍 하는게 좋습니다.
         옳지 않다. 문제점은 b=a;에 있다. const char *형을 char *형에 대입할 수 없다. 컴파일러 에러. - [이영호]
         // 이 소스는 제대로 컴파일 되며, 실행도 된다.
         옳지않다. atof함수로 float변환은 되었지만, atof함수의 프로토 타입이 있는 헤더를 추가하지 않았기 때문에 int형으로 return된다. 즉, num엔 숫자 123이 담긴다. ANSI C99에서는 프로토타입이 선언되지 않으면 컴파일되지 않도록 변했다. - [이영호]
         // 두 파일을 같이 linking
         옳지 않다. static은 C++의 private와 비슷하다. 한 파일이나 특정 로컬함수에서만 쓰인다는 것을 표현한다. - [이영호]
         // 두 파일을 같이 linking
         옳지않다. 함수의 프로토 타입이 정의되지 않았기 때문에 return형이 int형으로 바뀐다. 프로토타입은 return 타입을 컴파일러에서 알기 위해 쓰이는 것이다. - [이영호]
  • AcceleratedC++/Chapter8 . . . . 10 matches
         함수의 호출시 함수의 매개변수를 operand로 하여 행해지는 operator의 유효성을 컴파일러가 조사. 사용 가능성을 판단
          실제 컴파일시 컴파일러는 프로그래머가 지정한 타입으로 이 함수를 인스턴스화 시켜서 생성하고 바인딩한다.
          typename 은 아직 인스턴스화 되지 않은 함수를 컴파일러가 읽어들일때 타입 매개변수와 관계된 타입의 형을 생성할때 앞에 붙여야 하는 키워드 임. ex) vector<T> or vector<T>::size_type
          STL은 실제로 함수의 인스턴스화에 관한 표준적인 방식을 제정하지 않았다. 따라서 각 컴파일러마다 서로 다른 방식으로 함수를 인스턴스화한다. 따라서 자신의 컴파일러의 특징을 파악하는 노력이 필요.
          * 컴파일 링크 모델 Compiler : 실제로 인스턴스가 만들어지기 전까지는 템플릿 코드의 유효성을 알 수 없다. 에러는 링크시에 발생
         입출력 반복자는 컨테이너의 반복자이외의 존재하는 반복자를 표현하기 때문에 순방향 반복자와 구별시킴.
         istream, ostream 의 반복자를 얻음으로써 입출력 스트림을 제어하는 것이 가능하다.
         C++의 모든 입출력 연산은 타입 지정연산이다. cin>>s.midterm>>s.final>>s.homework; 에서도 타입에 따라서 다른 일을 한다.
  • AttachmentMacro . . . . 10 matches
         올리고 싶은 파일 이름 혹은 이미 첨부된 파일 이름을 {{{attachment:파일이름.확장자}}}라고 써준다.
         파일이 이미 올려 있을 경우에는 그 파일을 받을 수 있는 링크가 자동으로 걸리게 되고, 파일이 아직 업로드되지 않았다면 파일을 업로드 할 수 있는 링크가 생성된다.
         == 그림 파일에 대한 고급 옵션 ==
         === 올린 파일의 크기 및 위치 조정 ===
         모니위키 1.1.3부터 제대로 지원하게 된 WikiWyg GUI를 사용하면 좀 더 쉽게 파일을 업로드 하실 수 있습니다.
  • ClassifyByAnagram/sun . . . . 10 matches
          * 실행: java anagram.FindAnagram < 입력파일> 출력파일
          * 실행: java anagram.FindAnagram < 입력파일> 출력파일
          * 테스트중 OS 표준입력과 자바에서 직접 파일을 읽는 것과는 별 차이가 없지만, OS 표준 출력이 자바에서 직접 파일출력하는것 보다 상당히 느림을 발견. 자바에서 직접 출력하도록 코드 변경
          * 실행: java anagram.FindAnagram 출력파일 < 입력파일
          * 실행: java anagram.Anagram 출력파일 < 입력파일
  • Cpp에서의멤버함수구현메커니즘 . . . . 10 matches
         자신이 컴파일러가 되었다고 가정해 봅시다. 우리가 class를 선언하고 컴파일하려면 프로그램의 영역에 class 의 Data 들을 저장할 수 있는 "class 틀"의 정보를 담아 놓을 곳이 필요합니다.
         C++은 Strong typed language 이므로 컴파일 시간에 모든 형이 선언되고, 사용되는 것을 검증할 수 있습니다. 하지만 이는 다음과 같은 지역 변수에 국한합니다.
         그러나, 컴파일러인 우리는 이 정보를 지역 변수이든, new 로 할당이든 컴파일 시간에 인자의 type을 보고 함수 호출 유효성을 확인하고, 적절한 함수 포인터를 함수 호출하는 부분에 넣어 줄수 있습니다. 그리고 실행할 수 있는데 이 과정을 두번째에서 설명합니다.
         자 계속 우리는 컴파일러 입니다. 컴파일러인 우리는 member 함수 호출 부분을 함수의 실행코드를 가리키는 함수 포인터로 모두 교체하였습니다. 그리고 인간으로 돌아옵시다.
         라는 함수 실행 코드가 함수 영역에 선언될때 컴파일러가
         C++은 이러한 다소 황당한 수로 C와의 컴파일시 호환성을 지키면서 OOP를 구현합니다.
         만약 구현 컴파일러가, 메모리를 system으로 반환하고 접근 금지 영역으로 설정한다면, 다음 강제 접근시 access 에러가 나겠지요. 이러한 비효율적 구현 플랫폼 없을 겁니다.
  • ProjectSemiPhotoshop/SpikeSolution . . . . 10 matches
          // 읽기 모드로 파일 열기
          // 파일의 길이를 구함
          // 파일 헤더 읽기
          // BMP 파일임을 나타내는 "BM" 마커가 있는지 확인
          // 파일 읽기
          // 쓰기 모드로 파일 열기
          // 비트맵 파일 헤더 정보를 설정
          // 비트맵 파일 헤더를 파일에 쓰기
          // 나머지 데이터를 파일에 쓰기
  • VisualStuioDotNetHotKey . . . . 10 matches
         Ctrl-F12 : 선언으로 이동(예 : 대략 헤더파일 프로토타입으로 이동)
         F12 (예 : 대략 CPP파일 구현부로 이동)
         ==== 소스파일의 함수헤더만 보이기 ====
         Ctrl-M, Ctrl-L : 소스파일의 함수헤더만 보이기 (구현부는 감추고) (토글 키)
         ==== 파일로 이동 ====
         Ctrl-Shift-G : #include "파일명" 에서 "파일명" 파일로 바로 직접이동
         ==== 파일들에서 찾기 ====
         ==== 파일들에서 바꾸기 ====
  • source . . . . 10 matches
         [파일 입출력]
         [파일 입출력_1]
         [파일 입출력_2]
         [파일 입출력_3]
         [구조체 파일 입출력]
  • 문자반대출력 . . . . 10 matches
         문제 : 파일 입력으로 문자열을 입력한 후, 어떠한 알고리즘을 통해 반대로 된 문자열을 파일로 출력한다.
          * 파일 입출력 사용.
          * 읽어올 파일 : source.txt
          * 출력할 파일 : result.txt
          * 맞게 푼건지는 모르겠지만 파이썬은 자체적으로 거꾸로 해주는 함수가 있어서 솔직히 이런 문제는 풀기가 굉장히 쉽다. 위에서 저거 걸린 시간은 파일 입출력과 그 해당 함수 찾는 시간.. - 상협
          * C 에도 라이브러리로 문자열 반전 시켜주는 함수를 제공합니다. strrev()라는 함수를 사용하면 '\0'바로 전 글자부터 거꾸로 만들어주죠. 물론 ANSI 표준은 아니고 Semantec, Borland, Microsoft 에서 제공하는 컴파일러의 경우에 자체 라이브러리로 제공합니다. 이식성을 생각하지 않는 일반적인 코딩에서는 위에 나열한 컴파일러를 이용한다면 사용할 수 있습니다. - 도현
  • ACM_ICPC/2011년스터디 . . . . 9 matches
          * 네.. 이번주는 대략적인 것들을 결정하는 시간이었지요. Jolly Jumper를 제가 그냥 임의로 찍어서 문제로 하기로 해서, 5시 스터디가 끝나자마자 1시간동안 열심히 코딩해서 완성했습니다. ..그런데 Wrong Answer. 으아아ㅏ아아아아ㅏ 2시간동안 진경이랑 삽질하다 얻은 결론: 얘내들은 입출력방식이 달라서 우리가 짠 것만으로 되는게 아니고 계속 입력을 받도록 해야한다. 그리고 입력이 끝나면 프로그램이 종료되어야 하는데 뭐 -1?인가 그게 뜨도록 하려면 띄어쓰기같은 것도 없어야한다. ...결국 답은 대략 맞았지만 저런 형식때문에 2시간동안 고민한거죠. JollyJumpers하시는 형/누나들 참고하세요 ;ㅅ; ..아무튼 ACM스터디가 재밌게 잘 진행되었으면 좋겠어요~ -[김태진]
          * 생각치도 못한 표준입출력 때문에 고생했습니다. 저놈의 judge 프로그램을 이해하지 못하겠습니다. 입출력방식이 낯서네요. 입력 종료를 위해 값을 따로 주지 않고 알아서 EOF 까지 받아야한다니... 정올 현역때는 이런 문제 구경하기 힘들었는데ㅜㅜ 제가 뭘 크게 오해하고 있나요. 덕분에 c도 아니고 c++도 아닌 코드가 나왔습니다. 그리고 3N+1 문제가 25일 프로그래밍 경진대회에 1번 문제로 나왔습니다. 허허.. - [정진경]
          * 6월 1일 12시 01분, 드디어 (제가 짠 알고리즘으로, 소트해서!)졸리점퍼 Accept에 성공했습니다! 여러가지 시도를 해봐도 문제가 없었는데 왜 안되나 하다가, 결국 입출력의 문제.-_-;; 띄어쓰기도 인식하는 더러운...; 사실 코드자체가 너무 복잡해서 그걸 발견하기까지 시간이 오래 걸린 문제도 있으니, 코드를 좀 더 간결화 하는 방법도 생각해보아야 겠다고 생각했어요. 아무튼 전 다 했어요~_~(이 후기가 아니고 수업에 대한 후기를 써야하는데 말이죠;) -[김태진]
          * 생각보다 진행이 디뎠습니다. 입출력 문제가 생각보다 복잡하네요. 하지만 이래저래 여러번 해결하다보니 어느 정도 감이 잡히는 것 같기도 합니다. 졸리점퍼 숏코딩을 할까 하는데, 만약 한다면 처음 해보는 숏코딩이 되겠네요. 중도가서 책을 빌리고 공부해봐야겠습니다.(으아아 대출한도 초과) -[정진경]
          * 제 코드에 무엇이 문제인지 깨달았습니다. 입출력이 문제가 아니었어요. 숫자 범위 괜히 0이거나 3000 이상이면 "Not jolly" 출력하고 break하니까 이후에 더 적은 숫자가 들어온 경우가 무시당해서 Wrong Answer(출력 하든 안하든, 0 제외하고 3000 이상일 때만 하든 다 Wrong..;ㅅ;) 입력을 하지 않을 때까지 계속 받아야 하는데, 임의로 끊었더니 그만..... 그리고 continue로 해도 마찬가지로 3000을 제외하고 입력 버퍼에 남아있던 것들이 이어서 들어가서 꼬이게 되는! Scanner을 비우는 거는 어찌 하는 걸까요오;ㅁ;? 쨋든 그냥 맘 편하게 조건 지우고 Accepted ㅋㅋ 보증금 및 지각비 관련 내용은 엑셀에 따로 저장하였습니다. - [강소현]
          * 저번주에 온 사람들은 이제 모두 JollyJumper를 해결한거 같네요. 이제 입출력에서는 좀 덜 틀리겠죠..-_-; 다음주 나이트의 여행은.. 전 뭔가 어렵지 않을까 생각은 들지마는 코드 길이도 길고, 시간도 오래걸리고, 메모리도 많이 먹는 코드를 짜면 괜찮지 않으려나 싶네요 --; 다음주는 시험기간 전이라 스터디를 할 지 안할지 다들 의견교환을 해봐야 할거같네요 -[김태진]
          * 하면 할수록 입출력에 대한 감각이 어느 정도 살아나는 것 같습니다. 처음 접했을 때보단 생소하게 느껴지진 않네요. 처음에는 무슨 삽질을 했길래 그랬을까... 숏코딩을 처음으로 한번 해봤는데 역시 컴파일러에 대한 깊은 이해와 고도의 수학적 사고력이 요구되는듯 싶습니다. 졸리점퍼 71B는 도데체 어떤 코드일지... 처음에는 관심없었는데 해보니까 승부욕이 생깁니다.. 그것보다 해시함수나 B트리 등 심층적으로 다뤄보지 못한 알고리즘에 대한 의욕도 있지만.. 음!! 하고 싶은게 너무나 많네요. -[정진경]
  • BigBang . . . . 9 matches
          * 왜? 컴파일러는 이런거 모르기 때문.
          * java에서는 int와 boolean은 호환되지 않는다. while(1) {}는 컴파일에러.
          * switch case문에서 case는 컴파일러만 알뿐(Label이라는 소리..)
          * 함수 decorator : C++의 오버로딩을 하게 되면, 컴파일 타임에서 각각의 함수를 구분할 수 있도록 붙는 머릿말
          * #ifndef NAME : #define NAME이 되어있지 않는 경우에 작동한다. 주로 헤더파일 중복 include를 막기 위해 사용한다.
          * 비표준이지만 거의 모든 컴파일러가 지원하므로 defacto
          * 가변인자의 형을 검사하는 주체가 컴파일러가 아닌, 함수이기 때문이다.
          * 선언(Declaration) - 어떤 대상의 이름과 타입을 컴파일러에게 알려 주는 것
          * #define을 사용하면 컴파일러가 잡아주지 못해서 에러를 발생시킬 가능성이 크다. 그러나 이 말이 #define을 사용하지 말라는 의미는 아니다! 케바케로서 #define이 const보다 맞는 경우도 존재한다.
  • Bigtable기능명세 . . . . 9 matches
         Locker는 잠금파일을 이용해 TS를 관리한다.
          1. Locker는 해당 ip와 port#로 파일을 생성하며 해당 TS에게만 수정권한을 준다.
         memtable에 더이상 쓰기 연산을 수행할 수 없을 때 SSTABLE로 변환. 파일형태로 DFS에 쓴다.
          1. 마스터 서버 주소 파일저장
          1. 태블릿 서버 주소 파일저장
          1. 루트 태블릿 주소 파일저장
          1. 태블릿 서버 정보(ip, port)를 받아 파일로 저장
          1. 마스터 서버 정보(ip, port)를 받아 파일로 저장
         key와 value가 실제 저장되는 분산 파일 시스템
  • Chapter I - Sample Code . . . . 9 matches
          이런저런 소개들. (컴파일러는 무엇을 사용한다. 머 어쩌구저쩌구.)
          인스톨하는 방법인데 별 필요 없을듯.. 우리가 직접 uCOS-II 를 설치하진 않을꺼니까.. 차라리 소스를 구해다가 컴파일을 하면 몰라도.
          모든 .c 파일에서 인클루드되는 헤더파일이다. 이 파일의 내용은 타겟프로세서마다 다르게 적용시켜야한다.
          그럼 실제 코드는 (컴파일시) 다음과 같이 적용된다는것을 알 수 있다.
          uCOS-II는 여타의 DOS Application 과 비슷하다. 다른말로는 uCOS-II의 코드는 main 함수에서부터 시작한다. uCOS-II는 멀티태스킹과 각 task 마다 고유의 스택을 할당하기 때문에, uCOS-II를 구동시키려면 이전 DOS의 상태를 저장시켜야하고, uCOS-II의 구동이 종료되면서 저장된 상태를 불러와 DOS수행을 계속하여야 한다. 도스의 상태를 저장하는 함수는 PC_DosSaveReturn()이고 저장된 DOS의 상태를 불러오는것은 PC_DOSReturn() 함수이다. PC.C 파일에는 ANSI C 함수인 setjmp()함수와 longjmp()함수를 서로 연관시켜서 도스의 상태를 저장시키고, 불러온다. 이 함수는 Borland C++ 컴파일러 라이브러리를 비롯한 여타의 컴파일러 라이브러리에서 제공한다.[[BR]]
  • CppUnit . . . . 9 matches
          * Library 화일 생성 : {{{~cpp ...cppunitexamplesexamples.dsw }}} 을 연뒤 {{{~cpp WorkSpace }}}의 {{{~cpp FileView }}}에서 {{{~cpp CppUnitTestApp files }}} 에 Set as Active Project로 맞춰준다.(기본값으로 되어 있다.) 그리고 컴파일 해주면 lib 폴더에 library 화일들이 생성될 것이다.
         컴파일 후 실행해 보면 다음과 같은 (혹은 비슷한) 결과를 볼수 있다.
          * 해당 프로젝트가 있는 곳의 debug 등의 디렉토리에 해당 lib 디렉토리에 있는 testrunnerd.dll 을 복사해준다. 이는 Project Setting - Post-Build-step 의 Post-build-command 에 다음을 추가해주면 컴파일 할때마다 dll 화일을 자동으로 복사해준다.
         || VC++ 6.0 파일을 받으면 ||
         || 이렇게 변환되어 컴파일 가능하다. 두개의 프로젝트가 에러남, 하지만 dll, lib 생성에는 지장없음 ||
         || 다음과 같은 파일들을 Test Case를 작성할 프로그램에 필요하다. ||
         library path 문제일 것 같은데요. 아니면, CppUnit 이 컴파일 되어있는지 확인해야 할것 같습니다. (lib 디렉토리에 cppunitd.lib 화일이 있는지 확인) --["1002"]
          * VC6에서 작업하고 있는데요. CFileDialog를 통해 파일 path를 받으려고 하는데, TestRunner가 CFileDialog 명령을 수행하는 것보다 먼저 동작해 파일 경로를 받을 수 없습니다.. TestRunner가 실행되는 시점을 조절할 수 있나요? --[FredFrith]
  • Gof/Visitor . . . . 9 matches
         [컴파일러]가 abstact syntax tree로 프로그램을 표현한다고 하자. 컴파일러는 모든 변수들이 정의가 되어있는 지를 검사하는 것과 같은 '정적인 의미' 분석을 위해 abstract syntax tree에 대해 operation을 수행할 필요가 있을 것이다. 컴파일러는 또한 code 변환을 할 필요가 있다. 또한 컴파일러는 type-checking, code optimization, flow analysis 와 해당 변수가 이용되기 전 선언되었는지 등의 여부를 검사하기 위해서 해당 operations들을 수행할 필요가 있다. 더 나아가 우리는 pretty-printing, program restructuring, code instrumentation, 그리고 프로그램의 다양한 기준들에 대한 계산을 하기 위해 abstract syntax tree를 이용할 것이다.
         이러한 operations들의 대부분들은 [variable]들이나 [arithmetic expression]들을 표현하는 node들과 다르게 [assignment statement]들을 표현하는 node를 취급할 필요가 있다. 따라서, 각각 assignment statement 를 위한 클래스와, variable 에 접근 하기 위한 클래스, arithmetic expression을 위한 클래스들이 있어야 할 것이다. 이러한 node class들은 컴파일 될 언어에 의존적이며, 또한 주어진 언어를 위해 바뀌지 않는다.
         이 다이어그램은 Node class 계층구조의 일부분을 보여준다. 여기서의 문제는 다양한 node class들에 있는 이러한 operation들의 분산은 시스템으로 하여금 이해하기 어렵고, 유지하거나 코드를 바꾸기 힘들게 한다. Node 에 type-checking 코드가 pretty-printing code나 flow analysis code들과 섞여 있는 것은 혼란스럽다. 게다가 새로운 operation을 추가하기 위해서는 일반적으로 이 클래스들을 재컴파일해야 한다. 만일 각각의 새 operation이 독립적으로 추가될 수 있고, 이 node class들이 operation들에 대해 독립적이라면 더욱 좋을 것이다.
         예를든다면, visitor를 이용하지 않는 컴파일러는 컴파일러의 abstact syntax tree의 TypeCheck operation을 호출함으로서 type-check 을 수행할 것이다. 각각의 node들은 node들이 가지고 있는 TypeCheck를 호출함으로써 TypeCheck를 구현할 것이다. (앞의 class diagram 참조). 만일 visitor를 이용한다면, TypeCheckingVisior 객체를 만든 뒤, TypeCheckingVisitor 객체를 인자로 넘겨주면서 abstract syntax tree의 Accept operation을 호출할 것이다. 각각의 node들은 visitor를 도로 호출함으로써 Accept를 구현할 것이다 (예를 들어, assignment node의 경우 visitor의 VisitAssignment operation을 호출할 것이고, varible reference는 VisitVaribleReference를 호출할 것이다.) AssignmentNode 클래스의 TypeCheck operation은 이제 TypeCheckingVisitor의 VisitAssignment operation으로 대체될 것이다.
         type-checking 의 기능을 넘어 일반적인 visitor를 만들기 위해서는 abstract syntax tree의 모든 visitor들을 위한 abstract parent class인 NodeVisitor가 필요하다. NodeVisitor는 각 node class들에 있는 operation들을 정의해야 한다. 해당 프로그램의 기준 등을 계산하기 원하는 application은 node class 에 application-specific한 코드를 추가할 필요 없이, 그냥 NodeVisitor에 대한 새로운 subclass를 정의하면 된다. VisitorPattern은 해당 Visitor 와 연관된 부분에서 컴파일된 구문들을 위한 operation들을 캡슐화한다.
  • ToastOS . . . . 9 matches
         볼랜드 C++ 3.0 컴파일러[[BR]]
         * 파일 시스템
         음..우선 전에 플로피 1번 섹터에서 부트섹트를 읽어 들여 부트 로더를 만든다고 까지 얘기한 것 같다.그럼 커널로더는 무엇일까? 부트 로더가 할 수 없는 기이한 일들을 커널 로더가 한다. 우선 보호모드로들어가는 것과 커널을 실행가능한 상태로 재배치 시키는 일등을 한다. 왜 그런 일을 할까? 부트로더가512kb밖이 되지 않아 그런 일들을 할 수 없기 때문이다. 위에 사진에서 보면 퍼런 글씨로 kernel loader라고나오는데 전에 CAU Operating System 어쩌구...가 먼저 나온다..다만 VMWARE를 쓰기때문에 그런 글씨가 안나온다. 여하튼 커널 로더가 가지는 의미는 우선 부트로더를 만들기 위해 어쩔수 없이 썼던 짜증나는 어셈을 이제 안써도 된다...ㅋㅋ 사실 어셈은 계속 써야 된다... 다만 이제 어쎔을 주로 쓰지 않고 C에서 인라인 어쎔을 쓸것이다. 이제 Boland C 3.1 버전의 컴파일러로 커널로더와 커널을 제작하게 될 것이다. 그럼 위와 같은 것을 그냥 해주면 되는거 아니냐? 라고 반문하는 사람이 있을 것이다.. 그렇다. 그냥 해주면 된다. 우선 컴파일할때 -S라는 옵션을 두어서 어셈블리 소스를 만들고 나서 그리고 그렇게 만들어진소스의 extern들을 링크 시키고 그런 다음 EXE파일을 실행가능한 재배치상태로 만들고 나서 부트로더와 같이뒤집어 씌우면 된다.
         아차 나는 boland C 3.1버전을 쓰지만 gcc를 쓰는 사람은 MAKE PLAIN BINARY FILE이라는 PDF가 있을 것이다.찾아서 읽어보면 아주 평평한 바이너리파일을 만드는 법을 배울것이다. 참고로 C에서 평평한 바이너리 파일을 만들기 위해 몇가지 주의사항이 있다. 그 PDF파일에 적혀 있으니 읽어보도록...
         DeleteMe) bochs에서 플로피 이미지파일 추출 안하고, 직접 디스켓으로 부팅하는거 성공하시면 정보좀 흘려주세요~ ^^; --["혀뉘"]
  • ZIM/EssentialUseCase . . . . 9 matches
         ==== 파일전송 ====
          || 1. 파일을 받을 지머(Zimmer)와 보낼 파일을 선택한다. || 2. 파일을 전송한다. ||
         ==== 파일 수신 ====
          || 1. 화일 이름 & 용량을 확인한뒤 화일수신수락여부를 결정한다. || 2. 파일을 수신한다. ||
          * 관련 유스케이스 : 상대지머선택, 파일전송
          || 1. 파일을 받을 지머(Zimmer)를 선택한다. || . ||
         파일 전송에 대한 것은 Level 2 이런 식으로 말이죠..
  • 데블스캠프2006/SSH . . . . 9 matches
          * 쉽게 파일 전송하기에 좋다.
          * index.html, index.php, index.jsp 같이 index 는 기본 파일로 지정됨
          * 기타 파일이나 이미지 링크 걸때 사용
          * 간단히 vi 에서 Hello world 찍는 cpp 파일 작성
          * Makefile 작성 아래 파일명을 자신의 파일명으로 작성
          * make 로 컴파일
          * 쉘 스크립트는? 여러 명령어들을 파일로 저장하여 손쉽게 실행
          * 문제상황 : 리눅스용 프로그램을 만들어야 하는 과제가 나왔다. 해당 과제는 컴파일과 실행을 리눅스에서만 해야 한다. 그런데 vi로 하기는 싫고, visual studio 나 editplus로 작업을 하고 싶다. 어떻게 할까?
  • 레밍즈프로젝트/프로토타입/파일스트림 . . . . 9 matches
         || MFC 파일 스트림 || [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmfc98/html/_mfc_cstring.asp] ||
         || 파일복사 프로그램 || [http://blog.naver.com/kds6221.do?Redirect=Log&logNo=140013999545] ||
         || 파일입출력 예제 || [http://blog.naver.com/popo1008.do?Redirect=Log&logNo=20008968622] ||
         파일 입출력 부분에 의해 "TestFile.txt"라는 파일을 만들고,
         파일에 쓰여진 'A' ~ 'Z'까지 불러들여서 화면에 출력하는 함수 (OnReadFile()) 함수이다.
         그러나 실제 레밍즈 게임에서는 txt 파일 형식이 아니라 bitmap 형식으로의 저장과 읽기가 가능해야 하므로,
  • 정규표현식/스터디/문자집합으로찾기/예제 . . . . 9 matches
          1. 다음 파일들의 목록에서 앞에 두글자가 영어인 파일들을 찾아라.
          1. 다음 파일들의 목록에서 두번째 글자가 영어인데 b또는 c인 파일을 제외하고 찾아라.
          1. 다음 파일들의 목록에서 두번째 글자가 숫자인 파일만 찾아라
          1. 다음 파일들의 목록에서 1300대를 제외하고 찾아라.
          1. 다음 파일들의 목록에서 첫글자가 a나 c이고 마지막 숫자가 1이 아닌 파일을 찾아라.
  • APlusProject/ENG . . . . 8 matches
         Upload:APP_SetupManual_0605-0607.zip - 이전 파일
         설치할때 필요한 .NET Framework 파일은 바로 위에 파일 두개 나누어져 있습니다.
         Upload:APP_VariableName0511.zip -- 변수 이름들 정리..엑셀 파일입니다.
         해결방법: 한글 파일 참조하세요.
         === mdb 파일에 insert 쿼리시 에러 해결 ===
         해당 mdb파일의 등록정보 -> 보안 -> 인터넷게스트계정이나 게스트등...
         === 임시파일(백업용) ===
  • AcceleratedC++/Chapter4 . . . . 8 matches
          그러므로 이번장부터는 프로그램을 나눠서, 서로 다른 파일에 저장, 컴파일하는 법과, 나중에 합치는 법 등을 공부할 것이다.
          * 저 while 루프가 언제 멈출지 알수 있는가? 파일의 끝에 도달했거나, 입력받은게 등급이 아닐때일 것이다.
          * 파일의 끝에 도달했다는 것 = 읽기 실패
          * 입력받은게 등급이 아닐때(점수를 입력해야 되는데 이상한 것을 입력했을때) istream 객체 in은 실패 상태가 된다. 또한 그것을 읽지 않는다. 파일의 끝에 도달한것 처럼...
          * 분리 컴파일이랑 헤더 파일 이야기 나온다. 그냥 넘어가자.
          * 헤더 파일에서는 using namespace 이런거 쓰지 말고 그냥 풀 네임 써주자. std:vector 이렇게...
  • AseParserByJhs . . . . 8 matches
          // 원래 STL 리스트로 전체 노드를 관리했는데 지금은 사용안함. 전체 노드 리스트는 이 모듈의 cpp 파일에 전역으로 선언.
          static vec_t GetFloatVal (FILE *s); // 파일에서 Float형 값을 하나 읽는다.
          static bool LoadAse (char* filename); // ASE 파일을 읽어들인다.
          Desc - 지정된 Ase 파일을 읽어들이고 그 파일의 월드 좌표계상으로 저장된 정점들을 로컬 좌표계로 변환하며
          rewind (s); //파일포인터를 맨 앞으로..
          while (!feof (s)) //파일 스트림이 끝났는지 check!
          while (!feof (s)) //파일 스트림이 끝났는지 check!
  • Java Study2003/첫번째과제/방선희 . . . . 8 matches
          -- class파일은 그 자체가 실행파일이 아니다. 따라서 그냥 수행될 수 없으며, 이 class파일을 읽어서 해석한 후, 실행해 줄 무언가가 필요한데, 그것이 바로 JVM이다.
          * VM이란? : 자바 언어 및 그 실행 환경의 개발자인 썬 마이크로시스템즈에 의해 사용된 용어이며, 컴파일된 자바 바이너리 코드와, 실제로 프로그램의 명령어를 실행하는 마이크로 프로세서(또는 하드웨어 플랫폼) 간에 인터페이스 역할을 담당하는 소프트웨어를 가리킨다.
          * 2. 서블릿이나 JSP 는 J2EE의 구성원들로서 서버사이드 스크립트라고 합니다. JSP가 만들어진 이유가 뭐냐하면, 서블릿의 문제점을 해결하기 위해서라고나 할까... 웹 프로그래밍이란게 본질적으로 웹디자이너와의 협력이 불가피한데 서블릿의 경우에는 DISPLAY 부분을 수정하기 위해서 웹디자이너가 접근하기 어렵다는 단점이 있죠.. 이때문에 JSP가 만들어졌다고 알고 있습니다. JSP라는 파일은 웹 디자이너가 페이지를 수정하기 편하게 되어있다는게 장점이죠. JSP가 컴파일되면 서블릿이 됩니다.(이게 전부임...) 그리고 서블릿이 실행되면 실제 HTML 페이지가 클라이언트에게 전송되는 것입니다.
          "추상화" 라는 것과 밀접한 관련이 있습니다. 우리가 윈도우 운영체제를 쓸때 C 드라이브 D 드라이브를 클릭만 하면 그 안의 파일들이 다 보이죠. 하지만 실제 컴퓨터 안에서 뭐가 어떻게 돌아가는지는 알 필요가 없습니다. 그저 아이콘이 보이면 클릭해서 그 안의 파일들을 보고 열고 삭제하거나 수정하면 되는거죠.
  • MFC/Serialize . . . . 8 matches
         프로그램을 짜면서 이런 document 를 파일로 저장해야한다. 단순히 기본형의 데이터를 저장하고 불러들이기는 쉽지만, 객체단위로 이를 행하는 것은 대단히 어려운 일이다.
          직렬화 기능이 작동하는데 있어서 필요한 것. 이는 파일로 부터 객체를 읽을때 객체를 합성하는 프레임웍에 의해 사용된다.
          MFC기반의 스트림을 제공하는 클래스이다. 객체들을 파일에 출력하거나, 그것을 입력 스트립으로서 복구하는 스티리밍에 대한 메커니즘을 제공한다.
          클래스 안에는 CFile 객체가 있으며, CArchive는 실제로 이 클래스를 통해서 파일 입출력을 전담시킨다.
         구현 파일에 넣어야할 IMPLEMENT_SERIAL()는 3가지의 인수를 취한다. 첫번재는 이름, 두번재는 바로 윗 단계의 기본 클래스, 프로그램에 대한 스키마 번호(scheme number), 혹은 버전을 나타내는 부호 없는 32비트 정수를 인자로 받는다.
         이후에 클래스 정의를 수정한다면 스키마 번호를 바꾸어야 한다. (다른 버전의 파일을 읽으려 하면 예외를 발생시킨다.
          * IMPLEMENT_SERIAL() 매크로를 클래스 구현을 포함하고 있는 파일에 추가하라.
  • UnixSocketProgrammingAndWindowsImplementation . . . . 8 matches
         // 성공 시 파일 디스크립터, 실패 시 -1 리턴
         AF_UNIX : 유닉스 파일 주소 체계
         // 성공 시 파일 디스크립터, 실패 시 -1 리턴
         == close 파일을 닫는다. ==
         = server/client 공통 - 입출력 함수 =
         ◎ Visual C++에서 빈 소스 파일 하나를 연다.
         ◎ UNIX 체계에서 사용하던 함수들의 헤더파일이 Windows 기반에서는 존재하지 않을 수도 있다.
          // exit로 종료를 하면 모든 파일 디스크립터를 자동으로 닫고 종료한다.
  • ZPBoard/APM/Install . . . . 8 matches
          * PHP 디렉토리에 있는 php4ts.dll 파일을 Windows 디렉토리의 System(Windows 98의 경우) 또는 System32(Windows NT, XP의 경우) 디렉토리에 복사한다.
          * PHP 디렉토리에 있는 php.ini-dist 파일을 Windows 디렉토리에 php.ini 라는 이름으로 바꾸어 복사한다.
          * Apache의 httpd.conf 파일에 다음을 추가한다.
          * 다음과 같은 내용의 test.php 라는 파일을 만들어 웹 문서 루트 디렉토리 안에 넣는다.
          * PHP 디렉토리에 있는 php4ts.dll 파일을 Windows 디렉토리의 System(Windows 98의 경우) 또는 System32(Windows NT, XP의 경우) 디렉토리에 복사한다.
          * PHP 디렉토리에 있는 php.ini-dist 파일을 Windows 디렉토리에 php.ini 라는 이름으로 바꾸어 복사한다.
          * 제어판 -> 관리 도구 -> 인터넷 정보 서비스 에서 기본 웹 사이트의 속성으로 가서 홈 디렉토리 탭의 구성 버튼을 누른다. 거기서 추가 버튼을 눌러 실행 파일에는 c:\php\sapi\php4isapi.dll 을 찾아 넣고, 확장명에는 .php 를 넣고 확인을 누른다.
          * 다음과 같은 내용의 test.php 라는 파일을 만들어 웹 문서 루트 디렉토리 안에 넣는다.
  • html5/offline-web-application . . . . 8 matches
          * 웹 어플리케이션을 구성하는 HTML 파일이나 CSS, JavaScript, 이미지 파일 등 URL을 지정하여 브라우조로 액세스하는 파일.
          * 캐시해야 할 리소스를 브라우저에 전달하는 텍스트 파일.
          * 브라우저에 의해 다운로드되는 파일이므로 웹 서버에서 공개할 필요가 있다.
          * 예) Apache HTTP Server에서 설정할 때는 mime.types 파일을 수정하면 된다.
          * 하나의 파일 안에 같은 섹션을 여러번 등록할 수 있다.
          * 매니페스트 파일을 동적으로 생성한다.
  • woodpage/VisualC++HotKeyTip . . . . 8 matches
          *Ctrl + Tab 이 없을때 그나마 이걸로 살수있을듯 현재 열려진 윈도우 창이 목록으로 나오며 선택하면 이동함 단점은 윈도우창을 늘릴수없음 파일이름 길면 짜증남
          *컴파일시 error나 경고에 warning에 대하여 한줄씩 이동함 또 전체 문서에서 찾기(Alt + E + I) 에서 찾은결과에 대하여도 F4로 이동
          *소스 컴파일
          *역시 이동하는 기술로 BrowseGoToDefinition 이라고 함 마우스 오른쪽 팝업메뉴에도 나옴 사용법은 예를 들어 fSelect()라는 함수를 사용했을때 그함수내용을 보고싶으면 fSelect에다가 커서를 놓고 F12를 누름 (변수,define도 됨) 그럼 fSelect()가 구현된(?)곳으로 이동함 사용하면 아주 유용함 단점은 *.ncb 파일이 조금 커짐 별문제 아님 사실 마우스 오른쪽 팝업에서 쓰는걸 더 많이 씀
          *Find in File 로 현재 페이지가 아닌 전체 파일에서 찾아줌 소스분석할때 필수
         ==== header 파일에서 cpp 파일로 토글 ====
          *WndTabs를 깔면 울트라 에디트처럼 편집창밑에 열어본 페이지들이 나온다. 근데 열어본 파일이 많을경우 머가 먼지 모르게된다.
  • 데블스캠프2012 . . . . 8 matches
          || 7 |||| [http://zeropage.org/index.php?mid=seminar&category=61948 페챠쿠챠] |||| [http://zeropage.org/seminar/62023 Kinect] |||| [http://zeropage.org/62033 LLVM+Clang...] |||| |||| 새내기를 위한 파일입출력 |||| CSE Life || 2 ||
          || 8 |||| 페챠쿠챠 |||| Kinect |||| [:데블스캠프2012/셋째날/앵그리버드만들기 앵그리버드 만들기] |||| |||| 새내기를 위한 파일입출력 |||| CSE Life || 3 ||
          || 9 |||| 페챠쿠챠 |||| [http://www.hanb.co.kr/network/view.html?bi_id=1760 유지보수하기 어려운 코드 작성법] |||| 앵그리버드 만들기 |||| |||| 새내기를 위한 파일입출력 |||| 회고 || 4 ||
         || 새내기를 위한 파일입출력 || [강성현](18기) ||
  • 데블스캠프2012/다섯째날/후기 . . . . 8 matches
          * [권순의] - C++의 개념을 C에서 어떻게 적용하는지, 컴파일러가 어떻게 돌아가는지에 대해서 생각해 볼 수 있는 시간이었습니다. 재미지네요. 단계적으로 나아가는 방법이 재미있었습니다. 설명도 자세하게 해 주시고 유익한 시간이었습니다. 그러다 보니 왜 우리가 어떤 것을 사용했을 때 느리다던지 한 것에 대해서 보다 쉽게 이해할 수 있는 시간이 아니었나 합니다.
          * [서영주] - 비트맵 파일의 RGB값을 수정해서 그림에 변경을 가하고 하는 부분은 신기했습니다. 그런데 저한테는 비트맵 자체보다도 실제로 많이 쓰이는 파일 포맷을 헤더와 데이터 부분 등 정해진 구조체의 크기에 따라서 값을 집어넣기만 하니까 알아서 읽어지고 파일을 다룰 수 있었다는 점이 조금 더 신기했습니다. 비트맵이 아니라 다른 파일이라도 마찬가지로 파일 포맷을 안다면 그 파일을 손댈 수 있다는 소리일테니까요.
          * [서영주] - 정말로 CSE한 인생을 사셨구나 하는 생각이 들었습니다. 중고등학교 때 벌써 언어공부라니... 근데 인생 얘기하시면서도 맵 리듀스나 gba의 파일을 수정했던 얘기 등 중간중간에 들어있는 얘기들이 신기했습니다. 어떻게 그런걸 다 아시는지도 궁금하고. -_- 후기때도 했던 얘기지만 언젠가는 더이상 할 얘기가 없으실 때까지 얘기하시는걸 들어보고 싶습니다.
  • 만세삼창VS디아더스1차전 . . . . 8 matches
          머리속에 코딩해서 컴파일하셈
          얼른 컴파일해라
          다시 컴파일 해라
         컴파일 안된다
          내 컴파일러론 되는데 너 컴파일러 버젼업해라
          컴파일러 욕하지 마라 ㅋ
          throw FatilException # 엄연한 타이핑 오류임. 컴파일 절대안됨.
  • 실시간멀티플레이어게임프로젝트/프레임워크 . . . . 8 matches
         === 소스 파일 ===
         현재 파일
         - server.py: 서버 돌리는 파일
         - frame.py: 우리 작업할 파일
         - fileManager.py: 파일 입출력을 해줄 라이브러리
         Upload:frame_3.zip - 재동, 재선, 민수 - 파일 입출력, 이벤트 처리, 로그인
  • 이영호/미니프로젝트#1 . . . . 8 matches
         file.c -> 파일 입출력을 다루는 함수와 메세지들을 Log하는 부분을 담당한다. 일단 프로그램을 어느 정도 만들고 구현하도록한다.
         나중에 아랫부분만 컴파일 해보자. 컴파일러가 없다! 에러가 나올지 모른다.
         // 구분하지 않은 파일. 이 파일을 각 파일로 나눈다.
         // 각파일로 나눈 차후 채널로의 privmsg와 process call을 mirc처럼 분리해서 넣어야함.
  • 정규표현식/스터디/메타문자사용하기/예제 . . . . 8 matches
          1. 다음 파일들의 목록에서 앞에 두글자가 영어인 파일들을 찾아라. (posix 표현식을 사용할 것)
          1. 다음 파일들의 목록에서 두번째 글자가 숫자인 파일을 찾아라. (posix 표현식을 사용할 것)
          1. 다음 파일들의 목록에서 대문자로 시작하는 파일을 찾아라.
          1. 다음 파일들의 목록에서 소문자로 시작하는 파일을 찾아라. 적어도 2개 이상의 방법을 표현할 것
  • 호너의법칙/조현태 . . . . 8 matches
         그냥 파일로 출력할까 하다가, 어떻게든 반복을 피해보고자 버퍼를 넣었더니 더 복잡해졌다.
         음... @.@ 파일은 접근이 어렵다는 단점이..;;ㅁ;;
         1. 먼저 헤더 파일에 .h를 붙여 주시고요.
         2. strcpy를 썼으면 #include <string.h> 헤더파일도 써주셔야 할듯.
         └ 헤더파일 에러나는건 표준이전에 나온 컴파일러(97년 이전)를 써서 그러는데 C++표준 헤더는 확장자가 붙지 않습니다. 97년 이후에 나온 컴파일러를 써보세요. - [이재혁]
         그리고 제가 사용한 컴파일러(비주얼 .NET) 은 저에게 말하면 미소녀는 무료, 일반인은 밥 한끼, 미소년은 무한끼에 FTP나 HTTP로 제공해드리고 있습니다.^^
  • 2010JavaScript/역전재판 . . . . 7 matches
         = html 파일 =
         = css 파일 =
         = 대사 파일을 첨부한 HTML =
         위의 HTML파일에다가 JavaScript를 더한것.
          contents=new Array(); //대사 내용이 들어있는 javascript파일 안에 있는 배열의 이름.
          <script language="javascript" SRC="./contents.js"></script> //대사 내용을 넣은 javascript파일('contents.js')을 첨부.
         = 대사파일 (contents.js)=
  • C++스터디_2005여름/학점계산프로그램/허아영 . . . . 7 matches
         // 파일출력하려다가, 표준출력 했습니다.
          void input();//파일입력, 학점으로 전환
          //void output();//파일출력
          void name_find(); // 이름을 파일에서 받아서 저장.
          칼큘레이트(귀차니즘으로 영어 생략)함수와 스튜던트 함수 양쪽에서 둘다 파일 입출력 하는게 있는것 같은데..
          아예 한쪽은 죽어라 입출력 계산만 하고 한쪽은 자료보관만 하는계 좀더 깔끔했을지도~
  • HelpOnInstallation . . . . 7 matches
         `rcs`가 설치되었는지 확인한다. {{{/usr/bin/rlog /usr/bin/ci /usr/bin/co}}}등등의 실행파일이 있어야 한다. {{{/usr/bin/merge}}}도 필요하다. PHP gettext 모듈이 필요하다. See also MoniWikiRcs
         업그레이드를 편리하게 하려면, 플러그인을 새로 추가할 경우는 원 파일을 고치는 것보다는 새롭게 플러그인을 만들어 준다. 이렇게 하면 tar파일을 덮어쓰는 것만으로 간단히 업그레이드 할 수 있다.
         특별한 경우가 아니라면, 덮어쓰는 것만으로 업그레이드 할 수 있다. 원 파일을 수정하였을 경우라면 덮어쓰는 것을 선택적으로 해주어야 할 것이다.
          * backup : {{{?action=backup}}}해 보라. 백업은 data 디렉토리의 user와 text를 및 기타 몇몇 설정을 보존한다. pds/ 디렉토리를 보존하지는 않는다. 백업된 파일은 pds/ (혹은 $upload_dir로 정의된 위치) 하위에 저장된다.
          * restore : {{{?action=restore}}}한다. 백업된 tar 파일 목록이 나오고 tar 파일을 선택하면 관리 비번을 물어본다.
  • InternalLinkage . . . . 7 matches
         그것은 바로 InternalLinkage 때문이다. InternalLinkage 란, 컴파일 단위(translation unit -> Object Code로 생각해 보자) 내에서 객체나 함수의 이름이 공유되는 방식을 일컫는다. 즉, 객체의 이름이나 함수의 이름은 주어진 컴파일 단위 안에서만 의미를 가진다.
         하지만 InternalLinkage가 초례하는 문제는 1996 {{{~cpp ISO/ANSI C++ }}} 표준화 작업에서 인라인함수(InlineFunction)를 ExternalLinkage 로 변경해서 문제가 되지 않는다.(최근의 컴파일러들은 지원한다.).
          (->)''즉.. static 이라해도 각각의 obj 파일에 코드가 따로 들어가.. 객체가 중복 생성된다는 이야기인가..?''
          - 구형 컴파일러에서는 문제가 될 수 있지만 최근의 컴파일러에는 문제될게 없다고 말하는것 같습니다. 제 생각이 잘못된 것이라면 거침없는 지적을..^^; - [임인택]
          ''여기서 말하는 구형이란, 1996년에 변경된 표준을 지키지 않은 컴파일 것이다. 99년에 이책을 처음 접할때 오래되었다는 생각은 안들었는데... MEC++ 는 고전이 될수는 없는걸까.. --NeoCoin''
  • Java Study2003/첫번째과제/곽세환 . . . . 7 matches
         자바는 컴파일 시에 에러 검사를 철저하게 하고, 실행 시에 발생할 수 있는 에러에 대해서도 실행 시에 철저하게 검사를 수행함으로써 신뢰도가 높은 프로그램을 작성할 수 있도록 해 줍니다. 또한, C/C++ 프로그램 개발자들을 가장 혼란스럽게 하고, 프로그램의 치명적인 오류를 발생시킬 수 있는 포인터 및 포인터 연산을 자바에서는 사용하지 않게 함으로써, 포인터를 사용함으로써 프로그래머가 범할 수 있는 오류를 없앴다는 것입니다.
         자바는 분산환경에서 작동하도록 설계 되었습니다. 그러나, 자바는 자바 언어와 자바 런타임 시스템 내에 보안 기능이 내재되어 있기 때문에 보안성이 있는 프로그램을 개발할 수 있도록 해 줍니다. 이러한 특성은 자바 프로그램이 네트웍 환경에서 바이러스 등과 같은 프로그램이 파일 시스템을 파괴하려는 것을 막을 수 있도록 해 줍니다.
         자바는 서로 다른 이종(Heterogeneous)의 네트워크 환경에서 분산 되어 실행될 수 있도록 설계되었습니다. 이와 같은 환경에서는 응용 프로그램들이 다양한 하드웨어 아키텍쳐 위에서 실행될 수 있어야만 합니다. 이를 위해 자바 컴파일러는 이종의 하드웨어 및 소프트웨어 플랫폼에서 효율적으로 코드를 전송하기 위해 설계된 아키텍쳐 중립적인 중간 코드인 바이트코드를 생성합니다. 이는 동일한 자바 프로그램의 자바 바이트코드가 자바 가상머신이 설치되어 있는 어떤 플랫폼에서도 실행될 수 있도록 하는 것입니다. 또한, 자바는 기본 언어 정의를 엄격하게 함으로써 효율적인 이식성을 제공해 주고 있습니다. 예를 들어, int 형과 같은 기본 데이터형의 크기를 플랫폼과 무관하게 일정하게 하고, 연산자의 기능을 확실하게 규정하고 있습니다. C 언어를 이용하여 int 형을 선언할 때, 도스에서는 16비트, 윈도우 95/98/NT 등 32비트 운영 체제 환경에서는 32비트, 유닉스에서는 32비트 등 그 플랫폼에 따라 크기가 다르지만, 자바에서는 플랫폼에 상관없이 32비트로 고정되도록 하였습니다. 이는 자바 프로그램이 실행되는 환경이 자바 가상머신으로 동일하기 때문입니다.
         자바 언어로 작성된 자바 프로그램을 중간언어 형태인 자바 바이트코드로 컴파일하고, 이렇게 생성된 자바 바이트코드를 자바 인터프리터가 해석함으로써, 자바 인터프리터와 런타임 시스템이 이식(porting)된 모든 플랫폼에서 자바 바이트코드를 직접 실행할 수 있습니다.
         다른 자바 프로그램에 의해 삽입(import)되어 사용될 수 있도록 작성된 자바 프로그램입니다. 이러한 자바 패키지는 기존의 프로그래밍 언어에서 사용하던 라이브러리 또는 운영체제에서 제공해 주는 API 등과 같다고 볼 수 있습니다. 자바 패키지 역시 해당 규약을 갖겠지요. 자바에서는 기본적으로 압축 파일의 형태로 'casses.zip"이라는 자바 패키지가 제공되고 있고, 압축 파일 내에는 디렉토리 단위로 패키지가 포함되어 있습니다. 다음에 나오는 그림은 JDK 1.2.2 에서 제공되는 패키지를 보여주고 있습니다.
          * 인터프리터라는 방식은 컴파일 방식과 무엇이 틀리고 자바의 특징은 어떻게 되나요?
  • JavaStudy2004/자바따라잡기 . . . . 7 matches
          자바는 가전 제품에 들어갈 소프트웨어를 만들기 위해 탄생했다. 자바를 개발한 사람은 선 마이크로시스템즈 사의 제임즈 고슬링(James Gosling)이라는 사람이다. 그는 특정한 컴퓨터 칩에 대해 컴파일하여야 하는 널리 알려진 컴퓨터 언어인 C 언어의 문제점, 또 가전 제품의 긴 수명으로 인한 완벽한 호환을 가진 소프트웨어의 개발 요구, 가전 제품에 사용될 소프트웨어의 높은 신뢰성 필요 등의 문제에 대한 해결방안을 모색 해야만 됬다.
          *1. 최근의 컴퓨터 분야의 용례에서, 가상머신은 자바 언어 및 그 실행 환경의 개발자인 썬 마이크로시스템즈에 의해 사용된 용어이며, 컴파일된 자바 바이너리 코드와, 실제로 프로그램의 명령어를 실행하는 마이크로프로세서(또는 하드웨어 플랫폼) 간에 인터페이스 역할을 담당하는 소프트웨어를 가리킨다. 자바 가상머신이 일단 한 플랫폼에 제공되면, 바이트코드라고 불리는 어떠한 자바 프로그램도 그 플랫폼에서 실행될 수 있다. 자바는, 응용프로그램들이 각각의 플랫폼에 맞게 재작성 되거나, 다시 컴파일하지 않아도 모든 플랫폼에서 실행되는 것을 허용하도록 설계되었다. 자바 가상머신이 이를 가능하게 한다. 자바 가상머신의 규격은 실제 "머신"(프로세서)이 아닌 추상적인 머신을 정의하고, 명령어 집합, 레지스터들의 집합, 스택, 가배지를 모은 heap, 그리고 메쏘드 영역 등을 지정한다. 이러한 추상적, 혹은 논리적으로 정의된 프로세서의 실제 구현은, 실제 프로세서에 의해 인식되는 다른 코드, 혹은 마이크로프로세서 그 자체에 내장될 수도 있다. 자바 소스 프로그램을 컴파일한 결과를 바이트코드라고 부른다. 자바 가상머신은, 실제 마이크로프로세서의 명령어에 그것을 대응시키면서 한번에 한 명령어씩 바이트코드를 해석하거나, 또는 그 바이트코드는 실제 마이크로프로세서에 맞게 JIT 컴파일러라고 불리는 것을 이용해 나중에 컴파일될 수도 있다.
          * '''J2SE 설치와 [Eclipse]툴 사용, 컴파일, 실행'''
  • MoniWikiPo . . . . 7 matches
         msgstr "\"%s\"파일이 성공적으로 올라갔습니다"
         msgstr "파일이 성공적으로 올라갔습니다"
         msgstr "선택된 파일 지우기"
         msgstr "파일이 선택되지 않았습니다 !"
         msgstr "선택된 파일 지우기"
         msgstr "파일 올리기"
         msgstr "올린 파일"
  • NSISIde . . . . 7 matches
         특별한 녀석은 아니고. -_-; NSIS 스크립트를 작성하다가 에디터 에서 스크립트 작성하고 command 창에서 스크립트 컴파일 하고 만들어진 인스톨러 실행하다가 갑자기 생각이 나서라는. --;
          * .nsi 스크립트를 직접 컴파일해서 실행화일로 만들 수 있다. 컴파일 과정이 output 창에 표시된다.
          * 컴파일 된 화일을 테스트하여 실행해볼 수 있다.
          * .nsi 스크립트를 직접 컴파일해서 실행화일로 만들 수 있다. 컴파일 과정이 output 창에 표시된다.
          * 컴파일 된 화일을 테스트하여 실행해볼 수 있다.
  • Ruby/2011년스터디/세미나 . . . . 7 matches
          * 기본 입출력
          * "우아한" 언어인 루비를 다운받아 irb를 사용해 실습을 해보았다. 처음에 irb를 눌렀을 때, 무슨 dll파일이 없어서 실행이 안된다는 팝업창이 떴는데 확인 누르니까 알아서 잘 켜졌다. Ctrl+C를 눌렀더니 끌지 말지 여부가 떴는데 N을 눌러도 꺼졌다. irb보다는 넷빈즈를 이용하는게 좋다는 말이 와닿았다. 1+2를 치면 알아서 3이 나오는 것과 리턴 값이 항상 표시되는 것이 신기했다(없을 경우도 =>nil 로!). 루비의 블록 넘기기는 #define이랑 비슷한 느낌이 들었다. 새로운 언어임에도 쉽게 익힐 수 있어 좋았다. 하지만, 페어로 하는 만큼 실습 시간도 반감되지 않았을까 죄송스러웠다. 세미나 공지가 뜨면 노트북을 가져가도록 해야겠다. - [강소현]
          * 그건 irb의 문제인거같습니다..ㅋㅋ 파일명.rb로 파일을 작성한 다음 '''ruby 파일명'''으로 컴파일/실행할 수도 있어요~ - [서지혜]
          * 진짜 한번쯤 건드려보고 싶은 언어였는데 차일피일 미루다가 드디어 해봤습니다. 루비의 문제점도 많이 보였지만 그래도 (제 입장에서는) 직관적인거 같아서 좋았습니다. 시간이 된다면 irb로가 아닌 editor를 이용해서 편집한 소스코드를 컴파일하고 돌려보는 방법도 해보면 좋겠어요. - [지원]
  • SubVersion . . . . 7 matches
          * 커밋 단위가 파일이 아닌 체인지셋입니다. CVS에서라면 여러 개의 파일을 한꺼번에 커밋하더라도 각각의 파일마다 리비전이 별도로 붙습니다. 반면 Subversion에서는 파일별 리비전이 없고 한번 커밋할 때마다 전체 변경 사항에 대해 리비전이 하나씩 증가합니다.
          * 파일 이름 변경, 이동, 디렉토리 버전 관리도 지원. CVS는 이것을 지원하지 않습니다.
          * 트리별, 파일별 접근 제어 리스트. 저장소 쓰기 접근을 가진 개발자라도 아무 소스나 수정하지 못하게 조절할 수 있습니다.
         [ZeroPageServer/SubVersion] 참고하여 설정하면 됨. ssh 터널링이라서 ;; crypt 형태의 설정 파일을 아직 지원안하네 - [eternalbleu]
  • UbuntuLinux . . . . 7 matches
         하지만 grub메뉴얼을 읽어보니까 내 경우도 듀얼부팅이 가능한가보다. 우분투는 설정파일 이름이 달라서 찾기 힘들었다. /boot/grub/menu.lst 라는 데 있으니 헤메지 맙시다. 설정파일에 다음을 추가하면 된다.
         모듈 적재 파일은 /etc/modeprobe.conf 를 새로 만들면 되는데 다른 리눅스에서는 이 파일이 /etc/conf.modules인가보다. 우분투는 파일 이름이 조금씩 다른 듯 하다. :( 헷갈리게 스리!)
          * 우분투를 깔면 gcc가 처음부터 깔려 있지는 않다. 그래서 sudo apt-get install gcc 해서 gcc 를 받고 간단한 것을 컴파일 하면 기본적인 라이브러리들이 없다면서 컴파일이 안된다. 이때 g++ 도 위와 같은 방식으로 깔면 문제는 해결된다.
  • pragma . . . . 7 matches
         C 와 C++ 을 구현한 각각의 컴파일러에는 포팅된 하드웨어나 OS 에 의존적인 몇몇가지들의 기능을 가지고 있다. 일례로 몇몇의 프로그램들은 메모리에 데이터가 어떠한 방식으로 자리잡을 것인지 에 관한 문제나 함수가 파라미터들을 조작하는 방법들에 대한 세밀한 조작이 요구된다. #pragma 지시어들은 C 와 C++ 언어 안에서 최소한의 호환성을 유지시키며 그러한 시스템 의존적인 명령어들을 언어의 기능으로서 포함시키는 일을 한다. Pragma 지시어들은 일반적으로 '''컴파일러들 마다 서로 다르다'''.
         하지만, 이러한 경고는 Visual C++ 6.0 에서만 유효한것이고, VS.NET 부터 추가 세팅이 필요 없다. VC++ 6.0 에서는 map은 물론 STLPort 나, [Boost] 사용하는 것을 권장하지 않는다. 더 이상 MS 측의 컴파일러 기술 지원이 없으므로, VS.NET 이상 버전을 사용해야 한다.
         뿐만 아니라 lib의 추가등이라던지 이 파일이 단 한번만 열리게 할 수도 있다.
         #pragma comment(lib, "d3dx9") // dx9.lib 파일을 링크시 포함한다.
         #pragma once // 이 파일은 한번만 열리게 한다.
         혹시라도.. 저 #pragma warning(disable: n ... m) 을 써서 언제나 문제를 해결 할 수 있을거라고 생각하시면 안됩니다. 저 위의 설명에도 씌여있듯이, pragma directive 는 지극히.. 시스템에 의존적입니다. 그러므로, VC 에서는 먹힌다는 저 명령어가 GCC 에서는 안될수도 있고.. 뭐 그런겁니다. 확실하게 쓰고싶으시다면.. 그 컴파일러의 문서를 참조하는것이 도움될겁니다.
  • 문자반대출력/허아영 . . . . 7 matches
         *(pCh+lenstr-i) = temp[i]; 이렇게 코딩해서, 컴파일은 되는데, 결과물이 안나와서 답답했었다.
         그리고 파일 입출력도 익숙치 않다. 연습좀 해야겠다.
         /*파일에서 입력받은 문자열을 반대로 출력하는 프로그램*/
          fgets(ch, 50, fp1); //파일에서 읽어옴
         {{{~cpp /*파일에서 입력받은 문자열을 반대로 출력하는 프로그램 ver.2*/
          fgets(ch, 50, fp1); //파일에서 읽어옴
  • 새싹교실/2011/學高/1회차 . . . . 7 matches
          * printf()를 사용하기 위해 include 시켜야하는 library(~.h로 끝나는 파일)은 무엇인가?
          * I/O(입출력장치)
          * printf()를 사용하기 위해 include 시켜야하는 library(~.h로 끝나는 파일)은 무엇인가?
          * #include <stdio.h> : stdio라는 헤더파일의 함수를 사용하기 위해 include 하겠다
          * printf()를 사용하기 위해 include 시켜야하는 library(~.h로 끝나는 파일)은 무엇인가?
         CPU의 입출력장치에 뭐가 있는지 배웠다.
          * printf()를 사용하기 위해 include 시켜야하는 library(~.h로 끝나는 파일)은 무엇인가?
  • 새싹교실/2012/개차반 . . . . 7 matches
          * 컴파일러의 역할과 compile -> link -> build 과정 설명
          * 컴파일러 (complier)
          * 제어장치와 연산장치, 메모리, 입출력장치로 구성
          * 헤더 파일
          * 이미 존재하는 함수를 가져다 쓰려 할 때 헤더파일을 불러와서 사용한다
          * 컴파일러에 의해 이미 정해져 있는 이름 (identifier)
          * 헤더 파일 <stdio.h>
  • C++ . . . . 6 matches
          * ["파일 입출력_1"]
          * ["파일 입출력_2"]
          * ["파일 입출력_3"]
  • Eclipse . . . . 6 matches
          * Ctrl + H Search에서 파일 검색, *.java 파일 검색, ;를 검색한다. 아~ 멋진 Search기능 --;
          * Ctrl + H Search에서 파일 검색, *.java 파일 검색, * 로 검색한다. String Set을 검색한다.
         ||Shift+F2|| Open External {{{~cpp JavaDoc}}} , 프로젝트 상에 doc 파일이 있을시 그곳을 뒤져{{{~cpp JavaDoc}}}을 연다. 처음 열때 Help창 오래 걸림||
          * [neocoin]:정말 Java Source Editor면에서는 이것보다 나은것을 찾지 못하겠다. CVS 지원 역시 훌륭하고, Project파일 관리 면에서도 우수하다. 하지만 가장 인상 깊었던건 오픈 프로젝트라서, 이걸 볼수 있다는 점이다. 바로 [http://64.38.198.171/downloads/drops/R-2.0-200206271835/testResults.php org.eclipse.core.tests] 이런것을 각 분야별로 수백개씩 하고 있었다. 이런것은 나에게 힘을 준다. --상민
  • RubyLanguage/InputOutput . . . . 6 matches
          * 루비의 파일 입출력
          * 파일을 연다
          * 파일을 new로 부르지 않고 사용할 수 있다.
          * 루비에서 열린 파일은 가비지 콜렉터에 의해 닫혀진다.
          * foreach : 한 줄씩 읽어옴. 다 읽은 후 파일을 자동으로 닫는다.
  • UploadedFiles . . . . 6 matches
         {{{UploadedFiles}}}플러그인은 이미 업로드 된 파일 목록을 보여주는 플러그인이다.
         {{{[[UploadedFiles]]}}} : 현재 페이지에 첨부된 파일 목록을 보여준다. pds/현제페이지이름/* 하위의 모든 파일 목록을 보여주게 된다.
         {{{[[UploadedFiles(페이지이름)]]}}} : 지정된 페이지에 첨부된 파일 목록을 보여준다.
         /!\ UploadedFiles 플러그인은 액션과 매크로를 동시에 지원하므로, 주소창에 {{{?action=uploadedfiles}}}를 덭붙여 주면 그 페이지에 첨부된 파일을 보여줍니다.
         모니위키는 업로드된 파일의 검색(이름 및 내용)을 지원하지 않습니다.
  • WOWAddOn/2011년프로젝트/초성퀴즈 . . . . 6 matches
         Eclipse에서 Java외의 다른것을 돌리려면 당연 인터프리터나 컴파일러를 설치해주어야 한다. 그래서 Lua를 설치하려했다. LuaProfiler나 LuaInterpreter를 설치해야한다는데 도통 영어를 못읽겠다 나의 무식함이 들어났다.
         설치된경로를 따라 Eclipse의 Profiler말고 Interpreter로 lua.exe로 path를 설정해주면 Eclipse에서 Project를 만든뒤 출력되는 Lua파일을 볼수 있다.
         기본 프로그램 정보를 담고있는 *.toc파일.
         처음에 문제가 생겼었는데 Eclipse에서 테스트하던 string.find(msg,"시작")이 WOW에서 글씨가 깨지며 정상 작동하지 않았다. 그 이유는 무엇이냐 하면 WOW Addon폴더에서 lua파일을 작업할때 메모장을 열고 작업했었는데 메모장의 기본 글자 Encoding타입은 윈도우에서 ANSI이다. 그렇기 때문에 WOW에서 쓰는 UTF-8과는 매칭이 안되는것! 따라서 메모장에서 새로 저장 -> 저장 버튼 밑에 Encoding타입을 UTF-8로 해주면 정상작동 한다. 이래저래 힘들게 한다.
         다음 : 채팅창과 lua파일을 연동해서 모든 메시지를 처리하는걸 보자.
         넣고 싶은 이벤트를 누르고 Create버튼을 누르면 Function을 제작할 수 있게되고 Lua파일에 자동으로 Script가 등록되게 된다.
  • ZeroPageServer/SubVersion . . . . 6 matches
          svnserver을 이용하면 사용이 간편하고 서버를 관리하기도 편하지만, 아직 SubVersion이 계정 파일로 encrypt 된 것을 지원하지 않기 때문에 패스워드 노출의 소지가 상당히 높아서 이용하지 않았다. 차후 subversion 이 이 사항을 지원하면 추가하는 것이 좋을 듯 함.
          keyphrase 는 주의해서 만들어야한다. 이는 private-key에 암호를 부여하는 기능으로 키파일이 악의적
          사용자에게 복사되었을 때 어느정도의 안전성을 보장한다. 만약 설정하지 않으면 파일만 있다면 기타의
          만약 키가 다수개가 존재한다면 바로 다음줄에 붙여넣으면 된다. 만약 파일이 없다면 동일한 파일이름을
          접속하기 위해서 따로 암호를 칠 필요가 없다. 물론 키파일은 rsa로 암호화된 상태이기 때문에 사용자가
  • 권영기/web crawler . . . . 6 matches
         === 파일 다운로드하기 ===
          * prepare는 앞의 4개 소스를 적절히 조합한 python 파일
          * 파일을 저장할 떄 소스 파일에 저장이 되서 지저분하다. o
          * 필요하지 않은 파일까지 전부 긁어온다. o
          * 내가 인터넷에서 jpg 파일 긁어오려고 만든 파이썬 코드 있는데 혹시 필요함? - [서민관]
  • 데블스캠프2006/준비/월요일 . . . . 6 matches
         문법,함수,MSDN,SVN,SSH,파일입출력
         || 문법 || 함수 || MSDN || SVN,SSH || 파일입출력 || 계정 및 따로 공부 ㅋㅋ ||
         ||am 03:00~04:00 || 파일 입출력 || 이규완 (05)||
  • 데블스캠프2013/셋째날/후기 . . . . 6 matches
          * 음... 사실 정말 열심히 준비를 해서 최대한 차근차근 쉽게 설명을 해 보자고 생각을 했는데... 그래도 역시 처음 접하는 것이라 그런지 그렇게 간단하게 진행되지는 않은 것 같아서 마음에 아쉬움이 남습니다. 새내기들이 파일 포인터랑 파일 입출력을 조금이라도 알고 있었으면 훨씬 수월했을텐데 말이죠. 그래도 제가 할 수 있는 전력을 다 했다고 생각하고, 앞으로 똑같은 주제로 세미나를 한다고 해도 더 낫게는 못 할 겁니다. 따라서 앞으로 같은 주제로 세미나를 할 일은 아마 없지 않을까 싶습니다. 부탁이라도 들어오지 않는 이상. 이것 때문에 마음 걱정이 커서 밥을 먹어도 먹는 느낌도 없었는데, 그래도 스스로 만족스러울 만큼은 한 것 같아서 속이 후련하고 또 조금은 아쉽기도 합니다. - [서민관]
          * 역시 명불허전 머신러닝! C언어 입출력에서 이렇게 나를 괴롭힐줄이야.. 코딩하면 코딩할수록 '내가 지금 펜을 잡고 생각을 정리해야하는데, 왜 타자기만 잡고 있는 것인가'라는 생각을 하게 되었습니다. 페어 프로그래밍이어서 더 떨렸습니다... 멍청한거 들킴; 제출된 코드 중 파이썬 코드가 있었는데 참 맘에 들더군요. 로직에만 집중할 수 있도록 해주는 언어! 파이썬! - [박성현]
          * 맨붕...c++을 주력언어로 삼아야하는 입장에서 파일입출력도 기억이 안나고 자바 문법이랑도 햇갈려버리는 상황을 당해서 "아 c++님... 이러시면 안됩니다.. 내 머리에서 떠나시면 안되요,."라는 생각밖에 안들어서 혼란속에서 코딩을 한 기억이 남는 세션이였습니다. 흑... 그래도 이렇게 어느정도 많은 데이터를 가지고 놀 기회가 있었으면 좋겠네.. 하는 생각만 하고 있던차에서 이런 기회를 얻게 되서 의의가 있었던 세션이었습니다. - [김윤환]
  • 문자반대출력/조현태 . . . . 6 matches
         처음 테스트한 파일이 러브데스티니의 가사여서 한글이 있었다..OTL
          //파일을 읽어옵니다.
          cout << "파일을 열 수 없습니다.\n";
          //파일을 기록합니다.
          cout << "파일을 쓸 수 없습니다.\n";
          //기록을 역으로 재생하며 파일을 출력합니다.
  • 상협/삽질일지/2002 . . . . 6 matches
          * 이번 삽질은 정말 중대한 삽질이었다. 1학기 평점을 좌우한다고 볼 수 있는 삽질이었다. 1학기 중간고사 대채용으로 내는 자바 프로젝트에서 소켓 부문을 맡은 친구가 알수 없는 에러때문에 엄청난 삽질을 해서 더이상 나아갈수 없다고 했었다. 메신저에서 통신이 안되다니.. ㅡㅡ;; 그 에러는 "No Such Method Found" 에러다. 그러한 Method가 분명히 있는데도 불구하고 안되었다. 나는 황당했다. 그 친구가 자바는 많이 안했어도 MFC랑 C++을 잘해서 소켓을 맡았는데... 나도 그 에러를 같이 찾기 위해서 삽질을 하였다. 소스도 길고 내가 짠것도 아니어서 정말 못 찾을거 같았다. 그 소스는 특성학 모든 클래스가 딱 서버, 클라이언트 두 파일 안에 들어 있었다. 그래서 난 그 클래스들을 각자 파일로 분리해 보기로 했다. 잘 안풀리니깐 한번 정리나 해보면 뭐좀 어떻게 될까 싶은 마음에 그렇게 했다. 그렇게 정리를 하다 문득.. ㅡㅡ;; 같은 이름의 클래스를 서버, 클라이언트에서 각자 다르게 정의해서 사용하는 소스를 발견... ㅡㅡ;;, 그 친구는 아직 자바에 익숙하지 않아서 이런 실수를 했나 보다.. 나도 만약 소스를 클래스별로 파일로 만들 생각을 안했으면 그 에러의 원인을 발견하지 못했을 것이다. 휴. 큰일날 뻔 했넹.. 앞으로는 "No Such Method Found"같은 에러때문에 고생할일은 절대 없기를.. ㅡㅡ;
          * 오늘은 그렇게 큰 삽질은 아니지만 요새 별다른 삽질이 없어서 적어본다. 오늘 비행기게임 프로젝트를 하고 있는데 파일에서 적 비행기 경로를 읽어와서 실행하는거를 하는데 이상하게 계속 안되는 것이었다. 분명히 난 맞게 텍스트 파일에 적이 나올 위치를 숫자로 적었고, 정확한 명령어를 사용했는데 말이다. 그래서 계속 삽질하다가 잠깐 밖에 나갈 일이 생겼다. 그런데 걷다가 곰곰히 생각하니깐 왠지 파일읽어 온것을 프로그램에서 string 형으로 생각한거 같았다. 그때 아차 하는 생각이 들었다. 역시 삽질은 안된다고 계속 반복하기보다는 원인을 곰곰히 생각해야 한다는 교훈을 얻었다. 뭐 몸이 그렇게 안따라 주지만. ㅡㅡ;
  • 새싹교실/2011/Pixar/3월 . . . . 6 matches
          * Keywords : 컴파일러, 프로그래밍 언어, printf 함수, main 함수, #include, assert 함수, 변수, 자료형
          * 컴퓨터는 0과 1밖에 몰라서 사람 말로는 대화할 수 없습니다. 우리가 쓴 코드를 컴퓨터가 이해하기 위해서는 컴파일러의 도움을 받아야합니다.
          * 컴파일러는 번역가 같은 역할을 합니다. 우리가 짠 코드를 컴퓨터가 이해할 수 있게 번역해줘요.
          * 사실 printf가 어떻게 내용을 출력해주는지는 똑똑한 아저씨들이 stdio.h에 미리 써놓았어요. 우리는 #include <stdio.h>라는 코드를 써서 저 파일을 컴퓨터가 읽어볼 수 있도록 알려주기만 하면 됩니다.
          * 아, 그리고 assert도 함수같은 것인데 assert가 무슨 일을 하는지는 똑똑한 아저씨들이 assert.h에 써두었습니다. 우리는 그냥 #include <assert.h>를 적어 저 파일을 컴퓨터가 읽어볼 수 있게 알려주기만 하면 됩니다. printf를 쓸때처럼요!
          * 두번째로 c프로그래밍을 배웠습니다! 피드백을 좀 늦게쓰게됬습니다. 저번시간에는 전처리기에 대해서 배웠습니다 컴파일 전에 읽어주기 때문에 전처리기라고 합니다. 우리가 써본건 #include 와 #define 입니다 그리고 변수이름으로 사용할 수 있는것들을 배웠습니다. 학교 수업이 너무 어려워서.. 열심히 하려고합니다!!.. -이승열-
  • 새싹교실/2012/ABC반 . . . . 6 matches
         파일-새로만들기-파일에서 C++파일을 선택하되 이름 끝에 .c를 붙여서 C파일로 만든다.(C와 CPP는 약간 문법적인 부분이 다르다.)
         라는 구문이 없으면 컴파일러는 함수의 구현이 없기 때문에 에러를 띄울 것이다.
         전역변수란 함수 밖에서 선언한 변수이며 그 파일 전체에서 유효하다.
  • 정렬 . . . . 6 matches
          임의로 주어진 10000개의 숫자가 든 파일이 있습니다.
         파일 내용
          이 파일을 읽어들여 정렬한 뒤 파일로 출력하면 됩니다.
          파일 입출력을 사용해야 합니다. SeeAlso FileInputOutput 정렬의 방법은 무엇이어도 좋습니다.
  • 3D업종 . . . . 5 matches
         다음 경로에 파일을 복사합니다.
         vc6이나 2003을 쓸 경우, 비슷한 경로에 glut를 복사하고, 프로젝트를 만들때 win32 console로 해서 링커 옵션에 opengl32.lib glu32.lib glut32.lib 파일을 추가합니다.'''
         파일 업로드가 안되있었나봐염 업로드 했음. - 재혁
         헤더파일은 < gl/헤더파일명 > 이렇게 해야 한대요. 이걸 오늘 재혁에게 물어봐서 알았어..ㅜ.ㅜ - 수생
  • ACE/HelloWorld . . . . 5 matches
          * 먼저 [ACE] 라이브러리를 다운받아 컴파일해야 한다. [http://riverace.com 여기]서 다운받아 컴파일한다. 빌드 컨피큐레이션이 프로젝트별로 3~4개씩 있는데 이거 한번에 컴파일하는데 30분 넘게 걸렸었다...-_-; (P4 2.4G, 512MB, VC6)
          * project setting 에서 link 탭에 aced.lib (디버그용), 또는 ace.lib 을 추가한다. (프로젝트 홈 디렉토리에 lib, dll 파일이있거나 path 가 걸려있어야 한다. 혹은 additional library path에 추가되어 있어야 한다)
         BIN = test # 소스파일과 같아야한다. 이 Makefile은 test.cpp 를 찾아 빌드하려고 할 것이다.
  • BasicJAVA2005/7주차 . . . . 5 matches
         2. Serialize + 파일 입출력
          - 객체를 직렬화하여 파일에 읽고 쓰기
          - 텍스트파일파일에 읽고 쓰기
  • CVS/길동씨의CVS사용기ForRemote . . . . 5 matches
         먼저 다음 내용의 cvs login을 위한 cvs_set_remote.bat 란 세팅 배치 파일을 만들었다.
         원하는 디렉토리에서 배치 파일을 실행해서 cvs가 실행되는지 확인하고 로그인을 한다. (문서의 작성자는 자신이 알고 있는 서버를 이용하였으니 개의치 마세요.)
         소스를 작성후 이 파일을 서버에 등록(add)하고, 소스를 올린다.
          도움말 : diff 두 버전간의 차이를 비교 한다. 파일이름을 생략하면 해당 프로젝트의 모든 소스들의 버전들을 체크해서 ㅗ인다.
         cvs diff -r "버전" -r "버전" (파일이름)
  • ClassifyByAnagram/인수 . . . . 5 matches
          * 먼저 사전 파일을 입력받으면서, 키값은 그 단어, 키에 해당하는 값은 <알파벳, 그 알파벳의 출현 개수> Pair인 Pair를 생성한다.(--; 뭔가 좀 말이 이상하군)
          * 2만개짜리 단어장 구해서 파일 읽는 방식으로 바꿨다. 시간 재봐야겠다
          * 근데 파일에 출력하니까 10초(2만개짜리)만에 된다. 제길--; 파일에다 할껄
          * 17만개짜리 파일에 쓰는데 6.2초
  • DebuggingSeminar_2005/UndName . . . . 5 matches
         = DLL 파일의 이름 알아보기 =
         DLL 파일에 의해서 분석된 내용을 보면 DLL 에 함수의 이름이 이상하게(?) 변형되어 있는것을 확인하실 수 있는데(DUMPBIN.EXE 를 통해서 가능합니다.) 이 이름의 원형을 알고 싶을때가 있습니다. 그럴때 undname.exe 라는 파일을 사용하시면 아주 쉽게 확인해 보실 수 있습니다.
          ''디버깅 세미나에서는 이러한 함수의 이름이 컴파일 옵션으로 설정되는 map 파일안에 존재하는 것으로 이용하였다.'' - [eternalbleu]
  • EclipsePlugin . . . . 5 matches
         단 jsp 파일을 servlet 파일로 변경하면서 jsp 파일의 상위폴더를 패키지 명으로 사용하는데 이 때문에 warning 이 발생하는 아주 작은 문제가 있다. :)
         eclipse.org 사이트에서 추가 플러그인으로 다운로드 받을 수 있다. 로컬에서 작업한 파일을 간편하게 서버로 업로드 할 수 있다.
          * 탐색기 열기 및 파일 실행
  • Garbage collector for C and C++ . . . . 5 matches
          * README.QUICK 파일에 기본적인 설명이 있다. doc/README.* 에 플렛폼별 자세한 설명이 있다.
          * win32 쓰레드를 지원하려면 NT_THREADS_MAKEFILE 을 사용한다. (gc.mak 도 같은 파일 이다.)
          * Windows NT 나 Windows 2000 에서 문제가 발생한다면 -DUSE_GLOBAL_ALLOC 나 -DUSE_MUNMAP 옵션을 사용하여 컴파일 한다.
          * C++ 에서 사용하려면 -DGC_OPERATOR_NEW_ARRAY 를 추가하여 컴파일 하는 것이 좋다.
         A* a1 = new A[ 10 ]; // collectable or uncollectable? (컴파일러마다 다른 결과가 나온다.)
  • HelpOnInstallation/SetGid . . . . 5 matches
         보안상의 이유로 웹서버는 php 스크립트를 `nobody, www, apache` 혹은 `httpd`같은 특별히 제한된 계정으로 실행하게 됩니다. 이러한 이유로 [모니위키] 스크립트가 생성하게 되는 여러 파일 혹은 디렉토리는 이러한 특별한 계정의 소유가 되며 진짜 사용자가 소유하지 못하게 되는 일이 발생하고 어떤 경우는 이렇게 만들어진 파일을 읽을수도 지울 수도 없게 됩니다.
         이러한 것을 방지하기 위해서 [모니위키]가 특별한 파일을 생성하게 되는 몇몇 디렉토리에 대하여 그룹 아이디로 퍼미션을 가지게 할 수 있습니다. 이렇게 Setgid를 사용하도록 그룹 퍼미션을 주게되면 wiki.php에 의해 새롭게 만들어지는 모든 파일은 진짜 사용자의 그룹아이디와 같게 되며, 그룹 아이디가 가지는 퍼미션을 진짜 사용자도 누릴 수 있게되어 읽거나 고치거나 지울 수 있게 됩니다.
         Setgid 퍼미션을 작동시키려면 간단히 "`chmod 2777 ''dir''` 명령을 내리면 되는데, 모니위키가 여러 파일들을 만들게되는 디렉토리에 대해 이 명령을 내려주면 됩니다. 모니위키를 최초 설치하는 과정에서 setgid를 사용하려면 우선 모니위키 최상위 디렉토리를 먼저 `chmod 2777`을 해 줍니다. 아마 wiki.php가 들어있는 디렉토리가 될것입니다.
  • MFC/AddIn . . . . 5 matches
          멤버함수 자동완성, 멤버 함수 찾아가기, 편집 문맥 표시, 프로젝트 파일 열기, 다중 클립 보드, 강화된 Syntax highlighting, 프로젝트 파일 열기 등..
          VC++6에서 소스파일을 탭 컨트롤로 표시해 주는 도구.
          네트워크를 통하여 분산 컴파일 링크를 지원하는 툴. 컴파일 시간을 대폭 단축 시켜준다.
  • MFCStudy_2001/진행상황 . . . . 5 matches
          * Release 로 컴파일 해서 보네주세요. 실행파일만 주세요
          lib파일 포함시키는 범,릴리즈 모드와 디버그 모드의 차이점,메인 윈도우의 포인터 얻어오기(CAlcaDlg *pDlg=(CAlcaDlg*)AfxGetMainWnd();)
          * 이상한 점 : 내껀 왜 일케 실행파일이 클까..--;; 거의 2메가 가까이 되네.. 컴파일할때 뭔가 설정을 해줘야 하는것일까.. 음.. 제 배경화면 비트맵이 24bit 트루컬러라서 굉장히 커서 그런걸까요..-.-
  • NUnit/C++예제 . . . . 5 matches
          * 컴파일후 지정된 dll 파일이 생긴다.
          * NUnit이 깔린 폴더의 bin안에 보면 NUnit-gui.exe을 실행한다. 컴파일해서 나온 dll을 로딩해주고 run하면 테스트들을 실행해준다.
          * 헤더에다 다 구현해도 된다. 하지만 같은 이름의 cpp파일을 만들어줘야 하는것같다. 안그러면 Test없다고 안된다.
         그것을 떠나서, MFC를 쓰면서 테스트를 하는 것이 의미 있어 지려면, MFC 로 작성한 프로그램이 정상 동작하면서, 테스트를 할수 있어야 하는데, MFC Frameworks 이 Managed C++ 모드로 컴파일이 잘되고, 잘 돌아가는지, 이것이 의문이다. 된다면, MS에서 모든 MFC class앞에 __gc가 붙이기라도 한걸까? 혹은 이미 해당 매크로가 존재하지 않을까?
  • OptimizeCompile . . . . 5 matches
         현재 프로세서의 속도는 [무어의 법칙]에 따라 극한으로 속도가 증가하고 있다. 이러한 상황에서는 예전처럼 [CPU] 의 속도 에 프로그램의 실행속도가 크게 영향 받지는 않으므로, 컴파일러의 최적화 작업도 더이상 연산(computation)을 줄이는 것 만이 목적이 되는 것이 아니라, 좀 더 메모리 계층구조를 효율적으로 사용하는 것에 관심이 기울여지게 된다.
         실행 시간(run time) 중의 계산을 줄이는 것이 목적이다. 이 최적화는 '미리 컴파일 시간에 계산(precomputaion in compile time)' 할 수 있거나, '미리 계산된 값을 재사용(reuse a previously computated value)' 할 수 있는 상황에서 적용된다.
         변수가 값을 할당 받아서, 다시 새로운 값으로 할당 받기 전까지, 그 변수는 일종의 constant 라고 볼 수 있다. 컴파일러는 이를 감지해서 최적화를 수행하게 된다.
         컴파일러는 constant propagation 과 constant folding 을 반복하여 수행한다. 각각 서로의 가능성을 만들어 줄 수 있으므로, 더이상 진행 할 수 없을 때까지 진행한다.
         와 같은 문장이 있을때, 나누기 연산은 곱하기 연산보다 좀더 많은 시간을 소요하므로 컴파일러는
  • Plugin/Chrome/네이버사전 . . . . 5 matches
         flickr에서 permission을 받아 사진을 긁어오는 플러그인을 만드는것 같다. 파일구성은 HTML안에 스타일을 적용하는 CSS. AJAX, Javascript를 이용하여 (AJAX의 정의를 알아보아야겠다 ) 내용을 구성한다. json을 통해 뭘 하는건가. 흥미롭군.
         영어로 보는게 더 자세하지만 난 한국인이라. 간단히 말하자면 인터넷에서 자료를 주고받을때 그 자료형식을 정의하는 문서인데 javascript구문을 사용하는 파일이다. xml보다 web에서 효과적이기 때문에 web상에서 쓰인다고 한다. 좋은거 배우네.
          * 따라하다가 실수한점 : manifest.json파일을 menifest.json이라 해서 update가 안됨. json정의할때 다음 element를 위해 , 를 붙여야하는데 안붙여서 에러. 그렇지만 나머지는 복붙해서 잘 가져옴.
          * inline script를 cross script attack을 방지하기 위해 html과 contents를 분리 시킨다고 써있다. 이 규정에 따르면 inline으로 작성되어서 돌아가는 javascript는 모두 .js파일로 빼서 만들어야한다. {{{ <div OnClick="func()"> }}}와 같은 html 태그안의 inline 이벤트 attach도 안되기 때문에 document의 쿼리를 날리던가 element를 찾아서 document.addEventListener 함수를 통해 event를 받아 function이 연결되게 해야한다. 아 이거 힘드네. 라는 생각이 들었다.
          * 그래서.. 샘플코드를 찾고 permission을 찾다가 manifest.json파일에서 background를 설정하는것을 찾았다
  • XMLStudy_2002/Start . . . . 5 matches
          *XML문서는 택스트 파일이라는 형태로 저장되므로, XML파일 자체는 OS나 특정 프로그램에 의존적이지 않는 특성을 지닌다.
          *href : 사용할 스타일 시트 파일의 위치를 기술
          *외부 엔티티 : XML문서의 분량이 상당히 커서 하나의 파일로 처리하기가 곤란하거나 할떄 적용하거나 모듈화하여야 할떄 사용
          *별로의 파일에 저장된 DTD 사용가능 <!DOCTYPE doc SYSTEM "doc.dtd">
  • neocoin/Log . . . . 5 matches
          || [http://orchid.cse.cau.ac.kr/course/course.php 데이터 통신(DC)] || [http://konan.cse.cau.ac.kr/ 이동 컴퓨팅(MC)] || [http://camellia.cse.cau.ac.kr/fs/ 파일 구조(FS)] || 식품과 건강 ||
          * FS-파일 구조 자기 소개서 작성
          * 주어진 비트맵 파일의 정보중 2x2 픽셀의 평균값으로 모자이크 복사본을 제작하고, 저장할수 있다.
          * 감안 : 임의의 비트맵 파일을 로드할수 있다. 임의 비트맵 파일로 저장할수 있다. MFC Class를 이용해 본다. Api로만 작성해 본다. Java로 작성해 본다. TDD를 생각해 본다. 어떻게 가능한가?
  • 대학원준비06 . . . . 5 matches
          * 7/15 1시 칠피. 컴파일러 : 7,8,9 할 예정
          * 7/19 컴파일 : 13~ 끝까지
         컴파일러 : 최적화
          * '''압축파일 올리실 때 zip 파일로 올려주세요. 리눅스엔 알집이 없답니다.'''
  • 데블스캠프2005/RUR-PLE . . . . 5 matches
          * beepers1.wld 파일을 연다.
          * harvest3.wld 파일을 연다.
          * sort0_1.wld 파일을 연다.
          * 다음은 sort0_2.wld 파일을 연다.
          * sort1 파일을 연다.
  • 데블스캠프2005/월요일 . . . . 5 matches
          간단한 워밍업 프로그래밍. 구구단, 탐색, 정렬, 입출력, 파일 입출력...
          자신의 코딩환경에 맞게 컴퓨터를 준비하고 컴파일을 하면서 생길지도 모르는 의외의 오류나 시스템 이상을 확인하는 검사가 일차적인 목적
          (V) 좋은 로보코드 jar 혹은 소스 파일
  • 새싹교실/2011/무전취식/레벨10 . . . . 5 matches
          * 파일입출력
          * 헤더(*.h) 파일을 하나 더 알게되었습니다 string.h
          * 오랜만에 참여해서 C 과제를 풀었습니다. 어느새 1학기가 끝나가네요. C수업도 구조체, 파일입출력만 들으면 끝나는 것 같고, C언어에 익숙해질 수 있었던 1학기가 되었기를ㅋㅋ c 과제 저는 밤 새서 구현 다 했지만, 새로 다시 짜봐야할 것 같습니다. ㅋㅋ 4, 5번 문제는 꽤 소스가 길어지는 것 같네요. 스스로 직접 짜본다면 실력이 많이 늘듯... - [정진경]
  • 새싹교실/2012/도자기반 . . . . 5 matches
         pdf 파일을 받아서 훑어보는데... 뭔가 제가 배운 순서랑 조금 다르더군요.
         그전에 헤더파일을 불러오는 부분(#include<stdio.h>)과 main함수의 형태(int main(void){return 0;})에 관해서도 설명했습니다.
         (stdio가 뭘 뜻하는지, 다른 헤더파일에는 무엇이 있는지 와 main앞에 int는 왜붙은건지 괄호안에 void는 뭔지 왜 마지막에 return 0;을 썼는지에 관해서 설명했습니다. 하지만 아직 함수를 안배워서 그런지 이해가 잘 가는것 같지는 않았지만 일단 이렇게 알아두면 된다고 했습니다.)
         마지막으로 입출력 기본 함수 사용법을 알려준 후 C수업시간에 한 예제들과 간단한 과제들을 직접 해보게 시켰습니다.
          * 다양한헤더파일을 설명해줬습니다. 2주차 예제에 새로 등장한 stdlib.h, time.h 에 포함되는 간단한 함수들을 설명했습니다. 그리고 #define을 쓰는 이유도 설명했습니다. 랜덤변수를 얻기 위한 rand함수와 사용법 등을 알려주면서 다시 한번 winapi.co.kr 에 대해서도 언급했습니다. 또한 srand(time(NULL))을 사용하여 씨드를 설정해줘야 매번 다른 값이 나오는 것도 설명 했습니다.
  • 시간관리인생관리/요약 . . . . 5 matches
         책/파일/문구류/서류들 을 확인해서 정리한다.
         파일 찾기
         파일 찾기
         파일 찾기
         파일 찾기
  • 이영호/개인공부일기장 . . . . 5 matches
         ☆ 앞으로 공부해야할 책들(사둔것) - Effective C++, More Effective C++, Exeptional C++ Style, Modern C++ Design, TCP/IP 네트워크 관리(출판사:O'Reilly), C사용자를 위한 리눅스 프로그래밍, Add-on Linux Kernel Programming, Physics for Game Developers(출판사:O'Reilly), 알고리즘(출판사:O'Reilly), Hacking Howto(Matt 저), Windows 시스템 실행 파일의 구조와 원리, C언어로 배우는 알고리즘 입문
         23 (토) - Compilers(정말... 정말 이 책 못보겠다. 어렵다. 미치겠다. 같은 부분 3번 읽고서 반정도 이해 되니 이거 무슨 왜 배워야되는지 이유를 알아야 머리에 들어오는데 그냥 무지막지하게 이론만 쓰다니.), Socket/System Programming in C (지난주 복습, 고급입출력, Broadcast/Multicast)
         19 (화) - C언어 복습(메모리구조 & 비디오 입출력 -> Assembly기반)
         18 (월) - C언어 복습(파일 입출력 & 스트림), 카네기 행복론
  • 정모/2006.5.22 . . . . 5 matches
          - 주제 : 표준 입출력, 제어문, 포인터, 함수, 구조체, 클래스, 파일, 타이머, 랜덤, 소켓,
          - 월 : 표준입출력, 문법, 함수, MSDN, 비트연산, 아스키 / 수생, 유선, 용안
          - 화 : 구조체, 파일 입출력, 포인터(메모리), 디버깅 / 아영, 상규, 선호, 도현
  • 코드레이스/2007/RUR_PLE . . . . 5 matches
          * beepers1.wld 파일을 연다.
          * harvest3.wld 파일을 연다.
          * sort0_1.wld 파일을 연다.
          * 다음은 sort0_2.wld 파일을 연다.
          * sort1 파일을 연다.
  • 토이/메일주소셀렉터 . . . . 5 matches
          * 파일 I/O 구현 및 문자 처리 연습
         특정 파일을 읽어들여 거기에 있는 문자들 사이에 공백을 넣어 다른 파일에 저장한다. 이때 개행문자는 무시되어야한다.
         여기서 구현은 파일 입출력을 쓸 필요 없음
  • 프로그래밍십계명 . . . . 5 matches
          *컴파일러의 경고는 모두 켜 두어라. 경고는 곧 오류이니라. 오류를 알리는 함수의 결과를 확인하지 않는 우를 범하지 말지어다. 모든 파일 입출력과 모든 메모리 할당은 조만간 실패할 것이라.
         8. 한 번의 수정과 재컴파일만으로 연관된 모든 것이 저절로, 강제로 바뀌도록 할지어다.
          *어떠한 것을 수정했을 때에 연관된 것이 따라서 변하지 않는다면 그것이 곧 벌레이니라. 컴파일러로 하여금 매개 변수 리스트를 완전하게 검사하도록 하고, 언젠가 손대야 하거나 따라서 변해야 하는 수치는 전부 매크로로 치환하며, 형 정의를 적극 활용하여라.
  • 02_Python . . . . 4 matches
          '' C 나 C++ 은 소스를 한꺼번에 다 치고서 나중에 "컴파일" 하는식이지만 Python 의 경우 자신이 쓰는 라인마다 읽혀들어간다. ''
          * 모듈 파일 실행이다
          '' 모듈이란 C 나 C++ 의 header 파일 처럼 각각의 명령어를 닮고있는 것의 집합이다. ''
         파일 text=open('eggs', 'r').read()
  • APlusProject . . . . 4 matches
         현재 이곳에 올려 놓는 자료는 모두 암호를 가지고 있습니다. SE 수업이 끝나면 모든 소스와 문서는 공개할 예정입니다. 혹시 파일 다운을 못받으신다면 '인터넷 익스플로어'에서 도구 -> 인터넷 옵션 -> 고급 -> 'URL을 항상 UTF-8로 보냄'의 체크를 없애고 재부팅 해야 다운 받으실 수 있습니다. (파일 이름의 한글이 문제입니다)
         Upload:SomePdf.zip - 몇몇 개발문서들(pdf파일)
         Upload:OTF.zip - OTF 프로그램. 우리가 개발해야할 바로 그 액셀 파일. (SE 교수님의 저작권 보호로 당연히 암호가 걸려 있습니다.)
  • AcceleratedC++ . . . . 4 matches
          || [http://www.acceleratedcpp.com/ Accelerated C++ Official Site] || 각 커파일러의 버전에 맞는 소스코드를 구할 수 있습니다. ||
          || [http://msdn.microsoft.com/visualc/vctoolkit2003/ VSC++ Toolkit] || .net 을 구입할 수 없는 상태에서 STL을 컴파일 해야할 때 사용하면 되는 컴파일러. ||
          '''Visual C++ 6에서 굳이 하실 분들은 ''#pragma warning(disable: 4786)'' 전처리기로 컴파일러 warning을 죽이면 기타 잡스런 워닝을 없애는 것이 가능합니다.'''
  • AcceleratedC++/Chapter13 . . . . 4 matches
          인자를 전달하면서 생기는 모호함을 피하기 위해서 compare 라는 이름대신에 compare_Core_ptrs를 사용하여 컴파일러가 명시적으로 이 함수를 사용하도록 한다.
          이를 해결하는 것은 복사 생성자를 virtual 로 할당하고 이러한 일을 컴파일러에게 위임시키는 방법이다.
          r.regrade(100, 100); // 컴파일 오류
          r.regrade(100); // 컴파일 오류. Grad::compare 를 기대하기 때문에 이런 문제가 발생한다.
  • Barracuda . . . . 4 matches
         Struts와 비슷한 모델 2 형태의 아키텍처 이지만 스트럿츠 보다 발전된 모델 이벤트 통지 메커니즘을 제공한다. 바라쿠다 프레임 워크는 엄격한 JSP접근 방식과 달리 더 뛰어난 유연성과 확장성을 제공할 수 있도록 템플릿 엔진 컴포넌트를 새로 만들었다. 이 프로임워크에서는 사용자 인터페이스를 생성할 때 XMLC를 이용하여 코드와 컨텐츠를 분할한다. XMLC는 자바 기반의 컴파일로써 HTML과 XML문서를 소스로 읽어 들여 컴파일 하고 자바 클래스 파일을 생성한다. 이 자바 클래스 파일은 런타임에 문서를 재생성하는데 이용된다. ...중략... 마크업과 애플리케이션 로직을 분리한 덕에 웹 디자이너는 마크업에, 프로그래머는 코딩에 집중할 수 있다.
  • C++스터디_2005여름 . . . . 4 matches
          왠만하면 헤더파일 .h 말고 파일명 없는걸로 쓴는게 좋지 않을까요??
          헤더파일 말고 파일명이 없는걸루 어떻게 쓰나요 ? --[허아영]
  • CanvasBreaker . . . . 4 matches
          1. BMP파일 읽고 저장하는 기능
          1. BMP파일 (칼라) 읽기
          1. BMP파일 읽기
          9. bmp파일 저장 - 5분
  • DebuggingSeminar_2005/AutoExp.dat . . . . 4 matches
         = 파일 =
         Watch 창에서 표현되는 표현을 정의한 파일이다. (파일은 VC 디렉토리에서 검색을 하면 나온다.)
         Visual C++ .net 에 있는 파일이다. {{{~cpp C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Packages\Debugger}}} 에 존재한다.
  • EditPlus . . . . 4 matches
         *파일- 새파일 열기 닫기 저장 프린트
         *검색- 찾기 바꾸기 다음이전찾기 파일브라우저 가기
         *도구- 기본설정 환경설정파일 정렬
  • HelpOnActions . . . . 4 matches
          * `!UploadFile`: 파일 업로드 UploadFile 페이지를 참조하세요.
          * `!DeletePage`: 파일 지우기 - 하단에 파일 지우기 액션 메뉴가 있는 경우가 있습니다. 이 액션을 누르면 페이지의 최종 백업본이 지워지지만 페이지의 역사는 계속 남아있으므로 (시스템 관리자가 이것을 지우지 않는 이상) 언제든지 복구할 수 있습니다. 일부 위키에서는 지우기가 활성화 되어 있지만, 모니위키에서는 기본적으로 관리자만이 페이지를 지울 수 있도록 설정되어 있습니다.
          * `!LikePages`: 비슷한 이름을 가지는 페이지 목록을 찾아줍니다. 영문의 경우 적절히 잘라내어 앞/뒤 단어별로 검색해주며, 한글일 경우에는 앞/뒤 한글자 이상을 잘라내어 비슷한 파일 이름이 있는지 찾아줍니다.
  • HelpOnConfiguration . . . . 4 matches
         만약 시스템 차원에서 rcs를 지원하지 않는다면 rcs를 컴파일해서 사용해보라. 예를 들어 모니위키가 설치된 디렉토리가 {{{moniwiki}}}이고
         그 하위에 {{{bin}}} 디렉토리를 새롭게 만든 후에 {{{rcs}}}관련된 실행파일([[MoniWikiRCS]] 페이지 참조)을 {{{moniwiki/bin}}}아래에 복사하고
         $path='/usr/bin:/bin:/usr/local/bin:./bin'; # 유닉스의 기본 실행파일 디렉토리 + ./bin
         $path='/usr/bin:/bin:/usr/local/bin:/home/to_your_public_html/moniwiki/bin'; # 유닉스의 기본 실행파일 디렉토리 + bin의 full path
  • HelpOnInstallation/MultipleUser . . . . 4 matches
         이렇게 하면 [모니위키] 설치에 필요한 파일이 public_html 하위에 일부는 복사되고 일부는 설치 디렉토리에 남게됩니다.
         이 경우 대부분의 php파일이 설치되지 않은채로 각 사용자가 사용하게 되기 때문에, 모니위키의 php취약점이 발견되었을 경우 관리자가 설치된 [모니위키]만을 업데이트하는 것으로 문제점을 해결할 수 있게 됩니다. 물론 일부 카피된 파일 및 php 이외에 웹상에 직접 노출되는 지역 파일은 사용자가 직접 업데이트해야 하겠지요.
  • Linux/배포판 . . . . 4 matches
         리눅스의 대부분의 배포판은 각 CPU에 맞는 커널에서 운영이 되는 바이너리 형태를 중심으로 하고 소스파일은 곁다리로 다루는 경우가 대부분이다. 그러나 젠투 리눅스는 다른 배포판과는 좀 다르게 소스를 직접 컴파일해서 패키지를 관리한다. 이때 사용되는 매키지 관리자의 이름이 Portage 라는 것이다. ''(대략 리눅스 관련 사이트에서 emerge, ebuild, USE 라는 것들이 나오면 gentoo 이다.)'' 본디 Gentoo의 배포자는 BSD의 포트를 기반으로한 패키징 방식이 너무 마음에 들어서 리눅스도 이런 배포 시스템을 만들자는 취지하에서 배포를 시작했다고 한다. ''(덕분에 각기 다른 CPU 관련된 바이너리를 저장소에 보관하지 않기 때문에 미러 서버 입장에서는 좋을듯)'' 덕분에 Gentoo의 경우 실제 설치시에 커널 컴파일을 하면서 커널 모듈 설정을 해야하며, 세부적인 설정이 완전히 자동적으로 이루어 지지않는다. 또한 변변한 인스톨러도 없다. (Project가 진행중이긴하다) 리눅스를 좀 다루어본 사람들이 설치하고 쓴다.또 설치 시간이 컴파일 하는 시간과 같이 걸리기 때문에 엄청난 설치시간으로도 유명하다.
  • MFC/DynamicLinkLibrary . . . . 4 matches
         기존의 C/C++ 프로그래에서는 라이브러리를 LIB라는 확장자를 가진 형태로 제공하여 코드를 컴파일한후 링커가 프로그램에 필요한 부분을 라이브러리 파일에서 추출해서 만들어진 프로그램에 붙여넣는 방식으로 만들어졌다. 이런 구조가 윈도우 프로그램으로 오면서, 바뀌어야했는데..
         Library.DLL을 3개의 프로그램 A,B,C가 동시에 공유한다고 하면 각각의 프로그램이 실행될때마다 각 프로그램에서는 DLL파일의 함수로의 링크가 일어난다. 이런 과정은 윈도우 운영체제에 의해서 자동으로 이루어지고, 한개의 프로그램이라도 실행이 종료되지 않으면 윈도우는 DLL을 메모리에서 제거하지 않고 남겨준다.
         단점은 DLL 파일이 변경이 되었을때 올바른 동작을 보장하기 힘들다는 점을 들 수 있다.
  • MFC/MessageMap . . . . 4 matches
          * 사용 예 : 어떤 클래스가 view 클래스의 멤버 변수이다. 해당 클래스는 파일을 다운로드 받는 클래스인데 해당 클래스에서 다운로드가 끝났을 경우 view에 있는 serialize 함수를 실행해야 한다. 허나 현재 view클래스가 그 해당 클래스를 멤버로 가지고 있기에 include 로 해당 클래스에서 view 클래스를 포함할 수도 없고, 또 view 클래스의 현재 실행되는 객체를 얻을 방법도 마땅히 없다. 이때 해당 클래스에서 다운로드가 끝난 시점에서 다운로드가 끝났다는 메시지를 발생시켜서 view에 있는 serialize 함수를 실행시킬 수 있다. 이게 바로 사용자 정의 메시지 발생을 이용한 사례..
         .h // 헤더 파일
         .cpp //구현 파일
          그냥 참고로 이런 파일이 있다는 사실정도는 알아두자.
  • MultiplyingByRotation . . . . 4 matches
         입력은 텍스트파일이다. 진수,첫번째 숫자의 마지막 숫자(the least significant digit of the first factor)와 두번째 숫자(second factor)로 구성된 3개의 수치가 한줄씩 입력된다. 각 수치는 공백으로 구분된다. 두번째 숫자는 해당 진수보다 적은 숫자이다. 입력파일은 EOF로 끝난다.
         프로그램은 이동 곱셈속성을 갖는 숫자중 가장 작은 첫 번째 숫자의 자리 개수를 출력한다.출력 파일도 텍스트파일로 한다. 입력되는 데이터순서에 맞추어 결과를 한 줄씩 출력한다.
  • NUnit/C#예제 . . . . 4 matches
          [SetUp] public void 파일만들기()
          [TearDown] public void 파일지우기()
          [Test] public void 파일확인()
          1. Argument에 {{{ $(ProjectDir)\bin\debug\$(TargetName).exe }}} 라고 적는다. ( 보통은 디버그 모드에서서 컴파일 하므로 폴더가 debug이다. 릴리즈인 경우에는 release로 바꾸면 될 듯)
  • OurMajorLangIsCAndCPlusPlus/XML/조현태 . . . . 4 matches
          * 테스트의 편의를 위해서 파일입출력을 안썼습니다.^^ ... 이편이 더 불편하려나?? 파입입출력으로 바꿀까..말까..
          * 가독성을 위해서.... 여러파일로 나누려다 말았습니다..T.T
  • PNGFileFormat/FileStructure . . . . 4 matches
         == 파일 구조 ==
          PNG 파일은 PNG 시그너처와 여러개의 chunk로 이루어짐.
          * PNG파일의 처음 8바이트는 다음의 십진 값들로 시작.
          || Name || 여러개 허용? || 파일상의 위치 제약 ||
  • PracticeNewProgrammingLanguage . . . . 4 matches
         5. 파일 복사 : 임의 파일을 단순 복사하는 프로그램을 작성하시오.
         6. 스트링 검색 : 특정 텍스트 파일을 열고, 사용자가 입력한 스트링을 검색할 수 있는 프로그램을 작성하라.
         8. 에디터 작성 : 텍스트 파일 저장, 로드, 복사, 치환, 검색, 방향키 이동, 기능을 지원하는 텍스트 에디터 작성
  • PrivateHomepageMaking . . . . 4 matches
         || whitebbs || http://whitebbs.com || PHP 기반이며 파일 입출력을 이용한다. (DB서버 불필요) ||
         || MoinMoin || http://moinmoin.wikiwikiweb.de/ || Python 기반, 파일시스템 이용 ||
         || MoniWiki || http://moniwiki.sourceforge.net/wiki.php || PHP 기반, 파일 시스템 이용 ||
  • ProgrammingLanguageClass . . . . 4 matches
         중앙대학교 컴공과에 컴파일러 수업이 폐강되는 경우가 많은데, 컴파일러와 PL 둘 중 하나는 프로그래머가 되건, 전산학자가 되건 반드시 필요한 교양이다.
         컴파일러를 독학하려는 사람들은 [http://no-smok.net/nsmk/_c4_c4_c6_c4_c0_cf_b7_af_c3_df_c3_b5_bc_ad_c0_fb 컴파일러추천서적] 참고.
  • ProgrammingLanguageClass/Report2002_1 . . . . 4 matches
          * 프로그램 소스코드 및 실행파일이 든 디스켓
          * 입력: INPUT.TXT로 이름지어진 텍스트 파일
          * 데모 시 디스켓에 실행파일을 미리 준비한다(데모 시에 컴파일하는 경우는 감점처리함).
  • ProjectTriunity . . . . 4 matches
         파일 구조 팀 프로젝트를 위한 페이지...
         || Upload:ExternalSort_PM_4.zip || 신재동 || 출력 파일 결정 & 리펙토링 ||
         || Upload:파일구조팀프로젝트.hwp || 이상규 || Document ||
         || Upload:파일구조팀프로젝트2.hwp || 이상규 || Document ||
  • RedundantArrayOfInexpensiveDisks . . . . 4 matches
         RAID 3 과 여러가지 면에서 비슷하다. RAID 4 에서는 스트라이프 되는 단위가 일반적으로 디스크의 섹터 단위이며 그에 따라, 섹터 하나에 담기는 정도의 작은 파일입출력할때에는 성능향상이 없다. 다만 섹터 여러개에 저장되는 파일이거나, 아니면 동시에 여러 파일을 접근할때에 성능향상이 있게 된다. 그리고 또한 섹터단위의 패리티가 패리티 디스크에 저장되므로 RAID 3 처럼 패리티 디스크에 병목현상이 생기게 된다.
  • Spring/탐험스터디/2011 . . . . 4 matches
          1.2 pojo기반의 프로그래밍은 모듈을 조립해서 쓰기 쉽기 떄문에 재사용성이 높아진다. 이 때 조립을 코드부분에 맡기면 조립시 코드를 바꿔야 컴파일이 가능하지만 xml에 조립을 맡기면 설정xml을 바꾸는 것만으로도 쉽게 설정을 바꿔서 조립이 가능하다.
          2.1. 우선 책에서 외부 라이브러리를 사용하고 있는데, STS에는 필요한 라이브러리가 들어있지 않은 것 같다. 이쪽 페이지(http://www.tutorials4u.net/spring-tutorial/spring_install.html)를 보고 라이브러리를 받아야 한다. 받아서 압축을 풀고 spring-framework-3.0.5.RELEASE/dist 폴더에 있는 jar 파일들을 프로젝트에 포함시켜주면 AnnotationContext, AnnotationConfigApplicationContext, @Configuration, @Bean 등을 사용할 수 있게 된다.
         spring-framework-3.0.5.RELEASE/dist 폴더에 있는 jar 파일들을 프로젝트에 포함시켰는데,
         책에 jar 파일 목록에 있던 것 중 org.springframework.~~ 가 아닌 것들이 빠져있어서 그런가 아래와 같은 오류가 나는..
  • TortoiseSVN/IgnorePattern . . . . 4 matches
         서브버전에서 커밋시 기본적으로 제외하는 형태를 지정한다. 대체로 IDE 가 만들어내는 설정 파일과 컴파일된 오브젝트 파일들을 주로 넣는다.
         '''이밖에도 많은 파일들이 있겠지만 내가아는 수준에서 넣었음. 계속 추가시켜나갔으면 하는 바램이.. -_-'''
  • VMWare/UsefulFunctions . . . . 4 matches
         VMWare 는 크로스 컴파일링 환경에서 유용한 기능을 몇가지 가지고 있다. 물론 해당 가상 머신에 VMWare Tools 라는 VMWARE 가 제공하는 프로그램을 올렸을 경우에만 작동한다.
         가상 머신이 리눅스이고 VMWARE TOOL 의 바이너리와 호환성을 갖지 못한다면 커널 드라이버를 컴파일 해서 설치해야함. (물론 VMWARE 설치 스크립트가 알아서 해줌, 우분투 DD 에서는 정상동작 하지 않았음. 데비안, 페도라 사용 가능함.)
         하단에 마운팅이 되며, NTFS 직접 마운팅과 달리 VMWARE 드라이버를 한단계 거쳐서 들어가기 때문에 정상적이니 파일의 입력, 출력이 모두 가능하다.
         즉 윈도우 시스템의 IDE 를 이용해 프로그래밍하고 VMWARE 호스트 머신에서 컴파일 하는 과정을 최대한 간단하게 만드는 방법이 이 VMWARE TOOLS 을 이용하는 것이다.
  • ZeroPageServer/Log . . . . 4 matches
          * sshd 만 돌린다고 해서 SSH 파일 교환 쉘은 사용할수 없는건가요? ssh_config 파일 수정해도 잘 안되던데... ["임인택"]
          * Q : domain 에 관련된 문의입니다.. ["ZeroPageServer"] 에서는 user.domain 으로 자신의 home directory 에 접근할 수 없습니까.? 또 이것은 관련없는 질문인데..-_- 저렇게 셋팅을 하려면 어떻게 해야하죠.. named.conf 랑.. /var/named 에서 관련파일 다 수정했는데도... username.domain.com 에 접속을 하니.. www.domain.com 에 접속이 되는군요..-_- - ["임인택"]
          ''간단한 resin log analyzer를 만들어두었습니다. admin 안쪽 RLA.jsp로 확인바랍니다. 참, resin이 root 계정으로 동작하던데, 권한을 바꾸길 바랍니다. (권한을 바꿔줄때, 그 부산물 - jsp가 컴파일된 자바 소스나 클래스등 - 도 함께 권한을 바꿔줘야 합니다.)''
  • ZeroPage_200_OK/note . . . . 4 matches
          * static 한 파일을 내려준다.
          * 확장자를 파악해서 또는 파일의 헤더를 읽어 맞는 MIME TYPE를 헤더에 적어준다.
          * static 한 파일을 업로드 받는다.
          * 우리가 알고 있는 그 파일 (Process - Disk)
  • ZeroWiki/제안 . . . . 4 matches
          * DokuWiki는 저도 직접 써 본 경험이 있습니다. 말씀하신대로 깔끔해서, 개인 위키로 쓰기에는 정말 딱이더군요. 다만, 파일입출력 기반이라 조금은 걱정되는 면이 있어서요. 그리고 문법 문제는...... 답이 없네요....... 이럴 때마다 Wiki Creole이 절실하다는 생각이....... - [황현]
          * 도메인 네임이 명확하면서 정적 파일이 위키 페이지로 오인되지도 않음 - [변형진]
          * 외부에서 읽어가는 정적 파일들(favicon.ico, robots.txt, crossdomain.xml 등)을 모두 미리 처리해두지 않으면 위키 페이지로 오인될 염려가 있음 - [변형진]
  • ZeroWiki에서 언어습관 . . . . 4 matches
          * [제로위키]는 활동하는 [위키요정]이 적습니다. 예를들어 '''데블스캠프2003/ToyProblems/파일입출력''' 제목의 페이지를 발견해서 '''[파일입출력]'''으로 변경하는 이런 활동입니다. 이런 활동의 가치 인식이 중요합니다.
  • django . . . . 4 matches
          * mysql 은 사용자를 생성하고 settings.py 파일을 설정한다. 그리고 pysqlite와 다른 점은 DB 이름을 넣고 나서 mysql 들어가서 따로 DB를 만들어 줘야 한다. 그리고 사용자도 만들어 줘야 한다.
         설정 파일 때문에 삽질하지 맙시다.
         [예시] /path/to/project/mysite 에 settings.py 파일이 있는 경우
          * [http://www2.jeffcroft.com/2006/feb/25/django-templates-the-power-of-inheritance/] : Template HTML 파일 사용법
  • 김희성/ShortCoding/최대공약수 . . . . 4 matches
          * 컴파일 환경 : gcc
          '''컴파일러''' - gcc 컴파일러는 사용된 function을 확인하여 필요한 header file을 자동으로 include 해줍니다. 또한 gcc 컴파일러는 타입이 선언되지 않은 변수는 int형으로 처리합니다. 이로인해서 main의 본래 형식은 int main(int,char**)이지만 변수형을 선언하지 않으면 두번째 인자도 int형으로 처리됩니다.
  • 데블스캠프2002 . . . . 4 matches
         || 6월 23일 || 일요일 || 이선호 || C기초, 파일 입출력 ||
          1. 간단한 파일입출력 - 이것.. 학교에선 배우지 않지만 써먹을 때는 상당하지요^^; --선호
  • 데블스캠프2006/월요일 . . . . 4 matches
         문법,함수,MSDN,SVN,SSH,파일입출력
         || 문법 || 함수 || MSDN || SVN,SSH || 표준입출력 || 계정 및 따로 공부 ㅋㅋ ||
         ||am 03:00~04:00 || 표준 입출력 || 이규완 (05)||
  • 데블스캠프2006/월요일/연습문제/웹서버작성/변형진 . . . . 4 matches
          * 유연한 마임타입 설정으로 하이퍼 텍스트는 물론이고, 이미지 삽입, 멀티미디어 재생, 파일 다운로드도 모두 가능함
          * 아직 다양한 보안 문제에 대한 해결 방법을 마련해놓지 않아, 지정된 디렉토리에 있는 파일만을 보이도록 허용함
          $res[] = "Content-Length: ".strlen("파일을 찾을 수 없습니다.");
          $res[] = "파일을 찾을 수 없습니다.";
  • 데블스캠프2011/셋째날/후기 . . . . 4 matches
         == 김수경/방학이 끝나기 전에 알아야 할 구조체, 포인터, 파일 입출력 ==
          * 평소에 파이썬에 흥미가 있던 편이어서 나름 재미있었습니다. 생각한걸 그대로 바로 움직이게 할 수 있다는 점이 일반 컴파일 언어보다 와닿는 것 같네요. 근데 그러다 보니까 코드가 조금 지저분해지는 경향도 있는 것 같아서 그런 부분을 좋게 개선한 코드를 짜려고 하면 그건 그것대로 힘든 것 같기도 -_-
          * 작년에나 세상에는 컴파일 언어가 다가 아니란걸 알게된 나에겐 챌륀쥐였어요.
  • 문자반대출력/김정현 . . . . 4 matches
         자바에서 파일입출력은 아직도 잘 모르겠다
         // FileIO.java 파일
         //ReverseText.java 파일
  • 문자반대출력/문보창 . . . . 4 matches
         // 파일로부터 문자열을 읽어들인다.
         // 파일에 문자열을 쓴다.
         // 파일로부터 문자열을 읽어들인다.
         // 파일에 문자열을 쓴다.
  • 새싹교실/2012/AClass . . . . 4 matches
          * 코딩한 것은 그냥 파일에 복사붙여넣어도 되고, .c파일을 보내주셔도 됩니다.
          1. 컴파일(Compile), 빌드(Build), 링크(Linking)에 대해 책에서 찾아보고 써 주세요.
          * 1.컴파일러란?
  • 새싹교실/2012/AClass/4회차 . . . . 4 matches
         - c언어에서는 char,int,float 와 같은 많은 수의 기본 데이터 형과 배열, 포인터, 구조체 등의 유도된 데이터형으로부터 새로운 데이터형을 만들 수 있는데, 사용자 측면에서 새로운 데이터 형을 정의 할 수 있도록 typedef선언을 제공한다. typedef은 #define과 달리 이미 존재하는 c언어의 데이터 형만을 취하여 정의하고 typedef은 프리프로세서에 의해 처리되는 것이 아니라 c컴파일러에 의해 처리된다. 또한 #define보다 다양한 형태의 치환이 가능하다.
         2)헤더파일에서 typedef사용하기
         Typedef는 공통적으로 사용하는 헤더파일에 선언을 해주어야 모든 소스파일에서 사용할수 있다
  • 새싹교실/2012/startLine . . . . 4 matches
          * 컴파일러가 하는 일.
          * 시험기간에 환희 후기를 적어둔 종이를 파일 째로 잃어버렸습니다. ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ
          * Calender.h 파일 - 만들어야 할 함수들. 더 늘려도 상관 없습니다.
          * main.cpp 파일
  • 새싹교실/2012/새싹교실강사교육/2주차 . . . . 4 matches
         -과제 확인, 프로젝트 생성, GCC사용법, 컴파일, main함수, 변수, Data Type, 연산자, 입출력 기본 함수, 제어문 -
         #include<math.h> //Rand를 가져오는 헤더파일
         2.2 #include<stdio.h>, printf(), scanf(); 입출력 함수.
  • 새싹교실/2013/이게컴공과에게 참좋은데 말로설명할 길이 없네반 . . . . 4 matches
         입출력
         입출력
         - 앞으로의 방향 : 이제 문제를 풀면서 메모리의 구조를 다시 전반적으로 설명하고, 입출력방식, 간단한 알고리즘(유클리드 호제법같은)을 가르친다. 이렇게 준비를 한후 포인터에 돌입. 그리고 포인터에 대해서 이해가 어느정도 쌓였을때 발전시킬 수 있는 프로그램을 만들게 하면서 실력을 증가시킨다.
         - 이번 회차의 전반적인 계획 : 시험끝난 주이므로 브레이크 타임. 입출력 시스템과 컴퓨터 전반적인 내용에 대해서 설명한다.
  • 이승한/mysql . . . . 4 matches
         ASP.net에서는 한개의 파일일이 오직 한개의 <form>만 가질수 있지만 PHP와 HTML은 그렇지 않은듯 하다.
         mysql - 두부파일 - 테이블들. //mysql - 테이블 로 알고 있었다. //계정별로 접근성을 다르게 설정할수 있는듯 하다.
          두부파일에 테이블 생성하기 : create table 테이블명(컬럼명 type(크기), eng integer, date date);
          DB파일에 접속 및 예외 처리 예제. // [xpweek]때 했던 java의 객체지향적인 방식과 유사한것 같다.
  • 콤비반장의메모 . . . . 4 matches
          만화 형사 가제트(Inspector Gadget)에서 콤비 반장(Chief Quimby)은 형사 가제트에게 비밀 지령을 내릴땐 항상 자동 폭파되는 특별한 메모지를 사용하곤 했다. 그러나 인터넷 시대를 맞이한 콤비 반장은 이제 메모지 대신 한번만 사용할 수 있는 파일을 사용하려고 한다. ["콤비반장의메모"]와 같은 일회용 정보는 컴퓨터로 어떻게 구현할 수 있을까.
         그냥 생각이 갑자기 나서 몇자 적어 봅니다. 자기 자신이 압축을 풀 수 있는 Zip - self-..어쩌구였는데 그러한 형태로 만들고 마지막에 분리한 데이타 파일을 지우는 식으로 만들어 봐도 재미있을꺼 같다는 생각이 들어서 .. 다 아는 건가? - fnwinter [정직]
          * player + encryped data 가 한 파일에, player는 decrypt & play 와 함께 data 삭제.
          * 사용자가 재생 안한 파일을 그대로 복사한다면?
  • 큐와 스택/문원명 . . . . 4 matches
         여기서 의문점은 string헤더 파일을 include하지 않고 배열을 char *형으로 하고 #1,#2,#3을 strcpy를 사용하여 고치고 실행한 후,
         // VC++ 7.0 에서 컴파일 한 결과, 실행하면 디버그 모드에서 조차 실행되지 않습니다.
          // 각 Pointer들은 의미 없는 값들로 채워져 있습니다.(컴파일러 의존)
          // 주소로 초기값이 세팅되어 있었습니다. Release 모드로 바꾸어서 컴파일 해보세요.
  • 타도코코아CppStudy/0728 . . . . 4 matches
          * 인수형~~~~~ 파일 입출력 Random Walk2 올렸씁니다.. 지금 시간 8시..1시간정도 걸렸네요..-_-; 파일 입출력 고생하다..!! - [CherryBoy]
  • .vimrc . . . . 3 matches
         set exrc " 특정디렉토리에서 .exrc 파일의 설정을 적용하게 함
         au BufWinLeave *.py mkview " 보던 .py 파일의 예전 위치에 커서 위치시키기
         au BufWinLeave *.c mkview " 보던 .c 파일의 예전 위치에 커서 위치시키기
  • 0PlayerProject/커널업로드작업정리 . . . . 3 matches
          * tftp 파일명 위치 : 해당 파일을 지정한 메모리 주소에 기록한다.
          * 크로스 컴파일러 안에 들어있는 것을 사용함.
  • 2005MFC이동현님의명강의 . . . . 3 matches
         == 파일 업로드 ==
          * 수업때 시연했던 파일.
          * 언인스톨은 동일 버전의 Setup파일을 재실행 시키시거나, 제어판에 프로그램 추가/삭제에서 하실 수 있습니다.
  • 2006년4학년1학기수업 . . . . 3 matches
         || 5(1:00) || 컴퓨터네트워크 4551 || 컴파일러설계 4552 || 컴퓨터네트워크 4551 || || ||
         || 6(2:00) || 컴퓨터네트워크 4551 || 컴파일러설계 4552 || || 컴파일러설계 4552 || ||
  • 2학기파이선스터디/모듈 . . . . 3 matches
          * 파이썬 프로그램 파일 혹은 C 확장 파일
         mymath.py 라는 파일로 저장한다..
  • 3D프로그래밍시작하기 . . . . 3 matches
         이 시점에서 여러가지 해결해야 할 사항이 생기는데, 첫째로는 파일 포맷에 대해서 정확히 이해하고, 각 항목이 어떤 역할을 하는 것인지를 알아야 하겠으며, 둘째로는 비교적 여러단계로 복잡하게 구성되어 있는 3D Scene Data 를 효율적으로 정렬하기 위한 자료구조를 내 프로그램에 심는 것입니다. STL 같은 라이브러리를 능숙하게 사용할 수 있다면 많은 도움이 될 것입니다. 가급적이면 계층적으로 구성된 모델을 읽을 수 있도록 해야 나중에 애니메이션도 해보고 할 수 있겠죠. 세째로는 기본 이상의 가속기에 대한 조작을 할 수 있도록 d3d_renderstate 들에 대해서 알아두는 것입니다. 최소한 바이리니어 필터링을 켜고 끄고, 텍스춰 매핑을 켜고 끄고, 알파블렌딩, 등등을 맘먹은대로 조합해볼 수 있어야겠죠
          * asc 포멧이라 함은 구석기 시대..에 쓰던 맥스의 포멧인데요.. --ㅋ 맥스에서 디자이너가 모델링을 하면 그 결과를 스크립트로.. 그러니까 텍스트 파일로 바꾼.. 포멧이라 합니다.
          * 파일 포멧에 관한 자료는 나우누리 게제동에 심심강좌.. 인가.. 거기하구 책으로는 3d file format이라는 책이 있는데.. addison wesley 에서 나온건가.. --; 있습니다. 여러군대에서 찾으실수 있을듯 합니다.
  • 5인용C++스터디/다이얼로그박스 . . . . 3 matches
         대화상자(DialogBox)는 최상위 윈도우(top-level window)의 자식 윈도우로서 일반적으로 사용자로부터 정보를 얻기 위해 사용된다. Dialog는 사용자들이 파일을 선택하여 열기 등의 작업을 쉽게 하도록 합니다. 파일 작업을 쉽게하기 위해 제공하는 컴포넌트가 FileDialog클래스이다. Dialog는 Frame윈도우와 비슷한데 그 차이점을 살펴보면, 대화상자는 윈도우에 종속적이기 때문에 그 윈도우가 닫히면 대화상자도 따라서 같이 닫히게 된다는 것이다. 또한 윈도우를 최소화시켜도 대화상자는 사라지게 된다.
         modal dialog의 예를 들면 프로그램에서 파일을 저장할 때 화면에 뜨는 Dialog를 들 수 있다.
  • APlusProject/PMPL . . . . 3 matches
         Upload:APP_TracingChart.zip - 수정해주세요~ 액셀파일입니다
         Upload:APP_TracingChart_0619.zip - 한글파일로 수정했고, 세로로 안되서 가로로 했다. 버전은 0.2
         전에 올린 파일들 어디가서 지우더라????? 회의록이 잔뜩 쌓여있을듯...;;;;; -- 상준
  • AcceleratedC++/Chapter11 . . . . 3 matches
         우리가 복사, 대입, 소멸시 하는 일에 대해서 명시적으로 정하지 않으면 컴파일러는 정해진 자신만의 방법으로 이런 일을 하는 정의를 만들어서 작동하게 된다.
          * '''헤더파일에서의 리턴타입이 Vec& 로 사용되었음'''
          생성자, 소멸자, 복사 생성자, 대입연산자를 재정의 하지 않을 경우에는 컴파일러가 기 정의된 방식으로 이런 생성자의 기본형을 만든다.
  • AcceleratedC++/Chapter3 . . . . 3 matches
         여태까지의 기초적인 입출력 문제를 넘어서서 본격적인 작업을 다루기 시작하는 장이다.
          * 입력파일의 끝에 도달했을때
          // 컴파일시 에러가 나서 같은 의미인 unsigned int형을 써서 vec_sz을 표현했습니다.
  • AcceleratedC++/Chapter5 . . . . 3 matches
          * 여태껏 잘쓰던 벡터형 변수[n]은 벡터의 n번째 요소를 말한다. 지금까지 하던거 보면 루프 안에서 ++i 이거밖에 없다. 즉 순차적으로만 놀았다는 뜻이다. 우리는 알지만 컴파일러는 알길이 없다. 여기서 반복자(Iterators)라는 것을 알아보자.
          * 하지만 임의 접근을 지원하지 않는 컨테이너에다 저짓하면 안된다. + 연산자가 정의되어 있지 않기 때문에 컴파일 에러 뜬다.
          * 표를 보면 알겠지만, 파일 크기가 커질수록 vector의 요소 삽입, 삭제 시간은 비약적으로 증가한다. list는 별로 안 증가한다.
  • AppletVSApplication/영동 . . . . 3 matches
          * 애플릿은 시간이 오래 걸릴 수 있다. 애플릿과 필요한 파일들이 서버로부터 다운로드 되어야 하므로 시간이 걸린다. 이런 파일들을 JAR로 압축하여 전송하면 시간이 단축되며, 압축된 각 파일에 디지털 서명을 추가할 수 있다.
  • Athena . . . . 3 matches
          * 1. BMP 파일 읽고 저장
          * 1.1 BMP 파일 읽기
          * 1.2 현재 화면과 결과 화면을 BMP 파일로 저장
  • BeingALinuxer . . . . 3 matches
          * 첫 번째 - 간단한 리눅스 소개, 서버 접속법(terminal, sftp), 파일 목록보기, 디렉토리 옮겨다니기 ([http://zeropage.org/~linuxer/documents/BeingALinuxer01.odt 자료01], [http://zeropage.org/~linuxer/documents/BeingALinuxer01.pdf PDF버전])
          오늘의 의문점: 와일드카드 문자의 정확한 동작을 모르겠다.(ls pu* 로 하면 왜 pu*폴더안에있는 파일까지 다 나오는지?)
          - ls directory 하면 그 안에 있는 내용도 보여주는데.. ls pu* 하면. pu로 시작하는 파일하고 pu로 시작하는 디렉토리 안의 내용을 보여주겠지. 글고 linux, unix, bsd 계열의 OS에서는 폴더보다는 디렉토리라고 부르는게 맞는듯. - 인택
  • Bigtable/DataModel . . . . 3 matches
         DFS 최소 파일 단위
          1. 블록의 인덱스와 실제 파일의 주소를
          1. 카탈로그 전용 파일 필요?? SSTable 하나를 할당받아 다 쓸때까지 해제하지 않는건 어떨까?
  • C99표준에추가된C언어의엄청좋은기능 . . . . 3 matches
          * 흠 이상하네 ㅡ.ㅡ;; gcc에서는 되고, VS.net에서는 에러를;; 잘못 컴파일 한건가? 혹시 VS.net에서는 안되나요? - [eternalbleu]
          * 흐음... C에서 동적할당을 하기 위해서는 new나 malloc 정도의 키워드를 사용해야 하지 않나요?? 혹시.. 컴파일 옵션을 달리해야 하는??;; - [이승한]
          * 알아본 결과 C99에서 지원되는 것으로 표준이 맞으며, 단지 VS의 컴파일러가 C99를 완전히 만족시키지 않기 때문이라고함. gcc도 3.0 이후버전부터 지원된 기능으로 variable-length array 이라고 부르는군요. (gcc는 C99발표이전부터 extension 의 형태로 지원을 하기는 했다고 합니다.) - [eternalbleu]
  • CPPStudy_2005_1 . . . . 3 matches
          [http://www.acceleratedcpp.com/ Accelerated C++ Official Site] 각 커파일러의 버전에 맞는 소스코드를 구할 수 있습니다.
          [http://msdn.microsoft.com/visualc/vctoolkit2003/ VSC++ Toolkit] .net 을 구입할 수 없는 상태에서 STL을 컴파일 해야할 때 사용하면 되는 컴파일러. (공개)
  • CodeRace/20060105 . . . . 3 matches
         대상파일: Upload:Alice.txt
         요구사항에 다음 입력 파일 예제가 쓰인다고 가정한다.
         텍스트 파일을 읽어 공백 단위로 분리해서 화면에 한 줄에 하나씩 출력한다.
  • Debugging/Seminar_2005 . . . . 3 matches
          * 디버깅은 주로 구문적인 에러보다는 컴파일은 되더라도 자신의 의도한 값이 나오지 않을 경우에 많이 한다.
          * 한번에 하나씩의 버그를 수정하고 테스트 (한번 변경될때마다 컴파일을 해본다.)
          * 많이 변경된 상태에서 컴파일 할 경우 버그들이 복합되어져서 보이기 때문에 찾기가 더 힘들다.
  • DirectDraw . . . . 3 matches
         그리고 소스파일의 앞부분에
         일단 bmp파일을 찍기 위해서는
          1. bmp파일을 surface에 찍는다. (위와 같은 방법으로)
  • DirectDraw/DDUtil . . . . 3 matches
          * strBMP : 비트맵 파일파일명을 넣는다.
          특정한 비트맵 파일로부터 팔레트를 얻어온다.
  • EffectiveSTL/Container . . . . 3 matches
          * 아직까지도 STL을 완벽하게 지원하는 컴파일러는 존재하지 않는다.
          * Fucntion Object 보통 class키워드를 쓰던데, struct(이하 class라고 씀)를 써놨군. 뭐, 별 상관없지만, 내부 인자 없이 함수만으로 구성된 class이다. STL에서 Generic 을 구현하기에 주효한 방법이고, 함수로만 구성되어 있어서, 컴파일시에 전부 inline시킬수 있기 때문에 최적화 문제를 해결했음. 오 부지런히 보는가 보네. 나의 경쟁심을 자극 시키는 ^^;; --["상민"]
          * 어렵지만 효율적인 방법 - 뭐 또 파일에 쓴다고 해서 이상한방법 쓰는데 그냥 넘겼다.
  • ExecuteAroundMethod . . . . 3 matches
         같이 일어나야만 하는 행동은 어떻게 표현을 할 수 있을까? 예를 들면 파일을 열었다면 닫아야한다. DC를 얻어왔으면 해제해줘야 한다. 등등...
         스몰토크에서는 다음과 같은 방법으로 해결하고 있다. 스몰토크에는 Block이라는 객체가 있다. 이 블록을 파라메터로 넘겨주는 것이다. 즉 1. 파일 연다. 2. 작업 블록을 파라메터로 넘겨준다. 3. 파일 닫는다. 이런식으로 되는 것이다. C++에서는 함수 포인터를 넘겨주는 방법으로 해결할 수 있을 듯하다. 이런 것을 Higher Order Programming이라고 했던 것 같다.(SICP) C++에서 멤버 함수는 원칙적으로 함수 포인터가 안되는 것으로 알고 있다. 그래도 그냥 그런가 보다 하자. 정말 이상하다.--;
  • HardcoreCppStudy/두번째숙제 . . . . 3 matches
          * 프로그램을 파일 하나에 다 때려넣지 말고, 헤더파일(클래스 선언), 클래스 구현부, main함수의 파일 3개로 나눠서 작성하세요.
  • HelpMiscellaneous . . . . 3 matches
         UpgradeScript는 업그레이드를 위해서 기존에 자신이 고친 파일을 보존해주고, 새로 갱신된 파일로 바꿔주는 스크립트입니다. 유닉스 계열만 지원하며, 쉘 스크립트이며 `diff, patch, GNU tar` 등등의 실행파일이 필요합니다.
  • HelpOnMacros . . . . 3 matches
          * 이경우 대소문자 구분이 중요한데, 반드시 `plugin/파일이름.php`에 대응하는 파일이름을 {{{"각주"=>"매크로파일이름"}}}식으로 지정해야 합니다.
  • Java2MicroEdition . . . . 3 matches
         그리고, 수많은 소비자/임베디드 디바이스들에 공통적으로 적용할 수 있는 플랫폼을 개발한다는 것도 자체적으로 한계가 있었다. 다양한 하드웨어, 다양한 운영체제, 그리고 전혀 호환성 없는 유저 인터페이스까지, 이 모든 차이점을 극복하면서 기존의 J2SE 기반의 자바와의 호환성까지 유지할 수 있는 솔루션은 불가능하다는 문제인식이 있었다. 그래서 등장한 개념이 컨피규레이션과 프로파일로의 플랫폼 분할이다.
         컨피규레이션이란 자바 가상머신과 코어 API들에 대한 명세를 의미하고, 프로파일은 그 상위의 클래스 라이브러리, 즉 표준 API 집합에 대한 명세를 의미한다. 이러한 개념적인 분할이 필요한 이유는 메모리와 CPU등의 크기와 성능이라는 측면에서의 요구사항이 동일한 디바이스들의 집합을 하나로 묶어서 컨피규레이션을 정의하고, 이러한 컨피규레이션을 바탕으로 각 디바이스들의 기능, 혹은 버티컬 시장의 요구사항에 맞추어 프로파일을 정의함으로써, 플랫폼의 통일성과 다양성을 동시에 만족시킬 수 있기 때문이다.
  • JavaStudy2002/해온일 . . . . 3 matches
          * 넷째주 ... ScheduledWalk 를 만들다보니 자바는 입출력부분이 그리 간단하지 않다는걸 느끼게 되었습니다. 그래서 셋째주 과제는 다음으로 넘기구요 입출력에 관해 공부를 해 오는 것으로 하겠습니다.
          * 일곱째주 ... 메모장을 만들어봅시다. 파일저장이나 불러오기 같은것등을 구현해봅시다
  • JavaStudy2004 . . . . 3 matches
          * [JavaStudy2004/파일입출력]
          * ''''숙제 및 파일 업로드는 페이지 하단의 UploadFile을 참고해서 하시면 됩니다''''
  • Linux/RegularExpression . . . . 3 matches
         실행가능한 파일("..x..x..x")들 찾기
         (2) $ grep '정규식' 파일이름
         <= 파일을 입력받아 정규식을 이용하여 패턴을 찻아냄
  • MFC/HBitmapToBMP . . . . 3 matches
         = HBITMAP 에서 BMP 파일로 추출 =
         // Purpose: [CBitmap에 저장되어있는 이미지를 Bmp파일로 만든다.]
         // [*filename] : 만들어질 bmp파일이름
  • NSIS . . . . 3 matches
          * makensis 로 Script 를 컴파일한다. 그러면 makensis 는 스크립트를 분석하면서 포함해야 할 화일들을 하나로 묶어준다. 그리고 zip의 형식으로 압축해준다. (내부적으로 zip2exe 가 이용된다. 이건 zlib 사용됨.)
         NSIS installer들은 'MakeNSIS' 프로그램에 의해서 NSI script (.NSI) 를 컴파일함으로서 만들어진다.
         NSIS 는 인스톨하고 난 뒤에는 오른쪽버튼 shell-extension 에 해당 확장자 컴파일이 등록된다. 하지만 command 로 수동으로 옵션을 설정하면서 입력해주는 것이 더 편하다.
  • NSIS/예제4 . . . . 3 matches
         설치중에 윈도우 서비스를 멈췄다가 살리는 스크립트. 이것때문에 삽질을 좀 했다....-_-;; servicelib.nsh 파일을 인클루드 해줘야한다.
         ;인스톨러 파일 이름
         ;파일 복사 섹션
  • NamedPipe . . . . 3 matches
          hPipe = CreateFile( // 파일을 연다
          } // 파일을 열고 Pipe를 서버에 접속하기 전까지 대기 상태로 만들어둔다.
         실제 예제 파일 NamedPipe를 이용한 Chat Program [http://www.zeropage.org/pds/20031103027/NamedPipe.zip]
  • PracticalC . . . . 3 matches
          파일형식 : 프로그램이 읽고 쓸 수 있는 파일파일형식을 간략히 설명
  • ProgrammingLanguageClass/Report2002_2 . . . . 3 matches
          * 컴파일러가 적용하는 type-compatibility 규칙(묵시적 형변환 따위) 에 대한 평가.
          * 컴파일러에서 포인터에 대한 보안성에 관한 평가
          * 만약 가능하다면 functional side-effects가 발생이 컴파일러에서 operand의 순서에 대한 평가 점검한다. -수정 필요
  • ProgrammingPearls/Column1 . . . . 3 matches
         파일 내용의 소트를 어떻게 할 것인가?
         첨에는 머지 소트를 했었는데 버렸다. 다른 방법으로는, 각각의 숫자를 4byte로 표현하면 현재 메모리에 250,000개를 담을 수 있다. 250000개를 소트하고, 또 250,000개 읽고... 이걸 40번 하는 거다. 머지 소트는 중간 작업 파일에의 엑세스가 자주 일어나고, 두번째 방법은 입력을 40번을 받아야 한다는게 문제다. 이것 두가지의 장점을 잘 조합해서 입력은 한번, 중간 작업 파일이 없게는 할 수 없을까?
  • ProjectPrometheus/CookBook . . . . 3 matches
         Pattern pattern = Pattern.compile( find ); // 패턴 컴파일
         build_zpLocal.xml ( .../Prometheus/bin 에 빌드하는 스크립트 ) 를 이용, 실행되는 위치와 관계없는 곳에 일단 컴파일을 하고, 테스트를 돌리게 한다.
         ["Ant"] 를 이용하면 된다. Ant 의 경우 컴파일 & 배포할때 수정된 화일만 덮어쓰기를 한다. CVS & ["Ant"] 조합이면 해결이라 생각.
  • ProjectSemiPhotoshop/요구사항 . . . . 3 matches
          1. BMP 파일 읽고 저장하는 기능 (O)
          i. BMP파일(흑백 칼라 사진) 읽기 (O)
          * 현재의 화면 or 결과 화면을 bmp 파일로 저장(*.bmp)(O)
  • ProjectZephyrus/ClientJourney . . . . 3 matches
          * 움.. 아무래도 난 말빨 글빨 다 딸리는거같다.. 위에글처럼 멋있게 쓰고싶은데, 그냥 내식대로 써야겠다.. 간만에 내가 또 형보다 일찍왔다. 이틀동안 빠진게 타격이 너무 컸나보다.. MainSource에 새로 추가된 파일도 꽤되고 기존파일도 업데이트된 내용이 많아서 이해가 아니라 읽어보는것만해도 엄청난 시간이 들었다.. --;; 정통부 회의겸 기짱턱땜에 일찍갔는데 아무래도 금요일로 완료가 된 모양이다.. 이번이 나로선 거의 처음 해본 프로젝트였는데, 내가 별로 한건없지만, 솔직히 뭔가 만든것보단 배운게 더 많은거같다.. 하긴 프로젝트를 해본다는거 자체가 배운다는거였으니깐.. 꼭 자바에 대해서 배운것보다도 Design이라던지 Architecture(맞나?) 같은것에 대해서도 배웠고.. 프로젝트란 이렇게 진행해야 하는거구나라는것도 느꼈다. 뭔가 많이 쓰고싶은데 머리속이 정리가 안된다.. 이럴때 정말~~ ㅠ.ㅠ 아우~ 나중에 더 써야겠다..
          * 중간 중간 테스트를 위해 서버쪽 소스를 다운받았다. 상민이가 준비를 철저하게 한 것이 확실히 느껴지는 건 빌드용/실행용 배치화일, 도큐먼트에 있다. 배치화일은 실행한번만 해주면 서버쪽 컴파일을 알아서 해주고 한번에 실행할 수 있다. (실행을 위한 Interface 메소드를 정의해놓은것이나 다름없군.) 어떤 소스에서든지 Javadoc 이 다 달려있다. (Coding Standard로 결정한 사항이긴 하지만, 개인적으로 코드의 Javadoc 이 많이 달려있는걸 싫어하긴 하지만; 코드 읽는데 방해되어서; 하지만 javadoc generator 로 document 만들고 나면 그 이야기가 달라지긴 하다.)
  • ProjectZephyrus/ServerJourney . . . . 3 matches
          1. JCreator용 설정 파일 작성
          1. Windows 상에서 일반 콘솔에서 컴파일, 실행 하기 위한 배치 파일 작성
  • ReplaceTempWithQuery . . . . 3 matches
         그러한 우려는 ' '''단지 그럴지도 모른다.''' ' 라는 가정일 뿐이다. 누구도 실제로 '''프로파일링'''(profiling)해보기 전까지는 알 수 없다. 실제로 문제가 되는지 아닌지는.
         어느정도 수준에 오른 프로그래머일수록, 반복적으로 사용되는 값에 대해 임시변수를 사용하고 이러한 최적화(?)를 나름대로 수행하려 한다. 그러나, 이러한 미시적인 최적화는 결과적으로 거시적 최적화의 기회를 박탈하게 한다. 심지어 최악의 경우라도 임시변수를 다시 넣는 일은 쉽다(물론, 프로파일링 ' '''결과''' ', ' '''실제로''' ' 퍼포먼스에 심각한 문제를 주는 경우라면).
         이러한 방법을 사용하면서 부가적으로 얻을 수 있는 장점이 하나 더 있다. 실제로 도움이 될지 안될지 모르는 최적화를 하는데 쏟는 시간을 절약할 수 있다. 임시변수 사용뿐 아니라 이러한 미세한 부분의 조정은, 해놓고 보면 별로 위대해보이지 않는 일을, 할때는 알지 못하고 결국 시간은 낭비한게 된다. 돌이켜보면 나의 이러한 노력이 제대로 효과가 있었는지도 모른다. '''왜?''' 프로파일링 해보지 않았으니까. 단순히 ''시스템을 더 빨리 돌릴 수 '''있을지도''' 모른다''는 우려에서 작성한 것이었으니까. [http://c2.com/cgi/wiki?DoTheSimplestThingThatCouldPossiblyWork DoTheSimplestThingThatCouldPossiblyWork]
  • STL/vector/CookBook . . . . 3 matches
          * 원인은 그거다. 정적 배열은 컴파일 시에 크기를 잡는다. 입력받는 부분은 컴파일 끝나고 실행할때 크기를 입력받는다. 컴파일러는 당연히 크기를 알수 없으니 에러가 나게된다. 고쳐 보자.
  • ScheduledWalk/석천 . . . . 3 matches
         ["데블스캠프2002"]때 소개했었던 StructuredProgramming 기법을 처음부터 끝까지 진행하는 모습을 보여드립니다. 중간에 버그가 발생하고, 그 버그를 수정한 소스를 그대로 실어봅니다. 그대로 따라해보셔도 좋을듯. 단, 중간 삽질과 컴파일 에러에 겁먹지만 않으신다면. ^^;
         위까진 프로그램의 트리중 1차 레벨이겠고, 이를 조금씩 재정의해나갔습니다. 컴파일 에러는 거의 뭐 무시를..~ 어차피 뼈대이므로. 컴파일 에러나 무한루프 등이 문제가 발생하는 경우엔 일단 void 형으로 리턴값을 적거나 return false; 식으로 채워넣습니다. 일단은 뼈를 잡는게 더 중요하므로.
  • VonNeumannAirport/1002 . . . . 3 matches
         컴파일 에러.
         컴파일러가 인자 2개짜리 Interface 이기를 요청한다. 요청대로 해주자.
         이 인터페이스도 수정하길 컴파일러가 바라고 있다. 원하는대로 해주자.
  • Yggdrasil/가속된씨플플/4장 . . . . 3 matches
          * 4.3장부터는 여러 헤더파일과 소스파일로 분리해놓고 있다.
          * max()라는 함수가 의심스럽다. 분명 msdn에도 algorithm헤더에 있다고 했는데 컴파일하면 자꾸 정의되지 않은 이름이라 에러를 뱉어낸다. 이 함수의 정체는?
  • ZeroPageHistory . . . . 3 matches
         FixMe 임베팅한 사이즈 조절 할줄 모르겠음. 오리지날 파일은 아래 참고. 스크린샷 상의 오르지오 메일은 망해서 모자이크 처리 안했음 --NeoCoin
          * 데블스캠프 : C, 파일 입출력, DOS, UNIX, Windows, Web Programming, Object-Oriented Programming, Network
  • ZeroPageServer/CVS계정 . . . . 3 matches
          1. 알수 없는 저 문자열을 /home/CVS/CVSROOT/passwd 파일에 주석에 따라 적절히 입력시킨다.
          * <!> passwd 파일의 마지막에는 항상 빈줄이 들어가야 한다.
          1. /home/CVS 이하 파일들의 권한이 cvs_man 이 아니라면, 변경해준다.
  • ZeroPageServer/set2002_815 . . . . 3 matches
          * 커널 컴파일 후에 텔넷에서 반응하는 속도가 다르다. (마운트 속도에서) 확실히 커널 업그레이드가 가장 선행되어야 했었다.
          * 커널 컴파일시 필요없는 거의 모든 옵션을 뺐다. ISA지원이라던지, 구형 cd-rom, usb, ieee, agp 등 전부 제거 했다. 앞으로의 성능 차이가 기대된다.
          * 27일 새벽에 http.conf 파일에 권한을 주는 설정들로 시도. 불발
  • ZeroPage성년식/거의모든ZP의역사 . . . . 3 matches
         FixMe 임베팅한 사이즈 조절 할줄 모르겠음. 오리지날 파일은 아래 참고. 스크린샷 상의 오르지오 메일은 망해서 모자이크 처리 안했음 --NeoCoin
          * 데블스캠프 : C, 파일 입출력, DOS, UNIX, Windows, Web Programming, Object-Oriented Programming, Network
  • callusedHand . . . . 3 matches
          * 파일 매니저 제작(C & GTK++)
          * 파일 매니저 - directory tree(06/05/02 ~ )
         == 파일 메니저 ==
  • lostship/MinGW . . . . 3 matches
          * .dll.4.5 파일들을 path 가 잡힌 디렉토리로 복사 한다.
         == application 을 STLport library 와 함께 컴파일 하는 예 ==
          * gcc 3.2 버전에서 c++ 헤더 파일의 위치가 바뀐점이 STLport-4.5.3 에 아직 적용이 안되어 있다.
  • 그래픽스세미나/1주차 . . . . 3 matches
          PPT파일: Upload:CGseminar01.zip
         || 김창성 || 파일 올리는 법을 모르겠다. -_-; ||
         || [인철] || 파일 올리는 법-.-;; 저번에 나한테 가르쳐주었는데..도저히 모르겠다..-.-||
  • 그래픽스세미나/2주차 . . . . 3 matches
          PPT파일: Upload:CGseminar2.zip
         || 이상규 || [http://165.194.17.15/~lsk8248/wiki/Seminar/%b1%d7%b7%a1%c7%c8%bd%ba%bc%bc%b9%cc%b3%aa/2%c1%d6%c2%f7/Space.zip Space] 상하좌우 방향키와 +,- 키를 눌러보세요^^ [[BR]] [http://165.194.17.15/~lsk8248/wiki/Seminar/%b1%d7%b7%a1%c7%c8%bd%ba%bc%bc%b9%cc%b3%aa/2%c1%d6%c2%f7/Space.exe Space 실행 파일] [http://165.194.17.15/~lsk8248/wiki/Seminar/%b1%d7%b7%a1%c7%c8%bd%ba%bc%bc%b9%cc%b3%aa/2%c1%d6%c2%f7/ErrorSpace.exe 에러난 Space 실행 파일(멋진 에러..ㅡ.ㅡ)]||
  • 데블스캠프2006/월요일/함수 . . . . 3 matches
         [파일자료]
          [DeleteMe] ) 파일자료 가 아닌, 데블스캠프2006/월요일/함수/파일자료 이런식으로 올려주시기 바랍니다.
  • 데블스캠프2006/준비 . . . . 3 matches
         - 월 : 표준입출력, 문법, 함수, MSDN, 비트연산, 아스키 / 수생, 유선, 용안, 정현, 규완
         - 화 : 구조체, 파일 입출력, 포인터(메모리), 디버깅 / 아영, 상규, 선호, 도현
  • 데블스캠프2006/준비/화요일 . . . . 3 matches
         구조체, 파일 입출력, 포인터(메모리), 디버깅
         || 21:00 ~ 22:00 || 표준입출력 체계적 + 예제 || 상규 ||
  • 데블스캠프2006/화요일 . . . . 3 matches
         || 21:00 ~ 22:00 || 파일입출력 체계적 + 예제 || 상규 ||
         == 파일 다운 ==
  • 데블스캠프2010/넷째날/후기 . . . . 3 matches
          * 자바스크립트라는말을 많이 들어봐서 뭔가 했는데 이제야 어떤건지 조금은 알았네요. 자바와 자바스크립트가 다른거라는것도 오늘알았고 자바스크립트가 C언어와 이렇게 비슷한걸 보니까 언어 하나를 배우면 다른건 쉽게 배운다고하는말이 뭔지 알것같습니다. 그리고 역시나 감동의 쓰나미였다 또 C언어처럼 컴파일러 같은게 필요한것도 아니고 코딩한 파일을 웹브라우저로 실행하기만 하면 결과가 나온다는것도 신기하네요 - [경세준]
          * auto형이 스크립트언어나 vb의 varient처럼 무적(?)인줄알고 좋아했다가 직접 컴파일해보고 절망했... ㅋㅋㅋㅋㅋ 그리고 gcc 4.x에서 아직 c++0x를 제대로 지원하지 않는것 같아서 직접 써볼 기회는 안된게 아쉽네요 ㅋㅋ - [남상혁]
  • 데블스캠프2011/둘째날/Machine-Learning/NaiveBayesClassifier/강성현 . . . . 3 matches
          * 파일입력은 FileData 클래스를 만들어서 사용. java.util.Scanner를 사용하였음.
          * train 데이터를 읽어들여서 일단 문자열과 빈도수를 csv 파일로 저장. 이를 Analyze 클래스에서 csv 파일을 읽어들여 test 데이터를 판별.
  • 데블스캠프2011/둘째날/후기 . . . . 3 matches
          * 수식은 어떤식으로 문서를 분석하는건지 알것같은데.. 파일입출력을 제대로 못해서 시도조차 못해봤습니다.ㅠㅠ 기초 능력이 부족한 탓이네요, C로 train 파일을 입력받아 변수에 단어별로 저장하고 단어의 개수를 세는것까지는 했지만 그 이상은 하지 못했습니다.. 능력부족을 실감했어요
  • 땅콩이보육프로젝트2005 . . . . 3 matches
          * 수생: 그림 파일 저장하기.
          * 그림파일처리
          * 그림파일처리
  • 레밍즈프로젝트/박진하 . . . . 3 matches
         주말동안 알바덕에 못했던 거 수정하려고 파일을 열어봤더니;
         Serialize 해서 파일에 저장하는거 까진 성공했는데;
         왜 파일들이 깨져서 저장되지;
  • 문자반대출력/김태훈zyint . . . . 3 matches
         소스파일이 한글이면 제대로 리버스가 안되요 ㅠㅠ
          //파일을 엽니다
          //파일을 닫습니다.
  • 비밀키/나휘동 . . . . 3 matches
         비밀키를 입력받아서 파일에 있는 내용을 암호화 하는 프로그램
          cout << "파일 이름 : ";
          cout << "파일 이름 : ";
  • 비행기게임/진행상황 . . . . 3 matches
          * 7.18 : txt파일로부터 적기의 경로 불러 오기 성공
          * 7.27 : 적기의 행동 패턴 함수 작성, 행동 패턴은 파일에서 읽어 들임.. 행동패턴 맘대로 추가 가능.
          * 점수 뿌리는 거 하느라 죽을뻔 했다. Ailien의 암호화된 소스를 분석하는데 상당한 시간을 소모했다. 여튼 점수 나타내는 거 끊냈다. 지금 시간 세벽 4시!! 인간승리다!!....ㅠ,ㅠ 파일은 자료실에 올려놨다 --재동
  • 새싹교실/2011/데미안반 . . . . 3 matches
          * 기계어로 번역된 파일이 .obj 파일인데 왜 이상한 영어들로 되어있나요?
          * 실행파일의 생성순서
  • 새싹교실/2011/무전취식/레벨1 . . . . 3 matches
          * 입출력 실습
          * 첨으로 VS2008을 써보았슴다. 표준입출력 연습?? 언어에 관해서는 그다지 어려운 점이 없었는데, 내컴에 깔린 VS2008과 실습실에 깔린 VS2008 환경설정이 달라서 조금 걱정ㅠㅠ.. 사실 C언어 코딩을 반년 넘게 안하고, 중간에 C99 표준 내용을 아주 쪼오금 본 뒤 다시 표준입출력으로 돌아오니, C언어가 참 어렵다는 생각이 들기도 했습니당. 저도 갈길이 멀지만 저보다 한발짝 뒤에 있는 동기들을 보면 조금 걱정입니다. ㅜㅜ 화이팅 -[정진경]
  • 새싹교실/2012/AClass/2회차 . . . . 3 matches
         - 난수(random number)를 생성할때 stdlib.h헤더파일을 코드에 포함시키고 srand()를 사용한다.rand()함수는 매번 그 값이 같은 반면에 매실행때마다 난수를 다르게 생성하기 위해서 srand()를 사용한다.
         이러한 코드개선을 위해서 time()함수를 사용해야 한다. 이 함수를 사용하기 위해 time.h 헤더 파일을 코드에 포함시켜야 한다. 또한 time함수는 1970년 1월 1일 이후 경과된 시간을 초 단위로 반환하는 함수 이다.
         헤더파일 : <stdlib.h>
  • 새싹교실/2012/강력반 . . . . 3 matches
         소스파일 오른쪽클릭 추가 - cpp파일 클릭후 이름에 .c 붙여서 생성
         4.입출력 함수
  • 서버구조 . . . . 3 matches
         vi - 파일을 열어본다.
         tail - 파일의 끝 부분을 보여준다.
         backup : 백업파일들이 들어있음
  • 손동일/TelephoneBook . . . . 3 matches
          void show(); // 보여주는 것을 파일을 직접? 아니면 값을 옮겨서 옮긴 값을..
          void save(); // 적은 내용들을 파일에 저장한다.
         void TelephoneBook::save() // 적은 내용들을 파일에 저장한다.
  • 임인택/삽질 . . . . 3 matches
         난 지금까지 이게 컴파일 불가능한 코드인걸 모르고 있었다...--;
          컴파일 되는데요? 우리집이 이상한건가...--[Leonardong]
         위의 코드는 gcc, VC.net 2003 에서는 컴파일이 잘 되는데 VS6 에서는 않된다. 왜일까? -_-a
  • 정모/2012.3.12 . . . . 3 matches
          * 전시회 홍보, 동아리 방 설명에 이어서 OMS가 상당히 인상 깊었던 정모였습니다. 제목만 보고도 그 주제를 고르신 이유를 바로 알았습니다. 전체적으로 Type, Type Safety, Java Generics에 대해서 상당히 깊이 다루지 않았나 싶네요. 사실 제네릭스 모양이 C++의 템플릿과 비슷하게 생겨서 같은 것이라고 생각하고 있었는데 이건 확실히 '만들어진 이유가 다르다'고 할 만 하군요. 그리고 마지막에 이야기했던 Type Erasure는 제네릭스를 구현할 때 JVM 레벨에서 구현하지 않고 컴파일러 부분에서 처리를 하도록 했기 때문에 타입이 지워지는 거라는 얘기를 들었는데 맞는지 모르겠군요. 이거 때문에 제네릭스 마음에 안 들어하는 사람들도 있는 모양이던데. 중간에 이 부분에 대한 개선이 이루어지고 있다는 말씀을 잠깐 하셨는데 컴파일 이후에도 타입 정보가 사라지지 않도록 스펙을 수정하고 있는 건가요? 좀 궁금하군요. 여담이지만 이번에 꽤 인상깊게 들었던 부분은 예상외로 Data Type에 대한 부분이었습니다. 이걸 제가 1학년 여름방학 때 C++ 스터디를 한다고 수경 선배한테 들은 기억이 지금도 나는데, 그 때는 Type이 가능한 연산을 정의한다는 말이 무슨 뜻인지 이해를 못 했었죠 -_-;;; 이 부분은 아마 새내기들을 대상으로 새싹을 할 때 말해줘야 할 필요가 있지 않을까 싶습니다. 아마 당장은 이해하지 못 하겠지만. 후후 - [서민관]
          * 아... Generics쪽의 개선이었군요 ;;; 타입 추론을 넣는 건가요. 컴파일러단에서 타입을 다 체크했으니 추측해서 넣을 수도 있다는 얘기였나... 그럼 타입 추론은 javac에서 이루어지는 건가요? 그렇다면 C++의 auto 키워드랑 같은 방식으로 작동한다는 얘기인가? 아마 힌들리-밀너 뭔가 하는 걸로 타입을 추측하는 것 같던데 쓰기는 좀 더 편해지겠네요. - [서민관]
  • 조현태/놀이/시간표만들기 . . . . 3 matches
          * 이건...비밀인데..^^;; 사실 용량이 큰 이유가 안에 캐쉬를 위해서 색깔만 다른 그림파일 같은게 3개 들었다. 시간 부족으로 그부분 처리 해주기가 귀찮아서 방치중..ㅎㅎ
          * 환경 설정 파일을 추가해서 일부 기존항목의 추가가 쉽게 만들었다.
          * 몇몇 노가다가 눈에 띄지만.. 이게 다 하위버전에서 상위버전의 세이브 파일을 읽을 수 있게 하도록 하기 위해서다!! (감동적이지 않은가!!ㅠ.ㅜ)
  • 중위수구하기/문보창 . . . . 3 matches
          * 윽.. java도 모르겠다. 근데 자바는 파일을 여러 개 만들어야 하는건가요?
          C언어에서 파일을 여러개 만들 때 전역 변수를 쓰는 것..처럼. java도 가능한가요?--아영
          * 파일이름과 같은 클래스에 메인메소드만 있으뎐 됩니다.
  • 최대공약수/남도연 . . . . 3 matches
          화면 입출력은 메인에서 하고 클래스는 변수로 값을 넘겨받고 변수로 값을 넘겨주는게 좋지 않을까?
          지금이야 상관없지만 다른 소스에서도 콘솔화면 입출력을 사용하고, 저런식으로 입출력해야 한다는 보장이 없자넝.ㅎ
  • 토이/메일주소셀렉터/김정현 . . . . 3 matches
         파일로부터 입력을 받아 가공하여 다시 파일에 저장
         // 파일처리 클래스
  • 호너의법칙 . . . . 3 matches
          * 파일 출력 사용.
         입력이 정말 저런모양인 것인가??? 앞에 int라고까지 적혀있다닛..;;한자씩 입력받는건가? 아니면 저 모양으로 파일입력? 아니면 소스내부에 존재?
         배열은 선언하고, 다항식에서 변수 x값은 표준입력받으세요. 예제 output에서는 변수 x = 1입니다. 출력은 output.txt파일에 한번 해보세요. 문제의 요구조건은 이정도 일것 같습니다. 좀 더 일반화된 프로그램을 만들고자 하는 분은 배열도 한번 입력받아 보세요. -- 보창
  • 황현/Objective-P . . . . 3 matches
          * 컴파일 후에는 순수 PHP 코드가 된다.
         컴파일 이후, 위 코드는 최종적으로 다음과 같이 변해야 한다. (PHP 5 객체 모델)
         GNAssert()의 경우, 두 번째 인자로 @"문자열"을 받지만, 결과적으로는 컴파일 이후 GNString으로 변해야 한다.
  • 후각발달특별세미나 . . . . 3 matches
         Upload:0503_RefactoringSeminarSrc.zip - 예제 파일들.
         위 문서도 리펙토링 된 것입니다. 그리고 예제 파일들은 완벽히 리펙토링 된 것은 아닙니다. 각 소스에서 한가지 냄새를 느끼고 그 냄새에만 집중해서 리펙토링하는 것만 했기 때문입니다. 이외에도 여러가지 시도해보세요. --재동
         그런데, 함수 호출에 의한 오버헤드는 컴파일러/VM 기술이 발전하면서 점점 줄어들고 있고, 문제가 복잡할수록 그런 낮은 단계의 옵티마이제이션보다 높은 단계에서의 최적화가 훨씬 더 효과적인데, 리팩토링이 잘 되어 함수가 잘게 쪼개어져 있으면 높은 단계의 최적화를 하기가 쉬워집니다. (그래도 여전히 로우레벨의 옵티마이제이션이 필요하다면 매크로나 코드 제너레이션을 쓸 수 있습니다. DavidParnas의 [http://www.acm.org/classics/may96/ 논문] 참고)
  • 06 SVN . . . . 2 matches
         9. 해당 프로젝트 파일 수정
         10. 다시 자리 원래대로. 그후 파일 업데이트 받기.
  • 1002/Journal . . . . 2 matches
         그리고, 각각의 테스트들을 위한 DB Property 설정이 자유로우려면 Server Property 화일은 스크립트 화일로 빠져나와야 한다. (테스트 돌릴때마다 프로그램 재컴파일 한다는건, 추후 프로그램 커졌을때 효율적인 방법이 아니다.)
         그리고, 도서관 UI 가 바뀌었을 경우에 대한 대처방안에 대해서 이리저리 아이디어를 궁리해 보았었는데, 정규표현식부분을 따로 떼어내어 외부화일로 두던지 (이렇게 하면 컴파일하지 않아도 정규표현식을 수정하면 된다) 또는 HTML 을 전부 Parsing 하여 DOM 트리를 만든뒤 해당 노드의 Position 들에 대해 따로 외부화일로 두던지 (이는 추후 일종의 extractor tool 로 빼낼 수 있을 것이므로) 하는 아이디어가 떠올랐다.
  • 10학번 c++ 프로젝트/소스 . . . . 2 matches
         = 소스 파일 =
         = 헤더 파일 =
  • 2007ToeflStudy . . . . 2 matches
         3. 테스트는 voca_test_generator.xls 파일을 사용한다(필요하신분은 [김건영], 남진석에게 연락)
          * 좋은 의견 감사합니다^^ 예전에 구매했던 mp3파일로 듣기 및 작문도 병행해야겠네요. -- 진석
  • 2008리눅스스터디 . . . . 2 matches
         || 7/21(월) || 사용자 계정 관리([홍기]), 리눅스 파일 시스템([지원]) || [지원], [홍기], 윤석, 혁수 ||
         || 8/14(목) || 리눅스 프로그래밍과 파일 시스템(영동) || [지원], [홍기], 혁수 + 영동 ||
  • 2010JavaScript . . . . 2 matches
          * 증거물 파일보기
          -[박정근] : 역전재판의 대사를 바꾸는것에 대해서 공부하엿습니다 js파일에다가 대사 내용을 저장해 두고 하나씩 띄우면 될 것 같습니다.
  • 3DGraphicsFoundation . . . . 2 matches
          * 인수의 프로그램 [http://165.194.17.15/~nuburizzang/Fracta.exe] : 소스 조올라 더렵다 --; 튜토리얼에서 제공하는 무지막지하게 긴 템플릿을 써서 상당히 길기도 하다. 걍 실행파일만..--; 근데 꼭 심시티 같다--;
          * ase파일 parse
  • 3rdPCinCAUCSE/J-sow전략 . . . . 2 matches
          * 자가 테스트는 화면에 붙여넣기를 하다가 나중에 파일 입출력으로 바꾸었습니다. 화면에 붙여넣기는 시간이 너무 오래 걸렸습니다. :(
  • 5인용C++스터디/에디트박스와콤보박스 . . . . 2 matches
          CreateEdit라는 프로젝트를 만들어보자. 폼뷰가 아닌 일반 뷰에 에디트를 배치하려면 뷰가 생성될 때 (WM_CREATE) OnCreate에서 에디트를 생성시키면 된다. 우선 뷰의 헤더파일을 열어 CEdit형 포인터를 선언한다.
          두 번째로 헤더파일에 메시지 핸들러의 함수의 원형을 선언한다.
  • AM/AboutMFC . . . . 2 matches
         || Upload:MFC_Macro_23of3_2001.11.11.doc ||예제 소스코드 그림 파일로 캡춰||
         F12로 따라가는 것은 한계가 있습니다.(제가 F12 기능 자체를 몰랐기도 하지만, F12는 단순 검색에 의존하는 면이 강해서 검색 불가거나 Template을 도배한 7.0이후 부터 복수로 결과가 튀어 나올때가 많죠. ) 그래서 MFC프로그래밍을 할때 하나의 새로운 프로젝트를 열어 놓고 라이브러리 서치용으로 사용합니다. Include와 Library 디렉토리의 모든 MFC관련 자료를 통째로 복사해 소스와 헤더를 정리해 프로젝트에 넣어 버립니다. 그렇게 해놓으면 class 창에서 찾아가기 용이하게 바뀝니다. 모든 파일 전체 검색 역시 쉽게 할수 있습니다.
  • APlusProject/QA . . . . 2 matches
         Upload:TestChase.zip - n-unit 테스트 한거 정리한 한글파일입니다-- 윤주 6월4일 이거는 다른 사람이 다운 받을 필요 없는 제 정리 문서입니다.
         || 요구 사항 번호 || 설계 번호 || 구현물 (클래스명) || 구현물 (함수명) || 파일명 ||
  • ATmega163 . . . . 2 matches
          * AVR-GCC는 AVR에서 Cross Compile을 위해 만든 공짜 컴파일
          c:\avrgcc>에서 install을 실행 시킨 후 바탕화면의 avr-gcc 배치파일을 이용해 도스창을 열어서 쓴다.
  • AcceleratedC++/Chapter0 . . . . 2 matches
          C++의 모든 문장(statement)은 계산 가능한 식이다. 컴파일러에서 에러를 찾을때도 계산 가능한 식인지 확인하여 문장이 올바른 문장인지 에러는 없는지 확인하게 된다. 예를 들어 다음과 같은 두 문장이 있다고 하자.
          이런 문장이 들어있는 C++ 프로그램을 컴파일 해 보면 에러가 날 것 같지만 에러가 나지 않는다. 왜냐하면 둘 다 모두 계산 가능한 식이기 때문이다. 계산 가능한 식이라면 최종 결과가 존재해야 한다. 첫번째 문장은 계산이 끝나있는 식이고 최종 결과가 100 이다. 두번째 문장은 한번만 계산하면 계산이 끝나고 최종 결과는 4 이다. 그렇다면 다음과 같은 문장은 계산 가능한 식이 맞는가?
  • AcceleratedC++/Chapter12 . . . . 2 matches
         만약 생성자가 하나라도 존재하면 컴파일러는 암시적 기본 생성자를 만들지 않는다. 따라서 아무런 인자를 받지 않는 기본 생성자를 만들 필요가 있다.
          === 12.3.1 입출력 연산자들 ===
  • AcceleratedC++/Chapter7 . . . . 2 matches
          * Visual C++ 6.0 에서 소스를 컴파일 할때 책에 나온대로 (using namespace std를 사용하지 않고 위와 같이 사용하는 것들의 이름공간만 지정할 경우) map<string, int>::const_iterator 이렇게 치면 using std::map; 이렇게 미리 이름공간을 선언 했음에도 불구하고 에러가 뜬다. 6.0에서 제대로 인식을 못하는것 같다. 위와 같이 std::map<string, int>::const_iterator 이런식으로 이름 공간을 명시하거나 using namespace std; 라고 선언 하던지 해야 한다.
          '''''주의) STL을 이용하면서 많이 범하는 실수: > > (0) >>(X) 컴파일러는 >>에 대해서 operator>>()를 기대한다.'''''
  • AppletVSApplication/상욱 . . . . 2 matches
          - 애플릿이 실행되고 있는 클라이언트 컴퓨터 상의 파일을 읽거나 쓸 수 없습니다.
          - 로컬 파일 시스템에서 로드된 애플릿은 네트워크를 통하여 로드된 애플릿이 갖는 제약을 갖지 않습니다.
  • Applet포함HTML/영동 . . . . 2 matches
         * 음... HTML 컨버터로 컨버트하긴 했는데 ftp사용법을 몰라서 계정에 올리는 법을 모르겠네요. 그러한 관계로, 상욱이처럼 파일 내용만 올릴게요. ftp쓰는 법 배워서 링크시킬게요... [http://165.194.17.15/pub/util/WinSCP2.exe WinSCP 2.0 Beta]
          즉, 영동군의 계정에서 ~/public_html 을 만들고 test.txt 란 파일을 넣으면, 외부에서는 http://zeropage.org/~rimyd/test.txt
  • Bigtable/분석및설계 . . . . 2 matches
          * GFS는 그냥 파일시스템
          1. sstable의 파일 포맷.
  • Boost/SmartPointer . . . . 2 matches
          * boost 라이브러리는 헤더 파일만이 존재한다. 모든 구현을 헤더 파일에 해 놓았기 때문이다. 바로 필살 헤더와 구현 분리하기 귀잖어 기술....본인은 애용한다...
  • BoostLibrary/SmartPointer . . . . 2 matches
          * boost 라이브러리는 헤더 파일만이 존재한다. 모든 구현을 헤더 파일에 해 놓았기 때문이다. 바로 필살 헤더와 구현 분리하기 귀잖어 기술....본인은 애용한다...
  • C++0x . . . . 2 matches
         == 지원되는 컴파일러 ==
         예전에 지원되는 컴파일러를 정리해둔 표가 있었던 것 같으나 어디있는지는 모르겠음
  • C++스터디_2005여름/학점계산프로그램 . . . . 2 matches
         중앙대 컴공 학생 120명의 이번 학기 각 과목점수을 파일로부터 읽어들이고, 각 평점을 계산하고, 장학생명단을 발표하시오! 과목은 C, 국어와 문학, 경제와 사회, 선형대수학 이렇게 4과목으로 한다. 입력파일은 input.txt 이다. 객체 배열과 컨테인먼트을 사용하자.
  • C/C++어려운선언문해석하기 . . . . 2 matches
         서 동시에 초기화해줘야만 컴파일 할 수 있는데 여기서는 쉽게 이해할 수 있도록 생략하였습니다. (컴파일 안된다고 딴지 사절)
  • CPPStudy_2005_1/STL성적처리_3 . . . . 2 matches
         void readdata(vector<student_type>& ztable); //파일로부터 데이터를 읽어온다
         //파일로부터 데이터를 읽어온다
  • CPPStudy_2005_1/STL성적처리_3_class . . . . 2 matches
          void readdata();//파일로부터 데이터를 읽어온다
         //파일로부터 데이터를 읽어온다
  • CVS . . . . 2 matches
          * 이때, connection refused 등의 메세지가 발생한다면 /etc/hosts.allow 파일에 cvs:ip 를 추가해준다.
          * 증상: cvs 에 로그인후 프로젝트를 import 하려 하려는등의 파일을 올리려는 액션이 발생했을때 위의 에러가 출력된다.
  • CVS/길동씨의CVS사용기ForLocal . . . . 2 matches
         먼저 세팅을 위한 파일을 작성한다. 이 세팅이 없다면
         소스를 작성후 이 파일을 서버에 등록(add)하고, 소스를 올린다.
  • Cockburn'sUseCaseTemplate . . . . 2 matches
          * 주행위자와 상호작용하는 수단: 아마 전화, 파일, 직접 대면
          * 부행위자들과 상호작용하는 수단: 아마 전화, 파일, 직접 대면
  • CollectiveOwnership . . . . 2 matches
         만약 누군가가 클래스의 인터페이스를 변경했으면 변경된 클래스를 사용하는 모든 클라이언트 코드에서 오류가 발생할 것이다. 그렇게되면 클래스를 변경한 사람이 모든 오류를 수정해야만 하는가, 아니면 먼저(컴파일 시간에 오류가 발생할꺼 같은데) 발견한 사람이 수정해야 하는가?
         일단 리팩토링을 필요로 하는 부분을 한정하고, 그 주위에 테스트 프로그램을 조금씩 붙여 나가야 한다. 그리고 리팩토링을 한다. 간혹 컴파일러를 테스트 프로그램으로 여기는 약간은 위험한 방법도 있다. see also Wiki:RefactoringLegacyCode
  • ComputerNetworkClass/Report2006/BuildingProxyServer . . . . 2 matches
         GUID 생성하기. 파일 이름으로 활용할 수 있다.
         이것을 이용하면 캐쉬할 파일의 이름이 겹치는 문제를 한방에 해결할 수 잇음.
  • CxxTest . . . . 2 matches
         CxxUnit은 [CUT]의 C++버전이라 봐도 약간 상통하리라 본다.(오래되기는 CxxUnit 이 더 오래되었던걸로 기억) Python 이나 Perl 의 코드제너레이터 스크립트를 이용, Runner화일을 만들어준다. 이를 컴파일하여 실행하면 테스트가 실행된다.
         [1002]의 경우 요새 CxxUnit 을 사용중. 밑의 스크립트를 Visual Studio 의 Tools(일종의 External Tools)에 연결시켜놓고 쓴다. Tool 을 실행하여 코드제너레이팅 한뒤, 컴파일. (cxxtestgen.py 는 CxxTest 안에 있다.) 화일 이름이 Test 로 끝나는 화일들을 등록해준다.
  • Debugging . . . . 2 matches
          * 프로그램을 실행할때 디버깅 모드로 컴파일하여 디버거 기능을 포함시켜서 사용하면서 오류에 관한 각종 정보를 수집
          * 디버깅 하고 싶은 곳에 보고 싶은 변수명을 파일로 출력하는 함수를 넣는다.
  • DevPartner . . . . 2 matches
         솔루션탐색기에서 솔루션의 속성 페이지(ALT+ENTER)를 열면, "Debug with Profiling"이란 항목이 있습니다. 이 항목의 초기값이 none으로 되어 있기 때문에, None이 아닌 값(대부분 native)으로 맞추고 나서 해당 솔루션을 다시 빌드해야합니다. 링크시 "Compuware Linker Driver..."로 시작하는 메시지가 나오면 프로파일링이 가능하도록 실행파일이 만들어진다는 뜻입니다.
  • DrawMacro . . . . 2 matches
         윈도우즈의 경우는 다음의 파일을 받아서 직접 압축을 풀어준다. {{{applets/TWikiDrawPlugin/}}}twikidraw.jar 및 *gif 파일이 있게끔 해야 한다.
  • EmbeddedSystemClass . . . . 2 matches
         // gcc 는 커널의 컴파일에 필요한 버전을 설치해야하며 which gcc 를 이용해 현재
         // 실행되는 버전과 커널 컴파일에 필요한 버전이 동일한 버전인지 확인 후 버전을 맞추어 줘야한다.
  • FastSearchMacro . . . . 2 matches
         5000여개의 파일이 있을 때 FastSearch는 2초 걸렸다. php는 파일 처리속도가 늦다는 이유로 FullSearchMacro를 쓰면 약 15여초 걸린다. 그 대신에, wiki_indexer.pl은 하루에 한두번정도 돌려야 되며, 5분여 동안의 시간이 걸린다.
  • FileInputOutput . . . . 2 matches
          fin >> a >> b; // cin으로 화면에서 입력받는다면, fin은 연결된 파일로부터 입력받는다.
         ["JavaStudy2002/입출력관련문제"]
  • GDBUsage . . . . 2 matches
         == 디버그 모드 컴파일 ==
         gdb 를 이용하기 위해서는 gcc 옵션에 '''-g'''를 주고 컴파일 해야함.
  • Gof/FactoryMethod . . . . 2 matches
          Ducument에제에서 Document클래스는 factory method에 해당하는, 자료를 열람하기 위한 기본 파일 다이얼로그를 생성하는 CreateFileDialog이 호출을 정의할수 있다. 그리고 Document sub클래스는 이러한 factory method를 오버 라이딩해서 만들고자 하는 application에 특화된 파일 다이얼로그를 정의할수 있다. 이러한 경우에 factory method는 추상적이지 않다. 하지만 올바른 기본 구현을 제공한다.
  • HASH구하기/오후근,조재화 . . . . 2 matches
          if(temp == -1) //파일끝일경우
          else //파일끝이 아닐경우
  • HolubOnPatterns/밑줄긋기 . . . . 2 matches
          * 요구 기능을 구현하는게 어렵다며 맘대로 다른거 붙이는 사람도있음.. 예를들면 파일을 삭제할때 복구기능을 만들기 싫어서 확인 다이얼로그를 띄우지.. - [서지혜]
          * Java는 플렛폼 기반이기 때문에 나오는 문제로 '고전적'인 Singleton은 컴파일동안 해당 Singleton 클래스를 구성할 충분한 정보를 가지는 기회를 주기때문에 이런문제를 해결해 주는것이다. 역시 책을 읽은 보람이 있군! - [김준석]
  • IsThisIntegration? . . . . 2 matches
         입력 파일의 각 줄마다 정사각형의 한 변 길이 a(0≤a≤10,000.0)를 나타내는 부동소수점수가 입력된다. 파일 종료 문자가 입력되면 입력이 끝난다.
  • JSP . . . . 2 matches
         4. C:\Program Files\Apache Group\Tomcat 4.1\webapps\ROOT 에 hello.jsp 파일 옮긴후
         웹 브라우저 -> jsp 요청 -> (웹서버) -> jsp 파일이면 jsp 엔진 처리해라! -> (엔진)
  • JUnit/Ecliipse . . . . 2 matches
         Path : 는 이클립스가 설치된 폴더내에서 아래와 같은 파일을 찾아 클릭하면 됩니다.
         이클립스의 Workspace 중 Pakage Expolorer 를 보시면 Ch03_01.java 파일이 있습니다. 여기서 마우스 오른쪽 버튼을 클릭 -> NEW -> JUnit Test Case 를 선택합니다.
  • JavaScript/2011년스터디 . . . . 2 matches
          * 드래그중일때는 마우스포인터를 따라 그려지다가 드래그를 떼었을때 그동안의 것들은 사라지고 마지막의 그림만 남도록 하는것을 구현중입니다. 아무리해도 아이디어가 떠오르지 않네요,,, 늘어나는것은 입코딩뿐...ㅋ 정 안되면 다른 기능들 먼저 추가해 볼 생각입니다. p.s. 노트북 포멧을 하면서 백업파일을 제대로 관리하지 않아서 고쳐 작성중이던 파일이 날아갔어요ㅜ 위키작성의 중요성을 실감하는 중입니다. -[박정근]
  • JavaStudy2003/두번째수업 . . . . 2 matches
         == 파일 ==
          * 파일이 안열려요; 이상한글자 두개만 뜨는데 왜이렇죠?;; --[선희]
  • LC-Display . . . . 2 matches
         입력 파일은 여러 줄로 구성되며 표시될 각각의 숫자마다 한 줄씩 입력된다. 각 줄에는 s와 n이라는 두 개의 정수가 들어있으며 n은 출력될 숫자(0<=n<=99,999,999), s는 숫자를 표시하는 크기(1<=s<=10)를 의미한다. 0이 두 개 입력된 줄이 있으면 입력이 종료되며 그 줄은 처리되지 않는다.
         입력 파일에서 지정한 숫자를 수평 방향은 '-'기호를, 수직 방향은 '|'를 이용해서 LCD 디스플레이 형태로 출력한다. 각 숫자는 정확하게 s+2개의 열, 2s+3개의 행으로 구성된다. 마지막 숫자를 포함한 모든 숫자를 이루는 공백을 스페이스로 채워야 한다. 두 개의 숫자 사이에는 정확하게 한 열의 공백이 있어야 한다.
  • LUA_1 . . . . 2 matches
         루아의 공식 사이트는 http://www.lua.org/ 입니다. 하지막 MS-Windows 환경에서 루아를 시작하고 싶으시다면 http://code.google.com/p/luaforwindows/ 에서 루아 프로그램을 다운 받으실 수 있습니다. 우선 MS-Windows 환경이라고 가정하고 앞서 말한 사이트의 Download 페이지에서 LuaForWindows_v5.1.4-45.exe 를 다운 받습니다. 나중에는 버전명이 바뀐 바이너리 파일이겠죠. 이 파일을 다운로드 받아서 설치하면 시작>Programs>Lua>Lua (Command Line) 를 찾아 보실 수 있습니다. 해당 프로그램을 실행하면 Command 화면에 ">" 와 같은 입력 프롬프트를 확인하실 수 있습니다. 그럼 간단히 Hello world를 출력해 볼까요?
  • ObjectProgrammingInC . . . . 2 matches
         결국 private가 없단 소린데... 컴파일 까지만 해서 lib 형태로 header에 public화 할 것만 공개한다면... 불가능이군...
         별 다른 뜻은 아니고, C++ 컴파일러의 경우 메소드인 경우 인자로서 this 를 자동으로 넘겨준다고 해서. 그리고, attrib 이 private 이 아닌 public 이라 하더라도, 똑같은 질문이 가능할듯. --[1002]
  • OeKaki . . . . 2 matches
         {{{[[OeKaki(파일이름)]]}}}을 추가하면, `OeKaki_파일이름.png`그림이 만들어집니다.
  • OekakiMacro . . . . 2 matches
         {{{[[OeKaki(파일이름)]]}}}을 쓰면 "OeKaki_파일이름.png"가 만들어진다.
  • OurMajorLangIsCAndCPlusPlus/Variable . . . . 2 matches
         전역 변수 - 해당 파일 내에서 유효함 (외부 참조 가능), BSS 세그먼트의 공간 사용
         static 전역 변수 - 해당 파일 내에서 유효함 (외부 참조 불가능)
  • PhotoShop2003 . . . . 2 matches
          * 수업시간에 가장 어렵다고 생각하는 BMP 파일에 관한 것을 했다. 이것만 할줄알면 나머진 알고리즘적 측면이 강하기 떄문에 쉬울 것이다.
         || 13:00 || 13:50 || BMP파일 로드, 저장, 그림 뿌려주기|| 인수, 상협, 철민 || 50분 ||
  • Profiling . . . . 2 matches
         '''Profiling'''(프로파일링)은 원하는 부분의 프로그램 성능을 측정하는 성능 테스트이다.
         '''Profiling'''(프로파일링)은 원하는 부분의 프로그램 성능을 측정하는 성능 테스트이다.
  • ProgrammingWithInterface . . . . 2 matches
         언제나 개발을 할 때 '어라~ 같은 일 하는데? 이거 Base 클래스 만들어서 위로 올려야 겠는데?' 일말의 틈도 주지 않고 실행한다. 다형성을 사용하는 코드를 생성한다. '와우~! 한결 깔끔해 졌는걸?' 하지만 오산이었다. 시간이 지나서 먼가 추가할 동작들이 생겼다. 이제 고치기 시작한다. Base 클래스 부터... 고치고 나니 컴파일이 되지 않는다. 코드 수정의 여파가 하위 클래스들에게 까지 미친다. 정말 미친다. 이런 상속을 통한 계층 구조는 상위 클래스와 하위 클래스의 결합도를 높여준다. 지나 치게 크게..! 동감하지 않는가? 하나를 고쳤는데 수정할 꺼리가 마구 쏟아지는 상황을...
         상위 클래스가 가지는 메소드가 적다면 모두 [오버라이딩]하는 방법이 있지만 만약 귀찮을 정도로 많은 메소드가 있다면 오랜 시간이 걸릴 것이다. 그리고 만약 상위 클래스가 수정된다면 다시 그 여파가 하위 클래스에게 전달된다. 또 다른 방법으로 함수를 오버라이딩하여 예외를 던지도록 만들어 원치않는 호출을 막을 수 있지다. 하지만 이는 컴파일 타임 에러를 런타임 에러로 바꾸는 것이다. 그리고 LSP (Liskov Sustitution Principle : "기반 클래스는 파생클래스로 대체 가능해야 한다") 원칙을 어기게 된다. 당연히 ArrayList를 상속받은 Stack은 clear 메소드를 사용할 수 있어야 한다. 그런데 예외를 던지다니 말이 되는가?
  • ProjectPrometheus/Iteration9 . . . . 2 matches
         미스테리 : logging.jsp 파일이 include 시에 과거 코딩으로 돌아온다.
          덧붙여 여러 jsp 파일들이 ../class 에 배포된다.
  • ProjectPrometheus/Journey . . . . 2 matches
          * 메인 코드를 작성하고 있을때에는 '화일로 빼야 할 거리' 들이 안보인다. 하지만, 이미 컴파일 되고 굳어져버린 제품을 쓸때에는 '화일로 뺐어야 하는 거리' 들이 보인다. ["데이터주도적기법의마법"] 이였던가. 뭐, 미리 머리 스팀내며 해두는 것은 YAGNI 이겠지만, 눈에 빤히 보일때에는. 뭐, 앞으로 해줄거리. (Property class 가 좀 더 확장될 수 있을듯.)
          * STL 을 쓰면 편리하긴 한데, 확실히 학교컴퓨터에선 컴파일이 느리긴 한것 같다는; (하긴, 우리가 map 에 vector 겹친 형태로 작성을 했으니 -_-..) 그래도 STL Container 만 어느정도 이용해도 기존의 순수 C++ 을 이용할 때보다 훨씬 편하다는 점이 즐겁다. 만일 mock object 를 STL 이나 MFC Collection 없이 구현한다고 생각한다면? 그리 상상하고 싶지 않을 정도이다. (특히 DB에선) 그러면서 느끼는점이라면,
  • ProjectVirush . . . . 2 matches
         로그인 서버 사용자를 파일에 등록 0.5
         예약(zone->lab) 서버 현재 명령 파일로 저장 2
  • R'sSource . . . . 2 matches
         == 스타크래프트 리플 파일 검색&다운_파이썬 ==
          console=["rep.py"], # 도스창에서 실행할 파일을 생성할 경우
  • Refactoring/BuildingTestCode . . . . 2 matches
         이제 테스트는 컴파일 만큼이나 간단해졌다. 나는 컴파일 할 때 마다 테스트를 했다.그리고 곧 나는 버그를 바로바로 찾아낼 수 있었다. 나는 내가 디버깅을 하는데 그리 많은 시간을 소비하지 않았음을 알게 되었다. 만일 내가 이전 테스트에 의해 주의하도록 한, 버그가 있는 코드를 추가했을 경우, 테스트를 실행할 때 바로 볼 수 있었다.
  • RoboCode . . . . 2 matches
         == 로보코드 설치 파일 ==
          다운로드한 파일을 더블클릭해서 실행한다.(자바 설치 필요)
  • SVN 사용법 . . . . 2 matches
         2. refo brower 선택 -> 해당 파일 선택 후 -> Delete
         4. cpp 파일 선택 -> Diff 선택하면 바뀐 내역 볼 수 있다.
  • TestFirstProgramming . . . . 2 matches
         어떻게 보면 질답법과도 같다. 프로그래머는 일단 자신이 만들려고 하는 부분에 대해 질문을 내리고, TestCase를 먼저 만들어 냄으로서 의도를 표현한다. 이렇게 UnitTest Code를 먼저 만듬으로서 UnitTest FrameWork와 컴파일러에게 내가 본래 만들고자 하는 기능과 현재 만들어지고 있는 코드가 하는일이 일치하는지에 대해 어느정도 디버깅될 정보를 등록해놓는다. 이로서 컴파일러는 언어의 문법에러 검증뿐만 아니라 알고리즘 자체에 대한 디버깅기능을 어느정도 수행해주게 된다.
  • ThePriestMathematician . . . . 2 matches
         입력 파일은 여러 줄로 구성된다. 각 줄에는 0 이상 10,000 이하의 정수 N이 들어있으며, 이 값은 옮겨야 할 원반의 개수를 나타낸다. 파일 끝 문자가 들어오면 입력이 종료된다.
  • TheWarOfGenesis2R/일지 . . . . 2 matches
          * 파일을 읽고 쓸 수 있다. (Text모드도 Binary모드도 OK)
          * 데이터들 파일로 빼는 작업
  • UDK/2012년스터디 . . . . 2 matches
          * UDK 및 nFringe 설치 및 컴파일
          * DefaultCharInfo.ini 파일에서 캐릭터 동작등을 수정하는 방법 알아 봄
  • ViImproved . . . . 2 matches
         사실 다들 오해하고 있는 것 중의 한가지로는 vim은 불편하다는 것이다. 최근의 vim은 플러그인을 통해 여러가지 기능을 지원하며 그 중에는 단어 자동완성을 물론 문맥 자동완성뿐만 아니라 대부분 언어에 대한 syntax highlight를 지원한다. 요즘에는 흔히 볼수있는 탭기능도 지원하기 시작한지 오래되었으며 좌측에 파일 트리를 띄워두고 작업할수도 있다. 또한 .vimrc파일을 통한 강력한 커스텀마이징이 가능하며 이를 이용하여 이클립스를 능가하는 편의성을 지니기도 한다.
  • WebGL . . . . 2 matches
         쉐이더는 쉐이더 언어로 따로 짜주고 컴파일 해야하며 심지어 링크까지 시켜주어야 한다. GPU의 강력한 [행렬]연산 능력을 가져다 쓰기 위해서인것으로 보이는데 이것을 사용하지 않고서는 예제파일도 돌려볼수가 없다. 다행이 언어는 C언어와 매우 유사하고 행렬연산이 모두 있기 때문에 딱히 어렵거나 하진 않다. 다만 어느부분에서 어디와 연결되는지 이해하는데 시간이 걸린다.
  • ZeroPageServer/Telnet계정 . . . . 2 matches
          * 링크된 pub 디렉토리에 파일을 저장하시면, http://zeropage.org/pub/xxx 로 노출시킬수 있습니다. 예를 들어서, ~/pub/util/putty.exe 를 넣어 두었다면, http://zeropage.org/pub/util/putty.exe 로 링크가 걸리고 다운을 받을수 있습니다.
          * pub에는 zp에서 공유시키거나, ZeroWiki에 노출시켜야 할 파일중 개인 계정에 링크하기 난해 한것들(ex - Java API Doc, MySQL Doc) 대한 해결책을 위해서 제공되었습니다.
  • ZeroPageServer/set2005_88 . . . . 2 matches
          * 신규 계정 skeleton 에 WEB-INF 기본 파일 추가. index.php 를 통해서 phptest 를 하도록 함.
          * SSH의 pair key 로그인 환경설정 (~/.ssh/authorized_keys 파일을 통해서 가능함)
  • ZeroPage_200_OK . . . . 2 matches
          * 위에 링크한 저의 Workspace Project의 index.html 파일에 메뉴 샘플을 구현해두었습니다. 상단의 Preview로 확인하면서 적절히 참조해서 만들면 도움이 될겁니다.
          * Web Server - http request에 대해 자신의 file system에서 해당 파일을 찾아서 보낸다.
  • [Lovely]boy^_^/Arcanoid . . . . 2 matches
          * 스테이지는 역시 파일로 처리
         흑 ㅠ.ㅠ 예전 소스가 있었다면 제가 이거 만들고 있겠어요?--; 고스트 삽질로 싸그리 날렸더니만, 생각도 못한 ZP 자료실에 실행파일만 덩그라니 남아있을줄은..--;
  • [Lovely]boy^_^/Diary/2-2-1 . . . . 2 matches
          * 썅.. 무슨 또 파일 입출력이야. 비트맵 열라 싫은데--;
  • bitblt로 투명배경 구현하기 . . . . 2 matches
         프로그램을 컴파일해주는 컴파일러도 아니요..
  • callusedHand/projects/fileManager . . . . 2 matches
          파일 매니저
          가상 파일 시스템 도입 / Linux configuration center(?) / 원격 로그인
  • html5/form . . . . 2 matches
          selectedFiles[0].name; //파일이름
          selectedFiles[1].size; //파일사이즈
  • html5/web-workers . . . . 2 matches
          * 워커 인터페이스 생성자에 JavaScript 소스 파일의 URL인수로 전달하면 소스파일을 내려받아 백그라운드에서 실행한다
  • html5practice . . . . 2 matches
          * 간단한 파일(그림, 텍스트) 전송 프로그램
          * 프리마인드 파일 html5로 렌더링 하기
  • iText . . . . 2 matches
         [Java]를 이용하여 PDF 파일을 제작을 도와주는 라이브러리. 라이선스는 [http://www.mozilla.org/MPL/MPL-1.1.html MPL]과 [http://www.gnu.org/copyleft/lesser.html LGPL].
          결과 파일 : Upload:Hello.pdf
  • java/reflection . . . . 2 matches
          * jar파일에 존재하는 class를 현재 프로젝트에서 동적으로 호출할 수 있다.
          * jar파일로 패키징한다. (.java와 .class만 따로 패키징하는 방법은 [http://kldp.org/node/75924 여기])
  • naneunji/Diary . . . . 2 matches
          * 파일 입출력이 되는 java로 만든 메모장 완성^^
  • neocoin/CodeScrap . . . . 2 matches
         헤더파일, VC++, MFC 상 세팅에서
         win32 상의 설정 파일 api
  • oracle . . . . 2 matches
         데이터베이스 구성 파일은 C:\oracle\product\10.2.0에 설치되었으며 설치 시 선택한 다른 구성 요소는 C:\oracle\product\10.2.0\db_2에 설치되었습니다. 실수로 이들 구성 파일을 삭제하지 않도록 주의하십시오.
  • zennith/dummyfile . . . . 2 matches
         지정한 크기의 파일을 생성하는 프로그램
         12389523 바이트의 쓰레기 파일을 각각 생성하는데 처음에 짠 허접 버전과 두번째의 약간 개선 버전이 각각 0.991초와 0.37초를 기록했다. 두번째 것을 만들면서.. 함수화 같은 거도 좀 했으면 좋겠다는 생각도 무럭무럭 무럭 들었으나.. 그놈의 귀찮음이 뭔지 ; 아무튼 발전이 없는 나로군.
  • 강성현 . . . . 2 matches
          * [:데블스캠프2012 2012] (목요일 파일입출력 강의)
  • 그래픽스세미나/3주차 . . . . 2 matches
          PPT파일: Upload:CGseminar3.zip
          || 박경태 || Upload:OpenGLATL03_Pkt.zip ATL(??) 컴파일후 ATLTest.htm를 실행 ||
  • 데블스캠프2002/진행상황 . . . . 2 matches
          * C++ 화일 입출력의 이해
          * 진행의 순서 모호 - 선호도 인정했지만 체계적인 준비가 좀 부족했던점. 본래 준비하기로 한 내용과 달랐다는 점(화일 입출력 부분) 그리고 Table Of Contents 의 부재. 그리고 사람들의 질문을 받아서 이야기 하는 방법의 약점이라고 할까. 잘못하면 전체 내용의 연결고리를 잇지 못한다는 점이 있었다고 생각
  • 데블스캠프2003/ToyProblems . . . . 2 matches
         FileInputOutput [파일입출력] RandomFunction
  • 데블스캠프2005/RUR_PLE/조현태 . . . . 2 matches
         파일을 copy/paste하는 과정에서 중간중간에 빈 줄이 생겼는데, 일부 삭제하였으나 남은 것이 있을 경우 지우고 사용해야 합니다.(단 함수와 함수사이는 아닙니다.)
         2개의 알고리즘이 저장되어 있는 코드파일 링크
  • 데블스캠프2005/게임만들기 . . . . 2 matches
         테트리스 만들기 틀 소스(.dsw파일을 실행하셔서, user.cpp파일에 작성하시면 됩니다.)
  • 데블스캠프2005/금요일후기 . . . . 2 matches
          또한 원카드 만들기에서 약간이나마 헤더파일을 많들어 주는 방법이 있었는데, 앞으로는 기본은 어느정도 헤더파일을 많들어 주는것이 좋을 듯 하다.
  • 데블스캠프2006/CPPFileInput . . . . 2 matches
          * 파일 입출력 예제 소스
  • 데블스캠프2006/SVN . . . . 2 matches
         9. 해당 프로젝트 파일 수정
         10. 다시 자리 원래대로. 그후 파일 업데이트 받기.
  • 데블스캠프2006/월요일후기 . . . . 2 matches
         '''이경록''' : 정말 그동안 했던건 아무것도 아니였군요;;; 너무피곤해서 지금가서 잠들면 저녘때 올수나 있을지.;; 파일입출력부분에서 결국 포기했습니다 ㅋ
  • 데블스캠프2011/둘째날/Machine-Learning/NaiveBayesClassifier/김동준 . . . . 2 matches
         Train 의 Economy.txt 파일 적중도 : 0.83 (83%)
         Train 의 Politics.txt 파일 적중도 : 0.94 (94%)
  • 데블스캠프2011/둘째날/Machine-Learning/NaiveBayesClassifier/송지원 . . . . 2 matches
          * 프로그램을 재실행하면 또 오래 기다려야 해서 파일 입출력을 적극 활용
  • 데블스캠프2011/둘째날/Machine-Learning/SVM/namsangboy . . . . 2 matches
          * SVM Train 파일 생성하기
          * SVM Test 파일 생성
  • 데블스캠프2011/셋째날/String만들기/서지혜 . . . . 2 matches
          * String.h 헤더파일
          * String.cpp 소스파일
  • 데블스캠프2012/둘째날/후기 . . . . 2 matches
          * [정진경] - 입학 하기 전에 산 컴퓨터에 CentOS를 깔고 제일 먼저 해봤던게 웹서버 구축이었던 것 같네요. 윈도우즈 환경에서도 어렵지 않게 구축할 수 있네요. (물론 지금의 시점에서지만,) 개인 서버를 구축하고 응용할 수 있으면 나름 장점이 있는 것 같습니다. 활용하기 나름이지만, 최근 Online Judge System에 VC++ 컴파일러를 올리고 싶어서 윈도우즈 서버도 생각하고 있는데, 추후에 도움이 될지도 모르겠네요.
          * [안혁준] - case문의 페이크에 완전 황당했습니다. 어셈을 알고있는데도 심지어 어떤 어셈 구문으로 컴파일 되는가를 알고 있으면서도 놀랬습니다. 유지보수 = 가독성 이란걸 확인 할수 있었던 시간이었고 무엇보다 유쾌한 시간이었습니다.
  • 데블스캠프2012/셋째날/후기 . . . . 2 matches
          * [황현] - 키노트를 끝내고 내려와서 생각해보니 LLVM+Clang에서 가장 중요한 부분인 컴파일 오류 화면을 안 다루고 지나갔다는 것이 떠올라 멘붕합니다. 제가 다루고 싶었던 바로 그걸 안 긁고 넘어갔네요. 대신 그거랑 관련된 포스팅 하나를 링크하니 꼭 읽어보도록 하세요: http://minjang.egloos.com/2914484 - [황현]
          * 그리고, 키노트 제일 처음에 컴퓨터가 주저리주저리 떠들던 건 여기에 음성 파일을 올려뒀습니다: http://zeropage.org/seminar/62033
  • 레밍즈프로젝트/프로토타입 . . . . 2 matches
         || 파일스트림 || [레밍즈프로젝트/프로토타입/파일스트림] || O ||
  • 미로찾기/김영록 . . . . 2 matches
          /////파일 입출력방법을 김승욱 교수님이
  • 바퀴벌레에게생명을 . . . . 2 matches
         실행파일: Upload:rkdRandomWalk.exe
         소스파일: Upload:rkdRandomWalk.zip
  • 비밀키/강희경 . . . . 2 matches
          cout << "암호화 입력 파일이름: ";
          cout << "\n복호화 출력 파일이름: ";
  • 비밀키/노수민 . . . . 2 matches
          cout << "파일이름 : ";
          cout << "파일이름 : ";
  • 상협/Diary/7월 . . . . 2 matches
         || ["비행기게임"] || 미숙한것들 처리 || ㅠㅜ || 파일에서 적 경로 읽어오기 하다가 실패함 ||
         || ["비행기게임"] || 파일에서 경로 읽기 || 오케바리~ || 캬캬 ||
  • 새싹C스터디2005/선생님페이지 . . . . 2 matches
          * 입출력
         지금 배열과, 제어문까지 나간걸로 알고 있는데 지나치게 빠른건 아닌지 생각해 봅니다. 변수에 대한 입출력 연습이 지나치게 적었던것 같은데. 어떻게 생각하시나요?? - [톱아보다]
  • 새싹교실/2011/AmazingC . . . . 2 matches
          * 컴파일러, 링커, 전처리기, 디버깅 등의 프로그래밍의 기본적인 요소에 대해 알아보았다.
          * printf함수를 사용하여 문자열을 출력하는 방법에 대해 알아보았고 컴파일러가 main 함수를 분석하는 모습을 따라서 전체 코드를 분석했다.
  • 새싹교실/2011/學高/8회차 . . . . 2 matches
         즉석에서 짠 코드이므로 컴파일 에러나면 알아서 잡아주세요
          * 컴파일은 안 해봤지만 함수 원형 선언 시 매개변수의 타입은 왜 써주지 않았는지 궁금하네요. 받을 때는 num으로 받고 쓸 때는 n으로 쓴 것도; 그리고 전역 변수를 안 써도 리턴 값을 통해 카운트 충분히 할 수 있을 것 같은데... - [김수경]
  • 새싹교실/2011/씨언어발전/2회차 . . . . 2 matches
         간단하게 bongbong 커리큘럼에 있는 예제를 이용하며 기본 입출력함수의 사용법에대해 수업했습니다.
         새싹강사 오리엔테이션에서 얘기했던 방법대로 입출력을 설명할수도 있겠지만 우선 강사도 잘 모르고..
  • 새싹교실/2012/AClass/5회차 . . . . 2 matches
         -이진 탐색은 제어검색에서 가장 대표적인 방법으로 한번 비교동작이 끝난 후 그 결과를 이용하여 다음에 비교할 대상을 선택하는 방법으로 검색한다. 주어진 파일들을 일정한 순서대로 배열된 상태에서 원하는 값을 검색하는 방법이다.
          * 주어진 파일들은 일정한 순서대로 배열된 상태에서 원하는 값을 검색하는 방법이다
  • 새싹교실/2012/부부동반 . . . . 2 matches
         “score.dat” 파일에는 ‘42’가 저장되어 있다.
         * 컴파일러의 도움없이 스스로 메모리와 포인터의 관계를 통해 완벽한 코드 구현
  • 새싹교실/2012/열반/120319 . . . . 2 matches
          * printf 함수가 명시적으로 정의되지 않았기 때문에 컴파일에 실패하거나, 경고가 뜸.
          * [정진경] : 리눅스 터미널 환경에서 진행했는데, 컴파일 하는 과정이나 편집하는 과정의 설명은 생략했습니다. 검은 화면에 흰 문자열이 큰 거부감을 일으키는 것 같지는 않습니다. 아무래도 준비가 빈약하다보니 뭘 가르쳐야 할지 모르겠습니다. 일단 상세한 문법이나 C 표준에 대한 설명은 뒤로 미루는 것이 좋을 것 같고, 일정 수준 이상의 프로그래밍을 스스로 할 수 있을 정도로 실력을 끌어올리는 것에 집중해보려 합니다. 또한 중간중간에 코드를 작성한 것에 대한 출력을 물어보면서 알고 있는지 확인하는 과정이 중요한 것 같습니다.
  • 새싹교실/2012/절반/중간고사후 . . . . 2 matches
          * 파일 입출력
  • 새싹교실/2012/해보자 . . . . 2 matches
          * 함수의 선언: 컴파일러에게 '이런 이런 함수를 쓸것이다'라고 알리는 것.
          * 함수의 정의: 컴파일러에게 '이런 이런 함수는 이런 이런 일을 한다'라고 알리는 것.
  • 새싹교실/2013/라이히스아우토반/7회차 . . . . 2 matches
         반성하는 태도를 가져야 하겠지만, 안타깝게도 앞으로도 수업준비는 잘 못해 갈 것 같다. 애들이 남은 흥미를 다 잃어버리기 전에 적어도 구조체랑 함수 만드는 법, 파일 입출력은 가르쳐야 할텐데...
  • 서지혜 . . . . 2 matches
          1. 컴파일러 스터디: [NewCompileError]
          1. 컴파일러 스터디: [NewCompileError]
  • 숫자를한글로바꾸기 . . . . 2 matches
          * 이강성 교수님께서 만드신 TestDrivenDevelopment 강의 동영상에서 다룬 내용과 같은 문제네요. 이 문제를 푸신 분들은 제게 메신저로 말씀을 해 주세요. DevilsCamp 때도 TestDrivenDevelopment 에 대해서 잠깐 접해보셨겠지만 이 동영상을 보시면 많은것을 얻으실 수 있을 것 같네요. 참고로 제 MSN 주소는 boy 골뱅 idaizy.com 입니다. 원저자께서 해당 파일이 무작위적으로 유포되는걸 원치 않으셔서 신청자에 한해서만 파일을 보내드리겠습니다. - 임인택
  • 위키에 코드컬러라이저 추가하기 . . . . 2 matches
          * 일단 파서. 다음 3개의 파이선 파일을 MoinMoin/parser 디렉터리에 생성한다.
          * 다음 2개의 파일을 MoinMoin/processor 디렉터리에 생성한다. (본인은 이름의 통일감을 위해 Colorize.py 도 PythonColorize.py 로 이름을 바꾸었다.)
  • 윤종하/지뢰찾기 . . . . 2 matches
         /* mine.c: 지뢰찾기 소스 파일(TUI)
          /*맵에 지뢰좌표 입력 및 디버깅용 파일 출력*/
  • 이영호/64bit컴퓨터와그에따른공부방향 . . . . 2 matches
         (우선 제 지문의 맥락을 담은 질문부터. 과연 Java와 Python 개발자들이 Assembly+C개발자와 같이 좋은 효율의 다른언어 컴파일러를 만들 수 있을까요. 현재 함수보다 좋은 함수를 생각해 냈는데 그것을 구현하려면 low level의 지식이 필요한데, 자신은 Java와 Python 들만 알고 Assembly를 모른다면 어떻게 해야할까요?)
         P.S: 천문학과 컴퓨터로 치면, 망원경은 컴파일러가 되겠고, Assembly어는 물리학 쯤이 되겠네요. 천문학 및 천체물리학 개론에는 망원경 단원이 1단원 분량으로 망원경 제작법 이런 것들이 아닌(망원경 제작은 아마추어 별바라기들이 하죠.) 물리학의 광학적 특성에 대해 다루죠 :) 예를 조금 잘못 드신거 같네요. 아니면 제가 위에서 제가 여러번 반박한 글들에 제 의도가 제대로 나타나지 않았던가요.
  • 임인택/CVSDelete . . . . 2 matches
         CVS로 프로젝트 소스파일 받아다가 다른곳에 쓸때, 가끔 CVS 폴더 지우는게 너무 짜증날때가 있다. tortoise 같은데서 찾아봐도 없길래 그냥 간단하게 파이썬으로 작성.
         CVS에 보면 release 기능이 있던데... CVS에 들어간 파일은 다 지워주는데 폴더를 안 지워주죠.ㅎㅎㅎ -- [Leonardong]
  • 정모/2011.4.11 . . . . 2 matches
          * Ice Breaking .. 재밌는데 너무 시간이 오래 걸리는거 같습니다. 이거 오래하니까 뒤에 준비된 순서를 시간에 쫓겨서 하네요. 진경이 맨날 기숙사 엘리베이터에서 어색하게 인사만 하고 지나갔는데.. 오늘 보니 반가웠습니다. OMS의 영화에 나온 음악 하니까 최근에 영화관에서 레드 라이딩 후드 보다가 MUSE의 노래가 나오길래 깜짝 놀란 기억이 납니다. 영화도 되게 재밌었어요. 그리고 네이트 주소를 적어두질 못했는데 다시 한번 올려주시면 저도 파일방 이용을 좀...ㅎ 다음주 소풍 정말 기대됩니다. 항상 정모 나올 때마다 느끼는거지만 뭔가 하고 간다 라는 느낌을 확실히 받는거 같네요. 정모 준비하느라 고생하시는 회장님 감사합니다~ - [정의정]
          * 파일 수정해서 OMS 한 PPT 올려드리겠습니다 - [권순의]
  • 파스칼삼각형/곽세환 . . . . 2 matches
          DeleteMe 이 소스 컴파일이 안되는걸요? - [아무개]
          컴파일은 잘 됩니다(VC++6.0) -세환
  • 프로그래밍잔치/ErrorMessage . . . . 2 matches
          * 같은 시간, 창섭이와 상욱이는 "Hello World" 삑사리 내고 있었다. 컴파일 하면 클래스가 없댄다. 이래저래 암울한 우리 조의 분위기를 느낄 수 있었다.
          * 다 끝났다. 상욱이가 한 만능달력을 넣으려고 했지만, 시간 없어서 못했다. 하다가 SUCCESS팀 하는거 보고 생각난거, 우리 달력을 클릭하면 스케줄러가 뜰수 있게--; 실제로도 이것까지 해놨다. 날짜 클릭하면 창 하나 나오게.. 나중에 파일로 저장할수 있는 그런걸 해야겠다.
  • 현종이 . . . . 2 matches
         ==헤더파일==
         == 소스파일 ==
  • 02_C++세미나 . . . . 1 match
         == 기본 입출력 ==
  • 05학번만의C++Study . . . . 1 match
         17. 입력, 출력, 파일
  • 05학번만의C++Study/숙제제출1/조현태 . . . . 1 match
          문제 앞에서 말햇듯이, 이 문제는 C++에 익숙해 지기위한 입출력 형식만 쓸수 있게 한것이야 ~
  • 2005Fall수업 . . . . 1 match
         == 파일구조 ==
  • 2010php/방명록만들기 . . . . 1 match
         == 입출력 최종 완성 (9월 8일) ==
  • 2ndPCinCAUCSE/ProblemA . . . . 1 match
         A 번 문제 : 삼각형 만들기. 소스파일 이름 : aaa.c or aaa.cpp
  • 2ndPCinCAUCSE/ProblemB . . . . 1 match
         B 번 문제 : 촌수 계산. 소스파일 이름 : bbb.c or bbb.cpp
  • 2ndPCinCAUCSE/ProblemC . . . . 1 match
         C 번 문제 : 줄 세우기. 소스파일 이름 : ccc.c or ccc.cpp
  • 2학기파이선스터디/문자열 . . . . 1 match
         나휘동은 레오나르동이다. 장창재는 최고의 파일럿이다.
  • 2학기파이선스터디/함수 . . . . 1 match
          * 전역 영역(global scope) - 모듈(파일)
  • 3n+1Problem/김태진 . . . . 1 match
         ||||||||개발시간: 1시간, 입출력문제->1시간||
  • 3rdPCinCAUCSE/ProblemA . . . . 1 match
         A 번 문제 : 오목. 소스파일 이름 : omok.c or omok.cpp
  • 3rdPCinCAUCSE/ProblemB . . . . 1 match
         B 번 문제 : 직사각형. 소스파일 이름 : rect.c or rect.cpp
  • 3rdPCinCAUCSE/ProblemC . . . . 1 match
         C 번 문제 : 구슬 찾기. 소스파일이름 : ball.c or ball.cpp
  • 4rdPCinCAUCSE . . . . 1 match
         - 당일 챙겼었는데 어디갔나 없어졌던 문서;; 오랜만에 책상정리 하던 중에 이상한 파일에서 튀어나오네요;; 3문제 다 있고요. 마저 올리겠습니다. - [이승한]
  • 5인용C++스터디 . . . . 1 match
          * [5인용C++스터디/키보드및마우스의입출력] - 문원명
  • 5인용C++스터디/마우스로그림그리기 . . . . 1 match
         || 나휘동 || Upload:Leonardong_APIdrawing.zip || 컴파일 안됨. ||
  • 5인용C++스터디/멀티쓰레드 . . . . 1 match
         프로그램이 수행될 때 한 개의 데이터를 동시에 두 개의 프로그램이 핸들링할경우가 있습니다. 예를 들어 (a)라는 파일에 A프로그램은 데이터를 입력,수정하고 B라는 데이터는 데이터를 검색합니다. B가 읽고자 하는 시점에서 A라는 프로그램이 그데이터를 수정하고자 한다면 여기에서 문제가 발생됩니다. A가 수정한 후에 B가 읽게 할것인가? 아니면 B가 읽고 난후에 A라는 데이터가 수정을 하게 할것인가? 이런 문제점은 동시성을 가진 운영체제에서 해결해야할 중요한 항목입니다.
  • ACM2008 . . . . 1 match
         [http://acm.pku.edu.cn/JudgeOnline/ POJ] Peking university Judge Online 이란 시스템이 있는데 온라인으로 프로그래밍 문제를 제공하고, 온라인으로 소스를 보내면 서버에서 컴파일해서 결과를 알려주는 시스템이다. 책에서는 code 의 길이를 이용한 코드 골프쪽에 초점을 맞추고 있었지만 이 프로젝트의 목표상 그럴 필요는 없을거 같다. 다만 온라인으로 제공되는 문제가 꽤 있고 평가하는 시스템이 있으므로 보다 즐겁게 놀 수 있는 '꺼리' 일 것 같다.
  • ACM_ICPC/2012년스터디 . . . . 1 match
          * [koi_cha/곽병학] <- 내 컴퓨터에선 작동이 되는데 제출하면 컴파일 에러난다; 왜이러는거지(맞았는지 틀렸는지는 모르겠음)
  • AI오목컨테스트2005 . . . . 1 match
         Upload:Omok.exe - 파이썬 AI와 대결하기 위해 소스를 약간 수정한 오목 실행파일
  • AM/20040724다섯번째모임 . . . . 1 match
          * 파일이름에 공백있으면 링크 안된다, 글구 ppt 진짜 이쁘게 준비했네... 근데 중요하지 않다고 생각한 스크롤바는 2줄로 끝내버렸군. --세환
  • APlusProject/CM . . . . 1 match
         예를 들어 개발 계획서는 끝났으므로 이전 버전 까지 해서 모두 압축해서 하나의 파일로 올리는 것입니다.
  • AVG-GCC . . . . 1 match
          -dumpversion Display the version of the compiler'''컴파일러 버전'''[[BR]]
  • AcceleratedC++/Chapter6 . . . . 1 match
          1. grade함수는 오버라이딩된 함수이므로 컴파일러가 전달인자를 파악하지 못함
  • Ajax2006Summer/프로그램설치 . . . . 1 match
         2. 다운 받은 파일의 압축을 풉니다.
  • AliasPageNames . . . . 1 match
         # config.php 파일에 다음과 같은 설정을 넣어주시면 별명 기능이 활성화됩니다.
  • Ant/BuildTemplateExample . . . . 1 match
          <!-- 컴파일을 위해 build 라는 디렉토리를 만든다. -->
  • Ant/TaskOne . . . . 1 match
         Task 의 예로 다음 build.xml 파일을 보며서 설명해보자.
  • AntOnAChessboard . . . . 1 match
         입력 파일은 여러 줄로 구성되는데, 각 줄마다 단계 번호를 나타내는 정수 N(1 ≤ N ≤ 2 × 10<sup>9</sup>)이 하나씩 입력된다. 0이 입력되면 입력이 종료된다.
  • AntTask . . . . 1 match
          <!-- 컴파일을 위해 build 라는 디렉토리를 만든다. -->
  • Apache . . . . 1 match
         설치하기 너무 힘들다;; 바이너리나 rpm버전은 구할수가 없고...-_-ㅋ;; 죄다 소스 컴파일 버전이니... 압박;;
  • AutomatedJudgeScript . . . . 1 match
         이 프로그램에서는 정답과 제출된 프로그램에서 만들어낸 출력 결과가 들어있는 파일을 받아서 아래에 정의된 방법에 따라 Accepted, Presentation Error, Wrong Answer 가운데 하나로 답해야 한다.
  • BasicJAVA2005 . . . . 1 match
          - 그 파일에 public static void main(String[] args) 함수가 없어서 그런거 같은데... --선호
  • BasicJAVA2005/실습2/허아영 . . . . 1 match
         아영아..ㅠ.ㅜ 아직 위키어려..ㅠ.ㅜ 그림파일에 띄어쓰기하지마.. 파싱하기 힘들어..T.T
  • BeeMaja . . . . 1 match
         입력 파일에는 한 줄에 하나씩, 한 개 이상의 정수가 입력된다. 모든 벌집 번호는 100,000 미만이다.
  • BeeMaja/허준수 . . . . 1 match
         == 소스파일 ==
  • Bigtable/MasterServer . . . . 1 match
          * 난 태블릿도 SSTABLE의 리스트를 저장하는 파일로 관리하겠어 -> 이러면 마스터가 몰라도되나?
  • BlueZ . . . . 1 match
         에서 BlueZ 라이브러리를 받아서 컴파일해야함.
  • Boost . . . . 1 match
          * [http://boost.org/status/cs-win32.html 컴파일러 테스트] 페이지를 보면 알 수 있듯이 가장 많은 테스트를 통과하는 것은 gcc. VC++ 6 은 테스트도 안한다.
  • BoostLibrary . . . . 1 match
          * [http://boost.org/status/cs-win32.html 컴파일러 테스트] 페이지를 보면 알 수 있듯이 가장 많은 테스트를 통과하는 것은 gcc. VC++ 6 은 테스트도 안한다.
  • C++스터디_2005여름/도서관리프로그램 . . . . 1 match
          └처음부터 전부를 만들려고 할 필요 없어용~^^ 음..대게 이경우에는 자료구조 정하고 하나씩 차근차근 테스트 해나가면서 만들면 될것 같아요. 안된다고 포기하면 미오.ㅠ.ㅜ ㅎㅎ 그리고 컴파일러가 머리가 나쁜관계로 대게 46개라도 실제 에러는 그 반수도 안된다는~ 힘내보아요~'ㅇ')/ - [조현태]
  • C++스터디_2005여름/학점계산프로그램/문보창 . . . . 1 match
         // 파일로부터 4과목 점수를 읽는다.
  • C/Assembly . . . . 1 match
         (C언어의 특징이라고 하였지만, 번역하는 컴파일러의 특징이라고 해야 옳다.)
  • CNight2011/고한종 . . . . 1 match
         배열이 근본적으로 포인터란 것은 이미 알고 있었으나 실제 컴파일러에서 이런식으로 표현 된다는 것을 배웠다.
  • CPPStudy_2005_1/STL성적처리_4 . . . . 1 match
          //fin >> a >> b; // cin으로 화면에서 입력받는다면, fin은 연결된 파일로부터 입력받는다.
  • CauGlobal/ToDo . . . . 1 match
          ※ 한글2002이상 버전으로 저장하여 파일 및 문서로 제출
  • CivaProject . . . . 1 match
          * 파라메터라이즈 typedef 은 컴파일이 안되네.. 으으 Array 쓸땐 길게 다 써줘야하나..
  • ClassifyByAnagram/1002 . . . . 1 match
         hotspot 으로 프로파일링 돌린뒤 중간 쓸데없어보이는 코드들 마구마구 삭제. 가장 병목지점은 Anagram.register, {{{~cpp WordElement}}} (지금은 input 갯수 n 에 대해 n 번 실행)
  • CommonPermutation . . . . 1 match
         입력 파일에는 여러 개의 케이스가 들어갈 수 있으며 각 케이스는 두 개의 연속된 줄로 구성된다. 즉 첫번째 줄과 두번째 줄이 한 테스트 케이스를 이루며 세번째 줄과 네번째 줄이 또 다른 테스트 케이스를 이루는 식이다. 각 행에는 소문자로 이루어진 문자열이 하나씩 들어있으며 한 테스트 케이스를 이루는 문자열 중 첫번째 것을 a, 두번째 것을 b라고 하자. 각 문자열의 최대 길이는 1,000글자다.
  • CompleteTreeLabeling . . . . 1 match
         입력 파일은 여러 줄로 구성된다. 각 줄에는 두 개의 정수 k와 d가 들어있다. k>0이며, 이 값은 k진 완전 트리의 분기계수를 나타낸다. d>0며, k진 완전 트리의 깊이를 나타낸다. k X d ≤21인 모든 k와 d에 대해 작동하는 프로그램을 만들어야 한다.
  • ComputerNetworkClass/Exam2006_2 . . . . 1 match
         3. PEM 으로 이메일 보낼경우, 보내지는 내용들 구조와 함께 설명. 같이 보내지는 첨부 파일은 a.jpg
  • ComputerNetworkClass/Report2006/BuildingWebServer . . . . 1 match
         최초 작성하시는 분들은 우선 자신이 구현하려고 하는 웹 서버의 동작의 기본적인 구조(멀티쓰레드, 멀티프로세스, IO멀티플렉싱 등)를 결정하시고, 해당 방식으로 구현된 에코서버를 작성 혹은 소스를 구하신 후 웹브라우저의 HTTP request 를 읽어 분석한뒤, 알맞는 파일을 브라우저의 소켓으로 보내는 형태로 작성하시길 권합니다.
  • Counting . . . . 1 match
         1 이상 1,000 이하의 임의의 정수 n이 한 줄에 하나씩 입력된다. 파일 끝 문자가 입력될 때까지 계속 읽어와야 한다.
  • CppStudy_2002_1/과제1/CherryBoy . . . . 1 match
         // 다음은 헤더 파일이다.
  • CppStudy_2002_1/과제1/Yggdrasil . . . . 1 match
         //헤더파일
  • CppStudy_2002_2/STL과제 . . . . 1 match
          * 이 내용을 파일로 입력받는다.
  • CppStudy_2002_2/슈퍼마켓 . . . . 1 match
         다음과 같이 표준입출력을 통한 커맨드라인 인터페이스가 어떨까요? (자동) 테스트하기도 훨씬 쉬울테고요.
  • CppStudy_2005_1/BasicBusSimulation . . . . 1 match
         == 입력 파일 ==
  • CssMarket . . . . 1 match
         || CSS URL || 파일 ||평가||
  • C언어정복/3월30일 . . . . 1 match
         2. 컴퓨터 언어와 컴파일러 (인터프리터도 같이)
  • D3D . . . . 1 match
         실행 파일: http://zp.cse.cau.ac.kr/~erunc0/study/d3d/potentialFunc.exe
  • DPSCChapter1 . . . . 1 match
          * 응용 프로그램 영역(보험, 쌍방향 통신, 등등.) 과 시스템 개발(윈도우즈 시스템, 컴파일러, 등등.)의 많은 새로운 예제들을 다룬다.
  • DataStructure/Tree . . . . 1 match
          * PreOrder : Root -> Left Child -> Right Child : 컴파일러가 가장 좋아하는 방식
  • Data전송 . . . . 1 match
         3. html 이 메인 역활을 하므로 주소창에 파일이름.html 을 설정한다.
  • DebuggingApplication . . . . 1 match
         == 맵 파일 생성하는 법과 사용법 ==
  • DebuggingSeminar_2005 . . . . 1 match
          || [DebuggingSeminar_2005/AutoExp.dat] || VC IDE의 Watch 윈도우에 사용자 데이터형의 표현형을 추가하는 파일 ||
  • DebuggingSeminar_2005/DebugCRT . . . . 1 match
          ''두번째 인수는 파일 스트림의 _HFILE 형식의 포인터이거나 다음의 식별자들 중의 하나이다.''
  • DermubaTriangle/허준수 . . . . 1 match
         == 소스파일 ==
  • DesignPatterns/2011년스터디/1학기 . . . . 1 match
          1. 오늘은 LifeGame으로 바로 넘어가기 전에 [임상현]의 SE 과제인 파일 비교 프로그램을 설계해보았다.
  • DevCppInstallationGuide . . . . 1 match
          해주시면 컴파일시 에러가 났을 때 쉽게 확인가능합니다. 글꼴은 둘다 굴림체로 하는것이 보기에 좋더군요. :) [이영호]
  • DevelopmentinWindows . . . . 1 match
          * 실행파일에 붙여지는 바이너리 데이터
  • DevelopmentinWindows/UI . . . . 1 match
          * 파일 열기[[BR]]
  • DylanProgrammingLanguage . . . . 1 match
         저걸 빌드하면 엄청나게 많은 빌드로그를 토해낸 후에 (*nix의 경우)자기의 홈 디렉토리에 실행파일이 생성된다.
  • EightQueenProblem/kulguy . . . . 1 match
         == 소스 파일 ==
  • EightQueenProblem/lasy0901 . . . . 1 match
         두번째 프로그램은 ... 이상하게 컴파일이 안되더군요.. 알고보니 #include <stdafx.h> 을 안 넣어서 (VC6.0) 낭패-_-a
  • EightQueenProblem/정수민 . . . . 1 match
         C++로 만들어서 이거 -_-; 해더파일도 라인수에 포함돼는건가 =0=
  • EmbedAudioFilesForFireFox . . . . 1 match
         웹 페이지에 Embed된 오디오 파일을 FireFox에서 수월하게 재생시키기 위해서는 아래와 같이 type 속성을 주고 플레이어의 크기를 명시적으로 적어줘야 한다.
  • EmbeddedSystem . . . . 1 match
          * 저전력을 위한 컴파일
  • ExtremeBear/VideoShop/20021106 . . . . 1 match
          * 입출력 부분의 TDD를 해봤다. 어떻게 해야할지 확실히 알았다.
  • Fmt . . . . 1 match
         fmt라는 유닉스 프로그램은 텍스트를 읽어온 다음 적당히 연결하거나 끊어서 모든 행의 길이가 72글자는 넘지 않지만 최대한 72글자에 가까운 출력 파일을 만들어낸다. 행을 연결하거나 끊을 때는 다음과 같은 규칙을 따른다.
  • FocusOnFundamentals . . . . 1 match
         세상에는 참 다양한 사람이 있습니다. 귀납식의 공부를 해야 잘되는 사람, 연역식의 공부를 해야 잘되는 사람.. 자바를 죽도록 공부했더니 OOP의 근본만을 후벼판 사람보다 더 OOP를 잘 꿰는 사람도 있을 수 있습니다. RDB가 아닌 오라클만이 RDB의 전부라고 생각하는 사람이 오히려 더 빨리 RDB의 근본을 깨칠 수도 있습니다. 컴파일러학문이 나오고 포트란 언어가 나온 것은 아닙니다. 어느 하나의 방법만이 옳다고 생각하지는 않습니다. 그리고 그 어떤 것도 잡다하지는 않다고 생각합니다. 사람마다 너무나 다양한 개성이 있겠지요. --["아무개"]
  • FortuneMacro . . . . 1 match
         Fortune 매크로는 fortune파일의 인덱스를 직접 읽어들여 사용하므로 FortuneCookies를 읽어들이는 RandomQuoteMacro보다 매우 빠릅니다. :)
  • FoundationOfASP . . . . 1 match
          * 아주 간단한 실습 : hello.asp 파일을 불러올시 자기이름을 100번찍음
  • Freemarker . . . . 1 match
         프리마커는 자바 서블릿을 위한 오픈소스 HTML 템플릿 엔진이다. 프리마커에서는 HTML을 템플릿으로 저장하는데 이들은 결국 템플릿 객체로 컴파일 된다. 이 템플릿 객체들은 서블리셍서 제공하는 데이터들을 이용하여 HTML을 동적으로 생성한다. 프리마커 객체들은 서블릿에서 제공하는 데이터들을 이용하여 HTML을 동적으로 생성한다. 프리마커는 고유의 템플릿 언어를 사용하고, 정적인 HTML페이지에 근접한 속도를 자랑한다. ..하략
  • GTK+ . . . . 1 match
         컴파일을 하기 위해서는 gcc 명령행에 몇가지 파라메터를 더 주어야 한다. 아래는 한 예.
  • GarbageCollection . . . . 1 match
         2번째의 것의 경우에는 자료구조 시간에 들은 바로는 전체 메모리 영역을 2개의 영역으로 구분(used, unused). 메모리를 할당하는 개념이 아니라 unused 영역에서 빌려오고, 사용이 끝나면 다시 unused 영역으로 돌려주는 식으로 만든다고함. ㅡㅡ;; 내가 생각하기에는 이건 OS(or VM), 나 컴파일러 수준(혹은 allocation 관련 라이브러리 수준)에서 지원하지 않으면 안되는 것 같음. 정확하게 아시는 분은 덧붙임좀..;;;
  • Gof/Composite . . . . 1 match
         RTL Smalltalk 컴파일러 프레임워크 [JML92] 는 CompositePattern을 널리 사용한다. RTLExpression 은 parse tree를 위한 Component 클래스이다. RTLExpression 은 BinaryExpression 과 같은 서브클래스를 가지는데, 이는 RTLExpression 객체들을 자식으로 포함한다. 이 클래스들은 parse tree를 위해 composite 구조를 정의한다. RegisterTransfer 는 프로그램의 Single Static Assignment(SSA) 형태의 중간물을 위한 Component 클래스이다. RegisterTransfer 의 Leaf 서브클래스들은 다음과 같은 다른 형태의 static assignment 를 정의한다.
  • Gof/Singleton . . . . 1 match
         이 소스를 컴파일하면, outer class의 생성자를 호출하는 부분, 즉 Init()과 Destroy()에서
  • Hacking/20041104세번째모임 . . . . 1 match
         find --name --user --group 등의 조건으로 해당 파일이나 디렉토리 검색
  • HangulProcess . . . . 1 match
         [http://www.kr.freebsd.org/~cjh/freetime/oss-hangul/pse199904/ Hanterm 에서의 한글 입출력 관련 문서]
  • HardcoreCppStudy/두번째숙제/CharacteristicOfOOP/김아영 . . . . 1 match
         데이터 은닉이란 모듈이 그것이 갖는 기능들을 명세한 인터페이스(interface)를 통해서만 접근되고, 그 기능을 구현하는 방법은 다른 모듈로부터 은닉되도록 하는 것을 말한다. 캡슐화된 객체의 외부 인터페이스를 엄밀히 정의함으로써 독립적으로 작성된 모듈간의 상호 종속성을 극소화하여 캡슐화된 객체는 외부 인터페이스만을 통하여 접근될 수 있도록 한다면, 세부적인 구현 상세 사항에 대해서는 객체내에 은닉시킬 수 있다. 또한 캡슐화된 객체는 객체 구현내역을 변경, 혹은 향상시킬 때 이 객체를 사용하는 타 객체들을 변경하거나 다시 컴파일하지 않도록 할 수 있다. 또 모듈의 내부 구현 사항들이 외부의 접근으로부터 보호될 수 있음으로, 그 객체의 정당성을 보증할 수 있으며, 오류가 발생되었을 경우에 오류는 한 모듈내로 국지화될 수 있다.
  • HardcoreCppStudy/첫숙제/ValueVsReference/변준원 . . . . 1 match
         다르다면 컴파일러 장애가 발생할 것입니다. 다른 점이 있다면 함수 원형은 마지막에 세미콜론으로 끝난다
  • HelpOnCvsInstallation . . . . 1 match
          1. 로그인은 단 한번만 하면 됩니다. 한번 로그인 하면 그 정보가 {{{~/.cvspass}}}파일에 보존됩니다.
  • HelpOnInstalling . . . . 1 match
          귀찮아서 INSTALL파일에 여기를 향하는 링크를 달랑 넣었습니다. :p
  • HelpOnLinking . . . . 1 match
         이와같은 기본 형식과 함께, 모인모인/모니위키에서 지원: `wiki:`, `attachment:`. "`wiki:`" 는 내부링크 혹은 인터위키 링크를 뜻합니다. 따라서 `MoniWiki:FrontPage` 와 `wiki:MoniWiki:FrontPage`는 똑같습니다. 주의할 점은 "`wiki:`" 형식은 괄호로 연결되는 링크의 경우 반드시 사용해야 합니다. `attachment:`는 파일 첨부를 위해 사용됩니다.
  • HelpOnProcessors . . . . 1 match
         다음과 같이 코드 블럭 영역 최 상단에 {{{#!}}}로 시작하는 프로세서 이름을 써 넣으면, 예를 들어 {{{#!python}}}이라고 하면 그 코드블럭 영역은 {{{plugin/processor/python.php}}}에 정의된 processor_python()이라는 모니위키의 플러그인에 의해 처리되게 됩니다. {{{#!python}}}은 유닉스의 스크립트 해석기를 지정하는 이른바 ''bang path'' 지정자 형식과 같으며, 유닉스에서 사용하는 목적과 동일한 컨셉트로 작동됩니다. (즉, 스크립트의 최 상단에 지정된 스크립트 지정자에 의해 스크립트의 파일 나머지 부분이 해석되어 집니다.)
  • Hessian . . . . 1 match
         이를 컴파일 하기 위해서는 hessian-2.1.3.jar 화일과 jsdk23.jar, resin.jar 화일이 classpath 에 맞춰줘야 한다. (이는 resin 의 lib 폴더에 있다. hessian jar 화일은 [http://caucho.com/hessian/download/hessian-2.1.3.jar hessian] 를 다운받는다)
  • HowManyPiecesOfLand? . . . . 1 match
         파일의 첫번째 줄에는 테스트 케이스를 나타내는 0 보다 크고 3,511 보다 작은 정수 s가 입력된다. 그 다음 줄부터 s 개의 줄에 걸쳐서 0 이상, 2<sup>31</sup> 미만의 정수 n이 입력된다.
  • HowToBlockEmpas . . . . 1 match
         검색서비스를 제공하고 있는 곳에서는 로봇 에이전트를 사용하여 검색한다는거 아실겁니다. 이러한 로봇은 강제성은 없지만 로봇 배제 표준을 따르도록 프로그래밍 하는 것이 관례 입니다. 웹서버 루트에 robots.txt 파일을 다음과 비슷하게 작성하시면 되겠습니다.[[BR]]
  • ImmediateDecodability . . . . 1 match
         파일에서 연속된 데이터를 그룹 형태로 입력을 받아들인다. 그룹의 각 데이터는 기호용 이진 코드를 나타내는 0과 1의 집합으로 구성된다. 각 그룹은 단일 숫자 9로 구분된다. 구분 숫자인 9는 그룹에 속하지 않는다.
  • IntegratedDevelopmentEnvironment . . . . 1 match
         IDE는 Integrated Development Environment를 말하며 한국어로는 통합 개발 환경을 의미한다. 보통 텍스트 편집기에 syntax highlite와 debugger, 빌드 도구, 컴파일러 등이 모두 통합되어 나오며 IDE하나만으로도 소스코드를 작성하는데 문제가 없다.[* 최근에는 이마저도 부족한 경우도 있다.]
  • IsBiggerSmarter? . . . . 1 match
         한 줄에 한 마리씩, 여러 코끼리에 대한 정보가 입력된다. 파일 종료 문자가 입력되면 입력이 끝난다. 각 코끼리에 대한 정보는 한 쌍의 정수로 입력되는데, 첫번째 정수는 체중을 킬로그램 단위로 나타낸 것이고, 두번째 정수는 IQ에 100을 곱한 값이다. 두 정수는 모두 1 이상 10,000 이하다. 최대 1,000 마리의 코끼리에 대한 정보가 입력될 수 있다. 체중이 같은 코끼리가 두 마리 이상 있을 수 있으며, IQ가 같은 코끼리가 두 마리 이상 있을 수도 있다. 그리고 체중과 IQ가 모두 똑같을 수도 있다.
  • Java/문서/참조 . . . . 1 match
         (final이란 그냥 #define이라고 생각해도 무방하다. Java 컴파일러가 해당 final들을
  • JavaScript/2011년스터디/7월이전 . . . . 1 match
          * 저는 자바스크립트 파일이 로드가 안되었는데 로드가 안되는게 아니라 자바스크립트에 에러가 있었던 거란걸 알게되었습니다. 개발자 도구 좋군요.. 자바스크립트 로드하는 법을 알았으니 이제 키보드 이벤트를 받아야겠습니다. 마우스 이벤트까지는 성공했어요*-_-* 참 사소한것에 기뻐하게 되네요ㅋㅋ 새로운 언어를 배우니 초심자로 돌아간 기분입니다. 헬로월드를 처음 띄웠을 때의 그 시절로.....''아련'' 다음시간까지 키보드 이벤트를 받는 코드를 작성하겠다고 했었나?요? 해야겠네..요.. - [서지혜]
  • JavaStudy2002 . . . . 1 match
          * ["JavaStudy2002/입출력관련문제"]
  • JavaStudy2003/두번째과제 . . . . 1 match
         [JavaStudy2003/두번째과제/입출력예제]
  • JavaStudy2003/첫번째과제 . . . . 1 match
          * 위 세개는 알아보기만 해도 되겠지만 마지막 프로그래밍은 힘들꺼라고 예상합니다^^; 자바라는 프로그램을 하기 위해선 어떤것을 설치해야 하고 그것을 또 컴파일하고 실행시키는데 있어서 애로사항이 많을꺼라고 봅니다. 스스로 찾아서 해 보세요. 과제 제출은 위키에 받겠습니다.
  • JavaStudy2003/첫번째수업 . . . . 1 match
          * J2SE 설치법과 컴파일, 실행, 그리고 툴의 소개.
  • JavaStudy2004/클래스상속 . . . . 1 match
          * 한 클래스의 행위를 바꾸면 자동적으로 하위클래스의 행위를 바꾸게 한다. 따라서 재컴파일할 필요가 없다.
  • JavaStudyInVacation . . . . 1 match
          * ["JavaStudy2002/입출력관련문제"]
  • JavaStudyInVacation/진행상황 . . . . 1 match
          Moa:HelloWorldConsideredHarmful 보시고, 해당 페이지의 파일도 받아서 음미(?) 해 보세요.
  • JollyJumpers/김태진 . . . . 1 match
         ||||||||구현: 1시간, 입출력 및 디버깅:4시간||
  • KAIST전산대학원면접/06전기 . . . . 1 match
         "컴파일러 들었으면 ---최적화 기법이라고 들어봤나?"
  • KIV봉사활동/준비물 . . . . 1 match
          * 프린트 : 한글 영어독음, 간단한 회화나 단어(워드파일로 준비), 그림, 쓰기책
  • LIB_2 . . . . 1 match
         이럴 경우 컴파일을 해 보면 펑션의 호출이 RET가 아닌 IRET로 끝나게 된다.[[BR]]
  • LexAndYacc . . . . 1 match
          * 솔직히 결정적인 이유야 -_- 컴파일러를 짜보기 위해서죠 :)
  • LinkedList/학생관리프로그램 . . . . 1 match
          (option-파일에 쓰고 읽는 부분 첨가)
  • LinuxProgramming/QueryDomainname . . . . 1 match
         표준 BSD socket 을 이용한 소스. 리눅스에서 컴파일해야함. 대충 바꾸면 윈도우에서도 할 수 잇음.
  • LispLanguage . . . . 1 match
         하면 dribble 내의 코드만 ""안의 경로의 파일명으로 저장됨
  • LoadBalancingProblem . . . . 1 match
          IPSC 에는 입력을 파일로 받도록 하였으나 여기서는 직접 사용자가 다음과 같은 형식으로 입력한다.
  • MFC/CObject . . . . 1 match
          ''각각은 보조 매크로가 필요하며 DECLARE_ 대신 IMPLEMENT_ 접두사가 붙은 형태이다. 보조매크로는 클래스의 구현 파일 부분에 포함되어야 한다.''
  • MFCStudy_2001 . . . . 1 match
         [인수] 객관적으로 혜영이 누나께 젤 이쁘네여^^;; 제꺼랑 선호꺼는 단순미를 보여주는..--;(그러면서 배경은 트루컬러를..--; 실행파일 커지는 주범..--;)[[BR]]
  • MFC_ . . . . 1 match
         5. [다른 폴더의 인크루드파일 참조]
  • MIB . . . . 1 match
         헐리우드의 오락판 X 파일이라고 할만한 영화이다.
  • Marbles . . . . 1 match
         입력 파일에는 테스트 케이스가 여러 개 들어갈 수 있다. 각 테스트 케이스는 정수 n(1 이상 2,000,000,000 이하)이 들어있는 줄로 시작한다. 그 다음 줄에는 c1과 n1이, 그 다음 줄에는 c2와 n2가 입력된다. 여기에서 c1, c2, n1, n2는 모두 양의 정수며 2,000,000,000보다 작다.
  • MatrixAndQuaternionsFaq . . . . 1 match
         음.. 여기 파일 링크 어떻게 걸쥐?? -_-
  • Memo . . . . 1 match
          // exit로 종료를 하면 모든 파일 디스크립터를 자동으로 닫고 종료한다.
  • MicrosoftFoundationClasses . . . . 1 match
          ''컴파일 해보고자 하는 분들은 Project/Setting/General 항목에서 MFC DLL을 사용한다는 설정을 해야한다.
  • MineSweeper/곽세환 . . . . 1 match
         VC++에선 컴파일에러 안 났는데 문제채점하는곳에선 에러
  • MobileJavaStudy/Tip . . . . 1 match
         == 파일 입력 ==
  • MoniWikiACL . . . . 1 match
         # <?php exit()?> // 파일은 php이지만 형식은 php가 아닌 일반 텍스트다.
  • MoniWikiOptions . . . . 1 match
          * 지정할 수 있는 값으로는 moni,moni2 등이 있다. 디렉토리를 추가하고 파일이름을 똑같게 하면 아이콘을 바꿀 수 있다.
  • MoreEffectiveC++/Basic . . . . 1 match
          지역함수 안에서 지역 객체를 생성하여 Reference로 리턴할 경우 지역 함수가 반한되면 지역 객체는 없어질 것이고, 리턴되는 Reference는 존재하지 않는 객체에 대한 다른 이름이 될 것이며, 경우에 따라서 컴파일은 될지모르나 나쁜 코드라고 하네요.-차섭-
  • NSIS/예제1 . . . . 1 match
         ==== makensis 컴파일 과정 ====
  • NSIS/예제2 . . . . 1 match
         === 컴파일 과정 ===
  • NumericalAnalysisClass . . . . 1 match
         전산학에서 OOP의 발전을 별로 수용하지 않은 대표적인 두 영역이 컴파일러와 수치해석 쪽이다. 또한, 대부분의 수치해석 교과서들은 잡다한 기법과 코드의 백과사전 수준에서 그치고 있다.
  • OpenCamp/첫번째 . . . . 1 match
          * jQuery 실습용 파일 - 마우스 우클릭으로 다운 요망
  • OurMajorLangIsCAndCPlusPlus/Function . . . . 1 match
         - 해당 파일 내에서만 유효한 함수
  • OurMajorLangIsCAndCPlusPlus/XML/김상섭허준수 . . . . 1 match
         == 입력파일을 "input.txt"에 넣어야 됨..ㅡㅜ ==
  • PHP Programming . . . . 1 match
         [지혜] 파일 업로드가 가능한 게시판을 만든다. (혜영과 별로 다를게 없군.. ㅡㅡ; 내 의견은 별로 필요해 보이지 않는걸그래.. ㅡㅡa)
  • PNGFileFormat/FormatUnitTestInPythonLanguage . . . . 1 match
          # 전체 파일 크기와 비교.
  • PairProgramming . . . . 1 match
         나는 이에 대해 하나의 프로젝트에서 여러개의 데이타베이스를 사용하게 될 경우 여러개의 추가적인 파일들을 관리해야 될지도 모른다고 했다. 그리고 new SqlConnection(); , new MySqlConnection()과 같은 방식으로 사용하는 것이 더 직관적인 것 같다고 설명했다.
  • PowerOfCryptography/이영호 . . . . 1 match
         // 개략 적인 코딩으로 컴파일러가 없어 에러를 잡지 못했음.
  • ProgrammingLanguageClass/2006/EndTermExamination . . . . 1 match
         c) C언어가 독립 컴파일을 지원하는지 유무.
  • ProgrammingLanguageClass/2006/Report3 . . . . 1 match
         음 잠깐 하면서 생각한건데.... 이 숙제 정말로 구리다. -_- 내가 이렇게 재미없는 숙제를 하게된건 파일구조때 binary 가지고 장난친 이후 처음인듯하다. 문자열 장난할꺼면 펄로하게 해주던지... C 문자열 함수 가지고 놀려니... 정말로 구리다라는 생각뿐~ - [eternalbleu]
  • ProgrammingPearls/Column3 . . . . 1 match
          * 예제 : 어느 사이트에 로그인하면 DB에서 사용자 데이터를 긁어와서 보여준다. 이것은 책에 있는 예제고, 이것을 간단히 C++, 그리고 파일 입력으로 변형을 해보면,
  • ProjectAR/회의/20030525 . . . . 1 match
          * 모든 데이터는 파일로 뺀다.
  • ProjectGaia . . . . 1 match
         학교에서 하는 파일 구조 단체 프로젝트 관리 페이지 입니다.
  • ProjectGaia/계획설계 . . . . 1 match
         == key 순차 파일 A안 ==
  • ProjectGaia/기록 . . . . 1 match
          * Key Sequential Page단위 로딩으로 변경, Spec에 요구하는 입출력 정리
  • ProjectGaia/요구사항 . . . . 1 match
         === 확장 해쉬 파일 ===
  • ProjectPrometheus/BugReport . . . . 1 match
          - 자주 바뀌는 부분에 대해서 Page -> Object Mapping Code Generator 를 만들어내거나, 저 부분에 대해서는 텍스트 화일로 뺌 으로서 일종의 스크립트화 시키는 방법(컴파일을 하지 않아도 되니까), 화일로 따로 빼내는 방법 등을 생각해볼 수 있을 것 같다.
  • ProjectSemiPhotoshop/Journey . . . . 1 match
          * 내용 : eXtreme Programming을 실전 경험에서 응용해 보는 것이 어떨가 싶다. : 이 문제에 관해서는 수요일에 파일 구조 시간에 만나서 이야기 하도록 하자. 내 기본 생각은 Xp Pratice 들 중 골라서 적용하기에 힘들어서 못할것으로 생각하는데, 뭐, 만나서 이야기 하면 타결점을 찾겠지. ExtremeBear 도 이 숙제 때문에 중단 상태인데 --["상민"]
  • ProjectVirush/Prototype . . . . 1 match
          // exit로 종료를 하면 모든 파일 디스크립터를 자동으로 닫고 종료한다.
  • ProjectZephyrus/ThreadForServer . . . . 1 match
         컴파일을 하자
  • ProjectZephyrus/간단CVS사용설명 . . . . 1 match
          * 가상의 유저를 파일의 권한을 그자(?)에게 돌리고, CVS내부 기록은 각 유저가 하도록 한다. .
  • PyIde . . . . 1 match
          ''가능하다. Jython 스크립트를 Java Class 파일로 간단하게 바꿀 수 있다. 나는 IE 오토메이션을 이렇게 해서 자바 FIT에서 통합으로 관리하게 했었다. --JuNe''
  • RandomWalk2/TestCase2 . . . . 1 match
         test.exe 는 작성한 프로그램 실행 파일 이름입니다.
  • RedThon/HelloWorld과제 . . . . 1 match
          * HelloWorld를 .py파일을 실행해서 HelloWorld출력하기(3가지로) 힌트 : 클래스, 함수, 그냥
  • ReleaseDebugBuildStartGo의관계 . . . . 1 match
          - 실수로 초기화하지 않고 쓰는 지역변수가 있는가?(요즘 나오는 대부분의 좋은 컴파일러는 경고 메시지를 내주긴 합니다만)
  • Ruby/2011년스터디 . . . . 1 match
          * 파일 다루는 건 File.open 안에 { } 괄호 안에서 입력해야 함
  • Ruby/2011년스터디/강성현 . . . . 1 match
          * 루비 설치폴더\bin 안에 http://www.winimage.com/zLibDll/zlib125dll.zip 에 있는 dllx64\zlibwapi.dll 파일을 복사하고 이름을 zlib.dll 로 바꿈
  • STL . . . . 1 match
          DeleteMe) 인수가 가진 모든 STL 페이지 ["Refactoring"] (예제가 그 자체로만으로 돌아가나 컴파일. 이모티콘과 잡담 모두 빼서, Document Mode로 만들기, 쉬운말, 쉬운 예제로 고치기) 결과 ["인수"]의 모든 STL 페이지 사라짐(피바람);;
  • STL/Miscellaneous . . . . 1 match
         = 파일 읽어 오기 =
  • STL/Tutorial/연습문제규칙 . . . . 1 match
         이것보다, 규칙을 파일에서 읽어서 파싱하게 해서 넣게 하는 편이 좋을것 같다. 이런거 말이지
  • ScheduledWalk/유주영 . . . . 1 match
          cin >> road; // cin으로 화면에서 입력받는다면, fin은 연결된 파일로부터 입력받는다.
  • ServerBackup . . . . 1 match
          * (./) 작은 파일 하나를 zeropage@neocoin.net 으로 올린다.
  • SmallTalk/강좌FromHitel/Index . . . . 1 match
          | !: 별도의 자료파일이 제공되는 글
  • SmallTalk/강좌FromHitel/강의4 . . . . 1 match
         여러분이 내린 명령을 따로 하나의 파일로 저장해 둘 수 있다는 말입니다.
  • SmallTalk/강좌FromHitel/소개 . . . . 1 match
         계 발전된 기술을 사용함으로써, 실행 파일이 차지하는 기억 공간의 점유율을 매
  • SmallTalk/강좌FromHitel/차례 . . . . 1 match
          | !: 별도의 자료파일이 제공되는 글
  • SmallTalk_Index . . . . 1 match
          | !: 별도의 자료파일이 제공되는 글
  • SmallTalk_Introduce . . . . 1 match
         계 발전된 기술을 사용함으로써, 실행 파일이 차지하는 기억 공간의 점유율을 매
  • SmithNumbers/이도현 . . . . 1 match
         uva사이트에 등록할때 e-mail을 적었다면, e-mail로 컴파일 에러가 곳(?)을 로봇이 바로 보내줍니다. 참고하세요. 단, 한메일은 스팸편지함을 확인해 보세요. -보창
  • SoftwareEngineeringClass . . . . 1 match
          * 지금 듣는 사람들의 이야기를 들어서는 실습을 하는 과정이 투자하는 시간에 비해서 얻는 것이 좀 적은 것 같다는 생각들을 많이하던데... 실제로 팀을 이룬 사람들중에서 실무를 확실하게 경험해 보지 않은 사람들만 있는 경우에는 이게 더 심하다고 합니다. 전 내년에나 이거 들을 차례가 올것 같은데... 이경환 교수님께서도 이번을 마지막으로 하신다고 하고... 이 과목을 반드시 들어야하나 그런 생각도 좀 드네요. 저의 경우에는 이걸 청강(or 도강;;)식으로해서 이론적인 것을 듣고, 그냥 DB, PL을 들으려고하는데.. 어떨지 모르겠네요. (그런데 컴파일러 과목은 언제 생기는 거지 ㅡㅡ;;) - 박영창
  • SqLite . . . . 1 match
         [http://www.int64.org/sqlite.html - SQLite C++ Wrapper]. 단, 이 코드의 경우 long long 형을 쓰는 관계로 VC6 에서는 컴파일이 되지 않는다. long long 형을 쓰는 부분을 __int64 로 바꾸면 VC6 에서도 이용은 가능.
  • StacksOfFlapjacks . . . . 1 match
         입력은 여러 개의 팬 케이크 스택으로 구성된다. 각 스택은 한 개에서 서른 개 사이의 팬 케이크로 구성되며 각 팬 케이크의 지름은 1 이상 100이하의 정수로 주어진다. 입력은 파일 끝 문자에 의해 종료된다. 각 스택은 한 줄에 입력되며 맨 위에 있는 팬 케이크가 맨 앞에, 맨 밑에 있는 팬 케이크가 맨 뒤에 입력되고 모든 팬 케이크는 스페이스에 의해 구분된다.
  • StandardWidgetToolkit . . . . 1 match
          * swt.jar 를 classpath 에 잡고 다음 소스를 컴파일 한다.
  • Steps/김상섭 . . . . 1 match
         == 컴파일 에러..ㅡㅜ ==
  • StringOfCPlusPlus/세연 . . . . 1 match
         //파일에 있는 단어를 읽어온다
  • Struts . . . . 1 match
          Upload:카페명:파일
  • SubVersionPractice . . . . 1 match
          프로젝트에 파일을 추가했다는 표시를 한다.
  • SummationOfFourPrimes/1002 . . . . 1 match
         PyRex 는 Python 코드를 C 코드로 전환해준다. 이를 이용, C 모듈로 만들어 컴파일하고 결과를 실행. 의외로 7.x 대로, PsyCo 를 썼을때보다 오히려 성능이 떨어졌다. C 코드를 보니 웬걸. 전혀 알아볼수가 없는 코드다. 차라리 깨끗하게 직접 작성해주는게 성능향상 상으로는 유리하겠다는 생각.
  • SuperMarket . . . . 1 match
         다음과 같이 표준입출력을 통한 커맨드라인 인터페이스가 어떨까요? (자동) 테스트하기도 훨씬 쉬울테고요.
  • TCP/IP . . . . 1 match
         쉽게 말해서 데이터를 파일에 쓰고 읽는 것처럼 소켓을 사용해서 데이터를 쓰고 읽을 수 있단 소리다.
  • TeachYourselfProgrammingInTenYears . . . . 1 match
         유망한 인재의 육성을 책임을 가지고 실시하는 캐리어 어드바이저를 임명해, 면밀한 캐리어 파일을 보관 유지한다.
  • TestDrivenDevelopment . . . . 1 match
         테스트를 작성할때엔 '이미 완성되어있는 잘 된 API' 를 상상하며 작성한다. 잘 만들어진 API는 같은 일을 하더라도 직접 호출해줘야 하는 함수의 갯수가 적고 이해하기 편하며 '무엇'을 해주는지 그 메소드가 말해준다. 적게 코드를 써도 많은 일을 해주는것이다. 그리고, 테스트로서 컴퓨터의 컴파일러에게 코드작성을 위해 해야 할 일들을 묻고, 인터페이스를 만들고. 그리고 구현하고, 다시 구현된 코드를 Refactoring 한다.
  • TheJavaMan/비행기게임 . . . . 1 match
          (압축을 풀면 나오는 Readme파일에 게임 설명이 있습니다.)
  • TheKnightsOfTheRoundTable . . . . 1 match
         파일 끝에 다다를 때까지 계속 입력을 받는다.
  • TheOthers . . . . 1 match
          |__ Doc - 문서나 DB 파일, 스키마 문서 올린다. 추후 최종 레포트도 여기에 올린다.
  • TheWarOfGenesis2R . . . . 1 match
          * [http://zeropage.org/pub/Genesis2R/BasicMovement.exe 실행파일]
  • TiddlyWiki . . . . 1 match
         단일파일로 구성된 위키. html+javascript+css 로 제작.
  • TkinterProgramming/Calculator2 . . . . 1 match
         컴파일을 위해서는 메가 위젯 모듈을 설치해야한다.
  • UDK/2012년스터디/소스 . . . . 1 match
         이걸 컴파일하면 다음과 같은 키즈멧 노드를 생성할 수 있다.
  • UnityStudy . . . . 1 match
          * Build 해서 실제 실행파일로 만든다.
  • UselessTilePackers . . . . 1 match
         입력 파일은 여러 데이터 블록으로 구성될 수 있다. 각 데이터 블록은 하나씩의 타일을 기술한다. 데이터 블록 첫째 줄에는 타일의 꼭지점의 개수를 나타내는 정수 N(3≤N≤100)이 입력된다. 그 밑으로는 N줄에 걸쳐서 각 꼭지점의 (x,y) 좌표를 나타내는 정수가 두 개씩 입력된다. 이때 x,y는 모두 0 이상 1,000 이하다. 꼭지점은 입력된 순서 그대로 연결된다. 세 개 이상의 동일 직선 상에 있는 점이 연속으로 입력되는 일은 없다.
  • VMWare . . . . 1 match
         VMWARE 는 보통 개발 중인 OS 테스트 환경, 임베디드 환경의 크로스 컴파일 환경, 개발 중 어플리케이션의 다양한 플랫폼에서의 테스트 비용 최소화를 위해서 많이 사용한다.
  • VendingMachine/세연/1002 . . . . 1 match
         입출력부분과 Vending Machine 자체의 분리
  • VonNeumannAirport/Leonardong . . . . 1 match
         Traffic하고 Configuration을 각각 2차원 행렬로 표현했다. Traffic은 ( origin, destination )에 따른 traffic양이고, Configuration은 origin에서 destination 까지 떨어진 거리를 저장한 행렬이다. 전체 트래픽은 행렬에서 같은 위치에 있는 원소끼리 곱하도록 되어있다. 입출력 부분은 제외하고 전체 트래픽 구하는 기능까지만 구현했다.
  • WinampPlugin을이용한프로그래밍 . . . . 1 match
         컴파일하려면 in2.h 와 Out.h 가 필요하다. 이는 http://www.winamp.com/nsdn/ 에서 Winamp SDK를 다운받는다.
  • X . . . . 1 match
         잃어버리지 않게 파일로 남겨놨는데 .... 당연히 암호 걸어놨지 -.-V[[BR]]
  • XMLStudy_2002/Encoding . . . . 1 match
         XML로 작성된 파일을 프로세서가 알수 있도록 변환하는 방법을 알아본다.
  • XMLStudy_2002/Resource . . . . 1 match
          *기본적으로 IE5.0이상에는 XML 파서와 XSL프로세서를 사용하기 때문에 XML과 XSL지원이 가능한데, IE에서 사용하고 있는 XML 파서와 XSL 프로세서가 MSXML로 dll 파일의 형태로 되어있다.
  • YetAnotherTextMenu . . . . 1 match
         텍스트 메뉴에서 찾는 장점이라면 인터액티브하게 테스트해보기 좋다는 것 정도 될까? 그런데 이는 표준 입출력을 사용하되 버퍼링을 쓰지 않으면 역시 인터액티브하게 테스트 가능하다. 일종의 커맨드 쉘을 제공하는 셈이다(실제로 이를 좀 더 발전시키도록 하면 학생들은 많은 것을 배울 것이다).
  • Yggdrasil/가속된씨플플/1장 . . . . 1 match
          * cin은 공백이나 파일의 끝을 만나면 그때까지의 문자들을 변수에 저장하기 때문에 Samuel Beckett이라고 입력했으면 첫 cin엔 Samuel까지 들어가고, Beckett은 버퍼에 남아있어서 다음의 cin은 사용자에게 입력할 틈도 안 주고 남은 Beckett이란 단어를 flush하기 때문이다.
  • ZPBoard/AuthenticationBySession . . . . 1 match
         서버에서는 이 세션아이디를 바탕으로 인증 작업을 하기만 하면 되니, 정보를 얻는 방법으로 데이터베이스를 사용하건 파일시스템을 사용하건 그 이용에 제한을 가하지 않습니다.
  • ZPBoard/PHPStudy/쿠키 . . . . 1 match
          * 쿠키(Cookie)는 클라이언트 컴퓨터의 하드에 해당 컴퓨터의 여러가지 정보가 저장된 파일을 지칭하는 말입니다. 현재 많은 사이트들이 이를 이용해서 여러가지 서비스를 제공하고 있습니다. 예를 들자면 제로위키에서는 이를 이용해서 로그인 서비스를 제공하고 있답니다.
  • ZPHomePage/20050111 . . . . 1 match
          * 접수시기재사항 - 작품(일러스트레이터파일 권장), email주소, 계좌번호, 수신가능전화번호
  • ZeroPageServer/BlockingUninvitedGuests . . . . 1 match
          - [임인택]의 [http://purepond.cafe24.com/ 개인위키]도 ZeroPage 에서와 같은 문제점을 (그것도 더 심하게) 겪었는데 아파치의 보안기능 (.htaccess 파일 이용)을 적용해봐도 결과는 마찬가지였다. 누군가의 장난이거나 검색엔진(+사용자)의 무지에서 오는 문제인것이 확실하였는데. 결국 NoSmoke:노스모크모인모인 의 '''등록한 사용자만 글을 쓸수 있게 하는''' 기능을 이용하여 이 문제를 해결하였다. 여담으로.. 쓰레기 페이지를 손수 지우느라 엄청 고생함...-_-;;
  • ZeroPageServer/Wiki . . . . 1 match
          - 파일 올리기가 가능합니다. 5메가 UploadFile
  • ZeroPageServer/old . . . . 1 match
         오전 9시 정도에 zp에 담아두었던 80MB 정도의 자료를 다운로드 받는데 내부 네트워크 치고는 속도가 너무 안나오는것 같습니다. (3~400KB/S) sftp, http로 파일을 전송해봤는데 마찬가지이군요. 집에서도 이정도속도가 나오던데.. 서버에 따로 셋팅해준 값이 있는지..? - [임인택]
  • ZeroPage성년식/준비 . . . . 1 match
          * .ai 파일을 넘겨줘야 인쇄가 가능하다는데 로고가 ai가 아니라 곤란.
  • ZeroPage성년식/회의 . . . . 1 match
          * 파일
  • Zeropage/Staff/회의_2006_03_04 . . . . 1 match
         -파일 이름 띄어쓰기 하고 올려서 안받아져요...;; -수생
  • [Lovely]boy^_^/Cartoon . . . . 1 match
          만화책 그림 파일입니다. 메신저에 저를 추가하시면 보내 드리겠습니다.
  • [Lovely]boy^_^/Diary/2-2-11 . . . . 1 match
          * 선호랑 ["TheWarOfGenesis2R"]의 일환으로 타일 에디터를 만들었다. BMP 파일 약간 개조해서 뒤에다가 타일 데이터를 덧붙였다.
  • [Lovely]boy^_^/Diary/7/8_14 . . . . 1 match
          * 쓰는 법 다 잊어먹었다.;; 닷넷 컴파일러로 바뀌니까 막 헷갈린다. 그런의미에서 간단한 테트리스나 만들어 보기로 했다.
  • eXtensibleMarkupLanguage . . . . 1 match
          * XML은 정말로 굉장히 강력하다. 덕분에 톰캣을 위시한 많은 애플리케이션이 셋업 파일로 XML을 활용하기 시작했다. BUT 크리티컬한 부분에 XML을 소통 데이터로 이용하게 될 경우 해당 부분이 그 프로그램의 performance critical path 가 되는 경우가 발생한다.
  • erunc0/COM . . . . 1 match
          * 개인적으로 COM 구현할때는 (정확히야 뭐 ActiveX Control) 손수 COM 구현하는데 하는 일들이 많아서 -_-.. (Interface 작성하고 IDL 컴파일해주고, COM Component DLL Register 해주고 그다음 COM Component 잘 돌아가는지 테스트 등등) 거의 Visual Studio 의 위자드로 작성한다는. --a 그리고 COM 을 이해할때에는 OOP 에 대한 좀 바른 이해를 중간에 필요로 할것이라 생각. 디자인 패턴에서의 Factory, FacadePattern 에 대해서도 아마 읽어볼 일이 생기기라 생각.
  • html5/drag-and-drop . . . . 1 match
         || files ||다른 어플리케이션으로부터 드래그 & 드롭된 파일을 가져온다. ||
  • html5/overview . . . . 1 match
          * 로컬파일 읽기
  • html5/문제점 . . . . 1 match
          * 오디오, 비디오 재생 시 자동 감지에 의한 재생, 고화질 파일 재생, 대용량 스트리밍 서비스,
  • stuck!! . . . . 1 match
         1차 : 입출력그리고 간단한 변수의 종류에 대해서 공부해보고, 이름과 학번 그리고 원하는 평점을 입력받고 그것을 그대로 출력하는 프로그램을 작성해 본다. 일요일 오후 3시까지 제출해 주세요. 미 제출시 가혹한 벌금이 있습니다ㅋㅋㅋ
  • whiteblue . . . . 1 match
          * ["whiteblue/파일읽어오기"]
  • whiteblue/MyTermProjectForClass . . . . 1 match
         == 해더 파일 ==
  • wxPython . . . . 1 match
         바람직한 형태로 구성되어있다. 예제프로그램은 도움말 파일의 형태로 embeded 되어서 실행되는 코드로 구성되어있다.
  • zennith/MemoryHierarchy . . . . 1 match
         요즈음의 RISC 구조 프로세서에서는, 모든 연산의 연산자들로 레지스터만 허용하므로, 이 제한된 숫자의 레지스터들을 어떻게 관리하느냐가 성능 향상의 주안점이다. 가령, 빈번하게 요구되는 변수는 계속 가지고 있는다던지, 아니면 한동안 쓰임이 없는 변수를 레지스터에서 버린다던지 하는 일이다. 물론, 이 일(optimal register allocation)은 컴파일러에서 담당한다.
  • 가위바위보/성재 . . . . 1 match
         파일을 받아서 하는거였죠... -_- 어려웠습니다.. 케이스문이 아닌 다른걸루 만들어보고 싶네요~ }}}
  • 가위바위보/영동 . . . . 1 match
          //파일 읽음
  • 검색에이전시_temp . . . . 1 match
          * [http://prdownloads.sourceforge.net/goog-kongulo/kongulo-0.1.zip?download 웹스파이더(구글오픈소스)] - 이프로그램은 구글 데스크탑의 플러그인 같은 것으로서 이프로그램을 사용하여 특정 웹사이트 내용을 긁어서 구글 데스크탑 디비에 넣을 수 있다. 현재는 이 프로그램으로 구글 데스크탑이 아닌 그냥 파일에 쓰는식으로만 바꿔봄
  • 경시대회준비반/BigInteger . . . . 1 match
         C++ 용 BigInteger 클래스로 거의 모든 연산을 지원한다. UVA 사이트의 구식(?) 컴파일러에도 문제없이 통과할 뿐 아니라, 성능또한 훌륭하다. 고정도 정수 연산을 하는 문제의 경우, 고정도 연산을 하는 라이브러리를 본인이 직접 짜거나, 이 클래스를 이용하면 된다. 몇 일동안 삽질한 결과 후자가 낫다는 판단이 선다. 되게 잘 짜여진 코드다. 시간 내서 분석해봐야 겠다.
  • 고한종 . . . . 1 match
          * JAVA의 Swing으로 만든 시간표 대신 만들어주는 프로그램 (...) 사실 만들어 놓고 안쓴다. 2학년 말에 만들어 놓고 이번 학기(2013년 1학기)에 본인조차 안 쓴걸 보면 기획부터가 잘못된 물건. 일단 소개를 하자면, 수강신청 기간이 되면 포탈에 그 학기에 개강될 과목들을 정리해서 xls 파일로 올려줍니다. 이걸 받아서, poi 라는 JAVA 라이브러리? 에 넣고 돌리면 "[cell값]" 형식으로 String이 나옵니다. 그럼 이걸 stringTokenizer에 ]와 [를 토큰으로 해서 잘게 쪼개줍니다. (애초에 그런거 없이 CSV로 나오면 최고겠지만.. 할줄 모름 ㅠ). 사실 그냥 엑셀에서 CSV로 만들어 쓰면 되는 데, 그때 당시엔 사용 편의성을 도모한답시고 뻘짓 함. 어짜피 아무도 안 쓸텐데 ㅠㅠ 그렇게 얻어낸 과목의 시간정보를 ArrayList에 넣고, 그걸 가지고 backtraking인지.. 를 했던것 같음. 결국 속도는 처참했지만 -_-... 모든 결과가 나오는 것도 아님. 마지막으로 코드를 수정하고나서 테스트로 돌렸을때, 내가 실제로 수강신청했던 시간표는 나오지 않았음 ㅇㅈㄴ... - [고한종], 13년 3월 16일
  • 고한종/배열을이용한구구단과제 . . . . 1 match
          * 우연히 들어와서 봤는데 fflush()는 output stream에 사용하도록 만들어진 함수고, fflush(stdin)은 MS의 컴파일러에서만 지원하는 거라서 linux쪽에서는 작동하지 않는다고 하니까 그것도 알아두는 것이 좋지 싶어요. - [서민관]
  • 고한종/십자가돌리기 . . . . 1 match
         이거슨 릴리즈 파일
  • 구글을지탱하는기술 . . . . 1 match
          * [GFS(Google File System)] : 구글 분산 파일 시스템
  • 구조체 파일 입출력 . . . . 1 match
          //fread(&p, sizeof(Person), 1 , fpt); // (주소, 구조체 크기, 구조체 개수, 파일 )
  • 그래픽스세미나/5주차 . . . . 1 match
          PPT 파일: Upload:CGSeminar5.zip
  • 그래픽스세미나/6주차 . . . . 1 match
          PPT파일: Upload:CGseminar6.alz Upload:CGseminar6.a00
  • 김희성/MTFREADER . . . . 1 match
          void MakeTextFile(char* filename, long flag); //MFT 속성을 text 파일로 저장.
  • 노스모크모인모인 . . . . 1 match
          * python의 코딩상 문제점을 찾는다. 최소한 모든 파일 unix newline 으로 변경
  • 데블스캠프2004/금요일 . . . . 1 match
         ===== 컴파일 및 실행 =====
  • 데블스캠프2005/게임만들기/제작과정예제 . . . . 1 match
         예제) 일자모양을 배열으로 표시하는 방법. 소스가 길어지므로, 헤더파일에 넣기를 권장한다.
  • 데블스캠프2005/보안 . . . . 1 match
         == 실습에 필요한 파일들 ==
  • 데블스캠프2006/월요일/연습문제 . . . . 1 match
         DeleteMe) 함수 파일다운은 [데블스캠프2006/월요일] 로 이동시켰습니다.
  • 데블스캠프2008/등자사용법 . . . . 1 match
         PPT도 올리려고 했는데 생각해보니 리눅스 오픈오피스 파일이라서;;
  • 데블스캠프2009/금요일후기 . . . . 1 match
          * '''서민관''' - 참. 무시무시한 수업이었습니다. 여러가지 의미로. 실력도 물론 무시무시하셨지만, 그것보다 우리가 평소 아무렇지 않게 사용하던 사이트들이 그렇게 보안에 취약한지는 처음 알았네요. 아무렇지 않아 보이는 이미지 파일이 쿠키를 뽑아내는 모습은 참 기가 막혔습니다. 덕분에 Javascript의 강력함도 같이 느낄 수 있었네요. 이번 방학에 팀 프로젝트를 하신다고 하던데 되도록이면 같이 참가해서 뭐라도 좀 배워보고 싶습니다.
  • 데블스캠프2009/화요일후기 . . . . 1 match
          * [송지원] - 디폴트 코드와 거의 비슷하게 짰던 환이가 의외로 좋은 성적을 거두어서 뿌듯했지만 페어 프로그래밍에선 전혀 도움이 안됐던게 미안했다. 넷북에서 로보코드가 라이브러리 문제로 컴파일 에러가 나는건 기분이 나빴다.
  • 데블스캠프2010/다섯째날/후기 . . . . 1 match
          * 소스를 .cpp로 만들어 보고, class가 뭔지도 맛보고, 헤더파일도 만들어 보고, 코드를 최적화(?) 하는 것도 해봤습니다. 지금까지 전
  • 데블스캠프2010/셋째날/후기 . . . . 1 match
          * 예전에 디어셈블러보고 잔뜩 쫄았었는데... 근데 역시 어렵군요 허허 -_- ㅋㅋ 디컴파일러를 깔았다면 더 신기했을텐데 아쉽네요 ㅎㅎ 무튼 신기했습니다!! -[김상호]
  • 데블스캠프2010/첫째날/오프닝 . . . . 1 match
          5. 텍스트파일 다운로드 해보기~
  • 데블스캠프2010/회의록 . . . . 1 match
          * 컴파일러의 차이를 고려하지 못해 수업 준비가 덜 됨.
  • 데블스캠프2011/둘째날/Scratch . . . . 1 match
          * [http://nforge.zeropage.org/scm/viewvc.php/Scratch/Enoch.sb?root=devilscamp2011&view=log 파일 다운]
  • 데블스캠프2011/첫째날/오프닝 . . . . 1 match
          5. 텍스트 파일을 다운로드 해봅시다.
  • 데블스캠프2012/셋째날/코드 . . . . 1 match
          * 웹서버에 실습파일을 만든다 -> 네이버 개발자센터 -> MapAPI를 사용해본다. -> N으로 시작하는 라이브러리 사용하면서 화냄 -> Mark위에 이벤트 출력까지 하고 끝.
  • 데블스캠프2013/첫째날/후기 . . . . 1 match
          * 상당히 신기한 느낌은 있었는데 이걸 어떻게 쓰면 잘 쓸 수 있을지는 경험이 별로 없어서 그런지 확 와 닿지는 않았다는 게 좀 아쉬웠다. 일단 봉규가 말한 대로 네트워크쪽 알고리즘 등의 시뮬레이션에는 쓸 수 있을텐데 음... 시뮬레이션 코드도 C++로 그냥 절차적으로 작성하는 걸로 간단하게 작성 가능하고 pcap 파일로 뽑을 수 있다는 것도 무척 매력적이다. 분명 업계 사람들한테는 상당히 귀중한 툴이 아닐까. - [서민관]
  • 땅콩이보육프로젝트2005/개발일지 . . . . 1 match
          * 폐기된 사항 : 영어단어, msn 말하기, 목적의식 부양, 호감도 설정, 자신의 감정상태, 학습능력, 말투, 바탕화면 도우미, 파일실행, 가사출력, 음성인식, 텍스트게임, 텍스트 읽기, 주소록, 일기, 시간, 알람, 메모, 혼잣말하기
  • 레밍즈프로젝트 . . . . 1 match
         파일 저장 읽기 관련인데-
  • 레밍즈프로젝트/일정 . . . . 1 match
         || 11/30 || 레밍 윈도우 테스트, 맵 에디터 파일스트림 ||
  • 로고캐릭터공모 . . . . 1 match
          * 제출시 기재 사항 : 작품(일러스트레이터파일 권장), email주소, 계좌번호, 수신가능전화번호
  • 로마숫자바꾸기/조현태 . . . . 1 match
          * 왜 항상 너 코드 돌려 보려면 컴파일 에러나는지 모르겠다 ㅠㅠ
  • 몸짱프로젝트/CrossReference . . . . 1 match
         //ofstream fout("result.txt", ios::app); // result.txt 라는 파일에 출력하는 경우
  • 문자반대출력/임인택 . . . . 1 match
         문제에서 제공하는 파일입, 출력은 제공안함..
  • 문자열검색 . . . . 1 match
          * 출력은 파일 (result.out)로 받는다.
  • 문자열연결 . . . . 1 match
          * 출력은 파일 (result.out)로 받는다.
  • 비밀키/조재화 . . . . 1 match
          array[i]=fin.get(); // cin으로 화면에서 입력받는다면, fin은 연결된 파일로부터 입력받는다.
  • 사랑방 . . . . 1 match
          감사합니다.. zero-width positive lookahead assertion이 있었네요. (컴파일러시간에 배웠던거 다 잊어버렸어요 T_T).
  • 상협/2DAlca . . . . 1 match
         || 10.27 ||벽돌 만듬, 벽돌과 공 충돌 처리함, 여러번 맞아야 깨지는 벽돌 만듬, 스테이지 파일에서 읽어오게 만듬, 스테이지 1~5판 만듬, 스펙에 있는 기본기능 모두 만족하게 자잘한 기능 넣음|| 4시간 12분 ||
  • 상협/Diary/8월 . . . . 1 match
         || ["3DGraphicsFoundation"] || 3D MAX ASE 파일 OpenGL에서 읽기 || 2% || 흑... -_-;;||
  • 상협/프로젝트관련 . . . . 1 match
          * 여기서는 스테이지를 txt파일로부터 읽어 오는 부분을 연습해봤다. 그리고 멀티미디어 타이머와 더블 버퍼링을 배웠다. 이것도 마찬가지로 가볍게 숙제로 한 프로젝트이다.
  • 새싹교실/2011/무전취식/레벨2 . . . . 1 match
          * 입출력 실습
  • 새싹교실/2011/무전취식/레벨3 . . . . 1 match
         정진경 : 4월 기숙사 식권이 들어와서 아침을 드디어 먹을수 있게 됬음. 그리고 MT못갔는데 집에가서 엄마랑 쇼핑해서 옷삼(자랑질) 멘토 하는거 없슴=ㅂ= 제길. 오늘 아침에 파일서버 한글이 깨져서 고치다가 서버가 다 날아감. 내 소녀시대 600G ㅠㅠ (원석 : 난 1TB)
  • 새싹교실/2011/무전취식/레벨4 . . . . 1 match
         #include<math.h> //Rand를 가져오는 헤더파일
  • 새싹교실/2011/쉬운것같지만쉬운반/2011.3.23 . . . . 1 match
          3. .exe 파일 생성
  • 새싹교실/2011/쉬운것같지만쉬운반/2011.3.29 . . . . 1 match
          * 오늘은 표준 입출력 함수, 상수&변수의 의미와 각종 연산자들에 대해서 배웠다. 역시 배우면 배울수록 흥미롭다. 그런데 용운이는 다 알고있고 형준이는 안오고 뭔가 나만 배우고 있는 듯한 느낌이...... ㅜㅜ. 아무튼 지금은 무식해도 올해가 끝나갈 쯤엔 나도 C언어 마스터가 되야지. - 송치완
  • 새싹교실/2011/쉬운것같지만쉬운반/2011.5.17 . . . . 1 match
          6. (1)번과 (2)번의 출력 값을 쓰고, 컴파일 결과를 말하시오.
  • 새싹교실/2012/AClass/3회차 . . . . 1 match
         동적 할당에 가장 기번적으로 사용되는 것은 malloc함수이고, 이 함수를 사용하기 위해서는 "stdlib.h"헤더파일을 포함해야 한다
  • 새싹교실/2012/Dazed&Confused . . . . 1 match
          * define, rand, srand, 다양한 헤더파일을 처음 써 보았다. 내가 혼자서 다시 해 봐야겠다. 신기했다. 이렇게 다양한 함수를 알게 되어 좋았지만 조금 더 집중해야 할 것 같다. 이번 강의에서는 실습이 적었는데 실습과 직접 프로그래밍을 해 보는 시간을 가졌으면 좋겠다. - [박용진]
  • 새싹교실/2012/사과나무 . . . . 1 match
         키워드라던가, 변수, 변수형 이라던가, 입출력 함수가 왜 있는가 같은 얘기를 했고
  • 새싹교실/2012/새싹교실강사교육/1주차 . . . . 1 match
         3.2 Ubuntu ISO파일을 http://ftp.daum.net -> Ubuntu-releases -> 11.10 -> ubuntu-11.10-desktop-amd64.iso 다운
  • 새싹교실/2012/아무거나/3회차 . . . . 1 match
         자릿수들을 나누는 것. 그것들을 더하는 것,함수를 만들어서 쓰는 것, 실행의 결과를 다른 파일로 출력하는 것도 배웠는데 몇 시간 지나니까 또 까먹었다. 헐ㅋ. 난 금붕어인가보다. 운지↓↓
  • 새싹교실/2012/아우토반/뒷반/3.30 . . . . 1 match
         어디가 잘못되었는지 컴파일 오류가 계속 뜨는군요
  • 새싹교실/2012/아우토반/앞반/3.22 . . . . 1 match
         컴파일러란?
  • 새싹교실/2012/열반/120514 . . . . 1 match
          * 내용이 많아 주석을 많이 달지 못했습니다. 직접 컴파일하고 실행해보고, 궁금한 점은 질문하시기 바랍니다.
  • 새싹교실/2012/절반/중간고사전 . . . . 1 match
          * #include와 헤더파일에 관한 성질
  • 새싹교실/2012/주먹밥/이소라때리기게임 . . . . 1 match
         #include<math.h> //Rand를 가져오는 헤더파일
  • 새싹교실/2013/록구록구/2회차 . . . . 1 match
         wiki의 존재와 활용법, 자기페이지 만드는방법, scanf 입출력, #define을 배웠다.
  • 서버재조립토론 . . . . 1 match
         [정모]때 서버 재 조립에 대한 이야기가 나왔다는 이야기를 회장님을 통해 들었습니다. 일단 제가 회의에 참석하지 못하고 회의록이 올라온 것도 아니므로 어떻게 해서 서버 재조립 이야기가 나왔는지 알고 싶습니다. 일단 제 생각은 굉장히 부정적인데요. 서버가 하는 일이 거의 웹서버 내지는 소스 리파지터리로 사용되고, 대규모 소스를 컴파일한다거나 덩치가 큰 프로그램이 돌아가는것도 아니기 때문입니다. 게다가 동시접속 사용자수로 많지 않은걸로 알고있는데요. (물론 이런것들은 이제부터 하기 위해 하나 새로 맞춘다!! 면 할말 없지만..) 이 상황에서 굳이 새로 서버를 맞추는게 필요할지... [임인택]
  • 소수구하기 . . . . 1 match
         '''문제정의 1'''의 50000이하 소수를 구하는 소스중 남훈이의 소스에서 제곱근 연산을 넣고, 모든 인자를 static, 컴파일러 옵션을 최대로해서 돌렸다. 출력은 필요 없으므로, 시간과 갯수만 출력한다. (Duron 800 MS VS.NET 2003)
  • 수/숙제제출 . . . . 1 match
          * [수/학생성적입출력] ( 둘째주 4.11. ZeroPage 숙제 )
  • 스터디/Nand 2 Tetris . . . . 1 match
          Demux는 다 구현하고서 Mux 4way를 Demux 파일에 써버리는 바람에 날려버림 ㅡㅡ;
  • 신기호/중대생rpg(ver1.0) . . . . 1 match
          * 다음 버전에서는 몬스터 등을 아얘 따로 저장하는 파일을 만들어서 그걸 읽어들여서 몹들을 생성하게 해야겠습니다. 일일이 메인 cpp에서 만들려고 하니 한없이 코드 줄만 길어지네요. 그리고 프로그래밍 공부를 좀 더 해야겠다는 생각이 들었습니다 ㅋㅋ 분명히 저기서 제가 삽질을 한 부분이 있을거에요 ㅠㅠ 이제 버전 1.2에선 소켓프로그래밍을 이용해서 네트워크 대전을 넣을 예정입니다.- [신기호]
  • 실습 . . . . 1 match
         2. 컴파일러 세팅 (Compiler Setting)
  • 실시간멀티플레이어게임프로젝트/첫주차소스3 . . . . 1 match
         - 플레이어 정보 보내주기->현재 로그인 한 아이디(임시 파일에 저장)에 따른 정보를 넘겨줌
  • 안혁준 . . . . 1 match
          * 다운로드 파일 자동 분류 프로그램
  • 오목/민수민 . . . . 1 match
         ==== 실행파일 ====
  • 오목/재선,동일 . . . . 1 match
         ==== 실행파일 ====
  • 오목/진훈,원명 . . . . 1 match
         ==== 실행파일 ====
  • 위키QnA . . . . 1 match
         Q: Bioinformatics에 관한 프로젝트를 진행하려고 합니다. 소개와 내용의 재정리를 위해서는 많은 이미지 파일들을 위키에 올려야 될지도 모르겠는데, 위키에서의 이미지 사용은 그렇게 적절하지 않은 것 같습니다. 어떤 방식으로 이를 해결할 수 있을까요?
  • 위키기본css단장 . . . . 1 match
          * css는 오른쪽 위부분 자신의 아이디를 클릭하시면 (Alt+C,enter)css url란이 있는데 그곳에 원하는 css링크를 넣어보시면서 바꾸어볼 수 있습니다. 설명및 css파일들도 그 아래부분에 나와있습니다
  • 위키로프로젝트하기 . . . . 1 match
          * output 화일 링크걸기 - 다른 사람들이 직접 컴파일하거나 소스를 열어볼 수 있도록. 가급적이면 프로젝트 진행 초기버전부터 링크를 걸어주는 것이 좋다고 생각한다. (다른 사람들이 해당 사람의 사고 궤적을 볼 수 있다.)
  • 윈도우단축키 . . . . 1 match
          * F3, win + f - 파일 찾기 열기
  • 이규완 . . . . 1 match
         text 파일 두개 만들어서 그 중 한개에는 문자를 입력해~ㅋ
  • 이승한/PHP . . . . 1 match
         $is_connect = mysql_select_db("<DB파일 이름>", <mysql_connect의 리턴형 즉, DB접속정보>);
  • 이승한/tip . . . . 1 match
          pragma once 는 해당파일을 한번만 인클루드하게 하는것임 - [임인택]
  • 이승한/질문 . . . . 1 match
         아마 승한이가 원하는 답은 아니겠지만 한번 적어본다. 지금 함수에 전달하는 것은 인트형의 포인터이기 때문에 함수는 지금 받은 것이 숫자인지 배열인지 알 수 가 없지. 게다가 주소를 참조하게 되서 함수 안에서 그 값을 변경해주면 원본 값도 변하게 되고. 그래서 나는 함수 안에 멤버 변수를 만들어서 전달 값을 복사해서 쓰거든. 보통 전달인수를 받을 때 컴파일러에서 그 원본 값을 쓰지 않고 복사값을 사용하는 건 알지? 그 작업을 프로그래머가 해주는 것이지. 밑은 여태 말한대로 구현하고 간단하게 테스트한 소스야.
  • 이영호/끄적끄적 . . . . 1 match
         컴파일러도 없어서 메모장에서 작업하고...
  • 이영호/시스템프로그래밍과어셈블리어 . . . . 1 match
         몇몇 게임(카트라이더, 워록, 대항해시대 등등)의 프로그래머들이 Application 층만을 다룰줄 아는 무식한 프로그래머라는 것을 알았다. (특히, 워록의 프로그래머는 프로그래머라기 보다 코더에 가깝고 배운 것만 쓸 줄 아는 무식한 바보이다. 그 프로그래머는 개발자로서의 수명이 매우 짧을 것이다. 3년도 못가 짤리거나 혹은 워록이라는 게임이 사라질걸?) - (이 게임들은 코드를 숨기지 못하게 하는 방법도 모르는 모양이다. 이런식으로 게임들을 건들여 패치를 만들 수 있다. KartRider는 요즘에와서 debug를 불가능하게 해두고 실행 파일을 packing 한 모양이다. 뭐 그래도 많은 코드들을 따라가지 않고 ntdll.ZwTerminateProcess에 BreakPoint를 걸어 앞 함수를 건들이면 그만이지만.)
  • 임베디드방향과가능성/정보 . . . . 1 match
         (소수의 천재들... 프로그래밍 제네레이터 --... 저걸 만들려고 아이디어를 가지고 있었는데 같은 생각을 하는 사람이 있었네... -_- 컴파일러 이론은 너무 어렵지만... 가장 먼저 만들 수 있을까...)
  • 임인택/RealVNCPatcher . . . . 1 match
          * 한글화된 파일 복사
  • 임인택/코드 . . . . 1 match
          * 헤더파일 : windows.h, imm.h
  • 정규표현식/스터디/반복찾기/예제 . . . . 1 match
          * 내꺼 리눅스 /etc 파일 들임.
  • 정렬/Leonardong . . . . 1 match
          ifstream fin("unsortedData.txt"); //파일 이름이...삽질 1탄~!
  • 정렬/조재화 . . . . 1 match
          ifstream fin("UnsortedData.txt"); //txt파일에 저장된 것을 부름
  • 정모/2002.9.12 . . . . 1 match
          ====>> 파일 서버로의 사용을 자제(외부에서의 로딩을 자제). FTP 막음. SSH2 로만 접근 가능.
  • 정모/2003.3.5 . . . . 1 match
          * 제로페이지 웹 서비스 정도는 웹호스팅 서비스를 받는게 어떨까요. 이제 호스팅 서비스에 그리 큰 돈이 들지 않습니다. 365일 안정적인 서비스가 가능하며 수시로 자료를 백업해야하는 번거로움도 없습니다. 현 ZeroPageServer 는 실습용 서버및 파일 서버로 계속 사용할 수 있습니다. --["이덕준"]
  • 정모/2003.8.12 . . . . 1 match
          * 연락처 파일이 깨졌음. 어쩔 수 없이 방 먼저 잡기로 하였음. 15명정도 짜리의 방로 잡기로 하고 이번주 내로 답사가기로 했습니다.
  • 정모/2011.5.23 . . . . 1 match
          * 지난 정모때 사람이 많았어서 상대적 박탈감(?)이 느껴지는 정모였습니다. 기말이 다가오니 바쁘신지 안오신 분들도 많았고ㅜㅜ 내 OMS가 있던 날인데.. 흙흙 그래도 매번 참석하는 11이 있어 기특합니다. 사람은 빈곤했지만 내용은 학술적인 내용으로 풍요로웠네요. 세미나도 하고. 연구실에서 무슨일을 하고있는지 알수 있는 좋은 기회였습니다. 연구실도 트렌드를 따르는군요ㅋㅋ 친구추천이랑 약간 비슷한거 같아요. 나의 OMS 잘 들으셨는지ㅠㅠ 아 스크립트 소개를 위한 스크립트도 썼는데 눈이 침침해서 잘 안보여서 횡설수설했네.. 자료실에 ppt랑 스크립트 같이 올려뒀어요 비교해 보세요.. 컴파일 언어가 전부인줄 알았다면 다른 종류의 언어도 익혀보세요! 전 루비와 얼랭을 해볼 생각입니다ㅋㅋ 구루가 되어보아요:> - [서지혜]
  • 정모/2011.7.18 . . . . 1 match
          * 파일 비교 프로그램을 두주간 구현하는 것이 목표.
  • 정모/2012.12.10 . . . . 1 match
          * 인간 컴파일
  • 정모/2012.8.8 . . . . 1 match
         E-Book의 경우, ZP명의로 구입하고, pdf파일은 모두 공유가능..
  • 정모/2013.3.25 . . . . 1 match
          * [김홍기] 학우의 문서 내용으로 파일 찾는 프로그램 소개.
  • 정수민 . . . . 1 match
         || Upload:그림파일.jpg ||
  • 중위수구하기/조현태 . . . . 1 match
          └ㅎㅎㅎ 어짜피 컴파일하고나면 똑같게 되니까 나아보이기는 한데..^^
  • 진격의안드로이드&Java . . . . 1 match
         // notepad++ 에서 UTF8(BOM 없음) 선택후 다음과 같이 cmd에서 컴파일
  • 캠이랑놀자/아영/숙제1 . . . . 1 match
         #제가 받은 파일은 512 size더라구요.
  • 코바용어정리 . . . . 1 match
         동적 스켈레톤 인터페이스는 IDL에 기초하지 않는 스켈레톤/스텁을 가진 객체의 메소드 호출을 처리해야 하는 서버에 대해 런타임 바인딩 메커니즘을 제공한다. 동적 스켈레톤은 수신된 메시지의 파라미터값을 참조하여 어떤 객체가 호출되었는지 어떤 메소드가 호출되었는지를 알게 된다. 이것은 일반적으로 컴파일된 스켈레톤을 사용하는 것과는 비교되는데 이러한 스켈레톤에서는 메소드의 구현이 IDL로 정의된다. 구현 코드는 모든 오퍼레이션 파라미터에 대한 상세한 설명을 ORB에 제공해야 하며, ORB는 오퍼레이션을 수행할 때 사용되는 입력 파라미터값을 제공한다. 오퍼레이션이 수행된 후, 구현 코드는 출력 파라미터 또는 익셉션을 ORB에게 넘겨준다. 동적 스켈레톤 인터페이스의 특성은 프로그래밍 언어 맵핑에 따라 또는 객체 어댑터에 따라 실질적으로 달라질 수 있지만, 일반적으로는 업콜 인터페이스이다. 동적 스켈레톤은 클라이언트 스텁 또는 DII를 통해서 호출될 수 있다. 이 두 가지 방식의 클라이너트 리퀘스트 생성 인터페이스는 동일한 결과를 제공한다.
  • 토비의스프링3/오브젝트와의존관계 . . . . 1 match
          * 스프링에서는 DI의존관계를 만들 때 직접적으로 코드를 수정하는 것 외에도 다양한 방식을 제공하고 있다. XML은 단순한 텍스트 파일이기 때문에 다루기 쉽고 추가적인 빌드작업이 필요하지 않다.
  • 튜터링/2011/어셈블리언어 . . . . 1 match
          * object 파일
  • 튜터링/2013/Assembly . . . . 1 match
          * 어셈블리언어의 기본문법을 보고, 어떤 프로그램이든 컴파일시키고 실행시켜보자.
  • 파이썬->exe . . . . 1 match
         주제 : win32com 을 이용한 파이썬 프로그램 py2exe로 실행파일 만들기
  • 프로그래밍잔치/첫째날후기 . . . . 1 match
          -- 어느정도 Python 을 익숙하게 써본 뒤, Python 이전에 썼던 언어들과 비교해보면 각 언어들을 더 잘 비교해볼 수 있지 않을까 생각해. 요새 자바프로그래밍을 주로 하면서 느꼈던건, '만일 자바가 인터프리터 쉘에서 실행되는 언어라면, 나의 프로그래밍 작업 방식은 어떻게 바뀔까?' 하는것. ["Python"], ["Jython"] 을 꾸준히 쓰면서, 컴파일언어에서 느끼지 못한 재미를 (즉각적으로 결과 반응이 올때 특히!) 느껴서..~ --["1002"]
  • 하드웨어에따른프로그램의속도차이해결 . . . . 1 match
          * 허허.. 인스톨 과정에 재컴파일을 넣으면 되지 않을까 ;; 소스배포! 그것이야말로 남자(?)의 로망.. --["zennith"]
  • 한자공/시즌1 . . . . 1 match
          * 메모장에서 *.txt 파일을 만들 때에도 UTF-8로 저장을 해야 github에서 깨지지 않음.
  • 현재 위키에 어떤 습관이 생기고 있는걸까? . . . . 1 match
          * 개인위키를 돌려본 결과... 한글제목 페이지는 좀... 안좋더군요. 일일히 Delete하기 귀찮아서 한번에 필요한것만 지울라 했더니, 한글 페이지 제목은 파일명이 알파벳과 숫자의 조합으로 알아볼수 없는 문자로 되어 있더군요. 역시 '영어제목만 만들자'가 저를 강력히 꼬시는군요.--; --[인수]
  • 호너의법칙/김정현 . . . . 1 match
         으헉 이거 파일로 저장해야되는거? [김정현]
  • 호너의법칙/김태훈zyint . . . . 1 match
          //파일 출력
  • 황재선 . . . . 1 match
          * 선배~ 한글파일 jpg 뜨게 하려면 어떻게 한뎃죠? 가르쳐 주세요! - [허아영]
Found 752 matching pages out of 7555 total pages (5000 pages are searched)

You can also click here to search title.

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:31:24
Processing time 0.5231 sec