본문 바로가기

C#/근웹 연대기

c#으로 근본 없는 웹서버 개발기 23 : cshtml 파싱 - 파스노드 분류

⚠WARNING
ASP.NET에 대한 포스팅이 아닙니다
나가실 문은 오른쪽 하단입니다

 

 

근 며칠사이, 환난 속에서 퇴고를 거듭하여 파스노드의 분류작업을 마무리하였다.

 

Sunburst chart

중복코드 회피하기와 깔끔한 분류하기 사이에서 밀당 끝에, 15개가 되었다.

흰색인 부분은 추상클래스 OR 개념적인 부분이다. (코드가 없을수도 있을수도 있음)

 

그럼 사전에 언급했듯이, 3시 방향부터 시계방향으로 소개하겠다.

 

CSS : CSS영역을 관장한다.

 

Tag : 말 그대로 태그의 시작과 끝을 관장한다.

 

Tag String : Html태그의 속성의 값부분. width = "10" 처럼 10에 해당하는 문자열이다.

 

Html - In : Html태그의 자식이 되는 영역을 관장한다.

 

Html - Section : 레이아웃이 분열 될 때, 해당하는 영역을 관장한다.

 

Script - in : 자바스크립트 코드 영역을 관장한다.

 

Script - String : 자바스크립트의 문자열에 해당되는 부분이다.

 

Express - Inline : Razor구문 @( value ) 이다.  값을 반환하기 위한.

 

Express - Implicit : @value 처럼 위에서 괄호를 제거하여 귀찮니즘을 반영한 버전으로 공백이나 특수문자를 만나면 구간이 끝나는데, 그것으로 인해 new String("?") 같이 생성과 동시에 값을 반환하는 것은 불가능하다.

애매하다 싶을 때는 괄호가 있는 것을 사용해야 한다.

 

C# - Block : Block Statement로 if, else, try, catch, finally, for, foreach, do, while 그리고 look 영역을 관장한다.

 

C# - Function : 클래스맴버 영역을 관장한다.

 

C# - In : C# 코드 영역을 관장한다.

 

C# - String : C#의 문자열에 해당되는 부분이다. 문자열 보간에 삽질 꽤나 했다.

 

C# - Layout : Section과 깔맞춤 되는부분으로 부모페이지와의 연결고리다. (생각한대로 잘 될지 기대가 된다)

 

C# - Using : C#의 Using이다. 이것도 Implicit  처럼 끝나는 부분이 공백이나 특수문자로 구분된다.

 

 

이것으로 각 노드들의 소개를 마친다.

드디어, 파싱부문 가장 어려운 파트가 마무리가 되었다.

깔끔하게 정리한다고 적지않은 시간을 소모하였다.

테스트는 차차 나아지길 바라는 마음으로 해야 한다. (거의 안되어 있음)

 

다음 포스팅에서는 지금의 코드를 좀 더 정갈하게 하여 올릴 예정.