Статьи, которые добавил aNNiMON:

Обобщения в Java (Java Generics)

Java  generics, обобщения, дженерики


Дженерики появились в Java 1.5 и призваны обезопасить код от неправильной типизации. Параметризируя класс, интерфейс или метод, можно добиться гибкости в переиспользовании алгоритмов, строгой проверки типов и упростить написание кода.

Без использования дженериков в код может пробраться ошибка типов:
  1. List list = new ArrayList();
  2. list.add("1");
  3. list.add("2");
  4. list.add(3);
  5.  
  6. String v1 = (String) list.get(0);
  7. String v2 = (String) list.get(1);
  8. String v3 = (String) list.get(2);

Здесь мы случайно добавили в список число 3, а затем берём из списка строки. Код скомпилируется, но вот при запуске будет выдан ClassCastException на последней строке.

Перепишем с использованием дженериков:
  1. List<String>

Продолжить

Рейтинг:  9  (За: 9 | Против: 0)
Добавлено: 30.03.2017 от aNNiMON

Комментарии (15)

Плагин javac или добавляем Extension Methods в Java

Java  javac, compiler, extension methods

Screenshot from 2017-03-22 21-32-47.png
В Java 8 появилась возможность писать плагины к компилятору javac. С их помощью можно получать управление на нужном этапе компиляции и производить дополнительные проверки или изменения. Каждый плагин имеет название и может принимать аргументы для настройки своей работы.

Если сравнивать с процессорами аннотаций, то плагины к компилятору более гибкие и простые в использовании. Они не вызывают перекомпиляцию, если был сгенерирован какой-то класс, получить управление можно практически на любом этапе компиляции, вплоть до кодогенерации.


Настройка
Для реализации плагина нужно добавить в зависимости tools.jar, который находится в составе JDK.
  1. dependencies

Продолжить

Рейтинг:  4  (За: 4 | Против: 0)
Добавлено: 22.03.2017 от aNNiMON

Комментарии (3)

Оптимизация запросов MySQL

PHP/MySQL  mysql, запросы, оптимизация

Вчера я решил заняться оптимизацией запросов на сайте. После перехода с устаревшего модуля mysql на PDO скорость работы снизилась, а после обновления MySQL с версии 5.5 до 5.7 производительности не прибавилось. Это явно говорило о том, что с нашими таблицами и с запросами что-то не так.

Прощай, MyISAM
Первым делом я решил посмотреть на саму структуру базы данных. Оказалось, половина таблиц была на движке MyISAM, а половина на InnoDB.

MyISAM хорош для тех таблиц, в которых данные в основном читаются, а не пишутся. Например, наш раздел Категории или правила сайта. Если в таблицу часто делается запись, это снижает производительность, потому что MyISAM на время добавления блокирует всю таблицу
Продолжить

Рейтинг:  10  (За: 10 | Против: 0)
Добавлено: 25.02.2017 от aNNiMON

Комментарии (17)

Markdown для повседневной жизни

Прочее  markdown

Markdown - простой и удобный язык разметки. Благодаря его популярности, существует множество программ и сервисов, которые так или иначе с ним взаимодействуют. Практически каждый README на GitHub использует Markdown, также он используется на многих сайтах для написания статей или даже книг.

В статье даётся быстрый старт для начинающих, а также множество инструментов для упрощения повседневной работы.

Применение
Markdown может быть использован для ведения ежедневных заметок, блогов, в мессенджерах, для описания проектов, для составления презентаций и даже как основа для целого сайта.


Синтаксис
Заголовки
В Markdown, как и в HTML, есть 6 уровней заголовков. В html они обозначаются так:
  1. <h1>Заголовок

Продолжить

Рейтинг:  12  (За: 14 | Против: 2)
Добавлено: 29.01.2017 от aNNiMON

Комментарии (30)

Чему я научился за два года работы над Open Source проектом

Прочее  разработка, open source, github

1 января 2015 года я создал репозиторий на GitHub, не подозревая, что он вскоре обретёт популярность. В этой статье я опишу, через что мне пришлось пройти, чему я за это время научился и дам советы по улучшению своего проекта.
Краткий список советов, освещённых далее

Продолжить

Рейтинг:  21  (За: 21 | Против: 0)
Добавлено: 1.01.2017 от aNNiMON

Комментарии (34)
Всего: 106
<< 1 ... 11 12 13 14 15 ... 22 >>
Категории

Мы в соцсетях

tw tg yt gt