Фев 9

Firebug. Console.log(). Или почему JavaScript не срабатывает?

Категория: Программирование

Firebug безусловно крутая штука, но иногда он становится причиной некоторых неполадок с JavaScript на странице.

Неоднократно встречался, что при включенной консоли без видимых причин не срабатывает JS на странице, всё исправляется отключением всех консолей.

Так же, для тех кто использует команду console.log(); для вывода дебага в консоль Firebugа, будьте бдительны, если вы забудете убрать эту команду из кода и на страничку зайдет человек, у которого этот плагин не установлен, это приведет к ошибке а-ля “console is not a function” (или что-то в этом роде) что и повлечет за собой невыполнение остального джаваскрипта на странице.

Кто ещё не в курсе что за зверь этот Firebug, посмотрите сюда и пользуйтесь на здоровье.

1 комментарий

Фев 8

Smarty-кеш или сайт тормозит

Категория: Программирование

Проект IIS+PHP+MySQL+FMS реализует видео-чат.

В качестве шаблонизатора используется Smarty (http://www.smarty.net/).
Спустя 3 года с выхода в live начал сдыхать. Это проявлялось дикими тормозами, странички которые в первое время продакшн-жизни грузились 1-2 секунды начали грузиться по 30-40 секунд. Что соответственно и породило необходимость изучить этот вопрос.

Подробнее

Нет комментариев

Июн 26

r is not a constructor. Ошибка в TinyMCE

Категория: Программирование

Столкнулся с этой ошибкой. После небольшого ресерча нашел ответ на офсайтовском форуме.
Проблема возникает если TinyMCE не хватает каких-то файлов, зачастую из папочек plugins или themes.
После заливки MCEшки на FTP с помощью TC у меня этих папок с файлами не оказалось (Причины их отсутствия не ясны, скорее всего либо квоты на дисковое пространство или траблы с коннектом)
После дозаливки двух папочек на их законное место, TinyMCE заработала корректно.

Мораль: если TinyMCE ругается вот так: “r is not a constructor” или вот так: “o is not a constructor”, ну или подобным образом, проверь что бы все файлы и папки были на местах в нужном количестве.

Нет комментариев

Мар 13

MySQL. Манипуляция над данными из колонок и запись результата в другую колонку

Категория: Без рубрики

Столкнулся с тривиальной задачей. Нужно скопировать значения одной колонки в другую, преобразовав их в нижний регистр.
Немного потупил, а потом спросил у комрада. Решение элементарное:

UPDATE
tablename
SET
col2 = LOWER(col1);

где
tablename - название таблицы, над которой происходят манипуляции,
col1 - колонка с исходными значениями,
col2 - колонка с преобразованными в нижний регистр значениями из колонки col1,
LOWER - команда преобразующая значение в нижний регистр;

Соответственно, основываясь на этом примере, можно производить всевозможные манипуляциями с данными из одной или нескольких колонок и записывать результат в третью.

Нет комментариев

Окт 31

MySQL. Проверка валидности даты

Категория: Программирование

Если в MySQL сделать следующий запрос:

select date(”2008-02-31″);

умный MySQL вернет в результате запроса NULL, ну логично, что в феврале месяце в 2008 году не было 31 дня, да и 30 собственно тоже не было, а вот если написать

select date(”2008-02-29″);

то в ответе получим значение отличное от NULL, а именно эту же дату, что и будет доказательством её валидности и существования.

P.S. Не знаю как в ранних версиях с наличием такой фичи, но в 5.0.24 она есть и иногда бывает очень даже полезной

3 комментариев

Окт 23

MySQL. Удаление записей с несуществующей ссылкой

Категория: Без рубрики

Предположим у нас есть 2 таблички - ПАПКИ (folders) и ФАЙЛЫ (files). У файлов есть ссылка на айдишку папки, в которой они распологаются. Предположим, что по неосторожности мы удалили несколько ненужных нам папок, но забыли удалить файлы, которые лежали в этих папках. Итак, для того, что бы удалить файлы, у которых ссылка на несуществующую папку, выполняем запрос:

delete from files
where
folder_id not in (select folder_id from folders) and folder_id <> -1

В этом примере так же учтена корневая папка (-1).

5 комментариев

Сен 30

Проблема с сессиями в Internet Explorer

Категория: Программирование

Проблема состоит в том, что из под Firefox нормально логинится на сайт (стартует сессия), а из под Internet Explorer(IE) не хочет.
С помощью josser‘а выяснили, что проблема в том, что не сохраняется сессионная кука.
Ну а проблема не сохранения сессионной куки обстояла в том, что на сервере стояло время в прошлом, и кука сохранялась с “заведомо проэкспайренной датой”.
IE и Opera  к сожалению на такой поворот событий обижаются.
Firefox’у респект, за искусственную поддержку сессий.

Лечится это всё установкой нормальной таймзоны на сервере:
# ntpdate pool.ntp.org

# tzselect

Спасибо им

3 комментариев

Сен 30

Идея и реализация

Категория: Вариации на тему

ИдеяИдея (др.-греч. ἰδέα — видность, вид, форма) — понятие (мысленный образ) какой-либо реальности, (мысль или представление о ней).

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

Подробнее

5 комментариев

Сен 30

Большой проект. Советы

Категория: Программирование

В моем понимании большой проект - это проект, который длится более одного года при участии как минимум трех программистов. Именно в таком проекте я работаю уже в течении ~ полутора лет. За этот срок я неоднократно сталкивался с разного рода “граблями”. Подробнее

10 комментариев

Сен 30

PHPDocumentor. Как пользоваться?

Категория: Программирование

Кто такой PHPDocumentor (далее “документор”) можно почитать здесь:

  • на PEAR’е - http://pear.php.net/package/PhpDocumentor/;
  • на Сурсфорже - http://phpdocu.sourceforge.net/.

А промануалиться здесь - http://www.phpdoc.org/manual.php .

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

Для пользователей Zend Studio (http://www.zend.com/en/downloads/) нет никаких сложностей при в использовании документора, так как он встроен в нее и легко запускается ” Tools -> PHPDocumentor “. Правда, если вы используете операционную систему Windows, могут возникать некоторые проблемы с копированием необходимых файлов из за разности слешей. Пару раз столкнувшись с этой проблемой и не найдя моментального решения, решил поднять документор у себя на локали.

Исходники берем либо на сайте либо из папки с ZendStudio . DIRECTORY_SEPARATOR . bin . DIRECTORY_SEPARATOR . phpdocumentor. Копируем их к себе в htdocs/phpdocumentor, заходим http://localhost/phpdocumentor/, в закладке  “Files” указываем  файлы либо папку, файлы в которой надо документировать. Затем в “Output” указываем папку в которую будут складываться htmlки и формат вывода из выпадающего списка. В “Options” указываем название пакета и нажимаем кнопку “create” справа внизу. Чуть ниже в отдельном горизонтальном фрейме можно будет проследить за ходом генерации.

Приятного документирования ;)

PHPDocumentor

Нет комментариев

Следующая страница »