Search
Write a publication
Pull to refresh
17
0.3
Send message

Телеком-2022: смешиваем реальность, создаем интернет людей и ждем новых поколений

Reading time8 min
Views13K

Телеком-индустрия традиционно считается одной из самых инновационных отраслей. Однако в последнее время при взгляде со стороны может создаться впечатление, что никаких серьезных изменений в ней не происходит: даже полноценный запуск сетей пятого поколения в России все откладывается. Разумеется, это иллюзия: изменений много, часть из них является продолжением существующих тенденций. 2022 год продолжит этот тренд: несмотря на то что глобальных прорывов не произойдет, на развитие ряда направлений отрасль возлагает большие надежды. Обо всем этом в статье для "Инвест Форсайт" рассказал PR-директор Yota Артем Рабчук.

Читать далее

04. The Gold-Bug

Reading time15 min
Views3.4K

A good glass in the bishop’s hostel in the devil’s seat forty-one degrees and thirteen minutes northeast and by north main branch seventh limb east side shoot from the left eye of the death’s-head a bee line from the tree through the shot fifty feet out.
Edgar Allan Poe.

Предыдущие статьи цикла о реверсе данных автомобильных навигаторов Siemens/VDO Dayton CARMiN:

Реверс черного тессеракта

01 Сшей красное с красным, желтое с желтым, белое с белым. Наверняка будет хорошо

02. Я уже даже не вижу код. Я вижу блондинку, брюнетку и рыжую

03. С прозрачными воротами и яркою звездой

Читать далее

Статическое константное дерево на шаблонах C++

Reading time6 min
Views10K

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

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

Читать далее

Как мы используем LLVM для ускорения формирования отчётов

Reading time9 min
Views10K

Для бизнес-приложений очень важна возможность быстро сформировать нужный отчёт. Для этого, в частности, важно быстро получить результат запроса (часто – очень сложного запроса) к СУБД. Что не всегда просто, потому что с этой СУБД работают на чтение и запись тысячи (а иногда - десятки тысяч) пользователей.

 Чтобы не нагружать рабочую СУБД запросами для отчетов мы разработали механизм копий баз данных, копирующий данные (все или их часть) из рабочей БД в отдельную БД для отчетности. Пользователи могут строить отчеты на «отчетной» БД, быстрее получая результат и не нагружая рабочую базу.

 Для дальнейшего ускорения формирования отчетности мы разработали Дата акселератор — собственную SQL-совместимую in-memory базу данных, ориентированную на максимальную производительность в задачах OLAP. Дата акселератор может использоваться в качестве «отчетной БД» и позволяет существенно (иногда – на порядки) ускорить формирование отчетов.

Читать далее

Аллокаторы внутри

Reading time10 min
Views14K

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

Выделить знания

Разделяй и Властвуй. Разбор задач

Reading time5 min
Views20K


Решение задач с помощью метода "Разделяй и Властвуй" или по-английски "Divide and Conquer" является одним из базовых методов по ускорению алгоритмов. Примером тому служит переход от квадратичной сложности пузырьковой сортировки или сортировки вставками к сложности \inline O(n\log{n}) при сортировке слиянием. Или переход от линейной сложности к логарифмической, при реализации поиска элемента в отсортированном массиве (см. бинарный поиск).


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

Читать дальше →

Сказка про антипаттерны: как мужики град стольный строили

Reading time11 min
Views7.3K

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

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

Я постарался образно описать антипаттерны из разных дисциплин: не только из ИТ-архитектуры, но и из разработки, а также проектного или продуктового управления, ведь архитектор часто сталкивается с этими дисциплинами. Посмотрим, сколько антипаттернов вам удастся найти – в конце сказки я приведу ряд примеров, которые точно присутствуют в тексте :)

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

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

Читать далее

Почему я изменил своё мнение о слабой разметке для ML

Reading time9 min
Views4.5K

Когда чуть больше года назад я впервые услышал о слабой разметке, то поначалу отнёсся к ней скептически. Суть слабой разметки (weak labelling) заключается в том, что можно заменить аннотированные вручную данные на данные, созданные по эвристическим правилам, написанным специалистами в соответствующей области. Мне это показалось совершенно нелогичным. Если можно создать очень хорошую систему на основе правил, то почему бы просто не использовать эту систему? А если правила недостаточно хороши, то разве не будет плохой и модель, обученная на шумных данных? Это казалось мне возвратом в мир конструирования признаков, которому должно было прийти на смену глубокое обучение.

Однако за последний год моё отношение полностью переменилось. Я поработал над множеством NLP-проектов, в которых было задействовано извлечение данных, и намного сильнее углубился в изучение литературы про обучение со слабым контролем. Также я пообщался с руководителями команд ML в таких компаниях, как Apple, где услышал истории о том, как целые системы заменяли за считанные недели — благодаря сочетанию слабого контроля и машинного обучения им удавалось создать обширные наборы данных для языков, ресурсов по которым было мало и которые раньше попросту не обслуживались!

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

Почему бы и да! Как мы придумали альтернативное изображение таймлайна Nixys

Reading time4 min
Views1.6K

Знаменитый античный фразеологизм гласит: “Всё течет и ничто не остаётся на месте”. Так и каждый Новый год, - с которым мы вас, друзья, пользуясь случаем, поздравляем, - стабильно-ежегодно наступает, и неизменно привносит ноту воодушевления и новизны во все наши дела.

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

Возможно, именно поэтому с наступлением новогодних праздников нам тоже захотелось провести своего рода ретро, подвести итоги, а заодно и сделать что-то новенькое, что-то вроде открытки. 

И так появилась следующая задумка: а что, если мы, как настоящие DevOps-инженеры, сделаем таймлайн нашей компании в стиле GitFlow?

Читать далее

JavaScript: работа с датой и временем с помощью Temporal

Reading time11 min
Views15K


Привет, друзья!


В этой статье я хочу рассказать вам о Temporal, новом API для работы с датой и временем в JS.



Источником вдохновения для меня послужила эта замечательная статья.


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


Если вам это интересно, прошу под кат.

Читать дальше →

ABBYY FastML: новый подход к машинному обучению на стороне клиента для обработки большого потока документов

Reading time10 min
Views7.8K

Привет, Хабр!

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

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

Чтобы упростить и ускорить эту задачу и в целом облегчить работу нашим заказчикам, мы создали новый механизм кластеризации и разработали технологию FastML, а затем объединили их работу.

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

Но обо всем по порядку.

Читать далее

В поиске почти тонкого множества целых

Reading time4 min
Views4.4K

Если не бухать, то чем ещё заняться на новогодних праздниках, если у тебя нету девушки, как не абстрактной математикой и теорией чисел в частности?

Я решил с помощью вычислительных и аналитических методов нащупать границу между 'большими' и 'тонкими' бесконечными множествами натуральных чисел. Что это? Объясню под катом.

Читать далее

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

Reading time15 min
Views81K

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

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

Читать далее

Значение и загадочная история происхождения слова «религия»: расследование

Reading time7 min
Views43K

Неожиданно для меня, происхождение слова «религия» оказалось настоящей загадкой. Сперва всё было как будто бы просто: Google выдал родословное древо слова religion по первому же запросу. Оказалось, что корнями «религия» уходит в латинский глагол religare.

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

Во-первых, объяснение про связь с богом ничего не объясняет — даже если бы это было так, то каким образом это превратилось в дальнейшем в «религию» в современном значении?

Во-вторых, там же написано, что «religio (лат.) – совестливость, добросовестность, благочестие» — всё бы ничего, только это перевод не с латыни, а с древнефранцузского.

Расследование того, откуда на самом возникло слово «религия» в современном значении, уводит более чем на две тысячи лет в прошлое и обнаруживает столкновение двух совершенно разных версий двух значимых древнеримских мыслителей — известного ритора Цицерона и известного богослова Лактанция.
Читать дальше →

Про импортозамещение

Reading time15 min
Views254K

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

Читать далее

Идеальный каталог, пример использования

Reading time8 min
Views6K

Я разрабатываю библиотеку для работы с Entity Attribute Value (репозиторий), сокращенно EAV (структура базы данных для хранения произвольных данных). В конце прошлой статьи я спросил у вас о чём мне ещё надо написать, вы попросили показать пример использования и сделать замеры быстродействия. Про замеры быстродействия статья была, эта будет о примере использования.

Назначение библиотеки

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

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

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

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

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

Читать далее

Курсы Computer Science клуба в 2021 году: верификация, фотограмметрия, статистика, логика, теория игр и другие

Reading time2 min
Views6.4K

Все курсы Computer Science клуба в 2021 году проходили в онлайн режиме. Мы собрали для вас подборку видеозаписей лекций, которые выложены на нашем youtube канале.

Читать далее

Щ — самая упорная из православных букв

Reading time5 min
Views32K
Прошлая статья была посвящена тому, как Щ появилась; загадкой остаётся то, как Щ сохранилась в современном алфавите. Вот, например, статья в «Литературной газете» от 16 декабря 1929 г. о готовившемся тогда под эгидой А.В. Луначарского проекте перевода русского языка на латиницу; в частности, предполагалось, что «сочетание звуков «щ» будет писаться двумя буквами».


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

Information

Rating
3,766-th
Registered
Activity

Specialization

Specialist
SQL