Как стать автором
Обновить
10
1
Василий @nvv

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

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

Пайплайн для создания классификации текстовой информации

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

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

Меня зовут Дарморезов Вадим, я Data Scientist и участник профессионального сообщества NTA. Актуальность работы с большими объемами текстовой информации ещё долгое время (а может быть и всегда) будет неоспорима. При этом спектр задач весьма вариативен – от задач по поиску именованных сущностей, до классификации и кластеризации текстов обрабатываемых документов.

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

Узнать больше
Всего голосов 5: ↑5 и ↓0+5
Комментарии2

Установка сервера 1С, Postgresql и терминального сервера для клиентских приложений 1С на ОС Fedora Linux

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

На настоящий момент фирма 1С предоставляет возможность установки своего основного программного продукта на ОС Windows, Linux и MacOS (только клиентского приложения).

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

Однако, сама фирма 1С в своей документации и справочных материалах довольно прозрачно намекает, что ОС Windows далеко не единственный вариант установки ПО, в особенности серверной части и что ОС Linux гораздо более предпочтительна в качестве серверной ОС.

На портале 1С мы можем найти разные наборы установочных пакетов для 64-битных и 32-битных систем, для систем из семейства Linux, основанных на deb-пакетах (для системы Debian и её производных — Ubuntu, Mint и других) и основанных на rpm-пакетах (для ОС RedHat и её производных — CentOS, Suse, Fedora и других).

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

Для того, чтобы установить систему 1С в клиент-серверном варианте, требуется установка не только самого сервера 1С, но и сервера СУБД. Начнём установку именно с этого, так как без работоспособной базы данных устанавливать сервер 1С не имеет смысла.

Вариантов для выбора СУБД весьма немного. Система 1С может работать всего лишь с 4-мя различными СУБД: Microsoft SQL Server, PostgreSQL, IBM DB2 и Oracle Database. Все эти СУБД могут быть установлены на Linux, однако в полноценном варианте Microsoft SQL Server, IBM DB2 и Oracle Database являются платными коммерческими продуктами с немалой стоимостью. А на настоящий момент все эти три корпорации с РФ не работают (Microsoft, IBM, Oracle). У PostgreSQL тоже есть платная версия, но той версии, которая распространяется как свободный и открытый программный продукт, вполне достаточно для работы с сервером 1С. Поэтому при использовании свободной ОС Linux выбор в первую очередь, конечно, падает на PostgreSQL.

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

Запросы в PostgreSQL: 2. Статистика

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

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

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

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

Алгоритмы быстрого умножения чисел: от столбика до Шенхаге-Штрассена

Уровень сложностиСредний
Время на прочтение26 мин
Количество просмотров43K

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

И уж конечно, никогда при написании a * b мы не задумываемся о том, как реализовано умножение чисел a и b в нашем языке. Какие вообще есть алгоритмы умножения? Это какая-то нетривиальная задача?

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

Скорее к формулам!
Всего голосов 173: ↑173 и ↓0+173
Комментарии30

Как мы сокращаем время простоя при установке обновлений схемы базы данных. Советы разработчикам

Уровень сложностиСредний
Время на прочтение30 мин
Количество просмотров8.6K

Привет! Я работаю в компании Bercut, которая более 20 лет занимается разработкой и поддержкой ПО для операторов сотовой и фиксированной связи. Сегодня я хочу рассказать о наших подходах к сокращению времени простоя продуктивного комплекса при установке обновлений схемы данных на СУБД Oracle. Целевая аудитория — начинающие и продолжающие разработчики, которым интересно узнать о различных вариантах распараллеливания и ускорения работы DDL, DML и прочих штуках, облегчающих процесс отладки и установки.

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

Как поместить весь мир в обычный ноутбук: PostgreSQL и OpenStreetMap

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

Когда человек раньше говорил что он контролирует весь мир, то его обычно помещали в соседнюю палату с Бонапартом Наполеоном. Надеюсь, что эти времена остались в прошлом и каждый желающий может анализировать геоданные всей земли и получать ответы на свои глобальные вопросы за минуты и секунды. Я опубликовал Openstreetmap_h3 — свой проект, который позволяет производить геоаналитику над данными из OpenStreetMap в PostGIS или в движке запросов, способном работать с Apache Arrow/Parquet.

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

Первый пост не претендует на монографию, начну с краткого обзора...

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

Парсим ГАР БД ФИАС в удобный формат в питоне. Бесплатно, без регистрации и СМС

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

20160419_182146


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


Да, это полная официальная адресная база России, просто в открытом доступе, никто ничего не спрашивает, просто раздают. Сделали на наши налоги, и честно всем, как скамейку в парке, отдают в пользование. Прекрасно? Да!


"В чем же подвох?", — спросите вы, прищурившись.


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

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

Топ полезных SQL-запросов для PostgreSQL

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

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

Читать далее
Всего голосов 70: ↑68 и ↓2+78
Комментарии16

Типы таблиц в PostgreSQL: logged, unlogged и temporary tables

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

В PostgreSQL существует большое количество разных типов таблиц. Каждая из них предназначена для решения конкретных задач. Самая распространённая и известная — heap table или стандартная таблица. Про её структуру я рассказывал в прошлой статье. Стандартная таблица позволяет хранить строки, обновлять данные, делать OLAP и OLTP-запросы.  

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

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

Блокчейн мало где применим

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

Любители криптовалют часто говорят, что «реальная инновация — это не биткойн, а блокчейн». Популярность блокчейнов постоянно растёт. В какой-то момент используемые блокчейны перестали называть просто «технологией блокчейна», они превратились в «web3». Подразумевается, что блокчейны имеют столь широкую сферу применений, что они заменят современный веб в том виде, в котором мы его знаем.

Однако блокчейны — это не технология общего назначения: они имеют очень ограниченные и специфические способы применения. И использование их в децентрализованных валютах не первый пример из множества, он вполне может оказаться и одним из немногих.
Читать дальше →
Всего голосов 35: ↑30 и ↓5+35
Комментарии98

Не очень большие данные

Время на прочтение21 мин
Количество просмотров20K
В статье будут рассмотрены возможности, предоставляемые встроенным или декларативным секционированием в 12 версии PostgreSQL. Демонстрация подготовлена для одноименного доклада на конференции HighLoad++Siberia 2019 (upd: появилось видео с докладом).

Все примеры выполнены на недавно появившейся бета-версии:

=> SELECT version();
                                                     version                                                      
------------------------------------------------------------------------------------------------------------------
 PostgreSQL 12beta1 on i686-pc-linux-gnu, compiled by gcc (Ubuntu 5.4.0-6ubuntu1~16.04.10) 5.4.0 20160609, 32-bit
(1 row)
Читать дальше →
Всего голосов 32: ↑32 и ↓0+32
Комментарии3

Перенос данных с Oracle на PostgreSQL: основные этапы, несовпадающие типы и форматы данных

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

В настоящее время тема миграции с СУБД Oracle на СУБД PostgreSQL (и разработанную на её основе СУБД Postgres Pro) является очень актуальной. В этой области у команды Postgres Professional накоплен многолетний опыт, которым мы решили поделиться. На основе наших материалов для внутреннего обучения мы подготовили серию статей для Хабра о миграции данных в PostgreSQL из «оракловой» базы.

Также на близкие темы можно посмотреть следующие доклады и мастер-классы.

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

Наш опыт миграции PostgreSQL с AWS RDS на свою (self-hosted) инсталляцию

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

В статье рассмотрен способ безболезненной миграции базы данных PostrgeSQL c RDS-сервиса в AWS на self-hosted-инстанс с обеспечением отсутствия простоя в работе и максимальной консистентности данных.

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

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

Кластер Postgres для 1С. Повествование об интеллектуальных скитаниях инженера со счастливым концом

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

Как и у многих, в нашей компании возник вопрос импортозамещения. В целом вопрос понятный, много раз обсужденный со всех точек зрения. И вот настал счастливый момент, когда слова трансформировались в конкретные задачи с конкретными сроками. И одна из них была о замене СУБД для 1С.

Ну и конечно же, первым делом был поднят вопрос о кластеризации этой истории. Никто подвоха особого не ожидал, ибо у нас есть уже зарекомендовавшее себя решение в виде связки pg_auto_failover версии 1.6 от Citus (далее PGAF для краткости) и keepalived. Это решение нас целиком и полностью устраивает, поэтому выбор наш был очевиден.

Но когда мы начали настраивать выяснился очень неприятный момент - обычная сборка PGAF просто не работает с версией СУБД от PostgresPro - все ломается из-за жестко прописанных зависимостей. Тут то и началось "веселье".

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

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

Доступно о криптографии на эллиптических кривых

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


Тем, кто знаком с криптографией с открытым ключом, наверно известны аббревиатуры ECC, ECDH и ECDSA. Первая — это сокращение от Elliptic Curve Cryptography (криптография на эллиптических кривых), остальные — это названия основанных на ней алгоритмов.

Сегодня криптосистемы на эллиптических кривых используются в TLS, PGP и SSH, важнейших технологиях, на которых базируются современный веб и мир ИТ. Я уже не говорю о Bitcoin и других криптовалютах.

До того, как ECC стала популярной, почти все алгоритмы с открытым ключом основывались на RSA, DSA и DH, альтернативных криптосистемах на основе модулярной арифметики. RSA и компания по-прежнему популярны, и часто используются вместе с ECC. Однако несмотря на то, что магия, лежащая в фундаменте RSA и подобных ей алгоритмов легко объяснима и понятна многим, а грубые реализации пишутся довольно просто, основы ECC всё ещё являются для большинства людей загадкой.

В этой серии статей я познакомлю вас с основами мира криптографии на эллиптических кривых. Моя цель — не создание полного и подробного руководства по ECC (в Интернете полно информации по этой теме), а простой обзор ECC и объяснение того, почему её считают безопасной. Я не буду тратить время на долгие математические доказательства или скучные подробности реализации. Также я представлю полезные примеры с визуальными интерактивными инструментами и скриптами.
Читать дальше →
Всего голосов 127: ↑125 и ↓2+123
Комментарии73

Отчёт с митапа: PostgreSQL-as-Service — можем, умеем, практикуем

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

Выкладываем запись с Ozon Tech PostgreSQL Meetup. Ранее я уже описывал нашу инфраструктуру: весь PostgreSQL основан на виртуальных машинах — 2К в тестовой среде и ~8К в проде. Это около 2К кластеров баз данных. Так как у нас микросервисная архитектура, мы придерживаемся принципа 1 сервис = 1 база. Нагрузка на базы может быть приличная: 2-2,5 млн транзакций в секунду, а WAL-трафик порядка 1.5 ГБ/c. 

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

Видео и слайды под катом
Всего голосов 14: ↑14 и ↓0+14
Комментарии10

Перевод официального FAQ MITRE ATT&CK

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

FAQ MITRE ATT&CK оказался крайне нераспространенным документом, при всей его познавательной ценности как в перспективе, так и для текущей деятельности сообщества. Поэтому мы решили его перевести. Результат под катом.

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

SQL HowTo: разные варианты работы с EAV

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

Соблазн использовать модель EAV (Entity-Attribute-Value) при организации структуры БД весьма велик, особенно когда предметная область заранее плохо известна (или разработчик просто не хочет в нее углубляться). Это ведь так удобно - создать "универсальный" способ описания характеристик объектов, который больше не потребует доработок базы ни при появлении новых типов объектов, ни при возникновении новых атрибутов...

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

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

Никогда не используйте пикселизацию для сокрытия текста

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

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

Сегодня мы рассмотрим одну из таких методик — пикселизацию, и покажем, почему это плохой, небезопасный, гарантированный способ обеспечения утечки данных. Чтобы продемонстрировать, как это происходит, я написал инструмент под названием Unredacter. Он получает отредактированный пикселизированный текст и возвращает его в исходный вид. В реальном мире люди часто используют пикселизацию, но тыкать пальцем мы сейчас ни в кого не будем.
Читать дальше →
Всего голосов 63: ↑62 и ↓1+82
Комментарии41

Ложь из солидарности: как Thawte убила «систему доверия» в Интернете

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

Отзыв TLS-сертификатов у российских подсанкционных банков – это конец «системы доверия» в Интернете в том виде, как мы ее знаем. Ящик Пандоры открыт.
Читать дальше →
Всего голосов 166: ↑136 и ↓30+147
Комментарии348

Информация

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