среда, 18 мая 2016 г.

Centos 7, разархивировать архив с файлами по-русски

Дано: Centos 7, zip-архив созданный на Windows, внутри файлы с названием кириллицей, по-русски.
Требуется: разархивировать файл, так чтобы имена файлов читались в UTF-8

Последняя стабильная версия unzip от Info-zip была выпущена в 2009 году, и сейчас это 6.0.1.
В ней нет поддержки Unicode, совсем.
Это говорит о том, что все ваши русские файлы, которые zip хранит в кодировке CP866 будут разархивированы крокозяброй.

Что я делал?
Взял бубен и Google, неделя танцев и изысков.
Советуют 7zip - не получилось.
Далее Unar (не unrar, а именно unar)- это круто. Все работает, из коробки, все само конвертится в utf8. В общем, красота. Но под мои задачи не пошло, т.к. из php-fpm, командой exec('unar ....', $out); получаем один ответ в $out - ": Zip". Ничего не экстрактируется, просто : Zip и все.
Нафиг.

Пошел более сложным путем. Взять бету Unzip, или пропатчить стабильную, собрать, установить. Окей. Но этих "бет" и патчей оказался целый зоопарк. В итоге перебрал штук 5 разных вариантов. В первых четырех все компилилось, версия unzip -v стала 6.1.0с, но флаг -O был по прежнему not supported.

Сработало это. Делюсь.
Вот этот тред https://sourceforge.net/p/infozip/bugs/43/
Здесь смотрим коммент:

"We still have not released UnZip 6.10c (beta), but there's a newer
experimental (internal-only) source kit which may solve this problem:
As explained in that other thread, add "ICONV=1" to the usual "make"
command to enable the character-set conversion features (options: -I,
-O). (Look for "ICONV_MAPPING" in the "unzip -v" report.)"

Надо сделать именно это.

make -f unix/Makefile ICONV=1 generic
make -f unix/Makefile install

После, флаг -O становится доступным и можно пользоваться так: unzip -O cp866 Archive.zip

суббота, 30 мая 2015 г.

error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)'

Ошибка, Mysql сервер не стартует.

Наряду с другими причинами, первым делом следует проверить mysql.log.
Возможно у вас просто кончилось место на диске..

четверг, 21 мая 2015 г.

С 1 мая перестали работать некоторые приложения Facebook

Действительно, Facebook давно, но не очень активно предупреждал разработчиков о предстоящей смене версии его API. И вот, оно случилось.

Тот, кто как и я, решил дождаться пока грянет гром, сейчас спешно читает документацию Facebook и ищет пути выхода. У всех свои проблемы, расскажу об одной.

Теперь приложение не может создавать посты за вас.
То есть нельзя взять и написать скриптик на php, использующий нативное SDK от Facebook или же просто CURL, и чтобы этот скриптик сам постил новости во все социальные сети. У нас был именно такой, и мы встраивали его во все админки нашей CMS, чтобы клиент один раз установив приложение, мог постить новость не только в ленту к себе на сайт, а и сразу во все свои аккаунты соцсетей.

Что поменялось?
Теперь по-умолчанию, без верификации, приложение может получить только ограниченные права. Такие, как email или user_birthday. А вот нужные нам права, дающие возможность писать что-то на стену - нет. Теперь manage_pages, publish_pages и publish_actions выдаются только после прохождения процедуры верификации специалистами Facebook.

Как отправить приложение на верификацию?
Нужно зайти в свое приложение на https://developers.facebook.com/apps/ и выбрать Status and Review. Тут вам придется подробно описать, зачем вам нужны эти права (manage_pages, publish_pages и publish_actions) и как ваше приложение собирается их использовать. Подробно, то есть полностью описать работу, прилагая как можно больше скриншотов. Все на английском.

Спецы Facebook отвечают очень быстро.
Мне прислали ответ через 20 часов после обращения.
Ответ был уже из шаблонов, на русском и гласил вот что:
"Люди должны вводить все материалы в поле сообщения для пользователя. Ваше приложение не может использовать автоматическое заполнение поля сообщения любыми материалами, включая ссылки и хэштеги, даже если вы разрешаете пользователям редактировать материалы перед их публикацией."

Это ответ про запрос права publish_pages. Про publish_actions - то же самое.
manage_pages - разрешили.

То есть получается, что теперь автоматические постилки в Facebook работать не будут. Так как в любом случае, если вы делаете пост с текстом, взятым откуда-то из базы, то это нарушение правила. Facebook разрешает создавать пост только с текстом, введенным непосредственно в окошко перед нажатие кнопки Отправить.

Конечно, можно попробовать обмануть Facebook, написав на индусско-английском и приложив "как бы" скриншоты. Но будьте готовы, что вас попросят предоставить тестовый доступ, чтобы в живую посмотреть процесс от создания поста до отправки. Плюс ко всему, приложение будет обязано иметь Privacy Policy, не текст из бредогенератора, не копипаст с какого-то другого, а именно свою политику. Его также проверят.

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

воскресенье, 17 мая 2015 г.

Время зарабатывать доллары и евро

В связи с резко возросшим курсом доллара и евро, стоимость работы отечественного веб-программиста также резко упала. Что делать? - искать удаленную работу в интернете заграницей, у буржуев, которые платят теже стабильные 10-20 долларов в час.

Наиболее активный сайт по поиску работы, фриланс по вебдизайну и веб-разработке - PeoplePerHour.com или PPH. Все что нужно - создать собственный профиль, добавить портфолио (желательно), ну и минимум знаний английского языка. На сайте тысячи индусов, думаю, русскоязычный человек ни чуть не хуже - главное не лениться.
Удачи!

понедельник, 8 сентября 2014 г.

Шрифты в Chrome: как исправить сглаживание, мутный, нечтекий шрифт, размытый шрифт в хроме

Копируем эту строку:
chrome://flags/#disable-direct-write
И вставляем ее в адресную строку.
Далее у нас открывается меню
В нем ищем следующее:
Отключить DirectWrite Windows
И жмем на кнопку «Включить»
Перезагружаем браузер и шрифты становятся прежними.

Спасибо неизвестному автору)

Теги: шрифт вконтакте изменился, вконтакте размытый шрифт, chrome шрифт вконтакте

пятница, 30 мая 2014 г.

Упал доход с AdSense?

Совсем недавно произошло нечто странное - без каких-либо адекватных причин доход с adsense упал. Причин может быть много, и может быть все не так однозначно, но исключительно из своего опыта палю тему.

Google поменял шрифт по-умолчанию для текстовых объявлений. Ранее это был известный Verdana, сейчас же - некий Roboto. Чем вызван такой выбор Google мне не ведомо, быть может в англоязычных сайтах такие объявления и выглядят нормально, НО в русском написании этот шрифт вовсе не заметен. В сочетании с тем, что этот шрифт выглядит еще более бледно при color отличным от #000000, получаем резкий спад в привлекательности рекламной зоны.

Рецепт.

Идем в управление AdSense, находим рекламный блок, редактируем его и там в "Семейство шрифтов" ставим Verdana (или другой, не по умолчанию и не оптимальный). Получаем более яркую зону с рекламой.