Как стать автором
Обновить
12
0
Дмитрий @LazyTalent

Python, DE

Отправить сообщение

Как стать долларовым миллионером за 30 лет, лежа на диване

Время на прочтение12 мин
Количество просмотров240K


На Хабре недавно вышел пост ״Новичкам фондового рынка: честные разговоры о трейдинге״. Этот пост, опубликованный в одном из самых читаемых блогов Хабра, вводит людей в заблуждение и создает у них ложное представление о том, что игра на бирже — хороший способ заработка. Это вынудило меня написать комментарий, постепенно переросший в целую статью, с детальным разбором того, почему трейдинг — это не способ разбогатеть, а способ потерять деньги, и о том, как на самом деле заработать на инвестициях.
Поехали!
Всего голосов 238: ↑221 и ↓17+274
Комментарии557

IPFS на сервере. Хостим сайты с ноутбука

Время на прочтение4 мин
Количество просмотров12K


Мне часто нужно опубликовать статическую страницу или сайт, демо с веб-формой или версткой. Заливать каждый раз куда-то вроде Jsfiddle не всегда удобно, да и редактировать статику в локалхосте куда быстрее и приятнее. Проблемы начинаются, когда мне нужно кому-то показать мою работу, или просто открыть ту же страницу с телефона. Приходится хостить все эти бесконечные рабочие варианты и зарисовки, для каждой заново заливать файлы, прикручивать vhost-ы.

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

В статье мы развернем IPFS ноду на сервере и попробуем эту технологию на практике.
Читать дальше →
Всего голосов 14: ↑12 и ↓2+18
Комментарии10

Применение библиотеки FuzzyWuzzy для нечёткого сравнения в Python. Расстояние Левенштейна (редакционное расстояние)

Время на прочтение5 мин
Количество просмотров64K
У него не было уверенности, что он правильно расслышал. От этого так много зависело! Но не переспрашивать же? (с) Борис Акунин. Весь мир театр.

Работая над голосовым помощником, который упоминается в предыдущей статье, понял, что просто не могу с вами не поделиться прекраснейшей библиотекой FuzzyWuzzy.
Читать дальше →
Всего голосов 7: ↑6 и ↓1+7
Комментарии5

Museria — децентрализованное хранилище музыки

Время на прочтение8 мин
Количество просмотров7.5K
image

Собрался я однажды написать приложение, чтобы отбирать музыку для себя и слушать дома/на улице/тренировках и.т.д. И чтобы все это работало в потоке, с минимальным моим участием. Придумал архитектуру, набросал прототип и в итоге столкнулся с одной “небольшой проблемой”.
Читать дальше →
Всего голосов 21: ↑21 и ↓0+21
Комментарии28

Оракул, скажи, кем я быть хочу

Время на прочтение16 мин
Количество просмотров11K

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


TL;DR Провели опрос трех психологических тестов: Большая пятерка, эмоциональный интеллект, тест на профессию. Задали вопрос кем работают, нравится ли работа. Провели небольшой EDA. На базе тестов построили несколько классификаторов и лучший сравнили с тестом на профессию, ответы которого учитывались с нюансом. Датасет выложили в открытом доступе.

Читать дальше →
Всего голосов 20: ↑20 и ↓0+20
Комментарии12

Реализация строкового типа в CPython

Время на прочтение9 мин
Количество просмотров9.3K
Продолжу неспешный разбор реализации базовых типов в CPython, ранее были рассмотрены словари и целые числа. Тем, кто думает, что в их реализации не может быть ничего интересного и хитрого, рекомендуется приобщиться к данным статьям. Те, же, кто уже их прочёл, знают, что CPython хранит в себе множество интересностей и особенностей реализации. Их может быть полезно знать при написании своих скриптов, так и в качестве пособия по архитектурным и алгоритмическим решениям. Не являются исключением здесь и строки.


Читать дальше →
Всего голосов 37: ↑37 и ↓0+37
Комментарии16

Что такое вероятность и как ее посчитать

Время на прочтение5 мин
Количество просмотров20K
Пусть будет некий абстрактный эксперимент в процессе которого может происходить некое событие. Этот эксперимент провели пять раз, и в четырех из них происходило то самое событие. Какие выводы можно сделать из этих 4/5?



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

Сделаем маленькую простенькую программку, симулирующую процессы вероятностей для такого случая, и на основе результата вычислений построим график.
Читать дальше →
Всего голосов 24: ↑17 и ↓7+10
Комментарии29

Бережная обработка ошибок в микросервисах

Время на прочтение11 мин
Количество просмотров12K

В статье показано, как в Go реализовать обработку ошибок и логирование по принципу "Сделал и забыл". Способ расчитан на микросервисы на Go, работающие в Docker-контейнере и построенные с соблюдением принципов Clean Architecture.

Читать дальше →
Всего голосов 22: ↑22 и ↓0+22
Комментарии14

Линтеры в Go. Как их готовить. Денис Исаев

Время на прочтение16 мин
Количество просмотров39K

Предлагаю ознакомиться с расшифровкой доклада Дениса Исаева jirfag "Линтеры в Go. Как их готовить."


В go 50+ линтеров: в чем их профит и как эффективно встроить их в процесс разработки? Доклад будет полезен как тем, кто еще не использует линтеры, так и тем, кто уже применяет их: я раскрою малоизвестные трюки и практики работы с линтерами.



Кому интересно, прошу под кат.

Всего голосов 19: ↑18 и ↓1+17
Комментарии4

Что я узнал про оптимизацию в Python

Время на прочтение12 мин
Количество просмотров17K
Всем привет. Сегодня хотим поделиться еще одним переводом подготовленным в преддверии запуска курса «Разработчик Python». Поехали!



Я использовал Python чаще, чем любой другой язык программирования в последние 4-5 лет. Python – преобладающий язык для билдов под Firefox, тестирования и инструмента CI. Mercurial также в основном написан на Python. Множество своих сторонних проектов я тоже писал на нем.

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

Мой опыт с Python в основном связан с интерпретатором CPython, в особенности CPython 2.7. Не все мои наблюдения универсальны для всех дистрибутивов Python или же для тех, которые имеют одинаковые характеристики в сходных версиях Python. Я постараюсь упоминать об этом во время повествования. Помните о том, что эта статья не является детальным обзором производительности Python. Я буду говорить только о том, с чем сталкивался самостоятельно.
Читать дальше →
Всего голосов 23: ↑21 и ↓2+19
Комментарии11

«А если я не знаю математику, я безнадежен?» — специалисты отвечают на частые вопросы о профессиях в Data Science

Время на прочтение6 мин
Количество просмотров31K
Интерес к Data Science продолжает расти, рынку нужны хорошие специалисты. Но порог входа в профессию довольно высок, новичков часто останавливают мифы и стереотипы о сфере — «долго, сложно, без физмат-образования лучше не соваться». Собрали самые частые вопросы и опасения тех, кто начинает карьеру в Data Science и попросили специалистов на них ответить. 

«Какая нужна математика? Если нет матбазы, я безнадежен?»


Константин Башевой, аналитик-разработчик в Яндексе и преподаватель курса «Python для анализа данных»

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

Здесь как в спорте. Есть люди, которые могут без подготовки пробежать марафон. Остальным будет тяжелее, но при достаточной подготовке и они пробегут. Математическая база — это круто, но не критически необходимо.
Читать дальше →
Всего голосов 14: ↑9 и ↓5+4
Комментарии2

Создаем музыку: когда простые решения превосходят по эффективности глубокое обучение

Время на прочтение9 мин
Количество просмотров27K
Представляю вашему вниманию перевод статьи «Создаем музыку: когда простые решения превосходят по эффективности глубокое обучение» о том, как искусственный интеллект применяется для создания музыки. Автор не использует нейронные сети для генерации музыки, а подходит к задаче, исходя из знания теории музыки, на основе мелодии и гармонии. Другой особенностью статьи является метод сравнения музыкальных произведений на основе матриц самоподобия. Такой подход, конечно, не является исчерпывающим, но он полезен как промежуточный шаг для генерации качественной музыки методами машинного обучения.

Всего голосов 80: ↑74 и ↓6+68
Комментарии37

Нейросети и глубокое обучение, глава 1: использование нейросетей для распознавания рукописных цифр

Время на прочтение56 мин
Количество просмотров135K

Примечание


Michael NielsenПеред вами – перевод свободной онлайн-книги Майкла Нильсена «Neural Networks and Deep Learning», распространяемой под лицензией Creative Commons Attribution-NonCommercial 3.0 Unported License. Мотивацией к его созданию послужил успешный опыт перевода учебника по программированию, "Выразительный JavaScript". Книга по нейросетям тоже достаточно популярна, на неё активно ссылаются авторы англоязычных статей. Её переводов я не нашёл, за исключением перевода начала первой главы с сокращениями.

Желающие отблагодарить автора книги могут сделать это на её официальной странице, переводом через PayPal или биткоин. Для поддержки переводчика на Хабре есть форма «поддержать автора».


Введение


Этот учебник подробно расскажет вам о таких понятиях, как:

  • Нейросети — прекрасная программная парадигма, созданная под влиянием биологии, и позволяющая компьютеру учиться на основе наблюдений.
  • Глубокое обучение – мощный набор техник обучения нейросетей.

Нейросети (НС) и глубокое обучение (ГО) на сегодня дают наилучшее решение многих задач из областей распознавания изображений, голоса и обработки естественного языка. Этот учебник научит вас многим ключевым концепциям, лежащим в основе НС и ГО.
Читать дальше →
Всего голосов 40: ↑38 и ↓2+36
Комментарии4

Многомерные графики в Python — от трёхмерных и до шестимерных

Время на прочтение3 мин
Количество просмотров35K

Примеры многомерных графиков

Введение


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


Plotly — это питоновская библиотека с открытым исходным кодом для разнообразной визуализации, которая предлагает гораздо больше настроек, чем известные matplotlib и seaborn. Модуль устанавливается как обычно — pip install plotly. Его мы и будем использовать для рисования графиков.


Давайте подготовим данные


Для визуализации мы используем простые данные об автомобилях от UCI (Калифорнийский университет в Ирвине — прим. перев.), которые представляют собой 26 характеристик для 205 машин (26 столбцов на 205 строк). Для визуализации шести измерений мы возьмём такие шесть параметров.


Здесь показаны только 4 строки из 205

Загрузим данные из CSV с помощью pandas.


import pandas as pd
data = pd.read_csv("cars.csv")

Теперь, подготовившись, начнем с двух измерений.

Читать дальше →
Всего голосов 27: ↑26 и ↓1+25
Комментарии2

Краткое введение в цепи Маркова

Время на прочтение16 мин
Количество просмотров198K
image

В 1998 году Лоуренс Пейдж, Сергей Брин, Раджив Мотвани и Терри Виноград опубликовали статью «The PageRank Citation Ranking: Bringing Order to the Web», в которой описали знаменитый теперь алгоритм PageRank, ставший фундаментом Google. Спустя чуть менее двух десятков лет Google стал гигантом, и даже несмотря на то, что его алгоритм сильно эволюционировал, PageRank по-прежнему является «символом» алгоритмов ранжирования Google (хотя только немногие люди могут действительно сказать, какой вес он сегодня занимает в алгоритме).

С теоретической точки зрения интересно заметить, что одна из стандартных интерпретаций алгоритма PageRank основывается на простом, но фундаментальном понятии цепей Маркова. Из статьи мы увидим, что цепи Маркова — это мощные инструменты стохастического моделирования, которые могут быть полезны любому эксперту по аналитическим данным (data scientist). В частности, мы ответим на такие базовые вопросы: что такое цепи Маркова, какими хорошими свойствами они обладают, и что с их помощью можно делать?
Читать дальше →
Всего голосов 51: ↑51 и ↓0+51
Комментарии11

Обзор Python-пакета Datatable

Время на прочтение8 мин
Количество просмотров19K
«Пять экзабайт информации создано человечеством с момента зарождения цивилизации до 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.
Читать дальше →
Всего голосов 41: ↑40 и ↓1+39
Комментарии10

Введение в свёрточные нейронные сети (Convolutional Neural Networks)

Время на прочтение8 мин
Количество просмотров60K
Полный курс на русском языке можно найти по этой ссылке.
Оригинальный курс на английском доступен по этой ссылке.


Выход новых лекций запланирован каждые 2-3 дня.
Читать дальше →
Всего голосов 21: ↑16 и ↓5+11
Комментарии0

VPN на роутере Билайн для обхода блокировок

Время на прочтение2 мин
Количество просмотров60K

Билайн активно вводит в своих домашних сетях технологию IPoE. Данный подход позволяет авторизовать клиента по MAC-адресу его оборудования без применения VPN. При переводе сети на IPoE VPN-клиент роутера становится незадействованным и продолжает настойчиво стучаться в отключенный провайдерский VPN-сервер. Нам остается только перенастроить VPN-клиент роутера на VPN-сервер в стране, где не практикуются блокировки интернета, и вся домашняя сеть автоматически получает доступ к google.com (на момент написания статьи этот сайт был заблокирован).

Читать дальше →
Всего голосов 20: ↑18 и ↓2+16
Комментарии13

Нейронные сети предпочитают текстуры и как с этим бороться

Время на прочтение7 мин
Количество просмотров32K


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


В первой статье Approximating CNNs with bag-of-local features models works surprisingly well on ImageNet авторы берут модель, похожую на bag-of-words, и в качестве "слов" используют фрагменты из изображения. Эти фрагменты могут быть вплоть до 9х9 пикселей. И при этом, на такой модели, где полностью отсутствует какая-либо информация о пространственном расположении этих фрагментов, авторы получают точность от 70 до 86% (для примера, точность обычной ResNet-50 составляет ~93%).


Во второй статье ImageNet-trained CNNs are biased towards texture авторы приходят к выводу, что виной всему сам набор данных ImageNet и то, как изображения воспринимают люди и нейронные сети, и предлагают использовать новый датасет – Stylized-ImageNet.


Более подробно о том, что на картинках видят люди, а что нейронные сети

Читать дальше →
Всего голосов 100: ↑100 и ↓0+100
Комментарии68

Улучшаем письменный английский: как понять, когда использовать пассивный залог

Время на прочтение3 мин
Количество просмотров13K


Один из наиболее часто встречаемых в интернете советов по улучшению письменного английского звучит так: «Не используйте пассивный залог» (passive voice). Об этом пишут в различных блогах, такие конструкции в 100% случаев подчеркивают многие инструменты для проверки грамматики. В такой ситуации всеобщего неприятия пассивного залога довольно трудно не следовать подобным советом.

На самом же деле пассивный залог в английском языке – это не ошибка, а в некоторых случаях его использование наоборот обязательно. Я нашел интересный материал о том, как понять, когда использовать такие языковые конструкции, и подготовил его адаптированный перевод.
Читать дальше →
Всего голосов 22: ↑20 и ↓2+18
Комментарии15

Информация

В рейтинге
Не участвует
Откуда
Пномпень, Камбоджа, Камбоджа
Дата рождения
Зарегистрирован
Активность

Специализация

Backend Developer, Data Engineer
Senior
От 5 000 $