Очередная глава из книги «jQuery in Action» (авторы Bear Bibeault и Yehuda Katz). Прежде всего извиняюсь перед читателями за столь большой промежуток между публикациями глав. Но все-таки я это сделал, чему, конечно же, рад. Надеюсь, что и вы тоже не останетесь равнодушными. Итак, продалжаем.
User
Запись и обработка акапеллы
3 min
41KЧеловеческий голос в песне наиболее критичен к восприятию на слух, а потому звучать он должен максимально естественно. Большинство звукорежиссёров сходятся во мнении, что записывать вокал нужно так, чтобы свести к минимуму его последующую обработку, и это, конечно, правильно. Вот только реализовать подобное можно лишь на профессиональной студии с хорошим (желательно ламповым) оборудованием. А можно ли обойтись без этого дорогущего оборудования, но вместе с тем максимально приблизиться к студийному качеству звучания? Можно! Этим мы сейчас и займёмся.
+45
Свершилось — Jevix 1.0
2 min
2.6KJevix — система автоматического применения правил набора текстов (типографика) разработанная в ТМ™ для собственных проектов (Хабр, Кадабра, Дрибблер), с открытым исходным кодом, наделённая способностью унифицировать разметку HTML/XML документов, контролировать перечень допустимых тегов и атрибутов и предотвращать возможные XSS-атаки в коде документов.
В связи с катастрофической нехваткой времени, не смотря на мои обещания, код версии 1.0 выложен только сегодня. Но зато он всё же вышел! Причём вместе с исправлением вчерашнего хабрабага с перечёркиванием текста.
Теперь Jevix доступен на google code. Я не поссорился с Juks — автором perl-версии (если кто что подумал) — просто с google code мне работать проще.
+103
Шрифты в Ubuntu
1 min
41KЕсть очень простой способ улучшить внешний вид шрифтов во многими любимой убунте.
+34
+209
jQuery для начинающих. Часть 3. AJAX
11 min
455KПредставляю Вам третью статью из серии jQuery для начинающих. В этот раз я постараюсь рассказать о реализации AJAX запросов...
+65
MemcacheDB и MemcacheQ — ключевые компоненты высокопроизводительной инфраструктуры
5 min
7.5KCегодня мы поговорим о компонентах для высокопроизводительной и масштабируемой архитектуре на основе сервера memcached, а именно — распределённой базе для хранения данных MemcacheDB и системы очередей сообщений MemcacheQ.
Сначала рассмотрим, а что у нас есть в распоряжении для создания распределённой инфраструктуры хранения данных для веб-приложения. Ну, первое, что приходит в голову — кластеризация базы данных, это теперь поддерживается во всех распространённых системах, а также различные технологии репликации. Например, самая популярная СУБД для веб-проектов, MySQL поддерживает как репликации так и кластеризацию. Ещё можно обратится к традиционным файловым система и хранить данные в файловой системе, к примеру, Apache Hadoop. Но часто это слишком высокоуровневое решение, обычно же требуется гораздо проще варианты — когда нужно хранить и оперировать просто парами ключ-значение. Если серьёзно посмотреть, такая функциональность позволит покрыть потребности 90% веб-приложений. А если мы прибавим к этому возможность очень и очень быстро оперировать данными, хранить их в виде распределённой многосерверной системе и возможность постоянного хранения, устойчивого к сбоям — получим очень привлекательную платформу.
Сначала рассмотрим, а что у нас есть в распоряжении для создания распределённой инфраструктуры хранения данных для веб-приложения. Ну, первое, что приходит в голову — кластеризация базы данных, это теперь поддерживается во всех распространённых системах, а также различные технологии репликации. Например, самая популярная СУБД для веб-проектов, MySQL поддерживает как репликации так и кластеризацию. Ещё можно обратится к традиционным файловым система и хранить данные в файловой системе, к примеру, Apache Hadoop. Но часто это слишком высокоуровневое решение, обычно же требуется гораздо проще варианты — когда нужно хранить и оперировать просто парами ключ-значение. Если серьёзно посмотреть, такая функциональность позволит покрыть потребности 90% веб-приложений. А если мы прибавим к этому возможность очень и очень быстро оперировать данными, хранить их в виде распределённой многосерверной системе и возможность постоянного хранения, устойчивого к сбоям — получим очень привлекательную платформу.
+50
Маркетинговые ходы разработчиков CMS
3 min
1.7K — Наше подсолнечное масло не содержит холестерина!
— Разумеется, ни одно подсолнечное масло не содержит холестерина.
В данной статье я хочу рассказать о наиболее часто встречающихся рекламных ходах компаний-разработчиков коммерческих CMS и поясню, почему это лишь маркетинговые ходы и ничего более.
Как известно, залог успешного бизнеса – это маркетинг и реклама. Рассказать о преимуществах, недостатки представить как преимущества, а которые не получилось – скрыть. С системами управления контентом точно такая же история. Битрикс и UMI считаются лидерами рынка не потому, что у них действительно хорошие продукты, а потому что у них действительно хорошие маркетологи. В действительности, все CMS по своей сущности мало чем отличаются – они предоставляют совершенно одинаковые возможности, одинаковым образом. Но продукт надо как-то выделить среди остальных, надо что-то написать в разделе «Преимущества системы». Вот и придумывают достоинства, которых не существует или которые вообще не являются достоинствами. Далее о наиболее распространенных из них.
— Разумеется, ни одно подсолнечное масло не содержит холестерина.
В данной статье я хочу рассказать о наиболее часто встречающихся рекламных ходах компаний-разработчиков коммерческих CMS и поясню, почему это лишь маркетинговые ходы и ничего более.
Как известно, залог успешного бизнеса – это маркетинг и реклама. Рассказать о преимуществах, недостатки представить как преимущества, а которые не получилось – скрыть. С системами управления контентом точно такая же история. Битрикс и UMI считаются лидерами рынка не потому, что у них действительно хорошие продукты, а потому что у них действительно хорошие маркетологи. В действительности, все CMS по своей сущности мало чем отличаются – они предоставляют совершенно одинаковые возможности, одинаковым образом. Но продукт надо как-то выделить среди остальных, надо что-то написать в разделе «Преимущества системы». Вот и придумывают достоинства, которых не существует или которые вообще не являются достоинствами. Далее о наиболее распространенных из них.
+89
Обрати внимание
1 min
693Зачастую необходимо обратить внимание пользователя на какую-либо деталь интерфейса.
Например при ошибке в вводе данных в форму. Обычно веб-мастера используют цветовое выделение или текстом ошибки, и обычно это помогает, но существуют особо непонятливые пользователи которые не найдут своей ошибки и просто напросто уйдут с вашего веб-сайта. И таких ситуаций множество.
Я хочу Вам показать прием позволяющий обратить внимание пользователя, на мой взгляд, с большой точностью.
+25
Анимированный фон средствами jQuery или «Эй, а ведь круто! Как Flash!»
3 min
13KЗанимательные поделки от Джонатана Снука. Данная статья будет интересна скорее новичкам, нежели более умудренным разработчикам, хотя мистер Снук достаточно авторитетен и его методики могут быть полезны всем.
+76
Eclipse Tips #1
1 min
4.5KПопробую начать новую рубрику, в которой буду рассказывать о трюках и хитростях при работе с Eclipse, программируя на Java. Сегодняшний разговор будет о расширения, которые, на мой взгляд, помогут Вам в разработке.
+39
Почему Jabber свободен от спама?
2 min
4.1KTranslation
Вольный перевод текста от Peter Saint-Andre, одного из самых активных участников Jabber/XMPP community.
1. В XMPP, адрес отправителя задается не на компьютере отправителя в программе-клиенте, а на сервере. Так что, клиент не может подделать адрес «От:». (Конечно, если вы — администратор сервера jabber.org, в принципе, вы можете отослать сообщение от имени любого пользователя этого сервера. Но только этого сервера. Отослать сообщение от имени пользователя другого домена вы не сможете).
2. В XMPP, сервера проверяют друг друга с помощью протокола «dialback» (RFC 3920 / XEP-0220), основанного на DNS, или с помощью сертификатов сервера. Так что, если я запустил сервер на домене jabber.org, я не смогу отсылать сообщения от имени microsoft.com или whitehouse.gov. (Кроме того, сообщения доставляются от сервера отправителя к серверу получателя напрямую, минуя промежуточные jabber-сервера. Подделывать адреса сообщения в процессе доставки некому.)
1. В XMPP, адрес отправителя задается не на компьютере отправителя в программе-клиенте, а на сервере. Так что, клиент не может подделать адрес «От:». (Конечно, если вы — администратор сервера jabber.org, в принципе, вы можете отослать сообщение от имени любого пользователя этого сервера. Но только этого сервера. Отослать сообщение от имени пользователя другого домена вы не сможете).
2. В XMPP, сервера проверяют друг друга с помощью протокола «dialback» (RFC 3920 / XEP-0220), основанного на DNS, или с помощью сертификатов сервера. Так что, если я запустил сервер на домене jabber.org, я не смогу отсылать сообщения от имени microsoft.com или whitehouse.gov. (Кроме того, сообщения доставляются от сервера отправителя к серверу получателя напрямую, минуя промежуточные jabber-сервера. Подделывать адреса сообщения в процессе доставки некому.)
+84
Intrusion Detection For PHP Applications With PHPIDS
4 min
3.9KTranslation
Эта статья покажет как настроить PHPIDS. PHPIDS (PHP-Intrusion Detection System) — это легко используемая, хорошо структурированная, быстрая прослойка для анализа безопасности ваших приложений. IDS — не является прослойкой для анализа данных, введенных пользователем, он только распознает, когда пытаются атаковать ваш сайт. на основе набора проверенных и оттестированных правил каждой атаке сопоставлен рейтинг ее опасности. Это позволит легко сохранять статистику по атакам или отсылать уведомления для команды разработчиков.
+10
Сколько процентов в миллилитре
1 min
4KМногие из нас читали или слышали, что женское восприятие отличается от мужского. Некоторое из нас знают, как это отличие перевести в детали интерфейса пользователя или пользовательницы, менее тривиальное, чем розовый фон и завитушки для девочек. А ещё некоторые невольно получили наглядное доказательства того, что этот постулат маркетологам транснациональных корпораций хорошо известен и ими практически эксплуатируется:
Слева продукт для женщин, справа такой же для мужчин. Разница в запахе и цвете упаковки очевидна. А вот разница в подаче бонуса далеко не столь очевидна. На банках при этом имеются надписи мелким шрифтом:
Слева продукт для женщин, справа такой же для мужчин. Разница в запахе и цвете упаковки очевидна. А вот разница в подаче бонуса далеко не столь очевидна. На банках при этом имеются надписи мелким шрифтом:
- на первой: «225мл + 25мл бесплатно»
- на второй: «200мл + 50мл бесплатно»
+95
Вся неправда про Суперхабр
3 min
20KПользуясь случаем, пока все спят, я расскажу вам всю неправду о суперхабре. Надеюсь, коллеги не будут против, если я внесу немного неясности в вопрос, что же такое суперхабр и зачем он нужен с технической точки зрения?
Итак, для тех кому это интересно, расскажу об составляющих частях этого проекта.
+218
Защита от DDos. Простой, но эффективный скрипт
1 min
32KНедавно озаботился поиском адекватного решения для защиты некоторых подконтрольных ресурсов от DDos атак.
Первое что посоветовали — Cisco Guard. Но так как требовалось что то легкое и не столь дорогое, то решил посмотреть в сторону софтверных продуктов.
После непродолжительного гугления наткнулся на небольшой скриптик (D)DoS-Deflate
Первое что посоветовали — Cisco Guard. Но так как требовалось что то легкое и не столь дорогое, то решил посмотреть в сторону софтверных продуктов.
После непродолжительного гугления наткнулся на небольшой скриптик (D)DoS-Deflate
+82
LiveStreet движок аля Хабра
2 min
12KДобрый день.
Сегодня вышла в свет первая публичная версия моего движка блого-социальных сетей LiveStreet.
Движка, который попытался приблизиться к функциональности Хабра, и я думаю, у него это получилось.
Сегодня вышла в свет первая публичная версия моего движка блого-социальных сетей LiveStreet.
Движка, который попытался приблизиться к функциональности Хабра, и я думаю, у него это получилось.
+118
MySQL Performance real life Tips and Tricks
9 min
37KПообещал вчера написать статью о реальных случаях оптимизации БД MySQL.
Пришлось сегодня вставать утром пораньше чтобы воплотить обещанное в жизнь.
Централизованное управление мыслями поддерживать еще сложно, поэтому не судите строго за казусы и ляпсусы в моей статье.
В последнее время приходится достаточно часто заниматься оптимизацией производительности сайтов. И как правило «бутылочным горлышком» в производительности работы этих сайтов является именно БД, ошибки как в архитектуре так и в выполнении запросов. Начиная от неправильной расстановки индексов, либо совершенным их отсутствием, неправильным (неэкономным) выбором типов данных под определенное поле, заканчивая абсолютно нелогичной архитектурой БД и такими же нелогичными запросами.
В данной статье опишу несколько приемов, которые были использованы для приложения с 4млн+ пользователей и которое имея порядка 100млн+ хитов в сутки, а в конце опишу задачу, которая решалась недавно и может быть многоуважаемое сообщество предложит мне решения этой задачи более эффективное нежели то, к которому пришел я.
Пришлось сегодня вставать утром пораньше чтобы воплотить обещанное в жизнь.
Централизованное управление мыслями поддерживать еще сложно, поэтому не судите строго за казусы и ляпсусы в моей статье.
В последнее время приходится достаточно часто заниматься оптимизацией производительности сайтов. И как правило «бутылочным горлышком» в производительности работы этих сайтов является именно БД, ошибки как в архитектуре так и в выполнении запросов. Начиная от неправильной расстановки индексов, либо совершенным их отсутствием, неправильным (неэкономным) выбором типов данных под определенное поле, заканчивая абсолютно нелогичной архитектурой БД и такими же нелогичными запросами.
В данной статье опишу несколько приемов, которые были использованы для приложения с 4млн+ пользователей и которое имея порядка 100млн+ хитов в сутки, а в конце опишу задачу, которая решалась недавно и может быть многоуважаемое сообщество предложит мне решения этой задачи более эффективное нежели то, к которому пришел я.
+135
Советы для разработчиков CMS и фреймворков на PHP
2 min
2.2KУже не раз сталкиваюсь с подобной проблемой, когда люди приходят и просят помочь в решении проблем распределения нагрузки при внезапном возрастании аудитории их сайтов. Ну и самое трудоемкое в данной проблеме — это самописные CMS-подобные системы, которые иногда приходиться переписывать полностью.
Я не буду вдаваться в подробности распределения нагрузки, а отпишу лишь основные правила при соблюдении которых Ваша CMS будет легко масштабироваться.
Я не буду вдаваться в подробности распределения нагрузки, а отпишу лишь основные правила при соблюдении которых Ваша CMS будет легко масштабироваться.
+45
8 лучших бесплатных средств разработки с открытым кодом по версии InfoWorld
3 min
4.7KТестовый Центр InfoWorld выбрал восемь лучших бесплатных инструментов с открытым кодом для разработчиков. Здесь есть средства создания насыщенных приложений (RA), AJAX-фреймворк, система управления бизнес-правилами, пакет контроля версий, объектная база данных, монитор для тестирования веб-сервисов… но пойдем по порядку:
Объектная база данных: db40
Появившись как Java-библиотека для баз данных, db4o была затем параллельно перенесена на платформу .NET. В множество полезных функций библиотеки db4o входят реализованные в 2005 году «родные запросы» (Native Queries) для построения запросов непосредственно методами Java или .NET.
Управление версиями: Git
Распределенная система управления версиями Git была изначально создана Линусом Торвальдсом, а теперь поддерживается Джунио Хамано (Junio Hamano). Git — это инструмент управления ревизиями во многих выдающихся open-source-проектах, включая ядро Linux, сервер X.org, ядро проекта One Laptop per Child (OLPC) и веб-фреймворк Ruby on Rails. Движок Git как минимум на порядок быстрее аналогичных систем для больших проектов и включает продвинутую поддержку для ветвления и слияния кода.
Библиотека веб-клиента: HttpClient
HttpClient — это Java-библиотека для передачи информации по HTTP-протоколу (родилась в 2001). Она позволяет выполнять http-запросы и легко обрабатывать полученные ответы. Множесто библиотек для работы с web-сервисами используют эту библиотеку в качестве транспортного слоя. Если вы Java-программист, и вам нужно послать http-запрос куда бы то ни было, то это библиотека для Вас. (aib — cпасибо за поправки)!
+2
Information
- Rating
- Does not participate
- Location
- Киевская обл., Украина
- Date of birth
- Registered
- Activity