• Отчёт с Java Virtual Machine Language Summit 2019


      Сегодня закончился двенадцатый саммит JVM LS. Как обычно, это было хардкорное мероприятие с техническими докладами, посвящёнными виртуальным машинам и языкам, которые на них работают. Как обычно, саммит проходил в Санта-Кларе, в кампусе компании Оракл. Как обычно, желающих попасть сюда существенно больше, чем мест: количество участников не превышает 120. Как обычно, не было никакого маркетинга, только потроха.


      Для меня этот саммит уже третий, и каждый раз я посещаю его с большим удовольствием, несмотря на ужасный jetlag. Здесь можно не только послушать доклады, но и познакомиться поближе с известными людьми из мира JVM, поучаствовать в неформальных беседах, позадавать вопросы на воркшопах и вообще почувствовать себя причастным к великим свершениям.


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

      Читать дальше →
      • +40
      • 5.3k
      • 5
    • Зачем инженеру soft skills

        Навыки, которые IT-специалисты применяют в работе, делятся на два типа – hard skills («жёсткие навыки») и soft skills («гибкие навыки»). Первые – это профессиональные умения, которыми инженеры пользуются, решая технические задачи. Это, например, владение Java или знание Big Data-стека.

        А что насчет вторых? Soft skills – это комплекс неспециализированных навыков, которые не менее важны в работе. Что это за умения, зачем они нужны айтишнику, как их развивать, почему инженеры с прокаченными «гибкими навыками» становятся все более востребованными, объясняет тимлид одной из команд тестировщиков EPAM и тренер в области soft skills Сергей Атрощенков.


        Читать дальше →
      • Почему вы никогда не должны использовать MongoDB

        • Translation
        Дисклеймер от автора (автор — девушка): Я не разрабатываю движки баз данных. Я создаю веб-приложения. Я участвую в 4-6 разных проектах каждый год, то есть создаю много веб-приложений. Я вижу много приложений с различными требованиями и различными потребностями хранения данных. Я разворачивала большинство хранилищ, о которых вы слышали, и несколько, о которых даже не подозреваете.

        Несколько раз я делала неправильный выбор СУБД. Эта история об одном таком выборе — почему мы сделали такой выбор, как бы узнали что выбор был неверен и как мы с этим боролись.Это все произошло на проекте с открытым исходным кодом, называемым Diaspora.
        Читать дальше →
      • Нельзя так просто взять и написать SELECT, если вендор не разрешает… но мы таки напишем

        • Tutorial

        TL;DR: GitHub://PastorGL/AQLSelectEx.


        Aerospike AQL SELECT


        Однажды, ещё не в студёную, но уже зимнюю пору, а конкретно пару месяцев назад, для проекта, над которым я работаю (нечто Geospatial на основе Big Data), потребовалось быстрое NoSQL / Key-Value хранилище.


        Терабайты исходников мы вполне успешно прожёвываем при помощи Apache Spark, но схлопнутый до смешного объёма (всего лишь миллионы записей) конечный результат расчётов надо где-то хранить. И очень желательно хранить таким образом, чтобы его можно было по ассоциированным с каждой строкой результата (это одна цифра) метаданным (а вот их довольно много) быстро найти и отдать наружу.

        И вот какая вышла история...
      • Собаку съел на нейронных сетях

          Вот видишь ты на улице пёсика. Ты всегда видишь на улице пёсиков. Вот кто-то вообще их не замечает и не имеет хлопот, вот нет этих душевных терзаний, и вообще можно считать, что им на улице норм. Но ты же! И заметил, и глаза у тебя на мокром месте, такой думаешь: «пёсик. уаа, такой миленький, взял бы но не могу. Но вот прям точно, но никак». И пошёл такой дальше. Но пофотал его, погладил.


          Вот таким добрым малым нужно кидать нам в систему геопозицию животинки на данный момент и пару фото.
          Читать дальше →
        • 90 новых фич (и API) в JDK 11

          • Translation

          Привет, Хабр! Представляю вашему вниманию перевод статьи «90 New Features (and APIs) in JDK 11» от автора Simon Ritter.



          Новый шестимесячный релизный цикл JDK для многих означает, что некоторые ещё даже не выяснили, какие новые функции в JDK 10, а на пороге уже JDK 11. В одном из ранних блогов (англ.), были перечислены все 109 новых фич и API, которые удалось найти в JDK 10. Поэтому для JDK 11 было решено поступить аналогично. Тем не менее, был выбран другой формат. Этот пост будет поделён на два раздела: новые фичи, которые доступны разработчикам (публичный API) и всё остальное. Таким образом, если вас интересует только то, что непосредственно повлияет на вашу разработку, вы можете пропустить вторую часть.


          Общее число изменений, которое удалось подсчитать, получилось равным 90 (это JEP плюс новые классы и методы, исключая отдельные методы для HTTP-клиента и Flight Recorder) (прим. переводчика: Java Flight Recorder (JFR) был одним из коммерческих дополнений от Оракла встроенным в JDK, но начиная с Java 11, благодаря JEP 328, был передан в опенсорс). Хоть и в JDK 11 удалось найти на одиннадцать изменений меньше, чем в JDK 10, считаю, что справедливо сказать, что в JDK 11 добавлено больше функциональных возможностей, однозначно на уровне JVM.

          Читать дальше →
          • +21
          • 36.9k
          • 5
        • Моя история прохождения интервью в IB IT (Java разработчик, investment bank) в Лондоне с примерами типичных заданий

            Так получилось, что я хотел стать программистом еще учась в университете в Москве, но стал им уже за пределами России и не сразу — путь был долог и тернист. Я ходил на множество интервью (вначале искал я, потом уже искали меня), вникал в тонкости работы и размышлял на тему — как же стать хорошим программистом.


            Один из аспектов, который актуален на протяжении всей карьеры, это поиск работы и прохождение интервью. Я сам проводил очень мало интервью (4-5), но посетил большое их количество (>100). У меня было 3-4 периода по поиску работы за последние ~7 лет, когда я ходил на интервью месяц-два, по 1-2-3 в день иногда.


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


            Что бы мне было интересно узнать в комментариях — как это бывает у других, особенно в Москве/России, наверняка есть различия с Европой.

            Читать дальше →
          • FloatingActionMode — панель контекстных действий для Android

              Контекстные действия с элементами списка широко используются с Android-приложениях. Довольно удобно выделить несколько элементов или все элементы списка и применить какое-то действие ко всем выбранным элементам сразу. Удалить, например.


              В Android-приложениях для этого может использоваться ActionMode, который позволяет отобразить доступные действия над выделенными элементами поверх Toolbar. Там же можно показывать пользователю сколько элементов выделено в текущий момент или другую полезную информацию. Это удобно и хорошо смотрится, но в некоторых случаях информация, отображаемая на самом Toolbar, может быть важна и скрывать ее не хотелось бы. К примеру, там может быть имя и фото пользователя, список сообщений с которым отображается в списке. При выделении некоторых сообщений полезно было бы видеть имя пользователя, которому эти сообщения адресованы.


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


              Разрабатываемый CustomView — панель контекстных действий я назвал FloatingActionMode или просто FAM.


              Art
              FloatingActionMode во время работы (Зафиксирован снизу)


              Видео — пример работы с FloatingActionMode (Зафиксирован снизу)

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