• Как отследить изменение текста поля ввода?

    serso
    @serso
    Я жутко извиняюсь — проглядел, посмотрел сразу код, а там «edit», вот и подумал не о том, что нужно. Самому тогда интересно узнать ответ на вопрос. В GWT это решается именно onChangeListener'ом…
  • Редирект с www.example.com на example.com (apache2, ubuntu 10.04)?

    serso
    @serso
    Извиняюсь, парсер съел:
    RewriteEngine on
    RewriteCond %{HTTP_HOST} !^se\.solovyev\.org$
    RewriteRule ^ http://se.solovyev.org%{REQUEST_URI} [R=301,L] 
  • Расчет размеров кастомного view?

    serso
    @serso
    Каков вопрос — таков и ответ =) Если ваш кастомный View расширяет TextView, то скорее всего можно положиться на отрисовку реализованную в SDK. Опять же — всё зависит от задачи (цели), которую автор вопроса не назвал.
  • Review кода библиотеки символьных вычислений (symbolic computing)?

    serso
    @serso Автор вопроса
    Я понимаю о чём вы и я не хочу делать абсолютно общего решения. Моя цель — поле комплексных чисел с «классическими» операциями в нём + матрицы с их «классическими» операциями
  • Review кода библиотеки символьных вычислений (symbolic computing)?

    serso
    @serso Автор вопроса
    Я дико извиняюсь за ошибку — конечно же символьные вычисления, даже не знаю как меня угораздило такое написать.
    По существу: библиотека должна уметь представлять и хранить все основные математические объекты — числа, матрицы, выражения, функции. Естественно, само по себе хранение никому не интересно, поэтому хочется чтобы библиотека умела проводить некоторые действия над ними, например, упрощение или вычисление результата и т.д. Как я уже сказал в качестве основы я использую jscl meditor, мною уже написан модуль jscl-numeric, который я и хочу чтобы посмотрел человек со стороны.
  • EditText без виртуальной клавиатуры?

    serso
    @serso Автор вопроса
    Ой, извиняюсь — в предыдущем посте вместо «ваш способ не работает для 2ого Андроида — при клике на EditText всё равно появляется клавиатура» нужно «ваш способ не работает для 3его Андроида и выше — всё равно пропадает курсор»
  • EditText без виртуальной клавиатуры?

    serso
    @serso Автор вопроса
    Проверил сейчас код в различных версиях Андроида (на виртуальной машине): ваш способ не работает для 2ого Андроида — при клике на EditText всё равно появляется клавиатура. Но решение я всё таки нашёл (базируясь на вашем предложении), а именно — я добавил проверку версий SDK в переопределённый метод TextView#onCheckIsTextEditor() и в случае 3ки и более возвращаю true, иначе false.

    Итого: полное решение проблемы работающее под разные версии Android SDK:
    <EditTextExtension
        a:editable="false"
        a:singleLine="false"
        a:scrollbars="vertical"/>


    Класс EditTextExtension расширяет EditText и переопределяет метод onCheckIsTextEditor() следующим образом:
    	@Override
    	public boolean onCheckIsTextEditor() {
    		if ( Build.VERSION.SDK_INT >= 11 ) {
    			return true;
    		} else {
    			return false;
    		}
    	}
  • EditText без виртуальной клавиатуры?

    serso
    @serso Автор вопроса
    И, соответсвенно, суть моего решения выше было переопределить TextView#onCheckIsTextEditor() для того, чтобы можно было использовать другой InputType для поддержки мультистрочности и скроллинга.
  • EditText без виртуальной клавиатуры?

    serso
    @serso Автор вопроса
    Я посмотрел исходники. В андроиде по умолчанию:
    @Override 
    public boolean onCheckIsTextEditor() {
        return mInputType != EditorInfo.TYPE_NULL;
    }


    Проблема в том, что если я выставляю TYPE_NULL я теряю поддержку мультистрочности, т.к. она задаётся как
    InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_MULTI_LINE
  • EditText без виртуальной клавиатуры?

    serso
    @serso Автор вопроса
    Спасибо, вечером проверю, но по-моему я так пробывал и меня что-то не устраивало (насколько я помню, какие-то другие методы TextView переставали работать)
  • Какой вариант вызова диалога вы используете в Android?

    serso
    @serso
    Можно поинтересоваться почему так писать не рекомендуется?
    Только что пробежался по guide'у, но ничего вразумительного не нашёл кроме замечания, в котором, кстати, не объясняются причины такого поведения.
  • Code Review Java?

    serso
    @serso
    Java-way

    Опишите интерфейс:
    interface Command {
        Result run(WebDriver webDriver, State state, Map<String, String> params) throw IllegalArgumentException;
    }


    Сервис:
    interface CommandsService {
        @Nullable
        Command getCommand(@NotNull String commandName);
    
        Result runCommand(@NotNull String commandName, // PARAMS);
    
        void registerCommand(@NotNull String commandName, @NotNull Command command);
    }


    Это даст возможность расширять базовый фукнкционал библиотеки (т.е. программисты-пользователи смогут свои реализации Command писать и использовать).

    Реализация built-in комманд делается через enum следующим способом (который, кстати, описан Джошуа Блохом):
    public enum DefaultCommand implements Command{      
    
        open{
            Result run(WebDriver webDriver, State state, Map<String, String> params) throw IllegalArgumentException {
                // do logic
            }
        },
    
        type {
            Result run(WebDriver webDriver, State state, Map<String, String> params) throw IllegalArgumentException {
                // do logic
            }
        };
    }
    


    Соответсвенно, нужно будет проинициализировать сервис этим списком комманд (можно сделать даже в конструкторе реализации).

    Надеюсь, мысль ясна
  • Маппинг классов?

    serso
    @serso
    Да не за что, тут делов то =) А вопрос можно поставить решённым!
  • Маппинг классов?

    serso
    @serso
    if (clazz.isAnnotationPresent(ClassReference.class)) {
        final Class<?>[] linkedClasses = clazz.getAnnotation(ClassReference.class).values();
    
        // put logic here
    }
        
  • Маппинг классов?

    serso
    @serso
    Да той же аннотацией:
    public @interface ClassReference {
        Class<?>[] values();
    }
    
    @ClassReference(values = {B.class, C.class})
    public class A {
    }
    
    
    @ClassReference(values = {A.class, C.class})
    public class B {
    }
    
    @ClassReference(values = {A.class, B.class})
    public class C {
    }
  • Какой объем знаний должен быть у Senior Java Developer

    serso
    @serso
    Вот это мне кажется не правильно. Трудозатраты определяет project manager (который, кстати, может быть и посредственный программист), а Senior Developer — это разработчик, его дело код писать, а не временные метрики использовать.
  • Какой объем знаний должен быть у Senior Java Developer

    serso
    @serso
    По своему опыту работы могу сказать следующее: зачастую дипломированные разработчики, нанятые на позицию Senior'ов, показывают результаты хуже, чем новички-джуниоры. Конечно, знание библиотек и наличие опыта — это важные вещи, но они важные только тогда, когда человек знает как их применять.

    Про время — это верно подмечено, Senior решает задачи максимально быстро (но опять же скорость складывается не только из самих знаний, а способе их применения). Поэтому я и пишу, что знание ответов на «синтетические» вопросы далеко не самое главное для Senior'а.

    Основные знания Senior'а должны включать (по моему мнению):
    1. Senior должен знать паттерны программирования и уметь ими пользоваться.
    2. Senior должен уметь работать с внешними (по отношению к программированию) тулзами — системы контроля версия, системы автоматической сборки проектов, и т.д.
    3. Senior должен иметь хорошее представление о структуре проекта (от макро уровня — взаимодействия модулей до микро уровня — отдельных класов)
    4. Senior должен решать задачи максимально быстро и оптимально (имеется ввиду не писать фарш)

    В принципе это относится ко всем Senior'ам вне зависимости от ЯП и сферы деятельности. Естественно, в определённой сфере Senior должен иметь специфичные для данной сферы знания: например, при разработке банковских систем Senior должен знать (или хотя бы иметь ввиду) как эти системы устроены, какие бизнес процессы в них протекают и.д., потому как без этих знаний он не сможет выполнить п. 4 (см. выше).

    Кстати, поэтому ваш вопрос можно считать не корректным (не указана сфера работы).
  • Нормальна ли такая архитектура обмена данными?

    serso
    @serso
    Кажется, вы чего-то не понимаете: даже если один написан один web-интерфейс пользователи снаружи будут до него стучаться по внешнему IP, пользователи же локальной сети — по локальному адресу ресурса (грубо говоря: example.com/app vs localhost/app). Так что проблема падения интернета волновать вас не должна.
    PS Это в том случае если сервер с приложением установден в офисе