• Это не статья — просто пища для размышлений о том, как её написать

    • Перевод


    Под катом перевод статьи Carsten Sørensen «This is not an article — just some food for thoughts on how to write one». В ней рассказывается на что нужно обращать внимание при написании научных статей. Если вы пишите диссертацию в области информационных технологий, то наверняка найдете что-то интересное для себя. Впрочем, и авторы популярных статей тоже могут найти что-то полезное.

    В статье рассматриваются основные вопросы, которые необходимо себе задать при написании научной публикации. Разбираются интересные примеры статей. Наверное каждый слышал или использовал словосочетание «серебряная пуля» применительно к той или иной технологии. Но задумывались ли вы кто впервые использовал эту метафору в ИТ и почему она такая популярная? Также разбирается статья, в которой проводится аналогия между программистами и часовщиками. И те, и другие в своё время стояли у истоков новой технологии. С развитием часовой индустрии самих часовщиков практически не осталось. Интересно, что ждет программистов через 500 лет?
    Читать дальше →
  • Почему следует полностью переходить на Kotlin

    • Перевод


    Хочу рассказать вам о новом языке программирования, который называется Kotlin, и объяснить, почему вам стоит использовать его в своём следующем проекте. Раньше я предпочитал Java, но в последний год пишу на Kotlin везде, где только можно. И в данный момент я не представляю себе ситуации, в которой лучше было бы выбрать Java.


    Kotlin разработан в JetBrains, и участие тех же людей в создании наборов IDE, таких как IntelliJ и ReSharper, хорошо заметно по самому языку. Он прагматичен и краток, благодаря чему написание кода превращается в приятный и эффективный процесс.


    Хотя Kotlin компилируется в JavaScript и скоро будет компилироваться в машинный код, я сконцентрируюсь на его первичной среде — JVM.


    Итак, несколько причин, почему вам следует полностью переходить на Kotlin (порядок случаен):

    Читать дальше →
  • Я отказался от кофе, и вот что произошло



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

      В сети имеется множество публикаций о том, ради чего стоит внедрить BPM (Business Process Management) в вашей компании. Как обычно формулируются преимущества, которые дает бизнесу внедрение BPM:

      1. Визуальное моделирование и выполнение бизнес-процессов.
      2. Набор готовых компонент для построения гибких бизнес-процессов.
      3. Взаимодействие с пользователем для выполнения ручных действий.
      4. Гибкость конфигурирования бизнес-процессов.
      5. Поддержка версионности бизнес-процессов.

      Это не все, что можно упомянуть, но достаточно типичный набор преимуществ платформы.

      На самом ли деле все так безоблачно? Не пора ли всем выбросить старые инструменты, и полностью перейти на новую платформу?
      Читать дальше →
    • Сервер онлайн-вещаний на базе nginx

        Введение


        Привет всем! Несколько месяцев назад на Хабре была опубликована статья «Вещание онлайн-видео с помощью nginx» , в которой Aecktann рассказал о своем опыте внедрения разрабатываемого мной модуля к nginx для вещания видео — nginx-rtmp-module. С тех пор продукт активно развивался и в этой статье я более подробно расскажу о нем.

        Вещатель нужен для передачи видео-потока клиенту. Речь идет либо о живом потоке, либо о вещании записанного видео (VOD, Video-on-demand). Существует большое количество технологий вещания видео. Среди них можно выделить традиционные протоколы, такие как RTMP или MPEG-TS, а также появившиеся в последнее время технологии адаптивного вещания поверх HTTP. К последним относятся HLS (Apple), HDS (Adobe), Smooth Streaming (Microsoft), MPEG-DASH. При выборе технологии основным фактором является ее поддержка на клиентской стороне. Именно поэтому вещание в формате RTMP на текущий момент является одним из самых распространенных. Протокол HLS поддерживается устройствами компании Apple, а также некоторыми версиями Android.
        Читать дальше →
      • Теория категорий на JavaScript. Часть 1. Категория множеств

        • Tutorial


        Абстракция – это одна из основных техник в ИТ. Любой язык программирования или моделирования, любая парадигма программирования (процедурная, функциональная, ООП, …) дают ответ на вопрос, как и от чего нужно абстрагироваться. Причём, адепты каждого подхода предлагают какой-то свой вариант абстракции.

        Если вы хотите увидеть истинную, универсальную абстракцию, то вступайте в нашу… изучайте теорию категорий. В статье на примере категории множеств с картинками и JavaScript-кодом объясняются самые базовые понятия теории категорий: пределы, универсальное свойство. Рассматривается вычислительный аспект теории категорий.

        Также немного говорится про классы, примеси и смеси в JavaScript.

        Примеры из статьи можно посмотреть тут.
        Читать дальше →
      • Создаем заглушки сервисов для интеграционного тестирования на Apache Camel (с использованием Scala DSL)

        • Tutorial
        image


        Это третья статья об использовании Scala в тестировании. Сегодня будут рассмотрены примеры использования Apache Camel для создания тестовых заглушек, а также компонентов информационной системы.


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


        Для разовой проверки интеграции мы бы использовали простое Java или Scala приложение, сценарий Apache JMeter или SoapUI. Но нам нужна система, которая постоянно работает, отвечает на запросы и не требует действий со стороны тестировщика — запустил и забыл. Для решения такой задачи мы можем создать приложение, основанное на фреймворке Apache Сamel.

        Читать дальше →
        • +11
        • 5,2k
        • 3
      • Как ускорить сборку с Maven

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

          Для быстрого поиска в Google или для закладок, сразу предлагаю итоговое решение:
          mvn package -am -o -Dmaven.test.skip -T 1C
          

          — для сборки проекта без тестов.
          Читать дальше →
        • Как написать SQL-запрос на Slick и не открыть портал в ад

          • Tutorial


          Slick — это не только фамилия одной из величайших солисток всех времён, но и название популярного Scala-фреймворка для работы с базами данных. Этот фреймворк исповедует «функционально-реляционный маппинг», реализует реактивные паттерны и обладает официальной поддержкой Lightbend. Однако отзывы разработчиков о нём, прямо скажем, смешанные — многие считают его неоправданно сложным, и это отчасти обоснованно. В этой статье я поделюсь своими впечатлениями о том, на что стоит обратить внимание при его использовании начинающему Scala-разработчику, чтобы в процессе написания запросов случайно не открыть портал в ад.
          Читать дальше →
        • Как выбрать договор на разработку ПО

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

          Какой из них верный и чем грозит ошибка при выборе договора?
          Читать дальше →
          • +10
          • 9,2k
          • 4