The 5-th lecture from the course "Java Core".
The Department of Information and Network Technologies.
St-Petersburg State University Of Aerospace Instrumentation.
Russia
The 5-th lecture from the course "Java Core".
The Department of Information and Network Technologies.
St-Petersburg State University Of Aerospace Instrumentation.
Russia
Рассказ о главном новшестве Java 9: проекте Jigsaw и системе модулей.
С момента выхода девятки прошёл уже почти год, и за это время даже успела выйти Java 10, но подавляющее большинство всё ещё использует Java 8 и более старые версии. Однако переход на новые версии каждому рано или поздно придётся сделать, поэтому уже сейчас было бы неплохо иметь базовое понимание модульности в Java и подготовиться к будущей миграции.
В докладе рассказано об истории появления модулей в JDK, о том, зачем они нужны обычному программисту и как они могут облегчить разработку и поддержку больших систем. Также рассказано, какие типичные проблемы могут возникнуть при миграции старых приложений на модули и как заранее подготовиться, чтобы избежать этих проблем в будущем.
Industrial Programming Java - Lection Pack 01 - Building an application - Lav...Fedor Lavrentyev
Курс "Промышленное программирование на Java". Набор лекций 1. "Сборка и компоновка приложения".
Сборка проекта. Apache Maven. Компоновка и верхнеуровневый дизайн приложения. Depencency Injection. Spring Framework. Spring Boot. Обзор популярных утилитарных библиотек. Логгинг, slf4j, log4j.
МФТИ, 2014 год. Лектор - Лаврентьев Федор Сергеевич
This presentation is devoted to Scala programming language, its perks and disadvantages, elegant solutions and hidden traps.
This presentation by Dmytro Mantula (Lead Software Engineer, GlobalLogic) was delivered at JEEConf (Kyiv) on May 23, 2015.
Guava - open-source библиотека, разработанная в основном инженерами компании Google, в которой есть множество полезных утилит для написания эффективного и красивого кода. В Guava решено множество типичных задач, которые часто возникают при работе с примитивами, строками, коллекциями, параллельными вычислениями, кэшированием данных и многим другим. В докладе поговорим о возможностях, которые предоставляет Guava, рассмотрим примеры использования утилит библиотеки.
До выхода Feature Complete версии OpenJDK 9 EA остался месяц. Самое время посмотреть, что ждет нас в следующей версии Java. Для начала рассмотрим процесс того, как идеи становятся JEP-ами, а потом становятся частью стандарта языка Java. Потом посмотрим на список из четрех десятков фич, разберем наименее тривилаьные из них на примерах: jshell, jmh, unified jvm logging и, конечно же, модулярность.
Анна Тарасенко, «долгожитель» ИТ-лофта, генеральный директор 7bits, организатор таких событий, как IT-субботники в Омске, ИТ-конференций HappyDev и HappyDev-lite, стартап-интенсива Magic Kick Startup MKS рассказывает о своем докладе «Стартап = факап?»:
«Чем больше я общаюсь со стартаперами, инвесторами и бизнесменами, читаю книги, статьи и блоги о бизнесе, тем больше я понимаю, что надо просто браться и делать. Не ждать чудес, а идти ножками к клиенту и стараться решить его проблему. Хочу поделиться опытом проведения 2-х Magic Kick startup, одного Startup weekend и участия в 2-х Стартап-сабантуях, демо дне выпуска 10-го акселератора ФРИИ и многим другим.
Перековывалась из программиста в бизнесмены долго и мучительно. Это потребовало в частности излечения от перфекционизма и типичного российского нытья. Могу и люблю делиться опытом про все подряд».
Гудбай, ИТ-лофт! Денис Нелюбин: Новейшая история ИТ-лофта7bits
Попробует вспомнить, откуда возник IT-лофт, почему он так назвался, что тут было хорошего и интересного. Как проводили субботники и хакатоны. Как кодили, слушали лекции, ели пиццу и печеньки, общались и работали.
Новейшая история ИТ-лофта — такой доклад решил подготовить Денис Нелюбин, системный архитертор 7bits, резидент лофта с 2014 года, организатор хакатонов и частый докладчик на ИТ-событиях Омска (и не только).
Гудбай, ИТ-лофт! Лопатюк Саша: Договоримся не плакать7bits
Реветь никто не собирается, а просто Саша Лопатюк, дизайнер Rosberry и соорганизатор Дизайн-среды, расскажет о том, почему договорённости и коммуникация в команде важнее расстояний, технологий и прочих мелочей.
Саше ИТ-лофт очень близок. Он работал здесь в команде А2 Дизайн, а потом участвовал в хакатонах и сам проводил события. Ему есть, что вспомнить и рассказать. Послушаем!
Гудбай, ИТ-лофт! Гончаровский Игорь: IT-Loft без связи 7bits
Человек, рабочее место которого в IT-лофте всегда можно узнать по большому количеству телефонов — Игорь Гончаровский.
Работая в IT-Loft и занимаясь длительное время вопросами связи, Игорь хотел бы поделиться мыслями о развитии технологий и их востребованности сейчас и в недалеком будущем в своем докладе «IT-Loft без связи».
Игорь также является владельцем ООО «Айтек», менеджером проектов Velvetech LLC и организатором конференций по Asterisk в России.
Доклад-ретроспектива — как Сергей с командой провели 15 Людумов, и какое будущее у проекта. Вы узнаете как вспомогательное IT-мероприятие превращается в городскую тусовку и свободный образовательно-практический проект.
Сергей Мячин настраивает бизнес-процессы в Лайв Тайпинг, помогает клиентам решать бизнес-задачи, кроме всего этого уже 5 лет разрабатывает игры и устраивает геймджемы.
Goodbye, IT-loft! Тараканов Алексей: Идеология в IT7bits
Тараканов Алексей — один из организаторов Omsk Linux User Group, Omsk Ubuntu LoCo, омской GPG-сети доверия (web of trust), евангелист Ubuntu, активист свободного программного обепечения, ведущий специалист ООО «ЛинуксМастер», занимается продвижением свободного программного обеспечения, делает нестандартные решения на базе СПО расскажет близкую ему тему: «Идеология в IT». Доклад о том, что такое OmskLUG, и ИТ-лофт как положительно повлиял на него.
Курс Java-2016. Занятие 07. Логи, фасады, библиотеки и коллекции
1. Курс по Java, 2016
Логи, фасады, библиотеки
и коллекции
slf4j, maven repo, collections framework
annie.tarasenko@7bits.it, denis.nelubin@7bits.it
2. Курс по Java, 2016
Журналы
System.out.println("Hello");
System.err.println("World");
new Exception("stack").printStackTrace();
Hello
World
java.lang.Exception: stack
at it.sevenbits.example.logs.OutPrint.main(OutPrint.java:
8)
Не надо
так!
3. Курс по Java, 2016
SLF4J
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.21</version>
</dependency>
http://www.slf4j.org/
4. Курс по Java, 2016
SLF4J (Simple Logging Facade for Java)
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class SLF4JLogSample {
final static Logger logger =
LoggerFactory.getLogger(SLF4JLogSample.class);
public static void main(String[] args) {
logger.info("Hello");
logger.warn("World");
logger.error("error", new Exception("exception"));
}
}
5. Курс по Java, 2016
SLF4J
SLF4J: Failed to load class "org.slf4j.impl.
StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger
implementation
SLF4J: See http://www.slf4j.org/codes.
html#StaticLoggerBinder for further details.
18. Курс по Java, 2016
Collection Framework
Набор коллекций в java.util
С Java 1.2
Generic с Java 1.5
19. Курс по Java, 2016
java.util.List
List<String> listOfStrings;
listOfStrings.add("abc"); // добавление элемента
listOfStrings.size(); // размер коллекции
listOfStrings.contains("abc"); // проверка наличия элемента
listOfStrings.get(0); // получение элемента
for (String item : listOfStrings) {
// цикл по элементам
}
20. Курс по Java, 2016
Реализации List
List<String> arrayList = new ArrayList<String>();
List<String> linkedList = new LinkedList<String>();
21. Курс по Java, 2016
java.util.Map
Map<Integer, String> map;
map.put(5, "five"); // добавить значение по ключу
map.size(); // получить количество значений
map.containsKey(5); // проверить наличие ключа
map.containsValue("five"); // проверить наличие значения
map.get(5); // получить значение по ключу
for (Map.Entry<Integer, String> entry : map.entrySet()) {
// цикл по ключам и значениям
entry.getKey(); // ключ
entry.getValue(); // значение
}
22. Курс по Java, 2016
Реализации Map
Map<Integer, String> hashMap =
new HashMap<Integer, String>();
Map<Integer, String> treeMap =
new TreeMap<Integer, String>();
25. Курс по Java, 2016
hashCode() и equals()
public class Entry {
public Integer key;
public String value;
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Entry entry = (Entry) o;
if (key != null ? !key.equals(entry.key) : entry.key != null) return false;
return value != null ? value.equals(entry.value) : entry.value == null;
}
@Override
public int hashCode() {
int result = key != null ? key.hashCode() : 0;
result = 31 * result + (value != null ? value.hashCode() : 0);
return result;
}
}
26. Курс по Java, 2016
Домашнее задание
В Formatter:
● Устранить замечания по коду касательно исключений, пакетов,
интерфейсов
● Использовать Logger (SLF4J) везде, где нельзя применить unit-тесты
Если хотите получать индивидуальный отзыв на работу, нужно сдать
задание до 22:00 четверга, 28 апреля 2016 года.
Следующие занятия переносятся на 5 и 12 мая!
Почитать: https://habrahabr.ru/post/113145/