Why ruby

Dec. 12, 2010
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
Why ruby
1 of 86

More Related Content

What's hot

Symfony2 Building on Alpha / Beta technologySymfony2 Building on Alpha / Beta technology
Symfony2 Building on Alpha / Beta technologyDaniel Knell
Zepto.js, a jQuery-compatible mobile JavaScript framework in 2KZepto.js, a jQuery-compatible mobile JavaScript framework in 2K
Zepto.js, a jQuery-compatible mobile JavaScript framework in 2KThomas Fuchs
Min-Maxing Software Costs - Laracon EU 2015Min-Maxing Software Costs - Laracon EU 2015
Min-Maxing Software Costs - Laracon EU 2015Konstantin Kudryashov
jQuery from the very beginningjQuery from the very beginning
jQuery from the very beginningAnis Ahmad
Node.js in actionNode.js in action
Node.js in actionSimon Su
Workshop 1: Good practices in JavaScriptWorkshop 1: Good practices in JavaScript
Workshop 1: Good practices in JavaScriptVisual Engineering

Similar to Why ruby

Ruby/RailsRuby/Rails
Ruby/Railsrstankov
Ruby on Rails ステップアップ講座 - 大場寧子Ruby on Rails ステップアップ講座 - 大場寧子
Ruby on Rails ステップアップ講座 - 大場寧子Yasuko Ohba
Metaprogramovanie #1Metaprogramovanie #1
Metaprogramovanie #1Jano Suchal
CoffeeScript - A Rubyist's Love AffairCoffeeScript - A Rubyist's Love Affair
CoffeeScript - A Rubyist's Love AffairMark
SOLID Ruby, SOLID RailsSOLID Ruby, SOLID Rails
SOLID Ruby, SOLID RailsJens-Christian Fischer
Desarrollando aplicaciones web en minutosDesarrollando aplicaciones web en minutos
Desarrollando aplicaciones web en minutosEdgar J. Suárez

Recently uploaded

Future of SkillsFuture of Skills
Future of SkillsAlison B. Lowndes
"The Intersection of architecture and implementation", Mark Richards"The Intersection of architecture and implementation", Mark Richards
"The Intersection of architecture and implementation", Mark RichardsFwdays
Understanding Wireguard, TLS and Workload IdentityUnderstanding Wireguard, TLS and Workload Identity
Understanding Wireguard, TLS and Workload IdentityChristian Posta
How resolve Gem dependencies in your code?How resolve Gem dependencies in your code?
How resolve Gem dependencies in your code?Hiroshi SHIBATA
10 reasons to choose Galaxy Tab S9 for work on the go10 reasons to choose Galaxy Tab S9 for work on the go
10 reasons to choose Galaxy Tab S9 for work on the goSamsung Business USA
Take Control of Podcasting thanks to Open Source and Podcasting 2.0Take Control of Podcasting thanks to Open Source and Podcasting 2.0
Take Control of Podcasting thanks to Open Source and Podcasting 2.0🎙 Benjamin Bellamy

Why ruby

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. Ruby е интерпретируем, интерактивен, обектно-ориентиран език за програмиране. Той комбинира черти от много други езици, сред които Smalltalk, Perl, Lisp и Python.\n\n
  7. Той е framework за уеб приложения. Чиято цел е да улесни и ускори начина на разработване на уеб приложения.\n\n
  8. Той е създаден от японеца Юкихиро Мацумото „Мац“. Като през 1995 излиза първата версия на езика.  Мотото на езика е  „Оптимизиран за щастието на програмиста”\n\n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. Стремежът на Ruby е да следва принципа на най-малка изненада. Това означава, че поведението на езика трябва да е интуитивно и той да работи така, както програмистът би очаквал.\nRuby е обектно-ориентиран: всеки тип данни е обект, включително класове, числа, булеви стойности, които в много други езици определят като примитиви, а не като реални обекти.\n\nНякои от най-важните характеристики на езика са: \nдимично определяне на типа данните\nмодули - “възможност един модул да се вгражда в множество класове, като така се постига множествено наследяване”\nотворени класове - “към всеки клас могат да се добавят нови атрибути и методи по време на изпълнение на програмата”\nблокове\nанонимни функции\nвсяка операция връща резултат\nвсичко е изпълним код - “включително и телата на класовете в който може има цикли, условни оператори и други”\nизчистен синтаксис - “не е задължително, да се поставят скоби, точка и запетая и други”\nмета програмиране\n \n\n
  33. \n
  34. \n
  35. Разработен от David Heinemeier Hansson от 37 Signals. Като е Rails е бил извлечен от тяхното приложение Basecamp. В разработаката на Rails са участвали над 1500 човека към момента.\n\n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. Rails използва Model-View-Controller архитектура. Чиято основна цел е разделянето на бизнес логиката от потребителския интерфейс. По този начин кода е по-лесен за тестване, поддръжка и бъдеща разработка.\nModel - “обединява бизнес логиката и инфраструктурата на приложението. Като най-често се използват ActiveRecord обекти, чрез които се взаимодейства с базата от данни. В Rails  почти никога не се работи директно с базата от дани и с sql код, а се минава през ActiveRecord моделите”\nView - “представлява потребителския интерфейс. Това най-често е HTML кода”.\nController - “свързва моделите и изгледите и връща резултат на потребителя”.\n \n\n
  45. Как работи едно Rails приложение? \nПри пристигане на запитване от browser-а.  Първо се минава през Routing системата, която определя, кой контролер е отговорен за обработката на запитването. След това съответния контролер взаимодейства с бизнес моделите.\nКоито са най-често са ActiveRecord обекти, които си взаимодействат с базата от данни. \nСлед това контролера предава моделите на View Layer-a, който генерира и изпраща отговор на браузъра. Като този отговор може да е html, xml, json, JavaScript или друг код.\n\n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n
  64. \n
  65. \n
  66. \n
  67. \n
  68. \n
  69. \n
  70. \n
  71. \n
  72. \n
  73. \n
  74. Taskar e разработен чрез  Тest Driven Development методологията, чиято основна идея е да се пише код в 3 стъпки:\nПърво се добавя тест, за все още не съществуващ код. Който трябва да се маркира като не успешен\nСлед това се пише възможно най-простия код, с който теста минава успешно.\nНакрая се правят подобрения по кода, изчистват се повторения, добавят се нови тестове и други.\n\nКато тези 3 стъпки се повтарят непрекъснато в процеса на разработка. Като цяло този метод на работа гарантира че 100% от кода ще е покрит с автоматични тестове. Което го прави лесен за поддръжка и с по--добър дизайн.  Това още се нарича Red-Green-Blue начин на работа.\n \n\n
  75. Taskar e разработен чрез  Тest Driven Development методологията, чиято основна идея е да се пише код в 3 стъпки:\nПърво се добавя тест, за все още не съществуващ код. Който трябва да се маркира като не успешен\nСлед това се пише възможно най-простия код, с който теста минава успешно.\nНакрая се правят подобрения по кода, изчистват се повторения, добавят се нови тестове и други.\n\nКато тези 3 стъпки се повтарят непрекъснато в процеса на разработка. Като цяло този метод на работа гарантира че 100% от кода ще е покрит с автоматични тестове. Което го прави лесен за поддръжка и с по--добър дизайн.  Това още се нарича Red-Green-Blue начин на работа.\n \n\n
  76. Taskar e разработен чрез  Тest Driven Development методологията, чиято основна идея е да се пише код в 3 стъпки:\nПърво се добавя тест, за все още не съществуващ код. Който трябва да се маркира като не успешен\nСлед това се пише възможно най-простия код, с който теста минава успешно.\nНакрая се правят подобрения по кода, изчистват се повторения, добавят се нови тестове и други.\n\nКато тези 3 стъпки се повтарят непрекъснато в процеса на разработка. Като цяло този метод на работа гарантира че 100% от кода ще е покрит с автоматични тестове. Което го прави лесен за поддръжка и с по--добър дизайн.  Това още се нарича Red-Green-Blue начин на работа.\n \n\n
  77. Taskar e разработен чрез  Тest Driven Development методологията, чиято основна идея е да се пише код в 3 стъпки:\nПърво се добавя тест, за все още не съществуващ код. Който трябва да се маркира като не успешен\nСлед това се пише възможно най-простия код, с който теста минава успешно.\nНакрая се правят подобрения по кода, изчистват се повторения, добавят се нови тестове и други.\n\nКато тези 3 стъпки се повтарят непрекъснато в процеса на разработка. Като цяло този метод на работа гарантира че 100% от кода ще е покрит с автоматични тестове. Което го прави лесен за поддръжка и с по--добър дизайн.  Това още се нарича Red-Green-Blue начин на работа.\n \n\n
  78. \n
  79. \n
  80. \n
  81. \n
  82. \n