• После патча. Часть 1

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



    image


    Читать дальше →
    • +14
    • 11,6k
    • 8
  • Легкая работа со списками — RendererRecyclerViewAdapter

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

    Поначалу я как обычно выносил все лишнее из адаптеров в презентеры, фрагменты и другие классы. В итоге я пришел к мнению, почему бы не:

    1. «обезопасить» свои адаптеры от внесения туда лишней логики;
    2. переиспользовать биндинги ячеек;
    3. добиться какой-то универсальности для работы с несколькими типами ячеек.

    Если Вам знакомы такие проблемы, то добро пожаловать под кат.
    Читать дальше →
  • «Худой мир». Глава 4

      Немного запоздалое продолжение фантастической повести. Для тех кто забыл (или не знал) что там было раньше — ссылки на предыдущие части ниже.
      Предыдущие части


      Немного фантастики под катом
    • Анимация переходов между двумя фрагментами

      • Перевод
      image Одним из краеугольных камней в Material design являются осмысленные движения между экранами. Lollipop предоставляет поддержку этих анимаций в форме фреймворка переходов между Activity и Fragment. Поскольку статей по данной теме не так много, я решил написать свою собственную!

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

      Если вы желаете увидеть, что получилось — готовое приложение находится на GitHub.
      Читать дальше →
    • Очень удобный абстрактный адаптер для RecyclerView своими руками

      Когда-то, на заре моей карьеры Android-разработчиком, я просматривал примеры уже имеющихся приложений и в прекрасном, словно солнышко весной, U2020 я нашел пример очень удобного адаптера. Имя его BindableAdapter. Долгое время я использовал его как основу своих адаптеров для ListView и GridView, но их эра приходит к своему закату и наступает эра RecyclerView. Этой эре нужен новый удобный адаптер, и я попытался его сделать.
      Читать дальше →
      • +9
      • 21,3k
      • 3
    • Рецепты под Android: Как вкусно приготовить LayoutManager

      • Tutorial
      Привет хабр!

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


      Читать дальше →
      • +33
      • 38,9k
      • 4
    • Vector Drawable API. Возможности применения

      • Tutorial
      2014 год был особенным для всех, кто занимается разработкой под Android — он принес одно из самых значимых обновлений Android за всю его историю, версию Android 5.0. С этим обновлением мы получили новый визуальный язык, детальные гайдлайны, множество новых API и инструментов. И, как всегда в случае таких массивных обновлений, не все новшества сразу пробивают себе дорогу в реальные проекты. Где-то мешает инерция мышления разработчиков, привыкших решать определенные задачи определенным образом, где-то — отсутствие документации по новым API, где-то — отсутствие поддержки новых возможностей на старых версиях платформы. Но время не стоит на месте и благодаря труду команды Android, а также независимых разработчиков, такие API постепенно обретают обратную поддержку. И сегодня я хочу рассказать об API векторной графики Android, который способен серьезно облегчить жизнь разработчика, но при этом до сих пор не пользуется популярностью.

      векторный Android


      Читать дальше →
    • Зри в корень: java.lang.Object

        В Java в вершине иерархии классов лежит класс java.lang.Object. Лежит и лежит, долгое время я им совсем не интересовался.

        На собеседованиях часто спрашивают, какие в нем есть методы, поэтому они как-то сами собой выучились. Пришло время посмотреть на этот класс более внимательно. Первый вопрос, который у меня возник, есть ли вообще в исходниках Java класс java.lang.Object. Он же ведь необычный, он вполне может быть жестко зашит в реализацию, как самый верхний.

        Однако, такой класс есть и я приведу тут исходники java/lang/Object.java, опустив javadoc, и попытаюсь пролить свет на некоторые моменты связанные с реализацией jvm:
        Читать дальше →
      • Инструкция: Как создавать ботов в Telegram

        24 июня разработчики Telegram открыли платформу для создания ботов. Новость кого-то обошла стороной Хабр, однако многие уже начали разрабатывать викторины. При этом мало где указаны хоть какие-то примеры работающих ботов.
        Попробую это исправить
      • Передача опыта: Путь Джедая

        image

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

        Пора!… Кони уже неслись над крышами… (с) Михаил Булгаков

        Читать дальше →
      • 1000+ часов видео по Java на русском

        • Tutorial
        Добрый день.
        Меня зовут Головач Иван, я руковожу небольшой образовательной компанией и преподаю сам:
        1. Java Core
        2. Junior Java Developer: Servlet API, JDBC, Maven, JUnit, Mockito, Log4J, основы Spring/SpringMVC, основы JPA/Hibernate, шаблоны/архитектуры MVC/IoC/DAO.
        3. Multicore programming in Java.


        Также я веду курс «Scala for Java Developers» на платформе для онлайн-образования udemy.com (аналог Coursera/EdX).

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

        (GolovachCourses.com)


        Здесь собраны несколько вариантов записи моего курса Java Core.
        Модуль #1 (Procedural Java):
        Набор июль 2013: #1, #2, #3, #4
        Набор апрель 2013: #1, #2, #3, #4
        Набор февраль 2013: #1, #2, #3, #4
        Набор январь 2013: #1, #2, #3, #4
        Набор октябрь 2012: #1, #2, #3, #4.
        Читать дальше →
        • +102
        • 1142k
        • 38
      • Датчики и микроконтроллеры. Часть 2. Климат-контроль

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

        Содержание


        Часть 1. Мат. часть. В ней рассматривается датчик, не привязанный к какому-то конкретному измеряемому параметру. Рассматриваются статические и динамические характеристики датчика.
        Часть 2. Датчики климат-контроля. В ней рассматриваются особенности работы с датчиками температуры, влажности, давления и газового состава
        Часть 3. Датчики электрических величин. В ней я коснусь измерения тока и напряжения
        Читать дальше →
      • Видео. Пишем полноценное клиент-сервер приложение под Android

        • Tutorial
        Приветствую вас, уважаемый Developer!

        Хочу поделиться с вами серией уроков, которые мы пишем на нашем канале. Цель данных уроков поделится своими знаниями в сфере Java/Android Development-а, показать как мы строим процесс разработки, и в итоге написать готовое приложение, которое будет общаться с сервером.
        Читать дальше →
        • +20
        • 72,3k
        • 8
      • Основы работы с Wine для начинающих

        Введение


        Статья посвящена Wine и всем аспектам его использования. В сети находится очень
        много информации, есть различные руководства по настройке и многое другое. Я
        постараюсь объединить все для того чтобы любой человек смог достичь
        максимального успеха, в пределах своих способностей и конечно возможности
        программы. Итак — начнем.

        Wine — это отдельная реализация Windows API, а не эмулятор, как большинство
        думают. Не единожды повторялось, но и здесь будет уместно. Это и делает проект
        уникальным и интересным для пользователей различных систем, открывает различные
        пути для реализации своих идей. Уникальность заключается в том, что с помощью
        этой программы можно запускать Windows приложения в Ubuntu и в других
        Linux системах, а также во FreeBSD и в Mac OS X. Правда и тут есть
        свои «подводные камни». Некоторые думают что будет легко перейти с одной
        системы на другую, в данном случае мы рассматриваем Windows и Linux.

        Заблуждение заключается в том что люди думают что у них получиться запустить из
        под Wine различный софт, к которому они привыкли и им удобно в нем работать.
        Как не крути просто так ничего не бывает. Чтобы заработал наш любимый софт под
        Wine нужно попотеть, перечитать кучу руководств и взвесить этот объём
        информация. Конечно не совсем софтом придется «пыжиться», но готовым надо быть ко всему. Проект Wine развивается очень быстро, но до стабильной работы ему
        очень далеко. Но думаю что в скором будущем весь основной софт, а также игры
        будут работать на нем стабильно.

        Читать дальше →
      • Теория относительности в картинках

        • Tutorial
        В своей статье я хотел бы рассказать о теории относительности. Эта теория не требуется в представлении. С самого своего создания она была окутана ореолом тайны, поскольку полностью подрывает наши привычные представления о пространстве и времени. Все мы в школе учили формулы теории относительности, но мало кто действительно понимал их. И это не удивительно, ведь человеку, чтобы по-настоящему понять какую-то теорию во всей её красоте, полноте и непротиворечивости, не достаточно знать формулы. Нужно иметь какой-то визуальный ориентир, нужна динамика, чтобы было что-то, что можно повертеть в руках. Я решил восполнить этот пробел и написал небольшую программку, в которой можно «повертеть в руках» пространство-время. Мы, как настоящие исследователи, с помощью небольших экспериментов попытаемся выяснить основные свойства этой загадочной материи.
        Под катом много картинок (и ни одной формулы).
        Читать дальше →
      • Как понять NullPointerException

          Эта простая статья скорее для начинающих разработчиков Java, хотя я нередко вижу и опытных коллег, которые беспомощно глядят на stack trace, сообщающий о NullPointerException (сокращённо NPE), и не могут сделать никаких выводов без отладчика. Разумеется, до NPE своё приложение лучше не доводить: вам помогут null-аннотации, валидация входных параметров и другие способы. Но когда пациент уже болен, надо его лечить, а не капать на мозги, что он ходил зимой без шапки.

          Итак, вы узнали, что ваше приложение упало с NPE, и у вас есть только stack trace. Возможно, вам прислал его клиент, или вы сами увидели его в логах. Давайте посмотрим, какие выводы из него можно сделать.
          Читать дальше →
        • Читаем QR код

          • Tutorial
          Иногда возникают такие ситуации, когда нужно прочитать QR код, а смартфона под рукой нет. Что же делать? В голову приходит лишь попробовать прочитать вручную. Если кто-нибудь сталкивался с такими ситуациями или кому просто интересно как же читается QR код машинами, то данная статья поможет вам разобраться в этой проблеме.

          В статье рассмотрены базовые особенности QR кодов и методика дешифрирования информации без использования вычислительных машин.

          Иллюстраций: 14, символов: 8 510.
          Читать дальше →
        • Учим Python качественно

          Здравствуйте всем!

          Решил поделиться методом обучения сего мощного, но в одно и тоже время лёгкого языка программирования. Он действительно лёгкий. Вам не надо будет запоминать и вводить лишних символов, которые Вы можете встретить в Си-подобных языках.

          Удобочитаемый синтаксис, прост в обучении, высокоуровневый язык, Объектно-Ориентированый язык программирования (ООП), мощный, интерактивный режим, масса библиотек. Множество иных плюсов… И это всё в одном языке.
          Для начала окунёмся в возможности и узнаем, что же умеет Python?
          Читать дальше →