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

    • Translation
    • Tutorial

    Те, кто знает Python, могут делать поистине удивительные вещи, например, создавать арт-объекты и игры и красивые карты, полнотекстовую поисковую машину и систему распознавания лиц. Применим Python и для вполне бытовых задач. Сегодня, специально к старту новых потоков курсов Python для веб-разработки и Fullstack-разработчик на Python поделимся с вами туториалом, как считывать, добавлять и удалять EXIF метаданные из фотографий с помощью Python.

    Читать далее
  • Собеседование на позицию Data Scientist: 20 типичных вопросов

      Проверка знаний на собеседованиях — обычная практика. И мы сейчас не о глупых «Где вы видите себя через 5 лет?», а о нормальных вопросах по специальности. В этой статье мы собрали топ-20 вопросов, которые задают дата-сайентистам, чтобы проверить их уровень знаний. Все это реальные вопросы на реальных собеседованиях в российских компаниях. Но нас попросили не упоминать названия, чтобы не давать соискателям лишнего преимущества. Некоторые вопросы простые, другие — посложнее. Не будем затягивать, поехали.

      Читать далее
      • +11
      • 6.1k
      • 4
    • Как сделать полнотекстовую поисковую машину на 150 строках кода Python

      • Translation

      Полнотекстовый поиск — неотъемлемая часть нашей жизни. Разыскать нужные материалы в сервисе облачного хранения документов Scribd, найти фильм в Netflix, купить туалетную бумагу на Amazon или отыскать с помощью сервисов Google интересующую информацию в Интернете — наверняка вы сегодня уже не раз отправляли похожие запросы на поиск нужной информации в невообразимых объёмах неструктурированных данных. И что удивительнее всего — несмотря на то что вы осуществляли поиск среди миллионов (или даже миллиардов) записей, вы получали ответ за считанные миллисекунды. Специально к старту нового потока курса Fullstack-разработчик на Python, в данной статье мы рассмотрим основные компоненты полнотекстовой поисковой машины и попытаемся создать систему, которая сможет за миллисекунды находить информацию в миллионах документов и ранжировать результаты по релевантности, причём всю систему можно воплотить всего в 150 строках кода на Python!

      Читать далее
      • +5
      • 6.3k
      • 6
    • Как Земля движется в космосе? Теперь мы знаем это во всех масштабах

      • Translation

      Спросите у учёного наш космический адрес, и вы получите довольно полный ответ. Мы находимся на планете Земля, которая вращается вокруг своей оси и вокруг Солнца. Солнце вращается по траектории эллипса вокруг центра Млечного Пути, который внутри нашей Местной группы тянется в сторону Андромеды; Местная группа, в свою очередь, движется внутри нашего космического Сверхскопления Ланиакея, галактическими группами, кластерами и космическими пустотами, а они лежат  в войде KBC, посреди структуры Вселенной в широком масштабе. После десятилетий исследований наука наконец-то собрала полную картину этого движения и может точно определить скорость нашего движения в космосе в любом масштабе.

      Читать далее
    • Создание видеочата с помощью Node.js + Socket.io + WebRTC

      • Translation

      Сегодня, специально к старту нового потока по веб-разработке, поделимся с вами туториалом, из которого вы узнаете, как создать видеочат с помощью JavaScript и NodeJS. Также вы научитесь использовать PeerJS, WebRTC и Socket.io.

      Читать далее
    • Путаница зависимостей. Как я взломал Apple, Microsoft и десятки других компаний

      • Translation

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

      pip install package_name

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

      Вы, наверное, уже слышали о таких инструментах — у Node есть менеджер npm и реестр npm, система управления пакетами pip языка Python использует PyPI (Python Package Index), а систему gems для языка Ruby можно найти… на сайте RubyGems.

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

      Конечно, может.
      • +23
      • 12.3k
      • 6
    • Как я нашел баг, который раскрывал ваш пароль от PayPal

      • Translation

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

      Если вы подходите к цели, как будто вы — первый человек, который оценивает безопасность, то я считаю, вы обязательно найдёте что-то новое. Особенно если код, который вы тестируете, всё ещё находится в разработке. Это история о серьёзном баге безопасности, который влияет, наверное, на самую посещаемую страницу PayPal: страницу с формой входа.

      Читать далее
      • +21
      • 6.6k
      • 1
    • Как новый алгоритм преодолевает ограничение скорости решения линейных уравнений

      • Translation

      Сантош Вемпала и Ричард Пенг из Технологического института Джорджии, придумали новый, более быстрый способ решения некоторых систем линейных уравнений, «рабочую лошадку современных вычислений». Используя случайность, новый алгоритм предлагает принципиально новый — и более быстрый — способ выполнения одного из самых простых вычислений в математике и информатике.

      Читать далее
    • Создание арт-объектов, игр и много чего ещё с использованием числа Пи и Python

      • Translation

      Число Пи — пожалуй, самое знаменитое число в мире. Это единственное число, ради которого учредили особый день в году — День числа пи, отмечаемый 14 марта. В этой статье мы рассмотрим различные особенности числа π и попробуем с его помощью создать что-нибудь развлекательное, используя Python. Например арт-объекты, музыку, игры и другое. Открываем блокнот Colab и начинаем.

      Читать далее
    • 50 000 $ в месяц — не проблема, или Сколько на самом деле зарабатывают пентестеры

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

        Многие люди ошибочно считают, что раз пентестер — это почти хакер, то и зарабатывать он должен 300к/наносек (минимум). Накануне старта нового потока нашего курса "Этичный хакер" разберёмся, действительно ли это так.

        Читать далее
      • Цифровая паяльная станция своими руками

        • Translation
        • Tutorial

        В этом посте мы будем делать в домашних условиях недорогую цифровую паяльную станцию Hakko 907! Она способна поддерживать переменную и постоянную температуру (до 525 °C). Для создания паяльной станции потребуются несколько компонентов общей стоимостью всего 7 долларов (не считая блока питания, но можно использовать уже имеющийся блок питания). Мне не удалось найти подробные инструкции по созданию такой станции, поэтому я решил подготовить собственный туториал с подробным описанием процесса.

        Приятного крафтинга!
      • Что мы в действительности знаем о тёмной материи и чёрных дырах?

        • Translation

        Если вы переместитесь на 100 лет назад и перебросите выдающихся учёных того времени к нам, как вы думаете, какие научные открытия будут для них самыми потрясающими? Удивятся ли они, узнав, что излучающие почти весь свет звёзды, тот самый свет, что мы видим во Вселенной за пределами Земли, составляет лишь крошечную частицу всей массы Вселенной? Их бы сбило с толку существование сверхмассивных чёрных дыр – самых массивных объектов во Вселенной? Или самыми загадочными они находили бы тёмную материю или тёмную энергию?

        Приятного чтения!
      • Визуализируйте многопоточные программы Python с open source инструментом – VizTracer

        • Translation
        • Tutorial

        Специально к старту нового потока курса Fullstack-разработчик на Python, представляем небольшой авторский обзор кроссплатформенного инструмента визуализации многопоточных программ – VizTracer. У VizTracer 57 форков и 841 звезд на Github. Настраиваемые события, отчёты в HTML, детальная информация о функциях с их исходным кодом, простота применения, отсутствие зависимостей и малый оверхед превращают VizTracer в мастхэв Python-разработчика.

        Приятного чтения!
      • 5 HTML-трюков, о которых никто не говорит

        • Translation

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

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

        Читать далее
      • Погружаемся в логические свойства CSS

        • Translation
        • Tutorial

        Поддержка логических свойств CSS со временем становится лучше. Однако мне по-прежнему трудно запомнить их, когда использую их в проекте. Что означают start и end? Несколько сложно охватить все детали без проб и ошибок.

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

        Приятного чтения!
      • Удвойте скорость написания кода на React с помощью этих простых трюков

        • Translation

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

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

        Читать далее
      • Биологически правдоподобное обучение ИИ. Краткий обзор достижений

        • Translation

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

        В 2007 году ведущие мыслители в области нейронных сетей глубокого обучения организовали неофициальную «спутниковую» встречу на полях престижной ежегодной конференции по искусственному интеллекту. Последним спикером встречи был  Джеффри Хинтон  из Университета Торонто, когнитивный психолог и учёный в области компьютерных наук, ответственный за некоторые из крупнейших достижений в области глубоких сетей...

        Приятного чтения!
      • Заключённый использовал одиночную камеру для изучения математики. Сегодня он решает самые трудные уравнения в мире

        • Translation

        В 2010 году некий Кристофер Хейвенс (Christopher Havens) был приговорен к 25 годам тюремного заключения за убийство. В 2020 году его работа по теории чисел была опубликована в научном журнале. Все стены камеры, в которой Кристофер Хейвенс отбывает срок, испещрены бумажными листками с формулами.

        Бумажные листы, исписанные числами и греческими символами, уже не помещаются на небольшом столике и теперь, как пёстрые обои, развешаны по всем стенам камеры размером 2.4x3.7 метров. В процессе поиска решений он мог записывать на стенах уравнения непрерывных дробей длиной до 4.5 метров. Это его история.

        Приятного чтения!
      • 10 лучших игр по программированию, которые улучшат ваши навыки

        • Translation

        Вы помните далёкие дни из детства, когда вы, проводили целый день, а иногда даже не ели целый день, чтобы поиграть в игры на Nintendo? (Ах, дни Mario и Contra!!!)

        С того времени игры претерпели гигантские преобразования и сфера стала более обширной. Это уже не просто хобби. Сейчас в Интернете доступно множество игр, связанных с программированием, и вы можете использовать их чтобы изучить и отточить свои скилы в увлекательной форме. Более того, эти игры могут помочь вам улучшить навыки решения задач, поскольку вам нужно будет решать задачи различной сложности, а также соревноваться с другими опытными программистами по всему миру. Специально к старту новых потоков курсов Fullstack-разработчик на Python, разработка на C# и разработка на Java, в этой статье мы отобрали несколько таких игр, играя в которые можно параллельно качать и себя самого.

        Start game
      • Как мы сделали первый Data Science Акселератор, или Новый подход к обучению профессионалов

          Обучать профессионалов намного сложнее, чем новичков. Если новичок – это чистый лист, то профи – сам как живой учебник, наполненный знаниями, устоявшимися взглядами и интересами. Но даже профессионалу иной раз нужна помощь в достижении целей – для этого мы и создали Data Science Акселератор. Подробнее о том, что это такое, из чего состоит и как создавалось – под катом.

          Читать далее