Не так давно появилась задача создать простой сервис по созданию PDF отчетов на основе офисных документов для интранета. И вроде бы все просто, но вот с сохранением Excel в PDF возникли проблемы. Интересно? Прошу под кат.
Рубрика «системное программирование» - 74
Сохранение документов Excel в PDF на сервере
2013-01-14 в 9:19, admin, рубрики: office, PDF, php, vbscript, Веб-разработка, Программирование, системное программирование, метки: office, PDF, PHP, vbscriptБаллада о «Мультиклете»
2012-12-19 в 19:43, admin, рубрики: MCP, высокая производительность, мультиклет, Процессоры, системное программирование, языки программирования, метки: MCP, высокая производительность, мультиклет, процессоры, языки программированияНет, я не раскрою вам загадку, скрывающуюся в названии MCp0411100101, но постараюсь развёрнуто ответить на комментарий nerudo, записанный в топике Процессоры «Мультиклет» стали доступнее:
Читая описание архитектурных новшевств этого мультиклета, мне хочется воспользоваться фразой из соседнего топика: «Я не понимаю».
Если кратко, то MCp — это потоковый (от dataflow) процессор с оригинальной EPIC-архитектурой. EPIC — это Explicitly Parallel Instruction Computing, вычисления с явным параллелизмом инструкций. Я применяю этот термин здесь именно в этом смысле, как аббревиатуру, а не как ссылку на архитектуру Itanium-ов. Явный параллелизм в MCp совсем другого рода.
Процессоры «Мультиклет» стали доступнее
2012-12-18 в 11:12, admin, рубрики: Железо, мультиклет, Программинг микроконтроллеров, системное программирование, метки: мультиклетRelatively good news, Everyone! Стартовали продажи бюджетных отладочных плат на базе отечественного процессора с мультиклеточной (технический, между прочим, термин) архитектурой. Теперь можно купить отладочную плату с процессором MCp0411100101 за относительно небольшие деньги.
Плата LDM-MCp0411100101-Q208 Evolution разработана партнером ОАО «Мультиклет» — компанией LDM-SYSTEMS. Рекомендованная розничная цена отладочного комплекта — 6500 рублей. Да, это не Raspberry Pi по цене, зато, здесь архитектура CPU интереснее.
Кроме того, пока ещё существует возможность немного сэкономить. Производители объявили акцию: для первых 100 покупателей при оформлении заказа на отладочную плату LDM-MCp0411100101-Q208 Evolution до 20 января 2013 года стоимость комплекта — 5000 рублей. Оформить заявку на отладочный комплект по специальной цене можно на сайте компании LDM-SYSTEMS (по ссылке на плату).

Системные вызовы MIPS
2012-12-11 в 17:24, admin, рубрики: mips, ассемблер, низкоуровневое программирование, операционные системы, системное программирование, метки: mips, ассемблер, низкоуровневое программирование, операционные системы, системное программирование
Этим летом appplemac опубликовал статью, посвященную изучению ассемблера MIPS. В ней, в частности, была рассмотрена команда syscall, генерирующая системный вызов. Автор сосредоточился на объяснении ассемблера MIPS, и на мой взгляд, недостаточно подробно рассказал, что же это такое — системный вызов. Я в тот момент занимался переносом проекта под архитектуру MIPS, разбирался с прерываниями, исключениями и системными вызовами.
Сейчас, когда код уже написан и отлажен, я решил написать статью, которая бы более подробно раскрывала, как работает механизм системных вызовов в MIPS. Можно рассматривать ее как дополнение к той статье об ассемблере.
Читать полностью »
Аудит пользователей в AD через VBS с занесением в SharePoint при помощи PowerShell
2012-11-11 в 6:07, admin, рубрики: active directory, ldap, powershell, sharepoint, vbscript, системное программирование, метки: active directory, ldap, powershell, sharepoint, vbscriptДобрый день наблюдатели НЛО
Хотел описать, как собирал информацию о пользователях из AD и затем размещал информацию на SharePoint для удобочитаемости и в любой момент посмотреть о том, или ином пользователе нужную для нас информацию.
Опишу просто, так как всё оно было…
Читать полностью »
EventTrace for Windows. Высокоскоростная передача отладочных сообщений драйвера по сети
2012-10-31 в 14:34, admin, рубрики: Angara, drivers, logs, отладка, системное программирование, метки: Angara, drivers, logs Существует разные техники отладки: кто-то зарывается в отладчик, кто-то медитирует, ожидая просветления, кто-то судорожно меняет код в надежде на удачу, но почти ни кто не откажется от файла в котором будет сохранены последние мгновения жизни процесса, что происходило, в каких нитях, на каких ядрах, в какое время. Заботливо и педантично сохраненная отладочная информация может сохранить многие рабочие часы, особенно если речь идет о отладке драйвера и аппаратного обеспечения с которым он работает. Ну, а в случае когда ошибка случайная и воспроизводиться на 1 системе из 20 в течении недели, то без отладочной информации медитация может затянуться.
В данной статье пойдет речь об утилитах, помогающих в перехвате отладочных сообщений драйверов, работающих на нескольких машинах одновременно и передаче сообщений на сервер для сохранения и анализа.
Мониторинг сервисов Windows средствами PowerShell и Python
2012-10-29 в 15:26, admin, рубрики: powershell, python, windows, Серверное администрирование, системное администрирование, системное программирование, метки: powershell, python, windows, системное администрирование 
Предыстория:
Сам я работаю в техотделе одной брокерской компании в Торонто, Канаде. Так же у нас есть еще один офис в Калгари. Как-то после планового установления Windows обновлений на единственном доменном контроллере в удаленном офисе не запустился W32Time сервис, который отвечает за синхронизацию времени с внешним источником. Таким образом в течение около недели время на сервере сбилось приблизительно на 20 секунд. Наши рабочие станции на тот момент времени по умолчанию получали время с контроллера. Сами понимаете, что случилось. В торгах время очень важно, разница в секунды может решить многое. Первыми расхождение во времени, к сожалению, заметили наши брокеры. Наш отдел техподдержки, состоящий по сути из 3 человек за это распекли. Надо было срочно что-то делать. Решением было применение групповой политики, которая отсылала все машины к внутреннему NTP серверу, работающему на CentOS. Еще были проблемы с DC Barracuda Agent, сервисом, отвечающим за соединение контроллеров домена с нашим Веб фильтром, и еще парочка сервисов причиняла нам порой беспокойство. Тем не менее решили что-то придумать, чтобы следить за пару сервисами. Я немного погуглил и понял, что есть много решений, в основном коммерчиских для данной проблемы, но так как я хотел научиться какому-нибудь скриптовому языку, то вызвался написать скрипт на Питоне с помощью нашего местного линукс-гуру. В последствие это переросло в скрипт, который проверяет все сервисы, сравнивая их наличие и состояние со списком желаемых сервисов, которые к сожалению надо делать вручную отдельно для каждой машины.
Решение:
Читать полностью »
Барьеры доступа к памяти в Linux
2012-10-21 в 9:37, admin, рубрики: linux, переводы, системное программированиеЭта статья — частичный перевод исчерпывающего руководства Дэвида Хоуэлса (David Howells) и Пола Маккени (Paul E. McKenney) распространяемого в составе документации Linux (Documentation/memory-barriers.txt онлайн версия).
Must read для разработчиков ядра/драйверов и очень познавательно для прикладных программистов.
Пишем свой отладчик под Windows [часть 1]
2012-10-15 в 12:24, admin, рубрики: c++, windows, отладка, Отладчик, Программирование, системное программированиеВступление
![Пишем свой отладчик под Windows [часть 1] Пишем свой отладчик под Windows [часть 1]](https://www.pvsm.ru/images/pishem-svoi-otladchik-pod-Windows-chast-1-.jpg)
Все мы, время от времени, используем дебаггер для отладки программ. Отладчик может использоваться с C++, C#, Java и ещё сотней других языков. Он может быть как внешним (WinDbg), так и встроенным в среду разработки (Visual Studio). Но вы хоть раз задавались вопросом, как же работает отладчик?
И вам повезло. В этом цикле статей мы разберёмся от и до, как же работает отладка изнутри. В этой статье рассматривается только написание отладчика под Windows. Без компиляторов, линковщиков и других сложных систем. Таким образом, мы сможем отлаживать только исполняемые файлы, так как мы напишем внешний отладчик. Эта статья потребует от читателя понимание основ многопоточности.
Читать полностью »
Инъекция кода в .NET CLR: изменение IL-кода во время выполнения программы
2012-10-11 в 7:48, admin, рубрики: .net, clr, MSIL, системное программирование, метки: .net, c++, clr, MSIL, системное программированиеПредисловие

Изменение .NET метода MSIL кода во время выполнения приложения – это очень круто. Это настолько круто, что можно перехватывать вызовы функций (hooking), сделать защиту своего ПО и другие удивительные вещи. Именно поэтому мне уже давно хотелось это осуществить, но была одна проблема – MSIL код компилируется в машинный код с помощью JIT перед тем, как мы сможем что-либо с этим кодом сделать. А так как .NET CLR не документирована и изменяется от версии к версии, то мы и будем искать стабильный и надёжный путь, независимый от точного расположения адресов в памяти.
Читать полностью »
