이 글은 사내 비공개 블로그에 쓴 글을 옮겨온것입니다. 다음주의 레일즈 세미나에 참석하게 된 팀원들에게 사전 자료를 제공하려는 목적으로 쓴 글입니다.

----

루비 온 레일즈 세미나에 참석하시게 된 여러분! 축하합니다!
교육내용을 보니 초급자라도 내용을 듣는데 무리는 없지만, ruby와 RoR의 기본적인 내용을 알고 가면 더 많은 것을 얻을 수 있을걸로 생각합니다. 저도 아직 '루비스트'라 자처할만한 지식도 없는 루비 초짜이지만 제가 그 동안 모은 자료들을 정리하면 루비에 관심을 가지는데 도움이 될것같군요.

우선 rails는 ruby로 짜여진 프로그램입니다. 그러니 루비에 대해 좀 알아야겠죠.
루비 공식 홈페이지를 방문해보세요. 한글 홈페이지도 있지만 news가 영문에 비해서 늦어요. 하지만 루비에 관한 소개는 한글 페이지를 보는게 나을겁니다 :) 루비 사용자 포럼이나 루비를 사용하는 개발자들의 블로그를 다녀보는 것도 좋지요. 여기, 여기, 여기, 여기, 여기 .. RSS리더에 등록해서 구독하면 더 좋겠죠. 특히 이번 세미나의 강사이기도 한 황대산님의 블로그는 필수! 체크하세요. 루비/레일즈 문서에 소개된 것만 읽어봐도 많이 건지실겁니다.

rails의 공식 홈페이지 또한 필수 체키라웃 대상입니다. 특히 screencast의 "15분만에 블로그 만들기"가 처음 공개됐을 때 많은 인기몰이를 하면서 "n분만에 x만들기" 아류작을 대량 양산했었지요. 또 docs의 몇 가지 tutorial만 따라해도 간단한 rails예제 어플리케이션을 만들어볼 수 있습니다.

rails는 MVC패턴의 프레임워크입니다. 고로 MVC에 대한 이해가 필요하지요. 그리고 rails는 최근 조명을 받고있는 애자일(agile) 방법론을 적용하기 좋은 프레임워크입니다. 애자일이 무엇인가에 대해서는 애자일 방법론 중 가장 유명한 XP(extream programming)에서 추구하는 가치와 실천방법에 대해 알아두면 좋습니다. 특히 애자일 선언(Manifesto for Agile Software Development)의 의미를 음미해보시기 바랍니다. 원문은 이곳에서 보실 수 있습니다.

애자일 소프트웨어 개발을 위한 선언

우리는 이것을 실천하고 다른 이로 하여금 이것을 실천하도록 도움으로써 개선된 소프트웨어 개발 방법을 공개한다. 이 연구를 통해 우리는 다음과 같은 가치를 실현한다.
  • 개인과 상호작용이 프로세스나 툴보다 우선이다.
  • 동작하는 소프트웨어가 포괄적인 문서보다 우선이다.
  • 고객 협력이 계약 협상보다 우선이다.
  • 변화에 대한 반응이 계획을 따르는 것보다 우선이다.

위 문작의 오른쪽 항목 각각에도 가치는 있지만, 우리는 왼쪽 항목에 더 가치를 부여한다는 것이다.

물론 rails가 agile를 실천하기 위한 의도로 개발된 프레임워크는 아닙니다. 하지만 rails의 철학은 실용주의적 관점을 가진 agile, XP등의 방법론과 일맥상통하는 부분이 많습니다.
XP에 관해서는 한국 XP사용자 모임의 여러 글을 읽어보시면 도움이 됩니다. 위키적인 분위기에 적응하기 힘들고, 보다 체계적인 인쇄물을 원하는 분은 인사이트에서 나온 "익스트림 프로그래밍 - 변화를 포용하라"를 읽어보시면 좋습니다. 소프트웨어 개발의 지혜 - 원칙, 디자인 패턴, 실천방법는 agile 개발의 구체적 적용 방법을 다루고 있지만 앞쪽의 몇 챕터만 읽어봐도 많은 도움이 될겁니다.

자료를 나열하다보니 ruby/rails에서 agile/XP에 대한 쪽으로 슬금슬금 넘어왔네요. rails가 각광을 받게 된 이유가 agile과 무관하지 않다고 생각을 합니다. 단지 rails만을 익히는 것이 아니라 좀 더 효율적으로 빠르게 일하면서 재미를 느낄 수 있는 여러가지 방법을 고민할 수 있기를 바랍니다.

세미나 이전에 ruby/rails를 시험해보고 싶은 분은 저에게 따로 문의해주세요. blue/cyan서버에서 rails를 써볼 수 있습니다.

신고

intro & lighttpd bandwidth 설정

사용자 삽입 이미지
블로그 분가했습니다. private블로그는 반말, 여기서는 존댓말 ㅋ 기술적인 이야기는 이 곳에서만 할 작정입니다.

lighttpd에서 설정파일의 server.kbytes-per-second 지시자를 이용해서 서버의 대역폭을 조정할 수 있습니다. 그런데 이게 의도한대로 되질 않는겁니다. 별로 찾아볼 시간도 없고, 꼭 설정해야 하는것도 아니고 해서 그냥 넘어갔었는데 오늘 옆자리의 이사님과 얘기를 하다 보니 server.... 지시자 말고 connection.kbytes-per-second 지시자가 있더라고요! server. 로 설정을 하면 서버의 전체 대역폭을 제한하는 것이고, 흔히 apache의 mod_bandwidth처럼 사용하려면 connection. 을 이용해야 하는겁니다! flv 서버에 하루종일 적용해 두었는데 아직 문제점은 발견되지 않네요. lighttpd 너무 멋져요!!
신고



티스토리 툴바