• Миграция данных в кровавом энтерпрайзе: что анализировать, чтобы не завалить проект



      Типичный проект системной интеграции для нас выглядит так: у заказчика вагон систем для учета клиентов, задача — собрать клиентские карточки в единую базу. И не только собрать, а еще очистить от дублей и мусора. Чтобы на выходе получились чистые, структурированные, полные карточки клиентов.

      Для начинающих поясню, что миграция идет по такой схеме: источники → преобразование данных (отвечает ETL или шина) → приемник.

      На одном проекте мы потеряли три месяца просто потому, что сторонняя команда интеграторов не изучала данные в системах-источниках. Самое обидное, что этого можно было избежать.
      Читать дальше →
    • Выразительный JavaScript: HTTP

      • Перевод

      Содержание




      Мечта, ради которой создавалась Сеть – это общее информационное пространство, в котором мы общаемся, делясь информацией. Его универсальность является его неотъемлемой частью: ссылка в гипертексте может вести куда угодно, будь то персональная, локальная или глобальная информация, черновик или выверенный текст.

      Тим Бернес-Ли, Всемирная паутина: Очень короткая личная история

      Читать дальше →
      • +36
      • 91,4k
      • 4
    • Цена рефакторинга

        Субъективно: рефакторинг — это юношеское "заболевание". По личным наблюдениям, где-то после 26 лет начинает отпускать. Как в той старой фразе: "Кто в молодости не был революционером — у того нет сердца, кто в зрелости не стал консерватором — у того нет ума". Поэтому, пока окончательно не отпустило, попробую описать юзкейсы рефакторинга и возможные цели, которые можно достигнуть с его помощью.
        Клац
      • Книга «Глубокое обучение на Python»

          imageГлубокое обучение — Deep learning — это набор алгоритмов машинного обучения, которые моделируют высокоуровневые абстракции в данных, используя архитектуры, состоящие из множества нелинейных преобразований. Согласитесь, эта фраза звучит угрожающе. Но всё не так страшно, если о глубоком обучении рассказывает Франсуа Шолле, который создал Keras — самую мощную библиотеку для работы с нейронными сетями. Познакомьтесь с глубоким обучением на практических примерах из самых разнообразных областей. Книга делится на две части: в первой даны теоретические основы, вторая посвящена решению конкретных задач. Это позволит вам не только разобраться в основах DL, но и научиться использовать новые возможности на практике.

          Обучение — это путешествие длиной в жизнь, особенно в области искусственного интеллекта, где неизвестностей гораздо больше, чем определенности. Внутри приведен отрывок «Исследование и мониторинг моделей глубокого обучения с использованием обратных вызовов Keras и TensorBoard».
          Читать дальше →
          • +19
          • 26,8k
          • 8
        • А в это время

            – Нет, так дело не пойдет! – почти кричал взбешенный Анатолий Викторович. – Я не понимаю, за что плачу такие – заметьте, не малые – деньги! Чем программисты лучше других? Они что, какие-то особенные?


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


            – Вот этими сказками я уже сыт по горло, про таинство творческих профессий! Слава Богу, у нас еще дизайнеров нет…

            Читать дальше →
          • Грязные трюки разработчиков видеоигр

            • Перевод

            Предыдущие части: раз, два, три.

            Благодарим за игру!


            В первой части Wing Commander при выходе из игры мы получали от нашего менеджера памяти EMM386 исключение. Экран очищался и на него выводилась единственная строка, что-то типа «Ошибка менеджера памяти EMM386. Бла-бла-бла».

            Нам нужно было выпустить игру как можно быстрее, поэтому я отредактировал ошибку менеджера памяти в hex-редакторе, чтобы она выглядела как «Благодарим за то, что играли в Wing Commander».

            — Кен Демарест

            Читать дальше →
          • Ричард Хэмминг: «Необъяснимо высокая эффективность математики»

            • Перевод
            «Это самое глубокое эссе, которое я видел относительно философии науки; на самом деле, оно важно для всего нашего понимания мысли, познания или реальности.»

            image

            Пролог


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

            Человек, насколько мы знаем, всегда задавался вопросом о себе, мире вокруг и смысле жизни. Во множестве мифов повествуется о том почему и как Бог или боги создали человека и вселенную. Это теологические объяснения. Их отличительная черта — нет смысла спрашивать почему вещи таковы, как они есть, если боги создали их такими.

            Философия возникла тогда, когда человек задался вопросом о мире вне этих теологических рамок. Например, мир древние философы представляли как сочетание земли, огня, воды и воздуха. Без сомнения их убеждали в том, что мир создан богами и не нужно беспокоиться по этому поводу.

            Из этих ранних попыток объяснить мир постепенно возникла философия, также как и современная наука. Не то чтобы наука объясняет «почему» вещи таковы, как они есть — гравитация не объясняет «почему» предметы падают, но наука дает нам столь детальное объяснение «каким образом» это происходит, что у нас появляется чувство, будто мы знаем «почему». Давайте проясним; море связанных между собой фактов позволяет науке сказать «почему» вселенная именно такая.
            Читать дальше →
          • Органайзер-каталог для карт Heroes III и более 7700 карт в придачу


              Я играю в Heroes of Might and Magic со времен царя Гороха королевы Ламанды, и за это время накопилось такое количество карт для 3-х Героев, что я решил их как-то упорядочить и структурировать.

              Цели были следующие:

              1. Избавиться от дубликатов карт
              2. Точно знать, играл я в эту карту или нет, если играл, то знать статус: выиграл, проиграл или пропустил
              3. Иметь возможность загружать в органайзер новые карты с проверкой на уникальность
              4. Писать свой личный комментарий к карте
              5. Иметь возможность мгновенно отсортировать каталог карт по следующим параметрам:
                названию, статусу, версии, кодировке, размеру карты, наличию подземелья, уровню сложности и размеру файла
              Читать дальше →
            • 5 способов, которыми игры пытаются вызвать зависимость

              • Перевод
              Итак, в новостях снова пишут, что кто-то еще умер из-за игромании. Да, опять Корея.

              Какого ...? послушайте, я не пытаюсь доказать что видео игры — это героин. Я полностью понимаю, что в данном случае у жертвы было много проблем в жизни. Но, половина из вас знает что World of Warcraft затягивает и что доктора считают игровую зависимость серьёзной проблемой. А вопрос вот в чем: может быть какие-то игры намеренно разрабатывались, чтобы заставлять вас играть в них, даже если вы не получаете от этого удовольствия?
              Давайте посмотрим как это работает
            • Как я за 9 месяцев превратился из неофита в разработчика ПО без отрыва от основной работы

              • Перевод
              В этой статье я расскажу, как за девять месяцев проделал путь от практически нулевого опыта в разработке ПО до должности программиста с шестизначной зарплатой, при этом работая полный день и обучаясь собственными силами.


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

                Знакомый, в глаза не видевший Linux, но заинтересовавшийся опенсурсом, после выхода Ubuntu 10.10 попросил написать ему, «чем хорошо, чем плохо, какие осложнения, какие тонкости, как наладить отношения с вин7», чтобы он мог решить, нужно ли ему это счастье. Сначала подумал «зачем буду писать текст, когда наверняка его уже сто человек написали — быстро нагуглю, пошлю ссылку, а потом уже на конкретные вопросы отвечать буду». Но затем обнаружил, что по запросам вроде «миграция на ubuntu» вываливаются гигантские мануалы с тонкостями настройки compiz, а недлинный текст для «неопределившихся» быстро найти не получается ни в интернете вообще, ни на ubuntu.com и ubuntu.ru (то есть все как и писал в предыдущем посте), ни на Хабре — вот и подумал, что пусть теперь хотя бы на Хабре будет. Участники «Убунтариума» вряд ли узнают из текста что-то новое, зато они могут дополнить его в комментах (не претендую на звание убунтугуру, так что много важного наверняка упустил), и тогда люди, которые позже введут в гугл что-то вроде «переход на ubuntu», найдут тут счастье.

                Читать дальше →
              • Пишем примитивный и никому не нужный компилятор

                  Я считаю, что каждый программист должен написать свой компилятор.

                  Я сам долгое время считал, что создание компиляторов — это удел элиты, а простому смертному программисту не постичь этой науки. Попробую доказать, что это не так.

                  В посте мы рассмотрим, как можно написать свой компилятор C-подобного языка меньше чем за час, исписав всего 300 строчек кода. В качестве бонуса, сюда входит и код виртуальной машины, в байткод которой будет компилироваться исходник.
                  Читать дальше →