c#

C#이란


1. 마이크로소프트에서 개발한 객체 지향 프로그래밍 언어

2. 닷넷 프레임워크의 한 부분으로 만들었으며 나중에 ECMA (ECMA-334)와 ISO (ISO/IEC/23270)의 표준으로 자리잡음

3. C++와 자바의 문법과 비슷한 문법

4. garbage collection(가비지 컬렉션) 지원

(참조 : https://ko.wikipedia.org/wiki/C%EF%BC%83)



.NET Framework(닷넷 프레임워크)란


1. 2002년 마이크로소프트에서 개발한 윈도우 프로그램 개발 및 실행 환경으로서 프로세스 가상머신에 속함

2. 네트워크 작업, 인터페이스 등의 많은 작업을 캡슐화

3. 공통 언어 런타임(Common Language Runtime)(CLR)이라는 이름의 가상 머신 위에서 작동한다.

(윈도우 10 - 닷넷 프레임워크 4.6이 기본 탑재)



C# 애플리케이션 실행 순서


1. C# 소스코드 빌드

2. 컴파일러에 의해 삽입된 CLR(Common Language Runtime, 가상 머신 역할) 로더 실행

3. IL Code(Intermediate Language, 중간 언어 코드) 실행

'Programming > C#' 카테고리의 다른 글

[C#] C#이란  (0) 2018.04.19


안티패턴(anti-pattern)이란

소프트웨어 공학분야 용어로 실제 많이 사용되는 패턴이지만 비효율적이라 사용을 지양해야할 코드들을 의미


안티패턴(anti-pattern) 종류와 개선방안 (계속 추가)


종류 

 link 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


'Programming > Anti-pattern' 카테고리의 다른 글

[JavaScript] Anti-pattern  (0) 2018.03.20

1. Reflow와 Repaint란


웹페이지의 렌더링 과정중 발생하는 것으로 

부하가 높음. UI가 느려지는 원인이 됨.

특히 Refolw부하가 더 높기 때문에 최대한 피하는 편이 좋음


2. Reflow와 Repaint


-Reflow 

크기와 위치에 맞게 브라우져에 셋팅되는 과정


-Repaint

시각적인 요소가 셋팅되는 과정

배경색 -> 배경이미지 -> 테두리 -> 자식 -> 아웃라인


3. Reflow와 Repaint 사례


 Reflow 사례

 Repaint 사례

 Render Tree (Layout)에 영향을 주는 행동을 했을 경우 발생

 영향을 받은 모든 노드의 수치를 다시 계산하여 렌더트리 재생성

 Render Tree (Layout)에 영향을 주지 않는 것을 변경했을 경우 발생


 1) 윈도우 리사이징(너비 높이 변경)

 2) 폰트 변화

 3) 스타일 추가, 제거

 4) 내용 변화 (input 텍스트 입력)

 5) JS를 통한 DOM 동적 변화

 1) background-color

 2) visibillty, outline등 스타일 변경


* 단, 노드의 위치, 크기변경되는 경우, 노드가 추가, 삭제되는 경우는 Reflow, Repaint 모두 발생


4. Reflow 피하는 방법


1) 인라인 스타일 지양하기

2) table-layout:fixed 제외, 테이블은 사용 지양하기 (점진적 렌더링에 방해되지 않도록 table-layout:fixed사용)

3) 변경이 자주 일어나는 요소는 Absolute에 배치 (전체 노드에서 분리)


배치 방법

* Normal : 문서안 위치는 유형, 면적에 따라 배치, 랜더트리에서 DOM트리 위치와 동일

* Float Normal과 같이 배치된 후 왼쪽 or 오른쪽으로 이동

* Absolute : DOM트리와 다른 트리에 배치 (position:absolute, position:fixed)

4) 스타일 변경은 DOM구조상 제일 끝단 노드에서 수행

5) 스타일 변경은  한번에 처리하기

6) 스타일 최적화 하기(CSS최소화)

7) IE의 경우 CSS에서 js표현식 쓰지 않기

8) position:relative사용시 주의 하기



참고 : http://www.phpied.com/rendering-repaint-reflowrelayout-restyle/

'Extra' 카테고리의 다른 글

[Extra] Reflow와 Repaint  (0) 2018.03.20
[Extra] Rendering  (0) 2018.03.19
[Extra] 순차탐색 이진탐색  (0) 2018.03.16
[Extra] 32비트와 64비트 운영체제 차이  (0) 2018.03.12
[Extra] Big-O(빅오 표기법)  (0) 2018.03.11

+ Recent posts