Когда работал на форточках, проблемы как раз создавали присылаемые odt файлы. Опенофис ради них ставить не хотелось, приходилось конвертить каждый документ через гуглдоки. Самое обидное, что в большинстве случаев достаточно было использовать RTF.
Скорее всего потому что доля незначительная. Эволюция SDK стремительна, API deprecation с одной стороны, новые API с другой. Так и отказываешься от еще не очень старых в юзер-понимании, но древних с т.з. развития платформы устройств. Но у Apple в этом плане не все так «плохо», по сравнению с конкурентами: theunderstatement.com/post/11982112928/android-orphans-visualizing-a-sad-history-of-support
С опытом проходит. Лучший выход в описанной ситуации: дать себе еще Х минут на попытку самостоятельного фикса. Если не получается, не тратить время дальше и показать код «соседу». Очевидно речь идет о ситуациях когда результат выполнения выглядит как нарушение законов физики.
К сожалению это не так. Например проглотить OutOfMemoryError — не лучшая идея. Другие варианты — возможные ошибки вашего кода (в общем случае), которые могут остаться незамеченными, вроде NullRef и т.д
Советую прочитать как можно больше про обработку исключений. Их необдуманное использование может создать вам массу проблем.
Я про перехват Exception вместо IOException и иных проверяемых исключений которые может выбрасывать ваш код. Меня, пришедшего с .NET, очень печалит когда на яве, имеющей такую прекрасную вещь как проверяемые исключения, люди плюют на человеческую обработку.
Ну хотя бы ради обфускации включенной в дефолтном build.xml. Еще можно указать в файле пропертей путь к ключу разработчика и тогда подписка приложения будет происходить автоматически во время сборки. Попросят только ввести пароль. О последнем гугл предупреждает что это не очень секурно, т.к. он может сохраниться в истории баша. Но это если запускать ant через консоль.
Возможно все это настраивается в билде Eclipse, я просто не изучал. ИМХО, сборка проекта не должна зависеть от среды разработки, особенно при командной работе. Конечно желательно всем в команде пользоваться одним инструментом, но это скорее нужно для более простой коммуникации. Сборка может происходить и в автоматическом режиме.
Это не совсем так. Да, и Eclipse и Idea имеют свои проектные файлы, но при этом никто не мешает поддерживать build.xml и собирать проект антом, тем более что его в итоге при релизе все равно придется собирать антом.
Не видел в eclipse но в Idea есть панель ант задач, в которой удобно запускать билды.
Визуальный редактор бывает полезен для быстрой проверки результата. Для удобного редактирования layout он совершенно бесполезен (ИМХО). Из удачных реализаций WYSIWYG редакторов gui основанных на xml встречал разве что .NET WPF. Да и то там часто ковыряться ручками приходится.
Кстати, слышал что в плагине для новой IJIdea будет просмоторщик.
Compress предназначена упаковки данных с использованием deflate в контейнер zlib. Для с GZip zlib умеет работать только через диск. Но благо — zlib имеет функции более низкого уровня.
err = DEFLATEINIT2(strm, Z_BEST_COMPRESSION, Z_DEFLATED, -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY, ZLIB_VERSION, size(strm));
! windowBits is passed < 0 to suppress zlib header
Для инициализации с указанием что нам не нужен zlib header.
Потом вызываем Deflate. Контрольные суммы и заголовки gzip также как и автор добавляем ручками.
К такому подходу пришел после изучения некого примера на codeproject, который оказался кривым. Но я не поленился открыть исходники zlib и посмотреть как написана compress. В итоге моя compressGzip написана абсолютно аналогично. Если бы мой код был на C — было бы удобное расширение библиотеки. Но к сожалению он не на C…
Методы класса- тут все просто setOperand- это обычный сеттер для переменной operand. Можно было бы использовать и @syntesuze но тогда будет сгенерирован геттер который нам никчему.
Свойства не обязательно синтезировать. Геттер и сеттер можно реализовать вручную. При этом поле _operand можно использовать автоматически. И в контексте задачи, геттер операнда никому особо бы не помешал.
Никакой встроенный браузер не открывается, по крайней мере на iPhone и Android (с другими дел не имел). Если говорить про Android, то все PhoneGap приложение крутиться внутри одной активности с единственным виджетом — WebView. Последний предоставляет рендеринг html и исполнение JS.
Если говорить про написание нативных плагинов — на это WebView можно накидать много чего дочернего, т.к. оно наследует AbsoluteLayout (осторожно, depricated!).
Есть ощущение, что при выполнении всех предложенных мер вы получите дефолтные настройки вместо желаемой «полной свободы». Т.е. результаты, подобранные специально для некой Марии Ивановой (aka Marry Smith) 35 лет, домохозяйки.
theunderstatement.com/post/11982112928/android-orphans-visualizing-a-sad-history-of-support
В дополнение. В моем случае добавлять IIS в зависимости проекта было совершенно ни к чему. Без IIS оно поднимается достаточно просто:
WebServiceHost host = new WebServiceHost(typeof(TestService), new Uri(endPoinUri));
host.Open()
Это полезно когда требуются локальные пойнты, поддерживающие определенное Rest API. Засовываем этот вызов в Windows-службу и все.
Советую прочитать как можно больше про обработку исключений. Их необдуманное использование может создать вам массу проблем.
Возможно все это настраивается в билде Eclipse, я просто не изучал. ИМХО, сборка проекта не должна зависеть от среды разработки, особенно при командной работе. Конечно желательно всем в команде пользоваться одним инструментом, но это скорее нужно для более простой коммуникации. Сборка может происходить и в автоматическом режиме.
Это не совсем так. Да, и Eclipse и Idea имеют свои проектные файлы, но при этом никто не мешает поддерживать build.xml и собирать проект антом, тем более что его в итоге при релизе все равно придется собирать антом.
Не видел в eclipse но в Idea есть панель ант задач, в которой удобно запускать билды.
Кстати, слышал что в плагине для новой IJIdea будет просмоторщик.
} catch (Exception e) {
e.printStackTrace();
}
Не айс…
err = DEFLATEINIT2(strm, Z_BEST_COMPRESSION, Z_DEFLATED, -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY, ZLIB_VERSION, size(strm));
! windowBits is passed < 0 to suppress zlib header
Для инициализации с указанием что нам не нужен zlib header.
Потом вызываем Deflate. Контрольные суммы и заголовки gzip также как и автор добавляем ручками.
К такому подходу пришел после изучения некого примера на codeproject, который оказался кривым. Но я не поленился открыть исходники zlib и посмотреть как написана compress. В итоге моя compressGzip написана абсолютно аналогично. Если бы мой код был на C — было бы удобное расширение библиотеки. Но к сожалению он не на C…
Свойства не обязательно синтезировать. Геттер и сеттер можно реализовать вручную. При этом поле _operand можно использовать автоматически. И в контексте задачи, геттер операнда никому особо бы не помешал.
Если говорить про написание нативных плагинов — на это WebView можно накидать много чего дочернего, т.к. оно наследует AbsoluteLayout (осторожно, depricated!).