Pull to refresh
14
0
Eugene Kononenko @kevin

Специалист по информ. безопасности zanket.com

Send message

Отправка файлов на подпись с Adobe Sign API

Reading time5 min
Views1.9K

В документации Adobe сочетается большой объем информации и плохая организация этой информации. Поэтому когда перед мной стала задача отправлять документы через Adobe Sign Api, я потратил несколько дней чтобы понять как всё это работает. 

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

Читать далее
Total votes 5: ↑4 and ↓1+6
Comments0

Создание красивых градиентов на CSS

Reading time5 min
Views21K
Вот линейный градиент на CSS, идущий от чисто жёлтого до чисто синего цвета:


Заметили, что в центре он становится бледным и грязным?

Это явление Эрик Кеннеди назвал «мёртвой зоной серого». Если вы тщательно не выбираете цвета для своих градиентов, то в ваших градиентах на CSS часто возникает такая обесцвеченная часть посередине.

Однако, как оказалось, можно полностью избавиться от мёртвой зоны серого. В этом посте я расскажу, почему она возникает, и о том, как можно использовать теорию цвета для создания насыщенных, ярких градиентов, «живых» по всей своей длине.
Читать дальше →
Total votes 56: ↑52 and ↓4+59
Comments30

30 команд Git, необходимых для освоения интерфейса командной строки Git

Reading time9 min
Views397K

Git — самая популярная в мире распределённая система контроля версий. Линус Торвальдс, разработчик ядра ОС Linux, создал этот инструмент ещё в 2005 году, а сегодня Git активно поддерживается как проект с открытым исходным кодом. Огромное количество открытых и коммерческих проектов используют Git для контроля версий.

В данной статье перечисляются самые основные команды, которые следует знать разработчику, чтобы освоить управление репозиториями GitHub на высоком уровне. Ознакомиться с ними будет полезно как новичкам, так и опытным разработчикам.
Читать дальше →
Total votes 64: ↑49 and ↓15+54
Comments63

PHPStorm + XDebug + Docker

Reading time3 min
Views28K

Ещё одна статья на избитую тему? Да! Потому что за два часа поиска не нашёл ни одной, по которой можно было пройтись от и до и получить работающее окружение.

Шагов, на самом деле, немного, все очень простые, нужно лишь...

Читать далее
Total votes 22: ↑22 and ↓0+22
Comments10

Надеть Telegram на OpenVPN и завернуть это в Docker

Reading time8 min
Views16K

Мигрируя в этом году свою инфраструктуру в новый датацентр, поймал себя на мысли о том, что возраст моей виртуальной частной сети (VPN) для доступа к серверам и устройствам перевалил за 10 лет.

Мой старый товарищ OpenVPN ни разу не подвел меня.

Подумав обо всех неудобствах и издержках я решил улучшить имеющийся механизм управления всем VPN-хозяйством.

Под катом вы найдете детали того, что получилось. Кратко, результат следующий: композиция из двух docker-контейнеров, которые превращаются в telegram-бота для управления VPN сервисом. И для этого нужно выполнить всего две команды в консоле.

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

Для тех же, кому интересны технические детали реализации (помимо готового кода), в статье есть описание подходов, которые упрощают сопряжение систем в нескольких контейнерах. Раньше я "ходил более сложными тропами"...

Полезного чтения
Total votes 23: ↑21 and ↓2+20
Comments2

Мультиван и маршрутизация на Mikrotik RouterOS

Reading time30 min
Views239K
Адаптировано под ROS6 и ROS7. Редакция от 28.12.2021

Введение


Статья ориентирована на начинающих администраторов Mikrotik RouterOS (далее ROS). В ней рассматривается маршрутизация с резервированием для нескольких не связанных multihomed AS каналов интернет, работающих по протоколу IPv4. Так же есть настройки для обеспечения базовой безопасности. «Автоматическая» балансировка исходящего трафика по каналам в данной статье не описана по причине того, что ее реализация на таких исходных данных — это череда компромиссов и ограничений, требующая отдельного рассмотрения. Инструментарий для «ручной» балансировки в статье содержится и приведенные настройки являются хорошей базой для добавления «автоматической» балансировки, как минимум полудюжиной способов.
Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments24

У семи программистов адрес без дома

Reading time4 min
Views97K
Привет, Хабр!

Мы в HumanFactorLabs парсим адреса в особо крупных размерах. Наши продукты упрощают ввод контактных данных и работу с ними.

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

Недавно на Хабре нас попросили привести примеры необычных адресов, в связи с чем и написана эта статья.
Читать дальше →
Total votes 104: ↑101 and ↓3+98
Comments211

Как GitLab помогает делать бэкапы больших хранилищ NextCloud

Reading time8 min
Views6.2K

Привет, Хабр!


Сегодня я хочу рассказать о нашем опыте автоматизации резервного копирования больших данных хранилищ Nextcloud в разных конфигурациях. Я работаю СТО в «Молния АК», где мы занимаемся конфигурационным управлением IT систем, для хранения данных используется Nextcloud. В том числе, с распределенной структурой, с резервированием.


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


Предыстория


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


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


Клиентов много, все они с разными конфигурациями, и все на своих площадках и со своими особенностями. Тут стандартная методика когда вся площадка принадлежит тебе, и бэкапы делаются из крона подходит плохо.


Для начала посмотрим на вводные данные. Нам нужно:


  • Масштабируемость в плане одна нода или несколько. Для крупных исталляций мы используем в качестве хранилища minio.
  • Узнавать о проблемах с выполнением бэкапа.
  • Нужно хранить бэкап у клиентов и/или у нас.
  • Быстро и легко разбираться с проблемами.
  • Клиенты и установки сильно отличаются один от другого — единообразия добиться не получается.
  • Скорость восстановления должна быть минимальна по двум сценариям: полное восстановление (дизастер), одна папка — стерто по ошибке.
  • Обязательна функция дедупликации.


Для решения задачи управления бекапами мы прикрутили GitLab. Подробнее подкатом.

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

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

Reading time6 min
Views42K

Хабр, привет! Меня зовут Даниил Пилипенко, я программный директор факультета backend-разработки направления «Программирование» Skillbox, директор центра подбора IT-специалистов SymbioWay. Сегодня разберём практические задачи, с которыми могут столкнуться Java-разработчики junior-уровня на собеседовании. Такого рода задачи мы часто видим на собеседованиях наших клиентов и коллег, а также сами даём соискателям.

Читать далее
Total votes 18: ↑13 and ↓5+15
Comments47

Большой гайд. Пишем микросервисы на Java и Spring Boot, заворачиваем в Docker, запускаем на EKS, мониторим на Grafana

Reading time37 min
Views86K

Туториалы делятся на две больших категории: либо "как нарисовать сову", либо подробно расписанные тысячи шагов в формате "напиши туториал для дурака - и только дурак захочет его читать".

Как какой из двух категорий относится эта статья — решать вам.

В этой статье вы увидите пошаговое создание cloud-native микросервиса на Amazon AWS, пригодное для "чтения с листа". Чтобы понять, что здесь происходит, не нужно разворачивать проект - достаточно обладать живым воображением и прочитать текст по диагонали. Если же вы всё-таки захотите повторить шаги, вам будут жизненно нужны знания вида, как создавать классы в IDE и что такое Spring.

Вначале мы напишем пару простых микросервисов на Spring Boot, докеризуем их, зальём в AWS, настроим красивые доменные имена и HTTPS, прикрутим логирование и мониторинг, Prometheus и Grafana. Это небольшое путешествие по всем кругам ада, из которого вы не вернетесь прежним.

Текст написан на основе текстов и демо-проекта microservice-customer за авторством @kamaruzzaman. Если вы потеряли нить повествования, всегда можно зайти на GitHub и найти весь код в пригодном для запуска виде. Если захочется закопаться в тему, то бро Дима Чуйко (@Teapot) написал вам ещё две части статьи "Микросервисы: от CRUD до Native Image" (раз, два).

Последняя важная оговорка. В этом гайде будут использоваться технологии Amazon и обычные дистрибутивы OpenJDK. Автор осознает, что мы живём в России, и возможно, вместо Amazon куда лучше подойдет что-то вроде SberCloud или MTS Cloud, а вместо обычного OpenJDK - Axiom JDK с сертификацией по ФСТЭК. Особенности российских технологий - тема для отдельной статьи. Если вы захотите таковую после чтения этого гайда - отметьтесь в комментариях.

Читать далее
Total votes 67: ↑66 and ↓1+86
Comments27

Оптимизация загрузки js бандла использующего icon pack’и

Reading time3 min
Views2.6K

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

Мое приложение состоящее из 2х элементов весит 722kb. Но почему?

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

RHVoice Lab: как незрячие разработчики создают голоса для синтезатора речи

Reading time12 min
Views4.4K

Привет, Хабр! Представьте на секунду, что этот текст вы не пробегаете глазами, пока допиваете кофе, а слушаете в выбранной озвучке, лишь примерно представляя, как выглядит верстка страницы. Тем не менее, именно так статью «прочитают» незрячие люди, в том числе энтузиасты RHVoice Lab.

RHVoice Lab – это некоммерческая лаборатория по созданию новых голосов для одноименного отечественного синтезатора речи. Его особенность в том, что он создан специально для слабовидящих и незрячих людей, для бытового использования. За год существования RHVoice Lab создала до десяти новых голосов, в том числе для английского и украинского языков. Благодаря команде проекта незрячие люди могут выбирать голос подходящего им тембра и звучания или «озвучивать» навигацию по интернету голосами известных людей.

Руководитель проекта Артём Плаксин рассказал, как появилась идея RHVoice Lab, как воссоздать голос Артемия Лебедева при помощи сервера от Selectel и можно ли быть программистом, если ты не видишь код.
Total votes 47: ↑47 and ↓0+47
Comments2

Как я разрабатывал интеграцию для Home Assistant

Reading time8 min
Views17K

Так сложилось что недавно я поставил себе Home Assistant (далее HA) для управления всем моим зоопарком устройств из одного места, что оказалось довольно удобно. Но без ложки дегтя никуда и нашлось все таки одно устройство, интеграции для которого в HA не было, а привязать его хотелось. Было решено написать собственную интеграцию. Если интересно, что из этого вышло, добро пожаловать под кат.

Читать далее
Total votes 12: ↑12 and ↓0+12
Comments14

Как изучить SQL за ночь или шпаргалка для системного аналитика

Level of difficultyEasy
Reading time10 min
Views141K

Помните, как вы были студентами, и готовились к экзаменам по ночам?

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

Изучите теорию на примерах и закрепите на 13 практических задачах по SQL.

Читать далее
Total votes 51: ↑46 and ↓5+52
Comments41

Основы контейнеризации (обзор Docker и Podman)

Reading time16 min
Views132K

Привет, Хабр!

К 2022 году о контейнеризации не слышал только ленивый. Большинство специалистов, так или иначе имеющих отношение к ИТ, хотя бы раз в жизни запускали программное обеспечение в контейнерах. Однако так ли эта технология проста и понятна? Давайте разбираться вместе!

Главная задача данной статьи – рассказать о контейнеризации, дать ключевые понятия для дальнейшего изучения и показать несколько простых практических приемов. По этой причине (а еще, безусловно, вследствие недостаточной квалификации автора) теоретический материал достаточно упрощен.

Читать далее
Total votes 26: ↑26 and ↓0+26
Comments22

Почта для домена в Telegram

Reading time2 min
Views13K

Дважды начинал эту заметку ибо откровений и контента мало. Решая личную проблему переезда входящей почты с Yandex 360, оказалось, что бесплатных парковок "на западе" не имеется. Zoho как альтернатива, определенно, хорош, но 90 центов за домен в месяц для десятка доменов с сотней текстовых входящих показалось избыточным. На коленке был собран wizard, связывающий SendGrid и Telegram вместе.

Читать далее
Total votes 18: ↑13 and ↓5+11
Comments17

Material You: раскладываем по полочкам обновление дизайн-системы Material

Reading time7 min
Views26K

Персонализация смартфона, свежая палитра цветов Material, обновлённые компоненты — от кнопок до диалогов.

Всё это — про Material You, новую дизайн-систему от Google для мобильных и веб-приложений! Разбираем новую систему цветов и все нововведения Material.

Читать далее
Total votes 11: ↑9 and ↓2+7
Comments10

Я всегда с собой беру…

Reading time9 min
Views57K

Некоторые сотовые провайдеры не разрешают раздавать их безлимитный интернет без дополнительной оплаты. Приобретать отдельное походное устройство по обеспечению широкополосного беспроводного доступа в глобальную сеть с абонентской оплатой более 1к рублей в месяц ради нескольких дней в году может совсем не хотеться. В связи с этими обстоятельствами в статье рассмотрено, как сотовые операторы узнают о раздаче доступа в интернет с мобильных устройств, а также какие возможности имеются на борту RouterOS по обеспечению приватности подобных действий.
Читать дальше →
Total votes 90: ↑87 and ↓3+112
Comments134

15 супер полезных примеров команды find в Linux

Reading time9 min
Views78K

Практические примеры, которые приведены в этой статье, помогут вам освоить очень эффективную и крайне полезную команду find.
Читать дальше →
Total votes 34: ↑30 and ↓4+34
Comments17

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity