작성일 : 11-11-22 14:23
|
[.NET] [책 요약] 뇌를 자극하는 ASP.NET 2.0 프로그래밍
|
|
|
글쓴이 :
Mr가망생
 조회 : 4,291
|
Machine.config 웹서버 전체에 영향을 미침 (여기서 멤버자격 공급자 확인함, 프로필 공급자이기도 함)
Web.config 응용프로그램 또는 해당 폴더에만 영향을 미침 (14장. 프로필 속성선언, 익명사용자 권한 설정, 폼인증 기반 설정, sql 공급자 설정)
4장.
Main() 메서드는 개체를 만들고 다른 메서드를 호출할수 있는 프로그램의 진입점, 단 하나만 만들 수 있음
p.89
데이터 형식
주석 한줄 //
주석 여러줄 /**/
++a, a++ (같음) : a = a + 1 (
--b, b-- (같음) : a = a - 1
++a // 만 단독 사용가능, a = a+1 과 동일
& and
| or
^ xor
&는 좌측 피연산자가 false라도 무조건 우측 피연산자를 검사합니다.
반면 && 의 경우 좌측 피연산자가 false이면 우측 피연산자를 검사하지 않고 바로 false 라는 결과값을 반환합니다.
xor 은 좌우 피연산자가 서로 다르면 true를 반환하고, 같으면 false를 반환
P.105
연산자 우선순위
break : 중단하다, 선택문과 반목문 모두에서 사용됨
continue : 특정 지점에서 하위 모든 문장들을 무시하고 다음 반복문으로 제어권을 넘김(하단 명령문을 실행하지 않고 점프함) 오직 반복문에서만 사용됨
int result1 = str.IndexOf("I") / 가장먼저 찾은 문자열의 인덱스를 반환, 못찾았을 경우 -1을 반환
따옴표 : Console.WriteLine("str.IndexOf(\"I\") -> {0}",result1)
[분리 split]
bb = str.split("aa");
[공백제거]
aa = str.Trim()
[문자 변경]
aa = str.replace("boy","girl")
[대소문자 변환]
bb = str.ToLower();
bb = str.ToUpper();
substring
class Car{
private string name;
private string engine;
private string color;
}
클래스 외부에서는 속성의 get 접근자를 통해 속성에서 제공하는 데이터를 읽을 수 있고,
접근자를 통해 속성에서 참조하는 멤버변수에 값을 할당할 수 있습니다.
Car car1 = new Car();
car1는 Car 클래스의 개체임과 동시에, Car데이터 형식을 가지는 변수임
데이터형식_속성이름{
get{}
set()
}
get 접근자를 통해 속성에서 제공하는 데이터를 읽을 수 있고,
set 접근자를 통해 속성에서 참조하는 멤버변수에 값을 할당할 수 있음
public = > 엑세스가 제한되지 않음
protected => 포함하는 클래스 또는 여기에서 파생된 형식으로 액세스가 제한됨
private => 엑세스가 제한됨
표기하지 않으면 private 가 적용됨
배열선언
데이터형식[] 배열이름 = new 데이터형식[사이즈]
int[] weights = new int[10]
[5장]
aspx 파일내부에서 .net 코드 위치
<script runat="server"> 사이에 코드 위치함 </script>
if(Page.IsPostBack){} // 웹의 다시게시 여부를 반환
protected void Page_Load(object sender, EventArgs e){
if (!Page.IsPostBack) // 다시게시가 아니라면
{
TextBox1.Text = "초기화된 문자열";
}
}
[7장. 서버 컨트롤]
페이지간 다시게시
<asp:Button ID="Button2" runat="server" Text="페이지간 게시" PostBackUrl="aaa.aspx"/>
c#에서 개행문자는 \r\n이고, html 에서 개행문자는 <br> 이다. textbox 안에 존재하는 개행문자인 \r\n을 br로 바꿔주어야 함
response.write(textbox4.test.replace("\r\n","<br>"));
[아래 두개 알아볼것]
Page.PreviousPage
PostBackUrl
표준 컨트롤
AdRotator
Button
Calendar
BulletedList : <li>
TextBox
Label
Panel
PlaceHolder : 펑션이 실행되면 해당 펑션이 플레이스 홀더에 표시됨 (위치를 지정함), asp.net 245 페이지
LinkButton
ImageButton
CheckBox
RideoButton
CheckBoxList
RideoButtonList
DropDownList
ListBox
HyperLink
Image
ImageMap
FileUpload
HiddenField = <input type="hidden">
MultiView
View
사용자 정의 컨트롤 .ascx 확장자를 가짐
<%@ Register ~ 를 통해 파일 상단에 정의해줌%>
[모든 이벤트 처리기는 2개의 매개변수를 가짐]
sender 변수 : 이벤트가 발생하는 개체를 나타냄
e 변수 : 이벤트 관련 정보를 포함하는 이벤트 개체
Response.Write("TextBox4.Text.Replace("\r\n","<br>")")
파일제어 asp.net 책 8장에 있음
9장. 데이터 연동 관련 컨트롤
연결한다 = 바인딩한다
Repeater
DataList
GridView
DatailsView
FormView
10장. 테마
11장. 마스터 페이지
12장. 네비게이션
13장. 로그인 관련 컨트롤 : 한두줄로 로그인창이 만들어짐, 하지만 과연 수정이 가능한가?
14장. 프로필 : 외부의 데이터 소스에 자장되기 때문에, IIS를 재시작하거나 작업자 프로세스를 재시작 하더라도 데이터가 계속 유지됨
15장. 웹파트 (웹파트영역, 카탈로그 영역, 편집기 영역)
16장. 캐싱(caching)을 이용한 성능 향상
17장. 다국적 웹 사이트 만들기
폼 기반 인증 : HTML 쿠키와 HTML 폼을 이용한 인증 (web.config 파일에서 수정)
[클라이언트 측 상태관리 옵션]
뷰상태는 페이지 단위로 정보가 저장되기 때문에 동일한 페이지 내에서만 유효합니다.
//서버리소스를 사용하지 않음, 구현이 쉬움
ViewState["키"] = 값 // 정보저장
변수 = ViewState["키"] // 정보 참조
컨트롤상태는 뷰상태와 해제될 수 없기 때문에 컨트롤과 관련된 중요한 상태 정보는 컨트롤 상태에 저장하는 것이 안정적임
ControlState() // 사용자 지정 컨트롤과 관련된 부분으로 자세히 설명 하지 않음
쿠키의 단점 : 대부분의 브라우저에서 4096 바이트로 크기가 제한되고 있음 (page 505)
Response.Cookies["키"].value = 값; // 정보 저장
변수 : Response.Cookies["키"].value; // 정보 참조
쿠키에 값 담기
쿼리 문자열(Query String) 의 단점 : 크기가 2083 문자로 제한됨
쿼리 문자열은 http://www.spicus.com/index.aspx?Parameter1=a 에서 Parameter1=a 와 같이 url 에서 물음표 이후에 나오는 문자열을 의미함
string s1 = Request.QueryString("Parameter1");
[서버 측 상태관리 옵션]
응용 프로그램 상태 : 웹서버 메모리를 사용함
Application["키"] = 값; // 정보의 저장
변수 = Application["키"]; // 정보의 참조
세션상태 : 서버를 중지하면 세션은 사라짐
Web.config 파일에서 아래 부분을 추가하여, 세션 상태의 만료 시점을 설정할 수 있음
<system.web>
<sessionState timeout="시간(분 단위)">
</sessionState>
</system.web>
Session["키"] = 값;
변수 = Session["키"];
RefferUrl = Request.UrlReferrer.ToString();
Session["RefferUrl"] = RefferUrl
Ctrl + Shift + B
클래스 위에서
Ctrl + . -> 자동으로 임포트해야 할 네임스페이스에 대한 using 지시문을 추가해줌
Session.Contents.RemoveAll();
|
|