Search
Write a publication
Pull to refresh
198
0
Сергей Новоградцев @snipsnap

Java разработчик

Send message

Настройка Guard для автоматизации Ruby on Rails разработки

Reading time7 min
Views17K
Всем привет! По моему мнению, каждый программист должен стремиться к автоматизации и оптимизации всего, что движется и еще нет. В этой статье будет рассказано о том, как автоматизировать рабочий процесс Ruby on Rails разработчика с помощью Ruby гема под названием Guard. Эта статья в первую очередь полезна Ruby разработчикам, но может пригодиться и другим.

image

Что такое Guard?


Что ж такое-то это?

Рубин на рельсах: продакшен и деплой для чайников

Reading time13 min
Views33K
Год назад я довел свое первое рельсовое приложение до приемлемого вида. Вопрос использования готового кода в продакшене ранее меня не заинтересовал. С чего вдруг? Несложный язык, лаконичный фреймворк — уж деплой-то явно не сложнее, чем преодоление ментального тормоза после PHP.

Команда разработчиков Rails рекомендует использовать Phusion Passenger, он что-то вроде mod_php — установил, разместил файлы и полетел. На момент изучения вопроса на форумах хватало баталий о производительности решений; Passenger в них фаворитом не значился.

Совета относительно альтернативы я спросил у техдиректора сайта с миллионом уников в сутки — тот отправил меня гуглить на тему Nginx и Unicorn. Инструкция по настройке продакшена, найденная на Хабре, датировалась 2009 годом. Помимо прочего, ее просто переполняли изъяны уроков «Как нарисовать сову».

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

Биллинг в SaaS-приложениях на Ruby on Rails. Продолжение про 3-D Secure

Reading time2 min
Views3.9K
Здравствуй, Хабрасообщество!

Сегодня я расскажу вам, как и обещал в прошлой статье, про реализацию 3-D Secure authentication в SaaS-приложениях. 3-D Secure добавляет ещё один шаг аутентификации для онлайн-платежей. Обычно происходит редирект на сайт банка-эмитента, где пользователю предлагается ввести проверочный смс-пин для подверждения платежа. Этот процесс жутко неудобен, ваши клиенты обязаны уходить с вашего сервиса, чтобы пройти эту аутентификацию.

В LPCloud мы решили сделать 3-D Secure аутентификацию во фрейме, чтобы пользователь не покидал наш сервис.

Читать дальше →

Как быстро и просто написать DSL на Ruby

Reading time14 min
Views19K
Представленный текст является переводом статьи из официального блога компании ZenPayroll. Несмотря на то, что в некоторых вопросах я не согласен с автором, общий подход и методы, показанные в этой статье, могут быть полезны широкому кругу людей, пишущих на Ruby. Заранее извиняюсь за то, что некоторые бюрократические термины могли быть переведены некорректно. Здесь и далее курсивом выделены мои примечания и комментарии.

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

ZenPayroll сейчас создает общегосударственный сервис (реализован уже в 24 штатах), что означает, что мы удовлетворяем множеству требований, уникальных для каждого штата. Поначалу мы заметили, что тратим много времени на написание шаблонного кода вместо того, чтобы сконцентрироваться на том, что делает каждый штат уникальным. Вскоре мы поняли, что эту проблему мы можем решить, используя преимущества создания DSL, чтобы ускорить и упростить процесс разработки.

В этой статье мы создадим DSL, максимально близкий к тому, что мы используем сами.
Читать дальше →

Анализ спроса и предложения фрилансеров на примере биржи oDesk

Reading time7 min
Views99K


Введение


oDesk — крупнейшая в мире (ну по крайней мере так считает сам oDesk) международна биржа фрилансеров. Про сам оDesk на хабре писали уже довольно много раз, например тут или тут, где, на мой взгляд, практически разжёвано зачем и для кого создан данный ресурс, и особенно “с чем его есть”. В связи с этим этап описания и принцип работы сайта можно опустить. Я же попытаюсь провести анализ данных как о самих фрилансерах, так и о заказах, заказчиках и их требованиях к фрилансерам — грубо говоря что нужно уметь и знать, чтобы быть более менее в теме современных технологий. Также проанализирую спрос и предложение на основе данных о навыках фрилансеров и требованиях клиентов. И конечно некоторые статистические данные и немного красивых картинок в качестве примеров (кто работает на oDesk, откуда в основном идут заказы, кто больше зарабатывает, а кто лучше работает и т.д.). И все это на основе самостоятельно собранной информации, так открыто и благородно предоставляемой самим oDesk’ом посредством API. Стоит отметить, что статья с небольшим количеством статистики про oDesk ранее уже успела промелькнуть на просторах хабра, однако в ней, в отличии от текущей статьи, oDesk сам себя хвалил предоставил результаты. В целом же, сразу хочу сказать, что не претендую на полноту обзора, однако ниже будет кратко описан процесс сбора данных, что позволит провести Ваш собственный анализ при необходимости.
Читать дальше →

Виртуальные сети: VXLAN и VMware NSX

Reading time5 min
Views37K

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

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

И как это делается?
Читать дальше →

Автоматизация управления коммутаторами

Reading time3 min
Views15K

Мы уже много писали о возможностях, которые предоставляют современные коммутаторы с загрузочной средой ONIE и открытые ОС на базе Linux для них. Построение L3-фабрик, оверлейные виртуальные сети L2, — все это уже было. Но осталась нераскрытой одна важная тема, о которой много упоминалось — возможности по автоматизации.

Командная строка — это, конечно, здорово и вообще классика, но в 2014 году хочется уже большего. Особенно если работать приходится с десятками и сотнями устройств в одной сети.

Так что же мы получаем при использовании коммутатора c ОС на основе Linux, такой как Cumulus?
Читать дальше →

Перезапуск медиа издания: обзор

Reading time13 min
Views32K


Мне довелось поработать (fb) в интернет издании Лента.ру. Пройти путь от разработчика до технического директора. Успешно реализовать полноценный перезапуск. Попутно занимаясь подобными проектами меньшего масштаба. Теперь мы с командой занимаемся подготовкой перезапуска интернет газеты Ведомости (fb).

Расскажу о разработке проектов медиа изданий. Галопом по Европам, зацепимся за основные темы. К вам, дорогие читатели, просьба набросать вопросы, которые необходимо раскрыть более детально. Например мой коллега планирует написать о развёртывании системы, отказоустойчивой схеме работы сайта.
Читать дальше →

Новая версия RubyMine: Chef, Puppet, EditorConfig и многое другое

Reading time4 min
Views15K
Мы в JetBrains искренне считаем, что программирование отнюдь не сводится к простому написанию кода. Программировать — значит постоянно развиваться, приумножать свои знания, совершенствовать навыки, используя при этом самые лучшие инструменты. Если вам знакома притча о двух дровосеках, в которой более искусен оказывается тот, кто не забывает наточить свой топор, то вы поймете наше стремление оттачивать инструменты разработки с каждым следующим релизом. Не стал исключением и последний релиз RubyMine, нашей среды для разработки на Ruby и Rails, о котором мы и хотим рассказать подробнее в этом посте. Кстати, вчера стало доступно для скачивания и первое обновление — RubyMine 7.0.1.



Подробнее о RubyMine 7

Последствия деофшоризации для российского IT-рынка

Reading time6 min
Views89K


Давно не секрет, что в русском сегменте IT порядка 80% всех разработчиков, стартаперов и просто людей, делающих бизнес в данной сфере, ведут его с помощью нерезидентных структур. Т.е. компаний, зарегистрированных за рубежом (оффшорных), т.к. почти все контрагенты у них тоже зарубежные.

Помимо данного факта есть еще парочка весьма веских причин: весь доход, получаемый такой компанией или облагается минимальным налогом, или не облагается вообще. Не говоря уже об отсутствии валютного контроля, НДС, отсутствие или крайне простой в подготовке и подаче финансовой отчетности и т.д.

То есть существует возможность аккумулировать прибыль в зарубежной компании, накапливать её там и использовать для инвестиций или других целей. До тех пор, пока накопленная на уровне компании прибыль не распределена обратно в Россию (в пользу российских бенефициаров), налог на прибыль и НДФЛ не возникает.

Таким образом достигается эффект отложенного налогообложения.
Читать дальше →

Как я документирую процесс разработки

Reading time4 min
Views19K
Вы пишете лишнюю документацию для вашего проекта? Нет? Тогда вам ее, скорее всего, недостаточно.

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

Здесь хотел бы рассказать о своем подходе к документированию работ по небольшим проектам. Небольшой проект это: руководитель-аналитик, 1-3 разработчика, тестировщик. Или какой-либо подобный состав. Под документацией я понимаю какие-либо артефакты, создаваемые для поддержки следующих процессов: обсуждения, управление требованиями, управление изменениями, управление версиями. Другие процессы я не документирую.
Читать дальше →

IPv6 под прицелом

Reading time14 min
Views77K


Казалось бы, зачем сейчас вообще вспоминать про IPv6? Ведь несмотря на то, что последние блоки IPv4-адресов были розданы региональным регистраторам, интернет работает без каких-либо изменений. Дело в том, что IPv6 впервые появился в 1995 году, а полностью его заголовок описали в RFC в 1998 году. Почему это важно? Да по той причине, что разрабатывался он без учета угроз, с той же доверительной схемой, что и IPv4. И в процессе разработки стояли задачи сделать более быстрый протокол и с большим количеством адресов, а не более безопасный и защищенный.
Подробности

Регистрация безналоговой компании в Эстонии

Reading time5 min
Views170K
«Платить налоги – обязанность, платить мало налогов – искусство! » (с)

Хочу поделиться опытом успешной регистрации компании в Эстонии. Я приведу короткую характеристику юрисдикции, расскажу про подводные камни, которые существуют, и поделюсь полученным опытом.

Задача стояла следующая — найти юрисдикцию, в которой не нужно платить налог на прибыль, при этом клиентам из США, Канады и ЕС удобно было с ней работать. Реальный офис открывать в этой стране задачи не стояло.

Основная деятельность компании — разработка ПО (классическая аутсорс компания со штатом ~20 девелоперов).
Читать дальше →

Памятка: Как стартапам обеспечить защиту данных в облаке

Reading time5 min
Views12K
image

Примечание переводчика: За последние несколько лет тема информационной безопасности окончательно перестала быть уделом гиков и специалист и теперь интересует всех. После разоблачений Сноудена пользователи разнообразных онлайн-сервисов стали задумываться о безопасности своих данных. Теперь компании, которые эту безопасность не обеспечивают, могут столкнуться с огромными имиджевыми и финансовыми потерями в случае хакерской атаки. Часто учетные данные пользователей похищают через сторонние сервисы (как было в случаях с Dropbox и «Яндексом»), но даже в такой ситуации на компанию падает тень, а ее клиенты остаются недовольными.

При этом далеко не все создатели новых проектов уделяют защите данных должное внимание (в результате возникают скандалы, вроде ситуации с анонимным приложением Whisper, информация пользователей которого оказалась не столь анонимной, как предполагалось).

Стивен Коти, главный евангелист по безопасности ИБ-компании Alert Logic, написал материал о том, как стартапам подходить к организации информационной безопасности при использовании облачных сервисов.
Читать дальше →

5 убийц унылых лэндингов

Reading time7 min
Views47K
В последнее время я заметил активный рост количества креативных посадочных страниц, а также появление новых стратегий для повышения конверсии. В течение долгого времени посадочные страницы были довольно похожи — заголовок, несколько триггеров и форма заявки.

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

Мы вступили в новую эру оптимизации посадочных страниц. Дизайнеры, профессиональные маркетологи, SЕО-оптимизаторы, CRO, UX-эксперты и другие специалисты объединили свою коллективную мудрость для разработки нового типа посадочных страниц, которые выходят за стандартные рамки и не поддаются традиционной логике. Это будут посадочные страницы будущего.

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

image
Читать дальше →

Рулетка онлайн-рекламы: Яндекс.Директ, Google AdWords

Reading time8 min
Views47K
Любой предприниматель, будь то владелец стартапа или корифей рынка, нуждается в рекламе. Для IT-кампаний очевиден сдвиг рекламных площадок в Интернет. Стоит начать поиск возможностей размещения, как на начинающего рекламодателя валится несусветное количество опять-таки рекламы агентств, агрегаторов, площадок. И многие сбиваются, подписывают договора, ведутся на бесплатные предложения и заманчивые тестовые периоды. Как правило, это приводит к разрастанию рекламных затрат при небольшом или нулевом результате. При этом основных (и эффективных) способов размещения поисковой и контекстной-медийной рекламы мало. В России это Яндекс.Директ и Google AdWords, для тех, кому интересна реклама за рубежом, добавляются сети Bing и Yahoo.

image

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

Lego WeDo — робототехника для самых маленьких

Reading time2 min
Views100K
То, что робототехника в будущем будет все больше проникать в повседневную жизнь обычного человека, уже понятно многим, если не всем. И с какими возможностями и трудностями столкнется человечество — тоже дискуссия открыта.
Но как подготовить подрастающее поколение к этим изменениям, выработать у них правильное отношение к проблеме, ознакомить с принципами и правилами функционирования роботов?


Читать дальше →

Почему свет движется со скоростью света?

Reading time5 min
Views86K
(Прим. пер. ― см. прим. пер. в конце поста)

Почему свет движется со скоростью света? Почему он просто не стоит на месте? Что приводит его в движение (тем более, такое быстрое)?

image

Всё и везде, просто по факту своего существования, «движется» со скоростью света (которая на самом деле не имеет ничего общего со светом). Да, это касается и вас тоже. Вот прямо сейчас.

Люди в основном воспринимают «вселенную» как «пространство», нечто отдельное от «времени», и честно говоря, они неправы. Пространство и время — не отдельные штуковины. Вселенная сделана из «пространствовремени», прямо так, без пробела. Вы, наверное привыкли к тому, что «год» — это единица времени, а «световой год» — единица расстояния, то есть это разные вещи; но с точки зрения физика это ровным счетом одно и то же (ну, конечно, смотря каким видом физики вы занимаетесь).

В нашей будничной жизни мы исходим из того, что движение — это некое расстояние (пространство), преодоленное за некое время. Однако, если мы решили, что это одно и то же, наше определение движение внезапно становится полной ерундой. «Я прохожу километр за каждый километр, который я прохожу» — кошмар какой-то!

Читать дальше →

Строительный 3D принтер для «печати» качественных домов

Reading time2 min
Views68K


Не так давно на Хабре публиковалась новость о том, что китайцы смогли напечатать 10 домов за сутки, используя большой 3D принтер собственной конструкции. В общем-то, идея отличная, но и недостатки у китайского проекта есть.

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

Читать дальше →

3D принт шоу в Париже из первых рук

Reading time2 min
Views40K

15-16 ноября в Париже прошло 3D print show (в начале месяца оно прошло в Лондоне) Съездил посмотреть на это дело, делюсь впечатлениями. В Нидерландах формат аналогичного шоу поменялся, мероприятие растянули на несколько дней и задрали цену по самое не могу. Приходится ездить в Париж.
хочу далее...

Information

Rating
Does not participate
Location
Kassel, Hessen, Германия
Registered
Activity