Рубрика «open source» - 19

Как работают объектные хранилища: OpenStack Swift - 1

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

Раз меньше времени работе, то больше — знаниям. Меня зовут Рома, и я работаю в объектном хранилище — самой высоконагруженной услуге Selectel. Здесь мы непрерывно трудимся над улучшением и развитием архитектуры, удовлетворяя спрос на пропускную способность, функциональность и надежность.

В первой части я поделился сложностями, которые возникают при попытке построить распределенное и отказоустойчивое хранилище для объектов. Та система, которую мы позволили себе нафантазировать, очень похожа на OpenStack Swift. С него начиналась история нашего продукта, так что мы можем не только разобрать принцип его работы «на пальцах», но и погрузиться в скрытые особенности OpenSource, которые проявляются лишь в больших масштабах.
Читать полностью »

GSM NetMonitor для гика и преподавателя - 1


В статье я рассмотрю, как недорого в лабораторных условиях собрать и на практике использовать GSM NetMonitor на основе открытого программного продукта Osmocom, более известного в IT-среде по проекту OpenBTS, позволяющему создавать персональные базовые станции. Так, входящая в его состав программа OsmocomBB помогает узнать большое количество различных технических характеристик, задействованных в стеке GSM-протоколов для удовлетворения личного исследовательского интереса. В образовательной среде она поможет понять и на практике изучить работу рассматриваемых телекоммуникационных сетей, на которых в той или иной степени базируются определённые 3G, 4G и 5G-решения. Чтобы минимизировать заимствования из схожих публикаций, материал носит практический характер (за редким исключением). Дополнительно я раскрою явным образом недокументированную, но полезную возможность рассматриваемого программного обеспечения по одновременному NetMonitor сигналов от различных операторов.
Читать полностью »

Новое, старое, обновленное: что «выросло» в ядре Linux 6.2. Подробности релиза - 1

Вчера появилась новость о выходе стабильного релиза ядра Linux 6.2. Изменений и дополнений действительно много, в этот раз принято почти 17 тыс. исправлений от 2178 разработчиков. Изменения при этом внесены в 14108 файлов, с добавлением 730195 строк кода. Большая часть изменений, почти 50%, связана с драйверами устройств, еще примерно 16% — с аппаратными архитектурами, 12% — сетевые технологии, 4% — файловые системы и еще 3% — подсистемы ядра. Под катом — подробности о том, что представляет собой ядро 6.2.

Наиболее актуальные изменения, которые добавлены в ядро, касаются продолжения работы над интеграцией языка Rust, о чем Торвальдс говорил уже давно. Кроме того, разрешен прием кода кода под лицензией Copyleft-Next. А еще — добавлена возможность регулирования потребления памяти при отложенной записи, появился гибридный механизм защиты потока выполнения команд, плюс появилась утилита rv (Runtime Verification). Ну а теперь, собственно, подробности.
Читать полностью »

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

LLVM

Читать полностью »

В статье я расскажу, как можно (при необходимости) быстро и дешево собрать кластер Beowulf на основе домашних компьютеров. Выполню я это с помощью компьютеров находящихся в аудитории университета, используя существующую локальную сеть. Используемые программные инструменты: средства численного моделирования механики сплошных сред OpenFOAM, сетевого протокола прикладного уровня SSH и распределенного протокола файловой системы NFS. Все выполнялось под управлением операционной системы ubuntu 20.04.

Предисловие

Читать полностью »

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

А вы давно заглядывали внутрь ваших зависимостей? - 1

Читать полностью »

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

Семантический анализ

Основная задача семантического анализа заключается в проверки того, что программа корректна с точки зрения языка, например:

  1. Все переменные в программе объявлены;

  2. Все выражения совершаются над корректными типами;

  3. Читать полностью »

У нас не подгорит!

Жарим TOAST в PostgreSQL - 1

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

1. Что такое TOAST и зачем он нужен?

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js