Nov 27

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

Можно было составлять всевозможные комбинации в зависимости от места разделения алфавита и направления перемещаемых букв. Самый простой способ заключался в разделении алфавита посередине так, чтобы первые две буквы, А и Б, совпадали с двумя последними, Т и Ш. Эти буквы и дали название методу шифровки — «Атбаш».

Использование шифра темура можно обнаружить в Библии — по меньшей мере в одном случае, где он скрывает политическое сообщение. Это пророчество Иеремии, сделанное в начале VI века до нашей эры, когда Иудея находилась под военной оккупацией Вавилона, содержит проклятие всем правителям мира, заканчивая «царем Сесаха» (Иеремия, 25:26).

На первый взгляд, название ни о чем не говорит. Однако при использовании шифра «Атбаш» буквы с, с и х читаются как б, б и л, или «Babel» (Вавилон), что позволяет нам узнать в «царе Сесаха» жестокого вавилонского правителя. Изучение темура стало неотъемлемой частью каббалы, мистической ветви иудаизма, сложившейся в Средние века; каббалисты использовали шифры либо для внедрения скрытого смысла в собственные сочинения, либо в попытке дать новое толкование библейских текстов.

Великий римский полководец Юлий Цезарь (99-44 гг. до н.э.) придумал шифр, хотя нет скорее взял на вооружение метод шифрования, сходный с одной из разновидностей еврейского темура, в котором четвертая буква алфавита ставилась на первое место, пятая на второе и так далее.

Теги: ,

Nov 21

Ядро (Core) – набор системных переменных, функций, классов.

Модули (Modules) – расширяют возможности сайта, обычно содержат информационное или функциональное нововведение. Обязательно принадлежат какому либо БЛОКУ. Иногда такие вещи называют виджетами. Примеры модулей: Статистика сайта, главное меню, навигация, голосование.

Компоненты (Components) – являются основными элементами функционального назначения CMS и/или сайта, визуально имеет самый большой размер на странице. Примеры компонентов: Статические страницы, Файловый архив, Галерея изображений, Главная страница.

Плагины (Plugins) – подключаемые элементы (переменные, функции, классы) расширяющие ЯДРО.

Боты (Bots) – небольшие функции (бывают трех типов: search, content, editor).

Темы (Themes) – *.tpl файлы созданные для библиотеки Smarty. Бывают трех типов: для ШАБЛОНА, для КОМПОНЕНТА, для МОДУЛЯ.

Скин (Skin) - определяют как визуально будет выглядеть страница сайта, это по большому счету это уже собранная страница: ШАБЛОН САЙТА известен, его БЛОКИ заполнены собранными МОДУЛЯМИ, не известен только КОМПОНЕНТ.

Шаблон (Template) - тема (.tpl) которая определяет схематическую разметку страницы (например, трехколоночная), содержит в себе БЛОКИ.

Блоки (Blocks) – контейнеры для МОДУЛЕЙ и КОМПОНЕНТА. Обозначены в ШАБЛОНЕ.

База данных MySQL (Data Base) – хранилище структурированной информации.

Страница (Page) – документ содержащий html форматированный текст, графику и т.д.

Теги: ,

Nov 18

сабж

Проект open-source,

Нужны специалисты: программисты, постановщики задач, тестировщики, дизайнеры

Требования к программисту:
знание PHP, MySQL, HTML, CSS, JavaScript, опыт работы с любой CMS

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

Требования к тестировщику:
просто продвинутый интернет пользователь

Требования к дизайнеру:
Опыт работы с графическими программам

Проект уже начат, только в одиночку процесс очень медленно идет.
Желающие поучаствовать в проекте могут писать на VMatvienko@gmail.com

Присылайте полную контактную информацию и резюме.

Nov 09

Сегодня в FireFox обнаружил что при обновлении через Xajax обновленная таблица выглядит так как будто там перепутаны открывающие/закрывающие теги (td, tr).

Сразу скажу что в IE6 этого не происходит.

С помощью Web Developer Toolbar смотрю (View Generated Source), и что вижу:

1) Тег form из первой ячейки закрыт, хотя я его не закрывал

2) Тег TD тоже закрыт, причем до содержимого ячейки, после содержимого естественно стоит </td> поставленное мною

Каждая строка таблицы содержит форму, вот так схематически выглядит строка, если таблицу получаю не через ajax

<tr>
   <td><form ...>1</td>
   <td>2</td>
   <td><input ...>3</td>
   <td></form>x</td>
</tr>

А вот так через xajax

<tr>
   <td><form ...></form>1</td>
   <td>2</td>
   <td><input ...>3</td>
   <td></td>x</td>
</tr>

Решение как такое победить пока не найдено …

Теги: ,

Nov 06

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

Snoopy - это PHP класс эмулирующий работу веб. браузера, он позволяет получать содержимое страницы и например отправлять данные форм.

Последняя дата обновления ноябрь 2005 года.

Запросу на получение страницы можно подсунуть: хост (адрес страницы), порт, куки, реферальную страницу(адрес страницы по ссылке с которой якобы заходим), агента(название браузера), логин/пароль базовой авторизации, все что хотите в содержимое заголовка (header). Еще можно установить атрибуты прокси сервера - это нужно во первых для анонимности и во вторых против бана можно сменить прокси сервер. Есть поддержка редиректов, фреймов.

Кроме получения содержимого страницы есть функции для:

а) вытаскивания чистого текста (без тегов)

б) получения всех ссылок на странице

в) получения форм

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

==================================

Теперь о том чего нет, и что хотелось бы видеть в классе

1) Более сложный парсинг ссылок, т.е. не только нужны порой сами урлы, но и текст ссылок

2) Парсинг всех используемых на странице картинок

3) Более сложная работа с формами. Получение формы в объект, заполнение переменных объекта значениями, отправка запроса

Немного фантастики …

4) Эмуляция выполнения событий javascript например клики по объектам наведение курсором и т.д. получения измененной страницы после действия javascript. Это же касается и vb script

5) Выполнение ajax запросов. Получение измененной страницы после исполнения ajax

6) Поддержка работы flesh обектов. Возможность сохранить в файл, нажать на ссылку

Теги: , ,

Nov 02

Сразу скажу что на PHPConf 2007 я не был, получилось это потому что я живу в другой стране (Казахстане), а конференция проходила в Москве. Первая из причин Россияне очень долго не отвечали на присланную заявку на участие, потом ожили когда было уже поздно, т.к. бронировать билет на самолет нужно за месяц до отлета, еще довольно интересно себя повели … прислали письмо в котором требовали оплатить в течении 3 дней иначе меня исключат из участников, у нас на работе естественно своя бюрократия - оформление платежа займет 3 недели. Организаторы как раз через 3 недели опять написали письмо, с вопросом поеду ли я на конференцию, до начала конференции оставалось 4 дня, конечно ответил что не поеду.

Вобщем или бюрократия виновата или самому шустрее быть надо было.

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

Потом на сайте phpclub.ru выложили в новостях “Принимаются заказы на DVD с материалами конференции PHPConf2007(7 DVD, доклады и ответы на вопросы)”, конечно я заказал, итогом мне это обошлось в 144 USD. Доставка заняла почти две недели, авипочтой России. Еще один казус по доставке, оправка через пониэкспресс или DHL, чревата еще таможенным налогом. В DHL(г.Москва) сказали, что могут доставить тока в Алматы и я там буду растомаживать, ладно растоможка деньги дело наживное, но в Алмату то почему при том, что офис DHL есть в Усть-Каменогорске (гы-гы наверное нет таможни). Вобщем через DHL шлите письма и открытки, повторяю никаких бандеролей.

Вчера просмотрел первый диск

Практика разработки корпоративных веб-приложений 2007

Аспектно-ориентированное программирование(AOP) в PHP

Теги: ,