Супервалидация пользовательских данных

Задача: обработать данные с формы обратной связи. А там полей штук 30(!), это форма запроса кредита. Решение в лоб - разбирать массив и валидировать каждое значение, - это жесть. Выход в использовании возможностей php-функций filter_*_array(). Там много заморочек, я более-менее разобрался с этим семейством. Пищу здесь, чтоб в следующий раз не шариться в исходниках.

Yii. Связи таблиц в стиле Active Record

Окружение: фреймворк Yii 1.x + два головастика над одним сайтом. Третий день в темпе допиливаем суперский проект, который уже давно пора было сдать. И тут я застрял на ровном месте, прописал связь двух таблиц, а она не работает.

Данный опус написан для таких же новичков Yii, как я, но еще не наступивших на грабли описания relations() между AR-классами моделей таблиц. Гуру, что уже сенбернара съели на этом фреймворке, могут даже не смотреть под кат ;)

Безымянный мотонавигатор

В прошлом сезоне на байках катались на Байкал. Брал с собой чужой автомобильный навигатор. Вещь оказалась полезная, но неудобная, т.к. не продумана для использования на мотоцикле. Вспоминая пословицу про телегу зимой, купил очередную игрушку для своего мотоцикла. Взял на ebay, выиграв аукцион, получилось дешево. Сделан девайс в Китае, никаких опознавательных знаков на нем нет. Найти его на ёбе можно по словам "Peaklife GPS Navigator". Такие навигаторы у разных продавцов слегка отличаются внешним видом. Рассказываю про тот, что на картинке.

Метки: гаджет, мото

Аккумулятор SHIDO: альтернатива питания

Пришло время менять батарейку моему коню. Я уже занимался этим вопросом год назад, тогда просто ради информации. И была она неутешительная: только свинцовые АКБ, в большинстве случаев без доставки почтой; ценник, соответствующий фирме. Но сейчас на Мотопитере нашел альтенативу, имя которой - SHIDO. Это японский производитель литий-ионных аккумуляторов вообще и батареек для байков в частности.

Метки: мото

Передача смешанной формы через ajax + iframe

Об этом давно и много написано. Причиной появления этой статьи стал тот печальный факт, что когда мне понадобилось решение, были потеряны часы на поиск и разбор неработающих скриптов и корявых библиотек. Видимо, мне так "свезло", раз не смог решить проблему быстро. Суть остается прежней: нужно передать с формы файл и данные без перегрузки страницы, подобно ajax-запросу. Используем jQuery и iframe.

Электронные платежи и игра Сбербанка

Случайно поймал изменение счета на карте, которое я не делал. За сутки между двумя запросами баланса счет уменьшился на 17р. Мелочь конечно, но с учетом того, что я один картой пользуюсь, никакие расходы по без моего ведома не должны проиходить. Эмитент карты - СБ РФ. С ним уже были проблемы вида "счет уменьшился без санкции клиента", причем каждый раз - отдельная история.

Метки: про Жизнь

Гибернация и перезагрузка Ubuntu 12.04

Поставил на нетбук Dot SE3 текущую стабильную версию Ubuntu 12.04 Desktop LTS. Поскольку я нуб в Линухе, то выбирать особо не пришлось. Но и мириться с тем, что получил из коробки, тоже не хочу. Среди кучи разных проблем и вопросов сейчас выделю два: режим сна (гибернация) и перезагрузка. По умолчанию режима сна в ней нет вообще, а перезагрузка приводит к зависанию. Рассказываю, как исправил.

Метки: Linux

Realtime-статистика счетчиков с использованием битмапов

В свое время я додумался до использования двоичного представления данных в качестве наиболее быстрого способа обработки и передачи флагов. К примеру, посмотрите на даты в календаре сайта. Информация о днях со статьями получается из двоичной записи числа длиной 31 бит. Но все это - баловство по сравнении с тем, как битовые карты (bitmap-ы) используют в описанной ниже статье. Серверным приложением хранения данных служит Redis, пример запроса на Java, но это не значит, что идея не переносима. Например, при определенном упорстве и наличии расширения gmp можно реализовать учетную статистику средствами PHP/MySQL. Я предлагаю вам к прочтению только перевод статьи. Идею развивайте самостоятельно :)

MODx Evo: ошибки установки плагина transAlias

Скачал плагин TransliterateAlias v1.0 с оф.сайта MODx. Получил какой-то невнятный архивчик под именем repo-2340.zip Несмотря на странное имя, внутри все же оказался именно каталог [transalias]. Но это только начало.

Метки: MODx, кодинг

Альтернативное объяснение "template variable (TV)" в MODx

Заказчик хочет получить сайт на MODx. Изучаю его по русским обучалкам, параллельно превращая верстку заказчика в живой сайт. В целом, MODx - это отличный конструктор, нацеленный на обычного юзера с нормальной тягой к саморазвитию. Я понял его идеологию "с разбега", но с таким трудом до меня доходил смысл TV, что скрип мыслей слышали соседи :D Читал несколько разных источников с объяснениями, и все равно не понимал. В итоге осенило :) А когда написал эту заметку, вернулся на сайт разработчиков MODx и без проблем нашел следующее определение:

Шпаргалка MySQL JOIN

Уже несколько лет успешно использую MySQL, но почему-то периодически возникает тупняк, когда нужно объединить несколько таблиц в запросе. Лезу в инет, со скрипом начинаю заново вникать в элементарные, казалось бы, вещи. Надоело, сделал свою "шпору" по теме использования JOIN в MySQL

Метки: MySQL

Мой первый отдых в Турции

Мерхаба, читатель. Т.е. приветствую тебя. Это почти все, что я выучил на турецком, дальше все будет по-русски. Место действия: Махмутлар, 7 км от Аланьи, 137 от Анталии. По турецким меркам - у черта на куличках :) Если верить Википедии, так оно и есть, это самый дальний и самый дешевый курорт. Нет, мне не жалко было денег, когда пришел к туроператору. Но они мои слова мимо ушей пропустили, вот и заслали меня.

Метки: личное

Гиперссылки в версии для печати

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

Создание сайта. Часть 10: mod_rewrite

Полное содержание серии - в конце статьи.

Mod_rewrite - это модуль Apache. Обычно используется для преобразования переданного на сервер URL-адреса в другой адрес. Очевидное применение модуля - создание ЧПУ (ЧеловекоПонятныйУРЛ). Для примера посмотрите адрес этой страницы. Как вы наверно догадываетесь, реальный URL у нее не такой :) Использовать этот модуль или нет, решайте сами. Для работы сайта это некритично, зато удобнее для пользователя.

Создание сайта. Часть 9: cookie и сессии

Почти последняя статья серии "Создание сайта". Полное содержание серии - в конце статьи.

На этом этапе вы уже нехило шарите в теме сайтостроения :) Давайте поднимем планку знаний еще выше. Cookie и сессии – это два механизма со схожими функциями. Скорее всего какие-то детали вы уже знаете, расскажу общую часть. Говоря совсем просто, это – текстовые файлы. Cookie хранятся на стороне клиента, сессии – на стороне сервера. А нужны они для того, чтобы сохранить значения переменных, когда скрипты и браузер уже отработали. Кроме самих файлов есть еще процедуры работы с ними и единые правила для всех веб-серверов и браузеров, описывающие алгоритмы взаимодействия.

Создание сайта. Часть 8: MySQL

Продолжаем тему создания сайта. Полное содержание серии - в конце статьи.

MySQL – это система управления базами данных, коротко СУБД. Одна из многих систем, бесплатная, хорошо документированная и популярная среди веб-разработчиков. Вовсе необязательно строить свой сайт с использованием баз данных. Но если вы решите, что вам нужно прикрутить к сайту БД, готовьтесь к изучению еще одной науки.

Создание сайта. Часть 7: PHP

Полное содержание серии - в конце статьи.

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

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

Создание сайта. Часть 6: JavaScript

Очередная статья серии, посвященной сайтострою. Полное содержание серии - в конце статьи.

Теперь начинается реальный кодинг. Можно конечно отказаться от использования JavaScript на своих сайтах, тем более что браузеры по-разному понимают js-код (тут бардак не меньше, чем в дизайне). Но возможности, которые он дает, заставляют хотя бы попробовать с ним разобраться.

Создание сайта. Часть 5: Apache

Продолжаем тему сайтостроя. Чем дальше, тем сложнее :) Полное содержание серии - в конце статьи.

Напоминаю, Apache – это веб-сервер. Он слушает определенные порты, и получив корректный запрос посылает контент просящему. Это очень общее описание работы мощной программы. За всеми подробностями – в инет. Могу добавить по минимуму следующее: http-протокол работает по 80-ому порту, так принято по умолчанию. Вот его веб-сервер и слушает. Могут использоваться другие порты для передачи http-трафика, их обычно настраивают для работы с прокси-серверами.

Создание сайта. Часть 4: как работает интернет

Продолжение серии статей, посвященной сайтострою. Полное содержание - в конце статьи.

Из заголовка понято, разбираемся, как устроен инет :) На данный момент у вас уже есть несколько html-страниц, оформленных в едином дизайне. Свое творение вы гордо называете сайтом и пора его представить миру :)

Продвижение
Время
Метки
Щелкни мышей, чтобы закрыть