Прозрачный gif в base64
Прозрачный gif для заглушки ( <img src=“data:image/gif;…” … />):
data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==
Прозрачный gif для заглушки ( <img src=“data:image/gif;…” … />):
data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==
На основе JavaScript Micro-Templating от John Resig сделал для себя минимальный шаблонизатор, который содержит все необходимые возможности, лишь 284 байта.
Из плюсов по сравнению с вариантом от John Resig: работает при ‘use strict’, позволяет использовать одинарные кавычки в шаблонах, кеширует не текст конкретного шаблона, а всю финальную функцию шаблона.
Исключил функцию шаблона print, т.к. сам ни разу ей не пользовался, всегда можно обойтись без неё.
(function(w){var c={};w.$T=function(s,d){return(s in c)?c[s](d):(c[s]=new Function("d","var p=[];with(d){p.push('"+document.getElementById(s).innerHTML.replace(/[\r\n]/g," ").replace(/<%=(.*?)%>/g,"',$1,'").replace(/<%(.*?)%>/g,"');$1;p.push('")+"')}return p.join('')"))(d)}})(window);
Код создаёт глобальную функцию $T шаблонизатора. Пример использования.
Еще один сниппет, который постоянно использую.
var query=(function(){var q={},t1=location.search.substring(1).split('&'),t2;for(var i=0,l=t1.length;i<l;i++){t2= t1[i].split('=');q[t2[0]]=decodeURIComponent(t2[1]);}return q;})();
query - объект, содержащий все параметры из строки запроса.
Оставлю здесь, чтобы не копировать из проекта в проект.
function plural(n,f){n%=100;if(n>10&&n<20)return f[2];n%=10;return f[n>1&&n<5?1:n==1?0:2]}
f - массив форм слова [для 1, для 2, для 5].
Пример:plural(13, ['год', 'года', 'лет']) //вернёт 'лет'
После обновления браузера Opera до 12 версии перестала работать анимация в плагине Modal Twitter Bootstrap.
Появляется лишь серый фон, клик его закрывает, но весь сайт блокирован невидимым слоем.
Есть два решения:
сразу передif (jQuery.browser.opera && parseInt(jQuery.browser.version) >= 12) return 'ontransitionend';
в файле bootstrap.min.jsvar a=document.createElement("bootstrap")
—–
There is two solutions:
beforeif (jQuery.browser.opera && parseInt(jQuery.browser.version) >= 12) return 'ontransitionend';
in file bootstrap.min.jsvar a=document.createElement("bootstrap")
Если Вы используете node.js для выполнения асинхронных запросов в большом количестве, то могли столкнуться с проблемой, что они стоят в очереди из 5 штук.
Документация по http.request и поиск не дал быстрого ответа, привожу решение:
var agent = http.getAgent(host, port);
agent.maxSockets = 100;
…
var request = https.request({agent: agent, …
Передача agent в параметрах запроса так же устанавливает заголовок “Connection: keep-alive”, что так же положительно сказывается на производительности.
Возможно, кому-нибудь будет полезно.
В PHP есть полезная функция bin2hex, которая прекрасно работает. Но обратная функция hex2bin отсутствует. Мне тоже любопытно, почему.
Довольно быстро гуглятся примеры функций на несколько строк, но я предлагаю решение в одну строку:
$bin = pack('H*', $hex);
Ребята продолжают работать. В этот раз выкатили свой файлообменник. А ведь менее месяца назад Андрей Рогозов говорил:
— Такие шаги подрывают доверие к платформе и разрушает экосистему равных условий. Мы движемся в другом направлении — закрываем родные сервисы «ВКонтакте», оставляя API для доступа к данным и больше пространства для деятельности сторонних разработчиков.
Что же, ок. За подрыв доверия и разрушение экосистемы!
Видимо, один из разработчиков В Контакте, Роберт Паттинсон Олег Илларионов занимается созданием уютненькой википедии внутри сайта.
Статья для примера: http://vkontakte.ru/ru/Атеизм . Интересно, что часть статей уже успели зафлудить или наставить ссылки на приложения.
Всё-таки идея всего интернета внутри одной сети не отпускает.
В Контакте пытаются сделать всё и вся. Сегодня был запущен сервис рекомендаций в аудио. То они говорят, что хотят быть лишь платформой и концентрироваться на базовых функциях и API, то одним махом убивают рекомендательные приложения, например, Кассандра ( http://kss.fm )