Pull to refresh
0
0
Юрий @M1ndgr3p

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

Send message

Что подарить на 2020: новогодний гид Madrobots

Reading time5 min
Views7.9K


Хочется, чтобы забот перед Новым годом было меньше, а праздничного настроения — больше. Не всегда это получается. Нужно закрывать месяц. Нужно закрывать год. Если задуматься, нужно закрывать целое десятилетие. И если вы еще не успели подобрать все-все-все подарки, мы в Madrobots готовы прийти на помощь.

Под катом — динозавр, робот-шар, спорткар начала XX века и еще несколько любопытных вариантов.
Читать дальше →
Total votes 18: ↑11 and ↓7+10
Comments0

Видеозвонки под капотом: от миллионов в сутки до 100 участников в одной конференции

Reading time21 min
Views11K
Сейчас, кажется, невозможно найти мессенджер без функции звонков. Это удобно для пользователей, потому что все коммуникации можно вести в одном приложении. Если объединить всю доступную в СМИ статистику, то получится, что люди разговаривают через интернет более миллиарда минут в день. И по мере развития технологий растет доля видеосвязи, потому что видео лучше передает эмоции собеседника и позволяет создать эффект присутствия.

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

Руководитель разработки платформ Видео и Лента Александр Тоболь (alatobol) покажет, что под капотом у сервиса видеозвонков, какие технологии и хаки применить, чтобы сделать свой сервер конференций, и как правильно передавать видео. Заходите под кат и узнаете, как перевести сервис звонков один на один к групповым звонкам на 100 человек и зачем вообще нужна поддержка такого количества участников.
Total votes 34: ↑33 and ↓1+45
Comments2

Балансировка нагрузки в Zimbra Open-Source Edition при помощи HAProxy

Reading time5 min
Views3.4K
Одной из главных задач при построении масштабных инфраструктур Zimbra OSE является грамотная балансировка нагрузки. Помимо того, что она повышает отказоустойчивость сервиса, без балансировки нагрузки невозможно обеспечить одинаковую отзывчивость сервиса для всех пользователей. Для того, чтобы решить эту задачу, используются балансировщики нагрузки — программные и аппаратные решения, перераспределяющие запросы между серверами. Среди них есть как довольно примитивные, вроде RoundRobin, который просто каждый следующий запрос направляет следующему в списке серверу, а есть и более продвинутые, например HAProxy, который широко применяется в высоконагруженных вычислительных инфраструктурах из-за ряда весомых достоинств. Давайте же посмотрим на то, как можно обеспечить совместную работу балансировщика нагрузки HAProxy и Zimbra OSE.

image
Читать дальше →
Total votes 3: ↑2 and ↓1+5
Comments0

А/Б тестирование, пайплайн и ритейл: брендированная четверть по Big Data от GeekBrains и X5 Retail Group

Reading time5 min
Views6.6K


Технологии Big Data применяются сейчас повсеместно — в промышленности, медицине, бизнесе, развлечениях. Так, без анализа больших данных не смогут нормально работать крупные ритейлеры, упадут продажи в Amazon, будут не в состоянии предсказывать погоду на многие дни, недели и месяцы наперед метеорологи. Логично, что специалисты по большим данным сейчас нарасхват, причем спрос постоянно растет.
Читать дальше →
Total votes 33: ↑31 and ↓2+45
Comments0

Проекция на потолок: впечатления после недели использования проектора, поставленного «на торец»

Reading time5 min
Views42K

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


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




С тех пор, как мне в руки попал недавно выпущенный уже домашний лазерник Epson EF-100, я как следует «распробовал» такой вариант проекции и лично протестировал, каково это – превратить белый потолок в 120-дюймовый экран. Об этом кратко расскажу в сегодняшнем «пятничном» посте (под катом около 6МБ картинок).

Читать дальше →
Total votes 29: ↑25 and ↓4+30
Comments32

«Замести следы и уйти на выходные»: как удалить себя из большинства популярных сервисов

Reading time4 min
Views45K
С решением задачи поможет JustDeleteMe — это каталог кратких инструкций и прямых ссылок для удаления пользовательских аккаунтов на популярных сайтах. Поговорим о возможностях инструмента, а также обсудим, как обстоят дела с запросами на удаление персональных данных в целом.

Читать дальше →
Total votes 10: ↑9 and ↓1+11
Comments16

Badoo Jira API Client: магия в Jira на PHP

Reading time12 min
Views8.8K
Если в строке поиска на Хабре ввести “Jira Badoo”, результаты займут не одну страницу: мы упоминаем её почти везде, потому что она играет важную роль в наших процессах. Причём каждый из нас хочет от нее немножко разного.



Разработчик, которому пришла задача на ревью, ожидает что в задаче указана ветка, есть ссылки на дифф и лог изменений. Разработчик, который писал код, ожидает увидеть в Jira комментарии по итогам ревью. Тестировщик, который получает задачу после них, хочет видеть результаты тестов и иметь возможность запустить необходимые сборки, не переходя в другие интерфейсы. Продакт-менеджеры вообще хотят создавать десять задач по разработке одновременно, нажав на одну кнопку.

И всё это сегодня доступно и происходит автоматически. Большую часть магии мы реализовали на PHP с помощью постоянно развивающегося API Jira и с использованием её webhook’а. И сегодня мы хотим поделиться с сообществом нашей версией клиента для этого API.

Сначала мы хотели просто рассказать об идеях и подходе, который мы используем, а потом решили, что к такой статье решительно не хватает кода для наглядности. Так появилась open-source-версия Badoo Jira PHP Client. Огромное спасибо ShaggyRatte за то, что помог с ее описанием. И добро пожаловать под кат!
Читать дальше →
Total votes 51: ↑49 and ↓2+47
Comments12

Хождение по мукам или долгая история одной попытки восстановления данных

Reading time5 min
Views35K
На дворе стоял 2019 год. В нашу лабораторию поступил не совсем обычный для нашего времени накопитель QUANTUM FIREBALL Plus KA емкостью 9.1Гб. Со слов владельца накопителя отказ случился в далеком 2004 году по вине вышедшего из строя блока питания, который прихватил за собой жесткий диск и другие компоненты ПК. Далее были хождения по различным сервисам с попытками отремонтировать накопитель и восстановить данные, которые не увенчались успехом. Где-то обещали дешево, но так и не решили проблему, где-то слишком дорого и клиент не пожелал восстанавливать данные, но в итоге диск прошел путь через множество сервисных центров. Неоднократно терялся, но благодаря тому, что владелец заблаговременно позаботился о записи информации с различных наклеек на накопителе ему удалось добиться, чтобы именно его жесткий диск был возвращен из некоторых сервисных центров. Хождения не прошли бесследно, на оригинальной плате контроллера остались множественные следы пайки, а также визуально ощущался недостаток SMD элементов (забегая вперед скажу, что это наименьшая из проблем этого накопителя).


Рис. 1 HDD Quantum Fireball Plus KA 9,1Гб
Читать дальше →
Total votes 102: ↑102 and ↓0+102
Comments107

Заворачиваем весь трафик локальной сети в vpn без ограничения скорости

Reading time5 min
Views79K

В прошлой статье мы разбирали, как анонимизировать весь Интернет-трафик одного хоста. Теперь давайте повысим уровень безопасности, обернув всю локальную сеть VPN-ом. При этом мы избавимся от опасности выйти в интернет с еще не настроенного девайса и ассоциировать адрес своего провайдера с этим устройством.

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

Итак, каковы наши цели:

  • пропускать через VPN весь без исключения исходящий трафик
  • делать это с максимально возможной скоростью
  • не зависеть от временных неполадок VPN-провайдера
  • максимум анонимности в Интернете
Читать дальше →
Total votes 25: ↑20 and ↓5+15
Comments23

Deploy SonarQube Server

Reading time5 min
Views9.8K

Привет, хаброжители!


В данном руководстве хочу изложить пошаговую настройку по развёртыванию платформы для непрерывного анализа и измерения качества кода. Подобных статей в сети достаточно много, но я хочу выделить лишь главное, чтобы все новички с первого раза смогли с ней разобраться. Ставить будем SonarQube 7.9 с PostgreSQL 10.

Читать дальше →
Total votes 10: ↑9 and ↓1+8
Comments9

Как создать эффективные скриншоты для приложения в App Store

Reading time4 min
Views5.5K
Каким бы ни было мобильное приложение для App Store, оно должно быть представлено аудитории таким образом, чтобы повысить его популярность и тем самым увеличить кликабельность. А для этого необходимо создать такую рекламную страницу приложения, которая будет разительно отличаться от конкурентных приложений на рынке.

Рекламная страница содержит в себе различные виды информации. Однако, как показывает практика, люди изначально предпочитают сканировать графическую информацию, а не считывать конкретный текст. Скриншоты приложения — это то, что бросается в глаза читателям в первую очередь. Эта задача может показаться сложной и требовательной, поскольку у вас есть всего несколько слотов для скриншотов и не во все удастся поместить всё, то что бы вы хотели сказать о вашем приложении. Тем не менее, если включить творческую мысль на полную, то есть большая вероятность сотворить шедевр. В связи с этим, мы хотим поделиться с вами несколькими шагами, которые помогут создать скриншоты для вашего приложения.
Читать дальше →
Total votes 12: ↑10 and ↓2+8
Comments2

Личный бренд в помощь бизнесу: 8 шагов для создания концепции

Reading time4 min
Views6.1K


Запрос на аутентичность и человеческий контакт в социальных сетях привел к популярности личного бренда. Множество компаний и частных специалистов продают свои продукты с его помощью. Личный бренд не имеет «порога вхождения», он давно перестал быть атрибутом только знаменитостей. Неважно, фрилансер ли вы, который работает без сотрудников, или представитель международной компании, — построить личный бренд может каждый. Digital Business School делится 8 шагами, которые помогут это сделать.

1. Ответьте на вопрос «кто я?»


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

После того, как вы описали себя с собственной точки зрения, обратитесь с этим вопросом к близким. Выбирайте самых откровенных, готовых говорить вам всю правду, а не заваливать комплиментами. На этом этапе вам нужен максимально беспристрастный взгляд.
Читать дальше →
Total votes 13: ↑10 and ↓3+7
Comments0

SonarQube и IntelliJ IDEA: правильная интеграция

Reading time7 min
Views41K

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


На данный момент этот инструмент плотно вошёл в нашу жизнь, следя за единым стилем кода и уберегая от самых разных видов ошибок. Поиск ошибок происходит при сборке на CI или перед принятием pull request в версионное хранилище. Все найденные ошибки отображаются в Web-интерфейсе, где можно изучать их и управлять ими.


Однако беда в том, что удобный Web-интерфейс не означает удобство по устранению найденных замечаний в коде проекта. Для того, чтобы внести исправление, приходится сначала смотреть, в каком именно файле это замечание обнаружено, потом открывать этот файл и только затем вносить исправление. Также это приводит к тому, что разработчик узнает о проблеме с очень большим отставанием (иногда анализ в SonarQube может занимать десятки минут), что не способствует поддержанию чистоты кода.


Для того, чтобы облегчить жизнь разработчикам нашей компании, использующим IntelliJ IDEA, я составил инструкцию. А в дальнейшем понял, что она может быть полезной более широкому кругу специалистов, и решил выложить её в публичный доступ.

Осторожно, много скриншотов
Total votes 18: ↑17 and ↓1+16
Comments1

Предварительная загрузка шрифтов

Reading time6 min
Views22K
Автор статьи, перевод которой мы сегодня публикуем, хочет рассказать о том, почему он выполняет предварительную загрузку шрифтов даже тогда, когда не должен этого делать.

Когда он создавал тот сайт, на котором опубликован оригинал этого материала, он не собирался использовать на нём никаких собственных шрифтов. Это неизбежно повлияло бы на производительность сайта, пусть и не очень сильно. Автор статьи говорит, что он стремился к тому, чтобы сделать быстрый сайт. Однако в итоге решено было использовать один особый шрифт для заголовков страниц и при этом постараться сделать так, чтобы данное решение как можно меньше повлияло бы на производительность проекта.
Читать дальше →
Total votes 30: ↑30 and ↓0+30
Comments9

Понимание брокеров сообщений. Изучение механики обмена сообщениями посредством ActiveMQ и Kafka. Глава 2. ActiveMQ

Reading time27 min
Views125K
Продолжение перевода небольшой книги:
«Understanding Message Brokers»,
автор: Jakub Korab, издательство: O'Reilly Media, Inc., дата издания: June 2017, ISBN: 9781492049296.

Предыдущая часть: Понимание брокеров сообщений. Изучение механики обмена сообщениями посредством ActiveMQ и Kafka. Глава 1. Введение
Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments1

Чем опасны отслеживающие cookies если вам и вправду нечего скрывать

Reading time2 min
Views20K
В последнем подкасте Habr Weekly #21 обсуждалась тема отслеживающих cookies и вопрос их нежелательности. Бытуют мнения о сомнительности вреда таких куков если скрывать и вправду нечего. Такая позиция определенно не выдерживает критики.

Читать дальше →
Total votes 20: ↑14 and ↓6+8
Comments24

Запускаем systemd в контейнере

Reading time6 min
Views25K
Мы давно следим за темой использования systemd в контейнерах. Еще в 2014 году наш инженер по безопасности Дэниел Уолш (Daniel Walsh) написал статью Running systemd within a Docker Container, а еще через пару лет – другую, которая называлась Running systemd in a non-privileged container, в которой он констатировал, что ситуация не очень-то и улучшилась. В частности, он писал, что «к сожалению, и два года спустя, если погуглить «Docker system», то первым делом всплывает всё та же его старая статья. Значит, пора что-то менять». Кроме того, мы уже как-то рассказывали о конфликте между разработчиками Docker и systemd.



В этой статье мы покажем, что изменилось за прошедшее время и как нам может помочь в этом вопросе Podman.
Читать дальше: Запускаем systemd в контейнере
Total votes 20: ↑16 and ↓4+12
Comments36

Понимание брокеров сообщений. Изучение механики обмена сообщениями посредством ActiveMQ и Kafka. Глава 3. Kafka

Reading time20 min
Views98K
Продолжение перевода небольшой книги:
«Understanding Message Brokers»,
автор: Jakub Korab, издательство: O'Reilly Media, Inc., дата издания: June 2017, ISBN: 9781492049296.

Предыдущая часть: Понимание брокеров сообщений. Изучение механики обмена сообщениями посредством ActiveMQ и Kafka. Глава 2. ActiveMQ
Читать дальше →
Total votes 15: ↑15 and ↓0+15
Comments6

6 уроков, извлечённых из поиска решения масштабной проблемы на gitlab.com. Часть 2

Reading time8 min
Views4.4K
Представляем вашему вниманию вторую часть перевода материала о борьбе команды gitlab.com с тиранией времени.



→ Вот, кстати, первая часть.
Читать дальше →
Total votes 36: ↑36 and ↓0+36
Comments0

Clean Decomposition

Reading time4 min
Views5.3K
В данной статье я хочу рассмотреть подход к разбиению задач на подзадачи при использовании Clean Architecture.

С проблемой декомпозиции столкнулась команда мобильной разработки компании NullGravity и ниже то как мы ее решали и что в итоге получилось.
Читать дальше →
Total votes 7: ↑7 and ↓0+7
Comments7
1
23 ...

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Date of birth
Registered
Activity