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

Gozar 25.05.2013 17:03

В скобках писать тоже кал! Вся идея разделения в жопу.

megaupload 25.05.2013 17:03

Цитата:

Сообщение от Gozar
Не хочу тебя разочаровывать, но -> и :: придумали задолго до тебя.

это же хорошо, в чем разочарование?

Цитата:

Сообщение от Gozar
В скобках писать тоже кал!

но у нас может быть на элементе задекларировано много чего, смотри


Gozar 25.05.2013 17:05

Может тебе поизучать то, что уже придумали? Дело пойдет быстрее. В смысле ты его бросишь быстрее :)

megaupload 25.05.2013 17:06

Цитата:

Сообщение от Gozar
Может тебе поизучать то, что уже придумали?

Так придумали одно говнище непонятное)

Цитата:

Сообщение от Gozar
В смысле ты его бросишь быстрее

Я же делаю не чтобы было а чтобы опыт получить)

Gozar 25.05.2013 17:09

Цитата:

Сообщение от megaupload
Так придумали одно говнище непонятное)

А ты типа придумываешь не говнище?
<div ui="chat:post, mouse"> {{mouse.x - mouse#body.x}}</div>

Мне уже страшно.

Gozar 25.05.2013 17:15

Держите меня семеро:
<div ui="chat:post, mouse;chat:item#home(active<-#test:out)"> {{mouse.x - mouse#body.x}}</div>

megaupload 25.05.2013 18:12

Цитата:

Сообщение от Gozar
А ты типа придумываешь не говнище?
<div ui="chat:post, mouse"> {{mouse.x - mouse#body.x}}</div>

Мне уже страшно.

ну так не пиши так, в чем проблема, нет я придумываю не говнище а самый лучший и самый понятный синтаксис

Цитата:

Сообщение от Gozar
Держите меня семеро:

ты либо тролль либо реально долбоеб


Меню навигации которое анимировано перелистывает страницы сайта влево вправо делается так:


megaupload 25.05.2013 18:59

Пасоны, от его кукареканий я решил заменить двоеточие на минус



ну разве не охуенно?

megaupload 25.05.2013 19:44



то есть я не против арифметики в тегах
я против

{{stream#ololo.forEach(function(){alert(11)}) }}

вот такого говна
дали тебе модуль дали его свойства
рисуй их где хочешь
не лезь сука дальше
да, можно сделать какой нить stream.output.upperCase()
но и то не желательно
так как модуль это логическя единица
и если он решил что буквы в этом свойстве должны быть маленькими, то и они должны быть маленькими
если хочешь оформлением заняться то в css пропиши чтобы там капс был
короче арифметику и прочее мы убрали за кулисы на другой уровень
тут же мы можем сконцентрироваться на главном)
на программировании на высоких уровнях
мы будем набирать сайт словно продукты в супермаркете)
а когда нужного продукта нет , быстренько сделаем его, и сохраним в папочку с модулями)
и таким образом библиотека модулей будет пиздецки пополняться)
я уже предвкушаю миллионы модулей на моем сайте)
а название будет ни много ни мало UI.js

Gozar 25.05.2013 19:59

Цитата:

Сообщение от megaupload
ну разве не охуенно?

Цитата:

Сообщение от megaupload
а название будет ни много ни мало UI.js

Добавь для наглядности X в:
Цитата:

Сообщение от megaupload
UI.js

XUI.js

и можешь патентовать.

Gozar 25.05.2013 20:02

А стиль свой назови CONDOM#-style :)

megaupload 25.05.2013 20:36

Цитата:

Сообщение от Gozar
Добавь для наглядности X

проиграл вголос

Цитата:

Сообщение от Gozar
XUI.js

чувак, это же идея)

X-UI.js

megaupload 26.05.2013 03:17

Пасоны, 0.3 почти готов
 
Осталось только добавить чтобы глобальные модули декларировались автоматически на уровне body ) и добавить совместимость с IE8.

И можно приступать к 0.4

А так же, я заменил двоеточие на знак минуса) теперь виджеты от модулей отделяются знаком минуса. Смотрите какая няшнота:






Велосипед говорите? Да это рождение новой эры в веб программировании!

nerv_ 26.05.2013 03:24

Цитата:

Сообщение от megaupload
Велосипед говорите? Да это рождение новой эры в веб программировании!

малыш узнал про шаблонизаторы

megaupload 26.05.2013 03:27

Цитата:

Сообщение от nerv_
малыш узнал про шаблонизаторы

в смысле? аа, ты один из тех кто не в курсе что я делаю няшный клон ангуляра? ну окей, как пришел так уходи.

megaupload 26.05.2013 04:01

nerv_, вот это слайдшоу и один инпат))



а вот это айдишники слайдов



и если мы напишем этот айдишник в инпате
то этот слайд станет активный)
охуенный синтаксис)?
по моему это МЕГА
теперь сделаем смену по хешу)
БАБАААХ


слайдшоу переключается по смене хэша, модуль location ТОЖЕ глобальный как вы поняли))

а так же модуль mouse тоже глобальный и отслеживает положение мышки на окне)

если мы его перекрываем каким-то другим модулем mouse то обратиться вверх по уровню к глобальному модулю mouse можно по его айдишнику будет) тока я пока не придумал как айдишники модулям задавать)

megaupload 26.05.2013 04:07

так-то девочки, учитесь программировать как дядя максимус =) :dance:

п.с. 146 строчек кода, пруф


DjDiablo 26.05.2013 04:07

Цитата:

И можно приступать к 0.4
Не стоит.
Если это клон ангуляра то попробуй написать работающее приложение TODO используя версию 0.3

Если получится то продолжай, если не выйдет или очень криво и неудобно думай что ты сделал не так. В любом случае версия 0.4 только выиграет от такой проверки.

Помимо картинок выкладывай ссылки на работающие скрипты http://jsbin.com/ к твоим услугам.

megaupload 26.05.2013 04:13

Цитата:

Сообщение от DjDiablo
попробуй написать работающее приложение TODO используя версию 0.3

дадада я так и планировал кстати) я его делаю решая реальные задачи а не сферические в вакууме)) спасибо)

п.с. и нет это не клон ангуляра я даже не знаю как ангуляр работает знаю тока что там теги {{такие же}} и все) но говорят что на ангуляр похоже)

Ну хотя бы ты оцени, норм синтаксис)?

DjDiablo 26.05.2013 04:25

мне нравится намного больше так.
<UL data-widget="slider">
    <li> слайд 1 </li> 
    <li> слайд 2 </li> 
    <li> слайд 3 </li> 
</UL>

Если я использую слайдер то я нехочу знать нечего о том как он работает, мне неинтересно использует ли он locate hash или что то ещё. Я просто хочу воткнуть и забыть. Если пользователь чайник то ему тяжело разобраться в твоём синтаксисе, если программист то у него головняком и без слайдера хватает скорее всего. В общем сложности ненужны никому.

megaupload 26.05.2013 04:42

DjDiablo, чо то я ваще тебя не понял. Каким образом ты идентефицируешь слайды тут? каким образом ты указываешь что li это слайды? и каким образом ты указываешь от чего будут меняться слайды?

DjDiablo 26.05.2013 04:48

никаким.
этим виджет занимается, как именно он работает это не моё дело.
Li считается слайдом просто потому что для виджета слайдера каждый li это слайд.

megaupload 26.05.2013 05:09

Цитата:

Сообщение от DjDiablo
этим виджет занимается, как именно он работает это не моё дело.
Li считается слайдом просто потому что для виджета слайдера каждый li это слайд.

а ну у тебя ни какой гибкости нет совершенно, каким образом заставить слайды переключаться по хэшу?

п.с. вообще-то для этого у меня применяются шаблоны, описал шаблон и потом инициируешь его где надо вводя параметры. тут 2 связных глобальных модуля init и template template все забирает и удаляет из дома а init все сам вставляет и дорисовывает) и это все при том что не меняется ни движок ни синтаксис) просто 2 модуля этих опишу)




Цитата:

Сообщение от DjDiablo
Li считается слайдом просто потому что для виджета слайдера каждый li это слайд.

А если я хочу применить логику слайдов к тегу img?

а во вторых, чувак, НИ ЧТО не мешает тебе сделать модуль который подцепляет li и их содержимое. блять и при том наследовать его от моего встроенного слайдера.

и применять его так

<UL ui="megaSlideshow">
    <li> слайд 1 </li> 
    <li> слайд 2 </li> 
    <li> слайд 3 </li> 
</UL>

megaupload 26.05.2013 05:12

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

UPD: все, решено, теперь это модуль и директивы )))
так по моему куда круче) иязык сразу не режет.

megaupload 26.05.2013 05:24

И кстати вот пруф, то что это не диванное кукарекание:


<script src="http://yourjavascript.com/3152206633/fix-min.js"></script>
<script src="http://yourjavascript.com/22621674513/ui.js"></script>


<input ui="input-trololo">
{{input.trololo}} {{mouse.x}}

Maxmaxmaximus.js 29.05.2013 21:11

Уважаемые форумчане, я делаю обсервер объектов, и мне нужна ваша помощь.
 
Это самое горячее место в моем коде, как лучше отслеживать изменения в обьектах? Как избегать переполнения стека при рекурсионных свойствах?

function Observer(target) {

  this.target = target;
  this.clone = {};
  this.observers = {};

  this._saveState();
}


Observer.prototype._saveState = function() {

  var clone = {}; // update clone
  var observers = this.observers;
  var target = this.target;

  for (var key in target) {
    var value = target[key];
    clone[key] = value;

    if (typeof value === 'object' && !observers[key]) {
      this.observers[key] = new Observer(value)
    }
  }
  this.clone = clone;
};


Observer.prototype.changedKeys = function() {

  var observers = this.observers;
  var target = this.target;
  var clone = this.clone;
  var keys = [];

  for (var key in target) {
    if (target[key] === clone[key]) continue;
    keys.push(key);

  }
  for (key in clone) {
    if (keys.indexOf(key) !== -1) continue;
    if (target[key] === clone[key]) continue;
    keys.push(key);
  }
  for (key in observers) {
    if (keys.indexOf(key) !== -1) continue;
    if (observers[key].changed()) keys.push(key);
  }

  this._saveState();
  return keys;
};


Observer.prototype.changed = function() {

  return !!this.changedKeys().length
};



var obj = {};
obj.key = obj; // рекурсия 
var observer = new Observer(obj); // и переполнение стека

dmitriymar 29.05.2013 21:27

Вы просите готовый скрипт с нуля.

Это работа, и за нее обычно платят деньги.
Для таких сообщений предназначен раздел форума "Работа".

Если вы все же хотите, чтобы вам помогли - приложите какие-то усилия сами и задавайте вопросы по ходу дела.
:D

Maxmaxmaximus.js 29.05.2013 22:31

Цитата:

Сообщение от dmitriymar
Вы просите готовый скрипт с нуля.

Типичная отмаза когда не можешь)

monolithed 29.05.2013 23:56

Object.observer

Maxmaxmaximus.js 30.05.2013 00:29

Цитата:

Сообщение от monolithed
Object.observer

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

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

monolithed 30.05.2013 00:30

реализовать можно через бесконечный таймер

Maxmaxmaximus.js 30.05.2013 00:42

Цитата:

Сообщение от monolithed
реализовать можно через бесконечный таймер

это грязно же? очень грязно)? ну вообще мне эт не нужно, но прост интересно) это ж адски грязно) не?

и то мне кажется эти калбаки должны прерывать выполнение кода изменившего обьект, а потом выполнение кода должно продолжаться, не? а таймер не прервет выполнение кода.

monolithed 30.05.2013 01:03

Конечно нормально реализовать не получится.

Maxmaxmaximus.js 30.05.2013 01:18

Вопрос, обработчик прерывает поток выполнения? Или просто ставится в очередь?

Maxmaxmaximus.js 30.05.2013 22:23

C интерфейсом HTMl вроде разобрались, что с интерфейсом модулей)?
 
Как красиво обработать сразу 2 виджета с одинаковым типом? А вдруг их один? А вдруг ноль? Это - часто повторяющиеся операция, имеет ли смысл создавать для этого какой-то метод? наследовать его всем модулям? передать параметром в конструктор модуля?




ВСТРЕЧАЙТЕ API )))





В конструктор передается один параметр это своеобразная коробочка с тулсами, там все виджеты собранные при парсинге относящяеся к модулю, там все текстовые ноды которые надло рендерить, там id шник модуля если он был и.т.п. там область видимости есть и.т.п.)) короче вся информация все связи модулей с этим модулем все подписки и обсерверы и функция apply для рендеринга изменений)

добавил я и свойство each )) ну как вам)? п.с. функции биндятся автоматом к this конструктора)


п.с. разумеется вы по прежнему можете сделать уебанский module.widgets.forEach(function(widget){ }) право ваше)


Кое что еще, зачем в этой функции chat нужен ваще this? дело в том что this.ololo будет рендерится в {{тегах}} внутри этого модуля)


то есть для "модульной" работы используем тулбокс module а для работы с тегами используем this ))

Maxmaxmaximus.js 30.05.2013 23:04

функция each итерирует виджеты)

Короче я еще круче придумал, есть 2 варианта использования функции each )) с одним аргументом и с двумя))




и первый вариант позволяет вытворять вот такое)) совершенно ПРОЗРАЧНО)) ну как вам)? буть там 0 элементов или 100, все это примерится ко всем ним сразу)



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

l-liava-l 30.05.2013 23:15

Ааааааааааааа! опять лампочка и скрины вместо кода:-/
Я тебя по ip вычислю!

Maxmaxmaximus.js 30.05.2013 23:19

Цитата:

Сообщение от l-liava-l
скрины вместо кода

будет тебе код, сегодня) версия 0.3 реализрвана почти)

danik.js 31.05.2013 09:03

Цитата:

Сообщение от Maxmaxmaximus.js
Таким образом вы работаете с виджетами совершенно прозрачно забивая хуй на то указал их пользователь или нет) если нет, то действия просто ни какого не возымеется)) круто)??

Конечно круто, ведь ты придумал способ работы jQuery с dom-коллекциями :)

Maxmaxmaximus.js 31.05.2013 10:02

Цитата:

Сообщение от danik.js
Конечно круто, ведь ты придумал способ работы jQuery с dom-коллекциями

я вообще не понял смысл твоего сообщения, я НЕ ДОЛЖЕН БЫЛ его придумывать? Или чо? Либо ты меня не понял.

И вообще, чо уж придумал, {{СПИЗДИЛ С АНГУЛЯРА}} чего уж там)


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