Pull to refresh
9
0
Ерин Илья @ilyaerin

User

Send message

TheRole 3. Авторизация для Ruby on Rails

Reading time13 min
Views16K
TheRole — гем для организации ролевого распределения на RoR сайте (с панелью управления)

TheRole

Gem Version Build Status 

tl;dr


Еще один (1001-ый) способ обеспечить разграничение прав в web-приложении. Концепт данного решения был довольно давно реализован на PHP, и позже был переписан на ruby. Ввиду простоты реализации описанный подход может быть применим в любом MVC фреймворке вроде Rails, Laravel и.т.д.

В тексте я попытался подробно раскрыть, не только техническую интеграцию решения в приложение, но и причины предлагаемой реализации.
Узнать больше о TheRole
Total votes 14: ↑13 and ↓1+12
Comments14

Chef или как управлять тысячей серверов

Reading time10 min
Views73K
Suck on my chocolate salty balls (c) ChefДавайте каждый попробует ответить на вопрос: как установить apache на сервер? Этот вопрос порождает ещё десяток: какая ОС стоит на сервере, какую версию ставить, где лежат конфиги по-умолчанию и т.д. и т.п.

А теперь давайте попробуем ответить на вопрос: как установить apache на 1000 серверов? Тут, при стандартном подходе, вопросов возникнет ровно в 1000 раз больше. Часть из вас наверняка подумали, что можно написать скрипт на shell/perl/python/ruby, который будет обходить все сервера и устанавливать apache, другая часть подумала о distributed shell'ах (PDsh, dsh, etc), кто-то же подумал монтировать rootfs серверов по NFS.

В ряде случаев выше предложенные варианты решений удовлетворительны, но на практике я нигде не видел полностью гомогенных систем (зачастую, внутри компании можно встретить не только разные версии ОС, но и различные дистрибутивы. Также в России/СНГ очень распространена каша из FreeBSD/Linux в ядре проектов), так что вряд ли за адекватное время будет возможно написать скрипт, который установит и настроит apache на зоопарке в 1000 машин под CentOS, Debian, Ubuntu, FreeBSD всевозможных версий.

По моим наблюдениям, очень мало IT подразделений, даже очень крупных компаниий, используют в своей работе SCM (Software Configuration Management). В этом посте я постараюсь описать все преимущества использования Chef в IT инфраструктуре на простых примерах и больших масштабах.

Если же, после столь короткого вступления, вы не прониклись идеей Chef, да и времени читать длинный технический пост у вас нет, то рекомендую вам пролистать до конца и посмотреть как используем Chef мы, Engine Yard, 37signals и подумать, можете ли вы переложить на него часть своей работы.
Читать дальше →
Total votes 97: ↑91 and ↓6+85
Comments26

Как жить с Docker, или почему лучше с ним, чем без него?

Reading time5 min
Views77K


Эта статья предназначена для тех, кто уже знает про Docker, знает для чего он. А вот что делать с этим дальше не знает. Статья носит рекомендательный характер и не посягает на звание «лучшая практика».

Итак, возможно вы прошли docker tutorial, докер кажется простым и полезным, но вы пока не знаете, как он может вам помочь с вашими проектами.

Обычно с деплоем возникает три проблемы:
  1. Как мне доставить код на сервера?
  2. Как мне запустить код на серверах?
  3. Как мне обеспечить одинаковость окружения, в котором запускается и работает мой код?


Как с этим поможет Docker под катом.
Читать дальше →
Total votes 48: ↑42 and ↓6+36
Comments41

Прокачка debian/ubuntu сервера для маленьких

Reading time9 min
Views184K
Всем привет. Недавно появилась необходимость поднятие VPS на debian 7 за скромные деньги.
О плясках с бубенчиком я бы хотел описать тут в подробностях.
Всё в этом посте было собрано на просторах интернета, доработано, разжевано и скинуто в одну статью.


Выбор пал на https://account.nt-vps.ru/register/ из-за низких цен и неплохой стабильности за эти деньги(правда 2 дня были серьезные проблемы с сетью). Был взят VPS за 5 рублей в сутки(или за 150р в месяц) с небольшими конфигурациями ОЗУ 128mb и 10Гб на диске.

В автоматическом режиме был установлен Debian 7.0 x86-64 Wheezy и VPS была готова к работе.
64 битная сиcтема была выбрана лишь для моих личных нужд, а вам же советую, на этом VPS, ставить x86.

Далее
Total votes 159: ↑119 and ↓40+79
Comments95

Как мы готовим React, Require и Backbone

Reading time5 min
Views35K
Как следует из официальной документации, React.js — V из MVC, и, как правило, вместе с ним применяются другие решения, в данном случае — Backbone.js и Require.js. А еще Jasmine, Karma и Grunt. Сегодня я поделюсь наброском проекта с применением этих инструментов.

Ссылка для нетерпеливых.

Хотелки


  • Прозрачная структура проекта;
  • Автоматизация всей рутинной работы;
  • Автоматизация тестирования;
  • Модульность;
  • Повторное использования кода;
  • Производительность.

Интересно что из этого получилось?
Total votes 27: ↑22 and ↓5+17
Comments34

OVH: заказываем микро-сервер у крупнейшего хостера в мире

Reading time3 min
Views110K
OVH — на данный момент является крупнейшим хостинг-провайдером в мире, 120 тысяч серверов в Европе и еще 360 тысяч — в Канаде. Дичайшая конкуренция на французском рынке держит цены на низком уровне (особенно на трафик).

Интерес эта компания у многих вызывала давно, до 2011-года они вообще работали только с резидентами ЕС, после — регистрироваться приходилось в разных отделениях в разное время, оставалось много неясных (для меня) вопросов. Их я и решил прояснить.

Под катом — краткий рассказ о том, в какой валюте придется платить, как избавиться от НДС, какие документы требуют и краткий тест выделенного сервера на Atom-е за 10 евро в месяц.
Читать дальше →
Total votes 75: ↑74 and ↓1+73
Comments127

Инкрементальный сборщик мусора в Ruby 2.2

Reading time9 min
Views9.1K
В этой статье рассматривается инкрементальный сборщик мусора (incremental GC), который был представлен в Ruby 2.2. Мы называем этот алгоритм RincGC. RincGC позволяет добиться более короткой паузы (GC pause time) по сравнению с Ruby 2.1.

Об авторе: Коичи Сасада (Koichi Sasada) работает в Heroku вместе с Nobu и Матц'ем над ядром ruby. Он написал YARV, сборщик мусора по поколениям (RgenGC) для Ruby 2.1, а также incremental GC для ruby 2.2 и данную статью.
Читать дальше →
Total votes 28: ↑27 and ↓1+26
Comments1

10 ошибок в Ruby / Ruby on Rails, которые легко исправить

Reading time4 min
Views31K
Программисты делают ошибки в коде. Некоторые просто раздражают (ошибки, не программисты – прим. переводчика), другие могут быть действительно опасными для приложения.
Представляю вам свою подборку из 10 распространенных ошибок разработчиков Ruby/RoR и советов о том, как их избегать. Надеюсь, они помогут сократить вам время отладки кода.
Читать дальше →
Total votes 27: ↑23 and ↓4+19
Comments38

Поиск VPS — теперь с поиском по выделенным серверам

Reading time6 min
Views15K
Всем привет!

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

Но для начала хочу отвлечься и сказать, что это последний пост на ХабраХабре. Администрация habrahabr.ru продлевает бесплатный блог только тем стартапам, которые не используют монетизацию.


Читать дальше →
Total votes 52: ↑47 and ↓5+42
Comments25

Xargs: многообразие вариантов использования

Reading time7 min
Views139K
xargs

Об утилите xargs написано очень много — что можно написать еще? Но если, что называется, копнуть поглубже, то выясняется, что во многих публикациях излагаются лишь самые основы, но нет главного: не объясняется, как можно применять xargs в реальной практике. Статей с разбором сложных и нетривиальных вариантов применения этого весьма полезного для системного администратора инструмента, к сожалению, очень мало. Именно поэтому мы написали свою статью и постарались включить в нее как можно больше примеров использования xargs для решения различных проблем.

Сначала мы рассмотрим принцип работы xargs и разберем примеры попроще, а затем перейдем к разбору сложных и интересных кейсов.
Читать дальше →
Total votes 68: ↑65 and ↓3+62
Comments44

Любителям Ruby и Coffeescript — очередной велосипед?

Reading time20 min
Views15K
image

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

Год назад, шатаясь по страницам сети, я наткнулся на статью про Coffeescript. Хм, интересно… Пары примеров кода было достаточно, чтобы заразиться идеей где-то его применить, но что то меня напрягало — хотелось мне какой-то фреймворк, который сам заботился бы о компиляции coffee в js. Так я нашел Rails, а вместе с ним ruby, gems, sass и кучу всего того, что привело меня в экстаз критическую точку невозврата…

Доброго времени суток, господа! Меня зовут Денис, и в этой статье я хочу поделиться с вами своими взглядами на разработку front-end'a и небольшой историей изобретения одного велосипеда, а вот очередного или нет — судить вам.
Читать дальше →
Total votes 29: ↑24 and ↓5+19
Comments20

Как я попал в Топ AppStore с простым приложением курса валют

Reading time10 min
Views126K

Резюме


Я хочу рассказать о том, как создал вполне заурядное и совсем не инновационное приложение, которое объективно стало лучшим в своём роде и даже некоторое время пребывало на самой вершине топа. Это не история успеха и не руководство к действию. Я просто хочу рассказать, как у меня получилось сделать самое популярное приложение в своём сегменте.
Читать дальше →
Total votes 126: ↑118 and ↓8+110
Comments69

14 вопросов об индексах в SQL Server, которые вы стеснялись задать

Reading time26 min
Views1.1M
Индексы — это первое, что необходимо хорошо понимать в работе SQL Server, но странным образом базовые вопросы не слишком часто задаются на форумах и получают не так уж много ответов.
Роб Шелдон отвечает на эти, вызывающие смущение в профессиональных кругах, вопросы об индексах в SQL Server: одни из них мы просто стесняемся задать, а прежде чем задать другие сначала подумаем дважды.


От переводчика
Данный пост является компиляцией двух статей Роба Шелдона:

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

Перейти к чтению
Total votes 40: ↑37 and ↓3+34
Comments44

Свежая выпечка от TestCafe — 14.2 release

Reading time5 min
Views9.7K


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

Теперь он содержит в себе полный набор инструментов для всего цикла создания тестов. Кроме этого, мы приложили усилия к совершенствованию функционального ядра TestCafe, это позволило добавить долгожданную поддержку cross-domain айфреймов и возможность загрузки файлов на сервер. Если Вам интересно поближе познакомиться с нашим замечательным продуктом и его нововведениями, прошу под кат — в уютненький уголок функционального тестирования от TestCafe…
Читать дальше →
Total votes 29: ↑28 and ↓1+27
Comments12

Дайджест интересных, топовых и фатальных материалов из мира Хабра за 2014 год

Reading time60 min
Views39K
В 2014 году на Хабре начали набирать обороты дайджесты интересных материалов и событий по разным тематикам. В этом посте будут рейтинги постов Хабра за 2014 год. Вдруг кто-то пропустил или думает, что почитать на выходных.

Для рейтинга был найден последний, судя по дате, пост 2013 года. Первый после него пост 2014 года был 11 января. Видимо автор начал писать его до НГ, а потом резко оказалось 11 января после праздников. А вот следующий уже ближе к началу года. В общем, возможно, есть минимальные погрешности.

За 2014 год на Хабре и GT, куда переехали некоторые посты, находится 7672 опубликованные записи. Это примерно 21 пост в сутки.

Из всех этих записей были выбраны 20 топовых по количеству плюсов, 10 антитоповых по количеству минусов, и по 15 интересных записей из разных хабов, где количество постов с рейтингом +20 было более 10. Интерес поста оценивался простой формулой «на глаз». Результат равен рейтингу*5 плюс количество попаданий в избранное*2 и плюс комментарии. Коэффициенты добавлены для того, чтобы минусные посты ушли дальше в минус и, если в них было много комментариев, они не вытеснили интересные посты из топа.

В общем, дайджест топовых, фатальных и интересных постов Хабра за 2014 год под катом.
Посмотреть длинный список постов
Total votes 70: ↑70 and ↓0+70
Comments17

58 признаков хорошего интерфейса

Reading time16 min
Views380K
У хорошего интерфейса пользователя высокая конверсия и его просто использовать. То есть, он хорош и для бизнеса, и для использующих его людей. Вот список опробованных нами идей.

1 Один столбец вместо нескольких


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

image
Читать дальше →
Total votes 226: ↑182 and ↓44+138
Comments102

Backbone.js для «чайников»

Reading time13 min
Views288K
Backbone.js для чайников
Как то поздним вечерком мне пришла мысль изучить Backbone.js и привязать его к уже написанному на jQuery сервису. Сервис уже серьёзно расширился и меня достало это нагромождение обработчиков кликов, запросов и логики. Поэтому, я как усердный школьник полез в официальную документацию. Но либо я тупой, либо мой английский меня подкачал, либо то и другое вместе, но я не черта не понял. Я прочитал уже второй раз, внимательно, и для особо одарённых мест использовал google translate. Прочитал также и пример ToDo List. Всё показалось понятно, ровно до той поры пока я не стал писать. После чего я взял всё что нашел по этой библиотеке, как на английском так и переводы. Прочтя кипу документации я решил, что сейчас вроде всё понял. Я напрягся, но… Не вышел каменный цветок у мастера Данилы, т.е. вышло, но это явно был не цветок, и камень как то неправильно пах. Тогда, как прилежный ученик, я решил написать «Hello, KittyWorld» с нуля. Попутно комментируя и сохраняя шаги в hg, у меня получилось введение в backbone.js framework для таких как я, особо одарённых.
Данные 7 шагов с комментариями.
Total votes 113: ↑110 and ↓3+107
Comments51

Шаблонизатор Slim — альтернатива Haml'y

Reading time5 min
Views75K
Давно хотел попробовать Haml, но всё не было времени. Но вот недавно обнаружил новый шаблонизатор, который мне сразу понравился. По словам создателей, он взял лучшее от Jade и Haml. Основная задача — сократить объем кода, при этом не делая его страшным и непонятным.

Вот так выглядит шаблон с использованием Slim:
doctype html
html
  head
    title Slim Examples
    meta name="keywords" content="template language"

  body
    h1 Markup examples
    #content.example1
      p Nest by indentation

    = yield

    - unless items.empty?
      table
        - for item in items do
          tr
            td = item.name
            td = item.price
    - else
      p No items found

    #footer
      | Copyright © 2010 Andrew Stone

    = render 'tracking_code'

    script
      | $(content).do_something();

Читать дальше →
Total votes 67: ↑61 and ↓6+55
Comments68

Как нормальные пацаны заходят в Мегу: 7 магазинов за месяц

Reading time6 min
Views125K

Мы в Меге Химки, фото одного из наших тайных покупателей на независимой проверке

Привет!
Тут рассказывали, что Мега — это невозможно. Скажем так, наш опыт показывает немного обратное. И, чтобы не плодить иллюзии, расскажу чуть подробнее.

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

У нас с весны открыт магазин в Химках, полтора года работает магазин в Нижнем Новгороде, был магазин в Меге Уфы. В декабре мы открыли ещё 7 магазинов в Мегах.
Читать дальше →
Total votes 242: ↑219 and ↓23+196
Comments148

Munin — мониторинг сети это просто!

Reading time3 min
Views111K

В жизни каждого системного администратора рано или поздно наступает момент, когда глаз и рук уже не хватает уследить за всеми серверами, то там, то там возникают какие-то проблемы, а для решения их очень хочется узнать что же было «до этого». И именно здесь на выручку приходят они — вел
икие и ужасные системы мониторинга. Долгое время я пользовался Nagios, и до сих пор, при всём удобстве, иначе как монстрообразным назвать не могу. В итоге реально использовались лишь 10% возможностей этой прекрасной системы. Всё изменилось, когда я наткнулся на Munin — прекрасное решение для мониторинга небольших сетей.
Обзор системы
Total votes 37: ↑33 and ↓4+29
Comments42

Information

Rating
Does not participate
Location
Воронеж, Воронежская обл., Россия
Date of birth
Registered
Activity