Фев 26

CMS для домохозяек: гонки на выживание
Автор: Андрей Шипилов
Опубликовано в журнале “Компьютерра” №32 от 06 сентября 2006 года
http://www.computerra.ru/284826/

Джинса для домохозяек
08.09.2006
http://cmslist.ru/articles/dzhinsa_dlya_domohozyaek/

Хотя написанное почти двухгодичной давности всеже, рекомендую к прочтению.

автор: \\ теги: ,

Фев 12

Adobe Flex — технология для создания Rich Internet Applications. Flex — это родственная Flash технология, основанная на описании интерфейса приложения (и обработчиков событий, связи источников данных с объектами и т.п.) с помощью диалекта XML — MXML. Flex приложение может компилироваться на сервере, а может — из IDE (начиная с Flex 2), как и во Flash, результатом является файл swf, исполняемый Flash Player.

Подробнее на http://ru.wikipedia.org/wiki/Adobe_Flex

Вообще технология впечатлила, похоже, что начну с ней разбираться.

автор: \\ теги: ,

Фев 07

Проблема состояла в том что dump сохранялся вопросиками, сортировка выполнялась сервером не по алфавиту, и это только основные причины.

Промучился с настройкой достаточно большое количество времени, перечитал кучу страничек.

Рекомендую ознакомиться:

Работа MySQL со строками
http://sqlinfo.ru/articles/info/2.html

Обновление сервера 3.23 и 4.0
http://sqlinfo.ru/articles/info/5.html

Проблемы с русским языком и как их решать
http://www.sql.ru/faq/faq_topic.aspx?fid=152

http://phpfaq.ru/charset

А вообще везде пишут что достаточно поставить

default-character-set=cp1251

Кое кто указывает еще

character-set-server=cp1251
collation-server=cp1251_general_ci

Но на данных настройках mysql не выдавал правильно русские буковки на сайте и в утилите SQLyog.

А в SQL Manager for MySQL выдавал правильно 🙂

Решение:

В раздел [mysqld] необходимо добавить следующее:

default-character-set=cp1251
character-set-server=cp1251
collation-server=cp1251_general_ci
init-connect="SET NAMES cp1251"
skip-character-set-client-handshake

последняя строка не сработала на MySQL версии 4.1.x, но в версии 5.х сервер нормально запустился. В четверке все работает и без последней строки, т.е. решение моих проблем в init-connect="SET NAMES cp1251".

Еще заместо этой строки в my.cnf помогает в PHP скрипте:

mysql_query('SET NAMES "cp1251"', $mysql_con);

Без этого все было вопросиками.

автор: \\ теги: , , ,

Янв 29

На главной странице указанного в заголовке ресурса написано
Full Web Building Tutorials – All Free
что означает
Исчерпывающее обучение Веб. разработке – Все бесплатно
Создатели ресурса действительно постарались, разнообразие тем впечатляет …

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

автор: \\ теги: , ,

Янв 24
/**
 * Конвертирует текст из юникода и обратно
 *
 * @param string $str - Строка текста
 * @param string $type - "w" - utf2win, "u" - win2utf
 * @return string
 */
function utf8_convert($str, $type)
{
   static $conv = '';
   if (!is_array($conv))
   {
      $conv = array();
      for ($x=128; $x <= 143; $x++)
      {
         $conv['utf'][] = chr(209) . chr($x);
         $conv['win'][] = chr($x + 112);
      }
      for ($x=144; $x<= 191; $x++)
      {
         $conv['utf'][] = chr(208) . chr($x);
         $conv['win'][] = chr($x + 48);
      }
      $conv['utf'][] = chr(208) . chr(129);
      $conv['win'][] = chr(168);
      $conv['utf'][] = chr(209) . chr(145);
      $conv['win'][] = chr(184);
   }
   if ($type == 'w')
   {
      return str_replace($conv['utf'], $conv['win'], $str);
   }
   elseif ($type == 'u')
   {
      return str_replace($conv['win'], $conv['utf'], $str);
   }
   else
   {
      return $str;
   }
}

автор:

Янв 20

Дело было так:

Звонит пользователь и жалуется что сортировка вывода данных из MySQL неправильная, т.е. не по алфавиту.

Полез в php скрипты и вытащил запрос который так криво работал,  примечательно что в order by стояло поле по которому нужно было сортировать по алфавиту, вобщем вытащил sql запрос и запустил его в утилите SQLyog. Запрос выдал данные но сортировка по указанному в order by  полю не была адекватной.

Полез в свойства таблицы все тем же SQLyog, командой alter_table, смотрю, а на Collation установлено latin1_swedish_ci – вот почему не по русски сортировка! Меняю ее на cp1251_general_ci, жму кнопочку Alter_Table, радуюсь что быстро отделался. Но …

Не тут то было данные в поле испортились, каждая русская буква превратилась в знак вопроса, замена свойства Collation положения не исправило.

#$%^&*

Итого, т.к. данных для восстановления не было пришлось восстанавливать данные руками – 2 дня 3 человека, хотя нет вру не 3 человека, остальные 4 человека работали от 3 часа – 8 часов.

Почему такое произошло, я имею ввиду конвертацию в вопросики непонятно, я делал это не один раз на разных серверах – ничего подобного не происходило.

ЗЫ. чето дневник у меня получается о глюках MySQL

автор: \\ теги: ,

Дек 19

Первая военная шифровальная машина скитала (по некоторым источникам – сцитала).

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

Cпособ сокрытия и передачи информации с помощью скиталы применялся в Спарте в IV веке до н.э. (Ксенофонт. Греческая история. СПб.: Алетейя, 1996. С. 97). Вот как объясняет это изобретение Плутарх (Сравнительные жизнеописания. М.: Наука, 1994. Т. 1: Лисандр, 19. С. 496): “Отправляя к месту службы начальника флота или сухопутного войска, эфоры берут две круглые палки совершенно одинаковой длины и толщины. Одну оставляют себе, другую передают отъезжающему. Эти палки и называют скиталами. Когда эфорам нужно сообщить какую-нибудь важную тайну, они вырезают длинную и узкую вроде ремня полосу папируса, наматывают ее на свою скиталу, не оставляя на ней ни одного промежутка, так чтобы вся поверхность палки была охвачена этой полосой. Затем, оставляя папирус на скитале в том виде, как он есть, пишут на нем то, что нужно, а написав, снимают полосу и без палки отправляют ее военачальнику.

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

Полоса папируса называется, как и деревянная палка, скиталой, подобно тому как измеряемый предмет называется по мере”.

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

А вот и взлом первой военной шифровальной машины.

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

автор: e64f

Дек 08

Проблема:

Есть два веб. ресурса: Один под Solaris_10, PHP_4, MySQL5. А второй WindowsXP, PHP5, MySQL4. Понадобилось мне из Windows обратиться в базу MySQL5 (которая на Solaris). Создал пользователя, чтобы обращаться с любого хоста, а не только в localhost, написал небольшой запрос и о чудо – все русские буквы распечатались знаками вопросов. $%^&* на соляре то все работает и уже давно (

Перерыл весь интернет в поисках рецепта, а там советуют делать правки в my.cnf прописать кодировку или в php скрипте сразу после конекта тоже обозначить кодировку cp1251. Ничего мне из этих советов не помогло.

А помогло вот что. На виндовс запустил из far-a стандартного консольного клиента mysql, но приконектился к серверу который на солярисе, сделал запрос, и что вижу … конечно кракозябры, но не вопросики, т.е. все в порядке!!! буквы windows-1251 кодировки в консоли выглядят кракозябрами. Пишу команду SET NAMES ‘cp1251’ как было написано на многочисленных сайтах найденных гуглом, делаю опять запрос, оппа, теперь вопросики заместо русских букв.

Решение:

Короче говоря в начале работы с mysql в скрипте php поставить след. строку

mysql_query(‘SET NAMES “latin1″‘);

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

P.S. Вообще в mysql если посмотреть variables много переменных в которых храниться кодировка, конечно каждая переменная отвечает за что то свое, но видимо их многочисленность влияет на путаницу в этом вопросе.

автор: \\ теги: , ,

Дек 05

На работе купили контуровский инструментарий разработки OLAP отчетов. Естественно пригласили представителя фирмы прочитать лекции по использованию данного програмного продукта.

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

автор:

Ноя 27

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

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

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

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

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

автор: \\ теги: ,