Search
Write a publication
Pull to refresh
57
0
Дмитрий @bdsoft

User

Send message

ajax загрузка нескольких файлов с php формой

Reading time2 min
Views36K
Как-то для личных целей мне понадобилось сделать ajax загрузку сразу нескольких файлов. Но хотелось сделать это красиво и удобно.
Для этой задачи я выбрал горячо мной любимый jquery и несколько плагинов к нему.
подробнее

PHP + Twitter

Reading time2 min
Views2.3K
Twitter сейчас бурно развивается и на то были причины, есть в нем хорошие функции, которые можно использовать и в своих проектах.

На Хабре есть фишка связанная с ним, если в профиле ввести свой Twit-аккаунт, то последнее сообщение будет стоять у вас в статусе — мелочь, а приятно, не нужно делать одно и тоже дважды.

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

В техническом исполнении все оказалось не сложно.
Читать дальше →

Популярные ошибки администраторов jabber-серверов

Reading time2 min
Views30K
В связи с тем, что после недавних событий стали как грибы после дождя плодиться топики о том, как настроить свой jabber-сервер, я решил перечислить некоторые основные ошибки и заблуждения тех, кто настраивает jabber-сервер в первый раз. Речь пойдет про:
  • SRV-записи
  • SSL-сертификаты
  • Заблуждения о транспортах
Читать дальше →

Отправка комментариев пользователей сайта вам на Jabbеr

Reading time1 min
Views6K
Во время шумихи с аськой и предложениями перехода на jabber я решил разобраться: что же такое джаббер и как он мне может пригодиться кроме прямого общения.

Применение нашлось само собой – хочется получать комментарии с сайта себе в мессенжер. Этот подход оказался очень удобным и простым в реализации.

Поскольку я только начал разбираться с джаббером решил использовать готовую библиотеку для php (так как мой сайт работает на нем).
Итак, на сайте протокола xmpp (jabber) xmpp.org/software/libraries.shtml я скачал баблиотеку xmpphp (она мне понравилось больше всех своей простотой в понимании) и закачал ее на свой хост.

В функцию добавления комментария на сайте я добавил строки:

include ‘XMPPHP/XMPP.php’;
$conn = new XMPPHP_XMPP('джаберовский сервер', 5222, 'логин', 'пароль', 'xmpphp', 'jabber.ru', $printlog=false, $loglevel=XMPPHP_Log::LEVEL_INFO);
try
{
	$conn->connect();
	$conn->processUntil('session_start');
	$conn->presence();
	$conn->message('ваш джаббер', 'текст сообщения');
	$conn->disconnect();
}
catch(XMPPHP_Exception $e)
{
	die($e->getMessage());
}


Где: джабберовский сервер — сервер через который отправляются сообщения (я указал тот же на который и приходят сообщения).
Внимание! Текст сообщения должен быть с кодировке UTF-8.

Вот собственно и все…

P.S. Спасибо за приглашение на хабр! Решил перенести свою статью из песочницы в блог.

Проверка орфографии с помощью Google

Reading time2 min
Views15K
Иногда в проекте требуется проверить данные на предмет орфографических ошибок, не полагаясь на познания пользователя по части языков. Тут нам сможет помочь компания Google, с таким их сервисом, как проверка орфографии, используемым в Google Toolbar. Но, к сожалению, Google не предоставляет открытого API для работы с ним.

Итак, краткое описание:
Для того, чтобы проверить текст нам нужно отослать его в POST на https://google.com/tbproxy/spell?lang=ru, где для смены языка следует заменить значение параметра lang на соответствующий по ISO 3166-1 alpha-2. Текст оформляется в XML вида:
<?xml version="1.0" encoding="UTF-8" ?><br/>
<spellrequest textalreadyclipped="0" ignoredups="0" ignoredigits="1" ignoreallcaps="1"><br/>
 <text>Текст для проверки</text><br/>
</spellrequest>
ignoredups — подсветка повторов
ignoredigits — считать цифры ошибками
ignoreallcaps — не проверять слова написанные капсом (подсказал pointum)

Если всё успешно, мы получаем ответ вида
<?xml version="1.0" encoding="UTF-8"?><br><spellresult error="0" clipped="0" charschecked="272"><br> <c o="27" l="13" s="0"></c><br> <c o="73" l="11" s="1">орфографии и орфографии</c><br> <c o="190" l="11" s="1">пользоваться</c><br> <c o="226" l="13" s="0">пред оставляет пред-оставляет</c><br></spellresult>
Атрибуты тега spellresult:
error — произошла ли ошибка
charschecked — количество проверенных символов

В нем идет перечисление допущенных ошибок (теги c), их параметры:
o — начало исходного слова в тексте
l — длина этого слова
s — точность результата

В самом теге c содержатся предполагаемые варианты написания слов, разделенные символом \t.

P.S. Когда этот текст уже был написан, случайно наткнулся на статью в блоге Paul Welter, которая, в принципе, описывает тоже самое…


UPD: Пользователь wayly написал на PHP класс для проверки текста с помощью этого сервиса, скачать можно по ссылке proxysoft.ru/files/spellchecker.zip (зеркало).

UPD2: mezhevikin подсказал ajax-решение с использованием этого сервиса — orangoo.com/labs/?page_id=3

UPD3: Список поддерживаемых языков

_________
Текст подготовлен в ХабраРедакторе
Код подсвечен в Source Code Highlighter

PageRank предсказывает нобелевских лауреатов

Reading time2 min
Views831
Ранжирование учёных по количеству ссылок на их работы — неблагодарное дело. Кто угодно может называть несколько уязвимых мест такой системы.

1. Не все ссылки одинаковы. Значимость ссылающейся работы — это важный фактор.
2. Учёные из разных областей науки пользуются цитатами и ссылками по-разному. Работа в области наук о жизни цитируется шесть раз, работа по физике — три раза, а по математике — всего один.
3. Прорывные работы могут цитироваться реже обычного, потому что они затрагивают нишевые научные области на раннем этапе их развития.
4. Важные работы часто прекращают цитировать, когда они попадают в учебники.

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

Сергей Маслов из Брукхейвенской национальной лаборатории в Нью-Йорке и Сидни Реднер из Бостонского университета задали себе такой же вопрос и предположили, что алгоритм Google PageRank может помочь немного разобраться в проблеме.
Читать дальше →

Заметки о лучшем хостинге: часть первая

Reading time5 min
Views15K
imageТак получилось, что до недавнего времени все мои web-проекты реализовывались на своих собственных серверах. И по этой причине мне ни разу не приходилось иметь дела с хостингом. Но всему приходит конец и в конце 2008 года я вдруг решил, что просто обязан купить себе хостинг и пару доменов.

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

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

UPD: доступна вторая часть статьи
Читать дальше →

Сервис конвертации favicon доменов в png (с исходниками:)

Reading time2 min
Views1.4K
Недавно я писал про поиски способов получения иконок доменов в нормальном формате (т.е. png) и о желании написать свой отдельный сервис для этого, поскольку общедоступные конверторы от Google и Yandexа обладают существенными недостатками.

И вот он готов.
хабракут

Аудиоплеер mp3 файлов на flash для вашего сайта — бесплатно

Reading time1 min
Views9K
Итак, для всех тех, кто хотел mp3-плеер на свой сайт, абсолютно бесплатно для вас мы сделали вот такой:


Да, да, абсолютно бесплатно.

Пользуйтесь на здоровье!

Руководство пользователя на русском в формате chm

Reading time1 min
Views5.8K
Для тех у кого интернет не всегда под рукой, да и просто для любителей локальных мануалов, я скомпилировал руководство пользователя по CodeIgniter (code-igniter.ru) в отдельный файл chm.

Скачать его можно отсюда: www.iforyou.ru

UPD 1: Добавлена страничка с классом Image Manipulation.
UPD 2: Добавлена страничка с классом Typography.
UPD 3: Удалено выпадающее содержание (то что на JavaScript), панель справа теперь в юникоде.
UPD 4: Страница с содержанием теперь в две колонки.
UPD 5: Исправлена ошибка с кодом в одну линию. Теперь код как в оригинале.

Критерии 100% читаемости сайтов

Reading time5 min
Views3.4K
Перевод статьи Oliver Reichenstein «The 100% Easy-2-Read Standard».

Большинство сайтов доверху наполнены мелким текстом, который больно читать. Но зачем? Нет причины вжимать так много информации в экран. Это глупая коллективная ошибка, которая относится к временам когда экраны были действительно маленькими. Так что…

screen vs magazine
Экран и журнал: 100%-размер шрифта — это не много. Фотограф: Wilson Miner.

Не заставляйте нас изменять размер шрифта

Мы не хотим изменять настройки браузера каждый раз когда посещаем новый сайт!

Читать дальше →

Безразмерная разметка с помощью relative (без float)

Reading time2 min
Views4.1K
Навеянно этой темой.
Пример, как это работает.

1. Введение


Представим, мы имеем класс relative, внутри которого имеется текст, и не задаём ему width:
#bar{
position:relative;
border:5px solid #00FFFF;
padding:10px;
height:200px;
}
мы получим резиновый блок:
<div id="bar">
text
</div>


При этом, блок обладает неизменными padding+border и резиновым width, таким, что width_px+padding_px+border_px = 100%.
Для absolute блоков, такой трюк не прокатывает.
Читать дальше →

Как быстро начать и эффективно продолжить писать расширение для лисы

Reading time1 min
Views1.1K

Обычно цикл разработки таков:


1) вносим изменение в исходники,
2) перепаковываем исходники в *.xpi (скриптами),
3) переключаемся на лису,
4) Ctrl+O, выбираем полученный выше *.xpi,
5) появляется диалог установки, ждём 4 секунды,
6) жмём «Install»,
7) потом «Restart Firefox» и смотрим что изменилось.

Стало страшно? Тогда…
дальше про то как userChrome.js позволяет обойтись без перезагрузки и сократить количество шагов до двух

CMS на основе CodeIgniter — текущая ситуация

Reading time2 min
Views15K
На днях мне потребовалось установить движок для англоязычного блога. Проблема в том, что хостинг (VPS с объемом памяти 256 Мб) не тянет WordPress версии 2.6, а в 2.0.11 (которая, возможно, и заработала бы) работают не все нужные мне плагины. В общем, я решил посмотреть, какие сейчас существуют легкие CMS, причем на основе CodeIgniter, как наиболее быстрого и потребляющего мало памяти фреймворка PHP. Требования по функционалу у меня достаточно простые: возможность ведения блога, желательно с SEO-примочками (прописывание заголовков, мета-тегов, генерация Google Sitemap).

Читать дальше →

jQuery для JavaScript-программистов

Reading time12 min
Views71K
Примечание: ниже расположен перевод статьи «jQuery for JavaScript programmers», в которой автор высказывает свое мнение об этой библиотеке, ориентируясь, в первую очередь, на продвинутых программистов, и приводит несколько десятков примеров ее использования.

Когда jQuery увидела свет в январе 2006, я подумал: «очередная красивая игрушка». Выбор CSS-селекторов в качестве базиса было, конечно, изящной идеей (подробнее о ней в моей заметке getElementsBySelector), но использование цепочек преобразований выглядело немного замысловато, и сама библиотека, по-видимому, не покрывала всех возможных случаев. Я расценивал тогда jQuery только как временное и проходящее решение.

Только несколько месяцев спустя понял я, насколько же ошибался по отношению к ней. jQuery является просто произведением инженерного искусства. Она умело покрывает достаточно широкой диапазон повседневных функций и предоставляет при этом удобный API для расширений, с помощью которых можно добавить любую другую функциональность. Абстрактность в ней заложена на уровне ядра — речь идет о выборе DOM-элементов — и она извлекает из него максимум пользы. И что важнее всего, использование этой библиотеки подразумевает следование хорошему стилю в программировании и хорошо сочетается с другими частями JavaScript-кода.

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

Читать дальше →

Онлайн-курс оптимизации производительности MySQL

Reading time1 min
Views2.1K
На Хабре некоторое время назад спрашивали про курсы по оптимизации MySQL. Мы разработали такой курс и проводим его дистанционно через интернет. Вот программа курса.

Курс продолжается 2 месяца (начать можно в любое время) и построен на выполнении практических заданий под руководством преподавателя. Все задания взяты из реальной практики, преподаватель ответит на все возникающие вопросы. Действует гарантия 100% возврата средств в течение первых двух недель по первому требованию.

Кризис не самое оптимальное время, чтобы пиарить новую услугу, но это оптимальное время для получения новых знаний. Получить знания можно не только на нашем курсе, но и используя открытые источники:
I. Видеозаписи докладов на Highload++:II. Статьи по оптимизации MySQL на webew.ru
III. Задать интересующий вопрос на форуме SQLinfo.ru

На что готовы программисты в кризис

Reading time2 min
Views960
Долго думал, в какой блог выложить этот пост. В юмор? А может и нет здесь ничего смешного?

В общем, серфил сейчас форумы, на одном наткнулся на такое — "Такси и минет в подарок!"

Привожу текст топика:
Под катом текст топика и объяснение того, причем тут Хабр

Расширение Firefox добавляет торренты на Amazon.com

Reading time1 min
Views1.8K
Новое расширение Firefox под названием Pirates of the Amazon («Пираты Амазонки») превращает крупнейший в мире интернет-магазин в полноценный каталог пиратского контента. Идея простая: «Пираты Амазонки» просто добавляют на каждую страницу каталога Amazon.com ссылку на торрент для бесплатного скачивания этого файла.

Таким образом, мечта любого любителя халявы доведена до абсолюта: вы ходите по магазину, смотрите на ценники и выбираете подходящий фильм (программу, музыкальный альбом, игру), а когда выбор сделан — просто берёте товар бесплатно, нажав на баннер “Download 4 free”.

Плагин работает по типу Greasemonkey, модифицируя код страницы в браузере. Ссылки на торренты получают с популярного трекера The Pirate Bay.
Читать дальше →

Иконки для ваших программных продуктов

Reading time1 min
Views1.6K
Продолжая благое начинание г-на rumkin-а, предлагаю вашему вниманию новую акцию по иконизации населения. В этот раз будем обзаводиться иконками не для сайтов, а для программных продуктов. В рамках акции, я готова разработать главную иконку для вашего программного продукта. В связи с тем, что дело это не простое, я выберу 3 программных продукта из комментариев на свой вкус.

Читать дальше →

Information

Rating
Does not participate
Location
Ижевск, Удмуртия, Россия
Date of birth
Registered
Activity