Как стать автором
Обновить
21
0
Антонинко Сергей @lyxsus

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

Отправить сообщение

Работа с ветками SVN

Время на прочтение6 мин
Количество просмотров188K
Прежде чем приступать вообще к использованию веток, и даже если вы и не думаете их использовать, необходимо прочесть Этот Священный Талмуд.

После того как вы прочли статью о ветках в svnbook, вы уже понимаете для чего нужны ветки, как с ними работать и в каких случаях их необходимо использовать. В принципе, после этого, то, что написано под катом вам уже скорее всего не нужно. Но если вам было лень читать, то может текст ниже вас заинтересует, и вы все таки прочтете статью документации. А может, просто поможет вам лучше понять то, что только что прочли в svnbook-е.
Читать дальше →

Как сайт может отправлять события…

Время на прочтение6 мин
Количество просмотров1.5K
Давным-давно (я уже не помню когда, но давно) я собрался и запустил для себя сайт. Сначала он использовался просто как склад того, что нужно кому-то передать. Потом совершенно случайно образовалось свободное время и получилось заполнить сайт чем-то осмысленным и (надеюсь) полезным. И очень захотелось быть в курсе событий, происходящих на сайте. Самое простое решение — отсылать письма, что и было сделано. Однако через некоторое время появилось желание избавиться от писем с сайта так как поток служебной почты в течении дня превышает разумные пределы.
И тут пришла в голову мысль...

Разработка на PC и производительность — Memory Latency

Время на прочтение7 мин
Количество просмотров11K
Herb Sutter (автор Exceptional C++, бывший глава ISO C++ standards committee, мистер Free Lunch Is Over и прочая, и прочая) работает в Microsoft и иногда по средам читает атомные лекции.

Я наконец-то на одну такую попал, и очень радовался. На умных мужиков всегда радостно поглядеть и послушать.
Для отчета — кроме Херба, видел живого Олександреску и живого Walter Bright (который "D").

Лекция называлась «Machine Architecture: Things Your Programming Language Never Told You» (здесь можно скачать презентацию и видео) и была про конкретную часть abstraction penalty — Memory Latency.

Я попытаюсь коротко рассказать о ключевой мысли лекции. Она простая, очевидная и тысячу раз сказанная. Думаю, еще раз повторить азбуку — никогда не повредит.
Читать дальше →

Подсветка текста в «TextArea»

Время на прочтение4 мин
Количество просмотров20K
Эта статья покажет, как в современных браузерах можно сделать подсветку текста в поле редактирования (WYSIWYG).
Пример можно посмотреть, в google.docs или на некоторых продвинутых форумах.

Уверен, многим это будет интересно.

Атрибут contentEditable и параметр designMode


Именно contentEditable или designMode и делает для нас всю основную «грязную» работу.

Если этот атрибут поставить в тег, то всё, что внутри тега, становится автоматически редактируемым.

<html><head></head><body>
  <div contentEditable="true"><b>C</b>ontent<u>!!!</u></div>
</body></html>
работающий пример

Этот атрибут не поддерживается сейчас некоторыми старыми браузерами (например, FireFox 2.0). Но есть более «глобальный» параметр страницы, который сейчас поддерживают все браузеры, который нам может помочь —
designMode

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

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

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

Коробочное преимущество

Время на прочтение5 мин
Количество просмотров3.4K
Откровенно говоря, этот пост — комментарий к опусу Дениса Болтикова «Преимущества коробочной CMS перед студийной». Как правило, подобные темы я обхожу стороной, так как холивар — не то мероприятие, на которое я готов тратить своё время. Однако перечисленные Денисом преимущества повергли меня в шоковое состояние и заставили думать, что ему просто очень нужно пролобировать «коробку» на своём новом месте работы.

Копипастю преимущества, которые перечислил Денис:
  • Лучшее качество кода коробочной CMS. Для фирмы-разработчика эта CMS является основным продуктом. На ее разработку, оптимизацию, тестирование потрачено значительно больше человеко-часов чем у любой студии.Работоспособность коробочной CMS доказано на сотнях и тысячах созданных сайтах.Легкая расширяемость сайта. Большинство необходимых модулей уже создано. Надо интернет-магазин — подключаем, настраиваем, работает. Надо форум или раздел обратной связи — подключаем, настраиваем, работает.API для разработчиков. При его наличии грамотный программист легко нарастит нужную функциональность.Открытая документация. Есть документация пользователя, документация разработчика, документация по API для создания своих модулей. В большинстве студийных CMS этого нет или есть, но, как у топовых веб-студий за отдельную, довольно большую плату.Техническая поддержка, которая всегда готова помочь решить вашу проблему.Большое сообщество разработчиков. Найти специалиста, который доработает сайт на коробочной CMS значительно проще и быстрее, чем желающего копаться в чужом, и, как уже отмечалось, недокументированном движке. Написать с нуля и правда проще.
Осторожно! Возможен холивар

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

Время на прочтение5 мин
Количество просмотров14K
Вы наверняка не раз видели 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

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

Статистика Google Analytics на вашем сайте

Время на прочтение6 мин
Количество просмотров17K
Помню, как-то проскакивала пара записей (здесь и здесь) по поводу импортирования данных из Google Analytics для отображения сводных диаграмм на сайте, в общем, как на хабре. Прочитав вышеупомянутые топики и не обратив особого внимания тогда, я о них успешно «забыл» и пошел себе дальше. И вот сейчас, появилась необходимость реализовать нечто подобное на одном из своих проектов.

image

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

UPDATE:
Добавил еще одну версию, подробности и линк под катом.

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

Вышла новая сборка бесплатного сниффера 0x4553-Intercepter

Время на прочтение1 мин
Количество просмотров18K
Список изменений можно посмотреть на официальном сайте — intercepter.nerf.ru

[0x4553-Intercepter] позволяет:

# Перехватывать пароли следующих типов: ICQ\IRC\AIM\ftp\IMAP\POP3\SMTP\LDAP\BNC\SOCKS\HTTP\WWW\NNTP\CVS\TELNET\MRA\DC++\VNC\MySql\Oracle
# Перехватывать сообщения таких IM систем как: ICQ\AIM\JABBER\YAHOO\MSN\GADU-GADU\IRC\MRA
# Менять MAC адреса сетевых карт.
# Просматривать трафик в сыром виде, с возможностью фильтрации.
# Специальный eXtreme режим для перехвата данных на не определенных портах.
# Сохранять пакеты в файл pcap формата и проводить оффлайн анализ дампов.
# Удаленный анализ трафика через RPCAP демона.
# Встроенный ARP poison.
# Перехват и сохранение в eml формате POP3SMTP сообщений.

Работает на Windows 9xNT(2KXP2k3Vista).

Детали работы программы описаны в файле-помощи внутри архива программы. Демонстрация основных функций представлена в двух видео-туториалах:

intercepter.nerf.ru/intercepter_tutor1.zip
1. ARP Poison
2. Remote Capture
3. ARP Defender

intercepter.nerf.ru/intercepter_tutor2.zip
1. eXtreme mode
2. MAC Changing
3. PCAP Offline Analyzing

Скачать 0x4553-Intercepter — intercepter.nerf.ru/0x4553-Intercepter.v076.zip

UPD: Технические вопросы и баг-репорты просьба задавать на форуме программы intercepter.mybb3.org
или по почте intercepter.mail@gmail.com

Построение графики на javascript

Время на прочтение1 мин
Количество просмотров12K
dg
Raphaël — небольшая библиотека(20 килобайт) для построения векторной графики на веб-сайтах.

Она использует SVG и VML в качестве базы для создания графики. Учитывая то, что каждый созданный объект — DOM объект, то при помощи JavaScript обработчиков можно легко изменять их свойства и действия.
Читать дальше

MemcacheDB и MemcacheQ — ключевые компоненты высокопроизводительной инфраструктуры

Время на прочтение5 мин
Количество просмотров7.6K
Cегодня мы поговорим о компонентах для высокопроизводительной и масштабируемой архитектуре на основе сервера memcached, а именно — распределённой базе для хранения данных MemcacheDB и системы очередей сообщений MemcacheQ.



Сначала рассмотрим, а что у нас есть в распоряжении для создания распределённой инфраструктуры хранения данных для веб-приложения. Ну, первое, что приходит в голову — кластеризация базы данных, это теперь поддерживается во всех распространённых системах, а также различные технологии репликации. Например, самая популярная СУБД для веб-проектов, MySQL поддерживает как репликации так и кластеризацию. Ещё можно обратится к традиционным файловым система и хранить данные в файловой системе, к примеру, Apache Hadoop. Но часто это слишком высокоуровневое решение, обычно же требуется гораздо проще варианты — когда нужно хранить и оперировать просто парами ключ-значение. Если серьёзно посмотреть, такая функциональность позволит покрыть потребности 90% веб-приложений. А если мы прибавим к этому возможность очень и очень быстро оперировать данными, хранить их в виде распределённой многосерверной системе и возможность постоянного хранения, устойчивого к сбоям — получим очень привлекательную платформу.

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

Скриптлеты для Web-разработчика + подарок

Время на прочтение41 мин
Количество просмотров6.4K
Для начала. Что же такое скриптлет?

Скриптлет — яваскрипт, помещеный в закладку и выполняемый на открытой странице при нажатии на ту самую закладку.

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

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

Стэнфорд открыл учебные материалы по программированию и ИИ

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

Каждый курс содержит видеозаписи лекций, полные тексты и тезисы, а также практические задания и экзаменационные билеты. Материалы практически полностью совпадают с той программой, по которой учатся студенты-очники в Стэнфорде. Чтобы скачать материалы, не требуется никакой регистрации или специального запроса. Они просто выложены в открытый доступ в ZIP-архивах примерно по 300 МБ, а видеоролики ещё продублированы на YouTube.

Вот список открытых курсов:

10 jQuery скриптов для улучшения интерфейса

Время на прочтение3 мин
Количество просмотров11K
С рассветом WEB 2.0 получили развитие и javascript фрэймворки, позволяющие вебмастеру делать динамические элементы сайта гораздо быстрее и проще. Одним из таких фреймворков является jQuery, получивший огромную популярность за свою простоту и невероятно малый вес. Итак, представляю вашему вниманию 10 наиболее полезных скриптов jQuery для улучшения интерфейса вашего сайта.
Читать дальше →

MySQL Performance real life Tips and Tricks. Part 3-rd.

Время на прочтение14 мин
Количество просмотров23K
Решил продолжить цикл заметок по данной тематике. В данной статье особое место хотел уделить профайлингу MySQL запросов. Описать средства, которые предоставляются MySQL для профайлинга, и что нужно делать для определения узких мест запроса.

Также, после опубликования первых двух статей я получил пару отзывов и вопросов, связанных с проектированием БД / расстановкой индексов / составлением запросов. На многие вопросы старался отвечать. С некоторыми из них поделюсь и в этой статье.

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

Про брейкпойнты

Время на прочтение4 мин
Количество просмотров18K
Думаю не ошибусь, если напишу, что каждый программист когда-либо пользовался отладчиком, отлаживал программу пошагово, устанавливал брейкпойнты и т.п. При этом некоторые программисты не любят отлаживать. Другие — обожают. А большинство просто использует отладчик не задумываясь о любви и ненависти, ведь это просто еще один удобный инструмент для работы.
Для многих программистов отладчики — это черный ящик. Они умеют с ним обращаться, но не знают, как он работает. Я не говорю, что это плохо — в подавляющем большинстве случаев можно легко отлаживать программу без знания устройства отладчика.
А для тех, кто хочет заглянуть внутрь черного ящика, я написал эту небольшую статью.
Тут я расскажу про одну из самых загадочных (по крайней мере для меня) возможностей отладчиков — про работу с брейкпойнтами. Я постараюсь рассказать это максимально просто и без лишних деталей. Однако я пишу эту статью для тех читателей, который уже знают что такое брейкпойнты и умеют их использовать.

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

Веборама анонсирует Inline Player

Время на прочтение2 мин
Количество просмотров1K
После запуска пилотной версии Веборамы мы собрали достаточно информации, о том, что было бы полезно нашим пользователям. И я хотел бы начать анонсировать ключевые, на мой взгляд, нововведения.

Первое нововведение - Inline Player

MySQL Performance real life Tips and Tricks. To be continued.

Время на прочтение6 мин
Количество просмотров8.1K
По заявкам трудящихся решил написать еще одну статью, посвященную оптимизации запросов в MySQL.

В прошлой статье habrahabr.ru/blogs/mysql/38907 рассматривались вопросы оптимизации LIMIT, GROUP BY, COUNT.

В данной статье я немного вернусь к вышеописанному и опишу пару примеров, с которыми столкнулся на проекте недавно, после этого приведу еще пару небольших примеров относительно того что такое хорошо и что такое плохо в MySQL.
Читать дальше →

jQuery in Action. Глава 2

Время на прочтение9 мин
Количество просмотров23K
Как я и обещал, вторая глава из книги «jQuery in Action» (авторы Bear Bibeault и Yehuda Katz). Как и из первой главы, выбрал все самое вкусное и интересное ;-)

Напоминаю, что первую главу можно прочесть здесь.

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

Использование общего C++ кода на примере браузера Chrome

Время на прочтение1 мин
Количество просмотров7.6K
Думаю ни для кого не секрет, что новый браузер от Google — это open-source продукт, написанный на C++. Каждый может скачать его исходники на C++ и собрать свой собственный браузер из них.
А сегодня мне встретилась интересная статья Code Reuse in Google Chrome Browser. Там автор проанализировал использование общего open-source кода в этом проекте Google и нашел его превосходным. Он обнаружил как минимум 26 разных библиотек, используемых в этом проекте и описал их все в одной таблице…
Я решил сначала перевести эту таблицу на русский, т.к. она может быть полезна всем разработчикам на C++ — там много реально полезных open-source библиотек. Но эта таблица настолько проста, что перевод был бы бессмысленным — каждый сам легко разберется.
Многие из этих библиотек будут полезны не только Web-разработчикам.

А сколько open-source библиотек используется в ваших проектах? И каково отношение руководство к open-source?
На предыдущем месте работы мы использовали несколько таких библиотек — zlib, LuaPlus, TinyXml, CppUnit, библиотеки для работы с графикой (типа libpng ) и т.п.
А на новой работе отношение к open-source отрицательное и почти ничто из open-source не используется — все пишется свое с нуля.

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность