Как стать автором
Обновить
22
0
Фёдор Аксёнов @faxenoff

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

Отправить сообщение

Refit в .NET: обзор библиотеки для упрощения работы с REST API

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров862

В этом обзоре мы познакомимся с библиотекой Refit для .NET, которая значительно упрощает работу с REST API.

Refit позволяет разработать типобезопасные http клиенты с использованием интерфейсов и атрибутов, что делает код более читаемым и удобным для сопровождения.

Читать далее
Всего голосов 6: ↑6 и ↓0+6
Комментарии4

Получение D-U-N-S номера для мобильных разработчиков

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров5.4K

В конце 2023 года мы столкнулись с проблемой того, что Google Play стал требовать DUNS номер для регистрации новых аккаунтов, а также для подтверждения уже существующих. Данное сообщение могли увидеть все Android разработчики. Также данный номер необходим для регистрации и аккаунтов в AppStore.

Читать далее
Всего голосов 5: ↑5 и ↓0+7
Комментарии0

Как ускорить сборку Docker-образов в GitLab: стратегии кэширования с Docker Buildx

Уровень сложностиСложный
Время на прочтение16 мин
Количество просмотров7K

Скорость сборки Docker-образов играет важную роль в CI/CD, особенно для микросервисов, где частые обновления и тестирования требуют быстрой доставки изменений.

Одним из решений для оптимизации сборок является Docker Buildx — расширение к стандартной команде docker build. Docker Buildx предлагает дополнительные возможности, такие как кэширование слоев образов, что помогает значительно сократить время сборки за счет повторного использования неизменных слоев. В отличие от стандартного процесса сборки, Docker Buildx предоставляет более гибкое управление кэшем, поддерживает мультиархитектурные сборки и работу с несколькими платформами.

В этой статье мы сосредоточимся на том, как эффективно настроить и использовать кэширование с Docker Buildx в CI/CD пайплайнах на GitLab. Мы рассмотрим примеры, когда кэширование позволяет ускорить сборку, и ситуации, когда его лучше отключить для гарантии корректности итогового образа.

Читать дальше →
Всего голосов 15: ↑15 и ↓0+18
Комментарии6

Пол Лайнбарджер. Научная фантастика и психологическая война

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров6.7K


Несколько лет назад на Хабре поднималась тема приёмов психологической войны. Там же приводились примеры военной пропаганды времён Второй мировой.

В обсуждении мельком упомянули легендарного Пола Лайнбарджера, который заложил фундаментальную теоретическую основу для этой дисциплины. Работы американского специалиста внимательно изучались в СССР (см. книгу Лайнбарджер. Психологическая война. Перевод с английского, Издательство министерства обороны СССР, 1962 год). Эти методы применяются на практике до сих пор — как по прямому назначению в военных конфликтах, так и в бизнесе: пиар, маркетинг, реклама, массовые коммуникации. В 2013 и 2023 годах американскую классику переиздавали в РФ, причём у книги высокий рейтинг 8.62 и отзывы читателей. Тема опять стала актуальной.

Сам Лайнбарджер — весьма неординарная личность. Любопытно, что параллельно с основной работой в минобороны США он приобрёл известность как автор научно-фантастических произведений, и очень интересных.
Читать дальше →
Всего голосов 40: ↑38 и ↓2+58
Комментарии31

Kafka. Лучшие практики применения. Настройки Producer & Consumer

Уровень сложностиСредний
Время на прочтение20 мин
Количество просмотров19K

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

Меня зовут Михаил, я являюсь ФинТех системным аналитиком, исполняющим роль архитектора на проектах. И сегодня я хочу поделиться материалами по Kafka, которые подготовил для обучения сотрудников из своей команды. В материале постарался отразить самые важные технические моменты по Kafka, которые будут подкреплены наглядными кейсами и примерами использования. Материал будет полезным как для начинающих, так и для продвинутых пользователей. Желаю приятного прочтения.

Kafka. Лучшие практики применения.
Всего голосов 31: ↑25 и ↓6+21
Комментарии36

Корректное завершение работы подов в Kubernetes

Уровень сложностиПростой
Время на прочтение18 мин
Количество просмотров6.8K

Перевели статью и наглядную инфографику управляющего директора Learnk8s Daniele Polencic о корректном завершении работы подов в Kubernetes. В тексте много примеров и иллюстраций, которые помогут начинающим разобраться, как предотвратить разрыв соединений при запуске или остановке пода. В том числе для долгоживущих соединений и задач.

Читать далее
Всего голосов 22: ↑22 и ↓0+31
Комментарии5

Мощь CSS-масок

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров6.2K

Декабрь 2023 года стал значимой датой в истории развития CSS-свойства mask: все современные браузеры в своих последних версиях обеспечили его полную поддержку, теперь без использования своих вендорных префиксов. А это означает, что данное свойство прочно и надолго вошло в жизнь каждого фронтенд-разработчика. Осталось лишь фронтенд-разработчикам принять его в свою жизнь и перестать его бояться!

В статье я кратко напомню основные теоретические идеи свойства и подробно расскажу о реальных примерах использования на основании опыта разработки Taiga UI.

Читать далее
Всего голосов 55: ↑53 и ↓2+60
Комментарии0

Как небольшой «тюнинг» Talos Linux увеличил производительность NVMe SSD в 2.5 раза

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров13K

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

Мы рассмотрим несколько примитивных настроек Linux, которые могут повысить производительность NVMe SSD дисков в разы. Под катом много интересных подробностей, так что скучно не будет.

Читать далее
Всего голосов 52: ↑51 и ↓1+64
Комментарии22

Почему СУБД такие медленные

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров34K


Недавно на Хабре публиковался перевод статьи «Просто выберите Postgres» (оригинал, англ. яз) с аргументами, что Postgres — оптимальная БД для десктопных и мобильных приложений. Аналогичное мнение высказывают в других популярных статьях вроде «До свидания MongoDB, здравствуй PostgreSQL». Главным недостатком SQLite называют то, что данные хранятся в одном файле, а MongoDB (а также DynamoDB и Cassandra) — низкую производительность:

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

…Если паттерны доступа существенно изменятся, то может потребоваться полная повторная обработка всех данных».

Более производительные резидентные БД хранят данные в памяти (Redis, Valkey), но их использование ограничено объёмом ОЗУ.

После такого заявления интересно посмотреть на независимые тесты производительности разных СУБД.
Читать дальше →
Всего голосов 96: ↑62 и ↓34+54
Комментарии42

Настройка CI/CD для GitLab-репозитория: работа с микросервисами

Уровень сложностиСредний
Время на прочтение20 мин
Количество просмотров11K

Рассказываем о полезных практиках конфигурации пайплайна с помощью GitLab CI/CD в контексте микросервисной архитектуры. Рассмотрим: добавление заданий в пайплайн путём проверки изменений в определённых микросервисах, концепцию модульных пайплайнов и явное указание зависимостей между заданиями для их выполнения не по этапам.

Читать далее
Всего голосов 9: ↑9 и ↓0+12
Комментарии4

Как улучшить качество WebRTC-звонков на примере сервиса VK Звонки

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров2.6K

Ало, как слышно?!

Я Иван Шафран, уже 4 года работаю с WebRTC на Android. В этой статье на примере VK Звонков расскажу, что можно сделать, чтобы улучшить качество сервисов для аудио- и видеосвязи. Обсудим достоинства и недостатки WebRTC. Расскажу, как работать с аудио, видео и режимом демонстрации экрана и какие есть варианты сбора статистики.

Читать далее
Всего голосов 15: ↑15 и ↓0+24
Комментарии5

Как починить GoodbyeDPI, если он перестал работать 22.09.24

Уровень сложностиПростой
Время на прочтение1 мин
Количество просмотров464K

Решение нашел в комментариях оригинального гитхаба от ValdikSS (работает только для самой последней версии 0.2.3rc3-2).

Читать далее
Всего голосов 165: ↑137 и ↓28+126
Комментарии227

Прячем секреты в репозитории с помощью helm-secrets, sops, vault и envsubst

Время на прочтение6 мин
Количество просмотров20K

Привет, Хабр! Меня зовут Евгений Симигин, я занимаюсь внедрением DevOps-практик в Центре компетенций по разработке облачных и интернет-решений МТС Digital. А еще я – куратор практикумов docker и kubernetes на платформе rebrainme.com.

Практика показывает, что далеко не все инженеры знают о том, как шифровать секреты в своих репозиториях. Поэтому расскажу об инструментах helm-secrets, sops и vals, которые помогают быстро и просто решить эту задачу. Надеюсь, что после выхода моей статьи закоммиченных паролей в репах станет меньше :).

Читать далее
Всего голосов 16: ↑16 и ↓0+16
Комментарии16

Distroless контейнеры

Время на прочтение3 мин
Количество просмотров17K

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

Читать далее
Всего голосов 25: ↑24 и ↓1+30
Комментарии18

Единая точка входа с Keycloak и Яндекс в условиях большого переезда

Время на прочтение20 мин
Количество просмотров18K

Так же, как и многие другие компании, мы долго и счастливо использовали целый стек популярных облачных сервисов (Github, Slack, Jira, Confluence и т.д.) и связывал это все Google Workspace, который выступал в том числе и как SSO для всех используемых сервисов.

В связи с последними событиями нам пришлось достаточно быстро искать и реализовывать альтернативу из отечественных сервисов и open source продуктов. При этом одним из требований стало использование общей с «офисными»
и почтовыми сервисами точки аутентификации.

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

Читать далее
Всего голосов 14: ↑14 и ↓0+14
Комментарии12

Как я нажарил косточек и продал на маркетплейсах на 36 млн в год

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров148K

В 2014-м я начал жарить кофе кустарно. Тогда я несколько дней работал на кухне, чтобы отправить в Абхазию тонну зерен без договора и предоплаты. Сегодня мое производство обжаривает порядка 20 тонн зерна в месяц и продает на 200 млн рублей в год.

Читать далее
Всего голосов 116: ↑85 и ↓31+68
Комментарии199

Как мы перешли на конфигурацию Microsoft.Extensions.Configuration (IOptions) и стало хорошо

Уровень сложностиПростой
Время на прочтение18 мин
Количество просмотров6.1K

Привет, меня зовут Андрей Рягузов, в 2ГИС я разрабатываю внутренние продукты для актуализации справочных данных на .NET.

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

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

Читать далее
Всего голосов 22: ↑20 и ↓2+22
Комментарии14

От Skype до WebRTC: как мы организовали видеосвязь через веб

Время на прочтение7 мин
Количество просмотров19K


Видеосвязь — основной способ общения преподавателя и студента на платформе Vimbox. Мы давно отказались от Skype, перепробовали несколько сторонних решений и в итоге остановились на связке WebRTC — Janus-gateway. Некоторое время нас все устраивало, но все же некоторые негативные моменты продолжали вылезать. В итоге было создано отдельное направление по видео.


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

Читать дальше →
Всего голосов 28: ↑27 и ↓1+26
Комментарии14

Замеряем неизмеримое: карточки реакций VKontakte Desirability Toolkit для оценки визуального восприятия

Время на прочтение7 мин
Количество просмотров1.4K

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

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

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

Читать далее
Всего голосов 13: ↑12 и ↓1+23
Комментарии0

Малоизвестные фичи XRay, о которых невозможно молчать

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров25K

В этом посте я кратко поведаю о разных интересных возможностях XRay (клиент и сервер для протоколов VMess, VLESS, Trojan и других, в том числе с XTLS-Reality и XTLS-Vision), о которых, кажется, мало кто знает, но которые могут оказаться очень полезными.

Оглавление:

- Фрагментирование запросов
- QUIC-транспорт
- Мониторинг и автоматический выбор outbound'а
- Сбор статистики
- Browser dialer

Читать далее
Всего голосов 48: ↑48 и ↓0+58
Комментарии24
1
23 ...

Информация

В рейтинге
5 543-й
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность