• К любителям Java?

    apangin
    @apangin
    Ответ: нет, такими преобразованиями заниматься не стоит. Сгенерированный JIT-компилятором код для обоих вариантов будет практически одинаков, зато первый вариант выглядит понятнее и идеологически правильнее. Не забивайте себе голову тем, что вызов статического метода якобы быстрее виртуального. На самом деле, за счет динамической девиртуализации JVM сможет вызывать метод напрямую, минуя vtable. Более того, в некоторых случаях вызов статического метода может оказаться даже хуже из-за class initialization barrier. В целом, пишите так, как лучше с точки зрения архитектуры и концепций ООП.
    Ответ написан
    Комментировать
  • Div or tables ?

    apangin
    @apangin
    Я думаю, вопроса бы не возникло, если б в HTML/CSS было хорошее средство сеточной верстки. Во многих GUI библиотеках есть средства создания сеточного лэйаута: например, в Java — это GridBagLayout, в Qt — QGridLayout. Ближайший аналог в HTML — <table>. Да, можно и в Java разместить все только с помощью FlowLayout и BorderLayout, но в некоторых случаях сеточный лэйаут окажется проще и наглядней. Поэтому я не считаю, что надо выбирать между div и table — нужно и то, и другое, просто они для разных ситуаций.
    Ответ написан
  • Div or tables ?

    apangin
    @apangin
    Блочная верстка предпочтительней табличной. Но это не значит, что нужно вообще отказаться от таблиц.
    А тем, кто утверждает, что div'ами верстать также легко, как таблицами, я обычно предлагаю простенький тест: сверстать приведенный ниже блок страничных ссылок вслепую, т.е. по ходу не подглядывая в браузер. Если получается правильно с первого раза под всеми популярными браузерами — WIN. Очевидно, сделать это таблицей — пара пустяков. Но так ли просто с div'ами? До сих ни один мой знакомый тест не прошел :)


    Примечание: блок должен располагаться посередине, растягиваться в зависимости от количества страниц, а если ссылок-страниц мало, то они должны центрироваться, как на втором рисунке.
    Ответ написан
    7 комментариев
  • Помогите с алгоритмом

    apangin
    @apangin
        static int binarySearch(int[] A, int n) {
            int left = 0;
            int right = A.length;
            if (right == 0 || n > A[right - 1]) {
                return right;
            }
    
            while (left < right - 1) {
                int mid = (left + right) / 2;
                if (A[mid] <= n) {
                    left = mid;
                } else {
                    right = mid;
                }
            }
            return A[left] >= n ? left : right;
        }
    
        int leftIndex = binarySearch(A, left);
        int rightIndex = binarySearch(A, right + 1);
        int countBetweenLeftAndRight = rightIndex - leftIndex;
    
    Ответ написан
    Комментировать
  • Android SDK: как получить несжатую фотографию?

    apangin
    @apangin
    Боюсь, что так. В несжатом виде доступно только превью (всякие сканнеры штрих-кодов и т.п. используют именно preview callbacks).
    Ответ написан
    1 комментарий
  • Android SDK: как получить несжатую фотографию?

    apangin
    @apangin
    Тут есть ответ непосредственно от разработчика Android:
    groups.google.com/group/android-developers/browse_thread/thread/65191ea020f6bb27/

    Вкратце, rawCallback никогда не работал и, скорее всего, не будет.
    Такого рода коллбэки не предназначались для обработки сигналов, а лишь для получения снимков.
    Ответ написан
    Комментировать