среда, 6 сентября 2017 г.

SOLID - объяснение принципов

Наткнулся но адекватное объяснение принципов SOLID с примерами.
Текст на английском, но есть субтитры.

SOLID – The Five Commandments of Good Software
https://channel9.msdn.com/Events/Visual-Studio/Live-2017/W19

вторник, 5 сентября 2017 г.

WordPress - ускорение сайта

Проблема

Свежеустановленный сайт на WordPress тормозит

Материалы по теме

Для решения вопроса - погуглил и сделал подборку материалов по теме

Как ускорить сайт на WordPress в 17 раз. Пошаговая инструкция
http://rightblog.ru/2632

11+ способов ускорить загрузку WordPress сайта.
http://wpmen.ru/11-sposobov-uskorit-zagruzku-wordpress-sajta.html

Ускоряем Wordpress
https://habrahabr.ru/post/224159/

Разгоняем Wordpress до скорости света
https://habrahabr.ru/post/69046/

Как можно быстро ускорить загрузку сайта на WordPress
https://wpcafe.org/tutorials/kak-mozhno-byistro-uskorit-zagruzku-sayta-na-wordpress/

5 простых советов для ускорения загрузки вашего WordPress-сайта
https://wpcafe.org/hacks/5-prostyih-sovetov-dlya-uskoreniya-zagruzki-vashego-wordpress-sayta/

18 способов ускорить любой WordPress сайт
http://wpnice.ru/speed-up-wordpress/

9 советов, как ускорить работу сайта на WordPress
https://hostiq.ua/blog/wordpress-site-speed/

12 способов как ускорить сайт на WordPress
https://webformyself.com/12-sposobov-kak-uskorit-sajt-na-wordpress/

Как ускорить WordPress в 3 раза! Личный опыт
http://fairheart.ru/wordpress/osnovy-sozdaniya-bloga/kak-uskorit-wordpress.html



Что помогло в моем случае

Для отслеживания тормозящих мест загрузки страницы использовал Pingdom

1. Установил плагин кеширования
Поставил WP Super Cache

2. Отменил размещение картинок на ....wp.com, соответственноу меньшились тормоза при загрузке
http://bogdanowsky.ru/ssyilki-vedushhie-na-i0-wp-com.html

В моем случае это ускорило загрузку сайта более чем в 2 раза. Клиенту пока этого достаточно. Другие методики пока не применял.

понедельник, 14 августа 2017 г.

Перенаправление всех ссылок на сайт на корневую папку (php, apache, .htaccess)

Задача

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

Сделал сайт с одной станицей, на который перенаправлял бы все запросы с други доменных имен.

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

Окружение

php, apache server

Решение

Помог файл .htaccess
(файл с таким именем сделал в корне сайта)

Простое решение: перенаправить все запросы на корень сайта

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^(.+)$ / [R=301,L]
</IfModule>

Задача чуть усложнилась, когда на странице "Технические работы" понадобилось отображать картинку. Т.к. перенаправление действовло и на картинку и сбрасывало её адрес.

Поэтому чуть усложнил скрипт. Теперь он перенаправляет все кроме картинок.

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !\.(gif|jpe?g|png)$ [NC]
RewriteRule ^(.+)$ / [R=301,L]
</IfModule>

Пока так решил вопрос. Идеи по улучшению принимаются в комментариях

Материалы по теме


htaccess - 47 наглядных примера серверного редиректа

Excluding images from mod_rewrite rule (тут взял идею по работе с картинками)

.htaccess PHP

25 правил .htaccess, которые должен знать каждый web-разработчик


20+ правил .htaccess, которые должен знать каждый разработчик

Документация по htaccess

Файл .htaccess - общая информация

Директива модуля - RewriteRule

RewriteCond Директива модуля Mod rewrite




четверг, 27 апреля 2017 г.

Подводные камни установки TFS

на чем спотыкался

разрешить TFS для файрвола в публичной сети

добавить пользователю разрешения на создание проектов (проект создается в VS)

пятница, 3 февраля 2017 г.

Битрикс на виртуальной машине (BitrixVM) -обновить версию MySql до 5.6

Задача

обновить MySql до версии 5.6 на виртуальной машине битрикс (BitrixVM)

Решение

1. Подключился к серверу через ssl

2. (опционально) Обновление виртуальной машины
В моем случае пришлось обновлять саму виртуальную машину

Этот процесс описан здесь
https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=32&LESSON_ID=6501

3. Обновление версий php и My Sql
Эта часть описана здесь
https://dev.1c-bitrix.ru/learning/course/?COURSE_ID=32&LESSON_ID=7127


Полезная информация:

Узнать версию MySQL
http://webonrails.ru/post/369036059738117360/


Чтобы вернуться из shell в меню виртуальной машины, введите команду:
cd
./menu.sh

среда, 18 января 2017 г.

Delphi TWebBrowser Получить HTML

Сценарий

Использую в Delphi 7 компонент TWebBrowser для редактирования HTML.
В моем сценарии редактируется HTML-вариант почтового уведомления

Задача

получить отредактированный HTML

Перед решением

Сразу дам ссылки на вспомогательные материалы:

Варианты решения

Варианты - самые разнообразные. Не все у меня получились. Ссылки привожу. То, что сработало в моем случае - опишу отдельно ниже.



Какое решение подошло мне

Двухфазный способ:

1. при передаче значений в TWebBrowser добавлять теги <body> и </body>. У меня сработало, т.к. в шаблонах сообщений из не было

код:
'<body>'+AHtml+'</body>'

2. Получение результата делать таким кодом

(FWebBrowser.Document as IHTMLDocument2).body.innerHTML; 

Примечание: без первого этапа TWebBrowser обрезал стили, которые были в письме. 


вторник, 17 января 2017 г.

Delphi TWebBrowser - загрузить Html из строки

Окружение: Delphi 7

Задача

загрузить в компонент TWebBrowser Html из строки

Решение


procedure THTMLEdit.EditText(CONST HTMLCode: string);
var
  Doc: Variant;
begin
  if NOT Assigned(wbBrowser.Document) then
    wbBrowser.Navigate('about:blank');

  Doc := wbBrowser.Document;
  Doc.Clear;
  Doc.Write(HTMLCode);
  Doc.Close;
end;

Взял отсюда:
http://stackoverflow.com/questions/39773033/which-is-the-best-way-to-load-a-string-html-code-in-twebbrowser


Доп. информация

Еси Вы хотите узнать, как получить Html из TWebBrowser, Вам сюда:
Как получить отредактированный HTML из TWebBrowser