Pull to refresh
0
0
Антон Полещук @AntonPoleshchuk

Frontend разработчик

Send message
apply-template наиболее читабельнее выглядит в этом случае, имхо
Можно и без звездочек.
Иногда требуется использовать шаблон в разных контекстах, но с одинаковой структурой внутри.

Это пример, не более того.
Приведенные примеры режут глаз. Как, примерно, мы используем xslt шаблоны:

<!-- Вывод информации о пользователе -->
<xsl:template match="*" mode="user">
	<div class="user">
		<xsl:apply-templates select="." mode="user_picture"/>
		<xsl:value-of select="concat(first_name, ' ', last_name)"/>
	</div>
</xsl:template>

<!-- Вывод фотографии пользователя -->
<xsl:template match="*" mode="user_picture">
	<!-- По хорошему в xml нужно хранить путь до картинки целиком -->
	<img class="user__avatar" src="/img/{string(userpic)}.png" />
</xsl:template>

<!-- Загрушка, если нету фотографии пользователя -->
<xsl:template match="*[not(userpic)]" mode="user_picture">
	<span class="user__avatar user__avatar_default"></span>
</xsl:template>

<xsl:template match="*" mode="post">
	<!-- Выводим пользователя из поста или найденного по user_id -->
	<xsl:apply-templates select="(user|/*/ref_users/item[user_id=current()/user_id])[1]" mode="user"/>
</xsl:template>


<!-- Выводим текущего пользователя, или пользователей, соответствующих xpath выоражению -->
<xsl:apply-templates select="/*/cur_user" mode="user"/>


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

XSLT не понацея, но очень удобный шаблонизатор, когда знаешь, как с ним работать. Реальный пример вижу каждый день — у нас две версии проекта: старая и новая, обе рабочие. В новой версии chikuyonok бережно переписал, заложил возможности для расширения в тех местах, где это может предположительно потребоваться, что аж глаз радуется :). А самое главное — разобрать шаблоны не составляет большого труда, чего не скажешь о шаблонах в старом проекте.
тоже буквально на прошлой неделе пересел на Juno, из непонравившегося — другое поведение скрывающихся вьюх, так и не понял как вернуть прежние поведение, чтобы не попапом поверх было…
у Cloud.app есть Raindrops, но у меня в Photoshop CS6 не заработало. control + option + R в шопе – отправляет всю страницу целиком
Cmd + Shift + 4 и Cloud.app с включенным autoupload'ом скриншотов
онлайн-трансляция была прямо на главной странице.
21 октября Аймобилка делала видео-трансляцию концерта Мумий Тролль «Владивосток 3000» из клуба Arena Moscow.
Вещали в два потока: 720p и поменьше, для людей со слабым каналом.
500-600 пользователей смотрело на протяжении всего концерта.
30% пользователей — низкий поток, остальные — высокий.
И даже я смотрел трансляцию, пока ехал домой. 3G (beeline) в пределах ТТК хорошо справлялся.
с ИЕ > 7 уже можно жить и для них отдельных стилей особо и не надо… ну не будет некоторых рюшечек, но и страница не будет разваливаться как в случае с 6-7 и для того чтобы это починить приходилось добавлять букет хаков
никто не говорит чтобы использовать em везде, размер шрифта и пропорциональные отступы собственно все и портят в некоторых случаях
на практике даже em'ы часто вносят свои проблемы
шаг в лево, шаг в право — расстрел на местеедет верстка (webkit округляет до целого px, а ff нет)
можно удалить домен из google apps, в cpanel: Domain Settings, Account information
сам лично удалял недавно пару доменов таким образом.
простой пример
ширина блоков
jquery
Array.prototype.sum = function(){
for(var i=0,sum=0;i<this.length;sum+=this[i++]);
return sum;
}
$.makeArray($('.selector').map(function() { return $(this).width() })).sum()

или
var sum = 0;
$('.selector').each(function() { sum += $(this).width() });


+ Underscore.js
_.reduce($('.selector'), 0, function(m, el){ return m + el.width() });
никто не мешает создать нужное кол-во аккаунтов (бесплатно по 1гб вроде дают)
не думаю что гугл будет заморачиваться чтобы вычислить пару, ну пускай даже десять, тысяч аккаунтов чтобы прикрыть лавочку

это конечно геморой, но если все автоматизировать — вполне
у гугла есть picasaweb/docs и api к ним + appengine
есть и ограничения, но их можно обойти
History -> Reopen All Windows from Last Session
текст в книжке иногда обрезается если на странице несколько заголовков, скрин
jsbeautifier.org и подобные думаю с этм справятся.
код вполне читабельный
исходники вроде итак можно подсмотреть, это же обычный javascript
на мобильных браузерах с поддержкой Geolocation API можно сохранять данные, по которым потом можно построить gps трек передвижений.
1

Information

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