• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
работа с Ruby on rails
 

работа с Ruby on rails

on

  • 1,480 views

Работа с Ruby On Rails. Презентация от Ruby On Rails семинара във Варненския Свободен Университет, декември 2010

Работа с Ruby On Rails. Презентация от Ruby On Rails семинара във Варненския Свободен Университет, декември 2010

Statistics

Views

Total Views
1,480
Views on SlideShare
1,398
Embed Views
82

Actions

Likes
1
Downloads
6
Comments
0

1 Embed 82

http://blog.tutuf.com 82

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • Тутуф е компанията, която със Сава Чанков основахме 2007 с идеята да се занимаваме изцяло с проекти на Rails. Всъщност сме от първите в България, които работят изцяло с Rails. Започнахме с една доста специфична система – Щ – система за управление на производството в модна фирма. Освен нея вече имаме 4 отделни уеб приложения, за различни клиенти В момента провеждаме кампания за набиране на кандидати за първата(поне доколкото ни е известно) стажантска програма по Rails в България. И засега се радва на доста добър интерес. Това е моя twitter, където може да ме намерите
  • Ще ви разкажа повечко за Ruby On Rails. Като няма да навлизам в технически подробности и примерен код. Радо Станков ще го наблегне на тези страни в неговата презентация Ще видим какво е полезното в Rails Колко е лесно да се подкара Че може да се използва и за наистина сериозна работа Накрая ще ви дам отправна точка в източниците от където може да научите повече
  • Първото полезно нещо, с което ще се запознаете, щом започнете да работите с rails е ruby. Страхотен език – динамичен език за програмиране, елегантен Следващото нещо е MVC. Вече стандартен архитектурен моде в повечето уеб фреймуърци на различни езици (php, java, python) Разделянето на логиката на модел, който се занимава с комуникацията с базата данни и най-често съдържа по-голямата част от бизнес логиката, контролера предоставя нужните действия, с които потребителя взаимодейства с приложението, изгледът визуализира приложението в удобен за потребителя формат Друго много важно разделение, което правят в rails е конвенцията за множество среди, в които може да се изпълнява приложените с различни настройки. Минимума са тези 3. Работейки по този начин, самия процес на работа се опростява значително. Нямате си представа колко културно се работи по този начин. В множество от софтуерните фирми у нас, дори и големите, в най-добрия случай има бета сървър. Ето един реален пример: разработчика работи по някаква нова функционалност, среща проблем и си дебъгва на екрана за да разбере какво се случва. В същия момент QA-ите тестват същото приложение на същата среда, тя е единствена освен производствената, и им се изправят косите от дебъг съобщенията. Всичко това нямаше да се случи, ако разработчика имаше development версия на своята машина или специална за случая такава, а QA-ите тестват върху вече готовата версия и в среда идентична на производствената. DB migrations са друго гениално нещо в rails – представляват скриптове, които променят структурата на базата данни когато създавате нов модел или променяте някои от колоните в таблицата. Миграциите имат 2 посоки up и down. С up правите новите промени, а с down връщате нещата към предишното им състояние. Разбира се, не винаги промените, които ви се налага да правите са обратими, но в повечето случай е така. Това подсигурява еднаква схема на базата данни на всички инстации на приложението и също предпазва от омазване. Ако има някакъв проблем и мирацията не може да мине – хвърля съобщение за грешка. REST – софтуерна архитектура работеща по HTTP протокола, оперира с ресури с уникален идентификатор в уеб (URI)‏ gems – библиотеки и плъгини за специфични задачи и операции, с отворен код. Самия rails е gem, както ще видим в следващия слайд. Пример за един от най-често използваните е will-paginate
  • Същите тези хора от EngineYard са съставили списък с полезните източници, които да прочете човек, който иска да започне да се занимава с Rails. Не е изчерпателен, разбира се. Но винаги може да намерите повече информация и по стандартния начин
  • А ето колко лесно се подкарва rails. Разбира се, според ОС, на която се инсталира командите варират. Дала съм пример с Ubuntu linux. Първо инсталираме руби. Избираме си коя версия да е. После инсталираме rubygems, командите зависят пак от ос и това дали са включени в дистрибуцията. После инсталираме самия rails Правим си приложение appname, указваме настройките за връзка с базата данни и стартираме включения в rails уеб сървър webrick. Можем да си говорим с приложението и през конзолата.
  • На предишния слайд ви показах как се подкарва rails за собствени нужди на локалната машина. Сега ще ви разкажа какво се използва, когато rails задвижва сериозно приложение. В производство предпочитаното руби е т.н. REE, което е оптимизирано да работи по-добре от стандартно, особено с passenger. Ruby 1.9 също се използва, но аз нямам все още лични наблюдения. Passenger e модул към уеб сървъра, най-често apache, но се използва и nginx. Управлява rails процесите и позволява страшно лесно внедряване на приложенията. Capistrano e инструментът за автоматично внедряване. Когато нещата станат наистина сериозни има такива услуги като тези на EngineYard. Те предлагат т.н. Platform-as-a-service планове. Т.е. Дават ви среда за вашето приложение и то в облак. Дават множество инструменти за конфигуриране, мониторинг. Там са експертите в хостването на rails приложения.
  • Основнията принцип на rails като уеб фреймуърк е, че се залага на конвенцията над конфигурацията. Това насочва хората да пишат по т.н. rails way като следвайки тези конвенции, се спестява много код и им позволява да се съсредоточат върху бизнес логиката и да не се занимават с технически подробности. Останалите принципи не са специфични само за Rails, но също стоят в основата му. Да се избягва повторение на код, Да се пише по-малко код (по-малко код в повечето случаи значи по-малко дефекти и проблеми)‏ Принципът на най-малката изненада, също е много важен ...

работа с Ruby on rails работа с Ruby on rails Presentation Transcript

  • Работа с Ruby On Rails Деница Белогушева Ruby on Rails семинар, ВСУ Варна, 11.12.2010   
  • Моята работа ● тутуф, (2007-), съдружник и управител ● собствен продукт - Щ ● досега 4 различни уеб приложения за клиенти ● Първата стажантска програма по Ruby On Rails в България* ● @deni_bel   
  • Ruby On Rails ● полезното ● източници ● лесното ● сериозното ● принципите   
  • Ruby On Rails - полезното ● Ruby ● MVC framework ● development, test, production ● DB migration ● Gems   
  • Ruby On Rails - източници Resources for getting started with RoR благодарение на добрите хора от EngineYard или просто   
  • Ruby On Rails - лесното ➔ Инсталиране на Ruby и Rails ➔ apt-get install ruby-full ➔ инсталиране на rubygems ➔ gem install rails ➔ rails appname ➔ vim config/database.yml ➔ script/server или script/console   
  •    
  • Ruby On Rails – сериозното ● REE / Ruby 1.9 ● Phusion Passenger ● Apache / Nginx ● MySQL / PostgreSQL ● Capistrano ● EngineYard   
  • Heroku ● Platform as a service (PAAS) for building, deploying, and running cloud apps using Ruby ● > 107, 180 работещи приложения ● Salesforece.com купува Heroku за 212 милиона долара   
  • Ruby On Rails - принципите● convention over configuration● DRY● Less Is More● K.I.S.S● Principle Of Least Surprise● Be nice and have fun :)   
  • Освен забавление и игра?   
  • Agile web development ● agilemanifesto.org ● XP, Scrum, Lean ● Итерации ● Release early, release often ● Обратна връзка ● Pair Programming   
  • Тестове, тестове, тестове ● Проверка, че нещо се случва по определен начин ● Подсигуряване, че даден бъг няма да се появи отново ● Документация ● Regression testing ● TDD – not about testing, think design   
  • Култура и хигиена ● SCM (git, svn, mercurial) ● ssh + keys ● Automatic deploy ● Тестове   
  • Реалността   
  • В България? ● Бързо и лесно с Рубин на Релси – Сава Чанков, openfest, София, 2006 ● > 60 човека в google групата ● Успешни проекти ● Споделен хостинг с Rails (space.bg) ● @skanev, @petyosi, @stan_bb, @rstankov   
  • Възможностите за работа? ● Работа има и все повече се Rails-аджиите все предлага още са малко у ● Съществуващи нас сайтове ● Нови уеб проекти ● startup ● чуждестранни проекти   
  • Как да се (на)учим? ● Apprenticeship patterns ● Приятел с опит ● railsmentors.org ● Четене на чужд код ● Build breakable toys ● Проекти с отворен код ● Стажантски програми   
  • За новите поколения ● Ruby Summer Of Code 2010 – За ученици и студенти – стипендия в размер на $5000 (от дарения!) – Руби гурута за ментори  – Проекти с отворен код  
  • Как да си намерим работа? Тя ще ви намери, но бъдете подготвени ● github.com – по-добро от CV ● workingwithrails.com ● Ruby on Rails: България ● Приятели ● Общност ● Събития (openfest, webtech и др.)   
  • Собствен бизнес с Rails   
  • Собствен бизнес с Rails● Getting Real - http://gettingreal.37signals.com● Paul Graham - http://www.paulgraham.com● Бъдете гъвкави С професионално отношение към доверие на клиента!*   
  • Вдъхновение   
  • Вдъхновение ● Steve Jobs, Standford University, 2005 How to live before you die ● Jeff Bezos, Princeton University, 2010 Gifts vs. choices   
  • Благодаря    @deni_bel