• Не пишите лишнего

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


      Дольше всего приходится вычитывать не хитрые алгоритмы, и не решения с алгебраическими типами данных и монадами, а огромные куски простого кода: методы на 500 строк, скрипты на 1000 строк, классы на 1500 строк. Все они доставляют индустрии проблем не меньше, чем печально известное NullPointerException.

      Читать дальше →
    • Gradle: Tasks Are Code

        В предыдущем топике я постарался вкратце рассказать, что же такое Gradle и на каких идеях он построен. Также была освещена концепция Source Sets и функциональность, с ней связанная.

        Теперь я хотел бы рассказать о том, чем Gradle зацепил лично меня. Речь пойдёт о способах работы с задачами. Задача в Gradle — близкий аналог Ant Target. И, чтобы не путаться в терминах, под задачей (или task) далее по тексту всегда будет подразумеваться Gradle Task. Если речь будет идти о сущности из Ant, то это будет указано явно: Ant task.

        Так вот, задачи в Gradle создаются при помощи специального dsl (domain specific language) на основе Groovy. И возможности, которые этот dsl предоставлет, на мой взгляд, почти безграничны в сравнении с ant или maven.

        Читать дальше →
      • Gradle: Better Way To Build

          Ни один проект с использованием платформы Java (и не только) не обходится без инструментов сборки (если только это не «Hello, world!»). Рано или поздно, но собирать дистрибутив руками надоедает. Да и компилировать из консоли было бы неплохо, если в проекте используется несколько разных IDE. А перед сборкой дистрибутива было бы здорово проставить номер версии в его имени. И unit тесты прогнать — не зря же Kent Beck книжки пишет. А там и Continues Integration на горизонте маячит. И здорово было бы научить CI сервер это все делать самостоятельно. Одним словом, есть уйма задач.

          Раз есть задачи, то есть и решения. Думаю, большинство разработчиков хоть раз, но сталкивались с Ant. Очень многие используют Maven. Есть другие, не такие распространённые инструменты: GAnt, Buildr, и др. Каждый из них обладает набором своих плюсов и минусов, но сегодня я хочу представить вам кое-что новенькое. Gradle.
          Читать дальше →
        • Почему Gradle?

          • Translation
          Если вы еще не знаете, что такое Gradle, то о нём можно почитать в предыдущих двух обзорах:
          1. Gradle: Better Way To Build
          2. Gradle: Tasks Are Code

          Не так давно c Maven на Gradle была переведена сборка Hibernate Core. На что информационное сообщество отреагировало неоднозначно. Я хочу представить вашему вниманию перевод статьи, посвященной миграции сборки Hibernate. В статье раскрываются причины принятия такого решения, описываются преимущества Gradle и проблемы с Maven2. Дальнейшее повествование ведётся от лица Steve Ebersole.
          Читать дальше →
          • +1
          • 97.7k
          • 7
        • Аппаратный доступ к P2P

            Кто-то с трекерами судится — а кто-то пытается на них делать деньги.
            На просторах нашей родины, как известно, творится беспредел возможно всё.
            Вот и компания ВВК, выпустившая недавно на наш рынок небезызвестный Popcorn Hour, смогла, оказывается, договориться с владельцами крупнейшего русскоязычного трекера Torrents.ru.
            По утверждению сайта журнала «Компьютерра», на выставке HDi Show был продемонстрирован прямой доступ к трекеру для поиска и скачивания контента. При этом не требуется регистрация и не учитывается рейтинг. На каких условиях заключено соглашение не известно.

            Такой сервис, безусловно, повысит популярность нещадно ругаемого продукта ВВК. Тем более, что на трекере есть большое количество качественного контента. Но сотрудничество может стать и причиной головной боли администраторов Torrents.ru в связи с наплывом новых посетителей или пристальным вниманием со стороны конкурентов ВВК. А внимание конкурентов может оплачивать внимание левоправоохранительных органов, как это часто бывает.
          • Проект EmForge.

              В первую очередь оговорюсь, что «мотороллер не мой...»: этот проект создан и поддерживается не мною. Довелось поучавствовать только как разработчику, и то немного. Но то немногое, что я успел узнать о проекте и в нем «пощупать», позволяет утверждать, что он способен сделать мир лучше.

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