
Не нервничай, не спеши, не перебивай: история одной трагедии

User
Источник изображения:www.nikonsmallworld.com
Антиплагиат – это специализированный поисковик, о чем уже писали ранее. А любому поисковику, как ни крути, чтобы работать быстро, нужен свой индекс, который учитывает все особенности области поиска. В своей первой статье на Хабре я расскажу о текущей реализации нашего поискового индекса, истории его развития и причинах выбора того или иного решения. Эффективные алгоритмы на .NET — это не миф, а жесткая и продуктивная реальность. Мы погрузимся в мир хеширования, побитового сжатия и многоуровневых кешей с приоритетами. Что делать, если нужен поиск быстрее, чем за O(1)?
Если кто-то еще не знает, где на этой картинке шинглы, добро пожаловать…
Room — это уровень абстракции поверх SQLite, который упрощает организацию хранения данных. Если вы ещё мало знакомы с Room, то посмотрите эту вводную статью:
7 шагов к использованию Room. Пошаговое руководство по миграции приложения на Room
А в этой статье я хотел бы поделиться несколькими советами о том, как максимально эффективно использовать Room.
Вы уже настолько круты, что вертите корутинами вокруг всех осей одновременно, от одного вашего взгляда они выполняют yield break
и прячутся за полотно IDE. Простые обертки — давно пройденный этап.
Вы настолько хорошо умеете их готовить, что могли бы получить звезду Мишлена (а то и две), будь у вас свой ресторан. Конечно! Никто не останется равнодушным, отведав ваш Буйабес с корутинным соусом.
Уже целую неделю код в проде не падает! Обертки, callback
’и и методы Start/Stop Coroutine
— удел холопов. Вам нужно больше контроля и свободы действий. Вы готовы подняться на следующую ступеньку (но не бросить корутины, конечно).
Если в этих строках вы узнали себя, — добро пожаловать под кат.
Хотя появление трёхмерной печати обычно считается революцией в промышленности, оно произвело революцию и в медицине. Чтобы помочь вылечить большие раны, которые обычно требуют пересадки кожи, инженеры из Wake Forest Institute for Regenerative Medicine (WFIRM) разработали новый биопринтер, который может печатать два слоя собственной кожи пациента прямо на рану.Трёхмерная печать кожи была в разработке в течение нескольких лет. В 2014 году был представлен прототип машины, которая могла печатать большие куски человеческой кожи, которые затем можно было разрезать и приклеить пациенту на рану. За прошедшие годы технология развилась в более технологичные машины и, в конечном итоге, портативное устройство, которое работает как диспенсер клейкой ленты.
На улице я часто слушаю аудиокниги и подкасты со смартфона. Когда прихожу домой, мне хочется продолжить слушать их на Android TV или Google Home. Но далеко не все приложения поддерживают Chromecast. А было бы удобно.
По статистике Google за последние 3 года, количество девайсов на Android TV увеличилось в 4 раза, а число партнеров-производителей уже превысило сотню: «умные» телевизоры, колонки, TV-приставки. Все они поддерживают Chromecast. Но в маркете ещё много приложений, которым явно не хватает интеграции с ним.
В этой статье я хочу поделиться своим опытом интеграции Chromecast в Android-приложение для воспроизведения медиа-контента.
Queryable Provider не справляется вот с этим:
var result = _context.Humans
.Select(x => $"Name: {x.Name} Age: {x.Age}")
.Where(x => x != "")
.ToList();
Он не справится с любым выражением, которое будет использовать интерполированную строку, но без трудностей разберет такое:
var result = _context.Humans
.Select(x => "Name " + x.Name + " Age " + x.Age)
.Where(x => x != "")
.ToList();
Особенно болезненно править баги после включение ClientEvaluation(исключениe при вычислении на клиенте), все профайлы автомаппера должны быть подвергнуты жесткому анализу, на поиск этой самой интерполяции. Давайте разберемся в чем дело и предложим свое решение проблемы