• Как получить работу вашей мечты, мысля позитивно, и продвинуться на ней, изучив пять моих правил…

    • Перевод
    От переводчика. На Хабре часто бывают статьи, где дают разные полезные советы, как лучше проходить собеседования и как потом вести себя на новой работе. И очень часто в них рекомендуют вести себя уверенно, хорошо держаться, иметь высокую самооценку и т.п. Но есть одна проблема — нигде обычно не сказано, как же этого достичь на практике. Как стеснительному человеку ни с того ни с сего вдруг стать уверенным в себе? Заполнить этот досадный пробел призвана предлагаемая вашему вниманию статья из американского журнала MAD, № 24 за 1955 год. «Устаревший хлам?» — хмыкнет кто-то. «Отнюдь, — отвечу я. — Неувядающая классика!».

    Автор: Роджер Прайс

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

    В наши дни множество Молодых Людей считают, что как только они получат в Гарварде степень Доктора и посвятят пару лет экспериментам в Пристонском институте перспективных исследований, их немедленно начнут осаждать предприниматели, горящие желанием предложить им прибыльные должности Ремонтников телевизионных аппаратов или Окружных Политических лидеров. Увы! Конкуренция во всех сферах еще никогда не была такой острой. Хороших намерений недостаточно. Ключ к успеху как в бизнесе, так и в обществе, — это Уверенность в себе!

    Вы знаете, что миллионы людей реализуют всего лишь 10% своего потенциала Лидерства и Делового Успеха, потому что им мешает стеснительность и отсутствие Уверенности в себе? А к вам это тоже относится? Встречаясь с людьми, вы съеживаетесь и хнычете, ощущаете дурацкую “неполноценность”, просто потому, что они физически и умственно вас превосходят?
    Читать дальше →
  • Отслеживаем прогресс выполнения в Python

    • Перевод
    • Tutorial

    Зачем нужны индикаторы прогресса?


    Индикаторы прогресса (progress bar) — визуальное отображение процесса работы. Они избавляют нас от необходимости беспокоиться о том, не завис ли скрипт, дают интуитивное представление о скорости его выполнения и подсказывают, сколько времени осталось до завершения.


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

    Читать дальше →
  • Почему Вы должны попробовать FastAPI?

    image Лого взято из Github репозитория FastAPI


    FastAPI — относительно новый веб-фреймворк, написанный на языке программирования Python для создания REST (а если сильно постараться то и GraphQL) API, основанный на новых возможностях Python 3.6+, таких как: подсказки типов (type-hints), нативная асинхронность (asyncio). Помимо всего прочего, FastAPI плотно интегрируется с OpenAPI-schema и автоматически генерирует документацию для вашего API посредством Swagger и ReDoc


    FastAPI построен на базе Starlette и Pydantic.
    StarletteASGI микро-фреймворк для написания веб-приложений.
    Pydantic — библиотека для парсинга и валидации данных основанная на Python type-hints.

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

    Переменные окружения для Python проектов


    При разработки web-приложения или бота мы часто имеем дело с какой-либо секретной информацией, различными токенами и паролями (API-ключами, секретами веб-форм). "Хардкодить" эту информацию, а тем более сохранять в публично доступной системе контроля версий это очень плохая идея.


    # Плохая практика. Не делай так.
    API_KEY = 'very_secret_password'

    Конфигурационные файлы


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


    # Уже лучше.
    from config import API_KEY
    app = Flask(__name__)
    app.config['API_KEY'] = API_KEY

    Переменные окружения


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


    $ export FLASK_APP=hello.py
    $ flask run
     * Running on http://127.0.0.1:5000/
    Читать дальше →
  • Новый курс по Python от Microsoft [на английском]

    • Перевод
    Вероятно, самое большое препятствие при изучении любого нового языка программирования — просто знать, с чего начать. Что важно? Что нужно знать, чтобы стать профи? Трудно исследовать документы, когда даже нет уверенности, что читаешь то, что нужно.

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

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

    К счастью, концепции обычно не меняются при переходе с одного языка программирования на другой. Конечно, синтаксис может быть другим, но оператор if все еще является оператором if, даже если он написан с использованием { } или End If. Поэтому не нужно учиться тому, как программировать, нужно учиться программировать на новом языке.

    Наши коллеги Сюзан и Крис создали серию обучающих видео по Python для начинающих! Вы можете знать, как писать код, например, на JavaScript, Java или C# (или на COBOL, или на Bash, или… на самом деле это не имеет значения). Возможно, вы учились в колледже, онлайн или читали книгу, и вам не нужно учить, что такое выражение if. Вам скорее нужно понять, как выглядит выражение if в Python.

    Читать дальше →
  • 9 лучших опенсорс находок за сентябрь 2019

      Доброго Хактоберфеста, дамы и господа. Подготовил для вас подборку самых интересных находок из опенсорса за сентябрь 2019.


      За полным списком новых полезных инструментов, статей и докладов можно обратиться в мой телеграм канал @OpensourceFindings (по ссылке зеркало, если не открывается оригинал).


      В сегодняшнем выпуске.
      Технологии внутри: Python, C, Rust, Ruby, JavaScript, Go.
      Тематика: веб разработка, администрирование, инструменты разработчика.


      Прошлый выпуск.

      Читать дальше →
    • C/C++ из Python (C API)

      • Tutorial
      main

      Продолжаем тему как вызывать C/C++ из Python3. Теперь используем C API для создания модуля, на этом примере мы сможем разобраться как работает cffi и прочие библиотеки упрощающие нам жизнь. Потому что на мой взгляд это самый трудный способ.

      Читать дальше →
      • +22
      • 6,1k
      • 8
    • NumPy в Python. Часть 3

        Предисловие переводчика


        И снова здравствуйте! Продолжаем наш цикл статей по переводу мана о numpy. Приятного чтения.


        Операторы сравнения и тестирование значений


        Булево сравнение может быть использовано для поэлементного сравнения массивов одинаковых длин. Возвращаемое значение это массив булевых True/False значений:

        >>> a = np.array([1, 3, 0], float)
        >>> b = np.array([0, 3, 2], float)
        >>> a > b
        array([ True, False, False], dtype=bool)
        >>> a == b
        array([False,  True, False], dtype=bool)
        >>> a <= b
        array([False,  True,  True], dtype=bool)
        Читать дальше →
        • +20
        • 42,1k
        • 5
      • Синтез регулятора методом обратной задачи динамики

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

        Читать дальше →
        • +15
        • 3,3k
        • 4
      • 50 оттенков matplotlib — The Master Plots (с полным кодом на Python)

        • Перевод
        Те, кто работает с данными, отлично знают, что не в нейросетке счастье — а в том, как правильно обработать данные. Но чтобы их обработать, необходимо сначала проанализировать корреляции, выбрать нужные данные, выкинуть ненужные и так далее. Для подобных целей часто используется визуализация с помощью библиотеки matplotlib.



        Встретимся «внутри»!
        Читать дальше →
      • Учебное пособие по TensorFlow: 10 минутное практическое занятие по TensorFlow для начинающих [перевод]

        Привет, Хабр! Представляю вашему вниманию перевод статьи "TensorFlow Tutorial: 10 minutes Practical TensorFlow lesson for quick learners" автора Ankit Sachan.


        Этот туториал по TensorFlow предназначен для тех, кто имеет общее представление о машинном обучении и пытается начать работу с TensorFlow.

        Читать дальше →
        • +22
        • 14k
        • 8
      • Python из C (C API)

        • Tutorial
        main

        В прошлом году появилась необходимость дополнить старый проект написанный на C функционалом на Python3. Не смотря на то, что есть статьи на эту тему я помучился и в том году и сейчас когда писал программы для статьи. Поэтому приведу свои примеры по тому как работать с Python3 из C под Linux (с тем что использовал). Опишу как создать класс и вызвать его методы, получить доступ к переменным. Вызов функций и получение переменных из модуля. А также проблемы с которыми я столкнулся и не смог их понять.

        Читать дальше →
      • Применение машинного обучения и Data Science в промышленности

        • Перевод
        Хабр, привет. Перевел пост, который идёт строго (!) в закладки и передаётся коллегам. Он со списком блокнотов и библиотек ML и Data Science для разных отраслей промышленности. Все коды на Python, и размещены на GitHub. Они будут полезны как для расширения кругозора, так и для запуска своего интересного стартапа.

        image

        Отмечу, что если среди читателей есть желающие помочь, и добавить в любую из подотраслей подходящий проект, пожалуйста, свяжитесь со мной. Я их добавлю в список. Итак, давайте начнём изучение списка.
        Читать дальше →
      • Как работать с Google Trends: полное руководство для новичков

        • Tutorial
        image

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

        Многие не знают, как работать с трендами в интернете.
        И тем более, не знают о существовании бесплатного сервиса, решающего эту проблему- Google Trends

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

        Статья будет полезна специалистам, ранее не работавшим с сервисом.
        Читать дальше →
      • Обзор Python-пакета Datatable

        • Перевод
        «Пять экзабайт информации создано человечеством с момента зарождения цивилизации до 2003 года, но столько же сейчас создаётся каждые два дня». Эрик Шмидт


        Datatable — это Python-библиотека для выполнения эффективной многопоточной обработки данных. Datatable поддерживает наборы данных, которые не помещаются в памяти.

        Если вы пишете на R, то вы, вероятно, уже используете пакет data.table. Data.table — это расширение R-пакета data.frame. Кроме того, без этого пакета не обойтись тем, кто пользуется R для быстрой агрегации больших наборов данных (речь идёт, в частности, о 100 Гб данных в RAM).

        Пакет data.table для R весьма гибок и производителен. Пользоваться им легко и удобно, программы, в которых он применяется, пишутся довольно быстро. Этот пакет широко известен в кругах R-программистов. Его загружают более 400 тысяч раз в месяц, он используется в почти 650 CRAN и Bioconductor-пакетах (источник).

        Какая от всего этого польза для тех, кто занимается анализом данных на Python? Всё дело в том, что существует Python-пакет datatable, являющийся аналогом data.table из мира R. Пакет datatable чётко ориентирован на обработку больших наборов данных. Он отличается высокой производительностью — как при работе с данными, которые полностью помещаются в оперативной памяти, так и при работе с данными, размер которых превышает объём доступной RAM. Он поддерживает и многопоточную обработку данных. В целом, пакет datatable вполне можно назвать младшим братом data.table.
        Читать дальше →
      • Китай и Иран используют replay-атаки для борьбы с Telegram

          В баг-трекерах популярных MTProxy-серверов mtg и mtprotoproxy появились сообщения о том, что в Иране и Китае надзорные органы научились каким-то образом выявлять и блокировать телеграм-прокси, даже использующие рандомизацию длины пакета (dd-префикс).
          В итоге выяснилась занятная история: для выявления прокси-серверов MTProxy злоумышленники использовали replay-атаки.
          Читать дальше →
        • Apache Kafka и потоковая обработка данных с помощью Spark Streaming

          • Tutorial
          Привет, Хабр! Сегодня мы построим систему, которая будет при помощи Spark Streaming обрабатывать потоки сообщений Apache Kafka и записывать результат обработки в облачную базу данных AWS RDS.

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

          Как реализовать этот кейс без применения магии и волшебных заклинаний — читаем под катом! Поехали!


          (Источник картинки)
          Читать дальше →
          • +16
          • 12k
          • 5
        • Вейвлет – анализ. Основы

          • Tutorial

          Введение


          Английское слово wavelet (от французского «ondelette») дословно переводится как «короткая (маленькая) волна». В различных переводах зарубежных статей на русский язык встречаются еще термины: «всплеск», «всплесковая функция», «маловолновая функция», «волночка» и др.

          Вейвлет-преобразование (ВП) широко используется для анализа сигналов. Помимо этого, оно находит большое применение в области сжатия данных. ВП одномерного сигнала – это его представление ввиде обобщенного ряда или интеграла Фурье по системе базисных функций.

          $\psi _{ab}(t)=\frac{1}{\sqrt{a}}\psi \left ( \frac{t-b}{a} \right ) $, (1)

          сконструированных из материнского (исходного) вейвлета $\psi(t)$, обладающего определенными свойствами за счет операций сдвига во времени ( b ) и изменения временного масштаба (a).

          Множитель $1/\sqrt{a}$ обеспечивает независимость нормы функций (1) от масштабирующего числа (a). Для заданных значений параметров a и b функция $\psi_{ab}(t)$ и есть вейвлет, порождаемый материнским вейвлетом $\psi(t)$.

          В качестве примера приведём вейвлет «мексиканская шляпа» во временной и частотной областях:

          Листинг вейвлета для временной области
          from numpy import*
          import matplotlib.pyplot as plt
          x= arange(-4,30,0.01)
          def w(a,b,t):    
              f =(1/a**0.5)*exp(-0.5*((t-b)/a)**2)* (((t-b)/a)**2-1)
              return f
          plt.title("Вейвлет «Мексиканская шляпа»:\n$1/\sqrt{a}*exp(-0,5*t^{2}/a^{2})*(t^{2}-1)$")
          y=[w(1,12,t) for t in x]
          plt.plot(x,y,label="$\psi(t)$ a=1,b=12") 
          y=[w(2,12,t) for t in x]
          plt.plot(x,y,label="$\psi_{ab}(t)$ a=2 b=12")   
          y=[w(4,12,t) for t in x]
          plt.plot(x,y,label="$\psi_{ab}(t)$ a=4 b=12")   
          plt.legend(loc='best')
          plt.grid(True)
          plt.show()



          Читать дальше →
        • Мониторинг метеоданных в Grafana

            В этой статье речь пойдет о том, как вывести для мониторинга — нужные показатели системы на графики, при этом не написав ни одной строчки кода. Используемое ПО распространяется свободно кроме сервера БД — это MS SQL сервер, развернутый в облачном сервисе MS Azure, который вы без труда можете заменить на любой другой.

            Метеостанция снимает показатели температуры и влажности воздуха и в реальном режиме времени отправляет их на сервер MS Azure, который помещает эти данные в базу данных. Таким образом генерируется некоторый временной ряд, который предлагается мониторить с помощью Grafana и выводить на панель мониторинга администратора.


            Читать дальше →
          • История транзистора, часть 2: из горнила войны

            • Перевод



            Горнило войны подготовило почву для появления транзистора. С 1939 по 1945 года технические знания из области полупроводников невероятно сильно разрослись. И тому была одна простая причина: радар. Самая важная технология войны, среди примеров применения которой: обнаружение воздушного налёта, поиск подводных лодок, направление ночных авиарейдов на цели, наведение средств ПВО и морских орудий. Инженеры даже научились впихивать крохотные радары в артиллерийские снаряды, чтобы те взрывались при пролёте рядом с целью – радиовзрыватели. Однако источником этой новой мощной военной технологии была более мирная область: изучение верхних слоёв атмосферы в научных целях.
            Читать дальше →