Citus — это расширение для PostgreSQL, которое обеспечивает масштабируемость PostgreSQL за счет прозрачного распределения и/или репликации таблиц на одном или нескольких узлах PostgreSQL. Citus можно использовать как на облачной платформе Azure, так и на собственных серверах, поскольку расширение базы данных Citus имеет полностью открытый исходный код.
Пользователь
Сделай то, сделай это, сделай сам
Доброго времени суток Дамы и Господа! Многим приходилось сталкиваться с необходимостью анализа большого количества данных при помощи Python по запросам начальства или коллег. Однотипные запросы поступают с определенной периодичностью, и не составляет труда подставить новые данные в свой код и провести анализ. Но иногда из-за определенной нагрузки не всегда хочется заниматься таким анализом. Намного проще сделать скрипт с графическим интерфейсом, чтобы сам заказчик для анализа данных мог нажать пару кнопок и получить желаемый результат. Тем более, можно изначально вложить в интерфейс столько «хотелок» заказчика для анализа, сколько будет душе угодно.
Создание сеток шестиугольников
Сетки из шестиугольников (гексагональные сетки) используются в некоторых играх, но они не так просты и распространены, как сетки прямоугольников. Я коллекционирую ресурсы о сетках шестиугольников уже почти 20 лет, и написал это руководство по самым элегантным подходам, реализуемым в простейшем коде. В статье часто используются руководства Чарльза Фу (Charles Fu) и Кларка Вербрюгге (Clark Verbrugge). Я опишу различные способы создания сеток шестиугольников, их взаимосвязь, а также самые общие алгоритмы. Многие части этой статьи интерактивны: выбор типа сетки изменяет соответствующие схемы, код и тексты. (Прим. пер.: это относится только к оригиналу, советую его изучить. В переводе вся информация оригинала сохранена, но без интерактивности.).
Практическое руководство по разработке бэкенд-сервиса на Python
TL;DR: Вот репка на GitHub с приложением, а кто любит (настоящие) лонгриды — прошу под кат.
UI-компоненты на пиксельных шейдерах: пишем ваш первый шейдер
В декабре на нашей конференции HolyJS он выступил с докладом о том, как использование GLSL может улучшить работу с UI-компонентами по сравнению с «обычным джаваскриптом». А теперь для Хабра мы подготовили текстовую версию этого доклада — добро пожаловать под кат! Заодно прикладываем видеозапись выступления:
Лекции Технополиса. Проектирование высоконагруженных систем (осень 2017)
Мы начинаем публиковать курсы лекций Технополиса — образовательного проекта команды Одноклассников в Санкт-Петербургском Политехническом университете Петра Великого. Создание высоконагруженных приложений — это не только проектирование и написание кода, но и огромное количество других аспектов на всём протяжении жизненного цикла продукта. Мы пройдём по всему процессу создания и использования высоконагруженной системы. Особое внимание будет уделено особенностям эксплуатации, сетям, балансировке нагрузки, иерархии памяти, повседневным инструментам. Также поговорим о мониторинге, аудите и многом другом. Лекции курса читает команда экспертов под руководством ведущего разработчика в Одноклассниках Вадима Цесько.
Список лекций:
- Введение (Вадим Цесько incubos)
- Типовые архитектуры (Александр Христофоров)
- Эксплуатация (Илья Щаников)
- Сетевой стек (Дмитрий Самсонов dmitrysamsonov)
- Балансировка (Андрей Домась)
- Процессоры и память (Алексей Горбов)
- Хранилища данных (Сергей Егоричев)
- JVM (Андрей Паньгин apangin)
- Мониторинг (Сергей Шарапов Sharapoff)
- Облака (Леонид Талалаев)
Миллион одновременных соединений на Node.js
TL;DR:
- Node.js v0.8 позволяет обрабатывать 1 млн одновременных HTTP Comet соединений на Intel Core i7 Quad/16 Gb RAM практически без дополнительных настроек.
- На 1 соединение тратится чуть больше 10 Kb памяти (4.1 Kb Javascript Heap + 2.2 Kb Node.js Native + 3.8 Kb Kernel)..
- V8 Garbage Collector не рассчитан на управление > ~500Mb памяти. При превышении нужно переходить на альтернативный режим сборки мусора, иначе «отзывчивость» сервера сильно уменьшается.
- Подобный опыт можно (и нужно!) без особых затрат повторить самому (см. под катом).
Оптическое распознавание символов на микроконтроллере
На сегодняшний день оптическое распознавание символов является частью решения таких прикладных задач, как распознавание и оцифровка текстов, распознавание документов, распознавание автомобильных номеров, определение номеров банковских карточек, чтение показаний счетчиков учета, определения номеров домов для создания карт (Google Street View) и т.д.
Распознавание символа означает анализ его изображения с целью получения некоторого набора признаков для сравнения их с признаками класса [ 1 ]. Выбор такого набора и способы его определения отличают разные методы распознавания, но для большинства из них необходима одномоментная информация обо всех пикселях изображения.
Последнее обстоятельство и достаточно большой объем вычислений делают невозможным использования маломощных вычислительных устройств (микроконтроллеров) для оптического распознавания символов. «Да и зачем?» — воскликнет информированный читатель, «мощности вычислительных устройств постоянно растут, а их цена падает!»[2, 3]. Допустим, что ответ будет такой: просто интересно, возможно ли упростить метод распознавания до такой степени, чтобы можно было бы использовать микроконтроллер?
Nginx + Lua, гибкая балансировка нагрузки с сохранением сессии
При балансировке нагрузки важный вопрос — сохранение сессии клиента. Особенно, если за балансировщиком стоит какой-то интерактивный backend. И тем более, если захотелось сделать A/B тестирование и гибко регулировать порции клиентов к различному содержанию. "Nginx plus" предлагает такие возможности, но что делать, если хочется дёшево и быстро?
На помощь приходит возможность расширить функционал Nginx с помощью Lua.
Анализ исходного кода Duke Nukem 3D: Часть 1
Уйдя с работы в Amazon, я провёл много времени за чтением отличного исходного кода.
Разобравшись с невероятно замечательным кодом idSoftware, я принялся за одну из лучших игр всех времён: Duke Nukem 3D и за её движок под названием "Build".
Это оказался трудный опыт: сам движок имеет большую важность и высоко ценится за свою скорость, стабильность и потребление памяти, но мой энтузиазм столкнулся с исходным кодом, противоречивым в отношении упорядоченности, соблюдения рекомендаций и комментариев/документации. Читая код, я многое узнал о унаследованном коде и о том, что позволяет программному обеспечению жить долго.
Как обычно, я переработал свои заметки в статью. Надеюсь, она вдохновит вас на чтение исходного кода и совершенствование своих навыков.
Let's Encrypt и nginx: настройка в Debian и Ubuntu
Если вдруг вся эта история прошла мимо вас, Let's Encrypt — центр сертификации от некоммерческой организации ISRG, существующий при поддержке EFF и многих компаний, взявшей на себя миссию дать людям бесплатные SSL/TLS сертификаты для сайтов и серверов. Сертификаты от Let's Encrypt уже используются на более чем 10 миллионах доменов.
Кроме очевидной бесплатности у сертификатов от Let's Encrypt есть особое, отсутствующее у любых других коммерческих сертификационных центров, достоинство: если вы однажды получили сертификат от Let's Encrypt, то, при прочих равных, это навсегда. Не нужно раз в год-два вручную обновлять сертификаты. Не нужно вообще вспоминать что сертификаты где-то есть. Получил, настроил и забыл!
Внимательный читатель сразу захочет возразить: как же так, ведь известно что сертификаты выдаются со сроком действия в три месяца? Всё дело в автоматическом обновлении сертификатов, которое возможно при полном отсутствии действий со стороны человека.
Организации автоматического обновления сертификатов в статье уделено пристальное внимание, с тем чтобы вы могли в полной мере оценить это принципиальное преимущество Let's Encrypt.
Жонглируем версиями PHP в системе
Проблема “ хочу новую версию %software% на моем стареньк… стабильном Debian/CentOS…” так же стара, как *nix-мир. Способов добиться желаемого хватает. Есть масса решений как притащить в систему несколько версий одного и того же софта. Но дальше хочется не просто иметь ещё одну версию, но и управлять тем, какая из версий доступна в системе по умолчанию, для конкретных приложений или пользователей.
Что делать, если хочется сменить системную версию PHP на одну из кастомных сборок? Давайте отталкиваться от того, что у вас на сервере уже установлено несколько версий PHP и вы хотите, чтобы в консоли команда php была конкретной версии, отличающаяся от той, что шла с системой. В этой статье я расскажу, как правильно это настроить, чтобы не было проблем с будущими пакетными обновлениями.
Краткое введение в тензоры
Сейчас я попытаюсь дать совсем простое введение в тензоры. Я не претендую на математическую строгость, поэтому некоторые термины могут употребляться не совсем корректно.
Магия тензорной алгебры: Часть 1 — что такое тензор и для чего он нужен?
Содержание
- Что такое тензор и для чего он нужен?
- Векторные и тензорные операции. Ранги тензоров
- Криволинейные координаты
- Динамика точки в тензорном изложении
- Действия над тензорами и некоторые другие теоретические вопросы
- Кинематика свободного твердого тела. Природа угловой скорости
- Конечный поворот твердого тела. Свойства тензора поворота и способ его вычисления
- О свертках тензора Леви-Чивиты
- Вывод тензора угловой скорости через параметры конечного поворота. Применяем голову и Maxima
- Получаем вектор угловой скорости. Работаем над недочетами
- Ускорение точки тела при свободном движении. Угловое ускорение твердого тела
- Параметры Родрига-Гамильтона в кинематике твердого тела
- СКА Maxima в задачах преобразования тензорных выражений. Угловые скорость и ускорения в параметрах Родрига-Гамильтона
- Нестандартное введение в динамику твердого тела
- Движение несвободного твердого тела
- Свойства тензора инерции твердого тела
- Зарисовка о гайке Джанибекова
- Математическое моделирование эффекта Джанибекова
Введение
Это было очень давно, когда я учился классе в десятом. Среди довольно скудного в научном плане фонда районной библиотеки мне попалась книга — Угаров В. А. «Специальная теория относительности». Эта тема интересовала меня в то время, но информации школьных учебников и справочников было явно недостаточно.
Однако, книгу эту я читать не смог, по той причине, что большинство уравнений представлялись там в виде тензорных соотношений. Позже, в университете, программа подготовки по моей специальности не предусматривала изучение тензорного исчисления, хотя малопонятный термин «тензор» всплывал довольно часто в некоторых специальных курсах. Например, было жутко непонятно, почему матрица, содержащая моменты инерции твердого тела гордо именуется тензором инерции.
Лекции Технопарка. 3 семестр. Проектирование высоконагруженных систем
И снова в эфире наша постоянная рубрика «Лекции Технопарка». На этот раз предлагаем вам ознакомиться с материалами курса «Проектирование высоконагруженных систем». Цель курса — получение студентами навыков проектирования высокоэффективных программных систем.
Создание 3D сканера из вебкамеры, лазера, и еще кучки радиодеталей
Ремонт БП FSP Epsilon 1010, принцип работы APFC
Сразу скажу, статья рассчитана на простого пользователя ПК, хотя можно было и углубиться в академические подробности.
Несмотря на то, что схемы не мои, я даю описание исключительно «от себя», которое не претендует не единственно правильное, а имеет целью объяснить «на пальцах» работу столь необходимого устройства, как БП компьютера.
Необходимость вникнуть в работу APFC у меня появилась в 2005 году, когда я имел проблему с произвольной перезагрузкой компьютера. Комп я купил на «мыльной» фирмочке не вникая особо в тонкости. В сервисе не помогли: на фирме работает, а у меня перезагружается. Я понял, что пришла очередь напрячься самому… Оказалось проблема в домашней сети, которая вечером просаживалась скачками до 160В! Начал искать схему, увеличивать ёмкость входных конденсаторов, слегка попустило, но проблему не решило. В процессе поиска информации увидел в прайсах непонятные буквы APFC и PPFC в названиях блоков. Позже выяснил, что у меня оказался PPFC и я решил купить себе блок с APFC, потом взял ещё и бесперебойник. Начались другие проблемы — выбивает бесперебойник при включении системника и пропадании сети, в сервисе разводят руками. Сдал его обратно, купил в 3 раза мощнее, работает по сей день без проблем.
Поделюсь с вами своим опытом и надеюсь, вам будет интересно узнать немного больше про компонент системника — БП, которому несправедливо отводят чуть ли не последнюю роль в работе компьютера.
Блоки питания FSP Epsilon 1010 представляют собой качественные и надёжные устройства, но учитывая проблемы наших сетей и другие случайности, они иногда тоже выходят из строя. Выкидывать такой блок жалко, а ремонт может приблизиться к стоимости нового. Но бывают и мелочи, устранив которые, можно вернуть его к жизни.
GRUB всемогущий, или Делаем загрузочную флешку
А между тем абсолютное большинство выложенных в интернете дисков (особенно USB) как раз и используют isolinux и grub, что мешает их просто объединять? да ничего!
Я постараюсь с примерами рассказать, как сделать загрузочную, установочную и просто Live флешку, причем все в одном без заточенных под конкретный дистрибутив утилит. И иметь возможность, при необходимости, легко добавить на флешку еще что-то, без очередного ее переформатирования.
(С) Картинка оттуда
Autoruns уходит в offline и наносит удар по вирусам
8 Июня вышла новая версия профессионального менеджера автозагрузки — Autoruns. Красивый номер 10 принёс долгожданную возможность настраивать не только работающую систему, но и редактировать автозагрузку выключенного Windows. Наконец-то можно загрузиться с LiveCD или подцепить диск к другому компьютеру и выкинуть вирусы из автозагрузки.
Давайте посмотрим как оно работает на практике…
Программа Calibre. Управление библиотекой и универсальный конвертер электронных книг
Предисловие
Так как являюсь большим поклонником чтения, то в какой момент взор мой упал на электронные книги. Преимущества были для меня налицо. Особенно с частыми командировками. Вес, размер, удобство, ну и цена электронных версий книг (предпочитаю честную покупку текстов). Попользовавшись несколькими экземплярами остановился на Sony PRS-505. Сначала смутил формат lrf, но выход был быстро найден — онлайн-конвертеры fb2 в lrf. Онлайн — потому что являюсь пользователем Linux и дома и на работе, плюс дома для игр использую WinXP. В общем полный разброд. Но когда начал искать книги на английском, то наткнулся на кучу других форматов от pdf до epub и еще более экзотические варианты. Плюс книг на компах стало много и разбираться в них стало трудновато (я не единственный пользователь еКниги в семье). В общем назрела необходимость в каком то управлении этим хаосом и удобным конвертированием форматов, плюс нативная поддержка Linux. В одном из комментов на Хабре увидел упоминание про Calibre. Скачал, поставил — понравилось. Теперь пользуюсь полностью ей. Поэтому хотелось бы сделать краткий обзор данной программы.
Информация
- В рейтинге
- Не участвует
- Откуда
- Самара, Самарская обл., Россия
- Дата рождения
- Зарегистрирован
- Активность