- 출판사 리뷰
http://insightbook.springnote.com/pages/646099
- 도서구입일
2009년 1월 19일
- 도서 목차
Stage 1 당신의 시장을 선택하라
Stage 2 자신에게 투자하라
Stage 3 실행
Stage 4 마케팅은 높으신 분들만 하는 게 아니다
Stage 5 자신의 강점을 유지보수하라
Stage 6 그들을 이길 수 없다면
- 끝까지 읽은 날짜
2009년 1월 26일
이 글은 스프링노트에서 작성되었습니다.
http://insightbook.springnote.com/pages/646099
2009년 1월 19일
Stage 1 당신의 시장을 선택하라
Stage 2 자신에게 투자하라
Stage 3 실행
Stage 4 마케팅은 높으신 분들만 하는 게 아니다
Stage 5 자신의 강점을 유지보수하라
Stage 6 그들을 이길 수 없다면
2009년 1월 26일
이 글은 스프링노트에서 작성되었습니다.
http://www.sallimbooks.com/?ch=book&act=book.view&no=1181
2009년 1월 19일
제1장 상사의 비밀
제2장 다가서야 할 상식, 피해야 할 상사
제3장 상사가 절대 나를 모욕하지 못하게 하는 최소기준
제4장 상사가 나에게 열광하게 하는 법
제5장 불편한 진실을 훌륭하게 전달하는 법
제6장 상사와 한번 나빠진 관계를 회복하는 법
제7장 쓰레기 상사에게 고삐를 채우는 법
제8장 나쁜 상사에게서도 잘 배우는 법
"돌이켜 보면 20년간 직장 생활을 하면서 가장 좋아햇던 선배는 '내게 잘해 주고 내 미래에 애정을 보인 사람'이었다. 반면 가장 기억나는 후배는 '나를 깍듯이 선배로 대우하고 최선을 다해 업무를 수행하는 믿을 만한 사람'이었다. 그에게는 아이디어를 구하기도 했고 먼저 기회를 주기도 했다.
2009년 2월 4일
이 글은 스프링노트에서 작성되었습니다.
서버 컨트롤이라 불리는 개체 타입에 대한 사용법과 이 서버 컨트롤에서 제공하는 이점에 대해 학습한다. 이 서버 컨트롤 개체는 ASP.NET의 큰 특징이다.
서버 컨트롤의 유형
고전적 ASP 3.0 페이지를 ASP.NET 페이지로 변경할 때 실행 속도를 향상시키고 싶은 경우 사용. HTML 요소를 HTML 서버 컨트롤로 변경하는 작업은 HTML 요소를 서버 컨트롤로 변경하는 작업보다 쉽다.
HTML 방식의 프로그래밍 모델을 선호할 때 사용
특정 브라우져에 적합하도록 코드를 명시적으로 제어하고 싶을 때 사용
복잡한 페이지의 요구 사항을 만족시키는 더욱 풍부한 기능이 필요할 때 사용
각 브라우져별로 적합한 코드를 생성해 다양한 종류의 브라우져에서 페이지를 보이도록 설정할 경우 사용
컨트롤과 그 속성을 사용하는 비주얼 베이직 방식의 프로그래밍 모델을 더욱 선호할 때 사용
ASP.NET에서 자바스크립트를 사용하는 방법중 Page.ClientScript개체를 이용하는 다음과 같은 방법이 있다.
스크립트가 페이지 상단에 생성된다.
스크립트가 페이지의 하단에 생성된다. 페이지의 컨트롤을 다루는 자바스크립트는 이 메소드를 많이 사용한다.
자바스크립트 파일인 .js를 등록 한다.
클라이언트 콜백
POSTBACK 처리 와 CALLBACK 처리의 차이점
정상적인 postback 처리시 발생 이벤트 순서
POST 요청 -> Init -> Load State -> Process Postback Data -> Load -> Postback Events -> Save State ->
PreRender -> Render -> Unload
콜백 이벤트 처리를 위한 이벤트 순서
콜백 이벤트 -> init -> Load State -> Process Postback Data -> Load -> Callback Events -> Unload
이 글은 스프링노트에서 작성되었습니다.
ASP.NET 2.0에서 강력해진 웹 어플리케이션 관리 기능과 웹 페이지 관리 기능에 대해 학습해보자. 이 장부터는 전문적이고 반드시 이해를 해야 할 이슈들이 나오기 시작한다. 학습에 집중하도록 하자
ASP.NET 1.0 과는 다르게 ASP.NET 2.0은 페이지 단위로 비지니스 로직을 코딩할 수 있다.
[표. 인라인 코딩 모델을 적용할 수 있는 ASP.NET 페이지 유형]
| 페이지 유형 | 파일 확장명 |
|---|---|
| [Web Form] | .aspx 파일 |
| [Master Page] | .master 파일 |
| [Web User Control] | .ascx 파일 |
| [Web Service] | .asmx 파일 |
비지니스 로직을 별도의 파일을 구성할 수 있으며 ASP.NET 2.0 부터는 분할 클래스(partial)르 지원한다.
[표. 코드 숨김 모델을 적용할 수 있는 ASP.NET 페이지 유형]
| 페이지 유형 | 파일 확장명 |
|---|---|
| [Web Form] | .aspx파일 => .aspx.cs / .aspx.vb |
| [Master Page] | .master 파일 => .master.cs / .master.vb |
| [Web User Control] | .ascx 파일 => .ascx.cs / .ascx.vb |
| [Web Service] | .asmx 파일 => .asmx.cs / .asmx.vb |
ASP.NET 페이지에서 핵심적인 부분으로 ASP.NET 페이지나 유저 컨트롤에 적용할 수 있는 지시문은 11개가 있다.
지시문은 페이지를 컴파일 할 때 컴파일러가 사용하는 명령으로 다음과 같은 Syntax를 가진다.
<%@ [Directive] [Attribute=Value] [Attribute=Value] ... %>
지시문은 관행적으로 페이지에 맨 앞에 두는 데 다른 곳에 두어도 컴파일시 문제는 없다. ( 그러나 코드 가독성 및 중요도에서 이 방법이 좋다. )
Register => 별칭을 사용해서 유저 컨트롤과 커스텀 서버 컨트롤의 네임스페이스와 클래스 이름을 나타내는 지시문이다.
특정 컨트롤과 관련하여 이벤트 구현을 서버 측 코드에서 구현한다.
ASP.NET 2.0 페이지 생성 과정 이벤트
포스트백이란 페이지 정보를 스스로에게 다시 알려주는 동작이다. 따라서 ASP.NET 페이지에서는 어떤 요청이 들어올 때 이 요청이 포스트백인지 아닌지 반드시 먼저 확인할 필요가 있다.
한페이지에서 다른 페이지로 모든 컨트롤 값을 전달, 웹 어플리케이션 개발시 가장 빈번히 발생하는 문제이다.
클래스나 .wsdl 파일 및 형식화된 데이터 셋 등이 저장되는 폴더. 여기에 저장된 항목은 솔루션 내의 모든 페이지에서 동적으로 활용될 수 있다.
파일이 저장됨과 동시에 비주얼 스튜디오에서 자동 컴파일 된다. 또한 App_Code 폴더에 추가된 모든 파일은 하나의 단일한 어셈블리로 컴파일 되며 특정 프로그래밍 언어에 제약을 받지 않는다. 여기서 유의할 점은 단일한 어셈블리로 구현되므로 서로 다른 프로그래밍 언어를 사용하는 클래스는 함께 있을 수 없다. 따라서 서로 다른 프로그래밍 언어를 사용하려면 다음과 같이 폴더 구조를 나누고 web.config파일을 수정해야 한다.
[App_Code 폴더 구조]
\App_Code
VB
Add.vb
CS
Subtract.cs
[web.config 수정 항목]
<compilation>
<codeSubDirectories>
<add directoryName="CS"></add>
<add directoryName="VB"></add>
</codeSubDirectories>
</compilation>
어플리케이션이 사용하는 데이터 저장소. 예를 들면 .mdf, .mdb, .xml등의 데이터 파일을 저장한다. 어플리케이션을 구동하는 계정은 이 폴더안에 있는 모든 파일에 읽기와 쓰기 권한을 가진다.
모든 페이지에 일관된 룩앤필을 제공하는 새로운 기법. .skin 파일, css 파일, 이미지 등으로 구현
리소스 파일은 어플리케이션에서 데이터 사전 용도롤 활용하는 문자열 테이블. .resx 파일을 추가하면 이 파일은 동적으로 컴파일되며 어플리케이션의 모든 .aspx 페이지에서 사용 가능
특정 .aspx 페이지에만 리소스를 적용할 경우 이 폴더를 사용. 예를 들면 Default.aspx.resx, Default.aspx.fi.resx 와 같다.
웹 참조 폴더. 어플리케이션에서 참조하는 원격지의 웹 서비스에 자동으로 엑세스 할 수 있다.
.browser파일을 저장하는 곳. 이파일은 요청한 브라우져가 무엇인지 식별하고 그 브라우져에서 제공하는 기능을 이해하는 데 사용하는 XML 파일. 기본 설정 내용은 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\Browsers폴더에서 찾을 수 있다.
ASP.NET 어플리케이션의 구동 프로세스 상에서 브라우져 요청페이지의 빠른 응답을 위해서 사전 컴파일 방법을 수행한다.
컴파일러 위치 : C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_compiler.exe
aspnet_compiler -p "C:\Inetpub\wwwroot\HOME" -v none
aspnet_compiler -v [Application Name] -p [Physical Location] [Target]
애플리케이션의 IIS 메타베이스 전체 경로를 지정한다. 만일 -m 명령어를 사용하면 -v 명령어나 -p 명령어를 사용할 수 없다.
컴파일될 어플리케이션의 가상 경로를 지정한다.
컴파일될 어플리케이션의 물리적 경로를 지정한다.
컴파일될 파일이 어디에 위치해야 하는지 목표 디렉토리를 지정한다.
어플리케이션 수준의 이벤트, 개체, 변수 등을 관리하는 파일
처리 가능한 이벤트
어플리케이션 요청이 처음 전달될 때 호출. 모든 사용자에게 반드시 유지되어야 하는 사항을 저장하는데 최적의 장소
각 사용자마다 어플리케이션을 처음 엑세스 할 때 발생
모든 요청이 어플리케이션에 들어오기 직전에 호출
각 요청마다 호출되며 이 이벤트를 사용하면 해당 요청에 대한 사용자 맞춤형 인증을 설정할 수 있다.
어플리케이션 임의의 지점에서 오류가 발생하면 호출
세션상태가 InProc 모드로 동작할 경우에만 지원되며 세션이 만료되면 호출
어플리케이션이 종료될 때 호출
이 글은 스프링노트에서 작성되었습니다.
비주얼 스튜디오 2008이 나온 현 시점에서 별 의미 없는 장일 수도 있으나 마이크로소프트의 하위 호환성 정책을 보면 알수 있듯이 2008 버젼을 이해하는데도 도움이 되기에 학습하도록 한다.
<그림 HTML 소스 코딩 툴바>
위 그림의 툴바에서 접근성 체크 버트을 누르면 아래 그림과 같은 창이 표시 된다.
<그림 접근성 유효성 창>
위 그림 같은 창에서 유효성을 확인하여 해당 HTML을 소스에서 요효성 오류를 확인할 수 있다.
또한 셀렉트 버튼에서 유효성을 확인하고자 하는 DTD를 선택할 수 있다.
소스 에디팅 창에서 오른쪽 마우스 클릭시 표시되는 Context 메뉴에서 코드 조각 삽입 (Insert Snippet ...) 메뉴를 선택하면 해당 테마와 관련된 소스 코드의 형태가 자동으로 삽입되어 개발자의 개발 생산성을 높여준다.
또한 코드 조작 관리자 ( [도구 : Tools] -> [코드 조각 관리자 : Code Snippets Manager ...] ) 를 통해 사용자 정의 코드 조각을 추가 할 수 있다.
이 글은 스프링노트에서 작성되었습니다.
출판사 리뷰
* ASP.NET 애플리케이션에서 사용하는 서버 컨트롤의 개념과 그 중요한 역할
* 신규 마스터 페이지 기능을 사용해서 템플릿화된 ASP.NET 페이지의 생성방법
* 디버깅과 오류 제어기법
* 마이크로소프트 SQL 서버 2005와 오라클(Oracle)과 같은 기업용 데이터베이스의 데이터 조작방법
* ASP.NET 애플리케이션을 패키징해서 배포하는 방법
* 데이터를 신속하게 가져오고 갱신하고 삭제하는 방법
* 문화권과 지역화 기능을 활용해서 각 방문자에 따라 웹 사이트를 여러 언어로 지역화하는 방법
* ASP.NET 2.0에 Altas를 추가로 설치한 다음 ASP.NET 애플리케이션에 Ajax 방식을 활용하는 방법
* 데이터 저장소나 프로세스, 그밖에 기타 항목에 액세스하는 데 신규 공급자 모델을 사용하고 확장하는 방법
* 신규 모니터링 도구들로 애플리케이션의 성능과 상태를 추적하는 방법
* ASP.NET 1.x 애플리케이션을 ASP.NET 2.0으로 전환하는 시기와 방법
구입일시
2008년 10월 21일
chapter 1 ASP.NET 2.0 입문
chapter 2 비주얼 스튜디오 2005
chapter 3 애플리케이션과 페이지 프레임워크
chapter 4 ASP.NET 서버 컨트롤과 클라이언트 스크립트
chapter 5 ASP.NET 웹 서버 컨트롤
chapter 6 ASP.NET 2.0 웹 서버 컨트롤
chapter 7 유효성 검사 서버 컨트롤
chapter 8 마스터 페이지 활용하기
chapter 9 테마와 스킨
chapter 10 컬렉션과 리스트
chapter 11 ASP.NET 2.0의 데이터 바인딩
chapter 12 ADO.NET으로 데이터 관리하기
chapter 13 XML 사용하기
chapter 14 공급자 모델 소개
chapter 15 공급자 모델 활용
chapter 16 사이트 내비게이션
chapter 17 개인화
chapter 18 회원관리와 역할관리
chapter 19 포털 프레임워크와 웹 파트
chapter 20 보 안
chapter 21 상태 관리
chapter 22 캐 싱
chapter 23 디버깅과 오류 처리하기
chapter 24 파일 입출력과 스트림
chapter 25 유저 컨트롤과 서버 컨트롤
chapter 26 모듈과 처리기
chapter 27 비즈니스 개체 사용하기
chapter 28 모바일 개발
chapter 29 XML 웹 서비스 구현하고 사용하기
chapter 30 지역화
chapter 31 구성설정
chapter 32 진단 도구
chapter 33 웹 사이트 운영과 관리
chapter 34 ASP.NET 애플리케이션의 패키징과 배포
appendix A C# 2.0과 비주얼 베이직 8.0의 변경사항1567
appendix B ASP.NET 1.x 프로젝트 마이그레이션하기
appendix C Atlas 사용하기
appendix D ASP.NET 온라인 자료
이 글은 스프링노트에서 작성되었습니다.
http://shop.youngjin.com/commerce/main_noleft.asp?PROD_CD=9788931437973&big_cd=01&middle_cd=004
2009년 1월 19일
Chapter 01 실버라이트와 RIA
Chapter 02 익스프레션 블렌드의 소개
Chapter 03 실버라이트 애플리케이션의 이해
Chapter 04 실버라이트 컨트롤
Chapter 05 그래픽
Chapter 06 애니메이션
Chapter 07 스타일과 템플릿
Chapter 08 Visual Studio 2008의 소개
Chapter 09 실버라이트를 위한 C#의 이해
Chapter 10 실버라이트의 구조화 이벤트의 활요
Chapter 11 실버라이트 with Deep Zoom
Chapter 12 실버라이트의 활용
Chapter 13 실버라이트와 웹
Chapter 14 실버라이트와 네트워크
Chapter 15 실버라이트와 미디어
이 글은 스프링노트에서 작성되었습니다.
http://www.hanb.co.kr/look.php?isbn=978-89-7914-622-6
2009년 1월 19일
이 글은 스프링노트에서 작성되었습니다.
ASP 2.0 에서 사용되는 특별한 용도의 디렉토리들 MSDN
1. App_Code
웹응용프로그램에서 사용하는 클래스들의 소스코드를 저장, 참조페이지가 요청될 때 자동으로 컴파일된다.
2. App_Browsers
요청을 처리할 브라우져별 정보를 정의한 파일을 저장
3. App_Data
웹 응용프로그램에서 사용하는 데이터 파일 저장, 예를 들면 mdb, mdf, xml 파일 등
4. App_LocalResources
마스터페이지, 사용자 정의 컨트롤, 리스소 파일(resx, resources) 을 저장
5. App_GlobalResource
웹 응용프로그램 전체에서 공유할 수 있는 자원을 정의하는 resx파일 저장
6. App_Themes
페이지나 컨트롤에 적용되는 테마 관련 파일들을 저장
7. App_WebReferences
웹서비스와 관련된 프록시 클래스나 스키마등의 파일 저장
8. Bin
웹 응용프로그램에서 사용할 로컬 어셈블리를 저장
ASP 2.0 에서 페이지간 데이터 통신
1. get방식으로 URL에 파라미터를 통해 전달
2. post방식으로 form 전송
3. 세션에 데이터 저장 후 사용, 세션 데이터가 서버로 저장되므로 서버측 자원을 소비
4. 페이지간 포스트백을 이용
5. 서버에서 System.Web.HttpServerUtility.Transfer 메서드를 이용
UserControl에서 상속받은 속성
추가속성
Master : public
최상위 마스터페이지는 null을 반환, 즉 상속받은 마스터페이지에 대한 MasterPage 개체를 반환 [ 중첩된 마스터 페이지인 경우만 유효값 반환 ]
MasterPageFile : public
최상위 마스터페이지는 null을 반환. 상속받은 마스터 페이지의 경로 : PreInit 이벤트에서 MasterPageFile 속성 값을 다른 마스터페이지로 변경가능 [ 마스터 페이지를 동적으로 변경할 때 사용 가능 ]
ContentPlaceHolders : protected
마스터 페이지의 ContentPlaceHolder 컨트롤들의 ID를 저장하는 IList 타입의 컬렉션
ContentTemplates : protected
자식페이지에 정의된 Content 컨트롤에 대한 IDictionary형 컬렉션, 자식페이지의 Content 컨트롤을 렌더링하는 ITemplate 개체 포함
MasterPage 동적으로 변경하기
1. 반드시 PreInit 이벤트에서 MasterPageFile 속성에 마스터 페이지의 새 경로를 설정
2. 내용 페이지의 코드 블럭에서 변경
이 글은 스프링노트에서 작성되었습니다.
| 이벤트 | 설명 |
| BundleEvent | 번들의 Life Cycle 변경을 알리기 위한 이벤트 |
| ServiceEvent | 서비스의 변경사항등을 알리기 위한 이벤트 |
| FrameworkEvent | OSGi 프레임워크의 변경사항을 알리기 위한 이벤트 |
| 번호 | 이벤트 | 설명 |
| 1 | STARTED | 프레임워크를 시작할 때 발생하는 이벤트 |
| 2 | ERROR | 프레임워크가 오류가 발생했을 때 던져주는 이벤트 |
| 3 | PACKAGES_REFRESHED | 각 번들이 임포트/익스포트하는 패키지가 리프레시되었을때 발생하는 이벤트 |
| 4 | STARTLEVEL_CHANGED | 각 번들의 ServiceLevel이 변경되었을 때마다 발생하는 이벤트 |
| 5 | WARNING | 번들에 관련하여 경고가 있을 때 발생 |
| 번호 | 이벤트 | 설명 |
| 1 | REGISTERED | 서비스가 등록된 후에 발생하는 이벤트 |
| 2 | MODIFIED | 서비스가 변경된 후에 발생하는 이벤트 |
| 3 | UNREGISTERING | 서비스가 삭제되기 전에 발생하는 이벤트 |
1. 이벤트를 받고자 하는 Client가 이벤트 리스너를 생성해서 이벤트를 실제 생성하는 이벤트 객체에 자신을
등록
2. 이벤트 소스는 OSGi 프레임워크가 되고, 작성한 번들의 액티베이터가 이벤트 리스너이다.
3. Add Listener 함수에서 이벤트 소스는 전달받은 이벤트 리스너들은 자신이 관리하는 리스너 객체 리스트
에 추가한다.
4. 이벤트소스는 이벤트 발생시 이벤트 객체를 생성하고, 자신이 관리하는 리스너 리스트에 있는 모든 리스너
객체들의 handleEvent 메소드를 호출하여 이벤트가 발생했음을 통보
이벤트 타입을 표시하기 위한 주제 속성. [주로 Event Listener들이 자신이 원하는 이벤트만 받고자 할 때 필터링시 사용]- '/'로 분리된 Reverse Domain 형태의 계층 구조 스트링을 사용- 일반적으로 fully/qualified/package/ClassName/ACTION 형태의 구조를 가진다.
| 값의 형식 | 키 이름 문자열 | 속성 상수 | 설명 |
| BUNDLE | bundle | Bundle | 해당 이벤트와 관련된 번들 |
| BUNDLE_ID | build.id | Long | 번들의 ID |
| BUNDLE_SYMBOLINAME | bundle.symbolicName | String | Manifest에 정의된 번들의 SymbolicName |
| EVENT | event | Object | 이벤트 재전송을 위해 쓸 수 있는 현재 이벤트 객체 자체 |
| EVENT_TOPIC | event.topics | String[] | 이벤트가 해당하는 Topic 값, Event개체의 topic 변수와 중복되는 값이지만, 필터링할 때 사용할 수 있도록 Properties안에도 들어 있다. |
| EXCEPTION | exception | Throwable | 발생한 Exception 또는 Error 개체 |
| EXCEPTION_CLASS | exception.class | String | Exception 클래스 이름 |
| EXCEPTION_MESSAGE | exception.message | String | Exception.getMessage()에서 얻어지는 Exception 문자열 |
| MESSAGE | message | String | 이벤트의 내용을 설명하는 문자열 |
| SERVICE | service | ServiceReference | 등록되거나 수정된 Service에 대한 ServiceReference |
| SERVICE_ID | service.id | Long | Service의 ID |
| SERVICE_OBJECTCLASS | service.objectClass | String[] | 서비스의 실제 객체인 objectClass의 이름배열 |
| SERVICE_PID | service.pid | String | 프레임워크에서 부여한 Service의 Persistent ID값 |
| TIMESTAMP | timestamp | Long | 이벤트가 일어난 시간 |
| 번호 | 메소드 | 설명 |
| 1 | ServiceTracker() | 생성자 |
| 2 | open(), close() | 사용전 반드시 open, 사용 후 close |
| 3 | getService(), getServices() | ... |
| 4 | getServiceReference(), getServiceReference() | ... |
| 5 | waitForService(timeout) | 데드락 발생가능성 때문에 반드시 스레드로 작성해서 호출해야 한다. |
| 상태정보 | 정의 | 값 |
| Installed | public static final int INSTALLED | 0x00000002 |
| Resolved | public static final int RESOLVED | 0x00000004 |
| Uninstalled | public static final int UNINSTALLED | 0x00000001 |
| Starting | public static final int STARTING | 0x00000008 |
| Active | public static final int ACTIVE | 0x00000020 |
| Stopping | public static final int STOPPING | 0x00000010 |
| 번호 | 기능 |
| 1 | 새로운 번들 설치 : installBundle(...) |
| 2 | 번들정보 얻어오기 : getBundle(...) |
| 3 | 서비스 등록하기 및 서비스 가져오기 |
| 4 | 프레임워크 이벤트에 Subscribe 또는 Unsubscribe 하기 |
| 5 | 영구저장소에 파일 생성하기 : getDataFile(...) |
| 6 | 시스템 프로퍼티 읽어오기 : getProperty(...) |
펼쳐두기..
펼쳐두기..
펼쳐두기..