Search
Write a publication
Pull to refresh
10
0
Babichev Maxim @REZ1DENT3

Backend developer

Send message

Как убедиться, что мой сайт не заблокирован РКН

Reading time1 min
Views24K
По причине блокирования целых подсетей, многие сайты попадают под раздачу случайно. При этом обнаружить сей факт достаточно сложно, потому что Роскомнадзор утверждает, что все хорошо и такого адреса в базе нет. Так как история продолжает набирать обороты, сервис мониторинга ХостТрекер допилил функцию проверки блокировки, и теперь она позволяет сопоставлять конкретные адреса с содержанием базы блокировок. И давать однозначный ответ.


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

Простой API gateway на базе PHP и Lumen

Reading time7 min
Views43K
Термин «микросервисы» сегодня у всех на слуху – внезапно это стало очень модно, и многие компании объявляют переход на этот архитектурный паттерн даже толком не разобравшись в нём. Впрочем, обсуждение полезности микросервисов оставим за пределами этой статьи.

Традиционно перед коллекцией микросервисов предлагается дополнительный слой – так называемый API gateway, который решает сразу несколько проблем (они будут перечислены позже). На момент написания этой статьи open source реализаций таких gateway почти нет, поэтому я решил написать свой на PHP с использованием микрофреймворка Lumen (часть Laravel).

В этой статье я покажу насколько это простая задача для современного PHP!
Читать дальше →

Оптимизация изображений для web

Reading time6 min
Views51K
image

В интернете достаточно статей и проектов для ресайза изображений. Почему же нужна еще одна? В этой статье я расскажу почему нас не удовлетворили текущие решения и пришлось пилить собственное.
Читать дальше →

Создатель Vue.js отвечает Хабру

Reading time9 min
Views59K


Всех с пятницей!

Как и обещали, публикуем ответы Эвана Ю (Evan You) на вопросы, которые мы долго и мучительно собирали в предыдущем посте, а также русскоязычном Vue чате в Telegram.
Читать дальше →

Яндекс открывает ClickHouse

Reading time14 min
Views170K
Сегодня внутренняя разработка компании Яндекс — аналитическая СУБД ClickHouse, стала доступна каждому. Исходники опубликованы на GitHub под лицензией Apache 2.0.



ClickHouse позволяет выполнять аналитические запросы в интерактивном режиме по данным, обновляемым в реальном времени. Система способна масштабироваться до десятков триллионов записей и петабайт хранимых данных. Использование ClickHouse открывает возможности, которые раньше было даже трудно представить: вы можете сохранять весь поток данных без предварительной агрегации и быстро получать отчёты в любых разрезах. ClickHouse разработан в Яндексе для задач Яндекс.Метрики — второй по величине системы веб-аналитики в мире.

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

Пунктирные вау-эффекты: о магии простыми словами

Reading time7 min
Views39K


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

Перед тем, как перейти к статье, сделаю небольшое отступление. Эта серия статей предназначена для разработчиков (в первую очередь начинающих), которые хотят делать красивые вещи, но совершенно запутались в сложных инструментах. Каждый раз мы затрагиваем какой-то один прием использования того или иного инструмента и смотрим, к созданию какиих эффектов его можно применить. Комментарии о том, что “во времена флеша было лучше” или что “нужно анимации рисовать в AfterEffects” безусловно имеют право на существование, но будут вырваны из контекста и совершенно не помогут начинающим в решении их задачи.

Задай вопрос создателю Vue.js

Reading time3 min
Views10K

upd2: Вот и статья: https://habrahabr.ru/post/350290/
upd: Прием вопросов закончен, спасибо всем! Мы постараемся опубликовать ответы на следующей неделею



Vue (vuejs.org) — JavaScript фреймворк для разработки веб-приложений на JavaScript, созданный Эваном Ю (Evan You) в 2013 году.


Vue нашел золотую середину между React и Angular и испытал взрывной рост в последние два года, попав в тройку лидирующих JS фреймворков.


В отличии от Angular/Google и React/Facebook Vue разрабатывается сообществом и финансируется через пожертвования на Patreon. В результате Эван оставил работу в Google и полностью посвятить себя разработке Vue.



Vue набирает популярность и в России:


• В русском Vue чате в Telegram уже более 2200 человек!
• С предыдущими статьями о Vue можно ознакомиться в хабе VueJS
• 22 Марта состоится первый VueMoscow , не пропустите!


Эван любезно согласился ответить на вопросы пользователей Хабрахабра.


Задавайте свои вопросы в комментариях до четверга. Подробности и немного о Vue под катом.

Git: советы новичкам – часть 1

Reading time8 min
Views144K
В Playrix приходит много новых сотрудников и большинство из них не работали с Git. Особенно это касается гейм-дизайнеров и художников. Хотя и для программистов это не редкость – опыт работы с другими системами контроля версий не слишком помогает. Например, часто встречается опыт работы с SVN. Но Git заметно отличается по идеологии. Заучить, какие кнопки нажимать, в большинстве случаев не сложно, но шаг в сторону – и уже трудно понять, что происходит.



Поэтому мы решили написать ознакомительный материал. Мы поговорим о системе контроля версий и логике её работы, с самых азов. С Git можно работать с помощью  разных клиентов, потому в статье не пойдет речь об интерфейсе пользователя. Это может показаться непривычным, но это сделано намеренно. Вместо этого мы сфокусируемся на рабочем каталоге, коммитах, ветках, командах pull, push и прочих. Когда вы разберетесь в этих понятиях, вам останется выбрать один из Git-клиентов и освоить его интерфейс.
Читать дальше →

Продвинутая работа с JSON в MySQL

Reading time12 min
Views96K

У MySQL нет возможности напрямую индексировать документы JSON, но есть альтернатива: генерируемые столбцы.


С момента введения поддержки типа данных JSON в MySQL 5.7.8 не хватает одной вещи: способности индексировать значения JSON. Для того, чтобы обойти это ограничение, можно использовать генерируемые столбцы. Эта возможность, представленная в MySQL 5.7.5, позволяет разработчикам создавать столбцы, содержащие информацию, полученную из других столбцов, предопределенных выражений или вычислений. Генерируя столбец из значений JSON, а затем индексируя его, можно практически индексировать поле с JSON.

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

Как задолбать всех коллег: собираем требования к CRM

Reading time14 min
Views55K
Вы замечали, насколько по-разному покупают люди, например, смартфоны? Один подходит, уверенно берёт нужную модель и может проконсультировать всех вокруг, второй робко слоняется вдоль витрины, трогает экраны и оценивает вес и яркость, третий открывает камеру и делает селфи, четвёртый набирает «Привет! Как дела», тестируя клавиатуру одной рукой. Ничего необычного — каждый смотрит то, что ему важнее. Хуже, когда так же покупают CRM или ERP  — буквально с закрытыми глазами, бегло глянув на яркую презентацию или прочитав советы на форуме. Потом сыпятся негативные отзывы, а автоматизация вызывает стойкую неприязнь. Казалось бы, что проще — собрать требования и приступить к трезвому выбору вендора. Но нет, инструкцию будем читать потом, когда сломается… А вот, собственно, и подробная инструкция.

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

Дружим gRPC с долгоживущим проектом, PHP и фронтендом

Reading time11 min
Views23K


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


Мы расскажем о том, как объединить внешнее API с внутренним и что делать, если у вас много кода на PHP, но хочется воспользоваться преимуществами gRPC.

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

SOLID

Reading time5 min
Views273K
SOLID критикует тот, кто думает, что действительно понимает ООП
© Куряшкин Виктор

Я знаком с принципами SOLID уже 6 лет, но только в последний год осознал, что они означают. В этой статье я дам простое объяснение этим принципам. Расскажу о минимальных требованиях к языку программирования для их реализации. Дам ссылки на материалы, которые помогли мне разобраться.

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

Парсеры, обработка текста. Просто о сложном. CFG, BNF, LL(k), LR(k), PEG и другие страшные слова

Reading time19 min
Views49K
Наверное, каждому программисту приходилось сталкиваться с задачами вида «прочитать что-то в формате А и произвести с ним некие манипуляции». Будь то json, логи nginx, cfg, sql, yaml, csv или что-то еще. Хорошо, когда можно воспользоваться библиотекой, однако, по разным причинам, это удается не всегда. Тогда и встает вопрос создания собственного парсера для заданного формата. И это, как говорят англичане, часто оказывается PITA (болью в ...). В этой статье я постараюсь облегчить эту боль. Кому интересно, добро пожаловать.
Читать дальше →

29% вебсайтов уязвимы для DOS-атаки даже одной машиной (CVE-2018-6389)

Reading time4 min
Views24K


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

В платформе WordPress CMS была обнаружена простая, но очень серьезная уязвимость, связанная с атаками типа «отказ в обслуживании» (DoS) на уровне приложений, которая позволяет любому пользователю приводить в нерабочее состояние большинство веб-сайтов WordPress даже с помощью одной машины. Происходит это без необходимости задействовать огромное количество компьютеров для переполнения полосы пропускания, как это требуют DDoS-атаки, но с достижением того же результата.

Поскольку WordPress Foundation отказали в исправлении проблемы, уязвимость (CVE-2018-6389) остается без патча и затрагивает почти все версии WordPress, выпущенные за последние девять лет, включая последнюю стабильную (WordPress версия 4.9.2).

Топ-10 ошибок из 1000+ JavaScript-проектов и рекомендации по их устранению

Reading time11 min
Views31K
В компании Rollbar, которая занимается созданием инструментов для работы с ошибками в программах, решили проанализировать базу из более чем 1000 проектов на JavaScript и найти в них ошибки, которые встречаются чаще всего. В результате они сформировали список из 10 наиболее часто встречающихся ошибок, проанализировали причины их появления и рассказали о том, как их исправлять и избегать. Они полагают, что знакомство с этими ошибками поможет JS-разработчикам писать более качественный код.

image

Сегодня мы публикуем перевод их исследования.
Читать дальше →

Может ли в JavaScript конструкция (a==1 && a==2 && a==3) оказаться равной true?

Reading time4 min
Views41K
Недавно по Твиттеру и Реддиту гулял интересный кусок кода на JavaScript. Вопрос, связанный с ним, заключался в следующем: «Может ли выражение (a==1 && a==2 && a==3) вернуть true?». Ответ на вопрос, как ни странно, был положительным.

image

Сегодня мы разберём этот код и постараемся его понять.
Читать дальше →

Лабораторная работа: введение в Docker с нуля. Ваш первый микросервис

Reading time26 min
Views351K
Привет, хабрапользователь! Сегодня я попробую представить тебе очередную статью о докере. Зачем я это делаю, если таких статей уже множество? Ответов здесь несколько. Во-первых не все они описывают то, что мне самому бы очень пригодилось в самом начале моего пути изучения докера. Во-вторых хотелось бы дать людям к теории немного практики прямо по этой теории. Одна из немаловажных причин — уложить весь накопленный за этот недолгий период изучения докера опыт (я работаю с ним чуть более полугода) в какой-то сформированный формат, до конца разложив для себя все по-полочкам. Ну и в конце-концов излить душу, описывая некоторые грабли на которые я уже наступил (дать советы о них) и вилы, решение которых в докере просто не предусмотрено из коробки и о проблемах которых стоило бы задуматься на этапе когда вас распирает от острого желания перевести весь мир вокруг себя в контейнеры до осознавания что не для всех вещей эта технология годна.

Что мы будем рассматривать в данной статье?

В Части 0 (теоретической) я расскажу вам о контейнерах, что это и с чем едят
В Частях 1-5 будет теория и практическое задание, где мы напишем микросервис на python, работающий с очередью rabbitmq.
В Части 6 — послесловие
Читать дальше →

Обзор лучших докладов с HighLoad++ 2017

Reading time8 min
Views13K
В ближайших нескольких статьях я расскажу о лучших (по мнению участников) докладах HighLoad++ 2017. Организаторы любезно открыли доступ к видеозаписям, которые вы сможете прямо тут и посмотреть.

Goth2Boss: ломка и отходняки при переходе из инженера в тимлиды / Артем Каличкин




Для меня это открытие года — на мощной технологической конференции первое место занимает доклад, хоть и от технаря, но про УПРАВЛЕНИЕ. Конечно можно рассуждать на тему того, что гуманитарии более охотно ставят оценки и по-умолчанию более лояльная аудитория, но факт остаётся фактом.

Information

Rating
Does not participate
Location
Краснодар, Краснодарский край, Россия
Date of birth
Registered
Activity