суббота, 17 декабря 2016 г.

JTLS: дата и время

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
...
<c:set var="now" value="<%=new java.util.Date()%>"/>
<fmt:formatDate type="both" dateStyle="medium" timeStyle="medium" value="${now}"/>

источник

среда, 14 декабря 2016 г.

Установка Windows 10

Начать ее следует отсюда: https://www.microsoft.com/ru-ru/software-download/windows10.

Logback: описание идентификаторов тэга pattern

http://logback.qos.ch/manual/layouts.html#conversionWord

Пример строки настройки паттерна из Azk2logback.xml:
<pattern>%d{dd.MM.yy HH:mm:ss.SSS},%t,%p,%c{0},%m%n</pattern>
Пример вывода информации в журнал по настроенному паттерну:
12.12.16 20:06:34.732,Scheduler,DEBUG,SQL-execute,SELECT 1 FROM SchPlan WHERE Id={800000000361} FOR UPDATE (0 ms)

Описание ключевых слов:
  • %d{dd.MM.yy HH:mm:ss.SSS} - (date) дата;

  • %t - (thread) имя потока, создавшего информацию для журнала;

  • %p - уровень журнализации;

  • %c{0} - имя логгера, {0} - говорит о том, то выводить нужно только "хвостик" от полного имени, например, если полное имя "mainPackage.sub.sample.Bar", то при "%c{0}" будет выведен только "Bar";

  • %m - (msg) собственно сообщение для журнала;

  • %n - (new_line) сепаратор, он же символ новой строки, комбинация спецсимволов для новой строки, зависит от платформы (например, для Linux это "#10#10", а для Windows - "#13#10").
  • вторник, 13 декабря 2016 г.

    Delphi 7: Количество вхождений подстроки в строку

    Источник

    uses StrUtils;

    ...

    function Substr_Count(const Substring, Text: string): integer;
    var
    offset: integer;
    begin
    result := 0;
    offset := PosEx(Substring, Text, 1);
    while offset <> 0 do
    begin
    inc(result);
    offset := PosEx(Substring, Text, offset + length(Substring));
    end;
    end;

    суббота, 10 декабря 2016 г.

    PostgreSQL: перенос БД (временное решение)

    БД перенесена сюда:
    /mnt/diska/postgresql/9.5/data
    Конфигурационные файлы, например, pg_hba.conf, считываются оттуда же.

    (Временно) Запуск службы из под пользователя «postgres» с помощью команды:
    /usr/pgsql-9.5/bin/postmaster -D /mnt/diska/postgresql/9.5/data

    (Временно) Использовать команду
    service postgresql-9.5 start
    пока запрещено.

    четверг, 8 декабря 2016 г.

    Oracle: importdp.sh: UDI-00014: invalid value for parameter, 'remap_schema'

    После включения опции подкрашивания результатов команды grep
    модифицированная версия утилиты импорта дампов importdp.sh стала выдавать ошибку:

    ./importdp.sh MY_NEW_SCHEMA mydumpfile.dmp

    -----------------------------------------
    Restoring from E USER to MY_NEW_SCHEMA using dump mydumpfile.dmp ...
    -----------------------------------------

    Import: Release 11.2.0.4.0 - Production on Thu Dec 8 19:23:40 2016

    Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.

    Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    UDI-00014: invalid value for parameter, 'remap_schema'

    Оказалось, что для подкрашивания текста grep добавляет к найденной строке дополнительные символы, что влияет на длину результирующей строки: визуально строка выглядит прежней, но на деле она становится длиннее за счет доп.символов, например, команда
    echo "foo"
    выведет на экран слово из 3-х букв:
    foo
    команда
    expr length `echo "foo"`
    сообщит, что слово длиной 3 символа:
    3
    команда
    echo "foo"|grep foo
    выведет на экран все то же слово "foo", только в этот раз оно будет подкрашено (по-умолчанию красным):
    foo
    вроде бы, ничего особенного, визуально, также 3 символа, но если посчитать количество символов в строке с помощью команды
    expr length `echo "foo"|grep foo`
    то результат будет:
    19
    потому что на самом деле строка уже состоит не только из слова, но еще и из управляющих символов, которые можно увидеть с помощью команды:
    echo "foo"|grep foo|less
    результатом которой будет
    ESC[01;31mfooESC[00mESC[K

    пятница, 2 декабря 2016 г.

    Можно ли запустить на одном компьютере одновременно два AzkExchange с форматами AzkFinance или AzkPlanning?

    Можно.
    Создайте 2 пакетных файла (батника) со следующим содержимым:

    AzkFinance.bat (строка приведена для примера, у вас будут свои пути к файлам и папкам):
    start C:\azk\exch\bin\NR-6.2.0.4-3-1.8j\AzkExchange.exe /mutex=AzkFinance /dir=c:\azk\exch\format\AzkFinance\v2_37-5.0.1.6-66

    AzkPlanning.bat (строка приведена для примера, у вас будут свои пути к файлам и папкам):
    start C:\azk\exch\bin\NR-6.2.0.4-3-1.8j\AzkExchange.exe /mutex=AzkPlanning /dir=c:\azk\exch\format\AzkPlanning\4.3.2.15-264


    Примечание: с какой-то версии вместо /mutex можно использовать привычный /INSTANCE.

    Архив