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

monolithed 29.05.2014 11:26

Maxmaxmaximus1000,
открой для себя конечные автоматы

Maxmaxmaximus1000 29.05.2014 12:04

До сих пор не могу понять что это и зачем оно. Обьясни в двух словах?

Aetae 29.05.2014 12:31

Ну и как ты заобсфуцированый и eval'ный код парсить собираешься?

Maxmaxmaximus1000 29.05.2014 21:23

Цитата:

Сообщение от Aetae
Ну и как ты заобсфуцированый и eval'ный код парсить собираешься?

1) так же как и обычный
2) ни кто не обфуцкирует и не ивалит код в датабиндинге
3) если кто то это сделает, то у него просто не будет работать и он сам будет в этом виноват


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

и вообще, как ты представляешь себе такое?

<div data-repeat='v in a' on-click='a=!0;function q(w,e,r){return e/r||w%2};return eval("q(a,v)")'> Заказать </div>


Датабиндинг, это в 99.9999999% случаев {{Ctrl.prop}} ну иногда {{Ctrl.getUsers()[0].name}}. И то, второе - говнокод

Aetae 29.05.2014 22:40

Вот все вы так.:( Чем ты тогда лучше анагуляра, сплошные запреты, никакого сладкого говнокода. Свобду свободе!

Maxmaxmaximus1000 29.05.2014 23:15

Цитата:

Сообщение от Aetae
Свобду свободе!

А злые разработчики яваскрипта не дают использовать число в качестве прототипа) как жить

Maxmaxmaximus1000 29.05.2014 23:18

Цитата:

Сообщение от Aetae
Свобду свободе!

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

То есть тут МЕГАТУРБО скорость щас появилась) ну просто МЕГА! То есть больше нет разницы в том что ты бы на чистом яваскрипте написал приложуху, что на ui. Иными словами ангуляр был медленный так как у него была грязная проверка, каждый клик каждый чих пых, запускал тысячи ватчеров проверяться на изменение, сейчас же если удается распарсить выражение, то оно не учавствует в грязной проверке и все. Если не удается, то учавствует)

Maxmaxmaximus1001 03.06.2014 23:47

Унылого треша тред
 
Цитата:

Сообщение от Gozar
объедини операции, не можешь? на этом все, надоело расписывать очевидные вещи. Зачем вставлять себе палки в колеса ради какой-то неясной идеи мне не понятно.

Почему POST это UPDATE? Почему нет UPDATE? Почему я должен ограничиваться только 4 методами? Это искусственное никому не нужное ограничение. По сути бред.

В идеале я не должен думать о протоколе совсем, ни минуты. Это не мое дело как оно там внутри передается, так же как не должен думать о том какие провода куда подключены и что там за материнская плата на промежуточном сервере.

ПОДПИСЫВАЮСЬ ПОД КАЖДЫМ СЛОВОМ!!!!!!!!!!

ОБЩЕНИЕ должно быть совершенно на другом уровни абстракции, вот вам пример:



создаем на Ui сервис $api для общения с сайтом.

Он использует другой сервис $http, и похуй нам что он там постом или гетом передает, это не важно.

Когда мы захотим пообщатьяс с сервером мы будем с ним общаться на уровне $api.wall.post( 'Привет')


если мы передадим гетом то строка будет типа '/api.php?method=users.follow&id=11'
если передадим постом то url будет типа '/api.php' а обьект с параметрами закодируется как json в теле запроса. ну или как form data, это мы все настраиваем и указываем, но уже ВНУТРИ сервиса $api.


А да, для тех кто в танке, оно закомпилится в:

ui.service('$api', ['$http'], function($http) {
  var url = '/api.php';
  return {
    users: {
      follow: function(id) {
        return $http.post(url, {
          method: 'users.follow',
          id: id
        });
      },
      block: function(id) {
        return $http.post(url, {
          method: 'users.block',
          id: id
        });
      }
    },
    wall: {
      post: function(id, message) {
        return $http.post(url, {
          method: 'wall.post',
          id: id,
          message: message
        });
      },
      "delete": function(id) {
        return $http.post(url, {
          method: 'wall.delete',
          id: id
        });
      }
    }
  };
});

Maxmaxmaximus1001 04.06.2014 00:19

Унылого треша тред
 
Цитата:

Сообщение от Gozar
Идея гуд - реализация щит.

если вы про rest то идея говнистее некуда, это попытка унифицировать то, что унифицировать и нельзя. То есть предлагается делить все по папкам "добавление" "удаление" "изменение", но это такой же бред как делить архитектуру сайта по папкам "css" "html" "js". Это как делить файлы на компьютере не по категориям, а по папкам с расширениями.

Идет общение с сущностями, и у сущностей методы. Как у api вконтакта и фейсбука например.

стена.постить()
пользователь.подписаться()

вот как организуется api, а не "удалить" "добавить"

nerv_ 04.06.2014 01:06

Цитата:

Сообщение от Maxmaxmaximus1001
вот вам пример

я на ангуляре так же пишу :) Только еще ресурсы использую с недавнего времени.

Цитата:

Сообщение от Maxmaxmaximus1001
но это такой же бред как делить архитектуру сайта по папкам "css" "html" "js"

кстати, какая у тебя структура каталогов?

Вопрос ко всем: какая у вас файловая структура в проекте? (очередной холиварный вопрос :)


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