- бесплатный антивирус для Windows ClamAV
- плагин для Eclipse для поддержки Lua - ссылка для установки плагина
- для создания однотипных документов в Word 2003 может быть использован механизм слияния, доступный через меню "Сервис-Письма и рассылка-Слияние"
- для создания zip-архивов с помощью Python используется библиотека zipfile, там все просто, единственный интересный момент заключается в использовании кодировки cp866 для именования файлов внутри архива, т.е. необходимо преобразование вида: filename.decoe("cp1251").encode("cp866"), если для файла исходников используется кодировка cp1251, что должно быть отмечено в заголовке как: # -*- coding: cp1251 -*-
пятница, 20 июля 2012 г.
Бесплатный антивирус для Windows ClamAV, плагин Eclipse для поддержки Lua, создание списка однотипных документов в Word 2003, создание архивов в Python, установка кодировки исходных файлов в Python
четверг, 19 июля 2012 г.
Программы моделирования бизнес-процессов, диаграммы Ганта в Google Docs, программа для создания текстовых квестов, операционная система Haiku
- программы моделирования бизнес-процессов:
- eBPMN, разработана на платформе Eclipse, имеет приятный пользовательский интерфейс
- Bizagi Modeller
- диаграммы Ганта в Google Docs можно сделать с помощью стороннего гаджета, размещенного по адресу http://www.viewpath.net/Website/Modules/Gantt.aspx
- хорошая платформа для создания текстовых квестов INSTEAD, интересно, можно ли ее использовать для создания интерактивного квестового букваря, чтобы племянник наконец научился читать
- операционная система Haiku, является развитием BeOS после того как ее бросил Palm
среда, 18 июля 2012 г.
Особенности передачи данных в последовательный порт в Google Chrome, ViewVC - просмотр репозитория исходных кодов через web, отключение Unity в Ubuntu 12.04
- стабильный Chrome 20.0.1132.57 записи в com-порт ожидает данные для записи в порт в виде массива, Canary 22.0.1209.0 - в виде объекта ArrayBuffer
- запись в последовательный порт на Windows не работает, так как непонятно какое имя следует вводить при создании соединения с портом. Стандартные имена (COM3, \\.\COM3 и многие другие) не подходят. В Linux все нормально работает с использованием стандартных имен портов (/dev/ttyS0), даже при отсутствии Canary.
- ViewVC - средство для просмотра репозитория subversion исходников программного кода через Web
- как отключить Unity в Ubuntu 12.04 написано здесь
вторник, 17 июля 2012 г.
Просмотр списка USB-устройств в Linux и Windows, замечания об упакованных приложениях Google Chrome
- просмотр списка USB-устройств
- в Linux - команда lsusb
- в Windows - usbdeview
- у Google Chrome есть особая нестабильная сборка, содержащая все последние изобретения Google, и называется Google Chrome Canary
- подключение к USB-устройствам из упакованного приложения Chrome производится, как написано здесь, с использование vendorId и productId, определенных с помощью программ из первого пункта
- в той же статье описан механизм использования последовательных портов:
- в Google Chrome 20.0.11.32.57:
- отсутствуют методы getPorts, setControlSignals, getControlSignals, их использование вызывает исключение
- указанные в манифесте разрешения "appWindow", "usb" при загрузке приложения выдают предупреждения (видимо они также отсутствуют), но приложение работает
- еще одна особенность связана с необходимостью указания в разделе app манифеста следующей конструкции:
"launch": { "local_path": "index.html"}где index.html - главная страница приложения - в отличии от Canary приложение запускается просто во вкладке, указание размеров окна приложения игнорируется
- реакция Google Chrome Canary 22.0.1208.0 несколько иная:
- конструкция launch не нужна
- приложение запускается в отдельном окне с пустым заголовком и, чтобы посмотреть консоль, нужно щелкнуть правой мышью и выбрать "просмотр элемента", а уже там выбрать консоль
- отсутствующие команды по работе с последовательным портом существуют, но выдают пустой массив, похоже, еще не реализованы
понедельник, 16 июля 2012 г.
MVC-frameworks для JavaScript, серверы Node.js и Express.js, различные средства для разработки на Java, виртуальный последовательный порт для Windows
- для разработки упакованных приложений Google Chrome представляется удобным использование какой-нибудь MVC-среды, например:
- YUI App Framework, компонент YUI, удобной и привычной библиотеки, по всей видимости, использовать библиотеку возможно, но несколько затруднительно, так как она в высшей степени модуляризирована, это удобно для обычных web-приложений, но для локального приложения процесс сбора зависимостей слишком продолжительный
- сам Google рекомендует AngularJS
- Mojito от Yahoo нет подходит вообще так как, предполагает наличие сервера
- интересные сервера Node.js и Express.js, для разработки используется JavaScript и исполняется на сервере, содержат много разных компонент, позволяющих реализовать сетевые сервисы в виде JavaScript, похоже очень удобны для использования в процессе тестирования
- различные средства для программирования на Java:
- для обучения: http://www.greenfoot.org/home, http://www.bluej.org/
- сборка ПО: http://www.gradle.org/
- CI: http://hudson-ci.org/, http://jenkins-ci.org/
- мониторинг и профилирование приложений: http://visualvm.java.net/, http://zeroturnaround.com/software/jrebel/
- виртуальный последовательный порт для Windows, при установке создает два виртуальных порта (COM3, COM4), связанных друг с другом таким образом, что выход одного является входом другого и наоборот. Таким образом эмулятор оборудования использует один порт, а другой разрабатываемое нами приложение. Есть и другие способы использования этого виртуального порта, например, можно порт GPS-навигатора распараллелить и данные, получаемые от него, направлять в несколько приложений.
четверг, 12 июля 2012 г.
MVC-framework для JavaScript Mojito, программа анимации комиксов MotionArtist
- библиотека Mojito, разработанная Yahoo, может быть использована для создания HTML5-приложений с помощью шаблона проектирования MVC, особенность в том, что с ее помощью можно разрабатывать приложения, исполняемые и на сервере, и на клиенте
- программа создания эффекта просмотра комиксов человеком, презентаций и всяких прикольных штук SmithMicro MotionArtist, пока бесплатна, ключ высылают на e-mail, позволяет экспортировать получившееся ролики в различных видеоформатах, на facebook и youtube
среда, 11 июля 2012 г.
Средства для оптимизации CSS, JavaScript и HTML, переход с общего режима на УСН в программе 1С:Бухгалтерия 7.7
- клиентская оптимизация различных элементов Интернет-сайта может выполняться следующими средствами:
- обзорная статья с перечнем множества различных библиотек
- обзор методик оптимизации различных элементов Интернет-сайта
- и еще одна интересная статья на эту тему
- библиотека оптимизация CSS - granule, есть возможность использования совместно с Ant
- безусловный лидер (по крайней мере, для меня) YUI Compressor, оптимизирует (минифицирует) JavaScript и CSS
- для оптимизации HTML - HTML Compressor
- mod_pagespeed - модуль для web-сервера Apache для оптимизации элементов Интернет-сайта на лету, под OpenSolaris не скомпилировался, как я его только не мучил
- При переходе с общей системы налогообложения на УСН в 1С:Бухгалтерии 7.7 можно использовать описанную здесь методику. Может быть, смотрел не ту версию конфигурации, но перечисленных файлов для конвертации данных в своей базе я не нашел. Но похоже, механизм предназначен для переноса остатков в из базы в базу на начало года, т.е. переход в течение года невозможен. Так же предполагается, что реализует нормальный переход, т.е. при настоящей смене режима налогообложения предприятием. Если учет для предприятия, применяющего УСН, ведется с общей Бухгалтерии, следующий метод представляется более перспективным. Самым простым способом ведения учета в базе, предназначенной для общего режима, представляется использование Камин:Упрощенка, работает в общей бухгалтерии, комплексной и т.д., позволяет формировать книгу учета доходов и расходов при УСН, декларацию для УСН, есть возможность настройки различных аспектов отчетов.
вторник, 10 июля 2012 г.
Системы проведения онлайн семинаров, включение фрагментов html-страниц в jinja2, программа преобразования формата djvu в формат pdf с возможностью различных изменений исходного документа
- различные системы проведения онлайн-семинаров:
- http://www.mikogo.ru/
- http://www.wiziq.com - есть бесплатный пробный период на 30 дней
- http://onwebinar.ru/ - совсем бесплатный сервис, интересно, надолго ли
- включение фрагментов html-страниц в jinja2 (система и язык описания шаблонов, может быть использована при разработке приложений для Google AppEngine) осуществляется конструкцией вида: {% include "includes/analytics.html" ignore missing %}. В общем и так все понятно, фраза ignore missing означает, что в случае отсутствия фрагмента не будет выводиться ошибка.
- хорошая программа преобразования djvu в pdf DJVU to PDF eBook converter, при преобразовании умеет выполнять всякие полезные действия, например: адаптацию для электронных книг, но самая полезная функция, приведение двухстраничных сканированных книг к нормальному одностраничному виду. Для использования программы следует остановить Java
понедельник, 9 июля 2012 г.
Включение фрагментов html-страниц в php и twig, использование Spring Bean DSL для определения сервисов, исключение классов из обработки загрузчиками классов groovy
- включение фрагментов страницы в php осуществляется функцией include: например:
- но в шаблонах twig php'ая функция include не работает, вместо нее следует использовать собственную функцию include, например:
указанный фрагмент должен находиться в каталоге app/Resources/views, в содержащемся в нем каталоге commons, начальные двойные двоеточия говорят о том, что не указано имя контроллера и действия (пример взят из сайта, разработанного на Symfony2), если указать имя контроллера и действия фрагмент должен находиться в привычном в этом случае для Symfony2 месте
- сервисы и другие объекты, определяемые в spring-приложении средствами файлов *-context.xml, в grails-приложении определяются с помощью Spring Bean DSL, определение должно располагаться в файле resources.groovy в каталоге conf/spring grails-приложения или grails-плагина (так же существует возможность определения объектов с помощью xml, при этом файл называется resources.xml), ниже пара примеров определения объектов:
import org.apache.chemistry.opencmis.client.runtime.SessionFactoryImpl;
import biz.pokrovskoe.cmis.gclient.services.Repository;
import biz.pokrovskoe.cmis.gclient.services.RepositoryConnectionService;
beans =
{
// Здесь создается фабрика сессий с интерфейсом SessionFactory, используя
// статический метод newInstance() класса SessionFactoryImpl
repositorySessionFactory(SessionFactoryImpl) {bean ->
bean.factoryMethod = "newInstance"
}
// Создается соединение класса RepositoryConnectionService с конструктором по умолчанию
repositorySessionFactory(SessionFactoryImpl) {bean ->
bean.factoryMethod = "newInstance"
}
// Создается соединение класса RepositoryConnectionService с конструктором по умолчанию
// и устанавливается свойства sessionFactory ссылкой на предыдущий определенный объект
repositoryConnection(RepositoryConnectionService) {
sessionFactory = ref("repositorySessionFactory")
}
// Объект класса Map, содержит свойства соединения с репозиторием
def repositoryParameters = [
'username': '******',
'password': '******',
'url': 'http://localhost:18080/alfresco/cmisatom ,
repositoryId : '72549849-e033-4a8b-806f-7a377522ef76'
]
// Объект класса Repository создается с помощью метода createSession, которому передается в качестве
repositoryConnection(RepositoryConnectionService) {
sessionFactory = ref("repositorySessionFactory")
}
// Объект класса Map, содержит свойства соединения с репозиторием
def repositoryParameters = [
'username': '******',
'password': '******',
'url': 'http://localhost:18080/alfresco/cmisatom ,
repositoryId : '72549849-e033-4a8b-806f-7a377522ef76'
]
// Объект класса Repository создается с помощью метода createSession, которому передается в качестве
// параметров объект со свойствами соединения, определен выше
repository(repositoryConnection: "createSession") {bean ->
bean.constructorArgs = [repositoryParameters]
}
}
repository(repositoryConnection: "createSession") {bean ->
bean.constructorArgs = [repositoryParameters]
}
}
каждая конструкция, определяющая объект начинается с его имени, используемом в дальнейшем для привязки объектов к контроллерам. Объект со свойствами соединения определен как def и не может быть использован для установки в качестве значений свойств сервисов или контроллеров grails-приложения, предназначен исключительно для инициализации других объектов в файле resources.groovy.
- приведенный выше пример, к сожалению, все равно не работает, но уже на этапе исполнения приложения, причина, видимо, кроется в приведении с помощью загрузчиков классов groovy классов, используемых opencmis, к виду привычному groovy. Ошибка времени выполнения возникает из-за несоответствия типов класса Date. Решение проблемы я подсмотрел в open-cmis-plugin, что-то подобное я и пытаюсь сделать, только в отличии от open-cmis-plugin, собираюсь упростить взаимодействие с репозиторием, используя динамическую природу groovy. Итак, решение заключается в исключении из обработки библиотек при определении зависимостей от opencmis, обратите внимание на конструкции exludes:
compile
(
'org.apache.chemistry.opencmis:chemistry-opencmis-client-api:0.7.0',
'org.apache.chemistry.opencmis:chemistry-opencmis-client-impl:0.7.0',
'org.apache.chemistry.opencmis:chemistry-opencmis-commons-api:0.7.0'
) {
excludes "jaxws-rt"
}
runtime (
'org.apache.chemistry.opencmis:chemistry-opencmis-client-api:0.7.0',
'org.apache.chemistry.opencmis:chemistry-opencmis-client-bindings:0.7.0',
'org.apache.chemistry.opencmis:chemistry-opencmis-client-impl:0.7.0',
'org.apache.chemistry.opencmis:chemistry-opencmis-commons-api:0.7.0'
) {
excludes "jaxws-rt"
}
'org.apache.chemistry.opencmis:chemistry-opencmis-client-impl:0.7.0',
'org.apache.chemistry.opencmis:chemistry-opencmis-commons-api:0.7.0'
) {
excludes "jaxws-rt"
}
runtime (
'org.apache.chemistry.opencmis:chemistry-opencmis-client-api:0.7.0',
'org.apache.chemistry.opencmis:chemistry-opencmis-client-bindings:0.7.0',
'org.apache.chemistry.opencmis:chemistry-opencmis-client-impl:0.7.0',
'org.apache.chemistry.opencmis:chemistry-opencmis-commons-api:0.7.0'
) {
excludes "jaxws-rt"
}
пятница, 6 июля 2012 г.
Форма М-15, запакованые приложения для Google Chrome
- Форма М-15 для документа "Требование-Накладная" конфигурации "1С:Бухгалтерия 2.0" - скачать
- Google предлагает интересный способ разработки приложений для запуска на компьютере пользователя (оконных приложений) - запакованные приложения (Packaged Apps). Запакованные приложения представляют собой zip-архив с включенными туда html-страницами, css-стилями, javascript. Т.е. это сайт, который открывается с диска компьютера пользователя с помощью браузера Google Chrome в режиме оффлайн. Помимо обычного JavaScript API Chrome предоставляет API доступа к файловой системе, использования устройств через последовательный интерфейс и USB, использования сетевых ресурсов, хранения данных на стороне клиентов др. Также могут использоваться различные JavaScript-библиотеки, например, YUI, jQuery и т.д.. Такие приложения на данный момент не могут быть размещены в магазине Google Chrome Market, так как спецификация постоянно эволюционирует. Запускаемое приложение не имеет адресной строки, переходы между функциональными областями приложения осуществляются с помощью ссылок на страницах приложения.
четверг, 5 июля 2012 г.
Управление зависимостями grails-приложения в среде STS
Для описания зависимостей grails-приложения или плагина используется файл BuildConfig.groovy в каталоге conf. Нужно раскомментировать строки: mavenLocal() и mavenCentral(), если используются и другие maven-репозитории, их можно добавить ниже, например: mavenRepo "http://repo1.maven.org".
Зависимости определяются в блоке dependencies этого же файла, например:
dependencies {
provided: (
[group: 'org.apache.chemistry.opencmis', name: 'chemistry-opencmis-client-api', version: '0.7.0'],
[group: 'org.apache.chemistry.opencmis', name: 'chemistry-opencmis-client-api', version: '0.7.0']
)
}
Кроме сферы определения зависимостей provided есть еще: build, compile, runtime, test. Сами зависимости определяются как в maven через указание группы, названия и версии артефакта.
После добавления зависимости нужно щелкнуть по проекту приложения правой кнопкой мыши и выбрать подпункт "Refresh Dependencies" пункта "Grails Tools".
Подробнее здесь http://grails.org/doc/latest/guide/single.html#ivy, есть и другие формы определения зависимостей.
Подробнее здесь http://grails.org/doc/latest/guide/single.html#ivy, есть и другие формы определения зависимостей.
среда, 4 июля 2012 г.
Удаленное сопровождение с Echogent, строковые функции MySQL, аспекты и экстраторы в Alfresco, CMIS в Alfresco, проекты Apache для работы с CMIS
- компания www.echogent.com предоставляет EchoServer для организации службы удаленной поддержки с помощью VNC, стоимость услуги небольшая
- функции для обработки строк в MySQL http://www.mysql.ru/docs/man/String_functions.html
- аспекты (aspect) в Alfresco могут быть использованы для добавления к метаданным контента или пространств определенного набора свойств и указания их значений, этот метод изменения метаданных может быть использован вместо создания собственных типов контента (моделей содержимого). Аспект после создания не появляется автоматически в интерфейсе Alfresco Explorer, чтобы это произошло потребуется изменение конфигурации Alfresco. Механизм экстракторов данных используется для извлечения данных из контента и добавления их в метаданные, существует предопределенный набор экстракторов, они настраиваются под конкретные нужды. Подробнее можно почитать здесь http://wiki.alfresco.com/wiki/Metadata_Extraction
- страница, посвященная CMIS-интерфейсу в Alfresco, размещена здесь http://localhost:8080/alfresco/service/cmis/. На ней приводятся разные полезные ссылки на ресурсы CMIS: спецификация, пошаговые руководства, интерфейсы для работы с репозиторием через CMIS. Еще одна полезная страница http://wiki.alfresco.com/wiki/CMIS.
- проекты Apache: Abdera (реализует спецификацию Atom) и Chemistry (предоставляет сервер и клиент спецификации CMIS) могут быть использованы для работы с репозиторием по спецификации CMIS
вторник, 3 июля 2012 г.
Ссылки на контент и пространства в Alfresco, захват экранных действий с помощью bugcam.com
- Ссылка в Alfresco (shortcut) при нажатии ссылки "Create shortcut" в свойствах контента или пространства создаются в разделе "Shelf" (разделы переключаются слева сверху, где написано "Navigator")
- Для захвата действий экрана можно использовать программу www.bugcam.com, бесплатно можно записывать 5 роликов в месяц, есть плагины для интеграции с системами отслеживания багов, типа trac и другими
понедельник, 2 июля 2012 г.
Система резервирования bacula, система создания сайтов для онлайн обучения moodle, различные модули для CMS Drupal, список и сравнение CMS, кнопка позвонить мне через Skype, программа для создания и редактирования иконок .ico IcoFX
- Для резервирования данных может быть использована система http://www.bacula.org, похоже, система интересная: позволяет через агентов на резервируемых компьютерах обеспечивать поблочное резервирование.
- Сайты для онлайн обучения, создания курсов и т.д. могут быть разработаны с помощью проекта http://moodle.org/, соответствует спецификации SCORM
- Различные модули для Drupal:
- pathauto - для автоматического создания url-ресурсов, дружественных для индексации поисковыми системами
- menu_block - для создания вложенных блоков меню (подменю)
- date - для поддержки типа данных Date в собственных типах содержимого (content types), реализует, через модуль views, всплывающие календарики для выбора значения
- imce - для поддержки процедуры загрузки файлов
- imce wysiwyg - связь предыдущего модуля с различными визуальными редакторами
- wysiwyg - визуальный редактор страниц (есть и другие)
- Сайт со списком различных CMS, есть сравнение CMS, http://www.cmsmatrix.org/
- Кнопку для звонка на свой Skype с сайта или из e-mail можно смастерить здесь http://www.skype.com/intl/en/tell-a-friend/get-a-skype-button/
- Программа для рисования иконок в формате .ico icofx. Как известно, формат .ico может содержать несколько изображений различного размера и использован для отображения в закладке веб-браузера в виде файла с именем favicon.ico
Ярлыки:
онлайн обучение,
резервирование данных,
bacula,
CMS,
date,
drupal,
favicon.ico,
ico,
icofx,
imce,
imce wysiwyg,
menu_block,
moodle,
pathauto,
scorm,
skype,
views,
wysiwyg
Подписаться на:
Сообщения (Atom)