• Плюшки для студентов

  • Топик для покупки книг

    Продам:
    1. SCALA для нетерпеливых — 300 грн
    2. Приемы объектно-ориентированного проектирования. Паттерны проектирования — 200 грн
    3. Java Эффективное программирование (2-Издание) — 300 грн
    4. Структуры данных и алгоритмы в Java. Классика Computers Science. 2-е издание — 400 грн
    5. «Современные операционные системы» 4-ое изд. Таненбаум — 400 грн

  • Serverless, Micronaut Framework та розподілені системи: тренди у Java, на які варто звернути увагу

    Ми чикаєм OpenJdk від оракла, не HotSpot.

    Вот здесь не понял вас.
    Oracle JDK и OracleOpenJDK JDK 11 builds сами по себе билды OpenJDK c виртуальной машиной под названием HotSpot. Внутренности практично идентичны для версий 9 и выше. До этого все таки было много отличий: -XX:+UnlockCommercialFeatures, диагностические тулзы (Java Flight Recorder), но внутри все равно HotSpot

  • Serverless, Micronaut Framework та розподілені системи: тренди у Java, на які варто звернути увагу

    GraalVM

    Все таки нужно понимать что GraalVM объединяет под единым названием:
    1. Graal (JIT компилятор для JVM). Можно использовать с JDK 9 и выше, благодаря JEP 317
    2. Truffle (в грубой форме — фрейморк для построение AST)
    3. SubstrateVM ( Ahead-of-time Compilation и запуск как единного бинарника/native image)
    4. и т.д. Полный список github.com/oracle/graal
    Если 2 пункт является довольно узкоспециализированным, то остальные 1 и 3 очень даже применимы для рядового разработчика или обычных программ.
    Особенно 1, Twitter получил хороший буст при замены C2 на Graal:

    В продакшне мы экономим 8% утилизации CPU просто с помощью замены C2 на Graal. А в масштабах Twitter это много денег.
    https://habr.com/company/jugru/blog/349638/
    Serverless архітектура

    Вот здесь как раз и приходит на помощь связка Graal + SubstrateVM:
    1. Быстрый старт приложение
    2. Единый бинарник/native image, что ведет за собой удобный деплой.
    3. AOT компиляция

    Micronaut Framework

    И вот здесь стоит вспомнить что не все так сладко в связке Graal + SubstrateVM и есть разные ограничения и одно из них это dynamic class loading, что вызывает проблемы для «стандартного» приложение/стека (Spring/Hibernate). И вот здесь появляется Micronaut с его EFFICIENT COMPILE-TIME DEPENDENCY INJECTION AND AOP. Ждем ответа от Pivotal в виде Spring Fu

    Vert.x

    Я бы еще добавил сюда рост популярности к асинхронным и не блокирующим вычислениям:
    1. Reactive Relational Database Connectivity https://github.com/r2dbc
    2. Project Loom: lightweight threads/coroutines/continuations и т.д. Нативная поддержка в самой JVM
    3. Kotlin Coroutines https://github.com/Kotlin/kotlin-coroutines/tree/master/examples

    Поддержали: Oleksandr Ansimov, Andriy Rymar
  • Зброя

    Законно иметь оружие в этой стране невозможно в принципе

    А в чем проблемы ? С 21 гладкоствольное, с 25 нарезное. Документы на получение не вызывают большой головное боли. Не все так просто как в штатах, но вполне реально. Да есть момент что вы не можете владеть короткоствольным оружием, если не относитесь к определенным группам граждан. Но единственная большая проблема связанная с самозащитой (насколько я знаю), это понятие самообороны с помощью огнестрельного оружие в Уголовном кодексе Украины.

    Хотя это понятие является субъективно-оценочным, Уголовный кодекс Украины указывает на то, что меры и средства, примененные потерпевшим, должны соответствовать характеру и степени угрозы от нападающего . То есть применение оружия против безоружного человека может быть расценено как превышение мер самообороны, если не вдаваться в детали.
    Поддержал: Stanislav Oles
  • Переходим на Java 10: проблемы и решения

    В отличие от 9-ки, никакого изменения по перформансу или потреблении памяти замечено не было.

    Graal не пробовали использовать в качестве C2 компилятора ? Учитывая что он теперь есть в JDK 10 без специальных приседаний было бы интересно увидеть графики различия на вашем ворклоаде.

  • Java дайджест #37: релиз Flyway 5.0.0 и новая жизнь JEE (EE4J)

    С ними можно добиться существеного буста перфоманса за счет избегания боксинга..

    1. Автор ничего не писал про боксинг
    2. Укажите мне связь между возможности создавать struct и боксинга ?)
    Если первое про использование памяти, а второе про проблемы примитивных типов и их reference реализаций в мире jvm)

    In Java, generic types are a purely a compiler trick. The JVM has no notion of which classes have type-arguments, and it’s unable to perform parametric specializations at runtime.

    И здесь имеется ввиду. Что дженерики в jvm не совсем честные. Они есть только на этапе компиляция для проверки типов. В рантайме есть только мета информация
    И если вас уже так сильно цепляет проблема боксинга, то есть JEP 169
    openjdk.java.net/jeps/169 где решается проблема и возможность писать «List [int]»
    С вашего позволения я бы все таки прекратил бы этот спор.

  • Java дайджест #37: релиз Flyway 5.0.0 и новая жизнь JEE (EE4J)

    The CLR has coroutines (implemented with the C# ’yield’ keyword). The JVM does not.

    мне все таки кажется, что асинхронные операции ближе к операционным системам. Смешивать ключевое слово языка, виртуальные машины в данном контексте — очень странно

    arguably a JAR (i.e. Java ARchive) as evidenced by being able to specifiy a jar in the classpath and have it treated like a folder of code.

    О какой JVM говорит автор ? Здесь важно учитывать что JVM это спецификация, следуя которой вы можете написать свою виртуальную машину и после сертификации от oracle называть ее JVM. Так вот одна из jvm под названием Excelsior JET компилирует java классы в исполняемый бинарник.
    Можно комментировать и другие цитаты автора, но отличия конечно же будут. Но я не говорил что лучше а что хуже...

    Поддержал: Dmitry Derevyagin
  • Java дайджест #37: релиз Flyway 5.0.0 и новая жизнь JEE (EE4J)

    @Oleksii Kraieviy @Stanisav Silin
    Я изначально не правильно выразился. Изначально я имел ввиду JVM, а не Java.
    Один из самый простых аргументов, это то что в JVM вложили намного больше времени и усилий в отличии от CLR. Возможно в скором времени благодаря .NET Core все изменится.
    Другой момент, вытекает из первого, возможность работы на linux открывает более широкие возможности, за примером далеко ходить не нужно, тот же NETTY, при запуске на linux позволяет более тесно интегрироватся и использовать нативные возможности linux.
    Так что ни кого не хотел обидеть, в плане языка C# имеет куда более интересные возможности и плюшки, но вот что касается виртуальных машин исполнения )

  • Java дайджест #37: релиз Flyway 5.0.0 и новая жизнь JEE (EE4J)

    async/await

    Уже давно есть, только используются не языковые конструкция а библиотека языка — CompletableFuture.
    Если нужно еще больше сахара, можно использовать Kotlin/Scala
    async { doSomething(foo) ... }
    При это async, не ключевое слово, а библиотечная функция
    Довольно не удачный наезд на Java, со стороны многопоточности, где .NET платформа, в качестве догоняющего

  • Java дайджест #37: релиз Flyway 5.0.0 и новая жизнь JEE (EE4J)

    вот новый JEP, который основан на старом JEP 305
    openjdk.java.net/jeps/325

  • Про ниасиливших Scala (или фигак фигак и сервисы на Go лучше)

    а был на 13 )

    Поддержал: notus
  • DOU Проектор: AgriEye — рекомендации по земледелию на основе AI и анализа данных

    — А где AI будет использоваться ? И для каких целей ?
    — Как хранятся и раздаются растровые данные ?
    — Чем сшиваете фотки с дрона ?
    — Какой стек используется на стороне фронта ?

    Поддержал: Dima Fresh
  • Java дайджест #36: Java 10

    openjdk.java.net/projects/jdk/10
    286: Local-Variable Type Inference — ну вот вам сахара немного дали )

  • Java дайджест #36: Java 10

    Я думаю что вы уже слышали про новый релизный цикл.

    Developers who prefer rapid innovation, so that they can leverage new features in production as soon as possible, can use the most recent feature release or an update release thereof and move on to the next one when it ships

    Вот и стараются меньше пообещать, и справится с обещаным. Будет время до релиза, может еще что-то выкатят.
    Я все самые большие вкусняшки уже выкатят в следующем LTS верисии

  • О євробляшках

    б.у. шки дешевле в разы

    Нужно учитывать что есть внутренняя сборка, заводы skoda, toyota и наверное другие, от этого и цена будет значительно меньше, так как растаможки нет на машину.

  • Боль и страдания перехода на Java 9

    В предрелизных билдах была 32 версия OpenJDK 9, после выхода GA доступна только 64 для linux. Если очень сильно заморочится, можно найти версию, люди ее на файлообменники заливали.

  • Scala дайджест #7: новая среда AI на основе Scala, популярность языков для DataScience, видео ScalaUA и ScalaDays

    Возможный дизайн подсистемы макросов в dotty

    Довольно интересный выпуск с гостем Евгением Бурмако, в тему макросов
    scalalaz.ru/series-23.html

  • DevOps дайджест #13: Docker уплыл, возле Go водятся драконы

    можно еще добавить плейлист с DevOpsDays Moscow 2017
    www.youtube.com/…​HpqVpASHAkCeTPkNjB6-XmXS3

  • Кого проще переквалифицировать на Golang разработчика?

    Ваша любимая scala.

    for(i <- 1 to 10){
    Future { println(s"hello from future $i") }
    }
    Поддержал: Grez
← Сtrl 123 Ctrl →