Статьи, которые добавил aNNiMON: Обобщения в Java (Java Generics)Дженерики появились в Java 1.5 и призваны обезопасить код от неправильной типизации. Параметризируя класс, интерфейс или метод, можно добиться гибкости в переиспользовании алгоритмов, строгой проверки типов и упростить написание кода. Без использования дженериков в код может пробраться ошибка типов:
Здесь мы случайно добавили в список число 3, а затем берём из списка строки. Код скомпилируется, но вот при запуске будет выдан ClassCastException на последней строке. Перепишем с использованием дженериков:
Продолжить Рейтинг: 9 (За: 9 | Против: 0) Добавлено: 30.03.2017 от aNNiMON Комментарии (15) Плагин javac или добавляем Extension Methods в JavaВ Java 8 появилась возможность писать плагины к компилятору javac. С их помощью можно получать управление на нужном этапе компиляции и производить дополнительные проверки или изменения. Каждый плагин имеет название и может принимать аргументы для настройки своей работы. Если сравнивать с процессорами аннотаций, то плагины к компилятору более гибкие и простые в использовании. Они не вызывают перекомпиляцию, если был сгенерирован какой-то класс, получить управление можно практически на любом этапе компиляции, вплоть до кодогенерации. Настройка Для реализации плагина нужно добавить в зависимости tools.jar, который находится в составе JDK.
Продолжить Рейтинг: 4 (За: 4 | Против: 0) Добавлено: 22.03.2017 от aNNiMON Комментарии (3) Оптимизация запросов MySQLВчера я решил заняться оптимизацией запросов на сайте. После перехода с устаревшего модуля mysql на PDO скорость работы снизилась, а после обновления MySQL с версии 5.5 до 5.7 производительности не прибавилось. Это явно говорило о том, что с нашими таблицами и с запросами что-то не так. Прощай, MyISAM Первым делом я решил посмотреть на саму структуру базы данных. Оказалось, половина таблиц была на движке MyISAM, а половина на InnoDB. MyISAM хорош для тех таблиц, в которых данные в основном читаются, а не пишутся. Например, наш раздел Категории или правила сайта. Если в таблицу часто делается запись, это снижает производительность, потому что MyISAM на время добавления блокирует всю таблицу Продолжить Рейтинг: 10 (За: 10 | Против: 0) Добавлено: 25.02.2017 от aNNiMON Комментарии (17) Markdown для повседневной жизниMarkdown - простой и удобный язык разметки. Благодаря его популярности, существует множество программ и сервисов, которые так или иначе с ним взаимодействуют. Практически каждый README на GitHub использует Markdown, также он используется на многих сайтах для написания статей или даже книг. В статье даётся быстрый старт для начинающих, а также множество инструментов для упрощения повседневной работы. Применение Markdown может быть использован для ведения ежедневных заметок, блогов, в мессенджерах, для описания проектов, для составления презентаций и даже как основа для целого сайта. Синтаксис Заголовки В Markdown, как и в HTML, есть 6 уровней заголовков. В html они обозначаются так:
Продолжить Рейтинг: 12 (За: 14 | Против: 2) Добавлено: 29.01.2017 от aNNiMON Комментарии (30) Чему я научился за два года работы над Open Source проектом1 января 2015 года я создал репозиторий на GitHub, не подозревая, что он вскоре обретёт популярность. В этой статье я опишу, через что мне пришлось пройти, чему я за это время научился и дам советы по улучшению своего проекта. Краткий список советов, освещённых далее Краткий список советов, освещённых далее 1. Не бойтесь изобретать велосипеды.2. Используйте системы контроля версий. 3. Создавайте хороший README. 4. Примеры никогда не будут лишними. 5. Не бойтесь заводить issue в чужих репозиториях. 6. Обязательно указывайте лицензию проекта. 7. Создайте в своём репозитории хорошую атмосферу. 8. Старайтесь как можно быстрее реагировать на вопросы. 9. Документация крайне важна. 10. Используйте систему сборки проекта. 11. Используйте системы непрерывной интеграции. 12. Используйте различные конфигурации для сборки. 13. Продолжить Рейтинг: 21 (За: 21 | Против: 0) Добавлено: 1.01.2017 от aNNiMON Комментарии (34) Всего: 106 Категории
|