Задать вопрос
  • В каких случаях использование Firebase оправдано?

    @loly Автор вопроса
    razer89: я думаю это не так важно :) Кстати, из новой консоли FCM бесплатный (из старой минимум 5$)
  • В каких случаях использование Firebase оправдано?

    @loly Автор вопроса
    В этом случае он все равно будет платный? или если только FCM, то бесплатно?
  • В каких случаях использование Firebase оправдано?

    @loly Автор вопроса
    Для текущего проекта это не играет абсолютно никакой роли, как бы это странно не звучало.
  • Как реализовать постоянный доступ к данным в шаблоне проектирования MVP?

    @loly Автор вопроса
    Где можно почитать про то, как работать с синглтоном в андроид студии? На данный момент только активити, но возможно будут и фрагменты.
  • Единый элемент для вывода аудио/видео/фото?

    @loly Автор вопроса
    а что думаете на счет SurfaceView?
  • Как хранить данные, которые нужны везде и всегда на android?

    @loly Автор вопроса
    Rou1997: тогда мой первый коммент остается актуальным?
  • Как хранить данные, которые нужны везде и всегда на android?

    @loly Автор вопроса
    Rou1997: хм.. я спутал статик с модификатором, который позволяет изменять значение во всех экземплярах класса.

    Но если так, то зачем оно вообще надо при наличии ресурсов типа строк? Это же велосипед получается т.к. есть класс "R.strings.[name]". Вопрос то не про предопределенные данные, а про данные, которые могут быть получены только в результате работы приложения.
  • Как хранить данные, которые нужны везде и всегда на android?

    @loly Автор вопроса
    Могу я задать чисто теоретический вопрос относительно статического класса-контейнера?
    1) Создаем экземпляр класса и помещаем в него данные
    2) Уничтожаем экземпляр класса
    3) Экземпляров класса нигде не существует
    4) Что будет с данными, введенными ранее в уничтоженный экземпляр класса? Будут ли они доступны если определить новый экземпляр? Будут ли они доступны, в новом активити?
  • Как реализовать модель в MVP? Правильно ли я понимаю данный шаблон проектирования?

    @loly Автор вопроса
    т.е. реализовывать подобным образом model - это нормально? Не скажется ли постоянное использование SharedPreferences на быстродействии? Не скажется ли на производительности/используемой памяти постоянное определение модели?
  • Как изменить "primary key" в Elasticsearch (т.е. вместо _id использовать другое поле)?

    @loly Автор вопроса
    Ваш ответ почти верен. На момент написания вопроса я не знал, что можно вот так просто взять и передать свой "_id" без предварительного "уведомления" базы данных (ну т.е. это как то неправильно и нелогично, вот так просто брать и передавать что хочешь думал я до того как нашел решение). Дополните ваш ответ примером что бы я мог отметить его решением.
  • Как правильно создать индекс в ElasticSearch?

    @loly Автор вопроса
    1. От части для этого я и написал вопрос, немного упростив данные (дальше я бы и сам смог всё структурировать по предложенному варианту). Я только начал изучать ElasticSearch и не знаю как мне всё это структурировать внутри базы данных. Если бы я использовал какой нибудь mysql я бы просто создал много таблиц и строил между ними связи, однако в моем случае mysql не подходит (Данных не мало, неструктурированных 14 GB (т.е. строки там все повторяются по многу раз, а так же имеются данные, которые по значению hash нужно удалить (JSON формат). Для примерной оценки я просто всё сжал обычным winrar'ом (он должен хорошо работать при многочисленном повторении данных), в результате получил ~3 GB данных (из которых ~1 будет повторений)).
    4. Когда я только начинал работать с ElasticSearch, я всё делал по вот этому "туториалу" https://www.elastic.co/guide/en/elasticsearch/guid... , но из-за большого количества возникающих вопросов (в основном из-за одного - как правильно организовывать структуру БД при работе с ElasticSearch) я прекратил ему следовать и обратился сюда. Повторюсь, в том же mysql я бы просто создал таблицы и делал между ними связи, а как это реализовывать здесь - я не знаю (беря в пример все тех же работников и их должности - я бы просто создал таблицу со списком должностей и ссылался на её строки).
  • Как правильно создать индекс в ElasticSearch?

    @loly Автор вопроса
    Igor Makarov: ""more" и "less" - непонятно.". Как я и сказал выше - тематика изменена, то есть на деле это не компании и не работники. В полях могут храниться не только строковые типы данных (т.е. это не просто количество работников). Написал я именно их т.к. мне кажется это наихудшим вариантом (т.е. сложнее же сравнить строку, чем число). На деле запрос будет и по "должности" и по "имени". Запрос на должность идет по точному совпадению (конечно я могу этого и не делать, однако мне кажется, что это опять же ускорит работу). Моя ошибка, надо было изначально это упомянуть.
    На деле описание будет еще сложнее:
    {
        "должность": "манагер",
        "имя": "Анатолий",
        "стартапы" : ["название стартапа" : ["скачиваний" : 1000, "тематика" : "игра в жанре RPG"], ....],
        "образование" : ["название образования (например, программист-инженер)" : лет работы по данному образованию, ....],
        "возраст": 20
    },

    PS Реальная тематика абсолютно никак не касается людей.
  • Как правильно создать индекс в ElasticSearch?

    @loly Автор вопроса
    Igor Makarov: всё что я могу сказать сейчас - в 99% поиск будет именно по этим "должностям". Средняя длинна ключа "должность" будет 60 символов, а значением в большинстве случаев - short. Как я уже сказал, в 99% случаев поиск будет именно по ним, пример:
    { "match": { "работники.должность": "управляющий" }, {"more" : {"работник.имя" : 25}}},
    { "match": { "работники.должность": "Главный металлург}, {"less" : {"работник.имя" : 85}}} ,
    { "match": { "работники.должность": "Главный конструктор}, {"less" : {"работник.имя" : 165}}, {"more" : {"работник.имя" : 50}}} ,
    { "match": { "работники.должность": "Главный инженер}, {"more" : {"работник.имя" : 8}}} ,
    { "match": { "работники.должность": "Главный диспетчер}, {"more" : {"работник.имя" : 9}}} ,
    { "match": { "работники.должность": "Главный энергетик" }, {"more" : {"работник.имя" : 800}}} ,
    { "match": { "работники.должность": "Главный технолог" }, {"more" : {"работник.имя" : 0}}} ,
    { "match": { "работники.должность": "Главный специалист по защите информации" }, {"more" : {"работник.имя" : 50}}} ,
    { "match": { "работники.должность": "Главный сварщик" }, {"more" : {"работник.имя" : 79}}} ,
    { "match": { "работники.должность": "Главный механик" }, {"more" : {"работник.имя" : 57}}} ,
    { "match": { "работники.должность": "Главный метролог" }, {"more" : {"работник.имя" : 19}}}

    таким образом будет происходить постоянное сравнивание строк, что чисто логически мне кажется замедлением. На данный момент я являюсь студентом и это одна из моих студенческих работ, однако я планирую запустить её. В начале (т.к. я студент) количество машин ограничено 1. Разве количество машин не равняется количеству шардов? Ну т.е. это же и есть горизонтальное масштабирование.

    Пример выше равен - это один запрос, а не множество.
  • Как правильно создать индекс в ElasticSearch?

    @loly Автор вопроса
    Вопрос по поводу поля должностей "работники.должность". Ненужно ли их выделять в какой нибудь отдельный.... массив (т.к. при большом количестве данных эти поля будут повторяться огромное количество раз)? или всё это сделает ElasticSearch за меня?
  • Как правильно организовать архитектуру веб-сервера?

    @loly Автор вопроса
    Дмитрий Энтелис: PS Мне бы совесть не позволила взять подобный проект на данном этапе развития)
  • Как правильно организовать архитектуру веб-сервера?

    @loly Автор вопроса
    Дмитрий Энтелис: К сожалению, у меня ничего этого нет) У меня нет заказчика, железа (разве что домашнее) или каких то больших (а тем более XXXX$) средств. XXX запросов в секунду точно не будет, максимум моих ожиданий - XXXX уникальных посетителей в сутки (которые, правда, могут достигнуть XXX запросов в секунду, но только если у них будет возможность получения "горячей информации", т.е. какой нибудь встроенный функционал, обновляющий каждую секунду).
  • Как правильно организовать архитектуру веб-сервера?

    @loly Автор вопроса
    Мне казалось в подобном сообществе нет необходимости уточнять, что подразумевалось под мгновенным поиском, но раз уж на то пошло...