А обычный GPS без толку запрашивать 100 раз в секунду, там ошибки будут коррелированные же. Иначе никто бы >не городил огород с RTK, а просто частоту опроса увеличивали и вуаля, ошибка по ЦПТ соответственно >уменьшалась.
Не совсем точно,
во-первых, да инструментальная погрешность определения положения во всемирной системе координат GPS/GLONASS не сантиметровая, и отсюда всякие диф. методы, но это погрешность определения
координат, скорости считаются с неплохой точностью, навскидку 0.3 м/с, вам ведь нужны скорости?
во-вторых при скорости 100 км/ч за секунду машина проезжает примерно 28м, что значительно больше
погрешности определения координат, т.е. хотя бы 2-3 измерения можно использовать для улучшения точности.
Недостаток же в том, что измерения проводятся редко, примерно 1 раз в секунду
Точнее это не недостаток GPS, а Android, GPS может выдавать данные хоть 100 раз в секунду.
Можно подключить внешний gps bluetooth от Garmin например к телефону и получать данные
10 раз в секунду. Плюс в большинстве современных GPS приемников встроенных в смартфоны
включены разного рода фильтры на этапе после вычисления координат, что может плохо сказаться
на алгоритмах обработки GPS данных, а во внешнем bluetooth gps (в Garmin точно) можно командой
отключить фильтрацию.
Но если по сути, то не закрепляет ли этот проект закона уже сложившуюся практику?
Google, facebook и прочие, чьи сервисы можно использовать в том числе и для обмена сообщениями
требуют для регистрации номер телефона, т.е. уже могут идентифицировать пользователя.
Я что-то пропустил и есть широко используемые сервисы не требующие номер телефона (конечно же для вашей безопасности)?
Сразу возникает вопрос, а внедрили разработчики этой систему её у себя?
Чтобы система предупреждала HR и начальство о том когда уже они сами могут
подумать поменять место работы?
Если уж сравнивать sqlite и nosql, то логично (по-моему) в случае с sqlite
использовать sqlite json extension,
или в C# обертку для sqlite json еще "не завезли"?
По поводу времени "write" для sqlite, хотелось бы увидеть какой journal mode sqlite
использовался, какой его аналог в LiteDB, сколько транзакций во время записи было
в случае sqlite и LiteDB
так, для понимания, к примеру у меня стек tcp/ip весит менее 16кБ в чистом виде и 24кБ с DHCP/NTP client-server/SNMP/ICMP client-server. простой web сервер — ну еще 8кБ. чистый си для AVR-а.
Без уточнения что выбросили и чем пожертвовали, это бесполезно "для понимания".
Например, насколько я знаю, uIP (одна из известных микро реализаций TCP/IP) не умеет
сборку фрагментированных пакетов.
Недавно был опыт — нужно было написать веб-интерфейс для микроконтроллера (ESP8266). JQuery туда не >зальёшь т.к. нет места, а доступа в интернет может и не быть. Пришлось писать на чистом JS. В результате >получилась мини-библиотека весом несколько килобайт с основным функционалом JQuery (как выбор элемента по >ID, навешивание классов и изменение свойств и т.д.)
Насктолько не было место, что 82 килобайта не влезло (82K Jun 13 2016 static/jquery-2.0.3.min.js)?
А как туда TCP/IP влез, или он и занял все свободное метсто?
скорость работы A* примерно одинакова, для указанного пути это 4.5 сек (рядовой десктоп) с чтением и
распаковкой данных, 0.5 сек — только проход волны на разогретом кэше;
А название статьи "… на смартфоне", было бы интересно узнать сколько считается на смартфоне.
Вот нет. Это из той же оперы. Analysis server <-> IDE client
Или писать на Java(или другой какой либо язык не важно) — при этом иметь какую ту общую базу, и
использовать для других языков — что бы упростить реализация самого языка.
Честно говоря не вижу связи, вы можете inteliji разделить на две части, GUI и анализ,
и разнести их по разным процессам которые общаются с помощью language protocol,
и в той части где анализ реализовать сразу в одном сервере все языки. Концепции
language protocol это никак не противоречит, и ваш use case будет реализован,
и на одном языке обе части написать. И как бонус, часть занимающаяся анализом,
может быть не на вашей машине, если сеть достаточно быстрая.
Имхо это очень плохая идея. Пример плохих идей — это Roslyn в Unity. Там есть Boo + UnityScript о которых
Roslyn ничего не знает.
Следующий пример это IKVM.NET. Где Java + .NET. В идеально мире — это хорошое решение. Но мы же живем не в нем.
А можете расшифровать? Не знаком с приведенными вами примерами, но если программный
код на разных языках лежит в разных файлах, то в существующем подходе нужно просто
запустить просто два сервера одни для условно Java, другой для C#.
Когда языки смешиваются в рамках одного файла не вижу проблем добавить (если еще такого нет),
сообщения от сервера к IDE: этот кусок на языке X, позаботься о нем сам.
А проблема форка и поддержки большого проекта типа Rolsyn это по-моему
строго перпендикулярная проблема по отношению к language-server-protocol.
Например, если вы решите в IDE добавить поддержку C++ при чем с расширениями
язык от Borland, а разработчики libclang/clang не захотят добавлять эти расширения,
то вам придется форкнуть и поддеживать код libclang/clang в не зависимости от
того, встроите вы его в свою IDE или будете запускать его как сторонний сервис,
с обменов данными по каналам/разделяемой памяти.
Как эти несколько миллионов рандомных вариантов протестируют эту функцию?
Даже 100 миллионов вариантов не покроет и 1%.
100 миллиардов в данном случае помогут, т.к. 2^32=4_294_967_296,
т.е. у нас неминуемого будет 0 во втором аргументе, т.е. тест будет падать при каждом
прогоне.
Это желание переложить создание тесткейсов на рандомный объект на практике будет означать что код будет протестирован всеголишь чуточку лучше чем smoke test, то есть практически никак.
Соглашусь с неявно витающей мыслью — это не серебренная пуля,
и неким магическим образом она не даст 100% покрытие.
Не соглашусь, что она только чуть-чуть улучшит smoke test.
Давайте изменим методику подсчета :)
Пользуясь эмпирическим опытом выскажу гипотезу, что в обычном проекте (т.е. от которого
не зависит жизнь или огромные суммы денег), данная функция будет максимум
протестирована для 1000 вариантов (хотя скорее максимум для 3 :) ),
т.е. 100_000_000, увеличит вероятность нахождения
ошибки в 100_000 раз. Да, общая вероятность увеличится незначительно,
но ведь это инструмент, никто не мешает применять его с умом:
int test_Foo_special(uint8_t a, uint8_t b)
{
static const int SPECIAL_VALUES[] = {
INT_MAX,
INT_MIN,
0,
INT_MAX / 2,
INT_MIN / 2,
};
return Foo(SPECIAL_VALUES[a], SPECIAL_VALUES[b]);
}
скорее всего уже эта test_Foo_special на практике позволит найти 90% ошибок,
хотя казалось бы общее количество тестируемых вариантов увеличилось незначительно.
Т.е. резюмируя по сравнению с тем, что ленивый программист пишет, позволяет увеличить
тестовое покрытие в миллионы раз, и но конечно в абсолютном значении процент
вариантов входных данных для которых проведено тестирование, вырастет незначительно,
поэтому надо применять с умом и других инструментов/специально обученных людей подобные
библиотеки не заменят.
Тестирование на рандомных объектах немного антипаттерн, тесты будут то фейлится то нет.
Здесь играет роль размер выборки, ведь можно сгенерировать несколько миллионов случайных
вариантов. Плюс главное чтобы хоть раз зафейлился, потом берется данные на которых
зафейлился и после починки добавляются в тест напрямую в качестве дополнения к генерируемых случайным
образом. Плюс конечно очевидные крайние случаи стоит тестировать напрямую, типа пустое значение, максимальное значение и т.д.
Если у Вас за 4 года накопилось 117402 команды, то миллиона хватит лет на 40. Можно, конечно, всё-равно >продолжать беспокоиться что миллиона может не хватить, но это уже проблема психологическая, а не >техническая.
Зачем нужны эти подсчеты, тем более что они верны только для одной машины, это домашний ноутбук, сколько на других машинах к которым я имею доступ смотреть нет желания.
Подсчитывать прикидывать, зачем мне это нужно, я хочу сказать shell'у используй сколько нужно и больше не беспокой меня с этим вопросом.
Автоматический перекодировщик чего конкретно?
у меня там еще и цвета, которые закодированы escape последовательностями,
и по вашим словам:
разве что escape-последовательности будут другие
из них я сделал вывод, что и для цветов в prompt zsh требует какие-то свои escape последовательности.
а Вам реально важно, чтобы она была именно бесконечная?
Да, да и еще раз да. Нафига мне задумываться о том сколько строчек оставить,
а если для меня будет важна именно 1_000_000 + 1?
Иногда очень нужно посмотреть: "а какой хитрой командой
я делал вещь X пять лет назад?" Можно конечно сохранять хитрые команды в файлы,
или иметь файл snipets, но смысл если bash умеет все это сам сохранять.
Учитывая что история считывается в память, что занимает время и место, значение HISTSIZE более 1 миллиона вряд ли имеет смысл (это даёт размер файла с историей порядка 50MB, и будет хранить историю примерно за 1 год).
bash не считывает всю историю в память, а только несколько последних X строк (проверенно экспериментально),
плюс более ignore dups делает свое дело:
Что касается PS1 — можно точно так же и поставить, разве что escape-последовательности будут другие
Т.е. тоже нельзя? Или есть автоматический перекодировщик escape-последовательностей?
Просто чтобы начать я хотел получить какой-то базис: все введенные мной команды никогда не пропадут, плюс привычная расцветка приглашения командной строки.
Не совсем точно,
во-первых, да инструментальная погрешность определения положения во всемирной системе координат GPS/GLONASS не сантиметровая, и отсюда всякие диф. методы, но это погрешность определения
координат, скорости считаются с неплохой точностью, навскидку 0.3 м/с, вам ведь нужны скорости?
во-вторых при скорости 100 км/ч за секунду машина проезжает примерно 28м, что значительно больше
погрешности определения координат, т.е. хотя бы 2-3 измерения можно использовать для улучшения точности.
Точнее это не недостаток GPS, а Android, GPS может выдавать данные хоть 100 раз в секунду.
Можно подключить внешний gps bluetooth от Garmin например к телефону и получать данные
10 раз в секунду. Плюс в большинстве современных GPS приемников встроенных в смартфоны
включены разного рода фильтры на этапе после вычисления координат, что может плохо сказаться
на алгоритмах обработки GPS данных, а во внешнем bluetooth gps (в Garmin точно) можно командой
отключить фильтрацию.
Google, facebook и прочие, чьи сервисы можно использовать в том числе и для обмена сообщениями
требуют для регистрации номер телефона, т.е. уже могут идентифицировать пользователя.
Я что-то пропустил и есть широко используемые сервисы не требующие номер телефона (конечно же для вашей безопасности)?
Сразу возникает вопрос, а внедрили разработчики этой систему её у себя?
Чтобы система предупреждала HR и начальство о том когда уже они сами могут
подумать поменять место работы?
Но почему-то по мере взросления Python обзавелся type hiting,
появился TypeScript и т.п.
Странное сравнение:
Если уж сравнивать sqlite и nosql, то логично (по-моему) в случае с sqlite
использовать sqlite json extension,
или в C# обертку для sqlite json еще "не завезли"?
использовался, какой его аналог в LiteDB, сколько транзакций во время записи было
в случае sqlite и LiteDB
А почему не octave, у него вроде язык совместим с matlab,
т.е. методички и переписывать бы не пришлось?
Без уточнения что выбросили и чем пожертвовали, это бесполезно "для понимания".
Например, насколько я знаю, uIP (одна из известных микро реализаций TCP/IP) не умеет
сборку фрагментированных пакетов.
Насктолько не было место, что 82 килобайта не влезло (
82K Jun 13 2016 static/jquery-2.0.3.min.js)?А как туда TCP/IP влез, или он и занял все свободное метсто?
А название статьи "… на смартфоне", было бы интересно узнать сколько считается на смартфоне.
Вы комментарий на который отвечаете читаете? Для bash у меня все настроено, и даже настройки
приведены в теле комментария.
Честно говоря не вижу связи, вы можете inteliji разделить на две части, GUI и анализ,
и разнести их по разным процессам которые общаются с помощью language protocol,
и в той части где анализ реализовать сразу в одном сервере все языки. Концепции
language protocol это никак не противоречит, и ваш use case будет реализован,
и на одном языке обе части написать. И как бонус, часть занимающаяся анализом,
может быть не на вашей машине, если сеть достаточно быстрая.
А можете расшифровать? Не знаком с приведенными вами примерами, но если программный
код на разных языках лежит в разных файлах, то в существующем подходе нужно просто
запустить просто два сервера одни для условно
Java, другой дляC#.Когда языки смешиваются в рамках одного файла не вижу проблем добавить (если еще такого нет),
сообщения от сервера к IDE: этот кусок на языке X, позаботься о нем сам.
А проблема форка и поддержки большого проекта типа
Rolsynэто по-моемустрого перпендикулярная проблема по отношению к language-server-protocol.
Например, если вы решите в IDE добавить поддержку
C++при чем с расширениямиязык от Borland, а разработчики
libclang/clangне захотят добавлять эти расширения,то вам придется форкнуть и поддеживать код
libclang/clangв не зависимости оттого, встроите вы его в свою IDE или будете запускать его как сторонний сервис,
с обменов данными по каналам/разделяемой памяти.
100 миллиардов в данном случае помогут, т.к.
2^32=4_294_967_296,т.е. у нас неминуемого будет
0во втором аргументе, т.е. тест будет падать при каждомпрогоне.
Соглашусь с неявно витающей мыслью — это не серебренная пуля,
и неким магическим образом она не даст 100% покрытие.
Не соглашусь, что она только чуть-чуть улучшит smoke test.
Давайте изменим методику подсчета :)
Пользуясь эмпирическим опытом выскажу гипотезу, что в обычном проекте (т.е. от которого
не зависит жизнь или огромные суммы денег), данная функция будет максимум
протестирована для 1000 вариантов (хотя скорее максимум для 3 :) ),
т.е.
100_000_000, увеличит вероятность нахожденияошибки в 100_000 раз. Да, общая вероятность увеличится незначительно,
но ведь это инструмент, никто не мешает применять его с умом:
скорее всего уже эта
test_Foo_specialна практике позволит найти 90% ошибок,хотя казалось бы общее количество тестируемых вариантов увеличилось незначительно.
Т.е. резюмируя по сравнению с тем, что ленивый программист пишет, позволяет увеличить
тестовое покрытие в миллионы раз, и но конечно в абсолютном значении процент
вариантов входных данных для которых проведено тестирование, вырастет незначительно,
поэтому надо применять с умом и других инструментов/специально обученных людей подобные
библиотеки не заменят.
Разве по крайней мере
isspaceне зависит от локали,т.е. поведение твоего код может непредсказуемо меняться
в зависимости от глобальной переменной?
Здесь играет роль размер выборки, ведь можно сгенерировать несколько миллионов случайных
вариантов. Плюс главное чтобы хоть раз зафейлился, потом берется данные на которых
зафейлился и после починки добавляются в тест напрямую в качестве дополнения к генерируемых случайным
образом. Плюс конечно очевидные крайние случаи стоит тестировать напрямую, типа пустое значение, максимальное значение и т.д.
Думаю идея microsoft под названием language-server-protocol,
позволит в будущем разрабатывать IDE небольшим командам.
Зачем нужны эти подсчеты, тем более что они верны только для одной машины, это домашний ноутбук, сколько на других машинах к которым я имею доступ смотреть нет желания.
Подсчитывать прикидывать, зачем мне это нужно, я хочу сказать shell'у используй сколько нужно и больше не беспокой меня с этим вопросом.
у меня там еще и цвета, которые закодированы escape последовательностями,
и по вашим словам:
из них я сделал вывод, что и для цветов в prompt
zshтребует какие-то свои escape последовательности.Но ведь есть одно строчные скрипты, типа
т.е. какое-то знание о
while/for/if/нужно, иначе как скажем применить несколько команд к определенным (не всем) файлам в директории.Да, да и еще раз да. Нафига мне задумываться о том сколько строчек оставить,
а если для меня будет важна именно 1_000_000 + 1?
Иногда очень нужно посмотреть: "а какой хитрой командой
я делал вещь X пять лет назад?" Можно конечно сохранять хитрые команды в файлы,
или иметь файл snipets, но смысл если bash умеет все это сам сохранять.
bash не считывает всю историю в память, а только несколько последних X строк (проверенно экспериментально),
плюс более ignore dups делает свое дело:
Этому ноутбуку года 4.
Т.е. тоже нельзя? Или есть автоматический перекодировщик escape-последовательностей?
Просто чтобы начать я хотел получить какой-то базис: все введенные мной команды никогда не пропадут, плюс привычная расцветка приглашения командной строки.