Как стать автором
Обновить
0
0.3
Александр @Anderson

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

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

Запросы в PostgreSQL: 3. Последовательное сканирование

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

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

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

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

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

Мой MikroTik – моя цифровая крепость (часть 1)

Время на прочтение10 мин
Количество просмотров116K
В статье рассмотрены различные подходы к организации практической безопасности сетей, построенных на оборудовании MikroTik, в том числе при помощи дополнительного открытого программного обеспечения, расширяющего имеющиеся штатные возможности, что в комплексе позволяет качественно администрировать сетевые средства, а также своевременно реагировать на различные угрозы информационной безопасности.
Читать дальше →
Всего голосов 67: ↑64 и ↓3+85
Комментарии101

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

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

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

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

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

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

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

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

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

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

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

Поехали
Всего голосов 33: ↑33 и ↓0+33
Комментарии11

Что видят в ваших резюме Python-рекрутеры, или Как получить работу мечты

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

Одна из вещей, которая связывает людей с работой их мечты — это резюме. Множество эйчаров смотрят на разные резюме каждый день. Если вы просмотрите хотя бы 10-40 резюме, то поймете, почему рекрутеры легко видят общие ошибки и насколько некоторые вещи выглядят для них забавно. Причем синьоры могут делать точно такие же ошибки, как и джуны, несмотря на то, что они уже 20 лет в индустрии.

Сегодня посмотрим на 5 резюме с точки зрения рекрутеров, которые ищут Python-разработчиков. На круглом столе конференции Python Week 2020 рекрутеры рассказали, что они ожидают от резюме по умолчанию, а что — им хотелось бы видеть еще. Два резюме будут от джунов, одно — от крепкого миддла, и еще пара — от кандидатов, которые решили поменять направление своей карьеры.

Читать далее
Всего голосов 14: ↑9 и ↓5+11
Комментарии23

Перекуем Cloud на Oracle. Тестируем размещение 1С в облачной платформе Oracle Cloud

Время на прочтение8 мин
Количество просмотров3.3K
После цикла публикаций про размещение 1С в облачных сервисах я думал, что все различные варианты рассмотрены и тема для меня закрыта. Однако есть события, мимо которых не пройти. Так вот и сейчас, когда наблюдается аттракцион невиданной щедрости от Oracle, мимо этого просто так не пройти.

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

Django Rest Framework для начинающих: создаём API для чтения данных (часть 2)

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

В прошлой части мы в общих чертах рассмотрели, как устроен REST API на DRF при работе на чтение. Едва ли не самый сложный для понимания этап — сериализация. Вооружившись исходным кодом, полностью разберем этот этап — от приема набора записей из модели до их преобразования в список словарей.


Важный момент: мы говорим о работе сериалайзера только на чтение, то есть когда он отдаёт пользователю информацию из базы данных (БД) сайта. О работе на запись, когда данные поступают извне и их надо сохранить в БД, расскажем в следующей статье.


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


Читать дальше →
Всего голосов 4: ↑3 и ↓1+4
Комментарии0

Песочница API Тинькофф Инвестиции и операции заявок

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

Про Песочницу API Тинькофф Инвестиции, которая ничего не знает про рынок. Это когда рыночная заявка исполняется по фиксированной цене, а лимитная исполняется сразу и по любой установленной цене. А заодно про незащищенный токен, про отсутствие Stop Loss / Take Profit в API. Недоумения пост...

Да ну не может же такого быть
Рейтинг0
Комментарии7

Real-time мониторинг тормозящих запросов PostgreSQL своими руками за полчаса

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

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


Ключевое слово — в конкретный момент времени. Например, база непонятно от чего напряглась на 5 минут, потом всё само рассосалось, и очень хочется знать, почему. Отчёты за сутки, присылаемые dba на основе pg_stats_statements, не всегда проясняют ситуацию. Другие графики и логи могут помочь. Но всё же хочется не гадать на кофейной гуще, а конкретно посмотреть, что такому-то запросу в такое-то время было плохо, или его было много.


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


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

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

Как я запускал шаблонизатор офисных документов как сервис

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

Приветствую!

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

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

Как переехать в США через EPAM и получить грин карту

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

Статья о том как получить гринку через EPAM и похожий аутсорс. Сколько времени это займёт? Какие расходы оплачивает EPAM при переезде? Что такое L1 виза и как её получить? Что такое Green Card through employment.

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

Автоматический анализ документов

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

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

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

Почему PostgreSQL тормозит: индексы и корреляция данных

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

"Хочешь ускорить запросы, построй индекс" – классический первый шаг по увеличению производительности в PostgreSQL. Вот только на практике можно встретить ситуацию, когда индексы в PostgreSQL есть, но тормоза никуда не делись. Не все индексы являются эффективными. Одна из возможных причин тормозов индексов – это отсутствие корреляции данных. Давайте поговорим о пенальти на производительность, которое дает расположение данных: почему это происходит и как это можно предотвратить.

Ускорить свой PostgreSQL
Всего голосов 46: ↑46 и ↓0+46
Комментарии29

Запускаем бесплатный мощный сервер Minecraft в облаке

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

Minecraft — это не просто игра. Его используют в школах для развития детей, для воссоздания архитектурных объектов, улучшения безопасности на реальных улицах. Сегодня Cloud4Y поделится интересным способом запуска бесплатного сервера Minecraft в облаке.

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

Гугл финанс перестал транслировать данные российских акций — что делать? (UPD: починили)

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

С 5 июня 2021 года сайт гугла, и самое главное гугл таблицы - перестали отдавать данные с Московской биржи. 

При попытке получить любые котировки с префиксом MCX, например для Сбербанка, формулой из гугл таблиц =GOOGLEFINANCE("MCX:SBER") теперь всегда возвращается результат #N/A.

А при поиске любой российской бумаги на сайте Google находятся любые рынки, кроме Московской биржи.

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

Google Finance давай, до свидания!
Всего голосов 15: ↑14 и ↓1+21
Комментарии31

Django Rest Framework для начинающих: создаём API для чтения данных (часть 1)

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

Меня зовут Стас Гаранжа, я выпускник курса «Python-разработчик» в Яндекс.Практикуме. Я хочу помочь начинающим разработчикам, которые приступили к изучению Django Rest Framework (DRF) и хотят разобраться, как устроен этот фреймворк.


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


В этой статье разберёмся, как сделать REST API на базе Django Rest Framework, чтобы получить по GET-запросу набор записей из базы данных (БД). Иными словами, рассмотрим, как DRF работает на чтение (о том, как с помощью него создавать, изменять и удалять записи в БД, поговорим в отдельной статье).


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


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

Телеграмм-бот для анализа опционов

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

Телеграмм-бот для графического анализа опционов и фьючерсов с расчетом гарантийного обеспечения как меры риска.

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

«Маяки» в ЕГРЮЛ с python

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


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

Сервис уведомляет владельца предприятия, если в налоговую попало заявление о внесении каких-либо изменений в отношении данных компании, содержащихся в ЕГРЮЛ. Далее владелец может среагировать на ситуацию, заблокировав регистрацию изменений, если они не были им инициированы. Чтобы реализовать этот своеобразный мониторинг, необходимо поставить на компанию так называемый «маяк». В данной статье посмотрим, как работает сервис, как и кто может поставить маяки, сколько их можно поставить и как все это сделать «пакетно» с помощью python.

Сам сервис находится по адресу на сайте налоговой здесь.
Читать дальше →
Всего голосов 4: ↑4 и ↓0+4
Комментарии4

4 года в Нидерландах

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

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

А еще тут много про деньги.

Читать далее
Всего голосов 61: ↑57 и ↓4+70
Комментарии157

Никогда такого не было и вот опять. Почему нужно использовать self-hosted VPN. Релиз Amnezia

Время на прочтение11 мин
Количество просмотров155K
Вот и пришло время для релиза VPN-клиента, родившегося благодаря хакатону DemHack, и выращенного при поддержке РосКомСвободы, PrivacyAccelerator и Теплицы социальных технологий.

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

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

image
Читать дальше →
Всего голосов 93: ↑91 и ↓2+126
Комментарии168

Информация

В рейтинге
1 811-й
Откуда
Ростов-на-Дону, Ростовская обл., Россия
Зарегистрирован
Активность