Хм… Да уж. Наш мозг очень интересная штуковина.
Да, сути вопроса это не меняет. Я не писал ни про ракеты на iOS ни про реакторы на ней. Из без них полно железа и на iOS в том числе, которые должны быть безопасны, чтобы мой зад чувствовал себя в безопасности.)
Не считаю это дебилизмом. В случае когда такой софт используется в системах от которых зависит моя жизь/безопасность и всех жителей страны — я за то, чтобы спец. службы знали что внутри этого софта. Конечно, «пусть не используют и свё!» будете кричать вы, но если есть возможность договориться и использовать, то почему бы и нет…
> Предложить такое — дебилизм высшего уровня. Позор и печаль :(
Сомнительное и странное заявление как минимум.
5 лет fulltime разработки под ML думаю достаточный уровень.
Вы уж извините, но я не спорил ни с кем, просто написал, что такая db есть и стало обидно за минус.
> Утверждать просто так, не утруждая себя объяснениями, доказательствами и ссылками?
Поставивший мне минус не утруждал себя в знаниях ставя его…
> Лично мне, например, очень интерессно было бы почитать более развернутый комментарий, который подтверждает ваше мнение, а не холиварный вброс.
Что является доказательством правдивости моих слов? Вы им не верите? Их соответствие докам? Так может сразу идти и почитать эти доки? Вот мнение архитектора ML www.youtube.com/watch?v=3mOCOrFQ_N0 его будет достаточно? Вот тут www.marklogic.com можно найти его и еще много интересного про ML.
Видимо проблема в том, что я не составил тот самый google запрос (https://www.google.ru/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#newwindow=1&q=marklogic%20acid), который выдал бы подтверждения моих слов, если их не достаточно.
Очень интересно услышать «авторитетное» мнение того, что поставил "-1" моему сообщению. Рискну уйти далеко в минус… но вы видимо считаете, что уровень ваших знаний по теме позволяет вам так делать без объяснения причин? Вы тесно знакомы с Marklogic? Вы основываетесь на инфе из вики или на общих «так сделать нельзя...» делая это?
Из сообщения ниже…! не спорю с вами, просто описываю что знаю :)
> нет принципиальных ограничений сделать acid даже в nosql на одной машине.
В ML это работает и вне одной машины
> Но это сильно бьёт по скорости записи, что использовать nosql становится невыгодно
В ML есть «некоторые» :) проблемы с производительность, но также там есть еще 100500 способов оптимизации для её повышения. А некоторым людям, читая мои слова следует понимать, что эти методы не очевидны если вы не знакомы или плохо знакомы с этой DB и не имея достаточных знаний не стоит делать вывод о том, что это все равно будет работать страшно медленно… Да, ML это не покажет сверх высокую производительность, но его с лихвой хватит, чтобы покрыть большинство задач имея «NoSQL» данные.
Сейчас, если ничего не делать дополнительно то сервер и нужен только для установки «первого» и единственного соединения.
> Можно ли в нем напрямую задать IP
В любом случае вам нужно его знать. По мне так лучше оставить это на WebRTC, предоставив ей только сигнальный сервер, так как сама технология может выполнить не только прямое подключение но и подключение через нат, чего вы никогда не сделаете из JavaScript кода.
Это примерно так работает:
1. есть браузер А и Б
2. и они знают про адрес (IP/домен) сигнального сервера
3. А и Б коннектятся к сигнальному серверу, он позволяет обмениваться сообщениями между А и Б
4. например, А приглашает Б установить контакт, пересылая ему спец пакет через сигнальный сервер
5. А и Б обмениваются IP адресами (через сигнальный сервер), по которым к ним можно присоединиться. это ip компа и все вплоть до белого ip
6. Браузеры пытаются соединиться между собой по одному из этих ip с учетом обхода нат и т.п. и работают уже меду собой им больши никто не нужен.
Собственно на шаге 4 бразеры должны знать ID друг друга, чтобы указать какому именно браузру предназначено сообщение. Т.к. к сигнальному серверу может присоединиться более двух драузеров. Получение именно этих ID «случайным образом» и решает автор статьи испоьзуя для этого сам сигнальный сервер. Не лишего смысла, кстати.
И не только поэтому. Даже если оба клиента имеют белый ip, то хотя бы один из них должен знать адрес другого, а это требует наличия связующего звена от которого автор ооочень хотел избавиться. Да и статья о web приложении. Вы вот знаете способ соединения браузер-браузер по ip?.. Я только один знаю — WebRTC, который, кстати и без проброса портов работать может) Для него непроходим только симметричный нат :)
> И в общем случае ничто не мешает созданию такой сети
Нет, мешает, архитектура интернета мешает. Не возможно. Хотя бы потому, что есть клиенты, которые сидят за натом и это одно из исключений, которыми обрастет ваша идея. С ними придется бороться если вы хотите это:
> html файл, который можно засунуть куда угодно и который будет работать
Поймите правильно, сам хочу такую вкусняшку, но сейчас это не возможно.
Кстати, зависимость будет в любом случае, будет это ваш сервер или свефический в вакууме и тут не понятно еще зависимость от какого будет лучше :)
Ну а если по теме, то сервер для связи двух клиентов WebRTC имеет совсем не сложную структуру. Его одной и основной задачей является передача сообщений от одного к другому клиенту ну и плюс он должен для этого устроить обработку и хранение онлайн клиентов. Исходя из этого
> приходится писать некий серверный код, который отслеживает статус имеющихся пользователей
при вашей реализации вы просто берете уже готовый сервер. Да, вам не нужно писать такой код, но он должен быть написан кем-то…
Выгода от заимствования кода может быть минимальна, так как реализация своего сервера (крайне простая реализация) может даль ощутимо больше пользы.
Даже если писать код самому — функции сервера очень просты и занимают крайне мало времени, поэтому даже маленький сервер при такой архитектуре способен вытянуть очень много пользователей.
> Сначала клиент пытается соединиться (используем peer.js) с другим пользователем…
Что-то не очень понял смысла всех действий… Чтобы соединиться со случайным клиентом?
Вы обернули обычный алгоритм работы WebRTC логикой, чтобы получить функционал соединения со случайным клиентом… Зачем?
UPD: Вернее, зачем вы это назвали без сервера и делаете на этом акцент.
Да, сути вопроса это не меняет. Я не писал ни про ракеты на iOS ни про реакторы на ней. Из без них полно железа и на iOS в том числе, которые должны быть безопасны, чтобы мой зад чувствовал себя в безопасности.)
> Предложить такое — дебилизм высшего уровня. Позор и печаль :(
Сомнительное и странное заявление как минимум.
Вы уж извините, но я не спорил ни с кем, просто написал, что такая db есть и стало обидно за минус.
> Утверждать просто так, не утруждая себя объяснениями, доказательствами и ссылками?
Поставивший мне минус не утруждал себя в знаниях ставя его…
> Лично мне, например, очень интерессно было бы почитать более развернутый комментарий, который подтверждает ваше мнение, а не холиварный вброс.
Что является доказательством правдивости моих слов? Вы им не верите? Их соответствие докам? Так может сразу идти и почитать эти доки? Вот мнение архитектора ML www.youtube.com/watch?v=3mOCOrFQ_N0 его будет достаточно? Вот тут www.marklogic.com можно найти его и еще много интересного про ML.
www.information-age.com/technology/information-management/123458126/putting-enterprise-nosql-acid-ambiguity-out
Видимо проблема в том, что я не составил тот самый google запрос (https://www.google.ru/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#newwindow=1&q=marklogic%20acid), который выдал бы подтверждения моих слов, если их не достаточно.
Из сообщения ниже…! не спорю с вами, просто описываю что знаю :)
> нет принципиальных ограничений сделать acid даже в nosql на одной машине.
В ML это работает и вне одной машины
> Но это сильно бьёт по скорости записи, что использовать nosql становится невыгодно
В ML есть «некоторые» :) проблемы с производительность, но также там есть еще 100500 способов оптимизации для её повышения. А некоторым людям, читая мои слова следует понимать, что эти методы не очевидны если вы не знакомы или плохо знакомы с этой DB и не имея достаточных знаний не стоит делать вывод о том, что это все равно будет работать страшно медленно… Да, ML это не покажет сверх высокую производительность, но его с лихвой хватит, чтобы покрыть большинство задач имея «NoSQL» данные.
PS: упс, промахнулся :(
> Можно ли в нем напрямую задать IP
В любом случае вам нужно его знать. По мне так лучше оставить это на WebRTC, предоставив ей только сигнальный сервер, так как сама технология может выполнить не только прямое подключение но и подключение через нат, чего вы никогда не сделаете из JavaScript кода.
Это примерно так работает:
1. есть браузер А и Б
2. и они знают про адрес (IP/домен) сигнального сервера
3. А и Б коннектятся к сигнальному серверу, он позволяет обмениваться сообщениями между А и Б
4. например, А приглашает Б установить контакт, пересылая ему спец пакет через сигнальный сервер
5. А и Б обмениваются IP адресами (через сигнальный сервер), по которым к ним можно присоединиться. это ip компа и все вплоть до белого ip
6. Браузеры пытаются соединиться между собой по одному из этих ip с учетом обхода нат и т.п. и работают уже меду собой им больши никто не нужен.
Собственно на шаге 4 бразеры должны знать ID друг друга, чтобы указать какому именно браузру предназначено сообщение. Т.к. к сигнальному серверу может присоединиться более двух драузеров. Получение именно этих ID «случайным образом» и решает автор статьи испоьзуя для этого сам сигнальный сервер. Не лишего смысла, кстати.
Нет, мешает, архитектура интернета мешает. Не возможно. Хотя бы потому, что есть клиенты, которые сидят за натом и это одно из исключений, которыми обрастет ваша идея. С ними придется бороться если вы хотите это:
> html файл, который можно засунуть куда угодно и который будет работать
Поймите правильно, сам хочу такую вкусняшку, но сейчас это не возможно.
Кстати, зависимость будет в любом случае, будет это ваш сервер или свефический в вакууме и тут не понятно еще зависимость от какого будет лучше :)
Ну а если по теме, то сервер для связи двух клиентов WebRTC имеет совсем не сложную структуру. Его одной и основной задачей является передача сообщений от одного к другому клиенту ну и плюс он должен для этого устроить обработку и хранение онлайн клиентов. Исходя из этого
> приходится писать некий серверный код, который отслеживает статус имеющихся пользователей
при вашей реализации вы просто берете уже готовый сервер. Да, вам не нужно писать такой код, но он должен быть написан кем-то…
Выгода от заимствования кода может быть минимальна, так как реализация своего сервера (крайне простая реализация) может даль ощутимо больше пользы.
Даже если писать код самому — функции сервера очень просты и занимают крайне мало времени, поэтому даже маленький сервер при такой архитектуре способен вытянуть очень много пользователей.
> Работаю: Mail.Ru Group
:) это круто xD
Не врите,
> Сначала клиент пытается соединиться (используем peer.js) с другим пользователем…
Что-то не очень понял смысла всех действий… Чтобы соединиться со случайным клиентом?
Вы обернули обычный алгоритм работы WebRTC логикой, чтобы получить функционал соединения со случайным клиентом… Зачем?
UPD: Вернее, зачем вы это назвали без сервера и делаете на этом акцент.
А я по прежнему радуюсь этому событию. И думаю что вы тоже.