А что будет, если autoclose exception перезатрёт exception из блока catch? Вот ведь основная проблема с try/finally/close. Сколько времени было убито лично мной изза этой проблемы…
У нас до сих пор на даче лежит подписка журнала Наука и Жизнь лет так за 30. Вот ближе к концу там была в каждом журнале рубрика посвящзенная програмированию. В частности, они там сильно фокусировались на програмировании этих советских микрокалькуляторов. В детстве такой калькулятор мне не светил, так что сидел я с бумажкой и придумывал и отлаживал и запускал программы эти без собственно девайса, благо с памятью у калькуляторов были большие проблемы и они были небольшие, да и с быстродействием там было совсем печально. А уже году к 94му я перешел сразу на псион, хоть и бейсик, но он давал намного большую свободу. Помнится в него уже игрались прямо на уроках всем классом, в самописные игры. Был он небыстрый, тогда как раз придумал линейный алгоритм для вывода окружностей, как потом оказалось классический. Ускорение графики было в разы. ) А сейчас вот лежит у меня коммуникатор Андроид, а писать под него абсолютно не тянет.
Вот не согласен с решением про умное кэширование. То есть оно само по себе отличная штука, но хочется иметь какойто способ управлять процессов вручную. Ибо гадать, будут ли работать оффлайн карты в питере, когда приехал из москвы или нет мне не хочется. Мне нужны гарантии. Кроме того, если я поеду в Омск первый и последний раз в жизни, мне как никогда потребуются карты, причем оффлайн. Ибо интернета там скорее всего не будет, какие симки покупать я не успею разобратся… а вот умный кэш как догадается, что мне кровь из носа нужна карта омска в кэше?
А вот если я живу в Москве, то у меня и инет как правило нормальный и знаю и без коммуникатора большинство вещей, то есть тут как раз оффлайн кэш не то чтобы критичен.
Из новых проблем Дезаера ХД
1. Коннектилка к облаку HTC периодически сходит с ума и дает 100% нагрузку на проц от процесса init, убивается переходом в дебаг режим (чего оно боицо и отрубается) или ребутом. Уж не знаю, что оно там делает, но батарейка улетает ппц и работает в эти моменты плохо. Случается редко, но бывает, что метко.
2. Снизилась заметно интерактивность, кнопка Home теперь не всегда работает. Часто какойнить ютуб в режиме ХД подвисает и неубивается также просто, как раньше.
3. Очень дурная камера, а точнее жуткий автофокус. Иногда работает прилично, но зачастую дурит ужасно.
С другой стороны ушли проблема Дезаера, когда он интернет терял, при слабом сигнале, когда он формально вроде есть. И вообще в целом постабильнее, хотя новые глюки тоже не очень в тему.
Автор забыл упомянуть 4 гига внутренней памяти, что позволяет не парится с установкой програм на СД карту, очень удобно. Отсутсвие джойстика имхо плюс, в оригинальном дезаере единственное ему применение было фотографирование. Разве что минус, что теперь 4 стрелки вынесены на клавиуатуру не очень удачно, часто по ним мисс клики.
Да, аппарат радует намного больше дезаера, фиг знает почему. Вроде юзер истории теже, всеже экран это хорошо, наверное.
На андроиде яндекс карты стремительно отстают от гугл карт, к сожалению. Еще летом был некий паритет по фичам и за счет лучших карт и конечно пробок яндек лидировал. Сейчас разрыв по фичам уже драматически растет. Пока первое впечатление, то голосовой поиск яндекса неюзабелен. Насколько гугль войс хорош, настолько там контраст с реализацией яндекса, а для меня это ключевая фича. Ну и в целом сама програмка намного продуманнее сделана у гугля, мультитач там, жесты, вектор, продуманнее и умнее офлайновый кэш, продуманнее интерфейс, например можно share точку на карте…
У яндекса безусловные плюсы это карты, пробки и намного стабильнее определяется положение на карте (без ГПС).
С бесплатный трафиком все еще интереснее. У меня (как и у большинства моих знакомых с андроидом и айфоном в москве и спб) трафик и так безлимитный. И выливается особая тарификация яндекса в то, что там где гугл карты работают относительно неплохо, яндекс отказывается грузится вовсе. Причем переключаешься в гугл карты, там все даже не особо то и тормозит, все грузится довольно шустро. Я подозреваю, что дело как раз в специальном биллинге и какойто своей хитрой тарификации. Интересно, кстати, работает ли бесплатный трафик в внутресетевом роуминге, вот это единтсвенный плюс, который я вижу от этой фичи. Но, с роамингом шутки плохи, так что сам не экспериментирую.
В общем, если еще недавно был период, когда почти всегда выбирались яндекс карты, то теперь 80% это уже гугль и только 20% это почти все ради яндекс пробок, все еще киллер фичи яндекса. По моим опросам, у автолюбителей все еще яндекс доминирует, но и они отмечают отставание яндекс карт в техническом плане.
На самом действительно режут фразы:
" массив длиной до 1000 элементов (далее рассматривается и общий случай с большим значением, но у меня было так). Сортировать такой массив с O(NlogN) временем, имея 15000 потоков показалось как-то расточительно."
Как вообще определение O(f(x)) соотносится с ограничением x<1000?
Но это скорее к чистоте формулировок и глубине понимания как асимптотика работает. По сути вы вполне правы.
Цитата про хакера жутко резанула. Не только изза искаженной конотации слова хакер. И хотя остальное нормально, буквально эта пара фраз все подпортила. Отсутствие ката еще, возможно.
Как я понимаю, этот поиск ничто иное как набор неких паттернов, которые последовательно применяются к голосу. При этом они дают некую оценку насколько хорошо паттерн подошел. Потом несколько таких паттернов собираются в одну фразу и получается некая релевантность фразы. Действительно чем популярнее фраза, тем выше у нее релевантность. Чем лучше подошли паттерны, тем также выше релевантность.
На самом деле гугл сделал гениальную фишку, я ей пользуюсь постоянно. Работает очень хорошо. В ролике просто пользовались ей неправильно. У меня на HTC Desire HD распознала со первого раза. Причем отлично работает и с БТ гарнитурой. Хитрость в том, что говорить надо не как в КПК, а как в телефон, то есть включаем голосовой поиск (удержанием кнопки поиска это сделать удобнее), после этого подносим телефон к уху, как при разговоре (или гарнитуру ставим туда, где она используется при реальном разговоре и проверено хорошо работает) и начинаем говорить. Как я понимаю, телефон заточен под такой паттерн использования и даже использует датчик ускорения, чтобы понять, что ты поднес телефон к уху. После того как все сказал, возвращаем телефон назад в поле зрения.
Единственное видел, что оно еще и понимает голосовые команды вроде play или call Вот эти штуки не работают ни на русском, ни на английском языке. Так же не работают голосовый команды с гарнитуры, он их просто игнорирует. Видимо не поддерживает эту фишку.
Собственно этот голосовой ввод это реально киллер фича, скажем менее удобный гугл мапс (относительно яндекса) я использую только изза нее. Попадание очень высокое.
Если бы еще допилили, чтобы с гарнитуры можно было позвонить таким образом или проиграть композицию. Или даже сделать запрос, чтобы тебе зачитали результат поиска… Или чтобы ты сказал, отведи меня домой и тебе голосом бы объяснили куда идти… В общем фишка клевая, но простора для роста хватает.
Да и этот сценарий у нас активно используется, но теже проблемы что и любым внешним билдом — тормозит. У нас мавен используется для запуска проектов где использует Скала. И вот это просто мучение, когда импортишь проект идеи из пом файла, то запуск 4х приложений в 9.0.4 занимает минут 5. Сами приложения нелегкие, а она последовательно синхронно начинает перед каждый запуском делать некий мейк скала классов. Когда запускается первое приложение оно начинает делать этот мейк еще раз, но так как приложение само по себе тяжелое, на машине с 8 ядрами по 3Ггц и прочим аналогичным оно начинает тормозить вообще яростно. К 4му приложению мейк вообще занимает очень много времени. Стоит же проект сделать вручную, а не через пом, и билод используется видимо родной идейный, это все занимает несколько секунд. Ибо нет избыточных мейков скала классов и видимо еще какой мавен деятельности. Причем я (не особо рыл конечно) так и не нашел, в чем такое суровое отличие как по перфомансу. И не нашел как в явном виде это поведение идеи переключать, только пересоздать проект. Конечно случай наверняка упирается либо в кривость скала плагина конкретного, либо в мои кривые руки, либо в нежелание докопаться до решения, но все равно внешний ант или мавен билд это слишком тяжелое решение увы. А при разработке очень важно, чтобы ничего не отвлекало от конкретно разработки. Такие лаги очень тормозят.
1. А как добавить остальные файлы в новый workspace.xml /*.iws? То есть вот я создал новый воркспейс для бранча, но туда же надо залить все модули и прочее прочее, да они у меня есть как файлы, но ссылки на них не прописаны.
2. Внешний ант не хочется категорически, но я мысль понял. Скорость запуска приложений возрастает на порядок, скорость разработки соответсвенно падает. Я делаю у нас на проекте все, чтобы не допустить построение и запуск из идеи через ант. Может я чегото не умею, но удобство несравнимо.
3. Да, я так и делаю. Но проблема в том, что все равно генерируемые идеей ант скрипты необходимо перегенерировать на каждое изменения в структуре модулейй. Это неудобно и часто забывается. Тем более и сам процесс не то, чтобы тривиален. Там довольно приличное количество настроек у этого ант скрипт билдера, можно не туда кликнуть и огрести. Вот бы эту штуку сделать автомат на коммит скажем или даже на мейк (асинхронно только).
5. Я бы вам предложил сделать таки функциональность этих базовых модулей. Врядли это сложно сделать, а то слишком много модулей, которые держишь только ради зависимостей, артефактов или контент рутов. Де факто у меня в проекте на 50 проектов, реальных модулей 2-3 и это нехорошо.
Посмотрел несколько роликов, очень впечатлила скорость нового автокомплита. Но увы это не совсем то, что я искал. Это базовые вещи, как правило просто описание какой либо функциональности, что по отдельности как правило понятно и так. В книжке как раз описывались именно такие штуки, но интереснее вещи совершенно иного уровня. Так сказать общая идеология разработки под идеей, как организовывать проект, инфраструктуру, как настраивать среду. Какие проблемы удобно решать какими средствами. Все эти доки идут от фич, а интереснее подход идущий от проблем. По личному опыту могу сказать, что когда встречаются 2 разработчика под идеей или они работают рядом есть множество финтов, которыми они могут друг с другом поделится. Вот тут я вижу основную проблему, что крайне удобные фичи очень сложно найти одному, без поддержки коммунити и если тебе не повезло оказатся среди других опытных идея разработчиков, множество проблем ты будешь решать неэффективно.
У нас в команде штатовская часть вся на Идее, Московская на Эклипсе. То есть присутствует некий паритет и поэтому выбор для новых участников команды среды упирается не в последнюю очередь в стабильность. И слабо протестированная среда, это реально проблема. Нагло воспользуюсь вашим предложением и по конкретномы проблемам даже попрошу совета. По багам как правило все и так вполне понятно, тем более там либо минорные уже остались в 9ке, либо врядли я смогу их вам описать. Например при просмотре локальной истории с ремут десктопа (причем тут ремут десктоп непонятно, видимо ремутная коннекция памяти откушала) идея умерла так, что помогла лишь переустановка.
1. Есть несколько бранчей, между ними надо оперативно переключатся. Бранчей много и они то возникают то удаляются. Проект лежит в перфорсе, и все эти бранчи выкачены на винчестер в разных местах. Желательно иметь возможность одновременно работать в 2-3 бранчах. Я создаю проект на каждый бранч, это решает все мои проблемы, но имеется явная дупликация. Одни и теже настройки надо править в каждом бранче. Создание проекта под новый бранч особенно тяжко. Терплю, но возможно посоветуете лучше решение?
2. Надо иметь в проекте 2 варианта сборки, один для дебага, другой для продакшена. При этом есть проблема, что часть файлов должны быть слегка по разному подложены в аут. Скажем в манифесте чуть другие ключи, но на 99% эти файлы совпадают, то есть разложить их по 2м папкам тоже не решение. Инклуды-импорты они не все поддерживают, то есть общую часть не вынести. Что тут может предложить идея?
3. Идея умеет генерировать антовые билд скрипты, но хочется иметь возможность ант скрипт дописывать вручную + чтобы любые изменения в проекте идеи отражались автоматически и в ант скрипте не преезаписывая ручные изменения. Скажем, как предлагается делать, чтобы проект в тимсити или автоматически скрипт деплоймента (написанный на баше) автоматически подцеплял изменения в проекте идеи, как только я их закоммитил. Наверняка есть решение этой проблемы.
4. Ант встроенный генерирует абсолютно нечитабельный лог по билд скриптам в режиме текстового вывода. Бага висит толи с 6го года, толи с 7го. Есть какойто walkaround? Довольно странно, что такая ключевая фича, как встроенный ант изза такой мелочи неюзабельна на половине задач. Эта фигня изза того, что там используется какойто нестандартный перехватчик в анте, я давно смотрел уже подзабыл детали. И он в лог выводит нестандартно и в основном добавляет информацию по входам и выходам из таргетов, что нужно довольно редко как раз, только при отладке анта собственно, где он там падает.
5. Есть один и тот же код, но запускать его нужно с разными конфигами. Поэтому делается 100500 модулей, единственная задача которых иметь разные депенданси, чтобы по разному собирать класспас для запуска. Один зависит от модуля с кодом и папки 1, другой от того же модуля и папки 2 итп. Юмор в том, что создать Ява модуль без контент рута невозможно (потом можно убрать, что я и делаю), то есть это явно хак. Мб есть варианты под это дело? Я пытался это сделать через переключение либ, но так и не придумал решения удобного. Формально эти модули даже не Ява, а просто Базовые Модули, но в идее такого нет.
Несколько оффтопик, но вопрос, а есть ли какието курсы пользования Идеей. Я ей пользуюсь уже с версии 3, но до сих пор с одной стороны сбивает многообразие возможностей, с другой неумение делать простейшие вещи. Даже закупил довольно старую уже книжку на русском языке по платформе, но она оказалась занудным сборищем банальностей, в итоге очень важно в той среде иметь вращаться в некой коммунити, чтобы объяснять как правильно простреливать себе ногу.
Если по топику, то у Идеи всегда была проблема с новыми версиями, гигантское количество багов всех мастей как правило присутствует даже в поздних версиях, в той же 9.0.4 всевозможной мелочевки (и не очень) хватает. А вот новые мажорные версии даже смотреть уже страшно. Хочется, всеже заиметь стабильную 9ку, прежде чем получить 10ку.
Не думаю, что с телефона имеет смысл постить, врядли там это удобно, это же не твиттер и 140 символов.
Насколько в нем удобно просматривать френд ленту? Коментить? Читать коменты других? Получать нотификации о событиях из ЖЖ? Менять аватарки и личную инфу какие-нибудь? Модерить сообщества свои и свой ЖЖ? Пока это звучит как простой скрипт для постинга в ЖЖ с редактором, не более.
А вот если я живу в Москве, то у меня и инет как правило нормальный и знаю и без коммуникатора большинство вещей, то есть тут как раз оффлайн кэш не то чтобы критичен.
1. Коннектилка к облаку HTC периодически сходит с ума и дает 100% нагрузку на проц от процесса init, убивается переходом в дебаг режим (чего оно боицо и отрубается) или ребутом. Уж не знаю, что оно там делает, но батарейка улетает ппц и работает в эти моменты плохо. Случается редко, но бывает, что метко.
2. Снизилась заметно интерактивность, кнопка Home теперь не всегда работает. Часто какойнить ютуб в режиме ХД подвисает и неубивается также просто, как раньше.
3. Очень дурная камера, а точнее жуткий автофокус. Иногда работает прилично, но зачастую дурит ужасно.
С другой стороны ушли проблема Дезаера, когда он интернет терял, при слабом сигнале, когда он формально вроде есть. И вообще в целом постабильнее, хотя новые глюки тоже не очень в тему.
Автор забыл упомянуть 4 гига внутренней памяти, что позволяет не парится с установкой програм на СД карту, очень удобно. Отсутсвие джойстика имхо плюс, в оригинальном дезаере единственное ему применение было фотографирование. Разве что минус, что теперь 4 стрелки вынесены на клавиуатуру не очень удачно, часто по ним мисс клики.
Да, аппарат радует намного больше дезаера, фиг знает почему. Вроде юзер истории теже, всеже экран это хорошо, наверное.
У яндекса безусловные плюсы это карты, пробки и намного стабильнее определяется положение на карте (без ГПС).
С бесплатный трафиком все еще интереснее. У меня (как и у большинства моих знакомых с андроидом и айфоном в москве и спб) трафик и так безлимитный. И выливается особая тарификация яндекса в то, что там где гугл карты работают относительно неплохо, яндекс отказывается грузится вовсе. Причем переключаешься в гугл карты, там все даже не особо то и тормозит, все грузится довольно шустро. Я подозреваю, что дело как раз в специальном биллинге и какойто своей хитрой тарификации. Интересно, кстати, работает ли бесплатный трафик в внутресетевом роуминге, вот это единтсвенный плюс, который я вижу от этой фичи. Но, с роамингом шутки плохи, так что сам не экспериментирую.
В общем, если еще недавно был период, когда почти всегда выбирались яндекс карты, то теперь 80% это уже гугль и только 20% это почти все ради яндекс пробок, все еще киллер фичи яндекса. По моим опросам, у автолюбителей все еще яндекс доминирует, но и они отмечают отставание яндекс карт в техническом плане.
" массив длиной до 1000 элементов (далее рассматривается и общий случай с большим значением, но у меня было так). Сортировать такой массив с O(NlogN) временем, имея 15000 потоков показалось как-то расточительно."
Как вообще определение O(f(x)) соотносится с ограничением x<1000?
Но это скорее к чистоте формулировок и глубине понимания как асимптотика работает. По сути вы вполне правы.
Единственное видел, что оно еще и понимает голосовые команды вроде play или call Вот эти штуки не работают ни на русском, ни на английском языке. Так же не работают голосовый команды с гарнитуры, он их просто игнорирует. Видимо не поддерживает эту фишку.
Собственно этот голосовой ввод это реально киллер фича, скажем менее удобный гугл мапс (относительно яндекса) я использую только изза нее. Попадание очень высокое.
Если бы еще допилили, чтобы с гарнитуры можно было позвонить таким образом или проиграть композицию. Или даже сделать запрос, чтобы тебе зачитали результат поиска… Или чтобы ты сказал, отведи меня домой и тебе голосом бы объяснили куда идти… В общем фишка клевая, но простора для роста хватает.
2. Внешний ант не хочется категорически, но я мысль понял. Скорость запуска приложений возрастает на порядок, скорость разработки соответсвенно падает. Я делаю у нас на проекте все, чтобы не допустить построение и запуск из идеи через ант. Может я чегото не умею, но удобство несравнимо.
3. Да, я так и делаю. Но проблема в том, что все равно генерируемые идеей ант скрипты необходимо перегенерировать на каждое изменения в структуре модулейй. Это неудобно и часто забывается. Тем более и сам процесс не то, чтобы тривиален. Там довольно приличное количество настроек у этого ант скрипт билдера, можно не туда кликнуть и огрести. Вот бы эту штуку сделать автомат на коммит скажем или даже на мейк (асинхронно только).
5. Я бы вам предложил сделать таки функциональность этих базовых модулей. Врядли это сложно сделать, а то слишком много модулей, которые держишь только ради зависимостей, артефактов или контент рутов. Де факто у меня в проекте на 50 проектов, реальных модулей 2-3 и это нехорошо.
У нас в команде штатовская часть вся на Идее, Московская на Эклипсе. То есть присутствует некий паритет и поэтому выбор для новых участников команды среды упирается не в последнюю очередь в стабильность. И слабо протестированная среда, это реально проблема. Нагло воспользуюсь вашим предложением и по конкретномы проблемам даже попрошу совета. По багам как правило все и так вполне понятно, тем более там либо минорные уже остались в 9ке, либо врядли я смогу их вам описать. Например при просмотре локальной истории с ремут десктопа (причем тут ремут десктоп непонятно, видимо ремутная коннекция памяти откушала) идея умерла так, что помогла лишь переустановка.
1. Есть несколько бранчей, между ними надо оперативно переключатся. Бранчей много и они то возникают то удаляются. Проект лежит в перфорсе, и все эти бранчи выкачены на винчестер в разных местах. Желательно иметь возможность одновременно работать в 2-3 бранчах. Я создаю проект на каждый бранч, это решает все мои проблемы, но имеется явная дупликация. Одни и теже настройки надо править в каждом бранче. Создание проекта под новый бранч особенно тяжко. Терплю, но возможно посоветуете лучше решение?
2. Надо иметь в проекте 2 варианта сборки, один для дебага, другой для продакшена. При этом есть проблема, что часть файлов должны быть слегка по разному подложены в аут. Скажем в манифесте чуть другие ключи, но на 99% эти файлы совпадают, то есть разложить их по 2м папкам тоже не решение. Инклуды-импорты они не все поддерживают, то есть общую часть не вынести. Что тут может предложить идея?
3. Идея умеет генерировать антовые билд скрипты, но хочется иметь возможность ант скрипт дописывать вручную + чтобы любые изменения в проекте идеи отражались автоматически и в ант скрипте не преезаписывая ручные изменения. Скажем, как предлагается делать, чтобы проект в тимсити или автоматически скрипт деплоймента (написанный на баше) автоматически подцеплял изменения в проекте идеи, как только я их закоммитил. Наверняка есть решение этой проблемы.
4. Ант встроенный генерирует абсолютно нечитабельный лог по билд скриптам в режиме текстового вывода. Бага висит толи с 6го года, толи с 7го. Есть какойто walkaround? Довольно странно, что такая ключевая фича, как встроенный ант изза такой мелочи неюзабельна на половине задач. Эта фигня изза того, что там используется какойто нестандартный перехватчик в анте, я давно смотрел уже подзабыл детали. И он в лог выводит нестандартно и в основном добавляет информацию по входам и выходам из таргетов, что нужно довольно редко как раз, только при отладке анта собственно, где он там падает.
5. Есть один и тот же код, но запускать его нужно с разными конфигами. Поэтому делается 100500 модулей, единственная задача которых иметь разные депенданси, чтобы по разному собирать класспас для запуска. Один зависит от модуля с кодом и папки 1, другой от того же модуля и папки 2 итп. Юмор в том, что создать Ява модуль без контент рута невозможно (потом можно убрать, что я и делаю), то есть это явно хак. Мб есть варианты под это дело? Я пытался это сделать через переключение либ, но так и не придумал решения удобного. Формально эти модули даже не Ява, а просто Базовые Модули, но в идее такого нет.
Если по топику, то у Идеи всегда была проблема с новыми версиями, гигантское количество багов всех мастей как правило присутствует даже в поздних версиях, в той же 9.0.4 всевозможной мелочевки (и не очень) хватает. А вот новые мажорные версии даже смотреть уже страшно. Хочется, всеже заиметь стабильную 9ку, прежде чем получить 10ку.
Насколько в нем удобно просматривать френд ленту? Коментить? Читать коменты других? Получать нотификации о событиях из ЖЖ? Менять аватарки и личную инфу какие-нибудь? Модерить сообщества свои и свой ЖЖ? Пока это звучит как простой скрипт для постинга в ЖЖ с редактором, не более.
Скорее об этом и что с этим делать.
На собеседованиях очень люблю спрашивать, как же это так, если основная фишка UTF в том, что там переменное количество байт на символ.