Как стать автором
Обновить
39
0
Михаил Денисов @monzdrpower

Пользователь

Отправить сообщение

SAP примет на работу сотрудников-аутистов

Время на прочтение1 мин
Количество просмотров56K
Всем привет.

Сегодня мое внимание привлекла новость, что компания SAP объявила о том, что до 2020 года собирается принять на работу 650 сотрудников-аутистов, что составит 1% от общего кол-ва сотрудников компании (Согласно последним исследованиям, примерно такая же доля населения планеты страдает этим недугом). На сегодняшний день в подразделении компании в Индии уже работают 6 сотрудников-аутистов, ещё 5 рабочих мест планируется создать в Ирландии.
Читать дальше →
Всего голосов 51: ↑45 и ↓6+39
Комментарии55

ContactManager, часть 5. Добавляем работу через HTTPS

Время на прочтение4 мин
Количество просмотров11K
Перед тем как отправить наш REST-сервис в свободное плавание и сделать его общедоступным, нужно позаботиться об усилении безопасности и обеспечить работу через HTTPS. В качестве контейнера сервлетов мы используем Tomcat 7.

Порядок действия будет следующим:
  • сгенерировать ключ безопасности
  • добавить поддержку HTTS в Tomcat
  • добавить поддержку HTTS в SpringSecurity
  • протестировать (а как же без этого)

Читать дальше →
Всего голосов 7: ↑6 и ↓1+5
Комментарии4

ContactManager, часть 4. Добавляем веб-сервис (REST)

Время на прочтение11 мин
Количество просмотров24K
Не успели просохнуть чернила на предыдущей версии приложения ContactManager, как раздался телефонный звонок, и я услышал в трубке голос приятеля, который начал осваивать разработку под Андроид и искал тестовый проект, на котором он мог бы практиковаться в работе с web-сервисами.

«Нет ничего проще!» — ответил я.
Так ли это на самом деле?
Всего голосов 5: ↑4 и ↓1+3
Комментарии1

ContactManager, часть 3. Тестирование контроллеров с помощью MockMvc

Время на прочтение11 мин
Количество просмотров44K
Всем привет.

Познакомившись с библиотекой MockMvc, я обнаружил "наличие отсутствия" её упоминаний на Хабре. Постараюсь восполнить этот пробел, тем более, что наше приложение ContactManager как раз нуждается в автоматизированном тестировании.
Дальше много примеров кода и совсем нет картинок
Всего голосов 9: ↑8 и ↓1+7
Комментарии2

Java на каждый день и не только. Рекомендации по использованию

Время на прочтение8 мин
Количество просмотров65K
Всем привет!

Вашему вниманию предлагается перевод статьи уже известного на Хабре автора. На этот раз он делится своими видением того, как часто нужно применять в своей повседневной разработке те или иные свойства языка Java.



image
Java — это язык с мощными стандартными возможностями, но «Большая сила налагает большую ответственность». Я видел много java-кода, в котором чрезмерно (и зачастую — неправильно) использовались «редкие» свойства языка, в то время как основы основ были почти полностью проигнорированы. Эти наблюдения и послужили стимулом к написанию статьи.

Это не список обязательных к использованию каждым программистом особенностей языка. Скорее наоборот. Я разделил их на 3 группы: "для каждодневного использования", "для периодического использования" и "только для фреймворков и библиотек!". Правило простое: если вы понимаете, что используете указанные свойства чаще, чем рекомендуется, то, скорее всего, ваш код развивается по неправильному пути. Если же наоборот — вы редко используете какие-то свойства, чем я рекомендую, значит вы упускаете какие-то интересные и важные возможности языка.

Обратите внимание, что я говорю о разработке типичных серверных бизнес-приложений (JVM, JDK, вот это все) и не даю рекомендаций относительно каких бы то ни было фреймворков.
Читать дальше →
Всего голосов 73: ↑57 и ↓16+41
Комментарии68

Java собеседование. Коллекции vs null

Время на прочтение3 мин
Количество просмотров128K
Всем привет!

В топике Java собеседование. Коллекции подробно изложен вопрос работы с Set & Map в Java. Но у меня ещё есть парочка любимых вопросов из этой области:

  1. Может ли null использоваться в качестве ключа в Map?
  2. Может ли Set содержать null?

подсказка (HashMap.java)
   public V get(Object key) {  
        if (key == null)  
            return getForNullKey();  
        int hash = hash(key.hashCode());  
        for (Entry<K,V> e = table[indexFor(hash, table.length)];  
             e != null;  
             e = e.next) {  
            Object k;  
            if (e.hash == hash && ((k = e.key) == key || key.equals(k)))  
                return e.value;  
        }  
        return null;  
    }  
    /** 
     * Offloaded version of get() to look up null keys.  Null keys map 
     * to index 0.  This null case is split out into separate methods 
     * for the sake of performance in the two most commonly used 
     * operations (get and put), but incorporated with conditionals in 
     * others. 
     */  
    private V getForNullKey() {  
        for (Entry<K,V> e = table[0]; e != null; e = e.next) {  
            if (e.key == null)  
                return e.value;  
        }  
        return null;  
    }  


Предполагается, что пытливый читатель самостоятельно поразмыслит над ответами и затем сравнит их с моими. Самые нетерпеливые могут сразу проследовать под кат.
Читать дальше →
Всего голосов 62: ↑51 и ↓11+40
Комментарии47

Интеграция Groovy в JEE приложение

Время на прочтение6 мин
Количество просмотров16K
В одну телегу впрячь не можно
Коня и трепетную лань
                        А.С. Пушкин

Всем привет!

В данной заметке я хочу рассказать, как интегрировать язык Groovy в существующее JEE приложение на основе Maven. Выражаю благодарность Антону Щастному schaan за разрешение на использование исходного кода его проекта в качестве отправной точки. Поэтому данный топик можно считать продолжением его статьи Учимся готовить: Spring 3 MVC + Spring Security + Hibernate.

Начнем.
Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии24

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность