Pull to refresh
0
0
Юсипов Асан @discopalevo

User

Send message

Оптимизация 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

Минималистичный платформер «Green-gray world: not for loosers»

Reading time1 min
Views1K
Небольшой минималистичный платформер, который сможет пройти до конца далеко не каждый. Хардкорность уровней иногда зашкаливает, поэтому готовьтесь к тому, что ваши руки будут болеть, а нервишки шалить от постоянного переигрывания уровней.

Ссылка на игру: www.kongregate.com/games/Flashist/green-gray-world-not-for-loosers

Скриншоты игры:

image
Читать дальше →
Total votes 58: ↑43 and ↓15+28
Comments81

Python попытаются научить летать

Reading time1 min
Views2.3K
Всеми любимая корпорация Google решила стать ещё более всеми любимой, анонсировав проект "Unladen Swallow", цель которого — ускорить выполнение Python скриптов ровно в пять раз.
Чтобы добиться этой цели, разработчики хотят изменить механизм блокировок, переработать сборщик мусора для работы в неблокирующем режиме, улучшить средства для создания многопоточных программ, оптимизировать работу на многоядерных CPU за счет распараллеливания вычислений и самое главное — заменить виртуальную машину стандартного Python интерпретатора на основанный на LLVM JIT-компилятор, на лету транслирующий скрипты в исполняемый код.
Новый интерпретатор не является «велосипедом», и основан на коде стандартного CPython 2.6.1, имея полную с ним совместимость.
В текущем срезе Unladen Swallow удалось добиться ускорения работы на 15-25%, только благодаря дополнительным оптимизациям без замены виртуальной машины. Новая виртуальная машина будет интегрирована во втором квартале этого года.
Кроме того, Google стремится по максимуму возвращать патчи в базовый Python интерпретатор, в конечном итоге полностью интегрировав все свои наработки в стандартный CPython и адаптировав разработку для ветки Python 3.
P.S. Особенно эта новость должна порадовать MIT (Технологический Институт Массачусетса), который решился использовать Python вместо Scheme.
Total votes 96: ↑92 and ↓4+88
Comments47

Изменение адресной строки из javascript

Reading time1 min
Views2.9K
Когда писал код и текст сообщения думал что придумываю что-то новое и только потом начал замечать что это уже применяется, например, в google reader и в wikimapia.

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

В общем-то это логично с точки зрения безопасности. Если бы можно было изменять адрес из javascript, мы бы смогли подменять собой другие сайты.

Но оказывается это сделать можно!
Total votes 9: ↑8 and ↓1+7
Comments15

Инфраструктура MySpace не справляется с нагрузкой

Reading time5 min
Views1.1K
Журнал Baseline опубликовал подробный технический анализ инфраструктуры сайта MySpace.com. Как известно, это один из крупнейших веб-сервисов в интернете, который сейчас спорит с порталом Yahoo за звание самого посещаемого сайта в Сети.
Читать дальше →
Total votes 38: ↑38 and ↓0+38
Comments56

Связка rvm + Rails + Nginx + Unicorn или деплоим рельсы правильно

Reading time9 min
Views54K
Целью данной заметки я ставлю в подробностях описать организацию сервера для Rails приложений в самой популярной на данный момент связке: rvm + Rails + Nginx + Unicorn. К написанию статьи побудило отсутствие полной пошаговой документации по этой связке, понятной не только ядреным профессионалам этой области. Далее я попытаюсь подробно, шаг за шагом, описать идеологически правильный процесс организации сервера для обслуживания нескольких Rails приложений (на примере одного) — если у вас есть абсолютная уверенность в том, что на подопытной машине никогда не будет работать более одного приложения — настройка может быть существенно короче и проще. Хочу предупредить, что тонкости, касающиеся работы приложения под высокой нагрузкой в статье не описываются, т.к. цель ставилась иная — заставить работать приложение в связке и сократить количество конфликтов с другими приложениями до минимума.
Читать дальше →
Total votes 68: ↑63 and ↓5+58
Comments135

Тулбары каждому сайту

Reading time3 min
Views19K
Так почему-то сложилось, что в Рунете свои тулбары делают только крупные сайты. Да и то – не все. Да и вообще все вокруг тут думают, что тулбары — это зло.

На западе всё совсем не так. Многие вебмастера считают тулбар необходимым инструментом для увеличения посещаемости и возвращаемости аудитории на сайт. Для удобства создания персональных тулбаров существуют даже специальные сервисы, конструкторы тулбаров – к примеру, Conduit.com. Вокруг таких сервисов есть целые экосистемы вебмастеров – которые не только влияют на качество создаваемых тулбаров, но и зарабатывают на своих тулбарах деньги.

А в Рунете, почему-то, всего этого нет.
Ни персональных тулбаров.
Ни сервисов-конструкторов.
Ни сообществ.
Ни денег.

Вот мы и решили эту ситуацию исправить.



И сделали Метабар – первый конструктор тулбаров в Рунете.

Читать дальше →
Total votes 157: ↑91 and ↓66+25
Comments110

Vim Ruby Debugger

Reading time3 min
Views6.2K
До недавнего времени я писал Ruby код в Netbeans. Штука клевая и очень удобная, но я давно заглядывался на Vim, уж больно он мощный текстовый редактор, бобам и не снилось. Пытался несколько раз на него перейти, но как только встречался какой-то затык в коде, закрывал Vim, открывал Netbeans, ставил брейкпоинт и начинал разбираться что не так. В общем, привык я к отладчику.

Помучившись некоторое время, пришла идея написать Ruby дебаггер под Vim. Открыл код rails.vim, NERDTree.vim и начал учиться VimScript'у. Так что спасибо tpope и Marty Grenfell за уроки (хотя наверно они никогда этого не прочтут и не узнают об этом). Плагин можно сейчас лицезреть на гитхабе.
Как это установить и как этим пользоваться
Total votes 43: ↑39 and ↓4+35
Comments24

nodeJS и nonblocking I/O

Reading time5 min
Views9.3K

Добрый вечер уважаемые читатели,


На хабре последнее время проскакивало несколько упоминаний о node, быстрой платформе для создания вэб приложений на javascript, обладающей довольно уникальной на сегодняшний день особенностью, неблокирующим I/O (вводом/выводом).

Для начала о nodeJS:


1) В качестве языка используется JavaScript
2) Для выполнения JavaScript используется движок V8 от Google, который работает довольно быстро благодаря компиляции в машинный код перед выполнением.
3) Для реализации неблокирующего I/O используются libev и libeio, (libev показывает более хорошие результаты по сравнению с libevent)
4) Для реализации подключения библиотек выбран синтаксис commonJS
5) Есть возможность писать модули ещё и на C/C++, при этом подключаются они точно так-же как и js модули, это позволит Вам, к примеру, любое узкое место в вашем приложении переписать на C++ без каких либо трудностей.

В процессе изучения данного момента, что в итоге привело к написанию этой статьи я успел довольно неплохо поиграться с этой особоенностью. И могу сказать, что неблокирующий ввод/вывод очень и очень позитивно сказывается на производительности и устойчивости к нагрузкам.
Читать дальше
Total votes 42: ↑34 and ↓8+26
Comments105

Материалы продвинутого уровня по Питону

Reading time5 min
Views43K
PythonВ мире все примерно распределяется в соответствии с принципом Паретто. Меньшая часть — богатые, большая часть — бедные (читающий, ты входишь в золотой миллиард). Тоже касается и материалов о программировании. Порой очень сложно найти хоть что-нибудь не начального уровня.

После прочтения Dive into Python или подобной ей и ознакомления с документацией возникает вопрос, а что читать дальше? Можно обратиться к списку книг на python.org. Там есть раздел Advanced Books, но в нем всего лишь 6 книг (седьмая не выходила), и только одну я бы назвал по-настоящему стоящей.

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

Ниже собраны сложные материлы про Питон, его устройство и возможности. Все на английском (грех, не знать технический английский). Про Dive into Python я слукавил. Большинство приведенных материалов требуют хорошее знание Питона и наличие опыта программирования на нем.

Подробнее
Total votes 136: ↑133 and ↓3+130
Comments23

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

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

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

Для тех кто учит английский

Reading time1 min
Views4.4K
image

Это вовсе не очередная статья на тему «как я учил английский» и это даже не обзор, это скорее пара слов об очень интересном видеокурсе на который я наткнулся и всем рекомендую.

Наверняка, курсы BBC Learning English неоднократно описывались, но я нашел очень интересный курс, который заинтриговал меня с самого начала.

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

Даже мне, с моим «poor english» было все легко и понятно, а местами смешно. :)

Предлагаю ознакомиться самим.
Total votes 87: ↑80 and ↓7+73
Comments28

Азбука WEB-разработчика

Reading time4 min
Views13K
Небольшой список, самых, на мой взгляд, полезных сайтов для любого WEB-разработчика, интересующегося сферой веб дизайна, верстки и программирования. Думаю каждый среди этого списка найдет для себя сайты, которые надолго войдут в его ленту RSS.

AA List Apart




A List Apart содержит лучшие советы и мнения от лидирующих умов индустрии.
Читать дальше →
Total votes 140: ↑132 and ↓8+124
Comments47

Автогенерация CSS Sprites

Reading time2 min
Views703
Свершилось. Долгие бессонные ночи не прошли даром и мысль, заявленная Вадимом aka pepelsbey, обрела более-менее физические очертания.

sprites.webo.in (сырая-сырая альфа-версия) — название, собственно, говорит само за себя. Вводим URL CSS-файла — на выходе получаем архив с минимизированным (никакой сортировки селекторов, просто базовая минимизация) CSS-файлом и набором свеженьких спрайтов. Здорово?
Читать дальше →
Total votes 76: ↑72 and ↓4+68
Comments43

Перевод: Я ненавижу тебя: твой код – хлам!

Reading time11 min
Views10K
Хочу представить свой перевод статьи «Your Code Sucks and I Hate You: The Social Dynamics of Code Reviews».

Я ненавижу тебя: твой код – хлам!
Взаимоотношения участников ревизий кода

Джонатан Лэндж (Jonathan Lange), 15.09.2008

Обзор


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

Мы кратко рассмотрим, почему следует проводить ревизии кода, и сделаем упор на вопросе, как складываются при этом взаимоотношения участников процесса, в особенности в проектах с открытым исходным кодом. Действительно, отчасти open source привлекает (а порой наоборот отпугивает!) людей именно потому, что ваш код будут просматривать эксперты со всего земного шара. Мы также рассмотрим влияние, оказываемое некоторыми существующими технологиями на культуру ревизий кода, рассмотрим, чего можно достичь с их помощью, и как проводятся ревизии в других сферах деятельности. Мы также обозначим некоторые «подводные камни» ревизий, которые легко не заметить.
Читать дальше →
Total votes 79: ↑71 and ↓8+63
Comments29

MS Doloto: оптимизация загрузки Ajax-приложений

Reading time1 min
Views1.1K
В MSDN DevLabs выложили программу Doloto, предназначенную для оптимизации любых Ajax-приложений. В соответствии со своим названием, Doloto отсекает код до необходимого минимума, так что приложение быстрее загружается клиенту и быстрее начинает выполняться.

Программа анализирует исходники и выделяет тот фрагмент кода JavaScript, который непосредственно необходим для инициализации программы. Профилирование функций осуществляется на клиентской машине через локальный прокси-сервер http://localhost:8888 во время исполнения Ajax-приложения в браузере. При этом все «ненужные» функции помечаются метками (таймстампы). Прямо на клиентской машине генерируется оптимизированный код Ajax-приложения, в котором «ненужные» функции заменяются маленькими заглушками. Этот код потом будет загружаться в фоновом режиме или по мере необходимости, уже после инициализации основного скрипта. Оптимизированный код сохраняется на жёстком диске клиентского компьютера. Таким образом, можно оптимизировать чужие приложения, даже не имея доступа к их серверам, см. Doloto FAQ.

Программку протестировали на популярных Ajax-интерфейсах и получили впечатляющий результат.
Читать дальше →
Total votes 38: ↑32 and ↓6+26
Comments25

Кроссбраузерный min- и max-width на чистом HTML+CSS

Reading time1 min
Views15K
Давно хотел поделиться одной интересной наработкой — а именно эмуляцией свойств min и max-width без использования expression и подобных вещей. Обвязка может показаться громоздкой, но главный ее плюс — она работает. Плюс подобные вещи можно с легкостью внедрять с помощью шаблонизатора одной строчкой кода.

Суть трюка проста:
‹table›‹tr›‹td width=1100› — максимальная ширина
‹div width=900 /› — распорка, минимальная ширина

Причем именно так, ширина не у таблицы, а у ячейки. Таким образом шире, чем 1100 таблица не будет (в данном случае), но при этом если она уже — скроллер не появляется. При этом если ширина рабочей области менее 900 — скроллер уже отобразится.
Читать дальше →
Total votes 114: ↑91.5 and ↓22.5+69
Comments96

Когда Photoshop отображает совсем не то, что надо

Reading time3 min
Views288K
example

Такая вот ситуация: дизайнер присылает макет, а у верстальщика открывается какая то лабуда светлая, или темная (если верстальщик испольует МасOS, а дизайнер Win.). Или же верстальщик сохраняет картинку, а там цвета другие стали.

Разберемся почему так и как с этим жить.

Читать дальше →
Total votes 173: ↑158 and ↓15+143
Comments139

Information

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