Pull to refresh
20
0
Send message

Файловая система Linux полностью на tmpfs — скорость без компромиссов

Reading time4 min
Views122K

Предыстория


Так сложилось, что уже пять лет мой раздел ntfs с операционной системой Windows располагается на рамдиске. Решено это не аппаратным, а чисто программным способом, доступным на любом ПК с достаточным количеством оперативной памяти: рамдиск создается средствами загрузчика grub4dos, а Windows распознаёт его при помощи драйвера firadisk.

Однако до недавнего времени мне не был известен способ, как реализовать подобное для Linux. Нет, безусловно, существует огромное количество линуксовых LiveCD, загружающихся в память при помощи опций ядра toram, copy2ram и т. д., однако это не совсем то. Во-первых, это сжатые файловые системы, обычно squashfs, поэтому любое чтение с них сопровождается накладными расходами на распаковку, что вредит производительности. Во-вторых, это достаточно сложная каскадная система монтирования (так как squashfs — рид-онли система, а для функционирования ОС нужна запись), а мне хотелось по возможности простого способа, которым можно «вот так взять и превратить» любой установленный на жесткий диск Linux в загружаемый целиком в RAM.

Ниже я опишу такой способ, который был с успехом опробован. Для опытов был взят самый заслуженный дистрибутив Linux — Debian.
Читать дальше →
Total votes 83: ↑74 and ↓9+65
Comments167

«ZeroMQ».Глава 1: Приступая к работе

Reading time10 min
Views83K
Всем привет!
Хочу начать вольный перевод книги «ZeroMQ.Use ZeroMQ and learn how to apply different message patterns». Уверен, что многие захотят разобраться с этой интересной библиотекой.

Содержание


Добро пожаловать в ZeroMQ! Эта глава представляет собой введение в ZeroMQ и дает читателю общее представление о том, что такое система очередей сообщений и, самое главное, что такое ZeroMQ. В этой главе мы поговорим о следующих темах:
  • Обзор того, что представляет собой очередь сообщений
  • Зачем использовать ZeroMQ и что отличает ее от других технологий работы с очередями сообщений
  • Основы клиент/серверной архитектуры
  • Рассмотрим первый паттерн: запрос-ответ
  • Как мы можем обрабатывать строки в C
  • Проверка установленных версий ZeroMQ


Читать дальше →
Total votes 46: ↑42 and ↓4+38
Comments9

«ZeroMQ».Глава 2: Знакомство с сокетами

Reading time17 min
Views30K
Всем привет!
Продолжаю вольный перевод книги «ZeroMQ.Use ZeroMQ and learn how to apply different message patterns». Заранее прошу прощения, что так долго не публиковал продолжение, но как говорится: «Лень вперед нас родилась...». Ну что же, лирику в сторону, продолжим.

Содержание


После того, как мы рассмотрели основные структуры ZeroMQ в предыдущей главе, в этой мы рассмотрим сокеты, а именно:
  • паттерн клиент-сервер(publish-subscribe)
  • паттерн pipeline

Читать дальше →
Total votes 19: ↑19 and ↓0+19
Comments4

Построение диаграмм и графов в Doxygen

Reading time9 min
Views62K


Данная статья входит в получившийся цикл статей о системе документирования Doxygen:

  1. Документируем код эффективно при помощи Doxygen
  2. Оформление документации в Doxygen
  3. Построение диаграмм и графов в Doxygen

Она завершает цикл статей о системе документации Doxygen. На этот раз статья посвящена построению различных диаграмм и графов в Doxygen. В ней мы рассмотрим основные их виды, различные способы их настройки и оформления, а также приведём ряд примеров и советов по их использованию.
Читать дальше →
Total votes 23: ↑23 and ↓0+23
Comments2

Лекции Технопарка. 1 семестр. С/С++

Reading time6 min
Views110K
Мы продолжаем наши еженедельные публикации учебных материалов Технопарка. Предыдущие лекции были посвящены web-технологиям в целом, а также алгоритмам и структурам данных. В третьем блоке лекций рассказывается о языках С и С++.

Лекция 1. Язык С. Основы организации и использования оперативной и сверхоперативной памяти


Лекция начинается с введения в язык С: рассказывается об истории его появления, особенностях, преимуществах и недостатках, о сферах применения. Описываются основы препроцессорной обработки, рассматриваются вопросы управления памятью (модели управления памятью, области видимости объектов хранения) и производительность программ на языке С. Обсуждается связывание объектов хранения и их инициализация. Затем рассказывается о классах памяти в языке С. Следующая часть лекции посвящена проблематике указателей, а также работе с одномерными массивами. В заключение рассматривается стандарт POSIX и вопросы переносимости.


Читать дальше →
Total votes 72: ↑70 and ↓2+68
Comments83

Обновление древовидной модели в Qt

Reading time4 min
Views16K
Всем доброго времени суток! В этой статье я хочу рассказать про трудности, с которыми столкнулся при отображении и обновлении древовидной структуры с помощью QTreeView и QAbstractItemModel. Так же предложу велосипед, который я создал, чтобы обойти эти трудности.
Читать дальше →
Total votes 21: ↑21 and ↓0+21
Comments13

Документируем код эффективно при помощи Doxygen

Reading time18 min
Views361K


Данная статья входит в получившийся цикл статей о системе документирования Doxygen:

  1. Документируем код эффективно при помощи Doxygen
  2. Оформление документации в Doxygen
  3. Построение диаграмм и графов в Doxygen

Это первая и основная статья из упомянутого цикла и она представляет собой введение в систему документирования исходных текстов Doxygen, которая на сегодняшний день, по имеющему основания заявлению разработчиков, стала фактически стандартом для документирования программного обеспечения, написанного на языке C++, а также получила пусть и менее широкое распространение и среди ряда других языков.

В этой статье мы сначала познакомимся с самой системой и её возможностями, затем разберёмся с её установкой и базовыми принципами работы, и, наконец, завершим знакомство рассмотрением различных примеров документации, примеров того, как следует документировать те или иные части кода. Словом, познакомимся со всем тем, что позволит вам освоиться и начать работать с этой замечательной системой.
Читать дальше →
Total votes 52: ↑52 and ↓0+52
Comments39

Опыт создания домашнего Wi-Fi маршрутизатора. Часть 2. Установка и настройка ПО

Reading time12 min
Views64K


И снова здравствуйте!

В первой части статьи я рассказывал о «железной» составляющей будущего роутера. Поскольку без софта даже самое расчудесное железо, естественно, работать не будет, следовательно требовалось снабдить аппарат соответствующей программной «начинкой».

Когда я затевал всё это движение, я предполагал, что будет непросто. Но не предполагал, что настолько. В одном из комментариев к предыдущей части статьи я клятвенно пообещал рассказать о нижеследующем «к выходным». Благоразумно умолчал к каким именно. :-) Тут ещё умудрился прихворнуть не вовремя, но всё-таки сдерживаю своё обещание.

Итак…
Поехали!
Total votes 20: ↑17 and ↓3+14
Comments37

Объединение узлов Proxmox в кластер при помощи OpenVPN

Reading time5 min
Views34K
Использование среды виртуализации Proxmox, а именно контейнеров OpenVZ, для создания виртуального хостинга ни для кого не станет новостью. Сервер, арендованный на площадке Hetzner, достаточно долго успешно справлялся со своими обязанностями.

Но время шло, количество данных увеличивалось, клиенты множились, рос LA… Арендован новый сервер, установлен и настроен Proxmox, администратор рвется в бой настроить кластер, чтобы мигрировать нагруженные контейнеры на новый сервер. В google найдены залежи инструкций, да и на wiki самого проекта Proxmox есть необходимая информация.
Казалось бы, что может пойти не так?
Total votes 12: ↑12 and ↓0+12
Comments29

Загрузочный сервер — как загрузочная флешка, только сервер и по сети

Reading time12 min
Views453K
Загрузочная флешка с набором нужного софта — замечательный инструмент системного администратора. Казалось бы, что может быть лучше? А лучше может быть загрузочный сервер!

Представьте, вы выбрали в BIOS загрузку по сети и можете установить ОС/вылечить компьютер от вирусов/реанимировать диски/протестировать ОЗУ/etc с PXE Boot сервера, ведь это куда удобнее, нежели бегать с флешкой от машины к машине.
А в случае большого компьютерного парка, такой инструмент и вовсе незаменим.

Вот такое меню встречает нашу команду инженеров при загрузке с PXE



Под катом вас ждет описание всех настроек, а так же небольшой сюрприз.
Поехали!
Total votes 141: ↑138 and ↓3+135
Comments82

Asterisk + FreeSwitch + Skype. Подробное руководство

Reading time14 min
Views51K


Доброго времени суток, жителям Хабра!

Имея опыт в области установки voip-серверов на базе Asterisk, решил предложить своё подробное руководство по установке call-центра на базе Asterisk в связке со Skype. В виду популяризации Skype эта сеть стала использоваться для call-центров многих компаний. Использование ее официального клиента очень ограничивает нас в возможностях. Данная сборка позволяет увеличить число одновременных вызовов со Skype-сети.
Читать дальше →
Total votes 15: ↑14 and ↓1+13
Comments25

Научно-популярные фильмы о физике

Reading time1 min
Views81K
Всем привет!

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

Недавно случайно наткнулся на ютубе на фильм с Брайаном Грином «Тайны мироздания» и удивился, что у видео так мало просмотров.

Не сказать, чтобы такая подача материала мне очень нравилась, но все равно, местами довольно интересно :) Может быть, будет интересно не только мне.

Сами видео под катом.
Читать дальше →
Total votes 81: ↑76 and ↓5+71
Comments35

Заземлённые указатели

Reading time8 min
Views52K
pointres, gnd

Не так давно, один из сотрудников покинул наш коллектив и присоединился к компании, занимающийся разработкой программного обеспечения, связанного с встраиваемыми системами. Ничего особенного в этом нет, всегда и везде, кто-то уходит, а кто-то приходит. Всё зависит от количества плюшек, удобства и предпочтений. Интересно другое. Человек искренне переживает за состояние кода на новом месте работы, что в результате и вылилось в эту совместную статью. Тяжело, «просто программировать», когда знаешь, что такое статический анализ кода.
Читать дальше →
Total votes 112: ↑94 and ↓18+76
Comments140

Стрим с mpd на смартфон или вся музыкальная коллекция в кармане

Reading time3 min
Views14K

Я любитель послушать музыку в дороге и на работе, при этом накопил немалую коллекцию музыки в lossless на домашнем компьютере. Хочется иметь доступ к музыке не только дома но и на смартфоне. Ограниченная память не позволяет уместить всю мою коллекцию, какими бы картами памяти я ее не расширял. Да и не хочется память на это тратить, ведь есть еще множество вещей которые туда хочется записать. Раньше я старался успеть перед выходом на работу собрать все, что хочется сегодня послушать, переконвертировать это в сжатый формат (я считаю lossless на мобильном устройстве это излишки) и записать на мобильное устройство. Но как всегда не успевал, и зачастую приходилось довольствоваться старым заезженным плейлистом. Потом у меня появился безлимитный мобильный интернет и я совсем забросил «перекидывание» музыки, стал слушать интернет радиостанции. Приходилось постоянно прыгать между станциями, и еще эти диджеи постоянно вклиниваются. И тут мне пришла идея сделать свой персональный стрим, с блекджеком и… всеми вытекающими.
Решено было установить на домашнем сервере mpd, на смартфоне приложение для прослушивания интернет радио и клиент mpc, чтобы на лету выбирать музыку. Если интересно как, прошу под кат.
Читать дальше →
Total votes 23: ↑22 and ↓1+21
Comments28

Настройка роутинга для домашнего multihomed сервера

Reading time12 min
Views31K
Сейчас наличие нескольких подключений к интернет на одном, в том числе и домашнем сервере — не редкость. Городские локалки, ADSL, 3G модемы… Добавим к этому сети домашние локальные и внешние виртуальные (VPN), и получим ядрёную смесь интерфейсов, между которыми необходимо роутить трафик, балансировать трафик между разными каналами в интернет (когда они есть), и переключаться с нерабочих каналов на рабочие (когда они отваливаются).

Судя по постам в инете, большинство людей, столкнувшихся с этой ситуацией, очень плохо представляет себе, как это настраивается. Надо отметить, что в линухе действительно управление роутингом весьма сложное и запутанное — следствие эволюционного развития и поддержки (частичной) совместимости. Я хочу описать принципы настройки роутинга multihomed серверов на конкретном, достаточно сложном, примере: на сервере три физических сетевых интерфейса (один в домашнюю локалку и два к ADSL-модемам), два ADSL-подключения (ADSL-модемы в режиме bridge, так что pppd поднимает этот же сервер) к разным провайдерам (одно со статическим IP, второе с динамическим), плюс VPN на сервер компании — итого шесть интерфейсов.

Тема достаточно сложная, поэтому для понимания материала потребуется хотя бы минимальное понимание работы роутинга (что такое default route и gateway), файрвола (маркировка пакетов, отслеживание соединений, связь между разными таблицами и цепочками файрвола и роутингом), pppd (скрипты ip-up/ip-down) и протоколов IP и TCP.
Читать дальше →
Total votes 136: ↑129 and ↓7+122
Comments46

Обзор RSS-ридеров — self-hosted альтернативы Google Reader

Reading time6 min
Views128K
По мотивам недавней записи решил опробовать ряд продуктов, которые, во-первых, открытые, а во-вторых, устанавливаются на собственный сервер. В обзор вошли:
  1. rssLounge
  2. Selfoss
  3. Feed on feeds
  4. Managing news
  5. Lilina
  6. Tiny Tiny RSS
  7. ZebraFeeds
  8. Rnews
  9. NewsBlur

Все ридеры требуют PHP (кроме последнего — NewsBlur работает на питоне).
Читать дальше →
Total votes 98: ↑84 and ↓14+70
Comments101

Создание гибридного Qt Quick и C++ приложения

Reading time6 min
Views31K
Добрый день, %username%!

Небольшая предыстория:

Некоторое время назад делал знакомому лабораторную, тематика которой – код Хэмминга. Программа представляла собой обыкновенное Qt приложение с минимальным набором контролов. Сдача прошла успешно, прошло некоторое время, и его теперь другу необходимо тоже сдать лабораторную на эту же тематику. Ту же программу, очевидно, сдавать нельзя. Тут возникает вопрос – как сделать программу с тремя кнопками и двумя текстбоксами непохожей на предыдущую? Мне в голову пришла мысль переписать интерфейс с помощью Qt Quick, а логику и расчеты программы оставить в С++, а заодно и рассказать интересующимся людям, как я обычно делаю подобные вещи. По Qt Quick не так много литературы, тем более на русском, так что очень надеюсь, что данная статья будет полезна и интересна.
Читать дальше →
Total votes 30: ↑25 and ↓5+20
Comments21

Citavi: профессиональный органайзер научной работы

Reading time9 min
Views98K
imageКаждый, чья деятельность связана с изучением больших объемов литературы и написанием собственных текстов, рано или поздно сталкивается с необходимостью систематизации стремительно растущей библиотеки и еще более стремительно накапливающихся заметок и набросков. Для решения этой задачи существуют десятки решений: библиографические менеджеры, менеджеры знаний, персональные информационные менеджеры. Испробовав за последние несколько лет, пожалуй, все существующие в этой области решения (по крайней мере, для Windows), могу сказать, что каждое из них предлагает свой набор замечательных возможностей, но универсального варианта, в котором были бы объединены они все, увы, обнаружить долго не удавалось.
Читать дальше →
Total votes 54: ↑48 and ↓6+42
Comments50

19 команд ffmpeg для любых нужд

Reading time3 min
Views570K
От переводчика:
Многие знают, что ffmpeg — это сила, но не все знают, какая именно. Он многогранен и безграничен, а его man объёмен и местами малопонятен, лишь немногие постигли дао профессиональной работы с ним. И тем не менее, этот инструмент может быть полезен почти всем, кто хоть иногда работает с видео и звуком, даже на бытовом уровне. О некоторых полезных консольных командах ffmpeg и пойдёт речь в статье. В некоторых местах я взял на себя смелость вставить ссылки на поясняющие статьи.


ffmpeg — это кроссплатформенная open-source библиотека для обработки видео- и аудиофайлов. Я собрал 19 полезных и удивительных команд, покрывающих почти все нужды: конвертация видео, извлечение звуковой дорожки, конвертирование для iPod или PSP, и многое другое.

1. Получение информации о видеофайле

ffmpeg -i video.avi

2. Превратить набор картинок в видео

ffmpeg -f image2 -i image%d.jpg video.mpg

Эта команда преобразует все картинки из текущей директории (названные image1.jpg, image2.jpg и т.д.) в видеофайл video.mpg

(примечание переводчика: мне больше нравится такой формат:
ffmpeg -r 12 -y -i "image_%010d.png" output.mpg

здесь задаётся frame rate (12) для видео, формат «image_%010d.png» означает, что картинки будут искаться в виде image_0000000001.png, image_0000000002.png и тд, то есть, в формате printf)
Читать дальше →
Total votes 222: ↑214 and ↓8+206
Comments107

Listen Trackers

Reading time2 min
Views20K
Вы, наверное, сталкивались или уже пользуетесь такими сервисами как tvfedor и TorrentMonitor.
И вот вам новый сервис для слежения за торрент трекерами.

Вот скромный список поддерживаемых трекеров:
— free-torrents.org
— hdclub.org
— kinozal.tv
— lostfilm.tv
— nnm-club.ru
— novafilm.tv
— rustorka.com
— rutor.org
— rutracker.org
— tapochek.net
— tfile.me
— torrents.net.ua
— tr.anidub.com
— tracker.0day.kiev.ua

Длинна списка это не единственное, чем может похвастать сервис.

Заинтересовало? Добро пожаловать под кат
Total votes 80: ↑62 and ↓18+44
Comments58

Information

Rating
Does not participate
Registered
Activity