• Stars
    star
    139
  • Rank 262,954 (Top 6 %)
  • Language
    HTML
  • License
    MIT License
  • Created about 9 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Rubyschool.us list of contents (Russian)

rubyschool

Rubyschool.us list of contents (Russian)

полезные ссылки: -регулировка скорости видео на Vimeo (расширение для Chrome) https://goo.gl/C78s5P

Урок 1

  • что такое Ruby
  • что такое Ruby on Rails
  • настраиваем окружение
  • устанавливаем программы

Примечание: Установить файловый менеджер far: Windows Linux

Если планируете перейти на Linux, то необходимо выбрать Linux Mint Cinnamon (English)

RubyInstaller это ruby-окружение для Windows

Урок 2

  • puts, print, gets. #, \n
  • переменные
  • специальные символы
  • .chomp, .to_i, .to_s

Урок 3

  • irb
  • типы данных: string, fixnum, float, integer
  • class, array. Hash
  • задача про сопротивление (закон Ома)
  • преобразование типов данных (to_i переводим в to_s)

Урок 4

  • интерполяция строк - #{}
  • поддержка русского языка в Windows (#encoding: 866 + ANSI)
  • удаление символа (.chomp!)
  • методы
  • пайпы ||
  • задачи на преобразование типов и интерполяцию строк
  • дз: вывести числа 1..10, определить чётные и нечётные

Урок 5

  • методы (продолжение): upto, capitalize, strip, whitespace
  • \n \t \r
  • .times (считает от 0)
  • .upto (считает от 1)
  • задача: вывести на экран ряд цифр с помощью upto
  • задача: “Привет #{name}, в вашем имени #{name.length} букв”

Урок 6

  • блоки
  • sleep, .times, do...end, rand
  • задания про upto, times, sleep
  • задача: рассчитать накопления (сколько будем откладывать и сколько месяцев)
  • formating disk, Matrix
  • дз: доделать задачу про накопления

Урок 7

  • if...end, операторы сравнения, exit
  • задача: алгоритм "вы довольны зарплатой?" (Да/Нет)
  • задача: посчитать, сколько гостей придёт
  • задача: сделать игру "однорукий бандит"

Урок 8

  • 1_000_000
  • калькулятор
  • if/else
  • задача: игра - угадываем число
  • break, while true, ranges, each
  • разница между .. и ...
  • rand

Урок 9

  • функции и методы (def)
  • глобальные переменные (@)
  • символы (:)
  • массивы, добавление в массивы

Урок 10

  • инициализация массивов (продолжение)
  • задачи: двигаем робота, удаляем/добавляем учеников в список
  • loop do

Урок 11

  • разбор дз камень-ножницы-бумага
  • хэши (hash)

Урок 12

  • отличия хэшей от массивов
  • задача: создаем словарик
  • задача: переделываем “однорукого бандита” с использованием хэшей
  • функции (описание и их вызов)
  • дз: “Tic-Tac-Toe” (крестики-нолики)

Урок 13

  • повторяем хэши
  • использование if в одну строку
  • merge
  • сохранение в файл >, >>
  • немного об HTML

Урок 14

  • введение в ООП
  • классы
  • объекты
  • attr_reader, attr_accessor

Урок 15

  • задачи с классами: самолеты и аэропорты, альбомы и песни
  • наследование
  • дз: сделать программу с классами Artist - Album - Song

Урок 16

  • статические методы
  • lambda-функции
  • yield
  • наследование
  • типы переменных

Урок 17

  • мета-программирование (send)
  • чтение и запись в файлы
  • получение списка папок и файлов в каталогах

Урок 18

  • GET/POST запросы
  • задача: программа для подбора пароля

Примечание: Для 18 урока используйте докер-контейнер, который устанавливается командой: docker rm xxx; docker run -it --name xxx -p 4567:4567 ro31337/rubybook-save-the-world После этого у вас будет доступен локальный сервер по адресу http://localhost:4567

Если непонятно, что написано, то читаем ниже:

  • скачиваешь программу Docker, устанавливаешь
  • из консоли запускаешь команду - вот эту длинную, что на сайте rubyschool.us (см.сноску для 18 урока). Если ты на винде, то запускай по отдельности то, что разделено точкой с запятой (даже если дает ошибку): docker rm xxx, потом docker run -it --name xxx -p 4567:4567 ro31337/rubybook-save-the-world
  • что-то качается и у тебя будет доступен адрес из браузера http://localhost:4567

Урок 19

  • установка DevKit на Windows
  • установка Sinatra
  • Helloworld на Синатре

Урок 20

  • установка и работа с Git
  • установка Ungit на Windows
  • продолжение работы с Sinatra

Урок 21

  • ещё немного HTML-разметки
  • основы CSS
  • Bootstrap
  • установка готового небольшого приложения Sinatra с включенным Bootstrap'ом

Урок 22

  • Рома создает репозиторий. а все копируют себе
  • ещё немного теории по git
  • доделываем приложение BarberShop для записи к парикмахеру (теперь уже с использованием Bootstrap)

Урок 23

  • доработка приложения BarberShop
  • немножко JS, jQuery
  • делаем colorpicker при помощи jQuery плагина

Урок 24

  • немного подробнее о коде из предыдущего jQuery плагина и просто JS и jQuery
  • валидация
  • сохранение значений в полях формы

Урок 25

  • настройка git для пушей без запроса пароля (по ключу ssh)
  • установка SQLite3
  • немного про синтаксис SQL
  • создание БД и таблиц

Урок 26

  • связываем приложение BarberShop с SQLite
  • устанавливаем datetimepicker
  • выборка из БД, вывод информации

Примечание: Для работы datetimepicker необходимо использовать файл builder\jquery.datetimepicker.full.js

Урок 27

  • разбираем домашнее задание
  • выводим из БД в веб (в таблицу)
  • создаем вторую таблицу, добавляем туда значения
  • делаем выборку из БД, заносим в выпадающее меню

Урок 28

  • повторение
  • новое приложение-блог (Leprosorium)
  • прием параметра из ссылки

Примечание: Если Win10x64 выдает: `require': cannot load such file -- sqlite3/sqlite3_native (LoadError) Нужно выполнить в консоли gem uninstall sqlite3 --all gem install sqlite3 --platform=ruby

Урок 29

  • введение в ActiveRecord
  • rake
  • tux
  • migrations

Урок 30

  • продолжение ActiveRecords
  • валидация при помощи ActiveRecord

Урок 31

  • общая инфа по HTTP и запросам
  • javascript

Урок 32

  • повторение материала про классы
  • работаем с localstorage
  • создаём магазин пиццы
  • разбираем вопросы, которые могут задавать на интервью при приёме на работу

Урок 33

  • продолжаем разбор вопросов, которые могут задавать на интервью при приёме на работу
  • немного про yield
  • пишем PizzaShop

Урок 34

  • небольшое объяснение про операторы для краткой записи операций x += 1; x ||= 1

  • продолжаем делать pizzashop (javascript)

  • устанавливаем Rails

  • объяснение структуры Rails

  • *Примечание: Если при запуске rails приложения выходит ошибка со следующим текстом

Puma caught this error: Error loading the 'sqlite3' Active Record adapter. Missing a gem it depends on? can't activate sqlite3 (~> 1.3.6), already activated sqlite3-1.4.0. Make sure all dependencies are added to Gemfile. (LoadError)

Необходимо в gemfile исправить следующeю строку: gem 'sqlite3' на gem 'sqlite3', '< 1.4'

Урок 35

  • ещё разбор вопросов, которые могут задавать на интервью при приёме на работу
  • разбираем тесты, представленные на Odesk
  • продолжаем писать PizzaShop

Урок 36

  • краткое объяснение REST
  • анализ написанного приложения

Урок 37

  • введение в pull-реквесты
  • разбираем задачи с собеседования
  • настройка отступов в Sublime text
  • запускаем Rails
  • режимы запуска Rails
  • генераторы Rails
  • создаем контроллер
  • создаем модель

Урок 38

  • разбираем задачи на интервью
  • повторение
  • разбираем REST маршруты
  • сравнениваем resource и resources

Урок 39

  • создаем основные контроллеры (по REST) для сущности articles
  • создаем статичные страницы в RoR

Урок 40

  • удаление статей
  • атрибуты тегов data- (turbolinks)
  • небольшой рассказ про render
  • отношения one-to-many
  • создаем форму для комментариев

Урок 41

  • про типы связей (many-to-many, one-to-many, one-to-one)
  • задача: доделать блог до минимального функционала (CRUD)
  • полезные сервисы для веб-разработки
  • rspec и тесты
  • пишем пару простых тестов

Урок 42

  • матчеры для тестов
  • пишем тест, закрывающий баги на github
  • devise: установка, минимальная настройка, создание ссылок для входа-выхода
  • Примечание: начиная с Rails 5 синтаксис before_filter устарел и заменён на before_action

Урок 43

  • делаем ссылки входа, выхода и т. п. с помощью devise

  • сессии и куки

  • чуть-чуть про json

  • добавляем поля username в devise

  • настраиваем блог для поля username

  • *Примечание: в devise начиная с версии 4 параметры Sanitizer Api изменились, используйте вместо этого:

  devise_parameter_sanitizer.for(:sign_up) << :username

это:

  devise_parameter_sanitizer.permit(:sign_up, keys: [:username])

Урок 44

  • “интервью” с другом Романа - Алексеем. Вопросы про Odesk (Upwork) и в целом про ruby и программирование
  • bootstrap
  • основы responsive-дизайна

Урок 45

  • принцип работы метода params в контроллерах (используется для приёма параметров через post)
  • разница между render и redirect_to
  • разница между before_filter и before_action
  • немного про хелперы
  • continuous integration и continuous delivery (CI и CD)
  • немного про vagrant

Урок 46

  • тестируем модели
  • устанавливаем rspec в приложение blog (и capybara)
  • устанавливаем shoulda-matchers
  • устанавливаем FactoryGirl: простейшая настройка, создание фабрики, тестирование
  • создаем фабрику с автоматическим назначением значений полей
    • Примечание: в gem Rake начиная с версии 11 отсутствует метод "last_comment", этот метод используется в rspec-rails поэтому если вы используете свежую версию Rake не используйте старую версию rspec-rails. Для этого впишите в Gemfile rspec-rails без версии, и тогда bundle install подтянет сразу новую версию.
group :development, :test do
  gem 'capybara'
  gem 'rspec-rails'
end
    • Примечание 2: когда вы будете использовать Shoulda Matchers его нужно будет настроить, для этого в сгенерированной rails_helper.rb при запуске rails g rspec:install (rspec-rails в версии от 3.0) добавьте
Shoulda::Matchers.configure do |config|
  config.integrate do |with|
    with.test_framework :rspec
    with.library :rails
  end
end

подробности http://matchers.shoulda.io/docs/v3.1.1/index.html в файл с тестом вместо

  require 'spec_helper'

добавьте

  require 'rails_helper'

require 'support/factory_girl'

    • Примечание 3: При настройке Factory_girl в rspec-rails старше 3.0 нужно добавить строчку в rails_helper
  require 'support/factory_girl'

Урок 47

  • понятие о приёмочном тестировании (acceptance testing)
  • пишем тест для capybara
  • понятие о i18n (internationalization)
  • применение i18n в capybara
  • before и after hooks
    • Примечание: ссылка на capybara изменилась теперь: https://github.com/teamcapybara/capybara#using-capybara-with-rspec , для её настройки согласно документации нужно добавить в ваш файл rails_helper строчку (в rspec_helper для старых версий), хотя работает и без этой строки.
  require 'capybara/rspec'

Урок 48

  • Scaffolding (генерация модели, вида и контроллера одной командой)
  • недостатки скаффолдинга
  • создание небольшого приложения при помощи скаффолдинга
  • кратко про отправку имейлов

Урок 49

  • полиморфные ассоциации (краткое объяснение что это такое и создание небольшого примера)
  • паттерны
  • Singleton. Разбор на примере.
  • типы переменных в классе, принадлежащие экземпляру класса и классу

Урок 50

  • регулярные выражения

More Repositories

1

libretaxi

Open source Uber #deleteuber
Go
3,831
star
2

bigoposter

Big-O Complexities / Poster of common algorithms used in Computer Science
JavaScript
1,649
star
3

rubyisforfun

269
star
4

jquery.ns-autogrow

Automatically adjust textarea width/height based on user input. Non-sucking version.
CoffeeScript
166
star
5

hacktunnel

HackTunnel is web-based peer-to-peer chat software for anonymous and encrypted communication written with Go language
JavaScript
97
star
6

libretaxi2

Open source Uber PoC #deleteuber
92
star
7

awesome-aws-alternatives

Awesome AWS alternatives/replacements
71
star
8

jQuery-Countdown-Timer

jQuery countdown timer plugin (2011)
JavaScript
60
star
9

first-visit-js

Tiny jQuery plugin to display a message to the user on the first visit to a page
JavaScript
59
star
10

rubyisforfun_ru

Руби для романтиков
33
star
11

libretaxi-www

LibreTaxi.org website html markup
HTML
20
star
12

yaask

Make your yaml configurable with interactive configurations!
JavaScript
16
star
13

gulp-react-easy

Gulp plugin to simplify React development with ES6.
JavaScript
13
star
14

exbot

Currency Exchange Bot for Telegram
JavaScript
9
star
15

wellwellapp

Sprint feedback tool we use at the end of our sprints (Meteor)
JavaScript
7
star
16

rubybook

Ruby Is For Fun - website
CSS
7
star
17

FinamTicksDownloader

Ticks Downloader for Finam.ru
C#
5
star
18

BetterRobokassa

Better support for Robokassa.ru for .Net
C#
5
star
19

pebble-meets-gopro

Pebble watch as a helper timer for GoPro action camera (under development)
C
4
star
20

zendesk-challenge

Zendesk Challenge
Ruby
4
star
21

heap-challenge

Just a random heap challenge ;)
Ruby
4
star
22

MyEnvelopeTester

Testing the theory of two envelopes with the Cover's strategy
C#
4
star
23

braintree-challenge

Braintree Challenge
Ruby
4
star
24

just-ror

Vagrant Ubuntu 14 box for just Ruby and Rails, easily customizable with nokogiri fix
Shell
4
star
25

react-boilerplate

Building TDD React boilerplate with ES6 series
JavaScript
4
star
26

tm-www

Ruby
4
star
27

RomanPushkin-RiskManager-RU

Риск-менеджер для терминала Метатрейдер 5
4
star
28

RomanPushkin-FORTS-Info

FORTS (Futures & Options on RTS) Info Indicator for Metatrader 5
3
star
29

RomanPushkin-PriceGrid

Price Grid Indicator for MetaTrader 5 (MQL)
3
star
30

hacker-rank-simpledb

HackerRank SimpleDB challenge for Thumbtack, May-June 2016
Java
3
star
31

meteor-note

Evernote inspired open source and secured notetaking app built with Meteor
3
star
32

react-easy-example1

Example for react-easy-package
JavaScript
3
star
33

RomanPushkin-DailyGrid

Daily Grid indicator for Metatrader5 (MQL)
3
star
34

predix-jpa-cf

Java Predix app example how to use Database Service with Redis Service cache
Java
3
star
35

problems-solutions

Problems and solutions
3
star
36

markdown-to-gist

Covert your markdown code snippets to gists (built for Jekyll, but can be used anywhere)
Ruby
3
star
37

RomanPushkin-HourlyGrid

Hourly Grid indicator for Metatrader5 (MQL)
3
star
38

lev-sight-words

JavaScript
2
star
39

playlistq

Watch YouTube videos together. Demo at http://playlistq.com. First draft at http://github.com/0x414f/playlistq3
JavaScript
2
star
40

math-apps

Math apps for a firstgrader
Ruby
2
star
41

screenshot_macos

ScreenCaptureKit experiments
Go
2
star
42

browser-car-detection

Simple car type detection in the browser
JavaScript
1
star