• Разработка под WebAssembly: реальные грабли и примеры



      Анонс WebAssembly состоялся в 2015-м — но сейчас, спустя годы, всё ещё немногие могут похвастаться им в продакшне. Тем ценнее материалы о подобном опыте: информация из первых рук о том, каково с этим жить на практике, пока что в дефиците.

      На конференции HolyJS доклад об опыте использования WebAssembly получил высокие оценки зрителей, и теперь специально для Хабра подготовлена текстовая версия этого доклада (видеозапись также приложена).
      Читать дальше →
    • Kotlin puzzlers, Vol. 2: новая порция головоломок



        Можете предсказать, как поведёт себя такой Kotlin-код? Скомпилируется ли он, что выведет и почему?

        Как бы хорош ни был язык программирования, он может подкинуть такое, что останется только в затылке чесать. Kotlin не исключение — в нём тоже встречаются «паззлеры», когда даже у совсем короткого фрагмента кода оказывается неожиданное поведение.

        Ещё в 2017-м мы публиковали на Хабре подборку таких паззлеров от Антона Кекса antonkeks. А позже он выступил у нас на Mobius со второй подборкой, и её мы теперь тоже перевели для Хабра в текстовый вид, спрятав правильные ответы под спойлеры.

        Видеозапись выступления также прилагаем, если по тексту что-то окажется непонятным, можете обращаться и к ней.
        Читать дальше →
        • +18
        • 4,6k
        • 6
      • Путеводитель по программе JPoint 2019

          Последний месяц зимы подходит к концу, и просыпается здоровое желание сходить на какую-нибудь большую Java-конференцию. Благо, всего месяц остался до JPoint 2019 — международной Java-конференции, которая пройдёт в начале апреля в Москве. Программа почти стабилизировалась, и настало время раскрыть все карты.


          Программа нового JPoint огромная: два дня, каждый день по двадцатке докладов. На какие из них идти? Можно упростить себе задачу, разбив доклады на несколько категорий:


          • VM & Runtime — 8 хардкорных докладов от лидеров индустрии: Oracle, BellSoft, IBM, Azul, Excelsior, Одноклассники и GridGain;
          • Enterprise — 5 докладов от российских и международных энтерпрайзов: Spring, JavaEE, Liferay, Vaadin, Kafka, Netflix OSS vs Kubernetes, архитектура больших систем;
          • Reactive — 10 докладов про страшный и волшебный реактивный мир: Spring Web Reactive Framework, Spring Project Reactor, RSocket, Reactive Streams, реактивная архитектура;
          • Languages — 7 докладов по языкам: Java 9-12 (deputy CTO Azul), Kotlin и Kotlin/Native (JetBrains), Scala, функциональное программирование;
          • Tooling — 5 докладов про тулинг: создатель Jenkins (CEO CloudBees), разработчики Gradle и IntelliJ IDEA;
          • Несколько докладов вне категорий.

          Объем хабрастатьи не позволит рассмотреть все доклады одновременно, поэтому в каждой из категорий я выбрал парочку наиболее интересных лично мне. Про всё остальное можно узнать на сайте, а сейчас можно занырнуть под кат и увидеть, что год грядущий нам готовит.


          Читать дальше →
          • +29
          • 2,1k
          • 1
        • Google открыл доменную зону .dev



            Ещё в 2015-м Google вызвал недовольство некоторых разработчиков, заполучив доменную зону .dev в своё единоличное пользование. Теперь ситуация меняется, и возможность купить домен получает любой.

            Ну, прямо сейчас не совсем любой: с 19 по 28 февраля действует Early Access Program с дополнительной платой за регистрацию домена, доходящей до $11 000. Но с каждым днём сумма будет снижаться, а с 28 февраля останется только стандартная оплата в $12/год, так что это будет подходить не только для крупных компаний, но и для маленьких личных бложиков о разработке.

            Ряд компаний уже активен в новой зоне (и это даже не просто означает «поставили редирект»). Вот несколько примеров:
            Читать дальше →
          • Domain-driven design: рецепт для прагматика


              Почему к DDD обычно подходят не с той стороны? А с какой стороны надо? Какое отношение ко всему этому имеют жирафы и утконосы?

              Специально для Хабра — текстовая расшифровка доклада «Domain-driven design: рецепт для прагматика». Доклад был сделан на .NET-конференции DotNext, но может пригодиться не только дотнетчикам, а всем интересующимся DDD (мы верим, вы осилите пару примеров кода на C#). Видеозапись доклада также прилагается.
              Читать дальше →
            • Александр Белокрылов и Дмитрий Чуйко о Liberica JDK на jug.msk.ru

                14 февраля 2019 года на первой в этом году встрече сообщества московских Java-разработчиков jug.msk.ru Александр Белокрылов и Дмитрий Чуйко из компании BellSoft рассказали об особенностях разработки дистрибутива Liberica JDK.


                Читать дальше →
              • Релиз-кандидат JDK 12: Shenandoah, G1, JMH, Arm64. Баги в Swing наносят ответный удар

                  240 дней прошло с момента выпуска JEP 3: JDK Release Process, и адская машина по производству новых версий останавливаться не желает. А значит, настало время очередного релиз-кандидата. Это период, когда все мосты сожжены, баги с приоритетами P2-P5 уже ничего не значат, и дни до релиза сочтены.


                  Читать дальше →
                • Надёжный JavaScript: в погоне за мифом

                    JavaScript нередко называют «самым популярным языком», но, кажется, никто не отзывается о JS-разработке как о «самой безопасной», и количество подстерегающих проблем в экосистеме велико. Как эффективно их обходить?



                    Илья Климов задумался об этом, когда ошибка обошлась очень дорого (в буквальном смысле) — и в итоге сделал доклад на HolyJS. А поскольку зрительские отзывы оказались отличными, мы теперь подготовили для Хабра текстовую версию этого доклада. Под катом — и текст, и видеозапись.
                    Читать дальше →
                  • Spring Boot 2: чего не пишут в release notes



                      Когда у масштабного проекта происходит масштабное обновление, всё никогда не бывает просто: неизбежно возникают неочевидные нюансы (проще говоря, грабли). И тогда, как бы хороша ни была документация, с чем-то поможет только опыт — свой или чужой.

                      На конференции Joker 2018 я рассказал, с какими проблемами столкнулся сам при переходе к Spring Boot 2 и как они решаются. А теперь специально для Хабра — текстовая версия этого доклада. Для удобства в посте есть и видеозапись, и оглавление: можно не читать всё целиком, а перейти непосредственно к волнующей вас проблеме.
                      Читать дальше →
                    • Строители против синтаксиса Java

                      • Перевод

                      Шаблон проектирования «строитель»один из самых популярных в Java.


                      Он простой, он помогает делать объекты неизменяемыми, и его можно генерировать инструментами вроде @Builder в Project Lombok или Immutables.


                      Но так ли удобен этот паттерн в Java?

                      Читать дальше →

                    Самое читаемое