среда, 5 декабря 2012 г.

Переназначение кнопок телефона Samsung Galaxy Spica i5700

Неожиданно перестала работать кнопка разблокировки телефона Samsung Galazy Spica I5700, это произошло вечером и в сервис центр-было идти поздно. Оказалось, что эту неприятность можно устранить переназначив функцию разблокировки другой кнопке, например, кнопке поиска. Сам я сделать это не успел. наступила ночь, а утром в сервис-центре ее отремонтировали за 20 минут и 600 рублей. Но идея такова:
  1. Необходимо найти файл, назначающий функции кнопкам, это описано здесь http://vk.com/topic-10408800_26286960, у меня прошивка другая, потому и файлы называются иначе, но понять какой из них и для чего очень просто по их содержимому. В процессе редактирования файла могут понадобиться программы ES File Explorer и Root Explorer.
  2. Файлы из первого пункта принадлежат root'у, поэтому для того, чтобы получить права на их редактирование, возможно, потребуется установить заплатку для запуска программ от root'а. Это мероприятие описано здесь http://forum.samdroid.net/f27/how-get-root-samsung-i5700-en-02-10-v-lk10-13/, а по-русски здесь http://forum.samsung-fun.ru/viewtopic.php?p=67687
Необходимо обращать внимание на версию прошивки, иначе, как обещают, перестанут работать и другие кнопки, да и весь телефон тоже.

пятница, 7 сентября 2012 г.

Формирование конфигурационных файлов .htaccess webсервера Apache HTTPD, модули Drupal, быстрое создание виртуальных сред для VirtualBox


  • удобное средство создание файлов .htaccess для web-сервера Apache HTTPD  http://www.htaccesstools.com/
  • полезные модули Drupal:
    • модуль транслитерации (transliteration), можно использовать совместно с модулем pathauto для создания url страниц без кириллических символов
    • PHP Filter - позволяет включать в текст страниц php-скрипы
  • для быстрого создания виртуальных сред для VirtualBox можно использовать  http://vagrantup.com/

вторник, 21 августа 2012 г.

Трафареты для создания бумажных прототипов пользовательского интерфейса, создание сеток HTML-страниц, редакторы для web


  • Прикольные трафареты для создания прототипов пользовательского интерфейса на бумаге  http://www.uistencils.com/
  • Различные способы создания сеток для прототипирования web-страниц:
    • http://grids.heroku.com/ - позволяет создать HTML и CSS с заданными параметрами сетки
    • http://thesquaregrid.com/ - предлагает скачать комплект инструментов, содержащий pdf-файл, файлы для Photoshop'а и Illustrator'а. а также CSS и HTML с элементами различных пропорций
    • http://drupal.org/project/squaregrid - проект для Drupal, основанный на предыдущем ресурсе, позволяющий создать тему с собственной раскладкой для сайта на Drupal
    • http://susy.oddbird.net/ - разработан на Ruby, предназначен для создания страниц-сеток с гибкой разметкой, основан на следующем проекте
    • http://compass-style.org/ - упрощает создание листов стилей CSS, основан на следующем проекте
    • http://sass-lang.com/ - расширение CSS3, упрощает создание листов стилей
    • http://lesscss.org/ - язык динамического создания CSS, также предназначен для упрощения создания листов стилей, есть различные компиляторы LESS, для Windows  http://www.dotlesscss.org/, также есть плагин для Drupal, выполняющий компиляцию на лету  http://drupal.org/project/less
    • http://dev.w3.org/csswg/css3-grid-layout/ - разрабатываемая W3C спецификация сеток, для использования в CSS
    • http://compass.handlino.com/ - недорогой компилятор Sass и средство прототипирования от того же разработчика  http://fireapp.handlino.com/
  • Различные среды разработки и редакторы PHP (web):

среда, 8 августа 2012 г.

Бесплатная программа прототипирования web-страниц и пользовательского интерфейса, программы сохранения ссылок на web-ресурсы


  • бесплатная программа для прототипирования web-страниц и пользовательского интерфейса Pencil Project, представляет собой плагин для Firefox, обладает развитой функциональностью, в большинстве случаев не худшей, чем у коммерческих аналогов. Однако, в отличии от большинства коммерческих решений не предоставляет возможность использования удаленного репозитория для хранения и демонстрации эскизов. При необходимости, репозиторий придется делать самостоятельно. Также нет средств поддержки процесса разработки: отслеживание задач, отображение изменений в реальном времени и т.д. Интерфейс, как и создаваемые эскизы,  очень приятные, есть возможность экспорта эскизов в HTML и PDF для дальнейшего размещения на сервере для демонстрации клиентам
  • простое средство для сохранения страниц для последующего прочтения  http://www.instapaper.com, позволяет сохранять ссылки, а потом читать на Android'е, iPhone'е и т.д.
  • похожий на предыдущий ресурс,  http://www.readability.com, дополнительная возможность - переформатирование страницы для удобства чтения на планшетах и букридерах, умеет отсылать страницу на Amazon Kindle

вторник, 7 августа 2012 г.

Программа записи загрузочного образа на USB-устройство, установка Ubuntu 12.04 с USB-устройства, кодировка конфигурационных файлов Apache HTTPd, прошивка 5.1.2 для Amazon Kindle Touch, определение mac-адреса в windows


  • для записи загрузочного образа на USB-устройство может быть использована программа Image Writer for Windows, записывает файлы с расширением .img
  • установка Ubuntu 12.04 с USB-устройства подробно описана здесь
  • в качестве кодировки конфигурационных файлов web-сервера Apache HTTPd 2 используется UTF-8
  • появилась прошивка 5.1.2 для Amazon Kindle Touch, устанавливается поверх прошивок ветки 5.1.x. Оказалось, что при наличии постоянного WiFi-соединения прошивки на Kindle устанавливаются автоматически
  • определить MAC-адреса сетевых интерфейсов в Windows можно командой: ipconfig /all

пятница, 20 июля 2012 г.

Бесплатный антивирус для Windows ClamAV, плагин Eclipse для поддержки Lua, создание списка однотипных документов в Word 2003, создание архивов в Python, установка кодировки исходных файлов в Python


  • бесплатный антивирус для Windows ClamAV
  • плагин для Eclipse для поддержки Lua - ссылка для установки плагина
  • для создания однотипных документов в Word 2003 может быть использован механизм слияния, доступный через меню "Сервис-Письма и рассылка-Слияние"
  • для создания zip-архивов с помощью Python используется библиотека zipfile, там все просто, единственный интересный момент заключается в использовании кодировки cp866 для именования файлов внутри архива, т.е. необходимо преобразование вида: filename.decoe("cp1251").encode("cp866"), если для файла исходников используется кодировка cp1251, что должно быть отмечено в заголовке как: # -*- coding: cp1251 -*-

четверг, 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:
  • виртуальный последовательный порт для 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 с возможностью различных изменений исходного документа


  • различные системы проведения онлайн-семинаров:
  • включение фрагментов 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: например:
 <?php include 'footer.php' ?>
  • но в шаблонах twig php'ая функция include не работает, вместо нее следует использовать собственную функцию include, например:
{% include '::commons/analytics.html.twig' %}
указанный фрагмент должен находиться в каталоге 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.api.SessionFactory;
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 с конструктором по умолчанию
    // и устанавливается свойства 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, которому передается в качестве
    // параметров объект со свойствами соединения, определен выше
    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"
}

пятница, 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, есть и другие формы определения зависимостей.

среда, 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

пятница, 29 июня 2012 г.

CSS-трюки для IE, CMS на Symfony, бесплатный DNS-хостинг на Yandex и почта в своем домене, система удаленного развертывания web-приложений


  1. Чтобы стиль CSS отображался только в IE, необходимо перед стилевой конструкцией поместить символ *, например: * width: auto;
  2. CMS Diem, разработана с использованием web-фреймворка Symfony, проста в настройке, расположена по адресу http://diem-project.org
  3. Yandex предоставляет бесплатную возможность делегирования домена на собственных DNS-серверах, позволяет экономить 650 руб. в год, отказываясь от платных услуг поддержки DNS-зон сайта http://www.nic.ru. Для того, чтобы воспользоваться этим предложением, необходимо подтвердить права собственности домена, указав в качестве контактного e-mail хитрую абакадабру, предложенную Yandex'ом. Также для домена нужно прописать DNS-сервера: dns1.yandex.ru и dns2.yandex.ru. Делегирование домена, выполнение всяких проверок занимает 6-8 часов. Страница на Yandex'е для осуществления действий по делегации домена https://pdd.yandex.ru. Кроме того, при делегировании домена Yandex автоматически настроит почтовые записи, web-интерфейс почты будет доступен по адресу http://mail.[имя домена]. Можно создать до 1000 ящиков неограниченного размера.
  4. Для удаленного развертывания web-приложений может быть использована система Capistrano,  https://github.com/capistrano/capistrano/wiki
  5. Какой-то книжный сайт www.pdfbook.co.ke

среда, 27 июня 2012 г.

Перенос документов из 1С:Ресторан в 1С:Общепит, фотогалерея на JavaScript, redirect корневого каталога в Symfony2

  1. При обмене информацией между программами 1С:Ресторан и 1С:Общепит активно используются объекты "Планы обмена", объект предназначен для регистрации изменений в объектах базы данных. В обмене участвуют объекты с зарегистрированными изменениями. О планах обмена можно прочитать здесь  http://www.v8.1c.ru/overview/ExchangePlans.htm. В случае необходимости повторной выгрузки документов из 1С:Ресторан в 1С:Общепит необходимо перепровести документы определенного типа нужного периода. С версии 1С:Ресторан используются правила обмена "1С:Ресторан", ранее нужно было использовать "Рестарт". По всей видимости, интеграция сайтов, разработанных с использованием Bitrix, с программами 1С также построена на использовании планов обмена. Этот механизм также применим для реализации механизмов интеграции с другими системами, например, сайтами, не использующими Bitrix.
  2. Неплохая JavaScript фотогалерея, проста в настройке, версия для YUI некорректно работает в IE,  http://lokeshdhakar.com/projects/lightbox2/#download.
  3. Для обеспечения доступа к сайту, разработанному с использованием Symfony2, по имени домена может быть использована php-конструкция, размещенная в файле index.php, расположенного в корне каталога сайта:

пятница, 22 июня 2012 г.

Товарно-транспортная накладная 1-Т, особенности представления строк в PHP, управление загрузочными средами в OpenIndiana


  1. Печатная форма товарно-транспортной накладной 1-Т, отличается от стандартной формы, включенной в программу "1С:Бухгалтерия 2.0.37.8", возможностью печати документа "Перемещение товаров", представляет собой внешнюю обработку и может быть встроена в список "Дополнительные печатные формы и обработки/Внешние обработки", скачать.
  2. По всей видимости, внутреннее представление строк в PHP имеет национальность. В отличии от Java, где для внутреннего представления строк используется Unicode, строки в PHP могут быть представлены в различных кодировках. Для преобразования кодировки строк может быть использована функция mb_convert_encoding. Функция, в частности, пригодилась при сохранении строк в базе данных с кодировкой Windows-1251.
  3. Для управления загрузочными средами в OpenIndiana может быть использована команда beadm. Загрузочные среды OpenIndiana создаются автоматически при обновлении системы или вручную при необходимости и предназначены для сохранения стабильной загрузочной конфигурации, включая состояние файловой системы. В последствии. при желании, можно загрузить систему в одной из предыдущих сохраненных конфигураций. Команда beadm list отображает список существующих загрузочных сред; команда beadm activate [имя загрузочной среды] указывает на необходимость использования конкретной загрузочной среды при следующей загрузке системы; команда beadm destroy [имя загрузочной среды] приводит к удалению указанной загрузочной среды со всеми ее файловыми системами и записью в загрузчике GRUB.

четверг, 21 июня 2012 г.

Настройка web-сайта, разработанного с помощью Symfony2, на реальном web-сервере

  • Если после загрузки на реальный web-сервер, скрипт app.php, запускающий контроллеры сайта, не находит контроллеры, скорее всего, нужно почистить кэш командами:
    • на Windows: php app/console cache:clear --env=prod
    • на Unix: app/console cache:clear --end=prod. Если не запускается, нужно разрешить права запуска командой chmod +x console. В верхней строке скрипта указана ссылка на исполняющую скрипты интерпретатор php. Если в вашей системе путь отличается, нужно указать правильный.
  • Для упрощения http-запросов сайта средой Symfony2 активно используется механизм переопределения url (url-rewriting), предоставляемый модулем mod_rewrite web-сервера Apache HTTPD. В некоторых каталогах уже определены правила переопределения url, например:
    • чтобы не вводить путь к контроллеру ([имя домена]/web/app.php/[контроллер сайта с параметрами]), правило, размещенное в каталоге web, позволяет указывать url в форме [имя домена]/web/[контроллер сайта с параметрами];
    • для каталогов /app, /bin, /src определены правила, исключающие доступ к содержимому каталога извне;
    • также желательно вместо адреса начальной страницы [имя домена]/web/ указывать просто название сайта, т.е. [имя домена], для этого в корневом каталоге сайта нужно разместить файл под названием .htaccess со следующим содержимым:
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule .* /web/ [R]
</IfModule>

четверг, 17 мая 2012 г.

Установка OpenIndiana 151a Desktop с USB-устройства

Установка OpenIndiana 151a Desktop с USB-устройства

Сначала нужно скачать дистрибутив Indiana'ы для USB по адресу http://dlc.openindiana.org/isos/151a/oi-dev-151a-x86.usb, на странице http://openindiana.org/download/#live есть и другие варианты дистрибутивов.
Теперь нужно скачать программу создания Live USB отсюда http://devzone.sites.pid0.org/OpenSolaris/opensolaris-liveusb-creator/OsolLiveUSB003.zip?attredirects=0, а это страница, посвященная этой программе, http://devzone.sites.pid0.org/OpenSolaris/opensolaris-liveusb-creator.
Также потребуется флешка размером не менее 1Гбайт, несодержащая никаких разделов, иначе образ Indiana'ы копируется подозрительно быстро, видимо, копируется только grub, и потом не работает.
Очистить флешку в Windows 7 можно с помощью программы diskpart, просто введите название программы в командной строке (cmd). После запуска выберите очищаемую флешку командой:

# select disk 1

Здесь 1 - номер диска, желательно его уточнить в диспетчере дисков (mmc-оснастка называется "Управление дисками"), если не хотите удалить что-то важное.
После выбора диска введите команду: clean
Флешка чиста, запускайте программу создания Live USB, укажите скачанный образ и флешку, нажмите кнопку "Start", дождитесь окончания процесса копирования. Флешка готова, с нее можно загрузиться и установить OpenIndiana'у.

вторник, 15 мая 2012 г.

Прошивка 5.1.0 для Amazon Kindle Touch

Прошивку 5.1.0 для Amazon Kindle Touch можно скачать отсюда http://www.amazon.com/gp/help/customer/display.html/?nodeId=200790650#download
Новая прошивка умеет:
  1. Разговаривать на разных языках (английский, немецкий, французский, испанский, итальянский и бразильский португальский), русского по прежнему нет. Имеются в виду языки пользовательского интерфейса.
  2. Показывать книги и pdf в ландшафтном виде, а то многие pdf невозможно было читать.
  3. Переводить с помощью переводчика Bing.
  4. Использовать новый формат электронных книг Kindle Format 8.
  5. Всякие улучшения Wi-Fi.
  6. Улучшения встроенной говорилки.
  7. Позволяет дружнее дружить с facebook и twitter.
  8. И всякие подсказки на экране.
Немного изменился интерфейс: элементы стали компактнее, середина кнопочек при нажатии подсвечивается.
Есть и недостатки: самый маленький шрифт на русских книгах стал какой-то неровный, буквы разного размера, английский- нормально.

пятница, 13 апреля 2012 г.

О тестировании JavaScript

Интересная статья о тестировании JavaScript: Tools to unit test your JavaScript
Рассматриваются три среды тестирования:
  1. QUnit - основана на jquery, напоминает JUnit, для выполнения тестов надо создать html-страницу и подключить к ней библиотеки среды и тестовые скрипты, вывод результатов тестирования осуществляется на эту же страницу почти как в JUnit или плагина к нему для Eclipse.
  2. YUI Test - используется библиотека Yahoo YUI, примерно тоже самое только менее удобный вывод результатов в YUI Console.
  3. JSTestDriver - для тестирования используется web-сервер, включенный в эту среду, потом к нему подключаются браузеры и выполняется тестирование.
Непонятно, как создавать mock-окружение, похоже этого нет ни в одной из сред.

пятница, 6 апреля 2012 г.

Создание публикаций в формате EPUB 3.0

Ссылка на статью http://www.ibm.com/developerworks/opensource/library/x-richlayoutepub/index.html?ca=drs-
EPUB 3.0, по всей видимости основан на применении HTML5 и, как следствие, позволяет включать в публикацию мультимедийный контент, а так же определять раскладку страниц, примеры страниц в статье выглядят почти как настоящие книги.

воскресенье, 26 февраля 2012 г.

Создание программной точки доступа Wi-Fi в Windows 7

Windows 7 позволяет создавать программную точку доступа Wi-Fi, при этом ресурсы одного Wi-Fi-адаптера используются для и для создаваемой точки доступа и для существующего Wi-Fi соединения. Подробнее можно прочитать здесь или здесь. Ниже приведены команды для создания программной точки доступа, их следует вводить в консоль cmd, запущенную от имени администратора:

# netsh

включение режима программной точки:
netsh> wlan set hostednetwork mode=allow

указание параметров Wi-Fi сети:
netsh> wlan set hostednetwork ssid="Virtual Wi-Fi" key="password" keyusage=persistent

запуск сети
netsh> wlan start hostednetwork

После этих команд новая Wi-Fi-сеть должна появиться, а ниже еще две полезные команды:

остановка Wi-Fi-сети:
netsh> wlan start hostednetwork

отключение режима программной точки:
netsh> wlan set hostednetwork mode=disallow

суббота, 25 февраля 2012 г.

Программы для создания эскизов web-страниц

Программы для создания эскизов web-страниц
Программы для создания эскизов позволяют быстро создавать наброски web-страниц, планировать переходы, создавая связи между элементами страницы и эскизом страницы, предоставляют возможность совместной работы над эскизами. Программы представляют собой web-приложения.

вторник, 3 января 2012 г.

Управление сервисами в Ubuntu 11.10

Оказывается для управления сервисами в Ubuntu 11.10 используется скрипт service. Потом надо будет обязательно посмотреть, что он делает. Для перезапуска web-сервера Apache может быть использована команда: sudo service apache2 restart

Использование WebServices для доступа к OTRS

OTRS предоставляет возможность доступа к своему API через WebServices. С OTRS API можно ознакомиться здесь. Доступ к OTRS API предоставляется через url http://localhost/otrs/rpc.pl, при необходимости localhost надо заменить на ip-адрес или имя сервера с OTRS.
Для выполнения тестового вызова я использовал ActivePerl. Изначально в нем нет модуля SOAP::Lite, его надо установить после установки Perl'а.
Сначала запустим Perl командой: perl -MCPAN -e shell,а в появившейся консоли дадим команду: install SOAP::LiteСкорее всего компилятор gcc и средство сборки make не установлены, так что процесс займет немало времени. По ходу выполнения действий по установке модуля необходимо подтверждать действия.
Введем код тестовой программы в файл test_otrs.pl:



use warnings;
use SOAP::Lite('autodispatch', proxy => 'http://localhost/otrs/rpc.pl'); # должен быть указан адрес OTRS-сервера


my $RPC = Core.new();


my %Ticket = $RPC->Dispatch('some_user','some_pass','TicketObject','TicketGet', TicketID=>1); # login и пароль указываются в настройках, а здесь приведены значения по умолчанию


print "$Ticket{TicketNumber}\n";

Программа просто выводит номер заявки по ее идентификатору, но то, что она это делает, означает, что web-сервисы работают. Подобным образом можно вызывать и другие функции системы.

понедельник, 2 января 2012 г.

IDE для PERL

Eclipse может быть использован для программирования на языке PERL с помощью проекта http://epic-ide.org/

Программы для рисования


  1. ArtWeaver Free, ArtWeaver Plus - www.artweaver.de, free - бесплатная, Plus - 29евро. Программа вроде как и неплохая, но по-моему не поддерживает по нормальному планшет, так что переходим к следующей.
  2. ArtRage Studio Pro, ArtRage Studio - www.artrage.com, studio pro - 49.90$, starter - 19.90$. Есть версии для iPhone и iPad. По-моему, так же не чувствительна к степени нажатия. Попробуем еще.
  3. CorelPainter SketchUp -  http://www.corel.com/corel/product/index.jsp?pid=prod3430311&cid=catalog20038&segid=1332&storeKey=us&languageCode=en, 119$. После перезагрузки компа программа перестала работать.
  4. Painter Essentials 4 -  http://www.corel.com/corel/product/index.jsp?pid=prod3430222&cid=catalog20038&segid=6000014, 59.99$
  5. AutoDesk SketchBook Pro - 59.99$, очень обыкновенные инструменты, нет в них ничего художественного.
  6. Corel Painter 12 - 300-400$, на амазоне вроде дешевле, демоверсия не смогла запуститься, наверно не оптимизирована для Win7

О книжке Service Management For Dummies

Прочитал больше половины книги, какая-то ерунда, никакой конкретики, сплошная вода, в жизни неприменимо.