<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=ProjectZephyrus%2FAfterwords</id>
	<title>ProjectZephyrus/Afterwords - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=ProjectZephyrus%2FAfterwords"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=ProjectZephyrus/Afterwords&amp;action=history"/>
	<updated>2026-05-14T13:13:43Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=ProjectZephyrus/Afterwords&amp;diff=84837&amp;oldid=prev</id>
		<title>Maintenance script: Repair batch-0003 pages from live compare</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=ProjectZephyrus/Afterwords&amp;diff=84837&amp;oldid=prev"/>
		<updated>2026-03-27T00:29:06Z</updated>

		<summary type="html">&lt;p&gt;Repair batch-0003 pages from live compare&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 00:29, 27 March 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l39&quot;&gt;Line 39:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 39:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* 서버팀의 문서화가 잘 되었다.  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* 서버팀의 문서화가 잘 되었다.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** 서버팀 진행자인 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[&lt;/del&gt;neocoin&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]] &lt;/del&gt;의 성실성&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** 서버팀 진행자인 neocoin 의 성실성&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Server Architehcute 디자인이 잘 되었다.  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Server Architehcute 디자인이 잘 되었다.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l94&quot;&gt;Line 94:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 94:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;----&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;----&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;ProjectZephyrus&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;ProjectZephyrus&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Maintenance script</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=ProjectZephyrus/Afterwords&amp;diff=37787&amp;oldid=prev</id>
		<title>imported&gt;Unknown at 05:24, 7 February 2021</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=ProjectZephyrus/Afterwords&amp;diff=37787&amp;oldid=prev"/>
		<updated>2021-02-07T05:24:06Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| __TOC__&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
2002년 6월 27일 6시에 ProjectZephyrus 에 관해 정리하는 시간을 가졌다.&lt;br /&gt;
&lt;br /&gt;
* 진행 : [[김창준]]&lt;br /&gt;
* 참여자 : 강석천, 류상민, 이상규, 이영서&lt;br /&gt;
 &lt;br /&gt;
=== 진행 방법 ===&lt;br /&gt;
# 프로젝트를 진행하면서 &amp;#039;잘된점&amp;#039; 에 대해 나열해 나갔다. (이 때는 잘된점만 이야기함) 처음엔 한명씩 돌아가면서 이야기했고, 한바퀴 돈 다음 생각나는대로 이야기했다.&lt;br /&gt;
# 프로젝트를 진행하면서 &amp;#039;잘못된점&amp;#039; 에 대해 나열해 나갔다. (이 때는 잘못된점만 이야기함) 역시 처음엔 한명씩 돌아가면서 이야기했고, 한바퀴 돈 다음 생각나는대로 이야기했다.&lt;br /&gt;
# 각각의 경우들에 대해서 그 원인을 파악하고, 대안을 생각해보았다. (시간이 조금 많이 흘러서 모든 경우들에 대한 대안은 내지 못하였다. 하지만, 이는 계속 해 볼 일이다. 그당시 잘 했던 점은 더 잘하기 위해, 잘못했던 점은 다시 실수하지 않기 위해)&lt;br /&gt;
&lt;br /&gt;
=== 잘된점 ===&lt;br /&gt;
* deadline 을 잘 맞췄다. - 6월 10일까지 완료하기로 한 약속을 지켰다.&lt;br /&gt;
* 서버팀의 문서화가 잘 되었다. - [[ProjectZephyrus/Server]] 참조.&lt;br /&gt;
* Server Architecture 디자인이 잘 되었다. - 자신이 맡은 클래스에만 충실하면 되었다.&lt;br /&gt;
* Pair Programming 에 신경을 썼다. - Pair Programming 을 위한 진행 전략이 있었다.&lt;br /&gt;
* WORA 를 경험해볼 수 있었다 - 윈도우즈에서 개발/테스트 한 서버 프로그램을 별다른 수정없이 linux 서버인 ZeroPageServer 에서 돌릴 수 있었다.&lt;br /&gt;
* CVS을 사용하면서 CVS의 유용함을 경험해볼 수 있었다.&lt;br /&gt;
* 후기 기록이 잘 되었다.&lt;br /&gt;
&lt;br /&gt;
=== 잘못된점 ===&lt;br /&gt;
* server 팀과 Client 팀의 전체 meeting 이 거의 전무했다.&lt;br /&gt;
* 팀원들의 스케줄 관리가 어려웠다. (농땡이를 피우거나, 사람들이 프로젝트 외의 기타일로 바빠서 공동작업을 하는데 어려움)&lt;br /&gt;
* IDE 가 팀별/개인별로 달라서 프로젝트 화일등을 업데이트해주어야 했다.&lt;br /&gt;
* 클라이언트 파트가 Doc Convention 을 지키지 않았다.&lt;br /&gt;
* Server Program의 Design Evaluation 을 못하는데에 대한 스트레스 - 현재 나의 디자인이 올바른 디자인인지 평가받지 못하여서 불안하다.&lt;br /&gt;
* PP를 너무 지나치게 했다 - 서버팀의 경우 후반으로 가면서 &amp;#039;이건 차라리 각자 프로그래밍하는게 더 효율적이였을텐데&amp;#039; 하는 생각이 들었다.&lt;br /&gt;
* 공부라는 본래의 목표보다 결과에 치중 - Program Output 이 본 목적이 아님에도 불구하고, 후배들과 끝까지 같이 진행하지 못하고 중간중간 단독진행을 하였다.&lt;br /&gt;
* 초기 SPEC이 너무 추상적이였다. - 프로젝트 중간에 합류한 상규의 경우 프로젝트의 스펙을 이해하지 못했고, 완성된 Output 에 대한 그림을 그리지 못했다.&lt;br /&gt;
* 초기 목적이 구체적이지 못했다.&lt;br /&gt;
&lt;br /&gt;
=== 잘된 경우에 대한 원인 분석 ===&lt;br /&gt;
* deadline 을 잘 맞췄다. &lt;br /&gt;
** 초기 모임시에 Spec 을 최소화했고, 중간에 Task 관리가 잘 이루어졌다. 그리고 Time Estimate 가 이루어졌다. ([[ProjectZephyrus/Client]]) 주어진 자원 (인력, 시간)에 대해 Scope 의 조절이 비교적 잘 되었다.&lt;br /&gt;
&lt;br /&gt;
* 서버팀의 문서화가 잘 되었다. &lt;br /&gt;
** 서버팀 진행자인 [[neocoin]] 의 성실성&lt;br /&gt;
&lt;br /&gt;
* Server Architehcute 디자인이 잘 되었다. &lt;br /&gt;
** 초기 Up Front Design 에 신경을 썼다. Design Pattern 의 도입으로 OCP (OpenClosedPrinciple) 가 잘 지켜졌다. &lt;br /&gt;
&lt;br /&gt;
* PairProgramming 에 신경을 썼다. &lt;br /&gt;
** PairProgramming 전에 진행 전략을 세웠다. (5분 PP 라던지, PP 순서시 간단한 Modeling 뒤, Sequence Diagram 등을 그리고 난 뒤 진행을 한다던지, 후배들에게 프로그래밍이 완성되었을 경우에 어떠어떠하게 돌아갈 것이다 라고 미리 그 결과를 생각해보게끔 유도)&lt;br /&gt;
&lt;br /&gt;
* WORA 를 경험해볼 수 있었다.&lt;br /&gt;
** [[Java]] Language 의 특성.&lt;br /&gt;
&lt;br /&gt;
* CVS을 사용하면서 CVS의 유용함을 경험해볼 수 있었다.&lt;br /&gt;
** ZeroPageServer 에 CVS Web Client 를 설치하고, CVS에 대해 비교적 잘 아는 사람들이 다른 사람들과 PP를 하면서 그 장점을 목격하게끔 했다. &lt;br /&gt;
*** 추후 개인적 소스 컨트롤 (RCS 등을 이용)도 같이 실천하도록 하자.&lt;br /&gt;
&lt;br /&gt;
* 후기를 썼다.&lt;br /&gt;
** 선배들이 후기 기록에 솔선수범하였고, 그러면서 사람들이 후기 기록이 장점을 인식하게 되었다.&lt;br /&gt;
=== 잘못된 경우에 대한 원인 분석 ===&lt;br /&gt;
* server 팀과 Client 팀의 전체 meeting 이 거의 전무했다.&lt;br /&gt;
** 밑의 항목인 &amp;#039;팀원들의 스케줄 관리가 어려웠다&amp;#039; 와 관계됨. 팀원들의 열의가 부족했다. (특히 초반 프로젝트 참가자들), 팀원들이 &amp;#039;스케줄 조정&amp;#039; 에 대해 미숙했다.&lt;br /&gt;
** &lt;br /&gt;
&lt;br /&gt;
* 팀원들의 스케줄 관리가 어려웠다. &lt;br /&gt;
** 팀원들의 열의 부족과 연관. 우선순위에 대한 자각 부족. 체계적 시간관리능력의 부재.&lt;br /&gt;
&lt;br /&gt;
* IDE 가 팀별/개인별로 달라서 프로젝트 화일등을 업데이트해주어야 했다.&lt;br /&gt;
** 개인들 별로 IDE 의 선호가 달랐다. ([[Eclipse]], [[IntelliJ]], [[JCreator]] ) &lt;br /&gt;
** 처음부터 고려하여 각 IDE별 Setting 화일을 업데이트 시켜주기. Batch File 등으로 자동화하기. IDE 의 통일 고려.&lt;br /&gt;
&lt;br /&gt;
* 클라이언트 파트가 Doc Convention 을 지키지 않았다.&lt;br /&gt;
** [[1002]] 의 성실성 부족. JavaDoc 의 시선분산 문제. 잦은 디자인 수정에 따른 잦은 Documentation 수정문제. 서버팀과의 대화 부족.&lt;br /&gt;
** JavaDoc의 시선 분산 여부는 개인차와 주석에 대한 의견을 [[프로그램내에서의주석]]에서 토론되었다.&lt;br /&gt;
&lt;br /&gt;
* Server Program의 Design Evaluation 을 못하는데에 대한 스트레스&lt;br /&gt;
** Design Evaluation 의 방법을 몰랐다.&lt;br /&gt;
** Design Evaluation 을 꼭 해야 한다는 강박관념이 있다. &lt;br /&gt;
** 선배의 입장에서 후배들에게 나쁜 디자인을 보여주면 안된다는 무언의 PairPressure 경험&lt;br /&gt;
** DE를 공부하여 확인한다. &lt;br /&gt;
** 꼭 DE 가 필요하진 않다. &amp;#039;개발을 진행해 나가면서 문제점이 발견되었을때&amp;#039; 디자인을 수정해도 늦지 않다.&lt;br /&gt;
** egoless Programmer. 현재의 코드는 &amp;#039;나만의 것&amp;#039; 이 아니다. 같이 개발했으므로 그 팀의 책임일 뿐이다. &lt;br /&gt;
&lt;br /&gt;
* PP를 너무 지나치게 했다.&lt;br /&gt;
** 서버팀에서 일의 작업량과 수준을 잘못 측정해서 과도한 PP가 있었다.&lt;br /&gt;
&lt;br /&gt;
* 공부라는 본래의 목표보다 결과에 치중, 초기 목적이 구체적이지 못했다.&lt;br /&gt;
** 프로젝트의 목적이 공부 라는 인식의 부족. 공부한 부분에 대해서 (Swing, Java Network 등)에 대한 문서화가 없었다. SPEC 과 Output 에 치중한 점이 있다.&lt;br /&gt;
&lt;br /&gt;
* 초기 SPEC이 너무 추상적이였다.&lt;br /&gt;
** SPEC 에 대한 구체적 문서화 부족. 초기 문서화 대신에 팀의 모임시 대화로 대체하였는데, 후에 추가 멤버가 제시한 의견, 문서화도 부족했지만, 후속 멤버의 피드백 역시 부족하였다.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
* (아직 정리하지 못한 내용에 대해 추후 기억을 위한 키워드) - 추측록, 신기통, 최한기, Vision, Propose, Problem, Solution &lt;br /&gt;
----&lt;br /&gt;
ProjectZephyrus&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;Unknown</name></author>
	</entry>
</feed>