close

친절한B씨

arrow_downward최신기사

루비

[IT열쇳말] 루비

우리가 쓰는 많은 프로그래밍 언어는 북미나 유럽권에서 나온 경우가 많다. C언어는 미국, 자바는 캐나다, 파이썬은 네덜란드, 스칼라는 스위스에서 나오는 식이다. 이러한 환경에서 주류 언어이자 주목받은 신인 언어 중 아시아 지역에서 탄생한 유일한 언어가 있다. ‘루비(Ruby)’라는 프로그래밍 언어다. 최근엔 그 인기가 주춤하지만 미국과 일본에서 여전히 큰 사랑을 받는 개발 언어, 루비에 대해 알아보자. ‘루비’의 아빠, 마츠모토 유키히로 루비는 간결함과 생산성을 강조한 동적 객체 지향 스크립트 프로그래밍 언어다. 동시에 오픈소스 언어이기도 하다. 일본인 개발자 마츠모토 유키히로가 1993년에 처음 개념을 구축한 이후 1995년 외부에 공식 공개됐다. 마츠모토 유키히로는 고등학생 시절부터 프로그래밍에 관심이 많았다. 대학교에서도 프로그래밍 관련 학과에서 공부한 뒤 바로 개발자로 취직을 했다....

C

[블로터10th] 프로그래밍 언어 10년 역사

프로그래밍 언어는 개발자라면 평생 관심을 가지는 소재다. 처음 프로그래밍을 배울때는 어떤 언어를 먼저 배울지 고민하고, 업무에 따라 다시 새로운 언어를 배우고, 새로 출시된 버전과 기능에 대해서도 따라가야 한다. 과거 주류 언어라고 하면 대부분 자바나 C/C++를 꼽았지만 최근 10년 사이에는 다양한 언어들이 성장하면서 기업에서 쓰는 주류 언어들도 부서나 기업 규모마다 다양해지고 있다. 아래 내용을 통해 최근 10년동안 인기있었던 프로그래밍 언어를 살펴보고 숨은 역사에 대해서도 알아보자. 프로그래밍 언어의 10년 트랜드 프로그래밍 언어 중 가장 인기 있는 언어는 무엇일까? 사실 프로그래밍 순위를 매기는 쉽지않다. 기업이나 언론에서 많이 인용하는 프로그래밍 언어 인기 지표는 대부분 검색량이나 깃허브, 스택오브플로우에서 언급되는 횟수 등의 데이터를 활용하는 수준이다. 가장...

깃허브

깃허브, 루비 언어용 리팩토링 도구 출시

깃허브가 리팩토링 결과를 테스트할 수 있는 오픈소스 기술을 2월3일 공개했다. '사이언티스트'라는 루비 라이브러리다. 리팩토링이란 기능상에 큰 변화를 주지 않으나 내부 구조를 보기 좋게 변경하는 것을 말한다. 예를 들어, 중복코드를 없애거나 퍼블릭 메소드를 프라이빗 메소드로 변경하거나, 상속 범위를 수정하는 것이다. 리팩토링 과정으로 코드의 품질은 높아지고 유지보수 및 확장을 하기 더 쉬어진다. 깃허브는 "일반적으로 리팩토링은 추상화 계층을 넣어 새로운 코드를 테스트한다"라며 "하지만 실제 시스템에 적용해봤을때 어떤 변화가 생길지 알기 쉽지 않다"라고 설명했다. 사이언티스트는 기존 추상화 계층보다 가벼운 추상화 계층을 사용한다. 이때 새로운 코드와 기존 코드는 해당 추상화 계층에서 동시에 실행되고 사이언티스트는 성능값을 비교해준다. 깃허브는 사이언티스트 결과값을 '블루벡'이라는 오픈소스 기술을 이용해 시각화했다. 블루벡도...

CCL

루비 개발자를 위한 코드 검색엔진 ‘옴니레프’

프로그래머라면 참고할 만한 소스코드를 찾기 위해 구글같은 검색엔진을 한번쯤 이용해봤을 것이다. 미국의 한 스타트업은 지난 10월부터 소프트웨어 개발자를 위해 새로운 검색 도구를 내놓았다. 루비 개발자를 위한 무료 검색엔진 ‘옴니레프’다. 프로그래머가 참고할 만한 코드는 책, 블로그, 커뮤니티, 오픈소스 저장소 등 다양한 곳에 퍼져 있다. 옴니레프는 코드가 있는 다양한 장소를 검색하며 필요한 코드를 찾아준다. 코드 뿐만 아니라 개발자가 찾는 검색 키워드와 관련된 기사나 커뮤니티 댓글 등도 찾아준다. 프로그래머가 검색하려는 의도를 파악해 최신 기술이나 유용한 정보를 찾아주는 게 옴니레프의 목표다. 옴니레프에선 코드 말고 자연어로도 바로 질문할 수 있다. 스택오버플로우 같은 커뮤니티와 비슷한 형태다. 특히 소스코드를 같이 첨부해 '옆에 보이는 코드 130줄에서 조건문을 왜...

강성희

[개발인] 강성희 “응답하라, 20대 개발자”

“가끔은 ‘난 안  되는 놈이구나’라고 좌절하기도 해요. 하지만 저는 힘든 상황을 이겨내려고 분발하는 과정에서 많은 걸 배우는 것 같아요. 돌이켜보면 유효한 경험을 했다고 느끼거든요. 다시 태어나도 개발자가 되고 싶고, 창업하고 싶어요. 쓰고 싶은 기술 마음껏 쓰고 개발할 수 있잖아요. 그리고 20대잖아요. 저는 20대에 더 잘 할 수 있는 일이 따로 있다고 보는데요. 그게 바로 ‘도전’이라고 생각해요. 그래서 마음 속에서 만들고 싶어하는 것을 개발하고 싶어요.” 새로운 기술을 접해볼까. 작은 기업으로 옮겨볼까. 창업을 해볼까. 이러한 고민이 있는 젊은 개발자가 조언을 받고 싶을 때, 이 사람이 옆에 있으면 좋을 것 같다. 강성희 개발자. 1987년생. 이제 28살이다. 보통 군대를 다녀오고 졸업하고 막 회사에 입사할...

C

[블로픽] 프로그래밍 언어 계보도

프로그래밍 언어는 애초에 사람이 컴퓨터와 소통하기 위해 만든 것이지만, 필요에 따라 서로 다른 방식으로 발전해왔다. 처음에 사람과 컴퓨터는 바이너리 코드(2진수 언어)로 소통했다. 컴퓨터가 인식할 수 있는 건 1과 0 두 가지뿐이다. 전기가 통하면 1, 안 통하면 0이다. 컴퓨터에서 작동하는 모든 복잡한 프로그램과 데이터는 결국 1과 0의 조합이다.  컴퓨터는 1과 0으로 조합된 복잡한 명령을 재빨리 처리하는 장치다. 초기 컴퓨터에 명령을 내리려면 직접 전선을 연결해야 했다. 전선을 연결하면 1, 연결하지 않으면 0이라는 식이었다. 이런 식으로 수많은 전선 가닥을 연결해 복잡한 계산식을 설계해야 했다. 이것이 초창기 프로그래밍이었다. 이진수로 컴퓨터에 직접 명령을 내리던 단계에서 조금 나아가 자주 쓰는 비트 패턴을 사람이 이해할 만한 약어로 바꿨다....

Linda Liukas

[e장인] "얘들아, 동화책으로 '루비' 배우자"

가까운 미래엔 유치원 시절부터 프로그래밍을 접하는 시대가 올까. 그것도 마치 '백설공주' 동화책 읽듯이 쉽고 재미있게 말이다. 이제껏 한 번도 그림을 그려본 적 없다던 어느 핀란드 개발자는 이미 ‘헬로루비’라는 동화책을 만들어 어린아이에게 코딩을 가르치고 있다. ‘헬로루비’는 4~7세 어린이를 위한 동화책이다. 숫자나 알파벳, 한글 교육용 유아용 서적처럼, '헬로루비'는 컴퓨팅적 사고를 배울 수 있는 유아용 프로그래밍 서적이다. '헬로루비'는 빨간 머리의 귀여운 소녀 주인공 ‘루비’가 펭귄, 안드로이드, 호랑이 친구들과 모험을 떠나는 게 주된 내용이다. 줄거리 속에서 변수, 루프, 조건문, 연산자 같은 프로그래밍의 기본 개념을 자연스레 익힐 수 있게끔 했다.  ▲동화책 '헬로루비' 개념도 '헬로루비'를 만든 사람은 동화책 작가이자 핀란드 출신 개발자 린다 리우카스다. 린다가 처음 '헬로루비'를...

루비

'루비'의 아빠, 마츠모토 유키히로

'루비의 아빠(Rubyのパパ)'. 마츠모토 유키히로 트위터에 쓰여 있는 프로필 문구다. 마츠모토라는 일본인 개발자는 30살 즈음에 루비를 낳아 외부에 처음 공개했다. 루비는 마츠모토의 헌신적인 노력으로 무럭무럭 자라 2014년 2월24일 21번째 생일을 맞았다. 100만명이 넘는 개발자가 루비에 관심을 갖고 있다. 여기서 말하는 루비는 사람이 아니다. 바로 오픈소스 프로그래밍 언어이다. 국내에선 최근에야 관심을 받기 시작했지만, 미국과 일본에서는 루비가 이미 많이 사용되고 있다. 마츠모토에 따르면 "미국에서는 50% 이상이, 일본에서는 70% 이상이 루비언어로 웹서비스가 개발됐다"라고 전했다. 그 예로 트위터가 루비언어 기반으로 개발됐고, 국내에선 미투데이와 카카오가 루비를 개발에 활용했다. 특히 '루비온레일즈'라는 웹프레임워크가 함께 사용되면서 루비는 더 주목받고 있다. 루비의 가장 큰 장점은 쉬운 사용법과 높은 성능이다. 루비언어는 1993년...

레일즈

간단하게 정리해본 페이스북 앱 개발 튜토리얼

페이스북과 연동한 웹 개발 방식은 크게 두 종류로 나눌 수 있다. 하나는 기존 웹사이트와 페이스북을 연동하는 페이스북 커넥트 방식의 웹 개발이고, 다른 하나는 페이스북 페이지 안에 사이트를 내장시키는 페이스북 캔버스 애플리케이션(앱) 방식이다. 페이스북 캔버스 앱은 다시 내장 방식으로 아이프레임을 사용하냐 혹은 페이스북에서 제공하는 FBML을 사용하냐에 따라 아이프레임 캔버스와 FBML 캔버스로 나눌 수도 있다. 페이스북은 잘 정리된 개발문서와 개발자 지원 페이지를 제공하고 있고, 또한 위에서 소개한 각각의 개발 방식에 맞춰 여러 종류의 개발 언어로 작성된 SDK를 제공하기 때문에 어떤 개발환경을 사용하든 손쉽게 페이북과 연동되는 웹 애플리케이션/서비스를 개발할 수 있다. Facebook 개발자 페이지 Facebook 개발 문서 Facebook SDKs: JavaScript, PHP, Python, iPhone,...

루비

'루비온레일스2.0' 공개

고속 웹개발 프레임워크인 루비온레일스2.0 버전이 공개됐다. 인포월드가 루비온레일스 창시자인 데이비드 하이네마이어 한슨을 인용해 보도한 기사에 따르면 2.0버전은 SOAP 웹서비스들 대신 REST (Representational State Transfer) 웹서비스들에 대한 지원이 대폭 강화된게 특징이다.피싱방지 등 보안 기능도 이전보다 강화됐다. 테스트와 피드 지원 능력도 좋아졌다고 한슨은 설명하고 있다.루비온레일스2.0은 해당 웹사이트에서 내려받을 수 있다. 보다 자세한 내용은 루비온레일스 블로그를 참고하면 된다.관련글1: 초고속 웹개발의 비밀 '루비온레일스'를 말한다