Pull to refresh
175
0.1
Валентин @GlukKazan

Программист, Администратор БД

Над пропастью во лжи

Reading time 13 min
Views 17K
Data Mining *Mathematics *Machine learning *
Recovery mode

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

"как не нужно делать data science"

Читать далее
Total votes 30: ↑20 and ↓10 +10
Comments 14

Разрушение PostgreSQL БД некорректными ограничениями целостности типа CHECK

Level of difficulty Easy
Reading time 7 min
Views 984
PostgreSQL *Database Administration *
Tutorial
Translation

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

Поверьте мне, я не хочу разрушать базы данных PostgreSQL. Просто это сообщение в Твиттере привлекло мое внимание и вызвало воспоминания о других сообщениях о CHECK ограничениях, вызвавших проблемы.

Читать далее
Total votes 7: ↑7 and ↓0 +7
Comments 1

Типизируя техническое интервью

Reading time 9 min
Views 9K
Algorithms *Haskell *Functional Programming *

Предлагаю читателям "Хабрахабра" перевод статьи Kyle Kingsbury, a.k.a "Aphyr".
Ранее: Заклиная техническое интервью


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

Читать дальше →
Total votes 27: ↑20 and ↓7 +13
Comments 7

Заклиная техническое интервью

Reading time 10 min
Views 22K
Java *Lisp *Algorithms *Functional Programming *
Recovery mode

Предлагаю читателям "Хабрахабра" перевод (возможно лучшей) статьи Kyle Kingsbury, a.k.a "Aphyr".


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


Видрун, зачатая от морских ветров в верхушках елей,
Видрун, зелень моих ветвей, радость и ноша моих дней,
Видрун, всех вдохновенней и умней, да станет мудрость нашего клана твоей:
Никогда не читай Hacker News
Читать дальше →
Total votes 78: ↑62 and ↓16 +46
Comments 27

Учим нейросеть принимать решения на основе уже известного опыта (на примере Шахмат и загруженного датасета)

Reading time 15 min
Views 2.1K
Python *Programming *Machine learning *Artificial Intelligence
🤖 Machine learning season

Учим нейросеть играть в Шахматы, загрузив в нее датасеты уже сыгранных партий с известным результатом.

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

Читать далее
Total votes 12: ↑11 and ↓1 +10
Comments 13

Поиск и устранение повреждений данных

Level of difficulty Medium
Reading time 24 min
Views 1.1K
Microsoft SQL Server *Database Administration *
Tutorial
Translation

Это выдержка из восьмой главы книги Rodney Landrum: «SQL Server Tacklebox», в которой описывается, как DBA может устранить последствия повреждения данных. Будут продемонстрированы инструменты и сценарии, необходимые для своевременного поиска и устранения повреждений данных и предотвращения их попадания в резервные копии.

Читать далее
Total votes 6: ↑6 and ↓0 +6
Comments 2
«Библиотеки для C++ нередко похожи на русскую классику: страдает либо их автор, либо пользователь, либо архитектура». Автор этой цитаты, Сергей Садовников из «Лаборатории Касперского», прошел свой путь от страданий к просветлению и узнал о метапрограммировании в С++ нечто важное и нужное. Сочувствующих приглашаем в волшебный мир макросов, шаблонов, boost и прочих loki.
Подробности – под катом
Total votes 65: ↑64 and ↓1 +63
Comments 40

Книга «Внутри CPYTHON: гид по интерпретатору Python»

Reading time 12 min
Views 6.9K
Издательский дом «Питер» corporate blog Python *Professional literature *
image Привет, Хаброжители!

CPython, самая популярная реализация Python, абстрагируется от сложностей ОС и предоставляет платформу для создания масштабируемых и высокопроизводительных приложений. Каждому python-разработчику на какой-то стадии необходимо будет узнать, как работает CPython. Это позволит в полной мере использовать его мощь и оптимизировать приложения. Вы разберетесь с основными концепциями внутреннего устройства CPython и научитесь: читать исходный код интерпретатора CPython и свободно ориентироваться в нем; вносить изменения в синтаксис Python и компилировать их в вашу собственную версию CPython; понимать внутреннюю реализацию таких структур, как списки, словари и генераторы; управлять памятью CPython; масштабировать код Python за счет параллелизма и конкурентного выполнения; дополнять базовые типы новой функциональностью; выполнять наборы тестов; профилировать и проводить бенчмарк Python-кода и исполнительной среды; отлаживать код C и Python на профессиональном уровне; изменять или обновлять компоненты библиотеки CPython, чтобы они могли использоваться в будущих версиях.
Читать дальше →
Total votes 13: ↑13 and ↓0 +13
Comments 10

Один день из жизни JVM-инженера

Reading time 27 min
Views 13K
JUG Ru Group corporate blog Java *C++ *System Programming *Compilers *


Можно разрабатывать на Java, а можно разрабатывать Java. Есть люди, чей код исполняет виртуальная машина — а есть люди, чей код и есть виртуальная машина.


Вроде бы те и другие существуют в одной Java-экосистеме, но задачи совершенно разные. Поэтому редкое место, где они пересекаются и могут что-то поведать друг другу — Java-конференции. Мы проводим их регулярно (уже в апреле будет JPoint). И на предыдущей нашей конференции Иван Углянский dbg_nsk поделился с Java-разработчиками тем, как всё выглядит с его стороны.


Чем он вообще занимается? Почему JVM-инженеры всё так медленно делают? На каком языке стоит писать рантайм, а на каком компилятор? Как «папка бога» в Windows привела к неожиданным последствиям? Может ли «обычный джавист» стать JVM-инженером?


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

Читать дальше →
Total votes 86: ↑86 and ↓0 +86
Comments 18

Перевод предобученной модели Keras на матричные вычисления

Level of difficulty Medium
Reading time 11 min
Views 2.6K
Python *Machine learning *TensorFlow *
Tutorial

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

Эта статья о том, как я переписал обученную в Keras сеть на работу с матричными операциями в Numpy. Заодно это помогло мне "заглянуть под капот" нейронной сети.

Читать далее
Total votes 6: ↑6 and ↓0 +6
Comments 5

Аномалии под нагрузкой в PostgreSQL: о чём стоит помнить и с чем надо бороться

Reading time 14 min
Views 13K
Postgres Professional corporate blog High performance *PostgreSQL *Database Administration *
Sandbox

В этой статье мы разберём несколько аномальных случаев высокой нагрузки в СУБД PostgreSQL. Что это такое? Обычно PostgreSQL хорошо показывает себя под нагрузкой и оправдывает ожидания в отношении производительности — она остаётся высокой. Но при определённых профилях нагрузки СУБД может вести себя не так, как мы ожидаем. Это и есть аномалии, на которых мы сосредоточимся в данной статье (для тех, кто предпочитает видео, эта информация доступна в виде записи доклада на HighLoad++).

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

Также в рамках статьи мы рассмотрим следующее:

Читать далее
Total votes 65: ↑65 and ↓0 +65
Comments 14

Проблема построения оптимального плана выполнения запроса при использовании коллекций. Применение Extensible Optimizer

Level of difficulty Medium
Reading time 7 min
Views 2.1K
Oracle *Database Administration *
Case

Привет! Я работаю в компании Bercut, мы более 20 лет занимается разработкой и поддержкой ПО для операторов сотовой и фиксированной связи. Прошел путь от инженера в отделе сопровождения до менеджера продукта. В последние годы работаю ведущим специалистом в отделе администрирования (Senior DBA) и решаю проблемы производительности высоконагруженных биллинговых базах данных, обслуживающих от сотен тысяч до десятков миллионов абонентов. Сегодня я хочу рассказать про проблему построения оптимального плана выполнения запроса при использовании коллекций в качестве входных переменных запроса и вариантах ее решения.

Читать далее
Total votes 13: ↑13 and ↓0 +13
Comments 1

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

Level of difficulty Medium
Reading time 26 min
Views 19K
Python *Algorithms *Mathematics *

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

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

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

Скорее к формулам!
Total votes 166: ↑166 and ↓0 +166
Comments 28

Разработка кросплатформенного приложения на Qt с использованием нейросетей, обученных на tensorflow

Level of difficulty Hard
Reading time 13 min
Views 5K
C++ *Qt *Machine learning *Artificial Intelligence TensorFlow *
Tutorial
Sandbox
🤖 Machine learning season

Разработка кросплатформенного приложения на Qt с использованием нейросетей обученных на tensorflow.

Читать далее
Total votes 20: ↑17 and ↓3 +14
Comments 15

Алгоритм Forward-Forward: альтернатива backpropagation

Level of difficulty Medium
Reading time 11 min
Views 2.1K
Neoflex corporate blog Machine learning *Artificial Intelligence
FAQ

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

В конце прошлого года Джеффри Хинтон, пионер Deep Learning, на конференции NeurIPS 2022 предложил новый алгоритм обучения нейронных сетей — Forward‑Forward — как альтернативу методу обратного распространения ошибки. FF более гибок и использует меньше памяти, чем backpropagation в архитектурах с множеством скрытых слоев, а его основная отличительная черта в том, что он основывается на современном понимании устройства человеческого мозга.

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

Читать далее
Total votes 14: ↑14 and ↓0 +14
Comments 14

Расширяем PostgreSQL с помощью Rust

Level of difficulty Medium
Reading time 5 min
Views 2.7K
OTUS corporate blog PostgreSQL *Rust *
Tutorial

Свободная система управления базами данных PostgreSQL не только предоставляет высокопроизводительный движок для выполнения запросов, но и может быть расширена с помощью расширений, которые могут добавлять новые типы данных (например, для ГИС‑расширений или астрономических координат), дополнительные типы индекса и возможности поиска (например, полнотекстовый поиск), сбор статистики, поддержку новых языков для встроенных функций и многое другое. Большой список существующих расширений может быть найден по этой ссылке. В этой статье мы рассмотрим один из возможных вариантов по созданию собственного расширения для PostgreSQL с использованием библиотеки pgx.

Читать далее
Total votes 24: ↑24 and ↓0 +24
Comments 3

Анализ дампа кучи Java: разбираем на примерах

Level of difficulty Hard
Reading time 6 min
Views 3.2K
Timeweb Cloud corporate blog JavaScript *Java *
Review
Translation
image

Я увлекаюсь управлением памятью в Java и в этой статье попробую объяснить, как взять и проанализировать дамп кучи – разберём на примерах. Но для начала давайте вспомним, что известно об этой предметной области. Немного освежив теорию, мы возьмем дамп кучи и проанализируем, каким он получится в простом приложении.
Читать дальше →
Total votes 26: ↑17 and ↓9 +8
Comments 6

Навык Алисы на serverless в Yandex.Cloud

Reading time 15 min
Views 6.9K
Programming *Go *Serverless *
Tutorial

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

Читать далее
Total votes 9: ↑8 and ↓1 +7
Comments 0

SQL HowTo: крупицы золота в реестре

Level of difficulty Hard
Reading time 7 min
Views 4.9K
Тензор corporate blog High performance *PostgreSQL *SQL *Algorithms *
Tutorial

В большинстве учетных систем, типа нашего СБИС, рано или поздно возникает проблема быстрого отображения реестра, в который по просьбам бизнес‑пользователей накручено несколько комбинируемых фильтров с очень редкой выборкой, ну никак не ложащихся в вашу красивую структуру базы данных и индексов базовой таблицы реестра — что‑нибудь типа "список продаж покупателям, чей день рождения выпадает на 29 февраля".

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

Читать далее
Total votes 18: ↑18 and ↓0 +18
Comments 9

Information

Rating
3,003-rd
Location
Казань, Татарстан, Россия
Date of birth
Registered
Activity