Pull to refresh
27
Karma
0
Rating
Михаил Мельник @mike114

User

  • Followers 4
  • Following 9
  • Posts
  • Comments

Основатель Signal: «Первые впечатления от web3»

Information Security *Data storage *Cloud services Distributed systems *Cryptocurrencies
Translation

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

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

Читать далее
Total votes 122: ↑120 and ↓2 +118
Views 62K
Comments 150

Как работает аллергия и что такое «прививка от аллергии»

Наше время corporate blog Popular science Health
image

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

Работает это, сильно упрощая, следующим образом:

  1. В организм попадает какой-то инородный белковый агент, например, кусок пищи.
  2. Подсистема защиты организма от паразитов (как раз IgE) распознаёт его как что-то похожее по химическому следу на ленточного червя.
  3. Реакция ведёт к высвобождению большого количества медиаторов воспаления, среди которых главный в процессе — гистамин.
  4. Гистамин делает две вещи: поднимает тревогу для других подсистем иммунитета и расширяет сосуды, заодно уменьшая клетки их эндотелия, чтобы образовались просветы в сосуде для доставки «‎сил быстрого реагирования»‎ из кровотока к месту проникновения.

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

Но прежде чем мы перейдём к лечению, придётся узнать, кто такие антигены и тучные клетки.
Читать дальше →
Total votes 67: ↑63 and ↓4 +59
Views 18K
Comments 89

Масштабируем Jetpack Compose Navigation

Badoo corporate blog Programming *Development for Android *Kotlin *
Translation

В одном из моих личных проектов я решил использовать Jetpack Compose в качестве основной технологии. Это означало, что моё приложение будет иметь одну Activity, а вся навигация будет выполняться с помощью Compose. Когда я начал планировать проект, библиотеки Compose Navigation ещё не было, как не было и способа внедрить ViewModel в Composable без использования компонентов Activity, Fragment или View. 

Но примерно за полгода до публикации этой статьи появилась библиотека Jetpack Compose Navigation, и Dagger-Hilt стал поддерживать Compose. Сегодня я расскажу о моём пути: поделюсь видением проблемы масштабируемости навигации на примерах Google и предложу её возможное решение.

Читать далее
Total votes 16: ↑16 and ↓0 +16
Views 2.1K
Comments 0

Заговор против IE6

Abnormal programming *Website development *Browsers History of IT
Translation

У невероятного роста Youtube есть одно последствие, радостное и грустное одновременно - множество историй потеряются под слоями новой краски. Именно поэтому я хочу рассказать одну из них - историю того, как 10 лет назад маленькая команда веб-разработчиков задумала убить IE6 с помощью Youtube и даже не получила за это по шапке.

Я не могу вспомнить то конкретное событие, из-за которого наша команда разработки начала строить планы убийства браузера за обедом в столовой Youtube. Возможно, в тот раз я случайно отправил в релиз CSS-стиль, где был указан селектор атрибута на нестандартном HTML-элементе. Любой здравомыслящий веб-разработчик предположил бы, что если браузер не может распознать элемент - он молча пропустит данное описание. Но со старыми версиями IE дело обстояло не так. В определенных условиях это приводило либо к внутренней рекурсии и падению браузера (если повезет), или даже к синему экрану смерти (если не повезет).

А может быть, в сотый раз кто-то из наших разработчиков использовал тег <img> без указания атрибута src. От новичков никто не требовал быть в курсе, что в старых версиях IE вместо пустого аттрибута src подставляется корневой путь ("/"). Это внезапно превращает тег <img> в <iframe>, загружая главную страницу и все связанные с ней ресурсы, что может привести к бесконечной рекурсии. Когда пустой тег <img> случайно просачивался на главную страницу - вся команда в экстренном режиме искала его, пока сервера не расплавились под нагрузкой.

В общем, не вдаваясь в подробности - это была настоящая жесть, и она была связана с IE6. Этот браузер сильно отравлял жизнь всей нашей команде разработки. По меньшей мере 1-2 недели из каждого мажорного релиза отводились на то, чтобы заставить новый UI работать под IE6. Несмотря на всю эту боль, нас заставляли поддерживать его ради пользователей, которые не могут обновиться или работают в компаниях, где обновление запрещено политиками безопасности. Пользователи IE6 на тот момент составляли примерно 18% от общего числа. Все понимали, что просто так прекратить его поддержку нельзя, но когда мы сидели в той столовой после нескольких бессонных ночей, на сопереживание тем несчастным пользователям просто не оставалось сил. Мы начали коллективно фантазировать о том, как отомстить IE6. Одна идея сразу привлекла всеобщее внимание: а что, если мы просто пригрозим прекратить поддержку? Как отреагируют пользователи? Они поднимут бунт против Youtube, начнут присылать нам письма с угрозами расправы (как это уже случалось раньше)? Или вдруг станут апологетами новых браузеров? Мы мечтали о том, как офисные работники по всему миру внезапно начнут придумывать причины, по которым обновление браузеров жизненно необходимо для бизнеса, а бабушки и дедушки возьмут своих технически прошаренных внуков в заложники, чтобы те "починили им ютубы". То, что началось как сеанс групповой психотерапии, стало превращаться в конкретный план действий, для реализации которого у нас были уникальные условия.

Читать далее
Total votes 218: ↑214 and ↓4 +210
Views 39K
Comments 85

Зачем прыгает быстрая коричневая лиса, или Панграммы в английском языке

EnglishDom corporate blog Learning languages

«The quick brown fox jumps over the lazy dog» — эту фразу на английском знают почти все, кто так или иначе имеет отношение к компьютеру.

Это небольшое предложение, которое содержит все буквы английского языка. Лингвисты называют его «панграмма». Сегодня мы расскажем, для чего изначально стали придумывать такие конструкции, кому они могут быть полезны в наши дни и еще познакомимся с известными и не очень панграммами. Ведь кроме лисы там есть еще много чего интересного. Поехали.

Читать далее
Total votes 20: ↑18 and ↓2 +16
Views 11K
Comments 21

Как я получил офферы в Google, Amazon, Microsoft, Яндекс и Box, не завалив ни одного собеседования (ну, почти)

Studying in IT IT career IT-companies

Клибейт, кликбейт!

Эта статья – пересказ моего треда в твиттере с небольшими доработками. Тут нет ограничения по символам, поэтому некоторые мысли я могу раскрыть лучше.

Читать далее
Total votes 188: ↑183 and ↓5 +178
Views 92K
Comments 165

Микросервисы глазами аналитика

System Analysis and Design *Microservices *
✏️ Technotext 2021

Расскажу про системы с микросервисной архитектурой (MSA). Как они устроены, как я их анализировала, какие увидела проблемы и преимущества.

Статья не раскрывает лучшие практики использования микросервисов и не разоблачает их излишнюю популярность. Основная цель - описать технологию и процесс работы с ней с точки зрения системного аналитика.

Читать далее
Total votes 14: ↑14 and ↓0 +14
Views 18K
Comments 22

Доллары в глазах: сравниваем российские и американские зарплаты

Get me IT corporate blog IT-emigration IT career Statistics in IT Remote work

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

Данный материал будет полезен разработчикам, Product Manager-ам, аналитикам, тестировщикам, Data Scientist-ам, HR-ам, опытным специалистам уровня middle+, а также всем-всем-всем мечтающим релоцироваться в США.

Читать далее
Total votes 64: ↑60 and ↓4 +56
Views 105K
Comments 254

Шо, опять?

ZYXEL в России corporate blog System administration *IT Infrastructure *Wireless technologies *Network hardware

В работе с гостевыми Wi-Fi сетями столкнулся с неприятной проблемой. Много устройств Apple iPhone и iPad отключается от Wi-Fi при затухании экрана (блокировка) и, при отсутствии мобильного интернета, сообщения из мессенджеров не приходят и гости эмоционально реагировали: «не в АйФоне же дело!? Дома всё в порядке на домашнем роутере!»

Дело почти дошло до «замены шлюза с встроенным контроллером точек доступа», управляющего десятками точек доступа, но ведь у Андроидов и Windows-устройств всё в порядке было...

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

Читать далее
Total votes 51: ↑46 and ↓5 +41
Views 35K
Comments 119

Flutter: как мы выбирали навигацию для мобильного приложения?

Россельхозбанк corporate blog Programming *Development of mobile applications *Dart *Flutter *

Flutter вышел в стабильной версии в 2018 году. Все это время он активно развивался: появилась поддержка Null safety, расширились возможности по темизации и локализации приложений, добавилось огромное количество новых виджетов. Одно из таких нововведений — Navigator 2.0, выпущенный Flutter осенью 2020 года. Это гибкий инструмент для решения непростой задачи навигации в мобильных приложениях. Разработчики начали применять Navigator 2.0, но столкнулись с трудностями и проблемами, о которых говорили команде Flutter в официальном репозитории, предлагая упростить использование инструмента. Самым подробным материалом по новому подходу является статья в блоге Flutter, но и ее мало для того, чтобы начать работать с Navigator 2.0 в продакшен-приложениях.

Хочу знать больше
Total votes 15: ↑14 and ↓1 +13
Views 7.1K
Comments 15

CloudReady: личные впечатления от облачной ОС

Timeweb Cloud corporate blog Software Old hardware


У каждого взрослого самостоятельного человека имеется в хозяйстве как минимум один кот древний ноутбук, который продать за вменяемые деньги невозможно, а выкинуть — жалко. У меня это Acer Aspire One с процессором AMD C50 и гигабайтом оперативки. Ноут настолько тормозной, что на нем ворочается с трудом даже довольно «легкий» Linux с XFCE. После долгих и мучительных поисков операционки, способной работать на этом агрегате без лагов, я услышал о проекте CloudReady (https://www.neverware.com/freedownload#home-edition-install), который, как обещали его создатели, «способен вдохнуть вторую жизнь в старое железо». Что ж, попробуем, — решил я. Тому, как прошли эти «пробы», посвящена сегодняшняя заметка.
Читать дальше →
Total votes 31: ↑30 and ↓1 +29
Views 17K
Comments 55

Легко ли собрать выжигатель мозгов? История электромагнитных полей в медицине

Popular science Physics Brain Health

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

Погоди, где моя шапочка из фольги
Total votes 41: ↑41 and ↓0 +41
Views 12K
Comments 25

Страшные стоматологические истории: от 70-х годов — к нормальной медицине

Белая Радуга corporate blog Popular science Health
image
Рабочее место врача-стоматолога конца XX века. Музейный экспонат.

Стоматология раньше была весьма специфична. Специфична настолько, что вырастила не одно поколение пациентов-стоматофобов, которые натурально падают в обморок от вида инструментов.

Я реально рад, что современные дети не застали этот особый аромат гвоздичного масла, йодоформа и бесконечные ряды пыточных установок УС-30 в одном большом зале. За всей этой красотой даже без намёка на ширмы бдительно надзирала пожилая медсестра, которую время от времени звал кто-то из врачей кодовой фразой: «Люся, давай». И Люся бежала замешивать на стекле шпателем Унифас-цемент, который выглядел как плохо пахнущая строительная субстанция для затирки швов. Работал он примерно так же.

Сегодня будет немного воспоминаний о том, какой стоматологии мы лишились и к чему пришли сегодня. Поговорим про свистящие турбинные наконечники, кипячение шприцов, введение слепочной массы в полости пациента и вообще всё то, что меняет мир к лучшему.
Читать дальше →
Total votes 88: ↑85 and ↓3 +82
Views 21K
Comments 104

C#: Автоматизация Android без посредников (adb)

Development for Android *C# *Mobile applications testing *
Sandbox

Часто приходится автоматизировать то или действие, андроид приложения не являются исключениями.Конечно, все в этом случае прибегают к различным фреймворкам - Appium, Detox, UI Automator, Ranorex, но все эти приложения созданы для тестирования, соответственно потребляют больше ресурсов и их скорость оставляет желать лучшего.Однако есть выход - автоматизировать приложения напрямую с adb, для этого я и дописал эту библиотеку. Она ничем не уступает по возможностям этим фреймворкам , но при этом является достаточно простой и легко разворачиваемой на любой машине. Об этой библиотеке и пойдет речь в статье.

Читать далее
Total votes 17: ↑17 and ↓0 +17
Views 6.8K
Comments 8

Небинарный *ngIf

TINKOFF corporate blog Website development *Angular *

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

Читать далее
Total votes 26: ↑25 and ↓1 +24
Views 3.8K
Comments 2

Blazor WebAssembly: динамическое создание компонентов по JSON описанию

.NET *ASP *C# *WebAssembly *
Tutorial

В заметке описан способ динамического добавления на страницу компонентов по JSON-описанию с помощью DynamicComponent из ASP.NET Core 6.0 (в настоящее время в статусе Preview).

Динамическое создание компонентов пригодится например при реализации конструктора форм:

• Форма описывается JSON-ом;

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

Читать далее
Total votes 4: ↑4 and ↓0 +4
Views 3.2K
Comments 1

Тестовая ферма из Android-устройств: как собрать, отладить и не взорвать офис

VK corporate blog Development of mobile applications *Development for Android *Mobile applications testing *


У нас был небольшой бюджет и большие проблемы с рутинным тестированием в match3-игре, у которой накопилось более 1500 уровней. А вот чего у нас не было, так это идеально подходящего коробочного решения, работающего на лету и без пересборок. Поэтому мы нагородили собственную ферму с высаженной грядкой из десятка Xiaomi, отправкой статистики, отчетами в Slack, блекджеком и коровой.

Я Павел Щеваев, CTO студии BIT.GAMES, которая является частью международного игрового бренда MY.GAMES. Вы можете знать нас по RPG «Гильдия Героев», а ваши мамы — по «Домовятам» в Одноклассниках. Да, это были мы. :) Но сегодня речь пойдет о нашем новом проекте Storyngton Hall. Это головоломка «три в ряд» с сюжетом, по которому красивые леди разгадывают загадки, декорируют комнаты, примеряют платья, устраивают балы, и, в конце концов, выходят замуж.
Читать дальше →
Total votes 29: ↑29 and ↓0 +29
Views 7.5K
Comments 14

Рождение, жизнь и смерть европейской пчелы

Timeweb Cloud corporate blog Reading room Popular science Science fiction Biology
✏️ Technotext 2021

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

Читать далее
Total votes 68: ↑66 and ↓2 +64
Views 12K
Comments 48

Ищем логику в «американских горках» графика заражений Covid

Mathematics *Popular science
Translation

Рисунок 1

Пики и падения, сжатия и растяжения, волна за волной всплесков и снижений: в течение полутора лет я ежедневно наблюдал за движениями этой кривой. График фиксирует количество новых обнаруженных случаев Covid-19 в США за каждый день с 21 января 2020 по 20 июля 2021 года. Это 547 дней, или ровно 18 месяцев. Бледные тонкие вертикальные полосы на фоне обозначают сырые ежедневные данные; ярко-синей линией обозначены суммарные средние значения за семь дней. (Другими словами, количество случаев за каждый день усредняется с количеством за шесть предыдущих дней.)

Я затрудняюсь объяснить крупномасштабные колебания этого графика. Если бы несколько лет назад меня спросили, как может выглядеть крупная эпидемия, то я бы пробормотал что-нибудь об экспоненциальном росте и угасании, и мог нарисовать примерно такую кривую:


Рисунок 2

Моя воображаемая эпидемия была намного проще реальной! Количество ежедневных заражений увеличивается, а затем снижается. Оно не колеблется, как нервный график фондовой биржи. У него нет сезонных всплесков и падений.

График, отслеживающий истинную частоту заболеваний, не меньше дюжины раз сменяет направление, а также имеет множество мелких изгибов. Большая гора посередине имеет холмы по обеим сторонам, а также альпийские долины между крутыми вершинами. Меня озадачивает вся эта структурная картина. Является ли она чистым шумом — результатом случайных флуктуаций, или же у неё есть какой-то движущий механизм, который мы должны узнать, какой-то переключатель, включающий и отключающий процесс заражения каждые несколько месяцев?
Читать дальше →
Total votes 23: ↑21 and ↓2 +19
Views 9K
Comments 13

Information

Rating
Does not participate
Location
New South Wales, Австралия
Date of birth
Registered
Activity