Как стать автором
Обновить
5
0

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

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

Насколько естественен естественный язык? Представляем датасет RuCoLA

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


В последние годы в области NLP произошла настоящая революция: огромные нейросети, предобученные на сотнях гигабайт текстов, бьют все известные рекорды качества. Но обладают ли такие нейросети чутьём на «естественность» текста, которое есть у носителей языка? Оценка предложения по внутреннему чутью в лингвистике получила название приемлемости; умение давать подобную оценку — ещё один шаг на пути к общему пониманию языка. Чтобы узнать, насколько хорошо нейросети для русского языка справляются с этой задачей, мы публикуем RuCoLA (Russian Corpus of Linguistic Acceptability) — датасет русскоязычных предложений, размеченных по бинарной шкале приемлемости. Это совместный труд команды исследователей и NLP-разработчиков из SberDevices, ABBYY, Yandex Research, Huawei Noah’s Ark Lab и Факультета компьютерных наук ВШЭ. Также мы открываем лидерборд на данных RuCoLA, чтобы любой желающий мог проверить способности своих моделей или поучаствовать в развитии методов для оценки приемлемости.
Читать дальше →
Всего голосов 26: ↑25 и ↓1+35
Комментарии16

Не уйти ли из айти?

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

Пока все кому не лень пишут статьи о том, как войти в айти, некоторые из нас нет-нет, да задумываются, а не выйти ли оттуда. Ночные релизы, бесконечные переработки, легаси код, невнятные баги, грубые разговоры в курилках и в коридорах, постоянные требования от менее технически подкованных коллег, иногда целые блоки кода, а то и сборки, отправленные в корзину… Выгорание? Жажда новой жизни? А вдруг там, за дверью серверной или опенспейса R&D, всё по-другому? 

Читать далее
Всего голосов 125: ↑101 и ↓24+112
Комментарии340

Поддержка очередей в Hangfire

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

Hangfire — это библиотека для .net (core), позволяющая асинхронно выполнять некоторый код по принципу "fire and forget". Примером такого кода может быть отправка E-Mail, обработка видео, синхронизация с другой системой и т.д. Помимо "fire and forget" есть поддержка отложенных задач, а также задач по расписанию в формате Cron.


В настоящее время существует масса подобных библиотек. Несколько преимуществ, говорящих в пользу Hangfire:


  • Простая конфигурация, удобный API
  • Надежность. Hangfire гарантирует, что созданная задача будет выполнена хотя бы один раз
  • Возможность параллельного выполнения задач и отличная производительность
  • Расширяемость (вот ей-то мы и воспользуемся ниже)
  • Достаточно полная и понятная документация
  • Dashboard, на котором можно видеть всю статистику о задачах

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

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

Страсти по Serilog + .NET Core: Глобальный логгер

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

Serilog — на данный момент, пожалуй, самая популярная библиотека логирования для .NET.  Зародилась эта библиотека ещё до появления платформы .NET Core, в которой разработчики платформы предложили своё видение подсистемы логирования приложения. В 2017 году Serilog создаёт библиотеку для интеграции в подсистему логирования .NET Core.

В этой серии статей мы пристально рассмотрим и проанализируем проблемы использования Serilog в .NET Core  и постараемся ответить на вопрос — как их решить? 

В данной статье мы разберёмся с тем, какую роль в логировании играет глобальный логгер из библиотеки Serilog  при интеграции Serilog в подсистему логирования .NET Core. А также выявим возможные проблемы и пути их решения.

Читать далее и просвещаться
Всего голосов 7: ↑4 и ↓3+4
Комментарии62

Настоящее суммирование интернет-каналов — OpenMPTCPRouter

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


Можно ли объединить несколько интернет-каналов в один? Вокруг этой темы куча заблуждений и мифов, даже сетевые инженеры с опытом часто не знают о том, что это возможно. В большинстве случаев, объединением каналов ошибочно называют балансировку на уровне NAT или failover. Но настоящее суммирование позволяет пустить одно единственное TCP-подключение одновременно по всем интернет-каналам, например видеотрансляцию так, чтобы при обрыве любого из интернет-каналов вещание не прерывалось.

Существуют дорогие коммерческие решения для видеотрансляций, но такие устройства стоят много килобаксов. В статье описывается настройка бесплатного, открытого пакета OpenMPTCPRouter, разбираются популярные мифы о суммировании каналов.
Читать дальше →
Всего голосов 29: ↑29 и ↓0+29
Комментарии24

Распределенный музыкальный плейер на Raspberry Pi

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

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

(Да, пост во многом пересекается с постом Распределенный аудиоплеер на Odroid U2, но чуть проще в настройке)
Читать дальше →
Всего голосов 108: ↑105 и ↓3+102
Комментарии52

Распределенный аудиоплеер на Odroid U2

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

Однажды я заметил, что довольно много времени я провожу на кухне, куда звук от колонок, расположенных в комнате доходит плохо. И тогда мне захотелось сделать хороший бесшумный плеер, способный синхронно воспроизводить музыку в нескольких комнатах. Конечно проблему можно было решить простым поворотом регулятора громкости, но этот способ был отброшен как негуманный по отношению к соседям. Другой важный момент заключался в том, что я хотел использовать те же колонки для вывода звука с компьютера. Зачем мне иметь несколько комплектов аккустики в одной комнате?
Пост получился довольно длиннный, так как я старался уделить внимание соображениям, по которым я выбирал то или иное решение.
Читать дальше →
Всего голосов 77: ↑73 и ↓4+69
Комментарии49

Некоторые аспекты оптимизации LINQ-запросов в C#.NET для MS SQL Server

Время на прочтение6 мин
Количество просмотров24K
LINQ вошел в .NET как новый мощный язык манипуляции с данными. LINQ to SQL как часть его позволяет достаточно удобно общаться с СУБД с помощью например Entity Framework. Однако, достаточно часто применяя его, разработчики забывают смотреть на то, какой именно SQL-запрос будет генерировать queryable provider, в вашем случае — Entity Framework.
Читать дальше →
Всего голосов 50: ↑49 и ↓1+48
Комментарии379

Качество воздуха в доме зимой

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

Зимой воздух в помещении хуже всего. Духота, сухость. Работает отопление, проветривать часто нельзя, потому что замерзнешь. Особенно актуально, когда дома есть маленькие дети.
Как соблюсти баланс? Возможно ли это?

В статье я приведу цифры и расчеты. А еще свой вариант решения проблемы и устройство, собранное для этого. Кому интересно, прошу под кат…
Читать дальше →
Всего голосов 64: ↑60 и ↓4+56
Комментарии411

Умный город изнутри — взгляд Huawei

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

В теории все выглядит просто, но на деле тем, кто развивает идеологию умного города, приходится сталкиваться с массой барьеров, как типичных для крупных IT-проектов, так и индивидуальных, например, для ЖКХ. И это серьезно усложняет процесс.



Некоторое время назад мы представили свое видение умного города — концепцию Smart/Safe City. Под катом — детальный взгляд на нее с позиции бизнеса и технических специалистов.
Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии1

Как я осилил английский

Время на прочтение13 мин
Количество просмотров348K
Всем привет. Я – айтишник «за 30», и я люблю английский язык. Так получилось, что на протяжении многих лет английский никак не хотел полюбить меня. Перед вами живой пример человека с «плохой памятью», «неспособностью к языкам», богатейшим опытом неудачного изучения английского как на курсах, так и самостоятельно, упущенными из-за незнания языка шансами и возникшими на этой почве комплексами. Все, что можно было сделать в изучении иностранного языка плохо, я попытался сделать еще хуже. Не смотря на все это, перед вами история с хэппи эндом, которая, верю, поможет кому-то избежать глупых ошибок, сэкономить время, избавится от иллюзий и предрассудков по поводу изучения нового языка с около нулевого уровня.
Читать дальше →
Всего голосов 155: ↑151 и ↓4+147
Комментарии256

Альтернативы продуктам Google

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


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

Активисты движения Restore Privacy считают, что «вся бизнес-модель Google основана на том, что вы становитесь под их корпоративную слежку. Вот и всё. Все, что они делают — это переупаковывают массовую корпоративную слежку в удобные, бесплатные, модные приложения, которые засасывают все ваши данные. Ваши личные данные помогают Google доминировать на рынке интернет-рекламы».

В такой модели вы являетесь продуктом.
Читать дальше →
Всего голосов 93: ↑62 и ↓31+31
Комментарии178

REST-сервисы на ASP.NET Core под Linux в продакшене

Время на прочтение29 мин
Количество просмотров29K
В основе этой статьи доклад Дениса Иванова (@DenisIvanov) на РИТ++ 2017, в котором он поделился опытом разработки и запуска в продакшен REST-сервиса на ASP.NET Core на Kubernetes. На текущий момент это сделать уже можно без особенных проблем и бояться использовать .NET Core, судя по опыту 2ГИС, не стоит.

Конфигурация: ASP.NetCore на Linux позволила не только использовать существующую on-premise платформу, но и принесла еще несколько дополнительных плюсов, в частности, в виде полноценных Docker и Kubernetes, которые сильно упрощают жизнь.



О сервисе


С 1 апреля 2017 года в продуктах 2ГИС появилась иконка, на которую можно нажать и начнет проигрываться видео. Рекламодатели, которые размещаются в справочнике, теперь могут купить новый способ размещения рекламы, а все продукты нашей компании (мобильные, онлайн, API), ходят на сервис, про который я буду сегодня рассказывать.

Топология этого сервиса примерно представлена на картинке ниже. Сервис помечен облачком в центре, он, по сути дела, является бэкендом для продуктов. Когда продукт приходит и говорит: «Дай мне для этого рекламодателя всю информацию о видеорекламе», сервис ему послушно ее отдает. Это информация такого плана: такая-то обложка лежит на таком-то CDN, такой-то видеофайл в таких-то разрешениях лежит там-то и там-то, само видео длится такое количество времени и прочее.


Осторожно: много информации и кода.
Всего голосов 48: ↑45 и ↓3+42
Комментарии14

Анализ работы MS SQL Server, для тех кто видит его впервые (часть 2)

Время на прочтение15 мин
Количество просмотров98K
Часть 1

Продолжаем анализировать что происходит на нашем MS SQL сервере. В этой части посмотрим как получить информацию о работе пользователей: кто и что делает, сколько ресурсов на это расходуется.

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

Задачи анализа действий пользователей условно поделим на группы и рассмотрим каждую отдельно:
Читать дальше →
Всего голосов 20: ↑18 и ↓2+16
Комментарии5

Nextcloud Talk

Время на прочтение5 мин
Количество просмотров46K
Иконка Nextcloud Talk в App Store

Talk — это расширение платформы Nextcloud, позволяет совершать защищенные аудио и видеозвонки, а также обмениваться текстовыми сообщениями через веб-интерфейс или мобильное приложение Nextcloud Talk. Для связи собеседников используется WebRTC, а для защиты передаваемой информации — end-to-end шифрование. Все компоненты Nextcloud Talk открыты.

Посты о Nextcloud на Хабре можно пересчитать по пальцам, и в них нет ни слова о Nextcloud Talk, поэтому я решил заполнить этот пробел. Под катом расскажу, как узнал о Nextcloud, Spreed.ME, Spreed и Talk, как тестировал Talk и с какими проблемами столкнулся при установке и настройке Talk.
Читать дальше →
Всего голосов 24: ↑23 и ↓1+22
Комментарии3

Angular 5: Unit тесты

Время на прочтение10 мин
Количество просмотров54K
С помощью unit тестов мы можем удостовериться, что отдельные части приложения работают именно так, как мы от них ожидаем.

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

Даже существует мнение, что сложно тестируемый код — претендент на переписывание.

Цель данной статьи — помочь в написании unit тестов для Angular 5+ приложения. Пусть это будет увлекательный процесс, а не головная боль.
Читать дальше →
Всего голосов 25: ↑25 и ↓0+25
Комментарии21

Удивительный Angular

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

Awesome Angular



От переводчиков


Всем привет, с вами Максим Иванов и Дмитрий Сергиенков, и сегодня мы поговорим о новостях в мире Angular. Мы подготовили для вас наиболее интересные материалы и отобрали список вопросов, который вам должен понравиться. Отметим только, что если вы будете ждать от этой статьи ответа на вопрос "Чем Angular лучше других технологий?", то придется вас огорчить, у нас не будет ответа на него. Почему? Как правило, все мнения вида "Технология X лучше технологии Y" почти всегда не более, чем отражение точки зрения высказывающегося. Однако для тех, кто только начинает изучать этот фреймворк, мы постараемся объяснить, что дает вам эта технология и какую пользу она приносит. Также не проходите мимо и ответьте на опрос, самые популярные ответы будут отправлены Игорю Минару (ведущий разработчик команды Angular). Ну что же, приступим.

Читать дальше →
Всего голосов 47: ↑45 и ↓2+43
Комментарии59

Обзор систем мониторинга серверов. Заменяем munin на…

Время на прочтение9 мин
Количество просмотров185K
Очень долго хотел написать статью, но не хватало времени. Нигде (в том числе на Хабре) не нашёл такой простой альтернативы munin, как описанная в этой статье.


Читать дальше →
Всего голосов 79: ↑76 и ↓3+73
Комментарии111

Укрощаем USB/IP

Время на прочтение5 мин
Количество просмотров137K
Регулярно возникает задача подключения USB-устройства к удаленному ПК через локальную сеть. Под катом изложена история моих поисков в этом направлении, и путь к готовому решению на базе open-source проекта USB/IP с описанием заботливо установленных различными людьми на этом пути препятствий, а также способов их обхода.
Читать дальше →
Всего голосов 48: ↑46 и ↓2+44
Комментарии51

Какие адреса мы видим в traceroute

Время на прочтение2 мин
Количество просмотров36K
Привет. Это короткая заметка про то, какие именно IP мы видим в любимом tracert/traceroute, и как это зависит от лейбла на коробках в аппаратных вашего ISP и его апстримов.

Думаю, все знают, что у маршрутизатора, как правило, множество IP-адресов (ну или хотя бы точно больше, чем 1). В условиях такого многообразия перед маршрутизатором ставится нелегкий выбор: какой именно из его IP-адресов необходимо выбрать в качестве источника сообщения ICMP TTL Exceeded, которое и является основой для вывода трассировки?

Если вы никогда ранее не задумывались над данным вопросом, то вот некоторые варианты, которые могут прийти в голову в первую очередь:

1. IP-адрес интерфейса, который являлся входящим для оригинального пакета.
2. IP-адрес интерфейса, который должен был бы являться исходящим для оригинального пакета.
3. IP-адрес интерфейса, который будет являться исходящим для ICMP-сообщения.
4. IP-адрес лупбэка.

Если вы все же задумывались об этом ранее, то не спешите давать однозначный ответ :)
Узнать, что же там на самом деле
Всего голосов 44: ↑44 и ↓0+44
Комментарии11
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность