Записи с меткой "кодинг"


Сброс параметров запуска Access

Получил заказ: нужно переделать отчет в готовом проекте Access. Вроде бы ничего сложного, но разработчик через параметры запуска проекта скрыл все менюшки и окно базы данных. Т.о. добраться до исходников невозможно.. почти. Немного погуглив нашел старый vbs-скрипт, качующий с сайта на сайт. Чтобы больше не искать, размещаю его здесь. Может пригодится еще.

Метки: MS Office, кодинг

"Правильный" multi_curl в PHP

Мне нужно было разобраться, как именно работают функции curl_multi_*, представленные в PHP, почему так разнятся примеры не только в инете, но даже в справке PHP, что на самом деле происходит. CURL в PHP - это инкапсуляция настоящих функций библиотеки и еще некоторых других. При этом PHP использует не все функции libcurl, да и справка оставляет желать лучшего. Дабы не тыкать вслепую пимпы на клаве, перебирая варианты чужого кода, я решил постичь истинный смысл функций мульти-cURL и их параметров.

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

Неблокирующее чтение текстового файла

На работе возникла практическая задача: в логе прокси-сервера найди записи по фильтру. Лог - это обычный текстовый файл, так что наиболее простое программное решение - читать его построчно через pascal-функции Reset() и Readln(). Накидал программку, обкатал ее на копии файла, все прекрасно. Но такую прогу нельзя применить к текущему логу, т.к. функция Reset() блокирует файл на запись. Решением стало применение функций WinAPI для чтения файла. В итоге у меня получился аналог функций Паскаля для построчного чтения файла через WinAPI.

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

Откуда в PChar "мусор"

Неудачное сочетание двух функций в Delphi 7 стоило мне нескольких часов жизни и много нервов. Зато мне удалось наконец поймать непредсказуемый PChar за хвост. Я и раньше сталкивался с необъяснимыми косяками, корнями идущими из бардака в pchar-переменных. Но сколько я об этом ни читал, сколько не копался - смысл не доходил. Теперь же я на 90% уверен, что точно знаю, чего ожидать от этого типа.

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

Fix: Приложение не было запущено, поскольку оно некорректно настроено

При запуске программы получается ошибка "Приложение не было запущено, поскольку оно некорректно настроено". Очень полезная инфа, нефиг сказать :) Далее в этом же сообщении предлагается переустановить приложение. Итак, почему вдруг на чистой машине с только что установленной WinXP перестала работать любимая игра или программулина?

cURL - ключ от всех дверей

Речь пойдет о библиотеке cURL (aka Client URL, libcurl) и ее использовании в PHP. Об этом уже много всего написано, поэтому я не буду проводить ликбез. Я расскажу о тех возможностях библиотеки, которые мне особенно доставляют. Не знаю, с какими благими намерениями создавал это чудо Daniel Stenberg, я использую ее в корыстных целях :)

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

Кроссбраузерное печенье (cookie)

Есть как минимум два языка программирования, способных управлять cookie - PHP и Javascript. Есть множество браузеров, поддерживающих работу с печеньками. И есть проблема: удаление этих самых cookies может выполняться по-разному, в зависимости от языка/браузера. В этой статье я расскажу о своих изысканиях и кроссбраузерном подходе к манипуляциям с cookie.

Упаковщик Javascript: зачистка js-файла

Задача: удалить однострочные/многострочные комментарии, tab-отступы, пустые строки в js-скрипте. Так же нужно учесть, что в коде возможны экранированные back-slash и кавычки. После всего удалить переносы строк, чтобы получится весь код в одной строке. Разбить код на строки заданной длины.

Я не знаю, зачем последнее действие, но все "обфускаторы" так делают =-). Приведенный в статье скрипт я считаю упаковщиком, потому что он уменьшает вес конечного файла, а еще - мне так больше нравится :) Зачем все это нужно, я уже писал здесь. В двух словах: этот скрипт чистит js-файлы для загрузки на сервер.

Кодировки

Мои сайты сделаны в кодировке windows-1251, включая БД. Возникла необходимость получить файл в кодировке UTF-8 (собираю dump-файл базы). Как оказалось, преобразование из одной кодировки в другую - задача не тривиальная. В этой статье я попытаюсь разложить по полочкам, что к чему. Поле деятельности: Apache/2.2.15 (Win32) PHP/5.3.5. Во внимание беру только две кодировки, UTF-8 и Windows-1251 (aka cp1251), но многое из сказаного относится к преобразованиям в любых кодовых страницах.

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

Пересчет часового пояса с учетом летнего времени на PHP

Понесло меня по теме времени :). Не нашел, где разместить эту php-функцию, поэтому оформляю, как новую запись. Применение функции: передаем ей UTC-значение времени (timestamp) и нужный часовой пояс (число), получаем timestamp-время в указанном поясе с учетом летнего/зимнего времени.

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

Временной сдвиг в phpMyAdmin

Продолжаю тему "временных аномалий" в MySQL :) У меня с хостером разные часовые пояса: у него - GMT+3:00, а на моих сайтах GMT+8:00 (об этом на сайтах скрипты заботятся). Добавлять новости на сайт это не мешает, т.к. время пишется через mysql-функцию now() (текущее значение времени). Проблема появляется, когда мне нужна синхронизация записей с локальной копией БД. Делаю следующее: через phpMyAdmin экспортирую БД в файл - dump.sql, потом загружаю его на своем (местном) сервере MySQL. После такой синхронизации я получаю разницу во времени в 5 часов в каждой записи, где вообще есть время. Покопался и нашел причину! :)

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

Работа со временем в PHP/MySQL

Ничто не постоянно, даже время :) Особенно если речь идет о времени в PHP/MySQL. Когда я первый раз столкнулся с проблемой преобразования времени в PHP, я долго копался в мануалах и инете, но ни как не мог поймать суть. В итоге я все же нашел свою ошибку, все подробно для себя описал в txt-файле и забыл. Сейчас (спустя полтора года) опять возникли запарки, поднимаю текстовик.. и ничего не могу разобрать. Пришло время систематизировать записи про время (вот такой каламбурчик ;))

Метки: MySQL, PHP, кодинг

Упаковщик CSS: зачистка css-файла

Упаковщик не в смысле архивации, а в смысле чистки css-файлов от пустых строк и комментариев. Слово "упаковщик" более удобно, чем "чистильщик" или т.п. Файл в итоге получается меньше без потери функциональности, поэтому так "громко" назвал :)

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

Метки: CSS, PHP, кодинг

PHP 5.3 Русская справка в формате chm

Сама суть: сейчас (5 августа 2011) на офсайте PHP уже нет русской справки для скачивания. Недавно была здесь, и я успел ее забрать. Только она была в виде 10k html-файлов! Другой вариант, предлагаемый тогда на сайте - один оооочень большой html-файл. Вообщем я убил три дня на раскопки и разбирательства c форматом и наконец сваял справочник в chm-формате.

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

Грабли оператора HANDLER

Сервер MySQL 5.1. Есть в его реализации замечательный оператор HANDLER. Он обеспечивает прямой доступ к интерфейсу обработчика таблиц MyISAM и InnoDB, минуя оптимизатор SQL. Следовательно, этот оператор работает быстрее, чем SELECT. Прежде чем показать, где проблема, коротко расскажу о синтакисе оператора. Далее копипаст справки по MySQL, ничего нового нет, причем я уберу из нее не относящее к дело.

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

Преобразование спец.символов в HTML-сущности в части документа

В HTML некоторые символы имеют специальное значение и для сохранения своего значения должны быть преобразованы в HTML-сущности. Начиная с 3-ей версии в PHP для этого есть функция - htmlspecialchars(). Работает отлично, но проблема в том, что на преобразует весь html-документ. У меня возникла необходимость преобразования спец. символов только в части документа, а именно сохранение "внешнего вида" угловых скобок в примерах кода на html-страницах.

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

Я vs JavaScript - 0:1

JavaScript меня иногда в тупик ставит. Причем не баги реализации, а количество свободы в нем. Кстати, багов в js я еще не видел.

Есть у меня некий код. Для примера упростил его максимально. Суть: есть строка, состоящая из цифр. Это - цифровые флаги. Функция разбирает строку на части и согласно полученных цифровых флагов готовит html-код таблицы для вставки на страницу. Каждая шестая и седьмая ячейка нужна другого цвета (практический пример - календарь в меню этого сайта). Еще замечу, что рабочий код этого календаря я сделал много раньше, только попроще. Теперь мне нужно было сделать его слегка круче.

Проблема Java: "Applet ... not inited"

Ситуация: грузится страница в браузер. По ссылке должен запуститься java-апплет, вместо этого получаю локаничное "Applet ... notinited" (орфография сохранена).
Окружение: WinXP, IE8, Java (JRE) 5.0 Update 14. Системный диск NTFS, пользователь и машина в домене.
Если бы все работало, то получил бы три подряд статуса: "Applet ... loaded", "Applet ... inited", "Applet ... started". Открываю консоль - ничего не понятно.. Беру лопату и начинаю копать.

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

Классы в PHP. Зачем они нужны?

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

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

CSS-хак "двойной слэш" и Opera

Есть такой хак в CSS для IE 5.5-7 - "//" (двойной слэш). Пример:
div.box{
   position: fixed;
   LEFT:0px; top:0px;
   //position: absolute;
   }
Метки: CSS, кодинг
Первая<12>Последняя
Продвижение
Время
Метки
Щелкни мышей, чтобы закрыть