@dlangru

Страница 319 из 719
Ievgenii
25.11.2017
09:39:11
У меня есть старая не воплощённая мечта - сделать игру. Вот надеюсь через пол годика таки сяду за нее. И пока мой выбор падает на Юнити

Stepanos
25.11.2017
09:46:26
я на юнити писал, там пустой проект генерится 9мб сразу, где большая часть - бинарники которьіе фиг смержинь, если вдвоем писать)

мне норм художник надо, чтоб запилить мою задумку

Ievgenii
25.11.2017
10:02:15
А ты 2Д делаешь?

Google
Ievgenii
25.11.2017
10:03:11
Stepanos
25.11.2017
10:03:55
не размер бинарника, а количество мусора в исходниках проекта

Ievgenii ну мне все равно 2D или 3D, но для 3D людей я точно не найду))

Ievgenii
25.11.2017
10:06:25
Просто для 3Д нужен не только художники...

Добавь их в gitignore

Che
25.11.2017
17:04:24
подскажите что там надо скачать, что бы на винде ldc работал. накатил таки виртуалку с семеркой, а оно какой-то MSVC просит

Andrey
25.11.2017
17:06:26
http://landinghub.visualstudio.com/visual-cpp-build-tools

Che
25.11.2017
17:08:12
это целую студию качать надо?

Maxim
25.11.2017
17:08:56
только build tools

Che
25.11.2017
17:09:23
меня переадресовывает сюда https://www.visualstudio.com/ru/downloads/

а, нашел вроде, в самом низу

Stepanos
26.11.2017
06:27:24
Всем привет, нужен совет. Делаю синхронизацию записей между устройствами, не знаю как синхронизировать удаленные. Пользователь на устройстве А удаляет запись, я ее в БД помечаю, как deleted=true, потом отправляю на бекенд все записи deleted=true, на бекенде в БД тоже помечаю как deleted=true, потом с устройства Б запрашиваю все deleted=true от определенного числа, и потом удаляю те записи, которые сервере возвращает. Так вот, в БД собирается много таких удаленных записей, но и удалять их нельзя, потому что не известно, синхронизировались ли все устройства. Еще есть два варианта, но они как по мне еще хуже: 1) ганять туда-сюда id-хи записей, которые есть на сервере, а на сервере не хранить удаленные, но записей может быть миллионы 2) вести учет устройств и какие синхронизированы, а какие нет, но будет собираться список "мертвых" устройств, где пользователь уже удалил приложение, но они не синхронизированы и записи висят в базе Как делать в таком случае? Может кто может посоветовать что-то либо что-то почитать в етом плане?

Google
Ievgenii
26.11.2017
06:50:37
))

Делается это следующим образом:

Stepanos
26.11.2017
06:51:58
Хотя можно хранить список удаленных id-х, 2-3 года, они меньше занимать будут... Но тоже так себе, может кто лучшее решение знает

Ievgenii
26.11.2017
06:51:59
Если тебе не важны данные удаленных записей, а я думаю не важны, т.к. ты их потом удаляешь, то нужно сделать так:

Делается допольная таблица

Именно удаленных запискй

В которой только id записи и время ее удаления

Вот и все

И список удаленных записей лежит и синхронизируется именно по этой таблице

Если нельзя захламлять основную таблицу, то именно так ещё делают синхронизацию и обновленных записей

Делается таблица, так называемая, "история модификации" другой таблице

Где лежит вся история что происходило с ведущей таблицей

Типа:

id, type_action, time, user_id

Кто и когда что сделал с записью

Эта таблица хранит только инты, а значит априори будет не велика. Или 4*3 байта одна запись, или 4*4 байта на запись

Но синк баз - это у тебя что-то странное.

Stepanos
26.11.2017
06:57:34
звучит очень круто!

Ievgenii
26.11.2017
06:57:39
Что за приложение, расскажи, может я лучше тебе архитектуру подскажу

Stepanos
26.11.2017
06:58:16
ну у меня на моб клиентах локально записи хранятся... вот и надо между клиентами синкать ети записи, типа на телефоне я удалил что-то, оно должно удалиться и на планшете к примеру

Google
Stepanos
26.11.2017
06:58:21
словарь

50+ языков + готовые словари + обмен с друзьями... Короче записей много будет

+ если я с плагина браузера добавляю слова, они должньі подтягиваться и на телефон

Ievgenii
26.11.2017
07:00:11
Понял

Тут есть интересней тогда решение

Посмотри шаблон "команда"

Это твое решение

Stepanos
26.11.2017
07:01:05
список команд хранить в БД?

Ievgenii
26.11.2017
07:01:06
Ты создаёшь объект, который в себе инкапсулирует какое-то действие

Что произошло

Потом сериализуешь и ложишься в БД

На клиентах всегда вычитываешь все команды, которые ещё неивычитывал (хранить id последний полученной команды)

Ievgenii
26.11.2017
07:02:20
И при вычитки применяешь ее

При добавлении нового устройства, сперва вычитываешь некий дамп БД

Который создаётся, скажем, каждый день

И после вычитки этого дампа и применения его на устройстве при добавлении нового

Ты вычитываешь недостающие команды за это время, что прошло от времени создания дампа БД и now()

Stepanos
26.11.2017
07:05:00
звучит очень круто :) у меня левел ап сегодня норм получился

Ievgenii
26.11.2017
07:06:17
Этот подход тебе выгодней, т.к. позволит синхронизировать сразу всю БЛ

А не одну таблицу. т.к. ты решаешь частный случай, а нужно общий

Google
Stepanos
26.11.2017
07:08:31
ну да :) спасибо большое за консультацию!

Ievgenii
26.11.2017
07:10:11
Незачто

Обращайся, если что.

Пошел дальше болеть)))

Stepanos
26.11.2017
07:10:27
в CSV+zip лучше хранить чем в JSON+Zip?

оу) выздоравливай быстрее!

Ievgenii
26.11.2017
07:10:58
Лично я предпочитаю ProtoBuf

Он структурирован и имеет интерфейс

Или сразу экспорт в SqlLite дамп и зипуй его

https://developers.google.com/protocol-buffers/

Admin
ERROR: S client not available

Stepanos
26.11.2017
07:18:46
с протобафом работал :)

Ievgenii
26.11.2017
07:19:13
Крутая штука

У нас все проекты нашей команды только с ним, если нужен протокол

Dmitry
26.11.2017
07:24:24
Я тут уже пыталяся спрашивать, но ответа толком не получил. В ORM есть понятие сессия и в подклюении к БД есть понятие сессия. Вопрос в чем разница? Что под Сессией ORM понимается

Ievgenii
26.11.2017
07:28:44
Предполагаю, что в подключении сессия - это просто физический канал связи

Если ты подключаешься, скажем, к шарду или реплике

А сессия в ОРМ, скорее всего это сессия с конкретным сервером, на котором сейчас выполняются твои запросы

Я так думаю!

Нужно смотреть по коду

Google
Ievgenii
26.11.2017
07:34:34
А ты что скажешь?

Maxim
26.11.2017
07:39:58
а что за ORM-то?)

Ievgenii
26.11.2017
07:52:49
Осталось тайной)))

Dmitry
26.11.2017
08:00:48
Да любая ORM или там у всех по разному? Я про SQL Алчими в данном случае спрашиваю

Ievgenii
26.11.2017
08:01:10
Ну кто как реализует

Так что везде разное

Dmitry
26.11.2017
08:04:44
А над сессией БД может быть еще сессия? Просто в моем понимании сессия это просто подключение

Ievgenii
26.11.2017
08:06:21
Смотри

Когда ты работаешь с кластером, где есть более одного мастера

Тебе всегда нужно хранить информацию, конкретно с каким мастером ты работаешь.

Как минимум, чтобы корректно уточнить последний сгенерированный ID

+ у тебя может быть несколько сессий в рамках одного подключения

Так что нужно по коду смотреть

Так не понятно

У нас была интересная задача:

Есть куча микросервисов

И практически у каждого идёт своя БД

А нужно на UI отображать связанные данные

Скажем:

Есть микросервис пользователь

Есть машина

И есть бокс

На странице в UI нужно отобразить список боксов с их машинами и их водителями

Страница 319 из 719