Модуль определения источников посетителей сайта для Ruby on Rails

Автор: admin от 4-01-2014, 10:20, посмотрело: 1 643

Этот пост в основном о веб-аналитике: о том, как корректно определять источники посетителей вашего сайта, и о моём модуле для Ruby on Rails, который помогает в этом нелёгком деле. В конце есть небольшая часть, на которую я попрошу обратить внимание участников Rails сообщества: она обо мне и Rails. Но давайте по порядку.

Категория: Программирование / Веб-разработка

 

Как программист докатился до сайта про моду

Автор: admin от 4-01-2014, 01:51, посмотрело: 707

Как программист докатился до сайта про модуЯ девушка-программист. Поэтому мое дело варить борщ и писать статьи на хабр про собственные проекты. Недавно мы с epic_noob запустили два сайта. Один более или менее интересный (dress4weather.ru), а второй про моду (fashionhearts.ru). Расскажу, как мы их делали и как проходит полет.

Категория: Программирование / Веб-разработка

 

Аутентификация в Rails-приложениях с помощью Devise. Часть 1: базовая настройка

Автор: admin от 4-01-2014, 00:10, посмотрело: 1 127

Предлагаю вашему вниманию один из лучших, на мой взгляд, гемов для аутентификации в rails-приложениях. К сожалению, русскоязычной информации по данному гему очень мало, в том числе и на хабре, поэтому хочу осветить данную тему. Статья, в первую очередь, рассчитана на новичков и представляет из себя подробный туториал по настройке аутентификации на основе упомянутого гема. В первой части я освещу шаги по базовой настройке. Далее подробнее о геме.

Devise — это ruby-гем, предоставляющий возможности для аутентификации в rails-приложениях. Devise работает в связке с гемом Warden, который в свою очередь предоставляет сам механизм для аутентификации в rack-базированных ruby-приложениях. Основные особенности Devise описаны ниже:

  • основан на Rack;

  • является законченным MVC-решением, основанным на Rails;

  • разрешает вход в систему по нескольким моделям одновременно;

  • основан на модульности: использует только то, что вам действительно необходимо.


Итак, приступим к установке и настройке Devise для вашего rails-приложения. Дальнейший процесс для удобочитаемости будет разбит на отдельные шаги.

Категория: Программирование / Веб-разработка

 

О достоинствах спагетти-методологии

Автор: admin от 1-01-2014, 12:05, посмотрело: 2 146

О достоинствах спагетти-методологииНедавно к нам в компанию пришёл специалист из дружественной сервисной компании с презентацией классического спагетти-подхода к программированию. Ниже приведён пересказ его лекции. Презентация вызвала живой интерес и обсуждение (среди менеджеров).

В ходе лекции мы узнали, что существует методология проектирования, которая работает в большинстве простых и среднесложных проектов, и только для крупных и растущих рекомендуется её сменить, начав переписывать функции заново на некотором этапе.

Категория: Программирование / Веб-разработка

 

Оптимизация вызовов функций из воркеров (web-workers)

Автор: admin от 30-12-2013, 16:30, посмотрело: 2 291

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

Воркеры (Web-workers), это технология, позволяющая запускать изолированные участки кода в отдельном потоке. Код из воркера не тормозит работу графического интерфейса, и выполняется быстрее, чем код на странице, что делает использование воркеров очень привлекательным, для ресурсоёмких расчётов, типа рисования графики или криптографии.

Кто ещё не встречался с этой технологией — здесь можно ознакомится с её основами.

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

Категория: Программирование / Веб-разработка

 

Поиск недостующих ключей в yaml-файлах

Автор: admin от 30-12-2013, 16:05, посмотрело: 1 193

Иногда open source проекты переводятся на множество иностранных языков. С одной стороны это делает их более доступными для широкого круга пользователей, но с другой стороны, все эти переводы нужно поддерживать. Переводы обычно разделены по yaml-файлам и выделены в отдельную директорию, содержимое которой выглядит примерно так: en.yml, ru.yml, de.yml…

Категория: Программирование / Веб-разработка

 

Github + Markdown = Viewdocs

Автор: admin от 30-12-2013, 11:05, посмотрело: 1 046

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

Когда я перерос README на Github, я рассматривал только 2 варианта для документации: Github Pages и Read the Docs. К сожалению, у меня возникли проблемы с обоими. Главным образом, Read the Docs заставляет меня использовать reStructured Text, а Github Pages подразумевает поддержку отдельной ветки и использование генератора статичных страниц.

Категория: Программирование / Веб-разработка

 

Dokku: самый маленький PaaS

Автор: admin от 30-12-2013, 11:05, посмотрело: 1 610

Dokku — это мини-Heroku, сделанный на базе Docker и состоящий из менее чем 100 строк на Bash.

После установки Вы сможете публиковать свои приложения простым git push. Каждое приложение будет запущено в изолированном контейнере. В конечном итоге у Вас будет своя Heroku-подобная платформа.

Категория: Программирование / Веб-разработка

 

Кастомизация UICollectionViewLayout. Во имя искусства!

Автор: admin от 30-12-2013, 10:40, посмотрело: 2 156

Всем хэй хо!

Интро


Я работаю ios-разработчиком в провинциальном городе провинциальной страны ближайшего (по отношению к России) зарубежья. Около полутора лет назад страна решила, что я ей чего-то должен, а конкретно: должен год своей жизни, год низкоквалифицированного труда, год мечтаний о возвращении домой, к семье и работе… — одним словом, меня призвали в армию. И за этим делом я как-то пропустил выход iOS 6 со всеми ее фичами, в том числе и давно назревшего UICollectionView.
Разделавшись с нарядами, полигонами, уставом и прочими увлекательными вещами, я вернулся домой, снова начал работать, и конечно же проект, в котором заказчику было нужно отображение данных в виде того, что дизайнеры называют, «pinterest board», то есть собственно UICollectionView, не заставил себя ждать.

Категория: Программирование / Веб-разработка

 

Воплощение идеи Bitcoin для борьбы со спамом

Автор: admin от 30-12-2013, 10:00, посмотрело: 903

Суть решения


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

Пример использования


Например, у Вас есть форма обратной связи и вы не хотите её усложнять, например, капчей. Вы уже использовали все доступные способы понять, что с пользовательской стороны точно запущено нечто, похожее на браузер, что в браузере есть javascript, что пользователь вводит текст в форму более чем за несколько микросекунд и так далее. Но как бороться со случаем, когда практически все проверки пройдены, а спам есть?

Категория: Программирование / Веб-разработка