Роман Мирр, Или не ботов... В свое время участвовал в проекте, где как часть проекта планировался центральный склад и много маленьких, разбросанных по общирной территории. Соответственно вставал вопрос синхронизации данных складов между собой, усложненное тем, что многие места не имеют постоянного и стабильного интернета. И естественно маленьком складу вовсе не нужны все данные, а только та часть, что его касается. Типа того. К сожалению, до "боевых" условия тогда проект не дорос, но для собственного развития иногда изучаю мир СУБД в этом направлении
Роман Мирр, нет, не совсем так. Можно это обозначить как много-много ботов. Соответственно у каждого бота свои настройки и какая-то статистика. При своей работе бот ведет внутри себя маленькую БД с настройками и статистикой (простейший пример - счетчики сообщений, но не только). Время от времени в центральной БД могут быть изменены настройки, их нужно перетягивать в базы ботов, тоже самое и в обратную сторону. Но данные всей БД отдельному боту нафиг не нужны, поэтому берется только маленькая часть. Решить это можно и программным путем, но стало любопытно, можно ли на уровне СУБД все это настроить. CouchDB/PouchDB неплохо укладываются в идею. Но вдруг что-то такое есть и еще или даже в SQL-мире...
Роман Мирр, о, точно... Читал про Filtered replication, причем там есть еще PouchDB в качестве встраиваемой БД, и с CouchDB репликация чуть ли не на уровне движка.. Спасибо.
Vagrant делает полноценную виртуалку, насколько я помню и поднимает обособленную виртуальную гостевую машину под каждую задачу. Поэтому так долго, пока подготовит, пока запустит, пока ресурсы выделит. А Docker работает в рамках одного образа, уже запущенного. Образ настраивается один раз в самом начале, потом просто подключается и работает, когда запущен Docker. Поэтому да, он шустрее, возможно меньше будет потреблять ресурсов, но как по мне - это разного уровня инструменты.
Docker - он в стиле микросервисов, под 1 задачу 1 контейнер. То есть если нужно быстро поднять 1 сервис (например nginx или MySQL) или несколько взаимосвязанных и при этом не мешающих друг другу сервисов - очень удобно. Таких контейнеров может быть много (насколько хватит ресурсов настроенной виртуалки), можно эмитировать кластеры и т.п. Реально все делается достаточно быстро и легко - надо MySQL, быстренько запустил контейнер с MariaDB нужной версии (можно выбирать), MySQL не надо, надо MongoDB - пару команд и вот уже доступ есть к базе данных MongoDB. Ну и так далее.
Vagrant более... гибкий чтоли, но тяжеловесный, больше подходит для запуска целой готовой среды выполнения, где в рамках 1 контейнера (виртуалки) крутится сразу несколько нужных сервисов для проекта. В рамках проекта это все неизолированно и всякое такое - в общем это другое. Я в свое время использовал для запуска например заранее настроенной среды для разработки под Drupal - вот тут удобно очень, все само настроилось, что нужно скачалось и после запуска можно начинать разработку внутри виртуальной машины (там и LAMP настраивается сразу и редактор ставится и интеграция с дебагером).
В рамках Docker тоже можно запускать сразу несколько взаимосвязанных сервисов, но по другому.
Tomaszz, никогда свзяь по WiFi не будет такой же стабильной ,как по проводу. даже в идеальных условиях (коих в дмашних условиях вы не достигните никогда, даже в глуши)
avp dnepr, смотря что вы подразумеваете под словом GUI. Десктопное приложение с графическим интерфейсом можно написать даже в блокноте при желании (ну утрирую конечно, но вполне достаточно хорошего редактора кода). В любом из этих IDE можно сделать такое приложение. А вот если вам нужно визуальную разработку (ну типа кнопочки там форме расставлять и другие элементы) - то Visual Studio вам это позволяет.
Alexs47, Я всерьез эти не занимался, лишь делал примерный анализ вот примерно в таком виде, как вам и написал. Проблемы обычно в таком случае решали разработчики, я не лез туда.
Подходит для разработки - да. Но не для понимания, что лучше, потому что несравнимы.
C++/C# языки программирования.
Xamarin - надстройка для создания кроссплатформенных приложений (с натяжкой можно сказать, что игры тоже, но это не совсем так). Visual Studio - да, IDE, как и C++ Builder. По сути средство для создания приложений, любых. В том числе приложений для Unity.
А вот Unity - это не IDE ни разу. Это движок с редактором для разработки игр. И редактор имеется в виду не кода, а объектов в игре. Что-то типа 3D-редактора (не совсем так, но близкая аналогия). Разработка в нем ведется в основном на C# при помощи уже IDE - Visual Studio / XCode / MonoDevelop.
Надеюсь так понятнее?
Кстати еще есть Unreal Engine, движок и средства для разработки игр, больше 3D, но умеет и 2D. А есть еще Godot Engine - вот он наверное больше 2D, чем 3D. Есть еще разные штуки, типа Construct и т.п. В этом ряду Unity эдакий середнячок, универсал.
Aliense, скорее всего нет такого идеального списка. исходить следует действительно из знаний исполнителя и возможности его изучить другой язык (то есть тут и сроки решения и специфика, все вместе). какую-то информацию можно подчерпнуть из википедиа, но в стиле "обычно применяется для", "создан для". но почти все ЯП сейчас достаточно универсальны в целом.
короче, исходя из постановки задачи, вам следует выбрать под задачу из тех ЯП, с которыми вы так или иначе знакомы. а затем аргументировать, почему вы его выбрали. своими словами (вспоминаю свои студенческие годы без доступа к интернету вообще).
Максим Ворожцов, работать не вам, а скрипту, ему так то пофиг. а вот случае трех однотипных таблиц можно было потерять на накладных расходах на чтение из разных таблиц
Андрей Стрелков, второй раз не надо инсталлировать, все уже будет скачено в node_modules, просто запускаете и оно работает. обычно ничего больше делать не нужно. но вообще да, то, что в node_modules это как кеш срабатывает. сможет ли корректно отработать инсталл при отсутствии доступа к интернету - не пробовал
может обратить внимание на образовательные сервисы или движки, типа Moodle ? по сути то же самое, только вместо курсов - сеанс, вместо преподавателей - мастер и т.д.