News → Автотвит, первая проба
Реализовал :) Теперь кроме инстаграма и жежешки ещё один робот будет писать твиты за меня. Собственно, этот автотвит будет первый, не считая многозначительного предыдущего "TEST-74"
В ближайшее время постараюсь описать, как это всё работает изнутри :)
News → Поселил здесь свой твиттер
Поселил здесь записи из своего твиттера. Осознанно я там и не нахожусь, в основном автоматом туда записи генерируются или же как сборник полумусорных ссылок этот твиттер использую. Но вот написать для него модуль был просто обязан, хотя бы ради интереса - как это вообще делается? На очереди автоматический репост из блога в микроблог :-)

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

Железо → SD + Eye-Fi - ещё один шажок в беспроводную эпоху
Началось всё с чтения новостных лент сайтов, посвящённых железу и гаджетам. А именно фотоаппараты, оснащённые беспроводными модулями, начали создавать пелевинские вау-импульсы в моём мозгу. Только вот замена зеркалки без Wi-Fi на мыльницу с Wi-Fi в мои планы никак не входила. На помощь пришёл упомянутый выше мозг, он покопался где-то в своих дебрях и извлёк на поверхность аббревиатуру Eye-Fi, заархивированную им при чтении тех же новостных лент.
Что-то отвлёкся я от темы. Короче говоря, нашёл и приобрёл карту памяти с беспроводным модулем на борту - SanDisk Eye-Fi на 4 гектара. Она ниже на картинке, как раз перед погружением в родную стихию.
С виду самая обыкновенная SDHC карточка, каковой и воспринимается устройствами, куда она вставлена. Отличие только в том, что фотографии и видео сбрасываются на компьютер самостоятельно, как только карточка оказывается в радиусе действия Wi-Fi сети, на которую она предварительно настраивается.

News → Торжественная заливка
Произошла она не сегодня, а в ночь с 29-го на 30-е октября. Имеется в виду перемещение на хостинг нового движка и новой базы этого блога.
Как это обычно и бывает, всё прошло не без сучка и с задоринкой. Очень уж хотелось вывесить своё творение во внешний мир, пусть тут ещё и половина не готова из задуманного. Например, раздел бекенда для создания и редактирования записей написал только сегодня, потому и пост запоздавший получается.
Что-то я отвлекаюсь... Короче говоря, где-то в полночь жахнул БД и файлы старого блога на хостинге, закачал новые, обновил страницу - и белый лист в окошке браузера. Никаких ошибок не видно, логи тоже пустые. Блог локально работает на винде дома и на маке на работе. Пришлось ковыряться. Только к половине третьего сайт заработал, а к трём были пофиксены ошибки, которые проявились только на линуксовом сервере.
Основная проблема, которую не сразу смог обнаружить, заключалась в том, что залились не все файлы библиотеки Zend Framework. Заметил случайно, когда дебаги вставлял в библиотечные файлы. На хостинг заливал всё архивом по FTP, а потом распаковывал их в панели (поштучно заливать тысячи файлов выходит во много раз дольше), а при распаковке извлеклись не все файлы, пишет о неудачах. Тут хоть глюк и не с моей стороны, зато узнал о таком полезном инструменте в Total Commander, как синхронизация папок. Теперь им и пользуюсь при обновлении этого движка на хостинге. Даже скриншотик вывешу по этому поводу, а то скучно без картинок.
Ну и пару моих ошибок всплыло, с кастомными хелперами для Zend_Form_Element в форме для комментариев, связанный с большими и маленькими буквами в именовании файлов, причём непонятно, почему на маке сайт нормально функционировал (а не должен был), ведь тоже, вроде, система, которой регистр букв не безразличен. Ну да ладно, исправил и зарубку на будущее оставил в голове, следить внимательнее за буквами.
News → Работа над ошибками
Начал переработку отходов движка этого блога. Он, конечно, нормально функционирует, но начинал я его в то время, когда знания мои в данной области были крайне скудны. Тот же самый JOIN, например, в SQL запросах был для меня загадкой, а потому приходилось извлекать данные из отдельных таблиц, а потом лепить внутри PHP-кода то, что мне надо.
Хотелось дождаться выхода Zend Framework 2, чтобы поупражняться в нём, но, видимо, не судьба, так что в основе будет лежать первая версия моего любимого фреймворка. Можно было, конечно, затеять деятельность и с Symfony 2, т.к. инструмент реально мощный, но только не вижу целесообразности его применения, отсутствует простота, да и на работе мне его хватает с головой :)
Вот, собственно, и всё. Запись эта нужна мне только в качестве точки отсчёта по времени, более ни для чего.
Железо → Планшет ACER Iconia Tab A500
В двадцатых числах ноября прошлого года приобрёл себе таки эту игрушку - интернет-планшет. Название сабджа в заголовке записи, если что, а саму запись собирался состряпать чуть ли не каждые выходные после покупки, но всё откладывал и откладывал. Так что или сегодня, или никогда :)
За стрекозу на экране огpомное спасибо iridos_indium, снимок выпросил у него :)
IDE → NetBeans + TortoiseSVN 1.7
Обновил недавно черепашку до версии 1.7 и стал регулярно получать сообщение об ошибке в среде разработки NetBeans, т.к. тамошний клиент для работы с Subversion пользуется метаданными рабочей копии по версии 1.6
Залез в гугл и отыскал решение этой проблемы. Необходимо в файле .../etc/netbeans.conf добавить параметр -J-DsvnClientAdapterFactory=commandline в опцию netbeans_default_options
В настройках IDE можно явно указать путь к клиенту Subversion. Делается это в Сервис → параметры → Разное → Управление версиями (Tools → Options → Miscellaneous → Subversion)
MySQL → MySQL Query Cache
Оставляю себе в качестве шпаргалки.
Необходимые запросы к БД для проверки работоспособности и просмотра состояния дел.
1 2 3 | SHOW variables LIKE 'have_query_cache';
SHOW variables LIKE 'query%';
SHOW status LIKE 'Qcache%';
|
jQuery → Ajax
Не прошло и полгода, как технология ajax проникла в мою деятельность :) Здесь, в частности, она применилась к отправке комментариев (не без участия jQuery).
Лучше, конечно, поменьше слов и побольше кода, но читать дальше не советую, так как вряд-ли кто-то увидит здесь что-нибудь новое
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | jQuery(document).ready(function() {
jQuery('#submit').click(function() {
var dataForm = jQuery('#CommentForm').serialize();
jQuery.ajax({
url: '/index/addcomment',
data: dataForm,
type: 'POST',
success: function() {
jQuery('#comments').load('/topic.php #comments > *');
}
});
return false;
});
});
|