В 2015 году, разрабатывая браузерную онлайн-игру, встала следующая задача: сделать второй сервер с другими настройками и механиками игры, а также вести перспективную разработку новой версии игры, в которой будет еще больше изменений, при этом общий каркас у всех версий игры одинаковый. Дело осложняется тем, что игре требуются постоянные обновление и исправления, т.к. игровой процесс идет и останавливать его из-за разработки параллельной версии никак нельзя.
Читать полностью »
Рубрика «java» - 172
Три ветки продукта и контроль версий
2017-01-28 в 14:51, admin, рубрики: java, Анализ и проектирование системВ поисках перформанса: мониторинг производительности JVM под Linux при помощи BPF
2017-01-27 в 14:03, admin, рубрики: java, java performance, jpoint, performance, Блог компании JUG.ru Group, высокая производительность, производительность, Разработка под Linux
Специалист по низкоуровневой оптимизации приложений, Саша Гольдштейн, в рамках своего доклада на JPoint немного отклонится от привычной тематики .NET и расскажет об инструментарии, помогающем бороться за производительность Java приложений под Linux. Что это за инструмент, кому он нужен и зачем, мы решили узнать заранее и взяли у Саши интервью.
JUG.Ru Group: Расскажите, пожалуйста, пару слов о себе и своей работе?
Саша Гольдштейн: Меня зовут Саша Гольдштейн, последние 10 лет я работаю в израильской консалтинговой компании Sela в качестве CTO.
Моя работа сфокусирована на вопросах оптимизации производительности, диагностике на продакшн, мониторинге и всевозможных низкоуровневых задачах.
Моя типичная рабочая неделя наполнена самыми разными задачами: я преподаю, исправляю ошибки или проблемы производительности для клиентов, а также работаю над внутренними проектами. Также я вхожу в программный комитет пары конференций: нашей собственной SDP (Тель-Авив, Израиль), а также DotNext (Москва и Санкт-Петербург, Россия), что на удивление занимает довольно много времени.
«Производительность большинства приложений определяется не железом или средой исполнения» – Sasha Goldshtein о мониторинге производительности Java под Linux
Я сталкивался (да и не только я) с проблемой развертывания Hibernate и решил попробовать осветить данную тему. Hibernate — это популярный framework, цель которого связать ООП и реализационную базу данных. Работа с Hibernate сократит время разработки проекта в сравнении с обычным jdbc.
Для новичка программирования настройка framework часто вызывает затруднения. Помощь комьюнити с освещением базовых проблем поможет начинающим осваивать языки программирования быстрее. Статья предназначена только для начинающих в Java, которые впервые развертывают hibernate. Я развертывал hibernate на базе лицензионной IDEA.
Maven framework для автоматизации сборки проекта на основе POM, позволяющая подключать из интернета зависимости, не скачивая библиотеки в проект. POM (project object model) -декларативное описание проекта. Копируем название библиотек в xml формате с сайта mvnrepository.com.
Читать полностью »
«При работе над инспекциями кода встречаешь Java-паззлеры каждый день»: Тагир Валеев о работе над IntelliJ IDEA
2017-01-26 в 11:34, admin, рубрики: intellij idea, java, jetbrains, Блог компании JUG.ru Group, инспекции кода, статический анализ кода
Одни знают Тагира lany Валеева по его докладам о Stream API, другие — по хабрапостам, третьи — по работе над статическим анализом кода (в проектах FindBugs и HuntBugs). А с августа он работает в JetBrains над IntelliJ IDEA, и это на многое повлияло: анализом кода он теперь занимается именно там, и его следующий доклад (на приближающихся JPoint и JBreak) будет как раз о создании инспекций кода в IDEA. Мы расспросили Тагира о том, каково разрабатывать проект, в котором разрабатывают всё остальное.
Читать полностью »

Сегодня Mark Reinhold объявил об открытии репозиториев mercurial для Java 10, и разработчики, имевшие статус committer и выше в проекте Java 9, получили возможность размещать багфиксы и мелкие улучшения, которые не предполагается вносить в Java 9. Всем разработчикам (например, мне) обновили статус на страничке переписи OpenJDK.
Крупные изменения вносить пока не рекомендуется во избежание конфликтов. Изменения в Java 9 ещё не завершены и некоторое время придётся их переносить в Java 10. При отсутствии конфликтов процедура будет автоматизирована, так что тем, кто продолжает вносить исправления в Java 9, скорее всего не придётся лишний раз беспокоиться.
Обнаружение дефектов кода типа «Expression Issues» (CWE-569)
2017-01-25 в 12:03, admin, рубрики: AppChecker, java, open source, php, анализ кода, Блог компании Эшелон, информационная безопасность, Совершенный кодНастоящей статьей мы продолжаем серию обзоров, посвященных обнаружению уязвимостей в open-source проектах с помощью статического анализатора кода AppChecker.
В рамках этой серии рассматриваются наиболее часто встречающиеся дефекты в программном коде, которые могут привести к серьезным уязвимостям. В этой статье мы остановимся на широком классе дефектов типа "Expression Issues".

В международной классификации CWE данный тип дефектов известен как CWE-569: Expression Issues. К нему относятся различные ошибки в логических выражениях в коде программы. Частным случаем дефекта такого класса является дефект «Присваивание вместо сравнения».
Рефакторинг салона видеопроката на JavaScript
2017-01-24 в 9:11, admin, рубрики: java, javascript, классы, объектный подход, Проектирование и рефакторинг, рефакторинг, стиль программирования
Моя книга по рефакторингу в 1999 году начиналась с простого примера расчёта и форматирования чека для видеомагазина. На современном JavaScript есть несколько вариантов рефакторинга того кода. Здесь я изложу четыре из них: рефакторинг функций верхнего уровня; переход к вложенной функции с диспетчером; используя классы; трансформация с применением промежуточной структуры данных.
Много лет назад, когда я писал книгу по рефакторингу, я начал с (очень) простого примера рефакторинга кода, который вычислял счёт для клиента за прокат видеофильмов (в те дни нам нужно было ходить в салон для этого). Недавно я размышлял об этом примере, в частности, как бы он выглядел на современном JavaScript.
Любой рефакторинг подразумевает улучшение кода в определённом направлении, в том, которое соответствует стилю программирования команды разработчиков. Пример в книге был на Java, а Java (именно в то время) подразумевала определённый стиль программирования, объектно-ориентированный стиль. Однако с JavaScript есть гораздо больше вариантов, какой стиль выбрать. Хотя вы можете придерживаться Java-подобного объектно-ориентированного стиля, особенно с ES6 (Ecmascript 2015), не все сторонники JavaScript одобряют этот стиль. Многие действительно считают, что использовать классы Очень Плохо.
Читать полностью »
Разработка JDK 9 прошла фазу «Feature Complete»
2017-01-23 в 5:33, admin, рубрики: feature complete, java, jdk9, open source, ПрограммированиеМарк Рейнхольд (Mark Reinhold) главный архитектор платформы Java в Oracle на днях сообщил в рассылке что разработка JDK 9 прошла фазу «Feature Complete». Что значит, что добавление новой функциональности в проект приостановлено и теперь необходимо сконцентрировать усилия сообщества разработчиков на исправлении ошибок.
Читать полностью »
Нейронные сети. Часть 2 — Функции активации
2017-01-22 в 14:25, admin, рубрики: java, neural network, Исследования и прогнозы в IT, нейронные сети, Учебный процесс в ITДоброго дня! В этой статье разбираются функции активации нейрона.
Функция активации в нейроне – это такая функция, которая позволяет нормализовать выходные данные в более удобный и правильный формат, для дальнейшего использования.
В прошлой статье я уже рассказывал об одной из них.
1. Функция единого скачка. Когда заряд в нейроне, после суммирования достиг какого-то порога или привесил его – нейрон вместо суммированного заряда выдаст 1. Если же заряд не достиг порога – нейрон выдаст 0.
Так же, есть сигмоидальные функции активации. Читать полностью »
Анализ доклада Баруха Садогурского с JPoint 2015
2017-01-17 в 14:09, admin, рубрики: java, jpoint2015, Блог компании JUG.ru Group, презентация, разборСозрел ещё один разбор, в этот раз смотрим доклад Баруха jbaruch Садогурского «Как писать асинхронные многопоточные http-приложения» с JPoint 2015:
Слайды тут.
Про Java только разбираемый доклад, а не сама статья.
Читать полностью »
