Открытый Вебинар: Работа За Границей

Привет, ребята!

c16454d7-6ed0-4458-b9f5-8bec6f381b39
Работа за границей всегда была интересна для любого программиста. Получить зарубежный опыт, сравнить качество работы и понять для себе, где же лучше ? :-)Итак, в предстоящие выходные мы проводим открытый вебинар в формате интервью о личном опыте работы за границей, а именно в США и Германии. Собственно, я, Алексей Новаков будут отвечать на вопросы о своем опыте работы в этих двух странах. Вопросы будет задавать Сергей Михлюк, наш студент Java Joy School, который любезно предложил идею данного вебинара. Список вопросов уже подготовлен, глядя на них, мы думаем что разговор получится интересным. Присоединиться и задать свой вопрос в чате может любой. Возможно будет запись.Дата вебинара: 3 Июля в 18:00 по Киеву

Регистрация на вебинар: Работа за границей >>>>

3f1666bb-f61c-4668-aa89-33320d785231

С уважением,
Команда JavaJoy


    Устранение утечек памяти в Java

    Неопытные программисты часто думают, что автоматическая сборка мусора в Java полностью освобождает их от проблемы управления памятью. Это популярное заблуждение: несмотря на то, что сборщик мусора делает все, что в его силах, даже самый лучший программист может пасть жерствой разрушительных утечек памяти. Позвольте объяснить.

    Утечка памяти возникает в случае, когда вы продолжаете хранить ссылки на объекты, которые больше не нужны. Эти утечки —  зло. Во-первых, они добавляют ненужную нагрузку на ваше устройство, поскольку ваши программы потребляют все больше и больше ресурсов. Мало того, порой эти утечки трудно обнаружить: статический анализ часто не в силах точно определить эти избыточные ссылки, а существующие инструменты для обнаружения утечек отслеживают и предоставляют лишь крупинки информации об индивидуальных объектах. Результаты их работы тяжелы в интерпретации и им не хватает точности.

    Другими словами, утечки либо слишком сложно обнаружить, либо результаты их обнаружения настолько специфичны, что приносят мало пользы. Continue reading


      Считывание информации из файла одной строкой кода в JDK 7 или Java 8

      java8_logo_white

      Считать содержимое файла в Java непросто, необходимо использовать большое количество шаблонного кода, с которым мы уже сталкивались в предыдущем примере в статье считывание текстовых файлов. Нам приходилось делать «обертки» для многих вещей, например, помещать FileInputStream внутри BufferedReader, задавать циклы со странными условиями выхода и т.д. Начиная с JDK 7, ситуация значительно улучшилась. JDK предоставляет множество полезных классов, например Files и Paths, предназначенных для работы с файлами и путями к ним. В этой статье вы узнаете, как считать информацию из файла с помощью одной строки кода. Безусловно, ваш продакшн-код будет выглядеть иначе, особенно если вы считываете в память несколько гигабайт данных и при этом хотите учитывать кодировку. Если кодировка не выбрана, то используется кодировка платформы, заданная по умолчанию. Короче говоря, вам понадобится чуть больше кода, но для быстрого и грубого считывания файла этого способа будет достаточно. Кстати, если код будет содержать и обработку исключений, то он займет несколько строк. В готовом рабочем приложении вам нужно будет учитывать ситуацию, когда файл отсутствует, например, отображая пользователю сообщение об ошибке, отправляя метрики, сохраняя в журнал ошибку и т.д., но в любом случае в нем будет гораздо меньше шаблонного кода, чем в привычных для вас случаях.

      Continue reading


        Шаблон проектирования «синглтон» в языке Java

        boat-336551_1280

        Шаблон «синглтон» (singleton) — это проектное решение, в котором приложение желает иметь один единственный экземпляр любого из классов, во всех возможных сценариях, без каких-либо исключений. Среди Java-разработчиков довольно долго шли споры о возможных подходах к тому, как сделать любой класс синглтоном. И вы по-прежнему можете встретить людей, которых не устроит ни одно из предложенных вами решений. Но и их мнение нельзя не учитывать. В этой статье мы обсудим несколько грамотных подходов и постараемся сделать всё, на что мы способны.

        Разделы этой статьи:

        • Ранняя инициализация
        • Ленивая инициализация
        • Инициализация статическими блоками
        • Решение Билла Пью
        • Использование Enum
        • Добавление readResolve()
        • Добавление серийного идентификатора версии
        • Вывод

        Термин «синглтон» произошел от его математического аналога — одноэлементного множества. Как уже говорилось выше, он требует, чтобы у нас был всего один экземпляр. Давайте взглянем на возможные варианты: Continue reading


          Документация языка Java: Подробный разбор

          Screen Shot 2015-10-31 at 9.29.06 PM

          В своей статье Справочник Java  я начал рассказ о том, где искать информацию о классах и методах Java, а в статье Руководство к языку Java я рассказал, где искать синтаксис и элементы языка. В этой статье мы познакомимся с документацией к классам и интерфейсам Java, представленной в Руководстве к API Java.

          С первого взгляда заглавная страница руководства к API может вызвать у вас небольшое потрясение. Слишком много информации!
          Continue reading


            10 советов для новичков, желающих стать продвинутыми разработчиками

            lucho-49

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

             

            В ходе переписки с Джастином он упомянул, что блоги, статьи и журналы, ориентированные на разработчиков, в основном делятся на 2 категории: материалы для начинающих (уроки в духе «Hello World») и материалы для экспертов (журнал MSDN Magazine). Это крайне ценная точка зрения. Лишь малая часть информации посвящена тому, как разработчику из новичка стать продвинутым специалистом. Перед вами 10 пунктов, которые необходимо выполнить, чтобы осуществить этот переход.

             

            #1: Выучите еще один язык программирования

            Не важно, какой это будет язык. Процесс изучения нового языка (независимо от того, сколько языков вы уже знаете) сделает вас лучшим разработчиком. В идеале стоит выучить язык, значительно отличающийся от того, что вы уже используете на повседневной основе. Другими словами, если пишете на C#, изучение VB.NET или Java будет не столь полезно, как изучение Ruby или Groovy.

            Continue reading


              Взгляд изнутри. 
Виртуальная машина Java

              Java: Взгляд изнутри
Виртуальная машина Java (Java Virtual Machine)

              Автор: Девид Райли



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

              rationalisation-machine-fix

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

              Continue reading


                Принципы парного программирования

                pair-programming

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

                И тем не менее… эффективное парное программирование — это самый дешевый способ улучшить качество кода. Несмотря на то, что на первый взгляд это выглядит как уменьшение производительности вдвое — ведь ваша команда из восьми разработчиков теперь работает всего над четырьмя проектами, вместо восьми! — оказывается, производительность не ухудшается ни на каплю. Более того, я был свидетелем обратного.

                Continue reading


                  Советы новичкам

                  Новичкам дают столько разных советов, что иногда трудно понять, с чего стоит начать. Однако, 5 правил, представленные в этой статье, являются фундаментом, на котором строится все остальное.

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

                  Continue reading


                    Продуктивность программиста – отвлечение от работы, совещания и удаленная работа

                    The_Park_Northpoint_-_Open_Plan_Office_Space

                    В моем предыдущем посте о том, чего хотят программисты, я поместил работу на дому в конце списка. Некоторые комментаторы оценили удаленную работу выше, а K (имя вымышленное) даже прислал ссылку на отличное видео с конференции TED от Джейсона Фрида (из 37signals) на тему, почему на работе тяжело заниматься работой. Вначале Джейсон делится своими наблюдениями о том, что для выполнения работы программисту необходимо в течение длительного времени не отвлекаться, после чего автор рекомендует избегать совещаний и минимизировать отвлекающие факторы, используя чат и имейл, вместо прямого общения. Несмотря на то, что я согласен с частью, касающейся совещаний, я готов поспорить насчет отвлекающих факторов. Кроме того, я ценю общение лицом к лицу больше, чем он. Continue reading