SlideShare uma empresa Scribd logo
1 de 113
Ruby / Rails


Радослав Станков
Varna Lab                   14/07/2011
Кой съм аз?

@rstankov




http://rstankov.com
http://blog.rstankov.com
http://github.com/rstankov
Ruby

Ruby е интерактивен,
обектно-ориентиран език за
програмиране.
Неготово мото е:
“Optimized for programmer happiness”
Ruby on Rails

   Ruby on Rails е framework
   за уеб приложения.
   Неготово мото е:
   “Web development doesn’t hurt”
Ruby

 Създаден от японеца Юкихиро
 Мацумото „Мац“.
 Първата публична версия излиза
 през 1995.
 Версия 2.0 се очакава да излезе за
 Коледа / не се казва коя /
class System {
 // ... code ...

    private $_categories = null;
    public function getVisibleCategories() {
      if ($this->_categories === null) {
        $this->_categories = $this->findCategories(array(
          'visible' => true
        ));
      }
      return $this->_categories;
    }
}
class System
 # ... code ...

 def visible_categories()
  return @categories ||= self.find_categories({:visible => t
 end
end
class System
 # ... code ...

 def visible_categories()
  return @categories ||= self.find_categories({:visible => t
 end
end
class System
 # ... code ...

 def visible_categories
  return @categories ||= self.find_categories({:visible => t
 end
end
class System
 # ... code ...

 def visible_categories
  return @categories ||= self.find_categories({:visible => t
 end
end
class System
 # ... code ...

 def visible_categories
  return @categories ||= self.find_categories({:visible => t
 end
end
class System
 # ... code ...

 def visible_categories
  @categories ||= self.find_categories({:visible => true})
 end
end
class System
 # ... code ...

 def visible_categories
  @categories ||= self.find_categories({:visible => true})
 end
end
class System
 # ... code ...

 def visible_categories
  @categories ||= self.find_categories({:visible => true})
 end
end
class System
 # ... code ...

 def visible_categories
  @categories ||= self.find_categories({:visible => true})
 end
end
class System
 # ... code ...

 def visible_categories
  @categories ||= find_categories({:visible => true})
 end
end
class System
 # ... code ...

 def visible_categories
  @categories ||= find_categories({:visible => true})
 end
end
class System
 # ... code ...

 def visible_categories
  @categories ||= find_categories :visible => true
 end
end
5.times { puts "Ruby is cool!" }
5.times do
  puts "Ruby is cool!"
end
File.open("some_file.txt") do |file|
  file << "content"
end
[1,2,3,4].each { |value| puts value }

# => [1, 2, 3, 4]

[1,2,3,4].map { |value| value * value }

# => [1, 4, 9, 16]

[1,2,3,4].reduce { |a, b| a + b }

# => 10

[1,2] * 3

# => [1, 2, 1, 2, 1, 2]
def operate(value)
  yield value
end

value = operate(5) { |v| v + 4 }
puts value # 9
class Person
  attr_accessor :fist_name, :last_name

  def initialize(first_name, last_name)
    @first_name = first_name
    @last_name = last_name
  end

  def full_name
    first_name + " " + last_name
  end
end

me = Person.new("Radoslav", "Stankov")
puts me.full_name # Radoslav Stankov
class Person
  attr_accessor :fist_name, :last_name

  def initialize(first_name, last_name)
    @first_name = first_name
    @last_name = last_name
  end

  def full_name
    first_name + " " + last_name
  end
end

me = Person.new("Radoslav", "Stankov")
puts me.full_name # Radoslav Stankov
class Person
  attr_accessor :fist_name, :last_name

  def initialize(first_name, last_name)
    @first_name = first_name
    @last_name = last_name
  end

  def full_name
    first_name + " " + last_name
  end
end

me = Person.new("Radoslav", "Stankov")
puts me.full_name # Radoslav Stankov
class Person
  attr_accessor :fist_name, :last_name

  def initialize(first_name, last_name)
    @first_name = first_name
    @last_name = last_name
  end

  def full_name
    first_name + " " + last_name
  end
end

me = Person.new("Radoslav", "Stankov")
puts me.full_name # Radoslav Stankov
class Person
  attr_accessor :fist_name, :last_name

  def initialize(first_name, last_name)
    @first_name = first_name
    @last_name = last_name
  end

  def full_name
    first_name + " " + last_name
  end
end

me = Person.new("Radoslav", "Stankov")
puts me.full_name # Radoslav Stankov
class Person
  def +(other_person)
    # ...
  end
end

person1 + person2
class Array
  def first
    self[0]
  end

  def second
    self[1]
  end
end

array = [1, 2, 3, 4]
array.first   # 1
array.second # 2
class Numeric
  def plus(x)
    self + x
  end
end

y = 5.plus(6)
Time.now - 2.days == 2.days.ago

1.month.ago + 45.days - 1.year
Ruby
•   димично определяне на типа данните
•   модули
•   отворени класове
•   блокове
•   анонимни функции
•   всяка операция връща резултат
•   всичко е изпълним код
•   изчистен синтаксис
•   мета програмиране
•   промяна на обектите по време на изпълнение
•   вградени регулярни изрази
Ruby on Rails
          Разработен от David
     Heinemeier Hansson от 37
     Signals.
     Първата публична версия е
     излиза през юли 2004.
     Вървим бавно, но сигурно
     към 3.1
37signals




  Милиони клиенти ... по-малко от 37 служителя
Основни принципи на
              Ruby on Rails
•   Convention over Configuration
•   DRY - Don’t Repeat Yourself
•   KISS - Keep it simple, Stupid!
•   Skinny Controller, Fat Model
•   Тest Driven Development / Behavior Driven Development
•   Less is More
•   Code Generation
•   REST
Основни принципи на
              Ruby on Rails
•   Convention over Configuration
•   DRY - Don’t Repeat Yourself
•   KISS - Keep it simple, Stupid!
•   Skinny Controller, Fat Model
•   Тest Driven Development / Behavior Driven Development
•   Less is More
•   Code Generation
•   REST
                                         N !
                                VE FU
                              HA
MVC Архитектура
Начин на работа
REST
Method         Path        Controller   Action
  GET         /tasks         tasks       index
  GET      /tasks/new        tasks        new
 POST         /tasks         tasks      create
  GET       /tasks/:id       tasks       show
  GET    /tasks/:id/edit     tasks        edit
  PUT       /tasks/:id       tasks      update
DELETE      /tasks/:id       tasks      delete
Url формати
 Method          Path        Shows     Action
  GET          /tasks/1       html      show
  GET       /tasks/1.xml      xml       show
  GET       /tasks/1.json     json      show
  GET      /tasks/1.print     html      show
  PUT          /tasks/1     redirect   update
PUT(xhr)       /tasks/1      html/js   update
  PUT       /tasks/1.json     json     update
Model
class Task < ActiveRecord::Base
  belongs_to :user

  has_many :comments

  validates_presence_of :user, :text
  validates_inclusion_of :status, :in => ["opened", "completed"]

  attr_readonly :user_id

  def editable?
    status == "opened"
  end
end
Model
class Task < ActiveRecord::Base
  belongs_to :user

  has_many :comments

  validates_presence_of :user, :text
  validates_inclusion_of :status, :in => ["opened", "completed"]

  attr_readonly :user_id

  def editable?
    status == "opened"
  end
end
Model
class Task < ActiveRecord::Base
  belongs_to :user

  has_many :comments

  validates_presence_of :user, :text
  validates_inclusion_of :status, :in => ["opened", "completed"]

  attr_readonly :user_id

  def editable?
    status == "opened"
  end
end
Model
class Task < ActiveRecord::Base
  belongs_to :user

  has_many :comments

  validates_presence_of :user, :text
  validates_inclusion_of :status, :in => ["opened", "completed"]

  attr_readonly :user_id

  def editable?
    status == "opened"
  end
end
Model
class Task < ActiveRecord::Base
  belongs_to :user

  has_many :comments

  validates_presence_of :user, :text
  validates_inclusion_of :status, :in => ["opened", "completed"]

  attr_readonly :user_id

  def editable?
    status == "opened"
  end
end
Controller
class TasksController < ApplicationController
 before_filter :require_user

 def index
  @tasks = Task.where(:status => "opened")
 end

 def show
  @task = Task.find(params[:id])
 end

 def create
  @task = current_user.tasks.build(params[:task])

  if @task.save
    redirect_to tasks_path
  else
    render :partial => "new"
  end
 end
end
Controller
class TasksController < ApplicationController
 before_filter :require_user

 def index
  @tasks = Task.where(:status => "opened")
 end

 def show
  @task = Task.find(params[:id])
 end

 def create
  @task = current_user.tasks.build(params[:task])

  if @task.save
    redirect_to tasks_path
  else
    render :partial => "new"
  end
 end
end
Controller
class TasksController < ApplicationController
 before_filter :require_user

 def index
  @tasks = Task.where(:status => "opened")
 end

 def show
  @task = Task.find(params[:id])
 end

 def create
  @task = current_user.tasks.build(params[:task])

  if @task.save
    redirect_to tasks_path
  else
    render :partial => "new"
  end
 end
end
Controller
class TasksController < ApplicationController
 before_filter :require_user

 def index
  @tasks = Task.where(:status => "opened")
 end

 def show
  @task = Task.find(params[:id])
 end

 def create
  @task = current_user.tasks.build(params[:task])

  if @task.save
    redirect_to tasks_path
  else
    render :partial => "new"
  end
 end
end
Controller
class TasksController < ApplicationController
 before_filter :require_user

 def index
  @tasks = Task.where(:status => "opened")
 end

 def show
  @task = Task.find(params[:id])
 end

 def create
  @task = current_user.tasks.build(params[:task])

  if @task.save
    redirect_to tasks_path
  else
    render :partial => "new"
  end
 end
end
View
<%= form_for task do |form| %>
 <%= render 'shared/error_messages', :target => form.object
%>
 <p>
  <%= form.label :text %>
  <%= form.text_area :text %>
 </p>
 <p>
  <%= form.label :status %>
  <%= form.select :status, Task.statuses %>
 </p>
 <div class="buttons">
  <%= form.submit %> |
  <% link_to "Cancel", tasks_path %>
 </div>
<% end %>
View + simple_form / slim

 = simple_form_for task do |form|
  = form.error_banner
  = form.input :text
  = form.input :status, :collection => Task.statuses
  .buttons
    = form.submit
    = link_to 'Cancel', tasks_path
Test Driven Development
Test Driven Development
1   Добавя се тест
    ... за несъществуващ код
Test Driven Development
1   Добавя се тест
    ... за несъществуващ код




                               2   Пише се код
                                   ... колкото само тестът да мине
Test Driven Development
    1     Добавя се тест
          ... за несъществуващ код




                                          2   Пише се код
                                              ... колкото само тестът да мине




3       Правят се подобрения
        ... подобрява се качеството на кода
Test Driven Development
    1     Добавя се тест
          ... за несъществуващ код




                                          2   Пише се код
                                              ... колкото само тестът да мине




3       Правят се подобрения
        ... подобрява се качеството на кода
Cucumber feature
Feature: Tasks
 In order to get more productive and organize
 As a user
 I want able to manage my tasks

 Scenario: Adding tasks
  Given I am on the tasks page
  When I follow "New task"
  And I fill in "Text" with "Present Ruby"
  And I select "opened" from "Status"
  And I press "Create task"
  Then I should have opened task "Present Ruby"

 Scenario: Completing tasks
  Given I am on the tasks page
  And I have opened task "Present Ruby"
  When I follow "Edit tasks"
  And I select "completed" from "Status"
  And I press "Update task"
  Then I should have completed task "Present Ruby"
Тесване на Controller
describe TasksController do
  describe "GET 'show'" do
    before { Task.should_recive(:find).with("1").and_return task }
    before { get :show, :id => "1" }

    it { should assign_to(:task).with(task) }
    it { should render_temlate("show") }
  end
end
describe Task do
  it { should belong_to(:user) }
  it { should have_many(:notes) }

 it { should validate_presence_of(:user) }
 it { should validate_presence_of(:text) }

 describe "#editable?" do
   it "returns true if task status is 'opened'" do
     Task.new(:status => "opened").should be_editable
   end

    it "returns false if task status is 'rejected'" do
      Task.new(:status => "rejected").should_not be_editable
    end

    it "returns false if task status is 'completed" do
      Task.new(:status => "completed").should_not be_editable
    end
  end
end
Тестване на View
describe "tasks/show.html.erb" do
  before do
    assign :task, mock_model(Task, {
       :id   => 1,
       :text => "task text"
    })

    render
  end

  it "renders task text" do
    rendered.should contain("task text")
  end

  it "renders link for editing task" do
    rendered.should have_selector('a[href="/tasks/1/edit"]')
  end
end
... и още, и още
•   database migrations
•   gem dependency management
•   css/javascript management (from Rails 3.1)
•   nested forms
•   automatic deploys
•   Rack
•   generations
•   send/receive mails
•   caching
•   internalization (i18n)
•   Ruby language extentions
•   a LOT plugins, tools and services
•   ... и т.н.
Погрешни схващания

•   Rails CAN'T SCALE
•   Rails is SLOW!!!!
•   Hard to deploy
•   Too much magic
•   Hard to learn every thing
•   Impossible to extend rails!
•   No good IDE
•   Bad windows support
•   Documentation
Погрешни схващания

•   Rails CAN'T SCALE
•   Rails is SLOW!!!!
•   Hard to deploy
•   Too much magic
•   Hard to learn every thing
•   Impossible to extend rails!
•   No good IDE
•   Bad windows support
•   Documentation
Погрешни схващания

•   Rails CAN'T SCALE
•   Rails is SLOW!!!!
•   Hard to deploy
•   Too much magic
•   Hard to learn every thing
•   Impossible to extend rails!
•   No good IDE
•   Bad windows support
•   Documentation
Погрешни схващания

•   Rails CAN'T SCALE
•   Rails is SLOW!!!!
•   Hard to deploy
•   Too much magic
•   Hard to learn every thing
•   Impossible to extend rails!
•   No good IDE
•   Bad windows support
•   Documentation
Погрешни схващания

•   Rails CAN'T SCALE
•   Rails is SLOW!!!!
•   Hard to deploy
•   Too much magic
•   Hard to learn every thing
•   Impossible to extend rails!
•   No good IDE
•   Bad windows support
•   Documentation
Погрешни схващания

•   Rails CAN'T SCALE
•   Rails is SLOW!!!!
•   Hard to deploy
•   Too much magic
•   Hard to learn every thing
•   Impossible to extend rails!
•   No good IDE
•   Bad windows support
•   Documentation
Погрешни схващания

•   Rails CAN'T SCALE
•   Rails is SLOW!!!!
•   Hard to deploy
•   Too much magic
•   Hard to learn every thing
•   Impossible to extend rails!
•   No good IDE
•   Bad windows support
•   Documentation
Погрешни схващания

•   Rails CAN'T SCALE
•   Rails is SLOW!!!!
•   Hard to deploy
•   Too much magic
•   Hard to learn every thing
•   Impossible to extend rails!
•   No good IDE
•   Bad windows support
•   Documentation
Погрешни схващания

•   Rails CAN'T SCALE
•   Rails is SLOW!!!!
•   Hard to deploy
•   Too much magic
•   Hard to learn every thing
•   Impossible to extend rails!
•   No good IDE
•   Bad windows support
•   Documentation
Благодаря за вниманието



@rstankov

Mais conteúdo relacionado

Mais procurados

Zepto.js, a jQuery-compatible mobile JavaScript framework in 2K
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 2K
Thomas Fuchs
 
Venturing Into The Wild: A .NET Developer's Experience As A Ruby Developer
Venturing Into The Wild: A .NET Developer's Experience As A Ruby DeveloperVenturing Into The Wild: A .NET Developer's Experience As A Ruby Developer
Venturing Into The Wild: A .NET Developer's Experience As A Ruby Developer
Jon Kruger
 

Mais procurados (20)

Zepto.js, a jQuery-compatible mobile JavaScript framework in 2K
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 2K
 
Symfony2 Building on Alpha / Beta technology
Symfony2 Building on Alpha / Beta technologySymfony2 Building on Alpha / Beta technology
Symfony2 Building on Alpha / Beta technology
 
Min-Maxing Software Costs - Laracon EU 2015
Min-Maxing Software Costs - Laracon EU 2015Min-Maxing Software Costs - Laracon EU 2015
Min-Maxing Software Costs - Laracon EU 2015
 
jQuery from the very beginning
jQuery from the very beginningjQuery from the very beginning
jQuery from the very beginning
 
Workshop 1: Good practices in JavaScript
Workshop 1: Good practices in JavaScriptWorkshop 1: Good practices in JavaScript
Workshop 1: Good practices in JavaScript
 
Node.js in action
Node.js in actionNode.js in action
Node.js in action
 
Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...
Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...
Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...
 
Min-Maxing Software Costs
Min-Maxing Software CostsMin-Maxing Software Costs
Min-Maxing Software Costs
 
Venturing Into The Wild: A .NET Developer's Experience As A Ruby Developer
Venturing Into The Wild: A .NET Developer's Experience As A Ruby DeveloperVenturing Into The Wild: A .NET Developer's Experience As A Ruby Developer
Venturing Into The Wild: A .NET Developer's Experience As A Ruby Developer
 
5 Tips for Better JavaScript
5 Tips for Better JavaScript5 Tips for Better JavaScript
5 Tips for Better JavaScript
 
Decoupling with Design Patterns and Symfony2 DIC
Decoupling with Design Patterns and Symfony2 DICDecoupling with Design Patterns and Symfony2 DIC
Decoupling with Design Patterns and Symfony2 DIC
 
Dollar symbol
Dollar symbolDollar symbol
Dollar symbol
 
Crafting beautiful software
Crafting beautiful softwareCrafting beautiful software
Crafting beautiful software
 
Testable, Object-Oriented JavaScript
Testable, Object-Oriented JavaScriptTestable, Object-Oriented JavaScript
Testable, Object-Oriented JavaScript
 
06 jQuery #burningkeyboards
06 jQuery  #burningkeyboards06 jQuery  #burningkeyboards
06 jQuery #burningkeyboards
 
Frontin like-a-backer
Frontin like-a-backerFrontin like-a-backer
Frontin like-a-backer
 
Dutch PHP Conference - PHPSpec 2 - The only Design Tool you need
Dutch PHP Conference - PHPSpec 2 - The only Design Tool you needDutch PHP Conference - PHPSpec 2 - The only Design Tool you need
Dutch PHP Conference - PHPSpec 2 - The only Design Tool you need
 
05 JavaScript #burningkeyboards
05 JavaScript #burningkeyboards05 JavaScript #burningkeyboards
05 JavaScript #burningkeyboards
 
Rich domain model with symfony 2.5 and doctrine 2.5
Rich domain model with symfony 2.5 and doctrine 2.5Rich domain model with symfony 2.5 and doctrine 2.5
Rich domain model with symfony 2.5 and doctrine 2.5
 
¿Cómo de sexy puede hacer Backbone mi código?
¿Cómo de sexy puede hacer Backbone mi código?¿Cómo de sexy puede hacer Backbone mi código?
¿Cómo de sexy puede hacer Backbone mi código?
 

Semelhante a Ruby/Rails

A tour on ruby and friends
A tour on ruby and friendsA tour on ruby and friends
A tour on ruby and friends
旻琦 潘
 
Rails 3 overview
Rails 3 overviewRails 3 overview
Rails 3 overview
Yehuda Katz
 
Desarrollando aplicaciones web en minutos
Desarrollando aplicaciones web en minutosDesarrollando aplicaciones web en minutos
Desarrollando aplicaciones web en minutos
Edgar Suarez
 
Rails 3: Dashing to the Finish
Rails 3: Dashing to the FinishRails 3: Dashing to the Finish
Rails 3: Dashing to the Finish
Yehuda Katz
 
Intro To JavaScript Unit Testing - Ran Mizrahi
Intro To JavaScript Unit Testing - Ran MizrahiIntro To JavaScript Unit Testing - Ran Mizrahi
Intro To JavaScript Unit Testing - Ran Mizrahi
Ran Mizrahi
 

Semelhante a Ruby/Rails (20)

Why ruby
Why rubyWhy ruby
Why ruby
 
Pourquoi ruby et rails déchirent
Pourquoi ruby et rails déchirentPourquoi ruby et rails déchirent
Pourquoi ruby et rails déchirent
 
Ruby on Rails at PROMPT ISEL '11
Ruby on Rails at PROMPT ISEL '11Ruby on Rails at PROMPT ISEL '11
Ruby on Rails at PROMPT ISEL '11
 
Ruby on Rails - Introduction
Ruby on Rails - IntroductionRuby on Rails - Introduction
Ruby on Rails - Introduction
 
Introduction à Ruby
Introduction à RubyIntroduction à Ruby
Introduction à Ruby
 
SOLID Ruby, SOLID Rails
SOLID Ruby, SOLID RailsSOLID Ruby, SOLID Rails
SOLID Ruby, SOLID Rails
 
Rails2 Pr
Rails2 PrRails2 Pr
Rails2 Pr
 
A tour on ruby and friends
A tour on ruby and friendsA tour on ruby and friends
A tour on ruby and friends
 
Ruby on Rails ステップアップ講座 - 大場寧子
Ruby on Rails ステップアップ講座 - 大場寧子Ruby on Rails ステップアップ講座 - 大場寧子
Ruby on Rails ステップアップ講座 - 大場寧子
 
Supa fast Ruby + Rails
Supa fast Ruby + RailsSupa fast Ruby + Rails
Supa fast Ruby + Rails
 
Rails 3 overview
Rails 3 overviewRails 3 overview
Rails 3 overview
 
Desarrollando aplicaciones web en minutos
Desarrollando aplicaciones web en minutosDesarrollando aplicaciones web en minutos
Desarrollando aplicaciones web en minutos
 
Rails 3: Dashing to the Finish
Rails 3: Dashing to the FinishRails 3: Dashing to the Finish
Rails 3: Dashing to the Finish
 
Getting started with Rails (2), Season 2
Getting started with Rails (2), Season 2Getting started with Rails (2), Season 2
Getting started with Rails (2), Season 2
 
2011-02-03 LA RubyConf Rails3 TDD Workshop
2011-02-03 LA RubyConf Rails3 TDD Workshop2011-02-03 LA RubyConf Rails3 TDD Workshop
2011-02-03 LA RubyConf Rails3 TDD Workshop
 
Intro To JavaScript Unit Testing - Ran Mizrahi
Intro To JavaScript Unit Testing - Ran MizrahiIntro To JavaScript Unit Testing - Ran Mizrahi
Intro To JavaScript Unit Testing - Ran Mizrahi
 
Rails 3 (beta) Roundup
Rails 3 (beta) RoundupRails 3 (beta) Roundup
Rails 3 (beta) Roundup
 
More to RoC weibo
More to RoC weiboMore to RoC weibo
More to RoC weibo
 
Ruby on Rails
Ruby on RailsRuby on Rails
Ruby on Rails
 
SproutCore and the Future of Web Apps
SproutCore and the Future of Web AppsSproutCore and the Future of Web Apps
SproutCore and the Future of Web Apps
 

Último

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Último (20)

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

Ruby/Rails

  • 1. Ruby / Rails Радослав Станков Varna Lab 14/07/2011
  • 3.
  • 4.
  • 5.
  • 6. Ruby Ruby е интерактивен, обектно-ориентиран език за програмиране. Неготово мото е: “Optimized for programmer happiness”
  • 7. Ruby on Rails Ruby on Rails е framework за уеб приложения. Неготово мото е: “Web development doesn’t hurt”
  • 8. Ruby Създаден от японеца Юкихиро Мацумото „Мац“. Първата публична версия излиза през 1995. Версия 2.0 се очакава да излезе за Коледа / не се казва коя /
  • 9.
  • 10. class System { // ... code ... private $_categories = null; public function getVisibleCategories() { if ($this->_categories === null) { $this->_categories = $this->findCategories(array( 'visible' => true )); } return $this->_categories; } }
  • 11. class System # ... code ... def visible_categories() return @categories ||= self.find_categories({:visible => t end end
  • 12. class System # ... code ... def visible_categories() return @categories ||= self.find_categories({:visible => t end end
  • 13. class System # ... code ... def visible_categories return @categories ||= self.find_categories({:visible => t end end
  • 14. class System # ... code ... def visible_categories return @categories ||= self.find_categories({:visible => t end end
  • 15. class System # ... code ... def visible_categories return @categories ||= self.find_categories({:visible => t end end
  • 16. class System # ... code ... def visible_categories @categories ||= self.find_categories({:visible => true}) end end
  • 17. class System # ... code ... def visible_categories @categories ||= self.find_categories({:visible => true}) end end
  • 18. class System # ... code ... def visible_categories @categories ||= self.find_categories({:visible => true}) end end
  • 19. class System # ... code ... def visible_categories @categories ||= self.find_categories({:visible => true}) end end
  • 20. class System # ... code ... def visible_categories @categories ||= find_categories({:visible => true}) end end
  • 21. class System # ... code ... def visible_categories @categories ||= find_categories({:visible => true}) end end
  • 22. class System # ... code ... def visible_categories @categories ||= find_categories :visible => true end end
  • 23. 5.times { puts "Ruby is cool!" }
  • 24. 5.times do puts "Ruby is cool!" end
  • 25. File.open("some_file.txt") do |file| file << "content" end
  • 26. [1,2,3,4].each { |value| puts value } # => [1, 2, 3, 4] [1,2,3,4].map { |value| value * value } # => [1, 4, 9, 16] [1,2,3,4].reduce { |a, b| a + b } # => 10 [1,2] * 3 # => [1, 2, 1, 2, 1, 2]
  • 27. def operate(value) yield value end value = operate(5) { |v| v + 4 } puts value # 9
  • 28. class Person attr_accessor :fist_name, :last_name def initialize(first_name, last_name) @first_name = first_name @last_name = last_name end def full_name first_name + " " + last_name end end me = Person.new("Radoslav", "Stankov") puts me.full_name # Radoslav Stankov
  • 29. class Person attr_accessor :fist_name, :last_name def initialize(first_name, last_name) @first_name = first_name @last_name = last_name end def full_name first_name + " " + last_name end end me = Person.new("Radoslav", "Stankov") puts me.full_name # Radoslav Stankov
  • 30. class Person attr_accessor :fist_name, :last_name def initialize(first_name, last_name) @first_name = first_name @last_name = last_name end def full_name first_name + " " + last_name end end me = Person.new("Radoslav", "Stankov") puts me.full_name # Radoslav Stankov
  • 31. class Person attr_accessor :fist_name, :last_name def initialize(first_name, last_name) @first_name = first_name @last_name = last_name end def full_name first_name + " " + last_name end end me = Person.new("Radoslav", "Stankov") puts me.full_name # Radoslav Stankov
  • 32. class Person attr_accessor :fist_name, :last_name def initialize(first_name, last_name) @first_name = first_name @last_name = last_name end def full_name first_name + " " + last_name end end me = Person.new("Radoslav", "Stankov") puts me.full_name # Radoslav Stankov
  • 33. class Person def +(other_person) # ... end end person1 + person2
  • 34. class Array def first self[0] end def second self[1] end end array = [1, 2, 3, 4] array.first # 1 array.second # 2
  • 35. class Numeric def plus(x) self + x end end y = 5.plus(6)
  • 36. Time.now - 2.days == 2.days.ago 1.month.ago + 45.days - 1.year
  • 37. Ruby • димично определяне на типа данните • модули • отворени класове • блокове • анонимни функции • всяка операция връща резултат • всичко е изпълним код • изчистен синтаксис • мета програмиране • промяна на обектите по време на изпълнение • вградени регулярни изрази
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44. Ruby on Rails Разработен от David Heinemeier Hansson от 37 Signals. Първата публична версия е излиза през юли 2004. Вървим бавно, но сигурно към 3.1
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50. 37signals Милиони клиенти ... по-малко от 37 служителя
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56. Основни принципи на Ruby on Rails • Convention over Configuration • DRY - Don’t Repeat Yourself • KISS - Keep it simple, Stupid! • Skinny Controller, Fat Model • Тest Driven Development / Behavior Driven Development • Less is More • Code Generation • REST
  • 57. Основни принципи на Ruby on Rails • Convention over Configuration • DRY - Don’t Repeat Yourself • KISS - Keep it simple, Stupid! • Skinny Controller, Fat Model • Тest Driven Development / Behavior Driven Development • Less is More • Code Generation • REST N ! VE FU HA
  • 60. REST Method Path Controller Action GET /tasks tasks index GET /tasks/new tasks new POST /tasks tasks create GET /tasks/:id tasks show GET /tasks/:id/edit tasks edit PUT /tasks/:id tasks update DELETE /tasks/:id tasks delete
  • 61. Url формати Method Path Shows Action GET /tasks/1 html show GET /tasks/1.xml xml show GET /tasks/1.json json show GET /tasks/1.print html show PUT /tasks/1 redirect update PUT(xhr) /tasks/1 html/js update PUT /tasks/1.json json update
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.
  • 70.
  • 71.
  • 72.
  • 73.
  • 74.
  • 75.
  • 76.
  • 77.
  • 78.
  • 79.
  • 80.
  • 81. Model class Task < ActiveRecord::Base belongs_to :user has_many :comments validates_presence_of :user, :text validates_inclusion_of :status, :in => ["opened", "completed"] attr_readonly :user_id def editable? status == "opened" end end
  • 82. Model class Task < ActiveRecord::Base belongs_to :user has_many :comments validates_presence_of :user, :text validates_inclusion_of :status, :in => ["opened", "completed"] attr_readonly :user_id def editable? status == "opened" end end
  • 83. Model class Task < ActiveRecord::Base belongs_to :user has_many :comments validates_presence_of :user, :text validates_inclusion_of :status, :in => ["opened", "completed"] attr_readonly :user_id def editable? status == "opened" end end
  • 84. Model class Task < ActiveRecord::Base belongs_to :user has_many :comments validates_presence_of :user, :text validates_inclusion_of :status, :in => ["opened", "completed"] attr_readonly :user_id def editable? status == "opened" end end
  • 85. Model class Task < ActiveRecord::Base belongs_to :user has_many :comments validates_presence_of :user, :text validates_inclusion_of :status, :in => ["opened", "completed"] attr_readonly :user_id def editable? status == "opened" end end
  • 86. Controller class TasksController < ApplicationController before_filter :require_user def index @tasks = Task.where(:status => "opened") end def show @task = Task.find(params[:id]) end def create @task = current_user.tasks.build(params[:task]) if @task.save redirect_to tasks_path else render :partial => "new" end end end
  • 87. Controller class TasksController < ApplicationController before_filter :require_user def index @tasks = Task.where(:status => "opened") end def show @task = Task.find(params[:id]) end def create @task = current_user.tasks.build(params[:task]) if @task.save redirect_to tasks_path else render :partial => "new" end end end
  • 88. Controller class TasksController < ApplicationController before_filter :require_user def index @tasks = Task.where(:status => "opened") end def show @task = Task.find(params[:id]) end def create @task = current_user.tasks.build(params[:task]) if @task.save redirect_to tasks_path else render :partial => "new" end end end
  • 89. Controller class TasksController < ApplicationController before_filter :require_user def index @tasks = Task.where(:status => "opened") end def show @task = Task.find(params[:id]) end def create @task = current_user.tasks.build(params[:task]) if @task.save redirect_to tasks_path else render :partial => "new" end end end
  • 90. Controller class TasksController < ApplicationController before_filter :require_user def index @tasks = Task.where(:status => "opened") end def show @task = Task.find(params[:id]) end def create @task = current_user.tasks.build(params[:task]) if @task.save redirect_to tasks_path else render :partial => "new" end end end
  • 91. View <%= form_for task do |form| %> <%= render 'shared/error_messages', :target => form.object %> <p> <%= form.label :text %> <%= form.text_area :text %> </p> <p> <%= form.label :status %> <%= form.select :status, Task.statuses %> </p> <div class="buttons"> <%= form.submit %> | <% link_to "Cancel", tasks_path %> </div> <% end %>
  • 92. View + simple_form / slim = simple_form_for task do |form| = form.error_banner = form.input :text = form.input :status, :collection => Task.statuses .buttons = form.submit = link_to 'Cancel', tasks_path
  • 94. Test Driven Development 1 Добавя се тест ... за несъществуващ код
  • 95. Test Driven Development 1 Добавя се тест ... за несъществуващ код 2 Пише се код ... колкото само тестът да мине
  • 96. Test Driven Development 1 Добавя се тест ... за несъществуващ код 2 Пише се код ... колкото само тестът да мине 3 Правят се подобрения ... подобрява се качеството на кода
  • 97. Test Driven Development 1 Добавя се тест ... за несъществуващ код 2 Пише се код ... колкото само тестът да мине 3 Правят се подобрения ... подобрява се качеството на кода
  • 98. Cucumber feature Feature: Tasks In order to get more productive and organize As a user I want able to manage my tasks Scenario: Adding tasks Given I am on the tasks page When I follow "New task" And I fill in "Text" with "Present Ruby" And I select "opened" from "Status" And I press "Create task" Then I should have opened task "Present Ruby" Scenario: Completing tasks Given I am on the tasks page And I have opened task "Present Ruby" When I follow "Edit tasks" And I select "completed" from "Status" And I press "Update task" Then I should have completed task "Present Ruby"
  • 99. Тесване на Controller describe TasksController do describe "GET 'show'" do before { Task.should_recive(:find).with("1").and_return task } before { get :show, :id => "1" } it { should assign_to(:task).with(task) } it { should render_temlate("show") } end end
  • 100. describe Task do it { should belong_to(:user) } it { should have_many(:notes) } it { should validate_presence_of(:user) } it { should validate_presence_of(:text) } describe "#editable?" do it "returns true if task status is 'opened'" do Task.new(:status => "opened").should be_editable end it "returns false if task status is 'rejected'" do Task.new(:status => "rejected").should_not be_editable end it "returns false if task status is 'completed" do Task.new(:status => "completed").should_not be_editable end end end
  • 101. Тестване на View describe "tasks/show.html.erb" do before do assign :task, mock_model(Task, { :id => 1, :text => "task text" }) render end it "renders task text" do rendered.should contain("task text") end it "renders link for editing task" do rendered.should have_selector('a[href="/tasks/1/edit"]') end end
  • 102. ... и още, и още • database migrations • gem dependency management • css/javascript management (from Rails 3.1) • nested forms • automatic deploys • Rack • generations • send/receive mails • caching • internalization (i18n) • Ruby language extentions • a LOT plugins, tools and services • ... и т.н.
  • 103. Погрешни схващания • Rails CAN'T SCALE • Rails is SLOW!!!! • Hard to deploy • Too much magic • Hard to learn every thing • Impossible to extend rails! • No good IDE • Bad windows support • Documentation
  • 104. Погрешни схващания • Rails CAN'T SCALE • Rails is SLOW!!!! • Hard to deploy • Too much magic • Hard to learn every thing • Impossible to extend rails! • No good IDE • Bad windows support • Documentation
  • 105. Погрешни схващания • Rails CAN'T SCALE • Rails is SLOW!!!! • Hard to deploy • Too much magic • Hard to learn every thing • Impossible to extend rails! • No good IDE • Bad windows support • Documentation
  • 106. Погрешни схващания • Rails CAN'T SCALE • Rails is SLOW!!!! • Hard to deploy • Too much magic • Hard to learn every thing • Impossible to extend rails! • No good IDE • Bad windows support • Documentation
  • 107. Погрешни схващания • Rails CAN'T SCALE • Rails is SLOW!!!! • Hard to deploy • Too much magic • Hard to learn every thing • Impossible to extend rails! • No good IDE • Bad windows support • Documentation
  • 108. Погрешни схващания • Rails CAN'T SCALE • Rails is SLOW!!!! • Hard to deploy • Too much magic • Hard to learn every thing • Impossible to extend rails! • No good IDE • Bad windows support • Documentation
  • 109. Погрешни схващания • Rails CAN'T SCALE • Rails is SLOW!!!! • Hard to deploy • Too much magic • Hard to learn every thing • Impossible to extend rails! • No good IDE • Bad windows support • Documentation
  • 110. Погрешни схващания • Rails CAN'T SCALE • Rails is SLOW!!!! • Hard to deploy • Too much magic • Hard to learn every thing • Impossible to extend rails! • No good IDE • Bad windows support • Documentation
  • 111. Погрешни схващания • Rails CAN'T SCALE • Rails is SLOW!!!! • Hard to deploy • Too much magic • Hard to learn every thing • Impossible to extend rails! • No good IDE • Bad windows support • Documentation
  • 112.

Notas do Editor

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. Ruby &amp;#x435; &amp;#x438;&amp;#x43D;&amp;#x442;&amp;#x435;&amp;#x440;&amp;#x43F;&amp;#x440;&amp;#x435;&amp;#x442;&amp;#x438;&amp;#x440;&amp;#x443;&amp;#x435;&amp;#x43C;, &amp;#x438;&amp;#x43D;&amp;#x442;&amp;#x435;&amp;#x440;&amp;#x430;&amp;#x43A;&amp;#x442;&amp;#x438;&amp;#x432;&amp;#x435;&amp;#x43D;, &amp;#x43E;&amp;#x431;&amp;#x435;&amp;#x43A;&amp;#x442;&amp;#x43D;&amp;#x43E;-&amp;#x43E;&amp;#x440;&amp;#x438;&amp;#x435;&amp;#x43D;&amp;#x442;&amp;#x438;&amp;#x440;&amp;#x430;&amp;#x43D; &amp;#x435;&amp;#x437;&amp;#x438;&amp;#x43A; &amp;#x437;&amp;#x430; &amp;#x43F;&amp;#x440;&amp;#x43E;&amp;#x433;&amp;#x440;&amp;#x430;&amp;#x43C;&amp;#x438;&amp;#x440;&amp;#x430;&amp;#x43D;&amp;#x435;. &amp;#x422;&amp;#x43E;&amp;#x439; &amp;#x43A;&amp;#x43E;&amp;#x43C;&amp;#x431;&amp;#x438;&amp;#x43D;&amp;#x438;&amp;#x440;&amp;#x430; &amp;#x447;&amp;#x435;&amp;#x440;&amp;#x442;&amp;#x438; &amp;#x43E;&amp;#x442; &amp;#x43C;&amp;#x43D;&amp;#x43E;&amp;#x433;&amp;#x43E; &amp;#x434;&amp;#x440;&amp;#x443;&amp;#x433;&amp;#x438; &amp;#x435;&amp;#x437;&amp;#x438;&amp;#x446;&amp;#x438;, &amp;#x441;&amp;#x440;&amp;#x435;&amp;#x434; &amp;#x43A;&amp;#x43E;&amp;#x438;&amp;#x442;&amp;#x43E; Smalltalk, Perl, Lisp &amp;#x438; Python.\n\n
  7. &amp;#x422;&amp;#x43E;&amp;#x439; &amp;#x435; framework &amp;#x437;&amp;#x430; &amp;#x443;&amp;#x435;&amp;#x431; &amp;#x43F;&amp;#x440;&amp;#x438;&amp;#x43B;&amp;#x43E;&amp;#x436;&amp;#x435;&amp;#x43D;&amp;#x438;&amp;#x44F;. &amp;#x427;&amp;#x438;&amp;#x44F;&amp;#x442;&amp;#x43E; &amp;#x446;&amp;#x435;&amp;#x43B; &amp;#x435; &amp;#x434;&amp;#x430; &amp;#x443;&amp;#x43B;&amp;#x435;&amp;#x441;&amp;#x43D;&amp;#x438; &amp;#x438; &amp;#x443;&amp;#x441;&amp;#x43A;&amp;#x43E;&amp;#x440;&amp;#x438; &amp;#x43D;&amp;#x430;&amp;#x447;&amp;#x438;&amp;#x43D;&amp;#x430; &amp;#x43D;&amp;#x430; &amp;#x440;&amp;#x430;&amp;#x437;&amp;#x440;&amp;#x430;&amp;#x431;&amp;#x43E;&amp;#x442;&amp;#x432;&amp;#x430;&amp;#x43D;&amp;#x435; &amp;#x43D;&amp;#x430; &amp;#x443;&amp;#x435;&amp;#x431; &amp;#x43F;&amp;#x440;&amp;#x438;&amp;#x43B;&amp;#x43E;&amp;#x436;&amp;#x435;&amp;#x43D;&amp;#x438;&amp;#x44F;.\n\n
  8. &amp;#x422;&amp;#x43E;&amp;#x439; &amp;#x435; &amp;#x441;&amp;#x44A;&amp;#x437;&amp;#x434;&amp;#x430;&amp;#x434;&amp;#x435;&amp;#x43D; &amp;#x43E;&amp;#x442; &amp;#x44F;&amp;#x43F;&amp;#x43E;&amp;#x43D;&amp;#x435;&amp;#x446;&amp;#x430; &amp;#x42E;&amp;#x43A;&amp;#x438;&amp;#x445;&amp;#x438;&amp;#x440;&amp;#x43E; &amp;#x41C;&amp;#x430;&amp;#x446;&amp;#x443;&amp;#x43C;&amp;#x43E;&amp;#x442;&amp;#x43E; &amp;#x201E;&amp;#x41C;&amp;#x430;&amp;#x446;&amp;#x201C;. &amp;#x41A;&amp;#x430;&amp;#x442;&amp;#x43E; &amp;#x43F;&amp;#x440;&amp;#x435;&amp;#x437; 1995 &amp;#x438;&amp;#x437;&amp;#x43B;&amp;#x438;&amp;#x437;&amp;#x430; &amp;#x43F;&amp;#x44A;&amp;#x440;&amp;#x432;&amp;#x430;&amp;#x442;&amp;#x430; &amp;#x432;&amp;#x435;&amp;#x440;&amp;#x441;&amp;#x438;&amp;#x44F; &amp;#x43D;&amp;#x430; &amp;#x435;&amp;#x437;&amp;#x438;&amp;#x43A;&amp;#x430;. &amp;#xA0;&amp;#x41C;&amp;#x43E;&amp;#x442;&amp;#x43E;&amp;#x442;&amp;#x43E; &amp;#x43D;&amp;#x430; &amp;#x435;&amp;#x437;&amp;#x438;&amp;#x43A;&amp;#x430; &amp;#x435; &amp;#xA0;&amp;#x201E;&amp;#x41E;&amp;#x43F;&amp;#x442;&amp;#x438;&amp;#x43C;&amp;#x438;&amp;#x437;&amp;#x438;&amp;#x440;&amp;#x430;&amp;#x43D; &amp;#x437;&amp;#x430; &amp;#x449;&amp;#x430;&amp;#x441;&amp;#x442;&amp;#x438;&amp;#x435;&amp;#x442;&amp;#x43E; &amp;#x43D;&amp;#x430; &amp;#x43F;&amp;#x440;&amp;#x43E;&amp;#x433;&amp;#x440;&amp;#x430;&amp;#x43C;&amp;#x438;&amp;#x441;&amp;#x442;&amp;#x430;&amp;#x201D;\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. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. &amp;#x421;&amp;#x442;&amp;#x440;&amp;#x435;&amp;#x43C;&amp;#x435;&amp;#x436;&amp;#x44A;&amp;#x442; &amp;#x43D;&amp;#x430; Ruby &amp;#x435; &amp;#x434;&amp;#x430; &amp;#x441;&amp;#x43B;&amp;#x435;&amp;#x434;&amp;#x432;&amp;#x430; &amp;#x43F;&amp;#x440;&amp;#x438;&amp;#x43D;&amp;#x446;&amp;#x438;&amp;#x43F;&amp;#x430; &amp;#x43D;&amp;#x430; &amp;#x43D;&amp;#x430;&amp;#x439;-&amp;#x43C;&amp;#x430;&amp;#x43B;&amp;#x43A;&amp;#x430; &amp;#x438;&amp;#x437;&amp;#x43D;&amp;#x435;&amp;#x43D;&amp;#x430;&amp;#x434;&amp;#x430;. &amp;#x422;&amp;#x43E;&amp;#x432;&amp;#x430; &amp;#x43E;&amp;#x437;&amp;#x43D;&amp;#x430;&amp;#x447;&amp;#x430;&amp;#x432;&amp;#x430;, &amp;#x447;&amp;#x435; &amp;#x43F;&amp;#x43E;&amp;#x432;&amp;#x435;&amp;#x434;&amp;#x435;&amp;#x43D;&amp;#x438;&amp;#x435;&amp;#x442;&amp;#x43E; &amp;#x43D;&amp;#x430; &amp;#x435;&amp;#x437;&amp;#x438;&amp;#x43A;&amp;#x430; &amp;#x442;&amp;#x440;&amp;#x44F;&amp;#x431;&amp;#x432;&amp;#x430; &amp;#x434;&amp;#x430; &amp;#x435; &amp;#x438;&amp;#x43D;&amp;#x442;&amp;#x443;&amp;#x438;&amp;#x442;&amp;#x438;&amp;#x432;&amp;#x43D;&amp;#x43E; &amp;#x438; &amp;#x442;&amp;#x43E;&amp;#x439; &amp;#x434;&amp;#x430; &amp;#x440;&amp;#x430;&amp;#x431;&amp;#x43E;&amp;#x442;&amp;#x438; &amp;#x442;&amp;#x430;&amp;#x43A;&amp;#x430;, &amp;#x43A;&amp;#x430;&amp;#x43A;&amp;#x442;&amp;#x43E; &amp;#x43F;&amp;#x440;&amp;#x43E;&amp;#x433;&amp;#x440;&amp;#x430;&amp;#x43C;&amp;#x438;&amp;#x441;&amp;#x442;&amp;#x44A;&amp;#x442; &amp;#x431;&amp;#x438; &amp;#x43E;&amp;#x447;&amp;#x430;&amp;#x43A;&amp;#x432;&amp;#x430;&amp;#x43B;.\nRuby &amp;#x435; &amp;#x43E;&amp;#x431;&amp;#x435;&amp;#x43A;&amp;#x442;&amp;#x43D;&amp;#x43E;-&amp;#x43E;&amp;#x440;&amp;#x438;&amp;#x435;&amp;#x43D;&amp;#x442;&amp;#x438;&amp;#x440;&amp;#x430;&amp;#x43D;: &amp;#x432;&amp;#x441;&amp;#x435;&amp;#x43A;&amp;#x438; &amp;#x442;&amp;#x438;&amp;#x43F; &amp;#x434;&amp;#x430;&amp;#x43D;&amp;#x43D;&amp;#x438; &amp;#x435; &amp;#x43E;&amp;#x431;&amp;#x435;&amp;#x43A;&amp;#x442;, &amp;#x432;&amp;#x43A;&amp;#x43B;&amp;#x44E;&amp;#x447;&amp;#x438;&amp;#x442;&amp;#x435;&amp;#x43B;&amp;#x43D;&amp;#x43E; &amp;#x43A;&amp;#x43B;&amp;#x430;&amp;#x441;&amp;#x43E;&amp;#x432;&amp;#x435;, &amp;#x447;&amp;#x438;&amp;#x441;&amp;#x43B;&amp;#x430;, &amp;#x431;&amp;#x443;&amp;#x43B;&amp;#x435;&amp;#x432;&amp;#x438; &amp;#x441;&amp;#x442;&amp;#x43E;&amp;#x439;&amp;#x43D;&amp;#x43E;&amp;#x441;&amp;#x442;&amp;#x438;, &amp;#x43A;&amp;#x43E;&amp;#x438;&amp;#x442;&amp;#x43E; &amp;#x432; &amp;#x43C;&amp;#x43D;&amp;#x43E;&amp;#x433;&amp;#x43E; &amp;#x434;&amp;#x440;&amp;#x443;&amp;#x433;&amp;#x438; &amp;#x435;&amp;#x437;&amp;#x438;&amp;#x446;&amp;#x438; &amp;#x43E;&amp;#x43F;&amp;#x440;&amp;#x435;&amp;#x434;&amp;#x435;&amp;#x43B;&amp;#x44F;&amp;#x442; &amp;#x43A;&amp;#x430;&amp;#x442;&amp;#x43E; &amp;#x43F;&amp;#x440;&amp;#x438;&amp;#x43C;&amp;#x438;&amp;#x442;&amp;#x438;&amp;#x432;&amp;#x438;, &amp;#x430; &amp;#x43D;&amp;#x435; &amp;#x43A;&amp;#x430;&amp;#x442;&amp;#x43E; &amp;#x440;&amp;#x435;&amp;#x430;&amp;#x43B;&amp;#x43D;&amp;#x438; &amp;#x43E;&amp;#x431;&amp;#x435;&amp;#x43A;&amp;#x442;&amp;#x438;.\n\n&amp;#x41D;&amp;#x44F;&amp;#x43A;&amp;#x43E;&amp;#x438; &amp;#x43E;&amp;#x442; &amp;#x43D;&amp;#x430;&amp;#x439;-&amp;#x432;&amp;#x430;&amp;#x436;&amp;#x43D;&amp;#x438;&amp;#x442;&amp;#x435; &amp;#x445;&amp;#x430;&amp;#x440;&amp;#x430;&amp;#x43A;&amp;#x442;&amp;#x435;&amp;#x440;&amp;#x438;&amp;#x441;&amp;#x442;&amp;#x438;&amp;#x43A;&amp;#x438; &amp;#x43D;&amp;#x430; &amp;#x435;&amp;#x437;&amp;#x438;&amp;#x43A;&amp;#x430; &amp;#x441;&amp;#x430;: \n&amp;#x434;&amp;#x438;&amp;#x43C;&amp;#x438;&amp;#x447;&amp;#x43D;&amp;#x43E; &amp;#x43E;&amp;#x43F;&amp;#x440;&amp;#x435;&amp;#x434;&amp;#x435;&amp;#x43B;&amp;#x44F;&amp;#x43D;&amp;#x435; &amp;#x43D;&amp;#x430; &amp;#x442;&amp;#x438;&amp;#x43F;&amp;#x430; &amp;#x434;&amp;#x430;&amp;#x43D;&amp;#x43D;&amp;#x438;&amp;#x442;&amp;#x435;\n&amp;#x43C;&amp;#x43E;&amp;#x434;&amp;#x443;&amp;#x43B;&amp;#x438; - &amp;#x201C;&amp;#x432;&amp;#x44A;&amp;#x437;&amp;#x43C;&amp;#x43E;&amp;#x436;&amp;#x43D;&amp;#x43E;&amp;#x441;&amp;#x442; &amp;#x435;&amp;#x434;&amp;#x438;&amp;#x43D; &amp;#x43C;&amp;#x43E;&amp;#x434;&amp;#x443;&amp;#x43B; &amp;#x434;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x432;&amp;#x433;&amp;#x440;&amp;#x430;&amp;#x436;&amp;#x434;&amp;#x430; &amp;#x432; &amp;#x43C;&amp;#x43D;&amp;#x43E;&amp;#x436;&amp;#x435;&amp;#x441;&amp;#x442;&amp;#x432;&amp;#x43E; &amp;#x43A;&amp;#x43B;&amp;#x430;&amp;#x441;&amp;#x43E;&amp;#x432;&amp;#x435;, &amp;#x43A;&amp;#x430;&amp;#x442;&amp;#x43E; &amp;#x442;&amp;#x430;&amp;#x43A;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x43F;&amp;#x43E;&amp;#x441;&amp;#x442;&amp;#x438;&amp;#x433;&amp;#x430; &amp;#x43C;&amp;#x43D;&amp;#x43E;&amp;#x436;&amp;#x435;&amp;#x441;&amp;#x442;&amp;#x432;&amp;#x435;&amp;#x43D;&amp;#x43E; &amp;#x43D;&amp;#x430;&amp;#x441;&amp;#x43B;&amp;#x435;&amp;#x434;&amp;#x44F;&amp;#x432;&amp;#x430;&amp;#x43D;&amp;#x435;&amp;#x201D;\n&amp;#x43E;&amp;#x442;&amp;#x432;&amp;#x43E;&amp;#x440;&amp;#x435;&amp;#x43D;&amp;#x438; &amp;#x43A;&amp;#x43B;&amp;#x430;&amp;#x441;&amp;#x43E;&amp;#x432;&amp;#x435; - &amp;#x201C;&amp;#x43A;&amp;#x44A;&amp;#x43C; &amp;#x432;&amp;#x441;&amp;#x435;&amp;#x43A;&amp;#x438; &amp;#x43A;&amp;#x43B;&amp;#x430;&amp;#x441; &amp;#x43C;&amp;#x43E;&amp;#x433;&amp;#x430;&amp;#x442; &amp;#x434;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x434;&amp;#x43E;&amp;#x431;&amp;#x430;&amp;#x432;&amp;#x44F;&amp;#x442; &amp;#x43D;&amp;#x43E;&amp;#x432;&amp;#x438; &amp;#x430;&amp;#x442;&amp;#x440;&amp;#x438;&amp;#x431;&amp;#x443;&amp;#x442;&amp;#x438; &amp;#x438; &amp;#x43C;&amp;#x435;&amp;#x442;&amp;#x43E;&amp;#x434;&amp;#x438; &amp;#x43F;&amp;#x43E; &amp;#x432;&amp;#x440;&amp;#x435;&amp;#x43C;&amp;#x435; &amp;#x43D;&amp;#x430; &amp;#x438;&amp;#x437;&amp;#x43F;&amp;#x44A;&amp;#x43B;&amp;#x43D;&amp;#x435;&amp;#x43D;&amp;#x438;&amp;#x435; &amp;#x43D;&amp;#x430; &amp;#x43F;&amp;#x440;&amp;#x43E;&amp;#x433;&amp;#x440;&amp;#x430;&amp;#x43C;&amp;#x430;&amp;#x442;&amp;#x430;&amp;#x201D;\n&amp;#x431;&amp;#x43B;&amp;#x43E;&amp;#x43A;&amp;#x43E;&amp;#x432;&amp;#x435;\n&amp;#x430;&amp;#x43D;&amp;#x43E;&amp;#x43D;&amp;#x438;&amp;#x43C;&amp;#x43D;&amp;#x438; &amp;#x444;&amp;#x443;&amp;#x43D;&amp;#x43A;&amp;#x446;&amp;#x438;&amp;#x438;\n&amp;#x432;&amp;#x441;&amp;#x44F;&amp;#x43A;&amp;#x430; &amp;#x43E;&amp;#x43F;&amp;#x435;&amp;#x440;&amp;#x430;&amp;#x446;&amp;#x438;&amp;#x44F; &amp;#x432;&amp;#x440;&amp;#x44A;&amp;#x449;&amp;#x430; &amp;#x440;&amp;#x435;&amp;#x437;&amp;#x443;&amp;#x43B;&amp;#x442;&amp;#x430;&amp;#x442;\n&amp;#x432;&amp;#x441;&amp;#x438;&amp;#x447;&amp;#x43A;&amp;#x43E; &amp;#x435; &amp;#x438;&amp;#x437;&amp;#x43F;&amp;#x44A;&amp;#x43B;&amp;#x43D;&amp;#x438;&amp;#x43C; &amp;#x43A;&amp;#x43E;&amp;#x434; - &amp;#x201C;&amp;#x432;&amp;#x43A;&amp;#x43B;&amp;#x44E;&amp;#x447;&amp;#x438;&amp;#x442;&amp;#x435;&amp;#x43B;&amp;#x43D;&amp;#x43E; &amp;#x438; &amp;#x442;&amp;#x435;&amp;#x43B;&amp;#x430;&amp;#x442;&amp;#x430; &amp;#x43D;&amp;#x430; &amp;#x43A;&amp;#x43B;&amp;#x430;&amp;#x441;&amp;#x43E;&amp;#x432;&amp;#x435;&amp;#x442;&amp;#x435; &amp;#x432; &amp;#x43A;&amp;#x43E;&amp;#x439;&amp;#x442;&amp;#x43E; &amp;#x43C;&amp;#x43E;&amp;#x436;&amp;#x435; &amp;#x438;&amp;#x43C;&amp;#x430; &amp;#x446;&amp;#x438;&amp;#x43A;&amp;#x43B;&amp;#x438;, &amp;#x443;&amp;#x441;&amp;#x43B;&amp;#x43E;&amp;#x432;&amp;#x43D;&amp;#x438; &amp;#x43E;&amp;#x43F;&amp;#x435;&amp;#x440;&amp;#x430;&amp;#x442;&amp;#x43E;&amp;#x440;&amp;#x438; &amp;#x438; &amp;#x434;&amp;#x440;&amp;#x443;&amp;#x433;&amp;#x438;&amp;#x201D;\n&amp;#x438;&amp;#x437;&amp;#x447;&amp;#x438;&amp;#x441;&amp;#x442;&amp;#x435;&amp;#x43D; &amp;#x441;&amp;#x438;&amp;#x43D;&amp;#x442;&amp;#x430;&amp;#x43A;&amp;#x441;&amp;#x438;&amp;#x441; - &amp;#x201C;&amp;#x43D;&amp;#x435; &amp;#x435; &amp;#x437;&amp;#x430;&amp;#x434;&amp;#x44A;&amp;#x43B;&amp;#x436;&amp;#x438;&amp;#x442;&amp;#x435;&amp;#x43B;&amp;#x43D;&amp;#x43E;, &amp;#x434;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x43F;&amp;#x43E;&amp;#x441;&amp;#x442;&amp;#x430;&amp;#x432;&amp;#x44F;&amp;#x442; &amp;#x441;&amp;#x43A;&amp;#x43E;&amp;#x431;&amp;#x438;, &amp;#x442;&amp;#x43E;&amp;#x447;&amp;#x43A;&amp;#x430; &amp;#x438; &amp;#x437;&amp;#x430;&amp;#x43F;&amp;#x435;&amp;#x442;&amp;#x430;&amp;#x44F; &amp;#x438; &amp;#x434;&amp;#x440;&amp;#x443;&amp;#x433;&amp;#x438;&amp;#x201D;\n&amp;#x43C;&amp;#x435;&amp;#x442;&amp;#x430; &amp;#x43F;&amp;#x440;&amp;#x43E;&amp;#x433;&amp;#x440;&amp;#x430;&amp;#x43C;&amp;#x438;&amp;#x440;&amp;#x430;&amp;#x43D;&amp;#x435;\n&amp;#xA0;\n\n
  38. \n
  39. \n
  40. \n
  41. \n
  42. &amp;#x420;&amp;#x430;&amp;#x437;&amp;#x440;&amp;#x430;&amp;#x431;&amp;#x43E;&amp;#x442;&amp;#x435;&amp;#x43D; &amp;#x43E;&amp;#x442; David Heinemeier Hansson &amp;#x43E;&amp;#x442; 37 Signals. &amp;#x41A;&amp;#x430;&amp;#x442;&amp;#x43E; &amp;#x435; Rails &amp;#x435; &amp;#x431;&amp;#x438;&amp;#x43B; &amp;#x438;&amp;#x437;&amp;#x432;&amp;#x43B;&amp;#x435;&amp;#x447;&amp;#x435;&amp;#x43D; &amp;#x43E;&amp;#x442; &amp;#x442;&amp;#x44F;&amp;#x445;&amp;#x43D;&amp;#x43E;&amp;#x442;&amp;#x43E; &amp;#x43F;&amp;#x440;&amp;#x438;&amp;#x43B;&amp;#x43E;&amp;#x436;&amp;#x435;&amp;#x43D;&amp;#x438;&amp;#x435; Basecamp. &amp;#x412; &amp;#x440;&amp;#x430;&amp;#x437;&amp;#x440;&amp;#x430;&amp;#x431;&amp;#x43E;&amp;#x442;&amp;#x430;&amp;#x43A;&amp;#x430;&amp;#x442;&amp;#x430; &amp;#x43D;&amp;#x430; Rails &amp;#x441;&amp;#x430; &amp;#x443;&amp;#x447;&amp;#x430;&amp;#x441;&amp;#x442;&amp;#x432;&amp;#x430;&amp;#x43B;&amp;#x438; &amp;#x43D;&amp;#x430;&amp;#x434; 1500 &amp;#x447;&amp;#x43E;&amp;#x432;&amp;#x435;&amp;#x43A;&amp;#x430; &amp;#x43A;&amp;#x44A;&amp;#x43C; &amp;#x43C;&amp;#x43E;&amp;#x43C;&amp;#x435;&amp;#x43D;&amp;#x442;&amp;#x430;.\n\n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. &amp;#x421;&amp;#x442;&amp;#x440;&amp;#x435;&amp;#x43C;&amp;#x435;&amp;#x436;&amp;#x44A;&amp;#x442; &amp;#x43D;&amp;#x430; Ruby &amp;#x435; &amp;#x434;&amp;#x430; &amp;#x441;&amp;#x43B;&amp;#x435;&amp;#x434;&amp;#x432;&amp;#x430; &amp;#x43F;&amp;#x440;&amp;#x438;&amp;#x43D;&amp;#x446;&amp;#x438;&amp;#x43F;&amp;#x430; &amp;#x43D;&amp;#x430; &amp;#x43D;&amp;#x430;&amp;#x439;-&amp;#x43C;&amp;#x430;&amp;#x43B;&amp;#x43A;&amp;#x430; &amp;#x438;&amp;#x437;&amp;#x43D;&amp;#x435;&amp;#x43D;&amp;#x430;&amp;#x434;&amp;#x430;. &amp;#x422;&amp;#x43E;&amp;#x432;&amp;#x430; &amp;#x43E;&amp;#x437;&amp;#x43D;&amp;#x430;&amp;#x447;&amp;#x430;&amp;#x432;&amp;#x430;, &amp;#x447;&amp;#x435; &amp;#x43F;&amp;#x43E;&amp;#x432;&amp;#x435;&amp;#x434;&amp;#x435;&amp;#x43D;&amp;#x438;&amp;#x435;&amp;#x442;&amp;#x43E; &amp;#x43D;&amp;#x430; &amp;#x435;&amp;#x437;&amp;#x438;&amp;#x43A;&amp;#x430; &amp;#x442;&amp;#x440;&amp;#x44F;&amp;#x431;&amp;#x432;&amp;#x430; &amp;#x434;&amp;#x430; &amp;#x435; &amp;#x438;&amp;#x43D;&amp;#x442;&amp;#x443;&amp;#x438;&amp;#x442;&amp;#x438;&amp;#x432;&amp;#x43D;&amp;#x43E; &amp;#x438; &amp;#x442;&amp;#x43E;&amp;#x439; &amp;#x434;&amp;#x430; &amp;#x440;&amp;#x430;&amp;#x431;&amp;#x43E;&amp;#x442;&amp;#x438; &amp;#x442;&amp;#x430;&amp;#x43A;&amp;#x430;, &amp;#x43A;&amp;#x430;&amp;#x43A;&amp;#x442;&amp;#x43E; &amp;#x43F;&amp;#x440;&amp;#x43E;&amp;#x433;&amp;#x440;&amp;#x430;&amp;#x43C;&amp;#x438;&amp;#x441;&amp;#x442;&amp;#x44A;&amp;#x442; &amp;#x431;&amp;#x438; &amp;#x43E;&amp;#x447;&amp;#x430;&amp;#x43A;&amp;#x432;&amp;#x430;&amp;#x43B;.\nRuby &amp;#x435; &amp;#x43E;&amp;#x431;&amp;#x435;&amp;#x43A;&amp;#x442;&amp;#x43D;&amp;#x43E;-&amp;#x43E;&amp;#x440;&amp;#x438;&amp;#x435;&amp;#x43D;&amp;#x442;&amp;#x438;&amp;#x440;&amp;#x430;&amp;#x43D;: &amp;#x432;&amp;#x441;&amp;#x435;&amp;#x43A;&amp;#x438; &amp;#x442;&amp;#x438;&amp;#x43F; &amp;#x434;&amp;#x430;&amp;#x43D;&amp;#x43D;&amp;#x438; &amp;#x435; &amp;#x43E;&amp;#x431;&amp;#x435;&amp;#x43A;&amp;#x442;, &amp;#x432;&amp;#x43A;&amp;#x43B;&amp;#x44E;&amp;#x447;&amp;#x438;&amp;#x442;&amp;#x435;&amp;#x43B;&amp;#x43D;&amp;#x43E; &amp;#x43A;&amp;#x43B;&amp;#x430;&amp;#x441;&amp;#x43E;&amp;#x432;&amp;#x435;, &amp;#x447;&amp;#x438;&amp;#x441;&amp;#x43B;&amp;#x430;, &amp;#x431;&amp;#x443;&amp;#x43B;&amp;#x435;&amp;#x432;&amp;#x438; &amp;#x441;&amp;#x442;&amp;#x43E;&amp;#x439;&amp;#x43D;&amp;#x43E;&amp;#x441;&amp;#x442;&amp;#x438;, &amp;#x43A;&amp;#x43E;&amp;#x438;&amp;#x442;&amp;#x43E; &amp;#x432; &amp;#x43C;&amp;#x43D;&amp;#x43E;&amp;#x433;&amp;#x43E; &amp;#x434;&amp;#x440;&amp;#x443;&amp;#x433;&amp;#x438; &amp;#x435;&amp;#x437;&amp;#x438;&amp;#x446;&amp;#x438; &amp;#x43E;&amp;#x43F;&amp;#x440;&amp;#x435;&amp;#x434;&amp;#x435;&amp;#x43B;&amp;#x44F;&amp;#x442; &amp;#x43A;&amp;#x430;&amp;#x442;&amp;#x43E; &amp;#x43F;&amp;#x440;&amp;#x438;&amp;#x43C;&amp;#x438;&amp;#x442;&amp;#x438;&amp;#x432;&amp;#x438;, &amp;#x430; &amp;#x43D;&amp;#x435; &amp;#x43A;&amp;#x430;&amp;#x442;&amp;#x43E; &amp;#x440;&amp;#x435;&amp;#x430;&amp;#x43B;&amp;#x43D;&amp;#x438; &amp;#x43E;&amp;#x431;&amp;#x435;&amp;#x43A;&amp;#x442;&amp;#x438;.\n\n&amp;#x41D;&amp;#x44F;&amp;#x43A;&amp;#x43E;&amp;#x438; &amp;#x43E;&amp;#x442; &amp;#x43D;&amp;#x430;&amp;#x439;-&amp;#x432;&amp;#x430;&amp;#x436;&amp;#x43D;&amp;#x438;&amp;#x442;&amp;#x435; &amp;#x445;&amp;#x430;&amp;#x440;&amp;#x430;&amp;#x43A;&amp;#x442;&amp;#x435;&amp;#x440;&amp;#x438;&amp;#x441;&amp;#x442;&amp;#x438;&amp;#x43A;&amp;#x438; &amp;#x43D;&amp;#x430; &amp;#x435;&amp;#x437;&amp;#x438;&amp;#x43A;&amp;#x430; &amp;#x441;&amp;#x430;: \n&amp;#x434;&amp;#x438;&amp;#x43C;&amp;#x438;&amp;#x447;&amp;#x43D;&amp;#x43E; &amp;#x43E;&amp;#x43F;&amp;#x440;&amp;#x435;&amp;#x434;&amp;#x435;&amp;#x43B;&amp;#x44F;&amp;#x43D;&amp;#x435; &amp;#x43D;&amp;#x430; &amp;#x442;&amp;#x438;&amp;#x43F;&amp;#x430; &amp;#x434;&amp;#x430;&amp;#x43D;&amp;#x43D;&amp;#x438;&amp;#x442;&amp;#x435;\n&amp;#x43C;&amp;#x43E;&amp;#x434;&amp;#x443;&amp;#x43B;&amp;#x438; - &amp;#x201C;&amp;#x432;&amp;#x44A;&amp;#x437;&amp;#x43C;&amp;#x43E;&amp;#x436;&amp;#x43D;&amp;#x43E;&amp;#x441;&amp;#x442; &amp;#x435;&amp;#x434;&amp;#x438;&amp;#x43D; &amp;#x43C;&amp;#x43E;&amp;#x434;&amp;#x443;&amp;#x43B; &amp;#x434;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x432;&amp;#x433;&amp;#x440;&amp;#x430;&amp;#x436;&amp;#x434;&amp;#x430; &amp;#x432; &amp;#x43C;&amp;#x43D;&amp;#x43E;&amp;#x436;&amp;#x435;&amp;#x441;&amp;#x442;&amp;#x432;&amp;#x43E; &amp;#x43A;&amp;#x43B;&amp;#x430;&amp;#x441;&amp;#x43E;&amp;#x432;&amp;#x435;, &amp;#x43A;&amp;#x430;&amp;#x442;&amp;#x43E; &amp;#x442;&amp;#x430;&amp;#x43A;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x43F;&amp;#x43E;&amp;#x441;&amp;#x442;&amp;#x438;&amp;#x433;&amp;#x430; &amp;#x43C;&amp;#x43D;&amp;#x43E;&amp;#x436;&amp;#x435;&amp;#x441;&amp;#x442;&amp;#x432;&amp;#x435;&amp;#x43D;&amp;#x43E; &amp;#x43D;&amp;#x430;&amp;#x441;&amp;#x43B;&amp;#x435;&amp;#x434;&amp;#x44F;&amp;#x432;&amp;#x430;&amp;#x43D;&amp;#x435;&amp;#x201D;\n&amp;#x43E;&amp;#x442;&amp;#x432;&amp;#x43E;&amp;#x440;&amp;#x435;&amp;#x43D;&amp;#x438; &amp;#x43A;&amp;#x43B;&amp;#x430;&amp;#x441;&amp;#x43E;&amp;#x432;&amp;#x435; - &amp;#x201C;&amp;#x43A;&amp;#x44A;&amp;#x43C; &amp;#x432;&amp;#x441;&amp;#x435;&amp;#x43A;&amp;#x438; &amp;#x43A;&amp;#x43B;&amp;#x430;&amp;#x441; &amp;#x43C;&amp;#x43E;&amp;#x433;&amp;#x430;&amp;#x442; &amp;#x434;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x434;&amp;#x43E;&amp;#x431;&amp;#x430;&amp;#x432;&amp;#x44F;&amp;#x442; &amp;#x43D;&amp;#x43E;&amp;#x432;&amp;#x438; &amp;#x430;&amp;#x442;&amp;#x440;&amp;#x438;&amp;#x431;&amp;#x443;&amp;#x442;&amp;#x438; &amp;#x438; &amp;#x43C;&amp;#x435;&amp;#x442;&amp;#x43E;&amp;#x434;&amp;#x438; &amp;#x43F;&amp;#x43E; &amp;#x432;&amp;#x440;&amp;#x435;&amp;#x43C;&amp;#x435; &amp;#x43D;&amp;#x430; &amp;#x438;&amp;#x437;&amp;#x43F;&amp;#x44A;&amp;#x43B;&amp;#x43D;&amp;#x435;&amp;#x43D;&amp;#x438;&amp;#x435; &amp;#x43D;&amp;#x430; &amp;#x43F;&amp;#x440;&amp;#x43E;&amp;#x433;&amp;#x440;&amp;#x430;&amp;#x43C;&amp;#x430;&amp;#x442;&amp;#x430;&amp;#x201D;\n&amp;#x431;&amp;#x43B;&amp;#x43E;&amp;#x43A;&amp;#x43E;&amp;#x432;&amp;#x435;\n&amp;#x430;&amp;#x43D;&amp;#x43E;&amp;#x43D;&amp;#x438;&amp;#x43C;&amp;#x43D;&amp;#x438; &amp;#x444;&amp;#x443;&amp;#x43D;&amp;#x43A;&amp;#x446;&amp;#x438;&amp;#x438;\n&amp;#x432;&amp;#x441;&amp;#x44F;&amp;#x43A;&amp;#x430; &amp;#x43E;&amp;#x43F;&amp;#x435;&amp;#x440;&amp;#x430;&amp;#x446;&amp;#x438;&amp;#x44F; &amp;#x432;&amp;#x440;&amp;#x44A;&amp;#x449;&amp;#x430; &amp;#x440;&amp;#x435;&amp;#x437;&amp;#x443;&amp;#x43B;&amp;#x442;&amp;#x430;&amp;#x442;\n&amp;#x432;&amp;#x441;&amp;#x438;&amp;#x447;&amp;#x43A;&amp;#x43E; &amp;#x435; &amp;#x438;&amp;#x437;&amp;#x43F;&amp;#x44A;&amp;#x43B;&amp;#x43D;&amp;#x438;&amp;#x43C; &amp;#x43A;&amp;#x43E;&amp;#x434; - &amp;#x201C;&amp;#x432;&amp;#x43A;&amp;#x43B;&amp;#x44E;&amp;#x447;&amp;#x438;&amp;#x442;&amp;#x435;&amp;#x43B;&amp;#x43D;&amp;#x43E; &amp;#x438; &amp;#x442;&amp;#x435;&amp;#x43B;&amp;#x430;&amp;#x442;&amp;#x430; &amp;#x43D;&amp;#x430; &amp;#x43A;&amp;#x43B;&amp;#x430;&amp;#x441;&amp;#x43E;&amp;#x432;&amp;#x435;&amp;#x442;&amp;#x435; &amp;#x432; &amp;#x43A;&amp;#x43E;&amp;#x439;&amp;#x442;&amp;#x43E; &amp;#x43C;&amp;#x43E;&amp;#x436;&amp;#x435; &amp;#x438;&amp;#x43C;&amp;#x430; &amp;#x446;&amp;#x438;&amp;#x43A;&amp;#x43B;&amp;#x438;, &amp;#x443;&amp;#x441;&amp;#x43B;&amp;#x43E;&amp;#x432;&amp;#x43D;&amp;#x438; &amp;#x43E;&amp;#x43F;&amp;#x435;&amp;#x440;&amp;#x430;&amp;#x442;&amp;#x43E;&amp;#x440;&amp;#x438; &amp;#x438; &amp;#x434;&amp;#x440;&amp;#x443;&amp;#x433;&amp;#x438;&amp;#x201D;\n&amp;#x438;&amp;#x437;&amp;#x447;&amp;#x438;&amp;#x441;&amp;#x442;&amp;#x435;&amp;#x43D; &amp;#x441;&amp;#x438;&amp;#x43D;&amp;#x442;&amp;#x430;&amp;#x43A;&amp;#x441;&amp;#x438;&amp;#x441; - &amp;#x201C;&amp;#x43D;&amp;#x435; &amp;#x435; &amp;#x437;&amp;#x430;&amp;#x434;&amp;#x44A;&amp;#x43B;&amp;#x436;&amp;#x438;&amp;#x442;&amp;#x435;&amp;#x43B;&amp;#x43D;&amp;#x43E;, &amp;#x434;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x43F;&amp;#x43E;&amp;#x441;&amp;#x442;&amp;#x430;&amp;#x432;&amp;#x44F;&amp;#x442; &amp;#x441;&amp;#x43A;&amp;#x43E;&amp;#x431;&amp;#x438;, &amp;#x442;&amp;#x43E;&amp;#x447;&amp;#x43A;&amp;#x430; &amp;#x438; &amp;#x437;&amp;#x430;&amp;#x43F;&amp;#x435;&amp;#x442;&amp;#x430;&amp;#x44F; &amp;#x438; &amp;#x434;&amp;#x440;&amp;#x443;&amp;#x433;&amp;#x438;&amp;#x201D;\n&amp;#x43C;&amp;#x435;&amp;#x442;&amp;#x430; &amp;#x43F;&amp;#x440;&amp;#x43E;&amp;#x433;&amp;#x440;&amp;#x430;&amp;#x43C;&amp;#x438;&amp;#x440;&amp;#x430;&amp;#x43D;&amp;#x435;\n&amp;#xA0;\n\n
  53. Rails &amp;#x438;&amp;#x437;&amp;#x43F;&amp;#x43E;&amp;#x43B;&amp;#x437;&amp;#x432;&amp;#x430; Model-View-Controller &amp;#x430;&amp;#x440;&amp;#x445;&amp;#x438;&amp;#x442;&amp;#x435;&amp;#x43A;&amp;#x442;&amp;#x443;&amp;#x440;&amp;#x430;. &amp;#x427;&amp;#x438;&amp;#x44F;&amp;#x442;&amp;#x43E; &amp;#x43E;&amp;#x441;&amp;#x43D;&amp;#x43E;&amp;#x432;&amp;#x43D;&amp;#x430; &amp;#x446;&amp;#x435;&amp;#x43B; &amp;#x435; &amp;#x440;&amp;#x430;&amp;#x437;&amp;#x434;&amp;#x435;&amp;#x43B;&amp;#x44F;&amp;#x43D;&amp;#x435;&amp;#x442;&amp;#x43E; &amp;#x43D;&amp;#x430; &amp;#x431;&amp;#x438;&amp;#x437;&amp;#x43D;&amp;#x435;&amp;#x441; &amp;#x43B;&amp;#x43E;&amp;#x433;&amp;#x438;&amp;#x43A;&amp;#x430;&amp;#x442;&amp;#x430; &amp;#x43E;&amp;#x442; &amp;#x43F;&amp;#x43E;&amp;#x442;&amp;#x440;&amp;#x435;&amp;#x431;&amp;#x438;&amp;#x442;&amp;#x435;&amp;#x43B;&amp;#x441;&amp;#x43A;&amp;#x438;&amp;#x44F; &amp;#x438;&amp;#x43D;&amp;#x442;&amp;#x435;&amp;#x440;&amp;#x444;&amp;#x435;&amp;#x439;&amp;#x441;. &amp;#x41F;&amp;#x43E; &amp;#x442;&amp;#x43E;&amp;#x437;&amp;#x438; &amp;#x43D;&amp;#x430;&amp;#x447;&amp;#x438;&amp;#x43D; &amp;#x43A;&amp;#x43E;&amp;#x434;&amp;#x430; &amp;#x435; &amp;#x43F;&amp;#x43E;-&amp;#x43B;&amp;#x435;&amp;#x441;&amp;#x435;&amp;#x43D; &amp;#x437;&amp;#x430; &amp;#x442;&amp;#x435;&amp;#x441;&amp;#x442;&amp;#x432;&amp;#x430;&amp;#x43D;&amp;#x435;, &amp;#x43F;&amp;#x43E;&amp;#x434;&amp;#x434;&amp;#x440;&amp;#x44A;&amp;#x436;&amp;#x43A;&amp;#x430; &amp;#x438; &amp;#x431;&amp;#x44A;&amp;#x434;&amp;#x435;&amp;#x449;&amp;#x430; &amp;#x440;&amp;#x430;&amp;#x437;&amp;#x440;&amp;#x430;&amp;#x431;&amp;#x43E;&amp;#x442;&amp;#x43A;&amp;#x430;.\nModel - &amp;#x201C;&amp;#x43E;&amp;#x431;&amp;#x435;&amp;#x434;&amp;#x438;&amp;#x43D;&amp;#x44F;&amp;#x432;&amp;#x430; &amp;#x431;&amp;#x438;&amp;#x437;&amp;#x43D;&amp;#x435;&amp;#x441; &amp;#x43B;&amp;#x43E;&amp;#x433;&amp;#x438;&amp;#x43A;&amp;#x430;&amp;#x442;&amp;#x430; &amp;#x438; &amp;#x438;&amp;#x43D;&amp;#x444;&amp;#x440;&amp;#x430;&amp;#x441;&amp;#x442;&amp;#x440;&amp;#x443;&amp;#x43A;&amp;#x442;&amp;#x443;&amp;#x440;&amp;#x430;&amp;#x442;&amp;#x430; &amp;#x43D;&amp;#x430; &amp;#x43F;&amp;#x440;&amp;#x438;&amp;#x43B;&amp;#x43E;&amp;#x436;&amp;#x435;&amp;#x43D;&amp;#x438;&amp;#x435;&amp;#x442;&amp;#x43E;. &amp;#x41A;&amp;#x430;&amp;#x442;&amp;#x43E; &amp;#x43D;&amp;#x430;&amp;#x439;-&amp;#x447;&amp;#x435;&amp;#x441;&amp;#x442;&amp;#x43E; &amp;#x441;&amp;#x435; &amp;#x438;&amp;#x437;&amp;#x43F;&amp;#x43E;&amp;#x43B;&amp;#x437;&amp;#x432;&amp;#x430;&amp;#x442; ActiveRecord &amp;#x43E;&amp;#x431;&amp;#x435;&amp;#x43A;&amp;#x442;&amp;#x438;, &amp;#x447;&amp;#x440;&amp;#x435;&amp;#x437; &amp;#x43A;&amp;#x43E;&amp;#x438;&amp;#x442;&amp;#x43E; &amp;#x441;&amp;#x435; &amp;#x432;&amp;#x437;&amp;#x430;&amp;#x438;&amp;#x43C;&amp;#x43E;&amp;#x434;&amp;#x435;&amp;#x439;&amp;#x441;&amp;#x442;&amp;#x432;&amp;#x430; &amp;#x441; &amp;#x431;&amp;#x430;&amp;#x437;&amp;#x430;&amp;#x442;&amp;#x430; &amp;#x43E;&amp;#x442; &amp;#x434;&amp;#x430;&amp;#x43D;&amp;#x43D;&amp;#x438;. &amp;#x412; Rails &amp;#xA0;&amp;#x43F;&amp;#x43E;&amp;#x447;&amp;#x442;&amp;#x438; &amp;#x43D;&amp;#x438;&amp;#x43A;&amp;#x43E;&amp;#x433;&amp;#x430; &amp;#x43D;&amp;#x435; &amp;#x441;&amp;#x435; &amp;#x440;&amp;#x430;&amp;#x431;&amp;#x43E;&amp;#x442;&amp;#x438; &amp;#x434;&amp;#x438;&amp;#x440;&amp;#x435;&amp;#x43A;&amp;#x442;&amp;#x43D;&amp;#x43E; &amp;#x441; &amp;#x431;&amp;#x430;&amp;#x437;&amp;#x430;&amp;#x442;&amp;#x430; &amp;#x43E;&amp;#x442; &amp;#x434;&amp;#x430;&amp;#x43D;&amp;#x438; &amp;#x438; &amp;#x441; sql &amp;#x43A;&amp;#x43E;&amp;#x434;, &amp;#x430; &amp;#x441;&amp;#x435; &amp;#x43C;&amp;#x438;&amp;#x43D;&amp;#x430;&amp;#x432;&amp;#x430; &amp;#x43F;&amp;#x440;&amp;#x435;&amp;#x437; ActiveRecord &amp;#x43C;&amp;#x43E;&amp;#x434;&amp;#x435;&amp;#x43B;&amp;#x438;&amp;#x442;&amp;#x435;&amp;#x201D;\nView - &amp;#x201C;&amp;#x43F;&amp;#x440;&amp;#x435;&amp;#x434;&amp;#x441;&amp;#x442;&amp;#x430;&amp;#x432;&amp;#x43B;&amp;#x44F;&amp;#x432;&amp;#x430; &amp;#x43F;&amp;#x43E;&amp;#x442;&amp;#x440;&amp;#x435;&amp;#x431;&amp;#x438;&amp;#x442;&amp;#x435;&amp;#x43B;&amp;#x441;&amp;#x43A;&amp;#x438;&amp;#x44F; &amp;#x438;&amp;#x43D;&amp;#x442;&amp;#x435;&amp;#x440;&amp;#x444;&amp;#x435;&amp;#x439;&amp;#x441;. &amp;#x422;&amp;#x43E;&amp;#x432;&amp;#x430; &amp;#x43D;&amp;#x430;&amp;#x439;-&amp;#x447;&amp;#x435;&amp;#x441;&amp;#x442;&amp;#x43E; &amp;#x435; HTML &amp;#x43A;&amp;#x43E;&amp;#x434;&amp;#x430;&amp;#x201D;.\nController - &amp;#x201C;&amp;#x441;&amp;#x432;&amp;#x44A;&amp;#x440;&amp;#x437;&amp;#x432;&amp;#x430; &amp;#x43C;&amp;#x43E;&amp;#x434;&amp;#x435;&amp;#x43B;&amp;#x438;&amp;#x442;&amp;#x435; &amp;#x438; &amp;#x438;&amp;#x437;&amp;#x433;&amp;#x43B;&amp;#x435;&amp;#x434;&amp;#x438;&amp;#x442;&amp;#x435; &amp;#x438; &amp;#x432;&amp;#x440;&amp;#x44A;&amp;#x449;&amp;#x430; &amp;#x440;&amp;#x435;&amp;#x437;&amp;#x443;&amp;#x43B;&amp;#x442;&amp;#x430;&amp;#x442; &amp;#x43D;&amp;#x430; &amp;#x43F;&amp;#x43E;&amp;#x442;&amp;#x440;&amp;#x435;&amp;#x431;&amp;#x438;&amp;#x442;&amp;#x435;&amp;#x43B;&amp;#x44F;&amp;#x201D;.\n&amp;#xA0;\n\n
  54. &amp;#x41A;&amp;#x430;&amp;#x43A; &amp;#x440;&amp;#x430;&amp;#x431;&amp;#x43E;&amp;#x442;&amp;#x438; &amp;#x435;&amp;#x434;&amp;#x43D;&amp;#x43E; Rails &amp;#x43F;&amp;#x440;&amp;#x438;&amp;#x43B;&amp;#x43E;&amp;#x436;&amp;#x435;&amp;#x43D;&amp;#x438;&amp;#x435;? \n&amp;#x41F;&amp;#x440;&amp;#x438; &amp;#x43F;&amp;#x440;&amp;#x438;&amp;#x441;&amp;#x442;&amp;#x438;&amp;#x433;&amp;#x430;&amp;#x43D;&amp;#x435; &amp;#x43D;&amp;#x430; &amp;#x437;&amp;#x430;&amp;#x43F;&amp;#x438;&amp;#x442;&amp;#x432;&amp;#x430;&amp;#x43D;&amp;#x435; &amp;#x43E;&amp;#x442; browser-&amp;#x430;. &amp;#xA0;&amp;#x41F;&amp;#x44A;&amp;#x440;&amp;#x432;&amp;#x43E; &amp;#x441;&amp;#x435; &amp;#x43C;&amp;#x438;&amp;#x43D;&amp;#x430;&amp;#x432;&amp;#x430; &amp;#x43F;&amp;#x440;&amp;#x435;&amp;#x437; Routing &amp;#x441;&amp;#x438;&amp;#x441;&amp;#x442;&amp;#x435;&amp;#x43C;&amp;#x430;&amp;#x442;&amp;#x430;, &amp;#x43A;&amp;#x43E;&amp;#x44F;&amp;#x442;&amp;#x43E; &amp;#x43E;&amp;#x43F;&amp;#x440;&amp;#x435;&amp;#x434;&amp;#x435;&amp;#x43B;&amp;#x44F;, &amp;#x43A;&amp;#x43E;&amp;#x439; &amp;#x43A;&amp;#x43E;&amp;#x43D;&amp;#x442;&amp;#x440;&amp;#x43E;&amp;#x43B;&amp;#x435;&amp;#x440; &amp;#x435; &amp;#x43E;&amp;#x442;&amp;#x433;&amp;#x43E;&amp;#x432;&amp;#x43E;&amp;#x440;&amp;#x435;&amp;#x43D; &amp;#x437;&amp;#x430; &amp;#x43E;&amp;#x431;&amp;#x440;&amp;#x430;&amp;#x431;&amp;#x43E;&amp;#x442;&amp;#x43A;&amp;#x430;&amp;#x442;&amp;#x430; &amp;#x43D;&amp;#x430; &amp;#x437;&amp;#x430;&amp;#x43F;&amp;#x438;&amp;#x442;&amp;#x432;&amp;#x430;&amp;#x43D;&amp;#x435;&amp;#x442;&amp;#x43E;. &amp;#x421;&amp;#x43B;&amp;#x435;&amp;#x434; &amp;#x442;&amp;#x43E;&amp;#x432;&amp;#x430; &amp;#x441;&amp;#x44A;&amp;#x43E;&amp;#x442;&amp;#x432;&amp;#x435;&amp;#x442;&amp;#x43D;&amp;#x438;&amp;#x44F; &amp;#x43A;&amp;#x43E;&amp;#x43D;&amp;#x442;&amp;#x440;&amp;#x43E;&amp;#x43B;&amp;#x435;&amp;#x440; &amp;#x432;&amp;#x437;&amp;#x430;&amp;#x438;&amp;#x43C;&amp;#x43E;&amp;#x434;&amp;#x435;&amp;#x439;&amp;#x441;&amp;#x442;&amp;#x432;&amp;#x430; &amp;#x441; &amp;#x431;&amp;#x438;&amp;#x437;&amp;#x43D;&amp;#x435;&amp;#x441; &amp;#x43C;&amp;#x43E;&amp;#x434;&amp;#x435;&amp;#x43B;&amp;#x438;&amp;#x442;&amp;#x435;.\n&amp;#x41A;&amp;#x43E;&amp;#x438;&amp;#x442;&amp;#x43E; &amp;#x441;&amp;#x430; &amp;#x43D;&amp;#x430;&amp;#x439;-&amp;#x447;&amp;#x435;&amp;#x441;&amp;#x442;&amp;#x43E; &amp;#x441;&amp;#x430; ActiveRecord &amp;#x43E;&amp;#x431;&amp;#x435;&amp;#x43A;&amp;#x442;&amp;#x438;, &amp;#x43A;&amp;#x43E;&amp;#x438;&amp;#x442;&amp;#x43E; &amp;#x441;&amp;#x438; &amp;#x432;&amp;#x437;&amp;#x430;&amp;#x438;&amp;#x43C;&amp;#x43E;&amp;#x434;&amp;#x435;&amp;#x439;&amp;#x441;&amp;#x442;&amp;#x432;&amp;#x430;&amp;#x442; &amp;#x441; &amp;#x431;&amp;#x430;&amp;#x437;&amp;#x430;&amp;#x442;&amp;#x430; &amp;#x43E;&amp;#x442; &amp;#x434;&amp;#x430;&amp;#x43D;&amp;#x43D;&amp;#x438;. \n&amp;#x421;&amp;#x43B;&amp;#x435;&amp;#x434; &amp;#x442;&amp;#x43E;&amp;#x432;&amp;#x430; &amp;#x43A;&amp;#x43E;&amp;#x43D;&amp;#x442;&amp;#x440;&amp;#x43E;&amp;#x43B;&amp;#x435;&amp;#x440;&amp;#x430; &amp;#x43F;&amp;#x440;&amp;#x435;&amp;#x434;&amp;#x430;&amp;#x432;&amp;#x430; &amp;#x43C;&amp;#x43E;&amp;#x434;&amp;#x435;&amp;#x43B;&amp;#x438;&amp;#x442;&amp;#x435; &amp;#x43D;&amp;#x430; View Layer-a, &amp;#x43A;&amp;#x43E;&amp;#x439;&amp;#x442;&amp;#x43E; &amp;#x433;&amp;#x435;&amp;#x43D;&amp;#x435;&amp;#x440;&amp;#x438;&amp;#x440;&amp;#x430; &amp;#x438; &amp;#x438;&amp;#x437;&amp;#x43F;&amp;#x440;&amp;#x430;&amp;#x449;&amp;#x430; &amp;#x43E;&amp;#x442;&amp;#x433;&amp;#x43E;&amp;#x432;&amp;#x43E;&amp;#x440; &amp;#x43D;&amp;#x430; &amp;#x431;&amp;#x440;&amp;#x430;&amp;#x443;&amp;#x437;&amp;#x44A;&amp;#x440;&amp;#x430;. &amp;#x41A;&amp;#x430;&amp;#x442;&amp;#x43E; &amp;#x442;&amp;#x43E;&amp;#x437;&amp;#x438; &amp;#x43E;&amp;#x442;&amp;#x433;&amp;#x43E;&amp;#x432;&amp;#x43E;&amp;#x440; &amp;#x43C;&amp;#x43E;&amp;#x436;&amp;#x435; &amp;#x434;&amp;#x430; &amp;#x435; html, xml, json, JavaScript &amp;#x438;&amp;#x43B;&amp;#x438; &amp;#x434;&amp;#x440;&amp;#x443;&amp;#x433; &amp;#x43A;&amp;#x43E;&amp;#x434;.\n\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. \n
  75. \n
  76. \n
  77. \n
  78. \n
  79. \n
  80. \n
  81. \n
  82. \n
  83. \n
  84. \n
  85. \n
  86. \n
  87. Taskar e &amp;#x440;&amp;#x430;&amp;#x437;&amp;#x440;&amp;#x430;&amp;#x431;&amp;#x43E;&amp;#x442;&amp;#x435;&amp;#x43D; &amp;#x447;&amp;#x440;&amp;#x435;&amp;#x437; &amp;#xA0;&amp;#x422;est Driven Development &amp;#x43C;&amp;#x435;&amp;#x442;&amp;#x43E;&amp;#x434;&amp;#x43E;&amp;#x43B;&amp;#x43E;&amp;#x433;&amp;#x438;&amp;#x44F;&amp;#x442;&amp;#x430;, &amp;#x447;&amp;#x438;&amp;#x44F;&amp;#x442;&amp;#x43E; &amp;#x43E;&amp;#x441;&amp;#x43D;&amp;#x43E;&amp;#x432;&amp;#x43D;&amp;#x430; &amp;#x438;&amp;#x434;&amp;#x435;&amp;#x44F; &amp;#x435; &amp;#x434;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x43F;&amp;#x438;&amp;#x448;&amp;#x435; &amp;#x43A;&amp;#x43E;&amp;#x434; &amp;#x432; 3 &amp;#x441;&amp;#x442;&amp;#x44A;&amp;#x43F;&amp;#x43A;&amp;#x438;:\n&amp;#x41F;&amp;#x44A;&amp;#x440;&amp;#x432;&amp;#x43E; &amp;#x441;&amp;#x435; &amp;#x434;&amp;#x43E;&amp;#x431;&amp;#x430;&amp;#x432;&amp;#x44F; &amp;#x442;&amp;#x435;&amp;#x441;&amp;#x442;, &amp;#x437;&amp;#x430; &amp;#x432;&amp;#x441;&amp;#x435; &amp;#x43E;&amp;#x449;&amp;#x435; &amp;#x43D;&amp;#x435; &amp;#x441;&amp;#x44A;&amp;#x449;&amp;#x435;&amp;#x441;&amp;#x442;&amp;#x432;&amp;#x443;&amp;#x432;&amp;#x430;&amp;#x449; &amp;#x43A;&amp;#x43E;&amp;#x434;. &amp;#x41A;&amp;#x43E;&amp;#x439;&amp;#x442;&amp;#x43E; &amp;#x442;&amp;#x440;&amp;#x44F;&amp;#x431;&amp;#x432;&amp;#x430; &amp;#x434;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x43C;&amp;#x430;&amp;#x440;&amp;#x43A;&amp;#x438;&amp;#x440;&amp;#x430; &amp;#x43A;&amp;#x430;&amp;#x442;&amp;#x43E; &amp;#x43D;&amp;#x435; &amp;#x443;&amp;#x441;&amp;#x43F;&amp;#x435;&amp;#x448;&amp;#x435;&amp;#x43D;\n&amp;#x421;&amp;#x43B;&amp;#x435;&amp;#x434; &amp;#x442;&amp;#x43E;&amp;#x432;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x43F;&amp;#x438;&amp;#x448;&amp;#x435; &amp;#x432;&amp;#x44A;&amp;#x437;&amp;#x43C;&amp;#x43E;&amp;#x436;&amp;#x43D;&amp;#x43E; &amp;#x43D;&amp;#x430;&amp;#x439;-&amp;#x43F;&amp;#x440;&amp;#x43E;&amp;#x441;&amp;#x442;&amp;#x438;&amp;#x44F; &amp;#x43A;&amp;#x43E;&amp;#x434;, &amp;#x441; &amp;#x43A;&amp;#x43E;&amp;#x439;&amp;#x442;&amp;#x43E; &amp;#x442;&amp;#x435;&amp;#x441;&amp;#x442;&amp;#x430; &amp;#x43C;&amp;#x438;&amp;#x43D;&amp;#x430;&amp;#x432;&amp;#x430; &amp;#x443;&amp;#x441;&amp;#x43F;&amp;#x435;&amp;#x448;&amp;#x43D;&amp;#x43E;.\n&amp;#x41D;&amp;#x430;&amp;#x43A;&amp;#x440;&amp;#x430;&amp;#x44F; &amp;#x441;&amp;#x435; &amp;#x43F;&amp;#x440;&amp;#x430;&amp;#x432;&amp;#x44F;&amp;#x442; &amp;#x43F;&amp;#x43E;&amp;#x434;&amp;#x43E;&amp;#x431;&amp;#x440;&amp;#x435;&amp;#x43D;&amp;#x438;&amp;#x44F; &amp;#x43F;&amp;#x43E; &amp;#x43A;&amp;#x43E;&amp;#x434;&amp;#x430;, &amp;#x438;&amp;#x437;&amp;#x447;&amp;#x438;&amp;#x441;&amp;#x442;&amp;#x432;&amp;#x430;&amp;#x442; &amp;#x441;&amp;#x435; &amp;#x43F;&amp;#x43E;&amp;#x432;&amp;#x442;&amp;#x43E;&amp;#x440;&amp;#x435;&amp;#x43D;&amp;#x438;&amp;#x44F;, &amp;#x434;&amp;#x43E;&amp;#x431;&amp;#x430;&amp;#x432;&amp;#x44F;&amp;#x442; &amp;#x441;&amp;#x435; &amp;#x43D;&amp;#x43E;&amp;#x432;&amp;#x438; &amp;#x442;&amp;#x435;&amp;#x441;&amp;#x442;&amp;#x43E;&amp;#x432;&amp;#x435; &amp;#x438; &amp;#x434;&amp;#x440;&amp;#x443;&amp;#x433;&amp;#x438;.\n\n&amp;#x41A;&amp;#x430;&amp;#x442;&amp;#x43E; &amp;#x442;&amp;#x435;&amp;#x437;&amp;#x438; 3 &amp;#x441;&amp;#x442;&amp;#x44A;&amp;#x43F;&amp;#x43A;&amp;#x438; &amp;#x441;&amp;#x435; &amp;#x43F;&amp;#x43E;&amp;#x432;&amp;#x442;&amp;#x430;&amp;#x440;&amp;#x44F;&amp;#x442; &amp;#x43D;&amp;#x435;&amp;#x43F;&amp;#x440;&amp;#x435;&amp;#x43A;&amp;#x44A;&amp;#x441;&amp;#x43D;&amp;#x430;&amp;#x442;&amp;#x43E; &amp;#x432; &amp;#x43F;&amp;#x440;&amp;#x43E;&amp;#x446;&amp;#x435;&amp;#x441;&amp;#x430; &amp;#x43D;&amp;#x430; &amp;#x440;&amp;#x430;&amp;#x437;&amp;#x440;&amp;#x430;&amp;#x431;&amp;#x43E;&amp;#x442;&amp;#x43A;&amp;#x430;. &amp;#x41A;&amp;#x430;&amp;#x442;&amp;#x43E; &amp;#x446;&amp;#x44F;&amp;#x43B;&amp;#x43E; &amp;#x442;&amp;#x43E;&amp;#x437;&amp;#x438; &amp;#x43C;&amp;#x435;&amp;#x442;&amp;#x43E;&amp;#x434; &amp;#x43D;&amp;#x430; &amp;#x440;&amp;#x430;&amp;#x431;&amp;#x43E;&amp;#x442;&amp;#x430; &amp;#x433;&amp;#x430;&amp;#x440;&amp;#x430;&amp;#x43D;&amp;#x442;&amp;#x438;&amp;#x440;&amp;#x430; &amp;#x447;&amp;#x435; 100% &amp;#x43E;&amp;#x442; &amp;#x43A;&amp;#x43E;&amp;#x434;&amp;#x430; &amp;#x449;&amp;#x435; &amp;#x435; &amp;#x43F;&amp;#x43E;&amp;#x43A;&amp;#x440;&amp;#x438;&amp;#x442; &amp;#x441; &amp;#x430;&amp;#x432;&amp;#x442;&amp;#x43E;&amp;#x43C;&amp;#x430;&amp;#x442;&amp;#x438;&amp;#x447;&amp;#x43D;&amp;#x438; &amp;#x442;&amp;#x435;&amp;#x441;&amp;#x442;&amp;#x43E;&amp;#x432;&amp;#x435;. &amp;#x41A;&amp;#x43E;&amp;#x435;&amp;#x442;&amp;#x43E; &amp;#x433;&amp;#x43E; &amp;#x43F;&amp;#x440;&amp;#x430;&amp;#x432;&amp;#x438; &amp;#x43B;&amp;#x435;&amp;#x441;&amp;#x435;&amp;#x43D; &amp;#x437;&amp;#x430; &amp;#x43F;&amp;#x43E;&amp;#x434;&amp;#x434;&amp;#x440;&amp;#x44A;&amp;#x436;&amp;#x43A;&amp;#x430; &amp;#x438; &amp;#x441; &amp;#x43F;&amp;#x43E;--&amp;#x434;&amp;#x43E;&amp;#x431;&amp;#x44A;&amp;#x440; &amp;#x434;&amp;#x438;&amp;#x437;&amp;#x430;&amp;#x439;&amp;#x43D;. &amp;#xA0;&amp;#x422;&amp;#x43E;&amp;#x432;&amp;#x430; &amp;#x43E;&amp;#x449;&amp;#x435; &amp;#x441;&amp;#x435; &amp;#x43D;&amp;#x430;&amp;#x440;&amp;#x438;&amp;#x447;&amp;#x430; Red-Green-Blue &amp;#x43D;&amp;#x430;&amp;#x447;&amp;#x438;&amp;#x43D; &amp;#x43D;&amp;#x430; &amp;#x440;&amp;#x430;&amp;#x431;&amp;#x43E;&amp;#x442;&amp;#x430;.\n&amp;#xA0;\n\n
  88. Taskar e &amp;#x440;&amp;#x430;&amp;#x437;&amp;#x440;&amp;#x430;&amp;#x431;&amp;#x43E;&amp;#x442;&amp;#x435;&amp;#x43D; &amp;#x447;&amp;#x440;&amp;#x435;&amp;#x437; &amp;#xA0;&amp;#x422;est Driven Development &amp;#x43C;&amp;#x435;&amp;#x442;&amp;#x43E;&amp;#x434;&amp;#x43E;&amp;#x43B;&amp;#x43E;&amp;#x433;&amp;#x438;&amp;#x44F;&amp;#x442;&amp;#x430;, &amp;#x447;&amp;#x438;&amp;#x44F;&amp;#x442;&amp;#x43E; &amp;#x43E;&amp;#x441;&amp;#x43D;&amp;#x43E;&amp;#x432;&amp;#x43D;&amp;#x430; &amp;#x438;&amp;#x434;&amp;#x435;&amp;#x44F; &amp;#x435; &amp;#x434;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x43F;&amp;#x438;&amp;#x448;&amp;#x435; &amp;#x43A;&amp;#x43E;&amp;#x434; &amp;#x432; 3 &amp;#x441;&amp;#x442;&amp;#x44A;&amp;#x43F;&amp;#x43A;&amp;#x438;:\n&amp;#x41F;&amp;#x44A;&amp;#x440;&amp;#x432;&amp;#x43E; &amp;#x441;&amp;#x435; &amp;#x434;&amp;#x43E;&amp;#x431;&amp;#x430;&amp;#x432;&amp;#x44F; &amp;#x442;&amp;#x435;&amp;#x441;&amp;#x442;, &amp;#x437;&amp;#x430; &amp;#x432;&amp;#x441;&amp;#x435; &amp;#x43E;&amp;#x449;&amp;#x435; &amp;#x43D;&amp;#x435; &amp;#x441;&amp;#x44A;&amp;#x449;&amp;#x435;&amp;#x441;&amp;#x442;&amp;#x432;&amp;#x443;&amp;#x432;&amp;#x430;&amp;#x449; &amp;#x43A;&amp;#x43E;&amp;#x434;. &amp;#x41A;&amp;#x43E;&amp;#x439;&amp;#x442;&amp;#x43E; &amp;#x442;&amp;#x440;&amp;#x44F;&amp;#x431;&amp;#x432;&amp;#x430; &amp;#x434;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x43C;&amp;#x430;&amp;#x440;&amp;#x43A;&amp;#x438;&amp;#x440;&amp;#x430; &amp;#x43A;&amp;#x430;&amp;#x442;&amp;#x43E; &amp;#x43D;&amp;#x435; &amp;#x443;&amp;#x441;&amp;#x43F;&amp;#x435;&amp;#x448;&amp;#x435;&amp;#x43D;\n&amp;#x421;&amp;#x43B;&amp;#x435;&amp;#x434; &amp;#x442;&amp;#x43E;&amp;#x432;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x43F;&amp;#x438;&amp;#x448;&amp;#x435; &amp;#x432;&amp;#x44A;&amp;#x437;&amp;#x43C;&amp;#x43E;&amp;#x436;&amp;#x43D;&amp;#x43E; &amp;#x43D;&amp;#x430;&amp;#x439;-&amp;#x43F;&amp;#x440;&amp;#x43E;&amp;#x441;&amp;#x442;&amp;#x438;&amp;#x44F; &amp;#x43A;&amp;#x43E;&amp;#x434;, &amp;#x441; &amp;#x43A;&amp;#x43E;&amp;#x439;&amp;#x442;&amp;#x43E; &amp;#x442;&amp;#x435;&amp;#x441;&amp;#x442;&amp;#x430; &amp;#x43C;&amp;#x438;&amp;#x43D;&amp;#x430;&amp;#x432;&amp;#x430; &amp;#x443;&amp;#x441;&amp;#x43F;&amp;#x435;&amp;#x448;&amp;#x43D;&amp;#x43E;.\n&amp;#x41D;&amp;#x430;&amp;#x43A;&amp;#x440;&amp;#x430;&amp;#x44F; &amp;#x441;&amp;#x435; &amp;#x43F;&amp;#x440;&amp;#x430;&amp;#x432;&amp;#x44F;&amp;#x442; &amp;#x43F;&amp;#x43E;&amp;#x434;&amp;#x43E;&amp;#x431;&amp;#x440;&amp;#x435;&amp;#x43D;&amp;#x438;&amp;#x44F; &amp;#x43F;&amp;#x43E; &amp;#x43A;&amp;#x43E;&amp;#x434;&amp;#x430;, &amp;#x438;&amp;#x437;&amp;#x447;&amp;#x438;&amp;#x441;&amp;#x442;&amp;#x432;&amp;#x430;&amp;#x442; &amp;#x441;&amp;#x435; &amp;#x43F;&amp;#x43E;&amp;#x432;&amp;#x442;&amp;#x43E;&amp;#x440;&amp;#x435;&amp;#x43D;&amp;#x438;&amp;#x44F;, &amp;#x434;&amp;#x43E;&amp;#x431;&amp;#x430;&amp;#x432;&amp;#x44F;&amp;#x442; &amp;#x441;&amp;#x435; &amp;#x43D;&amp;#x43E;&amp;#x432;&amp;#x438; &amp;#x442;&amp;#x435;&amp;#x441;&amp;#x442;&amp;#x43E;&amp;#x432;&amp;#x435; &amp;#x438; &amp;#x434;&amp;#x440;&amp;#x443;&amp;#x433;&amp;#x438;.\n\n&amp;#x41A;&amp;#x430;&amp;#x442;&amp;#x43E; &amp;#x442;&amp;#x435;&amp;#x437;&amp;#x438; 3 &amp;#x441;&amp;#x442;&amp;#x44A;&amp;#x43F;&amp;#x43A;&amp;#x438; &amp;#x441;&amp;#x435; &amp;#x43F;&amp;#x43E;&amp;#x432;&amp;#x442;&amp;#x430;&amp;#x440;&amp;#x44F;&amp;#x442; &amp;#x43D;&amp;#x435;&amp;#x43F;&amp;#x440;&amp;#x435;&amp;#x43A;&amp;#x44A;&amp;#x441;&amp;#x43D;&amp;#x430;&amp;#x442;&amp;#x43E; &amp;#x432; &amp;#x43F;&amp;#x440;&amp;#x43E;&amp;#x446;&amp;#x435;&amp;#x441;&amp;#x430; &amp;#x43D;&amp;#x430; &amp;#x440;&amp;#x430;&amp;#x437;&amp;#x440;&amp;#x430;&amp;#x431;&amp;#x43E;&amp;#x442;&amp;#x43A;&amp;#x430;. &amp;#x41A;&amp;#x430;&amp;#x442;&amp;#x43E; &amp;#x446;&amp;#x44F;&amp;#x43B;&amp;#x43E; &amp;#x442;&amp;#x43E;&amp;#x437;&amp;#x438; &amp;#x43C;&amp;#x435;&amp;#x442;&amp;#x43E;&amp;#x434; &amp;#x43D;&amp;#x430; &amp;#x440;&amp;#x430;&amp;#x431;&amp;#x43E;&amp;#x442;&amp;#x430; &amp;#x433;&amp;#x430;&amp;#x440;&amp;#x430;&amp;#x43D;&amp;#x442;&amp;#x438;&amp;#x440;&amp;#x430; &amp;#x447;&amp;#x435; 100% &amp;#x43E;&amp;#x442; &amp;#x43A;&amp;#x43E;&amp;#x434;&amp;#x430; &amp;#x449;&amp;#x435; &amp;#x435; &amp;#x43F;&amp;#x43E;&amp;#x43A;&amp;#x440;&amp;#x438;&amp;#x442; &amp;#x441; &amp;#x430;&amp;#x432;&amp;#x442;&amp;#x43E;&amp;#x43C;&amp;#x430;&amp;#x442;&amp;#x438;&amp;#x447;&amp;#x43D;&amp;#x438; &amp;#x442;&amp;#x435;&amp;#x441;&amp;#x442;&amp;#x43E;&amp;#x432;&amp;#x435;. &amp;#x41A;&amp;#x43E;&amp;#x435;&amp;#x442;&amp;#x43E; &amp;#x433;&amp;#x43E; &amp;#x43F;&amp;#x440;&amp;#x430;&amp;#x432;&amp;#x438; &amp;#x43B;&amp;#x435;&amp;#x441;&amp;#x435;&amp;#x43D; &amp;#x437;&amp;#x430; &amp;#x43F;&amp;#x43E;&amp;#x434;&amp;#x434;&amp;#x440;&amp;#x44A;&amp;#x436;&amp;#x43A;&amp;#x430; &amp;#x438; &amp;#x441; &amp;#x43F;&amp;#x43E;--&amp;#x434;&amp;#x43E;&amp;#x431;&amp;#x44A;&amp;#x440; &amp;#x434;&amp;#x438;&amp;#x437;&amp;#x430;&amp;#x439;&amp;#x43D;. &amp;#xA0;&amp;#x422;&amp;#x43E;&amp;#x432;&amp;#x430; &amp;#x43E;&amp;#x449;&amp;#x435; &amp;#x441;&amp;#x435; &amp;#x43D;&amp;#x430;&amp;#x440;&amp;#x438;&amp;#x447;&amp;#x430; Red-Green-Blue &amp;#x43D;&amp;#x430;&amp;#x447;&amp;#x438;&amp;#x43D; &amp;#x43D;&amp;#x430; &amp;#x440;&amp;#x430;&amp;#x431;&amp;#x43E;&amp;#x442;&amp;#x430;.\n&amp;#xA0;\n\n
  89. Taskar e &amp;#x440;&amp;#x430;&amp;#x437;&amp;#x440;&amp;#x430;&amp;#x431;&amp;#x43E;&amp;#x442;&amp;#x435;&amp;#x43D; &amp;#x447;&amp;#x440;&amp;#x435;&amp;#x437; &amp;#xA0;&amp;#x422;est Driven Development &amp;#x43C;&amp;#x435;&amp;#x442;&amp;#x43E;&amp;#x434;&amp;#x43E;&amp;#x43B;&amp;#x43E;&amp;#x433;&amp;#x438;&amp;#x44F;&amp;#x442;&amp;#x430;, &amp;#x447;&amp;#x438;&amp;#x44F;&amp;#x442;&amp;#x43E; &amp;#x43E;&amp;#x441;&amp;#x43D;&amp;#x43E;&amp;#x432;&amp;#x43D;&amp;#x430; &amp;#x438;&amp;#x434;&amp;#x435;&amp;#x44F; &amp;#x435; &amp;#x434;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x43F;&amp;#x438;&amp;#x448;&amp;#x435; &amp;#x43A;&amp;#x43E;&amp;#x434; &amp;#x432; 3 &amp;#x441;&amp;#x442;&amp;#x44A;&amp;#x43F;&amp;#x43A;&amp;#x438;:\n&amp;#x41F;&amp;#x44A;&amp;#x440;&amp;#x432;&amp;#x43E; &amp;#x441;&amp;#x435; &amp;#x434;&amp;#x43E;&amp;#x431;&amp;#x430;&amp;#x432;&amp;#x44F; &amp;#x442;&amp;#x435;&amp;#x441;&amp;#x442;, &amp;#x437;&amp;#x430; &amp;#x432;&amp;#x441;&amp;#x435; &amp;#x43E;&amp;#x449;&amp;#x435; &amp;#x43D;&amp;#x435; &amp;#x441;&amp;#x44A;&amp;#x449;&amp;#x435;&amp;#x441;&amp;#x442;&amp;#x432;&amp;#x443;&amp;#x432;&amp;#x430;&amp;#x449; &amp;#x43A;&amp;#x43E;&amp;#x434;. &amp;#x41A;&amp;#x43E;&amp;#x439;&amp;#x442;&amp;#x43E; &amp;#x442;&amp;#x440;&amp;#x44F;&amp;#x431;&amp;#x432;&amp;#x430; &amp;#x434;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x43C;&amp;#x430;&amp;#x440;&amp;#x43A;&amp;#x438;&amp;#x440;&amp;#x430; &amp;#x43A;&amp;#x430;&amp;#x442;&amp;#x43E; &amp;#x43D;&amp;#x435; &amp;#x443;&amp;#x441;&amp;#x43F;&amp;#x435;&amp;#x448;&amp;#x435;&amp;#x43D;\n&amp;#x421;&amp;#x43B;&amp;#x435;&amp;#x434; &amp;#x442;&amp;#x43E;&amp;#x432;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x43F;&amp;#x438;&amp;#x448;&amp;#x435; &amp;#x432;&amp;#x44A;&amp;#x437;&amp;#x43C;&amp;#x43E;&amp;#x436;&amp;#x43D;&amp;#x43E; &amp;#x43D;&amp;#x430;&amp;#x439;-&amp;#x43F;&amp;#x440;&amp;#x43E;&amp;#x441;&amp;#x442;&amp;#x438;&amp;#x44F; &amp;#x43A;&amp;#x43E;&amp;#x434;, &amp;#x441; &amp;#x43A;&amp;#x43E;&amp;#x439;&amp;#x442;&amp;#x43E; &amp;#x442;&amp;#x435;&amp;#x441;&amp;#x442;&amp;#x430; &amp;#x43C;&amp;#x438;&amp;#x43D;&amp;#x430;&amp;#x432;&amp;#x430; &amp;#x443;&amp;#x441;&amp;#x43F;&amp;#x435;&amp;#x448;&amp;#x43D;&amp;#x43E;.\n&amp;#x41D;&amp;#x430;&amp;#x43A;&amp;#x440;&amp;#x430;&amp;#x44F; &amp;#x441;&amp;#x435; &amp;#x43F;&amp;#x440;&amp;#x430;&amp;#x432;&amp;#x44F;&amp;#x442; &amp;#x43F;&amp;#x43E;&amp;#x434;&amp;#x43E;&amp;#x431;&amp;#x440;&amp;#x435;&amp;#x43D;&amp;#x438;&amp;#x44F; &amp;#x43F;&amp;#x43E; &amp;#x43A;&amp;#x43E;&amp;#x434;&amp;#x430;, &amp;#x438;&amp;#x437;&amp;#x447;&amp;#x438;&amp;#x441;&amp;#x442;&amp;#x432;&amp;#x430;&amp;#x442; &amp;#x441;&amp;#x435; &amp;#x43F;&amp;#x43E;&amp;#x432;&amp;#x442;&amp;#x43E;&amp;#x440;&amp;#x435;&amp;#x43D;&amp;#x438;&amp;#x44F;, &amp;#x434;&amp;#x43E;&amp;#x431;&amp;#x430;&amp;#x432;&amp;#x44F;&amp;#x442; &amp;#x441;&amp;#x435; &amp;#x43D;&amp;#x43E;&amp;#x432;&amp;#x438; &amp;#x442;&amp;#x435;&amp;#x441;&amp;#x442;&amp;#x43E;&amp;#x432;&amp;#x435; &amp;#x438; &amp;#x434;&amp;#x440;&amp;#x443;&amp;#x433;&amp;#x438;.\n\n&amp;#x41A;&amp;#x430;&amp;#x442;&amp;#x43E; &amp;#x442;&amp;#x435;&amp;#x437;&amp;#x438; 3 &amp;#x441;&amp;#x442;&amp;#x44A;&amp;#x43F;&amp;#x43A;&amp;#x438; &amp;#x441;&amp;#x435; &amp;#x43F;&amp;#x43E;&amp;#x432;&amp;#x442;&amp;#x430;&amp;#x440;&amp;#x44F;&amp;#x442; &amp;#x43D;&amp;#x435;&amp;#x43F;&amp;#x440;&amp;#x435;&amp;#x43A;&amp;#x44A;&amp;#x441;&amp;#x43D;&amp;#x430;&amp;#x442;&amp;#x43E; &amp;#x432; &amp;#x43F;&amp;#x440;&amp;#x43E;&amp;#x446;&amp;#x435;&amp;#x441;&amp;#x430; &amp;#x43D;&amp;#x430; &amp;#x440;&amp;#x430;&amp;#x437;&amp;#x440;&amp;#x430;&amp;#x431;&amp;#x43E;&amp;#x442;&amp;#x43A;&amp;#x430;. &amp;#x41A;&amp;#x430;&amp;#x442;&amp;#x43E; &amp;#x446;&amp;#x44F;&amp;#x43B;&amp;#x43E; &amp;#x442;&amp;#x43E;&amp;#x437;&amp;#x438; &amp;#x43C;&amp;#x435;&amp;#x442;&amp;#x43E;&amp;#x434; &amp;#x43D;&amp;#x430; &amp;#x440;&amp;#x430;&amp;#x431;&amp;#x43E;&amp;#x442;&amp;#x430; &amp;#x433;&amp;#x430;&amp;#x440;&amp;#x430;&amp;#x43D;&amp;#x442;&amp;#x438;&amp;#x440;&amp;#x430; &amp;#x447;&amp;#x435; 100% &amp;#x43E;&amp;#x442; &amp;#x43A;&amp;#x43E;&amp;#x434;&amp;#x430; &amp;#x449;&amp;#x435; &amp;#x435; &amp;#x43F;&amp;#x43E;&amp;#x43A;&amp;#x440;&amp;#x438;&amp;#x442; &amp;#x441; &amp;#x430;&amp;#x432;&amp;#x442;&amp;#x43E;&amp;#x43C;&amp;#x430;&amp;#x442;&amp;#x438;&amp;#x447;&amp;#x43D;&amp;#x438; &amp;#x442;&amp;#x435;&amp;#x441;&amp;#x442;&amp;#x43E;&amp;#x432;&amp;#x435;. &amp;#x41A;&amp;#x43E;&amp;#x435;&amp;#x442;&amp;#x43E; &amp;#x433;&amp;#x43E; &amp;#x43F;&amp;#x440;&amp;#x430;&amp;#x432;&amp;#x438; &amp;#x43B;&amp;#x435;&amp;#x441;&amp;#x435;&amp;#x43D; &amp;#x437;&amp;#x430; &amp;#x43F;&amp;#x43E;&amp;#x434;&amp;#x434;&amp;#x440;&amp;#x44A;&amp;#x436;&amp;#x43A;&amp;#x430; &amp;#x438; &amp;#x441; &amp;#x43F;&amp;#x43E;--&amp;#x434;&amp;#x43E;&amp;#x431;&amp;#x44A;&amp;#x440; &amp;#x434;&amp;#x438;&amp;#x437;&amp;#x430;&amp;#x439;&amp;#x43D;. &amp;#xA0;&amp;#x422;&amp;#x43E;&amp;#x432;&amp;#x430; &amp;#x43E;&amp;#x449;&amp;#x435; &amp;#x441;&amp;#x435; &amp;#x43D;&amp;#x430;&amp;#x440;&amp;#x438;&amp;#x447;&amp;#x430; Red-Green-Blue &amp;#x43D;&amp;#x430;&amp;#x447;&amp;#x438;&amp;#x43D; &amp;#x43D;&amp;#x430; &amp;#x440;&amp;#x430;&amp;#x431;&amp;#x43E;&amp;#x442;&amp;#x430;.\n&amp;#xA0;\n\n
  90. Taskar e &amp;#x440;&amp;#x430;&amp;#x437;&amp;#x440;&amp;#x430;&amp;#x431;&amp;#x43E;&amp;#x442;&amp;#x435;&amp;#x43D; &amp;#x447;&amp;#x440;&amp;#x435;&amp;#x437; &amp;#xA0;&amp;#x422;est Driven Development &amp;#x43C;&amp;#x435;&amp;#x442;&amp;#x43E;&amp;#x434;&amp;#x43E;&amp;#x43B;&amp;#x43E;&amp;#x433;&amp;#x438;&amp;#x44F;&amp;#x442;&amp;#x430;, &amp;#x447;&amp;#x438;&amp;#x44F;&amp;#x442;&amp;#x43E; &amp;#x43E;&amp;#x441;&amp;#x43D;&amp;#x43E;&amp;#x432;&amp;#x43D;&amp;#x430; &amp;#x438;&amp;#x434;&amp;#x435;&amp;#x44F; &amp;#x435; &amp;#x434;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x43F;&amp;#x438;&amp;#x448;&amp;#x435; &amp;#x43A;&amp;#x43E;&amp;#x434; &amp;#x432; 3 &amp;#x441;&amp;#x442;&amp;#x44A;&amp;#x43F;&amp;#x43A;&amp;#x438;:\n&amp;#x41F;&amp;#x44A;&amp;#x440;&amp;#x432;&amp;#x43E; &amp;#x441;&amp;#x435; &amp;#x434;&amp;#x43E;&amp;#x431;&amp;#x430;&amp;#x432;&amp;#x44F; &amp;#x442;&amp;#x435;&amp;#x441;&amp;#x442;, &amp;#x437;&amp;#x430; &amp;#x432;&amp;#x441;&amp;#x435; &amp;#x43E;&amp;#x449;&amp;#x435; &amp;#x43D;&amp;#x435; &amp;#x441;&amp;#x44A;&amp;#x449;&amp;#x435;&amp;#x441;&amp;#x442;&amp;#x432;&amp;#x443;&amp;#x432;&amp;#x430;&amp;#x449; &amp;#x43A;&amp;#x43E;&amp;#x434;. &amp;#x41A;&amp;#x43E;&amp;#x439;&amp;#x442;&amp;#x43E; &amp;#x442;&amp;#x440;&amp;#x44F;&amp;#x431;&amp;#x432;&amp;#x430; &amp;#x434;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x43C;&amp;#x430;&amp;#x440;&amp;#x43A;&amp;#x438;&amp;#x440;&amp;#x430; &amp;#x43A;&amp;#x430;&amp;#x442;&amp;#x43E; &amp;#x43D;&amp;#x435; &amp;#x443;&amp;#x441;&amp;#x43F;&amp;#x435;&amp;#x448;&amp;#x435;&amp;#x43D;\n&amp;#x421;&amp;#x43B;&amp;#x435;&amp;#x434; &amp;#x442;&amp;#x43E;&amp;#x432;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x43F;&amp;#x438;&amp;#x448;&amp;#x435; &amp;#x432;&amp;#x44A;&amp;#x437;&amp;#x43C;&amp;#x43E;&amp;#x436;&amp;#x43D;&amp;#x43E; &amp;#x43D;&amp;#x430;&amp;#x439;-&amp;#x43F;&amp;#x440;&amp;#x43E;&amp;#x441;&amp;#x442;&amp;#x438;&amp;#x44F; &amp;#x43A;&amp;#x43E;&amp;#x434;, &amp;#x441; &amp;#x43A;&amp;#x43E;&amp;#x439;&amp;#x442;&amp;#x43E; &amp;#x442;&amp;#x435;&amp;#x441;&amp;#x442;&amp;#x430; &amp;#x43C;&amp;#x438;&amp;#x43D;&amp;#x430;&amp;#x432;&amp;#x430; &amp;#x443;&amp;#x441;&amp;#x43F;&amp;#x435;&amp;#x448;&amp;#x43D;&amp;#x43E;.\n&amp;#x41D;&amp;#x430;&amp;#x43A;&amp;#x440;&amp;#x430;&amp;#x44F; &amp;#x441;&amp;#x435; &amp;#x43F;&amp;#x440;&amp;#x430;&amp;#x432;&amp;#x44F;&amp;#x442; &amp;#x43F;&amp;#x43E;&amp;#x434;&amp;#x43E;&amp;#x431;&amp;#x440;&amp;#x435;&amp;#x43D;&amp;#x438;&amp;#x44F; &amp;#x43F;&amp;#x43E; &amp;#x43A;&amp;#x43E;&amp;#x434;&amp;#x430;, &amp;#x438;&amp;#x437;&amp;#x447;&amp;#x438;&amp;#x441;&amp;#x442;&amp;#x432;&amp;#x430;&amp;#x442; &amp;#x441;&amp;#x435; &amp;#x43F;&amp;#x43E;&amp;#x432;&amp;#x442;&amp;#x43E;&amp;#x440;&amp;#x435;&amp;#x43D;&amp;#x438;&amp;#x44F;, &amp;#x434;&amp;#x43E;&amp;#x431;&amp;#x430;&amp;#x432;&amp;#x44F;&amp;#x442; &amp;#x441;&amp;#x435; &amp;#x43D;&amp;#x43E;&amp;#x432;&amp;#x438; &amp;#x442;&amp;#x435;&amp;#x441;&amp;#x442;&amp;#x43E;&amp;#x432;&amp;#x435; &amp;#x438; &amp;#x434;&amp;#x440;&amp;#x443;&amp;#x433;&amp;#x438;.\n\n&amp;#x41A;&amp;#x430;&amp;#x442;&amp;#x43E; &amp;#x442;&amp;#x435;&amp;#x437;&amp;#x438; 3 &amp;#x441;&amp;#x442;&amp;#x44A;&amp;#x43F;&amp;#x43A;&amp;#x438; &amp;#x441;&amp;#x435; &amp;#x43F;&amp;#x43E;&amp;#x432;&amp;#x442;&amp;#x430;&amp;#x440;&amp;#x44F;&amp;#x442; &amp;#x43D;&amp;#x435;&amp;#x43F;&amp;#x440;&amp;#x435;&amp;#x43A;&amp;#x44A;&amp;#x441;&amp;#x43D;&amp;#x430;&amp;#x442;&amp;#x43E; &amp;#x432; &amp;#x43F;&amp;#x440;&amp;#x43E;&amp;#x446;&amp;#x435;&amp;#x441;&amp;#x430; &amp;#x43D;&amp;#x430; &amp;#x440;&amp;#x430;&amp;#x437;&amp;#x440;&amp;#x430;&amp;#x431;&amp;#x43E;&amp;#x442;&amp;#x43A;&amp;#x430;. &amp;#x41A;&amp;#x430;&amp;#x442;&amp;#x43E; &amp;#x446;&amp;#x44F;&amp;#x43B;&amp;#x43E; &amp;#x442;&amp;#x43E;&amp;#x437;&amp;#x438; &amp;#x43C;&amp;#x435;&amp;#x442;&amp;#x43E;&amp;#x434; &amp;#x43D;&amp;#x430; &amp;#x440;&amp;#x430;&amp;#x431;&amp;#x43E;&amp;#x442;&amp;#x430; &amp;#x433;&amp;#x430;&amp;#x440;&amp;#x430;&amp;#x43D;&amp;#x442;&amp;#x438;&amp;#x440;&amp;#x430; &amp;#x447;&amp;#x435; 100% &amp;#x43E;&amp;#x442; &amp;#x43A;&amp;#x43E;&amp;#x434;&amp;#x430; &amp;#x449;&amp;#x435; &amp;#x435; &amp;#x43F;&amp;#x43E;&amp;#x43A;&amp;#x440;&amp;#x438;&amp;#x442; &amp;#x441; &amp;#x430;&amp;#x432;&amp;#x442;&amp;#x43E;&amp;#x43C;&amp;#x430;&amp;#x442;&amp;#x438;&amp;#x447;&amp;#x43D;&amp;#x438; &amp;#x442;&amp;#x435;&amp;#x441;&amp;#x442;&amp;#x43E;&amp;#x432;&amp;#x435;. &amp;#x41A;&amp;#x43E;&amp;#x435;&amp;#x442;&amp;#x43E; &amp;#x433;&amp;#x43E; &amp;#x43F;&amp;#x440;&amp;#x430;&amp;#x432;&amp;#x438; &amp;#x43B;&amp;#x435;&amp;#x441;&amp;#x435;&amp;#x43D; &amp;#x437;&amp;#x430; &amp;#x43F;&amp;#x43E;&amp;#x434;&amp;#x434;&amp;#x440;&amp;#x44A;&amp;#x436;&amp;#x43A;&amp;#x430; &amp;#x438; &amp;#x441; &amp;#x43F;&amp;#x43E;--&amp;#x434;&amp;#x43E;&amp;#x431;&amp;#x44A;&amp;#x440; &amp;#x434;&amp;#x438;&amp;#x437;&amp;#x430;&amp;#x439;&amp;#x43D;. &amp;#xA0;&amp;#x422;&amp;#x43E;&amp;#x432;&amp;#x430; &amp;#x43E;&amp;#x449;&amp;#x435; &amp;#x441;&amp;#x435; &amp;#x43D;&amp;#x430;&amp;#x440;&amp;#x438;&amp;#x447;&amp;#x430; Red-Green-Blue &amp;#x43D;&amp;#x430;&amp;#x447;&amp;#x438;&amp;#x43D; &amp;#x43D;&amp;#x430; &amp;#x440;&amp;#x430;&amp;#x431;&amp;#x43E;&amp;#x442;&amp;#x430;.\n&amp;#xA0;\n\n
  91. \n
  92. \n
  93. \n
  94. \n
  95. &amp;#x421;&amp;#x442;&amp;#x440;&amp;#x435;&amp;#x43C;&amp;#x435;&amp;#x436;&amp;#x44A;&amp;#x442; &amp;#x43D;&amp;#x430; Ruby &amp;#x435; &amp;#x434;&amp;#x430; &amp;#x441;&amp;#x43B;&amp;#x435;&amp;#x434;&amp;#x432;&amp;#x430; &amp;#x43F;&amp;#x440;&amp;#x438;&amp;#x43D;&amp;#x446;&amp;#x438;&amp;#x43F;&amp;#x430; &amp;#x43D;&amp;#x430; &amp;#x43D;&amp;#x430;&amp;#x439;-&amp;#x43C;&amp;#x430;&amp;#x43B;&amp;#x43A;&amp;#x430; &amp;#x438;&amp;#x437;&amp;#x43D;&amp;#x435;&amp;#x43D;&amp;#x430;&amp;#x434;&amp;#x430;. &amp;#x422;&amp;#x43E;&amp;#x432;&amp;#x430; &amp;#x43E;&amp;#x437;&amp;#x43D;&amp;#x430;&amp;#x447;&amp;#x430;&amp;#x432;&amp;#x430;, &amp;#x447;&amp;#x435; &amp;#x43F;&amp;#x43E;&amp;#x432;&amp;#x435;&amp;#x434;&amp;#x435;&amp;#x43D;&amp;#x438;&amp;#x435;&amp;#x442;&amp;#x43E; &amp;#x43D;&amp;#x430; &amp;#x435;&amp;#x437;&amp;#x438;&amp;#x43A;&amp;#x430; &amp;#x442;&amp;#x440;&amp;#x44F;&amp;#x431;&amp;#x432;&amp;#x430; &amp;#x434;&amp;#x430; &amp;#x435; &amp;#x438;&amp;#x43D;&amp;#x442;&amp;#x443;&amp;#x438;&amp;#x442;&amp;#x438;&amp;#x432;&amp;#x43D;&amp;#x43E; &amp;#x438; &amp;#x442;&amp;#x43E;&amp;#x439; &amp;#x434;&amp;#x430; &amp;#x440;&amp;#x430;&amp;#x431;&amp;#x43E;&amp;#x442;&amp;#x438; &amp;#x442;&amp;#x430;&amp;#x43A;&amp;#x430;, &amp;#x43A;&amp;#x430;&amp;#x43A;&amp;#x442;&amp;#x43E; &amp;#x43F;&amp;#x440;&amp;#x43E;&amp;#x433;&amp;#x440;&amp;#x430;&amp;#x43C;&amp;#x438;&amp;#x441;&amp;#x442;&amp;#x44A;&amp;#x442; &amp;#x431;&amp;#x438; &amp;#x43E;&amp;#x447;&amp;#x430;&amp;#x43A;&amp;#x432;&amp;#x430;&amp;#x43B;.\nRuby &amp;#x435; &amp;#x43E;&amp;#x431;&amp;#x435;&amp;#x43A;&amp;#x442;&amp;#x43D;&amp;#x43E;-&amp;#x43E;&amp;#x440;&amp;#x438;&amp;#x435;&amp;#x43D;&amp;#x442;&amp;#x438;&amp;#x440;&amp;#x430;&amp;#x43D;: &amp;#x432;&amp;#x441;&amp;#x435;&amp;#x43A;&amp;#x438; &amp;#x442;&amp;#x438;&amp;#x43F; &amp;#x434;&amp;#x430;&amp;#x43D;&amp;#x43D;&amp;#x438; &amp;#x435; &amp;#x43E;&amp;#x431;&amp;#x435;&amp;#x43A;&amp;#x442;, &amp;#x432;&amp;#x43A;&amp;#x43B;&amp;#x44E;&amp;#x447;&amp;#x438;&amp;#x442;&amp;#x435;&amp;#x43B;&amp;#x43D;&amp;#x43E; &amp;#x43A;&amp;#x43B;&amp;#x430;&amp;#x441;&amp;#x43E;&amp;#x432;&amp;#x435;, &amp;#x447;&amp;#x438;&amp;#x441;&amp;#x43B;&amp;#x430;, &amp;#x431;&amp;#x443;&amp;#x43B;&amp;#x435;&amp;#x432;&amp;#x438; &amp;#x441;&amp;#x442;&amp;#x43E;&amp;#x439;&amp;#x43D;&amp;#x43E;&amp;#x441;&amp;#x442;&amp;#x438;, &amp;#x43A;&amp;#x43E;&amp;#x438;&amp;#x442;&amp;#x43E; &amp;#x432; &amp;#x43C;&amp;#x43D;&amp;#x43E;&amp;#x433;&amp;#x43E; &amp;#x434;&amp;#x440;&amp;#x443;&amp;#x433;&amp;#x438; &amp;#x435;&amp;#x437;&amp;#x438;&amp;#x446;&amp;#x438; &amp;#x43E;&amp;#x43F;&amp;#x440;&amp;#x435;&amp;#x434;&amp;#x435;&amp;#x43B;&amp;#x44F;&amp;#x442; &amp;#x43A;&amp;#x430;&amp;#x442;&amp;#x43E; &amp;#x43F;&amp;#x440;&amp;#x438;&amp;#x43C;&amp;#x438;&amp;#x442;&amp;#x438;&amp;#x432;&amp;#x438;, &amp;#x430; &amp;#x43D;&amp;#x435; &amp;#x43A;&amp;#x430;&amp;#x442;&amp;#x43E; &amp;#x440;&amp;#x435;&amp;#x430;&amp;#x43B;&amp;#x43D;&amp;#x438; &amp;#x43E;&amp;#x431;&amp;#x435;&amp;#x43A;&amp;#x442;&amp;#x438;.\n\n&amp;#x41D;&amp;#x44F;&amp;#x43A;&amp;#x43E;&amp;#x438; &amp;#x43E;&amp;#x442; &amp;#x43D;&amp;#x430;&amp;#x439;-&amp;#x432;&amp;#x430;&amp;#x436;&amp;#x43D;&amp;#x438;&amp;#x442;&amp;#x435; &amp;#x445;&amp;#x430;&amp;#x440;&amp;#x430;&amp;#x43A;&amp;#x442;&amp;#x435;&amp;#x440;&amp;#x438;&amp;#x441;&amp;#x442;&amp;#x438;&amp;#x43A;&amp;#x438; &amp;#x43D;&amp;#x430; &amp;#x435;&amp;#x437;&amp;#x438;&amp;#x43A;&amp;#x430; &amp;#x441;&amp;#x430;: \n&amp;#x434;&amp;#x438;&amp;#x43C;&amp;#x438;&amp;#x447;&amp;#x43D;&amp;#x43E; &amp;#x43E;&amp;#x43F;&amp;#x440;&amp;#x435;&amp;#x434;&amp;#x435;&amp;#x43B;&amp;#x44F;&amp;#x43D;&amp;#x435; &amp;#x43D;&amp;#x430; &amp;#x442;&amp;#x438;&amp;#x43F;&amp;#x430; &amp;#x434;&amp;#x430;&amp;#x43D;&amp;#x43D;&amp;#x438;&amp;#x442;&amp;#x435;\n&amp;#x43C;&amp;#x43E;&amp;#x434;&amp;#x443;&amp;#x43B;&amp;#x438; - &amp;#x201C;&amp;#x432;&amp;#x44A;&amp;#x437;&amp;#x43C;&amp;#x43E;&amp;#x436;&amp;#x43D;&amp;#x43E;&amp;#x441;&amp;#x442; &amp;#x435;&amp;#x434;&amp;#x438;&amp;#x43D; &amp;#x43C;&amp;#x43E;&amp;#x434;&amp;#x443;&amp;#x43B; &amp;#x434;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x432;&amp;#x433;&amp;#x440;&amp;#x430;&amp;#x436;&amp;#x434;&amp;#x430; &amp;#x432; &amp;#x43C;&amp;#x43D;&amp;#x43E;&amp;#x436;&amp;#x435;&amp;#x441;&amp;#x442;&amp;#x432;&amp;#x43E; &amp;#x43A;&amp;#x43B;&amp;#x430;&amp;#x441;&amp;#x43E;&amp;#x432;&amp;#x435;, &amp;#x43A;&amp;#x430;&amp;#x442;&amp;#x43E; &amp;#x442;&amp;#x430;&amp;#x43A;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x43F;&amp;#x43E;&amp;#x441;&amp;#x442;&amp;#x438;&amp;#x433;&amp;#x430; &amp;#x43C;&amp;#x43D;&amp;#x43E;&amp;#x436;&amp;#x435;&amp;#x441;&amp;#x442;&amp;#x432;&amp;#x435;&amp;#x43D;&amp;#x43E; &amp;#x43D;&amp;#x430;&amp;#x441;&amp;#x43B;&amp;#x435;&amp;#x434;&amp;#x44F;&amp;#x432;&amp;#x430;&amp;#x43D;&amp;#x435;&amp;#x201D;\n&amp;#x43E;&amp;#x442;&amp;#x432;&amp;#x43E;&amp;#x440;&amp;#x435;&amp;#x43D;&amp;#x438; &amp;#x43A;&amp;#x43B;&amp;#x430;&amp;#x441;&amp;#x43E;&amp;#x432;&amp;#x435; - &amp;#x201C;&amp;#x43A;&amp;#x44A;&amp;#x43C; &amp;#x432;&amp;#x441;&amp;#x435;&amp;#x43A;&amp;#x438; &amp;#x43A;&amp;#x43B;&amp;#x430;&amp;#x441; &amp;#x43C;&amp;#x43E;&amp;#x433;&amp;#x430;&amp;#x442; &amp;#x434;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x434;&amp;#x43E;&amp;#x431;&amp;#x430;&amp;#x432;&amp;#x44F;&amp;#x442; &amp;#x43D;&amp;#x43E;&amp;#x432;&amp;#x438; &amp;#x430;&amp;#x442;&amp;#x440;&amp;#x438;&amp;#x431;&amp;#x443;&amp;#x442;&amp;#x438; &amp;#x438; &amp;#x43C;&amp;#x435;&amp;#x442;&amp;#x43E;&amp;#x434;&amp;#x438; &amp;#x43F;&amp;#x43E; &amp;#x432;&amp;#x440;&amp;#x435;&amp;#x43C;&amp;#x435; &amp;#x43D;&amp;#x430; &amp;#x438;&amp;#x437;&amp;#x43F;&amp;#x44A;&amp;#x43B;&amp;#x43D;&amp;#x435;&amp;#x43D;&amp;#x438;&amp;#x435; &amp;#x43D;&amp;#x430; &amp;#x43F;&amp;#x440;&amp;#x43E;&amp;#x433;&amp;#x440;&amp;#x430;&amp;#x43C;&amp;#x430;&amp;#x442;&amp;#x430;&amp;#x201D;\n&amp;#x431;&amp;#x43B;&amp;#x43E;&amp;#x43A;&amp;#x43E;&amp;#x432;&amp;#x435;\n&amp;#x430;&amp;#x43D;&amp;#x43E;&amp;#x43D;&amp;#x438;&amp;#x43C;&amp;#x43D;&amp;#x438; &amp;#x444;&amp;#x443;&amp;#x43D;&amp;#x43A;&amp;#x446;&amp;#x438;&amp;#x438;\n&amp;#x432;&amp;#x441;&amp;#x44F;&amp;#x43A;&amp;#x430; &amp;#x43E;&amp;#x43F;&amp;#x435;&amp;#x440;&amp;#x430;&amp;#x446;&amp;#x438;&amp;#x44F; &amp;#x432;&amp;#x440;&amp;#x44A;&amp;#x449;&amp;#x430; &amp;#x440;&amp;#x435;&amp;#x437;&amp;#x443;&amp;#x43B;&amp;#x442;&amp;#x430;&amp;#x442;\n&amp;#x432;&amp;#x441;&amp;#x438;&amp;#x447;&amp;#x43A;&amp;#x43E; &amp;#x435; &amp;#x438;&amp;#x437;&amp;#x43F;&amp;#x44A;&amp;#x43B;&amp;#x43D;&amp;#x438;&amp;#x43C; &amp;#x43A;&amp;#x43E;&amp;#x434; - &amp;#x201C;&amp;#x432;&amp;#x43A;&amp;#x43B;&amp;#x44E;&amp;#x447;&amp;#x438;&amp;#x442;&amp;#x435;&amp;#x43B;&amp;#x43D;&amp;#x43E; &amp;#x438; &amp;#x442;&amp;#x435;&amp;#x43B;&amp;#x430;&amp;#x442;&amp;#x430; &amp;#x43D;&amp;#x430; &amp;#x43A;&amp;#x43B;&amp;#x430;&amp;#x441;&amp;#x43E;&amp;#x432;&amp;#x435;&amp;#x442;&amp;#x435; &amp;#x432; &amp;#x43A;&amp;#x43E;&amp;#x439;&amp;#x442;&amp;#x43E; &amp;#x43C;&amp;#x43E;&amp;#x436;&amp;#x435; &amp;#x438;&amp;#x43C;&amp;#x430; &amp;#x446;&amp;#x438;&amp;#x43A;&amp;#x43B;&amp;#x438;, &amp;#x443;&amp;#x441;&amp;#x43B;&amp;#x43E;&amp;#x432;&amp;#x43D;&amp;#x438; &amp;#x43E;&amp;#x43F;&amp;#x435;&amp;#x440;&amp;#x430;&amp;#x442;&amp;#x43E;&amp;#x440;&amp;#x438; &amp;#x438; &amp;#x434;&amp;#x440;&amp;#x443;&amp;#x433;&amp;#x438;&amp;#x201D;\n&amp;#x438;&amp;#x437;&amp;#x447;&amp;#x438;&amp;#x441;&amp;#x442;&amp;#x435;&amp;#x43D; &amp;#x441;&amp;#x438;&amp;#x43D;&amp;#x442;&amp;#x430;&amp;#x43A;&amp;#x441;&amp;#x438;&amp;#x441; - &amp;#x201C;&amp;#x43D;&amp;#x435; &amp;#x435; &amp;#x437;&amp;#x430;&amp;#x434;&amp;#x44A;&amp;#x43B;&amp;#x436;&amp;#x438;&amp;#x442;&amp;#x435;&amp;#x43B;&amp;#x43D;&amp;#x43E;, &amp;#x434;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x43F;&amp;#x43E;&amp;#x441;&amp;#x442;&amp;#x430;&amp;#x432;&amp;#x44F;&amp;#x442; &amp;#x441;&amp;#x43A;&amp;#x43E;&amp;#x431;&amp;#x438;, &amp;#x442;&amp;#x43E;&amp;#x447;&amp;#x43A;&amp;#x430; &amp;#x438; &amp;#x437;&amp;#x430;&amp;#x43F;&amp;#x435;&amp;#x442;&amp;#x430;&amp;#x44F; &amp;#x438; &amp;#x434;&amp;#x440;&amp;#x443;&amp;#x433;&amp;#x438;&amp;#x201D;\n&amp;#x43C;&amp;#x435;&amp;#x442;&amp;#x430; &amp;#x43F;&amp;#x440;&amp;#x43E;&amp;#x433;&amp;#x440;&amp;#x430;&amp;#x43C;&amp;#x438;&amp;#x440;&amp;#x430;&amp;#x43D;&amp;#x435;\n&amp;#xA0;\n\n
  96. &amp;#x421;&amp;#x442;&amp;#x440;&amp;#x435;&amp;#x43C;&amp;#x435;&amp;#x436;&amp;#x44A;&amp;#x442; &amp;#x43D;&amp;#x430; Ruby &amp;#x435; &amp;#x434;&amp;#x430; &amp;#x441;&amp;#x43B;&amp;#x435;&amp;#x434;&amp;#x432;&amp;#x430; &amp;#x43F;&amp;#x440;&amp;#x438;&amp;#x43D;&amp;#x446;&amp;#x438;&amp;#x43F;&amp;#x430; &amp;#x43D;&amp;#x430; &amp;#x43D;&amp;#x430;&amp;#x439;-&amp;#x43C;&amp;#x430;&amp;#x43B;&amp;#x43A;&amp;#x430; &amp;#x438;&amp;#x437;&amp;#x43D;&amp;#x435;&amp;#x43D;&amp;#x430;&amp;#x434;&amp;#x430;. &amp;#x422;&amp;#x43E;&amp;#x432;&amp;#x430; &amp;#x43E;&amp;#x437;&amp;#x43D;&amp;#x430;&amp;#x447;&amp;#x430;&amp;#x432;&amp;#x430;, &amp;#x447;&amp;#x435; &amp;#x43F;&amp;#x43E;&amp;#x432;&amp;#x435;&amp;#x434;&amp;#x435;&amp;#x43D;&amp;#x438;&amp;#x435;&amp;#x442;&amp;#x43E; &amp;#x43D;&amp;#x430; &amp;#x435;&amp;#x437;&amp;#x438;&amp;#x43A;&amp;#x430; &amp;#x442;&amp;#x440;&amp;#x44F;&amp;#x431;&amp;#x432;&amp;#x430; &amp;#x434;&amp;#x430; &amp;#x435; &amp;#x438;&amp;#x43D;&amp;#x442;&amp;#x443;&amp;#x438;&amp;#x442;&amp;#x438;&amp;#x432;&amp;#x43D;&amp;#x43E; &amp;#x438; &amp;#x442;&amp;#x43E;&amp;#x439; &amp;#x434;&amp;#x430; &amp;#x440;&amp;#x430;&amp;#x431;&amp;#x43E;&amp;#x442;&amp;#x438; &amp;#x442;&amp;#x430;&amp;#x43A;&amp;#x430;, &amp;#x43A;&amp;#x430;&amp;#x43A;&amp;#x442;&amp;#x43E; &amp;#x43F;&amp;#x440;&amp;#x43E;&amp;#x433;&amp;#x440;&amp;#x430;&amp;#x43C;&amp;#x438;&amp;#x441;&amp;#x442;&amp;#x44A;&amp;#x442; &amp;#x431;&amp;#x438; &amp;#x43E;&amp;#x447;&amp;#x430;&amp;#x43A;&amp;#x432;&amp;#x430;&amp;#x43B;.\nRuby &amp;#x435; &amp;#x43E;&amp;#x431;&amp;#x435;&amp;#x43A;&amp;#x442;&amp;#x43D;&amp;#x43E;-&amp;#x43E;&amp;#x440;&amp;#x438;&amp;#x435;&amp;#x43D;&amp;#x442;&amp;#x438;&amp;#x440;&amp;#x430;&amp;#x43D;: &amp;#x432;&amp;#x441;&amp;#x435;&amp;#x43A;&amp;#x438; &amp;#x442;&amp;#x438;&amp;#x43F; &amp;#x434;&amp;#x430;&amp;#x43D;&amp;#x43D;&amp;#x438; &amp;#x435; &amp;#x43E;&amp;#x431;&amp;#x435;&amp;#x43A;&amp;#x442;, &amp;#x432;&amp;#x43A;&amp;#x43B;&amp;#x44E;&amp;#x447;&amp;#x438;&amp;#x442;&amp;#x435;&amp;#x43B;&amp;#x43D;&amp;#x43E; &amp;#x43A;&amp;#x43B;&amp;#x430;&amp;#x441;&amp;#x43E;&amp;#x432;&amp;#x435;, &amp;#x447;&amp;#x438;&amp;#x441;&amp;#x43B;&amp;#x430;, &amp;#x431;&amp;#x443;&amp;#x43B;&amp;#x435;&amp;#x432;&amp;#x438; &amp;#x441;&amp;#x442;&amp;#x43E;&amp;#x439;&amp;#x43D;&amp;#x43E;&amp;#x441;&amp;#x442;&amp;#x438;, &amp;#x43A;&amp;#x43E;&amp;#x438;&amp;#x442;&amp;#x43E; &amp;#x432; &amp;#x43C;&amp;#x43D;&amp;#x43E;&amp;#x433;&amp;#x43E; &amp;#x434;&amp;#x440;&amp;#x443;&amp;#x433;&amp;#x438; &amp;#x435;&amp;#x437;&amp;#x438;&amp;#x446;&amp;#x438; &amp;#x43E;&amp;#x43F;&amp;#x440;&amp;#x435;&amp;#x434;&amp;#x435;&amp;#x43B;&amp;#x44F;&amp;#x442; &amp;#x43A;&amp;#x430;&amp;#x442;&amp;#x43E; &amp;#x43F;&amp;#x440;&amp;#x438;&amp;#x43C;&amp;#x438;&amp;#x442;&amp;#x438;&amp;#x432;&amp;#x438;, &amp;#x430; &amp;#x43D;&amp;#x435; &amp;#x43A;&amp;#x430;&amp;#x442;&amp;#x43E; &amp;#x440;&amp;#x435;&amp;#x430;&amp;#x43B;&amp;#x43D;&amp;#x438; &amp;#x43E;&amp;#x431;&amp;#x435;&amp;#x43A;&amp;#x442;&amp;#x438;.\n\n&amp;#x41D;&amp;#x44F;&amp;#x43A;&amp;#x43E;&amp;#x438; &amp;#x43E;&amp;#x442; &amp;#x43D;&amp;#x430;&amp;#x439;-&amp;#x432;&amp;#x430;&amp;#x436;&amp;#x43D;&amp;#x438;&amp;#x442;&amp;#x435; &amp;#x445;&amp;#x430;&amp;#x440;&amp;#x430;&amp;#x43A;&amp;#x442;&amp;#x435;&amp;#x440;&amp;#x438;&amp;#x441;&amp;#x442;&amp;#x438;&amp;#x43A;&amp;#x438; &amp;#x43D;&amp;#x430; &amp;#x435;&amp;#x437;&amp;#x438;&amp;#x43A;&amp;#x430; &amp;#x441;&amp;#x430;: \n&amp;#x434;&amp;#x438;&amp;#x43C;&amp;#x438;&amp;#x447;&amp;#x43D;&amp;#x43E; &amp;#x43E;&amp;#x43F;&amp;#x440;&amp;#x435;&amp;#x434;&amp;#x435;&amp;#x43B;&amp;#x44F;&amp;#x43D;&amp;#x435; &amp;#x43D;&amp;#x430; &amp;#x442;&amp;#x438;&amp;#x43F;&amp;#x430; &amp;#x434;&amp;#x430;&amp;#x43D;&amp;#x43D;&amp;#x438;&amp;#x442;&amp;#x435;\n&amp;#x43C;&amp;#x43E;&amp;#x434;&amp;#x443;&amp;#x43B;&amp;#x438; - &amp;#x201C;&amp;#x432;&amp;#x44A;&amp;#x437;&amp;#x43C;&amp;#x43E;&amp;#x436;&amp;#x43D;&amp;#x43E;&amp;#x441;&amp;#x442; &amp;#x435;&amp;#x434;&amp;#x438;&amp;#x43D; &amp;#x43C;&amp;#x43E;&amp;#x434;&amp;#x443;&amp;#x43B; &amp;#x434;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x432;&amp;#x433;&amp;#x440;&amp;#x430;&amp;#x436;&amp;#x434;&amp;#x430; &amp;#x432; &amp;#x43C;&amp;#x43D;&amp;#x43E;&amp;#x436;&amp;#x435;&amp;#x441;&amp;#x442;&amp;#x432;&amp;#x43E; &amp;#x43A;&amp;#x43B;&amp;#x430;&amp;#x441;&amp;#x43E;&amp;#x432;&amp;#x435;, &amp;#x43A;&amp;#x430;&amp;#x442;&amp;#x43E; &amp;#x442;&amp;#x430;&amp;#x43A;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x43F;&amp;#x43E;&amp;#x441;&amp;#x442;&amp;#x438;&amp;#x433;&amp;#x430; &amp;#x43C;&amp;#x43D;&amp;#x43E;&amp;#x436;&amp;#x435;&amp;#x441;&amp;#x442;&amp;#x432;&amp;#x435;&amp;#x43D;&amp;#x43E; &amp;#x43D;&amp;#x430;&amp;#x441;&amp;#x43B;&amp;#x435;&amp;#x434;&amp;#x44F;&amp;#x432;&amp;#x430;&amp;#x43D;&amp;#x435;&amp;#x201D;\n&amp;#x43E;&amp;#x442;&amp;#x432;&amp;#x43E;&amp;#x440;&amp;#x435;&amp;#x43D;&amp;#x438; &amp;#x43A;&amp;#x43B;&amp;#x430;&amp;#x441;&amp;#x43E;&amp;#x432;&amp;#x435; - &amp;#x201C;&amp;#x43A;&amp;#x44A;&amp;#x43C; &amp;#x432;&amp;#x441;&amp;#x435;&amp;#x43A;&amp;#x438; &amp;#x43A;&amp;#x43B;&amp;#x430;&amp;#x441; &amp;#x43C;&amp;#x43E;&amp;#x433;&amp;#x430;&amp;#x442; &amp;#x434;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x434;&amp;#x43E;&amp;#x431;&amp;#x430;&amp;#x432;&amp;#x44F;&amp;#x442; &amp;#x43D;&amp;#x43E;&amp;#x432;&amp;#x438; &amp;#x430;&amp;#x442;&amp;#x440;&amp;#x438;&amp;#x431;&amp;#x443;&amp;#x442;&amp;#x438; &amp;#x438; &amp;#x43C;&amp;#x435;&amp;#x442;&amp;#x43E;&amp;#x434;&amp;#x438; &amp;#x43F;&amp;#x43E; &amp;#x432;&amp;#x440;&amp;#x435;&amp;#x43C;&amp;#x435; &amp;#x43D;&amp;#x430; &amp;#x438;&amp;#x437;&amp;#x43F;&amp;#x44A;&amp;#x43B;&amp;#x43D;&amp;#x435;&amp;#x43D;&amp;#x438;&amp;#x435; &amp;#x43D;&amp;#x430; &amp;#x43F;&amp;#x440;&amp;#x43E;&amp;#x433;&amp;#x440;&amp;#x430;&amp;#x43C;&amp;#x430;&amp;#x442;&amp;#x430;&amp;#x201D;\n&amp;#x431;&amp;#x43B;&amp;#x43E;&amp;#x43A;&amp;#x43E;&amp;#x432;&amp;#x435;\n&amp;#x430;&amp;#x43D;&amp;#x43E;&amp;#x43D;&amp;#x438;&amp;#x43C;&amp;#x43D;&amp;#x438; &amp;#x444;&amp;#x443;&amp;#x43D;&amp;#x43A;&amp;#x446;&amp;#x438;&amp;#x438;\n&amp;#x432;&amp;#x441;&amp;#x44F;&amp;#x43A;&amp;#x430; &amp;#x43E;&amp;#x43F;&amp;#x435;&amp;#x440;&amp;#x430;&amp;#x446;&amp;#x438;&amp;#x44F; &amp;#x432;&amp;#x440;&amp;#x44A;&amp;#x449;&amp;#x430; &amp;#x440;&amp;#x435;&amp;#x437;&amp;#x443;&amp;#x43B;&amp;#x442;&amp;#x430;&amp;#x442;\n&amp;#x432;&amp;#x441;&amp;#x438;&amp;#x447;&amp;#x43A;&amp;#x43E; &amp;#x435; &amp;#x438;&amp;#x437;&amp;#x43F;&amp;#x44A;&amp;#x43B;&amp;#x43D;&amp;#x438;&amp;#x43C; &amp;#x43A;&amp;#x43E;&amp;#x434; - &amp;#x201C;&amp;#x432;&amp;#x43A;&amp;#x43B;&amp;#x44E;&amp;#x447;&amp;#x438;&amp;#x442;&amp;#x435;&amp;#x43B;&amp;#x43D;&amp;#x43E; &amp;#x438; &amp;#x442;&amp;#x435;&amp;#x43B;&amp;#x430;&amp;#x442;&amp;#x430; &amp;#x43D;&amp;#x430; &amp;#x43A;&amp;#x43B;&amp;#x430;&amp;#x441;&amp;#x43E;&amp;#x432;&amp;#x435;&amp;#x442;&amp;#x435; &amp;#x432; &amp;#x43A;&amp;#x43E;&amp;#x439;&amp;#x442;&amp;#x43E; &amp;#x43C;&amp;#x43E;&amp;#x436;&amp;#x435; &amp;#x438;&amp;#x43C;&amp;#x430; &amp;#x446;&amp;#x438;&amp;#x43A;&amp;#x43B;&amp;#x438;, &amp;#x443;&amp;#x441;&amp;#x43B;&amp;#x43E;&amp;#x432;&amp;#x43D;&amp;#x438; &amp;#x43E;&amp;#x43F;&amp;#x435;&amp;#x440;&amp;#x430;&amp;#x442;&amp;#x43E;&amp;#x440;&amp;#x438; &amp;#x438; &amp;#x434;&amp;#x440;&amp;#x443;&amp;#x433;&amp;#x438;&amp;#x201D;\n&amp;#x438;&amp;#x437;&amp;#x447;&amp;#x438;&amp;#x441;&amp;#x442;&amp;#x435;&amp;#x43D; &amp;#x441;&amp;#x438;&amp;#x43D;&amp;#x442;&amp;#x430;&amp;#x43A;&amp;#x441;&amp;#x438;&amp;#x441; - &amp;#x201C;&amp;#x43D;&amp;#x435; &amp;#x435; &amp;#x437;&amp;#x430;&amp;#x434;&amp;#x44A;&amp;#x43B;&amp;#x436;&amp;#x438;&amp;#x442;&amp;#x435;&amp;#x43B;&amp;#x43D;&amp;#x43E;, &amp;#x434;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x43F;&amp;#x43E;&amp;#x441;&amp;#x442;&amp;#x430;&amp;#x432;&amp;#x44F;&amp;#x442; &amp;#x441;&amp;#x43A;&amp;#x43E;&amp;#x431;&amp;#x438;, &amp;#x442;&amp;#x43E;&amp;#x447;&amp;#x43A;&amp;#x430; &amp;#x438; &amp;#x437;&amp;#x430;&amp;#x43F;&amp;#x435;&amp;#x442;&amp;#x430;&amp;#x44F; &amp;#x438; &amp;#x434;&amp;#x440;&amp;#x443;&amp;#x433;&amp;#x438;&amp;#x201D;\n&amp;#x43C;&amp;#x435;&amp;#x442;&amp;#x430; &amp;#x43F;&amp;#x440;&amp;#x43E;&amp;#x433;&amp;#x440;&amp;#x430;&amp;#x43C;&amp;#x438;&amp;#x440;&amp;#x430;&amp;#x43D;&amp;#x435;\n&amp;#xA0;\n\n
  97. &amp;#x421;&amp;#x442;&amp;#x440;&amp;#x435;&amp;#x43C;&amp;#x435;&amp;#x436;&amp;#x44A;&amp;#x442; &amp;#x43D;&amp;#x430; Ruby &amp;#x435; &amp;#x434;&amp;#x430; &amp;#x441;&amp;#x43B;&amp;#x435;&amp;#x434;&amp;#x432;&amp;#x430; &amp;#x43F;&amp;#x440;&amp;#x438;&amp;#x43D;&amp;#x446;&amp;#x438;&amp;#x43F;&amp;#x430; &amp;#x43D;&amp;#x430; &amp;#x43D;&amp;#x430;&amp;#x439;-&amp;#x43C;&amp;#x430;&amp;#x43B;&amp;#x43A;&amp;#x430; &amp;#x438;&amp;#x437;&amp;#x43D;&amp;#x435;&amp;#x43D;&amp;#x430;&amp;#x434;&amp;#x430;. &amp;#x422;&amp;#x43E;&amp;#x432;&amp;#x430; &amp;#x43E;&amp;#x437;&amp;#x43D;&amp;#x430;&amp;#x447;&amp;#x430;&amp;#x432;&amp;#x430;, &amp;#x447;&amp;#x435; &amp;#x43F;&amp;#x43E;&amp;#x432;&amp;#x435;&amp;#x434;&amp;#x435;&amp;#x43D;&amp;#x438;&amp;#x435;&amp;#x442;&amp;#x43E; &amp;#x43D;&amp;#x430; &amp;#x435;&amp;#x437;&amp;#x438;&amp;#x43A;&amp;#x430; &amp;#x442;&amp;#x440;&amp;#x44F;&amp;#x431;&amp;#x432;&amp;#x430; &amp;#x434;&amp;#x430; &amp;#x435; &amp;#x438;&amp;#x43D;&amp;#x442;&amp;#x443;&amp;#x438;&amp;#x442;&amp;#x438;&amp;#x432;&amp;#x43D;&amp;#x43E; &amp;#x438; &amp;#x442;&amp;#x43E;&amp;#x439; &amp;#x434;&amp;#x430; &amp;#x440;&amp;#x430;&amp;#x431;&amp;#x43E;&amp;#x442;&amp;#x438; &amp;#x442;&amp;#x430;&amp;#x43A;&amp;#x430;, &amp;#x43A;&amp;#x430;&amp;#x43A;&amp;#x442;&amp;#x43E; &amp;#x43F;&amp;#x440;&amp;#x43E;&amp;#x433;&amp;#x440;&amp;#x430;&amp;#x43C;&amp;#x438;&amp;#x441;&amp;#x442;&amp;#x44A;&amp;#x442; &amp;#x431;&amp;#x438; &amp;#x43E;&amp;#x447;&amp;#x430;&amp;#x43A;&amp;#x432;&amp;#x430;&amp;#x43B;.\nRuby &amp;#x435; &amp;#x43E;&amp;#x431;&amp;#x435;&amp;#x43A;&amp;#x442;&amp;#x43D;&amp;#x43E;-&amp;#x43E;&amp;#x440;&amp;#x438;&amp;#x435;&amp;#x43D;&amp;#x442;&amp;#x438;&amp;#x440;&amp;#x430;&amp;#x43D;: &amp;#x432;&amp;#x441;&amp;#x435;&amp;#x43A;&amp;#x438; &amp;#x442;&amp;#x438;&amp;#x43F; &amp;#x434;&amp;#x430;&amp;#x43D;&amp;#x43D;&amp;#x438; &amp;#x435; &amp;#x43E;&amp;#x431;&amp;#x435;&amp;#x43A;&amp;#x442;, &amp;#x432;&amp;#x43A;&amp;#x43B;&amp;#x44E;&amp;#x447;&amp;#x438;&amp;#x442;&amp;#x435;&amp;#x43B;&amp;#x43D;&amp;#x43E; &amp;#x43A;&amp;#x43B;&amp;#x430;&amp;#x441;&amp;#x43E;&amp;#x432;&amp;#x435;, &amp;#x447;&amp;#x438;&amp;#x441;&amp;#x43B;&amp;#x430;, &amp;#x431;&amp;#x443;&amp;#x43B;&amp;#x435;&amp;#x432;&amp;#x438; &amp;#x441;&amp;#x442;&amp;#x43E;&amp;#x439;&amp;#x43D;&amp;#x43E;&amp;#x441;&amp;#x442;&amp;#x438;, &amp;#x43A;&amp;#x43E;&amp;#x438;&amp;#x442;&amp;#x43E; &amp;#x432; &amp;#x43C;&amp;#x43D;&amp;#x43E;&amp;#x433;&amp;#x43E; &amp;#x434;&amp;#x440;&amp;#x443;&amp;#x433;&amp;#x438; &amp;#x435;&amp;#x437;&amp;#x438;&amp;#x446;&amp;#x438; &amp;#x43E;&amp;#x43F;&amp;#x440;&amp;#x435;&amp;#x434;&amp;#x435;&amp;#x43B;&amp;#x44F;&amp;#x442; &amp;#x43A;&amp;#x430;&amp;#x442;&amp;#x43E; &amp;#x43F;&amp;#x440;&amp;#x438;&amp;#x43C;&amp;#x438;&amp;#x442;&amp;#x438;&amp;#x432;&amp;#x438;, &amp;#x430; &amp;#x43D;&amp;#x435; &amp;#x43A;&amp;#x430;&amp;#x442;&amp;#x43E; &amp;#x440;&amp;#x435;&amp;#x430;&amp;#x43B;&amp;#x43D;&amp;#x438; &amp;#x43E;&amp;#x431;&amp;#x435;&amp;#x43A;&amp;#x442;&amp;#x438;.\n\n&amp;#x41D;&amp;#x44F;&amp;#x43A;&amp;#x43E;&amp;#x438; &amp;#x43E;&amp;#x442; &amp;#x43D;&amp;#x430;&amp;#x439;-&amp;#x432;&amp;#x430;&amp;#x436;&amp;#x43D;&amp;#x438;&amp;#x442;&amp;#x435; &amp;#x445;&amp;#x430;&amp;#x440;&amp;#x430;&amp;#x43A;&amp;#x442;&amp;#x435;&amp;#x440;&amp;#x438;&amp;#x441;&amp;#x442;&amp;#x438;&amp;#x43A;&amp;#x438; &amp;#x43D;&amp;#x430; &amp;#x435;&amp;#x437;&amp;#x438;&amp;#x43A;&amp;#x430; &amp;#x441;&amp;#x430;: \n&amp;#x434;&amp;#x438;&amp;#x43C;&amp;#x438;&amp;#x447;&amp;#x43D;&amp;#x43E; &amp;#x43E;&amp;#x43F;&amp;#x440;&amp;#x435;&amp;#x434;&amp;#x435;&amp;#x43B;&amp;#x44F;&amp;#x43D;&amp;#x435; &amp;#x43D;&amp;#x430; &amp;#x442;&amp;#x438;&amp;#x43F;&amp;#x430; &amp;#x434;&amp;#x430;&amp;#x43D;&amp;#x43D;&amp;#x438;&amp;#x442;&amp;#x435;\n&amp;#x43C;&amp;#x43E;&amp;#x434;&amp;#x443;&amp;#x43B;&amp;#x438; - &amp;#x201C;&amp;#x432;&amp;#x44A;&amp;#x437;&amp;#x43C;&amp;#x43E;&amp;#x436;&amp;#x43D;&amp;#x43E;&amp;#x441;&amp;#x442; &amp;#x435;&amp;#x434;&amp;#x438;&amp;#x43D; &amp;#x43C;&amp;#x43E;&amp;#x434;&amp;#x443;&amp;#x43B; &amp;#x434;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x432;&amp;#x433;&amp;#x440;&amp;#x430;&amp;#x436;&amp;#x434;&amp;#x430; &amp;#x432; &amp;#x43C;&amp;#x43D;&amp;#x43E;&amp;#x436;&amp;#x435;&amp;#x441;&amp;#x442;&amp;#x432;&amp;#x43E; &amp;#x43A;&amp;#x43B;&amp;#x430;&amp;#x441;&amp;#x43E;&amp;#x432;&amp;#x435;, &amp;#x43A;&amp;#x430;&amp;#x442;&amp;#x43E; &amp;#x442;&amp;#x430;&amp;#x43A;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x43F;&amp;#x43E;&amp;#x441;&amp;#x442;&amp;#x438;&amp;#x433;&amp;#x430; &amp;#x43C;&amp;#x43D;&amp;#x43E;&amp;#x436;&amp;#x435;&amp;#x441;&amp;#x442;&amp;#x432;&amp;#x435;&amp;#x43D;&amp;#x43E; &amp;#x43D;&amp;#x430;&amp;#x441;&amp;#x43B;&amp;#x435;&amp;#x434;&amp;#x44F;&amp;#x432;&amp;#x430;&amp;#x43D;&amp;#x435;&amp;#x201D;\n&amp;#x43E;&amp;#x442;&amp;#x432;&amp;#x43E;&amp;#x440;&amp;#x435;&amp;#x43D;&amp;#x438; &amp;#x43A;&amp;#x43B;&amp;#x430;&amp;#x441;&amp;#x43E;&amp;#x432;&amp;#x435; - &amp;#x201C;&amp;#x43A;&amp;#x44A;&amp;#x43C; &amp;#x432;&amp;#x441;&amp;#x435;&amp;#x43A;&amp;#x438; &amp;#x43A;&amp;#x43B;&amp;#x430;&amp;#x441; &amp;#x43C;&amp;#x43E;&amp;#x433;&amp;#x430;&amp;#x442; &amp;#x434;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x434;&amp;#x43E;&amp;#x431;&amp;#x430;&amp;#x432;&amp;#x44F;&amp;#x442; &amp;#x43D;&amp;#x43E;&amp;#x432;&amp;#x438; &amp;#x430;&amp;#x442;&amp;#x440;&amp;#x438;&amp;#x431;&amp;#x443;&amp;#x442;&amp;#x438; &amp;#x438; &amp;#x43C;&amp;#x435;&amp;#x442;&amp;#x43E;&amp;#x434;&amp;#x438; &amp;#x43F;&amp;#x43E; &amp;#x432;&amp;#x440;&amp;#x435;&amp;#x43C;&amp;#x435; &amp;#x43D;&amp;#x430; &amp;#x438;&amp;#x437;&amp;#x43F;&amp;#x44A;&amp;#x43B;&amp;#x43D;&amp;#x435;&amp;#x43D;&amp;#x438;&amp;#x435; &amp;#x43D;&amp;#x430; &amp;#x43F;&amp;#x440;&amp;#x43E;&amp;#x433;&amp;#x440;&amp;#x430;&amp;#x43C;&amp;#x430;&amp;#x442;&amp;#x430;&amp;#x201D;\n&amp;#x431;&amp;#x43B;&amp;#x43E;&amp;#x43A;&amp;#x43E;&amp;#x432;&amp;#x435;\n&amp;#x430;&amp;#x43D;&amp;#x43E;&amp;#x43D;&amp;#x438;&amp;#x43C;&amp;#x43D;&amp;#x438; &amp;#x444;&amp;#x443;&amp;#x43D;&amp;#x43A;&amp;#x446;&amp;#x438;&amp;#x438;\n&amp;#x432;&amp;#x441;&amp;#x44F;&amp;#x43A;&amp;#x430; &amp;#x43E;&amp;#x43F;&amp;#x435;&amp;#x440;&amp;#x430;&amp;#x446;&amp;#x438;&amp;#x44F; &amp;#x432;&amp;#x440;&amp;#x44A;&amp;#x449;&amp;#x430; &amp;#x440;&amp;#x435;&amp;#x437;&amp;#x443;&amp;#x43B;&amp;#x442;&amp;#x430;&amp;#x442;\n&amp;#x432;&amp;#x441;&amp;#x438;&amp;#x447;&amp;#x43A;&amp;#x43E; &amp;#x435; &amp;#x438;&amp;#x437;&amp;#x43F;&amp;#x44A;&amp;#x43B;&amp;#x43D;&amp;#x438;&amp;#x43C; &amp;#x43A;&amp;#x43E;&amp;#x434; - &amp;#x201C;&amp;#x432;&amp;#x43A;&amp;#x43B;&amp;#x44E;&amp;#x447;&amp;#x438;&amp;#x442;&amp;#x435;&amp;#x43B;&amp;#x43D;&amp;#x43E; &amp;#x438; &amp;#x442;&amp;#x435;&amp;#x43B;&amp;#x430;&amp;#x442;&amp;#x430; &amp;#x43D;&amp;#x430; &amp;#x43A;&amp;#x43B;&amp;#x430;&amp;#x441;&amp;#x43E;&amp;#x432;&amp;#x435;&amp;#x442;&amp;#x435; &amp;#x432; &amp;#x43A;&amp;#x43E;&amp;#x439;&amp;#x442;&amp;#x43E; &amp;#x43C;&amp;#x43E;&amp;#x436;&amp;#x435; &amp;#x438;&amp;#x43C;&amp;#x430; &amp;#x446;&amp;#x438;&amp;#x43A;&amp;#x43B;&amp;#x438;, &amp;#x443;&amp;#x441;&amp;#x43B;&amp;#x43E;&amp;#x432;&amp;#x43D;&amp;#x438; &amp;#x43E;&amp;#x43F;&amp;#x435;&amp;#x440;&amp;#x430;&amp;#x442;&amp;#x43E;&amp;#x440;&amp;#x438; &amp;#x438; &amp;#x434;&amp;#x440;&amp;#x443;&amp;#x433;&amp;#x438;&amp;#x201D;\n&amp;#x438;&amp;#x437;&amp;#x447;&amp;#x438;&amp;#x441;&amp;#x442;&amp;#x435;&amp;#x43D; &amp;#x441;&amp;#x438;&amp;#x43D;&amp;#x442;&amp;#x430;&amp;#x43A;&amp;#x441;&amp;#x438;&amp;#x441; - &amp;#x201C;&amp;#x43D;&amp;#x435; &amp;#x435; &amp;#x437;&amp;#x430;&amp;#x434;&amp;#x44A;&amp;#x43B;&amp;#x436;&amp;#x438;&amp;#x442;&amp;#x435;&amp;#x43B;&amp;#x43D;&amp;#x43E;, &amp;#x434;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x43F;&amp;#x43E;&amp;#x441;&amp;#x442;&amp;#x430;&amp;#x432;&amp;#x44F;&amp;#x442; &amp;#x441;&amp;#x43A;&amp;#x43E;&amp;#x431;&amp;#x438;, &amp;#x442;&amp;#x43E;&amp;#x447;&amp;#x43A;&amp;#x430; &amp;#x438; &amp;#x437;&amp;#x430;&amp;#x43F;&amp;#x435;&amp;#x442;&amp;#x430;&amp;#x44F; &amp;#x438; &amp;#x434;&amp;#x440;&amp;#x443;&amp;#x433;&amp;#x438;&amp;#x201D;\n&amp;#x43C;&amp;#x435;&amp;#x442;&amp;#x430; &amp;#x43F;&amp;#x440;&amp;#x43E;&amp;#x433;&amp;#x440;&amp;#x430;&amp;#x43C;&amp;#x438;&amp;#x440;&amp;#x430;&amp;#x43D;&amp;#x435;\n&amp;#xA0;\n\n
  98. &amp;#x421;&amp;#x442;&amp;#x440;&amp;#x435;&amp;#x43C;&amp;#x435;&amp;#x436;&amp;#x44A;&amp;#x442; &amp;#x43D;&amp;#x430; Ruby &amp;#x435; &amp;#x434;&amp;#x430; &amp;#x441;&amp;#x43B;&amp;#x435;&amp;#x434;&amp;#x432;&amp;#x430; &amp;#x43F;&amp;#x440;&amp;#x438;&amp;#x43D;&amp;#x446;&amp;#x438;&amp;#x43F;&amp;#x430; &amp;#x43D;&amp;#x430; &amp;#x43D;&amp;#x430;&amp;#x439;-&amp;#x43C;&amp;#x430;&amp;#x43B;&amp;#x43A;&amp;#x430; &amp;#x438;&amp;#x437;&amp;#x43D;&amp;#x435;&amp;#x43D;&amp;#x430;&amp;#x434;&amp;#x430;. &amp;#x422;&amp;#x43E;&amp;#x432;&amp;#x430; &amp;#x43E;&amp;#x437;&amp;#x43D;&amp;#x430;&amp;#x447;&amp;#x430;&amp;#x432;&amp;#x430;, &amp;#x447;&amp;#x435; &amp;#x43F;&amp;#x43E;&amp;#x432;&amp;#x435;&amp;#x434;&amp;#x435;&amp;#x43D;&amp;#x438;&amp;#x435;&amp;#x442;&amp;#x43E; &amp;#x43D;&amp;#x430; &amp;#x435;&amp;#x437;&amp;#x438;&amp;#x43A;&amp;#x430; &amp;#x442;&amp;#x440;&amp;#x44F;&amp;#x431;&amp;#x432;&amp;#x430; &amp;#x434;&amp;#x430; &amp;#x435; &amp;#x438;&amp;#x43D;&amp;#x442;&amp;#x443;&amp;#x438;&amp;#x442;&amp;#x438;&amp;#x432;&amp;#x43D;&amp;#x43E; &amp;#x438; &amp;#x442;&amp;#x43E;&amp;#x439; &amp;#x434;&amp;#x430; &amp;#x440;&amp;#x430;&amp;#x431;&amp;#x43E;&amp;#x442;&amp;#x438; &amp;#x442;&amp;#x430;&amp;#x43A;&amp;#x430;, &amp;#x43A;&amp;#x430;&amp;#x43A;&amp;#x442;&amp;#x43E; &amp;#x43F;&amp;#x440;&amp;#x43E;&amp;#x433;&amp;#x440;&amp;#x430;&amp;#x43C;&amp;#x438;&amp;#x441;&amp;#x442;&amp;#x44A;&amp;#x442; &amp;#x431;&amp;#x438; &amp;#x43E;&amp;#x447;&amp;#x430;&amp;#x43A;&amp;#x432;&amp;#x430;&amp;#x43B;.\nRuby &amp;#x435; &amp;#x43E;&amp;#x431;&amp;#x435;&amp;#x43A;&amp;#x442;&amp;#x43D;&amp;#x43E;-&amp;#x43E;&amp;#x440;&amp;#x438;&amp;#x435;&amp;#x43D;&amp;#x442;&amp;#x438;&amp;#x440;&amp;#x430;&amp;#x43D;: &amp;#x432;&amp;#x441;&amp;#x435;&amp;#x43A;&amp;#x438; &amp;#x442;&amp;#x438;&amp;#x43F; &amp;#x434;&amp;#x430;&amp;#x43D;&amp;#x43D;&amp;#x438; &amp;#x435; &amp;#x43E;&amp;#x431;&amp;#x435;&amp;#x43A;&amp;#x442;, &amp;#x432;&amp;#x43A;&amp;#x43B;&amp;#x44E;&amp;#x447;&amp;#x438;&amp;#x442;&amp;#x435;&amp;#x43B;&amp;#x43D;&amp;#x43E; &amp;#x43A;&amp;#x43B;&amp;#x430;&amp;#x441;&amp;#x43E;&amp;#x432;&amp;#x435;, &amp;#x447;&amp;#x438;&amp;#x441;&amp;#x43B;&amp;#x430;, &amp;#x431;&amp;#x443;&amp;#x43B;&amp;#x435;&amp;#x432;&amp;#x438; &amp;#x441;&amp;#x442;&amp;#x43E;&amp;#x439;&amp;#x43D;&amp;#x43E;&amp;#x441;&amp;#x442;&amp;#x438;, &amp;#x43A;&amp;#x43E;&amp;#x438;&amp;#x442;&amp;#x43E; &amp;#x432; &amp;#x43C;&amp;#x43D;&amp;#x43E;&amp;#x433;&amp;#x43E; &amp;#x434;&amp;#x440;&amp;#x443;&amp;#x433;&amp;#x438; &amp;#x435;&amp;#x437;&amp;#x438;&amp;#x446;&amp;#x438; &amp;#x43E;&amp;#x43F;&amp;#x440;&amp;#x435;&amp;#x434;&amp;#x435;&amp;#x43B;&amp;#x44F;&amp;#x442; &amp;#x43A;&amp;#x430;&amp;#x442;&amp;#x43E; &amp;#x43F;&amp;#x440;&amp;#x438;&amp;#x43C;&amp;#x438;&amp;#x442;&amp;#x438;&amp;#x432;&amp;#x438;, &amp;#x430; &amp;#x43D;&amp;#x435; &amp;#x43A;&amp;#x430;&amp;#x442;&amp;#x43E; &amp;#x440;&amp;#x435;&amp;#x430;&amp;#x43B;&amp;#x43D;&amp;#x438; &amp;#x43E;&amp;#x431;&amp;#x435;&amp;#x43A;&amp;#x442;&amp;#x438;.\n\n&amp;#x41D;&amp;#x44F;&amp;#x43A;&amp;#x43E;&amp;#x438; &amp;#x43E;&amp;#x442; &amp;#x43D;&amp;#x430;&amp;#x439;-&amp;#x432;&amp;#x430;&amp;#x436;&amp;#x43D;&amp;#x438;&amp;#x442;&amp;#x435; &amp;#x445;&amp;#x430;&amp;#x440;&amp;#x430;&amp;#x43A;&amp;#x442;&amp;#x435;&amp;#x440;&amp;#x438;&amp;#x441;&amp;#x442;&amp;#x438;&amp;#x43A;&amp;#x438; &amp;#x43D;&amp;#x430; &amp;#x435;&amp;#x437;&amp;#x438;&amp;#x43A;&amp;#x430; &amp;#x441;&amp;#x430;: \n&amp;#x434;&amp;#x438;&amp;#x43C;&amp;#x438;&amp;#x447;&amp;#x43D;&amp;#x43E; &amp;#x43E;&amp;#x43F;&amp;#x440;&amp;#x435;&amp;#x434;&amp;#x435;&amp;#x43B;&amp;#x44F;&amp;#x43D;&amp;#x435; &amp;#x43D;&amp;#x430; &amp;#x442;&amp;#x438;&amp;#x43F;&amp;#x430; &amp;#x434;&amp;#x430;&amp;#x43D;&amp;#x43D;&amp;#x438;&amp;#x442;&amp;#x435;\n&amp;#x43C;&amp;#x43E;&amp;#x434;&amp;#x443;&amp;#x43B;&amp;#x438; - &amp;#x201C;&amp;#x432;&amp;#x44A;&amp;#x437;&amp;#x43C;&amp;#x43E;&amp;#x436;&amp;#x43D;&amp;#x43E;&amp;#x441;&amp;#x442; &amp;#x435;&amp;#x434;&amp;#x438;&amp;#x43D; &amp;#x43C;&amp;#x43E;&amp;#x434;&amp;#x443;&amp;#x43B; &amp;#x434;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x432;&amp;#x433;&amp;#x440;&amp;#x430;&amp;#x436;&amp;#x434;&amp;#x430; &amp;#x432; &amp;#x43C;&amp;#x43D;&amp;#x43E;&amp;#x436;&amp;#x435;&amp;#x441;&amp;#x442;&amp;#x432;&amp;#x43E; &amp;#x43A;&amp;#x43B;&amp;#x430;&amp;#x441;&amp;#x43E;&amp;#x432;&amp;#x435;, &amp;#x43A;&amp;#x430;&amp;#x442;&amp;#x43E; &amp;#x442;&amp;#x430;&amp;#x43A;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x43F;&amp;#x43E;&amp;#x441;&amp;#x442;&amp;#x438;&amp;#x433;&amp;#x430; &amp;#x43C;&amp;#x43D;&amp;#x43E;&amp;#x436;&amp;#x435;&amp;#x441;&amp;#x442;&amp;#x432;&amp;#x435;&amp;#x43D;&amp;#x43E; &amp;#x43D;&amp;#x430;&amp;#x441;&amp;#x43B;&amp;#x435;&amp;#x434;&amp;#x44F;&amp;#x432;&amp;#x430;&amp;#x43D;&amp;#x435;&amp;#x201D;\n&amp;#x43E;&amp;#x442;&amp;#x432;&amp;#x43E;&amp;#x440;&amp;#x435;&amp;#x43D;&amp;#x438; &amp;#x43A;&amp;#x43B;&amp;#x430;&amp;#x441;&amp;#x43E;&amp;#x432;&amp;#x435; - &amp;#x201C;&amp;#x43A;&amp;#x44A;&amp;#x43C; &amp;#x432;&amp;#x441;&amp;#x435;&amp;#x43A;&amp;#x438; &amp;#x43A;&amp;#x43B;&amp;#x430;&amp;#x441; &amp;#x43C;&amp;#x43E;&amp;#x433;&amp;#x430;&amp;#x442; &amp;#x434;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x434;&amp;#x43E;&amp;#x431;&amp;#x430;&amp;#x432;&amp;#x44F;&amp;#x442; &amp;#x43D;&amp;#x43E;&amp;#x432;&amp;#x438; &amp;#x430;&amp;#x442;&amp;#x440;&amp;#x438;&amp;#x431;&amp;#x443;&amp;#x442;&amp;#x438; &amp;#x438; &amp;#x43C;&amp;#x435;&amp;#x442;&amp;#x43E;&amp;#x434;&amp;#x438; &amp;#x43F;&amp;#x43E; &amp;#x432;&amp;#x440;&amp;#x435;&amp;#x43C;&amp;#x435; &amp;#x43D;&amp;#x430; &amp;#x438;&amp;#x437;&amp;#x43F;&amp;#x44A;&amp;#x43B;&amp;#x43D;&amp;#x435;&amp;#x43D;&amp;#x438;&amp;#x435; &amp;#x43D;&amp;#x430; &amp;#x43F;&amp;#x440;&amp;#x43E;&amp;#x433;&amp;#x440;&amp;#x430;&amp;#x43C;&amp;#x430;&amp;#x442;&amp;#x430;&amp;#x201D;\n&amp;#x431;&amp;#x43B;&amp;#x43E;&amp;#x43A;&amp;#x43E;&amp;#x432;&amp;#x435;\n&amp;#x430;&amp;#x43D;&amp;#x43E;&amp;#x43D;&amp;#x438;&amp;#x43C;&amp;#x43D;&amp;#x438; &amp;#x444;&amp;#x443;&amp;#x43D;&amp;#x43A;&amp;#x446;&amp;#x438;&amp;#x438;\n&amp;#x432;&amp;#x441;&amp;#x44F;&amp;#x43A;&amp;#x430; &amp;#x43E;&amp;#x43F;&amp;#x435;&amp;#x440;&amp;#x430;&amp;#x446;&amp;#x438;&amp;#x44F; &amp;#x432;&amp;#x440;&amp;#x44A;&amp;#x449;&amp;#x430; &amp;#x440;&amp;#x435;&amp;#x437;&amp;#x443;&amp;#x43B;&amp;#x442;&amp;#x430;&amp;#x442;\n&amp;#x432;&amp;#x441;&amp;#x438;&amp;#x447;&amp;#x43A;&amp;#x43E; &amp;#x435; &amp;#x438;&amp;#x437;&amp;#x43F;&amp;#x44A;&amp;#x43B;&amp;#x43D;&amp;#x438;&amp;#x43C; &amp;#x43A;&amp;#x43E;&amp;#x434; - &amp;#x201C;&amp;#x432;&amp;#x43A;&amp;#x43B;&amp;#x44E;&amp;#x447;&amp;#x438;&amp;#x442;&amp;#x435;&amp;#x43B;&amp;#x43D;&amp;#x43E; &amp;#x438; &amp;#x442;&amp;#x435;&amp;#x43B;&amp;#x430;&amp;#x442;&amp;#x430; &amp;#x43D;&amp;#x430; &amp;#x43A;&amp;#x43B;&amp;#x430;&amp;#x441;&amp;#x43E;&amp;#x432;&amp;#x435;&amp;#x442;&amp;#x435; &amp;#x432; &amp;#x43A;&amp;#x43E;&amp;#x439;&amp;#x442;&amp;#x43E; &amp;#x43C;&amp;#x43E;&amp;#x436;&amp;#x435; &amp;#x438;&amp;#x43C;&amp;#x430; &amp;#x446;&amp;#x438;&amp;#x43A;&amp;#x43B;&amp;#x438;, &amp;#x443;&amp;#x441;&amp;#x43B;&amp;#x43E;&amp;#x432;&amp;#x43D;&amp;#x438; &amp;#x43E;&amp;#x43F;&amp;#x435;&amp;#x440;&amp;#x430;&amp;#x442;&amp;#x43E;&amp;#x440;&amp;#x438; &amp;#x438; &amp;#x434;&amp;#x440;&amp;#x443;&amp;#x433;&amp;#x438;&amp;#x201D;\n&amp;#x438;&amp;#x437;&amp;#x447;&amp;#x438;&amp;#x441;&amp;#x442;&amp;#x435;&amp;#x43D; &amp;#x441;&amp;#x438;&amp;#x43D;&amp;#x442;&amp;#x430;&amp;#x43A;&amp;#x441;&amp;#x438;&amp;#x441; - &amp;#x201C;&amp;#x43D;&amp;#x435; &amp;#x435; &amp;#x437;&amp;#x430;&amp;#x434;&amp;#x44A;&amp;#x43B;&amp;#x436;&amp;#x438;&amp;#x442;&amp;#x435;&amp;#x43B;&amp;#x43D;&amp;#x43E;, &amp;#x434;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x43F;&amp;#x43E;&amp;#x441;&amp;#x442;&amp;#x430;&amp;#x432;&amp;#x44F;&amp;#x442; &amp;#x441;&amp;#x43A;&amp;#x43E;&amp;#x431;&amp;#x438;, &amp;#x442;&amp;#x43E;&amp;#x447;&amp;#x43A;&amp;#x430; &amp;#x438; &amp;#x437;&amp;#x430;&amp;#x43F;&amp;#x435;&amp;#x442;&amp;#x430;&amp;#x44F; &amp;#x438; &amp;#x434;&amp;#x440;&amp;#x443;&amp;#x433;&amp;#x438;&amp;#x201D;\n&amp;#x43C;&amp;#x435;&amp;#x442;&amp;#x430; &amp;#x43F;&amp;#x440;&amp;#x43E;&amp;#x433;&amp;#x440;&amp;#x430;&amp;#x43C;&amp;#x438;&amp;#x440;&amp;#x430;&amp;#x43D;&amp;#x435;\n&amp;#xA0;\n\n
  99. &amp;#x421;&amp;#x442;&amp;#x440;&amp;#x435;&amp;#x43C;&amp;#x435;&amp;#x436;&amp;#x44A;&amp;#x442; &amp;#x43D;&amp;#x430; Ruby &amp;#x435; &amp;#x434;&amp;#x430; &amp;#x441;&amp;#x43B;&amp;#x435;&amp;#x434;&amp;#x432;&amp;#x430; &amp;#x43F;&amp;#x440;&amp;#x438;&amp;#x43D;&amp;#x446;&amp;#x438;&amp;#x43F;&amp;#x430; &amp;#x43D;&amp;#x430; &amp;#x43D;&amp;#x430;&amp;#x439;-&amp;#x43C;&amp;#x430;&amp;#x43B;&amp;#x43A;&amp;#x430; &amp;#x438;&amp;#x437;&amp;#x43D;&amp;#x435;&amp;#x43D;&amp;#x430;&amp;#x434;&amp;#x430;. &amp;#x422;&amp;#x43E;&amp;#x432;&amp;#x430; &amp;#x43E;&amp;#x437;&amp;#x43D;&amp;#x430;&amp;#x447;&amp;#x430;&amp;#x432;&amp;#x430;, &amp;#x447;&amp;#x435; &amp;#x43F;&amp;#x43E;&amp;#x432;&amp;#x435;&amp;#x434;&amp;#x435;&amp;#x43D;&amp;#x438;&amp;#x435;&amp;#x442;&amp;#x43E; &amp;#x43D;&amp;#x430; &amp;#x435;&amp;#x437;&amp;#x438;&amp;#x43A;&amp;#x430; &amp;#x442;&amp;#x440;&amp;#x44F;&amp;#x431;&amp;#x432;&amp;#x430; &amp;#x434;&amp;#x430; &amp;#x435; &amp;#x438;&amp;#x43D;&amp;#x442;&amp;#x443;&amp;#x438;&amp;#x442;&amp;#x438;&amp;#x432;&amp;#x43D;&amp;#x43E; &amp;#x438; &amp;#x442;&amp;#x43E;&amp;#x439; &amp;#x434;&amp;#x430; &amp;#x440;&amp;#x430;&amp;#x431;&amp;#x43E;&amp;#x442;&amp;#x438; &amp;#x442;&amp;#x430;&amp;#x43A;&amp;#x430;, &amp;#x43A;&amp;#x430;&amp;#x43A;&amp;#x442;&amp;#x43E; &amp;#x43F;&amp;#x440;&amp;#x43E;&amp;#x433;&amp;#x440;&amp;#x430;&amp;#x43C;&amp;#x438;&amp;#x441;&amp;#x442;&amp;#x44A;&amp;#x442; &amp;#x431;&amp;#x438; &amp;#x43E;&amp;#x447;&amp;#x430;&amp;#x43A;&amp;#x432;&amp;#x430;&amp;#x43B;.\nRuby &amp;#x435; &amp;#x43E;&amp;#x431;&amp;#x435;&amp;#x43A;&amp;#x442;&amp;#x43D;&amp;#x43E;-&amp;#x43E;&amp;#x440;&amp;#x438;&amp;#x435;&amp;#x43D;&amp;#x442;&amp;#x438;&amp;#x440;&amp;#x430;&amp;#x43D;: &amp;#x432;&amp;#x441;&amp;#x435;&amp;#x43A;&amp;#x438; &amp;#x442;&amp;#x438;&amp;#x43F; &amp;#x434;&amp;#x430;&amp;#x43D;&amp;#x43D;&amp;#x438; &amp;#x435; &amp;#x43E;&amp;#x431;&amp;#x435;&amp;#x43A;&amp;#x442;, &amp;#x432;&amp;#x43A;&amp;#x43B;&amp;#x44E;&amp;#x447;&amp;#x438;&amp;#x442;&amp;#x435;&amp;#x43B;&amp;#x43D;&amp;#x43E; &amp;#x43A;&amp;#x43B;&amp;#x430;&amp;#x441;&amp;#x43E;&amp;#x432;&amp;#x435;, &amp;#x447;&amp;#x438;&amp;#x441;&amp;#x43B;&amp;#x430;, &amp;#x431;&amp;#x443;&amp;#x43B;&amp;#x435;&amp;#x432;&amp;#x438; &amp;#x441;&amp;#x442;&amp;#x43E;&amp;#x439;&amp;#x43D;&amp;#x43E;&amp;#x441;&amp;#x442;&amp;#x438;, &amp;#x43A;&amp;#x43E;&amp;#x438;&amp;#x442;&amp;#x43E; &amp;#x432; &amp;#x43C;&amp;#x43D;&amp;#x43E;&amp;#x433;&amp;#x43E; &amp;#x434;&amp;#x440;&amp;#x443;&amp;#x433;&amp;#x438; &amp;#x435;&amp;#x437;&amp;#x438;&amp;#x446;&amp;#x438; &amp;#x43E;&amp;#x43F;&amp;#x440;&amp;#x435;&amp;#x434;&amp;#x435;&amp;#x43B;&amp;#x44F;&amp;#x442; &amp;#x43A;&amp;#x430;&amp;#x442;&amp;#x43E; &amp;#x43F;&amp;#x440;&amp;#x438;&amp;#x43C;&amp;#x438;&amp;#x442;&amp;#x438;&amp;#x432;&amp;#x438;, &amp;#x430; &amp;#x43D;&amp;#x435; &amp;#x43A;&amp;#x430;&amp;#x442;&amp;#x43E; &amp;#x440;&amp;#x435;&amp;#x430;&amp;#x43B;&amp;#x43D;&amp;#x438; &amp;#x43E;&amp;#x431;&amp;#x435;&amp;#x43A;&amp;#x442;&amp;#x438;.\n\n&amp;#x41D;&amp;#x44F;&amp;#x43A;&amp;#x43E;&amp;#x438; &amp;#x43E;&amp;#x442; &amp;#x43D;&amp;#x430;&amp;#x439;-&amp;#x432;&amp;#x430;&amp;#x436;&amp;#x43D;&amp;#x438;&amp;#x442;&amp;#x435; &amp;#x445;&amp;#x430;&amp;#x440;&amp;#x430;&amp;#x43A;&amp;#x442;&amp;#x435;&amp;#x440;&amp;#x438;&amp;#x441;&amp;#x442;&amp;#x438;&amp;#x43A;&amp;#x438; &amp;#x43D;&amp;#x430; &amp;#x435;&amp;#x437;&amp;#x438;&amp;#x43A;&amp;#x430; &amp;#x441;&amp;#x430;: \n&amp;#x434;&amp;#x438;&amp;#x43C;&amp;#x438;&amp;#x447;&amp;#x43D;&amp;#x43E; &amp;#x43E;&amp;#x43F;&amp;#x440;&amp;#x435;&amp;#x434;&amp;#x435;&amp;#x43B;&amp;#x44F;&amp;#x43D;&amp;#x435; &amp;#x43D;&amp;#x430; &amp;#x442;&amp;#x438;&amp;#x43F;&amp;#x430; &amp;#x434;&amp;#x430;&amp;#x43D;&amp;#x43D;&amp;#x438;&amp;#x442;&amp;#x435;\n&amp;#x43C;&amp;#x43E;&amp;#x434;&amp;#x443;&amp;#x43B;&amp;#x438; - &amp;#x201C;&amp;#x432;&amp;#x44A;&amp;#x437;&amp;#x43C;&amp;#x43E;&amp;#x436;&amp;#x43D;&amp;#x43E;&amp;#x441;&amp;#x442; &amp;#x435;&amp;#x434;&amp;#x438;&amp;#x43D; &amp;#x43C;&amp;#x43E;&amp;#x434;&amp;#x443;&amp;#x43B; &amp;#x434;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x432;&amp;#x433;&amp;#x440;&amp;#x430;&amp;#x436;&amp;#x434;&amp;#x430; &amp;#x432; &amp;#x43C;&amp;#x43D;&amp;#x43E;&amp;#x436;&amp;#x435;&amp;#x441;&amp;#x442;&amp;#x432;&amp;#x43E; &amp;#x43A;&amp;#x43B;&amp;#x430;&amp;#x441;&amp;#x43E;&amp;#x432;&amp;#x435;, &amp;#x43A;&amp;#x430;&amp;#x442;&amp;#x43E; &amp;#x442;&amp;#x430;&amp;#x43A;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x43F;&amp;#x43E;&amp;#x441;&amp;#x442;&amp;#x438;&amp;#x433;&amp;#x430; &amp;#x43C;&amp;#x43D;&amp;#x43E;&amp;#x436;&amp;#x435;&amp;#x441;&amp;#x442;&amp;#x432;&amp;#x435;&amp;#x43D;&amp;#x43E; &amp;#x43D;&amp;#x430;&amp;#x441;&amp;#x43B;&amp;#x435;&amp;#x434;&amp;#x44F;&amp;#x432;&amp;#x430;&amp;#x43D;&amp;#x435;&amp;#x201D;\n&amp;#x43E;&amp;#x442;&amp;#x432;&amp;#x43E;&amp;#x440;&amp;#x435;&amp;#x43D;&amp;#x438; &amp;#x43A;&amp;#x43B;&amp;#x430;&amp;#x441;&amp;#x43E;&amp;#x432;&amp;#x435; - &amp;#x201C;&amp;#x43A;&amp;#x44A;&amp;#x43C; &amp;#x432;&amp;#x441;&amp;#x435;&amp;#x43A;&amp;#x438; &amp;#x43A;&amp;#x43B;&amp;#x430;&amp;#x441; &amp;#x43C;&amp;#x43E;&amp;#x433;&amp;#x430;&amp;#x442; &amp;#x434;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x434;&amp;#x43E;&amp;#x431;&amp;#x430;&amp;#x432;&amp;#x44F;&amp;#x442; &amp;#x43D;&amp;#x43E;&amp;#x432;&amp;#x438; &amp;#x430;&amp;#x442;&amp;#x440;&amp;#x438;&amp;#x431;&amp;#x443;&amp;#x442;&amp;#x438; &amp;#x438; &amp;#x43C;&amp;#x435;&amp;#x442;&amp;#x43E;&amp;#x434;&amp;#x438; &amp;#x43F;&amp;#x43E; &amp;#x432;&amp;#x440;&amp;#x435;&amp;#x43C;&amp;#x435; &amp;#x43D;&amp;#x430; &amp;#x438;&amp;#x437;&amp;#x43F;&amp;#x44A;&amp;#x43B;&amp;#x43D;&amp;#x435;&amp;#x43D;&amp;#x438;&amp;#x435; &amp;#x43D;&amp;#x430; &amp;#x43F;&amp;#x440;&amp;#x43E;&amp;#x433;&amp;#x440;&amp;#x430;&amp;#x43C;&amp;#x430;&amp;#x442;&amp;#x430;&amp;#x201D;\n&amp;#x431;&amp;#x43B;&amp;#x43E;&amp;#x43A;&amp;#x43E;&amp;#x432;&amp;#x435;\n&amp;#x430;&amp;#x43D;&amp;#x43E;&amp;#x43D;&amp;#x438;&amp;#x43C;&amp;#x43D;&amp;#x438; &amp;#x444;&amp;#x443;&amp;#x43D;&amp;#x43A;&amp;#x446;&amp;#x438;&amp;#x438;\n&amp;#x432;&amp;#x441;&amp;#x44F;&amp;#x43A;&amp;#x430; &amp;#x43E;&amp;#x43F;&amp;#x435;&amp;#x440;&amp;#x430;&amp;#x446;&amp;#x438;&amp;#x44F; &amp;#x432;&amp;#x440;&amp;#x44A;&amp;#x449;&amp;#x430; &amp;#x440;&amp;#x435;&amp;#x437;&amp;#x443;&amp;#x43B;&amp;#x442;&amp;#x430;&amp;#x442;\n&amp;#x432;&amp;#x441;&amp;#x438;&amp;#x447;&amp;#x43A;&amp;#x43E; &amp;#x435; &amp;#x438;&amp;#x437;&amp;#x43F;&amp;#x44A;&amp;#x43B;&amp;#x43D;&amp;#x438;&amp;#x43C; &amp;#x43A;&amp;#x43E;&amp;#x434; - &amp;#x201C;&amp;#x432;&amp;#x43A;&amp;#x43B;&amp;#x44E;&amp;#x447;&amp;#x438;&amp;#x442;&amp;#x435;&amp;#x43B;&amp;#x43D;&amp;#x43E; &amp;#x438; &amp;#x442;&amp;#x435;&amp;#x43B;&amp;#x430;&amp;#x442;&amp;#x430; &amp;#x43D;&amp;#x430; &amp;#x43A;&amp;#x43B;&amp;#x430;&amp;#x441;&amp;#x43E;&amp;#x432;&amp;#x435;&amp;#x442;&amp;#x435; &amp;#x432; &amp;#x43A;&amp;#x43E;&amp;#x439;&amp;#x442;&amp;#x43E; &amp;#x43C;&amp;#x43E;&amp;#x436;&amp;#x435; &amp;#x438;&amp;#x43C;&amp;#x430; &amp;#x446;&amp;#x438;&amp;#x43A;&amp;#x43B;&amp;#x438;, &amp;#x443;&amp;#x441;&amp;#x43B;&amp;#x43E;&amp;#x432;&amp;#x43D;&amp;#x438; &amp;#x43E;&amp;#x43F;&amp;#x435;&amp;#x440;&amp;#x430;&amp;#x442;&amp;#x43E;&amp;#x440;&amp;#x438; &amp;#x438; &amp;#x434;&amp;#x440;&amp;#x443;&amp;#x433;&amp;#x438;&amp;#x201D;\n&amp;#x438;&amp;#x437;&amp;#x447;&amp;#x438;&amp;#x441;&amp;#x442;&amp;#x435;&amp;#x43D; &amp;#x441;&amp;#x438;&amp;#x43D;&amp;#x442;&amp;#x430;&amp;#x43A;&amp;#x441;&amp;#x438;&amp;#x441; - &amp;#x201C;&amp;#x43D;&amp;#x435; &amp;#x435; &amp;#x437;&amp;#x430;&amp;#x434;&amp;#x44A;&amp;#x43B;&amp;#x436;&amp;#x438;&amp;#x442;&amp;#x435;&amp;#x43B;&amp;#x43D;&amp;#x43E;, &amp;#x434;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x43F;&amp;#x43E;&amp;#x441;&amp;#x442;&amp;#x430;&amp;#x432;&amp;#x44F;&amp;#x442; &amp;#x441;&amp;#x43A;&amp;#x43E;&amp;#x431;&amp;#x438;, &amp;#x442;&amp;#x43E;&amp;#x447;&amp;#x43A;&amp;#x430; &amp;#x438; &amp;#x437;&amp;#x430;&amp;#x43F;&amp;#x435;&amp;#x442;&amp;#x430;&amp;#x44F; &amp;#x438; &amp;#x434;&amp;#x440;&amp;#x443;&amp;#x433;&amp;#x438;&amp;#x201D;\n&amp;#x43C;&amp;#x435;&amp;#x442;&amp;#x430; &amp;#x43F;&amp;#x440;&amp;#x43E;&amp;#x433;&amp;#x440;&amp;#x430;&amp;#x43C;&amp;#x438;&amp;#x440;&amp;#x430;&amp;#x43D;&amp;#x435;\n&amp;#xA0;\n\n
  100. &amp;#x421;&amp;#x442;&amp;#x440;&amp;#x435;&amp;#x43C;&amp;#x435;&amp;#x436;&amp;#x44A;&amp;#x442; &amp;#x43D;&amp;#x430; Ruby &amp;#x435; &amp;#x434;&amp;#x430; &amp;#x441;&amp;#x43B;&amp;#x435;&amp;#x434;&amp;#x432;&amp;#x430; &amp;#x43F;&amp;#x440;&amp;#x438;&amp;#x43D;&amp;#x446;&amp;#x438;&amp;#x43F;&amp;#x430; &amp;#x43D;&amp;#x430; &amp;#x43D;&amp;#x430;&amp;#x439;-&amp;#x43C;&amp;#x430;&amp;#x43B;&amp;#x43A;&amp;#x430; &amp;#x438;&amp;#x437;&amp;#x43D;&amp;#x435;&amp;#x43D;&amp;#x430;&amp;#x434;&amp;#x430;. &amp;#x422;&amp;#x43E;&amp;#x432;&amp;#x430; &amp;#x43E;&amp;#x437;&amp;#x43D;&amp;#x430;&amp;#x447;&amp;#x430;&amp;#x432;&amp;#x430;, &amp;#x447;&amp;#x435; &amp;#x43F;&amp;#x43E;&amp;#x432;&amp;#x435;&amp;#x434;&amp;#x435;&amp;#x43D;&amp;#x438;&amp;#x435;&amp;#x442;&amp;#x43E; &amp;#x43D;&amp;#x430; &amp;#x435;&amp;#x437;&amp;#x438;&amp;#x43A;&amp;#x430; &amp;#x442;&amp;#x440;&amp;#x44F;&amp;#x431;&amp;#x432;&amp;#x430; &amp;#x434;&amp;#x430; &amp;#x435; &amp;#x438;&amp;#x43D;&amp;#x442;&amp;#x443;&amp;#x438;&amp;#x442;&amp;#x438;&amp;#x432;&amp;#x43D;&amp;#x43E; &amp;#x438; &amp;#x442;&amp;#x43E;&amp;#x439; &amp;#x434;&amp;#x430; &amp;#x440;&amp;#x430;&amp;#x431;&amp;#x43E;&amp;#x442;&amp;#x438; &amp;#x442;&amp;#x430;&amp;#x43A;&amp;#x430;, &amp;#x43A;&amp;#x430;&amp;#x43A;&amp;#x442;&amp;#x43E; &amp;#x43F;&amp;#x440;&amp;#x43E;&amp;#x433;&amp;#x440;&amp;#x430;&amp;#x43C;&amp;#x438;&amp;#x441;&amp;#x442;&amp;#x44A;&amp;#x442; &amp;#x431;&amp;#x438; &amp;#x43E;&amp;#x447;&amp;#x430;&amp;#x43A;&amp;#x432;&amp;#x430;&amp;#x43B;.\nRuby &amp;#x435; &amp;#x43E;&amp;#x431;&amp;#x435;&amp;#x43A;&amp;#x442;&amp;#x43D;&amp;#x43E;-&amp;#x43E;&amp;#x440;&amp;#x438;&amp;#x435;&amp;#x43D;&amp;#x442;&amp;#x438;&amp;#x440;&amp;#x430;&amp;#x43D;: &amp;#x432;&amp;#x441;&amp;#x435;&amp;#x43A;&amp;#x438; &amp;#x442;&amp;#x438;&amp;#x43F; &amp;#x434;&amp;#x430;&amp;#x43D;&amp;#x43D;&amp;#x438; &amp;#x435; &amp;#x43E;&amp;#x431;&amp;#x435;&amp;#x43A;&amp;#x442;, &amp;#x432;&amp;#x43A;&amp;#x43B;&amp;#x44E;&amp;#x447;&amp;#x438;&amp;#x442;&amp;#x435;&amp;#x43B;&amp;#x43D;&amp;#x43E; &amp;#x43A;&amp;#x43B;&amp;#x430;&amp;#x441;&amp;#x43E;&amp;#x432;&amp;#x435;, &amp;#x447;&amp;#x438;&amp;#x441;&amp;#x43B;&amp;#x430;, &amp;#x431;&amp;#x443;&amp;#x43B;&amp;#x435;&amp;#x432;&amp;#x438; &amp;#x441;&amp;#x442;&amp;#x43E;&amp;#x439;&amp;#x43D;&amp;#x43E;&amp;#x441;&amp;#x442;&amp;#x438;, &amp;#x43A;&amp;#x43E;&amp;#x438;&amp;#x442;&amp;#x43E; &amp;#x432; &amp;#x43C;&amp;#x43D;&amp;#x43E;&amp;#x433;&amp;#x43E; &amp;#x434;&amp;#x440;&amp;#x443;&amp;#x433;&amp;#x438; &amp;#x435;&amp;#x437;&amp;#x438;&amp;#x446;&amp;#x438; &amp;#x43E;&amp;#x43F;&amp;#x440;&amp;#x435;&amp;#x434;&amp;#x435;&amp;#x43B;&amp;#x44F;&amp;#x442; &amp;#x43A;&amp;#x430;&amp;#x442;&amp;#x43E; &amp;#x43F;&amp;#x440;&amp;#x438;&amp;#x43C;&amp;#x438;&amp;#x442;&amp;#x438;&amp;#x432;&amp;#x438;, &amp;#x430; &amp;#x43D;&amp;#x435; &amp;#x43A;&amp;#x430;&amp;#x442;&amp;#x43E; &amp;#x440;&amp;#x435;&amp;#x430;&amp;#x43B;&amp;#x43D;&amp;#x438; &amp;#x43E;&amp;#x431;&amp;#x435;&amp;#x43A;&amp;#x442;&amp;#x438;.\n\n&amp;#x41D;&amp;#x44F;&amp;#x43A;&amp;#x43E;&amp;#x438; &amp;#x43E;&amp;#x442; &amp;#x43D;&amp;#x430;&amp;#x439;-&amp;#x432;&amp;#x430;&amp;#x436;&amp;#x43D;&amp;#x438;&amp;#x442;&amp;#x435; &amp;#x445;&amp;#x430;&amp;#x440;&amp;#x430;&amp;#x43A;&amp;#x442;&amp;#x435;&amp;#x440;&amp;#x438;&amp;#x441;&amp;#x442;&amp;#x438;&amp;#x43A;&amp;#x438; &amp;#x43D;&amp;#x430; &amp;#x435;&amp;#x437;&amp;#x438;&amp;#x43A;&amp;#x430; &amp;#x441;&amp;#x430;: \n&amp;#x434;&amp;#x438;&amp;#x43C;&amp;#x438;&amp;#x447;&amp;#x43D;&amp;#x43E; &amp;#x43E;&amp;#x43F;&amp;#x440;&amp;#x435;&amp;#x434;&amp;#x435;&amp;#x43B;&amp;#x44F;&amp;#x43D;&amp;#x435; &amp;#x43D;&amp;#x430; &amp;#x442;&amp;#x438;&amp;#x43F;&amp;#x430; &amp;#x434;&amp;#x430;&amp;#x43D;&amp;#x43D;&amp;#x438;&amp;#x442;&amp;#x435;\n&amp;#x43C;&amp;#x43E;&amp;#x434;&amp;#x443;&amp;#x43B;&amp;#x438; - &amp;#x201C;&amp;#x432;&amp;#x44A;&amp;#x437;&amp;#x43C;&amp;#x43E;&amp;#x436;&amp;#x43D;&amp;#x43E;&amp;#x441;&amp;#x442; &amp;#x435;&amp;#x434;&amp;#x438;&amp;#x43D; &amp;#x43C;&amp;#x43E;&amp;#x434;&amp;#x443;&amp;#x43B; &amp;#x434;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x432;&amp;#x433;&amp;#x440;&amp;#x430;&amp;#x436;&amp;#x434;&amp;#x430; &amp;#x432; &amp;#x43C;&amp;#x43D;&amp;#x43E;&amp;#x436;&amp;#x435;&amp;#x441;&amp;#x442;&amp;#x432;&amp;#x43E; &amp;#x43A;&amp;#x43B;&amp;#x430;&amp;#x441;&amp;#x43E;&amp;#x432;&amp;#x435;, &amp;#x43A;&amp;#x430;&amp;#x442;&amp;#x43E; &amp;#x442;&amp;#x430;&amp;#x43A;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x43F;&amp;#x43E;&amp;#x441;&amp;#x442;&amp;#x438;&amp;#x433;&amp;#x430; &amp;#x43C;&amp;#x43D;&amp;#x43E;&amp;#x436;&amp;#x435;&amp;#x441;&amp;#x442;&amp;#x432;&amp;#x435;&amp;#x43D;&amp;#x43E; &amp;#x43D;&amp;#x430;&amp;#x441;&amp;#x43B;&amp;#x435;&amp;#x434;&amp;#x44F;&amp;#x432;&amp;#x430;&amp;#x43D;&amp;#x435;&amp;#x201D;\n&amp;#x43E;&amp;#x442;&amp;#x432;&amp;#x43E;&amp;#x440;&amp;#x435;&amp;#x43D;&amp;#x438; &amp;#x43A;&amp;#x43B;&amp;#x430;&amp;#x441;&amp;#x43E;&amp;#x432;&amp;#x435; - &amp;#x201C;&amp;#x43A;&amp;#x44A;&amp;#x43C; &amp;#x432;&amp;#x441;&amp;#x435;&amp;#x43A;&amp;#x438; &amp;#x43A;&amp;#x43B;&amp;#x430;&amp;#x441; &amp;#x43C;&amp;#x43E;&amp;#x433;&amp;#x430;&amp;#x442; &amp;#x434;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x434;&amp;#x43E;&amp;#x431;&amp;#x430;&amp;#x432;&amp;#x44F;&amp;#x442; &amp;#x43D;&amp;#x43E;&amp;#x432;&amp;#x438; &amp;#x430;&amp;#x442;&amp;#x440;&amp;#x438;&amp;#x431;&amp;#x443;&amp;#x442;&amp;#x438; &amp;#x438; &amp;#x43C;&amp;#x435;&amp;#x442;&amp;#x43E;&amp;#x434;&amp;#x438; &amp;#x43F;&amp;#x43E; &amp;#x432;&amp;#x440;&amp;#x435;&amp;#x43C;&amp;#x435; &amp;#x43D;&amp;#x430; &amp;#x438;&amp;#x437;&amp;#x43F;&amp;#x44A;&amp;#x43B;&amp;#x43D;&amp;#x435;&amp;#x43D;&amp;#x438;&amp;#x435; &amp;#x43D;&amp;#x430; &amp;#x43F;&amp;#x440;&amp;#x43E;&amp;#x433;&amp;#x440;&amp;#x430;&amp;#x43C;&amp;#x430;&amp;#x442;&amp;#x430;&amp;#x201D;\n&amp;#x431;&amp;#x43B;&amp;#x43E;&amp;#x43A;&amp;#x43E;&amp;#x432;&amp;#x435;\n&amp;#x430;&amp;#x43D;&amp;#x43E;&amp;#x43D;&amp;#x438;&amp;#x43C;&amp;#x43D;&amp;#x438; &amp;#x444;&amp;#x443;&amp;#x43D;&amp;#x43A;&amp;#x446;&amp;#x438;&amp;#x438;\n&amp;#x432;&amp;#x441;&amp;#x44F;&amp;#x43A;&amp;#x430; &amp;#x43E;&amp;#x43F;&amp;#x435;&amp;#x440;&amp;#x430;&amp;#x446;&amp;#x438;&amp;#x44F; &amp;#x432;&amp;#x440;&amp;#x44A;&amp;#x449;&amp;#x430; &amp;#x440;&amp;#x435;&amp;#x437;&amp;#x443;&amp;#x43B;&amp;#x442;&amp;#x430;&amp;#x442;\n&amp;#x432;&amp;#x441;&amp;#x438;&amp;#x447;&amp;#x43A;&amp;#x43E; &amp;#x435; &amp;#x438;&amp;#x437;&amp;#x43F;&amp;#x44A;&amp;#x43B;&amp;#x43D;&amp;#x438;&amp;#x43C; &amp;#x43A;&amp;#x43E;&amp;#x434; - &amp;#x201C;&amp;#x432;&amp;#x43A;&amp;#x43B;&amp;#x44E;&amp;#x447;&amp;#x438;&amp;#x442;&amp;#x435;&amp;#x43B;&amp;#x43D;&amp;#x43E; &amp;#x438; &amp;#x442;&amp;#x435;&amp;#x43B;&amp;#x430;&amp;#x442;&amp;#x430; &amp;#x43D;&amp;#x430; &amp;#x43A;&amp;#x43B;&amp;#x430;&amp;#x441;&amp;#x43E;&amp;#x432;&amp;#x435;&amp;#x442;&amp;#x435; &amp;#x432; &amp;#x43A;&amp;#x43E;&amp;#x439;&amp;#x442;&amp;#x43E; &amp;#x43C;&amp;#x43E;&amp;#x436;&amp;#x435; &amp;#x438;&amp;#x43C;&amp;#x430; &amp;#x446;&amp;#x438;&amp;#x43A;&amp;#x43B;&amp;#x438;, &amp;#x443;&amp;#x441;&amp;#x43B;&amp;#x43E;&amp;#x432;&amp;#x43D;&amp;#x438; &amp;#x43E;&amp;#x43F;&amp;#x435;&amp;#x440;&amp;#x430;&amp;#x442;&amp;#x43E;&amp;#x440;&amp;#x438; &amp;#x438; &amp;#x434;&amp;#x440;&amp;#x443;&amp;#x433;&amp;#x438;&amp;#x201D;\n&amp;#x438;&amp;#x437;&amp;#x447;&amp;#x438;&amp;#x441;&amp;#x442;&amp;#x435;&amp;#x43D; &amp;#x441;&amp;#x438;&amp;#x43D;&amp;#x442;&amp;#x430;&amp;#x43A;&amp;#x441;&amp;#x438;&amp;#x441; - &amp;#x201C;&amp;#x43D;&amp;#x435; &amp;#x435; &amp;#x437;&amp;#x430;&amp;#x434;&amp;#x44A;&amp;#x43B;&amp;#x436;&amp;#x438;&amp;#x442;&amp;#x435;&amp;#x43B;&amp;#x43D;&amp;#x43E;, &amp;#x434;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x43F;&amp;#x43E;&amp;#x441;&amp;#x442;&amp;#x430;&amp;#x432;&amp;#x44F;&amp;#x442; &amp;#x441;&amp;#x43A;&amp;#x43E;&amp;#x431;&amp;#x438;, &amp;#x442;&amp;#x43E;&amp;#x447;&amp;#x43A;&amp;#x430; &amp;#x438; &amp;#x437;&amp;#x430;&amp;#x43F;&amp;#x435;&amp;#x442;&amp;#x430;&amp;#x44F; &amp;#x438; &amp;#x434;&amp;#x440;&amp;#x443;&amp;#x433;&amp;#x438;&amp;#x201D;\n&amp;#x43C;&amp;#x435;&amp;#x442;&amp;#x430; &amp;#x43F;&amp;#x440;&amp;#x43E;&amp;#x433;&amp;#x440;&amp;#x430;&amp;#x43C;&amp;#x438;&amp;#x440;&amp;#x430;&amp;#x43D;&amp;#x435;\n&amp;#xA0;\n\n
  101. &amp;#x421;&amp;#x442;&amp;#x440;&amp;#x435;&amp;#x43C;&amp;#x435;&amp;#x436;&amp;#x44A;&amp;#x442; &amp;#x43D;&amp;#x430; Ruby &amp;#x435; &amp;#x434;&amp;#x430; &amp;#x441;&amp;#x43B;&amp;#x435;&amp;#x434;&amp;#x432;&amp;#x430; &amp;#x43F;&amp;#x440;&amp;#x438;&amp;#x43D;&amp;#x446;&amp;#x438;&amp;#x43F;&amp;#x430; &amp;#x43D;&amp;#x430; &amp;#x43D;&amp;#x430;&amp;#x439;-&amp;#x43C;&amp;#x430;&amp;#x43B;&amp;#x43A;&amp;#x430; &amp;#x438;&amp;#x437;&amp;#x43D;&amp;#x435;&amp;#x43D;&amp;#x430;&amp;#x434;&amp;#x430;. &amp;#x422;&amp;#x43E;&amp;#x432;&amp;#x430; &amp;#x43E;&amp;#x437;&amp;#x43D;&amp;#x430;&amp;#x447;&amp;#x430;&amp;#x432;&amp;#x430;, &amp;#x447;&amp;#x435; &amp;#x43F;&amp;#x43E;&amp;#x432;&amp;#x435;&amp;#x434;&amp;#x435;&amp;#x43D;&amp;#x438;&amp;#x435;&amp;#x442;&amp;#x43E; &amp;#x43D;&amp;#x430; &amp;#x435;&amp;#x437;&amp;#x438;&amp;#x43A;&amp;#x430; &amp;#x442;&amp;#x440;&amp;#x44F;&amp;#x431;&amp;#x432;&amp;#x430; &amp;#x434;&amp;#x430; &amp;#x435; &amp;#x438;&amp;#x43D;&amp;#x442;&amp;#x443;&amp;#x438;&amp;#x442;&amp;#x438;&amp;#x432;&amp;#x43D;&amp;#x43E; &amp;#x438; &amp;#x442;&amp;#x43E;&amp;#x439; &amp;#x434;&amp;#x430; &amp;#x440;&amp;#x430;&amp;#x431;&amp;#x43E;&amp;#x442;&amp;#x438; &amp;#x442;&amp;#x430;&amp;#x43A;&amp;#x430;, &amp;#x43A;&amp;#x430;&amp;#x43A;&amp;#x442;&amp;#x43E; &amp;#x43F;&amp;#x440;&amp;#x43E;&amp;#x433;&amp;#x440;&amp;#x430;&amp;#x43C;&amp;#x438;&amp;#x441;&amp;#x442;&amp;#x44A;&amp;#x442; &amp;#x431;&amp;#x438; &amp;#x43E;&amp;#x447;&amp;#x430;&amp;#x43A;&amp;#x432;&amp;#x430;&amp;#x43B;.\nRuby &amp;#x435; &amp;#x43E;&amp;#x431;&amp;#x435;&amp;#x43A;&amp;#x442;&amp;#x43D;&amp;#x43E;-&amp;#x43E;&amp;#x440;&amp;#x438;&amp;#x435;&amp;#x43D;&amp;#x442;&amp;#x438;&amp;#x440;&amp;#x430;&amp;#x43D;: &amp;#x432;&amp;#x441;&amp;#x435;&amp;#x43A;&amp;#x438; &amp;#x442;&amp;#x438;&amp;#x43F; &amp;#x434;&amp;#x430;&amp;#x43D;&amp;#x43D;&amp;#x438; &amp;#x435; &amp;#x43E;&amp;#x431;&amp;#x435;&amp;#x43A;&amp;#x442;, &amp;#x432;&amp;#x43A;&amp;#x43B;&amp;#x44E;&amp;#x447;&amp;#x438;&amp;#x442;&amp;#x435;&amp;#x43B;&amp;#x43D;&amp;#x43E; &amp;#x43A;&amp;#x43B;&amp;#x430;&amp;#x441;&amp;#x43E;&amp;#x432;&amp;#x435;, &amp;#x447;&amp;#x438;&amp;#x441;&amp;#x43B;&amp;#x430;, &amp;#x431;&amp;#x443;&amp;#x43B;&amp;#x435;&amp;#x432;&amp;#x438; &amp;#x441;&amp;#x442;&amp;#x43E;&amp;#x439;&amp;#x43D;&amp;#x43E;&amp;#x441;&amp;#x442;&amp;#x438;, &amp;#x43A;&amp;#x43E;&amp;#x438;&amp;#x442;&amp;#x43E; &amp;#x432; &amp;#x43C;&amp;#x43D;&amp;#x43E;&amp;#x433;&amp;#x43E; &amp;#x434;&amp;#x440;&amp;#x443;&amp;#x433;&amp;#x438; &amp;#x435;&amp;#x437;&amp;#x438;&amp;#x446;&amp;#x438; &amp;#x43E;&amp;#x43F;&amp;#x440;&amp;#x435;&amp;#x434;&amp;#x435;&amp;#x43B;&amp;#x44F;&amp;#x442; &amp;#x43A;&amp;#x430;&amp;#x442;&amp;#x43E; &amp;#x43F;&amp;#x440;&amp;#x438;&amp;#x43C;&amp;#x438;&amp;#x442;&amp;#x438;&amp;#x432;&amp;#x438;, &amp;#x430; &amp;#x43D;&amp;#x435; &amp;#x43A;&amp;#x430;&amp;#x442;&amp;#x43E; &amp;#x440;&amp;#x435;&amp;#x430;&amp;#x43B;&amp;#x43D;&amp;#x438; &amp;#x43E;&amp;#x431;&amp;#x435;&amp;#x43A;&amp;#x442;&amp;#x438;.\n\n&amp;#x41D;&amp;#x44F;&amp;#x43A;&amp;#x43E;&amp;#x438; &amp;#x43E;&amp;#x442; &amp;#x43D;&amp;#x430;&amp;#x439;-&amp;#x432;&amp;#x430;&amp;#x436;&amp;#x43D;&amp;#x438;&amp;#x442;&amp;#x435; &amp;#x445;&amp;#x430;&amp;#x440;&amp;#x430;&amp;#x43A;&amp;#x442;&amp;#x435;&amp;#x440;&amp;#x438;&amp;#x441;&amp;#x442;&amp;#x438;&amp;#x43A;&amp;#x438; &amp;#x43D;&amp;#x430; &amp;#x435;&amp;#x437;&amp;#x438;&amp;#x43A;&amp;#x430; &amp;#x441;&amp;#x430;: \n&amp;#x434;&amp;#x438;&amp;#x43C;&amp;#x438;&amp;#x447;&amp;#x43D;&amp;#x43E; &amp;#x43E;&amp;#x43F;&amp;#x440;&amp;#x435;&amp;#x434;&amp;#x435;&amp;#x43B;&amp;#x44F;&amp;#x43D;&amp;#x435; &amp;#x43D;&amp;#x430; &amp;#x442;&amp;#x438;&amp;#x43F;&amp;#x430; &amp;#x434;&amp;#x430;&amp;#x43D;&amp;#x43D;&amp;#x438;&amp;#x442;&amp;#x435;\n&amp;#x43C;&amp;#x43E;&amp;#x434;&amp;#x443;&amp;#x43B;&amp;#x438; - &amp;#x201C;&amp;#x432;&amp;#x44A;&amp;#x437;&amp;#x43C;&amp;#x43E;&amp;#x436;&amp;#x43D;&amp;#x43E;&amp;#x441;&amp;#x442; &amp;#x435;&amp;#x434;&amp;#x438;&amp;#x43D; &amp;#x43C;&amp;#x43E;&amp;#x434;&amp;#x443;&amp;#x43B; &amp;#x434;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x432;&amp;#x433;&amp;#x440;&amp;#x430;&amp;#x436;&amp;#x434;&amp;#x430; &amp;#x432; &amp;#x43C;&amp;#x43D;&amp;#x43E;&amp;#x436;&amp;#x435;&amp;#x441;&amp;#x442;&amp;#x432;&amp;#x43E; &amp;#x43A;&amp;#x43B;&amp;#x430;&amp;#x441;&amp;#x43E;&amp;#x432;&amp;#x435;, &amp;#x43A;&amp;#x430;&amp;#x442;&amp;#x43E; &amp;#x442;&amp;#x430;&amp;#x43A;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x43F;&amp;#x43E;&amp;#x441;&amp;#x442;&amp;#x438;&amp;#x433;&amp;#x430; &amp;#x43C;&amp;#x43D;&amp;#x43E;&amp;#x436;&amp;#x435;&amp;#x441;&amp;#x442;&amp;#x432;&amp;#x435;&amp;#x43D;&amp;#x43E; &amp;#x43D;&amp;#x430;&amp;#x441;&amp;#x43B;&amp;#x435;&amp;#x434;&amp;#x44F;&amp;#x432;&amp;#x430;&amp;#x43D;&amp;#x435;&amp;#x201D;\n&amp;#x43E;&amp;#x442;&amp;#x432;&amp;#x43E;&amp;#x440;&amp;#x435;&amp;#x43D;&amp;#x438; &amp;#x43A;&amp;#x43B;&amp;#x430;&amp;#x441;&amp;#x43E;&amp;#x432;&amp;#x435; - &amp;#x201C;&amp;#x43A;&amp;#x44A;&amp;#x43C; &amp;#x432;&amp;#x441;&amp;#x435;&amp;#x43A;&amp;#x438; &amp;#x43A;&amp;#x43B;&amp;#x430;&amp;#x441; &amp;#x43C;&amp;#x43E;&amp;#x433;&amp;#x430;&amp;#x442; &amp;#x434;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x434;&amp;#x43E;&amp;#x431;&amp;#x430;&amp;#x432;&amp;#x44F;&amp;#x442; &amp;#x43D;&amp;#x43E;&amp;#x432;&amp;#x438; &amp;#x430;&amp;#x442;&amp;#x440;&amp;#x438;&amp;#x431;&amp;#x443;&amp;#x442;&amp;#x438; &amp;#x438; &amp;#x43C;&amp;#x435;&amp;#x442;&amp;#x43E;&amp;#x434;&amp;#x438; &amp;#x43F;&amp;#x43E; &amp;#x432;&amp;#x440;&amp;#x435;&amp;#x43C;&amp;#x435; &amp;#x43D;&amp;#x430; &amp;#x438;&amp;#x437;&amp;#x43F;&amp;#x44A;&amp;#x43B;&amp;#x43D;&amp;#x435;&amp;#x43D;&amp;#x438;&amp;#x435; &amp;#x43D;&amp;#x430; &amp;#x43F;&amp;#x440;&amp;#x43E;&amp;#x433;&amp;#x440;&amp;#x430;&amp;#x43C;&amp;#x430;&amp;#x442;&amp;#x430;&amp;#x201D;\n&amp;#x431;&amp;#x43B;&amp;#x43E;&amp;#x43A;&amp;#x43E;&amp;#x432;&amp;#x435;\n&amp;#x430;&amp;#x43D;&amp;#x43E;&amp;#x43D;&amp;#x438;&amp;#x43C;&amp;#x43D;&amp;#x438; &amp;#x444;&amp;#x443;&amp;#x43D;&amp;#x43A;&amp;#x446;&amp;#x438;&amp;#x438;\n&amp;#x432;&amp;#x441;&amp;#x44F;&amp;#x43A;&amp;#x430; &amp;#x43E;&amp;#x43F;&amp;#x435;&amp;#x440;&amp;#x430;&amp;#x446;&amp;#x438;&amp;#x44F; &amp;#x432;&amp;#x440;&amp;#x44A;&amp;#x449;&amp;#x430; &amp;#x440;&amp;#x435;&amp;#x437;&amp;#x443;&amp;#x43B;&amp;#x442;&amp;#x430;&amp;#x442;\n&amp;#x432;&amp;#x441;&amp;#x438;&amp;#x447;&amp;#x43A;&amp;#x43E; &amp;#x435; &amp;#x438;&amp;#x437;&amp;#x43F;&amp;#x44A;&amp;#x43B;&amp;#x43D;&amp;#x438;&amp;#x43C; &amp;#x43A;&amp;#x43E;&amp;#x434; - &amp;#x201C;&amp;#x432;&amp;#x43A;&amp;#x43B;&amp;#x44E;&amp;#x447;&amp;#x438;&amp;#x442;&amp;#x435;&amp;#x43B;&amp;#x43D;&amp;#x43E; &amp;#x438; &amp;#x442;&amp;#x435;&amp;#x43B;&amp;#x430;&amp;#x442;&amp;#x430; &amp;#x43D;&amp;#x430; &amp;#x43A;&amp;#x43B;&amp;#x430;&amp;#x441;&amp;#x43E;&amp;#x432;&amp;#x435;&amp;#x442;&amp;#x435; &amp;#x432; &amp;#x43A;&amp;#x43E;&amp;#x439;&amp;#x442;&amp;#x43E; &amp;#x43C;&amp;#x43E;&amp;#x436;&amp;#x435; &amp;#x438;&amp;#x43C;&amp;#x430; &amp;#x446;&amp;#x438;&amp;#x43A;&amp;#x43B;&amp;#x438;, &amp;#x443;&amp;#x441;&amp;#x43B;&amp;#x43E;&amp;#x432;&amp;#x43D;&amp;#x438; &amp;#x43E;&amp;#x43F;&amp;#x435;&amp;#x440;&amp;#x430;&amp;#x442;&amp;#x43E;&amp;#x440;&amp;#x438; &amp;#x438; &amp;#x434;&amp;#x440;&amp;#x443;&amp;#x433;&amp;#x438;&amp;#x201D;\n&amp;#x438;&amp;#x437;&amp;#x447;&amp;#x438;&amp;#x441;&amp;#x442;&amp;#x435;&amp;#x43D; &amp;#x441;&amp;#x438;&amp;#x43D;&amp;#x442;&amp;#x430;&amp;#x43A;&amp;#x441;&amp;#x438;&amp;#x441; - &amp;#x201C;&amp;#x43D;&amp;#x435; &amp;#x435; &amp;#x437;&amp;#x430;&amp;#x434;&amp;#x44A;&amp;#x43B;&amp;#x436;&amp;#x438;&amp;#x442;&amp;#x435;&amp;#x43B;&amp;#x43D;&amp;#x43E;, &amp;#x434;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x43F;&amp;#x43E;&amp;#x441;&amp;#x442;&amp;#x430;&amp;#x432;&amp;#x44F;&amp;#x442; &amp;#x441;&amp;#x43A;&amp;#x43E;&amp;#x431;&amp;#x438;, &amp;#x442;&amp;#x43E;&amp;#x447;&amp;#x43A;&amp;#x430; &amp;#x438; &amp;#x437;&amp;#x430;&amp;#x43F;&amp;#x435;&amp;#x442;&amp;#x430;&amp;#x44F; &amp;#x438; &amp;#x434;&amp;#x440;&amp;#x443;&amp;#x433;&amp;#x438;&amp;#x201D;\n&amp;#x43C;&amp;#x435;&amp;#x442;&amp;#x430; &amp;#x43F;&amp;#x440;&amp;#x43E;&amp;#x433;&amp;#x440;&amp;#x430;&amp;#x43C;&amp;#x438;&amp;#x440;&amp;#x430;&amp;#x43D;&amp;#x435;\n&amp;#xA0;\n\n
  102. &amp;#x421;&amp;#x442;&amp;#x440;&amp;#x435;&amp;#x43C;&amp;#x435;&amp;#x436;&amp;#x44A;&amp;#x442; &amp;#x43D;&amp;#x430; Ruby &amp;#x435; &amp;#x434;&amp;#x430; &amp;#x441;&amp;#x43B;&amp;#x435;&amp;#x434;&amp;#x432;&amp;#x430; &amp;#x43F;&amp;#x440;&amp;#x438;&amp;#x43D;&amp;#x446;&amp;#x438;&amp;#x43F;&amp;#x430; &amp;#x43D;&amp;#x430; &amp;#x43D;&amp;#x430;&amp;#x439;-&amp;#x43C;&amp;#x430;&amp;#x43B;&amp;#x43A;&amp;#x430; &amp;#x438;&amp;#x437;&amp;#x43D;&amp;#x435;&amp;#x43D;&amp;#x430;&amp;#x434;&amp;#x430;. &amp;#x422;&amp;#x43E;&amp;#x432;&amp;#x430; &amp;#x43E;&amp;#x437;&amp;#x43D;&amp;#x430;&amp;#x447;&amp;#x430;&amp;#x432;&amp;#x430;, &amp;#x447;&amp;#x435; &amp;#x43F;&amp;#x43E;&amp;#x432;&amp;#x435;&amp;#x434;&amp;#x435;&amp;#x43D;&amp;#x438;&amp;#x435;&amp;#x442;&amp;#x43E; &amp;#x43D;&amp;#x430; &amp;#x435;&amp;#x437;&amp;#x438;&amp;#x43A;&amp;#x430; &amp;#x442;&amp;#x440;&amp;#x44F;&amp;#x431;&amp;#x432;&amp;#x430; &amp;#x434;&amp;#x430; &amp;#x435; &amp;#x438;&amp;#x43D;&amp;#x442;&amp;#x443;&amp;#x438;&amp;#x442;&amp;#x438;&amp;#x432;&amp;#x43D;&amp;#x43E; &amp;#x438; &amp;#x442;&amp;#x43E;&amp;#x439; &amp;#x434;&amp;#x430; &amp;#x440;&amp;#x430;&amp;#x431;&amp;#x43E;&amp;#x442;&amp;#x438; &amp;#x442;&amp;#x430;&amp;#x43A;&amp;#x430;, &amp;#x43A;&amp;#x430;&amp;#x43A;&amp;#x442;&amp;#x43E; &amp;#x43F;&amp;#x440;&amp;#x43E;&amp;#x433;&amp;#x440;&amp;#x430;&amp;#x43C;&amp;#x438;&amp;#x441;&amp;#x442;&amp;#x44A;&amp;#x442; &amp;#x431;&amp;#x438; &amp;#x43E;&amp;#x447;&amp;#x430;&amp;#x43A;&amp;#x432;&amp;#x430;&amp;#x43B;.\nRuby &amp;#x435; &amp;#x43E;&amp;#x431;&amp;#x435;&amp;#x43A;&amp;#x442;&amp;#x43D;&amp;#x43E;-&amp;#x43E;&amp;#x440;&amp;#x438;&amp;#x435;&amp;#x43D;&amp;#x442;&amp;#x438;&amp;#x440;&amp;#x430;&amp;#x43D;: &amp;#x432;&amp;#x441;&amp;#x435;&amp;#x43A;&amp;#x438; &amp;#x442;&amp;#x438;&amp;#x43F; &amp;#x434;&amp;#x430;&amp;#x43D;&amp;#x43D;&amp;#x438; &amp;#x435; &amp;#x43E;&amp;#x431;&amp;#x435;&amp;#x43A;&amp;#x442;, &amp;#x432;&amp;#x43A;&amp;#x43B;&amp;#x44E;&amp;#x447;&amp;#x438;&amp;#x442;&amp;#x435;&amp;#x43B;&amp;#x43D;&amp;#x43E; &amp;#x43A;&amp;#x43B;&amp;#x430;&amp;#x441;&amp;#x43E;&amp;#x432;&amp;#x435;, &amp;#x447;&amp;#x438;&amp;#x441;&amp;#x43B;&amp;#x430;, &amp;#x431;&amp;#x443;&amp;#x43B;&amp;#x435;&amp;#x432;&amp;#x438; &amp;#x441;&amp;#x442;&amp;#x43E;&amp;#x439;&amp;#x43D;&amp;#x43E;&amp;#x441;&amp;#x442;&amp;#x438;, &amp;#x43A;&amp;#x43E;&amp;#x438;&amp;#x442;&amp;#x43E; &amp;#x432; &amp;#x43C;&amp;#x43D;&amp;#x43E;&amp;#x433;&amp;#x43E; &amp;#x434;&amp;#x440;&amp;#x443;&amp;#x433;&amp;#x438; &amp;#x435;&amp;#x437;&amp;#x438;&amp;#x446;&amp;#x438; &amp;#x43E;&amp;#x43F;&amp;#x440;&amp;#x435;&amp;#x434;&amp;#x435;&amp;#x43B;&amp;#x44F;&amp;#x442; &amp;#x43A;&amp;#x430;&amp;#x442;&amp;#x43E; &amp;#x43F;&amp;#x440;&amp;#x438;&amp;#x43C;&amp;#x438;&amp;#x442;&amp;#x438;&amp;#x432;&amp;#x438;, &amp;#x430; &amp;#x43D;&amp;#x435; &amp;#x43A;&amp;#x430;&amp;#x442;&amp;#x43E; &amp;#x440;&amp;#x435;&amp;#x430;&amp;#x43B;&amp;#x43D;&amp;#x438; &amp;#x43E;&amp;#x431;&amp;#x435;&amp;#x43A;&amp;#x442;&amp;#x438;.\n\n&amp;#x41D;&amp;#x44F;&amp;#x43A;&amp;#x43E;&amp;#x438; &amp;#x43E;&amp;#x442; &amp;#x43D;&amp;#x430;&amp;#x439;-&amp;#x432;&amp;#x430;&amp;#x436;&amp;#x43D;&amp;#x438;&amp;#x442;&amp;#x435; &amp;#x445;&amp;#x430;&amp;#x440;&amp;#x430;&amp;#x43A;&amp;#x442;&amp;#x435;&amp;#x440;&amp;#x438;&amp;#x441;&amp;#x442;&amp;#x438;&amp;#x43A;&amp;#x438; &amp;#x43D;&amp;#x430; &amp;#x435;&amp;#x437;&amp;#x438;&amp;#x43A;&amp;#x430; &amp;#x441;&amp;#x430;: \n&amp;#x434;&amp;#x438;&amp;#x43C;&amp;#x438;&amp;#x447;&amp;#x43D;&amp;#x43E; &amp;#x43E;&amp;#x43F;&amp;#x440;&amp;#x435;&amp;#x434;&amp;#x435;&amp;#x43B;&amp;#x44F;&amp;#x43D;&amp;#x435; &amp;#x43D;&amp;#x430; &amp;#x442;&amp;#x438;&amp;#x43F;&amp;#x430; &amp;#x434;&amp;#x430;&amp;#x43D;&amp;#x43D;&amp;#x438;&amp;#x442;&amp;#x435;\n&amp;#x43C;&amp;#x43E;&amp;#x434;&amp;#x443;&amp;#x43B;&amp;#x438; - &amp;#x201C;&amp;#x432;&amp;#x44A;&amp;#x437;&amp;#x43C;&amp;#x43E;&amp;#x436;&amp;#x43D;&amp;#x43E;&amp;#x441;&amp;#x442; &amp;#x435;&amp;#x434;&amp;#x438;&amp;#x43D; &amp;#x43C;&amp;#x43E;&amp;#x434;&amp;#x443;&amp;#x43B; &amp;#x434;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x432;&amp;#x433;&amp;#x440;&amp;#x430;&amp;#x436;&amp;#x434;&amp;#x430; &amp;#x432; &amp;#x43C;&amp;#x43D;&amp;#x43E;&amp;#x436;&amp;#x435;&amp;#x441;&amp;#x442;&amp;#x432;&amp;#x43E; &amp;#x43A;&amp;#x43B;&amp;#x430;&amp;#x441;&amp;#x43E;&amp;#x432;&amp;#x435;, &amp;#x43A;&amp;#x430;&amp;#x442;&amp;#x43E; &amp;#x442;&amp;#x430;&amp;#x43A;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x43F;&amp;#x43E;&amp;#x441;&amp;#x442;&amp;#x438;&amp;#x433;&amp;#x430; &amp;#x43C;&amp;#x43D;&amp;#x43E;&amp;#x436;&amp;#x435;&amp;#x441;&amp;#x442;&amp;#x432;&amp;#x435;&amp;#x43D;&amp;#x43E; &amp;#x43D;&amp;#x430;&amp;#x441;&amp;#x43B;&amp;#x435;&amp;#x434;&amp;#x44F;&amp;#x432;&amp;#x430;&amp;#x43D;&amp;#x435;&amp;#x201D;\n&amp;#x43E;&amp;#x442;&amp;#x432;&amp;#x43E;&amp;#x440;&amp;#x435;&amp;#x43D;&amp;#x438; &amp;#x43A;&amp;#x43B;&amp;#x430;&amp;#x441;&amp;#x43E;&amp;#x432;&amp;#x435; - &amp;#x201C;&amp;#x43A;&amp;#x44A;&amp;#x43C; &amp;#x432;&amp;#x441;&amp;#x435;&amp;#x43A;&amp;#x438; &amp;#x43A;&amp;#x43B;&amp;#x430;&amp;#x441; &amp;#x43C;&amp;#x43E;&amp;#x433;&amp;#x430;&amp;#x442; &amp;#x434;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x434;&amp;#x43E;&amp;#x431;&amp;#x430;&amp;#x432;&amp;#x44F;&amp;#x442; &amp;#x43D;&amp;#x43E;&amp;#x432;&amp;#x438; &amp;#x430;&amp;#x442;&amp;#x440;&amp;#x438;&amp;#x431;&amp;#x443;&amp;#x442;&amp;#x438; &amp;#x438; &amp;#x43C;&amp;#x435;&amp;#x442;&amp;#x43E;&amp;#x434;&amp;#x438; &amp;#x43F;&amp;#x43E; &amp;#x432;&amp;#x440;&amp;#x435;&amp;#x43C;&amp;#x435; &amp;#x43D;&amp;#x430; &amp;#x438;&amp;#x437;&amp;#x43F;&amp;#x44A;&amp;#x43B;&amp;#x43D;&amp;#x435;&amp;#x43D;&amp;#x438;&amp;#x435; &amp;#x43D;&amp;#x430; &amp;#x43F;&amp;#x440;&amp;#x43E;&amp;#x433;&amp;#x440;&amp;#x430;&amp;#x43C;&amp;#x430;&amp;#x442;&amp;#x430;&amp;#x201D;\n&amp;#x431;&amp;#x43B;&amp;#x43E;&amp;#x43A;&amp;#x43E;&amp;#x432;&amp;#x435;\n&amp;#x430;&amp;#x43D;&amp;#x43E;&amp;#x43D;&amp;#x438;&amp;#x43C;&amp;#x43D;&amp;#x438; &amp;#x444;&amp;#x443;&amp;#x43D;&amp;#x43A;&amp;#x446;&amp;#x438;&amp;#x438;\n&amp;#x432;&amp;#x441;&amp;#x44F;&amp;#x43A;&amp;#x430; &amp;#x43E;&amp;#x43F;&amp;#x435;&amp;#x440;&amp;#x430;&amp;#x446;&amp;#x438;&amp;#x44F; &amp;#x432;&amp;#x440;&amp;#x44A;&amp;#x449;&amp;#x430; &amp;#x440;&amp;#x435;&amp;#x437;&amp;#x443;&amp;#x43B;&amp;#x442;&amp;#x430;&amp;#x442;\n&amp;#x432;&amp;#x441;&amp;#x438;&amp;#x447;&amp;#x43A;&amp;#x43E; &amp;#x435; &amp;#x438;&amp;#x437;&amp;#x43F;&amp;#x44A;&amp;#x43B;&amp;#x43D;&amp;#x438;&amp;#x43C; &amp;#x43A;&amp;#x43E;&amp;#x434; - &amp;#x201C;&amp;#x432;&amp;#x43A;&amp;#x43B;&amp;#x44E;&amp;#x447;&amp;#x438;&amp;#x442;&amp;#x435;&amp;#x43B;&amp;#x43D;&amp;#x43E; &amp;#x438; &amp;#x442;&amp;#x435;&amp;#x43B;&amp;#x430;&amp;#x442;&amp;#x430; &amp;#x43D;&amp;#x430; &amp;#x43A;&amp;#x43B;&amp;#x430;&amp;#x441;&amp;#x43E;&amp;#x432;&amp;#x435;&amp;#x442;&amp;#x435; &amp;#x432; &amp;#x43A;&amp;#x43E;&amp;#x439;&amp;#x442;&amp;#x43E; &amp;#x43C;&amp;#x43E;&amp;#x436;&amp;#x435; &amp;#x438;&amp;#x43C;&amp;#x430; &amp;#x446;&amp;#x438;&amp;#x43A;&amp;#x43B;&amp;#x438;, &amp;#x443;&amp;#x441;&amp;#x43B;&amp;#x43E;&amp;#x432;&amp;#x43D;&amp;#x438; &amp;#x43E;&amp;#x43F;&amp;#x435;&amp;#x440;&amp;#x430;&amp;#x442;&amp;#x43E;&amp;#x440;&amp;#x438; &amp;#x438; &amp;#x434;&amp;#x440;&amp;#x443;&amp;#x433;&amp;#x438;&amp;#x201D;\n&amp;#x438;&amp;#x437;&amp;#x447;&amp;#x438;&amp;#x441;&amp;#x442;&amp;#x435;&amp;#x43D; &amp;#x441;&amp;#x438;&amp;#x43D;&amp;#x442;&amp;#x430;&amp;#x43A;&amp;#x441;&amp;#x438;&amp;#x441; - &amp;#x201C;&amp;#x43D;&amp;#x435; &amp;#x435; &amp;#x437;&amp;#x430;&amp;#x434;&amp;#x44A;&amp;#x43B;&amp;#x436;&amp;#x438;&amp;#x442;&amp;#x435;&amp;#x43B;&amp;#x43D;&amp;#x43E;, &amp;#x434;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x43F;&amp;#x43E;&amp;#x441;&amp;#x442;&amp;#x430;&amp;#x432;&amp;#x44F;&amp;#x442; &amp;#x441;&amp;#x43A;&amp;#x43E;&amp;#x431;&amp;#x438;, &amp;#x442;&amp;#x43E;&amp;#x447;&amp;#x43A;&amp;#x430; &amp;#x438; &amp;#x437;&amp;#x430;&amp;#x43F;&amp;#x435;&amp;#x442;&amp;#x430;&amp;#x44F; &amp;#x438; &amp;#x434;&amp;#x440;&amp;#x443;&amp;#x433;&amp;#x438;&amp;#x201D;\n&amp;#x43C;&amp;#x435;&amp;#x442;&amp;#x430; &amp;#x43F;&amp;#x440;&amp;#x43E;&amp;#x433;&amp;#x440;&amp;#x430;&amp;#x43C;&amp;#x438;&amp;#x440;&amp;#x430;&amp;#x43D;&amp;#x435;\n&amp;#xA0;\n\n
  103. &amp;#x421;&amp;#x442;&amp;#x440;&amp;#x435;&amp;#x43C;&amp;#x435;&amp;#x436;&amp;#x44A;&amp;#x442; &amp;#x43D;&amp;#x430; Ruby &amp;#x435; &amp;#x434;&amp;#x430; &amp;#x441;&amp;#x43B;&amp;#x435;&amp;#x434;&amp;#x432;&amp;#x430; &amp;#x43F;&amp;#x440;&amp;#x438;&amp;#x43D;&amp;#x446;&amp;#x438;&amp;#x43F;&amp;#x430; &amp;#x43D;&amp;#x430; &amp;#x43D;&amp;#x430;&amp;#x439;-&amp;#x43C;&amp;#x430;&amp;#x43B;&amp;#x43A;&amp;#x430; &amp;#x438;&amp;#x437;&amp;#x43D;&amp;#x435;&amp;#x43D;&amp;#x430;&amp;#x434;&amp;#x430;. &amp;#x422;&amp;#x43E;&amp;#x432;&amp;#x430; &amp;#x43E;&amp;#x437;&amp;#x43D;&amp;#x430;&amp;#x447;&amp;#x430;&amp;#x432;&amp;#x430;, &amp;#x447;&amp;#x435; &amp;#x43F;&amp;#x43E;&amp;#x432;&amp;#x435;&amp;#x434;&amp;#x435;&amp;#x43D;&amp;#x438;&amp;#x435;&amp;#x442;&amp;#x43E; &amp;#x43D;&amp;#x430; &amp;#x435;&amp;#x437;&amp;#x438;&amp;#x43A;&amp;#x430; &amp;#x442;&amp;#x440;&amp;#x44F;&amp;#x431;&amp;#x432;&amp;#x430; &amp;#x434;&amp;#x430; &amp;#x435; &amp;#x438;&amp;#x43D;&amp;#x442;&amp;#x443;&amp;#x438;&amp;#x442;&amp;#x438;&amp;#x432;&amp;#x43D;&amp;#x43E; &amp;#x438; &amp;#x442;&amp;#x43E;&amp;#x439; &amp;#x434;&amp;#x430; &amp;#x440;&amp;#x430;&amp;#x431;&amp;#x43E;&amp;#x442;&amp;#x438; &amp;#x442;&amp;#x430;&amp;#x43A;&amp;#x430;, &amp;#x43A;&amp;#x430;&amp;#x43A;&amp;#x442;&amp;#x43E; &amp;#x43F;&amp;#x440;&amp;#x43E;&amp;#x433;&amp;#x440;&amp;#x430;&amp;#x43C;&amp;#x438;&amp;#x441;&amp;#x442;&amp;#x44A;&amp;#x442; &amp;#x431;&amp;#x438; &amp;#x43E;&amp;#x447;&amp;#x430;&amp;#x43A;&amp;#x432;&amp;#x430;&amp;#x43B;.\nRuby &amp;#x435; &amp;#x43E;&amp;#x431;&amp;#x435;&amp;#x43A;&amp;#x442;&amp;#x43D;&amp;#x43E;-&amp;#x43E;&amp;#x440;&amp;#x438;&amp;#x435;&amp;#x43D;&amp;#x442;&amp;#x438;&amp;#x440;&amp;#x430;&amp;#x43D;: &amp;#x432;&amp;#x441;&amp;#x435;&amp;#x43A;&amp;#x438; &amp;#x442;&amp;#x438;&amp;#x43F; &amp;#x434;&amp;#x430;&amp;#x43D;&amp;#x43D;&amp;#x438; &amp;#x435; &amp;#x43E;&amp;#x431;&amp;#x435;&amp;#x43A;&amp;#x442;, &amp;#x432;&amp;#x43A;&amp;#x43B;&amp;#x44E;&amp;#x447;&amp;#x438;&amp;#x442;&amp;#x435;&amp;#x43B;&amp;#x43D;&amp;#x43E; &amp;#x43A;&amp;#x43B;&amp;#x430;&amp;#x441;&amp;#x43E;&amp;#x432;&amp;#x435;, &amp;#x447;&amp;#x438;&amp;#x441;&amp;#x43B;&amp;#x430;, &amp;#x431;&amp;#x443;&amp;#x43B;&amp;#x435;&amp;#x432;&amp;#x438; &amp;#x441;&amp;#x442;&amp;#x43E;&amp;#x439;&amp;#x43D;&amp;#x43E;&amp;#x441;&amp;#x442;&amp;#x438;, &amp;#x43A;&amp;#x43E;&amp;#x438;&amp;#x442;&amp;#x43E; &amp;#x432; &amp;#x43C;&amp;#x43D;&amp;#x43E;&amp;#x433;&amp;#x43E; &amp;#x434;&amp;#x440;&amp;#x443;&amp;#x433;&amp;#x438; &amp;#x435;&amp;#x437;&amp;#x438;&amp;#x446;&amp;#x438; &amp;#x43E;&amp;#x43F;&amp;#x440;&amp;#x435;&amp;#x434;&amp;#x435;&amp;#x43B;&amp;#x44F;&amp;#x442; &amp;#x43A;&amp;#x430;&amp;#x442;&amp;#x43E; &amp;#x43F;&amp;#x440;&amp;#x438;&amp;#x43C;&amp;#x438;&amp;#x442;&amp;#x438;&amp;#x432;&amp;#x438;, &amp;#x430; &amp;#x43D;&amp;#x435; &amp;#x43A;&amp;#x430;&amp;#x442;&amp;#x43E; &amp;#x440;&amp;#x435;&amp;#x430;&amp;#x43B;&amp;#x43D;&amp;#x438; &amp;#x43E;&amp;#x431;&amp;#x435;&amp;#x43A;&amp;#x442;&amp;#x438;.\n\n&amp;#x41D;&amp;#x44F;&amp;#x43A;&amp;#x43E;&amp;#x438; &amp;#x43E;&amp;#x442; &amp;#x43D;&amp;#x430;&amp;#x439;-&amp;#x432;&amp;#x430;&amp;#x436;&amp;#x43D;&amp;#x438;&amp;#x442;&amp;#x435; &amp;#x445;&amp;#x430;&amp;#x440;&amp;#x430;&amp;#x43A;&amp;#x442;&amp;#x435;&amp;#x440;&amp;#x438;&amp;#x441;&amp;#x442;&amp;#x438;&amp;#x43A;&amp;#x438; &amp;#x43D;&amp;#x430; &amp;#x435;&amp;#x437;&amp;#x438;&amp;#x43A;&amp;#x430; &amp;#x441;&amp;#x430;: \n&amp;#x434;&amp;#x438;&amp;#x43C;&amp;#x438;&amp;#x447;&amp;#x43D;&amp;#x43E; &amp;#x43E;&amp;#x43F;&amp;#x440;&amp;#x435;&amp;#x434;&amp;#x435;&amp;#x43B;&amp;#x44F;&amp;#x43D;&amp;#x435; &amp;#x43D;&amp;#x430; &amp;#x442;&amp;#x438;&amp;#x43F;&amp;#x430; &amp;#x434;&amp;#x430;&amp;#x43D;&amp;#x43D;&amp;#x438;&amp;#x442;&amp;#x435;\n&amp;#x43C;&amp;#x43E;&amp;#x434;&amp;#x443;&amp;#x43B;&amp;#x438; - &amp;#x201C;&amp;#x432;&amp;#x44A;&amp;#x437;&amp;#x43C;&amp;#x43E;&amp;#x436;&amp;#x43D;&amp;#x43E;&amp;#x441;&amp;#x442; &amp;#x435;&amp;#x434;&amp;#x438;&amp;#x43D; &amp;#x43C;&amp;#x43E;&amp;#x434;&amp;#x443;&amp;#x43B; &amp;#x434;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x432;&amp;#x433;&amp;#x440;&amp;#x430;&amp;#x436;&amp;#x434;&amp;#x430; &amp;#x432; &amp;#x43C;&amp;#x43D;&amp;#x43E;&amp;#x436;&amp;#x435;&amp;#x441;&amp;#x442;&amp;#x432;&amp;#x43E; &amp;#x43A;&amp;#x43B;&amp;#x430;&amp;#x441;&amp;#x43E;&amp;#x432;&amp;#x435;, &amp;#x43A;&amp;#x430;&amp;#x442;&amp;#x43E; &amp;#x442;&amp;#x430;&amp;#x43A;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x43F;&amp;#x43E;&amp;#x441;&amp;#x442;&amp;#x438;&amp;#x433;&amp;#x430; &amp;#x43C;&amp;#x43D;&amp;#x43E;&amp;#x436;&amp;#x435;&amp;#x441;&amp;#x442;&amp;#x432;&amp;#x435;&amp;#x43D;&amp;#x43E; &amp;#x43D;&amp;#x430;&amp;#x441;&amp;#x43B;&amp;#x435;&amp;#x434;&amp;#x44F;&amp;#x432;&amp;#x430;&amp;#x43D;&amp;#x435;&amp;#x201D;\n&amp;#x43E;&amp;#x442;&amp;#x432;&amp;#x43E;&amp;#x440;&amp;#x435;&amp;#x43D;&amp;#x438; &amp;#x43A;&amp;#x43B;&amp;#x430;&amp;#x441;&amp;#x43E;&amp;#x432;&amp;#x435; - &amp;#x201C;&amp;#x43A;&amp;#x44A;&amp;#x43C; &amp;#x432;&amp;#x441;&amp;#x435;&amp;#x43A;&amp;#x438; &amp;#x43A;&amp;#x43B;&amp;#x430;&amp;#x441; &amp;#x43C;&amp;#x43E;&amp;#x433;&amp;#x430;&amp;#x442; &amp;#x434;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x434;&amp;#x43E;&amp;#x431;&amp;#x430;&amp;#x432;&amp;#x44F;&amp;#x442; &amp;#x43D;&amp;#x43E;&amp;#x432;&amp;#x438; &amp;#x430;&amp;#x442;&amp;#x440;&amp;#x438;&amp;#x431;&amp;#x443;&amp;#x442;&amp;#x438; &amp;#x438; &amp;#x43C;&amp;#x435;&amp;#x442;&amp;#x43E;&amp;#x434;&amp;#x438; &amp;#x43F;&amp;#x43E; &amp;#x432;&amp;#x440;&amp;#x435;&amp;#x43C;&amp;#x435; &amp;#x43D;&amp;#x430; &amp;#x438;&amp;#x437;&amp;#x43F;&amp;#x44A;&amp;#x43B;&amp;#x43D;&amp;#x435;&amp;#x43D;&amp;#x438;&amp;#x435; &amp;#x43D;&amp;#x430; &amp;#x43F;&amp;#x440;&amp;#x43E;&amp;#x433;&amp;#x440;&amp;#x430;&amp;#x43C;&amp;#x430;&amp;#x442;&amp;#x430;&amp;#x201D;\n&amp;#x431;&amp;#x43B;&amp;#x43E;&amp;#x43A;&amp;#x43E;&amp;#x432;&amp;#x435;\n&amp;#x430;&amp;#x43D;&amp;#x43E;&amp;#x43D;&amp;#x438;&amp;#x43C;&amp;#x43D;&amp;#x438; &amp;#x444;&amp;#x443;&amp;#x43D;&amp;#x43A;&amp;#x446;&amp;#x438;&amp;#x438;\n&amp;#x432;&amp;#x441;&amp;#x44F;&amp;#x43A;&amp;#x430; &amp;#x43E;&amp;#x43F;&amp;#x435;&amp;#x440;&amp;#x430;&amp;#x446;&amp;#x438;&amp;#x44F; &amp;#x432;&amp;#x440;&amp;#x44A;&amp;#x449;&amp;#x430; &amp;#x440;&amp;#x435;&amp;#x437;&amp;#x443;&amp;#x43B;&amp;#x442;&amp;#x430;&amp;#x442;\n&amp;#x432;&amp;#x441;&amp;#x438;&amp;#x447;&amp;#x43A;&amp;#x43E; &amp;#x435; &amp;#x438;&amp;#x437;&amp;#x43F;&amp;#x44A;&amp;#x43B;&amp;#x43D;&amp;#x438;&amp;#x43C; &amp;#x43A;&amp;#x43E;&amp;#x434; - &amp;#x201C;&amp;#x432;&amp;#x43A;&amp;#x43B;&amp;#x44E;&amp;#x447;&amp;#x438;&amp;#x442;&amp;#x435;&amp;#x43B;&amp;#x43D;&amp;#x43E; &amp;#x438; &amp;#x442;&amp;#x435;&amp;#x43B;&amp;#x430;&amp;#x442;&amp;#x430; &amp;#x43D;&amp;#x430; &amp;#x43A;&amp;#x43B;&amp;#x430;&amp;#x441;&amp;#x43E;&amp;#x432;&amp;#x435;&amp;#x442;&amp;#x435; &amp;#x432; &amp;#x43A;&amp;#x43E;&amp;#x439;&amp;#x442;&amp;#x43E; &amp;#x43C;&amp;#x43E;&amp;#x436;&amp;#x435; &amp;#x438;&amp;#x43C;&amp;#x430; &amp;#x446;&amp;#x438;&amp;#x43A;&amp;#x43B;&amp;#x438;, &amp;#x443;&amp;#x441;&amp;#x43B;&amp;#x43E;&amp;#x432;&amp;#x43D;&amp;#x438; &amp;#x43E;&amp;#x43F;&amp;#x435;&amp;#x440;&amp;#x430;&amp;#x442;&amp;#x43E;&amp;#x440;&amp;#x438; &amp;#x438; &amp;#x434;&amp;#x440;&amp;#x443;&amp;#x433;&amp;#x438;&amp;#x201D;\n&amp;#x438;&amp;#x437;&amp;#x447;&amp;#x438;&amp;#x441;&amp;#x442;&amp;#x435;&amp;#x43D; &amp;#x441;&amp;#x438;&amp;#x43D;&amp;#x442;&amp;#x430;&amp;#x43A;&amp;#x441;&amp;#x438;&amp;#x441; - &amp;#x201C;&amp;#x43D;&amp;#x435; &amp;#x435; &amp;#x437;&amp;#x430;&amp;#x434;&amp;#x44A;&amp;#x43B;&amp;#x436;&amp;#x438;&amp;#x442;&amp;#x435;&amp;#x43B;&amp;#x43D;&amp;#x43E;, &amp;#x434;&amp;#x430; &amp;#x441;&amp;#x435; &amp;#x43F;&amp;#x43E;&amp;#x441;&amp;#x442;&amp;#x430;&amp;#x432;&amp;#x44F;&amp;#x442; &amp;#x441;&amp;#x43A;&amp;#x43E;&amp;#x431;&amp;#x438;, &amp;#x442;&amp;#x43E;&amp;#x447;&amp;#x43A;&amp;#x430; &amp;#x438; &amp;#x437;&amp;#x430;&amp;#x43F;&amp;#x435;&amp;#x442;&amp;#x430;&amp;#x44F; &amp;#x438; &amp;#x434;&amp;#x440;&amp;#x443;&amp;#x433;&amp;#x438;&amp;#x201D;\n&amp;#x43C;&amp;#x435;&amp;#x442;&amp;#x430; &amp;#x43F;&amp;#x440;&amp;#x43E;&amp;#x433;&amp;#x440;&amp;#x430;&amp;#x43C;&amp;#x438;&amp;#x440;&amp;#x430;&amp;#x43D;&amp;#x435;\n&amp;#xA0;\n\n
  104. \n
  105. \n