Насколько я понимаю, автокомплитят то, что могут гарантировать, то есть тут оно предложит q. (по крайней мере в MSVS 2012 это так).
Смешнее когда у нас есть специализация шаблона, которая дает принципиально другую структуру:
struct a {int b;};
struct b {double c;};
template <typename T> struct s : T { int q; };
template <> struct s <int> {int i;};
template <typename T>
void f(const s<T>& x) {
x. // auto-complete here?
}
Тут студия предлагает опять q (хотя это уже не верно — верно было бы ничего не предлагать). Однако если сделать специализацию функции f для int, то там уже опять всё будет хорошо — будет предлагать i.
PS. Да, а ошибки которые возникают при инстанцировании студийный Intelli Sense не показывает, они становятся видны только после полноценной компиляции.
Один вопрос — cppide понимает семантику шаблонов С++? Вот простой тест который я провожу на всех IDE для C++.
struct a {int b;};
struct b {double c;};
template <typename T> struct s : T {};
int main()
{
s<a> v;
v. // будет ли тут корректный автокомплит?
return 0;
}
Это конечно простейший случай. Но и он весьма показателен.
XCode, MSVS 2012 этот тест проходят. А вот Qt Creator и AppCode — нет. Они не понимают семантику шаблонов С++.
У нас на 16 метрах ОЗУ бегал линукс на дивайсе (с графическим дисплеем, да) который стоял (да и сейчас стоит) в цеху газоперекачивающей станции и управлял одновременно восемью агрегатами. И ничего, справлялся. А тут целых 64 метра!
Про jvm — это был пример. А еще один был пример про нативные приложения. Какая разница что запускать — jvm (которого искаропки нет) или свой бинарь?
Камень нормальный. Для продвинутого компьютерного зрения дивайс конечно слабоват, но это и не тот класс устройств. Начинка EV3 очень похожа на ту же виртурилку (http://virt2real.ru/ habrahabr.ru/company/virt2real/blog/156491/) и используется в общем то по тому же сценарию. Но карту построить на EV3 вполне можно.
Датчиков (в том числе сторонних) довольно много. Да и вообще, можно же в принципе любой по i2c или rs-232 прицепить. Это ж линукс.
Если нужно еще мозгов — можно покупать не полные комплекты по 15 тыр (цена в россии действительно не адекватная, впрочем так у нас со многими товарами), а именно что сам мозг отдельно покупать.
В общем, мне видится EV3 как хорошая стартовая точка для работы над тем же SLAM например. Не даром же университеты для исследований их закупают :-)
Если же есть четкая задача что-то сделать, то тут уже надо смотреть на конкретные требования и реальные возможности EV3, вполне вероятно что оно не подойдет (по мощности, точности, габаритам, автономности, влагозащищенности и так далее).
Lego это таки indoor only.
PS. Но да, если голову не прикладывать, а использовать только то что идет сразу искаропки с EV3, то это чистая игрушка для детей — на официальном инструментарии далеко не уедешь.
Что-то странное вы пишите. Современный Lego Mindstorms это как раз таки EV3. NXT по моему и не производят больше.
А в EV3 у нас линукс. И bricxcc уже имеет эксперементальную его поддержку. То есть на С/С++ можно писать и заливать нативные программы в EV3 (то есть не в виртуальную машину, в которой леговские «графические» приложения запускаются, все моторы/сенсоры в EV3, как и положено в линуксе, представлены в виде файлов в fs). Да и не только на плюсах.
Оперативки там 64 метра, это ARM 300 MHz, флеша там 16 Мб, но туда можно воткнуть SD-карту на 64 Гб — 64 Гб хватит для ваших нужд? :-)
Погодите, а Kinect-2, это ведь ToF, то есть разновидность лидара как раз. Хотя, если судить по интеловско-креативовской камере, creative senz3d, которая тоже ToF, то выходит у некоторых лидаров проблемы с засветкой таки есть.
По крайней мере у этой камеры проблема с засветкой от солнца точно есть. Равно как есть проблема и с бликами от глянцевых/зеркальных поверхностей.
Нам ble очень пригодился бы. Как раз для похожего, но другого проекта (не электроэнцефалограф). То есть нужен дивайс который умеет одновременно и ble и wifi.
И да, я написал «теоретически» потому, что это решение совершенно не учитывает эргономику, и ориентировано только на правильную оценку и ранжирование комментов.
Угу. Теоретически, если уж мы ранжируем комменты по тому, что там выставляют пользователи, нужно иметь два режима взаимодействия с комментами:
1) Режим чтения и голосования — оценки скрыты. Порядок хронологический + перед самым первым постом показывается другой пост первого уровня. Каждый раз разный. Выбирается случайно. При этом порожденная им ветка обсуждений по умолчанию скыта (кликнуть чтобы развернуть).
2) Режим поиска и чтения — посты и ветки сортируются в зависимости от оценок. Оценки показаны, голосовать нельзя. (хотя, возможно, и в этом случае оценки можно скрыть — их учитывает автоматика при сортировке, человеку они не нужны).
Самое забавное, что далеко не всегда эти плюсы и минусы коррелируют с ценностью содержимого оных коментариев. Минусуют (да и плюсуют) частенько чисто эмоционально, а также просто толпой (предыдущие оценки влияет на последующие).
Причем даже модуль от оценки не всегда показывает насколько полезна/бесполезна информация в нем — тот коментарий что появился раньше с бОльшей вероятностью наберет много плюсов или минусов нежели тот, который появился позже (даже если более поздний коммент является более ценным или более провокационным).
Ну, во-первых зависит от того упругий будет удар или не упругий.
Во-вторых на таких скоростях столкновения материалы ведут себя сильно иначе нежели мы привыкли. Представь себе выстрел из пушки, или из автомата в эту сеть. Пробьет дырку, ведь правда? С образованием осколков выбитой части сети. А ведь это скорость всего лишь порядка 1 км/c.
(3) — ну да, это подтверждает тот факт, что MS-push облако (которое на Azure) пока более слоупочное и кривое нежели аналогичный сервис у Apple. Ну то есть дело не в Azure как таковом, а в том что на нем запущено.
Но тут конечно есть еще один вариант — WinPhone, возможно, более лениво восстанавливает после разрыва это самое системное tcp-соединение, по которому в частности эти push и прилетают. От этого может быть два симптома:
1) устройство дольше живет от батарейки
2) push-нотификации задерживаются, и вообще не регулярно прилетают.
Да, и это как раз проверябельно — нужно просто поснифить трафик между WP устройством и «интернетом». Посмотреть что там с tcp творится.
(1) VoIP приложение в фоне может работать только до тех пор, пока его tcp-соединение не отвалится (далее остается лишь возможность раз в 10 минут просыпаться и пытаться установить соединение). Грубо говоря. Как разработчик оных VoIP приложений говорю :-) Поэтому, скажем после загрузки iPhone никакого Skype'а в фоне нет. И в этом случае уведомления идут через Push.
Соответственно когда я говорил про push, я говорил именно про push, а не про вариант когда skype загрузился, создал tcp-соединение, передал его оси а сам ушел в suspend (ибо в этом случае как только по этому tcp-соединению прилетит хоть один байт, ось разбудит Skype и он обработает прилетевшие данные). И да, поэтому push в iOS версии скайпа используется реже.
(2) — для того чтобы в фоне что-то принимать нужно вначале запуститься. часто скайп даже не запущен.
(3) — это явный признак того, что яблочное облако для push-сервиса лучше отлажено и работает шустрее чем аналогичное гугловое облако. На серверной стороне того же фейсбука думаю информация во все облака уходит одновременно.
Смешнее когда у нас есть специализация шаблона, которая дает принципиально другую структуру:
Тут студия предлагает опять q (хотя это уже не верно — верно было бы ничего не предлагать). Однако если сделать специализацию функции f для int, то там уже опять всё будет хорошо — будет предлагать i.
PS. Да, а ошибки которые возникают при инстанцировании студийный Intelli Sense не показывает, они становятся видны только после полноценной компиляции.
PPS. Завтра это все ещё на XCode проверю.
Один вопрос — cppide понимает семантику шаблонов С++? Вот простой тест который я провожу на всех IDE для C++.
Это конечно простейший случай. Но и он весьма показателен.
XCode, MSVS 2012 этот тест проходят. А вот Qt Creator и AppCode — нет. Они не понимают семантику шаблонов С++.
У нас на 16 метрах ОЗУ бегал линукс на дивайсе (с графическим дисплеем, да) который стоял (да и сейчас стоит) в цеху газоперекачивающей станции и управлял одновременно восемью агрегатами. И ничего, справлялся. А тут целых 64 метра!
Про jvm — это был пример. А еще один был пример про нативные приложения. Какая разница что запускать — jvm (которого искаропки нет) или свой бинарь?
Камень нормальный. Для продвинутого компьютерного зрения дивайс конечно слабоват, но это и не тот класс устройств. Начинка EV3 очень похожа на ту же виртурилку (http://virt2real.ru/ habrahabr.ru/company/virt2real/blog/156491/) и используется в общем то по тому же сценарию. Но карту построить на EV3 вполне можно.
Датчиков (в том числе сторонних) довольно много. Да и вообще, можно же в принципе любой по i2c или rs-232 прицепить. Это ж линукс.
Если нужно еще мозгов — можно покупать не полные комплекты по 15 тыр (цена в россии действительно не адекватная, впрочем так у нас со многими товарами), а именно что сам мозг отдельно покупать.
В общем, мне видится EV3 как хорошая стартовая точка для работы над тем же SLAM например. Не даром же университеты для исследований их закупают :-)
Если же есть четкая задача что-то сделать, то тут уже надо смотреть на конкретные требования и реальные возможности EV3, вполне вероятно что оно не подойдет (по мощности, точности, габаритам, автономности, влагозащищенности и так далее).
Lego это таки indoor only.
PS. Но да, если голову не прикладывать, а использовать только то что идет сразу искаропки с EV3, то это чистая игрушка для детей — на официальном инструментарии далеко не уедешь.
А в EV3 у нас линукс. И bricxcc уже имеет эксперементальную его поддержку. То есть на С/С++ можно писать и заливать нативные программы в EV3 (то есть не в виртуальную машину, в которой леговские «графические» приложения запускаются, все моторы/сенсоры в EV3, как и положено в линуксе, представлены в виде файлов в fs). Да и не только на плюсах.
Оперативки там 64 метра, это ARM 300 MHz, флеша там 16 Мб, но туда можно воткнуть SD-карту на 64 Гб — 64 Гб хватит для ваших нужд? :-)
Кроме того там есть usb host.
В принципе на базе этого линукса народ уже делает свои сборки, заточенные под что-то конкретное. Например под запуск jvm от оракла, дабы на жабе программировать все это хозяйство. Пруф: www.oracle.com/technetwork/java/embedded/downloads/javase/javaseemeddedev3-1982511.html
В общем, это обычный нормальный embedded linux, на не самом слабом камне. Хотя конечно в смартфонах сейчас мощнее.
Короче, матчасть несколько разнообразней и интересней, чем кажется на первый взгляд :-)
PS. Помню как пользовался Оперой под BeOS в 2000 году. Была официальная версия.
По крайней мере у этой камеры проблема с засветкой от солнца точно есть. Равно как есть проблема и с бликами от глянцевых/зеркальных поверхностей.
Естественно для хабра так делать не следует.
1) Режим чтения и голосования — оценки скрыты. Порядок хронологический + перед самым первым постом показывается другой пост первого уровня. Каждый раз разный. Выбирается случайно. При этом порожденная им ветка обсуждений по умолчанию скыта (кликнуть чтобы развернуть).
2) Режим поиска и чтения — посты и ветки сортируются в зависимости от оценок. Оценки показаны, голосовать нельзя. (хотя, возможно, и в этом случае оценки можно скрыть — их учитывает автоматика при сортировке, человеку они не нужны).
Причем даже модуль от оценки не всегда показывает насколько полезна/бесполезна информация в нем — тот коментарий что появился раньше с бОльшей вероятностью наберет много плюсов или минусов нежели тот, который появился позже (даже если более поздний коммент является более ценным или более провокационным).
Во-вторых на таких скоростях столкновения материалы ведут себя сильно иначе нежели мы привыкли. Представь себе выстрел из пушки, или из автомата в эту сеть. Пробьет дырку, ведь правда? С образованием осколков выбитой части сети. А ведь это скорость всего лишь порядка 1 км/c.
16 км/с, однако.
Но тут конечно есть еще один вариант — WinPhone, возможно, более лениво восстанавливает после разрыва это самое системное tcp-соединение, по которому в частности эти push и прилетают. От этого может быть два симптома:
1) устройство дольше живет от батарейки
2) push-нотификации задерживаются, и вообще не регулярно прилетают.
Да, и это как раз проверябельно — нужно просто поснифить трафик между WP устройством и «интернетом». Посмотреть что там с tcp творится.
Соответственно когда я говорил про push, я говорил именно про push, а не про вариант когда skype загрузился, создал tcp-соединение, передал его оси а сам ушел в suspend (ибо в этом случае как только по этому tcp-соединению прилетит хоть один байт, ось разбудит Skype и он обработает прилетевшие данные). И да, поэтому push в iOS версии скайпа используется реже.
(2) — для того чтобы в фоне что-то принимать нужно вначале запуститься. часто скайп даже не запущен.
(3) — это явный признак того, что яблочное облако для push-сервиса лучше отлажено и работает шустрее чем аналогичное гугловое облако. На серверной стороне того же фейсбука думаю информация во все облака уходит одновременно.