Web — Дмитрий [KP0H] Пелевин https://pelevin.pro Сохраняю тишину в голове Thu, 08 Dec 2016 13:06:14 +0000 ru-RU hourly 1 48722140 Используем HTTPS https://pelevin.pro/2016/12/forcehttps/ https://pelevin.pro/2016/12/forcehttps/#respond Wed, 07 Dec 2016 09:45:55 +0000 https://pelevin.pro/?p=115690 Понадобилось мне, наконец-то, поставить на домен реальные сертификаты. Теперь можно открывать сайт по https, и это прям прекрасно и вообще практика из хороших, на мой взгляд.

Первое что я заметил, это WordPress, а именно на нем работает сайт сейчас, отлично отвечает и на http и на https, но никаких предпочтений не имеет. Заходишь себе по http, ну и сиди так.

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

Но это мне показалось как-то странно.

В общем, все просто. Дело решается добавлением пары строк в файл .htaccess:

php_flag display_errors on
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteCond %{ENV:HTTPS} !=on
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

А чтобы не чувствовать себя персонажем из примеров Хайпа, рекомендую ознакомиться с простенькой документацией по .htaccess.

Теперь если вы попробуете открыть скажем такой адрес http://pelevin.pro/2016/12/07/forcehttps/ веб-сервер все равно направит вас на секьюрный https://pelevin.pro/2016/12/07/forcehttps/.

]]>
https://pelevin.pro/2016/12/forcehttps/feed/ 0 115690
Установка PHP на Mac OS X https://pelevin.pro/2015/01/%d1%83%d1%81%d1%82%d0%b0%d0%bd%d0%be%d0%b2%d0%ba%d0%b0-php-%d0%bd%d0%b0-mac-os-x/ https://pelevin.pro/2015/01/%d1%83%d1%81%d1%82%d0%b0%d0%bd%d0%be%d0%b2%d0%ba%d0%b0-php-%d0%bd%d0%b0-mac-os-x/#respond Wed, 14 Jan 2015 23:14:08 +0000 http://pelevin.pro/?p=1983 С тех пор как я попробовал после Windows систем сесть на Linux, а потом и на Mac ничего кардинально не изменилось. Пока нужно сделать что-то не сложное — это делается в один клик, как только нужно сделать что-то очень простое, это просто невыполнимо.

Ну в общем, мне нужно настроить Mac OS для разработки на PHP. Надо заметить что Apache на моем Mac уже стоит, причем это по умолчанию. (У меня Yosemite, для справки).

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

Ну пожалуй по порядку.

Apache

Нам нужен для работы Apache, который в принципе уже предустановлен (в Yosimite по умолчанию доступна версия 2.4), но в панели управления никаких интерфейсов для работы с ним не представлено.

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

Но все можно сделать используя уже имеющиеся средства.

Нас интересует Terminal и apachectl.

Чтобы запустить web-сервер:

$ sudo apachectl start

Чтобы остановить apache:

$ sudo apachectl stop

Чтобы перезапустить apache после изменение конфигурации:

$ sudo apachectl restart

Если после запуска сервера Вы не можете зайти на http://localhost возможно необходимо добавить алиас в файле /etc/hosts: 127.0.0.1 localhost. Хотя, это должно быть по умолчанию.

Настройки Document Root

В первую очередь я изменил корневую папку, с которой работает сервер. По умолчанию это /Library/WebServer/Documents. Поскольку эта машина предназначена для разработчика можно изменить директорию, на папку в домашней директории пользователя. Для этого необходимо внести правки в конфигурационный файл Apache.

/etc/apache2/httpd.conf

Можно использовать любой удобный редактор, к примеру vi или subl. Главное запускать его с правами root, для этого необходимо использовать команду sudo.

Я предпочитаю использовать простой редактор — nano.

$ sudo nano /etc/apache2/httpd.conf

Terminal Nano httpd.conf

Найдите в документе DocumentRoot, строка должна выглядеть следующим образом:

DocumentRoot "/Library/WebServer/Documents"

Измените адрес на необходимый вам. К примеру

DocumentRoot "/Users/<имявашегопользователя>/Sites"

Так же нужно внести изменения внутри <Directory> должен быть указан тот же путь:

<Directory "/Users/<имявашегопользователя>/Sites">

Внутри блока <Directory> вы найдете настройку AllowOverride, измените ее следующим образом:

AllowOverride All

* посмотреть назначение параметров можно, например, здесь.

User & Group

Теперь апач смотрит на папку Sites, расположенную в домашней директории пользователя. Есть одна проблема, по умолчанию apache работает из под пользователя _www и группы _www, поэтому сервер может не иметь доступа к домашней директории. Снова редактируем httpd.conf.

User <имявашегопользователя>
Group staff.

Создаем корневую директорию

Конечно, для того чтобы применить настройки необходимо перезапустить Apache sudo apachectl restart.

Выше мы уже сделали необходимые настройки, но самой директории у нас еще нет. Создать ее можно из терминала или из Finder. Следующий пример создает директорию и файлик index.html, содержащий заглушку, которой можно будет проверить работу сервера.

$ mkdir ~/Sites
$ echo "<h1>Hello World!!!1111 Работает!!!</h1>" > ~/Sites/index.html

Теперь, когда вы откроете в браузере http://localhost, вы должны увидеть именно это сообщение. Если все работает — можно продолжать дальше.

Homebrew

Существуют различные менеджеры пакетов для Mac OS:

В принципе, вы можете использовать тот, что Вам больше нравится. Исторически сложилось так, что я пользуюсь Homebrew.

В первую очередь, для установки brew потребуется поставить XCode и Command Lite Tools. Сперва убедитесь, что установлен XCode он доступен в Mac App Store.

Затем в терминале пишем:

xcode-select --install

xcode-install

Установка

Полную документацию можно найти на Homebrew Wiki, кажется теперь ее переместили к репозиторию на GitHub. Я приведу только выдержку.

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

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

Проверка

Простой вариант проверить, что brew установился корректно — набрать команду:

$ brew --version

Так же вы можете использовать следующую команду, чтобы удостовериться, что все корректно

$ brew doctor

Вы получите инструкции, если необходимо что-то исправить.
Если brew уже был установлен, удостоверьтесь, что вы используете последую доступную версию:

$ brew update

Теперь можно работать с brew.

Немного мат.части для общего развития.

У Homebrew есть формулы, это нечто вроде скриптов на Ruby, например вот:

class Wget < Formula
  homepage "https://www.gnu.org/software/wget/"
  url "https://ftp.gnu.org/gnu/wget/wget-1.15.tar.gz"
  sha1 "f3c925f19dfe5ed386daae4f339175c108c50574"

  def install
    system "./configure", "--prefix=#{prefix}"
    system "make", "install"
  end
end

Homebrew устанавливает программы в их собственные директории и создает символьную ссылку на них в /usr/local.

Homebrew не станет устанавливать файлы за пределами своей директории. Вы можете установить Homebrew в любую директорию.

Установка PHP 5.4

В общем-то после установки brew, установка php становится весьма тривиальной задачей. В данном описании я покажу только установку конкретной версии PHP, а дальнейшем постараюсь показать вариант установки нескольких версий и переключения между ними. Англоязычное описание по установке нескольких версий php можно найти прямо здесь.

$ brew tap homebrew/dupes
$ brew tap homebrew/versions
$ brew tap homebrew/homebrew-php
$ brew install php54

Этот процесс займет какое-то время.

Если в процессе компиляции вы увидите ошибку: configure: error: Cannot find OpenSSL’s вам необходимо переустановить XCode command line tools, для этого достаточно набрать: xcode-select —install

Если вам потребуется подстроить php под себя, конфигурационный файл вы сможете найти по адресу:

/usr/local/etc/php/5.4/php.ini

Настройка Apache

Теперь, когда мы успешно установили php, необходимо объяснить Apache, как работать с ним. Для этого снова редактируем файл /etc/apache2/httpd.conf. Ищем в нем строку начинающуюся с #LoadModule php5_module.

# — в данном случае символ комментария, но мы можем не трогать эту строку, т.к. параметр все равно ссылается на версию php, которая была предустановленна вместе с OS X.

Просто добавляем под этой строкой следующее:

# Brew PHP LoadModule
LoadModule php5_module /usr/local/opt/php54/libexec/apache2/libphp5.so

Так мы сказали Apache для обработки PHP запросов использовать PHP 5.4, который установили ранее.

Так же сразу следует убрать комментарий с объявления модуля mod_rewrite.so (описание на английском языке можно найти здесь):

LoadModule rewrite_module libexec/apache2/mod_rewrite.so

Перезапускаем Apache, для обновления конфигурации $ sudo apachectl restart.

Теперь Apache должен начать обрабатывать php.

Для проверки этого утверждения используем команду phpinfo(), которая заодно расскажет нам практически все текущие параметры и пригодится в будущем.

Просто создаем файл info.php в папке ~/Sites/ и помещаем в него одну строку

<?php phpinfo()

Открываем в браузере http://localhost/info.php и наблюдаем страницу с информацией о нашем PHP.

phpinfo()

]]>
https://pelevin.pro/2015/01/%d1%83%d1%81%d1%82%d0%b0%d0%bd%d0%be%d0%b2%d0%ba%d0%b0-php-%d0%bd%d0%b0-mac-os-x/feed/ 0 1983
Создание вашего web-сайта, FAQ https://pelevin.pro/2012/06/%d1%81%d0%be%d0%b7%d0%b4%d0%b0%d0%bd%d0%b8%d0%b5-%d0%b2%d0%b0%d1%88%d0%b5%d0%b3%d0%be-web-%d1%81%d0%b0%d0%b9%d1%82%d0%b0-faq/ https://pelevin.pro/2012/06/%d1%81%d0%be%d0%b7%d0%b4%d0%b0%d0%bd%d0%b8%d0%b5-%d0%b2%d0%b0%d1%88%d0%b5%d0%b3%d0%be-web-%d1%81%d0%b0%d0%b9%d1%82%d0%b0-faq/#respond Sun, 03 Jun 2012 06:05:42 +0000 http://pelevin.pro/?p=394 Нужно ли Вам иметь свой веб-сайт?

Многие рассказывают что веб-сайт это важная, неотъемлемая часть вашей рекламной компании, вашего бизнеса, Вам не придется отвлекаться на телефонные звонки от Ваших клиентов и тратить время не объяснения им чего-либо. Тут же можно указать свои контактные данные, адреса филиалов. Говорят реклама в интернет побуждает клиента выбрать продукцию прямо на сайте и совершить заказ через специальную форму и тут Вам все равно нужно будет для подтверждения заказа связаться с заказчиком и уточнить все вопросы.

Ну давайте разберемся по пунктам.

1. Веб-сайт это важная, неотъемлемая часть Вашей рекламной компании, вашего бизнеса.

Веб-сайт это прежде всего престиж, статус, лицо фирмы, доступное в любое время дня и ночи. Сам по себе веб-сайт вряд ли можно назвать рекламой, им нужно постоянно заниматься, обновлять материалы, заниматься его продвижением, чтобы в результатах поиска в Yandex или в Google выходить не на 2 странице, после всех Ваших конкурентов, а в первых трех, пяти, десяти результатах. Чем больше Ваша сфера, чем более популярны такие запросы, тем сложнее Вам будет попасть наверх и тем менее вероятно что на Ваш сайт начнут попадать толпы народа. Будут конечно посетители, но скорее всего они будут находить адрес сайта где-то на уличной рекламе, визитках или встречать ссылки на других сайтах, если у Вас есть что-то интересное.

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

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

Если мы говорим о собственном каталоге или интернет-магазине, то вероятнее всего Вам придется звонить клиенту, выяснять у него детали, подтверждать заказ и т.п. Если мы говорим о сайте визитке или о том самом примере с сайтом эвакуатора, то Вам НУЖНО, чтобы Вам позвонили. Иначе зачем оставлять свои контакты доступными для всех.

3. Говорят реклама в интернет побуждает клиента выбрать продукцию прямо на сайте и совершить заказ через специальную форму и тут Вам все равно нужно будет для подтверждения заказа связаться с заказчиком и уточнить все вопросы.

Грамотность пользователей растет с каждым днем и они выбирают проверенные интернет-магазины, не хотят рисковать заказывать где-попало. Более того, в последнее время мне достаточно просто взглянуть на сайт, чтобы оценить стоит ли дальше с ним работать или можно искать другой. Конечно, иногда в такой «бан» попадают и вполне рабочие сайты. Просто они крайне бездумно реализованы, а мне, хочется голосовать рублем там, где я буду уверен в результате.

Чем является сайт на самом деле?

1. Показателем статуса и уровня Вашей компании. Зачастую, даже найдя компанию в каком-нибудь справочнике аля 2gis хочется зайти на сайт и сразу выбрать или хотя бы понять если ли у Вас то что мне нужно. Если найдутся еще 2-3 фирмы с теми же услугами, то с большей вероятностью обратятся в ту, которая имеет сайт и дает о себе информацию.

2. Возможность влияния на информационное пространство, продавливания своих интересов, предоставление потенциально широкому кругу лиц. Если информация уникальна можете быть уверены что вскоре к Вам на сайт появится множество ссылок и поплывут посетители.

3. Консультантом и продавцом Вашей продукции. Это возможно и реально, но есть факторы, влияющие на успешность такой задумки.

Когда нужно делать сайт?

1. У Вашей компании большие амбиции и возможности;
2. Вы считаете что у Вас достаточно контента (информации) чтобы дать пользователю интересный материал (фото, текст, видео и т.п.);
3. Вы уверенны что Ваша продукция востребована и желаете увеличить охват рынка, чтобы продавать еще больше;
4. Вы хотите познакомить потенциальных клиентов с совершенно новой продукцией, которую никто не видел;
5. Вы понимаете что просто сделать сайт недостаточно, нужны люди которые будет его обслуживать, продвигать, рекламировать, обновлять и добавлять информацию.

Рекомандации

Мои рекомендации просты, и скорее всего банальны.
1. Не пытайтесь сделать все сами. Вы же покупаете автомобиль в автосалоне и регулярно возите его на обслуживание. Если у Вас нет электричества, Вы не лезете в щиток, а вызываете электрика. Так и здесь, есть профессионалы своего дела, которые смогут оценить Вас, Вашу информацию и потребности и предложить нужное Вам решение. Когда Вы приходите с готовым «Нужно сделать вот так и так», расписанным на несколько страниц, то они могут и сделать то что Вы просите. А Вы уверенны что именно так правильно?

2. Перед тем как собраться идти к профессионалам соберите в кучу то что имеете. Поймите что Вы можете рассказать о специфике Вашего бизнеса, есть ли у Вас материал, хотя бы на страничку «О компании» или его должен будет написать кто-то. Если у Вам необходим интернет-каталог продукции, приготовте его, например, в Excell, или каком-то другом однородном виде. Вы не получите его на сайте пока не передадите разработчикам и чем однороднее и понятнее он будет выглядеть, тем быстрее Вы увидите результаты.

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

4. При выборе макета дизайна нужно понимать что Вы должны увидеть дизайн в том виде и с тем набором модулей, ссылок и т.п. с которым Вы хотите видеть итоговый сайт. Если Вам показывают макет со множеством элементов, рассказывая что это будет в следующих версиях, что-то пока уберут и т.п. — отказывайтесь и заставляйте дизайнера переделывать. Макет должен выглядеть так, как будет выглядеть сайт. Если сайт планируется когда-то дополнить, расширить — то в следующий раз дизайнер и нарисует все что нужно. А сейчас Вы должны понимать как будет в реальности, а не на картинке дизайнера.

]]>
https://pelevin.pro/2012/06/%d1%81%d0%be%d0%b7%d0%b4%d0%b0%d0%bd%d0%b8%d0%b5-%d0%b2%d0%b0%d1%88%d0%b5%d0%b3%d0%be-web-%d1%81%d0%b0%d0%b9%d1%82%d0%b0-faq/feed/ 0 394
Tweenk 1.2.5 https://pelevin.pro/2012/05/tweenk-1-2-5/ https://pelevin.pro/2012/05/tweenk-1-2-5/#comments Thu, 03 May 2012 04:00:46 +0000 http://pelevin.pro/?p=269 30 апреля вышло обновление Tweenk, в котором произошло следующее:

— в PvP режиме герой не может убивать членов своей гильдии;
— появился графический информер для каждого персонажа. Изображение на информере изменяется раз в день. Выглядит он вот так:

Свой информер и код для вставки в форумы и блоги можно найти на странице своего профиля прямо под изображением персонажа.
Кстати, судя по Roadmap, это должно было произойти ближе к концу лета.
— Немного изменен баланс, теперь намного проще получать уровни, вероятность выпадания вещей так же изменилась. Теперь, по заверениям автора, она лучше;
— Поправлены баги, реализована смена аватары и т.п.

На мой взгляд, все прекрасно, кроме двух моментов:
1. Если проводить аналогию с не-Lazy играми, то PvP можно тренировать в дуэлях и между согильдийцами. В этом плане получается, что PvP среди своих знакомых ты качать не сможешь, хотя, скорее всего, больше с ними общаешься. Но тут можно смотреть по-разному, с одной стороны — плохо, с другой — хорошо.
2. А вот пункт про увеличенную вероятность выпадания вещей и упрощение левелинга меня огорчил, в конечном счете это приведет к тому, что контент игровой будет кончатся значительно быстрее, а для тех, кто реально много общается в твиттере, и кто лишь изредка появляется, это будет означать, что: 1. Те кто общаются много будут ждать новый контент, 2. Те кто общаются мало будут догонять тех, кто общается много. 3. Автору придется значительно чаще выпускать обновления с контентом.

Также 24 апреля Tweenk обновил свою шкурку и теперь хорошо отображается на мобильных браузерах под Android и iOS.

]]>
https://pelevin.pro/2012/05/tweenk-1-2-5/feed/ 5 269
Mindfor WebMP 2.0, платформа для разработки Web-приложений https://pelevin.pro/2012/04/mindfor-webmp-2-0-%d0%bf%d0%bb%d0%b0%d1%82%d1%84%d0%be%d1%80%d0%bc%d0%b0-%d0%b4%d0%bb%d1%8f-%d1%80%d0%b0%d0%b7%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%ba%d0%b8-web-%d0%bf%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5/ https://pelevin.pro/2012/04/mindfor-webmp-2-0-%d0%bf%d0%bb%d0%b0%d1%82%d1%84%d0%be%d1%80%d0%bc%d0%b0-%d0%b4%d0%bb%d1%8f-%d1%80%d0%b0%d0%b7%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%ba%d0%b8-web-%d0%bf%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5/#respond Sat, 28 Apr 2012 04:05:29 +0000 http://pelevin.pro/?p=252 Платформа WebMP разрабатывается компанией Mindfor с 2009 г. С момента выхода ASP.NET MVC в компании было решено отказаться от продолжения разработки на обычном ASP.NET, и все дальнейшие веб-проекты реализовывались исключительно на MVC.

Автор и идеолог проекта, Александр Фомин, занимается разработкой на ASP.NET уже 10 лет, является Руководителем отдела разработки ПО компании Mindfor, а также членом Коллегии по информатизации и ИТ Общественного совета г. Тюмени.

Система управления сайтом Mindfor WebMP помогает веб-разработчикам, работающим на платформе ASP.NET MVC, создавать сайты и веб-приложения, сосредоточившись на важнейших задачах. В случае типового веб-сайта, будь это визитка, корпоративный сайт или интернет-магазин, — это привлекательный дизайн и качественная верстка. В случае веб-приложения — возможность создания любого нового функционала в стиле MVC с использованием готового функционала для удобного построения маршрутов, создания страниц, управления ролями пользователей и доступом, ведения логов, рассылки шаблонизированных электронных писем, типографирования текстов. Подобная гибкость достигается путем четкой декомпозиции системы и возможности использования необходимого разработчикам фукнционала — отключить или заменить можно все, вплоть до базы данных.

Для верстки используется модульная система semantic.gs.

Нововведения в версии 2.0:

  • NHibernate для доступа к данным — полноценный ORM;
  • поддержка модулей;
  • поддержка виджетов;
  • базовый шаблон для сайтов.

Интегрированные модули:

  • System – настройки, языки, медиа, логи, меню;
  • Routes – регистрация маршрутов;
  • Pages – загрузка текущих страниц, управление;
  • Widgets – загрузка виджетов, управление;
  • Users – текущий пользователь, управление пользователями;
  • Mail – шаблоны писем, отправка сообщений.

Базовый шаблон WebTemplate включает:

  • простую базовую верстку;
  • полный набор модулей;
  • Разделение less-файлов:
    — Site.less — общая разметка страниц;
    — Pager.less — пейджер;
    — Form.less — формы;
    — Text.less — оформление контента;
    — Admin.less — страницы админки.

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

]]>
https://pelevin.pro/2012/04/mindfor-webmp-2-0-%d0%bf%d0%bb%d0%b0%d1%82%d1%84%d0%be%d1%80%d0%bc%d0%b0-%d0%b4%d0%bb%d1%8f-%d1%80%d0%b0%d0%b7%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%ba%d0%b8-web-%d0%bf%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5/feed/ 0 252