Я не восхваляю ангулар до небес :) Он хорош для большинства SPA/REST приложений, не так сложен, запутан и непоследователен, как тут плачутся многие. Да, конечно это инструмент и каждый вправе выбирать себе свой молоток и это хорошо.
По поводу производительности, тоже проблем не замечал, если не пихать кучу бесполезного хлама в скоуп и юзать милиард вотчеров. Даже на самом быстром фреймворке всегда можно написать тормознутое говно.
Перешел на ангулар чуть больше, чем пол года назад с ванилла жс на классах + requirejs + jquery. За неделю чтения официальных доков и просмотра видео от egghead стало всё ясно-понятно. Проблемы или вопросы безусловно возникали, но быстро решались на стэковерфлоу.
Занимательный факт, что я заметил. Ангулар обычно хают люди, которые:
* не имеют большого опыта программирования на чистом js и ждут какой-то магии или супер-простоты от инструмента, что он, видимо, должен решать проблемы и архитектуры и языка и вообще, я просто сейчас нафигачу по-быстрому, а как оно дальше будет жить потом разберемся
* не дочитав до конца доки и не поняв ключевые аспекты начинают городить костыли/лапшу/говнокод
* те, кто привык к лапше на джиквери, пишут лапшу на ангуляре, ни какой фреймворк или библиотека не решит проблему личного отношения к коду, не закладывая сразу пути для его более легкого масштабирования и поддержке
По мне так этот недостаток самый весомый :)
Ломать стандартное поведение контролов кривыми костылями, за такое не знаю что надо делать…
Сейчас уже проще всего кастомизировать нераскрытый селект через appearance: none (кроме IE конечно).
Ваш пример с сокращением media-queries криво работает в WebStorm-е (ломается форматирование и корректная подсветка иногда).
Я использую другой способ:
// определяем все медиа-типы в переменные
@desktopView: ~'(min-width: @{minWidth})';
@mobileView: ~'(max-width: @{maxWidth})';
// и используем дальше, как и раньше с @media
@media @desktopView {
.someRules { ... }
}
«Возиться с руби» это громко сказано :)
Сам никогда не юзал руби, но когда понадобилось использовать SASS был удивлен насколько это просто и занимает пару минут от силы.
Порядок действий таков:
1) Скачиваете и ставите руби, пути для винды прописываются автоматом, так что все сразу доступно из консоли
2) Открываете консоль (Win+R -> cmd -> Enter) и ставите SASS: gem install sass
3) Всё готово к работе! В проекте создаете 2 папки scss и css и запускаете команду sass --watch scss:css в контексте этой директории. Теперь все изменения в SASS-файлах автоматом отслеживаются и генерят новый CSS.
Вы имеете ввиду иконку «Swap languages» внутри попапа? Можно подумать об этом, идея вроде неплохая, но не хотелось бы захламлять интерфейс попапа в тоже время.
Не рекомендовал бы такой способ создания функции (bad practice) var func_multiply = new Function("arg1", "arg2", "return arg1 * arg2;");
Если хотите создать анонимную функцию, то так: var my_func = function(){};
Если именованую, то: function my_func(){}
А в целом статья напоминает мысли вслух человека, который только начал изучать JS.
Почитай вдумчиво для начала javascript.ru/Function и javascript.ru/AJAX
Удачи.
Есть прямые ссылки на картинки, на фотки точно (жмем ссылку внизу справа для полуения Fullsize image). А вот для других файлов видимо да — только через кнопку Download (сверху-справа).
Сейчас зашел на сайт дропбокса, раньше для папки «Photos» была опция показать папку как галерею, сейчас пропала что-то.
Зато есть для каждой папки «Get link» (не только для паблик или фото), которая генерит ссылку и она открывается даже когда не залогинен на сайте (проверял в приватной вкладке).
По поводу производительности, тоже проблем не замечал, если не пихать кучу бесполезного хлама в скоуп и юзать милиард вотчеров. Даже на самом быстром фреймворке всегда можно написать тормознутое говно.
Занимательный факт, что я заметил. Ангулар обычно хают люди, которые:
* не имеют большого опыта программирования на чистом js и ждут какой-то магии или супер-простоты от инструмента, что он, видимо, должен решать проблемы и архитектуры и языка
и вообще, я просто сейчас нафигачу по-быстрому, а как оно дальше будет жить потом разберемся* не дочитав до конца доки и не поняв ключевые аспекты начинают городить костыли/лапшу/говнокод
* те, кто привык к лапше на джиквери, пишут лапшу на ангуляре, ни какой фреймворк или библиотека не решит проблему личного отношения к коду, не закладывая сразу пути для его более легкого масштабирования и поддержке
Ломать стандартное поведение контролов кривыми костылями, за такое не знаю что надо делать…
Сейчас уже проще всего кастомизировать нераскрытый селект через appearance: none (кроме IE конечно).
Я использую другой способ:
Сам никогда не юзал руби, но когда понадобилось использовать SASS был удивлен насколько это просто и занимает пару минут от силы.
Порядок действий таков:
1) Скачиваете и ставите руби, пути для винды прописываются автоматом, так что все сразу доступно из консоли
2) Открываете консоль (Win+R -> cmd -> Enter) и ставите SASS: gem install sass
3) Всё готово к работе! В проекте создаете 2 папки scss и css и запускаете команду sass --watch scss:css в контексте этой директории. Теперь все изменения в SASS-файлах автоматом отслеживаются и генерят новый CSS.
Я, например, для Оперы юзаю XTranslate (сам написал).
1) Оборачиваем каждый кусок текста ".text" в дополнительный HTML-элемент
2) Выставляем для этих элементов display:inline-block
Демо: jsfiddle.net/2yah2/2/
Работает в IE7-9.
bar
ссылающаяся на функцию доступна только внутри тела самой функции.new Function
, итд.var func_multiply = new Function("arg1", "arg2", "return arg1 * arg2;");
Если хотите создать анонимную функцию, то так:
var my_func = function(){};
Если именованую, то:
function my_func(){}
А в целом статья напоминает мысли вслух человека, который только начал изучать JS.
Почитай вдумчиво для начала javascript.ru/Function и javascript.ru/AJAX
Удачи.
Зато есть для каждой папки «Get link» (не только для паблик или фото), которая генерит ссылку и она открывается даже когда не залогинен на сайте (проверял в приватной вкладке).
<i/>
, и в нем отображать нужный флажок.В CSS-е будет что-то вроде
label > input:checked + i { display:inline-block; }