Pull to refresh
14
0.7
Send message

Современный способ организации зависимостей в Android. Version catalog и Gradle convention plugin

Level of difficulty Medium
Reading time 18 min
Views 1.4K

Я — Денис, Middle Android-разработчик в «Лайв Тайпинге». В этой статье я расскажу о современном подходе организации зависимостей в Android. Вы узнаете как использовать version catalog и convention plugin в вашем проекте.

Читать далее
Total votes 13: ↑11 and ↓2 +9
Comments 5

Как собрать контейнер и не вооружить хакера

Reading time 15 min
Views 9.9K

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

Привет, Хабр! Это Алексей Федулаев и Антон Жаболенко из Wildberries. Мы работаем в сфере информационной безопасности (ИБ) уже больше 10 лет.

Читать далее
Total votes 27: ↑27 and ↓0 +27
Comments 7

Стратегии избегания и снижения риска: в чём разница?

Reading time 4 min
Views 1K


Риски представляют собой любые трудности, факторы, события или проблемы, которые могут оказать положительное или отрицательное влияние на проект или конкретный бизнес-процесс. Эффективное управление рисками необходимо для того, чтобы риски, которые всё же возникают, не влияли негативно на общие цели. Менеджеры, ответственные за планирование и инициирование проектов, часто придерживаются стратегий, направленных как на избегание, так и на снижение потенциальных рисков. В этой статье мы поговорим об избегании и снижении рисков, а также о том, что следует учитывать при разработке стратегии управления рисками.
Читать дальше →
Total votes 19: ↑13 and ↓6 +7
Comments 0

Как генетика влияет на старение кожи?

Level of difficulty Medium
Reading time 10 min
Views 3.1K

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

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

Читать далее
Total votes 9: ↑7 and ↓2 +5
Comments 10

Что такое Risk Storming?

Level of difficulty Easy
Reading time 3 min
Views 908

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

Читать далее
Total votes 12: ↑11 and ↓1 +10
Comments 1

Разработка высоконагруженного игрового WebSocket сервера на Kotlin, Webflux с поддержкой BattleRoyale/Matchmaking

Level of difficulty Hard
Reading time 20 min
Views 5.5K

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

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

Упорядочиваем закладки

Level of difficulty Easy
Reading time 3 min
Views 5.4K

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

Пример закладок @alizar: 800+ статей.

Упорядочить!
Total votes 15: ↑15 and ↓0 +15
Comments 7

Надежный обход блокировок в 2024: протоколы, клиенты и настройка сервера от простого к сложному

Level of difficulty Medium
Reading time 44 min
Views 122K

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

Вы, наверняка, помните отличный цикл статей на Хабре в прошлом году от пользователя MiraclePtr, который рассказывал о разных методах блокировок, о разных методах обхода блокировок, о разных клиентах и серверах для обходов блокировок, и о разных способах их настройки (раз, два, три, четыре, пять, шесть, семь, восемь, десять, десять, и вроде были еще другие), и можете спросить, а зачем еще одна? Есть две основные причины для этого.

Читать далее
Total votes 490: ↑482 and ↓8 +474
Comments 315

Как написать свою маленькую ОС

Level of difficulty Easy
Reading time 7 min
Views 35K


Большое начинается с малого. Например, ядро Linux 0.0.1 состояло всего из 10 239 строк кода, из них 20% комментарии. Такой проект вполне может осилить студент в качестве курсовой или дипломной работы, программируя по вечерам на домашнем ПК (собственно, Линус и написал его во время учёбы в университете, когда вернулся из армии).

Если один студент смог это сделать тогда, то почему нельзя повторить? И действительно, в интернете есть даже специальные обучающие ресурсы для написания новых ОС и целые сообщества энтузиастов, которые помогают друг другу в этом непростом деле.
Читать дальше →
Total votes 108: ↑103 and ↓5 +98
Comments 25

Open Source в финансах. Проект Okama

Level of difficulty Easy
Reading time 7 min
Views 2.7K

В среде финтех проектов наблюдается интересный парадокс. С одной стороны, вряд ли можно найти область, куда приходит больше инвестиций. Поэтому именно в финтехе сосредоточены самые продвинутые технологии: блокчейн, искусственный интеллект, биг дата, ML и др. С другой стороны, именно в финансовой области наблюдается наименьшее количество хорошо развитых open-source проектов.

Читать далее
Total votes 20: ↑20 and ↓0 +20
Comments 8

CNCF White Paper по observability: инструменты, виды, стратегии и проблемы

Level of difficulty Hard
Reading time 38 min
Views 5.6K

В августе 2023 года под руководством группы TAG Observability в экосистеме CNCF была выпущена версия 1.0 документа по наблюдаемости (observability). CNCF — флагман развития и продвижения облачных технологий. Организация объединяет в себе множество компаний, разработчиков и специалистов с огромным опытом и экспертизой, которые упаковали в этот документ. Наш материал является его переводом.

Читать далее
Total votes 33: ↑33 and ↓0 +33
Comments 4

Иммутабельность в механизме Durable Execution: проблемы и решение

Level of difficulty Medium
Reading time 7 min
Views 1.9K

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

Компьютеры на сегодня достигли таких скоростей, что могут записывать результат каждой нетривиальной задачи в постоянное хранилище. Это, в свою очередь, позволяет им прекрасно восстанавливаться после временного сбоя путём повторного выполнения по журналу всех завершённых задач до момента этого сбоя. Выполнив эти задачи, система спокойно продолжает работу с точки, где она была прервана. При достаточном внимании и осторожности такой механизм можно реализовать с минимальным влиянием на модель программирования или производительность, что, безусловно, очень ценно. Не так ли?
Читать дальше →
Total votes 42: ↑41 and ↓1 +40
Comments 0

Аутентификация для WebSocket и SSE: до сих пор нет стандарта?

Level of difficulty Medium
Reading time 21 min
Views 7.1K

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

В статье разберем особенности аутентификации применительно к протоколу WebSocket и технологии Server-Sent Events, обсудим, какие нюансы могут быть, когда клиентская часть находится в браузере, и на что еще стоит обратить внимание, чтобы избежать неочевидных проблем.

А еще заодно поговорим про уязвимость Cross-Site WebSocket Hijacking (CSWSH) и в целом посмотрим на многие вопросы через призму информационной безопасности.

Читать далее
Total votes 43: ↑43 and ↓0 +43
Comments 5

13 конфигураций Kubernetes, которые ты должен знать в 2k24

Level of difficulty Easy
Reading time 10 min
Views 13K

Поскольку Kubernetes продолжает оставаться краеугольным камнем оркестрации контейнеров, освоение его механизмов и возможностей становится обязательным для специалистов DevOps. В 2024 году некоторые конфигурации Kubernetes выделяются среди прочих благодаря функциональности в части автоматизации и безопасности, а также улучшения производительности в облачных (cloud-native) окружениях. В данной статье рассматриваются 13 ключевых конфигураций Kubernetes – предлагается глубокое погружение в каждую из них со сценариями применения, преимуществами и примерами кода.

Читать далее
Total votes 16: ↑12 and ↓4 +8
Comments 14

Почему ваши витамины и лекарства не работают на 100%? Машинное обучение нашло ответ

Level of difficulty Medium
Reading time 19 min
Views 7.1K

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

Почему, например, не рекомендуется одновременно принимать железо и цинк? Они же оба положительно влияют на формирование иммунитета. А ведь это распространяется и на многие лекарственные препараты!

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

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

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

Приятного чтения! :)

Читать далее
Total votes 37: ↑36 and ↓1 +35
Comments 12

Деплой Flutter-приложений и особенности платформ

Reading time 8 min
Views 2.2K

Всем привет! Меня зовут Александр Омельяненко, я Flutter-разработчик в AGIMA. Сегодня расскажу про релиз приложений в сторы. И поскольку работаю с кросс-платформой, речь пойдет как про Android, так и про iOS. Уверен, каждый участник команды должен понимать, что происходит с приложением, когда оно готово. Поэтому всё объясняю подробно: какие сторы использовать, каких подводных камней ожидать, что делать, если релиз отклонили.

Читать далее
Total votes 17: ↑17 and ↓0 +17
Comments 2

Как аналитику сохранить нервы: 5 упражнений для успокоения

Level of difficulty Easy
Reading time 10 min
Views 10K

Всем привет. Меня зовут Айгуль, я аналитик в «Альфа-Банке», больше 15 лет увлекаюсь психологией, изучаю разные направления, практикую, консультирую. Подготовила вам длинную статью на вечер. Расскажу о том, какое определение аналитика я для себя вывела, что такое стресс и как концепция множественного интеллекта делает нас гибче.

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

Давайте сразу с упражнения и начнём — выберите время, найдите спокойное место и попробуйте сильно сжаться, почувствуйте напряжение во всем теле. Держите столько, сколько можете выдержать. В определенный момент ваше тело захочет расслабиться — позвольте ему это сделать, возможно, оно захочет как-то растечься или принять другую позу, позвольте ему это сделать. Обратите внимание на дыхание – попробуйте переключить свое внимание на дыхание через живот: когда происходит вдох, живот наполняется воздухом, когда выдыхаете – ваш живот сжимается. Сделайте, пожалуйста, три таких глубоких вдоха и выдоха. Теперь можно начинать читать.

Читать далее
Total votes 26: ↑21 and ↓5 +16
Comments 17

Реальная эффективность. Как подняться на новый уровень

Level of difficulty Medium
Reading time 9 min
Views 28K

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

Поговорим сегодня об эффективности. Нормально же хотеть работать с высоким КПД, правда?

И если ты ищешь такой эффективности, которая приносит реальную ценность, а не заканчивается измерением твоей производительности, то ты по-любому задаешься вопросами типа:

 - А для чего я это делаю?

 - А какая в этом ценность для меня?

 - А действительно ли это нужно компании / стране / миру?

Посмотри-ка, знакома ли тебе такая история.

Читать далее
Total votes 18: ↑14 and ↓4 +10
Comments 22

Что внутри черного ящика: понимаем работу ML-модели с помощью SHAP

Level of difficulty Hard
Reading time 9 min
Views 7.7K

Значения Шепли применяются в экономике, а точнее — в теории кооперативных игр. Такие значения назначаются игрокам сообразно их вкладу в игру. В сфере машинного обучения идея использования значений Шепли нашла отражение во фреймворке SHAP (SHapley Additive exPlanations). Он представляет собой эффективный инструмент для интерпретации механизмов функционирования моделей.

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

Использование значений Шепли во фреймворке SHAP напоминает их классическое применение тем, что они отражают индивидуальное влияние признаков на «игру» (другими словами — на модель машинного обучения). Но модели машинного обучения — это «игры», где нет «кооперирования» игроков, то есть — признаки не обязательно взаимодействуют друг с другом, как это происходило бы, будь они игроками в кооперативной игре. Вместо этого каждый из признаков вносит независимый вклад в результаты работы модели. Хотя тут может быть использована формула для нахождения значений Шепли, соответствующие вычисления могут оказаться слишком «тяжёлыми» и неточными. Это так из‑за большого количества «игроков» и из‑за того, что они могут объединяться в «союзы». Для того чтобы решить эту проблему, исследователи разработали альтернативные подходы. Среди них — метод Монте‑Карло и ядерные методы. В этом материале мы будем заниматься методом Монте‑Карло.

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

Использование теории игр для повышения прозрачности моделей машинного обучения

Level of difficulty Medium
Reading time 7 min
Views 4.2K

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

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

Information

Rating
1,428-th
Location
Тюмень, Тюменская обл. и Ханты-Мансийский АО, Россия
Registered
Activity