본문 바로가기

프로그래밍(TA, AA)

(248)
[쉘스크립트] 쉘스크립트 사용전 기초 쉘스크립트 사용전 기초 로그인 셸 확인 법)$ echo $SHELL /bin/bash 일반적으로는 FreeBSD는 tcsh, 리눅스와 Mac은 bash를 로그인셸로 사용합니다. 일부 고성능 셸인 zsh를 사용하는 경우도 있습니다. 로그인셸과 셸 스트립트를 실행하는 셸은 각각 별도이므로 같지 않아도 됩니다. 하지만 tcsh처럼 C셸 계열의 로그인셸을 이용할 때는 명령행에서 쓰는 문법과 셸 스크립트 문법이 일치하지 않으니 주의해야 합니다. 셸스크립트 작성법에디터는 일반적으로 vi(vim)이나 이맥스(emacs)를 사용하지만 지에디터(gedit) 같은 GUI 에디터를 써도 됩니다. 셸 스크립트 파일명은 자유롭게 지정 가능하지만 관례적으로 확장자를 .sh로 쓰므로 특별한 이유가 없는 한 .sh를 사용합니다. 파..
[자바] 자바 메모리 구조 자바 메모리 구조 메모리 구조를 정확히 이해하면, 같은 기능의 프로그램이더라도 메모리 관리에 따라 성능이 좌우돼며, 메모리 관리가 되지 않을 경우 속도저하 현상이나 튕김 현상이 일어날 수 있습니다. 또한 한정된 메모리를 효율적으로 사용하여 최고의 성능을 낼 수 있습니다. 다음은 자바 프로그램의 실행 구조입니다. 프로그램이 실행되기 위해서 windows나 linux같은 운영체제(OS)가 제어하고 있는 시스템의 리소스의 일부인 메모리(RAM:주기억장치)를 제어할 수 있어야 하는데, java 이전의 c같은 언어로 만들어진 프로그램은 이런 이유등으로 OS에 종속되어 실행됩니다. 반면, java 프로그램은 JVM(Java Virtual Machine) 이라는 프로그램만 있으면 실행이 가능하며, JVM이 OS에게서..
[자바스크립트] 브라우저 렌더링 브라우저에서 렌더링 성능은 중요한 요소 가운데 하나입니다. 렌더링 성능을 향상시키면 사용자가 느끼는 체감 속도를 개선할 수 있습니다. 자바스크립트로 동적인 작업을 실행할 때의 렌더링 문제를 최소화하여 성능을 높일 수 있습니다. 렌더링 과정렌더링이란 논리적인 문서의 표현식을 그래픽 표현식으로 변형시키는 과정입니다. 이 과정은 다음과 같이 크게 2단계를 거쳐 이뤄집니다. 1) DOM 요소와 스타일에 기반을 둔 레이아웃 계산2) 계산된 요소의 화면 표현 일반적인 전체 흐름은 브라우저에 문서가 로딩됨에 따라 DOM 트리의 구성이 진행되면 레이아웃을 계산한 후 문서에 요소를 그립니다. 렌더링이 진행되는 과정다음은 HTTP 요청 후 응답을 통해 구현되는 전체적인 브라우저의 처리 과정입니다. 1) DOM 트리 생성 ..
[JSP] 적절한 include 사용하기 일반적으로 JSP에서 소요되는 시간은 많지 않습니다. JSP가 가장 처음에 호출되는 경우에만 시간이 소요되고, 그 이후의 시간에는 컴파일된 서블릿 클래스가 수행되기 때문입니다. 그럼 JSP의 라이프 사이클을 간단하게 리뷰해 보면 다음과 같습니다. JSP의 라이프 사이클은 다음의 단계를 거칩니다. 여기서 해당 JSP 페이지가 이미 컴파일되어 있고, 클래스가 로드되어 있고, JSP 파일이 변경되지 않았다면, 가장 시간이 많이 소요되는 페이지 번역, JSP 페이지 컴파일, 클래스 로드, 인스턴스가 생성되는 과정을 생략되고 JSP URL이 호출되면 바로 인스턴스가 생성되어 바로 jspInit 메소드가 호출되는 방식으로 흐름이 이어집니다. 서버의 종류에 따라서 서버가 기동될 때 컴파일을 미리 수행하는 Pre-co..
[자바스크립트] 성능을 높이는 코드 스타일 자바스크립트의 기본 요소인 반복문과 조건문, 문자열 연산과 함께 배열과 객체의 생성과 초기화, 문자열 연산, 정규 표현식, 변수 탐색 등을 어떻게 작성하느냐에 따라 자바스크립트의 실행 성능을 높일 수가 있습니다. 같은 기능을 실행하는 다양한 코드의 성능을 비교해 어떻게 작성할 때 성능이 더 좋은지 확인하는 것도 개발자에게 필요한 습관입니다. 아주 기초적인 코드이더라도, 키초적인 코드를 어떻게 작성하느냐에 따라서 자바스크립트의 실행 성능에 큰 차이가 날 수도 있습니다. 이후 개발을 하면서 성능 향상 문제를 해결하려 성능 개선 요소를 보며 하나하나 적용하기 보다는 제시된 최적화된 코드의 형태로 코딩하는 습관을 몸에 익혀 놓는 것이 성능 개선에 좀 더 효과적인 방법입니다. 물론 경우에 따라 직접 성능을 측정하..