Pull to refresh
26
-0.9
Алексей Полунин @AlexeyPolunin

Основатель в totum online

Send message

Выжимаем максимум из PostgreSQL

Level of difficultyMedium
Reading time14 min
Views14K

Привет, Хабр! Меня зовут Максим, я работаю тестировщиком оборудования в Selectel Lab. В лаборатории мы занимаемся тестированием нового оборудования для дата-центров. О том, как мы измеряли производительность PostgreSQL на разных конфигурациях — под катом!
Читать дальше →
Total votes 48: ↑55.5 and ↓-7.5+63
Comments21

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

Level of difficultyEasy
Reading time6 min
Views6.8K

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

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

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

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

Shiva — Open Source проект на Rust для парсинга и генерации документов любого типа

Level of difficultyMedium
Reading time3 min
Views9.3K

Идея проекта возникла у меня во время работы над проектом поисковика документов. Существует такая библиотека, как Apache Tika, написанная на Java, которая умеет парсить документы различных типов. Чтобы мой поисковик работал, он должен уметь извлекать текст из документов разных типов (PDF, DOC, XLS, HTML, XML, JSON и т. д.). Сам поисковик я писал на Rust. Но, к сожалению, в мире Rust нет библиотеки, которая умела бы парсить документы всех типов.

Читать далее
Total votes 29: ↑26 and ↓3+23
Comments31

Почему переезд на новое ПО — такая боль для сотрудников. С чем смириться и что можно улучшить

Level of difficultyEasy
Reading time9 min
Views2.3K

Эта статья для тех, кто хоть раз организовывал переезд на новое ПО на работе. И не важно, что это было — Notion в стартапе, Jira для разработки или пачка отдельных SaaS-систем.

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

На правах специалиста с десятилетним стажем внедрения B2B-систем разного формата, а также продуктового (UI/UX) дизайнера, я постараюсь сформулировать боли общего процесса переезда и частые ошибки. Расскажу, чего нельзя избежать, а что можно сделать лучше. 

Читать далее
Total votes 16: ↑14 and ↓2+12
Comments5

Рекомендации при работе с PostgreSQL

Level of difficultyMedium
Reading time10 min
Views24K

Доброго времени суток. Основываясь на своём опыте хочу представить некоторые рекомендации при разработке кодовой базы на SQL.

Данные рекомендации получены горьким опытом, так что надеюсь, они Вам помогут :)

Читать подробнее и больше не косячить
Total votes 57: ↑54 and ↓3+51
Comments53

Труд разработчиков открытого ПО заслуживает оплаты

Level of difficultyEasy
Reading time8 min
Views9.8K

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

Недавно в сердцах я написал на Mastodon такой пост:

«Мы считаем, что сфера опенсорса должна быть жизнеспособной, а труд мейнтейнеров должен оплачиваться!»

Мейнтейнер: *вносит коммерческие возможности*
Мы: «Не таким образом».

Мейнтейнер: *работает на крупную технологическую корпорацию*
Мы: «Не таким образом».

Мейнтейнер: *привлекает инвестирование*
Мы: «Не таким образом».

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

Мой основной посыл в том, что труд специалистов, работающих в сфере опенсорса, заслуживает оплаты. Без исключений. Нам следует перестать критиковать идею оплаты труда мейнтейнеров и начать её ценить. Да, все используемые для этого механизмы в том или ином смысле несовершенны, но лишь потому, что сам мир таков. И дело не в том, что люди берут деньги. Наезжать на мейнтейнеров, которые нашли способ устроить себе жизнь, неправильно.
Читать дальше →
Total votes 81: ↑74 and ↓7+67
Comments98

Почему умирает твой пет-проект?

Level of difficultyEasy
Reading time7 min
Views5.7K

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

Читать далее
Total votes 29: ↑23 and ↓6+17
Comments28

Как я устроился в Амазон и перестал переживать за свой английский

Level of difficultyEasy
Reading time7 min
Views88K

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

Меня зовут Андрей Столбовский, последние 5 лет я работал в Яндексе, а в прошлом году перешёл в Амазон и теперь работаю Software Development Manager в AWS Redshift – это мой первый полноценный опыт работы в международной компании. 

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

Итак, поехали. 

Поехали!
Total votes 282: ↑279 and ↓3+276
Comments160

Популярные расширения на PostgreSQL

Level of difficultyEasy
Reading time8 min
Views9.2K

В чем сила, бр..Постгреса? Сила PostgreSQL во многом заключается в его расширяемости, которая позволяет открыть больше функциональности.

В статье рассмотрим четыре популярных расширения на PostgreSQL на 2024 год.

Читать далее
Total votes 19: ↑12 and ↓7+5
Comments4

Всё /var/lib/docker пожрал … docker

Level of difficultyEasy
Reading time2 min
Views4.8K

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

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

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

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

Все оценки сроков разработки ПО — ложь

Level of difficultyEasy
Reading time15 min
Views26K

▍ Разработка ПО — это исследование


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

В разработке ПО мы не тратим время на задачи, решения которых знаем. Если решения уже существуют, мы добавляем в качестве зависимости пакет или библиотеку с этим решением, или копируем старый код, или делаем что-то ещё, на что требуются секунды, а затем можем переходить к следующей задаче. Почти всё время разработки тратится на новые задачи, ответов на которые мы не знаем. Часто они новы ужасно скучным образом, например, «как нам сохранять эту модель данных с этими конкретными полями в эту конкретную базу данных?» Но именно из-за них эта ситуация отличается от всех остальных (или, по крайней мере, от тех, которые мы смогли найти) и именно это занимает всё наше время.
Читать дальше →
Total votes 80: ↑75 and ↓5+70
Comments67

OpenAI запускает GPT Store — как создать свой custom GPT с внешними API вызовами

Level of difficultyEasy
Reading time7 min
Views13K

Вчера вечером, 10 января 2024 г., OpenAI официально запустили GPT Store.

Давайте разберемся, что это такое, и что оно дает. А затем создадим свой собственный GPT и добавим его в GPT Store.

Концепция "custom GPT" в терминах OpenAI - это кастомный набор инструкций (custom prompt), который может быть создан любым пользователем ChatGPT с подпиской Plus. Каждый такой custom GPT за счет своего набора инструкций хорошо заточен под решение своей конкретной задачи. Есть custom GPT, которые хорошо пишут код, есть custom GPT, которые играют роль репетитора или психотерапевта и т.д.

Таким образом, GPT store - это большая библиотека инструкций для разных задач внутри ChatGPT. Она создается и поддерживается комьюнити и очень сильно напоминает google play market или apple app store.

Процесс создания Custom GPT заключается в том, что в интерфейсе ChatGPT пользователь составляет подробные инструкции, что и как его GPT должен делать, дает описание, придумывает название, примеры использования и т.д. - всё это сохраняется на серверах OpenAI.

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

Как изменилась Amnezia за 2023 год

Reading time5 min
Views18K

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

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

БД — это скальпель или мультитул? Куда привела эволюция СУБД в 2023 году

Reading time10 min
Views12K

За последние пару десятилетий с ростом объёма данных на рынке СУБД сложился интересный ландшафт. Появились новые СУБД, при этом старые продолжали развиваться — и сориентироваться среди них становилось всё сложнее. 

В этой статье предлагаем рассмотреть эволюцию разных СУБД и сравнить их между собой. Поможет нам в этом Олег Бондарь, директор по продукту в Yandex Cloud, который отвечает за развитие YDB — это транзакционная реляционная база данных с открытым исходным кодом. Статья написана по материалам его доклада на Saint Highload++.

Читать далее
Total votes 28: ↑24 and ↓4+20
Comments21

Смерть от тысячи микросервисов

Level of difficultyEasy
Reading time10 min
Views76K

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

Читать далее
Total votes 133: ↑127 and ↓6+121
Comments309

Мой план по продвижению Телеграм бота за 4 недели. С нуля до публикации на ProductHunt

Level of difficultyEasy
Reading time7 min
Views8.3K

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

Читать далее
Total votes 14: ↑10 and ↓4+6
Comments4

ORM для реальных приложений не окупается

Reading time4 min
Views30K


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


Проблемы


  1. При использовании ORM мы обычно прописываем в коде сущности и их взаимосвязи, и по сути это — проектирование БД ещё раз (дублирование логики!) прямо в коде.
  2. Борьба с проблемами производительности никуда не денется всё равно, как ни абстрагируй. Ты просто не можешь не знать, что у тебя под капотом происходит. Какие там делаются джойны и группировки.
  3. Язык запросов в виде цепочки объектов и методов читается хуже, чем SQL, по сути это — особый язык, который надо учить. За себя скажу, что когда писал на PHP (Laravel), длинные запросы на Eloquent меня иногда изумляли своей сложностью чтения:
Читать дальше →
Total votes 84: ↑57 and ↓27+30
Comments231

Готовим полнотекстовый поиск в Postgres. Часть 2

Reading time7 min
Views20K

В прошлой статье мы оптимизировали поиск в PostgreSQL стандартными средствами. В этой статье мы продолжим оптимизацию с помощью индекса RUM и проанализируем его плюсы и минусы в сравнении с GIN.

Читать дальше →
Total votes 36: ↑36 and ↓0+36
Comments4

Настройка параметров PostgreSQL для оптимизации производительности

Reading time6 min
Views93K
По умолчанию конфигурация PostgreSQL не настроена для рабочей нагрузки. Значения по умолчанию установлены для обеспечения работоспособности PostgreSQL везде с наименьшим количеством ресурсов. Имеются настройки по умолчанию для всех параметров базы данных. Главной обязанностью администратора базы данных или разработчика является настройка PostgreSQL в соответствии с нагрузкой их системы. В этом блоге мы изложим основные рекомендации по настройке параметров базы данных PostgreSQL для повышения производительности базы данных в соответствии с рабочей нагрузкой.

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

Тем не менее, параметры базы данных тоже очень важны, поэтому давайте посмотрим на восемь, которые имеют наибольший потенциал для повышения производительности
Читать дальше →
Total votes 17: ↑15 and ↓2+13
Comments21

Революция от OpenAI — полный обзор: что означают последние анонсы для продуктовой разработки

Level of difficultyEasy
Reading time11 min
Views22K

Неделю назад я получил уведомление о начале трансляции первой разработческой конференции от OpenAI. Было неудобно смотреть эфир живьём, так что я уложил детей спать, и ночью, заварив себе какао, с предвкушением открыл YouTube.

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

Это не просто небольшие улучшения; это действительно скачок вперед. Я слушаю про увеличение длины контекста до 128К, обновлении данных до апреля текущего года, об интеграции в API интерпретатора, нового "рисователя" DALLE-3, анализ изображений, извлечение данных из массивов, безлимитных "ассистентов" и чуть ли не подпрыгиваю на стуле от оживления: решилось огромное количество проблем, которые до этого требовали человеко-месяцы доработки довольно квалифицированной командой.

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

Итак, что нового
Total votes 17: ↑15 and ↓2+13
Comments25

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity