Как стать автором
Обновить
30
0
Сергей Цветков @kimrgrey

Ruby-on-Rails Developer

Отправить сообщение

Настройка BGP для обхода блокировок, или «Как я перестал бояться и полюбил РКН»

Время на прочтение11 мин
Количество просмотров142K

Ну ладно, про «полюбил» — это преувеличение. Скорее «смог сосуществовать с».


Как вы все знаете, с 16 апреля 2018 года Роскомнадзор крайне широкими мазками блокирует доступ к ресурсам в сети, добавляя в "Единый реестр доменных имен, указателей страниц сайтов в сети «Интернет» и сетевых адресов, позволяющих идентифицировать сайты в сети «Интернет», содержащие информацию, распространение которой в Российской Федерации запрещено" (по тексту — просто реестр) по /10 иногда. В результате граждане Российской Федерации и бизнес страдают, потеряв доступ к необходимым им совершенно легальным ресурсам.


После того, как в комментариях к одной из статей на Хабре я сказал, что готов помочь пострадавшим с настройкой схемы обхода, ко мне обратились несколько человек с просьбой о такой помощи. Когда у них всё заработало, один из них порекомендовал описать методику в статье. Поразмыслив, решил нарушить свое молчание на сайте и попробовать в кои-то веки написать что-то промежуточное между проектом и постом в Facebook, т.е. хабрапост. Результат — перед вами.

Читать дальше →
Всего голосов 124: ↑120 и ↓4+116
Комментарии303

[ В закладки ] Алгоритмы и структуры данных в ядре Linux, Chromium и не только

Время на прочтение9 мин
Количество просмотров86K
Многие студенты, впервые сталкиваясь с описанием какой-нибудь хитроумной штуки, вроде алгоритма Кнута – Морриса – Пратта или красно-чёрных деревьев, тут же задаются вопросами: «К чему такие сложности? И это, кроме авторов учебников, кому-нибудь нужно?». Лучший способ доказать пользу алгоритмов – это примеры из жизни. Причём, в идеале – конкретные примеры применения широко известных алгоритмов в современных, повсеместно используемых, программных продуктах.



Посмотрим, что можно обнаружить в коде ядра Linux, браузера Chromium и ещё в некоторых проектах.
Читать дальше →
Всего голосов 158: ↑149 и ↓9+140
Комментарии15

Ноутбук Dell Vostro 14 (5480): Хорошо сбалансированная доступность

Время на прочтение7 мин
Количество просмотров32K
Так повелось, что компании обычно предлагают для обзора свои самые совершенные и, как следствие, дорогие продукты. Логика понятная: почитает человек про шикарный флагман, разволнуется от накала технического прогресса и пойдет в магазин посмотреть на чудо техники. Ну а там уж все зависит от таланта продавца и толщины бумажника. Может героя обзора купит, может что попроще. Но, скорее всего, купит. Да и автору обзора писать о флагмане обычно интереснее.



Dell Vostro 14 (5480) – ноутбук недорогой. Даже по нынешним временам. В нем не обошлось без бюджетных ограничений, но по некоторым параметрам он может уверенно соперничать с моделями в полтора-два раза дороже. Так, это один из немногих компактных аппаратов, на котором можно с удовольствием играть. А по времени автономной работы Vostro 14 (5480) сравним с MacBook Pro.
Читать дальше →
Всего голосов 12: ↑9 и ↓3+6
Комментарии20

Лучшие гаджеты для велосипедистов и велосипеда

Время на прочтение3 мин
Количество просмотров19K


Безопасность, функциональность и комфорт — базовые принципы в разработках по созданию современных велогаджетов сегодня находят множество вариантов реализации. Некоторые из дошедших до экспериментальных образцов отбраковываются сообществом, другие получают дальнейшее развитие. Что прижилось из ранее созданного и что нового на рынке девайсов для велосипедов и велосипедистов, давайте посмотрим.
Читать дальше →
Всего голосов 13: ↑12 и ↓1+11
Комментарии46

Оттачиваем мастерство работы в консоли

Время на прочтение3 мин
Количество просмотров64K
После того, как у меня появился новый монитор на рабочем месте, я начал новую итерацию улучшения своего «безмышечного» (mouse-less, прим. пер.) опыта. Вы же знаете, что это значит, не так ли? Это значит, что каждый раз, когда вы беретесь за мышку, убирая руку с клавиатуры, вы тратите немного времени и энергии. Если вам нужно набирать много текста (а я много пишу кода), это становится существенным.

Так же существует следующий уровень «безмышечного» опыта, когда вы стараетесь избежать труднодоступных клавиш, например Delete, Backspace, Escape или даже Enter.

Если вы держите руки в стандартной позиции для 10-пальцевой слепой печати, более удобно нажать Ctrl-m вместо того, чтобы тянуться мизинцем к энтеру.

image
Читать дальше →
Всего голосов 68: ↑65 и ↓3+62
Комментарии116

Правильная работа с датой и временем в Ruby on Rails

Время на прочтение14 мин
Количество просмотров31K
Всем привет! Меня зовут Андрей Новиков и в последнее время я работаю над проектом по разработке приложения, которое используется в разных частях нашей страны и автоматизирует работу людей. В каждом конкретном часовом поясе нашему приложению необходимо правильно получать, сохранять и отображать время, причём как в прошлом, так и в будущем – например, рассчитать начало рабочей смены и так же правильно его отображать: отсчитать время до конца смены, показать, сколько люди ехали до точки назначения и определить, уложились ли они в норматив, в также многое-многое другое.



За те уже несколько лет, что я пишу на Ruby on Rails, мне не приходилось сталкиваться с подобными проблемами — до этого все мои приложения работали в одном часовом поясе. А тут неожиданно пришлось немало попотеть, отлавливая самые разные ошибки и пытаясь выяснить, как же работать с датой и временем так, чтобы их в дальнейшем избежать.

В результате, сегодня мне есть, чем с вами поделиться. Если вы регулярно встречаетесь с тем, что время сохраняется или отображается некорректно с характерным разбросом в несколько часов (3 часа для Москвы), какие-то ночные записи перекочёвывают на соседние дни, а время упорно отображается не так, как хотят пользователи, и вы не знаете, что со всем этим делать — добро пожаловать под кат.
Читать дальше →
Всего голосов 22: ↑21 и ↓1+20
Комментарии16

CSS3 hover effects. Пошаговый туториал

Время на прочтение26 мин
Количество просмотров106K
При создании этого мануала, моей целью было взять три десятка различных эффектов, частью — довольно распространенных, частью — придуманных мной, разместить их от простых к более сложным, и на их примере показать новичкам, никогда не имевшим дело с CSS3 возможностями, как эти возможности работают и как их применить на практике. Именно по этой причине статья вышла подробная, пошаговая, мне было важно описать и разобрать каждую деталь.

Демо материалы лежат здесь.

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

Подготовка к работе.

Итак, для того, чтобы создавать наши эффекты нам понадобится вот такая простая дефолтная html-структура:

<div class="effect>
  <img src="img/ef1.jpg" alt="Effect #1" />
  <div class="caption">
    <h4>Title is Here</h4>
    <p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut.</p>
    <a class="btn" href="#" title="View More">View More</a>
  </div>
</div>

Читать дальше →
Всего голосов 23: ↑21 и ↓2+19
Комментарии8

Практическое применение FlexBox

Время на прочтение10 мин
Количество просмотров367K
Привет, хабр!

Одним прекрасным вечером, не предвещающим ничего интересного, в наш чатик поступило предложение от автора публикации «Переводим в код 5 действительно полезных шаблонов адаптивной разметки», написанной им весной 2012 года, написать статью-ремейк, но с применением FlexBox и сопутствующим пояснением что и как работает. После некоторой доли сомнений, интерес глубже разобраться в спецификации все таки победил и я благополучно сел верстать те самые примеры. В ходе погружения в эту область стало выясняться множество нюансов, что переросло в нечто большее чем просто переверстать макетики. В общем в данной статье хочу рассказать о такой чудесной спецификации, под названием «CSS Flexible Box Layout Module» и показать некоторые ее интересные особенности и примеры применения. Всех кому интересно, любезно приглашаю под хабракат.
Читать дальше →
Всего голосов 56: ↑54 и ↓2+52
Комментарии38

Совместное редактирование. Часть 1

Время на прочтение9 мин
Количество просмотров43K
Добрый день. Последний год я занимаюсь в проекте «МойОфис» вопросами совместного редактирования (collaboration). Оглядываясь назад, могу констатировать, что это непростая и очень интересная задача. Поэтому я хотел бы подробно рассказать о ней и дать ответы на следующие вопросы:

  1. Какие существуют подходы к обеспечению совместного редактирования?
  2. Насколько они сложны в реализации?
  3. Можно ли взять готовую библиотеку и использовать ее в своем проекте?
  4. Можно ли вести разработку без оглядки на совместное редактирование?



Для того чтобы подробно и аргументированно ответить на них, необходимо написать довольно много материала, поэтому статей будет несколько, присаживайтесь поудобнее, мы начинаем.
Читать дальше →
Всего голосов 46: ↑41 и ↓5+36
Комментарии29

Новый инструмент проверки структурированных данных, документация и не только

Время на прочтение2 мин
Количество просмотров18K
Разметка структурированных данных позволяет показывать дополнительную информацию с вашего сайта в результатах поиска и сервисах Google. Мы рады представить несколько обновлений, которые помогут создавать разметку на сайте:

Инструмент проверки структурированных данных


Новый Инструмент проверки структурированных данных лучше показывает то, как Google интерпретирует разметку структурированных данных на странице сайта.
Инструмент проверки структурированных данных
Что именно можно тестировать
Всего голосов 17: ↑14 и ↓3+11
Комментарии1

Простые решения. Прокачиваем картинки

Время на прочтение9 мин
Количество просмотров22K


Все мы любим простые решения. Есть мнение, что мы так ценим религию, тренинги по личностному росту и поддаёмся разводам потому, что мозг с большим удовольствием принимает простые решения вместо сложных, щедро награждая нас дофамином. В этой статье я расскажу о таком решении на одном из наших проектов. В нём нет ничего сложного, ничего особенно остроумного, но оно надежно работает, относительно просто реализуется и решает множество задач сразу. Очень надеюсь, что оно принесёт вам практическую пользу или натолкнёт на идею дальнейшего развития вашего проекта.
Читать дальше →
Всего голосов 33: ↑28 и ↓5+23
Комментарии25

ActiveRecord немного про грабли, Relations и индексы

Время на прочтение8 мин
Количество просмотров23K
Хочу рассказать Вам о наболевшем: о работе с AR в целом и с Relation в частности; предостеречь от стандартных садовых изделий, которые легко могут испортить жизнь и сделать код медленным и прожорливым. Повествование будет основываться на Rails 3.2 и ActiveRecord того же разлива. В Rails 4, конечно же, много чего нового и полезного, но на него ещё перейти нужно, да и фундамент в любом случае один и тот же.

Сей материал, по большей части, предназначен для начинающих, ибо автору очень больно смотреть на извлечение содержимого целых таблиц в память в виде ActiveRecord объектов и на прочие отстрелы конечностей при использовании AR. Разработчикам, познавшим дзен, топик вряд ли принесёт пользу, они могут лишь Помочь, дополнив его своими примерами и назиданиями.
Читать дальше →
Всего голосов 27: ↑24 и ↓3+21
Комментарии41

Petrovich просклоняет русские имена

Время на прочтение3 мин
Количество просмотров64K
Вам часто приходится иметь дело со склонением имён пользователей на русском языке? При рассылке писем, при отображении страниц и упоминаний, при генерации рекламных объявлений? Скорее всего, приходится изворачиваться и писать все сообщения в именительном падеже — Иванов Пётр Сергеевич.

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

Для решения этой проблемы при использовании Ruby существует Petrovich — удобная легковесная библиотека для автомагического склонения русскоязычных имён, фамилий и отчеств.


Склоняй меня полностью!
Всего голосов 161: ↑155 и ↓6+149
Комментарии141

Набор Ruby библиотек для CMS и сайта медиа издания

Время на прочтение15 мин
Количество просмотров30K


Набор библиотек для разработки CMS медиа издания практически ничем не отличается от любого другого приложения. На примере приложения для Ленты и Ведомостей мы решили прокомментировать выбор каждой библиотеки. Описание составлено в формате обсуждения каждого гема.
Стенограмма
Всего голосов 56: ↑51 и ↓5+46
Комментарии84

Социальная сеть Ello получила инвестиции на $5.5 млн

Время на прочтение3 мин
Количество просмотров13K


Итак, соцсесть Ello.co, в которой одни видят великое будущие, а другие пророчат ей медленную болезненную смерть, получила деньги на свое развитие. Инвесторы из Fresh Tracks Capital обязались вложить в новую социальную сеть $5.5 млн.

Представитель Fresh Tracks Capital заявил следующее:
Мы долгосрочные инвесторы. Среди наших партнеров есть компании, в которые мы вкладывали инвестиции на протяжении девяти лет, прежде чем они стали успешными. Мы действуем в долгосрочной перспективе, чтобы компания смогла достичь определенного масштаба и значения.

Суть новости выше, далее отсебятина
Всего голосов 23: ↑20 и ↓3+17
Комментарии25

Хороших книг пост

Время на прочтение2 мин
Количество просмотров70K


А давайте давайте соберём здесь хорошие книги, которые просто стоило собрать.
Суть в том, что просто давно стоило сложить хорошие книги в одном посте, чтобы было что прочитать в дороге — или просто для души.
Читать дальше →
Всего голосов 84: ↑72 и ↓12+60
Комментарии392

Я, пират

Время на прочтение17 мин
Количество просмотров278K


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

Так начинался фантастический рассказ — антиутопия про один день из жизни программиста в недалёком будущем, написанный мной в 2010 году. Меня просили продолжить, и через какое-то время появились идеи, но всё никак не было времени их реализовать. Однако в связи с последними событиями начинает казаться, что придуманный мной сюжет того гляди может стать реальностью. Поэтому сегодня представляю вам вторую главу. Рисунок был сделан в прошлом году совсем по другому поводу, но он хорошо подошел сюда как иллюстрация.
Читать дальше →
Всего голосов 228: ↑205 и ↓23+182
Комментарии70

Земля глазами астероида

Время на прочтение3 мин
Количество просмотров107K
В этот знаменательный день Конца Света хочется поговорить о том, что мы имеем, но в суматохе дней забываем ценить. Поговорим о нашей общей Земле. Точнее посмотрим, на нее из космоса при помощи различных автоматических и пилотируемых аппаратов, созданных нашей цивилизацией. Причем посмотрим на Землю не с близкой, круговой или геостационарной орбиты, а издалека.
image
Читать дальше →
Всего голосов 209: ↑201 и ↓8+193
Комментарии79

Энергонезависимое решение

Время на прочтение10 мин
Количество просмотров122K


Понедельник. Постановка задачи


Девять часов тридцать одна минута утра — я на работе. Вообще-то мы работаем с десяти до семи, но по понедельникам я предпочитаю приходить пораньше — мне нравится наш офис, пока в нём нет людей. Я медленно иду мимо столов — одни завалены распечатками спецификаций и каких-то диаграмм, другие совсем пустые. На одних столах стоят компьютеры, другие пустые. Под некоторыми столами стоит сменная обувь, перед другими нет даже кресла. Да, у нас больше половины столов пустые — это на случай приёма новых сотрудников, или командировки кого-то из других городов и стран. Ведь у нас крупная международная компания с офисами разработки в Омске и Калачинске и головным офисом на Кипре. Мы занимаем четыре этажа в современном офисном центре. Правда, сразу за нашим зданием начинаются руины какого-то авиационного завода, и в день зарплаты мы стараемся там не ходить.
Читать дальше →
Всего голосов 371: ↑359 и ↓12+347
Комментарии149

Бесстрашный гений: цифровая революция в силиконовой долине 1985-2000 (26-50)

Время на прочтение10 мин
Количество просмотров4.6K
Доброго времени суток!
Возвращаемся к рассказу про выставку американского фотографа Дага Меньюза. Первая часть благополучно прошла песочницу, за что спасибо хабравчанам, и как я обещал вот оно продолжение.
Заранее прошу извинить меня за название поста, я цитирую название экспозиции и прошу не устраивать холивары по правильнейшему названию Долины. Тем кому понравилась первая часть будет не менее интересно, остальные же не судите строго, у меня нет цели чтобы пост понравился всем. Я пишу чтобы те кто не сможет попасть на выставку тоже услышали историю которую рассказал Даг Меньюз.
Кстати, в конце будут ссылки на несколько источников и ссылка на фото в хорошем качестве.
Довольно слов, пойдёмте в зал
Всего голосов 70: ↑60 и ↓10+50
Комментарии39

Информация

В рейтинге
Не участвует
Откуда
Тверь, Тверская обл., Россия
Дата рождения
Зарегистрирован
Активность