Javascript-форум (https://javascript.ru/forum/)
-   Сборка проекта, утилиты (https://javascript.ru/forum/server-tools/)
-   -   Инструменты, которые вы используете для разработки (https://javascript.ru/forum/server-tools/49283-instrumenty-kotorye-vy-ispolzuete-dlya-razrabotki.html)

l-liava-l 06.08.2014 14:42

Цитата:

У тебя просто видимо не было горького опыта, но шаблоны - это реально жизненно важная фича. У меня есть правило: если где бы то ни было идёт генерация строки для HTML (не важен её уровень сложности), то всегда нужно юзать только шаблон.
А можешь обьяснить почему? и какой шаблонизатор самый вкусный на данный момент?

Safort 06.08.2014 14:48

melky,
Цитата:

Цитата:

юзаю Gulp, потому, что Grunt уже не моден
пам пам пааам попахивает синдромом NIH (Not invented here)
Чот не пойму, NIH, если я правильно понял, это когда нравится велосипедить. А ты выделил "не моден", что соответствует хипстороголичеству.

Цитата:

P.S. шучу. angular - аху#@!нная штука, всё-таки.
Ангуляр больше всего недолюбливаю. Но немного учу, т.к. на будущей работе он может быть нужен.

Цитата:

я юзаю nodemon. вот nodemon.json
Спасибо, посмотрю.

Цитата:

только жёсткий диск с 5400 RPM даёт о себе знать - хренов тормоз.
Стоп. Оно жёсткий мучает?

Цитата:

зачем он тебе нужен?
Оно годное, я слышал. Особенно нравится, что оно перезапускать Ноду могёт.
Да и Илюша с кобезззой с ней довольно лихо управляются.

Цитата:

так говорят те, кто его не смог познать
Да. Мозг начал дымиться.

kobezzza 06.08.2014 14:49

Цитата:

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

Вот пример шаблона Snakeskin

{template helloWorld(name)}
    <h1>
        {if name}
            Hello {name}!
        
        {else}
            <button>Sign in</button>
        {/}
    </h1>
{/}


Шаблон скомпилится в JS функцию и вызов в JS - это вызов функции helloWorld

helloWorld('koba')


1) Шаблон гарантирует защиту от XSS
2) Поддерживать шаблон просто как для прогера, так и для верстальщика
3) Шаблоны легко бить по файлам
4) Решение проблемы code-reuse
5) Отделение логики от представления
6) ???
7) PROFIT

http://screencast.com/t/iU7AgM6jvjaj

Цитата:

А можешь обьяснить почему?
Ответил выше.

Цитата:

И какой шаблонизатор самый вкусный на данный момент?
Тут можно начинать холивар :) Начни с чего-нибудь, а дальше сам решишь.

Safort 06.08.2014 14:50

kobezzza,
Цитата:

Я слышал, что изучение VIM способствует росту бороды
Ога, а ещё очки толще и джинсы уже становятся..

Safort 06.08.2014 14:51

l-liava-l,
Цитата:

и какой шаблонизатор самый вкусный на данный момент?
Ну что за нубский вопрос? Очевидно, что Змеекож!

kobezzza 06.08.2014 14:59

Цитата:

Ну что за нубский вопрос? Очевидно, что Змеекож!
Не, ну если провести беспристрастный анализ классических шаблонок (т.е. без data-binding), то ответственно заявляю, что готовящийся к релизу Snakeskin 4 объективно лучше всех известных JS аналогов.

Safort 06.08.2014 15:03

kobezzza,
*поставил ЗК чуть выше в списке изучения*

melky 06.08.2014 15:09

Цитата:

Сообщение от Safort
Стоп. Оно жёсткий мучает?

всмысле. как ещё проверить, изменился ли файл? скорее всего по таймауту сверяется дата последнего изменения

Цитата:

Сообщение от kobezzza
Шаблон гарантирует защиту от XSS

{template ЗАНУДА()}
с экранированием понятно, но что делать в заковыристых случаях?
<img src=LOL onerror=alert('XSS')>

это пример, на самом деле есть и намного хуже.

и от XSS в картинках шаблон не защитит ... нужно самому их перелопачивать.
{/template}

"доверяй, но проверяй", как говорится :) или "на шаблонизатор надейся, да сам не плошай"

kobezzza 06.08.2014 15:16

Цитата:

с экранированием понятно, но что делать в заковыристых случаях?
<img src=LOL onerror=alert('XSS')>
Чёто я не понял, что здесь не обычного с чем не справится экранирование?

{template foo(val)}
    <img src="{val}" />
{/}

foo('" onerror="alert(\'XSS\')') // всё будет проэкранировано и onerror не будет работать


Цитата:

{template ЗАНУДА()}

и от XSS в картинках шаблон не защитит ... нужно самому их перелопачивать.

{/template}
Гм.. приведи пример, я не понял :)

Safort 06.08.2014 15:21

melky,
Цитата:

всмысле. как ещё проверить, изменился ли файл? скорее всего по таймауту сверяется дата последнего изменения
ну не знаю, мб там вотчер какой. (Или вотчеры тоже по таймауту?)


Часовой пояс GMT +3, время: 03:12.