Maxmaxmaximus7,
Какой робот вам посоветовал в аватау pedo-bear? |
размером подходила, + в очках, смешной)
|
Всё что сейчас есть (мат модель нейрона, нейрочипы и тп) - жалкое подобие настоящего нейрона и ГМ, даже такого отсталого как у тебя. Все эти разговоры длятся уже не одно десятилетие. Ты можешь мечтать ещё лет 15. Я уверен что за это время состояние дел сильно не изменится.
Число нейронов в ГМ человека: 86000 млн Транзисторов в Core i7: 774 млн Тут как бы без комментариев можно да? Простенький персептрон на паскале закодить любой кретин может. Как ты научишь свою искуственную нейро сеть видеть этот мир так как видим его мы? Даже если тебе удастся собрать все эти 86000 млн нейронов? А если всё таки соберёшь то она будет так же самомтоятельно обучаться? Как ты будешь её контролировать и в чём будет отличие от человека? Мб проще фигачить детей из пробирок? Или распечатывать каким нибудь био 3д принтером? Лично я за то чтобы соединить машину с человеком. Т.е вживить мега чип. Чтобы силой мысли фотки по bluetooth скидывать. А фоткать чтобы глазами, силой мысли. SMS-ки силой мысли набирать и отправлять. Читать чтобы можно было без внешних устройст как очки гугла например а чтобы некий вживлённый чип действовал на зрительный нерв и создавад иллюзию всех этих полупрозрачных всплывающих уведомлений и тп. |
Цитата:
Цитата:
Цитата:
|
Tim, насколько мне известно сейчас после успеха проекта адронного коллайдера следующий мега проект - этот как раз попытка смоделировать ЧМ.
http://horoshienovosti.info/sozdadut...u-model-mozga/ Очевидно, что всё это более чем реально, т.к. человек - это тоже робот, но хз доживём ли мы с вами до этого:) |
Цитата:
Цитата:
|
так что макаксимус дрочни пока на что нибудь другое
|
kobezzza, да он толстит, забей. Любому дураку понятно что если мы много раз пытались и не летали в космос то это не значит что мы не полетим, за 5 лет до полета на луну люди говорили "люди полетят на луну только через тысячу лет" XD
|
Цитата:
|
неймспейсы ui
короче я придумал добавить неймспейсы директивам.
1) у нас появляется годный няшный разделитель 2) у нас появляется возможность делать пакеты директив 3) внешне строка атрибутов элемента напоминает javascript что ооочень круто 4) улучшается читабильность так как неймспейсы должны иметь логическое значение, например on.событие data.данные Разделитель будет (внимание!!!) точка. Гениально, во первых это и глазу приятно, во вторых не реет, так как часто в значениях директив используются выражения яваскрипта содержащие точки, в третьих мы убиваем проблему префиксов. дело в том что ни один нативный атрибут и элемент не использует и не будет использовать точки в названии. Круто? У директив событий будет неймспейс on. у директив виджетов будет неймспейс (кто бы мог подумать) ui. Годная идея нет? тока надо придумать неймспейсы для всяких служебных директив типа model и bind ![]() UPD: развил первый вариант до: ![]() |
поздравляю, ты придумал базовую вещь ;)
|
при чем тут сарказм? то есть он был бы уместен, если бы такая очевидная вещь была бы в ангуляре или хотя бы где-то еще. не а тут при чем сарказм? у ангуляра один неймспецс ng- и все что родное лежит в нем, я же хочу создать логические неймспейсы, название которых бы говорило что к чему, on.событие data.данные ui.кнопка , а так же, как разделитель использовать точку, по схожести синтаксиса с яваскриптом.
например неймспейс fx добавляет эффекты элементу, и.т.п. fx.fire=10 добавляет элементу огонь (рисует посерх него канвас на котором рисует огонь с силой 10) ну типа того. неймспейсы омжно расширять, все дела. |
Как ты предлагаешь биндить данные на атрибуты и на свойства?
Почему логика показа описывается в верстке? |
Цитата:
Цитата:
В общем то же что и в ангуляре. |
tenshi, датабиндинг выглядит так:
![]() |
а фпизду, оставлю все 3 разделителя - . :
а сам буду использовать няшное двоеточие |
Цитата:
похоже, так кто-то уже думал. только вот незадача - XHTML оказалось провальной идеей. но вообще в правильном направлении идешь, продолжай Цитата:
|
Цитата:
я говорю про неймспейсы директив а не про xml неймспейсы XD по сути что такое неймспейс? он же везде есть, для него и программировать не надо ничего, берешь и называешь директивы по особому. но дело то не в этом, я хочу ЗАСТАВИТЬ людей использовать их. ui будет бросать исключение если хотя бы один не будет использован, в ангуляре есть только префикс ng, он ничего не значит и служит только префиксом означающим что щас используем не обычный атрибут или элемент, а какую то директиву. я же предлагаю использовать неймспейсы, любая директива ОБЯЗАНА быть в каком-то неймспейсе, например будет неймспейс on, в нем будут хранится директивы связанные с событиями. и когда человек увидет on:application_loaded='блабла' он сразу поймет чо это событие чего-то. в ангуляре же ng:application_loaded='блабла' чел просто поймет что это директива, но что она делает ему придется гадать и искать её в коде и смотреть. задумка понятна? и второй заяц которого убиваем это префиксы =) то есть по скольку любая директива ОБЯЗАНА иметь неймспейс, не будет путаницы между нативными элементами и директивами. Цитата:
|
![]() кто еще не в курсе, ui приветствует распиздяйский но красивый стиль написания кода =) 1) не рекомендуется использовать точки с запятой, так как они не красивые 2) если не обьявлен var то переменная считается свойством контроллера, если обьявлен, то не считается 3) если идет приравнивание круглых скобочек, то считается что это формула, и вешается геттер, при обращении к которому значение формулы будет пересчитываться 4) сервисы доступны по умолчанию в любом месте кода контроллера, и их имена начинаются с бакса. 5) сервисы поддерживают ассинхронность, и если сервис поддерживает (а например встроенный сервис $http поддерживает) то после окончания запроса в поле в которое мы его присвоили (куда временно поместилась навидимая формула с промисом) поместится результат запроса. |
И еще ребят, вот тут уж точно с вами посоветоваться нужно, как лучше передавать параметры в директивы? Смотрите, вот в ангуляре там каждая директива принимает СТРОКУ и парсит её, выпарсивая из неё значения. она может воспринято эту строку как выражение и выполнить его через eval (так например события делают), может просто там какое-то слово подчерпнуть, число, и.т.п. НО СМОТРИТЕ, как сделать ДИНАМИЧЕСКИ ИЗМЕНЯЕМЫЕ ПАРАМЕТРЫ??
Допустим есть у нас директива fx:fire которая рисует тень из огня, и принимает она на вход 2 параметра, ширина огня и высота огня) ок. Я хочу придумать способ как записывать эти параметры. Окей, все как записать и прочитать решает коечно директива и её код) но все же, я хочу придумать пиздатый стиль передачи параметров директивам. Например можно сделать так fx:fire="10px 5px" по аналогии с css, но что если мы хотим динамически менять их? Тогда можно сделать так: fx:fire="{panel.width + 10}px {panel.height + 5}px" ок ок, но не кажется ли вам это как то тупо? вначале мы высчитываем значения выражений, подставляем их как строки в фигурыне скобки, получаем одну большую строку значения атрибута fx:fire потом передаем эту строку директиве fire и она ПАРСИТ её выдерая значения, и только потом уже применяет их. по моему как-то тупо, не проще ли сразу передать туда выражение? типа fx:fire="panel.width + 10". но вопрос, КУДА И КАК ПИХАТЬ ВТОРОЕ ЗНАЧЕНИЕ??? я короче придумал вот как делать, все что в значени атрибута оборачивается в квадратные скобки, получается массив =) это будет типа массив аргументов к директиве =) по аналогии с параметрами функции. тогда становится гораздо проще описывать директивы, ни надо ни какого парсинга и прочего. если мы хотим, мы, внутри кода директивы, можем использовать тупо строковое значение директивы, еслиже хотм можем использовать массив аргументов (если все распарсено корректно то массив будет не пустой). Ну как вам идея? Получается что мы сможем передать параметры директиве fire просто тупо через запятую, так, как будто мы функцию вызвали, и когда они изменятся директива автоматически об этом узнает. грубо говоря мой вопрос в следующем, что более читабильно это или это? fx:fire="panel.width + 10, panel.height + 5" fx:fire="{panel.width + 10}px {panel.height + 5}px" |
короче раз ни кто не учавствует тока обезьянку с яндекса в авторы припишу, больше ни кого :-/
|
Maxmaxmaximus7,
вот гад, мне уже 3 раза обещал. (имхо) не то, не то неудобно:-) |
cyber, я просто твой ник забыл а опсиать не смог тебя)
Цитата:
<div css:position="{panel.x} {panel.y}"></div> <div css:position="panel.x, panel.y"></div> <div css:position="10, 20"></div> какой вариант лучше смотрится? не ну можно конечно вот так сделать, но все я хочу именно придумать как передавать 2 параметра <div css:left="panel.x" css:top="panel.y"> </div> да не, по моему запятая самый оптимальный вариант, серьезно напоминает вызов функции. <div css:position="{panel.x} {panel.y}"></div> <div css:position="panel.x, panel.y"></div> |
Maxmaxmaximus7, не знаю, я считаю что подобные вещи писать в хтмл не правильно, передать функцию или атрибут это одно но писать что то типо {panel.x} + 50000 не совсем то
|
хм, а панель нельзя как в то передать в качестве this, что бы не писать каждый раз panel (к примеру) ? т.е если написать x то это будет всеравно что this.x
|
Цитата:
![]() просто мне почему-то кажется что вот так, более читабильно, особенно когда много контроллеров и ты к внешним из внутреннего обращаешься. важно понимать что есть СКОУП а есть КОТРОЛЛЕН, тут мы просто разворачиваем поля контроллера в текущий скоуп, иными словами вызываем new Panel.call($scope), но можно инстанцировать в конкретное свойства скоупа. ![]() |
Maxmaxmaximus7, хм, я хотел так предлжить сделать привязку к обьекту через атрибут, а у тебя уже так, тогда хз.
Но мешать js и html. |
<div css.position="panel.x, panel.y"></div> <div css.position.x="panel.x"></div> <div css.position.y="20"></div> <div css.left="20"></div> <div css.left="20%"></div> в левой стороне имя параметра, в правой зачение |
Цитата:
|
Цитата:
но я не про то, человек когда создает директиву он волен парсить строку её значения как угодно как захочет. я хочу как-то унифицировать это. я хочу унифицировать передачу нескольких парааметров, а то петя может создать директиву которая принмиает что-то вроде ui:ololo="to top|11px, 4" а паша что то типа ui:ololo="left||4px, 4px, red" и хуй пойми чо где да как. я хочу как то унифицировать приемку директивами параметров, в ангуляре этого нет, каждый парсит строку параметров как хочет, я хочу чтобы такого не было. я хочу понять то как передавать несколько значений, суть в том что может быть передано как ВЫРАЖЕНИЕ, так и простая строка, я все таки думю что просто СЛОВА редко передаются по этому по умолчанию все будут принимать выражения. и если мы напишем css:color="red" то он полезет в скоуп искать переменную red, а не воспринит это как строку. так что нам придется писать что-то вроде css:color=" 'red' " что смотрится убого. С другой стороны такое встречается редко. Гораздо чаще человеку нужно какое-то выражение запихать туда. по этому я думю там будут выражения, НО как передать несколько выражений? я думаю сделать это через запятую. Как? строка значения директивы будет сбоков оборачивться в квадратные скобки и парситься ивалом как массив) и его значения и будут аргументы. по моему вполне удачно. если строку распарсить на массив не удастся, то массив будет пустой. Между тем у человека будет доступ к сырой строке, которую он сможет распарсить самостоятельно и выдрать свое ебаные данные записаные в извращенной форме) |
Цитата:
Цитата:
Maxmaxmaximus7, объясни почему <div>, почему не <i></i>, или <m></m>, я с той позиции, что точка одна клавиша, а : -две |
Maxmaxmaximus7, ты юзаешь eval?
|
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
|
ui.directive('onClick', function(scope, element, attrs, params){ attrs = // {onClick: 'alert(11)'} params = // [exp] }); ну короче как-то так будет наверное, типа будет метод "распарсить параметры". exp обьект это обьект выражения который можно вызвать передав область видимости, обычно в них передается текущий скоуп exp($scope). Например в этом exp будет содержаться код алерта который мы можем выполнить в контексте чего либо, отслеживать изменения значения этого выражения и прочее. короче распарсили параметры |
или лучше вот так, не exp а сразу значения, exps хранятся в обьекте params и если надо можем достать, так проще, мы просим скоуп слушать изменения в обьекте параметров и как только они будут, мы будем переназначать css свойства )) к слову элемент поставляется в jQuery подобной коллекции как вы заметили.
<div css:position="panel.x, panel.y"> </div> ui.directive( 'cssPosition', function( scope, element, attrs, params ) { element.css( 'position', 'absolute' ); scope.$watch( params, function() { var x = params[0]; // 102 var y = params[1]; // 37 element.css( { 'left' : x, 'top' : y } ); } ); } ); хотим просто получить строку с параметрами и распарсить руками? не вопрос attrs['cssPosition'] // 'panel.x, panel.y' |
в принципе инстанцирование контроллеров было нужно только чтобы была возможность достучиваться до свойств родительских контролеров, и я подумал, а почему не сделать ТАК???? :D
<div ui:controller="Main"> <div ui:controller="Panel"> {name} // Панель {Panel.name} // Панель {Main.name} // Крот </div> </div> function Main() { name = 'Крот' } function Panel() { name = 'Панель' } за идею спасибо небезызвестному cyber |
Цитата:
|
как обращаться к внешнему контроллеру если внутри в таким же именем
короче я думаю вот на этом остановимся: <div ui:controller="ParentList = List('parent')"> <div ui:controller="List('child')"> {name} // child {List.name} // child (ParentList.name) // parent </div> </div> function List( newName ) { name = newName } И вводим негласное правило, имена контроллеров должны быть с заглавной буквы. Тут нет такого что вот конструктор с заглавной а сам инстанс с маленькой, нет больше ни какого инстанса, контроллер разворачиваетя в текущий скоуп. то есть вот контроллер function List() { name = 'list' } и когда мы напишем так <div ui:controller="List"></div> то текущий скоуп у нас станет таким var scope = {} scope.name = 'list'; scope.List = scope; -------- напишем так <div ui:controller="Ololo = List"></div> скоуп станет таким var scope = {} scope.name = 'list'; scope.List = scope; scope.Ololo = scope; короче все это типа ОПАСННО что перекроется ВНЕШНЕЕ бла бла бла, но это не так, с этим мы тоже поборимся |
Я возможно глупость сморожу, но все же:
По сути функции контроллеры использует тольку ui, почему бы не переписывать эти функции в локальный объект, и затирать их с глобального window. Цитата:
|
> так же как и ангуляр, тока скобки одинарные
Это как? Для каждого атрибута по отдельной директиве? Мне бы хотелось вот так: <a href="ya.ru" tabindex="{tabIndex}">ya.ru</a> > потому что в верстве описывается структура, это то место где мы все описываем и соединяем воедино, точки крепления css классов и лочки препления логики javascript. Точки крепления - да. Но не логика же вычисления условий. > Так же датабинлинг подобного типа лучше так как позволяет к одному контроллеру использовать разные шаблоны, так же контроллеры независимы от шаблонов и могут работать самостоятельно. Не контроллеры, а вью-модели. И они как-раз не могут быть без жесткого зацепления с шаблоном. Поэтому что они обеспечивают взаимосвязь верстки с логикой. > В общем то же что и в ангуляре. Тогда почему бы не использовать ангуляр? |
Часовой пояс GMT +3, время: 02:31. |