• Как НЕ СТОИТ использовать I2P и TOR

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

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

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

    Читать далее
  • Ультимативный гайд по поиску утечек памяти в Python

    • Tutorial

    Практика показывает, что в современном мире Docker-контейнеров и оркестраторов (Kubernetes, Nomad, etc) проблема с утечкой памяти может быть обнаружена не при локальной разработке, а в ходе нагрузочного тестирования, или даже в production-среде. В этой статье рассмотрим причины появления утечек в Python-приложениях, доступные инструменты для отладки и мониторинга работающего приложения, а также общую методику поиска утечек памяти.

    Читать далее
    • +61
    • 8.5k
    • 4
  • Визуализация пересечений и перекрытий с помощью Python

    • Translation

    Изучение вариантов решения одной из самых сложных задач визуализации данных


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

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


    Диаграмма Венна
    Приятного чтения!
  • Анимации градиентного спуска и ландшафта потерь нейронных сетей на Python

    • Translation
    • Tutorial
    Во время изучения различных алгоритмов машинного обучения я наткнулся на ландшафт потерь нейронных сетей с их горными территориями, хребтами и долинами. Эти ландшафты потерь сильно отличались от выпуклых и гладких ландшафтов потерь, с которыми я столкнулся при использовании линейной и логистической регрессий. Здесь мы создадим ландшафты потерь нейронных сетей и анимированного градиентного спуска с помощью датасета MNIST.


    Рисунок 1 — Ландшафт потерь свёрточной нейронной сети с 56 слоями (VGG-56, источник)
    Приятного чтения!
    • +39
    • 7.1k
    • 3
  • 10 самых популярных сайтов для соревнований программистов на начало 2018 года

    • Translation


    В конце 2016 года была опубликована аналогичная статья. С тех пор список был обновлен на основе наблюдений и анализа нескольких ресурсов (постов в популярных блогах, обсуждений на Quora, поисковых запросов в Google и обсуждений на форумах, таких как reddit/learnprogramming и Hacker News).

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

    На этих сайтах также можно просто посоревноваться с коллегами или развлечься, решая интересные головоломки. Порядок составления списка основан лишь на уровне сложности заданий: от начального до продвинутого.
    Читать дальше →
  • Разработка web API

    • Translation

    Интро


    Это краткий перевод основных тезисов из брошюры «Web API Design. Crafting Interfaces that Developers Love» Брайана Маллоя из компании Apigee Labs. Apigee занимается разработкой различных API-сервисов и консталтингом. Кстати, среди клиентов этой компании засветились такие гиганты, как Best Buy, Cisco, Dell и Ebay.

    В тексте попадаются комментарии переводчика, они выделены курсивом.

    Собираем API-интерфейсы, которые понравятся другим разработчикам


    Понятные URL для вызовов API

    Первый принцип хорошего REST-дизайна — делать вещи понятно и просто. Начинать стоит с основных URL адресов для ваших вызовов API.

    Ваши адреса вызовов должны быть понятными даже без документации. Для этого возьмите себе за правило описывать любую сущность с помощью коротких и ясных базовых URL адресов, содержащих максимум 2 параметра. Вот отличный пример:
    /dogs для работы со списком собак
    /dogs/12345 для работы с отдельной собакой
    Дальше
  • 450 бесплатных курсов от Лиги Плюща

    • Translation
    image


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

    Я сейчас решаю задачу, как из огромной массы жизненно важного контента выбрать тот, который стоит попробовать в первую очередь, как «разметить данные», чтобы нейросеточка у подрастающего поколения обучилась более эффективно. (ontol.org, «Выгорание», «Удаленка», телеграм-канал).

    Предлагаю вашему вниманию полную подборку всех бесплатных курсов от Лиги Плюща.

    Лига плюща (The Ivy League) — ассоциация восьми частных американских университетов, расположенных в семи штатах на северо-востоке США. В состав лиги входят: Брауновский университет (Brown University), Гарвардский университет (Harvard University), Дартмутский колледж (Dartmouth College), Йельский университет (Yale University), Колумбийский университет (Columbia University), Корнеллский университет (Cornell University), Пенсильванский университет (University of Pennsylvania), Принстонский университет (Princeton University).

    Эти университеты выпустили около 500 онлайн-курсов, 450 из которых сейчас доступны.

    Оглавление


    Computer Science (37)
    Data Science (18)
    Программирование (8)
    Гуманитарные науки (80)
    Бизнес (72)
    Art & Design (20)
    Наука (32)
    Социальные науки (74)
    Здоровье и медицина (32)
    Инженерия (15)
    Образование и преподавание (21)
    Математика (14)
    Личностное развитие (7)

    Читать дальше →
    • +23
    • 42.3k
    • 5
  • Хабрарейтинг 2020: статистика и рейтинг лучших статей за 2020 год

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

      Заканчивается 2020 год, а значит, настало время подвести статистические итоги и составить уже традиционный рейтинг лучших статей Хабра за этот год. Этот рейтинг не является официальным, данные собираются парсером с помощью Python. Сортируя данные по тем или иным параметрам, можно получать разные выборки, что на мой взгляд, даёт довольно неплохие результаты. Для читателей также может быть интересно перечитать какие-то статьи, которые они пропустили в течении года.



      Поехали.
      Читать дальше →
    • Повышение продуктивности при работе с Jupyter Notebook за 5 минут

      • Translation
      • Tutorial

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


      0. Основные горячие клавиши


      • Esc: Переключение между режимом выполнения и редактирования
      • A: Добавление пустой ячейки сверху
      • B: Добавление пустой ячейки снизу
      • DD: Удаления ячейки
      • C: Копирование ячеек
      • X: Вырезание ячеек
      • V: Вставка ячеек

      1. Перезапуск блокнота


      Для рестарта просто нажмите ESC + 00.


      Читать дальше →
    • Как бы я изучал Data Science, если бы начал пару лет назад, или Руководство по эффективному изучению науки о данных

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

      Приятного чтения!
      • +35
      • 18.7k
      • 3
    • Какие английские слова IT-лексикона мы неправильно произносим чаще всего

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

        Дальше я приведу несколько наборов слов, сгруппированных по типовым ошибкам. К каждому слову будет приложена транскрипция, приблизительная транскрипция на русском и ссылка на более детальную информацию в словаре. Так как большинство IT компаний все-таки работает с Северной Америкой, то транскрипции будут из US English.
        Читать дальше →
      • Подготовка к собеседованиям в IT-гиганты: как я преодолела проклятье алгоритмического собеседования


        Дисклеймер:


        Я не программирую с трёх лет, не знаю наизусть Кнута, не являюсь призёром олимпиад по информатике и чемпионатов по спортивному программированию, не училась в MIT. У меня за плечами образование по информатике и 6 лет опыта в коммерческой разработке. И до недавнего времени я не могла пройти дальше первого технического скрининга в IT-гиганты из FAANG (Facebook, Amazon, Apple, Netflix, Google и подобные), хотя предпринимала несколько попыток. 

        Но теперь всё изменилось, я получила несколько офферов и хочу поделиться опытом, как можно к этому прийти. Речь пойдёт о позиции Software Engineer в европейских офисах перечисленных компаний.
        Читать дальше →
      • Лицензия для вашего open-source проекта

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

          Статья будет полезна тем, кто хочет:

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



            На Хабре недавно вышел пост ״Новичкам фондового рынка: честные разговоры о трейдинге״. Этот пост, опубликованный в одном из самых читаемых блогов Хабра, вводит людей в заблуждение и создает у них ложное представление о том, что игра на бирже — хороший способ заработка. Это вынудило меня написать комментарий, постепенно переросший в целую статью, с детальным разбором того, почему трейдинг — это не способ разбогатеть, а способ потерять деньги, и о том, как на самом деле заработать на инвестициях.
            Поехали!
          • Анатомия GNU/Linux

            Какое-то время назад на Хабре была небольшая волна постов на тему «Почему я [не] выбрал Linux». Как порядочный фанатик я стриггерился, однако решил, что продуктивнее что-нибудь рассказать о своей любимой системе, чем ломать копии в комментариях.

            У меня сложилось впечатление, что многие пользователи GNU/Linux слабо представляют, из чего сделана эта операционная система, поэтому утверждают, что она сляпана из попавшихся под руку кусков. В то же время, архитектура большинства дистрибутивов является устоявшейся и регламентируется рядом стандартов, включая стандарт графического окружения freedesktop.org и Linux Standard Base, расширяющий стандарты Unix. Мне при знакомстве с GNU/Linux несколько лет назад для погружения не хватало простой анатомической карты типичного дистрибутива, поэтому я попробую рассказать об этом сам.

            Читать далее
          • Введение в ASGI: становление асинхронной веб-экосистемы Python

            Привет, Хабр! Представляю вашему вниманию перевод статьи "Introduction to ASGI: Emergence of an Async Python Web Ecosystem" автора Florimond Manca.



            "Черепахи рядом с водоемом", Ricard Baraham на unsplash.com


            Python не замыкается только на Data Science, веб-разработка на Python вернулась с новым асинхронным витком в развитии языка!


            Сейчас происходит много важных событий в экосистеме веб-разработки на Python. Одним из основных драйверов этих изменений является ASGI — Asynchronous Standard Gateway Interface.


            Я уже несколько раз упоминал ASGI в моем блоге, в частности, когда анонсировал Bocadillo (асинхронный open-source веб-фреймворк на Python — прим.пер.) и tartiflette-starlette (библиотека для построения GraphQL API поверх HTTP через ASGI — прим.пер.), но я никогда не писал подробное введение о нем. Теперь я это сделаю.


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


            Прежде чем мы начнем, я хотел бы рассказать, что недавно создал awesome-asgi — отличный список для отслеживания постоянно расширяющейся экосистемы ASGI.

            Читать дальше →
            • +26
            • 19.2k
            • 5
          • Галерея лучших блокнотов по ML и Data Science

              Привет, читатель.

              Представляю пост который идёт строго (!) в закладки и передаётся коллегам. Он с подборкой примечательных файлов формата Jupyter Notebook по Machine Learning, Data Science и другим сферам, связанным с анализом данных. Эти блокноты Jupyter, будут наиболее полезны специалистам по анализу данных — как обучающимся новичкам, так и практикующим профи.

              image

              Итак, приступим.

              Вводные курсы в Jupyter Notebook


              Читать дальше →
              • +27
              • 26.8k
              • 7
            • 14 open-source проектов для прокачки Data Science мастерства (easy, normal, hard)

              • Translation
              Data Science для начинающих

              1. Sentiment Analysis (Анализ настроений через текст)


              image

              Посмотрите полную реализацию проекта Data Science с использованием исходного кода — Sentiment Analysis Project в R.

              Sentiment Analysis — это анализ слов для определения настроений и мнений, которые могут быть положительными или отрицательными. Это тип классификации, при котором классы могут быть двоичными (положительными и отрицательными) или множественными (счастливыми, злыми, грустными, противными ...). Мы реализуем этот Data Science проект на языке R и будем использовать набор данных в пакете «janeaustenR». Мы будем использовать словари общего назначения, такие как AFINN, bing и loughran, выполнять внутреннее соединение, и в конце мы создадим облако слов, чтобы отобразить результат.

              Язык: R
              Набор данных/Пакет: janeaustenR
              Читать дальше →
              • +15
              • 18.8k
              • 5
            • За что получает деньги наемный работник? Не понимаете? Сейчас поймете

              «За что я плачу тебе деньги?» — обычный вопрос работодателя работнику, причем саркастический, как правило.

              «За что я тут корячусь на тебя?» — столь же обычный вопрос работника к работодателю.
              Разобраться, за что же действительно работодатель платит деньги наемному работнику, поможет моя собственная теория, закодированная в десять букв – «ПЗП – ПЗС – ПЗПИ»

              Читать дальше →
            • Как построить диаграмму на Python

              • Translation
              • Tutorial

              Каждый, кому хоть раз приходилось строить диаграммы в draw.io или Google Diagrams, помнит всю утомительность и медлительность этого процесса. Сегодня делимся с вами материалом, в котором шаг за шагом показывается, как можно строить красивые архитектурные диаграммы с помощью Python. Главное удобство — встроенные узлы для обозначения сервисов и языков программирования. Только код и никакой мыши.
              Приятного чтения!