Pull to refresh
0
Denys @Denysread⁠-⁠only

User

Send message

Делайте грамотные сайты с API Яндекс.Спеллера

Reading time1 min
Views3.5K

Яндекс предоставил открытый доступ к API сервиса Яндекс.Спеллер, созданного для проверки правописания. Теперь каждый желающий  может установить этот сервис у себя на сайте.



Технология Яндекс.Спеллера применяется в Яндекс.Почте и в Яндекс.Баре. Инструмент содержит самый большой в Рунете словарь русского языка – 3,6 млн словоформ.

Анализ статистики употребления слов, лежащий в основе сервиса, помогает максимально точно проверять слова и выбирать варианты для подсказки. У Спеллера – очень широкий для интернет-приложений набор опций, благодаря чему вы можете выбрать удобные для себя настройки.

Одной из особенностей Спеллера, как и других API-инструментов Яндекса, является простота в использовании и управлении. Чтобы встроить на свой сайт веб-клиент, требуется выполнить несколько несложных действий.

Язык – живая система, поэтому в будущем функционал инструмента будет расширяться и дополняться.

Сделайте свой сайт не только интересным, но и грамотным.

Алексей Байтин и команда исправления опечаток

8 отличных хитростей jQuery

Reading time4 min
Views28K
imageКому не нравится jQuery? Это быстрая и простая javascript-библиотека стала очень популярной в 2008 году. В этой статье я собрал список восьми очень полезных jQuery-техник, советов и хитростей.
Читать дальше →

Прописываем dpi в PNG с помощью PHP

Reading time2 min
Views5.3K
Понадобилось мне тут вдруг для одной прикладной задачи генерировать PNG-шки на PHP, чтобы затем их можно было вставлять в документы и распечатывать. Но вот проблема, никак с помощью GD в PHP при сохранении нельзя задать разрешение в dpi, а ведь это очень важно при печати. С ImageMagick мне связываться не хотелось, поэтому я быстренько нагуглил PNG (Portable Network Graphics) Specification и написал вот такой код:
Читать дальше →

Идея стартапа: сервис создания информеров на основе RSS-лент

Reading time1 min
Views656
Здравствуйте, уважаемое Хабра-сообщество.

Пишу я вам, так как больше нет мест, куда я мог бы пожаловаться на нехватку сервиса, а кому-то — подкинуть идею для проекта.

Я заядлый блоггер и конечно одно из основных моих источников информации — это Google Reader. Я могу легко подписаться на интересный мне блог или подкаст а потом получать информацию в автоматическом режиме. Но что делать, если я хочу поделиться списком „своих любимчиков“, создать блог-ролл? Проблема лишь в том, что любимчиков может быть не два-три, а сто-двести и каждого из них хочется упомянуть.

Мне пришла в голову идея сервиса, который бы облегчил жизнь многих, таких как я. Суть сервиса проста: формирование информеров со списком содержимого вашего RSS-аггрегатора (будь-то Google Reader, Яндекс.Лента и прочие сервисы). То есть получается некий аналог Widgetbox, но в качестве содержимого контейнера информера — список на подписанные фиды из RSS-аггрегатора.

Было бы вообще прекрасно, если бы это содержимое можно было бы группировать и создавать разные информеры.

В общем — если у кого-то появилось желание создать подобный сервис — я готов поддержать его как морально, так и материально.

Ya-Ya.ru — интернет-газета бесплатных объявлений

Reading time3 min
Views831
Ya-Ya.ru - первая реальная интернет-газета бесплатных объявлений Разберем по порядку:
  • «первая реальная» — да уж, этот ход не на аудиторию Хабра рассчитан — пропускаем;
  • «интернет» — это веб-сервис в интернете;
  • «газета» — взгляните на интерфейс и бросьте камень в монитор, если это не газета;
  • «бесплатных» — вас отделяет два клика от подачи объявления, которое ничего не будет вам стоить;
  • «объявлений» — этот сервис только про объявления, он сделан только для них; мы с уважением относимся к объявлениям и к их авторам, поэтому предоставляем возможности выделять объявления рамкой, рамкой и фоном, рамкой и картинкой, поднимать объявления на первое место или фиксировать на первых позиция в спецразмещении.
Итак, как минимум, название мы оправдали.
Читать дальше →

Zend выпустила бета-версию собственной серверной сборки

Reading time1 min
Views1K
imageКомпания Zend пополнила свой список коммерческих продуктов для php-девелоперов.
Zend Server — это серверная сборка, включающая в себя веб-сервер, собственно php, несколько инструментов от Zend (Optimizer, Debugger и т.д.), Zend Framework, средства для мониторинга и различные СУБД.

Проект находится в стадии бета-версии, доступен для Windows и Linux. Есть бесплатная версия Community Edition.

На данный момент Zend Server включает в себя:
  • Apache 2.2.8 (либо использует предустановленный IIS)
  • PHP 5.2.8 и пачку расширений для него
  • Zend Optimizer+
  • Zend Guard Loader
  • Zend Debugger
  • Zend Cache
  • Zend Java Bridge
  • Zend Monitor
  • Zend Data & Page Cache
  • Zend Download Server
  • Oracle OCI Driver
  • Zend Framework 1.7.4
И в качестве дополнительных опций инсталлятор скачивает:
  • phpMyAdmin
  • IBM DB2 RTCL
  • MySQL Server
  • MS SQL Native Client

Регистрация в качестве Индивидуального предпринимателя для freelance'ера: Зачем и как?

Reading time3 min
Views17K
После моей статьи «Freelance: ожидания, реальность, признание» сразу несколько человек обратилось ко мне с вопросом о юридических проблемах в работе freelance'ра. Скажу сразу, я далеко не юрист, но в свое время оформлял себе ИП, именно для freelance'а, а потому имею опыт, и некоторые знания в этой сфере, и могу ими поделиться. Хотя конечно мои выводы могут быть ошибочны, и у юристов эта статья наверняка вызовет легкую улыбку (или приступ раздражения), скажу еще раз, я просто хочу поделиться опытом, и рассказать как я регистрировался в качестве предпринимателя, и что мне дала эта бумажка.
Читать дальше →

Букмарклеты

Reading time4 min
Views16K
Всем привет, сегодня речь пойдет про использование букмарклета, или закладки для браузера.

Кто не знает, это такая штука, которую можно добавить в закладки (да, я сегодня дебютирую в роли Капитана Очевидность :) и, при нажатии на нее, произвести какой-нибудь эффект.

Примером может служить герой сегодняшней заметки, который расположен по адресу http://ulizko. com/demo/allthat/. Инструкция по применению:
  1. Перетащите ссылку «link» на панель закладок или щелкните по ней правой кнопкой мыши и выберите пункт меню «добавить в избранное».
  2. Зайдите на какой-нибудь сайт, вроде http://twitter. com, и нажмите на эту закладку (ну или на избранное).


Появится окошко, в которое можно ввести данные. Вообще, предполагается, что это будет интерфейс добавления желаний в вишлисты (предварительно созданные на каком-то сайте), настроить триггеры оповещений, и прочее. Есть даже какая-то валидация начального уровня. И налажен обмен данными с сервером — то есть, на любом домене к вам приходит список ваших вишлистов, а ваше новое желание с любого домена долетит на крыльях любви к вишлисту и уютно устроится в его объятьях1.

Но. Мы сегодня не об этом, а о том, как делать такие штуки в принципе.

Интересно?

Организация видеотрансляции на сайте

Reading time4 min
Views20K
Всем привет.

Боремся с пробками вместе


В рамках этого проекта в г. Красногорск, мы решили установить пару сетевых камер и сделать удобным просмотр потокового видео. Забегая вперед, результат можно посмотреть на нашем сайте или с мобильного телефона по wap www.ventumnet.ru/camera


Читать далее

Бибигоша – детский виртуальный мир на Silverlight 2

Reading time1 min
Views2.8K
На конференции “Платформа 2009” мы показали раннюю версию портала Bibigosha.ru. На прошлой неделе сайт официально открылся в экскурсионном режиме.

Бибигоша – это целый виртуальный мир для детей от 3 до 7 лет со своими героями, включая шестилапую(ого?) Бибигошу, играми, загадками и приключениями. Однако практика показывает, что не только дети любят в нее играть :)

Про общее назначение и цели проекта подробно рассказано в пресс-релизе Microsoft и видеосюжете в Вестях. Портал создан в рамках стратегического партнерства ВГТРК и Microsoft.

С технической точки зрения весь игровой мир полностью сделан на Silverlight 2 силами компании TVX. Для комфортной работы в регионах России с медленным Интернетом при первом запуске происходит кэширование большого объема данных. Так что не удивляйтесь, что первый запуск будет несколько долгим. Это только в начале.

Вообще, писать про Бибигошу сложно – это нужно видеть, наблюдать, изучать и играть :)

В будущем будет сделана специальная сеть для общения родителей, а на сайте будут находиться только дети. А пока сайт открыт в экскурсионном режиме всем желающим – так что наслаждайтесь!

Закрепляем jQuery — 25 отличных советов

Reading time19 min
Views168K
Перевод отличной статейки. Думаю, будет полезна как новичкам, которые только приступили к использованию jQuery, так и тем, кто уже какое-то время с ним работает. А кого-то, возможно, заставит глянуть эту чудесную библиотечку. Многие советы имеют отношение не только к jQuery, но и к JavaScript в целом. Лично для меня была весьма и весьма познавательной, посему и захотелось донести это «до масс». Перевод не дословный, но передающий смысл и максимально адаптированный к русскому языку.

Далее все написано от имени автора оригинальной статьи.

Введение


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

Я не эксперт в jQuery. И даже не претендую, поэтому, если встретите ошибки, смело поправляйте меня и вносите предложения по улучшению (поправлять и присылать поправки нужно автору статьи, а не перевода — зам. пер.).

Я называю себя «среднестатистическим» пользователем jQuery и я думаю, что всем остальным будет интересно почитать и что-нибудь почерпнуть из «фишек», «трюков» и техник, которые я освоил за последний год. Статья получилась куда длиннее, чем я предполагал изначально, так что в самом начале я привел «содержание» для более удобной навигации и возможности при желании пропустить не интересующие моменты.

Содержание


  1. Загружайте фреймворк с Google Code
  2. Используйте «шпаргалку» (cheat sheet)
  3. Соединяйте все ваши скрипты и уменьшайте размер файла
  4. Используйте возможности Firebug для ведения логов
  5. Минимизируйте операции выборки в пользу кэширования
  6. Сводите манипуляции с DOM-деревом к минимуму
  7. Оборачивайте все в единый элемент, когда речь идет о любой вставке в DOM
  8. Используйте «id» вместо классов, где это возможно
  9. Задайте контекст своим селекторам
  10. Используйте последовательности вызовов методов с умом
  11. Научитесь правильно использовать анимацию
  12. Научитесь назначать и делегировать события
  13. Используйте классы для сохранения состояния
  14. Еще лучше — используйте встроенный в jQuery метод data() для сохранения состояния
  15. Пишите собственные селекторы
  16. Подготавливайте HTML и модифицируйте его, когда страница загружена
  17. Используйте «отложенную загрузку» (lazy loading) для определенного контента для выигрыша в общей скорости и преимуществ для SEO
  18. Используйте служебные функции jQuery
  19. Используйте «noconflict» для переименования глобального объекта «jquery», когда используете его с другими фреймворками
  20. Как узнать что картинки загружены?
  21. Всегда используйте последнюю версию
  22. Как проверить, что элемент существует?
  23. Добавляйте класс «JS» в элемент «html»
  24. Возвращайте «false» для отмены поведения по-умолчанию
  25. Короткая запись для события готовности документа


Rock'n'Roll!

Элементарные PHP скрипты для резервного копирования данных

Reading time2 min
Views10K
В ответ недавнему топику о бэкапах на Bash. Топик полезный, без сомнений, однако я хочу продемонстрировать более гибкий способ…
Основной недостаток приведенного способа в топике выше — ненадобность. Ну честно, кому надо бэкапить файлы и базу одновременно? Т.е. бэкапить каждый день и файлы и базу — глупо, но и делать раз в месяц это глупо. Поэтому мой пример я разбил на 2 части. Отдельно делаем бэкап базы ежедневно и отдельно делаем бэкап файлов раз в неделю.
Соответственно, нам понадобится php на сервере. Что в наше время уже не роскошь, а банальщина.
Читать дальше →

Два инструмента для создания шрифтов.

Reading time2 min
Views138K
Я настоящий фанат типографики, и трачу много времени на поиск и экспериментирование со всеми видами различных типов шрифтов и стилей.

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

Превьюшки дизайнов — 2

Reading time2 min
Views934
MakePreview.com - сервис для вебдизайнеров

В сентябре прошлого года я под действием очередного wow-импульса сделал веб-утилитку, хотя ладно, чего уж там — Сервис MakePreview.ru! — который решал одну маленькую, но надоедливую проблему: декоративное обрамление дизайна сайта окном браузера (самизнаетеоткого пошла такая мода, в историю вопроса углубляться не буду).

Так вот, все это время я не спеша совершенствовал сервис...

WebAmp Concept

Reading time2 min
Views852
По традиции, хочу сразу предупредить, что я не программер и не знаю насколько возможно реализовать нижележащие фишки, но тем не менее таковые есть.

Добрый вечер. Я очень люблю музыку. Раньше я пользовался Винапом и был счастлив. Но с развитием интернета, скоростей передачи данных и различных аудио-хостингов стационарная музыка на жестких дисках начала уступать место музыке в веб-формате.
Последнее время я слушаю музыку исключительно из поиска Вконтакте. Найду все песни, например Король и Шут (очень я любил этот ансамбль в детстве) и слушаю целый день. Одна беда — поиск находит все песни всех пользователей и в списке могут стоять 5 одинаковых песен подряд, а некоторые песни меня просто достали, короче постоянно приходится отвлекаться на то, чтобы перепрыгнуть на следующую композицию.

Суть концепта: плеер грабит плейлисты на аудиохостингах. Например, указав адрес vkontakte.ru/audio.php?xxxx, все композиции попадут в плейлист плеера, которые можно удалить, поменять местами и прослушать, не заходя на сайт.


1. Свернутый портативный режим
Свернутый режим плеера
Читать дальше →

Проверка файла на наличие / существование

Reading time2 min
Views88K
Порой мы отображаем на сайтах контент с других ресурсов: картинки или фавиконы. Некоторе браузеры просто оставят пустое место (Firefox), другие же отобразят уродский прямоугольник, явно указывая, что чего-то не хватает (IE). Как же можно средствами PHP проверить существование файла.

Есть функция file_exists(), но она хороша только для файлов в пределах нашей файловой системы, а с удаленным сервером не пройдет.

Есть вариант открывать файл на чтение и в случие ошибки констатировать факт, что файла не существует:
<?
// файл, который мы проверяем
$url = "http://url.to/favicon.ico";

// пробуем открыть файл для чтения
if (@fopen($url, "r")) {
echo "Файл существует";
} else {
echo "Файл не найден";
}
?>


Однако такой прием занимает достаточно много времени.

Есть вариант еще лучше — использовать функцию get_headers():
она делает запрос к файлу и получает все заголовки с ответом примерно в таком массиве
Array
(
[0] => HTTP/1.1 200 OK
[1] => Date: Sat, 29 May 2004 12:28:13 GMT
[2] => Server: Apache/1.3.27 (Unix) (Red-Hat/Linux)
[3] => Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT
[4] => ETag: "3f80f-1b6-3e1cb03b"
[5] => Accept-Ranges: bytes
[6] => Content-Length: 438
[7] => Connection: close
[8] => Content-Type: text/html
)


Как мы видим, в нулевом элементе есть код ответа, 200 значит, что файл существует, и мы спокойно можем получить к нему доступ.
Вот код, который проверит существование файла.

<?
// файл, который мы проверяем
$url = "http://url.to/favicon.ico";
$Headers = @get_headers($url);
// проверяем ли ответ от сервера с кодом 200 - ОК
//if(preg_match("|200|", $Headers[0])) { // - немного дольше :)
if(strpos('200', $Headers[0])) {
echo "Файл существует";
} else {
echo "Файл не найден";
}
?>


Теперь сравним по времени два метода с существующей favicon и с несуществующей:
при несуществующем файле второй метод (get_headers) выигрывает на две сотые секунды.
при существующем файле оба метода показали примерно одинаковое время.

Flex, распределённые научные расчёты и монетизация некоторых интернет-проектов

Reading time2 min
Views2K
Во времена работы над своей диссертацией я столкнулся с проблемой нехватки вычислительных мощностей для имитационного моделирования изучаемого процесса. На тот момент я выкрутился за счёт доброты окружавших меня людей, которые позволили в течение двух летних месяцев круглосуточно использовать два компьютерных класса ОмГУ. Благо план моего эксперимента позволил мне вручную «распределить» по компьютерам обрабатываемые данные и всё завершилось вполне удачно. Однако в голове застрял вопрос о других вариантах распределения вычислений. И вот у меня возникла идея…
Читать дальше →

Памятка дизайнеру сайтов

Reading time10 min
Views246K
Вторая версия статьи, расширенная и дополненая.

Большая часть готовилась для моего выступления на «РИТ: Клиентские технологии», куда я, к сожалению, не доехал.

 

Памятка дизайнеру сайтов

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

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

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

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

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

jQuery 1.3

Reading time3 min
Views1.5K
Приятная новость для всех поклонников данного фреймворка. В день рождения библиотеки (которой сегодня исполняется уже три года) команда разработчиков объявила о выходе новой версии — 1.3!
Читать дальше →

Information

Rating
Does not participate
Location
Украина
Date of birth
Registered
Activity