Linux 관련 커뮤니티에 올라오는 글들을 보면 가끔씩 임베디드 보드나 미니 ITX 보드등에 CF 카드나 메모리 기반 저장장치를 이용해서 리눅스 박스를 꾸미는 분들이 글을 올리시곤 합니다. 재밌어 보이기도 하지만 막상 시도해보려면 장애물이 많죠. 하드웨어 구매에서 리눅스 설치까지 난관이 많습니다. 10월 28일에 한국IBM DeveloperWorks에 임베디드 리눅스 배포판을 설치하는 튜토리얼이 올라와있어서 소개합니다.

원문 : 바닥부터 만들어보는 임베디드 리눅스 배포판


임베디드 환경에서 쓸 수 있는 리눅스(Linux®) 배포판을 어떻게 만들 수 있을지 배워보겠습니다. 이 내용에서는 TS-7800 싱글 보드 컴퓨터를 동작시키는 경우를 예로 들었습니다. 이 튜토리얼에서는 크로스 컴파일링(cross-compiling), 부트 로더(boot loader), 파일 시스템, 루트 파일 시스템, 디스크 이미지, 부트 프로세스 등 시스템을 만들고 배포판을 생성하는 데 결정해야 할 모든 측면에 대해 배울 것입니다.

시작하기 전에

목표

이 튜토리얼에서는 대상 시스템에 리눅스를 어떻게 설치할지 보인다. 미리 만들어진 리눅스 배포판을 쓰는 게 아니라 처음부터 독자들 스스로 만들어내는 것이다. 당연히 대상에 따라 상세 과정은 다르지만 일반적인 주제는 똑같이 적용된다.

이 튜토리얼을 끝내고 나면(적절한 대상 시스템을 갖고 있다면) 셸 프롬프트가 깜빡거리는 제대로 동작하는 리눅스 시스템이다.

이 튜토리얼에 관해

튜토리얼은 크로스 컴파일에 관한 이슈 토론으로 시작한다. 그러고 나서 리눅스 시스템의 컴포넌트가 무엇인지 그리고 이것들을 어떻게 한데 넣을 것인지 논의한다. 빌드와 설치 그리고 대상 시스템의 설정에 대해서도 다룬다.

여 기서 논의할 구체적인 대상 시스템인 Technologic Systems의 TS-7800은 기본적으로 스스로 부트할 수 있는 기능을 갖고 있다. 다른 시스템은 다른 메커니즘을 갖고 있을 것이다. 그리고 이 튜토리얼에서는 이외 모든 가능한 부트 로더에 대해 그다지 자세하게 다루지는 않을 것이다.

먼저 준비해야 할 것들 그리고 시스템 요구 사항

대상으로 삼을 임베디드 시스템에 관심을 갖고 있는 개발자들이든, 꼭 그렇지 않더라도 그저 리눅스 시스템이 어떻게 생겼는지 들여다보고 싶은 개발자들이든 이 튜토리얼에서 많은 걸 얻을 것이다.

사용할 호스트 환경은 우분투(Ubuntu)이지만 다른 시스템도 동작한다. 기본적으로 유닉스(UNIX®)나 리눅스 시스템 관리를 할 수 있다고 가정한다. 이 튜토리얼에서는 호스트 시스템에 루트(root) 접근을 갖고 있다고 가정한다.

이 튜토리얼에서는 여러분이 사용할 셸이 본(Bourne)셸 종류라고 가정한다. C셸을 사용한다면 아마도 프롬프트가 다르게 나타날 텐데 환경 변수 설정할 때 다른 명령어를 사용해야 할 필요가 있을 것이다.

크로스 컴파일링을 위해 필자는 2008년 5월에 발표된 crosstool-ng 버전 1.1.0을 사용했다. 배포 사이트(참고자료 참조)에서 다운로드할 수 있을 것이다. 설치와 설정에 대해서는 상세 내용을 참조하기 바란다.


 Java에서 Ajax로 웹개발할때 사용할 수 있는 웹 개발 프레임워크, 라이브러리, 툴킷에 대한 문서를 소개합니다. IBM DeveloperWorks에 공개된 문서중 "전문가다운 Ajax 애플리케이션 개발, Part 3: DWR, 자바, Dojo 툴킷을 사용하여 자바와 자바스크립트 통합하기"라는 문서입니다.
 Michael Garpin이라는 eBay의 개발자가 작성한 글로서 장동수님께서 번역하셧습니다.

지금 바로 이름이 떠오르는 자바(Java™) 웹 개발 프레임워크, 라이브러리, 툴킷만 해도 엄청나게 많습니다. 뭐가 뭔지, 어떤 것이 문제 해결에 도움이 될지 알아내는 것만 해도 버거운 일이죠. 그러나 Ajax 개발을 하고 있다면 반드시 알아두어야 할 라이브러리가 바로 DWR(Direct Web Remoting)입니다. 이 라이브러리는 자바 언어와 자바의 웹 기술을 사용하여 Ajax 개발을 더 쉽게 해줍니다. 이 라이브러리는 Ajax와 자바 웹 애플리케이션을 긴밀하게 통합하는 방법에 있어 기준을 제시합니다. DWR은 Ajax 기술들의 광범위한 연합인 Dojo 재단에 합류했습니다. 이 기사에서는 DWR을 사용하면 Ajax가 얼마나 간단해지는지 알아보겠습니다.

이 글은 Ajax 애플리케이션 제작에 사용할 수 있는 인기있는 자바스크립트 라이브러리들에 대해 알아보는 연재의 세 번째이자 마지막 기사다. Part 1에서는 Prototype 라이브러리를 사용하여 노래를 관리하는 웹 애플리케이션을 만들어 보았다. Part 2에서는 script.aculo.us를 사용하여 사진을 관리하는 웹 애플리케이션을 만들어 보았다. 이번에는 DWR을 사용하면 Ajax가 얼마나 간단해지는지 알아보자.

이 기사에서는 DWR 2.0을 사용한다. 예제 코드는 제네릭스(generics)와 어노테이션(annotation)을 사용하므로 자바 5 이상이 필요하다. 예제에서는 MySQL 5.12와 톰캣(Tomcat) 6.0.14를 사용하고 있지만, 쉽게 교체할 수 있을 것이다. 데이터베이스 접근을 위해 JPA(Java Persistence API)를 사용하며, JPA 구현체는 OpenJPA 1.0을 사용한다. 하이버네이트(Hibernate)나 Kodo 등의 다른 JPA 구현체로 바꿔도 된다. 이 기사에서는 Ajax 디버깅을 위한 멋진 도구인 파이어버그(Firebug: 파이어폭스용 플러그인)를 사용한다. 이 도구들에 대한 링크는 참고자료에 나와 있다.

DWR 소개

Ajax 애플리케이션이 처음 등장했을 때는 마법처럼 보였지만, 다행히도 개발하는 과정은 직관적이다. 모든 Ajax 상호작용은 서버 측 엔드포인트(endpoint: 웹 서비스에서 빌려온 용어)와 그 엔드포인트를 호출하는 클라이언트 측 코드가 필요하다. 또한 클라이언트와 서버가 주고받는 데이터를 직렬화(serialize)하는 코드도 필요하다. 서버 측 엔드포인트는 일반적인 서비스(RESTful이든 아니든)면 되지만, 클라이언트 측에는 종종 요구에 부합하는 좀 더 구체적인 코드가 필요하다. 강한 결합(tight coupling)을 피해야 할 때도 있지만, 필요할 때도 있다. 후자라면 DWR이 준비된 해결책이다. DWR은 선언적인 방법으로(declaratively) 서버 측 코드를 Ajax 엔드포인트로 만들 수 있고, 모든 부가적인 설비도 자동으로 만들어 준다. 지금부터 구체적인 예제를 통해 DWR이 어떻게 동작하는지 알아보자.


 루비 개발을 위한 IDE로 이클립스의 RDT 플러그인이 발전한 Apatana Radrails가 유명하죠. 저도 Apatana Radrails를 설치해보고 이것저것 플러그인을 설치하는데 시간을 보내곤 했었습니다. 이번에 IBM DW에 올라온 문서는 이클립스에서 루비 개발을 위한 RDT 플러그인에 대한 문서입니다. 간단하게 RDT를 설치했을때 루비 개발에 사용하는 뷰들에 대한 설명이 정리되어 있으며, 추가로 소개된 관련 문서들을 참고하면 루비 개발을 시작하는 분들에게 도움이 될 것입니다.

원문 : 이클립스를 이용한 쉬운 루비 개발


3년 전 developerWorks의 "이클립스용 Ruby Development Tools(RDT)" 라는 기사에서 RDT의 몇 가지 특징에 대해 소개했습니다. 당시 버전이 0.5였던 RDT는 Aptana RadRails로 불리며 Aptana Studio나 이클립스를 통해 사용할 수 있습니다. 이번 기사에서는 RDT 플러그인에 추가된 새로운 몇 가지 특징에 대해 소개하고자 합니다.

RDT 플러그인의 이름과 일부 코드는 변경되었지만 기본적인 기능과 사용조건(licensing terms)은 그대로다. 이클립스에서 루비 개발을 처음 시작한다면 'Neal Ford'의 "이클립스용 Ruby Development Tools(RDT)"에 루비 파일을 생성하고 편집기를 커스터마이징하는 방법, 실행하고 디버깅하는 방법에 대해 나와 있으니 참고하길 바란다. 이 기사는 Ford의 기사를 바탕으로 썼으며 아래와 같은 항목을 살펴볼 것이다.

  • 코드 폴딩 — 클래스와 메서드 들을 코드 폴딩할 수 있다.
  • 아웃라인 뷰 — 아웃라인 뷰를 통해 좀 더 자세하게 볼 수 있다.
  • RI(Ruby Interactive) 뷰 — RDT를 통해 RI 문서를 사용할 수 있다.
  • 작업 태그 — TODO와 FIXME 같은 주석 키워드를 통해 작업을 생성할 수 있다.
  • 루비 브라우저 — 프로젝트 내에서 사용 가능한 루비 리소스를 손쉽게 볼 수 있으며 이를 브라우징할 수 있다.
  • 편집기 기능 향상 — 자동완성(중괄호, 괄호, 큰따옴표, 작은따옴표), 코드 어시스트 기능

시작하기

현재 RDT는 Aptana RadRails V1.0.3으로 불리며 Aptana.com에서 받을 수 있다. 새 버전을 받거나 이클립스 플러그인을 갱신하려면 Aptana's RadRails instructions를 참고하면 된다. Aptana 플러그인을 설치해본 적이 없다면 Plugging Aptana into an existing Eclipse configuration을 참고하자. 또한 Aptana에서는 RadRails 문서를 통해 특정 운영체제에서 생기는 문제 해결방법도 제공한다.


 윈도우를 사용할 때도 마찬가지지만, 리눅스 시스템을 사용하다보면 크지는 않지만 알아두면 편리한 기능들이 있습니다. 이번에 소개할 문서는 그런 내용을 알려주는 문서입니다.

열가지 트릭을 소개하고 있는데요. 반응이 없는 DVD 드라이브 언마운트하기, Screen으로 협력작업 하기, 시스템정보 수집하기 등등의 유용한 팁을 알려주고 있습니다.

원문 : 게으른 리눅스 시트템 관리자를 위한 열 가지 트릭

열 가지 트릭을 익혀 전 우주에서 가장 강력한 리눅스(Linux®) 시스템 관리자가 되어봅시다. 음, 전 우주가 아닐지도 모르겠네요..., 하지만 큰 물에서 놀려면 이 정도 팁은 익힐 필요가 있답니다. SSH 터널, VNC, 암호 복구, 콘솔 훔쳐보기 등을 익힙시다. 각 트릭에는 예제가 따라오므로 각자 시스템에서 실험해볼 수 있습니다.

최강의 시스템 관리자는 효율성부터 다르다. 일반적인 관리자가 두 시간 만에 마칠 작업을 효율적인 시스템 관리자가 10분 내로 끝낸다면, 회사가 시간을 절약했고, 시간이 돈이니까 효율적인 관리자는 보너스를 받아야 하지 않겠는가?

트 릭은 효율성을 관리층에게 증명하는 데 있다. 이 기사에서 이런 정치적인 트릭을 다루지는 않겠지만 게으른 관리자의 트릭 주머니에 열 가지 핵심적인 보석을 넣어줄 계획이다. 여기서 소개하는 팁은 시간을 절약해주며, 좀 더 효율을 발휘해 돈을 벌지는 못할지라도 최소한 헤일로 게임을 하는 데 더 많은 시간을 확보할 수는 있을 것이다.



 시스템 운영자라면 가장 중요한 업무중에 하나로 꼽는것이 바로 백업일 것이다. "복구에 실패한 DBA는 용서해도 백업에 실패한 DBA는 용서 할 수 없다"는 모 강사님의 말씀처럼 백업의 중요성은 백번을 강조해도 과함이 없습니다.
 규모가 큰 업체라면 티볼리같은 백업 솔루션을 사용하기도하지만, 일반적인 중소기업에서는 백업을 위한 스토리지 확보도 힘든게 현실이죠.

 이 문서에서는 간단한 로컬 백업에서부터 넷트워크를 이용해서 분산 백업하는 방식 및 이와 관련된 사항들을 설명하고 있습니다. 백업을 위한 스토리지를 확보했다면 이제 백업을 실습해보고 실무에 적용해보는 것도 좋겠죠.


원본 : 리눅스에서 백업 자동화하기(쉽게 할 수 있는 보안 분산 넷트워크 백업 DIY)

매우 중요한 데이터 손실은 굉장히 파괴적입니다. 그럼에도 수많은 전문가가 데이터 백업을 무시합니다. 이유야 제각기 다양하겠지만 가장 공통적인 해명은 판에 박힌 백업 수행이 정말 허드렛일이라는 것입니다. 기계는 평범하고 반복되는 일을 하는 데 탁월하므로 본래부터 단조로운 일과 사람의 선천적인 미루는 성향을 줄이는 핵심은 백업 과정을 자동화하는 것입니다.

리눅스를 사용한다면 맞춤 백업 솔루션을 만드는 데 필요한 굉장히 강력한 도구에 접근할 수 있다. 이 글에서 다룰 솔루션은 간단하면서 좀 더 진보적이고 안전한 네트워크 백업을 수행하는 데 도움이 될 것이다. 이 일을 하는 데는 거의 모든 리눅스 배포판의 일부로 들어 있는 오픈 소스 도구를 사용할 것이다.




 각종 프로젝트를 진행하다보면 늘 맞닥뜨리게 되는 문제중 하나가 바로 문서화입니다. 지금 소개하려는 문서는 오픈소스 프로그램을 이용하여 어떻게 문서를 자동으로 생성할 수 있는지 알려줍니다.


원문 : 사람을 위한 자동화 : 전자동 문서화


프로젝트 문서화는 소프트웨어 제품을 내놓을 때 종종 필요악이 됩니다. 하지만 문서를 버튼 클릭 한 번으로 작성할 수 있다고 상상해 보세요. 사람을 위한 자동화 연재에서, 자동화 전문가 Paul Duvall은 오픈 소스 도구를 이용해 어떻게 UML(Unified Modeling Language), 빌드 다이어그램, ERD(Entity-relationship diagram), 그리고 심지어 사용자 문서까지 생성할 수 있는지 설명합니다.

소 프트웨어 개발 프로젝트에서 문서 쓰기를 좋아한다고 말하는 개발자를 만날 일은 별로 없다. 프로젝트를 떠나거나 늘 외로운 개발자가 되거나 사용자가 한 명도 없기를 바라지 않는 한(프로젝트에 좋은 징조는 아닐 것이다) 소프트웨어의 목적을 다른 사람들에게 알릴 반영구적인 방법이 필요하다. 애자일 선언문의 '종합적인 문서보다는 동작하는 소프트웨어'라는 문장을 문서가 필요없다는 의미로 오해하는 개발자들도 있다(참고자료). 다른 한편으로는 사용자 또는 다른 개발자들에게 불필요한 문서라는 부담을 지울 필요도 없다. 나는 행복할 수 있는 방안을 찾고 있다. 한 번 맞춰보라. 이 글에서 자동화로 프로젝트 문서를 만드는 프로세스를 합리적으로 만들고 문서 작성의 비극을 줄이는 방법을 보여줄 것이다.

본 연재에 대해

개발자로서 우리는 고객의 프로세스를 자동화하기 위해 일한다. 하지만 대부분은 우리 스스로의 개발 프로세스를 자동화할 수 있는 기회를 간과하곤 한다. 더 이상 그러지 않기 위해, 사람을 위한 자동화 연재를 기획하여 소프트웨어 개발 프로세스를 자동화하는 실용적인 사용법들과 성공적으로 자동화를 언제 어떻게 적용하는지 설명하겠다.

내 경험에 비춰봤을 때, 두 개의 핵심 문제 때문에 소프트웨어 개발 문서화가 병들고 있다. 첫 번째는 아무도 그것을 읽지 않을 것이라는 가능성 때문이다. 두 번째로 흔한 문제는 문서 작성 시기가 거의 대부분 지연된다는 것이다. 이 두 개 문제는 서로 관련이 있다. 문서가 현재 있다면 사람들은 그것을 읽으려고 했을 것이다. 문서 생성을 자동화하는 것은 그것을 항상 최신 상태로 유지함으로써 소프트웨어 사용자에게 더 유용하게 만들 수 있다.

물론 문서 작성을 자동화함으로써 다른 종류의 장점도 얻을 수 있을 것이다. 하지만 보통 고통을 유발하는 문서화 작업들을 자동화하는 방법에 초점을 맞추겠다(참고자료를 참조하여 아래 목록에 있는 도구 링크를 참조하라).

  • UMLGraph를 사용하여 현재 소스 코드를 기반으로 UML 다이어그램 생성하기
  • 스키마스파이(SchemaSpy)를 사용하여 데이터베이스에 있는 테이블과 관계들을 ERD로 생성하기
  • 그랜드(Grand)를 사용하여 앤트 빌드 타깃과 그 관계를 빌드 다이어그램으로 만들기
  • Doxygen을 사용하여 소스 코드 문서 작성하기
  • 독북(DocBook)을 사용해 사용자 문서 만들기

다음과 같은 순서로 설명할 것이다.

  1. 각각의 작업을 직접 수행할 때 생기는 이슈들을 설명한다.
  2. 아파치 앤트(Apache Ant)를 이용하여 그와 관련된 문서 또는 다이어그램 생성 도구를 사용하는 예제 코드를 보여준다.
  3. 코드 예제를 사용하여 만든, 즉 "스크립트로 생성한 문서" 이미지를 보여준다.

본 연재에서 보통 그래왔듯이, 모든 예제는 무료로 사용할 수 있으며 여러분의 프로젝트에 도입할 수 있는 오픈 소스 도구들을 사용하고 있다. 몇몇 도구(예를 들어, UMLGraph와 그랜드)는 그래프비즈(GraphViz) 같은 부가적인 도구를 사용하기도 한다. 이것은 특정 도구가 생성한 .dot 파일을 이용한다.


 실시간 아키텍쳐가 무엇인지 그리고 리눅스에서 지원되는 실시간 아키텍쳐에 대한 문서를 소개합니다.
 실시간 운영체제는 우리가 일반적으로 생각하는 정확한 연산이 이뤄지는 운영체제에 시간 제약이라는 요소까지 만족시키는 운영체제입니다. 이 문서에서는 "자동차가 충돌하는 시점에 에어백이 터지지 않는다면 없느니만 못하다"는 말로 실시간 운영체제의 예를 보여줍니다.


원문 : 실시간 리눅스 아키텍쳐 분석 (부드러운 실시간에서 딱딱한 실시간으로)


리눅스(Linux®)가 빠르거나 효율적이지 않다는 이야기를 하려는 의도는 아닙니다만, 어떤 경우에는 속력만으로 충분하지 않을 경우가 있습니다. 속력 대신 필요한 특성은 정해진 허용 범위 내에서 결정된 스케줄링 데드라인을 충족하는 능력입니다. 가상화 해법을 흉내내는 초기 아키텍처부터 표준 2.6 커널에 들어있는 옵션까지 다양한 실시간 리눅스 대안을 연구해서 각각이 어떻게 실시간을 달성하는지 살펴봅시다.

이 기사는 실시간 특성을 지원하는 몇 가지 리눅스 아키텍처를 살펴보고 실시간 아키텍처가 실제로 무엇을 의미하는지 설명한다. 몇 가지 해법이 리눅스에 실시간 능력을 부여하고 있으며, 이 기사에서 마이크로 커널 접근 방법, 나노 커널 접근 방법, 자원 커널 접근 방법을 분석하겠다. 마지막으로 표준 2.6 커널에 들어있는 실시간 기능을 설명하고 이를 활성화해 사용하는 방법을 보여주겠다.


 지난번에 PS3(PlayStation3)에서 Linux 사용관련 문서를 소개한 적이 있습니다. 페도라 코어 7을 이용하는 문서였죠. 이번에 PS3에서 설치 가능한 최신 SDK에 관한 내용을 설명하고 있습니다.

 PlayStation2 시절부터 리눅스 설치를 지원해왔지만 실제로 사용하기에는 많이 부족했던점을 인식했는지 소니는 PlayStation3에서는 한층더 쓸만하게 만들었습니다. 물론 IBM의 Cell Broadband Engine의 힘 일수도 있지만요. ^^
 요즘 PlayStation3의 보급율이 낮고, PlayStation으로 독점 발매하던 게임들이 멀티 플랫폼을 선언하는 등 게임 시장에 지각변동이 일어나고 있는 시점에 리눅스 지원이 PlayStation3에 얼마만큼 큰 힘이 될지는 모르겠지만, 최소한 리눅스 유저들에게는 좋은 인상을 주고 있지않을까요? 저만 그런건지... ^^;;


원문 : 자그마한 브로드밴드 엔진으로 할 수 있는 작업: PS3에서 직접 설치가 가능한 최신 SDK 검토하기 (PS3에 딱 맞는 SDK를 위해 만들어진 FC7 커널)


멀티 코어 가속 3.0을 위한 기차 여행에 참여해 개발자 관점에서 달라진 사항과 함께 PS3에 직접 설치, FC7과 RHEL 5.1 지원, 강화된 컴파일러, 포트란과 에이다 지원, BLAS, ALF, DaCS를 포함한 SDK 활용법을 살펴봅시다.

소개

IBM 셀 브로드밴드 엔진(IBM Cell Broadband Engine™, Cell/B.E.) SDK가 다시 한번 갱신되었다. 이 기사는 IBM 외부 사람 관점에서 3.0 버전에 들어있는 새롭고 흥미로운 기능을 소개한다. 버전 3.0은 2007년 10월 19일에 나왔으며, 직전 2.1 버전을 완벽하게 대체한다(실제로 버전 2.1을 사용하지 않는다면 신경 쓸 필요가 없다).

직접 설치하기

3.0 판올림은 몇 가지 주요 변경 사항을 보여준다. 아마도 대다수 개발자에게 가장 눈에 들어오는 사항은 설치 프로그램 변경이나 속임수 없이 리눅스(Linux®)를 돌리는 PS3에 직접 설치가 가능해졌다는 사실이다. 2.1이나 초기 버전은 PS3가 사용하는 하이퍼바이저 환경 대신 실제 하드웨어에서 돌아가는 커널을 설치하지 않고서는 셀/B.E. 기반 시스템 설치를 거부했다.

편집자로부터: 다양한 관점
셀 /B.E.는 블레이드 서버에서 하이브리드 슈퍼컴퓨터와 게임 콘솔에 이르기까지 다양한 이질적인 응용 분야에 고개를 내미는 듯이 보인다. IBM 복도를 걷고 있다면, 좀 더 비즈니스에 밀접한 용도와 시스템에 적용하기 위해 셀/B.E. 기술에 초점을 맞추고 있는 수 많은 엔지니어와 디자이너를 만날 수 있다. 여기서 빠진 사람은 (내 친구이자 이 기사 필자인 Peter와 같이) PS3로 장난치기를 원하는 개발자다. 셀/B.E. SDK와 PS3를 대상으로 응용 개발, 이식, 기타 관심이 있는 분야에 노력을 투자한다면 셀/B.E. 프로세서 성장과 발전 방향을 이끄는 중요한 원동력이 될 것이다. 공유를 원하는 경험이나 좋은 생각이 있다면 편집자에게 전자편지를 부탁한다. -- 편집자
물론 셀/B.E. 기반 시스템을 전혀 갖추고 있지 않더라도, 여전히 추가 CD에 포함된 시스템 시뮬레이터 하에서 돌릴 수도 있다. 그럼에도 불구하고 PS3에서 시스템 시뮬레이터를 돌리는 방식을 권장하지 않는다. 성능이 다소 떨어지기 때문이다.














 유닉스나 리눅스 환경에서 작업을 많이 하는 분들을 Shell script를 많이 이용하게 됩니다. Shell script는 업무의 자동화에 유용하죠. 최근에는 MS에서도 자사의 윈도우즈 운영체제에 Power shell이라는 제품을 설치하여 Script를 사용할 수 있도록했죠.

 이번에 소개할 문서는 배시 셸 관련 투토리얼입니다.


원문 : 배시 셸로 작업하기



거의 모든 유닉스(UNIX®) 기반 운영체제에서 활용 가능한 배시 셸에 대한 소개 튜토리얼입니다. 배시는 성숙하고, 강력하고, 그럼에도 불구하고 사용하기 쉬운 셸이며, 자유롭게 구할 수 있습니다. 이 튜토리얼은 다른 인기 있는 유닉스 셸과 다른 점을 파악하기 위해 배시에 대한 간략한 역사를 소개하며, 배시 내부에서 제공하는 주요 기능을 살펴봅니다. 다음으로 유닉스 파일 시스템, 디렉터리와 파일 조작 방법, 배시 외양과 동작 방식을 개인화하기 위한 몇 가지 방법을 설명합니다. 마지막으로 이 튜토리얼은 배시가 제공하는 작업 제어 기능을 소개하며 끝을 맺습니다.

이 튜토리얼 내에서

  • 배시 개괄

  • 배시에서 명령 행 프롬프트로 작업하기

  • 배시에서 파일과 디렉터리 다루기

  • 배시 개인화하기

  • 배시 작업 제어

선수조건

필요한 사전 지식은 없다.


시스템 필요조건

이 튜토리얼을 읽기 위한 시스템 요구 사항은 없다. 단지 글을 읽고 배시를 익히면 된다. 하지만 이 튜토리얼을 최대로 활용하려면 튜토리얼이 제공하는 기법을 시도할 필요가 있다. 이렇게 하려면 버전 2.05 이상인 동작하는 배시 셸이 필요하다. 컴퓨터에 설치된 배시 셸 버전을 모른다면, 배시 셸 홈 페이지를 방문해 필요한 정보를 얻기 바란다.


 이 문서는 Ajax 개발시 성능 문제를 개선하기위해서 필요한 도구를 소개하고 있습니다. 제가 사용중인 Firebug도 소개하고 있구요. Yslow라는 도구도 소개하네요.
 갈수록 사용하는 곳이 많아지는 Ajax와 이에따른 성능 문제에 고민하는 개발자라면 한번 읽어볼만한 내용이라고 생각합니다.


원문 : Ajax 성능분석 (최신 도구를 사용하여 작업을 마무리하기)


비동기 자바스크립트 + XML(Asynchronous JavaScript + XML; Ajax) 덕분에 상호작용과 성능에 대한 사용자들의 기대치가 계속 높아지고 있고, Ajax를 웹 응용 프로그램의 필수 요소로 취급하는 개발자들도 점점 늘고 있습니다. 더 많은 코드가 클라이언트 측으로 이동하고 네트워크 모델이 바뀜에 따라, 커뮤니티는 Ajax 고유의 성능 문제들을 다루기 위해 더 많은 도구를 만들어내고 있습니다. Ajax-강화 응용 프로그램에서 성능 문제를 찾아내고 바로잡아주는 도구들에 대해 알아보겠습니다.

성능은 응용 프로그램에 Ajax를 도입해서 개선하려는 일차적인 이유 중 하나다. Ajax는 서버와 통신할 때 전체 페이지를 요청하지 않으므로 응답 시간을 개선할 수 있다. 응답 시간을 줄이면, Ajax는 훨씬 더 나은 사용자 경험을 제공할 수 있다. 그러나 Ajax 응용 프로그램의 성능을 분석하고 향상시키려면 전통적인 웹 응용 프로그램과는 다른 도구가 필요하다. 이 기사에서는 이러한 도구들에 대해 알아보고, 성능 문제를 찾고 고치기 위해 그 도구들을 사용하는 방법을 보여준다.

자주 쓰이는 약어
  • CSS: Cascading Style Sheets
  • HTML: Hypertext Markup Language
  • XML: Extensible Markup Language
  • HTTP: Hypertext Transfer Protocol

Ajax 응용 프로그램 성능은 웹 응용 프로그램의 몇 가지 측면에 근거한다.

  • 서버 응답 시간
  • 네트워크 전송 시간
  • 클라이언트 자바스크립트 처리 시간

전 통적인 웹 응용 프로그램 개발에서는, 서버 응답 시간이 성능 분석의 일차적인 관심사다. 성능 분석은 대부분 신속하게 요청을 처리하고, 필요한 응용 프로그램 로직을 수행하고, 응답을 생성하는 애플리케이션 서버의 능력을 측정한다. 일반적으로 잘 알려진 것처럼, Ajax 응용 프로그램 개발에서도 이러한 능력이 응용 프로그램 성능의 결정적인 측면이지만, 이 기사는 성능의 다른 부분에 초점을 맞출 것이다.




+ Recent posts