Обновить
-10
@NTDim1973read⁠-⁠only

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

1
Подписчики
Отправить сообщение

CompletableFuture. Глубокое погружение

Уровень сложностиСложный
Время на прочтение20 мин
Охват и читатели104K

java.util.concurrent.CompletableFuture - класс не новый. Он предстал перед нами во всём своём величии в 2014-м году вместе с выпуском Java 8. Много лет с тех пор прошло, а проще он не стал.

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

Читать далее

Как сохранять историю процессов в Camunda без вреда для них

Время на прочтение4 мин
Охват и читатели12K

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

Читать далее

Изучаем Docker, часть 3: файлы Dockerfile

Время на прочтение12 мин
Охват и читатели1.1M
В переводе третьей части серии материалов, посвящённых Docker, мы продолжим вдохновляться выпечкой, а именно — бубликами. Нашей сегодняшней основной темой будет работа с файлами Dockerfile. Мы разберём инструкции, которые используются в этих файлах.

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


Бублики — это инструкции в файле Dockerfile
Читать дальше →

Встроенные кнопки в Telegram Bot API — pyTelegramBotAPI

Время на прочтение3 мин
Охват и читатели406K
Добрый день уважаемые читатели, давайте рассмотрим, какие основные типы встроенных кнопок предлагают чат-боты telegram и в чем их особенности. Статья будет полезна всем, кто хочет разобраться в возможностях взаимодействия с пользователями telegram в версии bot API 2.0.
Читать дальше →

CBOR — новый бинарный формат представления данных

Время на прочтение9 мин
Охват и читатели71K
Concise Binary Object Representation (сжатое бинарное представление объекта) — формат данных, который был спроектирован таким образом, чтобы обеспечить максимально простой код реализации, формирования компактных выходных данных и возможность расширения формата без необходимости обмена информацией о версии.

Стандарт формата CBOR был официально анонсирован комитетом IETF в октябре 2013 года в новом документе RFC 7049, авторами которого являются Carsten Bormann и Paul Hoffman. Взглянув на имя первого автора, можно предположить другую причину происхождения аббревиатуры для названия формата, но возможно это просто совпадение. Формат CBOR получил MIME-тип application/cbor.

На данный момент существует, вероятно, сотни всевозможных бинарных форматов для представления структурированных данных, ряд которых стандартизирован, популярен и широко применяется (например, BER и DER для ASN.1, MessagePack и BSON). Все существующие стандарты решают поставленные перед ними задачи, и CBOR здесь не исключение. К формату было предъявлено семь важных требований, и, поскольку ни один из существующих форматов в полной мере не мог им удовлетворить, был создан новый (да, тут напрашивается картинка ).

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

MessagePack аналог JSON, но быстрее и меньше

Время на прочтение3 мин
Охват и читатели65K
MessagePack это эффективный сериализатор данных в бинарное представление.



Используя данную библиотеку вы можете обмениваться сообщениями между вашими компонентами системы подобно тому, как вы это делаете с помощью формата JSON. Интерпретация библиотеки существует для 44 языков программирования (!)
Читать дальше →

Создаем самоорганизующуюся команду: пошаговый алгоритм

Время на прочтение10 мин
Охват и читатели22K

Меня зовут Андрей Булов. Я простой питерский технарь, архитектор, разработчик, DevOps технический менеджер. Сейчас работаю в Quantori.

Я не буду описывать самоорганизующиеся команды, а расскажу про алгоритм их создания. Это мой личный опыт — я так работаю с командами (их было 30+). Он перекликается с Management 3.0, моделью Херши-Бланшар, LeSS, Sсrum и даже SAFe, а также со многими другими софтовыми областями. И в нем есть конкретика на уровне действий.

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

Читать далее

Опыт МойОфис: как мы повышаем вовлеченность сотрудников и работаем с обратной связью. Рекомендации для тимлидов

Время на прочтение11 мин
Охват и читатели6.4K

Высокие показатели вовлеченности — не повод для бездействия. Помните, как у Кэрролла? «Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!». У любой компании есть красные зоны, идеальная картина встречается крайне редко. Более того, как раз красные зоны помогают той или иной компании понять, куда двигаться и как улучшить ситуацию. На примере МойОфис рассказываем, как мы работаем с исследованием и отзывами коллег о работе в компании, и что помогает нам улучшать свой результат, даже если показатели и так высокие.

Читать далее

Корутины в Kotlin (гайд)

Время на прочтение12 мин
Охват и читатели162K


Simon Wirtz в своем блоге публикует достаточно много интересных постов о Kotlin.
Представляю вашему вниманию перевод одного из них.
Читать дальше →

5 причин, по которым я люблю программировать в Linux

Время на прочтение6 мин
Охват и читатели74K
Linux — это отличная платформа для занятий программированием. На нашей стороне — логичность, высокая эффективность, лёгкость работы с исходным кодом.

В 2021 году Linux выглядит как никогда привлекательно. Я собираюсь написать материалы, в которых расскажу о 21 способе использования Linux. А в этой статье я хочу поговорить о том, почему так много программистов выбирают Linux.

Когда я начал пользоваться Linux, я работал в сфере кинопроизводства. Я выбрал Linux из-за того, что эта ОС замечательно поддерживала работу с мультимедийными данными. Мы выяснили, что обычные коммерческие приложения для редактирования видео не способны обрабатывать большинство тех записей, которые мы извлекали из практически любых устройств, оснащённых камерами. Тогда я не знал о том, что Linux имеет репутацию операционной системы, рассчитанной на серверы и на программистов. Чем больше задач я решал с помощью Linux, тем сильнее мне хотелось научиться управлять всеми свойствами этой ОС. В итоге я выяснил, что компьютер показывает всю свою мощь тогда, когда его пользователь способен «говорить» на его языке. Через несколько лет после перехода на Linux я уже писал скрипты для автоматического редактирования видео, для объединения аудиофайлов, для пакетного редактирования фотографий, и для решения любых задач, которые мне удавалось сформулировать, и для которых удавалось найти решение. Мне не потребовалось много времени на то, чтобы понять, почему программисты любят Linux. Но именно Linux научила меня любить программирование.



Оказалось, что Linux — это отличная платформа для программистов, и для начинающих, и для опытных. Нельзя сказать, что Linux необходима для того, чтобы писать программы. Успешные разработчики пользуются самыми разными платформами. Но у Linux есть много такого, что она может предложить разработчикам. Кое о чём из этого я и хочу рассказать.
Читать дальше →

Телеграм бот для поддержки своими руками

Время на прочтение6 мин
Охват и читатели118K

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

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

Я расскажу, как запустить такого бота бесплатно в 1 клик, и поделюсь кодом.

Читать далее

Telegram-бот как фитнес-менеджер во время пандемии

Время на прочтение6 мин
Охват и читатели7.2K
image

С приходом коронавируса мир сошел с ума и появилась куча ограничений, которые полностью поменяли нашу жизнь. Меня зовут Эмиль Фролов, я руковожу разработкой команды внутренних сервисов в ДомКлике и сегодня я поделюсь с читателями историей про создание бота, который помог нам справиться с некоторыми тяготами ковид-ограничений.

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

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

Погода в доме или бюджетный мониторинг CO2, PM2.5, температуры и влажности на ESP32 и Blynk

Время на прочтение6 мин
Охват и читатели51K
По просьбах трудящихся в этой теме, решил сделать обзор-инструкцию, как можно сделать бюджетный измеритель CO2.

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

Также для максимальной простоты повторения, в обзоре выложу прошивку для ESP32 и проект Blynk.
Читать дальше →

Как сделать nginx безопасным

Время на прочтение3 мин
Охват и читатели24K


TL;DR: абсолютно устойчивых систем не существует, поэтому ответ — никак. Но можно значительно упростить себе жизнь с помощью Docker-контейнера bunkerized-nginx. О том, чем он отличается от стандартного образа nginx и что интересного умеет, поговорим под катом.
Читать дальше →

Как написать одностраничное приложение (SPA) с использованием Vue.js

Время на прочтение7 мин
Охват и читатели136K
Одностраничные приложения

Одностраничные приложения (SPA) имеют мнжество преимуществ, таких как скорость, по-настоящему хороший UX, и полный контроль HTML-разметки. Становится всё больше и больше сайтов SPA; всё больше инструментов, которые упрощают процесс разработки SPA. Вы, вероятно уже читали о молодом и перспективном фреймворке Vue.js. Предлагаю вам глубже погрузиться в Vue и на конкретном примере разобраться с простым SPA.

Мы напишем клиент-серверное приложение простейшего блога. Приложение будет отображать список записей а также полный текст каждой отдельной записи. И само собой, всё это будет происходить без перезагрузки страницы.

Ознакомившись с примером этого приложения, вы научитесь извлекать данные в Vue, создавать роуты и разберётесь с интересной особенностью Vue — однофайловыми компонентами.
Читать дальше →

11 инструментов для разработки микрофронтендов, о которых стоит знать

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



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

Дэн Абрамов, в мае прошлого года, писал в своём Твиттере о том, что он не понимает микрофронтенды. Он полагает, что задачи, которые они должны решать, уже решены средствами хороших компонентных моделей. «Может, микрофронтенды — это решение организационных проблем, а не технических? Например, когда две команды разработчиков не могут ни о чём договориться, в том числе — об инфраструктуре проекта», — размышляет он.

Существует много подходов к разработке микрофронтендов: от интеллектуальной интеграции компонентов во время сборки проекта до организации совместной работы разных частей приложения во время выполнения кода путём использования особых подходов к маршрутизации. В этом материале я собрал самые заметные инструменты, направленные на разработку микрофронтендов.
Читать дальше →

Советы по выбору усилителя сигнала сотовой связи 2G/3G/4G/5G

Время на прочтение9 мин
Охват и читатели607K

Статья подготовлена с коллегами, занимающимися установкой систем усиления сотовой связи https://t.me/usileniesvyazi.


Статья о вариантах усиления сигнала сотовой связи на различных объектах: дача, офис, склад..., так же краткий обзор популярных предложений на рынке.


Существует два основных варианта усиления сотовой связи:


  1. С помощью антенны, модема и роутера.
  2. С помощью активного усилителя (репитера).

Первый вариант для усиления интернета 3G/4G/5G, не усиливает голосовую связь в обычном для нас формате (но можно пользоваться звонками через мессенджеры: WhatsApp, Viber, Skype, Telegram).


Второй вариант универсальный – усиливает интернет и голосовую связь, но имеет ряд ограничений (о ограничениях ниже).


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

Redis Best Practices, часть 2

Время на прочтение11 мин
Охват и читатели34K
Вторая часть цикла переводов Redis Best Practices от «Redis Labs», и в ней рассмотрены паттерны взаимодействия и паттерны хранения данных.
Читать дальше →

All-In-One: Proxmox + OpenMediaVault или ещё одна идея для домашнего NAS

Время на прочтение11 мин
Охват и читатели112K


Астрологи объявили месяц статей о домашних NAS на Хабре, так что поделюсь и своей историей успеха...


Не так давно я попробовал новый FreeNAS Coral. Понравилось мне в нем если не все, то очень многое: это и новый гипервизор bhyve, и повсеместное использование 9P для проброса файловой системы на гостя, а так же идея с docker и многое другое.


Кроме того я ещё больше влюбился в ZFS со всеми её плюшками, такими как дедупликация и сжатие на лету.


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


В статье так же будет немного рассказано про Docker и автоматический прокси с автоматическим получением сертификатов Letsencrypt.

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

Docker в банке. Видео с лекции Александра Тарасова из Альфа-Банка

Время на прочтение1 мин
Охват и читатели40K
Docker — технология, вокруг которой нынче огромное количество хайпа. «Shitstorm» — именно таким словом окрестил в твиттере докеровые войны один из моих немецких знакомых. Ну и конечно, вместе с «Microservices» и «Reactive», слово «Docker» прочно вошло в тройку ведущих айтишных баззвордов последних двух лет.

Неделю назад на московской встрече CodeFreeze Александр aatarasoff Тарасов из Альфа-Лаборатории (подразделение Альфа-банка) рассказал от том, как они внедряли у себя Docker, какой получили профит, какую боль и т.п. Интрига в том, что, с одной стороны, Альфа-банк — это банк, то есть, «кровавый энтерпрайз». С другой стороны… внедрили же.



Под катом — короткое описание того, о чем рассказал нам Александр и видеозапись его выступления.
Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Екатеринбург, Свердловская обл., Россия
Дата рождения
Зарегистрирован
Активность