Search
Write a publication
Pull to refresh
0
Юрий Масленников @twiread⁠-⁠only

User

Send message

Debugging PHP applications with xdebug

Reading time8 min
Views45K
Добро пожаловать на 4 часть повествования о xdebug. Сегодня мы попытаемся разобраться в отладке PHP кода с помощью xdebug. В данной статье мы полагаем, что вы уже давно установили xdebug на вашу систему, если нет первая статья серии опишет вам как это сделать.
Читать дальше →

Идея: решение «вавилонской проблемы» в IM

Reading time1 min
Views702
Вчера Google объявила о выпуске Google AJAX Language API — API для доступа к их сервису перевода текстов.

Сразу же возникла идея создать плагин для любого из IM (предпочтительней всего Pidgin :) ) который прозрачно для пользователя переводит его сообщения при разговоре с иноязычным человеком на его родной язык. И также в обратную сторону- то, что пишет иностранец, переводится на язык пользователя. Такая себе «вавилонская рыбка».

Сразу видны проблемы:
— небольшие задержки при передаче сообщений, вызванные постоянным обращением к сервису гугла
— увеличение количества передаваемых данных
— API предоставляется для javascript, а плагины пишутся чаще на компилируемых языках. Хотя, это не такая и большая проблема для наших «левшей»

UPD: После некоторого гугления выяснилось, что идея очень не нова и уже существуют некоторые реализации, например ULRTMT для Skype. Однако чего-то универсального, а тем более Open-source, пока еще нет. Так что это отличное место, куда можно приложить усилия. Если кого-то заинтересовала эта идея — может быть попробуем?

UPD2: В комментариях указали на плагин translator для Kopete. Не знаю насколько он работает, но он точно соответствует всем требованиям. Так что вопрос считаю полностью закрытым, а идею — бесполезной и отставшей от прогресса на несколько лет :). Однако предложение для создания подобного плагина для Pidgin остается актуальным. Всем спасибо!

Прогрузка файлов через Ajax

Reading time1 min
Views1.4K
Довольно интересный метод прогрузки файла, хотя думаю многие его знают.


Для начала создадим форму и скрытый iframe в который собственно и будет отправлятся сама форма (на это указывает атрибут target).
<br>
<br>
  /><br>
  /><br>
<br>

<br>

Когда будет нажата кнопка Submit, форма отправится в скрытый iframe, и будет вызван метод контроллера «upload_action». Теперь необходимо получить данные в контексте всей страницы (родительского окна для фрейма). Для этого используется очень интресное решение. Опишем контроллер для получения и обработки данных из этой формы:
<br>
class UploadController < ActionController::Base<br>
def upload_action<br>
  responds_to_parent do<br>

    File.open("public/files/upl_file",'wb') do |file| <br>
     file.write params[:upl_data].read <br>
    end <br>
    render :update do |page|<br>
     page.replace_html 'upload_frm', :partial => 'upload'<br>

    end<br>
  end<br>
end <br>
end<br>

Обращение к iframe реализовано плагином respond_to_parent. Для генерации такой формы с iframe можно использовать плагин remote_upload.

Решение на мой взгляд очень даже симпатичное.

Скорость загрузки JavaScript-библиотек

Reading time1 min
Views1.2K
Примечание: ниже перевод заметки John Resig (автора jQuery) «JavaScript Library Loading Speed», в которой он рассматривает, как сжатие, обфускация и архивирование влияет на производительность наиболее распространенных на данный момент JavaScript-библиотек. Мои комментарии даны курсивом.

Опубликована: 5 февраля 2008

Введение



Недавно командой PBWiki был проведен весьма впечатляющий анализ производительности JavaScript. Они собирались разобраться, насколько быстро грузятся JavaScript-библиотеки (конечно, их скорость загрузки будет заметно влиять на скорость загрузки всей страницы). Они развернули тестовое окружение для получения информации от различных браузеров, затем собрали все результаты в итоговом отчете. В нем достаточно много информации, которая может быть полезна как разработчикам веб-приложений, так и браузеров: структурированная таким образом информация достаточно обширна.

читать дальше на webo.in →

Копирование из потока — сравнение различных способов

Reading time1 min
Views2.4K
Возникла задача из php://input скопировать данные в нужный файл.
Решил проверить на быстродействие возможные способы копирования файла размером 9 мегабайт из php://stdin.
Их несколько:
  • Чтение блоками через fread() и запись через fwrite()
  • Запись содержимого используя file_put_contents() данных, полученных с помощью file_get_contents()
  • Копирование с использованием функции копирования файлов copy()
  • Использование stream_copy_to_stream(). появилась в PHP5
Читать дальше →

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Date of birth
Registered
Activity