воскресенье, 28 сентября 2014 г.

Vagrant, Windows 7-8 x64 и ошибка незакрывающихся сессий

На днях, (причем на выходных, закон Мерфи воочию), при запуске виртуальной машины с новым проектом, через Vagrant, получил зависание оной. Что выразилось в остановке на пункте: Booting VM ... После получасового ожидания за просмотром клипов Lindsey Stirling, я понял, что ожидать нечего. Закрыл сессию в консоли Ctrl+C, и узрел ошибку Error, "что_то_там" блокирует процесс с ID=x00300 и т.п.

После гугления и раздумий, переустановок vagranta, virtualbox, понял, что проблема в сессиях, которые некорректно завершаются даже с помощью команды vagrant halt.

Решение
Способ простой (upd 29.09.14) : в консоли запускаете
 vagrant halt
vagrant reload

Способ сложный:
Хорошо, сказал я, в Диспетчере задач, посмотрел процессы VirtualBox и завершил, VBoxSVC.exe а также попытался завершить остальные процессы работающие с VirtualBox.
Затем снова открыл консоль, перешел в директорию с проектом, и внимание: сперва запустил команду vagrant halt, дождался завершения сеанса, а затем vagrant up, и все работает)

Проблема возникла с Vagrant 1.6.5, и VirtualBox-4.3.16-95972-Win

Сразу после установки наблюдаю, такое предупреждение, возможно это причина моей проблемы. Пока ожидаю обновления Vagranta.


Upd: 23/05/15 - Windows 8,
после установки Vagrant + VirtualBox, и запуска, все таки не забываем запустить
vagrant up
vagrant provision
---

суббота, 13 сентября 2014 г.

vagrant, ruby on rails, и решение ошибки с кодировкой latin1

В один из вечеров, для саморазвития, следуя заветам Джона Резига (пишите код каждый день), решил написать новый проект, но не на PHP, а на Ruby. Давненько присматривался, но все откладывал, а сейчас появилось чуток времени. Дай думаю, принесу пользу людям, да и себе.

Порыскав понял, что писать на Ruby под Windows, не стоит. Linux ставить на ноут, пока нет возможности, решил запустить на виртуалке, используя виртуальную машину VirtualBox.
Для "еще_незнающих", есть полезная утилита vagrant (vagrantup.com) - можно запускать virtualbox и сохранять образы. То есть, установил virtualbox, vagrant -> запустил vagrant , скачал box, (образ), настроил один раз. А затем клонировал, и уже с клоном "играешься" как хочешь. Если клон-образа сломался, не беда, запускаем базовый образ, клонируем и через несколько минут - у нас уже полностью настроенная система. Profit!

Тут хороший мануал, по которому у меня все заработало почти сразу. Совет скачивайте и устанавливайте последние версии virtualbox, vagrant. Различные версии между собой несовместимы.

А теперь, собственно об ошибке, которая долго гуглится, а на русском вообще не нашел. Внимайте же)

после шага:

bundlerake db:create db:migrate db:seed
Ошибка:

PG::Error: ERROR:  encoding "UTF8" does not match locale "en_US"
DETAIL:  The chosen LC_CTYPE setting requires encoding "LATIN1".
: CREATE DATABASE "stuff_test" ENCODING = 'unicode'

Решение (взято отсюда):


1
2
sudo su postgres
psql
1
2
3
4
5
update pg_database set datistemplate=false where datname='template1';
drop database Template1;
create database template1 with owner=postgres encoding='UTF-8'
  lc_collate='en_US.utf8' lc_ctype='en_US.utf8' template template0;
update pg_database set datistemplate=true where datname='template1';


Don't forget!:

Выйти из postresql
\q

завершить сеанс под sudo
exit


Поздравляю, теперь все работает.

суббота, 22 марта 2014 г.

Bitbucket - удобный git для mercurial

Пока не забыл. решил написать о сервисе, о котором я слышал уже давно, но не использовал до сей поры.
Bitbucket.org - это сервис, для хранения кода и совместной работы с ним. аналогично github. Но в отличие от них поддерживает возможность создания приватных директорий, бесплатно! Совместная работа поддерживается до 5 пользователей, можно увеличить до 8. А если нужно больше. уже за деньги.

Так как я пользуюсь, (и очень рад, пользуюсь) mercurial. И теперь храню код на Битбакете, и больше не боюсь, что мой код затерут вирусы, ноут сломается, или жесткий диск скинет ласты.

О работе с Битбакетом (благо есть мануалы, да и так интуитивно понятно), писать не буду, отвечу в комментах, если интересно.

среда, 11 декабря 2013 г.

Как удалить zaycev.net со стартовой страницы в браузере chrome

Если Вас достало то, что сайт Zaycev.net самовольно устанавливается в стартовую страницу Chrome, (да и вообще этот совсем сайт испортился, полон рекламы, а при попытке загрузить песню, выдает непонятный exe-файл, который пачкает операционную систему).

Итак по шагам:

1. Открыть папку: C:\Users\LogyCom\AppData\Local\Google\Chrome\Application

2. Если видим файлы:
chrome.exe
chrome Ярлык Интернета
old_chrome.exe

3. Удалить:
chrome.exe
chrome Ярлык Интернета

4. Переименовать:
old_chrome.exe в chrome.exe



Все.

суббота, 30 ноября 2013 г.

Kohana, пара мыслей.

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

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

Ранее я написал проект на Asp.net, он был готов процентов на 60-70. Но настройка хостинга на Windows все еще вызывает у меня трудности (и т.к беспокоюсь о безопасности), выбрал хостинг с Linux, поэтому решил переписать проект (заодно и отрефакторить) на php, и выбрал для ускорения фреймворк Kohana.

О проекте пока рассказывать не буду) пусть это будет секретом, до офф.публикации в Сети, скажу что, планируется нагрузка в 10 000 уников в день.


Я долго приглядывался, и присматривался, прочитал пару постов на Хабр, о выборе феймворка, советы. На рассмотрении были:  Yii, RoR, Symfony. Но я остановился, на Kohana, в виду скорости вникания в тему. Для человека, не имеющего опыта в работе с фрейворками Kohana самое то.

Сперва я прочитал информацию и задачи тут:  http://kohanaframework.su/
Потом стал пробовать, и постепенно вник за пару месяцев. Не сказать, что стал гуру, но основную идею построение Контроллер - Модель - Вид, уяснил.

Некоторые ругают за ORM, много запросов и тд, можно использовать и простые запросы к БД.

Мои впечатления о Kohana: кохаю).

суббота, 31 августа 2013 г.

cms 100500+100500+ модулей. Пора что-то менять


Посетила меня мысль, о разработке собственной open-source cms. Их тысячи, но большинство, не следуют пути дзен... все эти модули, компоненты, плагины, возникает сложносочетаемое приложение. Некоторые гордо называют это конструктором.

Как же разрабатывают cms?
Пишут админпанель, функции, главная страница, хуки, и добавляют возможность добавления модулей.
То есть к основному блоку - скелету, каркасу, добавляют возможность добавлять другие блоки, к ним третьи...

Все ок, пока не происходит обновление Главного блока, костяка cms. Знаете что следует? Ваши модули не работают, обновляйте их, а если не обновляется, не совместима, ищите другие модули, компоненты, пишите сами.

Работает сайт, год-два, полет нормальный. Затем находят баг, и Вы в обязательном порядке обновляетесь - потому что, безопасность сайта штука серьезная. И в большинстве случаев, танцуете с бубном)

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

Обновление cms должно происходить вместе с обновлением всех существующих модулей. Да и вообще, модули нужны ли?
Представим себе cms без лишних 100500+ модулей.
Все из коробки, установил - работает, один мануал для всей cms, очень удобно.

Как я себе это представляю:
Нужно создать три направления одной cms: 1. Магазины, 2. Портал 3. Блог.

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

Пример:

SuperPuperCMS-shop
Один костяк, с 10 модулями. (модуль возможности оплаты, совместимости с cvs, отзывы и тп, так как не всем магазинам требуется сразу устанавливать оплату, бухгалтерию.) Не более 10 модулей в итоге.

SuperPuperCMS-portal
Один костяк, с 7 модулями. (Возможность форума например, тоже не всем порталам сразу нужна ) Не более 7 модулей в общем.

SuperPuperCMS-blog
Один костяк, с 3 модулями. (тут незнаю, блогам вообще нужны модули?) Не более 3, на всякий случай.


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

Да это увеличит исходный код, так сказать  "москитом" cms не будет, но это будет лишь вначале.
По мере развития проекта, в коде не будет костылей, для совместимости с предыдущими версиями, модулями сторонних разработчиков, и это не позволит исходникам разрастаться больше чем нужно для работы

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

Это приводит к снижению безопасности, совсем недавно я обнаружил пару лазеек и зашел в админку крупного сайта с собственными блогами, потому что админ своевременно не обновил wordpress и соответственно осталась возможность навредить этому сайту-порталу. Естесственно, я написал админу, о ситуации на email, со скриншотами. Но пока не увидел результата.

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

Действительно важные дела

Мысль сия, пришла мне в голову только сегодня, окончательно еще не созрела, поэтому пока показать ничего не могу. Вначале думаю о языке для разработки: php, python, ruby?... а может Go). Я понимаю, что одному мне это не потянуть.

UPD: Месяц назад набрел на Kohana (О, уже месяц не заглядывал в блог!), присматривался уже давно, но в этот раз решил, взяться и переделать уже проект который я писал под Asp.net.
И понял, вот оно! Единый код, открытый, легкий для освоения, и гибкий, без лишних модулей. Так что, за фреймворками будущее!

суббота, 17 августа 2013 г.

Нужна альтернатива Skype


Сегодня с утра не работает, служба Skype. И я подумал, что странно, нет дублирующих сервисов, для такой важной и необходимой каждый день связи.
Можно же было, сделать что-то вроде, зеркал на сервере.
Конечно, дублировать огромный сервис для миллионов пользователей, ужасная трата ресурсов. Но и с точки зрения удобства, она себя оправдывает, как в случае skype.

Каждый день, осуществляются переговоры, которые оплачиваются, и соответственно каждая минут простоя, это убытки.  В компании конечно это понимают, но почему бездействуют?


Это уже не первый случай, когда сервис недоступен...
Думаю, если так пойдет и дальше, потребуется и будет создан сервис аналогичный Skype. Знаю, про сервисы VoIP, есть и у google, mail и некоторых других... Но эти сервисы, не представляют, удобств и полных возможностей.

И сейчас, в этот момент может кто-то пишет код новой сети аналога Skype... так что компании не следует так относиться к своим пользователям.

UPD: Пользователь http://www.blogger.com/profile/02348745048931268926, верно подметил факт отсутствие защищенности переговоров в Skype, а также отсутствие альтернативы открытого защищенного протокола создания действительно безопасного мессенджера.

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

Что делать? Думаю нужно внедрять PGP в массы.
Как? Хороший вопрос, пока в стадии изучения и курения мануалов.
Продукт должен быть OpenSource, бесплатен, и абсолютно прозрачен, что бы Пользователи были уверены, в безопасности общения.

Иначе сетевой тоталитаризм, не за горами.