Pull to refresh
61
0
Send message

Выход на пенсию IT-специалиста (опрос)

Reading time1 min
Views65K


Здравствуй, хабрачеловек.

В большинстве своём, ты, по долгу службы и призванию, любишь писать код и возиться с паяльной станцией. Бывало, что проводишь бессонные ночи за любимым занятием. Но через пару-тройку десятков лет можно не заметить, как пришла она… пенсия. Может и не внезапно, а планомерно, но факт остаётся фактом, годы ведь идут… Кто-то только начинает жить, давая свежий вдох новым проектам, а кто-то облегченно укрывается пледом с чашкой тёплого чая в руке. Давай приблизим этот момент и представим, чем бы ты занимался, выйдя на пенсию, немного подискутировав в комментариях.
Перейти к опросу
Total votes 92: ↑75 and ↓17+58
Comments383

PostgreSQL 9.4 Что нового?

Reading time13 min
Views46K


Доброго времени суток! Не за горами релиз PostgreSQL 9.4 и нелишним будет пройтись по некоторым новшествам, привнесённым в этой версии. В статье будут рассмотрены (по большей части, касаемые клиентской модели):


Подробней
Total votes 48: ↑48 and ↓0+48
Comments15

Сброс PHP-кеша через SQL-запрос или из пушки по воробьям

Reading time3 min
Views6.6K

Доброго времени суток. Столкнулся с такой вот задачей — через SQL запрос сбросить PHP-кеш. Проще говоря, удалить несколько файлов в определённом каталоге. На входе имеется:
  • СУБД – PostgreSQL 9.3
  • ОС – Linux (Fedora, но не суть важно)

В итоге, получилось решение в связке python + C + bash (всего понемногу). Немного не Unix-way, но может кому-то пригодится.
Подробности
Total votes 25: ↑11 and ↓14-3
Comments16

Обновление Google Translate (части речи и синонимы)

Reading time1 min
Views23K
Доброго времени суток.

Сегодня обратил внимание, что сервис Google Translate оброс некоторыми плюшками — при переводе отдельных слов для исходного языка показывается транскрипция, в качестве какой части речи слово может выступать и его синонимы. Полезные вещи, минимизирующие обращение к словарю.

Читать дальше →
Total votes 38: ↑27 and ↓11+16
Comments10

Множественный выбор в QComboBox

Reading time9 min
Views26K

Картинка для привлечения внимания
(возможно имеющая отношение к посту)


Иногда, довольно удобным бывает возможность множественного выбора в виджете QComboBox. В этом небольшом туториале будет показано, как это cделать.
Ближе к коду
Total votes 30: ↑25 and ↓5+20
Comments6

Как работают сигналы и слоты в Qt (часть 1)

Reading time10 min
Views116K


Qt хорошо известен своим механизмом сигналов и слотов. Но как это работает? В этом посте мы исследуем внутренности QObject и QMetaObject и раскроем их работу за кадром. Я буду давать примеры Qt5 кода, иногда отредактированные для краткости и добавления форматирования.
Читать дальше →
Total votes 69: ↑64 and ↓5+59
Comments29

Выборка из обновляемых материализованных представлений в PostgreSQL 9.3

Reading time3 min
Views7.6K

Здравствуйте, хабрачеловеки! Вы, вероятно, уже пощупали материализованные представления, появившиеся в PostgreSQL 9.3. Одним из недостатков есть то, что в процессе обновления представления используется эксклюзивная (ACCESS EXCLUSIVE) блокировка, делающая невозможным запросы к представлению. В PostgreSQL 9.4 планируется добавить возможность чтения из представления во время его обновления. Ну, а пока, в этой небольшой заметке, я хочу показать один из способов выхода из этого положения.
Подробней
Total votes 20: ↑20 and ↓0+20
Comments5

Взаимодействие PostgreSQL с внешним сервисом для хранения изображений

Reading time13 min
Views23K

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

Хоть PostgreSQL и предоставляет возможность хранения в БД файлов (непосредственно в bytea полях или через large objects), это наименее оптимальный вариант, как в плане скорости, так и потребляемой памяти. Другой, общепринятой практикой, является хранение изображений в виде файлов на диске, для сайта формируется путь к изображению. Из преимуществ — возможность кеширования или использование специализированной файловой системы. И третий вариант — для изображений выделяется отдельный сервис, в котором может быть кеширование, маштабирование на лету, изменение формата. Попробуем реализовать взаимодействие PostgreSQL с таким сервисом.
Перейти к реализации
Total votes 8: ↑5 and ↓3+2
Comments11

Создание расширений в PostgreSQL

Reading time20 min
Views22K

Здравствуйте, хабрачеловеки! Темой этой статьи будет создание расширений для PostgreSQL. В качестве примера, мы реализуем небольшую библиотеку для работы с 3D векторами. Параллельно будут рассмотрены пользовательские типы, операторы и приведения типов. Не будет лишним ознакомися с этим материалом, так как реализация хранимых функций будет на языке C. Надеюсь, друзья слонов помогут скрасить серый технический текст статьи.
Подробней
Total votes 22: ↑21 and ↓1+20
Comments0

Интеграция C++ с QML

Reading time8 min
Views64K

Вступление


Язык QML для Qt Quick позволяет c легкостью делать многие вещи, особенно что касается анимированных пользовательских интерфейсов. Однако, не всё возможно сделать или не всё подходит под реализацию в QML, в частности:

  • получение доступа к функциональности извне окружения QML/Javascript
  • реализация критических по производительности функций, где требуется нативный код для повышения эффективности
  • большой или сложный не декларативный код, который было бы утомительно реализовывать в JavaScript

Как Вы увидите впоследствии, Qt легко отображает C++ код для QML. В этой статье мы создадим маленькое, но функциональное приложение, делающее это. Пример написан для Qt 5 и использует компоненты Qt Quick, поэтому для запуска примера Вам необходим как минимум Qt 5.1.0.
Подробней
Total votes 23: ↑23 and ↓0+23
Comments3

Хранимые функции на С в PostgreSQL

Reading time6 min
Views29K

Здравствуйте, хабрачеловеки! Многие из Вас сталкивались с вынесением бизнес-логики в СУБД в виде хранимых функций/процедур, облегчая клиент. В этом есть как и преимущества, так и недостатки. Сегодня я бы хотел рассказать Вам как создавать хранимые функции в PostgreSQL, написанные на языке C. В статье будут самые основы, которые необходимо знать для начала работы с ними.
Подробней
Total votes 51: ↑50 and ↓1+49
Comments7

PostgreSQL 9.3 Что нового?

Reading time9 min
Views43K

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

Подробней
Total votes 120: ↑118 and ↓2+116
Comments30

Миграция данных с MySQL на PostgreSQL

Reading time11 min
Views20K
По мере работы с базами данных, ознакомления с их плюсами и минусами, возникает момент, когда принимается решение миграции с одной СУБД в другую. В данном случае возникла задача переноса сервисов с MySQL на PostgreSQL. Вот небольшой перечень вкусностей, которые ждут от перехода на PostgreSQL, версии 9.2 (с более подробным списком возможностей можно ознакомится тут):
  • наследование таблиц (есть ограничения, которые обещают в будущем исправить)
  • диапазоны: int4range, numrange, daterange
  • поддержка из коробки несколько языков для хранимых функций (PL/pgSQL, PL/Tcl, PL/Perl, PL/Python и голый C)
  • оператор WITH, позволяющий делать рекурсивные запросы
  • (планируется) материализованные представления (частично они доступны и сейчас — как IUD правила к представлению)
  • (планируется) триггера на DDL операции

Как правило, существующие решения опираются на работу с уже готовым SQL дампом, который конвертируется в соответствии с синтаксисом целевой БД. Но в некоторых случаях (активно использующееся веб-приложение с большим объемом информации) такой вариант несет определенные временные затраты на создание SQL дампа из СУБД, его конвертации и загрузку получившегося дампа снова в СУБД. Поэтому оптимальней будет online-вариант (прямиком из СУБД в СУБД) конвертера, что может существенно уменьшить простой сервисов.
Читать дальше →
Total votes 6: ↑6 and ↓0+6
Comments6

Information

Rating
Does not participate
Registered
Activity