Pull to refresh
1
0

Пользователь

Send message

Правила подготовки макетов в Figma

Reading time3 min
Views62K


Боль с одним проектом привела нас к решению написать правила работы


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

Результатом хождения по граблям между отделами дизайна и разработки стала идея сформулировать правила, высечь их в камне, поместить в pdf файл и раздать всем участникам процесса с директивой «следуй».
Читать дальше →
Total votes 16: ↑15 and ↓1+14
Comments7

Raspberry Pi: измеряем влажность и температуру с помощью DHT11/DHT22

Reading time5 min
Views221K
На Хабре уже публиковалась статья о подключении датчика температуры DS18B20 к Raspberry Pi. В нашем новом проекте, который строится на Raspberry Pi, понадобилось измерять не только температуру, но и влажность. Я расскажу, как подключить недорогие китайские датчики влажности к Raspberry Pi. Просмотрев несколько вариантов различных датчиков, остановился на двух наиболее массовых на рынке датчиков. Это DHT11, который привлек своей ценой $3 (с доставкой) и датчик DHT22 (около $10 с доставкой).
Читать дальше →
Total votes 34: ↑27 and ↓7+20
Comments33

Как защититься от dos/ddos, или Как я начал вновь высыпаться по ночам

Reading time16 min
Views26K

Приветствую тебя, дорогой читатель. Скорее всего, если ты это читаешь, то уже очень устал получать кучу алертов о том, что твоя площадка загибается от регулярных набегов печенегов ботов или других нежелательных посетителей контента. Я надеюсь, что эта статья поможет тебе спать спокойно и оградит тебя от недугов, а также внесет больше ясности в твое понимание теории и практики защиты от dos и ddos. Приятного чтения!

Читать далее
Total votes 15: ↑14 and ↓1+15
Comments33

Изучаем Docker, часть 1: основы

Reading time6 min
Views529K
Технологии контейнеризации приложений нашли широкое применение в сферах разработки ПО и анализа данных. Эти технологии помогают сделать приложения более безопасными, облегчают их развёртывание и улучшают возможности по их масштабированию. Рост и развитие технологий контейнеризации можно считать одним из важнейших трендов современности.

Docker — это платформа, которая предназначена для разработки, развёртывания и запуска приложений в контейнерах. Слово «Docker» в последнее время стало чем-то вроде синонима слова «контейнеризация». И если вы ещё не пользуетесь Docker, но при этом работаете или собираетесь работать в сферах разработки приложений или анализа данных, то Docker — это то, с чем вы непременно встретитесь в будущем.

Часть 1: основы
Часть 2: термины и концепции
Часть 3: файлы Dockerfile
Часть 4: уменьшение размеров образов и ускорение их сборки
Часть 5: команды
Часть 6: работа с данными

image

Если вы пока не знаете о том, что такое Docker, сейчас у вас есть шанс сделать первый шаг к пониманию этой платформы. А именно, освоив этот материал, вы разберётесь с основами Docker и попутно приготовите пиццу.
Читать дальше →
Total votes 62: ↑52 and ↓10+42
Comments26

Моя любимая задачка по программированию для кодинг-интервью

Reading time10 min
Views69K

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

С годами я выработал вопрос по кодингу, который мне самому очень нравится. Это до жути простой и в то же время заковыристый вопрос. Решение занимает не более 30 строк кода, но зато даёт мне все нужные сигналы для вынесения верной оценки кандидату. Кроме того, мой вопрос отлично масштабируется и подходит как стажёрам, так и опытным инженерам. Здесь я не стремлюсь доказать, что мой вопрос лучше какого-то другого. Я лишь хочу объяснить, как он помогает мне как интервьюеру и на что я обращаю внимание на собеседовании по программированию.

В этой статье будут вещи, с которыми вы можете не согласиться. Это нормально. Это просто моё мнение, а так как я уже вышел на пенсию, то больше не представляю опасности ни для интервьюеров, ни для инженеров Google при принятии решений о найме! ;-)

Читать далее
Total votes 64: ↑50 and ↓14+49
Comments345

Чему я научился, пока писал свой агрегатор цен на игры

Reading time10 min
Views4.1K

Этот пост не реклама моего проекта, а пример того, что дает человеку pet-project.


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


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



Если интересно, добро пожаловать под кат.

Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments0

SEO Выводы из утечки кода поисковика Яндекс

Reading time6 min
Views102K

Я был в восторге, когда узнал об утечке проприетарного исходного кода Яндекса. И после анализа данных я должен сказать, что выводы оказались весьма интересными! Итак, без лишних слов, давайте окунемся в основные выводы, которые я сделал.

Читать далее
Total votes 166: ↑151 and ↓15+182
Comments130

Товарищ майор в клетке или как я изолировал Яндекс Браузер (для использования СБОЛа)

Level of difficultyMedium
Reading time4 min
Views53K

Еще с весны было известно, что Сбербанк потерял возможность продлевать свои сертификаты. Новые же сертификаты были выписаны одним из национальных УЦ, чьего корневого сертификата в операционных системах нет. Однако СБОЛ продолжал работать, и несмотря на предупреждения, я откладывал решение будущего вопроса.

Несколько дней назад я не смог войти в СБОЛ. Решить проблему можно двумя путями: установив себе рутовый сертификат в систему или установив Яндекс.Браузер.

Устанавливать рутовый сертификат не хотелось, а Яндекс.Браузер у нас запрещен политикой компании. Как выкрутиться с минимальными потерями и не поссориться с безопасниками - читайте под катом.

Открыть доступ в СБОЛ;drop table mortgage;
Total votes 64: ↑55 and ↓9+63
Comments242

PHP Code Style Conventions

Reading time6 min
Views34K

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

Читать дальше →
Total votes 14: ↑4 and ↓10-3
Comments29

Как мы отказались от JPEG, JSON, TCP и ускорили ВКонтакте в два раза

Reading time24 min
Views166K

На протяжении всей жизни мне приходится экономить вычислительные и сетевые ресурсы: сначала были компьютеры с 300 кГц (кило — не гига!) и 32 Кбайт RAM, интернет по dial-up. Потом я решал олимпиадные задачки. Теперь имею дело с терабайтами трафика и 50 млрд событий в сутки. И хотя современные телефоны в 1 000 раз мощнее любого оборудования двадцатилетней давности, я до сих пор оптимизирую. Думал даже, что это со мной что-то не так. Но потом понял, что все постоянно что-нибудь оптимизируют. 

Эта статья в меньшей степени о том, почему нужно бороться за производительность, и в большей о том, на что сейчас стоит заменить устаревший стек из JPEG, JSON, gzip и TCP — и как это сделать. 

Спойлер: у нас есть решение и мы его не только показываем — ссылки на open source в конце статьи.

Читать далее
Total votes 336: ↑324 and ↓12+411
Comments300

Крипто карточки и депозиты в Европе. Краткий обзор

Reading time6 min
Views25K

В этой статье я сделаю краткий обзор самых популярных крипто карточек и депозитов доступных резидентам Европы. В основном я пишу о тем финансовых сервисах, которыми я пользуюсь или пользовался лично, если вы не найдёте здесь какой-то сервис, о котором вам известно, то скорее всего это связано с тем, что я им никогда не пользовался. Стараюсь писать о том, с чем сталкивался на практике.

Читать далее
Total votes 23: ↑17 and ↓6+20
Comments39

Создаем простой сервис коллтрекинга, часть 1

Reading time10 min
Views3.9K
В рамках статьи будет рассмотрен один из возможных вариантов реализации коллтрекинга на сайте. Данный материал написан сугубо в образовательных целях и не несет в себе цели замены существующих специализированных сервисов, предоставляющих услугу «calltracking».

Требования к функционалу


  1. Сервис должен предоставлять возможность подстановки номера (номеров) по источнику перехода на сайт — переход из поисковых систем, переход по рекламе, переход по ссылкам с utm метками.
  2. Сервис должен закреплять показываемый номер за посетителем сайта и отображать данный номер при дальнейшем посещении.
  3. При инициации звонка на показываемый номер сервис должен инициировать создание события в Google Analytics.
Читать дальше →
Total votes 5: ↑5 and ↓0+5
Comments5

Если мошенники украли деньги с банковской карты — не спешите в полицию

Reading time8 min
Views183K

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

Народ жалуется на Tinkoff, Альфа-банк и прочие банки, на операторов сотовой связи. Портал banki.ru ввёл драконовские правила, что у него решения судов без оценок в народном рейтинге, на форуме нельзя написать, что itsoft выиграл дело у ВТБ — это реклама itsoft видите ли, то есть видно надо писать одна компания, но не скажем какая выиграла суд у ВТБ.

В статье “Банки не хотят внедрять многофакторную авторизацию и покончить с мошенничеством” есть простые рецепты, которые бы исключили случаи мошенничества хотя бы для тех, кто не разговаривает с мошенниками и не сообщает им коды. Народ хочет аппаратные токены, а банки не дают. 

К написанию данной статьи меня ещё подвиг наш конфликт с хостером Leaseweb. 7 лет мы платили одну цену в месяц за аренду серверов там. А потом она внезапно выросла в 70 раз. Leaseweb решил, что за действия злоумышленников деньги надо списать с нашей корпоративной карты.

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

Читать далее
Total votes 162: ↑142 and ↓20+159
Comments210

Расширения Chrome для программистов и сочувствующих

Reading time6 min
Views34K

На Хабре уже есть посты в духе «10 браузерных расширений, которые нужны КАЖДОМУ УВАЖАЮЩЕМУ СЕБЯ РАЗРАБОТЧИКУ». Но в них меня смущает то, что там вперемешку совсем разные вещи для разных людей. От React Developer Tools до съёмки полностраничных скриншотов — и всё это просто списком через запятую.

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

Разумеется, в комментариях приветствуются дополнения, мне знакомо далеко не всё.

Читать далее
Total votes 28: ↑25 and ↓3+27
Comments12

Как генерировать осмысленные коммиты. Применяем стандарт Conventional Commits

Reading time8 min
Views117K


Привычный хаос в названиях коммитов. Знакомая картина?

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

Меня зовут Ержан Ташбенбетов, я работаю в одной из команд Яндекс.Маркета. И сегодня я расскажу читателям Хабра, какие инструменты для создания осмысленных коммитов мы используем в команде. Приглашаю присоединиться к обсуждению этой темы.

Читать дальше →
Total votes 72: ↑71 and ↓1+70
Comments84

Форматирование телефонных номеров на PHP

Reading time13 min
Views58K
Возникла задача автоматического форматирования телефонных номеров в виде страна (город) номер, и первым делом я обратился к существующим решениям.
К сожалению, оказалось, что все найденные решения основываются на обычном подгоне строки под пользовательский формат, имея ограниченную область применения и ошибки при выходе за ее пределы.
Читать дальше →
Total votes 103: ↑81 and ↓22+59
Comments98

Github.com отказывается от использования jQuery и переходит на чистый JavaScript

Reading time2 min
Views53K
Сегодня Mislav Marohnić объявил о том, что разработчики Github избавились от jQuery на фронтенде GitHub.com. Казалось бы, в самом этом факте нет ничего примечательного, если бы не один интересный момент.

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

  • querySelectorAll (который предположительно был вдохновлен когда-то именно jQuery),
  • fetch для работы с AJAX,
  • delegated-events для обработки событий,
  • полифиллы для работы с DOM,
  • пользовательские элементы (Custom Elements), которые сейчас на подъеме.

Помимо Custom Elements, ничего другого из Web Components было решено не использовать. Разработчики присматривались к Shadow DOM и были бы не против прибегнуть к нему — однако, в силу того, что на полифиллах скорость поиска в DOM оставляет желать лучшего, им пришлось пока отложить эту затею.

Зачем разработчикам в принципе потребовалось все это сделать? По их словам, для того, чтобы «отдавать» посетителям меньше килобайт, иметь возможность использовать более явно выраженный синтаксис для выполнения манипуляций с DOM, а также ради возможности использовать библиотеку Flow.JS для статического анализа типов. По словам разработчиков, процесс ухода с jQuery занял годы.
Читать дальше →
Total votes 73: ↑70 and ↓3+67
Comments178

Конец халяве: I Know What You Download

Reading time6 min
Views293K
Продолжение (часть 2).
Не понимаю, почему никто не кричит «полундра» (поискал здесь и на Хабре по слову «iknowwhatyoudownload», но ничего).

Итак, некий сайтик iknowwhatyoudownload.com по IP-адресу показывает список торрентов, скаченных и розданных с этого адреса.
Судя по всему, запустились недавно. Домен зарегистрирован 14 сентября 2016. Отображается статистика примерно за месяц. Но как долго она собиралась, неизвестно.
Читать дальше →
Total votes 88: ↑72 and ↓16+56
Comments568

Гео-модуль для PHP приложений

Reading time5 min
Views33K
image Вопрос «Где?» возникает сразу же после вопроса «Что?» эта закономерность верна и в вебразработке. Многие сайты запрашивают информацию у пользователя, предлагая ему ввести свой адрес, т. е. страну, регион, город, улицу, дом почтовый индекс. Но как потом обрабатывать эти данные, если они были указаны в свободной форме? В своих первых проектах мы использовали свой «велосипед», но по мере роста и развития это «чудо» превратилось в «чудовище», которое поставило крест на эффективной обработке гео-информации о наших пользователях. Мне была поставлена задача прибить этого монстра, заменив его стандартизованной гео-базой и простым интерфейсом для работы с ней. Гугление на эту тему не дали готового решения, поэтому пришлось отбросить простой вариант и сделать свой гео-модуль.
Описание сего процесса и сам модуль под катом
Total votes 63: ↑57 and ↓6+51
Comments36
1

Information

Rating
Does not participate
Registered
Activity