Да, и к сожалению с тем же качеством… Придя на один из их проектов — первым делом закрыл directory browsing и индексацию всего этого дела в поисковиках.
Примечательно, что код очень сильно разнится. Есть очень приличные куски, с хорошей продуманной архитектурой, EventBus и всё такое, а есть прямая манипуляция объектами в DAL прямо из button_Click().
То ли сильно разные уровни программистов и полное отсутствие Code Review, то ли дикое управление приоритетами и сроками со стороны руководства…
Ну во-первых я пишу не на php, а во-вторых если вы представите geo-координаты в виде целого числа с чередующимися битами координат (xyxyxyxy), то дальше всё будет тривиально, а задача разбиения на квадраты и поиска квадрата включающего заданную координату будет очень похожей на работу с таблицами ip-адресов. Т.е. да, у квадрата будет ещё битовая маска.
Само же раскидывание границ по квадратам и вообще геоданных по квадратам очень хорошо параллелится, неплохо ложится на map-reduce, а при большом желании даже загоняется на GPU.
Даже чисто влоб видно куда более оптимальное решение.
Делим всю карту на квадраты, строим из них QTree. Чем меньше квадрат — тем больше будет данных, но и тем быстрее отработается запрос.
Для каждого элемента QTree считаем и сохраняем, какие регионы в нём присутствуют. Дополнительно можно в него же сохранить границы регионов, предварительно обрезав их по границам квадрата.
Дальше оптимизируем QTree — в квадратах, у которых все четыре подквадрата относятся к одному региону — подквадраты прибиваем, ибо ни к чему.
В итоге получим qtree, плотность данных которого будет большой вдоль границ и низкой «внутри» регионов.
Ну а выборка тривиальна. Найти квадрат, включающий заданные координаты — копеечная операция. Дальше если в квадрате сходятся несколько регионов — то проверяем принадлежность к кускам границ квадрата — они небольшие и операция получится недолгая.
Никаких проблем с анклавами, можно хранить и проверять хоть весь земной шар с детализацией до района города — сложность выборки почти постоянна.
Вывод относительно конкретно этого устройства судя по посту один — решения на базе смартфонов с выносным датчиком бесполезны.
Мне было бы интересно почитать чей-нить опыт использования чисто софтовых решений на базе смартфонов — причём не в контексте «я попробовал одну ночь», а именно аспектов длительного пользования — удобство, процент ошибок/сбоев, разряд аккумулятора и т.д.
Сам я до недавнего времени пользовался SleepTracker, о своём опыте где-то тут уже отписывался…
У всех прошивок Sensation с 4-ым сенсом общая проблема — не работает bluetooth. Если блютуз не нужен — то можно смело ставить и юзать, всё остальное уже допилили до состояния daily use.
Проблема же заключается в том, что на аппаратах с родным Sense 4 (HTC One) модули с поддержкой bluetooth 4.0… Похоже блютуз-стек совершенно другой…
Перечитав немалое количество подобных статей, я остановил свой выбор на SleepTracker Pro Elite Mens.
Вы в этом названии смешали названия совершенно разных моделей. Те два, что у вас на картинке — это Elite, без всяких pro. Pro же не делился на мужской и женский и выглядел так:
И кстати, не понял какую кнопку «я иду спать» вы имеете ввиду, у меня ничего подобного нет. Единственное, задаётся время «примерного отхода ко сну», но единственное на что оно влияет — это на начало отслеживания ваших движений — т.е. один раз выставляем, скажем, на 2-3-4 ночи и забываем навсегда. Естественно, при условии, что раньше 4-х утра вам вставать не надо.
Ну и по поводу эффекта, плацебо, техномагий и т.д.
Устройство сиё действительно работает. Первую неделю-две идёт привыкание и вы можете не отреагировать должным образом на вибрацию — т.е. вы проснётесь и тут же уснёте дальше.
Дальше наблюдаем вполне устойчивую работу и выработанную реакцию организма — на вибрацию организм устойчиво просыпается и как правило (если сон составлял хотя бы 3-4 часа) в этот момент сонливости нет вообще. Правда минут через 10 она снова появится, но за 10 минут вполне можно осмысленно встать.
Важно помнить главное — сей девайс способен вас разбудить в хорошем настроении, без сонливости и т.д., но он не даст вам мотивации встать. С этим боритесь уж как-нибудь сами :)
Ну и некий негативный эффект, который тоже описывался в интернете и с которым я тоже столкнулся сам. Через длительный (порядка 2-3-4-5 лет) период использования организм перестаёт реагировать на вибрацию. Пока просто перестал пользоваться, дальше посмотрим — надеюсь после паузы снова будет эффект.
И, в-третьих, на сервер могут быть произведены хакерские атаки, что позволит злоумышленникам похитить информацию, либо недобросовестный администратор сервера воспользуется ею в личных целях
Это тоже сомнительная выгода перед HTTPS, т.к. очень сложно доказать широким массам пользователей, что ваша реализация JS-шифрования не содержит уязвимостей и бэкдоров.
Так как на практике мы имеем дело чаще всего с определением местоположения и направления посредством именно навигационных систем, примером тому хотя бы android с его приложением google maps
Чтозабред, Google Maps если не первым, то уж точно одним из первых научился рисовать направление стрелочки по магнитометру для малых скоростей и по вектору движения для больших. Т.е. магнитометр оно использует весьма активно. В большинстве современных устройств с андроидом магнитометр есть. Китайские планшеты за $100 в расчёт не берём.
Примечательно, что код очень сильно разнится. Есть очень приличные куски, с хорошей продуманной архитектурой, EventBus и всё такое, а есть прямая манипуляция объектами в DAL прямо из button_Click().
То ли сильно разные уровни программистов и полное отсутствие Code Review, то ли дикое управление приоритетами и сроками со стороны руководства…
Само же раскидывание границ по квадратам и вообще геоданных по квадратам очень хорошо параллелится, неплохо ложится на map-reduce, а при большом желании даже загоняется на GPU.
Делим всю карту на квадраты, строим из них QTree. Чем меньше квадрат — тем больше будет данных, но и тем быстрее отработается запрос.
Для каждого элемента QTree считаем и сохраняем, какие регионы в нём присутствуют. Дополнительно можно в него же сохранить границы регионов, предварительно обрезав их по границам квадрата.
Дальше оптимизируем QTree — в квадратах, у которых все четыре подквадрата относятся к одному региону — подквадраты прибиваем, ибо ни к чему.
В итоге получим qtree, плотность данных которого будет большой вдоль границ и низкой «внутри» регионов.
Ну а выборка тривиальна. Найти квадрат, включающий заданные координаты — копеечная операция. Дальше если в квадрате сходятся несколько регионов — то проверяем принадлежность к кускам границ квадрата — они небольшие и операция получится недолгая.
Никаких проблем с анклавами, можно хранить и проверять хоть весь земной шар с детализацией до района города — сложность выборки почти постоянна.
Мне было бы интересно почитать чей-нить опыт использования чисто софтовых решений на базе смартфонов — причём не в контексте «я попробовал одну ночь», а именно аспектов длительного пользования — удобство, процент ошибок/сбоев, разряд аккумулятора и т.д.
Сам я до недавнего времени пользовался SleepTracker, о своём опыте где-то тут уже отписывался…
Проблема же заключается в том, что на аппаратах с родным Sense 4 (HTC One) модули с поддержкой bluetooth 4.0… Похоже блютуз-стек совершенно другой…
самсунгеСамсоне.Вот вопрос, откуда у МТС сертификат самсунгов интереснее… Я догадываюсь, конечно, но название этому явлению не совсем приличное :)
Вы в этом названии смешали названия совершенно разных моделей. Те два, что у вас на картинке — это Elite, без всяких pro. Pro же не делился на мужской и женский и выглядел так:
И кстати, не понял какую кнопку «я иду спать» вы имеете ввиду, у меня ничего подобного нет. Единственное, задаётся время «примерного отхода ко сну», но единственное на что оно влияет — это на начало отслеживания ваших движений — т.е. один раз выставляем, скажем, на 2-3-4 ночи и забываем навсегда. Естественно, при условии, что раньше 4-х утра вам вставать не надо.
Ну и по поводу эффекта, плацебо, техномагий и т.д.
Устройство сиё действительно работает. Первую неделю-две идёт привыкание и вы можете не отреагировать должным образом на вибрацию — т.е. вы проснётесь и тут же уснёте дальше.
Дальше наблюдаем вполне устойчивую работу и выработанную реакцию организма — на вибрацию организм устойчиво просыпается и как правило (если сон составлял хотя бы 3-4 часа) в этот момент сонливости нет вообще. Правда минут через 10 она снова появится, но за 10 минут вполне можно осмысленно встать.
Важно помнить главное — сей девайс способен вас разбудить в хорошем настроении, без сонливости и т.д., но он не даст вам мотивации встать. С этим боритесь уж как-нибудь сами :)
Ну и некий негативный эффект, который тоже описывался в интернете и с которым я тоже столкнулся сам. Через длительный (порядка 2-3-4-5 лет) период использования организм перестаёт реагировать на вибрацию. Пока просто перестал пользоваться, дальше посмотрим — надеюсь после паузы снова будет эффект.
Чтозабред, Google Maps если не первым, то уж точно одним из первых научился рисовать направление стрелочки по магнитометру для малых скоростей и по вектору движения для больших. Т.е. магнитометр оно использует весьма активно. В большинстве современных устройств с андроидом магнитометр есть. Китайские планшеты за $100 в расчёт не берём.