Pull to refresh
25
0
ibeatle @ibeatle

User

Send message

Виджет для комментариев «В Контакте»: багрепорт

Reading time3 min
Views6.4K
Хочу поделиться сказом о том, как мы у себя на сайте внедряли виджет для комментариев «В Контакте» и что из этого вышло. Сразу скажу, что мое уважение к разработчикам этого виджета упало весьма и весьма низко, почти пробив уровень плинтуса – в день программиста это будет весьма символично.

Update: Друзья, больше спасибо всем за участие — еще вчера в виджете были исправлены основные ошибки; думаю, что это исключительно благодаря публикации здесь.

В моих глазах Хабр еще раз подтвердил свою репутацию IT-ресурса №1, надеюсь, что и в ваших тоже. Еще раз спасибо всем поддержавшим, а также разработчикам виджета!

Но обо всем по порядку.
Читать дальше →
Total votes 173: ↑141 and ↓32+109
Comments86

Fake — полноценное тестирование веб-приложений

Reading time2 min
Views1.6K
Fake
Буквально вчера на свет появилась первая версия удивительного проекта, о котором я хочу вам рассказать. Называется он несколько неприглядно — Fake.
Если коротко, то Fake — это основанный на WebKit и AppleScript браузер, предназначенный для автоматизированного тестирования веб-приложений. Наверняка те из вас, кто еще не познал прелести автоматизированного тестирования, помнят, как отлаживали какую-нибудь сложную форму регистрации и, отлавливая особо хитрый баг, приходилось кучу раз перезагружать страницу и раз за разом заполнять форму. И даже те, кто уже пишет тесты, не могут быть уверены, что JavaScript и Ajax работают как надо и все равно вынуждены тестировать сайт вручную загружая странички, снова и снова.
Что же делать?
Total votes 20: ↑13 and ↓7+6
Comments15

X-Jumper: новый паззло-платформер

Reading time1 min
Views2.7K
image
X-Jumper — это весьма сложный, но увлекательный инди-платформер от отечественного разработчика Platinum Arcade. Игра обладает рядом уникальных игровых элементов. Смотрите трейлер внутри новости, чтоб ознакомится с геймплеем более наглядно.

В игре на данный момент 12 уровней, динамичный геймплей, есть редактор карт.
Читать дальше →
Total votes 12: ↑7 and ↓5+2
Comments10

Оптимизация Javascript с помощью Google Closure Compiler

Reading time1 min
Views47K
image
Google открыла исходные коды нескольких инструментов, которые использовались их сотрудниками при разработке таких проектов как Google Docs, Google Maps и GMail.

В числе этих инструментов имеется достаточно интересная штука, называемая Google Closure Compiler. Данная утилита минимизирует и оптимизирует javascript-код, за счет чего он начинает работать и загружаться быстрее.
Читать дальше →
Total votes 89: ↑85 and ↓4+81
Comments67

TOP-10 Flash-игр

Reading time2 min
Views5.8K

Сегодня уже можно :)



1. Robokill. Вы управляете роботом, который перемещается по локациям и убивает противников. В процессе игры Вы зарабатываете деньги и можете усовершенствовать своего робота, покупая ему новое оружие, боеприпасы и т.д. Всего 10 затягивающих миссий.
Оф. сайт (триальная версия): www.rocksolidarcade.com/games/robokill Полная версия: robokill.hotbox.ru
Читать дальше →
Total votes 125: ↑88 and ↓37+51
Comments114

Подробное описание новинок в iPhone OS 3.0

Reading time4 min
Views942
Да, мне известно, что пост уже есть, но я написал несколько более подробное резюме.

Кроме того, как истинному ябломану, мне есть что сказать из религиозного :)

Итак: описание новых возможностей для потребителей и для разработчиков далее!
Читать дальше →
Total votes 161: ↑134 and ↓27+107
Comments232

Печатаем по сети на любом Windows-принтере

Reading time3 min
Views185K
Если у вас есть принтер, подключенный к Windows машине, то настроить его для сетевой печати на Mac достаточно просто, даже если драйверов для OSX для этого принтера не существует.

Для этого нужны три вещи:
  • Принтер, исправно работающий на Windows машине
  • Ghostscript — эмулятор PostScript принтера
  • RedMon — Redirection Port Monitor
Читать дальше →
Total votes 5: ↑5 and ↓0+5
Comments8

Что нужно знать про арифметику с плавающей запятой

Reading time14 min
Views962K


В далекие времена, для IT-индустрии это 70-е годы прошлого века, ученые-математики (так раньше назывались программисты) сражались как Дон-Кихоты в неравном бою с компьютерами, которые тогда были размером с маленькие ветряные мельницы. Задачи ставились серьезные: поиск вражеских подлодок в океане по снимкам с орбиты, расчет баллистики ракет дальнего действия, и прочее. Для их решения компьютер должен оперировать действительными числами, которых, как известно, континуум, тогда как память конечна. Поэтому приходится отображать этот континуум на конечное множество нулей и единиц. В поисках компромисса между скоростью, размером и точностью представления ученые предложили числа с плавающей запятой (или плавающей точкой, если по-буржуйски).

Арифметика с плавающей запятой почему-то считается экзотической областью компьютерных наук, учитывая, что соответствующие типы данных присутствуют в каждом языке программирования. Я сам, если честно, никогда не придавал особого значения компьютерной арифметике, пока решая одну и ту же задачу на CPU и GPU получил разный результат. Оказалось, что в потайных углах этой области скрываются очень любопытные и странные явления: некоммутативность и неассоциативность арифметических операций, ноль со знаком, разность неравных чисел дает ноль, и прочее. Корни этого айсберга уходят глубоко в математику, а я под катом постараюсь обрисовать лишь то, что лежит на поверхности.
Читать дальше →
Total votes 245: ↑242 and ↓3+239
Comments75

Git Wizardry

Reading time17 min
Views450K
1 Введение


В своей прошлой заметке я постарался осветить в общих чертах стиль работы с
распределенной системой контроля версий git и указать на отличия по сравнению с
классическими централизованными СКВ. Целью было прежде всего обобщение опыта
работы с системой без упоминания тонкостей синтаксиса отдельных команд.

Данный же топик задумывался как непосредственное введение в работу с git, нечто
среднее между tutorial и обобщенной справкой, до которого все же рекомендуется
прочитать упомянутое выше введение. Сознательно избегаются технические
подробности работы git, употребляются только общие для СКВ термины и
ограничивается список упоминаемых команд.

Читать дальше →
Total votes 89: ↑66 and ↓23+43
Comments76

Underscore.js — библиотека, которая так хороша, что должна быть вне закона

Reading time3 min
Views50K
Каждый, кому приходилось писать объемные куски осмысленного кода на javascript, рано или поздно понимал, что ему многого не хватает в этом языке или просто неудобны некоторые врожденные конструкции. Для сглаживания шероховатостей применяются jQuery, Prototype, MooTools etc. Кто-то уже мало представляет себе, как можно кодить без них. Сегодня я расскажу о еще одной маааленькой библиотечке, которая делает мир javascript-программиста еще прекраснее. Речь пойдет о Underscore.js
Go ahead, make my day
Total votes 177: ↑163 and ↓14+149
Comments51

Vim и кириллица: парочка приёмов

Reading time2 min
Views57K
image

Раньше для редактирования обычных русскоязычных текстов, я обычно откладывал Vim в сторонку и прибегал к помощи других редакторов. Причиной этому была парочка очень неприятных косяков:
  1. На каждый чих приходилось сто раз переключать раскладку, чтобы корректно ввести пару команд и вернуться обратно. Например, замена буквы-опечатки в только что написанном слове, выливалось в: switch → добраться до буквы, нажать r → switch → [нужная буква] → switch → A → [пишем дальше]. Ад!
  2. Штатный spell checker букву «ё» не любил и любое слово с её участием предлагал заменить на аналог через «е». А я ё люблю, меня это расстраивало.

И вот, наконец, я нашёл решение обеим проблемам. Сижу сейчас и набираю этот текст в Vim. Любопытно, что оба барьера обходятся штатными средствами, без дополнительных плагинов. Поскольку материалов на английском и на них основанных куда больше чем исконно русских, найти эту информацию мне было не просто. Поэтому хочу поделиться ей с теми кому интересно.
Читать дальше →
Total votes 111: ↑102 and ↓9+93
Comments95

ModularGrid — модульная сетка в браузере (и не только сетка)

Reading time1 min
Views9.9K
ModularGrid — это небольшая программка на javascript (около 30 КБ), которая облегчает труд HTML-верстальщика.


Основные возможности ModularGrid


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

подробности
Total votes 120: ↑108 and ↓12+96
Comments65

7 способов определить хостера сайта

Reading time8 min
Views152K
Периодически перед многими из вебмастеров возникает задача определить хостера, у которого живет тот или иной сайт. Мотивация для этого бывает самая разная, как простое любопытство, так и желание поселиться по соседству на хорошем и стабильном хостинге или наоборот не вляпаться в такое соседство. В этом посте я приведу несколько известных мне методов с их достоинствами и недостатками. Вполне возможно, что он неполон, поэтому дополнения всячески приветствуются.
Так же «на берегу» оговорюсь: все упомянутые ниже сайты и хостеры упомянуты исключительно как наглядные примеры, и ни в коем случае не в качестве рекламы или, упаси господи, антирекламы. Выбор оных был сделан так же практически случайно — где какие методы у меня в свое время срабатывали, то и привожу.

Способы я перечисляю в порядке убывания точности и, к сожалению, в порядке возрастания вероятности срабатывания.

1. NS-сервера


Даже странно, что забыл упомянуть с самого начала. Спасибо variable За напоминание. Очень часто люди пользуются NS-серверами хостера и при помощи whois'a мы моментально узнаем хостера.

Плюсы

  • Очень часто срабатывает на шаред-хостингах

Минусы

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

2. Ошибка 403/404


Не могу сказать, что большинство, но немало серьезных хостеров страницы ошибок веб-сервера по умолчанию делают с информацией о себе, а многие их клиенты забывают/ленятся их переопределить. Поэтому в первую очередь стоит попытаться вызвать такую ошибку и посмотреть, что получится. Бывает так, что CMS на сайте при помощи mod_rewrite перехватывает запросы к несуществующим файлам и отдает в ответ свою 404-ю ошибку. Это можно попробовать обойти, вызвав ошибку 403 путем обращения к какталогу без индексного файла. Им может быть папка с картинками/шаблонами, папка для загруженных файлов, кэша движка, системная папка типа includes и т. п. Небольшой хинт — иногда на странице ошибки есть email вебмастера и часто из него можно узнать домен сайта хостера.
Читать дальше
Total votes 123: ↑86 and ↓37+49
Comments49

Skype и стандартные всплывающие сообщения в Ubuntu

Reading time2 min
Views7.8K
Пишу чтобы не забыть, а в дальнейшем использовать, надеюсь кому-нибудь тоже будет полезно. Озадачился заменить скайповские попапы на стандартные убунтовские нотификации, уж больно глаз режут. Есть задача, есть желание её решить. Как оказалось решение достаточно несложное. И так, решение.
Читать дальше →
Total votes 75: ↑69 and ↓6+63
Comments50

Что почитать по веб-разработке

Reading time3 min
Views235K
Топик Много книг, хороших и разных навёл на мысль сделать похожий каталог наиболее удачных и интересных книг по веб разработке.

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

update: Теперь есть электронные версии книг!

Начнём…
Читать дальше →
Total votes 118: ↑99 and ↓19+80
Comments137

MongoDB или как разлюбить SQL

Reading time6 min
Views67K
Введение

Коллеги, при разработке приложений, мы каждый день сталкиваемся с потребностью в гибком хранении информации (обновлении, поиске по ней, и т.д.). Класс продуктов, которые решают этот круг задач, как все мы знаем — Базы данных. Но что это такое в нашем понимании? У многих «база данных» твердо ассоциируется с MySQL, таблицами и SQL-запросами. И это устраивает до определенного момента. Действительно, реляционные базы данных дают массу преимуществ в работе: поскольку данные имеют сильную связанность, не нужно контролировать целостность базы данных. Используя простой под-запрос можно выбрать количество комментариев к каждому посту в блоге. Используя JOIN нетрудно делать сложные связанные выборки и получать данные сразу о нескольких сущностях.
Читать дальше →
Total votes 129: ↑122 and ↓7+115
Comments99

Настраиваем Vim под Python

Reading time4 min
Views43K
Сегодня я хочу рассказать вам, как я настраивал любимый всеми редактор Vim (который в одном режиме пищит, а в другом — все портит) для написания кода на Python. Статья расчитана на начинающих виммеров.
У меня получилась такая картинка:

Настроить и свой!
Total votes 69: ↑65 and ↓4+61
Comments61

Generating PDF files with PHP and FPDF

Reading time5 min
Views113K
Большинство web-сервисов экспортируют данные в разных форматах для дальнейшего использования. Данная статья о том, как экспортировать данные в pdf-формате.
Хотя многие знают как это делать, я опишу кратко для тех кто не знает.
Читать дальше →
Total votes 38: ↑35 and ↓3+32
Comments48

Скругленные углы в 3 div-a

Reading time3 min
Views4.3K
Есть много способов делать в верстке скругленные углы. И пока все браузеры поголовно не начнут поддерживать свойство border-radius, надо будет каждый раз думать о том, какой метод использовать в том или ином проекте.

Есть множество разнообразных методов — от использования подложек блоков фиксированных размеров и до создания уголков с помощью vml или svg. В этом топике я не буду рассматривать известные методы, так как информации по данному поводу предостаточно. Я попробовал создать yet another метод.

Сразу оговорюсь — мой метод не панацея, и ему свойственны несколько минусов, которые я опишу подробнее.
Читать дальше →
Total votes 88: ↑73 and ↓15+58
Comments109

Пример использования eAccelerator для нагруженного php-проекта

Reading time3 min
Views4.3K
Наш новый фронтенд-сервер сейчас вполне справляется с нагрузкой и в оптимизации не нуждается (чего нельзя сказать о базе данных), но после того, как я очередной раз посмотрел на его top, мне вдруг стало жалко ожесточённо разнашиваемых дисков, и я решил уделить этому пару минут и поставить eAccelerator.

Вот что получилось
Total votes 25: ↑22 and ↓3+19
Comments75
1

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity