Archive for февраля, 2011

Simple Present оно же Present Indefinite

февраля 28, 2011  |  Published in English, Grammar, Новости

english_americanSimple Present  оно же Present Indefinite

Простое настоящее время / Настоящее неопределенное время

[VERB] + s (es) в третьем лице

Примеры:

* You speak English.
- Ты говоришь по-английски.

* Do you speak English?
- Ты говоришь по-английски?

* You do not speak english.
- Ты не говоришь по-английски.

Simple Present применяется:

1. При описании постоянно повторяющегося действия.


Используйте SimplePresent для выражения действия, которое в действительности является регулярным, постоянным, обычным. Действие может быть привычкой или хобби, ежедневным событием, намеченным событием или чем-то, что часто происходит. Также Simple Present может использоваться для сообщения о чем-то, что человек постоянно забывает или чего он обчно не делает. Read the rest of this entry »

Tags: ,

Логотип для RubyDev Rails3 Tutorial

февраля 27, 2011  |  Published in Новости

Есть 4 варианта логотипа для RubyDev Rails 3 Tutorial, один был мне прислан по почте Николаем Пепекиным, за что ему огромная благодарность, а три остальных на быструю руку были набросаны мною сегодня (прочтите за скудность фантазии). Собственно нужно выбрать лучший, голосуем! Все, что вам нужно сделать — поставить в комментариях циферку соответствующую порядку следования вариантов логотипа. Отсчет начинается с 1, а не с 0, как многие могли подумать =) rubydev rails 3 tutorial rubydev rails 3 tutorialUPD. Глосование будет продолжаться, пока не будет опубликован первый пост из RDR3T, в котором вы и увидите логотип — победитель. По сколько с публикацией статей в RDR3T я спешить не буду, как то было с прошлыми не совсем удачными постами, то прием логотипов продолжается. Вы можете поменять свой выбор, учитываться будет ваш последний комментарий. Большое спасибо за участие в жизни блога!

&& и || vs AND и OR

февраля 27, 2011  |  Published in Ruby, Основы

Статья была признана некоректной и отредактирована! Большая благодарность комментаторам, в частности dre3k

До момента написания предыдущего поста, я и не знал, что && и and чем-то отличаются. В комментариях к предыдущему посту я узнал,что отличия существуют, и как оказывается достаточно значительные.

Что за различия?
&& и AND, || и OR одного поля ягоды, они выполняют абсолютно одинаковую функцию, однако имеют такое, несколько скрытое различие, как приоритет выполнения или старшинство. && и || имеют приоритет выше, чем AND и OR и именно на этом различии основываются все особенности работы с каждым из операторов. Давайте рассмотрим как же приоритет выполнения влияет на работу программы:

nil and a || b соответствует nil and (a || b) и мы получим nil
nil && a || b соответствует (nil and a) || b и мы получим b

Еще примеры:

c = 5 and 10 #=> 10
c #=> 5

Данное выражение соответствует выражению: (c = 5) && 10, поскольку у  and приоритет ниже, чем у «=».

c = 5 && 10 #=> 10
c #=> 10

Данное выражение соответствует выражению: с = (5 && 10) , поскольку у && приоритет выполнения выше, чем у «=»

Оператор and можно представить как постфиксный if:

puts "Hello!" if name == "Vladimir!"

идентично:

name == "Vladimir" and puts "Hello!"

Последовательность из OR можно представить как цепочку из «если здесь провал — попробуй это, если и здесь провал — пропробуй это, …», пример:

percent = 30
percent >= 51 or percent = 52

- примерно такой механизм использовали, на последних выборах в Украине.

В Perl и PHP существует такая идиома, как:

do_comthing or die do_something_else

Эту идиому можно реализовать в Ruby не только через unless, но и через or.

От куда взять все эти приоритеты операторов?

Tags:

Ruby и крассивый код #5: Рекомендации по стилю

февраля 24, 2011  |  Published in Ruby, Основы

samurai
Сегодня немного налажал с кодом и решил написать статью так сказать для закрепления представлений о хорошем коде в голове, ну и разумеется для того, чтобы поделиться имеющимися бедными познаниями с другими новичками. Более-менее опытным разработчикам все это уже, наверняка, известно, поэтому, если вы себя таковым считаете — можете не читать.
Read the rest of this entry »

Tags: , ,

Политика перфекционизма или phoenix-like tutorial

февраля 23, 2011  |  Published in Новости

Последних два поста, которые я отнес к RubyDev Rails 3 Tutorial, были совсем хилы и нежизнеспособны, это было доказано Романом Бабенко. Из этого были сделаны следущие выводы:

1. RubyDev должен быть максимально качественным ресурсом.

2. Подготовка статей должна быть более тщательной без какой-либо фантазии, только факты.

3. Пересмотрена структура учебника, предыдущие две статьи больше не входят в него, но остаются на блоге так как на них уже есть несколько ссылок.

4. Не сложно догадаться, что RubyDev Rails 3 Tutorial не успев родиться перевозрождается. Статьи будут более объемными не только в плане «многа букоф», но в смысловом плане.

5. Статьи будут постоянно обновляться. Внизу каждой статьи будет вестись ChangeLog, где будут записываться все изменения и дополнения. Это позволит держать учебник в актуальном состоянии.

6. Ищутся рецензенты — люди, которые уже имеют приличный опыт в работе с Rails и могут оценить статьи, указать ошибки и вопросы, которые следует так же разобрать в статье. Надеюсь, Роман примет участие.

Есть еще хорошие новости:
Форсированный английский! Теперь переводы и статьи касательно изучения английского языка будут выходить с максимальной частотой. Каждый день, наверняка не выйдет публиковать, однако буду к этому стремиться.

Я уже публиковал объявление о том, что RubyDev Rails 3 Tutorial требуется логотип, если вы себя чувствуете уверенно в плане дизайна — присылайте свои логотипы мне на почту egotraumatic{dog}gmail.com, не забудьте указать свое имя и адрес сайта. Уже был получен один логотип, за что его создателю большое спасибо за старания, однако качество исполнения хромает. Логотип должен быть в формате *.psd, разрешние произвольное, но не слишком маленькое, слишком длинное, слишком широкое.

Tags:

Rails 3 Tutorial: Модели: Простая выборка данных

февраля 20, 2011  |  Published in Ruby on Rails, Ruby on Rails 3

Ruby on Rails 3Прежде чем начачать, нам необходимо создать модель, таблицу и записи в таблице. Как это сделать читайте в статье Rails Tutorial: Модели: Введение. Итак, нам необхобима модель Person (id: integer, name: string, last_name: string, age: integer, sex: string, created_at: datetime, updated_at: datetime).

В этой статье мы рассмотрим следущие простейшие методы выборки или поиска данных:

.all
.first
.last
.find
.where
.order
.limit

… а также обслуживаемые с помощью method_missing методы:

find_by_
find_by_*_and_*
find_all_by_
find_all_by_*_and_* Read the rest of this entry »

Tags: , , ,

Rails 3 Tutorial: Модели: Введение

февраля 19, 2011  |  Published in Ruby on Rails, Ruby on Rails 3

Ruby on Rails 3По многочисленным просьбам в количестве 9 штук, начинаю рубрику  на RubyDev — Rails 3 Tutorial в которой я пройдусь по всем составляющим фреймворка Rails, а затем пойдут более практичные и подробные статьи, например о деплое, о внутреннем устройстве Ruby on Rails и т.д.. Учебник не будет самодостаточным, часто на страницах учебника я буду ссылаться на самостоятельные статьи. Ах да, еще статьи будут публиковаться в не  правильном порядке, статьи размещенные в правильной последовательности вы найдете на специальной странице, которую я создам, когда их наберется несколько штук.

Существует такой шаблон / подход к разработке приложений, как MVC, который состоит в том, что приложение разбивается на 3 части: Model, View и Controller, каждая из которых выполняет свою определенную роль. В этой статье я не буду рассказывать о том, что такое MVC, просто скажу, что такой подход к разработке хорош тем, что при внисении изменений в одну часть приложения, программисту, по идее, не нужно переписывать все приложени.

Model — модель, это та часть приложения, которая отвечает за работу с данными. В Rails модель реализована в виде ActiveRecord, однако, благодаря модульности привнесенной в Rails из Merb, вы можете использовать другие средства работы с базой данных, например DataMapper или Sequel. В данном цыкле статей речь будет идти лишь о ActiveRecord, однако, в будущем, возможно, будут опубликованы статьи по работе с DataMapper и Sequel.
Read the rest of this entry »

Tags: , , ,

Дела бложные

февраля 18, 2011  |  Published in Новости

Нашел в сети несколько неприятных мне отзывов по поводу RubyDev и его автора, то есть меня, которые по непонятным причинам включали в себя достаточно неприятные выражения. Собственно чужое мнение меня слабо интересует, кроме тех случаев, когда это мнение авторитетного человека, и я не сильно стремлюсь кому-то нравится и угождать, кроме очень узкого круга людей, но все-таки интересно мнение читателей RubyDev и ваше отношение к блогу. Конкретно вопросы:

1. Чего нехватает блогу?

2. Повествование на какие темы хотелось бы увидить в блоге? — Это не значит, что я возьмусь сразу же об этом писать, сейчас я и так сильно загружен, однако на будущее буду знать и обязательно, когда-нибудь напишу на интересующие вас темы. По поводу уроков по Rails 3 мне уже пришло 9 писем, так как просба весьма популярна, то об этой теме я уже начинаю готовить посты (авторские, а не переводы, поэтому будет за что меня попинать!).

3. Каково ваше отношение к RubyDev, почему?

4. Что думаете о новой рубрике «English», что хотели бы в ней увидить? Опять таки, пока рубрика развивается в виде перевода статей, так сказать БАЗЫ, для того, чтобы человек впервые узнавший об Английском языке мог более-менее разобраться с основами граматики. Когда последуют авторские статьи, опять таки с радостью приму любую критику так как мои знания английского весьма скромны и большиинство постов это личные заметки служащие в первую очередь  удовлетворению потребностей автора блога в систематизации, закриплении и расширений знаний Английского языка.

Пользуясь случаем хочу поблагодарить тех двух людей, которые поставили + в карму на хабре! Собственно нужно еще +1, чтобы я мог пиарить RubyDev =)

Кстати, кто не знает, на RubyDev можно абсолютно бесплатно размещать рекламу собственных проектов в том числе коммерческих и open-source, которые разработаны на Ruby, Rails  и т.д. Единственным требованием является наличие технических подробностей разработки, а если это какой-нибудь gem, то статья должна содержать описание работы и т.д., в общем все, что не просто рекламирует вашу разработку, но и интересно пользователям. Естественно реклама должна быть представлена в виде поста, можно с картинками. Рекламные посты можете присылать на egotraumatic<snail>gmail.com в виде архива со статьей в любом открываемом gedit’ом формате и картинками. Не забывайте указывать свои имя, адреса репозиториев и прочую информацию о себе, которая может пригодиться читателям RubyDev для контакта с вами (если вам, разумеется, необходим контакт с читателем).

Спасибо за внимание!

P.S. На RubyDev самые лучшие читатели, чем я, безусловно, горжусь!

Tags:

Active (активная) и Passive (пассивная) формы глагола (verb).

февраля 17, 2011  |  Published in English, Grammar

english_americanПредложения могут быть активными и пассивными, благодаря чему обладают активными и пассивными формами. Вы должны научиться распознавать разницу между активной и пассивной формами для того, чтобы хорошо знать Английский язык.

Активная форма (Active Form)

В активных предложениях, существо или вещь производящая действие является субъектом (subject) предложения, а существо или вещь на которую оказывают это действие называется объектом (object). большинство предложений в Английском языке имеют активную форму.

[Субъект действия]+[глагол]+[объект действия]

Примеры:

* The professor teaches the students.
- Профессор учит студентов.

* John washes the dishes.
- Джон моет посуду.

Read the rest of this entry »

Tags: ,

Общие (полиморфные) адреса в Rails используя полиморфизм и вложенные атрибуты

февраля 15, 2011  |  Published in Ruby on Rails, Ruby on Rails 3

Ruby on Rails 3Представьте, что вы разрабатываете приложение электронного магазина и у вас имеются две модели пользователей: клиенты и сотрудники. Для обеих моделей в базе необходимо хранить адреса и вы не имея опыта в раработке должно быть поместите информацию об адресах в таблицы с клиентами и сотрудниками, что, в дальнейшем может оказаться не правильным решением. Следующим шагом в вашей эволюции как разработчика будет создание отдельных таблиц для адресов клиентов и адресов сотрудников, так как адреса есть отдельными сущностями, которые должны представляться отдельной моделью и храниться в отдельной таблице. Однако в чем различие между адресами или контактными данными клиента и сотрудника? Если разницы нет, то здесь начинается следующая ступень вашей эволюции как веб разработчика — вы помещаете адреса клиентов и сотрудников в одну таблицу. Такая архитектура позволяет выDRYить ваш код от повторения и не запутываться в десятках ненужных таблиц. В данном случае адрес является отдельной сущностью, моделью, которую мы используем в других моделях — моделях клиентов и сотрудников и можем использовать еще в множестве других моделей, которым необходимы адреса. Как же нам передавать объект в различные модели? — На самом деле все достаточно просто и нам поможет в этом полиморфизм!
Read the rest of this entry »

Tags: