
Если вам случалось писать большие приложения, вы, вероятно, использовали такие виртуальные машины, как VMWare, Virtual PC или что-то иное. Но задавались ли вы вопросом: как они работают? Эти удивительные, можно сказать, магические технологии увлекали меня довольно долгое время. Чтобы развенчать «магию» и разобраться в деталях, я написал «с нуля» собственную систему виртуализации – «песочницу». Решение этой задачи было довольно сложным делом. Реализация подобного продукта ставит множество вопросов, ответы на которые вы не найдете в Google, поэтому я хочу поделиться своим опытом с сообществом.
Читать полностью »
Рубрика «системное программирование» - 51
Как написать свою «песочницу»? Разбор простейшей «песочницы»
2016-12-12 в 9:10, admin, рубрики: c++, Блог компании InfoWatch, разработка под windows, системное программирование, метки: #c++, #programming, #sandbox, #windowsТестируем Linux-версию PVS-Studio на Linux Kernel
2016-12-12 в 6:51, admin, рубрики: C, linux kernel, open source, pvs-studio, static code analysis, Блог компании PVS-Studio, Разработка под Linux, системное программирование, статический анализ кода
С момента выхода публичной Linux-версии PVS-Studio, статья о повторной проверке ядра Linux оставалась лишь вопросом времени. Проект, который пишется профессионалами со всего мира, который используют большое количество людей в самых разных сферах, который регулярно проверяется и тестируется различными инструментами — проверка такого проекта будет серьёзным испытанием для любого статического анализатора. Какие ошибки удалось найти PVS-Studio в таких условиях?
Рецепт разработки бота под Telegram
2016-12-05 в 7:11, admin, рубрики: AI, artificial intelligence, bots, ffmpeg, javascript, jquery, node.js, telegram, боты, кто-то-еще-читает-теги?, Программирование, системное программирование
Добрый день, уважаемые читатели!
В этом топике я хочу поделиться с вами опытом разработки бота под Telegram за 4 дня. Этот бот переводит все голосовые сообщения, которые получает, в текст. Пытался сделать быстро, но качественно — подучил пару-тройку технологий. Постараюсь максимально подробно описать свой процесс преодоления ошибок и преград; доказать, что, даже не имея нужных навыков, запустить свой продукт не так-то и сложно.
Статья может быть интересна как новичкам в программировании — увидеть, сколько препятствий стоят на пути у готового продукта, так и более продвинутым специалистам — где-то посмеяться, где-то поплакать, где-то написать комментарий «жизненно».
Преамбула
И так, что же может сделать один программист за 4 дня?
Читать полностью »
Кэши для «чайников»
2016-11-29 в 7:03, admin, рубрики: google app engine, php, Анализ и проектирование систем, архитектура, Блог компании Google, кеширование, мины, невыносимая сложность простых вещей, ожидание и реальность, ошибки оверинжиниринга, системное программированиеКэш глазами «чайника»:

Кэш – это комплексная система. Соответственно, под разными углами результат может лежать как в действительной, так и в мнимой области. Очень важно понимать разницу между тем, что мы ждем и тем, что есть на самом деле.
Давайте прокрутим полный оборот ситуаций.
Tl;dr: добавляя в архитектуру кэш важно явно осознавать, что кэш может быть средством дестабилизации системы под нагрузкой. Смотрите конец статьи.
Читать полностью »
Выпуск Rust 1.13
2016-11-14 в 6:52, admin, рубрики: eh?, Rust, компилятор, оптимизация, Программирование, системное программированиеКоманда Rust рада представить выпуск Rust 1.13.0. Rust — это системный язык программирования, нацеленный на безопасность, скорость и параллельное выполнение кода.
Как обычно, вы можете установить Rust 1.13.0 с соответствующей страницы официального сайта, а также ознакомиться с подробным списком изменений в 1.13.0 на GitHub. В этот выпуск вошло 1448 патчей.
Это была по-настоящему горячая пора в Rust. Мы участвовали в трёх конференциях подряд — RustConf, RustFest и Rust Belt Rust. Было классно увидеть так много любителей Rust; со многими мы встретились впервые! Мы много думали о будущем, разрабатывали план на 2017 и создавали инструменты, нужные нашим пользователям.
И несмотря на всё это, мы собрали новый выпуск с кучей новых крутых фишек.
Что вошло в стабильную версию 1.13
Выпуск 1.13 включает долгожданный оператор ?, ускорение компиляции, добавление
некоторых возможностей в Cargo и стандартную библиотеку. Также этот выпуск привносит множество небольших улучшений в документацию и сообщения об ошибках. Это результат работы многих людей, и они не упоминаются в замечаниях к выпуску индивидуально.
Может ли компьютерная книга оставаться актуальной через 30 лет после написания?
2016-11-10 в 16:43, admin, рубрики: VM/SP CMS СВМ, системное программирование, метки: VM/SP CMS СВМНедавний очередной пост на тему «Как прочитать 100 книг за год, и достичь успеха в жизни» заставил меня вспомнить, какие же книги на самом деле изменили мой взгляд на жизнь. Ну ладно, пусть не на жизнь, а хотя бы на программирование, для начала.
И припомнилась мне при этом старая-престарая по меркам программирования книга под завлекающим названием «Что мама никогда не рассказывала вам о сопровождении VM». В оригинале она называется «What Mother Never Told You about VM Service», автор Melinda W. Varian.
Итак, на минутку, это 1983 год. Только что появилась первая версия MS DOS. Появления CVS еще ждать примерно 8 лет. Unix уже существует, но пока не получил распространения (у нас в Москве он появится в виде Демос примерно в 1986 на машинах СМ-4). Большинство компьютерных книг того времени сегодня безнадежно устарели.
Выпуск Rust 1.12.1
2016-11-08 в 10:39, admin, рубрики: Rust, компилятор, Программирование, системное программированиеМы рады представить новую версию Rust 1.12.1. Rust — это системный язык программирования, нацеленный на безопасную работу с памятью, скорость и параллельное выполнение кода.
Как обычно, вы можете установить Rust 1.12.1 с соответствующей страницы официального сайта, или с помощью rustup выполнив команду rustup update stable.
Что вошло в стабильную версию 1.12.1
Секундочку… один-точка-двенадцать-точка… один?
Несколько недель назад, в анонсе версии 1.12, мы сказали:
Выпуск 1.12 — возможно, самый значительный с момента выпуска 1.0.
И это правда. Одним из важных изменений был масштабный рефакторинг компилятора. Новый бэкенд MIR изменил его архитектуру и некоторые детали реализации. В целом процесс модернизации прошел так:
Текстовая трансляция HighLoad++ 2016. День первый
2016-11-07 в 6:34, admin, рубрики: highload, mysql, Алгоритмы, Блог компании Конференции Олега Бунина (Онтико), высоконагруженные приложения, высоконагруженные системы, Программирование, системное программированиеСегодня в этом посте весь день будет вестись текстовая трансляция конференции HighLoad++ 2016, проходящей в Сколково 7 и 8 ноября. HighLoad++ — это более 200 экспертов высочайшего класса с докладами о высоконагруженных сервисах, проблемах работы с ними и вопросах администрирования. Более 15 залов, плотный график, честный и полезный опыт спикеров — HighLoad++ умеет собирать крутые темы, задавать тон дискуссии и всё на одном дыхании.
Если вы хотите смотреть видео из главного зала и включения из мобильной студии Хабрахабра, то вам на страницу спецпроекта. Если почитать онлайн и поообщаться в кооментариях — под кат.
О производительности именованных каналов в многопроцессных приложениях
2016-10-26 в 9:08, admin, рубрики: Visual Studio, Анализ и проектирование систем, Блог компании Инфопульс Украина, разработка под windows, системное программирование
В статье об особенностях новой версии Visual Studio одним из главных нововведений (с моей точки зрения) оказалось разделение ранее монолитного процесса среды разработки (devenv.exe) на компоненты, которые будут работать в отдельных процессах. Это уже сделано для системы контроля версий (переезд с libgit на git.exe) и некоторых плагинов, а в будущем и другие части VS будут вынесены в подпроцессы. В связи с этим в комментариях возник вопрос: «А не замедлит ли это работу, ведь обмен данными между процессами требует использования IPC (Inter Process Communications)?»
Нет, не замедлит. И вот почему.
Читать полностью »


