Issue-2017.08.11

Тел. +7 904 707-11-25
E-mail: yudenisov{at}aport2000.ru

Категория «16+»

Мой сайт   Визитка на Мемиане

[Выпуск 11.08.2017]

 

[[15.08.2017]]

[15.08.2017 12:42:42]

Вчера создал группу и учётную запись клиента для удалённого доступа к моему серверу.

Проверив учётные записи, я обнаружил, что этот пользователь видит нежелательные каталоги на моём сервере. Решение этой проблемы казалось тривиальным – убрать пользователя «Все» из списка пользователей, которым разрешён доступ к файлам. Но не всё так оказалось простым.

После удаления пользователя «Все» из ACL каталога с файлами веб-сервера у меня пропал доступ к этим файлам со стороны сервера Apache. Появлялась ошибка 403 «Fobiden». В форумах все кивали на настройки файла .htaccess, которых у меня в принципе не было. По моему мнению, Apache в основном пользуются линуксоиды, с их «дебильной засорённостью мозгов UNIX» и которые просто не представляют, что есть другие платформы и ACL! В конце концов, после двух часов лазания по Интернету, обратился к англоязычной документации по моей сборке Apache. Тоже странно, почему это я не начал с этого… 🙂 В документации чётко прописано, что сервер запускается от имени пользователя «Local System» («СИСТЕМА» в русскоязычной Windows) и что этот пользователь должен иметь доступ ко всем каталогам Apache, включая файлы веб-страниц. Проверил – действительно, из-за последнего сбоя файловой системы пользователь «СИСТЕМА» у меня был ограничен в правах. После предоставления полного доступа для этого пользователя к каталогу проблема была снята.

В той же документации написано, как предоставить доступ не администраторам к некоторым каталогам (например, с log файлами). Для этого нужно:

  1. Создать группу пользователей, не пересекающуюся ни с какими другими группами, например, SysUsers;
  2. В клиенте групповых политик:
    • Перейти в пункт: «Политика «Локальный компьютер» -> «Конфигурация компьютера» -> «Конфигурация Windows» -> «Параметры безопасности» -> «Локальные политики» -> «Назначение прав пользователя» -> «Работа в режиме операционной системы»;
    • Дважды щёлкнуть на этом пункте, и добавить группу «SysUsers» в список разрешённых пользователей и групп. По умолчанию в ней находятся только «Администраторы домена»;
    • Закрыть оснастку групповых политик;
  3. Затем надо добавить права этой группе на полный доступ к тем файлам и каталогам, к которым вы хотите разрешить неограниченный неконтролируемый доступ. При этом соблюдайте осторожность и имейте чувство меры! А иначе станете мерином… Шутка!
  4. Теперь просто добавляйте новых пользователей в эту группу, и Voi la, они окажутся способными управлять системными файлами без предоставления им администраторских полномочий.

 

Примечание. Пока автор не осуществлял этой затеи на своём сервере. Уж больно она опасная с неоднозначными преимуществами. 🙂

После проведения всех этих манипуляций я, наконец-то, исправил сайт своего клиента.

[[14.08.2017]]

[14.08.2017 10:53:12]

Сегодня занимался настройкой программы WinRT для удалённого управления компьютером Windows из локальной сети. Преимущества этого способа следующие:

  1. Работает из командной строки, но безопаснее telnet. Более того, поддержка telnet в Windows Server 2016 прекращена;
  2. Практически не убиваем. Остановить службу, по которой работает этот протокол, затруднительно. В отличие от того же telnet, SSH, RDP, Radmin, VNC и т.п. протоколов удалённого доступа;
  3. Не нагружает компьютер.

Подробнее с настройкой и работой WinRM можно ознакомиться по ссылке: https://windowsnotes.ru/windows-server-2008/udalennoe-upravlenie-windows-s-pomoshhyu-winrm/ Я только дополню эту статью:

    • Первым делом, как только Вы включили WinRM, автор настоятельно рекомендует включить базовую аутентикацию пользователей на компьютерах. Это необходимо сделать на всех компьютерах в сети. Это можно сделать при помощи групповых политик, а также с помощью команд:

WinRM set winrm/config/service/auth @{Basic=«true»}

WinRM set winrm/config/client @{TrustedHosts=«»}

    • После этого соединение можно устанавливать только командой:

winrs -r:ComputerName –u:Domain\Username –p:Password cmd.exe

где «Computername» – имя компьютера в сети,домене;

«Domain» глобальный или локальный домен (локальный домен совпадает с именем компьютера, на котором зарегистрирован пользователь);

«Username» – имя пользователя в этом домене;

«Password» – пароль пользователя «Username»;

«cmd.exe» – выполняемая команда на удалённом компьютере.

Примечание: в статье Выше дан неверный синтаксис. Автор внёс в пример исправления;

Примечание: Поле -p:Password можно опустить. Тогда перед соединением с удалённым компьютером будет запрашиваться пароль.

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

  • Необходимо защитить данные из этого файла от несанкционированного доступа. По хорошему права на чтение и запись для этого файла должен иметь только владелец этого файла, который по совместительству должен быть администратором компьютера. Этот файл не нужно расшаривать даже для группы «Администраторы»;
  • Данный командный файл должен быть сохранён в кодировке OEM DOS 866. Это очень важно, если файл содержит символы русского алфавита. В любой другой кодировке интерпретация символов будет не правильной. Подвох заключается в том, что стандартный редактор текста notepad.exe поддерживает только кодировки ANSI WINDOWS 1251 и UTF-8, поэтому использовать его для написания макросов нельзя. Используйте любой другой редактор (BRED2, AkelPad, Notepad++ и др., в которых заявлена поддержка множества кодировок символов).

Для соединения с удалённым компьютером через PowerShell необходимо подать команду

Enter-PSSession -ComputerName ComputerName -Credential Domain\Username

С той же расшифровкой параметров. Но для этого также нужно настроить WinRM и базовую аутентификацию для неё. Завершается сессия PowerShell на удалённом компьютере командой:

Exit-PSSession

Более подробно о командлете Enter-PSSession можно узнать, набрав команду

Enter-PSSession -?

Примечание: перед этим неплохо бы загрузить справку по командам PowerShell, запустив оболочку PowerShell от имени администратора и выполнив в ней:

Update-Help

[14.08.2017 08:17:57]

Вчера я пытался настроить веб-сервер nginx для Windows Server. Это мне удалось. По моим ощущениям, этот сервер, во-первых, просто молниеносный, во-вторых, более надёжный, в-третьих, имеет более понятный механизм настроек (через JSON файлы). Однако у него есть несколько особенностей, о которых следует упомянуть.

  1. Большая брешь в безопасности сервера, с которой я так и не справился. Если прописать URL к файлу PHP на сервере, то в некоторых случаях он не открывается, а скачивается! Скорее всего, дело в настройках PHP, но обнаружить её я так и не смог.
  2. Все настройки веб-сервера можно оставить для начала по умолчанию, как в файле примера. Исключение – настройка FastCGI, но об этом следующий пункт.
  3. Для подключения PHP интерпретатора к сайту необходимо запустить FastCGI сервер PHP. Это делается из командной строки. Вообще лучший файл о том, как настраивать nginx+PHP+MySQL – это статья https://www.easycoding.org/2011/05/09/ustanovka-i-nastrojka-nginx-php-pod-windows.html с поправкой на то, что скачивать Вы будете не инсталлятор PHP, а архив скомпилированных программ с сайта php.net, MySQL у Вас будет другой версии, и Вы не обязаны ставить пакеты в рекомендуемые каталоги. К тому же у Windows Server 2016 есть ограничение: его брандмауэр не открывает порты TCP/UDP с номером, более 6000. Поэтому файлы для запуска, перезапуска и остановки веб-сервера Вам нужно будет переписать.
  4. В файле примера с дистрибутивом обязательно смените строку

fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;

на

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

Иначе при попытке чтения файла PHP появится ошибка: «нет источника файлов». А смысл её – система не находит каталоги, в которых должны располагаться файлы с FastCGI программами.

Ну, вот и всё. Осталось только переименовать файлы start.cmd, restart.cmd и stop.cmd во что-нибудь уникальное, и предусмотреть возможность запуска переименованного файла start.cmd при старте Windows Server. Например, создав на него ярлык и добавив этот ярлык в автозагрузку. А можно сделать так, как сделал я: создать командные файлы для запуска и останова всех служб Интернета на сервере и включать или выключать их по мере надобности.

Да, чуть не забыл. Не размещайте командные файлы старта и остановки веб-служб в общедоступных каталогах. Вы ведь хотите, чтобы сервер у вас работал? А иначе будете работать только Вы, восстанавливая удалённые файлы конфигурации и перезапуская службы, с умыслом или по недомыслию остановленные Вашими клиентами.

 

[[04.08.2017]]

Сегодня разбирался с файлами проектов программы «mobirise». Выяснил следующее:

  • В новой версии программы mobirise нет как таковых ни HTML, ни CSS файлов, а сам файл проекта представляет собой JSON файл, из которого потом генерируется и HTML, и CSS составляющая.
  • Соответственно программа «DeltaPi HTML+CSS Editor» для данной системы бесполезна.
  • Тем не менее, данный файл можно достаточно безопасно редактировать. Дело в том, что части, ответственные за генерацию CSS и HTML составляющей, находятся в разных частях JSON файла, и записываются в него с минимальными изменениями. Поэтому, найдя через поиск нужный фрагмент HTML файла в JSON, можно в него дописать теги.
  • Более того, добавленные теги становятся также частью шаблона, и могут редактироваться средствами самой программы mobirise. То есть появился реальный способ редактировать шаблоны и темы mobirise, не производя дорогостоящую оплату тем;
  • Теги и атрибуты записываются в HTML файл практически без изменений. Единственно, знак «двойная кавычка» надо будет заменить на «обратный слеш двойная кавычка», как принято в языке Си.
  • С тем, как редактировать кнопки, я ещё не разобрался, как и с тем, можно ли таким способом вставлять на страницу анимированную инфографику;

Напомню, что MobiRise – это программа для вёрстки посадочных страниц, ориентированная, в первую очередь, на красочные продающие страницы. В неё встроена поддержка стилей, блочной вёрстки, вставки фоновых изображений и видео, возможность управления блоками посадочных страниц, ввода контактных данных, настройки метатегов и т.п. Эта программа в настоящее время является моим основным инструментом для создания сайтов-одностраничников и посадочных страниц.

 

[[01.08.2017]]

[01.08.2017 18:20:00]

Создание каймы из паттерна.

Общий принцип создания каймы из любого изображения достаточно прост, и реализуется средствами css. Кайма создаётся по отдельности для левой, правой, верхней и нижней части блока. При этом если для верхней и нижней части блока кайма создаётся автоматически по всей ширине, то с каймой по левому и правому краю предстоит морока.

Начнём с того, что, указав для изображения свойство repeat-y, Вы, на самом деле, не получите размножение плитки по вертикали, если правильно не указали параметр «высота». Как правило, на этапе написания текста высота не известна, и другого способа, как написать JavaScript для вычисления высоты блока, автор не знает.

Во-вторых, правая часть каймы по умолчанию расположена ниже левой. Поэтому для её корректного положения, необходимо в параметре CSS «margin-top:» указать высоту левого блока со знаком минус. Тогда правая часть корректно отцентрируется по вертикали.

В-третьих, корректного способа «привязки узора» к верхней и нижней кайме автор не нашёл. В принципе, здесь тоже можно использовать скрипт, динамически вычисляющий ширину блока с каймой и создающий нужное смещение. Но не слишком ли много JavaScript для такой простейшей процедуры?

В-четвёртых, самое важное, из-за чего автор настоятельно не рекомендует делать боковые каймы. Дело в том, что текст будет печататься ниже левой каймы по умолчанию, что нам совсем не нужно. Поэтому текст придётся размечать вручную, с помощью тегов «margin» и «padding», из-за чего остальные стили могут «поплыть». Грубо говоря, надо создать либо блок с отрицательным верхним отступом и положительными нижним, левом и правом отступами, либо все элементы нужно будет ровнять с помощью атрибута «margin-top», подбирая его для каждого элемента индивидуально. То есть Вам придётся всё время использовать экранную линейку.

Код же, реализующий кайму БЕЗ УЧЁТА высказанных замечаний, простой.

В HTML файле внутри блока нужно вставить что-то вроде этого:

<div class=»top»></div>
<div class=»left»></div>
<div class=»right»></div>

<div class=»bottom»></div>

В css файле надо прописать следующие атрибуты:

DIV.top {

background-image : url(«<файл с изображением>»);

background-position : top left;

background-repeat : repeat-x;

height: <высота плитки в пикселях>;

}

DIV.zebra-left {

background-image : url(«<файл с изображением>»);

background-position : top left;

background-repeat : repeat-y;

height: <высота блока в пикселях>;

}

DIV.zebra-right {

background-image : url(«<файл с изображением>»);

background-position : top right;

background-repeat : repeat-y;

height: <высота блока в пикселях>;

margin-top: -<высота блока в пикселях>;

}

DIV.zebra-bottom {

background-image : url(«<файл с изображением>»);

background-position : bottom left;

background-repeat : repeat-x;

height: <высота плитки в пикселях>;

}

Ну вот и всё! 🙂

[31.07.2017 21:51:24]

Вчера я наконец-то разобрался, как рисовать «зебру» для сайта. О всём по порядку.

Зебра, как я её представляю, представляет собой чередующиеся чёрные и прозрачные полоски одинаковой ширины, наклонённые под углом в 45 градусов относительно горизонта. В принципе, нарисовать такой узор можно на компьютере, используя следующий алгоритм:

      1. Нарисовать «окантовку узора» в виде квадрата размером 100х100мм, с толщиной линии в 1pt и отсутствующей заливкой;
      2. Нарисовать в верхней части квадрата прямоугольник шириной в 100мм и высотой 25мм, без окантовки и залитый чёрным цветом;
      3. Клонировать этот прямоугольник, опустив его на 50мм ниже;
      4. Сгруппировать все фигуры;
      5. Повернуть группу на 45 градусов против часовой стрелки;
      6. Увеличить масштаб группы до 141,2%;
      7. Вписать в центр фигуры квадрат размером 100х100мм, без окантовки с произвольной заливкой;
      8. (!) Применить инструмент «Пересечение» между группой и квадратом;
      9. Убрать заливку у элементов, оставшихся от квадрата;

Этот приём прекрасно работает для векторных изображений, но для меня он не подходит. Поскольку созданный этим способом SVG файл для размещения в вебе становится неинформативным, неряшливым и с избыточным кодом. Обратившись к описанию SVG формата, я понял, что нужные мне элементы графика рисуются стандартным в компьютерном мире способом, а именно:

      1. Перемещением поднятого пера в нужную точку рисования;
      2. Перемещением опущенного пера в нужную точку с декартовыми координатами (рисование прямой линии).

В спецификации формата описано ещё много больше элементов, но мне пока достаточно этих. Вкратце алгоритм рисования зебры у меня будет следующий:

  1. В программе Incscape создаётся пустой лист, в левом верхнем углу которого рисуется квадрат размером 32х32мм, без окантовки, залитый произвольным цветом.
  2. Данный файл сохраняется в формате SVG.
  3. Полученный файл открывается в текстовом редакторе;
  4. В этом файле меняются:
    • В теге svg -> sodipodi:namedview -> inkscape:document-units=»mm», svg -> sodipodi:namedview -> units=»mm», заменяем mm на px;
  5. После тега вставляем два тега:
  6. <pathinkscape:connector-curvature=»0″id=»trapec»d=»M 32,0 -32,32 16,0 16,-16 0,-16 Z»style=»display:inline;fill:#000000;stroke:none;stroke-width:0.01;stroke-miterlimit:4;stroke-dasharray:none» /><pathinkscape:connector-curvature=»0″id=»triang4518″

    d=»M 0,0 0,16 16,-16 -16,0 Z»

    style=»display:inline;fill:#000000;stroke:none;stroke-width:0.01;stroke-miterlimit:4;stroke-dasharray:none» />

  7. Сохраняем полученный текст, зарываем текстовый редактор и открываем этот файл снова в программе Incscape;
  8. В указанной программе производим группировку указанных объектов, и выполняем другое мелкое редактирование по желанию, после чего сохраняем файл.
  9. Вновь открываем файл в тестовом редакторе, и проводим следующие изменения:
    • В теге

    width=»1122.5197″

    height=»793.70081″

    viewBox=»0 0 297 210″

    на

    width=»32″

    height=»32″

    viewBox=»0 0 32 32″

    • убираем из всех тегов атрибут «transform»;
  10. Сохраняем полученные изменения.
  11. Открываем полученный файл в веб-браузере. Мы должны увидеть квадратный паттерн зебры.
  12. Не бойтесь, если на любом из этапов редактирования текст svg файла изменится до неузнаваемости. Это так работает внутренний оптимизатор svg графики inkscape

Итак, самое сложное, паттерн мы получили. А как создать из паттерна кайму, я скажу позже.

 

[[24.07.2017]]

Сегодня занимался программой для создания лэндингов MobiRise и форумным движком phpBB. Необходимо описать их возможности.

Движок phpBB для создания форумов. Самый распространённый из бесплатных форумных движков. Из-за этой распространённости у него есть неприятная особенность. Для него разработано множество спам-ботов, и для их защиты в систему по умолчанию встроена функция блокировки по IP адресу, по неудачным попыткам авторизации, отправки поста, защита от входа под несколькими аккаунтами и т.п. Эти меры безопасности для обычных пользователей излишни, и могут привести к тому, что, например, невозможно зарегистрироваться на форуме, невозможно войти в систему после разрыва соединения (пропал Интернет) и т.п. Более того, возможна даже блокировка учётной записи администратора сайта, что вообще полное безобразие. Все эти вопросы решаются достаточно просто:необходимо очистить пароли в браузере, и, если это не помогает, очистить папку cache на сервере (попросить администратора). А вообще движок неприхотливый, устанавливается даже во вложенный каталог на сервере, не требователен к типу базы данных, и позволяет разделять одну и ту же базу данных для разных CMS (путём создания префиксов таблиц).

Движок является гибридным. В базу данных записываются настройки движка и данные аккаунтов. Однако в коды расширений и код других вспомогательных файлов могут добавляться записи. Поэтому в системе возможен небольшой хак, описанный даже в руководстве: если в системе наблюдается ошибка 500 («белый экран») по неизвестной причине, достаточно восстановить оригинальную версию исходного модуля, в котором произошла ошибка. Но злоупотреблять этим хаком не следует. Модуль должен работать, и если он работает нестабильно, его лучше удалить из системы.

При переустановке движка нужно удалить все созданные системой файлы (то есть содержимое каталога с установленным движком). Удалять всю базу данных не нужно – достаточно удалить все таблицы с первоначальными префиксами. Заранее предупреждаю, таких таблиц будет много, и удалять их лучше не через веб-оболочку типа phpMyAdmin, а через Database Management Studio (графическую оболочку базы данных, которая поставляется вместе с СУБД). Иначе сайт у Вас может просто «зависнуть». В крайнем случае в той же базе данных можно создать таблицы с другими префиксами, но это не лучшее решение. За объём базы данных тоже приходится платить.

Теперь я привожу несколько советов, как чистить движок в случае белого экрана (ошибки 500, 503 и им подобным).

Совет 1. Как чистить папку Cache

Очень часто начинающие администраторы впадают в ступор, когда после операции по исправлению phpBB ошибка не исчезает. При этом они забывают первое правило: при любой проблеме, после её исправления, сразу же надо почистить кэш движки. Кеш движка расположен по адресу:

<папка с установленной phpBB на сервере>/cache

В этой папке обязательно присутствуют файлы:

.htaccess

index.htm

и множество необязательных файлов и каталогов. Необходимо удалить всех их, кроме двух обязательных, указанных выше. Удалять файлы лучше, подключившись к удалённой системе по FTP доступу, с помощью FTP клиента, например, FileZilla. Возможно также подключение по SFTP, а вот подключение по telnet и ssh Вам мало что даст: файлы придётся удалять по одному, а это долго.

Совет 2. Причины белого экрана

Начинающий администратор впадает в панику после того, как phpBB ни с того ни с сего показала белый экран. Тем не менее ни один гуру не выдал мне тот секрет, с которым я с Вами сейчас поделюсь. А именно: белый экран возникает только в двух случаях: при ошибке в ядре phpBB и при ошибке активации дополнений phpBB. Всё! Неправильное добавление стилей, ошибка в стилях и темах, неправильные CSS и Language паки никогда не ведут к краху системы. Более тог, ошибки в ядре системы также часто проявляются при работе приложений.

Если у Вас наблюдается ошибка в работе ядра системы, то вам действительно не подвело. Ошибка может быть связана с установкой на веб-сервере какого-нибудь системного модуля и настройки, конфликтующей с phpBB. Очень часто причиной глюков является php 7.1, её нестандартные модули и настройки. Логи здесь мало помогают, поскольку они выдают ошибку в файлах ядра, которые Вам править запрещено. Но по косвенным признакам можно догадаться, что ошибку вызывает обращение к модулю php. Тогда с помощью команды grep можно определить, в каком дополнении phpBB используется обращение к некорректному модулю php, и постараться удалить из системы этот модуль. Совершенно кардинальным решением будет смена хостинга.

Если ошибку вызывает установленное дополнение phpBB, То в логах сервера можно сразу найти ссылку на вызвавший ошибку модуль. Тогда, первым делом, его нужно отключить через редактирование базы данных (следующий совет), затем очистить кэш (предыдущий совет), а потом уже думать, что с ним делать: обновить, удалить или самому исправить код модуля. Но вообще возиться с глючными модулями phpBB – неблагодарное занятие… лучше не допускать их установки. Тем более, что система предупреждает об ошибках в установке модулей, и есть расширения, проверяющие другие расширения перед их активацией.

Совет 3. Как удалить глючный модуль phpBB

Единственный правильный способ удаления любого модуля в phpBB – это его дезактивация, удаление данных о модуле из системы, а потом – удаление каталога с модулем из системы. Модули в системе находятся в папке:

<папка с установленной phpBB на сервере>/ext/<подпапка с именем вендора>/<папка с именем расширения>

В этой папке обязательно находится файл composer.json, а в нём – обязательно запись «name:» с именем модуля. Это имя стандартно:

<папка с установленной phpBB на сервере>/ext/<подпапка с именем вендора>/<папка с именем расширения>

Именно под этим именем настройки расширения записываются в базу данных. А значит отключить скрипт можно будет с помощью SQL запроса:

UPDATE phpbb_ext SET ext_active = 0 WHERE ext_name = ‘blitze/sitemaker’

Где phpbb_ – префикс таблицы phpBB ext (он у Вас может отличаться), а название blitze/sitemaker является именем отключаемого расширения. Автор специально приводит в качестве примера скрипт отключения самого глючного из расширений phpBB, которое он установил по недомыслию, поддавшись рекламе, а удалил только спустя 12 часов, после безуспешных попыток копания в коде ядра phpBB.

С phpBB вроде всё. С остальным можно разобраться, если руки не кривые, а извилины в мозгу не прямые.

Программа MoboRise для создания лэндингов

Эту программу я нашёл случайно, путешествуя по Интернету. В рекламе сказано, что версия бесплатная начиная с Beta4. В Интернете есть её старые крякнутые версии, но я их ставить не советую. Улучшения функционала Вы всё равно не получите, а защита версии 4 Beta – RegisterWare/ Не зарегистрировавшись на сайте, Вы её не сможете использовать, а все купленные и установленные дополнения и темы синхронизируются с аккаунтом на сервере. Это позволило сделать лицензию на программу OpenSource, оставив её платной.

Однако не всё так плохо. Независимый разработчик, компания DeltaPi разработала несколько собственных бесплатных дополнений для этой программы (эти дополнения имеют расширения .mbrext), которые делают покупку большинства приложений для этой программы излишними. И всё это благодаря лицензии OpenSource, позволяющей создавать такие дополнения. Наиболее значительным недостатком этой программы было отсутствие бесплатного редактора кода, но с помощью разработчика DeltaPi появились более совершенные инструменты для решения задачи редактирования кода. Правда, менее удобные. Но удобство не должно стоить $129. 🙂

Движок позволяет создавать действительно красочные, настраиваемые, responsive, адаптированные лэндинги, в которые можно вставлять фон и анимацию. И это помимо настройки шрифтов и цветов, изменения выравнивания текста, полное изменение текста и иконок внутри страницы, добавления собственных полей и блоков, Goggle аналитики, ссылок на сайты и соцсети, кнопки «поделиться», вставки счётчиков аналитики и веб-сценариев. У этого инструмента есть одна особенность, что для лэндингов является скорее достоинством, чем недостатком: инструмент создаёт статичные страницы с динамическим содержимым, не используя языка серверных сценариев. А значит, данные страницы не могут быть шаблонами каких-либо CMS, не могут быть частью веб-приложений и не могут встраиваться в фреймворки. Но для этих целей у разработчиков есть совсем другие элементы.

К недостаткам этого фреймворка я бы отнёс отсутствие шаблонов адаптивной анимации на JavaScript. То есть «схлопывающиеся окна», «выезжающие домики» и прочая анимация в инфографике не будет доступна из коробки, и Вы должны будете её импортировать в готовый шаблон. А это нелёгкая работа, не на «раз-два», даже если Вы найдёте код нужной анимации. С другой стороны, адаптивная анимация отсутствует в практически любом графическом редакторе веб-страниц с претензиями, даже в Adobe Dreamweaver. То есть это удел высокобюджетных премиальных разработок, на что программа с максимальным бюджетом в $200 не претендует.

 

[[23.07.2017]]

[23.07.2017 9:49:22]

Установил клиент Parallel Access на свой компьютер, и подключился к нему через свой телефон. Да, ощущение от работы, если сказать, что супер, значит ничего не сказать. По сравнению с RDP как небо и земля! Все жесты на телефоне оптимизированы под операционную систему Android. На главный экран можно добавлять приложения Microsoft Windows, чтобы с ними можно было работать на планшете как с приложениями Android. А подписка на сервис стоит дешевле, чем Evernote! Короче, всё, перехожу на Parallels Access.

 

[[22.07.2017]]

[22.07.2017 20:10:02]

Только что написал две простейшие программы, иллюстрирующие полуавтоматическое заполнение форм.

Первая программа написана на Visual Basic .Net Она включает в себя простую форму из 2 полей и одного переключателя, с кнопкой Ok. Поля заполняются с клавиатуры, а перемещаться между полями можно как с помощью мыши, так и при помощи клавиатуры. Нажатие на кнопку «Ok» вызывает окно сообщений с перечислением введённых параметров.

Вторая программа написана на языке VBScript. Она запускает первую программу, активирует её, и, через небольшие паузы, заполняет поля определёнными фразами. В качестве управляющих клавиш используются клавиши пробела и табуляции, в качестве клавиш переключения раскладки – Ctrl+Shift. Коды клавиш передаются малыми латинскими буквами, поскольку WShell не поддерживает русскую кодировку. Также после переключения на другое поле и перед нажатием на управляющую клавишу необходимо вставить в сценарий оператор WScript.Sleep 100, который задерживает выполнение сценария на 0,1 секунду. Без этого ввод управляющих символов и прописных букв будет некорректен.

Ещё одно замечание по WShell. Скрипты должны находиться в том же каталоге, что и исполняемые файлы. Иначе их корректная работа не гарантируется. Так, у меня не нашёлся файл, находящийся глубоко во вложенных каталогах папки «Мои документы». Это надо учитывать при написании скриптов. С другой стороны, для запуска приложений из значков это замечание теряет силу, но появляются другие ограничения… 🙂

Запуск скрипта я оформил как командный файл с расширением .cmd (для запуска из командной строки командой cscript) и как файл описания с расширением .wsh (для запуска из графического интерфейса программой wscript). А вот эти файлы можно поместить в любое место файловой системы, и тот и другой запускаются в Windows без проблем. В обоих файлах я прописал абсолютный путь к файлу .vbs. Вместо него можно также использовать файлы с расширением .js, проблем не возникнет.

[22.07.2017 15:52:12]

Только что, наконец-то, обновилась справочная база Microsoft Visual Studio 2015. Для меня это важно, поскольку прежняя справочная база MSDN 2003 у меня не запустилась. Видимо, она не совместима с Microsoft Internet Explorer 11.

До этого я установил на сервер утилиты для Microsoft SQL Server, Visual Studio 2017 Community, Visual Studio Code с расширениями, MinGW и различные утилиты для программирования. Мечтаю написать программу для «замены личности на личину» в Интернете. Это тем более актуально, что сейчас принят запрет на использование анонимайзеров, и скрывать свою личность в Интернете стало ещё проблематичнее.

Также я подписался на сервис Avast Secuire Line. Как ни странно, этот сервис в нашей стране не запретили, не смотря на проволочки наших депутатов. Видимо, из-за того, что этот сервис сотрудничает в том числе и с Российскими провайдерами, предоставляя доступ к сети и с территории России.

 

[[21.07.2017]]

[21.07.2017 16:06:37]

Получил ответ на обращение в службу поддержки Microsoft. Мне обещали разблокировать учётную запись Azure для добавления подписок, но о сроках разблокировки мне сообщат дополнительно.

Причина блокировки банальная. При регистрации у меня пропал Интернет, и процесс регистрации «застрял на половине», и не может быть возобновлён или начат заново. Сейчас мне каждые полчаса звонят из службы поддержки Microsoft разные люди и переспрашивают мои данные.. Видимо, повод для блокировки серьёзный… 🙁

[21.07.2017 11:42:43]

Сегодня установил на свой компьютер программы Visual Studio Code Editor и некоторые расширения для него.

Также пришлось удалить с ноутбука приложения UltraVNC и RAdmin Server? поскольку эти программы работали крайне нестабильно.

Вчера я зарегистрировался на сервисе удалённого управления компьютерами Parallels и попытался зарегистрироваться как локальный администратор сервисов на Microsoft Azure. Однако при регистрации на Azure произошёл сбой, в результате которого я не подтвердил свою банковскую карту, а номер телефона, привязанного к аккаунту, теперь не принимается к регистрации на Azure. 🙁 Не знаю, можно ли исправить эту ситуацию. Я написал в службу поддержки клиентов Azure, но ответа пока не получил.

Добавить комментарий