서버 도메인 등록


비싸군요 그돈이면 COM  도메인값보다 비쌉니다.
도메인 구입은 호스팅케이알이 진리입니다.
COM 8500원
NET 7500원
호스팅은 몰라도 도메인등록은 저렴한 곳에서 구입하는것이 가장 현명한 방법입니다.

출처 : 어디선가퍼옴 

'computing > server' 카테고리의 다른 글

그누보드 불당팩  (0) 2013.01.25
노땅엔지니어의 노트 : 티맥스소프트가 무너진 이유는?  (0) 2013.01.25
서버도메인등록  (0) 2013.01.25
도메인과 호스팅 연결하기  (0) 2013.01.25
그누보드빌더  (0) 2013.01.25
제로보드와 XE.  (0) 2013.01.25
Posted by Corealight

댓글을 달아 주세요

도메인과 호스팅 연결하기 - 홈페이지 기초 강좌

Posted by Corealight

댓글을 달아 주세요

그누보드빌더

computing/server 2013. 1. 25. 17:23 |

커뮤니티 > 자유게시판 > 내가 좋아하는 그누보드 빌더~

Posted by Corealight

댓글을 달아 주세요

YES24 - [국내도서]모던 웹 디자인을 위한 HTML5+CSS3 입문


YES24 - [국내도서]윤성우의 열혈 C 프로그래밍


YES24 - [국내도서]드림위버 CS6 무작정 따라하기


YES24 - [국내도서]Learning PHP, MySQL & JavaScript 한국어판

'computing > programming' 카테고리의 다른 글

perl로 게임만들기  (0) 2013.02.02
C#과 JAVA  (1) 2013.01.28
웹개발 도서모음  (0) 2013.01.25
Perl, Python, Ruby, PHP, C, C++, Lua, tcl, javascript, Java 성능비교  (0) 2013.01.25
Perl 공부하기  (1) 2013.01.25
The most popular Perl web sites  (0) 2013.01.25
Posted by Corealight

댓글을 달아 주세요

제로보드와 XE.

computing/server 2013. 1. 25. 17:18 |

제로보드와 XE.

| No Comments | No TrackBacks . (mobile)

몇 년 전에 NHN 아무개 이사의 제안으로 미디어오늘 사이트를 XE로 구축하는 프로젝트를 검토한 적이 있었다. 오픈소스로 만든 언론사 사이트라니 정말 멋지지 않은가. 미디어 모듈을 개발하고 그걸 다시 오픈소스로 풀어 다른 언론사들도 쉽게 사용하도록 하자는 게 처음 발상이었는데 정작 개발사 쪽에서 오픈소스로 푸는 데 동의하지 않았다. 개발비용도 감당하기 어려울 정도로 높게 요구했다. 결국 무산되고 말았지만 아쉬움이 남는 프로젝트였다.

며칠 전에 미디어오늘 편집국 인트라넷을 만들면서 XE로 사이트를 구축해 봤는데 과거 제로보드 시절과 비교하면 깜짝 놀랄 정도로 효율적이고 편리하더라. 블로그니 트위터니 소셜 네트워크니 하지만 여전히 온라인 게시판의 역할이 남아있다는 게 새삼스러운 발견이라고 할까. 수평적인 커뮤니케이션과 브레인스토밍, 집단지성을 활성화하는데 여전히 게시판만한 게 없다. 게시판 툴 가운데 XE는 단연 가장 앞선 툴이라고 할 수 있다.

몇 가지 아쉬운 점을 적어보자면, 우선 제대로 된 매뉴얼이 없어서(매뉴얼을 보면 더 헷갈린다.) 처음 손을 대면 한참 헤매게 된다. XE는 마치 레고 블럭 같다. 필요한 대로 갖다 꿰어 맞추면 된다. 설치도 매우 쉬워서 FTP를 쓰지 않고도 웹에서 바로 레이아웃이나 모듈, 위젯 등을 클릭 몇 번이면 설치해서 쓸 수 있다. 문제는 이들의 연결 방식을 이해하고 조합하는 방식을 터득하기까지 상당한 시행착오를 감수해야 한다는 데 있다.

생각보다 기본 레이아웃이 빈약하고 모듈이 많지 않다는 점도 아쉽다. 쓸 만한 레이아웃은 겨우 두어 개 정도? 레이아웃을 직접 만들거나 소스코드를 수정하려면 상당한 수준의 프로그래밍 능력이 필요하다. XE 사용자가 충분히 많지 않기 때문일까. XE 마켓에서 판매되는 콘텐츠도 상당하다고 하는데 공개된 레이아웃이나 모듈로는 커스터마이제이션에 한계가 있을 수밖에 없다. 오픈소스라고는 하지만 개발자들의 자발적인 참여가 많지 않기 때문인 듯.

그나마 쓸 만한 모듈도 선택 가능한 옵션이 많지 않아서 마음에 안 드는 부분은 일일이 소스코드를 뜯어고쳐야 한다. XE로 구축한 사이트들이 대부분 비슷비슷해 보이는 것도 이런 이유에서일 듯. 전체적으로 개발자 중심이라고 할까. 툴 자체는 매우 효율적으로 설계돼 있지만 정작 사용자 친화적이지는 않은 듯. 오픈소스의 한계일까. NHN도 추가 지원을 하지 않는 듯하고. 파이어폭스가 크롬에 뒤처지는 걸 지켜보면서 드는 아쉬움과 비슷한 느낌일까.


출처 : http://www.leejeonghwan.com/media/archives/002170.html

Posted by Corealight

댓글을 달아 주세요

XE 쇼케이스 - 인터넷 커뮤니티 사이트, 일베 저장소를 소개합니다.


사이트에 대한 간략한 소개(컨셉 , 목적 등) 부탁드립니다.
일베저장소는 유머를 포함하여 다양한 하위 주제 커뮤니티 게시판을 갖춘 인터넷 커뮤니티 사이트입니다. 
줄여서 일베라고 부르기도 합니다.



사이트의 특징과 주요 서비스 또는 기능에 대해 설명해 주세요
일베저장소는 2012년 9월 현재 대한민국의 유머중심 포럼 중 가장 규모가 큰 사이트이며 또한 XE로 만들어진 사이트 중에서도 가장 규모가 큽니다.초기의 일베저장소는 일부 파워업로더들이 올리는 유머자료가 주로 올라오는 사이트였습니다. 이후 유머자료를 보기 위해 방문하는 유저의 수가 증가함에 따라 자연스럽게 유저들의 커뮤니티가 형성되었고, 현재 유저들이 생산하는 자료와 게시물이 주가 되는 사이트로 변모하였습니다. 9월 10일 현재 30여개의 게시판이 활성화 되어 하루에 수만 개의 게시물과 수십만 개의 댓글이 등록되는 등 유저들간의 소통과 다양한 의견개진이 이루어지고 있으며 회원들의 투표로 핵심 게시판인 ‘일베’ 게시판으로 갈 글들이 선정됩니다.



사이트 제작에 사용 된 XE Core 버전과 모듈, 위젯 또는 스킨에 대해서 설명해 주세요.
일베저장소는 1.4과 1.5 XE core 버전을 합쳐서 수정하여 사용하고 있으며, XE 팀에서 만든 기본 게시판 모듈을 수정해서 사용하고 있고, 대표적으로 사용하고 있는 위젯은 zero님이 만드신 최근 문서 출력 위젯입니다. 레이아웃은 Elkha님이 만드신 Greystyle 레이아웃 상용 버전을 구매한 후 다소 수정해서 사용하고 있습니다. 실시간 알림 모듈이나 투표 관련된 기능들은 직접 제작한 것이 많습니다.



사이트 제작시 힘들었던 점은 무엇인가요? 해결방안이나 노하우가 있다면 설명해주세요.
 XE 프레임워크가 복잡해서 경우에 따라 프로그램 제작이 원활하지 않을 때가 있고, XE를 잘 다룰 줄 아는 분들이 적어서 외부에 작업을 맡기기가 어렵다는 게 상당히 아쉽습니다. 첫 번째 부분 해결 방법은 필요에 따라 일반 개발 방법을 병행해서 소스를 수정합니다. XE 디비 접속 함수가 작업에 비효율적이라고 생각하면 과감하게 직접 mysql 함수들을 호출합니다. 두 번째 사항은 해결이 더 어려운데, 결국 XE 커뮤니티 등에서 계속 XE를 잘 이해하는 분을 찾는 수 밖에 없습니다.

 사이트 성능 개선 팁이 있다면, 가장 쉽게 성능 개선 하는 방법은 MySQL의 경우 innodb를 사용하고, MySQL 서버에 메모리를 최대한 많이 장착하는 것입니다. 웹서버의 경우에는 php를 php-fpm 형태로 사용하는 것이 일반적으로 좋은 방법입니다.



대형 사이트로써 성능향상을 위해 변경하시는 부분이나, 경험등에 대하여 알려주세요.
일베저장소는 우선 자연스럽게 커졌다는게 중요합니다. 저가형 웹호스팅 계정을 사용하다가 독립 서버 1대로 확대해서 현재의 다서버 체계로 확장했습니다. 

현재의 서버 구성은 다음과 같습니다 :


2.png 

실제로 처음부터 이렇진 않았고, 성장함에 따라 급하게 덧붙이면서 발전했습니다.

위 그림에 나오는 운영진 4명은 대체로 일주일에 한번 꼴로 새벽 4시까지 작업합니다. 끝 없는 서버 확장과 사이트 업데이트로 주말에도 쉬지 않고 보통 작업합니다. 현재 광고비 없이는 운영이 불가능한 규모가 되었고, 서버 호스팅이나 기타 호스팅을 사용하면 비용이 너무 많이 들기 때문에 직접 서버를 운영하고 있습니다. 직접 운영하지 않았다면 비용 문제로 이미 망했거나 성장을 포기해야 했을 것 입니다.

일베저장소 정도의 규모가 되면 생기는 또 다른 문제는 끝없는 해킹 시도입니다. 지속적으로 보안을 강화하며 패치를 적용해야 하고, 혹시 보안 구멍이 실제로 발생하더라도 피해를 최소화할 수 있도록 서버를 구성해야 합니다. 또한, 로그를 최대한 많이 남겨서 이상 징후가 있을 경우에 빠르게 추적해서 대처하는 것이 중요합니다.

서버 모니터링에 구글 analytics 실시간 서비스가 매우 유용하며, 구글 통계 기준으로 일베저장소의 최고 동시접속자는 대략 2만 3천명에 초당 500회의 페이지뷰입니다.



마지막으로 XE에 바라는 점이 있다면 알려 주세요.
XE 업데이트시의 호환성 및 안정성이 어느 정도 유지되었으면 합니다. 사이트 초기에 Bodex 게시판 모듈을 사용하다가 1.5 업데이트 시 호환성 문제가 생겨 기본 XE 게시판으로 다시 변경을 했는데, 게시판 글 양이 많고 수정했던 사항이 많아 상당히 끔찍한 작업으로 기억에 남았습니다. 이런 문제 때문에 업그레이드를 포기한 사이트들이 보이는데, 그런 호환성 문제를 최소화해야 한다고 생각됩니다.

아울러 업그레이드 할 때 마다 다소 문제가 발생해 대규모 사이트들이 대부분 업그레이드하지 못하고 있는데, 관련 부분에 대해 적절한 조치가 필요하다고 생각합니다. 일베저장소처럼 별도로 패치 하는 경우도 있겠지만, 업그레이드하지 못한 대부분의 사이트들은 상당히 많은 보안 문제를 남겨 놓고 있습니다.

이와 함께 여러 가지 성능 문제가 있지만, 이런 부분들은 계속 개선되는 것이 보이고, XE의 소스 코드뿐만 아니라 사용자들도 계속 발전해서 일베저장소보다 더 큰 XE 사이트들이 많이 생기고 더불어 XE 생태계가 강화되는 것을 기대하겠습니다.

Posted by Corealight

댓글을 달아 주세요

각종언어에 대한 벤치마크 비교

포커스가 문자열을 얼마나 빠르고 메모리 효율적으로 처리하느냐에 맞춰져 있는데..

이렇게 비교를 한 이유가 대부분의 현대적 어플리케이션의 주작업은 문자열을 다루는 것이며
수치계산은 하드웨어 의존적인 면이 있고 컴파일된 native한 코드가 아닌경우 어떤 언어라도
많은 계산을 하기에는 충분히 성능이 나지 않기 때문에 빠른 계산이 필요하다면 컴파일된
native한 코드를 쓰던지 써드파티 수치계산 라이브러리를 각 언어에 붙여 쓰게 되는데
그렇게 하면 언어간 비교가 아니라 수치계산라이브러리의 성능비교가 되기 때문에
의미가 없다.... 뭐 이렇다고 함

성능비교뿐만 아니라 끝부분에 각 언어에 대한 비평도 읽어볼만 함.. 

http://onlyjob.blogspot.com/2011/03/perl5-python-ruby-php-c-c-lua-tcl.html

속도에서는 스크립트 언어인 Perl이 C/C++보다 더 빠르다는게 신기..
Java는 의외로 실망스런수준이고(아마도 Buffered String을 쓰면 그나마 나아지리라 생각하지만....)

* 제일 빠른 Perl속도를 1로 했을때 언어별 상대적 속도 비교표(숫자가 작을수록 빠름)

Line size KibPerl5PHPRubyPythonC++ (g++)C (gcc)Javascript (V8)Javascript (sm)Python3tclLuaJava (openJDK)Java (Sun)Java (gcj)
Average:13.845.215.593.891.233.2319.6613.9221.3534.3631.1631.12247.32

'computing > programming' 카테고리의 다른 글

C#과 JAVA  (1) 2013.01.28
웹개발 도서모음  (0) 2013.01.25
Perl, Python, Ruby, PHP, C, C++, Lua, tcl, javascript, Java 성능비교  (0) 2013.01.25
Perl 공부하기  (1) 2013.01.25
The most popular Perl web sites  (0) 2013.01.25
루비온레일즈  (0) 2013.01.25
Posted by Corealight

댓글을 달아 주세요

  

*nix를 오래도록 사용해오면서 너무나 쉽게 만날 수 밖에 없는 언어 perl. 너무나 당연하게도 perl 또한 오래도록 사용해 왔으나 필요할 때 마다 필요한 부분을 습득하고 이해하고 사용해 왔다. 그랬던 터라 아직 알지 못하는 부분도 많이 존재할 것이고, 잘못 알고 있는 부분도 있으리라 생각된다. 그래서 블로그에 글으로 남기면서 지적을 받아 잘못 알고 있는 부분도 바로 잡고, 이번 기회를 통해 제대로 배워보려고 한다.
 
다만, 꾸준히 진행하기는 어려우나 지속적으로 기초정도의 이야기가 끝날 때까지는 반드시 완수한다.!!
 
참고로 아래 내용은 Perl 5에 기초하고 있으며 특정 기능이 정확히 어느 버전부터 동작하는지에 대한 여부를 정확히 알지 못하니 이 목록에 있는 글들을 참고하고 계시는 분이 계시다면 죄송합니다. 이 글 들을 작성을 시작했을 때 제가 사용했던 perl version은 아마도 5.10.1이며, 현재 5.17.1입니다.
 

목록
 
01. 설치는 해야 사용할 것 아니겠어?
+ Perlbrew link
 

02. 프로그래밍 언어 배울 때 누구나 해 보는 이것!!
+ Hello World link
 

03. 스칼라? 백터와 달리 방향성 없는 값? 대체 뭘 이야기하는 거지?
+ Scalar Data link
 

04. 변수. 값이 변한다는 건가? 아니면 값을 저장한다는 거?
+ Scalar Variable #1 link
+ Scalar Variable #2 - Automatic Conversion link
 

05. 문법을 잘 몰라서 그러는데 좀 엄격하게 제한 받을 순 없을 까?
+ use strict link
 

06. 변수에도 삶과 죽음이 있다고?
+ Variable Scope link
 

07. 값을 하나만 저장하는 게 아니라 연속적으로 잔뜩 저장할 순 없을 까?
+ Array Variable #1 link
+ Array Variable #2 link
+ Array Variable #3 - stack, queue with array link
 

08. 잠시 쉬어갑시다. 시간은 어떻게 표현할 까?
+ Time expression link
 

09. 값 저장할 때 말이야. 내가 원하는 키워드로 값을 저장할 순 없나?
+ Hash Variable link
 

10. 뭐라고? 값이 정해지지 않았는데 사용할 수 있다고?
+ undef, use warnings link
 

11. 다른 값을 가르키는데 사용한다고? 음 쓸 때가 있긴 할 까?
+ Reference #1 - Intro + for scalar variable and data link
+ Reference #2 - for array variable and data link
+ Reference #3 - two-dimensional array with reference link
 

12. 프로그램이 위에서 아래로만 수행되네.. 다르게는 안되는 건가?
+ Control Structure #1 - if() link
+ Control Structure #2 - while(), for(), foreach() link
+ Special variable - $_ link
+ Control Structure #3 - unless() link
+ Control Structure #4 - until() link
+ Control Structure #5 - if(), unless() as postfix notation link
+ Control Structure #6 - operator: last, next, redo in loop link
+ Control Structure #7 - Labeled Block
 

13. 특정 일을 하는 녀석을 하나의 단위로 만들어 두고 계속 불러 쓸 순 없을 까?
+ Subroutine #1 - declare, invoke, return value link
+ Subroutine #2 - Arguments, @_ link
+ Subroutine #3 - state variable link
 

14. 입력이랑 출력이랑 친구해야지…
+ Stardard Stream link
+ I/O #1 - Input from STDIN link
+ I/O #2 - Output to STDOUT link
+ I/O #3 - Open & Close a File link
+ I/O #4 - Read & Write a File link
+ I/O #5 - Read command-line arguments, <> link
 

15. Perl은 문자열처리가 뛰어나다며, 문자열을 어떻게 요리하면 되는 건데?
+ Regexp #1 - Introduction link
+ Regexp #2 - Precedence #1 link
+ Regexp #3 - Precedence #2 link
+ Regexp #4 - Pattern Match #1 - Find link
+ Regexp #5 - Pattern Match #2 - Extraction link
+ String #1 - Substitution link
+ String #2 - Split & Join link
 

16. pack/unpack? 무슨 짐을 싸고 푼다는 거야? 다른 말인 가?
+ Pack/Unpack link
 

17. Perl은 누가 잘 만들어둔 걸 가져다 쓰는 쉬운 방법 없어?
+ Core Module #1 - Intro. link
+ Core Module #2 - Object-Oriented link
 

계속 Update 될 것입니다.
 


출처 : http://eriny.net/p/easy.perl5

Posted by Corealight

댓글을 달아 주세요

  1. yukinpl 2013.07.30 00:47 Address Modify/Delete Reply

    안녕하세요 eriny.net에서 ntree를 운영하고 있는 yukinpl입니다.
    다름이 아니라 제 블로그에 있는 글을 그대로 복사하셔서 글로 작성해두셔서 이 글을 내려달라고 말씀드리려고 왔습니다.
    목차에 해당하는 글이니 글을 복사하시는 것보다 그냥 링크주소를 보관하시면 좋겠습니다.

The most popular Perl web sites

Have you ever wondered which Perl-related sites have the biggest audience?

I checked it now.

Made a couple of groups. The number on the right is the rangking of the specific web site among all the web sites in the world.

Community web sites

cpan.org9,565
perl.org15,791
perlmonks.org19,809
metacpan.org208,445
pm.org261,963
perl-community.de360,552

Perl based products

twiki.org125,048
otrs.org156,991
dadamailproject.com171,248
template-toolkit.org353,844
webgui.org378,081
foswiki.org396,906

Web frameworks

perldancer.org446,593
catalystframework.org546,849
mojolicious.org2,733,381

Perl 6 related sites

perlgeek.de878,605
perl6.org1,140,686
perl6maven.com1,238,252
rakudo.org1,721,581

Personal

perl.com187,126
modernperlbooks.com562,587
szabgab.com610,988
shlomifish.org763,238
perlgeek.de878,605
perl-begin.org1,209,793

The source

It is not an absolute measurement, but Alexa provides some interesting data on web sites. Specifically it provides some estimates on the traffic each site receives.

For most of the domains, Alexa has no listing for the separate sub-domains. So there is no separate ranking of perldoc.perl.org and blogs.perl.org, but within theAlexa listing you can usually see how the visitors are divided between the subdomains.

The sites of blogspot.com and wordpress.com are exceptions. For these sites Alexa understands that each subdomain is a stand-alone site and can provide the traffic data separately.

The future

This is not the first time I have collected these numbers and not the last. I am going to check these numbers every month and update the listing.

Published on 2012-09-08 by Gabor Szabo

Posted by Corealight

댓글을 달아 주세요

루비온레일즈


는 대부분의 시간을 같이 보낸 언어는 PHP, JAVA 입니다. 가장 익숙한건 아무래도 가장 오래하고 개발자층도 많은 JAVA 겠습니다.
이것은 나의 개인적인 선택이 아닌 돈을 받고 일을 하는 직업 프로그래머의 특성상 국내에서 가장 많이 쓰이는 일감이 많은 언어 순서대로 많이 할수 밖에 없었습니다.
PHP 는 언어의 초기 목표부터가 최대한 간단하며 누구나 쉽게 쓸수 있는 웹개발에 특화된 언어로써 지니는 특성으로 많은 장점과 동시에 많은 한계를 갖고 있었습니다. 지금은 물론 상당히 발전하고 OOP 적인 부분과 신기술이 도입되어 많이 다릅니다.
JSP 는 그런 PHP의 한계를 많이 매꿔주며 JAVA라는 강력한 프레임웍을 토대로 최신기술 트렌드를 주도해나가며 기업시장과 정부주도로 확장해나가게 되어 어쩔수 없이 PHP만 하다가 일거리가 바껴서 JSP 를 배워야 되기에 JAVA 또한 하게 되었습니다.
근데, 항상 일에 언어를 맞추고 나를 맞추게 되다보니 정작 내가 원하는 일과 언어를 사용하지 못하고 있는 내 자신을 볼수 있었습니다. 회사에서 작성하는 그런 팀단위로 이뤄진 웹개발언어의 코드라는건 시간이 갈수록 남의 코드와 같이 모르는 부분은 주석처리하고 다시 만들어 써넣기 반복되며 같은 이름의 클래스와 변수가 다르게 상속되거나 다른 의미로 사용되며 엄청나게 유지보수가 힘든 정말 절대 못푸는 실타래와 같이 암호화된 코드가 됩니다.
그러던중에 알게 된 새로운 언어들과 개발 프레임웍들이 Ruby / Ruby on Rails 와 Python / Django 그리고 Perl / Catalyst 였습니다.
처음에 Ruby on Rails 를 만들기 시작한 david heinemeier hansson 도 비슷한 대중성을 이유로 PHP로 만들어보려고 했다고 합니다. 하지만, 웹프레임웍을 만들려고 할려 한 2000년대초 당시엔 좀 언어로써 부족한 면이 많았습니다.
위에 얘기한거처럼, 사실 저는 Ruby on Rails 로 대규모 서비스 개발을 회사와 프로젝트에서 해본적이 없습니다. 해봐야 PHP나 JSP 서비스의 관리툴 정도로 저혼자 몰래(?) 만들어서 개발 서포트용도로 쓴 경우가 대부분이었습니다. 그리고 개인적으로 작은 필요에 의해서 만든 크롤러라던가, 재미로 간단히 만들어본 웹서비스 몇몇개 수준입니다.
근데 포스팅이 Ruby on Rails 로 대부분 채우게 되고 있습니다. 그건 제가 그만큼 Ruby on Rails 에 매력을 느끼고 최근 관심이 많다는 것이겠습니다. 그러면 왜 그럴까요? 그 이유를 설명하려고 포스팅을 하려 합니다.
Python 과 Perl 은 전에 가끔 간단한 시스템 관리용 복사, 백업같은 스크립트를 만드느라 써본 경험은 있었습니다. 하지만, 웹개발엔 전혀 써본적이 없어서 웹프레임웍이 있다는 사실조차 모르고 있었습니다. 그래서 하나씩 한번 어느것이 나에게 맞고 장단점이 있는지 몇년전부터 테스트하고 써보기 시작했습니다.
Python 은 아주 간결하고 규칙대로 해나가는 언어로 좋았습니다. 하지만, 그 탭을 맞추고 괄호로 이어지는 코드들은 좀 일단 쳐놓고 결과를 빨리 보고싶어하는 성격이 급한 나의 특성상 안맞았습니다.
Perl 은 보다 느슨한 규칙으로 빠른 코드를 쓰고 실행할수 있게 해주었지만, 그게 역시 단점으로 코드가 웹개발로 가면 여러가지 조건처리과 문자열처리로 엄청나게 난해해졌습니다.  물론 이건 제가 해당 언어에 미숙한 탓도 있습니다.
하지만, Ruby 는 이 둘을 절묘하게 섞어서 문법에서 자유와 깔끔한 코드를 만들어주었습니다. 정말 딱 필요한 글자만으로 코드를 내가 할만만 간단히 해서 적을수 있다는 느낌이었습니다. 그 언어적 특성에 기반하여 만들어낸 Rails 는 Ruby 의 특성을 최대한 살리면서 반복적인 작업을 정말 모두 자동화시키며 프로그래머는 뭘 만들어야되는지에만 집중하게 만들어주었습니다.
한때 몇년전에 Ruby on Rails 에 대한 요구가 우리나라에서도 번역된 서적이 출간되며 붐이 일뻔하다가 시장에서 수요에 대한 요구가 너무 없어서 다시 침체되었습니다. 하지만, 최근 Twitter 를 비롯하여 Groupon 같은 해외 글로벌 기업들의 개발 프레임웍으로 인정받으면서 다시 주목받을수 있지 않을까 생각합니다.
저는 국내 기업들과 개발자들이 어느 한 기술에 대해서 너무 얶매여 있지 말고, 다른 여러 시도를 해보는 것이 좋다고 생각합니다. 왜냐면, 저 또한 그런 편견을 깨지 않았다면 PHP 와 JSP만 해도 충분한 국내 개발 수요로 먹고 살며 다른 쪽은 보지도 않고 그냥 현실에 안주하며 새로운 세계를 보지 못했을거기에 말씀드립니다.
Rails 는 정말 어느정도 익숙해지면 경악할만한 개발속도와 차후 유지보수에 드는 노력 또한 엄청나게 절약해줍니다. 이게 정말 놀라운 것은 소프트웨어 개발이란 당연하게도 금방. 빨리. 만들면 코드가 정리안되고 엉망이라 계속적인 업데이트와 유지보수가 힘들어야되지만, Rails 는 그 코드 정리와 설계 과정을 대부분 자동화시켜 주고 필요한 부분에만 직접 써넣게 해주기에 왠만큼만 해놓아도 상당히 잘 정리된 설계가 나옵니다. 그리고, 당연하지만 OOP 를 완벽히 지원하는 스크립트 언어의 특성상 중복되는 코드도 최소화로 가져가며 클래스가 상속되는 구조로 갈수 있습니다.
물론, 단점도 있습니다. 기술적 내용이라 상세히 이 글에서 다 적지는 못하지만, 좀 느린 실행 속도와 최적화가 어렵다는 점입니다. JSP의 경우 JAVA 미들웨어도 교체하고 스케일아웃에 대한 이것저것 많은 상용 제품도 많고 JAVA 가 일단 기술 지원이 되니 해결책이 상당히 많습니다. PHP의 경우는 최적화를 하지 않아도 기본적으로 소규모사이트에선 언어 자체의 성능으로 충분하니 문제가 없습니다.
그러나, Rails 는 중간에 위치하기도 애매하고 아예 대규모 서비스로 가기도 퍼포먼스 측면에서 힘든 부분이 있습니다. 물론 제가 아직 그정도로 대규모 서비스 개발은 않해봐서 아직 모르는 부분이기도 합니다. 하지만,  Twitter 처럼 Back-end 부분은 분리해 나눠서 Rails 가 개발 효율성이 높은 Frond-end 부분을 맡고 아닌 부분은 타언어로 대체 합니다. 그래도 빠른 개발 속도와 유지보수가 쉬운 코드는 이런 단점을 모두 상쇄하고도 남는다고 저는 자신합니다.
마지막으로, 아마추어 프로그래머라면 어떤 언어로 무엇을 개발하든 사실 상관없습니다. 시간에 구애받지 않고 목표는 자신의 취미를 위해 하는 것이니까 말입니다. 하지만, 프로페셔널한 직업 프로그래머의 경우는 다릅니다. 자신의 최소한의 노동으로 최대한의 결과를 뽑아내는게 내 자신과 나를 고용한 회사 모두에게 이익입니다.
물론, 최대한의 노동으로 최대한 좋은 결과를 뽑아내면 좋겠지만, 그건 내 자신이 너무 힘든일입니다. 회사에서 맨날 야근할수도 없는 노릇이니, 누가 과연 그렇게 힘들게 살고 싶을까요? 프로그래머의 생활이란  회사에서 야근으로 중첩되고 지친 생활이 아니라 주어진 일을 빨리 끝내고 집에 가서 취미생활도 하는 것이 맞다고 생각합니다.
그런 시간의 여유를 가능하게 해주는 도우미? 친구? 도구가 Ruby on Rails 라고 생각합니다.
이것이 Rails 의 포인트이고 중요한거 같습니다.
반복적이고 컴퓨터가 할수 있는 일은 최대한 컴퓨터와 자동화된 도구에 맡기고 사람만이 할수 있는 일은 최소한으로 사람이 하도록 만드는 것.

Posted by Corealight

댓글을 달아 주세요