Pull to refresh
378
-3.2
Дмитрий EvilDBA @Tzimie

DBA

Send message

Основные настройки для управления ресурсами в PostgreSQL: настройка памяти, CPU и I/O

Level of difficultyEasy
Reading time6 min
Views6.8K

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

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

В этой статье мы как раз и рассмотрим кратко о том, как управлять ресурсами в PostgreSQL.

Читать далее
Total votes 13: ↑13.5 and ↓-0.5+14
Comments17

С новым годом: GPT в 500 строках на SQL

Reading time42 min
Views37K

В минувшем году все только и говорили об ИИ и о том, как он может всё за вас сделать.

Мне нравится, когда кто-то или что-то работает за меня. Поэтому решил: попрошу-ка ChatGPT написать за меня новогодний пост:

«Эй, ChatGPT. А ты можешь реализовать большую языковую модель на SQL?»
«Нет, SQL не подходит для реализации больших языковых моделей. Язык SQL предназначен для выполнения запросов к данным, хранящимся в РСУБД и для управления этими запросами. Для реализации большой языковой модели требуются сложные алгоритмы, обширные датасеты, а зачастую — и фреймворки для глубокого обучения. SQL всеми этими возможностями не обладает.»

Что ж, лишний раз убеждаешься, что, если хочешь что‑то сделать хорошо – сделай это сам.

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

Читать далее
Total votes 215: ↑211 and ↓4+207
Comments21

Сжатие целых чисел

Level of difficultyEasy
Reading time5 min
Views13K

Цель статьи осветить state of the art методы сжатия целых чисел, чтобы сэкономить в будущем время исследования алгоритмов и терминологии. При этом описание части алгоритмов может быть упрощено для понимания. Сравнение алгоритмов тоже находится вне рамках этой статьи. Подробнее можно почитать в ссылках.

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

Читать далее
Total votes 42: ↑37 and ↓5+32
Comments22

Ода бесполезности споров

Level of difficultyEasy
Reading time6 min
Views34K

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

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

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

Рассмотрим это на историческом примере:
Total votes 260: ↑253 and ↓7+246
Comments474

Мозг и системы машинного обучения: сравнение масштабов

Reading time18 min
Views8.6K

Эпистемологический статус: весьма неопределённый. В литературе приводятся обширные, но ненадёжные данные, и в этой статье я делаю некоторые весьма грубые допущения. Тем не менее, я удивлюсь, если мои заключения отличаются от истины более чем на 1-2 порядка.

В настоящее время мозг — это единственный известный пример AGI (сильного искусственного интеллекта). Даже мелкие животные с крошечными мозгами демонстрируют впечатляющую степень владения сильным искусственным интеллектом, в том числе, гибкость и агентное поведение в сложном мире, характеризующемся высокой неопределённостью. Если мы хотим понять, в какой степени современное машинное обучение приблизило нас к AGI, то стоит попробовать количественно оценить мощность мозга. Хотя уже проделано много отличной работы, дающей представление о возможностях мозга и о том, как эти данные экстраполируются на хронологию развития ИИ, мне никогда не удавалось по-настоящему разобраться в вопросе кроме как на практике. Так что ниже я решил проанализировать мозг в терминах современного машинного обучения и попытаюсь на основе этого анализа предположить, на что можно рассчитывать на текущем этапе разработки AGI.

Читать далее
Total votes 41: ↑36 and ↓5+31
Comments26

Как устроен наш мир

Level of difficultyMedium
Reading time11 min
Views29K

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

Современные ученые сходятся на том, что у черных дыр нет одного четкого определения, и даже приведенное выше  — это один из вариантов. Если спросить разных ученых — астрофизиков и физиков — они подойдут к ответу с разных сторон. Общее резюме всех определений и формулировок примерно такое: масса свернула пространство и время. Черные дыры максимально компактный объект, который не демонстрирует свойств поверхности. Определяется воображаемый горизонт событий, который является условной границей между  черной дырой и окружающим ее пространством. Горизонт событий — это «область невозврата» или граница черной дыры. Свойство “не-демонстрации поверхности” имеет глубинный смысл и может привести   к более полному пониманию эволюции черной дыры.  В решении Шварцшильда, описывающем поведение черной дыры отмечается, что не смотря на наличие, радиуса Шварцшильда, входящее в решение, понятия точки центра не существует.

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

Читать далее
Total votes 20: ↑15 and ↓5+10
Comments81

Проблемы при переходе с MS SQL на PostgreSQL. Типы данных

Level of difficultyEasy
Reading time4 min
Views9.5K

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

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

Про локацию в профиле

Level of difficultyEasy
Reading time3 min
Views8.5K

У меня многолетний опыт удаленной работы из разных локаций мира от привычных фрилансерских островов Юго-Восточной Азии до мировых столиц вроде Лондона. В этой заметке я хочу рассказать о своих наблюдениях. И показать, насколько сильно локация влияет на возможности в go global!

1️⃣ У всех людей, включая потенциальных работодателей, клиентов или кастомеров, есть "географические" стереотипы и предрассудки. Прежде всего о стоимости услуг или зарплате. 

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

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

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

2️⃣ Или например на второй год странствий немало талантливых дизайн-агентств мск/спб планирует переезд в Барселону. Про быт нет вопросов: считаю этот город лучшим в мире для жизни. 

Но делать свое агентство барселонским - это значит:

а/ Задать невысокие ожидания по чеку: для американского бизнеса что Барселона, что Верона, что Лиссабона - примерно одно и то же. Читай: "в Европе закажем подешевле". А чеки побольше будут уходить тем, кто переехал в Лондон, Нью-Йорк, Долину или хотя бы в Дублин.

Читать далее
Total votes 62: ↑53 and ↓9+44
Comments11

PostgreSQL Antipatterns: ходим по JSON-граблям

Level of difficultyEasy
Reading time3 min
Views14K

Недавно попался на глаза примерно такой кусок запроса, и тут прекрасно примерно все:

множество чтений из CTE (хоть и единственной записи, но все же);

извлечение по каждому ключу текста с раскастовкой в jsonb;

извлечение каждого отдельного json-ключа в каждое отдельное одноименное поле;

"ручное" преобразование текстового представления массива в json в текстовое представление PostgreSQL.

А как - правильно?

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

Хороший ретрай, плохой ретрай, или История одного падения

Level of difficultyMedium
Reading time17 min
Views37K

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

Меня зовут Денис Исаев, и я работаю в Яндекс Go. Сегодня я поделюсь опытом решения проблем с отказоустойчивостью из-за ретраев. Основано на реальных инцидентах в системе из 800 микросервисов.

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

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

Теория типов

Level of difficultyMedium
Reading time43 min
Views29K

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

Что можно узнать из этой статьи?
Total votes 75: ↑75 and ↓0+75
Comments70

Новое в SQL Server 2022: Контейнерные группы доступности

Level of difficultyHard
Reading time6 min
Views2.3K

Это новая концепция обеспечения идентичности ограниченного набора системных объектов и сущностей, которой до этого очень недоставало. Администраторам баз данных приходилось «вручную» синхронизировать логины, задания агента, планы обслуживания и множество других системных сущностей, которые описывались в таблицах системных баз данных master и msdb. Теперь появился способ возложить это на SQL Server 2022, но ждать этой возможности нам пришлось 10 лет…

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

Искусственный интеллект, Большой Взрыв, чёрные дыры и филиокве — ищем ответ на вопрос, расколовший христианскую церковь

Level of difficultyEasy
Reading time19 min
Views5.6K

Весь мир - театр. В нём женщины, мужчины — все актёры.
Уильям Шекспир

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

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

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

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

Читать далее
Total votes 29: ↑20 and ↓9+11
Comments74

Пароли здорового человека (part II) и зачем вам цифровое завещание

Level of difficultyEasy
Reading time7 min
Views8.9K

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

Но в начале, надо обсудить еще один способ восстановления доступа к своим данным аутентификации, на самый крайний случай: если потеряны ВСЕ устройства с бэкапами.

Читать далее
Total votes 15: ↑13 and ↓2+11
Comments17

Четыре способа написать Hello world, или инструменты для создания GUI на Python

Level of difficultyEasy
Reading time5 min
Views29K

После написания программы ее можно модифицировать и добавить графический интерфейс — с Python это проще, чем кажется. Для программирования красивого и функционального GUI иногда достаточно простого знания html и css.

Под катом — подборка некоторых инструментов для создания интерфейсов на Python. Сохраняйте статью в закладки и предлагайте свои варианты в комментариях!
Читать дальше →
Total votes 56: ↑53 and ↓3+50
Comments61

Поколение оскорблённых: защита прав или дискриминация инакомыслия?

Reading time10 min
Views9K

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

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

Читать с риском обидеться
Total votes 39: ↑32 and ↓7+25
Comments34

Удивительные клеточные автоматы: направленные и пользовательские окрестности

Level of difficultyEasy
Reading time7 min
Views3.1K


👾, Хабр!

На прошлых неделях мы познакомились с различными вариациями альтернативных окрестностей – начиная с учёта расположения нотацией Хенселя, через альтернативные шаблоны расположения, и заканчивая взвешенными окрестностями. Сегодня добавим в тему окрестностей стандартного поля небольшой финальный штрих – пользовательские расположения.
Что здесь происходит (для новых читателей серии)
В этой серии мы разбираем клеточные автоматы – дискретную модель, основой которой является сетка из ячеек-клеток, которые изменяют (или не изменяют) своё состояние в зависимости от количества соседей.
Учёт соседей определяется правилами, которые устанавливаются нами. Вариаций правил существует бесчисленное множество, и они были систематизированы в определённые конфигурации.
Самая популярная конфигурация – «B/S», или «life-like», по названию крайне широко известного клеточного автомата «Game of Life», где B/S обозначает, что в нашем правиле мы описываем всего два параметра – количество соседей необходимых для рождения новой клетки в пустой ячейке, и количество соседей для выживания существующей клетки.
В каждой статье серии мы углубляемся в данную конфигурацию, добавляя новые параметры, либо дополняя существующие. Иногда заглядываем и в прочие конфигурации.
Для понимания сегодняшней статьи достаточно знать, что:
  • поиск соседей изначально выполняется в радиусе 1 (8 окружающих клеток – ), но мы можем установить другой, добавив к правилу Rx, где x – нужный нам радиус;
  • мы можем изменять шаблон окрестности поиска соседей. Изначально подразумевается окрестность Мура – R в каждую сторону (и диагональ) от рассматриваемой клетки, – но указывая Nxx мы будем определять иной шаблон, что, конечно, изменит вид правила. Сегодня мы продолжаем расширение этой части правила. Знакомство с предыдущими расширениями не является необходимым, но вы, конечно, можете предварительно ознакомиться с ними и прочими дополнениями, для большей последовательности чтения. Ссылки в конце материала и в профиле.
Читать дальше →
Total votes 52: ↑51 and ↓1+50
Comments9

Почему десктопные приложения работают на веб-платформе?

Level of difficultyMedium
Reading time8 min
Views35K

Где мы свернули не туда? Как получилось, что современный десктопный GUI по умолчанию использует платформу HTML/CSS/JavaScript, которая изначально не предназначена для нативной работы на десктопе? Она создана конкретно для браузера и веба. Зачем из нативного софта делать веб-страницы в браузерной оболочке?

Джефф Этвуд (автор Stack Overflow) предсказал этот феномен ещё в 2007 году. Он тогда сформулировал так называемый закон Этвуда:

Любое приложение, которое можно написать на JavaScript, будет в итоге написано на JavaScript.

Так и вышло.
Читать дальше →
Total votes 107: ↑93 and ↓14+79
Comments261

Всё, что вы НЕ хотели бы знать о сервисах онлайн знакомств… [много букОв и иллюстраций + регулярно дополняется]

Level of difficultyEasy
Reading time60 min
Views245K
Компьютерные сети изменили мир и подарили нам возможность не выбирать «меньшее из зол» из ограниченного числа сложившихся по жизни контактов, а найти по-настоящему любимого человека, даже если он прячется от нас на другом материке. Разумеется, мы можем отказаться от этой возможности и пойти по воспетому российской эстрадой садистско-мазохистскому сценарию «слепила из того, что было, а потом, что было, то и полюбила». И все будут только рады, если у нас всё получится. Но, если мы подведем статистику известных нам счастливых пар, сложившихся по этому сценарию, и трезво оценим вероятность успешного исхода, то, вероятно, путь поиска своего счастья в мировой паутине покажется нам более перспективным. И в этой статье я хочу рассказать вам о тех проблемах с которыми на этом пути можно столкнуться.
Читать дальше →
Total votes 293: ↑282 and ↓11+271
Comments770

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

Reading time7 min
Views81K

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

Читать далее
Total votes 83: ↑81 and ↓2+79
Comments15

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity

Specialization

Specialist
English
C
SQL
Python
High-loaded systems
C#