Pull to refresh
113
122
Сергей Ю. Каменев @inetstar

Алгоритмист. Автор. Поставщик SSD, RAID, серверов.

Send message

Правила эффективного общения в групповых чатах

Reading time5 min
Views108K
Групповые чаты — модный и эффективный инструмент для организации мероприятий, тематических обсуждений. Многие предпочитают чаты традиционным группам, так как часто ответ может прийти моментально, а о каждом новом сообщении возможно получать уведомление.

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

Читать правила
Total votes 75: ↑67 and ↓8+59
Comments57

Транзакции в глобалах InterSystems IRIS

Reading time8 min
Views1.4K
InterSystems IRIS and transactionСУБД InterSystems IRIS поддерживает любопытные структуры для хранения данных — глобалы. По сути это многоуровневые ключи с различными дополнительными плюшками в виде транзакций, быстрых функций для обхода деревьев данных, блокировок и своего языка ObjectScript.

Подробнее о глобалах в цикле статей «Глобалы — мечи-кладенцы для хранения данных»:

Деревья. Часть 1
Деревья. Часть 2
Разреженные массивы. Часть 3

Мне стало интересно как реализованы транзакции в глобалах, какие там есть особенности. Ведь это совершенно иная структура для хранения данных, чем всем привычные таблицы. Намного более низкоуровневая.
Читать дальше →
Total votes 17: ↑15 and ↓2+13
Comments7

Upgrade дисковой подсистемы старого сервера с шиной PCIe 1.0 — 2.0

Reading time7 min
Views15K
Почему темой данной статьи выбран апгрейд дисковой подсистемы
Понятно, что в первую очередь нужно, как правило:

  1. Увеличить оперативную память. Это настолько очевидный ход, что я даже не счёл нужным писать об этом в основной статье
  2. Поставить дополнительный процессор(ы) или заменить оба процессора на максимально производительные версии поддерживаемые сокетами сервера.

Для старых серверов, что память, процессоры, как правило, можно найти по бросовым ценам.

В определённый момент перед любым владельцем собственного сервера становится вопрос — upgrade или новый сервер.

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

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

В статье приведён список серверных SSD PCI-E 2.0 x8, которые сильно подешевели сейчас, указаны рейд-контроллеры с поддержкой SSD-кеширования и испытан SATA III SSD на интерфейсе SATA II.
Читать дальше →
Total votes 28: ↑27 and ↓1+26
Comments6

PHP-модуль для работы с иерархическими данными в InterSystems IRIS

Reading time7 min
Views2.2K
image PHP с начала своих времён славен (и критикуем) тем, что поддерживает интеграцию с массой библиотек, а также с практически со всеми СУБД существующими на рынке. Однако в силу каких-то странных причин в нём не было поддержки иерархических баз данных на глобалах.

Глобалы — это структуры для хранения иерархической информации. Они чем-то напоминают базы «key -> value» только с тем отличием, что ключ может быть многоуровневым:
Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments1

Глобалы — мечи-кладенцы для хранения данных. Разреженные массивы. Часть 3

Reading time6 min
Views13K
В прошлых частях (1, 2) мы говорили о глобалах как о деревьях, в этой мы рассмотрим глобалы как разреженные массивы.

Разреженный массив — это разновидность массива, в котором большинство значений принимает одинаковое значение.

На практике часто встречаются настолько огромные разреженные массивы, что нет никакого смысла занимать память одинаковыми элементами. Поэтому есть смысл разреженные массивы реализовывать так, чтобы память не расходовалась на хранение одинаковых значений.
В некоторых языках программирования разреженные массивы входят в сам язык, например в J, MATLAB. В других языках программирования есть специальные библиотеки, которые позволяют реализовать их. Для С++ — Eigen и др.

Глобалы — хорошие кандидаты для реализации разреженных массивов, потому что:
Читать дальше →
Total votes 23: ↑19 and ↓4+15
Comments17

Глобалы — мечи-кладенцы для хранения данных. Деревья. Часть 2

Reading time8 min
Views13K
Начало — см. часть 1.

3. Варианты структур при использовании глобалов


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

3.1 Частный случай 1. Один узел без ветвей


Читать дальше →
Total votes 16: ↑12 and ↓4+8
Comments192

Глобалы — мечи-кладенцы для хранения данных. Деревья. Часть 1

Reading time5 min
Views37K
Настоящие мечи-кладенцы баз данных — глобалы — давно известны, но до сих пор немногие умеют эффективно ими пользоваться или вовсе не владеют этим супероружием.

Если использовать глобалы в решении тех задач, в которых они действительно хороши, то можно добиться выдающихся результатов. Либо в производительности, либо в упрощении решения задачи (1, 2).

Глобалы — это специальный способ хранения и обработки данных, совершенно другой, чем таблицы в SQL. Они появились в 1966 году в языке M(UMPS) (эволюционное развитие — Caché ObjectScript, далее COS) в медицинских БД и до сих пор там активно используются, а также проникли в некоторые другие области, где требуется надёжность и высокая производительность: финансы, трейдинг и т.д.

Глобалы в современных СУБД поддерживают транзакции, журналирование, репликацию, партиционирование. Т.е. на них можно строить современные, надёжные, распределённые и быстрые системы.

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

Глобалы как способ хранения данных можно использовать во многих современных языках программирования, как высокоуровневых, так и низкоуровневых. Поэтому в этой статье я сфокусируюсь именно на глобалах, а не на языке, из которого они когда-то вышли.
Читать дальше →
Total votes 39: ↑28 and ↓11+17
Comments336

Видео лекции о 3D биопринтинге (проводит к.б.н. Сергей Новосёлов, автор M.D., Ph.D., В.А. Миронов)

Reading time1 min
Views9.4K
Total votes 9: ↑7 and ↓2+5
Comments1

GlobalsDB — универсальная NoSQL база данных. Часть 1

Reading time8 min
Views17K
От переводчика
На мой взгляд на Хабре мало информации о бесплатной NoSQL-базе GlobalsDB. Оригинальная статья написана в августе 2011 года и ещё актуальна. Перед вами первая часть. Во второй части будет рассказано как с помощью GlobalsDB моделировать различные типы NoSQL-баз.

Роб Твид (Rob Tweed)Введение

GlobalsDB — бесплатная база данных, которая использует для сохранения данных механизм Глобальных Постояннохранимых Переменных (Global Persistent Variables), т.е. переменных значения которых автоматически сохраняются на жёстком диске. Они представляют собой абстракцию над бинарными деревьями (B-trees) и могут быть использованы для хранения больших объёмов данных представленных как многомерные разреженные массивы.

С помощью Глобальных Постояннохранимых Переменных (обычно называемых «глобалами», поэтому и база называется GlobalsDB) можно выразительно и высокоэффективно решать все обычные задачи, для которых принято сегодня использовать различные NoSQL-базы.
Подробнее
Total votes 13: ↑8 and ↓5+3
Comments8

Визуальный язык ДРАКОН и его применение в ракетно-космической отрасли, медицине и других областях. Видео доклада В. Паронджанова

Reading time2 min
Views32K
Википедия о ДРАКОНе.

ДРАКОН иногда называют правильными блок-схемами. Но в первую очередь он отлично подходит для записи алгоритмов.
Внутри НПЦ АП (Научно-производственный центр автоматики и приборостроения) ДРАКОН используется с помощью закрытой технологии ГРАФИТ-ФЛОКС.

За рамками НПЦ АП есть открытые общедоступные среды, на которых можно писать реальные программы на так называемых гибридных языках, например: ДРАКОН-Си, ДРАКОН-JavaScript, ДРАКОН-Java, ДРАКОН-C#, ДРАКОН-Python, ДРАКОН-Tcl, ДРАКОН-ASM и т.д.



Доклад представлен на Международной научно-технической конференции «Системы и комплексы автоматического управления летательных аппаратов», посвящённой 105-летию со дня рождения академика АН СССР Н.А. Пилюгина. Конференция проводилась 21 мая 2013 в Институте проблем управления РАН.

Текстовая версия доклада (более подробная)
Дополнительная информация о ДРАКОНе
Total votes 20: ↑11 and ↓9+2
Comments18

Глобалы MUMPS: Экстремальное программирование баз данных. Часть 3

Reading time9 min
Views8.1K
Роб Твид (Rob Tweed)
Начало см. часть 1, часть 2.

Вторичные индексы

В реляционных базах данных вторичные индексы задаются как правило при определении таблиц, или после с помощью ALTER TABLE. Если индекс определён, то он автоматически создаётся, а потом поддерживается и пересчитывается базой данных при изменении данных.

В MUMPS индексы обслуживаются явно программистом, например, в функции обновления таблицы.
читать дальше про индексы, триггеры и транзакции
Total votes 17: ↑14 and ↓3+11
Comments46

Глобалы MUMPS: Экстремальное программирование баз данных. Часть 2

Reading time7 min
Views9.1K
Роб Твид (Rob Tweed)
Начало см. часть 1.

Глава 2. SQL/реляционные БД против MUMPS



В этой главе будут изложены основные различия между обычными SQL реляционными базами данных и БД на основе MUMPS.

Прочитайте главу 1, если вам нужно лучше понять что такое глобалы и как делаются манипуляции с ними.
Читать дальше →
Total votes 10: ↑9 and ↓1+8
Comments4

Глобалы MUMPS: Экстремальное программирование баз данных. Часть 1

Reading time12 min
Views23K
Примечание переводчика.

Есть интересная технология в мире БД — MUMPS. Этот язык программирования и доступа к данным известен уже несколько десятилетий, отлажен и является взрослой проверенной технологией.

Приведу аналогию: если SQL можно сравнить с Бейсиком, то MUMPS больше похож на Си — даёт высочайшую производительность, гибкость и универсальность, позволяя создавать наисложнейшие структуры данных.

Перед вами перевод первой части статьи «Extreme Database programming with MUMPS Globals». Если сообществу он покажется интересным, то последует перевод второй части.

Читать дальше →
Total votes 31: ↑30 and ↓1+29
Comments77

Почему я не люблю AJAX-автоподгрузку и предпочитаю ссылки с номерами страниц

Reading time2 min
Views7K
imageЯ не луддит. Я понимаю, что AJAX даёт возможность более быстро просмотреть большее количество контента экономя трафик и время. Но у большинства реализаций автоподгрузки с моей точки зрения есть ряд существенных недостатков.
Узнать
Total votes 123: ↑85 and ↓38+47
Comments87

TODO-списки через Jabber

Reading time1 min
Views879
Когда я делал JoDo.im пришла мысль сделать ботов для ведения своих личных TODO-списков.

Итак, если вы используете IM-клиент с поддержкой Jabber (QIP, Miranda, GTalk, Kopete и т.п.), то вы можете создавать и управлять TODO-списками прямо из окна чата.

Для создания списка нужно добавить себе в контакты любое_имя@bot.jodo.im
Узнать команды бота
Total votes 15: ↑8 and ↓7+1
Comments9

JoDo.im — симбиоз jabber-сервера и системы управления фрилансерами

Reading time5 min
Views1.2K
imageЭтот сервис создавался в первую очередь потому что был нужен мне самому. C 2002 года я занимаюсь веб-разработками с привлечением фрилансеров.

Через какое-то время у меня появились постоянные сотрудники и фрилансеры. Первое время обсуждение проектов и и работа над ними велась голосом, телефоном и емейлом.
Что было дальше
Total votes 11: ↑8 and ↓3+5
Comments16

Дао опозданий

Reading time2 min
Views1.6K
Я много опаздывал. На занятия в школу, институт, работу, поезд (не один раз) и даже самолёт. Я даже гордился этим. Вплоть до создания своей особенной философии: «Лучше поздно, чем никогда», «приходят с запасом закомплексованные ботаны, трусы или те, кто не умеет рассчитывать время».

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

Только для убеждённых опаздунов! Те кто всегда вовремя — это не для вас!

Только для убеждённых опоздунов
Total votes 42: ↑14 and ↓28-14
Comments12

Переход с HDD на SSD: Расчёт времени увеличения автономной работы ненового ноутбука

Reading time1 min
Views35K
У меня есть старая таблетка HP TC4400 и меня заинтересовало какой выигрыш во времени автономной работы можно получить при переходе с HDD на SSD.

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

Мы выигрываем минуты или часы?
Total votes 44: ↑29 and ↓15+14
Comments31

PocketBook 903 Pro (экран 9.7 дюймов) — чтение PDF, DJVU и личные впечаления

Reading time5 min
Views17K
По жизни у меня есть необходимость читать научные PDF и DJVU. Естественно, на маленьком экране делать это очень неудобно, а лишний раз расходовать бумагу (то бишь лес) мне не позволяет совесть, да и носить распечатки неудобно.

ТЯЖЁЛЫЕ СКАНЫ И ФОТОГРАФИИ РЕАЛЬНЫХ ТЕКСТОВ С ЭКРАНА, ЧТОБЫ БЫЛО ЯСНО ЧЕГО ОЖИДАТЬ ОТ ДЕВАЙСА
Total votes 43: ↑36 and ↓7+29
Comments93

Information

Rating
46-th
Location
Москва, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity