• «Алгебраические эффекты» человеческим языком

    • Translation
    Комментарий от переводчика: Это перевод замечательной статьи Дэна Абрамова (Dan Abramov), являющегося контрибутором React. Его примеры написаны для JS, но будут одинаково понятны разработчикам на любом языке. Идея общая для всех.

    Вы слышали об алгебраических эффектах?


    Мои первые попытки выяснить, кто они такие и почему они должны меня волновать, оказались безуспешными. Я нашел несколько PDF-ов, но они еще больше меня запутали. (Я почему-то засыпаю во время чтения академических статей.)


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



    Оказалось, что алгебраические эффекты — это крутая концепция, и она не так страшна, как мне вначале показалось после прочтения этих PDF-ов. Если вы просто используете React, вам не нужно ничего о них знать, но если вам, как и мне, интересно, читайте дальше.

    Читать дальше →
  • Java теперь платная? Развенчиваем слухи (или нет?)

      Уже 2 дня как вступили в силу изменения лицензионной политики Oracle на распространение сборок Java SE. В среде разработчиков-слоупоков (я тоже в их числе) начали носиться кошмарные слухи.

      Что произошло


      В середине 2018 года Oracle объявил, что собирается изменить лицензионную политику. 16 апреля 2019 года изменение вступило в силу. Теперь все опубликованные после этой даты сборки Java SE можно использовать бесплатно только для личных нужд и с целью разработки. Для использования в коммерческих целях (в том числе для продакшена) надо оформить платную подписку у Oracle.

      Что-а-а?


      Oracle выстрелил себе в ногу и убивает Java? Нет, не убивает. Нет, не выстрелил. Но проблем халявщикамвсем нам подкинул. Давайте быстро разберемся, что это означает в практическом плане, без этих ваших GPL, BCL, WTF…
      Разбираемся в режиме FAQ
    • Как много разработчиков и как мало программистов…

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


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

        Читать дальше →
      • Dotty уже на пороге

          Следующее поколение языка Scala, третью версию которой лично я жду с большим нетерпением, кажется уже не за горами. Новый компилятор и новый набор фич для Scala 3 .0 разрабатывается в рамках проекта Dotty. 17 месяцев назад Дотти отпраздновал небольшую победу — bootstrap, т.е. он смог скомпилировать сам себя. В планах на новые фичи было много вкусностей, которым были посвящены публикации на хабре (тыц — если кто не читал, то советую пройти по ссылке).

          И вот пару дней назад на гитхабе проекта появился многообещающий коммит от Дмитрия Петрашко (один из ключевых разработчиков dotty), озаглавленный «Start writing release anouncement.», т.е. «Начинаем писать новость о выпуске».
          Читать дальше →
        • Пора перестать сохранять

            Немного лирики


            Как-то раз, примерно полгода назад, при переезде с одной квартиры на другую в одной из бесконечных коробок обнаружился архив аудиокассет — штук 30. Этот набор долёживал там свой век, хотя последний магнитофон, способный проигрывать кассеты, сломался года за три до этого.
            Моя 9-летняя дочь, наткнувшись на эту коробку, взяла одну из этих кассет в руки, повертела и спросила: «Папа, а что это?».
            Конечно, если задуматься, в этом нет ничего удивительного. Новое поколение, рожденное после 2000, уже не видело ни кассет, ни дискет.



            И что-то мне подсказывает, что поколение, родившееся после 2020, не увидит уже и компакт дисков — все планомерно уходит на всевозможные флешки и карты памяти, а в перспективе и обмен, и хранение (благодаря «облакам»), и ритейл софта/фильмов/музыки (благодаря Стиву Джобсу) уйдут в «онлайн». Я и сам больше уже не записываю полюбившиеся фильмы на болванки.
            И что с того?
          • Когда просто отфильтровать параметры запроса недостаточно или о вреде универсальности

              У уважаемой компании «Российские Железные Дороги» есть замечательный сайт ticket.rzd.ru. Не смотря на некоторые шероховатости, сайт неплохо справляется со своей основной задачей — позволяет заказать и оплатить билеты он-лайн.

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

              Что там интересного?
            • Введение в многомерный анализ

                Некоторое время назад мне довелось организовывать новую группу разработки, которая должна была заняться развитием OLAP и BI продуктов в дружеской софтверной компании. А так как группа была собрана из свежих выпускников ВУЗов, то мне пришлось написать «краткий курс молодого бойца» для того чтобы максимально доступно дать начальные понятия об OLAP людям, которые ни разу с ним не сталкивались, но уже имели опыт программирования и работы с БД.

                Выкладываю теперь это Введение в Общественное Достояние.

                В статье несколько смешиваются понятия OLAP, Business Intelligence, и Data Warehouse, но и в жизни часто сложно понять, где проходит граница. А уж в реальных проектах, так и подавно, все они ходят рядом. Поэтому прошу не судить строго.

                Итак, что же такое OLAP.
              • Еще один тип спама под кризис

                  Замечен новый тип <социальной инженерии> в интернете. На днях на почту пришло письмо следующего содержания:

                  Александр добрый день!

                  Агентство по подбору персонала направило нам Ваше резюме.
                  В данный момент в нашей компании открыта новая вакансия CTO).
                  Оформление согласно ТК РФ, социальные гарантии, карьерный рост, зарплата будет зависеть от результатов собеседования.
                  Подробную информацию о нашей компании можно посмотреть на сайте:
                  Читать дальше →