1. 날짜 언제가 좋아요? (몇 시부터?)
- 참고로 강의는 4시간 이상 6시간 정도 예상
2. 준비 중인 강의 주제
- 현재 준비 중인 주제는 "스테이트 패턴" 입니다.
- 예제로는
. 주석 제거 프로그램 만들기
. 사진 관리툴 편집 모듈 만들기
3. 반드시 참가하실 분들은 코멘트에 [참가]라고 남겨주시기 바랍니다.
인원 수 예측을 통해서 장소를 구하는데 참고하기 위함입니다.
4. 참가비 : 3만원
- 세금계산서가 필요하시면 3천원 더 주시고,
세금계산서는 다른 분에게 도움을 요청해야 하는 일이라서,
회사 돈으로 수강하시는 분 이외 분들은 웬간하면 그냥 들으세요 ㅡ.ㅡ
- 참가비는 장소 임대료 등에 쓰이며, 혹시 남는 돈은 제가 꿀꺽합니다.
(책쓰는데 보조금이라고 생각하세요)
- 학생은 최종 수강자 수를 고려하여 DC 또는 면제 예정
아래는 주석 제거 프로그램 만들기에 대한 순서입니다.
사진 관리툴 편집 모듈은 현재 드래그로 선택하기,
Ctrl 키로 멀티 셀렉트 하기,
이동 등만 완성된 상태입니다.
(세미나 때까지 얼마나 완성될지는 미지수 ^^;)
사진 선택 및 크기 변경 등의 문제는 준비 중이며,
이보다 객체를 클립보드에 복사하고,
다시 클립보드에서 붙여넣기 하는 기능 등을 먼저 구현하려고 합니다.
(사실 저는 이 모듈을 좀 수정해서 보드 게임용 라이브러리를 만들려고 합니다)
*** 주석 제거 프로그램 만들기 목차
1. 개요
* 프로그램 개요
- 델파이 소스 코드에서 주석을 제거하는 프로그램을 작성한다.
- 제거 대상은 { }, (* *), // 이다
- {$ ..}와 문자열 안에 있는 것은 제거 대상이 아니다.
* 알고리즘 개요
- 주석제거는 간단하게 소스를 한 글자씩 읽어서 주석이 시작되면
종료될 때까지 나오는 문자열을 무시하는 것이다.
- 이때 문제가 되는 것은 1 바이트 이상 조합하여 사용되는 주석들이다.
또한, 문자열 안에서 작은 따옴표 표시도 문제가 된다.
이들은 모두 2 바이트가 모여서 하나의 의미를 갖게 된다.
2. 문자열 제거하기
- 문제를 간단하게 하여 전반적인 흐름을 설명하고자, 문자열 제거부터 시작한다.
* 첫번째 시도 : Flag 사용
* 두번째 시도 : '' 처리를 위해 UnGetChar() 사용
3. 스택의 활용
"미래에 발생할 프로세스가 현재의 프로세스에 영향을 줄 수 있기 때문에,
현재의 프로세스에서의 판단을 잠시 유보(저장)하고,
미래의 프로세스가 실행될 때 이를 참고하여 최종 결정을 내려야할 때"
* 단위 요소별로 나열하기 : Flag 사용
4. State Pattern의 활용
"동일한 프로세스가 반복되면서 특정 조건(상태)에 따라 처리 경로가 변경될 때"
* State Diagram의 이해
* 단위 요소별로 나열하기 수정 : State Pattern 사용
5. 주석 제거 프로그램의 완성
"객체지향적 프로그래밍의 가장 큰 장점은 분업화에 있다."
* 우선 만들어 보기
* 분업화를 이용하여 소스 다듬기
|
제가 개인적으로 해오던 세미나의 연장입니다.