플랫폼 64비트 OS가 32비트 OS보다 우수하 다고 생각해서는 안 된다 056 Intel 64(EM64T)나 AMD 64와 같은 64비트 아키텍처를 채택한 CPU가 보급 되자, 윈도우즈나 리눅스에서도 64비트가 이용되는 경우가 많아졌다. 지금 까지 주류였던 32비트

Size: px
Start display at page:

Download "플랫폼 64비트 OS가 32비트 OS보다 우수하 다고 생각해서는 안 된다 056 Intel 64(EM64T)나 AMD 64와 같은 64비트 아키텍처를 채택한 CPU가 보급 되자, 윈도우즈나 리눅스에서도 64비트가 이용되는 경우가 많아졌다. 지금 까지 주류였던 32비트 "

Transcription

1 3장 구축 및 테스트 Tim O Reilly가 말하는 웹2.0에 대해서도 마찬가지입니다. Tim O Reilly는 웹 진화 과정을 개념적으로 명확히 함으로써 웹 진화를 촉진시켰습니다. 웹2.0이 란 말이 널리 퍼지기 시작하면서 웹이나 업계 전체가 활기차게 된 것은 틀림 없습니다. 웹2.0이 해 준 역할이 상당히 큽니다. 타인에게 설명하기는 어렵지만, 커뮤니케이션을 하기 위해 필요한 개념에 대 해 이름을 붙입니다. 그렇게 함으로써 커뮤니케이션이 원활하게 되고, 막연하 기만 했던 개념이 인식되는 형태 가 되어 보급됩니다. IT 아키텍트라는 말도 아작스나 웹2.0처럼 시스템 개발을 원활하게 하고, IT의 질을 향상시키기 위한 요소로서 필요한 개념입니다.

2 플랫폼 64비트 OS가 32비트 OS보다 우수하 다고 생각해서는 안 된다 056 Intel 64(EM64T)나 AMD 64와 같은 64비트 아키텍처를 채택한 CPU가 보급 되자, 윈도우즈나 리눅스에서도 64비트가 이용되는 경우가 많아졌다. 지금 까지 주류였던 32비트 아키텍처와 비교해 보면, 한 번에 연산할 수 있는 비 트 수가 증가되어 성능을 올릴 수 있기 때문에, 64비트 OS를 사용하고 있는 것 같다. 사실, 동작하는 어플리케이션이 32비트임에도 불구하고 64비트 OS 를 채택하는 경우를 본 적이 있다. CPU가 64비트 아키텍처니까 64비트 OS 를 선택하는 것이 베스트라고 단순하게 생각해서는 안 된다. 32비트 바이너리를 64비트 OS에서 동작시켜도 그다지 혜택은 없다 OS는 구축하고자 하는 서버의 하드웨어 스펙과 동작하는 소프트웨어의 특성 을 보고 선택해야 하며, 64비트 OS를 고집할 필요는 없다. Intel 64나 AMD 64는 64비트 모드이지만, 32비트 명령세트로도 처리 성능을 떨어뜨리지 않 고 실행할 수 있는 모드가 하드웨어 레벨에서 준비되어 있다. 그래서 32비트 OS도 64비트 OS도 동작할 수 있다. 또, 64비트 OS에서 32비트 어플리케이 션을 동작시킬 수도 있지만, 32비트 어플리케이션은 OS가 64비트여도 64비 트 모드의 혜택은 받을 수 없다. 튜닝은 현상이 나타내는 메시지를 주의 깊게 파악하여 그 근본 원인을 해결하는 작업이라 고 할 수 있다. 절대 단순히 현상 하나만 파악하여 일시적으로 부분적인 결론을 도출해서 는 안 된다. 078 현상만 보고 튜닝을 서둘러서는 안 된다 64비트 모드는 레지스터를 이용하여 어플리케이션을 고속화할 수 있다. 단, 64비트 어플리케이션으로 컴파일이 되어 있어야 한다. 기존의 32비트 바이 너리를 이용하는 어플리케이션은 64비트 OS에서 동작시켜 보았자 혜택은 3장 _ 구축 및 테스트 191

3 없다. 어플리케이션에 따라서는 64비트 OS에서 제대로 동작되지 않은 경우 도 있다. 프로그램 사이즈가 커진다 32비트 OS와 64비트 OS를 메모리 이용 관점에서 비교해 보자(그림 3-1). 그림 3-1 OS와 어플리케이션의 선택 64비트 OS를 이용하는 가장 큰 장점은 메모리 제약을 받지 않는다는 점이 다. 32비트 OS에서는 일반적으로 4GB(기가 바이트)까지의 물리 메모리밖에 취급할 수가 없다(32비트로 지정할 수 있는 메모리 주소가 2의 32승 = 4GB 이므로). 한편, 64비트 OS의 경우는 논리적으로 약 1678만 TB(테라 바이트) 의 메모리 공간을 사용할 수 있다. 실제 하드웨어 제약상 이보다는 훨씬 작 은 사이즈지만, 그렇다고 해도 TB(테라 바이트) 사이즈의 메모리를 이용할 수 있다. 가상 기억의 메모리 주소는 가상 주소로 관리된다. 32비트 OS에서는 가상 메모리의 주소도 32비트로 제한된다(32비트 윈도우즈의 경우 절반을 OS에 할당하기 때문에, 어플리케이션은 2GB밖에 이용할 수 없다). 64비트 OS에 서는 이 제약이 해소된다. 지금까지의 설명으로는, 64비트 OS를 이용하는 편이 좋다고 생각될지도 모 른다. 다만, 문제는 메모리의 데이터 양이다. 64비트 어플리케이션을 실행 시키면 주소를 보관하기 위한 포인터의 사이즈가 두 배가 되고, CPU의 명령 코드 사이즈도 커진다. 그래서, 프로그램의 바이너리 사이즈가 커진다. 프로그램을 실행할 때 바이너리를 메모리에 전개하는 경우도 32비트보다 많 은 용량이 필요하고, 캐시의 히트율도 떨어진다. RDBMS와 같이, 취급하는 데이터 사이즈가 큰 어플리케이션은 32비트 어플 리케이션보다 64비트 어플리케이션이 데이터 파일(보존용)의 사이즈가 커진 다는 것도 주의할 점이다. 조작해야 할 파일이 크기 때문에, 파일에서 데이 터를 검색할 때 성능이 좋지 않다. 어플리케이션이 이용하는 메모리의 최대 용량이 32비트 OS의 가상 메모리 가 이용할 수 있는 최대 사이즈를 넘지 않으면, 32비트 OS에서 32비트 어플 리케이션을 이용하는 편이 처리 성능을 높일 수 있다. 64비트 OS에 집착할 필요는 없다. 더욱 더 중요한 것은, 하나의 프로세스가 취급할 수 있는 메모리 공간의 사 이즈다. OS는 실제 탑재되어 있는 물리 메모리보다 많은 메모리 공간을 논 리적으로 이용할 수 있도록 가상 기억 구조를 갖고 있다 장 _ 구축 및 테스트 193

4 소스코드 기호 링크를 조심성 없이 이용해서는 안 된다 057 복사(copy)와 이동(move)에 따라 생성되는 파일이 다르다 기호 링크는 데이터와는 무관하게 파일의 외형만 링크되기 때문에 프로그램 에서 링크된 파일명을 지정하게 되면 원본 파일과 똑같이 취급할 수 있다. 그러나, 링크된 파일명 자체를 이용하여 처리할 경우에는 원본 파일처럼 사 용하면 문제가 발생하므로 주의가 필요하다. 1 다시 말하면, 파일의 이동(mv), 복사(cp) 등의 조작이나 파일의 아카이브 시스템에 산재한 설정 파일을 한 곳에 모아 관리 효율을 높이고 싶을 때가 있 다. 유닉스계 OS에는 파일을 닉네임으로 참조하는 기호 링크 기능이 있어, 이것을 이용하여 관리 효율을 높일 수 있다. 링크할 실제 파일과 기호 링크는 동등하게 취급되므로, 어느 쪽으로 링크해 도 괜찮다고 생각할지도 모른다. 그러나, 그렇지 않다. (tar) 처리 등이다. 링크에는 하드 링크와 기호 링크가 있다. 유닉스계 OS의 파일시스템은 하나 의 파일에 여러 개의 파일명을 붙일 수 있다. 즉, 하나의 파일에 여러 개의 이름을 붙이는 처리가 하드 링크다. 하드 링크의 경우 여러 개의 파일명의 내용이 모두 똑같다. 이에 반해 기호 링크는 닉네임을 붙이는 것에 해당하며, 기호 링크를 하게 되면 파일의 외형만 링크되고, 링크된 파일명과 파일이 존재한 패스가 보관 된다. 즉, 보관된 파일명과 패스 정보를 기반으로 링크를 한다. 2개의 파일명으로 동일한 파일에 접근해야 할 경우에는 하드 링크를 이용하 그림 3-2 cp커맨드와 mv커맨드의 차이 는 편이 좋다. 다만, 하드 링크는 디바이스나 파티션이 다르면 링크할 수 없 다. 또, 대부분의 파일시스템이 디렉토리 하드 링크를 쉽게 작성할 수 없다. 그래서 기호 링크가 많이 사용된다. 1 파일을 저장하면 하드디스크의 어딘가에 저장한 파일의 내용이 기록된다. 그리고 하드디스크에 기록된 정보를 헤더에 저장한다. 즉, 헤더에 있는 위치 정보만을 갖고 있기 때문에 파일을 호출하면 호출한 파일이 갖고 있는 위치 정보를 이용하여 하드에서 내용을 찾아 사용하게 된다. 하드 링크는 이 위치 정보를 갖고 있는 이름을 여러 개 생성한다고 생각하면 된다. 그래서 하나를 지우더라도 하드에서 내용을 찾아 갈 수 있다. 하지만 기호 링크는 위치 정보를 갖고 있는 파일명을 또 한번 다른 이름으로 연결시키고 있기 때문에 원본 파일을 삭제하면 기호 링크 파일들은 위치 정보가 없어져서 무용지물이 된다 장 _ 구축 및 테스트 195

5 원본 파일로 기호 링크 파일을 덮어 썼을 경우 복사 커맨드(cp)와 이동 커맨 드(mv)의 결과는 다르다. 그림 3-2처럼 커맨드를 실행하면 cp 커맨드는 참 조할 원본 파일이 갱신되는데 반해, mv 커맨드는 기호 링크에 덮어 써진다. 기호 링크는 읽기 전용으로 사용한다 커맨드 실행 결과의 차이를 의식하지 않기 위해서는 기호 링크는 읽기 전용 으로만 사용하고, 변경이 필요하면 원본 파일을 변경한다는 방침을 세워야 한다. xxx app1 여러 디렉토리에 산재되어 있는 설정 파일을 효율적으로 갱신하기 위해, 하 나의 디렉토리 안에 모아 놓는다(그림 3-3). 기호 링크를 이용한 파일 조작 은 피한다는 방침에 따라 편집을 하기 위해 설정 파일을 모아 놓은 디렉토리 (그림 3-3에서는 ext )에 원본 파일을 넣고, 원본 파일에 기호 링크를 한다. 이렇게 하면, 설정 파일을 모아 놓은 디렉토리 안에 원본 파일들이 모이기 때문에 파일 조작은 신경 쓰지 않아도 된다. 또 한 가지, 기호 링크를 이용하는 데 있어 주의해야 할 점은 기호 링크의 지 연 평가 1 성질이다. 기호 링크를 작성한 시점에 링크한 파일이 존재했다고, 그 파일이 계속 존재한다고는 할 수 없다. 파일이 삭제되어, 이른바 링크가 끊어진 상태가 될 수 있다. 즉, 파일이 존재해도 다른 실체의 파일일지도 모 른다. lib product etc a.conf - /xxx/etc/a.conf app2 b.conf - /xxx/etc/b.conf etc file1.conf - /xxx/etc/a.conf ext 설정 파일을 모아놓은 디렉토리 a.conf b.conf 설정을 변경할 때 편집 대상은 항상 원본 파일 file1.conf 그림 3-3 기호 링크를 이용한 설정 파일 1 지연평가: lazy evaluation으로 진짜 필요해 질 때까지 미루는 것 196 3장 _ 구축 및 테스트 197

6 소스코드 여러 가지의 OS를 이용할 때는 개행 코드를 무시해서는 안 된다 058 유닉스계의 OS로 구축된 시스템은 주로 여러 종류의 OS를 사용한다. 서비 스를 제공하는 서버가 유닉스계 OS로 통일되어 있어도, 관리용 단말이나 개 발용 단말 OS는 윈도우즈가 많다. 다른 종류의 OS로 작업할 때 조심해야 할 것 중의 하나가, OS간의 개행 코드의 차이다. 개행 코드는 유닉스계 OS에 서는 LF, 윈도우즈에서는 CR+LF 다(CR: Carriage Return(0x0A), LF: Line Feed(0x0D)). 단말과 단말 사이에 파일을 전송할 때 쉘 스크립트나 펄 스크립트를 텍스트 파일 그대로 전송하고 있을 것이다. 그러나, 스크립트는 가독성이 있는 텍스 트 형식으로 기재되기는 하지만, 프로그램이 번역되어 실행되기 때문에 개행 코드가 다르면 실행되지 않는 것이 있다. 그림 3-4 전송 모드의 설정 오류 파일 전송은 전송용 프로토콜인 FTP나 SCP를 주로 이용하지만, 이러한 프 로토콜에 대응한 클라이언트 툴의 대부분은 ASCII 전송 모드 와 바이너리 전송 모드 이 두 종류의 전송 방식을 제공한다. 윈도우즈에서 동작하는 클라이언트는 파일 확장자에 따라 모드를 바꿔서 구 축해야 하는 경우가 많기 때문에 주의해야 한다. README.txt 라는 파일은 개행 코드가 변환되어 전송되고, README 파일은 변환되지 않고 전송된 적이 있었다. README 파일처럼 텍스트 파일 이라면 그렇게 심각할 정도는 아니지만, 스크립트 파일의 경우는 개행 코드 가 다르면 실행할 수 없는 사태가 발생한다. 확장자에 따라 전송 모드를 변경한다 파일 전송 툴 안에는 텍스트 형식 파일의 개행 코드를 자동으로 번역하는 기 능을 갖고 있기 때문에, 텍스트 파일을 그대로 전송하려면 주의가 필요하다. 실제로, 개발 환경의 유닉스계 OS머신에서 작성하고 시험까지 통과했는데 도, 윈도우즈 경유로 실제 환경에 전송하여 동작을 확인하려고 하자 개행 코 드가 바뀌어서 실행할 수가 없었다(그림 3-4). FTP나 SCP의 ASCII 전송 모드로 파일을 전송했을 때는, 전송 후에 파일의 개행 코드가 의도한 대로 되어 있는지 항상 확인해야 한다. 개행 코드의 영향을 받지 않는 전자 메일 전자 메일에 첨부해서 서로 다른 OS간에 파일을 송수신할 경우, 기본적으로 첨부 파일은 바이너리 형식으로 송부되고 OS의 개행 코드의 영향은 받지 않 는다. 메일의 첨부 파일은 메일 전송 프로토콜 SMTP 로 첨부 파일을 취급하기 위해, 확장 규격인 MIME으로 전송되기 때문이다 장 _ 구축 및 테스트 199

7 SMTP에서는 기본적으로 7비트 이하의 코드만을 취급하는 제약이 있기 때문 에, MIME 인코드로 바이너리 파일을 일단 7비트 이내의 ASCII 코드로 변 경해서 송부한다. 수신 측은 송부된 내용을 디코드해서 바이너리 데이터로 복원한다. MIME은 첨부 파일의 종류를 나타내기 위한 Content-Type에 텍스트 파일 임을 나타내는 text 를 지정할 수도 있지만, 메일러(이메일의 송수신 기능 을 수행하는 프로그램)로 Content-Type을 해석한다. 개행 코드를 변환하 는지 알 수는 없지만, 변환 처리가 생길 수도 있으므로 전혀 없다고 단언할 수 없다. 이와 같이 전송에 이용하는 툴로 인해 개행 코드가 변경되는 위험이 존재한 다. 개행 코드가 변경되는 위험을 회피하기 위해 파일을 작성한 기기에서 tar 나 zip 커맨드로 전송 대상 파일을 압축하여 바이너리 파일로 전송하고, 전송 대상 기기에서 해제하는 것을 룰로 정하면 개행 코드까지 확실하게 전해 줄 수 있게 된다. 하여 송신 측에서 변환할지, 수신 측에서 변환할지 정해 두어야 한다. 로그 출력은 바이트 코드를 많이 사용하지 않고, ASCII 코드만으로 설계하는 것 도 좋은 방법이다. 소스코드는 형상관리 소프트웨어로 관리할 때 문제가 생기기 쉽다. 개발 기 기의 OS 종별에 따라 문자 코드가 다른 상태로 저장되는 사태는 가능한 피 해야 한다. 통합 개발 환경에 따라서는 저장 장소에서 소스코드를 취득한 시 점에 자동적으로 문자 코드나 개행 코드가 환경에 맞춰 변경될 때가 있다. 자동으로 변환되고 있는 것도 모르고, 변환된 채로 저장해 버리면 통합 개발 환경 이외에서는 빌드할 수 없는 사태가 발생할 수도 있기 때문에 특히 주의 가 필요하다. 로그 파일이나 소스코드에도 요주의 여러 종류의 OS가 혼재하는 시스템을 개발할 때는 문자 코드도 주의해야 한 다. UI는 물론이고 네트워크로 교환하는 데이터 내용까지, 데이터베이스를 설계할 때는 문자 코드가 가장 신경이 쓰이는 부분이다. 반면, 로그나 소스코드의 설계는 소홀해지기 십상이다. 프로그램의 보수성 측면에서 로그나 소스코드도 명확하게 규정해야 한다. 로그를 출력할 때 로컬의 로그 파일에는 OS 내에서 사용할 수 있는 문자 코 드로 출력하기 때문에 그다지 문제가 되지 않지만, 로그를 모아 놓는 서버의 경우에는 문제가 된다. 로그를 송신한 곳, 혹은 로그 서버를 수신한 곳에서 문자 코드의 변환 처리가 필요하기 때문에, 대응하고 있는 문자 코드를 조사 200 3장 _ 구축 및 테스트 201

8 소스코드 정의된 것 이외의 것을 가볍게 보아서는 안 된다 상세 설계나 프로그램 개발에 정의되어 있지 않은 미지 상태 에 대해 사전 에 고려를 해 놓으면, 트러블 발생을 미리 막을 수 있다. 설계나 구축 시점에 서는 있을 수 없는 일일지도 모르나, 횟수를 거듭할 수록 상황이 바뀌어 일 어날 수 있기 때문이다. 미리 정의를 해 두는 것이 중요하다. 059 예를 들면, 메소드나 함수의 파라미터는 state 변수고, 외부에서 100이나 200 이외의 상태, 예를 들어 state에 500이 지정되면 state가 200일 때 처리되어야 할 Y처리를 하게 되어 테이블 B가 갱신되게 된다. 또, 300이 추가되면 Z처리(테이블 C의 갱신)를 한다 는 사양 추가가 생겼다 고 하자. 이 때 다른 소스 코드는 전부 수정했는데, 리스트 3-1만 수정하는 것을 깜박 잊었다면 300에서도 Y처리를 하게 되어 테이블 B가 잘못 갱신되 게 된다. 리스트 3-1 state가 100, 200 이외를 고려하지 않는 구축의 예 if( state == 100 ){ // state 가 100 의 경우 X 처리 ( 테이블 A 의 갱신 처리 ) else{ // 그 이외의 경우 Y 처리 ( 테이블 B 의 갱신 처리 ) 미지 상태를 고려하지 않아 오류가 발생 미지 상태란 요구 사양에 기록되지 않은 상태를 말한다. 예를 들면, 다음의 요구 사양이 있었다고 하자. 상태 state 가 100이면 X처리(테이블 A의 갱신)를 하고, 200이면 Y처리(테이블 B의 갱신)를 한다. 이 요구 사양에는 상태가 100도 200도 아닌 그 이외의 경우에 대해서는 어떻 게 취급해야 할 지 기록되지 않았다. 설계자나 프로그래머가 이 요구 사양을 100과 200 이외의 상태는 고려하지 않아도 된다 라고 생각했다면 리스트 3-1과 같이 구축했을 것이다. 리스트 3-1은 100 이외는 모두 200으로 간주한 것이다. 요구 사양을 만족하 고는 있지만, 100이나 200 이외의 상태에 대해서는 고려하고 있지 않기 때문 에, 다음과 같은 트러블이 발생할 가능성이 높다. 이렇게, 누락이나 오류에 의한 버그는 생각 외로 많다. 그리고 이러한 버그 는 늦게 발견될 가능성이 높기 때문에, 설계자나 프로그래머는 정의되지 않 은 것까지도 빠트리지 않도록 주의해야 한다. 설계자는 정의되지 않은 것에 대해 어떻게 처리해야 할지 설계서에 명기해 주어야 한다. 그리고, 프로그래 머는 그 이외의 경우는? 이라고 하는 의문을 갖고 구축하는 습관이 필요하 다. 정의되지 않은 상태를 고려하여 구축했을 때는 리스트 3-2와 같다. 리스트 3-2 state가 100, 200 이외를 고려한 구축의 예 if( state == 100 ){ // state 가 100 의 경우 X 처리 else if( state == 200 ){ // state 가 200 의 경우 Y 처리 else { // 정의되지 않는 state 의 경우 에러 ( 예를 들면, 예외를 발생시킨다 ) 202 3장 _ 구축 및 테스트 203

9 소스코드 공개 기능 클래스의 인스턴스를 직접 생성해서는 안 된다 060 그리고 나서, 인터페이스 Supplier의 구축 클래스(SupplierA)의 인스턴스로 제공된 dosomething 메소드를 이용하고 있다(리스트 3-3 ). 그런데, 이 구축에는 아무런 문제가 없는 것처럼 보인다. 그러나, 새로운 SupplierB 클래스가 추가되어 인스턴스의 생성 대상 클래스가 SupplierA에 서 SupplierB로 무조건(혹은 특정 조건에서) 바뀐다면 어떻게 될까? SupplierA에서 SupplierB로 바뀐 경우는 의 부분을 다음과 같이 수정하게 일반적으로 자바로 클래스의 인스턴스를 생성하려면 리스트 3-3과 같이 구 축한다. 여기서 Supplier는 공개 기능을 제공하는 인터페이스이고, SupplierA는 구축할 클래스, User는 공개 기능 클래스를 이용하는 클래스다. User 클래스는 Supplier 인터페이스가 제공하는 공개 기능을 이용하기 위해 SupplierA에 new 연산자를 이용하여 인스턴스를 생성하고 있다(리스트 3-3 ). 리스트 3-3 인스턴스를 생성하는 자바 코드의 예 [Supplier.java] public interface Supplier { void dosomething(); [SupplierA.java] pulibc class SupplierA implements Supplier { public void dosomething(){ [User.java] public class User { private Supplier supplier; public void process(){ // SupplierA 의 인스턴스를 생성 Supplier supplier = new SupplierA(); // Supplier 의 dosomething 기능을 이용한다 supplier.dosomething(); 된다. // SupplierB 의 인스턴스를 생성 Supplier supplier = new SupplierB(); 일반적으로 공개된 공통 기능은 다양한 클래스에서 이용된다. 만약, Supplier 의 공통 기능을 이용하는 클래스가 User 이외에도 있었다고 하면, 그것들에 대해서도 똑같이 수정이 필요하다. 리스트 3-3에 나타낸 코드에서 문제점은, 공통 기능을 이용하는 User 클래 스가 직접 구축 클래스의 인스턴스를 생성하고 있는 점이다. User 클래스는 인터페이스 Supplier가 제공하는 공통 기능을 이용하고 싶은 것뿐이며, 인터 페이스 Supplier의 구축 클래스인 SupplierA나 SupplierB에 의존하고 싶지 않다. 공통 기능을 제공하는 측은 구축 클래스에 의존하지 않고 공통 기능을 이용할 수 있도록 배려해야 한다. Factory Method로 간접화한다 이 과제를 해결하려면 Factory Method라는 디자인 패턴을 이용하면 좋다. Factory Method란 오브젝트의 생성을 맡고 있는 메소드 factory method 를 이용 하여 간접적으로 오브젝트를 생성하는 방법을 말한다. 개별적으로 인스턴스 를 생성하지 말고 인터페이스를 이용하여 클래스의 인스턴스를 생성할 수 있 도록 메소드를 준비한다 장 _ 구축 및 테스트 205

10 리스트 3-4의 구축 예를 보자. SupplierFactory 클래스로 인스턴스를 생성하 는 클래스 메소드 createsupplier를 준비했다. User 클래스는 클래스의 인스 턴스를 직접 생성하는 것이 아니고 createsupplier를 이용하여 인스턴스를 생 성한다. 인스턴스의 생성을 SupplierFactory 클래스에 맡긴다는 얘기이다. 리스트 3-4 Factory Method의 구축 예 소스코드 거대한 정수 클래스를 만들어서는 안 된다 061 [SupplierFactory.java] public class SupplierFactory { public static Supplier createsupplier(){ // Supplier 의 구축 클래스의 인스턴스를 생성하여 돌려준다 [User.java] public class User { public void process(){ Supplier supplier = SupplierFactory.createSupplier(); supplier.dosomething(); 정수의 정의는 정수 클래스(정수 정의 클래스)에 모여 있다. 자바나 C++은 리스트 3-5와 같이 정수 클래스를 구축한다. 리스트 3-5 정수 클래스의 구축 예 Java 의 경우 public class Construct { public static final int MY_CODE = 100; C++ 의 경우 class Construct { public static const int MY_CODE = 100; 정수 클래스에 정수를 정의하려면, 정적 변수를 나타내는 static 수식자를 붙 이거나 final(c++의 경우는 const) 수식자로 고정 변수라고 정의한다. 정수 클래스에 대한 지침은 대부분 어플리케이션 개발 지침 등에 간결하게 기록되어 있다. 그런데, 대규모 프로젝트임에도 불구하고 역할이나 목적에 따른 정수 클래스에 대한 방침이 없을 때가 있다. 정수가 여기 저기 분산되 지 않도록 정수 전용 클래스를 준비한다는 식의 기록이 있으면, 하나의 정수 클래스에 모든 정수 정의가 집중되어 거대한 정수 클래스가 완성된다 장 _ 구축 및 테스트 207

11 일반적으로, 프로그래머가 필요로 하는 정수는 1개 내지 기껏해야 몇 개 정 도다. 프로그래머가 리스트 3-6과 같이 거대한 정수 클래스에서 필요한 정 수를 찾아야 한다고 상상해 보기 바란다. 리스트 3-6 거대한 정수 클래스의 예 Java 의 경우 public class Construct { /** 처리 결과 코드 : 대상 없음 */ public static final int NOT_FOUND = -1; /** 처리 결과 코드 : 정상 */ public static final int SUCCESS = 0; /** 응답 메시지 : 변경 없음 */ public static final String NOT_CNANGE = "Not change."; /** 응답 메시지 : 변경 있음 */ public static final String UPDATED = "Updated."; /** 처리 옵션 : 일반 */ public static final int NORMAL_OPT = 100; /** 처리 옵션 : 확장 */ public static final int SPECIAL_OPT = 101; ( 이하, 다양한 정수의 정의가 끝없이 계속된다 ) 프로그래머는 개발 지원 툴로 오로지 IDE(통합 개발 환경)를 이용하고 있다. IDE에는 프로그래밍을 효율적으로 할 수 있도록 코드 보조 기능(입력 보완 혹은 입력 후보를 제시하는 기능)을 갖추고 있다. 그런데, 정수 클래스가 거 대하다면 코드 보조 기능으로 많은 입력 후보들이 표시된다. 그 중에서 적절 한 정수를 선택하기란 너무 어렵고 작업 효율 또한 크게 떨어진다. 앞에서 말한 거대한 정수 클래스는 처리 결과 코드, 응답 메시지, 처리 옵션 등과 같이 분류하면 된다. 가령, 고객 구분 등 코드 분류마다 독립된 정수 클래스를 작성하는 방침이 있었다면, 필요한 정수 클래스를 설계서에서 모두 찾아 내어 자동 생성하는 툴을 만드는 것이 좋다. 대규모 프로젝트라면 설계서에서 자동으로 정수 클 래스를 생성해 주면 가장 알기 쉽고, 정착하기 쉽다. 정수 클래스의 작성과 더불어 클래스의 이름이나 정수 이름의 네이밍도 중요 하다. 어떤 분류 기준으로 정수 클래스를 분할했다고 하더라도, 각 정수 클 래스에 어떤 정수가 모여 있는지 클래스명으로 예측할 수 없다면 클래스를 분할한 의미가 희미해진다. 분할에 관한 지침(가이드라인)을 조기에 수립한다 적절한 사이즈가 되도록 정수 클래스를 분할하는 작업을 시스템을 구축하는 도중에 하는 것은 바람직하지 못하다. 프로젝트 멤버의 혼란을 가중시키기 때문이다. 정수 클래스의 분할 지침은 설계 공정 초기에 결정하는 것이 바람직하다. 늦 어도 구축 공정에 들어가기 전까지는 수립해야 한다. 방침을 결정하면 어플 리케이션 개발 지침 등에 명기해서, 프로젝트 멤버에게 주지시켜야 한다. 정수 클래스를 분할하는 네이밍도 중요하다 본래 정수 클래스를 마련하는 목적은 다양한 정수를 정수 클래스에 정리하는 것에 있다. 혼재된 상태의 거대한 정수 클래스는 본래의 모습이 아니다. 정수 클래스는 기능이나 목적에 맞게 적절한 사이즈가 되도록 분할해야 한다 장 _ 구축 및 테스트 209

12 소스코드 분량이 많은 코딩 규칙을 만들어서는 안 된다 코딩 규칙은 프로젝트 멤버에게 프로그래밍 룰을 알려 주기 위해 작성하는 문서다. 일반적으로 소프트웨어 아키텍트가 정리한다. 코딩 규칙이 너무 많 으면 프로그래머가 그 모든 것을 이해할 수 없게 되어, 결국 준수되지 못하 게 되므로 주의가 필요하다. 실제 상황에 맞춰 기존의 규칙을 수정한다 코딩 규칙 작성은 귀찮고 노력이 많이 드는 작업이다. 프로젝트마다 새로 작 성할 필요는 없다. 다른 프로젝트에서 사용되고 있는 기존의 코딩 규칙을 기 본으로, 사용하는 플랫폼이나 개발 언어에 맞춰 수정하면 된다. 코딩 규칙에 기술하는 항목은 일반적으로는 코딩 스타일이나 코멘트 서식, 식별자의 네이밍, 프로그래밍의 금지 사항, 관례나 팁들, 이 4가지다. 이 중, 코딩 스타일이나 코멘트 서식과 식별자 네이밍 규약을 제정하는 목적 은 소스코드의 가독성 향상에 있다. 소스코드의 가독성이 높으면 프로그램 을 작성한 당사자, 리뷰 담당자 모두 버그를 찾아내기 쉽다. 또, 가독성이 높 으면 다른 프로그래머가 유지보수 할 때 작업 효율이 높아진다. 프로그래밍 의 제약 사항을 적어 놓는 이유는, 프로그래머에 따라 별생각 없이 부적절하 게 코딩을 해 버리는 경우가 있기 때문이다. 프로그래머가 재차 의식을 하면 서 코딩할 수 있도록, 코딩 규칙에서 사용하는 플랫폼이나 개발 언어의 특성 을 고려하여 위험한 내용을 표시한다. 062 관례나 팁들을 나타내는 것은, 알고리즘 등에 따른 차이를 프로그래머에게 인식시켜 처리 효율이 높은 소스코드를 만들기 위해서다(리스트 3-7). 리스트 3-7 관례나 팁들의 기재 예 나쁜 예 루프의 조건식에서 메소드를 호출한다. 성능 문제가 일어나기 쉬워 바람직하지 않다. List list = new ArrayList(); for(int index = 0; index < list.size(); index++){ // 조건부에서 size 메소드를 매회 호출하고 있다! 좋은 예 사전에 size()를 호출, 로컬 변수에 저장하고 나서 그 로컬 변수를 참조한다. List list = new ArrayList(); int size = list.size(); for(int index = 0; index < size; index++){ 필요한 내용을 충분히 알기 쉽게 표시한다 이러한 내용을 모두 포함하게 되면 코딩 규칙의 양이 늘어나서 인쇄했을 때 두꺼워지기 십상이다. 완성도가 높은 코딩 규칙이란 필요한 내용을 충분히 알기 쉽게 나타내야 하지만, 필요 이상으로 상세하고 두꺼운 것은 바람직하 지 않다. 프로그래머가 구축 작업을 할 때는 설계서를 참조하여 IDE(통합 개발 환경) 등의 툴과 서로 대조하게 된다. 코딩 중에 코딩 규칙을 참조할 필요는 없다. 프로그래머가 코딩 규칙을 읽는 것은 구축 작업을 하기 전이어야 하며, 그 때 규칙을 충분히 이해하고 나서 코딩 작업을 해야 한다. 다시 한번 강조하 지만 코딩 규칙이 두꺼우면 전부 기억할 수 없고, 금지 사항 등 중요한 규칙 마저 지킬 수 없게 된다. 그렇게 되면, 어렵게 만들어 놓은 코딩 규칙이 아무 런 의미가 없게 된다 장 _ 구축 및 테스트 211

Microsoft PowerPoint - chap01-C언어개요.pptx

Microsoft PowerPoint - chap01-C언어개요.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 프로그래밍의 기본 개념을

More information

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론 이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론 2. 관련연구 2.1 MQTT 프로토콜 Fig. 1. Topic-based Publish/Subscribe Communication Model. Table 1. Delivery and Guarantee by MQTT QoS Level 2.1 MQTT-SN 프로토콜 Fig. 2. MQTT-SN

More information

H3250_Wi-Fi_E.book

H3250_Wi-Fi_E.book 무선 LAN 기능으로 할 수 있는 것 2 무선 LAN 기능으로 할 수 있는 것 z q l D w 3 Wi-Fi 기능 플로우차트 z q l D 4 Wi-Fi 기능 플로우차트 w 5 본 사용 설명서의 기호 설명 6 각 장별 목차 1 2 3 4 5 6 7 8 9 10 11 12 13 14 7 목차 1 2 3 4 8 목차 5 6 7 8 9 9 목차 10 11 12

More information

Windows 8에서 BioStar 1 설치하기

Windows 8에서 BioStar 1 설치하기 / 콘텐츠 테이블... PC에 BioStar 1 설치 방법... Microsoft SQL Server 2012 Express 설치하기... Running SQL 2012 Express Studio... DBSetup.exe 설정하기... BioStar 서버와 클라이언트 시작하기... 1 1 2 2 6 7 1/11 BioStar 1, Windows 8 BioStar

More information

Microsoft PowerPoint - chap03-변수와데이터형.pptx

Microsoft PowerPoint - chap03-변수와데이터형.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num %d\n", num); return 0; } 1 학습목표 의 개념에 대해 알아본다.

More information

[Brochure] KOR_TunA

[Brochure] KOR_TunA LG CNS LG CNS APM (TunA) LG CNS APM (TunA) 어플리케이션의 성능 개선을 위한 직관적이고 심플한 APM 솔루션 APM 이란? Application Performance Management 란? 사용자 관점 그리고 비즈니스 관점에서 실제 서비스되고 있는 어플리케이션의 성능 관리 체계입니다. 이를 위해서는 신속한 장애 지점 파악 /

More information

Microsoft PowerPoint - 02_Linux_Fedora_Core_8_Vmware_Installation [호환 모드]

Microsoft PowerPoint - 02_Linux_Fedora_Core_8_Vmware_Installation [호환 모드] 리눅스 설치 Vmware를 이용한 Fedora Core 8 설치 소프트웨어실습 1 Contents 가상 머신 실습 환경 구축 Fedora Core 8 설치 가상 머신 가상 머신 가상 머신의 개념 VMware의 설치 VMware : 가상 머신 생성 VMware의 특징 실습 환경 구축 실습 환경 구축 Fedora Core 8 설치 가상 머신의 개념 가상 머신 (Virtual

More information

*2008년1월호진짜

*2008년1월호진짜 3. USB 이동식저장장치를이용하여전파되는악성코드분석 1. 개 요 최근 USB 이동식 저장장치를 통하여 전파되는 악성코드에 대한 감염피해가 증가하고 있어 주의가 필요하다. 이번에 확인된 ntion.exe 악성코드는 감염 시, 특정 사이트에 접속하여 추가 악성코드를 다운로드하는 Dropper 기능을 수행한다. 또한, 웹 서버가 감염될 경우는 웹 서버내의 웹 페이지가

More information

The Pocket Guide to TCP/IP Sockets: C Version

The Pocket Guide to  TCP/IP Sockets: C Version 인터넷프로토콜 5 장 데이터송수신 (3) 1 파일전송메시지구성예제 ( 고정크기메시지 ) 전송방식 : 고정크기 ( 바이너리전송 ) 필요한전송정보 파일이름 ( 최대 255 자 => 255byte 의메모리공간필요 ) 파일크기 (4byte 의경우최대 4GB 크기의파일처리가능 ) 파일내용 ( 가변길이, 0~4GB 크기 ) 메시지구성 FileName (255bytes)

More information

특허청구의 범위 청구항 1 삭제 청구항 2 단일 개의 운영체제를 갖는 클라이언트 단말에 있어서, 제1 운영체제와, 상기 제1 운영체제 하에서 사용되는 파일을 저장하는 메모리; 및 상기 메모리에 저장된 파일을 운영체제 제공장치로 전송하고 상기 메모리를 포맷하며, 상기 운

특허청구의 범위 청구항 1 삭제 청구항 2 단일 개의 운영체제를 갖는 클라이언트 단말에 있어서, 제1 운영체제와, 상기 제1 운영체제 하에서 사용되는 파일을 저장하는 메모리; 및 상기 메모리에 저장된 파일을 운영체제 제공장치로 전송하고 상기 메모리를 포맷하며, 상기 운 (19) 대한민국특허청(KR) (12) 등록특허공보(B1) (51) 국제특허분류(Int. Cl.) G06F 9/22 (2006.01) (21) 출원번호 10-2012-0020563 (22) 출원일자 2012년02월28일 심사청구일자 2012년02월28일 (65) 공개번호 10-2013-0098775 (43) 공개일자 2013년09월05일 (56) 선행기술조사문헌

More information

슬라이드 1

슬라이드 1 UNIT 16 예외처리 로봇 SW 교육원 3 기 최상훈 학습목표 2 예외처리구문 try-catch-finally 문을사용핛수있다. 프로그램오류 3 프로그램오류의종류 컴파일에러 (compile-time error) : 컴파일실행시발생 럮타임에러 (runtime error) : 프로그램실행시발생 에러 (error) 프로그램코드에의해서해결될수없는심각핚오류 ex)

More information

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

Microsoft PowerPoint 자바-기본문법(Ch2).pptx 자바기본문법 1. 기본사항 2. 자료형 3. 변수와상수 4. 연산자 1 주석 (Comments) 이해를돕기위한설명문 종류 // /* */ /** */ 활용예 javadoc HelloApplication.java 2 주석 (Comments) /* File name: HelloApplication.java Created by: Jung Created on: March

More information

Microsoft PowerPoint - chap04-연산자.pptx

Microsoft PowerPoint - chap04-연산자.pptx int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); } 1 학습목표 수식의 개념과 연산자, 피연산자에 대해서 알아본다. C의 를 알아본다. 연산자의 우선 순위와 결합 방향에

More information

Microsoft PowerPoint - chap10-함수의활용.pptx

Microsoft PowerPoint - chap10-함수의활용.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 중 값에 의한 전달 방법과

More information

슬라이드 1

슬라이드 1 -Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역

More information

1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout << " 양수입력 : "; cin >> *p; if (*p <= 0) cout << " 양수를입력해야합니다 " << endl; return; 동적할

1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout <<  양수입력 : ; cin >> *p; if (*p <= 0) cout <<  양수를입력해야합니다  << endl; return; 동적할 15 장기타주제들 auto_ptr 변환함수 cast 연산자에의한명시적형변환실행시간타입정보알아내기 (RTTI) C++ 프로그래밍입문 1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout > *p; if (*p

More information

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 (   ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각 JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 실습 1 배효철 th1g@nate.com 1 목차 조건문 반복문 System.out 구구단 모양만들기 Up & Down 2 조건문 조건문의종류 If, switch If 문 조건식결과따라중괄호 { 블록을실행할지여부결정할때사용 조건식 true 또는 false값을산출할수있는연산식 boolean 변수 조건식이 true이면블록실행하고 false 이면블록실행하지않음 3

More information

TTA Journal No.157_서체변경.indd

TTA Journal No.157_서체변경.indd 표준 시험인증 기술 동향 FIDO(Fast IDentity Online) 생체 인증 기술 표준화 동향 이동기 TTA 모바일응용서비스 프로젝트그룹(PG910) 의장 SK텔레콤 NIC 담당 매니저 76 l 2015 01/02 PASSWORDLESS EXPERIENCE (UAF standards) ONLINE AUTH REQUEST LOCAL DEVICE AUTH

More information

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2 객체지향프로그래밍 IT CookBook, 자바로배우는쉬운자료구조 q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2 q 객체지향프로그래밍의이해 v 프로그래밍기법의발달 A 군의사업발전 1 단계 구조적프로그래밍방식 3 q 객체지향프로그래밍의이해 A 군의사업발전 2 단계 객체지향프로그래밍방식 4 q 객체지향프로그래밍의이해 v 객체란무엇인가

More information

Chapter ...

Chapter ... Chapter 4 프로세서 (4.9절, 4.12절, 4.13절) Contents 4.1 소개 4.2 논리 설계 기초 4.3 데이터패스 설계 4.4 단순한 구현 방법 4.5 파이프라이닝 개요*** 4.6 파이프라이닝 데이터패스 및 제어*** 4.7 데이터 해저드: 포워딩 vs. 스톨링*** 4.8 제어 해저드*** 4.9 예외 처리*** 4.10 명령어 수준

More information

Microsoft Word - windows server 2003 수동설치_non pro support_.doc

Microsoft Word - windows server 2003 수동설치_non pro support_.doc Windows Server 2003 수동 설치 가이드 INDEX 운영체제 설치 준비과정 1 드라이버를 위한 플로피 디스크 작성 2 드라이버를 위한 USB 메모리 작성 7 운영체제 설치 과정 14 Boot Sequence 변경 14 컨트롤러 드라이버 수동 설치 15 운영체제 설치 17 운영체제 설치 준비 과정 Windows Server 2003 에는 기본적으로

More information

SIGIL 완벽입문

SIGIL 완벽입문 누구나 만드는 전자책 SIGIL 을 이용해 전자책을 만들기 EPUB 전자책이 가지는 단점 EPUB이라는 포맷과 제일 많이 비교되는 포맷은 PDF라는 포맷 입니다. EPUB이 나오기 전까지 전 세계에서 가장 많이 사용되던 전자책 포맷이고, 아직도 많이 사 용되기 때문이기도 한며, 또한 PDF는 종이책 출력을 위해서도 사용되기 때문에 종이책 VS

More information

예제 2) Test.java class A intvar= 10; void method() class B extends A intvar= 20; 1"); void method() 2"); void method1() public class Test 3"); args) A

예제 2) Test.java class A intvar= 10; void method() class B extends A intvar= 20; 1); void method() 2); void method1() public class Test 3); args) A 제 10 장상속 예제 1) ConstructorTest.java class Parent public Parent() super - default"); public Parent(int i) this("hello"); super(int) constructor" + i); public Parent(char c) this(); super(char) constructor

More information

152*220

152*220 152*220 2011.2.16 5:53 PM ` 3 여는 글 교육주체들을 위한 교육 교양지 신경림 잠시 휴간했던 우리교육 을 비록 계간으로이지만 다시 내게 되었다는 소식을 들으니 우 선 반갑다. 하지만 월간으로 계속할 수 없다는 현실이 못내 아쉽다. 솔직히 나는 우리교 육 의 부지런한 독자는 못 되었다. 하지만 비록 어깨너머로 읽으면서도 이런 잡지는 우 리

More information

슬라이드 1

슬라이드 1 정적메모리할당 (Static memory allocation) 일반적으로프로그램의실행에필요한메모리 ( 변수, 배열, 객체등 ) 는컴파일과정에서결정되고, 실행파일이메모리에로드될때할당되며, 종료후에반환됨 동적메모리할당 (Dynamic memory allocation) 프로그램의실행중에필요한메모리를할당받아사용하고, 사용이끝나면반환함 - 메모리를프로그램이직접관리해야함

More information

JVM 메모리구조

JVM 메모리구조 조명이정도면괜찮조! 주제 JVM 메모리구조 설미라자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조장. 최지성자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조원 이용열자료조사, 자료작성, PPT 작성, 보고서작성. 이윤경 자료조사, 자료작성, PPT작성, 보고서작성. 이수은 자료조사, 자료작성, PPT작성, 보고서작성. 발표일 2013. 05.

More information

제11장 프로세스와 쓰레드

제11장 프로세스와 쓰레드 제9장자바쓰레드 9.1 Thread 기초 (1/5) 프로그램 명령어들의연속 (a sequence of instruction) 프로세스 / Thread 실행중인프로그램 (program in execution) 프로세스생성과실행을위한함수들 자바 Thread 2 9.1 Thread 기초 (2/5) 프로세스단위작업의문제점 프로세스생성시오버헤드 컨텍스트스위치오버헤드

More information

RHEV 2.2 인증서 만료 확인 및 갱신

RHEV 2.2 인증서 만료 확인 및 갱신 2018/09/28 03:56 1/2 목차... 1 인증서 확인... 1 인증서 종류와 확인... 4 RHEVM CA... 5 FQDN 개인 인증서... 5 레드햇 인증서 - 코드 서명 인증서... 6 호스트 인증... 7 참고사항... 8 관련링크... 8 AllThatLinux! - http://allthatlinux.com/dokuwiki/ rhev_2.2_

More information

wtu05_ÃÖÁ¾

wtu05_ÃÖÁ¾ 한 눈에 보는 이달의 주요 글로벌 IT 트렌드 IDG World Tech Update May C o n t e n t s Cover Story 아이패드, 태블릿 컴퓨팅 시대를 열다 Monthly News Brief 이달의 주요 글로벌 IT 뉴스 IDG Insight 개발자 관점에서 본 윈도우 폰 7 vs. 아이폰 클라우드 컴퓨팅, 불만 검증 단계 돌입 기업의

More information

Microsoft 을 열면 깔끔한 사용자 중심의 메뉴 및 레이아웃이 제일 먼저 눈에 띕니다. 또한 은 스마트폰, 테블릿 및 클라우드는 물론 가 설치되어 있지 않은 PC 에서도 사용할 수 있습니다. 따라서 장소와 디바이스에 관계 없이 언제, 어디서나 문서를 확인하고 편집

Microsoft 을 열면 깔끔한 사용자 중심의 메뉴 및 레이아웃이 제일 먼저 눈에 띕니다. 또한 은 스마트폰, 테블릿 및 클라우드는 물론 가 설치되어 있지 않은 PC 에서도 사용할 수 있습니다. 따라서 장소와 디바이스에 관계 없이 언제, 어디서나 문서를 확인하고 편집 Modern Modern www.office.com ( ) 892 5 : 1577-9700 : http://www.microsoft.com/korea Microsoft 을 열면 깔끔한 사용자 중심의 메뉴 및 레이아웃이 제일 먼저 눈에 띕니다. 또한 은 스마트폰, 테블릿 및 클라우드는 물론 가 설치되어 있지 않은 PC 에서도 사용할 수 있습니다. 따라서 장소와

More information

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D> 리눅스 오류처리하기 2007. 11. 28 안효창 라이브러리함수의오류번호얻기 errno 변수기능오류번호를저장한다. 기본형 extern int errno; 헤더파일 라이브러리함수호출에실패했을때함수예 정수값을반환하는함수 -1 반환 open 함수 포인터를반환하는함수 NULL 반환 fopen 함수 2 유닉스 / 리눅스 라이브러리함수의오류번호얻기 19-1

More information

gnu-lee-oop-kor-lec06-3-chap7

gnu-lee-oop-kor-lec06-3-chap7 어서와 Java 는처음이지! 제 7 장상속 Super 키워드 상속과생성자 상속과다형성 서브클래스의객체가생성될때, 서브클래스의생성자만호출될까? 아니면수퍼클래스의생성자도호출되는가? class Base{ public Base(String msg) { System.out.println("Base() 생성자 "); ; class Derived extends Base

More information

<B1DDC0B6B1E2B0FCB0FAC0CEC5CDB3DDB0B3C0CEC1A4BAB82E687770>

<B1DDC0B6B1E2B0FCB0FAC0CEC5CDB3DDB0B3C0CEC1A4BAB82E687770> 여 48.6% 남 51.4% 40대 10.7% 50대 이 상 6.0% 10대 0.9% 20대 34.5% 30대 47.9% 초등졸 이하 대학원생 이 0.6% 중졸 이하 상 0.7% 2.7% 고졸 이하 34.2% 대졸 이하 61.9% 직장 1.9% e-mail 주소 2.8% 핸드폰 번호 8.2% 전화번호 4.5% 학교 0.9% 주소 2.0% 기타 0.4% 이름

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 인터페이스 배효철 th1g@nate.com 1 목차 인터페이스의역할 인터페이스선언 인터페이스구현 인터페이스사용 타입변환과다형성 인터페이스상속 디폴트메소드와인터페이스확장 2 인터페이스의역할 인터페이스란? 개발코드와객체가서로통신하는접점 개발코드는인터페이스의메소드만알고있으면 OK 인터페이스의역할 개발코드가객체에종속되지않게 -> 객체교체할수있도록하는역할 개발코드변경없이리턴값또는실행내용이다양해질수있음

More information

설치 순서 Windows 98 SE/Me/2000/XP 1 PC를 켜고 Windows를 시작합니다. 아직 컴퓨터에 프린터를 연결하지 마십시오. 2 PC에 P-S100 CD-ROM(프 린터 드라이버)을 삽입합니다. 3 설치 프로그램을 시작합니다. q CD-ROM의 PS1

설치 순서 Windows 98 SE/Me/2000/XP 1 PC를 켜고 Windows를 시작합니다. 아직 컴퓨터에 프린터를 연결하지 마십시오. 2 PC에 P-S100 CD-ROM(프 린터 드라이버)을 삽입합니다. 3 설치 프로그램을 시작합니다. q CD-ROM의 PS1 디지털 사진 프린터 P-S100 프린터 드라이버 설치 가이드 사용하는 컴퓨터에 따라 제공된 프린터 드라이버를 설치합니다. 설치 절차 에 대한 자세한 내용은 CD-ROM의 Readme 파일을 참조하십시오. 작동 환경 Windows 호환 모델: IBM PC/AT 및 호환품 운영 체제: Windows 98 SE/Me/2000/XP (Windows 98 SE/Me/2000/XP

More information

1

1 1 2 3 4 5 6 b b t P A S M T U s 7 m P P 8 t P A S M T U s 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 Chapter 1 29 1 2 3 4 18 17 16 15 5 6 7 8 9 14 13 12 11 10 1 2 3 4 5 9 10 11 12 13 14 15

More information

PathEye 공식 블로그 다운로드 받으세요!! 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다.

PathEye 공식 블로그 다운로드 받으세요!!   지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다. PathEye Mobile Ver. 0.71b 2009. 3. 17 By PathEye 공식 블로그 다운로드 받으세요!! http://blog.patheye.com 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다. PathEye 설치 1/3 최종 배포 버전을 다 운로드 받습니다. 다운로드된 파일은 CAB 파일입니다. CAB 파일에는

More information

경우 1) 80GB( 원본 ) => 2TB( 복사본 ), 원본 80GB 는 MBR 로디스크초기화하고 NTFS 로포맷한경우 복사본 HDD 도 MBR 로디스크초기화되고 80GB 만큼포맷되고나머지영역 (80GB~ 나머지부분 ) 은할당되지않음 으로나온다. A. Window P

경우 1) 80GB( 원본 ) => 2TB( 복사본 ), 원본 80GB 는 MBR 로디스크초기화하고 NTFS 로포맷한경우 복사본 HDD 도 MBR 로디스크초기화되고 80GB 만큼포맷되고나머지영역 (80GB~ 나머지부분 ) 은할당되지않음 으로나온다. A. Window P Duplicator 는기본적으로원본하드디스크를빠르게복사본하드디스크에복사하는기능을하는것입니다.. 복사본 하드디스크가원본하드디스크와똑같게하는것을목적으로하는것이어서저용량에서고용량으로복사시몇 가지문제점이발생할수있습니다. 하드디스크는사용하려면, 디스크초기화를한후에포맷을해야사용가능합니다. Windows PC는 MBR과 GPT 2 개중에 1개로초기화합니다. -Windows

More information

Adobe Flash 취약점 분석 (CVE-2012-0754)

Adobe Flash 취약점 분석 (CVE-2012-0754) 기술문서 14. 08. 13. 작성 GNU C library dynamic linker $ORIGIN expansion Vulnerability Author : E-Mail : 윤지환 131ackcon@gmail.com Abstract 2010 년 Tavis Ormandy 에 의해 발견된 취약점으로써 정확한 명칭은 GNU C library dynamic linker

More information

메일서버등록제(SPF) 인증기능적용안내서 (HP-UX - qmail) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 HP-UX 11.11i qmail 1.03 spf-filter 년 6 월

메일서버등록제(SPF) 인증기능적용안내서 (HP-UX - qmail) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 HP-UX 11.11i qmail 1.03 spf-filter 년 6 월 메일서버등록제(SPF) 인증기능적용안내서 (HP-UX - qmail) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 HP-UX 11.11i qmail 1.03 spf-filter 1.0 2016 년 6 월 목 차 I. 개요 1 1. SPF( 메일서버등록제) 란? 1 2. SPF 를이용한이메일인증절차 1 II. qmail, SPF 인증모듈설치

More information

PowerPoint Presentation

PowerPoint Presentation 자바프로그래밍 1 배열 손시운 ssw5176@kangwon.ac.kr 배열이필요한이유 예를들어서학생이 10 명이있고성적의평균을계산한다고가정하자. 학생 이 10 명이므로 10 개의변수가필요하다. int s0, s1, s2, s3, s4, s5, s6, s7, s8, s9; 하지만만약학생이 100 명이라면어떻게해야하는가? int s0, s1, s2, s3, s4,

More information

연구노트

연구노트 #2. 종이 질 - 일단은 OK. 하지만 만년필은 조금 비침. 종이질은 일단 합격점. 앞으로 종이질은 선택옵션으로 둘 수 있으리라 믿는다. 종이가 너무 두꺼우면, 뒤에 비치지 는 않지만, 무겁고 유연성이 떨어진다. 하지만 두꺼우면 고의적 망실의 위험도 적고 적당한 심리적 부담도 줄 것이 다. 이점은 호불호가 있을 것으로 생각되지만, 일단은 괜찮아 보인다. 필자의

More information

JUNIT 실습및발표

JUNIT 실습및발표 JUNIT 실습및발표 JUNIT 접속 www.junit.org DownLoad JUnit JavaDoc API Document 를참조 JUNIT 4.8.1 다운로드 설치파일 (jar 파일 ) 을다운로드 CLASSPATH 를설정 환경변수에서설정 실행할클래스에서 import JUnit 설치하기 테스트실행주석 @Test Test 를실행할 method 앞에붙임 expected

More information

<5BB0EDB3ADB5B55D32303131B3E2B4EBBAF12DB0ED312D312DC1DFB0A32DC0B6C7D5B0FAC7D02D28312E28322920BAF2B9F0B0FA20BFF8C0DAC0C720C7FCBCBA2D3031292D3135B9AEC7D72E687770>

<5BB0EDB3ADB5B55D32303131B3E2B4EBBAF12DB0ED312D312DC1DFB0A32DC0B6C7D5B0FAC7D02D28312E28322920BAF2B9F0B0FA20BFF8C0DAC0C720C7FCBCBA2D3031292D3135B9AEC7D72E687770> 고1 융합 과학 2011년도 1학기 중간고사 대비 다음 글을 읽고 물음에 답하시오. 1 빅뱅 우주론에서 수소와 헬륨 의 형성에 대한 설명으로 옳은 것을 보기에서 모두 고른 것은? 4 서술형 다음 그림은 수소와 헬륨의 동위 원 소의 을 모형으로 나타낸 것이. 우주에서 생성된 수소와 헬륨 의 질량비 는 약 3:1 이. (+)전하를 띠는 양성자와 전기적 중성인 중성자

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 제 5 장생성자와접근제어 1. 객체지향기법을이해한다. 2. 클래스를작성할수있다. 3. 클래스에서객체를생성할수있다. 4. 생성자를이용하여객체를초기화할수 있다. 5. 접근자와설정자를사용할수있다. 이번장에서만들어볼프로그램 생성자 생성자 (constructor) 는초기화를담당하는함수 생성자가필요한이유 #include using namespace

More information

Microsoft PowerPoint - 04-UDP Programming.ppt

Microsoft PowerPoint - 04-UDP Programming.ppt Chapter 4. UDP Dongwon Jeong djeong@kunsan.ac.kr http://ist.kunsan.ac.kr/ Dept. of Informatics & Statistics 목차 UDP 1 1 UDP 개념 자바 UDP 프로그램작성 클라이언트와서버모두 DatagramSocket 클래스로생성 상호간통신은 DatagramPacket 클래스를이용하여

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 인터페이스, 람다식, 패키지 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 홈네트워킹 public interface RemoteControl { public void turnon(); // 가전제품을켠다. public void turnoff(); // 가전제품을끈다. 인터페이스를구현 public class Television

More information

17장 클래스와 메소드

17장 클래스와 메소드 17 장클래스와메소드 박창이 서울시립대학교통계학과 박창이 ( 서울시립대학교통계학과 ) 17 장클래스와메소드 1 / 18 학습내용 객체지향특징들객체출력 init 메소드 str 메소드연산자재정의타입기반의버전다형성 (polymorphism) 박창이 ( 서울시립대학교통계학과 ) 17 장클래스와메소드 2 / 18 객체지향특징들 객체지향프로그래밍의특징 프로그램은객체와함수정의로구성되며대부분의계산은객체에대한연산으로표현됨객체의정의는

More information

Microsoft PowerPoint 웹 연동 기술.pptx

Microsoft PowerPoint 웹 연동 기술.pptx 웹프로그래밍및실습 ( g & Practice) 문양세강원대학교 IT 대학컴퓨터과학전공 URL 분석 (1/2) URL (Uniform Resource Locator) 프로토콜, 호스트, 포트, 경로, 비밀번호, User 등의정보를포함 예. http://kim:3759@www.hostname.com:80/doc/index.html URL 을속성별로분리하고자할경우

More information

Spring Boot/JDBC JdbcTemplate/CRUD 예제

Spring Boot/JDBC JdbcTemplate/CRUD 예제 Spring Boot/JDBC JdbcTemplate/CRUD 예제 오라클자바커뮤니티 (ojc.asia, ojcedu.com) Spring Boot, Gradle 과오픈소스인 MariaDB 를이용해서 EMP 테이블을만들고 JdbcTemplate, SimpleJdbcTemplate 을이용하여 CRUD 기능을구현해보자. 마리아 DB 설치는다음 URL 에서확인하자.

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 클래스, 객체, 메소드 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 필드만있는클래스 텔레비젼 2 예제 1. 필드만있는클래스 3 예제 2. 여러개의객체생성하기 4 5 예제 3. 메소드가추가된클래스 public class Television { int channel; // 채널번호 int volume; // 볼륨 boolean

More information

정부3.0 국민디자인단 운영을 통해 국민과의 소통과 참여로 정책을 함께 만들 수 있었고 그 결과 국민 눈높이에 맞는 다양한 정책 개선안을 도출하며 정책의 완성도를 제고할 수 있었습니다. 또한 서비스디자인 방법론을 각 기관별 정부3.0 과제에 적용하여 국민 관점의 서비스 설계, 정책고객 확대 등 공직사회에 큰 반향을 유도하여 공무원의 일하는 방식을 변화시키고

More information

특징 찾아보기 열쇠 없이 문을 열 수 있어요! 비밀번호 및 RF카드로도 문을 열 수 있습니다. 또한 비밀번호가 외부인에게 알려질 위험에 대비, 통제번호까지 입력해 둘 수 있어 더욱 안심하고 사용할 수 있습니다. 나만의 비밀번호 및 RF카드를 가질 수 있어요! 다수의 가

특징 찾아보기 열쇠 없이 문을 열 수 있어요! 비밀번호 및 RF카드로도 문을 열 수 있습니다. 또한 비밀번호가 외부인에게 알려질 위험에 대비, 통제번호까지 입력해 둘 수 있어 더욱 안심하고 사용할 수 있습니다. 나만의 비밀번호 및 RF카드를 가질 수 있어요! 다수의 가 www.kdnetwork.com 특징 찾아보기 열쇠 없이 문을 열 수 있어요! 비밀번호 및 RF카드로도 문을 열 수 있습니다. 또한 비밀번호가 외부인에게 알려질 위험에 대비, 통제번호까지 입력해 둘 수 있어 더욱 안심하고 사용할 수 있습니다. 나만의 비밀번호 및 RF카드를 가질 수 있어요! 다수의 가능할 삭제할 건전지 사용자를 위한 개별 비밀번호 및 RF카드

More information

메일서버등록제(SPF) 인증기능적용안내서 (AIX - sendmail) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 AIX 5.3 sendmail spf-filter 년 6 월

메일서버등록제(SPF) 인증기능적용안내서 (AIX - sendmail) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 AIX 5.3 sendmail spf-filter 년 6 월 메일서버등록제(SPF) 인증기능적용안내서 (AIX - sendmail) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 AIX 5.3 sendmail 8.13.4 spf-filter 1.0 2016 년 6 월 목 차 I. 개요 1 1. SPF( 메일서버등록제) 란? 1 2. SPF 를이용한이메일인증절차 1 II. sendmail, SPF

More information

슬라이드 1

슬라이드 1 Pairwise Tool & Pairwise Test NuSRS 200511305 김성규 200511306 김성훈 200614164 김효석 200611124 유성배 200518036 곡진화 2 PICT Pairwise Tool - PICT Microsoft 의 Command-line 기반의 Free Software www.pairwise.org 에서다운로드후설치

More information

4S 1차년도 평가 발표자료

4S 1차년도 평가 발표자료 모바일 S/W 프로그래밍 안드로이드개발환경설치 2012.09.05. 오병우 모바일공학과 JDK (Java Development Kit) SE (Standard Edition) 설치순서 Eclipse ADT (Android Development Tool) Plug-in Android SDK (Software Development Kit) SDK Components

More information

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상 Android 용 Brother Image Viewer 설명서 버전 0 KOR 아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상표입니다. Android는

More information

0. 들어가기 전

0. 들어가기 전 컴퓨터네트워크 14 장. 웹 (WWW) (3) - HTTP 1 이번시간의학습목표 HTTP 의요청 / 응답메시지의구조와동작원리이해 2 요청과응답 (1) HTTP (HyperText Transfer Protocol) 웹브라우저는 URL 을이용원하는자원표현 HTTP 메소드 (method) 를이용하여데이터를요청 (GET) 하거나, 회신 (POST) 요청과응답 요청

More information

PowerPoint Presentation

PowerPoint Presentation Package Class 3 Heeseung Jo 목차 section 1 패키지개요와패키지의사용 section 2 java.lang 패키지의개요 section 3 Object 클래스 section 4 포장 (Wrapper) 클래스 section 5 문자열의개요 section 6 String 클래스 section 7 StringBuffer 클래스 section

More information

JAVA PROGRAMMING 실습 08.다형성

JAVA PROGRAMMING 실습 08.다형성 2015 학년도 2 학기 1. 추상메소드 선언은되어있으나코드구현되어있지않은메소드 abstract 키워드사용 메소드타입, 이름, 매개변수리스트만선언 public abstract String getname(); public abstract void setname(string s); 2. 추상클래스 abstract 키워드로선언한클래스 종류 추상메소드를포함하는클래스

More information

유니티 변수-함수.key

유니티 변수-함수.key C# 1 or 16 (Binary or Hex) 1:1 C# C# (Java, Python, Go ) (0101010 ). (Variable) : (Value) (Variable) : (Value) ( ) (Variable) : (Value) ( ) ; (Variable) : (Value) ( ) ; = ; (Variable) : (Value) (Variable)

More information

04 Çмú_±â¼ú±â»ç

04 Çмú_±â¼ú±â»ç 42 s p x f p (x) f (x) VOL. 46 NO. 12 2013. 12 43 p j (x) r j n c f max f min v max, j j c j (x) j f (x) v j (x) f (x) v(x) f d (x) f (x) f (x) v(x) v(x) r f 44 r f X(x) Y (x) (x, y) (x, y) f (x, y) VOL.

More information

ThinkVantage Fingerprint Software

ThinkVantage Fingerprint Software ThinkVantage 지문 인식 소프트웨어 First Edition (August 2005) Copyright Lenovo 2005. Portions Copyright International Business Machines Corporation 2005. All rights reserved. U.S. GOVERNMENT USERS RESTRICTED RIGHTS:

More information

Secure Programming Lecture1 : Introduction

Secure Programming Lecture1 : Introduction Malware and Vulnerability Analysis Lecture3-2 Malware Analysis #3-2 Agenda 안드로이드악성코드분석 악성코드분석 안드로이드악성코드정적분석 APK 추출 #1 adb 명령 안드로이드에설치된패키지리스트추출 adb shell pm list packages v0nui-macbook-pro-2:lecture3 v0n$

More information

C++ Programming

C++ Programming C++ Programming 예외처리 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 예외처리 2 예외처리 예외처리 C++ 의예외처리 예외클래스와객체 3 예외처리 예외를처리하지않는프로그램 int main() int a, b; cout > a >> b; cout

More information

ThisJava ..

ThisJava .. 자바언어에정확한타입을추가한 ThisJava 소개 나현익, 류석영 프로그래밍언어연구실 KAIST 2014 년 1 월 14 일 나현익, 류석영 자바언어에정확한타입을추가한 ThisJava 소개 1/29 APLAS 2013 나현익, 류석영 자바 언어에 정확한 타입을 추가한 ThisJava 소개 2/29 실제로부딪힌문제 자바스크립트프로그램분석을위한요약도메인 나현익,

More information

쉽게 풀어쓴 C 프로그래밊

쉽게 풀어쓴 C 프로그래밊 Power Java 제 27 장데이터베이스 프로그래밍 이번장에서학습할내용 자바와데이터베이스 데이터베이스의기초 SQL JDBC 를이용한프로그래밍 변경가능한결과집합 자바를통하여데이터베이스를사용하는방법을학습합니다. 자바와데이터베이스 JDBC(Java Database Connectivity) 는자바 API 의하나로서데이터베이스에연결하여서데이터베이스안의데이터에대하여검색하고데이터를변경할수있게한다.

More information

내지(교사용) 4-6부

내지(교사용) 4-6부 Chapter5 140 141 142 143 144 145 146 147 148 01 02 03 04 05 06 07 08 149 활 / 동 / 지 2 01 즐겨 찾는 사이트와 찾는 이유는? 사이트: 이유: 02 아래는 어느 외국계 사이트의 회원가입 화면이다. 국내의 일반적인 회원가입보다 절차가 간소하거나 기입하지 않아도 되는 개인정보 항목이 있다면 무엇인지

More information

Microsoft Word - src.doc

Microsoft Word - src.doc IPTV 서비스탐색및콘텐츠가이드 RI 시스템운용매뉴얼 목차 1. 서버설정방법... 5 1.1. 서비스탐색서버설정... 5 1.2. 컨텐츠가이드서버설정... 6 2. 서버운용방법... 7 2.1. 서비스탐색서버운용... 7 2.1.1. 서비스가이드서버실행... 7 2.1.2. 서비스가이드정보확인... 8 2.1.3. 서비스가이드정보추가... 9 2.1.4. 서비스가이드정보삭제...

More information

메일서버등록제(SPF) 인증기능적용안내서 (HP-UX - postfix) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 HP-UX 11.11i postfix spf-filter 년 6 월

메일서버등록제(SPF) 인증기능적용안내서 (HP-UX - postfix) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 HP-UX 11.11i postfix spf-filter 년 6 월 메일서버등록제(SPF) 인증기능적용안내서 (HP-UX - postfix) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 HP-UX 11.11i postfix 2.7.1 spf-filter 1.0 2016 년 6 월 목 차 I. 개요 1 1. SPF( 메일서버등록제) 란? 1 2. SPF 를이용한이메일인증절차 1 II. postfix,

More information

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures 단일연결리스트 (Singly Linked List) 신찬수 연결리스트 (linked list)? tail 서울부산수원용인 null item next 구조체복습 struct name_card { char name[20]; int date; } struct name_card a; // 구조체변수 a 선언 a.name 또는 a.date // 구조체 a의멤버접근 struct

More information

<4D F736F F F696E74202D2036C0CFC2B05FB0B4C3BCC1F6C7E2C7C1B7CEB1D7B7A1B9D62E707074>

<4D F736F F F696E74202D2036C0CFC2B05FB0B4C3BCC1F6C7E2C7C1B7CEB1D7B7A1B9D62E707074> 객체지향프로그램밍 (Object-Oriented Programming) 1 C++ popular C 객체지향 (object oriented) C++ C : 상위계층언어특징 + 어셈블리언어특징 C++ : 소프트웨어개발플랫폼에객체지향개념제공 객체지향 : 자료와이들자료를어떻게다룰것인지따로생각하지않고단지하나의사물로생각 형 변수가사용하는메모리크기 변수가가질수있는정보

More information

작성자 : 기술지원부 김 삼 수

작성자 : 기술지원부 김 삼 수 작성자 : 기술지원부김삼수 qpopper 설치 qpopper란무엇인가? 메일수신을하기위해필요한프로그램으로 qpopper는가장인기있는 email 클라이언트에의해사용되는인터넷 email 다운로딩을위한 POP3프로토콜을사용합니다. 그러나 qpopper는 sendmail이나 smail과같이 SMTP프로토콜은포함하고있지않습니다. (

More information

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074> SIMATIC S7 Siemens AG 2004. All rights reserved. Date: 22.03.2006 File: PRO1_17E.1 차례... 2 심벌리스트... 3 Ch3 Ex2: 프로젝트생성...... 4 Ch3 Ex3: S7 프로그램삽입... 5 Ch3 Ex4: 표준라이브러리에서블록복사... 6 Ch4 Ex1: 실제구성을 PG 로업로드하고이름변경......

More information

* Factory class for query and DML clause creation * tiwe * */ public class JPAQueryFactory implements JPQLQueryFactory private f

* Factory class for query and DML clause creation * tiwe * */ public class JPAQueryFactory implements JPQLQueryFactory private f JPA 에서 QueryDSL 사용하기위해 JPAQuery 인스턴스생성방법 http://ojc.asia, http://ojcedu.com 1. JPAQuery 를직접생성하기 JPAQuery 인스턴스생성하기 QueryDSL의 JPAQuery API를사용하려면 JPAQuery 인스턴스를생성하면된다. // entitymanager는 JPA의 EntityManage

More information

PowerPoint Presentation

PowerPoint Presentation public class SumTest { public static void main(string a1[]) { int a, b, sum; a = Integer.parseInt(a1[0]); b = Integer.parseInt(a1[1]); sum = a + b ; // 두수를더하는부분입니다 System.out.println(" 두수의합은 " + sum +

More information

<3035313230325FBBE7B0EDB3EBC6AE5FB5F0C6FAC6AEC6D0BDBABFF6B5E5C3EBBEE0C1A128BCF6C1A4292E687770>

<3035313230325FBBE7B0EDB3EBC6AE5FB5F0C6FAC6AEC6D0BDBABFF6B5E5C3EBBEE0C1A128BCF6C1A4292E687770> 네트워크 장비의 디폴트 로그인 패스워드 취약점 및 대책 2005. 11. 30 본 보고서의 전부나 일부를 인용시 반드시 [자료: 한국정보보호진흥원(KISA)]룰 명시하여 주시기 바랍니다. - 1 - 1. 개요 패스워드 관리는 보안의 가장 기본적인 사항으로 유추하기 어려운 패스워드를 사용하고, 주기적 으로 패스워드를 변경하는 등 패스워드 관리에 신경을 많이 쓰고

More information

2. 4. 1. 업무에 활용 가능한 플러그인 QGIS의 큰 들을 찾 아서 특징 설치 마 폰 은 스 트 그 8 하 이 업무에 필요한 기능 메뉴 TM f K 플러그인 호출 와 TM f K < 림 > TM f K 종항 그 중에서 그 설치 듯 할 수 있는 플러그인이 많이 제공된다는 것이다. < 림 > 다. 에서 어플을 다운받아 S or 8, 9 의 S or OREA

More information

Network Programming

Network Programming Part 5 확장된 Network Programming 기술 1. Remote Procedure Call 2. Remote Method Invocation 3. Object Request Broker 2. Java RMI

More information

09-interface.key

09-interface.key 9 Database insert(record r): boolean find(key k): Record 1 Record getkey(): Key * Record Key Database.? Key equals(key y): boolean Database insert(record r): boolean find(key k): Record * Database OK 1

More information

어댑터뷰

어댑터뷰 04 커스텀어댑터뷰 (Custom Adapter View) 커스텀어댑터뷰 (Custom Adapter View) 커스텀어댑터뷰 (Custom Adatper View) 란? u 어댑터뷰의항목하나는단순한문자열이나이미지뿐만아니라, 임의의뷰가될수 있음 이미지뷰 u 커스텀어댑터뷰설정절차 1 2 항목을위한 XML 레이아웃정의 어댑터정의 3 어댑터를생성하고어댑터뷰객체에연결

More information

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D> Power Java 제 8 장클래스와객체 I 이번장에서학습할내용 클래스와객체 객체의일생직접 메소드클래스를 필드작성해 UML 봅시다. QUIZ 1. 객체는 속성과 동작을가지고있다. 2. 자동차가객체라면클래스는 설계도이다. 먼저앞장에서학습한클래스와객체의개념을복습해봅시다. 클래스의구성 클래스 (class) 는객체의설계도라할수있다. 클래스는필드와메소드로이루어진다.

More information

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자 SQL Developer Connect to TimesTen 유니원아이앤씨 DB 팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 2010-07-28 작성자 김학준 최종수정일 2010-07-28 문서번호 20100728_01_khj 재개정이력 일자내용수정인버전

More information

PowerPoint Presentation

PowerPoint Presentation Class - Property Jo, Heeseung 목차 section 1 클래스의일반구조 section 2 클래스선언 section 3 객체의생성 section 4 멤버변수 4-1 객체변수 4-2 클래스변수 4-3 종단 (final) 변수 4-4 멤버변수접근방법 section 5 멤버변수접근한정자 5-1 public 5-2 private 5-3 한정자없음

More information

LATEX과 Mendeley를 활용한 문헌 관리 2017년 2월 6일 제1절 서지 관리 프로그램 연구 주제를 찾거나 선행 연구를 조사하는 가장 대표적인 방법이 문헌들을 찾아보는 것이다. 수없이 많은 논문들을 찾게 되고, 이런 논문들을 다운로드한 후 체계적으로 관리할 필

LATEX과 Mendeley를 활용한 문헌 관리 2017년 2월 6일 제1절 서지 관리 프로그램 연구 주제를 찾거나 선행 연구를 조사하는 가장 대표적인 방법이 문헌들을 찾아보는 것이다. 수없이 많은 논문들을 찾게 되고, 이런 논문들을 다운로드한 후 체계적으로 관리할 필 LATEX과 Mendeley를 활용한 문헌 관리 2017년 2월 6일 제1절 서지 관리 프로그램 연구 주제를 찾거나 선행 연구를 조사하는 가장 대표적인 방법이 문헌들을 찾아보는 것이다. 수없이 많은 논문들을 찾게 되고, 이런 논문들을 다운로드한 후 체계적으로 관리할 필요가 있다. 서지 관리 프로그램(Reference management software, citation

More information

MySQL-.. 1

MySQL-.. 1 MySQL- 기초 1 Jinseog Kim Dongguk University jinseog.kim@gmail.com 2017-08-25 Jinseog Kim Dongguk University jinseog.kim@gmail.com MySQL-기초 1 2017-08-25 1 / 18 SQL의 기초 SQL은 아래의 용도로 구성됨 데이터정의 언어(Data definition

More information

Amazon EBS (Elastic Block Storage) Amazon EC2 Local Instance Store (Ephemeral Volumes) Amazon S3 (Simple Storage Service) / Glacier Elastic File Syste (EFS) Storage Gateway AWS Import/Export 1 Instance

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 BOOTLOADER Jo, Heeseung 부트로더컴파일 부트로더소스복사및압축해제 부트로더소스는웹페이지에서다운로드 /working 디렉터리로이동한후, wget으로다운로드 이후작업은모두 /working 디렉터리에서진행 root@ubuntu:# cp /media/sm5-linux-111031/source/platform/uboot-s4210.tar.bz2 /working

More information

Spring Boot

Spring Boot 스프링부트 (Spring Boot) 1. 스프링부트 (Spring Boot)... 2 1-1. Spring Boot 소개... 2 1-2. Spring Boot & Maven... 2 1-3. Spring Boot & Gradle... 3 1-4. Writing the code(spring Boot main)... 4 1-5. Writing the code(commandlinerunner)...

More information

Cluster management software

Cluster management software 자바네트워크프로그래밍 (OCJP 국제공인자격취득중심 ) 충북대학교 최민 기본예제 예외클래스를정의하고사용하는예제 class NewException extends Exception { public class ExceptionTest { static void methoda() throws NewException { System.out.println("NewException

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 오류처리 손시운 ssw5176@kangwon.ac.kr 오류메시지를분석한다. 오류메시지에서많은내용을알수있다. 2 디버깅 디버거를사용하면프로그램에서쉽게오류를감지하고진단할수있다. 디버거는중단점을설정하여서프로그램의실행을제어할수있으며문장 단위로실행하거나변수의값을살펴볼수있다. 3 이클립스에서디버깅 4 이클립스에서디버깅 5 이클립스의디버깅명령어 6 예외처리

More information

Design Issues

Design Issues 11 COMPUTER PROGRAMMING INHERIATANCE CONTENTS OVERVIEW OF INHERITANCE INHERITANCE OF MEMBER VARIABLE RESERVED WORD SUPER METHOD INHERITANCE and OVERRIDING INHERITANCE and CONSTRUCTOR 2 Overview of Inheritance

More information

Business Agility () Dynamic ebusiness, RTE (Real-Time Enterprise) IT Web Services c c WE-SDS (Web Services Enabled SDS) SDS SDS Service-riented Architecture Web Services ( ) ( ) ( ) / c IT / Service- Service-

More information

810 & 820 810 는 소기업 및 지사 애 플리케이션용으로 설계되었으며, 독립 실행형 장치로 구성하거 나 HA(고가용성)로 구성할 수 있습니다. 810은 표준 운영 체제를 실행하는 범용 서버에 비해 가격 프리미엄이 거의 또는 전혀 없기 때문에 화이트박스 장벽 을

810 & 820 810 는 소기업 및 지사 애 플리케이션용으로 설계되었으며, 독립 실행형 장치로 구성하거 나 HA(고가용성)로 구성할 수 있습니다. 810은 표준 운영 체제를 실행하는 범용 서버에 비해 가격 프리미엄이 거의 또는 전혀 없기 때문에 화이트박스 장벽 을 목적에 맞게 설계된 어플라 이언스 원격 용도로 최적화된 어플라이언스 관리 및 에너지 효율성 향상 원격 관리 LOM(Lights Out Management), IPMI 2.0 장치 식별 버튼/LED 실시간 시스템 환경 및 오류 모 니터링 Infoblox MIBS를 통한 SNMP 모니터링 고가용성 공급 장치 예비 디스크 예비 냉각 팬 전원 공급 장치 현장 교체

More information

Level 학습 성과 내용 1수준 (이해) 1. 기본적인 Unix 이용법(명령어 또는 tool 활용)을 습득한다. 2. Unix 운영체계 설치을 익힌다. 모듈 학습성과 2수준 (응용) 1. Unix 가상화 및 이중화 개념을 이해한다. 2. 하드디스크의 논리적 구성 능력

Level 학습 성과 내용 1수준 (이해) 1. 기본적인 Unix 이용법(명령어 또는 tool 활용)을 습득한다. 2. Unix 운영체계 설치을 익힌다. 모듈 학습성과 2수준 (응용) 1. Unix 가상화 및 이중화 개념을 이해한다. 2. 하드디스크의 논리적 구성 능력 CLD 모듈 계획서 Unix Systems 운영관리기법 교과목 코드 모듈명 Unix Systems Administration 코디네이터 김두연 개설 시기 2015. 5 th term 학점/시수 3 수강 대상 1~3학년 분반 POL Type TOL Type SOS Type 유형 소프트웨어 개발 컴퓨팅 플랫폼 관리 개발 역량 분석/설계 프로그래밍

More information

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx 2018 학년도 1 학기 JAVA 프로그래밍 II 514760-1 2018 년봄학기 5/10/2018 박경신 Lab#1 (ImageTest) Lab#1 은영상파일 (Image) 을읽어서정보를출력 Java Tutorials Lesson: Working with Images https://docs.oracle.com/javase/tutorial/2d/images/index.html

More information

ActFax 4.31 Local Privilege Escalation Exploit

ActFax 4.31 Local Privilege Escalation Exploit NSHC 2013. 05. 23 악성코드 분석 보고서 [ Ransomware 악성코드 ] 사용자의 컴퓨터를 강제로 잠그고 돈을 요구하는 형태의 공격이 기승을 부리고 있 습니다. 이러한 형태의 공격에 이용되는 악성코드는 Ransomware로 불리는 악성코 드 입니다. 한번 감염 시 치료절차가 복잡하며, 보고서 작성 시점을 기준으로 지속 적인 피해자가 발생되고

More information

Microsoft PowerPoint - Java7.pptx

Microsoft PowerPoint - Java7.pptx HPC & OT Lab. 1 HPC & OT Lab. 2 실습 7 주차 Jin-Ho, Jang M.S. Hanyang Univ. HPC&OT Lab. jinhoyo@nate.com HPC & OT Lab. 3 Component Structure 객체 (object) 생성개념을이해한다. 외부클래스에대한접근방법을이해한다. 접근제어자 (public & private)

More information