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

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


원문 : 배시 셸로 작업하기



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

이 튜토리얼 내에서

  • 배시 개괄

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

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

  • 배시 개인화하기

  • 배시 작업 제어

선수조건

필요한 사전 지식은 없다.


시스템 필요조건

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


 예전에 윈도우 비스타가 출시되고는 최저 사양이니, 권장 사양이니 말이 많았었죠. 그동안 저는 AMD Dual core CPU에 1GB Ram으로 사용중이었는데요. 너무 느려서 Ram을 1GB 추가했는데 반응이 틀리더군요. 근데 반응이 빨라져서 좋긴한데, 도데체 윈도우 비스타는 메모리를 얼마나 잡아먹는건지 겁이 나더라구요. ^^;

 반응이 빨라지긴했으나 만족할만한 수준은 아니구요. 오히려 살짝 부족해 보이네요. 64Bit 버전의 비스타라서 그럴까요? 음... Disk I/O가 발생하면 사정없이 느려지는게... 짜증나더군요.

 늘 돈이 부족한 월급쟁이라 점점 부담되는 PC 사양의 고급화 바람에 허리띠를 바짝 졸라메고 있답니다.

 대안으로 리눅스 데스크탑을 설치할까 고민도 해봤지만, 아무래도 인터넷 뱅킹과 각종 다운로드 사이트의 전용 툴 때문에 리눅스 데스크탑을 선뜻 설치하기가 힘드네요.

리눅스 테스크탑 이용자 화산을 위한 선결 조건을 생각해 봤습니다.

1. 인터넷 뱅킹 서비스를 다양한 운영체제 및 웹 브라우저를 지원하도록 한다.
   액티브 엑스를 쓰지 않더라도 외국의 경우에는 인터넷 뱅킹을 사용할 수 있습니다. 우리도 기술적으로 가능은 하구요. 예전에 관련 기관에서 액티브 엑스없이 공인인증서를 사용하는 인증 방식을 테스트 단계에까지 갔다는 얘기는 들은적이 있는데, 그 뒤에 소식이 없네요.
 그리고 예전에 신한은행에선가 Mac OS에서 온라인 뱅킹을 사용할 수 있는 전용툴을 개발해서 배포했던적도 있구요. 농협은 이미 리눅스 상에서의 인터넷 뱅킹을 시작했죠.(이건... 좀 패이크라고 하던데... 자세히는 모르겠습니다.) 아뭏튼 기술적으로는 우리 나라도 충분히 가능한 상태라고 봅니다.
 제도적으로... 되도록이면 금융권 자체적으로 이런 서비스를 하는게 상식이 되는 시대가 되면 좋겠습니다.

2. 정부 기관의 홈페이지는 어떤 운영체제 및 웹 브라우저를 통해서도 사용 가능하도록 만들어야겠죠.
   인터넷 민원 업무를 보다보면 인증, 출력 등의 문제로 엑티브 엑스를 꼭 설치해야하는 경우가 많습니다. 정말 문제죠.

3. 아마... 가장 커다란 문제가 아닐까요... 국산 온라인 게임이 리눅스나 Mac OS에서도 작동을 하도록 만드는겁니다.
   게임이 돌아가면 당장에라도 사용할 사람들이 꽤 많을것 같습니다. ㅋㅋ
 스타크래프트2가 리눅스에서 돌아간다면...



 이상은 제가 점심때 떠오른 생각을 정리한 겁니다. 허점 투성이라고 생각합니다.
잘못된 점이 있다면 살짝 얘기해주세요. ^^
 Open source의 은덕을 입고 살아온지 거의 10년만에 FSF[각주:1]에 회원가입을 하게 되었네요. 그동안 영어에 대한 막연한 두려움으로 인해서 가입을 미루고 있었는데, 오늘 GCC 컴파일러를 다운받으려고 웹서핑하다가 충동적으로 가입을 하게 되었습니다. ^^;

공식적으로는... "영어 공부도 좀 하려고... 그리고 좀더 다양한 정보를 접하려고 가입을 하게 되었습니다."

회원 가입을 하고보니, badvistainfo-gplv3 메일링 리스트도 받아볼 수 있게 되어있네요. 흠... 우리나라의 커뮤니티 웹 사이트들과는 다른 모양의 웹 사이트라서 조심스럽게 가입을 했는데, 기분은 좋네요. 웬지 좀더 큰 물에 발을 담근듯한...

 아래의 이미지는 회원가입을 완료하면 보이는 계정 설정에 관련된 내용입니다. 여기서 메일링 리스트와 관련된 내용을 수정할 수 있더군요.

사용자 삽입 이미지

 그리고 아래 이미지는 흥미로운 이름의 badvista.org의 첫 화면입니다.
사용자 삽입 이미지

  1. Free Software Foundation. 리차드 스톨만이 이끄는 자유소프트웨어재단입니다. GPL 재정, GNU Software개발 등등 수많은 일을 한 곳이죠. 리누스 토발즈와 함께 오픈소스 진영의 유명인사죠. 성격이 좀 별난 분이라고 하더군요. 너무 카리스마 있으시다는 소문이... [본문으로]
 이 문서는 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 응용 프로그램 개발에서도 이러한 능력이 응용 프로그램 성능의 결정적인 측면이지만, 이 기사는 성능의 다른 부분에 초점을 맞출 것이다.




 인터파크에서 배포하는 무료커피를 마셨습니다. 음... 근데 여름이라 그런지 너무 덥더군요. 뜨거운 커피를 들고 출근해서는 거의 한시간 가량을 식혀서 마셨습니다. ^^;

맛은 좋았구요. 가을에도 이벤트를 계속하게 된다면 정말 좋을것 같습니다. 출근길에 따듯한 커피 한잔을 무료로 받아서 가서 즐거운 일상...
후훗~

참... 모르고 영수증을 받지 않았네요. 쿠폰을 사용한 영수증을 인터넷에서 등록하면 경품 추첨 기회도 주어진다던데 아쉽네요.

예전에도 소개했었지만, 무료 쿠폰은 인터파크에서 받고 출력한 다음날 오전에만 사용가능합니다. 기억하시길...

'기호식품 > Coffee' 카테고리의 다른 글

빵이 맛있는 카페  (0) 2008.09.03
 리눅스에서 파일 관리를 할때 종종 사용하는 명령으로 find가 있습니다.
간단하게 파일 이름으로 검색을 하거나, 파일 크기로 검색을 할때 find를 사용하죠. 이 find 명령에 대한 개요 및 사용 예를 제공하는 OTN[각주:1]의 문서를 소개합니다.

원문 : Linux find 명령어 완전 정복 가이드

 아래는 원문의 앞부분을 발췌한 내용입니다.

가장 강력하면서도 한편으로는 혼란스러운 유비쿼터스 명령어인 find 명령어에 대한 개요.

게시일 : 2008년 7월

Linux find 명령어는 모든 Linux 명령어 가운데 가장 유용하면서도 혼란스러운 명령어 가운데 하나입니다. 다른 Linux 명령어의 표준 구문과 다른 구문을 가지고 있다는 점에서 어렵습니다. 하지만, 파일명, 파일 유형, 사용자, 더 나아가 타임 스탬프 별로 파일을 찾을 수 있다는 점에서 강력한 명령어이기도 합니다. find 명령어를 사용하면 이러한 속성을 자유롭게 조합해 파일의 위치를 찾을 수 있을 뿐만 아니라, 찾은 파일에 대해 연산을 수행할 수 있습니다.

본 글의 목적은 find 명령어와 그 잠재적 이점을 개략적으로 설명함으로써 find 명령어를 손쉽게 학습 및 사용할 수 있도록 돕는 것입니다. 동시에, find 명령어의 특성 중 가장 강력하면서도 한편으로는 혼란스러운 측면에 대한 개요 및 참조를 제공할 것입니다.

[주: 여기에서 사용된 find 명령어는 GNU 버전이기 때문에 일부 세부 내용은 다른 버전의 find 명령어와 다를 수 있습니다.]

  1. Oracle Technology Network [본문으로]
  지난번에 소개한 "PHP 프레임워크, Part 1 많이 사용하는 프레임워크"에 이어서 "Part 2: 간단한 응용 프로그램 만들기"를 소개합니다. 실제로 간단한 응용 프로그램을 만드는 내용이구요. 그다지 자세하진 않습니다.
예전에 소개한 "PHP를 사용하여 인터랙티브한 제작 방식의 위키 만들기" 처럼 자세하다면 좋을텐데... 조금 아쉽긴해도 어느정도 삽질을 해야 자기것으로 만들수 있겠죠. ^^; 이런말하면서도 뭔가 만들어보진 못하고 있습니다. ^^;

 PHP로 만든 웹 메일 서버 관리를 하면서 PHP로 리눅스  메일 서버의 계정 및 조직도 정보를 관리하면서 느낀 거지만, PHP라는게 참 쓸만하다는 겁니다. 쓸만한 프레임워크가 많아져서 더욱더 광범위하게 사용되면 좋겠다는 생각을 해봅니다. 그런 의미에서 이 문서가 많은 분들에게 읽혀지길 바랍니다. ^^


원본 : PHP 프레임워크, Part 2: 간단한 응용 프로그램 만들기(Zend, symfony, CakePHP로 Blahg 구현하기)



이번 "PHP 프레임워크" 연재 기사에서는 널리 쓰이는 PHP 프레임워크 세 개(Zend, symfony, CakePHP)를 살펴봅니다. 각 프레임워크에서 간단한 응용 프로그램을 구현하고 확장하면서 유사성과 차이점을 비교합니다. Part 1에서는 전반적인 기사 범위를 정하고 앞으로 필요한 환경을 설정했습니다. 이번 Part 2에서는 각 프레임워크에서 간단한 응용 프로그램을 작성합니다.

Part 1에 서는 전반적인 기사 범위를 정하고 앞으로 필요한 환경을 설정했다. 이번 Part 2에서는 세 가지 프레임워크에서 각각 간단한 프로그램을 작성한다. 이어질 기사에서는 이번에 작성한 프로그램을 확장하고, 예외 상황을 살펴보고, Ajax를 추가하고, 외부 프로그램과 통합하는 등 다양한 모험이 기다린다.

이번 기사에서는 Blahg라는 예제 응용 프로그램을 세 가지 프레임워크에서 작성한다. 젠드 프레임워크(Zend Framework), 심포니(symfony), CakePHP에서 간단한 응용 프로그램을 구현하는 방식을 처음부터 단계적으로 살펴본다.

Part 1에서 각 프레임워크를 설치하고 기본 환경을 설정했다. 아직 하지 않았다면 지금 끝내기 바란다.

이 연재 기사에서는 독자들이 PHP와 응용 프로그램 설계, 데이터베이스 사용법에 어느 정도 익숙하다고 가정한다. 프레임워크를 사용한 경험은 없어도 좋으나, 배우겠다는 의욕은 필수다.



+ Recent posts