Search
Write a publication
Pull to refresh
4
0
xRay @xRay

Пользователь

Send message

Отрицательная сторона передачи значений по ссылкам

Reading time3 min
Views12K
Без всякой лирики, прямо: использование ссылок для передачи значений снижает производительность. Мы думаем, что вместо того что бы передавать копию переменной, сценарий передает саму переменную, исходя из чего делаем вывод, что это должно работать быстрее. Увы, это заблуждение. Что бы понять почему давайте разберёмся с тем, как процессор Zend Engine обрабатывает значения.
Читать дальше →

Правильный цикл работы с версиями SVN

Reading time2 min
Views25K
Я думаю многие любопытные люди уже знают, как нужно верно работать с SVN.
Но во многих статьях это описано достаточно поверхностно. Хочется немного приоткрыть завесу верного цикла версионирования, при разработке проекта, на примере TortoiseSVN.
И так, поехали
Читать дальше →

Анимация в MooTools. Основы и не только.

Reading time18 min
Views7.5K
В данном топике я собираюсь свести все свои знания об анимации в MooTools воедино и рассмотреть темы, более углубленные, чем просто примеры использования плагинов. Теоретическая информация справедлива не только для MooTools, но и для других фреймворков. Начинающим будет интересно ознакомиться с возможностями фреймворка, а продолжающим — понять, как все это работает :). В статье приведено много примеров, есть довольно оригинальные, вот некоторые из них: 1, 2, 3. Приятного вам чтения.
Заглянуть вовнутрь

Социальные рекомендации урлов для пользователей FF

Reading time1 min
Views831
Мы сделали плагин для ФФ, который замеряет время, проведенное на страницах, и затем
1) считает персональный топ сайтов
2) считает общий топ сайтов http://feedme.ru/
3) анонимно сравнивает профили и рекомендует пользователю новые ссылочки, исходя из общности интереса к другим урлам — на новинки можно подписаться по RSS
(инвайт в конце поста)
Читать дальше →

Сборник хаков

Reading time4 min
Views6.5K
В этом посте я постарался собрать все известные мне хаки для css. Многие могут усомниться в их надобности для нормальных современных браузеров, потому как большинство хаков всегда применялись только для IE, но этот пост скорее для любознательных :), в верстке хаки вообще лучше не использовать. Но так или иначе, раз они есть, грех о них не знать.

В отличие от многих хаков для той же Opera, которые также будут обработаны и Safari, я немного изменил код и Opera 9.2, Opera 9.5 и Safari 3 увидят каждый свой css.
Читать дальше →

NetBeans Ruby IDE

Reading time1 min
Views11K
Нашел неплохую альтернативу RadRails, который просто жутко медленный и, как мне кажется, неоправданно навороченный разными фичами.
Речь идет о NetBeans IDE, а в частности NetBeans Ruby IDE.

NetBeans Ruby IDE
— Сниппеты из TextMate’а. Автор рассказывает, что удалось перенести 155 из ~ 170 оригинальных TextMate-сниппетов. Кроме того можно добавлять свои, используя специальный синтаксис.
— Классное дерево файлов проекта.
— Подсветка синтаксиса: подсвечивается все, что может пригодиться при разработке — Ruby, Rails, rhtml, CSS, JavaScript, SQL, text/xml и так далее. Все можно менять / настраивать, экспортировать и импортировать темы. Есть классные темы для настоящих маньяков: цветное на черном :)
— Среда самостоятельно находит Ruby, Rails, прямо из контексного меню можно запустить любой генератор, рейк и так далее. Причем результаты видны здесь же, в консолях. Миграции, тесты здесь же.
— Довольно толковый SVN прилагается.
— Менеджер работы с gem’ами. Можно отслеживать обновления, новые поступления и обновлять непосредсвенно из него.
— Море разных других приятностей.

Работает это все чудо на Java, потому есть версии для Windows, MacOS и вообще работать это должно кругом, где есть Java.

Загрузить можно по ссылке: http://deadlock.netbeans.org/hudson/job/ruby/
Нововведения и просто информацию о новинках можно почерпнуть в блоге разработчика

rubymag — журнал о языке Ruby на русском языке

Reading time1 min
Views1.2K
Сегодня наша команда открыла очередной проект — rubymag. Это электронный журнал посвященный языку Ruby и всему, что с ним связано.

Идея rubymag появилась благодаря нашему предыдущему проекту rubyflow.ru. Rubyflow — социальные новости о языке Ruby, отобранные сообществом разработчиков. За два месяца работы этот сайт приобрел несколько десятков пользователей и каждый день его читают несколько сотен человек.

Но проблема в том, что формат статьи на rubyflow.ru ограничен лишь анонсом в пару абзацев, а очень часто бывают интересные материалы с более обширным описанием. Кроме того, есть полезные статьи на английском, которые недоступны некоторым разработчикам в силу незнания этого языка.

Суммируя все это, мы решили открыть отдельный ресурс, на котором будем публиковать статьи о проектах, библиотеках и событиях. Каждую неделю на rubymag.ru несколько новых статей, а также по пятницам обязательный дайджест о событиях за неделю.

Узнавать об обновлениях журнала можно собственно на сайте rubymag.ru, через RSS, подписку по электронной почте или Twitter.

Мы желаем вам приятного чтения.

Зимняя школа Миши Квакина

Reading time1 min
Views807


Рад собщить вам, что в ближайшее время откроется «Зимняя Школа» блога design-freak. Судя по многочисленным письмам и комментариям знакомых и незнакомых мне людей, занимательная трёхмерная графика интересует очень многих. Остановка за сложностью (и продолжительностью) обучения, нехваткой времени, неподъёмностью (на вид) этой задачи.

Я берусь доказать, что всё намного проще, чем вам кажется. Главное — выбрать правильный подход и отбросить лишнее (90% всего, обычно долго и нудно изучаемого).

Цель программы — не сделать из вас «тридэшников-с-бородами», строящими мегасуперкосмокомплексы, совсем нет. Цель в том, чтобы любой, относительно прилежный (маленький) юзер, смог реализовать свою визуальную идею в 3d, пользуясь теми же инструментами, что и «большие», для «больших» задач.

В программе — необходимые инструменты пакетов Rhino, 3DMax, Vray, Photoshop, Corel, Flash, и разных других. Будет много практики, заданий и обсуждений. Будут также мастерклассы известных дизайнеров (в том числе и тех.дизайнеров-«карамельщиков»).

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

Запись — в этом посте. Количество присоединившихся пока ограничено 50 участниками.

Очень скоро мы будем радовать всех всякими весёлыми разностями:

Атомарность операций и счетчики в memcached

Reading time5 min
Views8.2K
Серия постов про “Web, кэширование и memcached” продолжается. В первом и втором постах мы поговорили о memcached, его архитектуре, возможном применении, выборе ключа кэширования и кластеризации memcached.

Сегодня речь пойдет о:
  • атомарных операциях в memcached;
  • реализации счетчиков просмотров и онлайнеров.

Следующий пост будет посвящен проблеме одновременного перестроения кэшей.

Что же с атомарностью операций?

Спам и Миранда

Reading time2 min
Views3.2K
В последнее время спам в icq превратился в постоянную головную боль — спамеры стали изворотливее и хитрее, да и АОЛ помог им. Штатные, слегка устаревшие средства перестали справляться, и в день стало проскакивать 20-30 предложений купить или скачать что нибудь. Возникла навязчивая идея прекратить это.
Читать дальше →

Разделитель в пространствах имен в PHP

Reading time1 min
Views1.5K
Рекомендую ознакомиться с php internals: endnamespacediscussion

После очередной дискуссии в IRC принято решение использовать символ \ в качестве разделителя в пространствах имен в PHP. Патч готовится, и неизвестно войдет ли он в PHP 5.3 или нет.

С аргументацией можно ознакомиться здесь или здесь

Основная проблема при использовании :: в качестве разделителя по мнению разработчиков заключается в том, что понять что происходит в строке кода
Foo::bar();

станет трудно (это вызов статического метода bar() из класса Foo или вызов функции bar() из пространства имен Foo?). Дополнительным ограничением также является сам интепретатор PHP, который не сможет отличить разрешение имени от вызова статического метода. Избавиться от такой неоднозначности предполагается при помощи символа \.
Читать дальше →

TeachMate.org теперь opensource проект

Reading time1 min
Views526

Сегодня выложил исходники TeachMate.org.

Если вы Ruby-программист то, возможно, вам будет интересно принять участие (впрочем, к участию приглашаются вообще все желающие, кто знает, чем помочь проекту). Такой шаг сделан потому, что есть желание активно развивать ТичМейт. К сожалению, делать это полностью в одиночку невозможно, а свободных руби-программистов в Питере найти достаточно тяжело.

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

HabraGoogle

Reading time1 min
Views590
Что делать если habra-поиск не находит?

С такой проблемой столкнулся месяц назад, при написании очередной статьи на HabraHabr.
Вот и решил воспользоваться поисковиком для решения своей проблемы. Поскольку HabraHabr очень хорошо оптимизирован для поисковой системы, я набрал на google: поисковая фраза site:habrahabr.ru и получил очень неплохой результат, некоторые статьи по моей теме быстро “откопались” таким способом. Аналогичная функциональность есть и у Yandex, но результат поиска через yandex был немного хуже чем у Habra-поиска и Google.

Вот так и родилась идея написать маленький плагин для greasemonkey. Я его назвал HabraGoogle. Плагин немного модифицирует верхний блок Habra-поиска (как показано на рисунке).

Установить HabraGoogle

UPD: Также хорошую реализацию описанной идеи поиска предложил coldFlame с помощью OpenSearch-плагина. В строке браузера пишем:
javascript:window.external.AddSearchProvider('http://coldflame.in.ua/stuff/search-plugins/habrahabr-search.xml')

Стань создателем Х-виджета!

Reading time3 min
Views606
image

Разработай приложение для единого Веба

Opera верит в полноценный Интернет на любом устройстве и платформе. Один из способов этого достичь – это технология Opera Widget. Для новичков: Opera Widgets – это маленькие веб-приложения, которые можно запустить как на ПК/Mac, так и на мобильном телефоне. Они легко создаются в соответствии с веб-стандартами, известными веб-разработчикам и SDK, предоставленным Opera вместе с инструментами, ресурсами и документацией.

Принимаешь вызов?
Читать дальше →

Контекстное меню на javascript: небольшое, но мощное

Reading time5 min
Views14K
Вы наверняка не раз видели javascript-реализации контекстных меню на базе популярных библиотек, таких как jQuery и prototype. А значит обязательно сталкивались с основными их недостатками: неудобностью API, большим количеством кода, требовательностью к ресурсам, любовью к генерации огромного количества html кода. В один прекрасный момент эти проблемы пересилили мою лень и я решил бороться с ними, поставив следующие задачи:
  • Минимум html кода, генерируемого для меню (зачем нам засорять ДОМ)
  • Лаконичность js кода для создания меню (API вызова без копипасты)
  • Оптимум гибкости при работе (многоуровневые, динамически модифицируемые меню)
  • Как можно меньше кода в реализации библиотеки (6302 байта в несжатом виде)
  • Минимальное количество jQuery-вызовов (чтобы можно было легко от них отказаться тем, кто jQuery не использует)
  • Inline-события где это возможно вместо биндов (меньше ресурсов сожрет)

Контекстное меню

UPD: разместил проект в google code, пользуйтесь, развивайте:
svn checkout js-cmenu.googlecode.com/svn/trunk js-cmenu-read-only

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

Основы языка программирования Python за 10 минут

Reading time9 min
Views1.4M
Python Logo

На сайте Poromenos' Stuff была
опубликована статья, в которой, в сжатой форме,
рассказывают об основах языка Python. Я предлагаю вам перевод этой статьи. Перевод не дословный. Я постарался подробнее объяснить некоторые моменты, которые могут быть непонятны.

Если вы собрались изучать язык Python, но не можете найти подходящего руководства, то эта
статья вам очень пригодится! За короткое время, вы сможете познакомиться с
основами языка Python. Хотя эта статья часто опирается
на то, что вы уже имеете опыт программирования, но, я надеюсь, даже новичкам
этот материал будет полезен. Внимательно прочитайте каждый параграф. В связи с
сжатостью материала, некоторые темы рассмотрены поверхностно, но содержат весь
необходимый метриал.


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

Подсветка синтаксиса несколькими строками javascript

Reading time4 min
Views21K
Да, я знаю, что такое синтаксический анализ. И знаю много разных библиотек для подсветки чего угодно. Только это всё не то, когда надо подсветить простенький примерчик, не содержащий всяких кодоизвращений. И уж совсем негоже тянуть для этого много-много байт _правильно_ разбирающих _любой_ код.

Для случаев без кодоизврата (а их большинство) можно использовать такой код:
code = code
// ключевые слова (список неполон, написал, что в голову пришло)
.replace(/(var|function|typeof|new|return|if|for|in|while|break|do|continue|switch|case)([^a-z0-9\$_])/gi,
'<span class="kwrd">$1</span>$2')
// всякие скобочки
.replace(/(\{|\}|\]|\[|\|)/gi,'<span class="kwrd">$1</span>')
// однострочные комментарии
.replace(/(\/\/[^\n\r]*(\n|\r\n))/g,'<span class="comm">$1</span>')
// строки
.replace(/('.*?')/g,'<span class="str">$1</span>')
// функции (когда после идентификатора идет скобка)
.replace(/([a-z\_\$][a-z0-9_]*)\(/gi,'<span class="func">$1</span>(')
// не люблю восьмизначные табы, пусть лучше будет 4 пробела
.replace(/\t/g,'    ');


под катом CSS, плагин jQuery, пример и некоторые пояснения-рассуждения

Создаем простой tooltips с помощью CSS и jQuery

Reading time4 min
Views71K
CSS tooltips очень популярны в современном веб дизайне, и вопреки широко распространенному мнению их довольно легко создать, особенно с помощью различных популярных javascript-framework-ов.

Вы, конечно, можете использовать стандартный плагин, но чтобы сделать простой tooltips, Вам достаточно написать всего 10 строк кода jQuery и CSS.
image
Итак, приступим. Прежде всего обратите внимание на структуру этого tooltips: это обыкновенная ссылка, которая будет выглядеть примерно так:
Читать дальше →

Gears Geolocation API — WiFi-позиционирование прямо из браузера

Reading time1 min
Views4.1K
Компания Google выложила для разработчиков бесплатный набор интерфейсов Gears Geolocation API, с помощью которого можно легко добавить в веб-приложение функцию получения текущих координат местности. Система работает под любым браузером (в Chrome и Android даже без установки плагина), кроме Opera (поддержка скоро появится), принцип работы прост. Информация об окружающих WiFi-хотспотов передаётся на сервер, а оттуда возвращаются ваши координаты с точностью до 200 м. В целях безопасности координаты не записываются и не хранятся на сервере.

По заявлениям Google, в их базе данных есть сведения о WiFi-хотспотах в сотнях городов по всему миру.

Это очень полезный функционал, который можно добавить практически на любой социальный веб-сайт, будь то сервис знакомств, афиша по кинотеатрам или сайт новостей.

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

via Google Code Blog

Инструкция по развёртыванию полноценной среды для совместной удалённой разработки с Django в Windows. Для абсолютных новичков.

Reading time3 min
Views94K
Статья не претендует на универсальность, но статья — есть работоспособная инструкция по развёртке среды «с нуля» до этапа «пишем первую строчку кода». В комментариях принимаются советы и рекоммендации по улучшению инструкции.
Далее инструкция

Information

Rating
Does not participate
Registered
Activity