Skip to content

Instantly share code, notes, and snippets.

View psylone's full-sized avatar
💭
Be kind; everyone you meet is fighting a hard battle

Evgeniy Fateev psylone

💭
Be kind; everyone you meet is fighting a hard battle
View GitHub Profile
@psylone
psylone / lesson-6.md
Last active September 18, 2016 12:59
Задания к занятию 6

Задания к занятию 6

  • Структура каталогов Ruby проекта
  • Подключение файлов с помощью require
  • Модули в Ruby
  • Методы класса и модуля (статические методы)
  • Блоки в Ruby
@psylone
psylone / lesson-5.md
Last active September 14, 2016 01:26
Задания к занятию 5

Задания к занятию 5

  • Механизм валидации данных
  • Модули
  • Методы класса/модуля
  • Структура каталогов Ruby-проекта
  • Рефакторинг и распределение кода в нескольких файлах
@psylone
psylone / lesson-4.md
Last active September 3, 2016 21:21
Задания к занятию 4

Задания к занятию 4

  • Создание объектов
  • Метод-конструктор
  • Определение поведения (методов) и состояния (переменных экземпляра) объекта
  • Доступ к переменным экземпляра за пределами области видимости объекта
  • Объектная модель Ruby
  • Контекст выполнения программы
  • Ключевое слово self
  • Этапы проектирования класса
@psylone
psylone / ruby-inject-method-explanation.rb
Created March 3, 2016 11:55
Ruby #inject method explanation
var = %w[Ruby Java Scala Go JavaScript Elixir]
on = var.inject(Hash.new){ |result, language| result[language] = language.length; result }
p on
# Пояснения
# Итак, метод #inject позволяет проводить итерацию и одновременно "накапливать" результат в переменной
# Начальное значение этой накапливающей переменной мы задаём в аргументе метода #inject
# В нашем случае это Hash.new
# Далее начинается итерация 1
# Your init script
#
# Atom will evaluate this file each time a new window is opened. It is run
# after packages are loaded/activated and after the previous editor state
# has been restored.
#
# An example hack to log to the console when each text editor is saved.
#
# atom.workspace.observeTextEditors (editor) ->
# editor.onDidSave ->
@psylone
psylone / ikea
Last active February 19, 2016 14:11 — forked from anonymous/untitled
psylone-ikea
Links:
1. http://www.ikea.com/ru/ru/catalog/products/00142740/
2. http://www.ikea.com/ru/ru/catalog/products/10234777/
3. http://www.ikea.com/ru/ru/catalog/products/10251856/
4. http://www.ikea.com/ru/ru/catalog/products/30146280/
5. http://www.ikea.com/ru/ru/catalog/products/10234782/
Item numbers:
@psylone
psylone / lesson-1.md
Last active March 23, 2018 07:58
Задания к занятию 1

Задания к занятию 1

  • Типы данных Ruby
  • Ядро языка

1. Установка рабочего окружения

  • Для платформы Windows
def reverse(string)
# gets (input from STDIN) isn't necessary cause you get string argument in this method
# input = gets.strip
# You should split your string by empty string to get an array of it's chars
string_array = string.split('')
# Class name should be started from a capital letter
new_word = Array.new
class Ship
attr_accessor :name
def construct name = 'Andromeda'
@name = name
end
end
@psylone
psylone / gears.rb
Last active August 29, 2015 14:03
Gears - the way to control your logic
require 'active_support/all'
module Gears
class Base
private_class_method :new
def initialize *methods
attrs = methods.extract_options!
self.class_eval{ attr_accessor *attrs.keys }