1. System Browser를 기동시켜주십시오.(VisualWorks 메인 런쳐 화면에서 툴바의 네 번째 버튼을 클릭하거나, 브라우저>>시스템 메뉴를 선택해주십시오.)
2. 패키지 창(맨 왼쪽)의 스크롤을 XML로 시작하는 패키지 위까지 움직여주십시오. WebLogStats 패키지를 선택(반전)해주십시오.
만일 WebLogStats 카테고리를 찾을 수 없는 경우, 파일인할 필요가 있습니다. 이번 레슨에서는 앞서 레슨에서 행했던 작업을 VisualWorks 개발환경에 로드할 필요가 있습니다.
3. 프로토콜 창의 상단에 있는 Instance 탭이 선택되어 있는지 확인해주십시오. private 프로토콜을 클릭(선택)해주십시오. 그리고 아래 그림과 같이 되었는지 확인해주십시오.
그림 10-1. System Browser에 표시된 WebLogClass 클래스
4. private 프로토콜이 선택되어있는 상태에서 아래의 내용을 메서드 뷰에 기술해주십시오.
showPageCounts: aFile
| stream line bag xFound sort out|
bag := Bag new.
stream := (logDirectory, '\', aFile) asFilename readStream.
[ stream atEnd ] whileFalse: [
line := stream upTo: Character cr.
line := line copyFrom: 50 to: line size.
line := line copyFrom: (line indexOf: $/) to: line size.
line := line copyUpTo: $,.
xFound := line findString: '.asp' startingAt: 1.
xFound > 0
ifTrue:[ bag add: line. ]. ].
stream close.
sort := SortedCollection sortBlock: [:a :b| a >= b].
bag valuesAndCountsDo: [ :each :count |
sort add: (Association key: count value: each)].
out := (logDirectory, '\' ,aFile , '.stats') asFilename writeStream.
sort do: [ :each | out cr; nextPutAll: each printString.].
out close.
5. 메서드 코드 뷰에서 <오퍼레이트 클릭>후 Accept를 선택해주십시오. showPageCounts: 메서드가 메서드 창에 표시됩니다.
다음 화면과 같은지 확인해주십시오.
그림 10-2. 새로운 메서드(showPageCount)가 표시된 System Browser
6. private프로토콜이 선택된 상태에서 아래의 내용을 메서드 뷰에 기술해주십시오.
getLogFilesForPageCounts
| workingDir contents xFound |
Transcript clear.
workingDir := logDirectory asFilename.
contents := workingDir directoryContents.
contents do: [ :each |
xFound := each findString: filter startingAt: 1.
xFound > 0
ifTrue: [ self showPageCounts: each.].].
Dialog warn: 'Done'.
7. 메서드 코드 뷰에서 <오퍼레이트 클릭>후 Accept를 선택해주십시오. getLogFilesForPageCount 메서드가 메서드 창에 표시됩니다.
다음 그림과 같은지 확인해주십시오.
그림 10-3. 새로운 메서드(getLogFilesForPageCounts)가 표시된 System Browser
8. private 프로토콜이 선택된 상태에서 아래 내용을 메서드 뷰에 기술해주십시오.
startPageCount
filter := (Dialog request: 'Please enter a filter ' initialAnswer: 'ws00').
(filter size) > 0
ifTrue: [self getLogFilesForPageCounts]
9. 메서드 코드 뷰에서 <오퍼레이트 클릭>후 Accept를 선택해주십시오. startPageCount 메서드가 메서드 창에 표시됩니다.
다음 그림과 같은지 확인해주십시오.
그림 10-4. 새로운 메서드(startPageCount)가 표시된 System Browser
10. Workspace를 열고 아래 코드를 입역해주십시오.
WebLogClass new startPageCount
텍스트를 반전시키고 <오퍼레이트 클릭>후 실행을 선택해주십시오.
이 코드는 하나의 파일이 아닌, 디렉토리에 있는 모든 로그파일의 페이지 카운트의 통계를 취득한다는 것을 제외하면, 이전 레슨에서 했던 것처럼 동작합니다.
11. 파일 브라우저를 열고 로그파일이 있는 디렉토리를 지정합니다. 그러므로 인해 파일의 내용을 확인할 수 있습니다.
그림 10-5. 파일 브라우저에 의한 페이지 카운트와 파일 목록 표시
|