• System.Threading.Channels — высокопроизводительный производитель-потребитель и асинхронность без аллокаций и стэк дайва

      И снова здравствуй. Какое-то время назад я писал о другом малоизвестном инструменте для любителей высокой производительности — System.IO.Pipelines. По своей сути, рассматриваемый System.Threading.Channels (в дальнейшем «каналы») построен по похожим принципам, что и Пайплайны, решает ту же задачу — Производитель-Потребитель. Однако имеет в разы более простое апи, которое изящно вольется в любого рода enterprise-код. При этом использует асинхронность без аллокаций и без stack-dive даже в асинхронном случае! (Не всегда, но часто).


      Читать дальше →
      • +21
      • 3.9k
      • 7
    • Python и разработка простого веб-приложения, использующего технологии машинного обучения

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


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

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

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

      • Tutorial
      часть 1/2: Используем DB-API часть 2/2: Используем ORM
      Это вторая часть моей статьи по работе с базой данных в Python. В первой части мы рассмотрели основные принципы коммуникации с SQL базой данных, а в этой познакомимся с инструментарием, позволяющим облегчить нам это взаимодействие и сократить количество нашего кода в типовых задачах.

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


      Требуемый уровень подготовки: базовое понимание SQL и Python (код статьи проверялся под Python 3.6). Желательно ознакомится с первой частью, так как к ней будут неоднократные отсылки и сравнения. В конце статьи есть весь код примеров под спойлером в едином файле и список ссылок для более углубленного изучения материала.
      Читать дальше →
      • +2
      • 6.5k
      • 2
    • Поиск работы за границей и иммиграция в Канаду

        Всем привет!


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


        TL;DR: Сейчас я живу в городе Виктория, на острове Ванкувер. Это Канада, Британская Колумбия. Свою мечту жить у океана я реализовал, но это заняло 5 лет, и сначала были совершенно другие планы. Более подробно ниже. Ниже картинка моих рабочих мест за последние 10 лет.



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


        В студенческие годы мой отец, подсунул мне ссылку на world4u — это волонтерская организация по обмену. В 2007, 2008, 2009 я посетил Германию, Францию и Италию. В среднем программа была по 1-2 месяца и нужно было оплатить только за перелет. Именно эти европейские проекты оказали на меня влияние, я увидел мир, и понял, что это скучно прожить жизнь в одном месте, даже с комфортом. Картинка ниже очень хорошо передает мой основной мотив:



        Это из детского рассказа про Улитку и Кита:


        Начинаем рассказ (занимайте места!)
        Про малютку улитку и великана кита.
        Вот скала,
        Где над морем улитка жила,
        И вздыхала она то и дело:
        -Как мне все надоело!
        Мир огромен, а я тут сижу на скале,
        А могла бы уплыть на большом корабле…
        Читать дальше →
      • [Инфографика] Визуализация пандемий в истории человечества

        • Translation


        Инфекционные заболевания распространялись по планете вместе с людьми. Даже в современную эпоху вспышки происходят практически постоянно, хотя не каждая вспышка достигает пандемического уровня, как это происходит с новым коронавирусом (COVID-19).

        Сегодняшняя визуализация обрисовывает в общих чертах некоторые из самых смертоносных пандемий в истории, от чумы Антонина до сегодняшних событий с COVID-19.
        Читать дальше →
      • Изучение нейтрино привело к неожиданному открытию в математике

        • Translation

        Три физика хотели обсчитать процесс изменения нейтрино. В итоге они обнаружили неожиданное взаимоотношение между одними из самых распространённых объектов математики.




        Однажды в августе, утром после завтрака математик Теренс Тао открыл емейл, написанный тремя физиками, с которыми он не был знаком. Троица объяснила ему, что наткнулась на простую формулу, которая в случае, если она окажется верной, опишет неожиданное взаимоотношение между одними из наиболее базовых и важных объектов линейной алгебры.

        Формула «выглядела слишком хорошо, чтобы быть правдой», сказал Тао, профессор из Калифорнийского университета в Лос-Анджелесе, лауреат Филдсовской премии, один из ведущих математиков мира. «Нечто настолько короткое и простое уже давно должно было оказаться в учебниках, — сказал он. – Поэтому сначала я подумал – нет, этого не может быть».

        А потом он подумал ещё немного.
        Читать дальше →
      • Гайд для фрилансеров: самые частые вопросы по работе ИП

          В ноябре мы задумали собрать большой пост о том, как жить, если ты индивидуальный предприниматель (ИП). Мы попросили пользователей Хабра набросать нам вопросы из серии «хотели знать, но боялись спросить». Получился отличный список.

          Ответить на вопросы мы предложили нашим друзям из Тинькофф Бизнеса — они сами регистрируют ИП и знают все юридические тонкости. Главный бонус: в течение недели в комментариях будет дежурить mat-ulyana, которая ответит на любые дополнительные вопросы.

          image
          Читать дальше →
        • Эволюционирующие клеточные автоматы



            Соединим клеточные автоматы с генетическим алгоритмом и посмотрим, что из этого получится.

            В статье присутствуют Gif (трафик!) и контрастные картинки. У эпилептиков может случиться эпилептический припадок.
            Читать дальше →
          • Каково разрешение человеческого глаза (или сколько мегапикселей мы видим в каждый отдельный момент времени)

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

            Вопрос, казалось бы, простой на первый взгляд… можно погуглить, и всё станет ясно. Но практически все статейки в сети дают либо «космические» числа — вроде 400-600 мегапикселей (Мп), либо это и вовсе какие-то убогие рассуждения.

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

            Начнём с общей структуры зрительной системы


            1. Сетчатка
            2. Зрительный нерв.
            3. Таламус(ЛКТ).
            4. Зрительная кора.

            image

            Сетчатка состоит из трёх типов рецепторов: палочки, колбочки, фоторецепторы(ipRGC).
            Читать дальше →
          • Исследование «Стартап барометр 2019»: российские стартапы заняты не тем, что интересует инвесторов



              Уже второй год подряд венчурный инвестор Алексей Соловьев совместно с консалтинговой компаней EY и Фондом развития интернет-инициатив (ФРИИ) анализируют работу отечественных технологических стартапов. Результаты публикуются в исследовании «Стартап барометр».

              В этом году авторы исследования опросили около 500 основателей инновационных стартапов в России. Предпринимателям задавали 50 вопросов, которые включали запрос о доходе компании, источнике инвестиций, сути разрабатываемого продукта, намерении выходить на зарубежные рынки и поддержки институтов развития.
              Читать дальше →
            • Архитектуры нейросетей

              • Translation
              Перевод Neural Network Architectures

              Алгоритмы глубоких нейросетей сегодня обрели большую популярность, которая во многом обеспечивается продуманностью архитектур. Давайте рассмотрим историю их развития за последние несколько лет. Если вас интересует более глубокий анализ, обратитесь к этой работе.


              Сравнение популярных архитектур по Top-1 one-crop-точности и количеству операций, необходимых для одного прямого прохода. Подробнее здесь.
              Читать дальше →
              • +26
              • 22.4k
              • 7
            • [в закладки] PDF-версия руководства по Node.js и новое руководство по JavaScript

                Недавно мы опубликовали серию материалов, представляющую собой перевод руководства по Node.js. В первой публикации мы интересовались мнением аудитории о целесообразности перевода этого руководства и говорили, что планируется подготовить его PDF-версию.

                image


                PDF-версия документа состоит более чем из 120 страниц, содержит оглавление, немного картинок и всё необходимое форматирование. Просто закидывайте файлик в читалку и готово. Или в папочку с литературой. Или… решать вам.

                Скачать PDF-версию [ 1.8 Мб ]



                Сегодня мы хотим представить вашему вниманию новое руководство того же автора, посвящённое JavaScript.

                Вот краткий перечень вопросов, которые оно раскрывает:
                • Общая характеристика языка и его стандартизация
                • Особенности стандартов ES6, ES7, ES8, ES9
                • Оформление кода, руководства по стилю
                • Лексическая структура языка
                • Переменные
                • Типы данных
                • Выражения
                • Логические выражения
                • Прототипное наследование
                • Классы
                • Исключения
                • Функции и замыкания
                • Массивы
                • Циклы
                • События
                • Асинхронное программирование
                • Таймеры
                • Строгий режим
                • Математические вычисления
                • Модули

                Мы планируем это руководство перевести, но, прежде чем приняться за работу, хотели бы предложить вам поучаствовать в небольшом опросе
                Читать дальше →
              • Иллюзия обмана: визуально-оптическая иллюзия на базе ретропрогнозирования



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

                  • Translation

                  Суть разработки программного обеспечения
                  — Нужно проделать 500 отверстий в стене, так что я сконструировал автоматическую дрель. В ней используются элегантные точные шестерни для непрерывной регулировки скорости и крутящего момента по мере необходимости.
                  — Отлично, у неё идеальный вес. Загрузим 500 таких дрелей в пушку, которые мы сделали, и выстрелим в стену.


                  Я занимаюсь программированием уже 15 лет. Но в последнее время при разработке не принято думать об эффективности, простоте и совершенстве: вплоть до того, что мне становится грустно за свою карьеру и за IT-отрасль в целом.

                  Для примера, современные автомобили работают, скажем, на 98% от того, что физически позволяет нынешняя конструкция двигателя. Современная архитектура использует точно рассчитанное количество материала, чтобы выполнять свою функцию и оставаться в безопасности в данных условиях. Все самолёты сошлись к оптимальному размеру/форме/нагрузке и в основном выглядят одинаково.

                  Только в программном обеспечении считается нормальным, если программа работает на уровне 1% или даже 0,01% от возможной производительности. Ни у кого вроде нет возражений.
                  Читать дальше →
                • Pitch-tracking, или определение частоты основного тона в речи, на примерах алгоритмов Praat, YAAPT и YIN

                    image

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

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

                    Тем не менее, определение частоты основного тона является не совсем тривиальной задачей с интересными нюансами. В этой статье мы обсудим особенности алгоритмов для ее определения и сравним существующие решения на примерах конкретных аудиозаписей.
                    Читать дальше →
                    • +31
                    • 9.4k
                    • 7
                  • Классификация эмоций: в сердце эмоциональных вычислений

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

                      image
                      Читать дальше →
                      • +14
                      • 4.8k
                      • 1
                    • 10 лучших инструментов для тестирования API

                        10 лучших инструментальных средств тестирования интерфейсов прикладного программирования 2018 года.

                        Интерес к тестированию неудержимо растёт на протяжении нескольких последних лет, согласно исследованиям Google Trends. Опрос, проведенный компанией Smartbear в 2017 году среди 5000 профессионалов в области разработки программного обеспечения, показал, что более 50% опрошенных респондентов используют автоматические средства тестирования API, и ожидается рост их количества на 30% ( с 59% до 77%) в течении следующих двух лет, причем 80% участников опроса указали, что отвечают за тестирование API.
                        Читать дальше →
                        • +11
                        • 46.6k
                        • 6
                      • Что слушают разработчики: от классики до игровых саундтреков — обсуждаем все самое интересное

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

                          Вопрос только в том, какой музыкальный жанр выбрать.

                          На таких площадках, как Reddit, Hacker News и Хабр обсуждению этого вопроса посвящен не один тред. Мы решили проанализировать мнения разработчиков и отобрать наиболее интересные.

                          Читать дальше →
                        • Сказ о том, как я в Финляндию переехала

                          Всего год назад я сидела на Хабре и читала подобного рода статьи для того, чтобы поддержать свой боевой дух, когда решила покинуть родной Казахстан и найти работу в Европе. Но, к моему сожалению, все статьи начинались примерно одинаково: “Меня зовут username и я программирую с 8 лет”. Я вам поведаю совсем другую историю.


                          Читать дальше →
                        • Основы квантовых вычислений: чистые и смешанные состояния

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

                          Читать дальше →
                          • +17
                          • 9.9k
                          • 9