Archive for августа, 2011

Проблема с графикой

августа 30, 2011  |  Published in Новости

Upd. Спасибо службе поддержки хостинг-провайдера Locum за скорый ответ и помощь в решении вопроса с пропажей графики. Теперь все ок!

В связи с моей глупостью — преждевременной переустановкой WP и некоторыми другими абстоятельствами, были потеряны все картинки к постам за 2011 год, надеюсь при помощии службы поддержки моего хостера удастся восстановить файлы.

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

Интервью с Александром Савиным об 111items.com и не только

августа 29, 2011  |  Published in Интервью

Доброго времени суток ув. читатели RubyDev!

Сегодня в моей виртуальной студии веб-разработчик Александр Савин. Александр сегодня расскажет нам о себе и об интересном проекте, аналогов которого я не встречал — .

- Александр, здравствуй! Представься пожалуйста читателям RubyDev.ru.

Меня зовут Александр Савин, я живу в Эспоо, Финляндия. В настоящий момент работаю в небольшой компании Boogie Software. Еще увлекаюсь стереофотографией и парашютами.

- В одном из комментариев на RubyDev ты упоминал о том, что работаешь над сервисом , расскажи пожалуйста что это и кому будет интересно. Как вообще появилась идея разработки такого сервиса?

, или 111 штук появились из идеи одного известного на просторах сети минималиста. Он пытался свести количество своих личных вещей к списку с менее чем 100 штук. К сожалению 100items.com был уже занят, поэтому я остановился на ближайшем красивом числе. Read the rest of this entry »

Tags: ,

О проблеме с RubyDev

августа 27, 2011  |  Published in Новости

UPD: Завтра RubyDev работать не будет некоторое время, будет проводится переустановка, изучение причины поломки и т.д. Посоветуйте красивую светлую тему с 2 колонками и широкой колонкой для основного контента, желательного резировая верстка.
UPD2: Нашел неполадку. Она скрывалась вот в этом плагине:
Google +1
автора Ve Bailovity (Incsub)
Странно то, что глюки начались не сразу после установки плагина, а через пару дней. Вместо этого плагина я нашел другой, сразу с кучей кнопок, пока все работает хорошо. Это одно из доказательств того, что PHP — говно и PHP-программисты в большинстве своем скарабеи. Можете меня ругать, но это очень страшно после Ruby смотреть на PHP код, хотя я и сам программировал на PHP некоторое время назад. Нужно еще раз поблагодарить моего друга Максима за наставление на верный путь — Ruby и Rails и купить ему завтра шоколаду=)

Кстати, если видите в блоге ошибку, опечатку, заблуждение, баг, глюк, несогласны с мнением автора, то обязательно пишите об этом в комментарии, это позволит мне исправить ошибку, опечатку и заполнить пробелы в коре головного мозга =)

Тщетно пытаясь опубликовать интервью с Александром Савиным обнаружил интересное поведение блога. Прежде чем я заметил это «интересное поведение», я проверил в phpMyAdmin базу и там реально все записи прошлых постов и запись с интервью хранятся в сохранности, но в WP на печать не выводятся. В чем дело?

Дело в том, что у WP вдруг появилась некоторый критичный размер поста, если пост превышает этот размер, то его не будет видно, а если не превышает, то все ок. Я все больше и больше убеждаюсь в том, что бог взломан и в его код встроен вредоносный код, однако, после обновления WP ничего не изменилось.

P.S. Интервью получилось очень интересным, но к сожалению опубликовать его не могу.

P.P.S. А еще я нашел вот это:

http://opiym90.blogspot.com/2011/04/ruby-rails-ubuntu.html

Практически полная копия моей статьи с небольшим редактированием и без какой-либо ссылки на RubyDev.

Ruby и красивый код: Рефаторинг поиска палиндромов

августа 27, 2011  |  Published in Ruby, Основы

В уютном бложеке одного из комментаторов нашел один пост-решение задачи, который меня заинтересовал ().

Задача состоит вот в чем:
Необходимо найти числа-палиндромы (которые при чтении слева и справа выглядят одинаково). Автор (к сожалению имени не знаю) предлагает следующее решение:

#Создаем массив чисел
numbers = []
(100).step(999,1) do |first|
  (100).step(999,1) do |second|
    numbers.push first * second
  end
end

#находим палиндром
polinoms = []
numbers.map do |subnumber|
  polinoms << subnumber if subnumber.to_s == subnumber.to_s.reverse
end

#максимальный палиндром
puts polinoms.max

Совет: Оборачивайте код в методы.
Read the rest of this entry »

Tags: ,

Initial post about QuasarCMS

августа 26, 2011  |  Published in Новости

"WordPress" == "Shit"
#=> true

"PHP" == "Shit"
#=> true

"Ruby" == "Programmer's best friend."
# => true

Задолбал меня этот WP кучей глюков, уродливым кодом, совершенно негибкой архитектурой, глупыми плагинами написанными с применением техники «Винигрет». Пишу свою полноценную CMS, о чем я уже говорил, но разработку которой временно приостановил. Теперь, в связи с последними событиями ставлю разработку CMS первой в списке приоритетов.

Название CMS — Quasar, очень амбициозное. Надеюсь это правда, что как корабль назовешь — так и поплывет.

Через несколько недель (2-3) я реализую минимальный функционал — каркас будущей CMS, сформулирую е философию и придумаю как бы правильно организовать процесс разработки. К разработке может присоединиться каждый желающий, кто знаком с Git, кто не знаком — читает имеющиеся на блоге статьи по Git, я также напишу скоро очень хороший и достаточно подробный гайд по Git. Для разработки будем использовать GitHub. Посоветуйте также какие-нибудь бесплатные веб-приложения для ProjectManagement’а, багтрекинга и т.д.

Разумеется, код написанный новичками будет представлять собой говнокод, но без работы над реальными проектами новички никогда не начнут писать хороший код по сему код будет от версии к версии улучшаться, к разработке могут подключаться опытные программисты, которые помогут другим участникам проекта улучшить свои навыки.

Долой WP, даешь хорошую, гибкую, расширяемую CMS!

Tags:

Баг в RubyDev

августа 26, 2011  |  Published in Новости

Благодаря вот этому комментарию: http://rubydev.ru/2011/03/rdr3t-podgotovka-rabochego-mesta/#comment-2146 я узнал, что куда-то пропал контент поста. После чего я решил его отредактировать,быть может случайно сохранился черновик — черновика нет, но пост отлично открывается в редакторе. Получается так, что содержимое просто не хочет вставляться в страницу. Почему? — Не знаю! Хочу спросить это у вас — моих читателей. Кто держит блог или занимается разработкой под WP, подскажите что может быть этому причиной. Кстати, «сокрытию» подверглись все посты из Rails3 учебника касательно разработки блога + старые посты из первого начинания учебника посвященные Arcive Record.

Еще интересно, что у всех удаленных постов появилось поле с названием ljID и целочесленным значением. После удаления этого поля запись все равно не появляется.

Не исключено, что это хакерская атака на блог, но зачем это и кому это нужно не понятно.

Буду благодарен, если кто-то подскажет как решить проблему или хотябы обезопасить себя от ее повторения. Спасибо!

Tags:

Делаем простую пагинацию в Rails 3 ч. 2

августа 24, 2011  |  Published in Ruby on Rails, Ruby on Rails 3

В предыдущей статье мы сделали самую простую пагинацию, которая выводит ссылки на все существующие страницы. В этой статье мы несколько расширим функционал.

 

 

 

Для начала откроем хелпер постов:

#../app/helpers/posts_helper.rb
module PostsHelper
end

В этот хелпер мы поместим весь код отвечающий за представление ссылок пагинации.
Сразу оговорюсь (предсказывая гневные комментарии типа: «Что за говнокод?»), что данная статья не ставит целью описать окончательный вариант разработки пагинации. Рефакторинг, добавление конфигурирования представления ссылок и т.д. будет рассмотрено в следующей статье или статьях. Это пошаговое руководство разработки пагинации, которое показывает не только правильный вариант пагинации, но и попутно демонстрирует распространенные у новичков ошибки.

В моей реализации пагинации я буду использовать три стандартных варианта представления:
- Вывод ссылок на все страницы,
- Вывод ссылок на первую и последнюю страницы а также ссылок на две предыдущие и две следующие страницы по отношению к текущей,
- Вывод ссылок на предыдущую и следующую страницы по отношению к текущей.

Read the rest of this entry »

Tags: ,

Делаем простую пагинацию в Rails 3 ч. 1

августа 23, 2011  |  Published in Ruby on Rails, Ruby on Rails 3

Для совсем молодых: Пагинация — это разбирие контента на страницы, например у вас есть 1000 статей и выводить их все на одной странице — очень жестоко по отношению к посетителю сайта. Вместо вывода всего содержимого на одной странице, мы разбиваем его на страницы, например по 10 статей на страницу и предоставляем ссылки на другие страницы.

Я отношусь к той когорте людей, что считает, что использование различных гемов для пагинации типа kaminari или will_paginate является лишним, точнее избыточным и не достаточно гибким. Кто-то может бросить в меня камень или помидор со словами: «Необходимо использовать готовые протестированые решения, а не писать свои велосипеды!», и будет прав, но, в случае с пагинацией я не согласен, ибо реализовать пагинацию очень просто. В этой статье я постараюсь привести пример разработки такой пагинации, которая будет удовлетворять вас, в 99% случаев.

Код нашей пагинации состоит из двух основных частей и роутинга:

1. Код выборки — отвечает за выборку записей из БД в соответствии со страницей для которой осуществляется выборка,
2. Код представления — отвечает за представление ссылок на страницы,
3. … и роутинг =)
Read the rest of this entry »

Tags: ,

Об идеальной веб-студии

августа 14, 2011  |  Published in Уголок философа

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

Из всех областей разработки ПО меня всегда интересовал больше веб, даже не знаю почему. По этому я описываю видение именно идеальной веб студии, но эго можно интерполировать на любую IT компанию.

Обстановка
В любом коллективе очень важна дружественная обстановка, она позволяет чувствовать себя именно в той тарелке, которая принадлежит вам. Дружественная обставновка обеспечивает концентрацию на главном — работе. Разлады в коллективе и ссоры не способствуют подьему боевого духа и усиленной работе мозговых клеток, но угнетают личность, делают ее нервной, агрессивной, отвлекают от работы и убивают всекое удовольствие от нее.

В Японии существует являние, которое я называю культом компании. Там человек считает свою компанию семьей, а руководство компании считает каждого сотрудника ребенком. В Японии также практикуется, так сказать, «пожизненная работа», не в том смысле, что до самой смерти, но в том, что люди там крайне редко переводятся на другую работу. Такая увлеченность, фанатизм и делают Японию одной из самых развитых экономик мира, а забота руководства компаний о людях сделало заработную плату одной из самых высоких в мире.
Read the rest of this entry »

jQuery ч.2: Введение в jQuery Селекторы

августа 13, 2011  |  Published in ClientSide, JavaScript, jQuery

jqueryjQuery ч.2: Введение в jQuery Селекторы
Селектором могут быть свойства тега, стили тега, имя тега, имя класса и идентификатора.
В этой статье мы будем использовать следущий HTML/CSS код:

<!DOCTYPE html>
<html>
  <head>
    <title>RubyDev.ru</title>
    <style>
      div.mega-div{width:640px;margin: 0 auto;background:#c00; border:10px solid #a22;padding:10px;overflow:hidden}
      ul{list-style-type:none;margin:0;padding:0;}
      a{color:#fff;font-size:11px;}
      div#nav{width:200px;background:#333;padding:10px;border:10px solid #222;float:left;margin-right:10px;}
      div#content{width:350px;background:#333;padding:10px;border:10px solid #222;float:left}
      #content p{color:#ddd;padding:0;margin:0;margin-bottom:10px;text-indent:20px;}
    </style>
    <script src="jquery-1.6.2.min.js"></script>
  </head>
  <body>
    <div class="maga-div">
      <div id="nav">
        <ul>
          <li><a href="/">RubyDev</a></li>
          <li><a href="#" style="link-style">This page</a></li>
          <li><a href="http://rubyonrails.org/">Ruby on Rails</a></li>
          <li><a href="http://rubyflow.ru">RubyFlow.ru</a></li>
          <li><a href="http://rubyflow.com" id="link-id">RubyFlow.com</a></li>
        </ul>
      </div>
      <div id="content">
        <p>Content content content Content content content Content.</p>
        <p>Content content content Content content content Content.</p>
        <p>Content content content Content content content Content.</p>
        <p>Content content content Content content <a href="#">content Content</a>.</p>
      </div>
    </div>
  </body>
</html>

Давайте сначала выберим все ссылки:
$(«a»)
Read the rest of this entry »

Tags: ,