Как стать автором
Обновить
19
0.2
Rive @Rive

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

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

«И бысть мор великий на всех землях русских…» — инфекционные болезни и эпидемии в допетровской Руси

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

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

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

Эффективный поиск XSS-уязвимостей

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


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


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


Под катом — и текст, и видео. Далее повествование идет от лица Ивана.

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

Нейросети против пылесоса, или Как мы убрали лишний шум в звонках ВКонтакте

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

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

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

Как собрать свой Lighthouse

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

Чем интенсивнее наш feature delivering, тем быстрее падает производительность. И, конечно, приходит время автоматизировать процесс слежения, чтобы просадка не дошла до прода или даже staging-окружения.

Про прод-мониторинг, оптимизацию и ручной анализ производительности легко узнать на web.dev. Но по автоматизации слежения за производительностью до того, как фичи покатятся в прод, информации не так уж много. Сегодня расскажу, как для профилирования собрать практически свой Lighthouse, чтобы проводить performance-тесты и успешно бороться с просадкой в работе команды фронтендеров.

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

Тайна списка шумерских царей. Часть 2. Плуг судьбы

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

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

Итак, посмотрим на начало царского списка, на тех царей, что правили до потопа.

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

Популярная лингвистика. Часть 2. Шедевры языкостроения

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

Habr Arrival


Приглашаю окунуться в мир "языков Фаберже", — языков, придуманных для эстетики, пущего реализма или шутки ради. Степень их завершенности зачастую зависит лишь от одного-двух человек (если такое намерение вообще имело место), и о практическом применении таких языков почти никогда речи не идёт. Но познакомившись с ними поглубже, можно узнать много интересного и подивиться изобретательности их авторов. Среди этих артлангов можно встретить наречия Средиземья и говоры Вестероса, таинственные инопланетные диалекты и компактный словарь Эллочки-людоедки.


Откуда есть пошел дотракийский язык


Начнем с языков мира "Песни льда и пламени" Джорджа Мартина. Сам Мартин свои языки не прорабатывал и они так и остались бы воображаемыми, но на помощь пришла телевизионная сеть HBO с идеей высокобюджетного сериала "Игра престолов". И так как в любой области есть свои специалисты, то решено было обратиться за помощью к Обществу создания языков. Конкурс выиграл Дэвид Питерсон, американский лингвист, который уже имел богатый опыт в создании искуственных языков.

Хо-хо, парниша!
Всего голосов 18: ↑17 и ↓1+22
Комментарии39

Как улучшить распознавание русской речи до 3% WER с помощью открытых данных

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

Меня зовут Николай, когда в 2009 году я защищал диссертацию по распознаванию речи, скептики мне говорили, что слишком поздно, так как Microsoft и Google уже “всё сделали”. Сейчас в SberDevices я обучаю модели распознавания речи, которые используются в семействе виртуальных ассистентов Салют и других банковских сервисах. Я расскажу, как обучил модель распознавания речи, используя Common Voice и недавно открытый датасет Golos. Ошибка распознавания составила от 3 до 11 % в зависимости от типа тестовой выборки, что очень неплохо для открытой модели.

Не так давно наша команда подготовила и опубликовала общедоступный датасет Golos. Почему встал вопрос об обучении и публикации акустической модели QuartzNet? Во-первых, чтобы узнать, какую точность достигает система распознавания речи при обучении на новом датасете. Во-вторых, обучение само по себе ресурсоёмкое, поэтому сообществу полезно иметь в открытом доступе предобученную модель на русском языке. Полная версия статьи опубликована на сайте arxiv.org и будет представлена на конференции INTERSPEECH2021

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

Алгоритм для рейтинга комментариев, поощряющий хорошие аргументы

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

Сайты вроде Хабра, Пикабу, Реддита, и Hacker News имеют древовидные системы комментариев к постам. Зарегистрированные пользователи могут голосовать за комментарии. Сайты используют рейтинги комментариев двумя способами:

- Управляют вниманием читателей комментариев. "Лучшие" комментарии отображаются сразу под постом, "худшие" - в подвале. Хабр почти не управляет вниманием читателей: он лишь блюрит "плохие" комментарии, но не переупорядочивает их. Впрочем, я (как наверное и многие другие читатели) часто листаю комментарии только цепляясь взглядом за двузначное значение рейтинга.

- Дают какие-то плюшки авторам "хороших" комментариев. Например, в некоторых сабреддитах нужно иметь определенный рейтинг комментариев в данном сабреддите чтобы опубликовать пост.

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

Читать далее
Всего голосов 21: ↑17 и ↓4+19
Комментарии67

Nuxt.js и поисковики. Решение проблем с SЕО для Google и Yandex

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

Linkedin

Пришлось мне как-то столкнуться с одной проблемой, а именно с проблемой, которая связана с отдачей ошибки после выката разных обновлений созданных на Vuejs + Nuxtjs в проде.

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

Надеюсь мое решение поможет многим, кто столкнется с такой же проблемой и он не будет тратить на это так много времени как я, ведь такая проблема возникает часто, если используешь Nuxt.js в режиме SSR, а описания ее решения в интернете я так и не нашел.

Данное решение уже помогло четырем компаниям избавится от этой ошибки.

Что же происходит и почему возникает такая ошибка?

Я начал разбираться. Первое что я сделал, начал анализировать, как же именно происходит процесс работы при SSR. Да, я знаю как именно он работает, но есть одна вещь..как в одной юмористической передаче.

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

Кто и как поломал Землю, или откуда возникли планетарные горные хребты и разломы

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

В предыдущей статье Пространственные спектры и фрактальность рельефа, силы тяжести и снимков мы уже рассмотрели фрактальность рельефа и поля силы тяжести и показали, как она возникает в относительно тонкой и хрупкой земной коре толщиной от 5 км под океанами и до 100-150 км под материками. Также мы вычислили, что под корой находится слой упругий, так что верхний масштаб фрактальности ограничен примерно 200 км. При этом, мы наблюдаем разломы и горные хребты планетарного масштаба, пересекающие моря и океаны. Очевидно, что планетарные структуры масштаба десятков тысяч километров никак не могут быть объяснены явлениями в земной коре масштаба десятков-сотен километров, хотя все эти структуры самоподобны, то есть фрактальны. Таким образом, именно планетарные структуры являются первичными и воспроизводятся на меньших масштабах при тектонических процессах за счет хрупкости земной коры. Сегодня мы поговорим о том, откуда возникли эти первичные структуры, или кто и как «поломал» Землю.



Слева направо приведены следующие изображения Земли: магнитное поле (EMAG2), гравитационное (Sandwell & Smith), рельеф ( GEBCO 2020 Bathymetry). Смотрите HOWTO: Visualization on The Globe

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

Что такое дружба после 30? (Теория взрослой жизни)

Время на прочтение8 мин
Количество просмотров81K
Подобным вопросом в той или иной форме задаются очень многие взрослые люди. Взрослому должно быть более-менее понятно, что новые друзья находятся где-то за пределами области известного опыта, потому что в области известного опыта и с друзьями всё известно. То есть, «искать друзей» превращается в «искать хз кого хз где» — и это только половина беды, потому что дальше вопрос: а как тогда понять, что нашёл? Не зная, что ищешь, нельзя установить критерии выбора — в какой момент станет понятно, что нашёл? А что искал? А неизвестно же. Это логический тупик. Выход из него — правильная постановка вопроса.


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

Человек — существо социальное в том смысле, что «человечность» — то есть, то, что отличает человека от животного, как её ни назови (личность, душа, personality) возникли в процессе эволюции Homo как коллективного существа. Животные, даже стайные, действуют автономно — исходя из заложенных инстинктов и приобретённых навыков. Приматы вида Homo в процессе эволюции развили способность предсказывать поведение других членов группы, чтобы корректировать своё поведение в реальном времени. Феномен личности — то есть, предиктивной модели поведения других членов группы — возник как побочный эффект подобного усложнения взаимодействия. Self-awareness — то есть, распознание себя как личности, постройка предиктивной модели самого себя — эволюционный пик этого процесса, с которого, собственно, «человек» (то есть, «не-животное») как феномен и начался.
Читать далее
Всего голосов 140: ↑84 и ↓56+68
Комментарии182

Тайна списка шумерских царей. Часть 1. Машина времени

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

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

Если древний Египет со своими памятниками всегда был на виду, то о существовании шумеров наука узнала только в середине XIX века. Проделав огромный труд и расшифровав аккадскую клинопись, историки внезапно столкнулись с неожиданной проблемой. Часть клинописных текстов никак не получалось прочитать. Знаки были те же, но смысл не складывался. Сначала грешили на тайнопись жрецов, но потом поняли, что на самом деле столкнулись с другим более древним языком, письменность которого совпадала с аккадской. Так начался новый виток расшифровки клинописи, который в итоге привел к открытию великой шумерской цивилизации.

Читать далее
Всего голосов 39: ↑37 и ↓2+48
Комментарии112

Игровая экономика: игры «free-to-play»

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

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

Подробно обсудим следующие вопросы:

→ Удержание как самый важный показатель для долгосрочной перспективы.

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

→ Метафора экономического напряжения в F2P-играх и некоторые методы, которые позволяют поднять этот показатель и увеличить доход.

→ Влияние степенного закона распределения в отношении вовлеченности и трат игроков, а также ранее не публиковавшиеся реальные данные из игр, с которыми я работал.

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

Vue.js и слоистая архитектура: вынесение бизнес-логики в сервисы

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

Когда нужно сделать код в проекте гибким и удобным, на помощь приходит разделение архитектуры на несколько слоев. Рассмотрим подробнее этот подход и альтернативы, а также поделимся рекомендациями, которые могут быть полезны как начинающим, так и опытным разработчикам Vue.js, React.js, Angular. 

В старые времена, когда JQuery только появился, а о фреймворках для серверных языков лишь читали в редких новостях, веб-приложения реализовывали целиком на серверных языках. Зачастую для этого использовали модель MVC (Model-View-Controller): контроллер (controller) принимал запросы, отвечал за бизнес-логику и модели (model) и передавал данные в представление (view), которое рисовало HTML. 

Объектно-ориентированное программирование (ООП) на тот момент только начинало формироваться, поэтому разработчики зачастую интуитивно решали, где и какой код надо писать. Таким образом, в мире разработки зародилось такое понятие, как «Божественные объекты», которые первоначально отвечали практически за всю работу отдельных частей системы. Например, если в системе была сущность «Пользователь», то разработчику следовало создать класс User и в нем писать всю логику, так или иначе связанную с пользователями. Без разбиения на какие-то ещё файлы. И если приложение было большим, то такой класс мог содержать тысячи строк кода.

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

Практическое руководство по именованию классов, функций и переменных

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

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

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

Понимаем красно-черное дерево. Часть 1. Введение

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

Довольно долгое время я воевал с красно-черным деревом. Вся информация, которую я находил, была в духе "листья и корень дерева всегда черные, ПОТОМУ ЧТО", "топ 5 свойств красно-черного дерева" или "3 случая при балансировке и 12 случаев при удалении ноды". Такой расклад меня не устраивал.

Мне не хотелось заучивать свойства дерева, псевдокод и варианты балансировки, я хотел знать: почему. Каким образом цвета помогают при балансировке? Почему у красной ноды не может быть красного потомка? Почему глубину дерева измеряют "черной высотой"?

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

Эта статья разделена на 3 логические части. Я рекомендую прочитать их в указанном порядке. Первая часть (данная) будет направлена на введение в кчд и знакомство с ним. Во второй части мы поговорим о балансировке и вставке в кчд. В третьей, завершающей, части мы разберем процесс удаления ноды. Наберитесь терпения и приятного чтения.

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

Краткое введение в Машинное обучение

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

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

Для старта хотелось почитать что-то совсем базовое, но поиск по строкам "машинное обучение для чайников" вменяемых результатов не дал. Все статьи начинались с тривиальных рассуждений, а потом перепрыгивали на загадочные формулы без особых пояснений. Я не сдавался и добыл несколько книг с хорошими отзывами, но получил то же самое, только уже на 600 страниц. Спустя полгода поисков могу сообщить вам следующее: при текущих темпах развития AI я не увижу роботов в старости, для работы с Machine Learning на самом деле не нужна математика, и как минимум одна статья "машинное обучение для чайников" существует, вы ее сейчас читаете.

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

Используй console.log () как про

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

Использование console.log() для отладки JavaScript - самая распространенная практика среди разработчиков. Но есть еще кое-что ...

Объект console обеспечивает доступ к отладочной консоли браузера. Особенности того, как она работает, варьируются от браузера к браузеру, но де-факто существует набор функций, которые обычно предоставляются.

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

Тихая революция и новый дикий запад в ComputerVision

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

Казалось бы, революция с Computer Vision уже была. В 2012 году выстрелили алгоритмы основанные на сверточных нейронных сетях. Года с 2014 они дошли до продакшна, а года с 2016 заполонили все. Но, в конце 2020 года прошел новый виток. На этот раз не за 4 года, а за один. поговорим о Трансформерах в ComputerVision. В статье будет обзор новинок, которые появились в последний год.

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

Поиск изображений

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

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

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

Информация

В рейтинге
2 642-й
Зарегистрирован
Активность

Специализация

Game Developer, Web Developer
Middle
Express
Vue.js
Symfony
Nginx
Docker
MySQL
PostgreSQL
Redis