• WEB-программирование. Что выбрать и с чего начать?

    MrMig
    @MrMig
    Добавлю к этому еще тот факт, что javascript можно использовать и на стороне сервера (node.js).
    Я согласен, что нужно начать с основ (html + css + js + http), но только в качестве теоретической базы. А практически можно использовать связку Twitter Bootstrap + jQuery + NodeJS.
    Такой набор позволит проникнуться сутью веб-разработки и даст навыки работы с базовыми инструментами.
  • Доставка товаров Google Play с помощью mail forwarding

    MrMig
    @MrMig
    Они будут процессить виртуальную визу. Её же можно зарегистрировать на пэйпал. У меня такая от Приватбанка, можно завести самостоятельно через privat24.
  • Тестирование Java EE приложения?

    MrMig
    @MrMig
    Предположим, вы покрываете тестами objA.doJob(entity);
    У бина есть два поля — имя и параметр. Метод doJob меняет в переданном бине параметр, но не меняет имя бина. Надо проверить то, что параметр изменён.

    Внутри метод doJob() вызывает objB.serviceCall(), который стучится в базу (загружает энтити) или делает вызов на сторонний вебсервис и возвращает энтити бин, который как-то будет влиять на наш переданный entity, и менять в нём параметр.

    Смотрите, для того, чтобы не поднимать весь контекст ( и не запускать всю подноготную приложения), вам нужно каким-то образом реализовать «тестовый» класс-зависимость objB (создать mock instance), который бы реально не стучался в базу и не делал вызовов на вебсервис. Вы можете написать самостоятельную реализацию, которая возвращала бы нужный бин (который вы бы создали через конструктор с некими тестовыми параметрами, которые проверяли бы через assertEquals в тесте).
    Для того, чтобы не писать шаблонный код, вы используете мок-фрейсворк. Для мокито код будет выглядеть примерно так:

     import static org.mockito.Mockito.*;
    
    // Создаём детерминированный бин, по которому будем делать проверки
    // Это то, что якобы должно тянуться из источника данных
    EntityBean entity = new EntittyBean("TestName", "Test parameter");
    
    //автоматически создаём мок
    ObjB objB = mock(ObjB.class);
    
    //Самый важный вызов - заставляем мок возвращать нам нужный бин при вызове метода serviceCall
    when(objB.serviceCall()).thenReturn(entity)
    
    //Создаём реальный инстанс тестируемого класса - чтобы вызывать реальные методы
    ObjA objA = new ObjA();
    
    //Инжектируем мок. Я надеюсь, у вас все зависимости не @Autowired private поля без сеттеров? ;)
    objA.setObjB(objB);
    
    //Вызываем метод
    EntityBean testEntity = new EntityBean("Another name", "Another parameter");
    objA.doJob(testEntity);
    
    //По правилам нашего метода, testEntity должен получить параметр из entity
    assertEquals(testEntity.getParameter(), entity.getParameter());
    // Но имя бина не должно измениться
    assertNotEquals(testEntity.getName(), entity.getName());
    
    
  • Формирование программистского кругозора и мотивации к самостоятельному обучению у начинающих?

    MrMig
    @MrMig
    Вы знаете, по поводу ресурсов для обучения — пошерстите хабр.
    Я в своё время шёл точно таким же путём, который описан выше. Мотивация у меня была другая — мне для работы нужно было изучить джаваскрипт основательно. К тому моменту о джаваскрипте я знал то, что он может брать и добавлять элементы на веб-страницу и валидировать данные :)
    Я начал с изучения юзерскриптов и «нырнул в омут с головой», начал сразу же писать себе скрипт для vk.com, который показывал удалившихся друзей. Польза — лучший мотиватор :)

    Первой серьёзной книгой по js у меня была www.ozon.ru/context/detail/id/3881091/. Но это было уже в рамках «повышения квалификации». Некоторые темы из неё заходят туговато.
    Очень не плох по качеству javascript.ru
  • Компьютерное кресло. Что выбрать?

    MrMig
    @MrMig
    Простите, но чем Pilot отличается от приведенного вами в примерах Pikasso? Более «квадратными формами»? Или цвет не тот?
    Цвета кожанных вставок могут варьироваться, всё остальное можно перекрасить в духе DIY :)
    Если вас интересует всё же здоровье, то стоит искать кресло не по тому, как оно выглядит.

    Касательно кресла Pilot — я купил себе такое два месяца назад для «домашнего офиса» и очень рад.
    1. Регулируемые подлокотники
    2. Механизм качения на несколько положений
    3. Регулируемый валик для поясницы
    4. «Дышащая» спина и некожаное сиденье
    5. Форма сиденья отлично подходит для моей пятой точки :)

    В крайнем положении качения очень удобно откидываться назад и отдыхать (просмотр видео, к примеру). Ноги в воздухе не болтаются — стоит просто настроить высоту кресла. В таком положении и подголовник оказывается к месту.
    Для любителей покачаться на любой мебели для сидения, коим я и являюсь, упомянутые выше «1-2 см люфта» (которые стоило бы назвать 5-10 градусов наклона) как раз и придуманы.

    При изучении отзывов перед покупкой в душу закралось много подозрений, но при выборе кресла я не нашёл ему равных, кроме кожанных «руководительских» (а выбор был приличный). К тому же, я придирался к качеству сборки — в моём кресле ничего не скрипит, не люфтит и швы/материалы нормальные. Посмотрим, что с ним станет в процессе пользования.

    Придирки (читайте «минусы»):
    • Глубина подголовника не регулируется
    • Кресло не выглядит «креслом за 400$»
    • Хотелось бы дополнительного шага настройки механизма качения назад
    • Ножки без резиновой накладки — не самый удобный вариант для постановки ног, но оказалось вполне сносно


    Мой вывод — это кресло, в первую очередь, удобное и мои потребности удовлетворяет на 90%.
  • Долгое выполнение запросов в MySQL

    MrMig
    @MrMig
    Поясните, пожалуйста, про плохой совет. Почему в данном случае индекс такого вида — кака?
  • Как убрать якорь (#, hash, хэш, решетку) в URL?

    MrMig
    @MrMig
    Если вам необходимо убрать только значение хеша, то
    window.location.hash=""
    


    Если вам необходимо убрать ещё и символ #, то такое переписывание урла будет приводить к перезагрузке страницы
  • int и Integer

    MrMig
    @MrMig
    Плюс ко всему, аналогичным образом работает и класс String с методом intern(). К тому же, строковые константы в коде (private final static String) и хардкод (System.out.println(«Hardcode»)) автоматически «интернируются» и попадают в строковый пул.
  • Как получить содержательную часть страницы?

    MrMig
    @MrMig
    Если вам удастся написать парсер для общего случая (выделение контента с произвольного сайта без информации о структуре макета), то вполне возможно будет продать его тому же гуглу. И это не шутка. Задача довольно нетривиальная, для узких юзкейсов решаема, но в целом беда.
  • Бывает ли плагин, заставляющий браузер долбиться на сайт без таймаутов?

    MrMig
    @MrMig
    В частности — юзерскрипт на javascript. Делал подобных ботов для узкоспециализированных аукционов в свое время.
  • Как запоминать хотя бы половину того, что читаешь?

    MrMig
    @MrMig
    Пирацетам + Цинаризин (в Беларуси есть комплексный препарат Пирацезин) являются довольно известными ноотропами. Студенты-медики повально используют для подготовки к сессии :)
    Пьётся, обычно, курсом в 30 таблеток за месяц до начала подготовки. К тому же, данный препарат выписывается при мигренях и проблемах с церебральным кровообращением.

    Усиливает действие алкоголя. Довольно заметно.

    По субьективным ощущениям — реально помогает справляться с интеллектуальными нагрузками (в период активного действия). Память улучшает, да, но только мгновенную. Привыкания не вызывает :)