Search
Write a publication
Pull to refresh
0
0
auth @auth

User

Send message

Управление зависимостями в коде

Reading time1 min
Views5.7K
Я рассмотрел, как эволюционировал подход к управлению зависимостями в коде. Какие проблемы возникали на каждом этапе и как эти проблемы решались. Возможно на каком-то этапе вы узнаете свой проект и поймете куда двигаться дальше.

Основные темы:




Исходники проекта

«LibCanvas» — фреймворк для работы с Javascript Canvas

Reading time7 min
Views14K
Здравствуй, Хабр! Думаю, люди, которые следят за моим творчеством, заметили, что я очень увлекся рисованием на Canvas в JavaScript. Возможно это немного излишне, но ничего не могу с собой поделать, уж очень нравится эта технология. Так нравится, что я аж буду выступать на конференции с докладом о ней (Пономаренко Павел).

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

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

Удаляем трояна, требующего отправку SMS с компьютера

Reading time2 min
Views5.6K
Сегодня с утра на работе сотрудница словила троян, требующий отправки SMS на короткий номер.

Тут должна быть картинка с трояном, но что самое смешное, я не смог запустить его на виртуалке. Даже в автозагрузку его прописывал, ну не хочет работать и всё. В общем, если желающие сделают скриншот, то будет очень неплохо. Сам троян для опытов можно скачать отсюда. При этом я видел окно только мельком, но выглядело оно красиво :)Мне прислали картинку:.
Отправьте SMS

По поводу механизма заражения очень хорошо расписал Olegas, я, соответственно распишу про первую часть, про лечение. Кстати, первоначально было подозрение в том, что это дыра в IE8, на практике оказалось что скорее всего вирус проник через дыру в Java или Flash. Так что, в принципе, не защищён ни один из браузеров. Анализ логов показал, что сайты посещались достаточно безобидные, на каком из них завёлся iframe с дроппером, выяснить не удалось (не все же перебирать, в самом деле).

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

15+ полезных документов по jQuery

Reading time2 min
Views7.1K
Как известно, пару месяцев назад свет увидела jQuery 1.4, в которой мы можем наблюдать множество новых функций и возможностей. А значит, стало еще больше информации для изучения и запоминания. И не важно, насколько хорошо вы владеете искусством jQuery — запомнить всё в любом случае не удастся. И вот здесь нам на помощь приходят всевозможные сборники документаций и шпаргалки, которые очень полезно держать под рукой и периодически в них заглядывать).
Читать дальше →

Старичок PHPClasses.org сделал подтяжку лица

Reading time1 min
Views697
image
Итак PHPClasses сменил дизайн сайта. Напомню, что почти за 10 лет своего существования, дизайн сайта PHPClasses существенно не изменялся и многим из его 900000 зарегистрированных пользователей это не нравилось. Объявленный в прошлом году конкурс должен был улучшить проект.

О том вышло это или нет — решать вам. Кстати, html-код кардинальным изменениям не подвергся. Под катом картинка на полстраницы (130 кб)
UPT: спасибо Alex Stup за уточнения.
Читать дальше →

Паттерн проектирования «Заместитель» / «Proxy»

Reading time7 min
Views55K
Почитать описание других паттернов.

Проблема


Необходимо контролировать доступ к объекту, не изменяя при этом поведение клиента.

Описание


При проектировании сложных систем, достаточно часто возникает необходимость обеспечить контролируемый доступ к определенным объектам системы. Мотивацией для этого служит ряд приобретаемых преимуществ. Таких как, ленивая инициализация по требованию для «громоздких» объектов, подсчет количества ссылок на объект и т.д. и т.п. Однако, не всегда потребность в контролируемом доступе к объекту базируется только на преимуществах. Как правило, сложность процессов реального мира, ограничения вычислительных ресурсов просто не оставляют проектировщику выбора, нежели как воспользоваться паттерном «Заместитель» («Сурогат»).
Читать дальше →

Debugging: Развертывание сервера отладочной информации

Reading time6 min
Views9K
Копая залежи документов на своем рабочем компе обнаружил инструкцию по развертыванию сервера отладочной информации, которую писал два-три года назад. Попробую представить её хабросообществу. Данная инструкция будет полезна C++ разработчикам под Windows, которые хотят использовать отладку релизных версий своего продукта (удаленно и напрямую, на своих компах и компах тестировщиков), а также делать разбор крашдампов (postmortem debugging).
Читать дальше →

node.js и SQLite 3 — теперь друзья

Reading time1 min
Views14K
node.js — один из лучших каркасов для создания серверов на основе событийных машин, основанный на движке JavaScript V8, теперь получил по-настоящему асинхронную, неблокирующую привязку к базам данным SQLite 3.

Домашняя страница проекта.

Большое спасибо Orlando Vazquez и Ryan Dahl за выполненную работу.

CanVG: отрисовка SVG-файлов в canvas

Reading time1 min
Views6.3K
CanVG C помощью библиотеки CanVG, в тэг можно отрисовывать SVG файлы.
Посмотреть на различные SVG-шки и даже вставить свою можно на тестовой страничке.
Надо сказать, что сложные изображения довольно сильно нагружают браузер, к примеру, world

via Ajaxian

Практический опыт разработки интернет-магазина на OpenCart

Reading time4 min
Views119K
В ноябре 2009 года я познакомился с www.opencart.com и остался очень доволен этой CMS построенной с соблюдением основных принципов MVC. Это просто замечательная система код которой можно легко адаптировать под собственные нужды. Файлы системы разделены по папкам controller, model, view, language.
image
Гениально и просто. Настолько просто, что я за считанные часы понял как работает система и уже смог адаптировать несколько файлов контроллеров под свои нужды. Как CMS эту систему лучше не рассматривать в принципе! Все очень скудно и печально. Но площадка для коммерческой деятельности очень приличная. Главный лозунг сайта интернет-магазин с минимальными усилиями при разработке.

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

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

Высокохудожественные картинки на CSS

Reading time1 min
Views4.4K
raindropВдохновленный логотипом Opera, сделанный Дэвидом Дисандро (David Desandro) с помощью CSS, Шон Мартел (Sean Martell) сделал логотип Mozilla Labs Raindrop, о котором писали и на хабре, правда не очень много.
Читать дальше →

10 выводов об эффективности кампании по привлечению трафика на сайт

Reading time2 min
Views18K
Сегодня — ровно 5 месяцев со дня старта рекламной кампании нашего интернет-молла. Кампания проходила в несколько этапов, разных и по целевым сообщениям, и по объемам рекламных вложений. Ранее мы не проводили масштабных онлайн-кампаний, и многое было вновинку, какие-то результаты нас очень удивили.

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

1. Самые дешевые клики — на Яндексе и Google (здравствуй, капитан Очевидность). Кроме цены, контекстная реклама дает определенный порог качества – средняя длительность посещения 1-3 минуты, 3-5 просмотренных за посещение страниц. Средняя цена клика на Яндексе – 8 рублей, на Google – 5 рублей.

2. Рамблер гораздо менее эффективен по сравнению с Яндексом и Google (еще раз привет, капитан). Убедились в этом на собственном опыте. Получили примерно в 5 раз меньше посещений, чем прогнозировали. Тем не менее, средняя цена клика также не слишком высока – 9 рублей.

3. Много посещений приносит медийная реклама (баннеры и поп-андеры) на Одноклассниках и ВКонтакте, но цена этим посещениям – грош, ведь средняя длительность пребывания на сайте не превышает 30 секунд, и процент отказов около 90%. Больше не будем покупать такую рекламу. Рекомендовали работать с приложениями на ВКонтакте, но честно говоря, даже не хочется пробовать после такого первого опыта.
Еще 7 выводов

Социальная инженерия: «Дорожное яблоко»

Reading time4 min
Views24K
image
2 года назад сделал следующую публикацию:
<----------------->
Провел интереснейший эксперимент, хочу поделиться опытом, что бы люди учились на чужих ошибках. Эксперимент из области легендарной «Социальной Инженерии», метод под названием «Дорожное яблоко».

Этот метод атаки представляет собой адаптацию троянского коня, и состоит в использовании
физических носителей. Злоумышленник может подбросить инфицированный CD, или флэш, в месте, где носитель может быть легко найден (туалет, лифт, парковка). Носитель подделывается под официальный, и сопровождается подписью, призванной вызвать любопытство.
Пример: Злоумышленник может подбросить CD, снабжённый корпоративным логотипом, и ссылкой на официальный сайт компании цели, и снабдить его надписью "Заработная плата руководящего состава Q1 2007". Диск может быть оставлен на полу лифта, или в вестибюле. Сотрудник по незнанию может подобрать диск, и вставить его в компьютер, чтобы удовлетворить своё любопытство, или просто добрый самаритянин отнесёт диск в компанию.


Источник цитаты: www.wiki.inattack.ru/wiki/Социальная_инженерия
Читать дальше →

PHPUnit. Часть 03 Написание тестов для PHPUnit

Reading time9 min
Views50K
Предисловие переводчика
Эта статья продолжает серию переводов официальной документации по PHPUnit на русский язык.
Часть 1, Часть 2

Пример 4.1 демонстрирует как с помощью PHPUnit можно выполнить тестирование операций с массивами PHP. В этом примере показаны базовые соглашения и шаги, свойственные тестам PHPUnit:
Читать дальше →

Как обойти URL-фильтры с помощью математики

Reading time1 min
Views5.2K
Может быть для кого-то станет открытием, но современные браузеры могут воспринимать URL не только в десятичной системе, но также в 8-ричной и 16-ричной, и даже единым 32-битным числом. То есть URL типа 66.102.13.19 можно представить несколькими разными способами.

0x42.0x66.0x0d.0x63
0x42660d63
1113984355
00000102.00000146.00000015.00000143

Щёлкаете по любому из вариантов — и попадаете на google.com.
Читать дальше →

elFinder — файловый менеджер для сайта. Новый вкус

Reading time3 min
Views4.1K
Некоторое время назад мы представляли уважаемой публике наши open source продукты для веб-разработчиков — редактор elRTE и файловый менеджер elFinder. После анонса мы получили немало отзывов и надо сказать были изрядно удивлены, что интерес к файловому менеджеру оказался заметно выше чем к редактору.

Мы почесали головы, свалили в одну кучу все безумные идеи о том, каким должен стать новый elFinder, просеяли их через сито основной концепции «минимально необходимый функционал», многократно пропустили через мясорубку кодинга, приправили новыми вкусными возможностями и долго томили в печи тестирования.

И сегодня с удовольствием от хорошо сделанной работы предлагаем попробовать наше фирменное блюдо elFinder!

elFinder

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

Удобный online мессенджер для интернет магазина

Reading time3 min
Views3.2K
В своем интернет магазине мы используем сервис image, который успел полюбиться одновременно простотой и функциональностью, гибкостью и отличным уровнем доступности.

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

ExtJS – учимся правильно писать компоненты

Reading time11 min
Views25K
Хочу открыть небольшой цикл статей посвященный проблеме создания custom-компонентов в ExtJS. В них хочу поделится с читателями Хабра своим опытом в данной области, опишу подробно все тонкости данного процесса, на что следует всегда обращать внимание, какие ошибки подстерегают начинающих программистов и как их можно избежать.
Читать дальше →

Использование URI-Fragment адресации в RIA приложениях на основе ExtJS и Mootools

Reading time7 min
Views1.8K
URI-fragments (они же fragment identifiers, hash, закладки, якоря) в последнее время стали активно использоваться в интерактивных веб-приложениях как удобное средство для указания прямых ссылок на различные элементы интерфейса и состояния приложения. Наиболее ярким примером использования fragment-адресации является GMail. Как Вы могли заметить, папки Входящие, Отправленные, Черновики имеют ссылки, оканчиващиеся на #inbox, #sent, #drafts. Переход между ними не приводит к перезагрузке всей страницы (обновляется только список писем), но в то же время при открытии каждой из них в отдельном окне/вкладке мы сразу же попадаем на искомую страницу.

Реализации такого удобного механизма навигации средствами JavaScript посвящена данная статья
Читать дальше →

Ubuntu 9.10 и его жизнь на моем десктопе

Reading time5 min
Views3.2K
Привет Хабр!

Своим первым постом хочу познакомить тебя с моей новой системой, в опытных кругах именуемая «Кармическая Коала», ну а в мире маркетинга и экономики — Ubuntu 9.10. И, может быть, для вас она совсем-совсем привычная и удобная, то мне, упёртому виндузятнику с 8 летним стажем, она кажется удивительной, интересной и слегка… загадочной. Итак, что меня побудило окончательно перейти на альтернативные операционные системы, и как он был совершен — под хабракатом.

Пост нисколько не провокационный и не призывает обратиться в веру свободного ПО — он просто показывает опыт одного лишь человека. Как это любит хабр, да.

Pics.kz

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

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity