• Python и разработка простого веб-приложения, использующего технологии машинного обучения

    • Перевод
    Тот, кто занимается машинным обучением (Machine Learning, ML), обычно, реализуя различные проекты, выполняет следующие действия: сбор данных, их очистка, разведочный анализ данных, разработка модели, публикация модели в локальной сети или в интернете. Вот хорошее видео, в котором можно узнать подробности об этом.


    Жизненный цикл проекта в сфере машинного обучения

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

    Автор статьи, перевод которой мы сегодня публикуем, хочет рассказать о том, как, используя Python-библиотеки streamlit, pandas и scikit-learn, создать простое веб-приложение, в котором применяются технологии машинного обучения. Он говорит, что размер этого приложения не превышает 50 строк. Статья основана на этом видео, которое можно смотреть параллельно с чтением. Инструменты, которые будут здесь рассмотрены, кроме прочего, позволяют ускорить и упростить развёртывание ML-проектов. 
    Читать дальше →
    • +36
    • 13,6k
    • 5
  • Исчерпывающий справочник по JavaScript для вашего следующего собеседования. Часть 1

    • Перевод
    Перевод статьи Gustavo Azevedo The Definitive JavaScript Handbook for your next developer interview.



    JavaScript был и продолжает быть самым популярным языком программирования, согласно опросу Stack Overflow Survey. Неудивительно, что 1/3 всех вакансий требуют знания JavaScript. Поэтому, если вы планируете работать разработчиком в ближайшем будущем, то вам следует ознакомиться с этим черезвычайно популярным языком.

    Цель публикации — собрать в одном месте все концепции JavaScript, которые часто встречаются на собеседовании.
    Читать дальше →
  • Полное практическое руководство по Docker: с нуля до кластера на AWS

    • Перевод



    Содержание



    Вопросы и ответы


    Что такое Докер?


    Определение Докера в Википедии звучит так:


    программное обеспечение для автоматизации развёртывания и управления приложениями в среде виртуализации на уровне операционной системы; позволяет «упаковать» приложение со всем его окружением и зависимостями в контейнер, а также предоставляет среду по управлению контейнерами.



    Ого! Как много информации.

    Читать дальше →
  • Продвинутая система авторизации действий с ресурсами в Laravel. Часть 2. Шлюзы, Политики

    • Tutorial

    Введение


    Здравствуйте дорогие Хабровчане.
    Я продолжаю свой цикл статей о продвинутой авторизации действий с ресурсами в Laravel. Чтобы лучше понимать о чем пойдет речь этой статье — необходимо прочесть Первую часть.


    Для начала вкратце повторю постановку задачи: Имеется большое количество моделей. Необходимо спроектировать гибкую и легко расширяемую систему авторизации действий пользователя в зависимости от его роли.
    В данной части пойдет речь о настройке связки Политика(Policy)<=>Шлюз(Gate). А так же предложен один из вариантов записи прав пользователя в базу данных.


    Ну и конечно же сразу уточню, что материал рассчитан на практикующих программистов, и будет сложен для понимания начинающему разработчику.


    Читать дальше →
  • Анонс книги «Машинное обучение без лишних слов»

      image Привет, Хаброжители!

      Готовится к сдаче в типографию полноцветная новинка «Машинное обучение без лишних слов»
      #1 in Data Mining
      #2 in Programming Algorithms
      #3 in Machine Theory

      Эту книгу рекомендуют к прочтению Питер Норвиг, Джеймс Гаррет и Орельен Жерон. Предисловие к русскоязычному изданию написал Сергей Николенко, автор нашей культовой книги «Глубокое обучение»

      В ближайшее время мы выложим отрывок и откроем предзаказ, а пока предоставляем слово Сергею Николенко и благодарим его за бесценные рекомендации, которые позволили улучшить русскоязычное издание книги.
      Читать дальше →
    • Использование EXPLAIN. Улучшение запросов

      • Перевод
      Когда вы выполняете какой-нибудь запрос, оптимизатор запросов MySQL пытается придумать оптимальный план выполнения этого запроса. Вы можете посмотреть этот самый план используя запрос с ключевым словом EXPLAIN. EXPLAIN – это один из самых мощных инструментов, предоставленных в ваше распоряжение для понимания MySQL-запросов и их оптимизации, но печальным фактом является то, что многие разработчики редко его используют. В данной статье вы узнаете о том, какие данные предлагает EXPLAIN на выходе и ознакомитесь с примером того, как использовать его для оптимизации запросов.
      Читать дальше →
    • Как измерить эффективность инвестиционного портфеля: 3 практических подхода



        Изображение: Unsplash

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

        Сегодня мы поговорим о нескольких подходах к оценке результативности инвестиционного портфеля.
        Читать дальше →
      • DBA: находим бесполезные индексы

          Регулярно сталкиваюсь с ситуацией, когда многие разработчики искренне полагают, что индекс в PostgreSQL — это такой швейцарский нож, который универсально помогает с любой проблемой производительности запроса. Достаточно добавить какой-нибудь новый индекс на таблицу или включить поле куда-нибудь в уже существующий, а дальше (магия-магия!) все запросы будут эффективно таким индексом пользоваться.

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

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

          Доработки происходят итеративно силами множества распределенных команд, которые бывают разнесены не только в пространстве, но и во времени. И тогда, не зная всей истории развития проекта или особенностей прикладного распределения данных в его БД, можно легко «напортачить» с индексами. Но соображения и проверочные запросы под катом позволяют заранее предсказывать и обнаруживать часть проблем:

          • неиспользуемые индексы
          • префиксные «клоны»
          • timestamp «в середине»
          • индексируемый boolean
          • массивы в индексе
          • NULL-мусор
          Читать дальше →
          • +19
          • 5,2k
          • 1
        • Принцип единственной ответственности: глубокое погружение

            Про принцип единственной ответственности (The Single Responsibility Principle, SRP) уже было написано множество статей. В большинстве из них даётся лишь поверхностное его описание мало чем отличающееся от информации в википедии. А те немногие статьи что затрагивают ключевые особенности SRP делают это вскользь, не акцентируя на них внимания и не развивая тему дальше.

            Эта статья — попытка дать более глубокое объяснение принципу единственной ответственности, а также показать как его всё таки можно применять на практике. Кому интересно — добро пожаловать под кат.
            Читать дальше →
          • Как работают реляционные базы данных (Часть 1)

            Привет, Хабр! Представляю вашему вниманию перевод статьи
            "How does a relational database work".


            Когда дело доходит до реляционных баз данных я не могу не думать, что чего-то не хватает. Они используются везде. Существует множество различных баз данных: от небольшого и полезного SQLite до мощной Teradata. Но есть только несколько статей, которые объясняют, как работает база данных. Вы можете искать сами по запросу "howdoesarelationaldatabasework" («как работают реляционные базы данных») чтобы увидеть, как мало результатов. Более того, эти статьи — короткие. Если же вы ищете последние модные технологии (BigData, NoSQL или JavaScript), вы найдете больше углубленных статей, объясняющих, как они работают.


            Являются ли реляционные базы данных слишком старыми и слишком скучными, чтобы их можно было объяснить вне университетских курсов, исследовательских работ и книг?


            image

            Читать дальше →
            • +29
            • 41,4k
            • 7
          • Оптимизация работы с MySQL

              Ни для кого не секрет, что работа с базой данных занимает большую часть работы практически любого сайта. И именно работа с БД чаще всего является узким местом веб-приложений.
              В этой статье хотелось бы дать практические советы использования MySQL.
              Сразу оговорюсь:
              • данная статья написана про MySQL, хотя общие вещи скорее всего справедливы для любой СУБД.
              • все написанное в статье является моей личной точкой зрения, и не является истиной в последней инстанции.
              • советы не претендуют на новизну и являются результатом обобщения прочтенной литературы и личного опыта.
              • в рамках данной статьи я не буду касаться вопросов конфигурирования MySQL.

              Проблемы при использовании MySQL можно разделить на следующие три группы(в порядке значимости):
              1. Неиспользование или неправильное использование индексов.
              2. Неправильная структура БД.
              3. Неправильные \ неоптимальные SQL запросы.

              Остановимся на каждой из этих групп подробнее.
              Читать дальше →
            • Субботнее: Мысли программиста об экономике, Марксе, Ленине и Капитале

                Привет, Хабр!

                При обсуждении одной IT-статьи спонтанно возникла оффтоп-дискуссия о марксизме и экономике. Из уважения к количеству букв я собрал комментарии, и с минимальными правками выкладываю здесь. Считаю, что умеренный экономический дискурс, хоть частично, укладывается в тематику ресурса, посвященного Будущему. Особенно в свете последних событий. Не судите строго программиста, он стреляет как умеет (с).
                — Два томика Капитала этому господину :)
                — В Капитале три тома. Какой том этому господину не нужен? :)
                … Капитал мне лично не зашел. Вся его терминология нуждается в уточнении, например:
                — что такое средства производства, репутация журналиста сюда входит?
                — в чем измеряется труд, надеюсь не в человеко-часах?
                — являются ли природные ресурсы капиталом — по бухучету да, но ведь в них не вложено труда?
                — патентное право — справедливо?
                — акционерные общества — это демократия?
                Наука начинается там, где базовым величинам даются метрологически состоятельные определения (длина, масса, заряд), а пока все крутится вокруг эмоционально-окрашенных понятий — Эллиот будет научней чем Маркс.
                Читать дальше →
              • Y-метод — действительно простой способ собрать кубик Рубика

                • Tutorial

                Введение


                В статье рассматривается «Y-метод» сборки кубика Рубика — его легко понять и запомнить. Он основан всего на одной последовательности, которая называется «Y-движение». Поняв этот алгоритм, вы навряд ли забудете как собрать кубик самостоятельно.
                Читать дальше →
              • PHP-Дайджест № 168 (5 – 25 ноября 2019)


                  Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 7.4 RC6, Symfony 5.0 и 4.4, WordPress 5.3 и другие релизы, об обновлении PSR-стандартов, RFC предложения из PHP Internals, порция полезных инструментов, митапы, видеозаписи, подкасты и многое другое.

                  Приятного чтения!


                  Читать дальше →
                • Нарастающий итог в SQL

                  • Tutorial
                  Нарастающий (накопительный) итог долго считался одним из вызовов SQL. Что удивительно, даже после появления оконных функций он продолжает быть пугалом (во всяком случае, для новичков). Сегодня мы рассмотрим механику 10 самых интересных решений этой задачи – от оконных функций до весьма специфических хаков.
                  Читать дальше →
                • Делим Laravel на компоненты

                  Привет, Хабр. Недавно получил в руки интересный проект, который, несмотря на свою простоту требовал не использовать какой-либо фреймворк. О пакетах речи не шло, поэтому было принято решение использовать привычные компоненты Laravel. Если есть необходимость в использовании очередей, Eloquent или контейнера — добро пожаловать под кат.

                  Читать дальше →
                • Как заговорить на английском через месяц. 9 простых и проверенных шагов

                  Хабр, привет!

                  Меня зовут Марина Могилко, я кофаундер онлайн-платформы LinguaTrip.com.

                  Мы с командой помогаем людям выучить язык и поступить в зарубежный университет. Я знаю, что за месяц английский не выучишь, но иногда бывают ситуации, когда надо срочно подтянуть язык — предстоит поездка за рубеж или намечается работа в англоязычном проекте. А возможно, просто нет больше сил учить язык и хочется уже начать на нём разговаривать. Для таких случаев мы подобрали простые шаги, которые доступны любому работающему человеку с часом свободного времени в день.

                  Все советы рассчитаны на тех, кто уже обладает минимальным уровнем английского — учил его в школе или на курсах. Но заговорить через месяц смогут и те, кто только знакомится с языком, правда, им будет труднее. В статье не будет рекомендаций типа «учите язык вместе с носителем языка» или «погрузитесь в языковую среду». Это действенные методы, но они не всегда подходят.

                  Итак, начинаем! Осторожно: под катом мини-словарик на все случаи жизни.

                  image
                  Читать дальше →
                • Самодельный счётчик Гейгера на ESP8266 с сенсорным экраном

                  • Перевод


                  Я разработал и собрал счётчик Гейгера – устройство, способное обнаруживать ионизирующее излучение и предупреждать об опасных уровнях радиации в окружающей среде знакомыми щелчками. Его также можно использовать для поиска минералов, и определять, есть ли в найденном вами камне урановая руда!

                  В интернете можно найти много готовых наборов и инструкций по сборке счётчика Гейгера, но я хотел сделать нечто уникальное – и я разработал GUI-дисплей с сенсорным управлением и красивым выводом информации на экран.
                  Читать дальше →