제가 루비랑 처음 12시간 동안 같이 있었어요.

교차 우편my blog.

배경.


지난 10년 동안 저는 PHP 개발자였습니다.2000년대 PHP4 버전부터 2018년 현재 버전 7까지.각본부터 OOP, 그리고 오늘날의 현대 언어 생태계까지.올해 나는 문제를 해결하기 위해 새로운 언어를 배우고 싶다.나는 몇 달 동안 Golang을 시험적으로 사용했다. 왜냐하면 병발과 통로 모형은 매우 재미있고 매우 저급한 언어이기 때문이다. (PHP도 그렇지 않다.)그러나 최근에 나는 현재 루비(on Rails)로 작성된 프로젝트를 접했다.나는 루비를 배우고 싶었던 지 이미 한참이 되었기 때문에 이것은 루비/Rails에게 아주 좋은 기회를 제공했다.일주일 동안의 과외와 독서를 통해 나는 시작한 12시간 후에 루비에 대해 자신의 견해를 가지게 되었다.

좋다


일반 커뮤니티
나는 이미 인터넷에 접속했다.ICQ, AIM, Usenets, 직통 BBS, 스택 오버플로우, 개발 목표, 지역 회의 등등.내 경험에 따르면, 나는 루비 그룹처럼 개방적이고 우호적이며 남을 돕기를 좋아하는 지역 사회를 본 적이 없다.만약 내가 구성원 간의 우호와 호기심 정도에 따라 언어를 선택하여 공부해야 한다면루피는 쉽게 이길 것이다.지역사회가 완벽하다는 것은 아니지만 전체적으로 가장 좋다.
언어 문법
알다시피 나는 간단한 문법을 좋아한다.이것은 점 기반 문법(예를 들어 JS)으로 paren은 선택할 수 있으며 데이터 형식은 거의 사용자 정의이다.
[0=>'value'] #수조 {'key'=>'value'} #hash1+2=3#int+int=int1.2+2.3=3.3#dec+dec=decself.# 데이터 객체를 검증합니다.메소드 매개변수 날짜
선택할 수 있는 파렌은 처음에는 곤혹스러웠지만 곧 심리적으로 내화되었다.
패키지 관리
한 차례의 탐색을 거쳐 나는 루비 언어의 생태계에 만족을 느꼈다.의존 관계 관리는 BundlerGem 시스템이 잘 처리한다.개인적으로는 DSL로서 Gemfile 구문을 좋아하지 않지만, 그것은 매우 읽을 수 있고, 오류를 발견하기 쉽다.나도 그것이 시스템급의 의존 관계를 처리하는 것을 좋아한다.박사후가 필요합니까?그것도.지리적 위치 계산에 사용할 라이브러리가 필요합니까?그것도.프런트엔드 자산 파이프라인에 SASS 프로세스가 필요합니까?그것도.심지어 프레임워크 Rails와 Sinatra는 프로젝트의 의존항이지 특정한 프레임워크에 따라 구축된 프로젝트를 제출하는 것이 아니다.물론 이 문제를 해결할 수 있는 방법은 많지만 루비는 디자인을 통해 이루어진다.
오, 루비는 NodeJs와 유사한 버전 관리자입니다.이름은 RVM(Ruby 버전 관리자)입니다.
  • https://bundler.io/
  • https://www.cloudcity.io/blog/2015/07/10/how-bundler-works-a-history-of-ruby-dependency-management/
  • https://rvm.io/
  • 야단났어


    개량 샘프
    모든 소프트웨어에 대한 사랑으로 일반 소프트웨어를 사용하세요!이것은 최근 60년 동안의 발표 관리보다 당신, 라벨, 그리고 다른 사람들이 더 잘 관리하고 있다는 것을 의미한다.더 이상 특별한 눈송이를 만들지 마라.
    자동 논리 프레임워크
    Rails와 Sinatra는 모두 자신의 의견을 고집한다.다른 일을 하고 싶으세요?아니오, 꺼져요.이 언어는 매우 유연하지만 앞의 두 틀은 매우 자기 의견을 고집한다.나는 이것이 배치가 아니라 전통과 밀접한 관계가 있다고 생각한다.너는 일이 이미 정해진 것이기를 기대해야만 관례가 정상적으로 작동할 수 있다.

    추했어


    문법이 너무 짧을 수도 있어요.
    [A] -[B]=[C]
    이것이 바로 Ruby의 배열 빼기입니다.어레이인지 모를 경우 어떤 일이 벌어졌는지 알 가능성은 희박합니다.숫자 수학에는 의미가 있지만, 숫자에는 대개 괄호 #이 없다일부 언어는 정적 구조 조작 기능을 가지고 있다.루피가 아니야, 아니야.모든 것은 하나의 물체이기 때문에 모든 것은 타고난 능력과 기능을 가지고 있다.나는'매일 모든 사람을 기쁘게 해서는 안 된다'는 것을 안다.이것은 정말 단지 꼬치꼬치 캐묻는 것일 뿐이다.
    표현
    루피가 넘어진 곳이야.모든 간단한 문법에 대해 모든 것은 하나의 대상이고 깔끔한 콜스틴스이다.루비 2.6은 모든 두 갈래 나무 테스트에서 PHP 74.3에 뒤졌다.https://benchmarksgame-team.pages.debian.net/benchmarksgame/faster/yarv-php.html 하고 싶은 말은 다 하지만 실시간 정보 시대에는 10밀리초마다 한 번씩 중요하다.몇몇 예에서 루비는 빙하시대의 느린 행성이다.이 문제를 해결하는 간단한 방법은 캐시(Redis/et al.)입니다.가장 기본적인 응용 프로그램이라도 복잡성을 증가시키지만, 보통 모든 규모의 응용 프로그램에 적용된다.

    끝맺다


    지금까지 나는 매우 좋아했다.나는 PHP나 Golang처럼 루비(+Rails/Sinatra)를 쉽게 사용해서 자동화 스크립트의 웹 프로젝트를 신속하게 작성할 수 있다고 상상할 수 있다.0에서 10까지 내가 루비에게 준 총 성적은 8.5점이다.틀림없이 견지해 나갈 것이지만 발전할 공간도 있다.
    그럼 너는, 너 루비 오래 썼어?루비에 대해 어떤 느낌이나 견해를 가지고 계십니까?이 언어를 공부할 때, 당신은 어떤 유용한 자원이 있다고 생각합니까?아래의 평론을 공유하세요.

    좋은 웹페이지 즐겨찾기