Pull to refresh
30
Karma
0
Rating
Сергей Цветков @kimrgrey

Ruby-on-Rails Developer

  • Posts
  • Comments

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

Network technologies
Tutorial
Recovery mode

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


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


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

Читать дальше →
Total votes 124: ↑120 and ↓4 +116
Views116.3K
Comments 301

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

Wunder Fund corporate blogProgrammingAlgorithmsDevelopment for Linux
Translation
Многие студенты, впервые сталкиваясь с описанием какой-нибудь хитроумной штуки, вроде алгоритма Кнута – Морриса – Пратта или красно-чёрных деревьев, тут же задаются вопросами: «К чему такие сложности? И это, кроме авторов учебников, кому-нибудь нужно?». Лучший способ доказать пользу алгоритмов – это примеры из жизни. Причём, в идеале – конкретные примеры применения широко известных алгоритмов в современных, повсеместно используемых, программных продуктах.



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

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

Dell Technologies corporate blogComputer hardwareLaptops
Так повелось, что компании обычно предлагают для обзора свои самые совершенные и, как следствие, дорогие продукты. Логика понятная: почитает человек про шикарный флагман, разволнуется от накала технического прогресса и пойдет в магазин посмотреть на чудо техники. Ну а там уж все зависит от таланта продавца и толщины бумажника. Может героя обзора купит, может что попроще. Но, скорее всего, купит. Да и автору обзора писать о флагмане обычно интереснее.



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

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

LiteMF corporate blogE-commerce managementGadgetsHealth


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

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

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

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

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

image
Читать дальше →
Total votes 68: ↑65 and ↓3 +62
Views62.8K
Comments 116

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

AT Consulting corporate blogProgrammingRuby on Rails
Tutorial
Всем привет! Меня зовут Андрей Новиков и в последнее время я работаю над проектом по разработке приложения, которое используется в разных частях нашей страны и автоматизирует работу людей. В каждом конкретном часовом поясе нашему приложению необходимо правильно получать, сохранять и отображать время, причём как в прошлом, так и в будущем – например, рассчитать начало рабочей смены и так же правильно его отображать: отсчитать время до конца смены, показать, сколько люди ехали до точки назначения и определить, уложились ли они в норматив, в также многое-многое другое.



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

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

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

CSSHTML
Sandbox
Tutorial
При создании этого мануала, моей целью было взять три десятка различных эффектов, частью — довольно распространенных, частью — придуманных мной, разместить их от простых к более сложным, и на их примере показать новичкам, никогда не имевшим дело с 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>

Читать дальше →
Total votes 23: ↑21 and ↓2 +19
Views88.2K
Comments 8

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

Website developmentCSS
Привет, хабр!

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

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

МойОфис corporate blogWebsite developmentAlgorithmsSaaS / S+S
Добрый день. Последний год я занимаюсь в проекте «МойОфис» вопросами совместного редактирования (collaboration). Оглядываясь назад, могу констатировать, что это непростая и очень интересная задача. Поэтому я хотел бы подробно рассказать о ней и дать ответы на следующие вопросы:

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



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

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

Google Developers corporate blogWebsite developmentSemantics
Translation
Разметка структурированных данных позволяет показывать дополнительную информацию с вашего сайта в результатах поиска и сервисах Google. Мы рады представить несколько обновлений, которые помогут создавать разметку на сайте:

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


Новый Инструмент проверки структурированных данных лучше показывает то, как Google интерпретирует разметку структурированных данных на странице сайта.
Инструмент проверки структурированных данных
Что именно можно тестировать
Total votes 17: ↑14 and ↓3 +11
Views16.9K
Comments 1

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

Mail.ru Group corporate blogWebsite developmentAlgorithms


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

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

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

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

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

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

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

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


Склоняй меня полностью!
Total votes 161: ↑155 and ↓6 +149
Views59K
Comments 141

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

Website developmentRubyRuby on Rails


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

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

Social networks and communities
Sandbox


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

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

Суть новости выше, далее отсебятина
Total votes 23: ↑20 and ↓3 +17
Views12.9K
Comments 25

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

Мосигра corporate blogGadgets


А давайте давайте соберём здесь хорошие книги, которые просто стоило собрать.
Суть в том, что просто давно стоило сложить хорошие книги в одном посте, чтобы было что прочитать в дороге — или просто для души.
Читать дальше →
Total votes 84: ↑72 and ↓12 +60
Views68.6K
Comments 395

Я, пират

Copyright


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

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

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

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

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

Professional literature


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


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

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

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

Information

Rating
5,770-th
Location
Тверь, Тверская обл., Россия
Date of birth
Registered
Activity