Pull to refresh
3
0
Send message

Хеш-Индексы в PostgreSQL

Reading time5 min
Views7.5K

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

Хеш-индексы в PostgreSQL — это хороший инструмент для ускорения выполнения запросов.

В основе хеш-индекса лежит хеш-функция. Хеш-функция — это алгоритм, который преобразует входные данные (или ключ) в число фиксированного размера, называемое хеш-значением. В PostgreSQL хеш-функция всегда возвращает значение типа integer, что составляет примерно 4 миллиарда возможных значений.

Читать далее
Total votes 10: ↑8 and ↓2+11
Comments10

Хабр, GPT, корпоративные блоги и БМЛы: оцениваем глубины ужаса

Level of difficultyEasy
Reading time5 min
Views19K

Я не испытываю ненависти ни к корпоративным блогам, как таковым, ни к большим языковым моделям в целом. А вот к мусорному контенту, созданному левой пяткой ради ссылок на сайт или телеграм-канал - испытываю, и еще как. И как раз вот тут встретились два одиночества - ленивые копирайтеры мусоропроизводители и генеративные сети. Получилась, как вы понимаете, вовсе не конфетка.

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

За подробностями, результатами, ужасом и даже кодом на VB.NET приглашаю под кат!

Читать далее
Total votes 225: ↑221 and ↓4+279
Comments112

PostgreSQL 16. Организация данных. Часть 1

Level of difficultyMedium
Reading time14 min
Views23K

PostgreSQL очень популярная СУБД. Её используют во многих проектах, как новички, так и профессионалы. Однако не все понимают, как именно работает данная система и какое у неё внутренне устройство.

Давайте разберемся вместе на основе книги «PostgreSQL 16 изнутри» и официальной документации!

Читать далее
Total votes 32: ↑31 and ↓1+35
Comments7

PostgreSQL 16. Изоляция транзакций. Часть 2

Level of difficultyMedium
Reading time13 min
Views14K

Данная статья является продолжением первой части: "PostgreSQL 16. Организация данных. Часть 1".

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

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

Методы расшифровки трафика

Reading time12 min
Views8.3K

Добрый день, дорогие читатели Хабра!

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

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

Шпаргалка по безопасной сборке Docker-образов

Reading time17 min
Views19K

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

Привет, Хабр! Меня зовут Эллада, я специалист по информационной безопасности в Selectel. Продолжаю рассказывать о безопасности в Docker. Под катом расскажу, как настроить сборку образов, обеспечить безопасность и добавить сканирование в пайплайн.
Читать дальше →
Total votes 53: ↑51 and ↓2+67
Comments7

Неожиданности IPv6, или почему тупят Instagram и WhatsApp через прокси и VPN

Level of difficultyEasy
Reading time9 min
Views42K

Довольно часто в последнее время на разных форумах и чатах люди жалуются, что когда они пользуются VPN или прокси, то у них после подключения на устройствах как-то странно начинают работать некоторые приложения. Например, не приходят сообщения в WhatsApp, не загружаютя сторис в Instagram, и другие подобные вещи. Причем нередко проблема чинится сама по себе спустя 10-15 минут после подключения, но после переподключения или переоткрытия клиента начинается снова. Иные жалобы состоят в том, что не смотря на то, что пользователь выходит в интернет через VPN или прокси, некоторые заблокированные сервисы и сайты у него все равно не открываются. И в том и в том обычно винят баги прокси/VPN-клиентов, администраторов серверов, и кого угодно еще. И я вам скажу: зря. Все гораздо проще и гораздо сложнее одновременно.

Читать далее
Total votes 51: ↑50 and ↓1+61
Comments60

Сложнейшая проблема компьютерных наук: центрирование

Level of difficultyMedium
Reading time7 min
Views34K

Заявляю: «Мы, как цивилизация, разучились использовать центрирование». Ну то есть мы, конечно, знаем, как это делать — очень просто:

display: flex;
justify-content: center; /* Горизонтальное центрирование */
align-items: center; /* Вертикальное центрирование */

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

Ещё можно использовать сетку:

display: grid;
justify-items: center; /* Горизонтальное центрирование */
align-items: center; /* Вертикальное центрирование */

Также не спрашивайте, почему выражение justify-content стало justify-items.
Читать дальше →
Total votes 194: ↑189 and ↓5+227
Comments56

Backup. Файловое резервное копирование бюджетного VPS

Level of difficultyEasy
Reading time6 min
Views3.5K

Предыстория. В своё время, когда мне надо было найти решение этого вопроса на Хабре, казалось, что все статьи состоят из установки и настройки Veeam Backup, Proxmox Backup и прочих коммерческих решений для блочных устройств. У меня запросы поскромнее. SLA и 3-2-1 не требуются. Достаточно восстановить работоспособность за пару часов или хотя бы пару дней. В общем, в поиске нужной статьи мне не особо повезло. Зато в комментах оказались интересные находки. Попробовав некоторые из них, в итоге остановился на описанном ниже варианте. Настроил и забыл. В качестве облачного хранилища ранее был выбран Storj. Но недавно они превратили бесплатные аккаунты в триальные. Пришлось отказаться, пересесть на Mega и освежить в памяти настройки. Заодно и выложить сюда. Надеюсь, кому-то тоже пригодятся.

TL;DR Статья состоит из настройки rsnapshot, rclone и небольшого скрипта автоматизации.

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

Китай не принимает платежи из России. Где заказать печатные платы в Китае в 2024 году

Level of difficultyEasy
Reading time3 min
Views42K

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

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

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

Читать далее
Total votes 59: ↑58 and ↓1+71
Comments63

Гайд: чем снимать видео дома. Подборка оборудования от 11 000₽ до 420 000₽

Level of difficultyEasy
Reading time6 min
Views10K

Я снимаю кинофестивали, шины от поставщика Формулы-1 и даже робота-хирурга прямо в операционной. Но снимал и из багажника, в студии-каморке, и начинал с подручных средств. Поэтому решил собрать 3 комплекта для съемок под разный бюджет: от бабушкиной пенсии до зарплаты айтишника.

Читать далее
Total votes 48: ↑43 and ↓5+54
Comments74

Tcpdump на разных уровнях

Reading time4 min
Views14K

Утилита Tcpdump знакома любому сетевому администратору, с ее помощью мы собираем трафик для последующего анализа. Типичная история – собираем траффик, приходящий на нужный интерфейс и затем уже анализируем его Wireshark. Подход практичный, ведь Wireshark Действительно очень мощный и полезный инструмент и о нем мы напишем еще не одну статью, но сегодня речь пойдет про Tcpdump. Не секрет, что утилита Tcpdump не интерпретирует протоколы прикладного уровня, ограничиваясь работой с транспортным уровнем. Однако, в этой статье мы рассмотрим различные варианты использования утилиты Tcpdump для более глубокой фильтрации трафика.

Итак, Tcpdump - утилита UNIX, позволяющая перехватывать и анализировать сетевой трафик, проходящий или приходящий через компьютер, на котором запущена данная программа.

Читать далее
Total votes 21: ↑17 and ↓4+17
Comments4

Психология в UX/UI дизайне: 10 принципов, повышающих вовлеченность и удержание

Level of difficultyMedium
Reading time3 min
Views6.5K

Применение психологических принципов в UX/UI дизайне играет ключевую роль в создании продуктов, которые не только привлекают внимание пользователей, но и способствуют их долгосрочному вовлечению и удержанию. Вот десять продвинутых принципов психологии, которые можно использовать для улучшения пользовательского опыта.

Читать далее
Total votes 18: ↑15 and ↓3+14
Comments5

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

Level of difficultyEasy
Reading time6 min
Views12K

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

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

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

Читать далее
Total votes 13: ↑12 and ↓1+14
Comments18

Построение гистограммы максимального и среднего времени выполнения запросов для PostgreSQL

Level of difficultyEasy
Reading time3 min
Views4K


Предыстория


Аварийная ситуация — информационная система жутко тормозит.
Как обычно- все менеджеры в панике.
Как обычно — «что там с СУБД»?
Как обычно — «с СУБД, всё хорошо — критичных ошибок нет, отклик не увеличивается, аномалий по метрикам мониторинга СУБД — нет.»

Новая вводная- «У нас все запросы стали очень медленно выполняться».

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

Метрика, позволяющее получать время отклика СУБД показывает «среднюю температуру по больнице». А учитывая, что система высоконагруженная, среднее время отклика не может являться надежной метрикой оценки производительности СУБД. Так, что от разнообразных вариаций на тему SUM(total_time) / SUM(calls) — пользы не так и много.

Убедить разработчиков и менеджеров, что на стороне СУБД проблем нет — не получается.
И поэтому и возникла идея — сделать простой механизм, позволяющий получить оценку производительности СУБД — гистограммы максимального и среднего времени выполнения запросов, на основе уже используемого расширения pg_stat_statements.
Читать дальше →
Total votes 7: ↑7 and ↓0+7
Comments9

Скрытые сокровища интерфейсного дизайна: 10 не популяризованных UI элементов, способных улучшить взаимодействие

Level of difficultyMedium
Reading time3 min
Views14K

Обзор недооцененных UI компонентов, которые могут значительно улучшить взаимодействие пользователя с продуктом.

Читать далее
Total votes 12: ↑6 and ↓6+4
Comments28

Беда «войти в айти» или курсы тестировщика отзывы: Список худших* курсов по числу трудоустраивающихся выпускников

Level of difficultyEasy
Reading time9 min
Views30K

Более 1.5 лет автор проводит исследование QA-курсов, а 150 QA-студентов нескольких десятков курсов ему помогают. Увы, многим из студентов - участников исследования с результатами обучения не повезло. Давайте же сделаем так, чтобы у следующих поколений студентов информации было больше, и они не совершили болезненную ошибку.

Читать далее
Total votes 19: ↑13 and ↓6+9
Comments28

Как пишут SQL-запросы гуманитарии

Level of difficultyEasy
Reading time5 min
Views27K

Когда говорят «мы ускорили выполнение нашего запроса в N раз» это значит, что сначала сделали плохо а потом начали думать как улучшить.

Так я думал раньше.

Читать далее
Total votes 22: ↑17 and ↓5+15
Comments29

Тормозящая виртуализация на x86. Небольшая попытка разобраться Часть 4. KVM

Level of difficultyHard
Reading time4 min
Views9.3K

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

Часть 4. Что из этого следует, и как устроен планировщик в KVM или KVM- QEMU. Тут тоже не будет ничего нового, но будет масса ошибок.

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

Резервное копирование на дешёвом VPS-сервере

Level of difficultyMedium
Reading time6 min
Views10K


Мы уже рассказывали, как можно использовать ультрадешёвый VPS за 130 рублей в месяц. На самом деле 512 МБ оперативной памяти вполне достаточно для нормальной работы Linux (без GUI) и множества приложений, таких как VPN, веб-хостинг, некоторые игровые серверы, а также для резервного копирования файлов.

Конечно, в интернете куча облачных хостингов, но всё-таки приватные файлы спокойнее хранить на личном сервере, который полностью под нашим контролем.
Читать дальше →
Total votes 28: ↑26 and ↓2+40
Comments18

Information

Rating
4,889-th
Registered
Activity