Как стать автором
Обновить
20
0
Кирилл Вечера @cvss

Системный программист

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

Имена или семантика классов в программировании

Время на прочтение2 мин
Количество просмотров13K
1. При программировании на придумывание имен может уходить ощутимо много времени. Казалось бы, такая маловажная вещь, как имя. И вот только сегодня я осознал, почему я трачу на это время, и почему, в итоге, это не напрасная трата времени.

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

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

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

Как вы яхту назовете, так она и поплывет.
Читать дальше →
Всего голосов 25: ↑14 и ↓11+3
Комментарии41

Redmine на MySQL с RocksDB быстрее, чем с InnoDB, от 20% до 3 раз

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

Мы собрали форк MySQL от Facebook с движком RocksDB вместо InnoDB и потестировали его с реальными приложениями: Drupal, Wordpress, Redmine.


Это офигенная штука. При низкой нагрузке выигрыш маленький, десятки процентов. Зато при высокой нагрузке выигрыш в разы. Когда RocksDB добавят в стабильный релиз в MariaDB, я уверен, что в течение полугода половина народа перейдет с InnoDB на RocksDB. Особенно, небольшие сайты на cloud/VPS и выделенных серверах.


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


Я собрал в статью результаты тестирования реальных сценариев Redmine, добавил анализ результатов и выводы. Redmine на MySQL с RocksDB оказался быстрее, чем с InnoDB — от 20% при минимальной нагрузке до 3 раз при максимальной. Позже подготовлю материалы по Drupal и другим PHP-приложениям.


Вы сможете проверить работу MyRocks и самостоятельно — в конце статьи есть ссылки на инсталляторы и виртуальные машины с LAMP/LEMP/Ruby стеками, собранные с MyRocks вместо MySQL.



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

Что нового в Ruby 2.3

Время на прочтение4 мин
Количество просмотров15K
На прошой неделе вышел превью Ruby 2.3.0. Что есть интересного из изменений:

  • оператор безопасной навигации вглубь объектов (safe navigation operator), #11537
  • в Hash и Array добавлен метод dig для доступа вглубь вложенных хэшей или массивов #11688
  • движение в сторону неизменяемых (frozen) по умолчанию строковых литералов (обоснование, обсуждение #11473
Читать дальше →
Всего голосов 10: ↑9 и ↓1+8
Комментарии40

Параллельное выполнение зависимых задач и синхронизация с условными переменными в shell

Время на прочтение20 мин
Количество просмотров13K
Как синхронизировать параллельные шелл-процессы, используя named pipes (FIFO-файлы) в качестве условных переменных. Как выполнить параллельно зависимые задач в топологическом порядке с минимумом средств: POSIX shell, mkfifo, POSIX kernel. Как параллельный запуск ускоряет загрузку встраиваемых систем и *BSD (rc-этап FreeBSD с 27 до 7 секунд) или старт приложений в пользовательских контейнерах Docker, LXC и jail. Как это повышает аптайм в отказоустойчивых кластерах Jet9.
Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии10

Тестируем Jet9 — отказоустойчивый хостинг сайтов с географической оптимизацией

Время на прочтение7 мин
Количество просмотров8.6K
Мы создали платформу для выполнения веб-приложений Jet9 и сейчас проводим публичное бета-тестирование веб-хостинга, построенного на этой платформе. Здесь мы расскажем о том, что это такое, какие задачи решает, и как все организовано.

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

Цель этих публикаций — привлечь к тестированию специалистов и получить багрепорты, информировать о проекте потенциальных клиентов и поделиться опытом с коллегами. По мере появления материалов здесь, будем добавлять материалы на нашем сайте.
Читать дальше →
Всего голосов 7: ↑7 и ↓0+7
Комментарии20

Резервное копирование — виртуальные клоны против неконсистентных кентавров

Время на прочтение9 мин
Количество просмотров30K
Клоны Геракла и кентавр Нессоили простой способ создания консистентныx резервныx копий без остановки сервера с помощью клонирования виртуальных машин

Идеальный бэкап в вакууме


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

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

Почему возникают неконсистентные копии, что в них плохого и как виртуализация решает проблему
Всего голосов 29: ↑28 и ↓1+27
Комментарии28

Итоги ноябьского конкурса грантов

Время на прочтение3 мин
Количество просмотров2.1K
Хоровод!Недавно на Хабре посетовали, что гранты получают только проекты IT-направленности. И тут же ноябрь ответил на это — первое место получил проект Родительский мост — благотворительный фонд, помогающий сиротам обрести семью. Вторым получателем гранта стал проект 3D Find.ru — база и система поиска 3D-моделей. Победители получили два бесплатных сервера True30: 1280 MHz CPU, 1024 Mb RAM, 32 Gb HDD, 1 год. Все результаты конкурса представлены на странице итогов.

На декабрьский конкурс грантов представлены 2 сервера True22: 960 MHz CPU, 512 Mb RAM, 16 Gb HDD, сроком на 1 год. Заявки принимаются через форму до полуночи 19 декабря (осталась 1 неделя), голосование будет проводиться с 20 по 30 декабря.

Победители ноябрьского конкурса


А теперь, победители конкурса расскажут о своих проектах:
Читать дальше →
Всего голосов 24: ↑12 и ↓120
Комментарии1

Октябрьский конкурс грантов, итоги

Время на прочтение5 мин
Количество просмотров3.5K
Фейерверк!Октябрьский конкурс грантов завершен и трое участников, набравших наибольшие баллы, уже получили три бесплатных сервера True22: 960 MHz CPU, 512 Mb RAM, 16 Gb HDD, сроком на 1 год. Полные результаты голосования можно увидеть на странице итогов, а здесь я представляю победителей:
  1. Мир Фотошопа
  2. Новоуральское интернет-сообщество
  3. VOMP

Ноябрьский конкурс

Сейчас идет прием заявок на ноябрьский конкурс, на который представлены 2 гранта — серверы True30: 1280 MHz CPU, 1024 Mb RAM, 32 Gb HDD, 1 год. Заявки принимаются через форму до полуночи 19 ноября. Голосование начнется в полдень 20 ноября и продлится до 30 ноября.

Победители октябрьского конкурса


Мы попросили победителей конкурса рассказать о своих проектах.
Читать дальше →
Всего голосов 22: ↑18 и ↓4+14
Комментарии12

Итоги сентябрьского конкурса грантов

Время на прочтение2 мин
Количество просмотров3.6K
Вино!Завершилось голосование по сентябрьскому конкурсу грантов. Я рад объявить победителей, финишировавших с заметным отрывом:

Миелофон
mielophone.com
Необычный плеер для прослушивания музыки из Интернет

BitByBit.ru
bitbybit.ru
Многофункциональный портал для программистов

Nesami.org.ua
nesami.org.ua
Центр коммуникации Херсонской областной организации Украинского общества слепых

Победители получают серверы True30 1.2 GHz CPU, 1 Gb RAM, 32 Gb HDD, сроком на 1 год. Мы выслали авторам заявок официальные сообщения о победе их проектов и информацию о процедуре получения серверов. Один из серверов уже подключен, два других сервера все еще ожидают своих владельцев. Поздравляю победителей еще раз!
Читать дальше →
Всего голосов 38: ↑29 и ↓9+20
Комментарии19

Сентябрьский конкурс грантов на бесплатные серверы

Время на прочтение1 мин
Количество просмотров5.6K
VendemmiaКак было объявлено ранее, мы переводим конкурс грантов ежемесячный формат, и сейчас начинаем прием заявок на сентябрьский конкурс.

В этом месяце требования к участникам облегчены — к участию принимаются любые проекты, включая коммерческие и ранние стартапы. На конкурс предоставлены три сервера: True30 1.2 GHz CPU, 1 Gb RAM, 32 Gb HDD, сроком на 1 год. Для того, чтобы отобрать самых лучших, приглашается Хабра-сообщество.

План действий такой:
Читать дальше →
Всего голосов 42: ↑32 и ↓10+22
Комментарии72

Итоги конкурса грантов

Время на прочтение3 мин
Количество просмотров5.3K
Шампанское!Голосование на конкурсе грантов завершено и теперь можно поздравлять победителей. Мы отправили приветственные письма с инструкциями по получению сервера.

Сочувствую тем, кто не вошел в их число. Лично меня огорчило то, что грант не получил проект SAMS (SQUID Account Management System), хотя это исправимо, о чем написано ниже. Еще больше огорчился наш бухгалтер, узнав, что двое из числа победителей являются нашими старыми клиентами. Но пусть бухгалтер горюет в одиночестве, а мы займемся приятным. Я с удовольствием перечисляю победителей и серверы, которые они получают:
Читать дальше →
Всего голосов 44: ↑28 и ↓16+12
Комментарии15

Гранты на бесплатные серверы, первые заявки

Время на прочтение3 мин
Количество просмотров2K
Мы публикуем список первых заявок, принятых к участию в конкурсе на гранты. Очень интересные и очень разные проекты, можно знакомиться с ними и составлять свое мнение.

Желаю им удачи и напоминаю, что прием заявок продолжается до 31 июля. Условия получения грантов: www.truevds.ru/grants
Читать дальше →
Всего голосов 13: ↑8 и ↓5+3
Комментарии5

Гранты на серверы

Время на прочтение3 мин
Количество просмотров5.9K
imageМы помогаем развиваться интересным и нужным интернет-проектам — проектам свободного программного обеспечения, образовательным проектам, культурным, коммуникационным и всем другим, которые делают мир лучше. Сейчас мы запустили программу грантов и бесплатно предоставляем таким проектам серверы различной мощности — от 960 MHz CPU / 512 Mb RAM / 16 Gb HDD до 2x2560 MHz CPU / 4096 Mb RAM / 128 Gb HDD. Гранты распределяются по результатам голосования на открытом конкурсе.

Гранты


Гранты предоставляются в виде серверов, аренда которых оплачена на 1 год. Гранты разделены на несколько категорий по мощности серверов.

Состав гранта Количество грантов
Сервер True40: 2x2560 MHz CPU, 4096 Mb RAM, 128 Gb HDD 1
Сервер True32: 2560 MHz CPU, 2048 Mb RAM, 64 Gb HDD 2
Сервер True30: 1280 MHz CPU, 1024 Mb RAM, 32 Gb HDD 4
Сервер True22: 960 MHz CPU, 512 Mb RAM, 16 Gb HDD 8

Всего грантов: 15
Читать дальше →
Всего голосов 67: ↑54 и ↓13+41
Комментарии20

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург и область, Россия
Зарегистрирован
Активность