Search
Write a publication
Pull to refresh
3
0
Обидин Михаил @mrsantak

User

Send message

Запросы в PostgreSQL: 1. Этапы выполнения

Reading time17 min
Views90K

Привет, Хабр! Начинаю еще один цикл статей об устройстве PostgreSQL, на этот раз о том, как планируются и выполняются запросы.

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

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

Материал перекликается с нашим учебным курсом QPT «Оптимизация запросов», но ограничивается только подробностями внутреннего устройства и не затрагивает оптимизацию как таковую. Кроме того, я ориентируюсь на еще не вышедшую версию PostgreSQL 14. А курс мы тоже скоро обновим (правда, на версию 13; приходится бежать со всех ног, чтобы только оставаться на месте).

Поехали

Хватит клепать псевдопрограммистов, или «Горшочек — не в IT!»

Reading time14 min
Views133K

Дисклеймер: все события являются вымышленными, а совпадения - случайными

Все они были мертвы. Последний выстрел поставил жирную точку в этой истории. Я снял палец с курка — всё было кончено.

Макс Пэйн

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

Моё путешествие в IT наконец-то дошло до несгораемой суммы. Я, как и тысячи других до меня, кинувший работу ради мечты, добился-таки своего. Мама смотрела на меня с гордостью, а друзья — с завистью! Недоброжелатели же захлёбывались от желчи, ведь стало понятно, что я неиллюзорно переиграл и уничтожил всех дешёвок :) А сам стал иметь VIP-статус недешёвки, ведь мой работодатель уже побежал насыпать мне 100500 килорублей в секунду на мой швейцарский счёт.

Красивая история, правда? Хотите так же? Тогда переходите по этой ссылке и приобретайте курс от <default_school_name>, и через Х дней мы будем трудиться вместе!

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

Читать далее

Работать в цехе, о культуре рабочих

Reading time5 min
Views12K

Это краткая заметка о культуре в разных кооперативах, в которых пришлось по работать (картинки из подобного места, хоть и не мои)

Кратко о себе: 2 вышки - 1ая Учитель рисования, 2ая - ИТ + одно среднее специальное - художественная обработка металла

В Цехе

Начну с того, что где-то в 2001-2002 я устроился на завод, устраивался 2 раза.

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

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

И что характерно для цеха размером 150-250 м в длину и наверно 250-400 м в ширину + 200..300 работников в цехе (на заводе много цехов, завод и сейчас большой - более 10000 сотрудников, наверно даже больше)

Читать далее

«Последние дни жизни» демотивированного сотрудника

Reading time8 min
Views46K

Под последними днями я, конечно же, имею в виду последние этапы сотрудничества демотивированного сотрудника с компанией.

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

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

Читать далее

Раскладка Дворака — личный опыт

Reading time8 min
Views32K

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

Под катом о том, как я переучивался и с какими трудностями эксплуатации столкнулся. Напоследок несколько выводов по итогам 7 лет эксплуатации.

Читать далее

Люди подозревают, что технологии — отстой, потому что они на самом деле отстой

Reading time3 min
Views45K
image

Джей Ситтер в своей статье "Люди подозревают, что технологии — отстой" пишет о людях, которые продолжают использовать технологии, несмотря на серьезные неприятности, такие как очень тусклый экран или постоянные всплывающие окна, и ничего не делают с этим. Он делает вывод:
Если бы мой экран был на 5% яркости или если бы я не мог использовать свой телефон, не нажимая «Отмена» каждые пять секунд, я бы тратил часы или дни на Google, пытаясь найти решение, если бы это было то, что мне нужно. То, что эти люди в основном просто мирились с проблемами, означает, что для них эти проблемы не могли быть заметно хуже, чем сама технология в своей основе.
Эти примеры немного экстремальны, но важно помнить, что они реальны. Это не преувеличение. Это происходило.

В обсуждениях в Твиттере люди продолжают отвечать, что этим пользователям следует:

  • сделать что-нибудь с этим,
  • искать замену,
  • или просто не делать ничего.

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

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

Собеседование в Яндекс: театр абсурда :/

Reading time14 min
Views598K

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

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

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

Как вы думаете, что делают рекрутеры, когда видят "Alexandr, NOT OPEN FOR WORK"? Правильно, пишут "Алексей, рассматриваете вариант работать в X?" Я обычно игнорирую это, но тут мне предложили попытать счастья с Яндекс.Лавкой, и я не смог пройти мимо - интересно было, смогу ли я устроиться куда-нибудь, когда введут великий российский файерволл. К тому же за последние 3 года я проходил только два интервью, и мне показалось, что я не в теме, что нынче требуется индустрии. Блин, я оказался и вправду не в теме. И вы, скорей всего, тоже - об этом и статья.

Читать далее

Когда прокурор и адвокат в разных метрических пространствах. Случай в Манхэттене

Reading time3 min
Views29K

Сегодня хочу Вам рассказать одну занимательную историю из юридической практики, когда от теоремы Пифагора буквально зависел достаточно большой срок заключения. В марте 2005 года в Нью-Йорке на пересечении 40-й Западной улицы и 8-й авеню в Манхэттене некто Джеймс Роббинс был задержан за сбыт не самых законных веществ.

Всё бы ничего, но оказалось, что тяжесть преступления увеличивается, ведь торговля проводилась менее, чем в 1000 футах от ближайшей школы Holy Cross School, находившейся на 43-ей западной улице.

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

Читать далее

Один бинарник, любое окружение. Магия чистого C

Reading time5 min
Views35K


Как мы представляем себе кроссплатформенность? Мы пишем программу на языке, который либо компилируется в исполняемый файл отдельно для каждой поддерживаемой платформы, либо использует разновидность виртуальной машины вместо бинарника (и тогда эта среда должна присутствовать в целевых системах). Есть также и низкоуровневые языки, на которых писать серьёзные программы менее удобно, чем на высокоуровневых монстрах со своими компиляторами или рантаймами, но зато такие программы менее требовательны к предустановленному софту или наличию ОС в принципе, как и менее разборчивы в архитектуре. И всё же, есть возможность писать один и тот же код и собирать один и тот же бинарь под все популярные архитектуры и ОС (и даже bare metal), и эта возможность появилась благодаря гениальной Justine Tunney. Она написала Cosmopolitan, библиотеку на C, позволяющую исполнять один и тот же код на любой машине, подобно Java… но без какого-либо предустановленного интерпретатора или виртуальной машины! Один и тот же скомпилированный файл может исполняться как минимум в любом дистрибутиве Linux, на Mac OS, Windows NT, FreeBSD, OpenBSD, и NetBSD и на bare-metal на x86 и ARM*. Это настоящая магия.

«Вам здесь больше не рады...» Или что делать, если вы думаете, что работаете здесь, а начальник думает, что уже нет

Reading time7 min
Views74K

Представьте, что однажды Вы приходите на любимую работу, но начальник встречает Вас нервно, напряжен как струна, и, вызвав Вас к себе, объявляет Вам, что Вы уволены. Вам это объявление портит настроение, опускает самолюбие ниже плинтуса, Вы теряетесь, не знаете, как поступить, что говорить, и о чем начинать беспокоиться в первую очередь - чем оплачивать жилье, квартиру, ипотеку или отдавать долг Сашке и т. п. Попутно Вам начальник/кадровик подсовывает в руки пустой лист бумаги и ручку и говорит написать заявление. Туман в голове, дрожащими руками Вы начинаете выводить на белоснежном листе «генеральному директору ООО «Компания» Иванову И. И., заявление» ниже «прошу уволить меня по собственному желан…» СТОП. Какая-то ерунда получается. Может сказать чудаку начальнику, что у меня желания-то увольняться совсем нет, и зачем тогда писать это заявление, если я уже уволен? Если я уволен – отдайте трудовую книжку, зарплату и отпустите восвояси. Непонятно…

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

Вам становится еще страшнее от ее уверенности, но у Вас уже просыпается любопытство, подбадриваемое логикой и верой в справедливость - «За что уволите, я ж ничего не нарушал(а)?». Инспектор, не ожидая такого поворота, багровеет еще больше и выбегает из кабинета. Немного погодя, у Вас уже разговор с начальником отдела кадров и Вашим начальником. Они участливо с Вами беседуют, но припоминают Вам Ваши старые грешки: опоздания, болезни без бюллетеня пусть даже с разрешения начальника (этожепрогул!) и убедительно описывают Вашу низкую квалификацию, не выполнение Вами поручений руководителя, невыполнение плана продаж/обзвонов и т. п. и повторно убеждают Вас, что заявление – лучший вариант. Вы послушно отправляетесь писать заявление на увольнение. Вроде все логично и ситуация знакома многим, но есть три момента, о которых обычно забываем(или не знаем) при оценке того, что Вам говорят. С тех пор, как у нас в стране отменили крепостное право многое изменилось и государство больше защищает работников, чем работодателей и при любых спорах действует презумпция невиновности работника. Именно работодатель обязан оправдываться и доказывать, что он все корректно сделал и оформил. Допустил малейшее нарушение - отмена увольнение и оплата всего времени с момента незаконного увольнения.

Читать далее

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

Reading time8 min
Views81K

Зашла вчера в чат тестировщиков и вижу знакомый диалог:

— Мне в фирме 1 обещали фидбек через пару дней. В итоге неделя прошла, сам им пишу, а меня игнорят...

— Ага, я вот тоже собеседование в фирме 2 прошел, мне обещали ответ дать. А прислали просто отписку! «Вы нам не подходите», и всё.

Читать далее

Помолчи-ка, программист

Reading time11 min
Views103K

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

Сегодняшний герой – Сергей, имя вымышленное. Добро пожаловать в клуб анонимных обиженных программистов, устраивайтесь поудобнее, в комнату входит человек и говорит:

«Здравствуйте, я – Сергей. Мне запрещают разговаривать с клиентами. Но я в этом не виноват.»

Читать далее

Финансовый детектив по-французски: как банк потерял пять миллиардов евро…

Reading time8 min
Views34K

...и не смог уволить сотрудника, который был в этом виноват. 

Автор: Артём Наливайко

Есть такой замечательный французский банк – Societe Generale. Точнее не банк даже, а финансовая группа, но не суть. Каждый год правление банка рассылает сотрудникам письмо с кратким рассказом о результатах года. Меняются события, история, менеджмент. Лишь одно имя уже много лет остаётся неизменным.

Читать далее

Приходит ПМ и говорит, что надо на завтра чай через 3 минуты

Reading time4 min
Views70K

Ты говоришь, что чайник только 5 будет закипать. ПМ настаивает, что клиент очень просит и это нам крайне важно, ты под натиском прогибаешься и решаешь что-то думать. Кидаешь пакетик в чайник, заливаешь водой и ждешь когда вода покоричневеет. Четко понимаешь, что надо будет не забыть отмыть чайник, ибо так останутся кольца от чая и возможно плесень. Наливаешь получившуюся крашеную воду для клиента, ПМ с довольной рожей говорит: ну видишь, можно же. А ты думаешь, что не хотел бы что бы тебе так делали... Но обстоятельства требуют. И только ты расслабился, как влетает ПМ и говорит: ты хоть пробовал это?

Читать далее

Как ходить к соседям без звонков в домофон

Reading time3 min
Views42K

В одном из новых районов Москвы в домах установлены IP домофоны от Rubetek с возможностью открывать двери из приложения.

3 февраля в своем телеграмм канале @blog_ruporsecurite Валерий Комаров опубликовал опрос, является ли IP телефония АСУ. Опрос был достаточно жарким и касался больше пробелов в законодательстве.

24 февраля в своем же блоке Валерий поднял вопрос, является ли IP телефония объектом КИИ. Слежу за его лентой, но этот вопрос меня поставил в тупик, поэтому без комментариев. Думал, это мало кого касается.

В Москве у каждого нового жилого комплекса имеется закрытый чат, где присутствуют только собственники. Ну, так принято считать. Так произошло и в этом ЖК Грин Парк. Не буду говорить про его прелести, но собственниками являются театралы, судьи, телевизионщики, ИТишники из различных сфер, предприниматели и целые семьи тех, кто хоть как-то причастен к застройщику. Думаю, выбор очевиден - здесь красиво, безопасно. У каждого блока (несколько объединенных корпусов) имеется свой собственный закрытый двор, где дети могут свободно играть, а главное безопасно.

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

Вот и встал

В одном из новых районов Москвы...

Как я сократил время загрузки GTA Online на 70%

Reading time7 min
Views85K
GTA Online. Многопользовательская игра, печально известная медленной загрузкой. Недавно я вернулся, чтобы завершить несколько ограблений — и был потрясён, что она загружается настолько же медленно, как и в день своего выпуска, 7 лет назад.

Пришло время докопаться до сути.

Разведка


Сначала я хотел проверить, вдруг кто-то уже решил проблему. Но нашёл только рассказы о великой сложности игры, из-за чего она так долго загружается, истории о том, что сетевая p2p-архитектура — мусор (хотя это не так), некоторые сложные способы загрузки в сюжетный режим, а потом в одиночную сессию, и ещё пару модов, чтобы скипнуть видео с логотипом R* во время загрузки. Ещё немного почитав форумы, я узнал, что можно сэкономить колоссальные 10-30 секунд, если использовать все эти способы вместе!
Читать дальше →

Как я сократил время загрузки GTA Online на 70%

Reading time8 min
Views39K
image

GTA Online печально известна своей медленной скоростью загрузки. Запустив недавно игру, чтобы выполнить новые миссии-налёты, я был шокирован тем, что она загружается так же медленно, как и в момент выпуска семь лет назад.

Время настало. Пора разобраться в причинах этого.

Разведка


Для начала я захотел проверить, не решил ли уже кто-нибудь эту проблему. Большинство найденных результатов состояло из анекдотичных данных о том, насколько сложна игра, что ей приходится грузиться так долго, историй об отстойности сетевой архитектуры p2p (и в этом есть правда), сложных способов загрузки в сюжетный режим, а после него в одиночную сессию и пары модов, позволявших пропустить начальное видео с логотипом компании R*. Некоторые источники сообщали, при совместном использовании всех этих способов можно сэкономить аж целых 10-30 секунд!

Тем временем на моём PC…
Читать дальше →

Умный print для C

Reading time3 min
Views20K

Для тех кто пишет на С, возможно, будет интересно как мне удалось создать умную функцию print(), в которую можно кидать переменные любого типа — дженерик print.

show me the code

Блэкаут в Техасе. Как нефтегазовый штат остался без топлива, электричества и одной АЭС

Reading time5 min
Views71K

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

Почему так вышло? Как себя показали газовые и ветровые электростанции? Почему отключилась одна из четырех АЭС и в чем их удивительное отличие от российских? И что такого особенного в Техасе, что именно в нем случился блэкаут?

Небольшой обзор ситуации под катом с ответами на эти вопросы. С видеоверсией в конце.

Читать далее

Information

Rating
10,397-th
Location
München, Bayern, Германия
Date of birth
Registered
Activity

Specialization

Backend Developer
Java