Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Унылого треша тред (https://javascript.ru/forum/offtopic/47728-unylogo-tresha-tred.html)

__Maxmaxmaximus__ 25.10.2013 06:40

Цитата:

Сообщение от Shaci
хотя я не верю, что у тебя что-то получится

А тя не смущает что оно УЖЕ работает)?


FRP в действии - Ни одного события, просто задекларированное состояние системы:

<script src="http://mychamber.ru/lib/ui.js"></script>
<style type="text/css">  .todo:hover { background-color : #b7e2ff } </style>



<div ui="widget">
  <div for="todos as todo" class="todo">
    <input bind="todo.selected" type="checkbox">
    {todo.selected} | {todo.text}
  </div>

  <hr>

  <div for="selectedTodos as todo" class="todo">
    {todo.text}
  </div>
</div>



<script>
  ui['widget'] = function() {

    this.todos = [
      {text: 'погулять ', selected: false},
      {text: 'попить пива', selected: false},
      {text: 'разработать ui', selected: false},
      {text: 'покакать', selected: false},
      {text: 'сжечь документацию ангуляра', selected: false}
    ];

    this.selectedTodos = '{todos.filter(todo=>todo.selected)}';

  };
</script>


Тут показаны все фитчи: FRP, стрелочные функции и формулы =)


События селекторы и коллекции конечно тоже работают, там первым аргументом передается $ который всем этим занимается аля jQuery, но мы планируем от него отказаться в пользу полной декларативности =) по этому я его не использовал в демо и убрал половину примера ToDo (например убрал кнопочки добавления и удаления тудушек)

В будущем в формулах кстати можно будет использовать специальные значения вроде $mouse.x или $location и.т.п.

cyber 25.10.2013 10:28

__Maxmaxmaximus__,
ты хотя бы обернул код в Function Expression .

__Maxmaxmaximus__ 25.10.2013 14:06

Цитата:

Сообщение от cyber
ты хотя бы обернул код в Function Expression

спасибо но пока это не требуется) я ж не выпускал еще. хотя щас как раз всякие константы выносить в переменные буду, заодно и оберну.

Цитата:

Сообщение от Дзен-трансгуманист
ничего не смущает?

Спасибо) друга попросил составить коды и названия) на будущее, составил блин)


p.s. Прошу модерацию форума вынести предупреждение человеку, оскорбившему меня, от зависти, в карму. Спасибо.

cyber 25.10.2013 20:00

__Maxmaxmaximus__, и что ты код лучше сжался лучше делать так.
К примеру

(function () {
 var HTM_proto__ = HTMLParser.prototype;

 function HTMLParser() {
  // body function
  }
HTM_proto__._splitTextNodesAtTheTags  = function () {

};


window.HTMLParser = HTMLParser;
} ());


П.с __Maxmaxmaximus__ и хватит уже разводить срачь, если хочешь что не "бросали камнями"

__Maxmaxmaximus__ 25.10.2013 20:30

Цитата:

Сообщение от cyber
и хватит уже разводить срачь

Приведи хотя бы один пример когда я разводил срач за последние месяца 3.

Цитата:

Сообщение от cyber
и что ты код лучше сжался лучше делать так.

а гугл компиллер в экстримальном режиме сможет заинлайнить такие методы?

cyber 25.10.2013 21:04

__Maxmaxmaximus__,
хм я ошибся, я почему то думал что лучше сожмет, а получилось так, так что забей.
(function(){function a(){}a.prototype._splitTextNodesAtTheTags=function(){};window.HTMLParser=a})();

__Maxmaxmaximus__ 26.10.2013 00:17

Цитата:

Сообщение от cyber
я почему то думал что лучше сожме

А ни чо что на сайте статьи есть и тесты как оно лучше сжимается)?
Что мыл елси способом как я делать то он инлайнит функции доставая код из них и обьединяя в одну функцию и.т.п. ты не читал?

Gozar 26.10.2013 01:02

Цитата:

Сообщение от __Maxmaxmaximus__
p.s. Прошу модерацию форума вынести предупреждение человеку, оскорбившему меня, от зависти, в карму. Спасибо.

Хочешь, чтобы она утвердила тебе карму?! Ты сам выбрал этот путь, тот который у тебя в карме. Так что хватит ныть, выкладывай свой код и начинай писать на него доки. А то как гласит твоя карма, ты на форуме не популярен. ;)

ruslan_mart 26.10.2013 14:18

Дзен-трансгуманист, вопрос конечно не в тему, но... почему у тебя всегда "Сообщений: 207"? Не зависимо сколько пишешь ты сообщений на форум. :)

__Maxmaxmaximus__ 26.10.2013 15:55

Цитата:

Сообщение от Дзен-трансгуманист
Плюс 1К, минус 1К - сотня килобайт кода парсится за считанные миллисекунды. Экономить их, все равно что копейки на дороге подбирать.
Архитектура это основа функциональной модели - ее нужно писать с упором на гибкость и целостность внутренней структуры, а не исходя из объема кода.

я вчера это осознал и рефакторю вторые сутки) в принципе как не странно абстракция поднялась а обьем кода уменьшился, и все стало логичнее. Инкапсулировал некоторые штуки в классы. Оч много думал где есть НУЖДА создать сущнгость а где нету. Боялся что Окам придет за мной с бритвой) В итоге создание сущности Scope позволило дико оптимизировать рендеринг, добавил систему подписок и дерево зависимостей и все это смотрится красиво и логично)

Раньше у меня был обсервер который при эплаях смотрел что в модели изменилось а что нет, и перерендеривал то что изменилось. Щас же я просто анализирую код который может что-то изменить и смотрю что он МОГ изменить а что НЕТ, потом проверяю это на изменения и запускаю дерево зависимостей сделать перерасчеты этих веток дерева)


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