Pull to refresh
20
0
Александр Зинченко @yumitsu

User

Send message

Crosspixel — как PixelPerfect для Firefox, только в любом браузере

Reading time1 min
Views3K
Crosspixel — небольшая программка на Javascript (около 15 Кб), которая показывает макет поверх вёрстки; как PixelPerfect для Firefox, только работает в любом браузере :)
Работает так:
  1. скачайте crosspixel.js и подключите в ваш html-файл;
  2. укажите путь до вашего файла-макета и его размеры;
  3. в браузере появится панелька, которая позволяет показывать/скрывать макет (при показе меняет размер окна браузера под макет, при сокрытии восстанавливает прежний размер), менять его прозрачность.

Проект на GitHub
Total votes 30: ↑27 and ↓3+24
Comments17

Музыкальный плеер на основе Vkontakte API

Reading time1 min
Views1.4K
image

Привет, уважаемые Хабралюди. Хочу представить вам нашу маленькую разработку. Это легковесный музыкальный плеер (около 100кб), написанный на Flash для социальной сети вконтакте с использованием Vkontakte API. Он умеет проигрывать музыку с вашей страницы, или страниц ваших друзей, поддерживет скробблинг на last.fm, визуализацию, отображение обложек альбомов, текстов песен (lyricwiki.org), и различные режимы проигрывания (shuffle, repeat, и repeat track).
Читать дальше →
Total votes 108: ↑84 and ↓24+60
Comments95

Обфускация JavaScript

Reading time5 min
Views196K
В статье собраны всем известные методы и предельно извращенные. Эту статью я решил написать после недавнего прочтения поста в блоге Badass JavaScript и решил её дополнить своими находками.

Первый способ


Он всем известен — обфускация минимизаторами такими как JS Packer, JSmin, YUI Compressor, Closure compiler или можно просто пугуглить «JavaScript Obfuscator» и найдется ещё сто штук разных обфускаторов.
Они превращают существующий код
function MyClass(){
    this.foo = function(argument1, argument2){
        var addedArgs = parseInt(argument1)+parseInt(argument2);
        return addedArgs;
    }
    var anonymousInnerFunction = function(){
        // do stuff here!
    }
}

В какой-то такой вид:
function MyClass(){this.foo=function(c,b){var d=parseInt(c)+parseInt(b);return d};var a=function(){}};

Или такой:
var _0xd799=["\x66\x6F\x6F"];function MyClass(){this[_0xd799[0]]=function (_0xefcax2,_0xefcax3){var _0xefcax4=parseInt(_0xefcax2)+parseInt(_0xefcax3);return _0xefcax4;} ;var _0xefcax5=function (){} ;} ;

Или вот такой:
eval(function(p,a,c,k,e,d){e=function(c){return c};if(!''.replace(/^/,String)){while(c--){d[c]=k[c]||c}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('4 0="3 5!";9 2(1){6(1+"\\7"+0)}2("8");',10,10,'a|msg|MsgBox|Hello|var|World|alert|n|OK|function'.split('|'),0,{}))

Но ничего не стоит его восстановить с помощью jsbeautifier.org либо просто убрать eval и получить исходный код, многое потеряем, но смысл кода восстановим. Ну и с первого взгляда мы видим, что перед нами JavaScript.

Все это были цветочки под катом жесткие методы обфускации.
Читать дальше →
Total votes 171: ↑165 and ↓6+159
Comments85

Загрузка файлов с помощью HTML5 и сколько раз мы сказали нехорошие слова

Reading time3 min
Views7.3K
Стояла задача: найти или создать загрузчик файлов на сервер, использующий возможности HTML5 для мультизагрузки. Загрузчик должен:
  • отправлять методом POST любые параметры вместе с файлом;
  • отправлять куки;
  • предоставлять возможность выбора сразу нескольких файлов (или нескольких тысяч – тут как пользователь захочет);
  • отправлять файлы группами;
  • файлы собираются в группы до определенного количества мегабайт, или до определенного количества файлов в группе; (это связано с тем, что на сервере есть ограничение на размер POST запроса и на количество файлов в одном пакете)

Именно по причине отсутствия опыта работы с флешем, для создания загрузчика был выбран только JavaScript.

Итак, что из этого получилось

Читать дальше →
Total votes 87: ↑84 and ↓3+81
Comments67

Участие в тендере на разработку сайта (часть 1)

Reading time18 min
Views55K
Привет, хабр! Довольно давно я опубликовал первый материал «Организация активных продаж в веб-студии» из запланированного цикла про маркетинг и продажи в веб-студиях. До написания второго материала руки доходили очень долго, но я таки собрался и завершил его. Надеюсь, следующие материалы цикла будут выходить более оперативно.

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

Итак, сегодня я хотел бы поговорить непосредственно о самом процессе продажи в веб-студии, а именно – об участии в тендере на разработку сайта. Даже когда заказчик не объявляет о проведении тендера в открытую, в подавляющим большинстве случаев вы все равно будете соревноваться с другими компаниями, в которые был отправлен запрос – вариант «скрытого тендера».

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

Давайте разобьем процесс организации продажи на основные этапы, а потом подробно обсудим каждый их них:
  1. Брифинг, уточнение задания;
  2. Подготовка и состав предложения;
  3. Конкурентная разведка;
  4. Презентация предложения;
  5. Подведение итогов и «after party».
Читать дальше →
Total votes 47: ↑43 and ↓4+39
Comments7

Участие в тендере на разработку сайта (часть 2)

Reading time10 min
Views19K
Вторая часть материала о том, как правильно участвовать в тендере на разработку сайта. Я публикую их одновременно, поскольку я написал единый большой материал, который в один пост не влез.

Первая часть материала.

Во второй части мы поговорим о презентации предложения, подведении итогов и всяких полезных советах.
Читать дальше →
Total votes 37: ↑34 and ↓3+31
Comments11

Динамический favicon или отображаем карму, не обновляя страницу

Reading time5 min
Views11K
image
У каждого из нас, полагаю, в любимом браузере постоянно открыты несколько вкладок одновременно. Не раз бывают случаи, что и заголовка вкладки не видно — лишь favicon'ки. Но часто они информации, кроме как отображения логотипа сайта, не дают. И, наверное, зря. Но мы постараемся и здесь использовать это место (целых 16px*16px!) так, как хотим. По крайней мере, будем знать, как это можно сделать.
Читать дальше →
Total votes 138: ↑133 and ↓5+128
Comments54

Сборник советов и фактов по оптимизации PHP-скриптов

Reading time9 min
Views45K
image Эту статью давно стоило переписать (слишком много «экономии на спичках»), но руки не доходят. Пускай весит и напоминает о том, как мы глупы в молодости.
Одним из основных критериев успешности любого интернет-ресурса является скорость его работы и с каждым годом пользователи становятся всё более и более требовательными по этому критерию. Оптимизация работы php-скиптов — это один из методов обеспечения скорости работы системы.
В этой статье я бы хотел представить на суд общественности свой сборник советов и фактов по оптимизации скриптов. Сборник собирался мною достаточно долго, основан на нескольких источниках и личных экспериментах.
Читать дальше →
Total votes 237: ↑134 and ↓103+31
Comments215

UVoiceMe — сервис интеграции шлюзов IP-телефонии

Reading time4 min
Views1.5K


IP-телефонией уже никого не удивишь, многие пользуются услугами Skype, SipNet, TelMe и многих, многих других. Объединив усилия с единомышленниками, решили не повторять существующие решения, а создать сервис для интеграции уже существующих провайдеров Интернет-телефонии.
Зачем? Основная задача нашего сервиса – собрать воедино всех провайдеров, и дать возможность использовать одновременно разные шлюзы по самым выгодным тарифам на данное время и по данному направлению.

В топике я расскажу о том, было за «кулисами»: о выбранной архитектуре, приятных решениях и инструментариях разработки. А самых любознательных хабраюзеров ждет небольшой подарок.
Читать дальше →
Total votes 51: ↑43 and ↓8+35
Comments64

Опросы в твиттере

Reading time2 min
Views1K

Привет. Два месяца назад в меня вселился какой-то черт вместе с идеей о сервисе опросов, я поддался и все свое свободное время отдал на разработку. Так родился twiq.ru

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

заинтересовавшихся прошу под кат
Total votes 76: ↑59 and ↓17+42
Comments18

Инструменты для дизайнеров и разработчиков

Reading time2 min
Views4.8K


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

Смотрим
Total votes 155: ↑131 and ↓24+107
Comments41

Домашняя Cisco VoIP лаборатория на базе эмулятора GNS3

Reading time5 min
Views49K
image

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

В линейке сертификатов Cisco есть отдельная «концентрация» для VoIP специалистов, состоящая из трех сертификатов: CCNA Voice, CCNP Voice и CCIE Voice. Cisco выпускала и продолжает выпускать огромное количество учебных материалов для подготовки к этим сертификациям, но тут появляется камень преткновения для заинтересованных: где попрактиковаться?
Читать дальше →
Total votes 36: ↑36 and ↓0+36
Comments24

XUI: простой JavaScript фреймворк для разработки мобильных веб-приложений

Reading time1 min
Views9.9K
Создатели библиотеки хорошо знакомы с готовыми популярными решениями (jQuery, MooTools), но взялись написать свой собственный фреймворк, который не будет перегружен кодом поддержки десктопных браузеров и сосредоточились на главных нуждах разработки под мобильные приложения.

Уже сейчас XUI поддерживает такие мобильные браузеры, как WebKit, Fennec и Opera. В ближайшем будущем поддержка IE Mobile и BlackBerry.

Сайт библиотеки →
Total votes 72: ↑64 and ↓8+56
Comments65

База всех населенных пунктов и регионов России

Reading time2 min
Views7.3K
Мне для одного проекта понадобилось создать базу географических наименований России. Из всех источников подобной информации наиболее авторитетными мне показались 2:

Последняя показалась мне более простой, полной и менее избыточной, хотя наименований населенных пунктов там в четыре раза больше. Я выбрал ОКАТО, поскольку нашел хотя бы какое-то описание базы на википедии, а в почтовых индексах присутствовала совсем непонятная информация. В этой базе предстояло отсеять ненужные административные единицы от требуемых мне географических.
Читать дальше →
Total votes 77: ↑75 and ↓2+73
Comments40

Jaconda — виртуальный офис для компаний и удаленных команд

Reading time3 min
Views1.7K
image Jaconda – это больше, чем групповой чат.

Мы много лет работаем в компании с сотрудниками из разных городов и стран, и нам всегда не хватало удобного инструмента для ежедневного общения.

Удалённым командам нужно заниматься проектом и продуктивно общаться, а не разбираться с дурацкими программами. Так и появилась Джаконда.

Мы запустили сервис в 2009 году с одной целью: сделать работу через интернет продуктивнее работы в офисе.
Читать дальше →
Total votes 51: ↑33 and ↓18+15
Comments22

Популярные продукты для электронной коммерции с открытым исходным кодом

Reading time4 min
Views30K
imageНас часто просят порекомендовать продукты eCommerce, которые могут интегрироваться с CMS или использоваться совместно с к.л. CMS. Ниже опубликован список ПО с открытым исходным кодом, пригодного для этих целей.
Примечание: русскоязычных пользователей, прежде всего, интересует наличие локализованных версий, поддержка отечественных платёжных систем и русское сообщество. В комментариях по тексту, выделенных курсивом, по-возможности указана эта информация.
Чертова дюжина движков под катом
Total votes 70: ↑54 and ↓16+38
Comments79

Снижение затрат на ИТ услуги. Мобильная и стационарная связь

Reading time8 min
Views7.9K

В продолжении моей публикации о снижении затрат на предоставление доступа к сети Интернет, в данном посте хотелось обсудить возможности снижения затрат на мобильную и стационарную связь.
Указанные статьи расходов взаимосвязаны, в своем случае я начал с мобильной связи, так как она намного гибче к изменениям и в суммовом выражении значительно превышает расходы на стационарную связь. Так же при реализации мероприятий с этой статьей расходов есть возможность значительно снизить расходы по другой.
Так есть ли возможность снизить расходы по этим статьям более чем в два раза?!
Читать дальше →
Total votes 48: ↑44 and ↓4+40
Comments26

Уязвимость связки PHP+nginx с кривым конфигом

Reading time1 min
Views61K

Summary


Announced: 2010-05-20
Credits: 80sec
Affects: сайты на ngnix+php с возможностью загрузки файлов в директории с fastcgi_pass




Background


Зачастую How-To по настройке связки nginx с php-fpm / php-cgi есть подобные строчки:

location ~ \.php$ {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
    include fastcgi_params;
}

Читать дальше →
Total votes 163: ↑146 and ↓17+129
Comments109

USB over IP или AnywhereUSB

Reading time3 min
Views194K
Технологии виртуализации прочно вошли в современный IT мир. Сегодня невозможно найти компанию, которая бы не использовала решения для виртуализации (виртуальные сервера, виртуальные рабочие места, VDI) в своей работе. И все было бы отлично и безоблачно, но гипервизоры, основа инфраструктуры внесли и определенные ограничения на созданные и используемые виртуальные машины.
Одно из ограничений — это отсутствие USB портов на виртуальных машинах. Если раньше мы могли подключить необходимое USB устройство (например, ключ защиты ПО или смарт-карту с ключами шифрования) к физическому серверу, то теперь — поскольку сервера стали виртуальными – эта задача так просто не решается. Как решить эту проблему быстро и эффективно – я расскажу в этом обзоре.
Читать дальше →
Total votes 44: ↑39 and ↓5+34
Comments50

Обзор on-line сервисов для преобразования формул Latex в картинки

Reading time2 min
Views78K
Иногда требуется вставить формулу в блог или форум, причем сделать это красиво. В статье приведен обзор сервисов предоставляющих такую услугу.
Читать дальше →
Total votes 45: ↑39 and ↓6+33
Comments25

Information

Rating
Does not participate
Registered
Activity