• Шпаргалка Java программиста 3. Коллекции в Java (стандартные, guava, apache, trove, gs-collections и другие)

    • Tutorial
    Сегодня я хотел бы поговорить о коллекциях в Java. Это тема встречается практически на любом техническом интервью Java разработчика, однако далеко не все разработчики в совершенстве освоили все коллекции даже стандартной библиотеки, не говоря уже о всех библиотеках с альтернативными реализациями коллекций, таких как guava, apache, trove и ряд других. Давайте посмотрим какие вообще коллекции можно найти в мире Java и какие методы работы с ними существуют.



    Эта статья полезна как для начинающих (чтобы получить общее понимание что такое коллекции и как с ними работать), так и для более опытных программистов, которые возможно найдут в ней что-то полезное или просто структурируют свои знания. Собственно, главное чтобы у вас были хотя бы базовые знания о коллекциях в любом языке программирования, так как в статье не будет объяснений что такое коллекция в принципе.


    Читать дальше →
  • JetBrains — разработка под Android для лентяев

      Хотите изучить разработку пoд Android, но лень читать большие книги с кучей теории? JetBrains подготовила курс из 12 уроков для быстрого старта. Темы уроков:

      * Getting Started
      * UI Designer
      * Minimally Interactive
      * Lifecycle
      * More Activities
      * List Views
      * HTTP
      * Storage
      * Menus
      * Dialogs
      * Preferences
      * Publishing
      Читать дальше →
    • Как перестать бояться и полюбить шопинг на Amazon

        image

        Разбор полетов


        По итогам прошлого поста мы выяснили, что:

        • доставка происходит в обход Почты РФ через UPS/DHL;
        • в Москву посылка приходит за 5 дней;
        • для РФ Киндл продается только в версии «без встроенной рекламы» и без аксессуаров в отдельном лоте. Поэтому чехлы, к примеру, можно взять тут.
        • Amazon оплачивает услуги таможенного брокера;
        • заказывая доставку на рабочий адрес, никак не упоминайте название компании, иначе получателем будет компания, а не вы, со всеми последствиями;
        • если ваша покупка дешевле 200 евро, включая стоимость доставки, вам не о чем переживать;
        • если вы хотите сделать покупку весом до 31 кг. и стоимостью до 1000 евро, включая стоимость доставки, то вам желательно заказывать ее на адрес в одном из городов списка (Москва, Санкт-Петербург, Краснодар, Владивосток, Ставрополь, Новороссийск и Нижний Новгород). В этом случае доступны следующие варианты развития событий:
          1. скорее всего, вам не о чем переживать, и покупку вам доставят без лишних проблем;
          2. возможно, вам позвонят\ напишут из UPS и попросят прислать им отсканированную распечатку электронной квитанции заказа из Amazon, подписанный договор оказания услуг перевозки груза и копию паспорта.
          3. самый маловероятный и худший вариант — квест по самостоятельному прохождению таможни. Не переживайте, с этой инструкцией процесс займет не больше 2 часов времени и будет не сложнее похода в библиотеку.
        • это же Amazon! При возникновении любых проблем — задержка, потеря посылки, дополнительные таможенные сборы, повреждение товара — служба поддержки придет вам на помощь вплоть до полного возмещения стоимости.


        Теперь о том, что же все-таки можно купить.

        Читать дальше →
      • Всё, что надо знать о точке с запятой

        • Перевод
        Автовставка точек с запятой (";") — одна из наиболее спорных особенностей яваскрипта, вокруг которой скопилось много непонимания.

        Некоторые программисты ставят ";" в конце каждого оператора, некоторые — только там, где строго необходимо. Большинство же где-то посередине, хотя есть и такие, которые добавляют лишние ";" из стилистических соображений.

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

        Читать дальше →
      • Использование объектов для красивой структуры кода в JavaScript

        Вступление


        Доброго всем времени суток. Поздравляю вас с праздниками и перехожу к теме.
        Когда вы выходите за рамки написания простых фрагментов jQuery и приступаете к разработке более сложных взаимодействий пользователей, ваш код может быстро стать громоздким и трудным для отладки. Эта статья покажет вам начать думать об этих взаимодействий в терминах «частичек поведения» используя паттерн проектирования object literal.

        В последние несколько лет, JavaScript библиотеки дали начинающим разработчикам возможность добавлять дополнительные возможности взаимодействия с сайтом. Некоторые из них, например jQuery, имеют синтаксис настолько простой, что люди с нулевым опытом программирования научились быстро добавлять «свистки и колокольчики» на свои страницы. Надо только погуглить плагин, скопировать и вставить несколько десятков строк из пользовательского кода. Результат — клиент впечатлен, и вы добавляете jQuery к вашему резюме.

        Но подождите. Допустим, теперь требования изменились. Теперь код, который работал для трех элементов должен работать для десяти. Или ваш код должен быть повторно использован для несколько иного приложения, в котором все идентификаторы разные. Как не потеряться в коде, который является не просто вызовом плагина или парой строчек типа show() и hide()?
        Читать дальше →
      • 5 вещей, которые вы могли не знать о jQuery

        • Перевод
        jQuery очень мощная библиотека, но некоторые его богатые возможности неясны, если вы не изучали исходный код jQuery и не читали книгу jQuery Pocket Reference (автор пишет my new book), вы можете не знать о них. В этой статье представлены отрывки из этой книги — 5 полезных вещей о которых вы могли не знать.

        1) Вы вы не обязаны использовать $(document).ready() Если вы хотите выполнить функцию, когда документ готов для манипулированию просто передайте её в $()

        2) Вы, наверное, уже знаете, что вы можете передать тэг в функцию $() для создания элемента этого типа и, что вы можете передать атрибуты объекта (в качестве второго аргумента), которые будут установлены на созданный элемент. Вторым аргументом может быть любое свойство, который вы передаете в метод attr(). Кроме того, если какое-либо свойство имеет тоже самое имя, что и событие (click, mouseover), то значение свойства используется в качестве функции обработчика данного события.
        Следующий код, например, создает новый элемент, устанавливает три HTML атрибута и регистрирует функцию обработчика события(click) на нем:
        var image = $("<img>", {
                          src: image_url,
                          alt: image_description,
                          className: "translucent_image",
                          click: function() {$(this).css("opacity", "50%");}
                       });
        

        Читать дальше →
      • Удачная модель ветвления для Git

        • Перевод
        Перевод статьи Vincent Driessen: A successful Git branching model

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



        В качестве инструмента управления версиями всего исходного кода она использует Git.

        Читать дальше →
      • Форматирование телефонных номеров на PHP

          Возникла задача автоматического форматирования телефонных номеров в виде страна (город) номер, и первым делом я обратился к существующим решениям.
          К сожалению, оказалось, что все найденные решения основываются на обычном подгоне строки под пользовательский формат, имея ограниченную область применения и ошибки при выходе за ее пределы.
          Читать дальше →
        • Визуальные эксперименты

            Тут как-то обсуждали про крутую рисовалку, которая многих привела в восторг =), в том числе и меня.

            Так вот, на сайте www.escapemotions.com/experiments.html на радость всем любителям прикольных визуальных штук выложена подборка интересных интерактивных экспериментов.

            image

            Автор — 3D-аниматор и дизайнер Peter Blaškovič (http://twitter.com/peterblaskovic). Все эксперименты сделаны на Flash и Processing — этаком «Java-рендере». Для просмотра Java и Flash должны быть установлены и разрешены.

            Приятного времяпрепровождения!
          • Использование picasaweb в качестве фотохостинга

              Нужно использовать много изображений на сайте? Не хочется забивать хостинг изображениями? Хочется уменьшить нагрузку на сервер?
              Тогда можно использовать сервис от гугл picasaweb і Picasa API как хостинг для изображений

              процесс загрузки фотографий на сервер
              Читать дальше →