Архив

Архив раздела ‘Программирование’

print_r в переменную

29 Январь 2009 gin

Замечательная функция print_r есть в php. Она выводит на экран структуру объектов и массивов. А вот как сделать что бы результат выводился не на экран,а в переменную?!
Очень просто. Надо вторым параметром написать true:

1
$var = print_r($myArray, true);

Теперь результат работы лежит в переменной $var.

Деобфускатор JavaScript кода

19 Ноябрь 2008 gin

Хочу представить вам очень полезную онлайновую утилитку – деобфускатор js кода.
Из вот такого:

?View Code JAVASCRIPT
1
_B_record();_WaitForStyles(function(){_B_record();_WaitForIframes(top.document,["hist_frame","sound_frame","canvas_frame"],function(t){if(t)_B_log("iframe timeout");_B_record();top.clearTimeout(top.loadTimeout);main()},10000)})

Она лихо сделает красиво оформленный и понятный код:

?View Code JAVASCRIPT
1
2
3
4
5
6
7
8
9
10
11
12
13
14
_B_record();
_WaitForStyles(function ()
{
    _B_record();
    _WaitForIframes(top.document, ["hist_frame", "sound_frame", "canvas_frame"], function (t)
    {
        if (t) {
            _B_log("iframe timeout");
        }
        _B_record();
        top.clearTimeout(top.loadTimeout);
        main()
    }, 10000)
})

Собственно ссылка – http://code.gosu.pl/dl/JsDecoder/demo/JsDecoder.html
Постоянная ссылка на статью http://russianblog.brainitup.com/index.php/2008/11/19/deobfuskator-javascript-koda/
Автор: gin

Восстановление MsSQL базы из mdf файла

1 Октябрь 2008 gin

Если вдруг получилось так, что базу снесли из Management Studio, но у вас есть mdf файл базы. И нет бэкапов как таковых(bak файлов), то можно очень красиво восставить базу из mdf файла с помощью хранимой процедуры:
Читать далее…

Сравнительный тест на скорость – cURL vs file_get_contents()

30 Сентябрь 2008 gin

Так или иначе web-разработчик сталкивается с вопросом загрузки информации с других сайтов.
Как-то было принято всегда пользоваться удобной и понятной функцией file_get_contents() в php. Не очень давно стал набирать обороты cURL – гибкая надстройка, которая заточена под работу с протоколом http да и не только. Теперь небольшой тестик на скорость загрузки страниц:
Читать далее…

Eclipse tips #1

24 Сентябрь 2008 gAmUssA

Попробую начать новую рубрику, в которой буду рассказывать о трюках и хитростях, при работе с Eclipse. Сегодняшний разговор будет о расширения, которые на мой взгляд помогут Вам в разработке. Читать далее…

Интересное в коде #1

5 Сентябрь 2008 gin

Я решил открыть серию коротких статей на тему «Интересное в коде». И сегодня мы посмотрим на сайт одного из мастодонтов российского интернет-хостига Хостинг RBC.
Есть форма авторизации с выпадающим списком select.

Читать далее…

Перемешивание ассоциативных массивов на php

5 Сентябрь 2008 gin

Есть функция в php для перемешивания массивов – shuffle. Но она не очень пригодна для ассоциативных массивов. Вот вариант небольшой функции, пригодной для этих целей.

<?PHP
function ass_array_shuffle ($array) {
    while (count($array) > 0) {
        $val = array_rand($array);
        $new_arr[$val] = $array[$val];
        unset($array[$val]);
    }
    return $new_arr;
}
?>

Взято из комментариев со страницы http://ru.php.net/manual/ru/function.shuffle.php

INSERT … VALUES (SELECT…) – вставка в таблицу результата запроса из той же таблицы

25 Август 2008 gin

Зачастую возникает вопрос как вставить в INSERT результат SELECT’a из тоже таблицы. Например если надо вставить id, который на 1 больше чем предыдущий оп условиям в WHERE. Кто-то решает это через хранимые процедуры. кто-то плюет и делает 2 запроса подряд. А дело в том, что mysql «ругается» на использование имени таблицы и в INSERT и в SELECT одновременно. Сейчас поймете о чем я.
Если есть таблица такого содержания:

id city_id name id_user
1 125 Moscow 10
2 126 Lipetsk 10
1 40 New York 11
2 35 Atlanta 11

Читать далее…

Эмуляция множественного наследования в PHP

23 Июнь 2008 gin

Как многие из вас знают, PHP не поддерживает множественное наследование. То есть у производного класса может быть только один родительский. Конечно, можно использовать интерфейсы, но в данной статье мы попробуем искусственно реализовать множественное наследование с использованием расширения runkit. Код так же эмулирует Читать далее…

Настраиваем Eclipse для работы с Ext – GWT

12 Май 2008 gAmUssA

Google Web Toolkit (GWT) – это набор AJAX-компонентов для разработки пользовательских интерфейсов web 2.0 – приложений. Эта библиотека нам должна быть знакома по проектам GMail, Google Reader и многим другим. Отличительной особенностью этого фреймворка является то, что программы можно писать на Java.  Ext-GWT (или GXT) – это расширение GWT с использованием популярной библиотеки построения UI web-приложений ExtJS.

Внимание

Для GXT beta 2 необходим GWT 1.5 milestone 2, который поддерживает J2SE 6.0.  Ссылки на загрузку – в разделе "Ресурсы"

Установка переменной GWT_HOME

Делается для каждого из разработчиков единожды:

  1. В главном меню Eclipse находим управление Classpath Variables. Для этого переходим: Menu – Window – Preferences – Java – Build Path – Classpath Variables;
  2. Создаем переменную GWT_HOME. Кнопка New:
    • указываем имя. Name: GWT_HOME;
    • указываем свой путь к корневой папке GWT, к примеру "D:\Projects\gwt-windows-0.0.2415\" как у меня.

Читать далее…