Как стать автором
Обновить
33
0

Пользователь

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

Практическое руководство по разработке бэкенд-сервиса на Python

Время на прочтение57 мин
Количество просмотров172K
Привет, меня зовут Александр Васин, я бэкенд-разработчик в Едадиле. Идея этого материала началась с того, что я хотел разобрать вступительное задание (Я.Диск) в Школу бэкенд-разработки Яндекса. Я начал описывать все тонкости выбора тех или иных технологий, методику тестирования… Получался совсем не разбор, а очень подробный гайд по тому, как писать бэкенды на Python. От первоначальной идеи остались только требования к сервису, на примере которых удобно разбирать инструменты и технологии. В итоге я очнулся на сотне тысяч символов. Ровно столько потребовалось, чтобы рассмотреть всё в мельчайших подробностях. Итак, программа на следующие 100 килобайт: как строить бэкенд сервиса, начиная от выбора инструментов и заканчивая деплоем.



TL;DR: Вот репка на GitHub с приложением, а кто любит (настоящие) лонгриды — прошу под кат.
Читать дальше →
Всего голосов 70: ↑68 и ↓2+66
Комментарии48

Зарубежные заказчики и легализация доходов программиста в РФ. Что надо делать и сколько это всё будет стоить?

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

image


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


Сразу пишу к чему пришёл в ходе изысканий:


  1. ИП на ПСН
  2. поступление оплаты за услуги по разработке ПО на счёт ИП в долларах США
  3. основание для оплаты инвойс, сумма которого не превышает 200 000 руб.
  4. инвойсы выставляются по-мере необходимости
  5. ККТ не используется

То есть, спокойно работаю, в конце оговоренного периода формирую инвойс, в котором указываю согласованную с работодателем сумму не превышающую указанный порог, получаю деньги прямо на расчётный счёт, оплачиваю раз в год или в течение года патент и взносы в размере 54 000 рублей и больше не переживаю о том, что завтра злобные налоговики придут ко мне с повесткой и ужасными новостями (это была минутка юмора). В следующем году эта сумма подрастёт до 60 000 рублей за год.


Почему так? Какие могут быть ещё варианты? Чем плохи для меня Upwork, PayPal и Payoneer? Попробую ответить под катом. Кому интересны все эти детали, читаем дальше :-)

Читать дальше →
Всего голосов 86: ↑82 и ↓4+78
Комментарии231

О столе для работы стоя, здоровье позвоночника и личной эффективности

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

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



Сначала, о том, почему стол для работы стоя — не панацея...

Читать дальше →
Всего голосов 102: ↑95 и ↓7+88
Комментарии282

Как я осилил английский

Время на прочтение13 мин
Количество просмотров347K
Всем привет. Я – айтишник «за 30», и я люблю английский язык. Так получилось, что на протяжении многих лет английский никак не хотел полюбить меня. Перед вами живой пример человека с «плохой памятью», «неспособностью к языкам», богатейшим опытом неудачного изучения английского как на курсах, так и самостоятельно, упущенными из-за незнания языка шансами и возникшими на этой почве комплексами. Все, что можно было сделать в изучении иностранного языка плохо, я попытался сделать еще хуже. Не смотря на все это, перед вами история с хэппи эндом, которая, верю, поможет кому-то избежать глупых ошибок, сэкономить время, избавится от иллюзий и предрассудков по поводу изучения нового языка с около нулевого уровня.
Читать дальше →
Всего голосов 155: ↑151 и ↓4+147
Комментарии256

Платёжная система в 50 строк кода, реально?

Время на прочтение10 мин
Количество просмотров19K
В последнее время технологические решения на блокчейне всё больше проникают в нашу повседневную жизнь. Технология новая, поэтому не все понимают, как и где её применять. Я попробовал создать платежную систему на базе смарт-контракта Ethereum и результат меня удивил. Смарт-контракт выполняющий функции полноценной платёжной системы получился всего в 50 строк кода. Всех заинтересовавшихся как он работает прошу под кат.

image
Читать дальше →
Всего голосов 25: ↑22 и ↓3+19
Комментарии9

Незадача коммивояжера и жёлтый октябрь

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

Главнокоммивояжер Аристарх поглядывал на Пророка, покручивая дубинкой от снежных троллей — ходовым сезонным товаром — 11% отклонение прогноза продаж на 10 дней в среднем (MAPE) впечатлило и, как у нас в чате говорят, зашло в роли baseline. Если он так же хорош, как и их Цукерберг, то сразу в прод — таков был первый порыв. Пророк поглядывал на главнокоммивояжера, прищурив правый глаз. Такой серьезный, в костюме, и верит в то, что инновации апплодисментами встретят и сразу же примут — мысль в голове вертелась, постепенно обретая форму. А Вы в курсе, юноша, скольким коллегам и контрагентам со своими нововведениями немилы станете? Они же Вас невзлюбят сразу, к гадалке не ходи! В общем, порыв жил обычным циклом инноваций.


image


В дисциплине управления проектами стейкхолдерами называют всех, кого проект коснется (а также тех, кто может оказать на него влияние). Люди они разные, со своими интересами, ожиданиями, и чаяниями. Закрыть глаза в надежде, что и проекта не заметят — весьма опрометчиво (вспоминается неприглашенная колдунья). Boston Consulting Group оценивает долю IT проектов, почивших по не-техническим причинам, в 75%. Последние две редакции свода знаний по управлению проектами (PMBOK) выделяют процессы по управлению стейкхолдерами в отдельную область знаний под счастливым номером 13 и настоятельно рекомендуют учитывать связи между ними, центры влияния, а также культуру общения для повышения шансов на успех.


Мы покажем, как оценить стейкхолдеров с помощью машинного обучения. Выделим группы похожих между собой людей и решим задачу кластеризации — сегментации клиентов в терминах маркетинга — в социальных структурах, которые построим из: 1) потоков сообщений и 2) эмоциональной окрашенности текста. Для этого заглянем в переписку, любезно предоставленную г-жей Клинтон, способом, предложенным в журнале Биоинформатика.

Читать дальше →
Всего голосов 61: ↑54 и ↓7+47
Комментарии17

Бесплатная GPU Tesla K80 для ваших экспериментов с нейросетями

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


Около месяца назад Google сервис Colaboratory, предоставляющий доступ к Jupyter ноутбукам, включил возможность бесплатно использовать GPU Tesla K80 с 13 Гб видеопамяти на борту. Если до сих пор единственным препятствием для погружения в мир нейросетей могло быть отсутствие доступа к GPU, теперь Вы можете смело сказать, “Держись Deep Learning, я иду!”.


Я попробовал использовать Colaboratory для работы над kaggle задачами. Мне больше всего не хватало возможности удобно сохранять натренированные tensorflow модели и использовать tensorboard. В данном посте, я хочу поделиться опытом и рассказать, как эти возможности добавить в colab. А напоследок покажу, как можно получить доступ к контейнеру по ssh и пользоваться привычными удобными инструментами bash, screen, rsync.

Читать дальше →
Всего голосов 44: ↑42 и ↓2+40
Комментарии29

Рубрика «Читаем статьи за вас». Октябрь — Ноябрь 2017

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


Привет, Хабр! По традиции, представляем вашему вниманию дюжину рецензий на научные статьи от членов сообщества Open Data Science из канала #article_essense. Хотите получать их раньше всех — вступайте в сообщество ODS!


Статьи выбираются либо из личного интереса, либо из-за близости к проходящим сейчас соревнованиям. Напоминаем, что описания статей даются без изменений и именно в том виде, в котором авторы запостили их в канал #article_essence. Если вы хотите предложить свою статью или у вас есть какие-то пожелания — просто напишите в комментариях и мы постараемся всё учесть в дальнейшем.


Статьи на сегодня:

Читать дальше →
Всего голосов 65: ↑63 и ↓2+61
Комментарии4

Время сорваться с крючка: превращаем эмоции в союзников

Время на прочтение14 мин
Количество просмотров26K
Не умеете ли вы получать удовольствие от работы и жизни в целом так, как не умеем это делать мы? Если ваш понедельник выглядит как те самые мемы, пятница радует, а коллеги и клиенты периодически наводят на мысли о членовредительстве, значит книга, о которой пойдет речь в этой пятничной статье, может вам пригодиться.


В 2016 году психолог и бизнес-коуч из США Сьюзан Дэвид обобщила свой двадцатилетний опыт консультирования и теоретические наработки в книге «Эмоциональная гибкость: Как научиться радоваться переменам и получать удовольствие от работы и жизни». Концепция, представленная в этом труде, стала одной из самых обсуждаемых новинок и собрала немало регалий: Amazon объявил его лучшей книгой 2016-го, а само понятие «эмоциональная гибкость», введенное в обиход исследовательницей, удостоилось звания идеи года по версии Harvard Business Review. В двух словах эту идею можно выразить так: успех предопределяется тем, как мы выстраиваем взаимодействие со своим внутренним миром и, в первую очередь, эмоциональными откликами. На первый взгляд звучит, как нечто крайне абстрактное на тему личностного роста, но на деле многие тезисы универсальны и вполне годятся для ежедневного применения на работе и в быту. Мы прочитали и законспектировали основные мысли для тех, у кого мало времени, но много мотивации.
Читать дальше →
Всего голосов 31: ↑23 и ↓8+15
Комментарии20

Делаем сервис по распознаванию изображений с помощью TensorFlow Serving

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

image

Всегда наступает то самое время, когда обученную модель нужно выпускать в production. Для этого часто приходится писать велосипеды в виде оберток библиотек машинного обучения. Но если Ваша модель реализована на Tensorflow, то у меня для Вас хорошая новость — велосипед писать не придется, т.к. можно использовать Tensorflow Serving.


В данной статье мы рассмотрим как использовать Tensorflow Serving для быстрого создания производительного сервиса по распознаванию изображений.

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

Открытый курс машинного обучения. Тема 8. Обучение на гигабайтах с Vowpal Wabbit

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

Всем привет!



Вот мы постепенно и дошли до продвинутых методов машинного обучения. Сегодня обсудим, как вообще подступиться к обучению модели, если данных гигабайты или десятки гигабайт. Обсудим приемы, позволяющие это делать: стохастический градиентный спуск (SGD) и хэширование признаков, посмотрим на примеры применения библиотеки Vowpal Wabbit.


UPD 01.2022: С февраля 2022 г. ML-курс ODS на русском возрождается под руководством Петра Ермакова couatl. Для русскоязычной аудитории это предпочтительный вариант (c этими статьями на Хабре – в подкрепление), англоговорящим рекомендуется mlcourse.ai в режиме самостоятельного прохождения.


Видеозапись лекции по мотивам этой статьи в рамках второго запуска открытого курса (сентябрь-ноябрь 2017).

Читать дальше →
Всего голосов 43: ↑41 и ↓2+39
Комментарии21

Байесовские многорукие бандиты против A/B тестов

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

Здравствуйте, коллеги. Рассмотрим обычный онлайн-эксперимент в некоторой компании «Усы и когти». У неё есть веб-сайт, на котором есть красная кнопка в форме прямоугольника с закругленными краями. Если пользователь нажимает на эту кнопку, то где-то в мире мурлычет от радости один котенок. Задача компании — максимизация мурлыкания. Также есть отдел маркетинга, который усердно исследует формы кнопок и то, как они влияют на конверсию показов в клико-мурлыкания. Потратив почти весь бюджет компании на уникальные исследования, отдел маркетинга разделился на четыре противоборствующие группировоки. У каждой группировки есть своя гениальная идея того, как должна выглядеть кнопка. В целом никто не против формы кнопки, но красный цвет раздражает всех маркетологов, и в итоге было предложено четыре альтернативных варианта. На самом деле, даже не так важно, какие именно это варианты, нас интересует тот вариант, который максимизирует мурлыкания. Маркетинг предлагает провести A/B/n-тест, но мы не согласны: и так на эти сомнительные исследования спущено денег немерено. Попробуем осчастливить как можно больше котят и сэкономить на трафике. Для оптимизации трафика, пущенного на тесты, мы будем использовать шайку многоруких байесовских бандитов (bayesian multi-armed bandits). Вперед.

Читать дальше →
Всего голосов 67: ↑65 и ↓2+63
Комментарии50

Автопилот своими силами. Часть 1 — набираем обучающие данные

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

Привет, Хабр. Это пост-отчет-тьюториал про беспилотные автомобили — как (начать) делать свой без расходов на оборудование. Весь код доступен на github, и помимо прочего вы научитесь легко генерить такие класные картинки:


SLAM trajectory + map example


Поехали!

Читать дальше →
Всего голосов 48: ↑45 и ↓3+42
Комментарии41

Открытый курс машинного обучения. Тема 6. Построение и отбор признаков

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

Сообщество Open Data Science приветствует участников курса!


В рамках курса мы уже познакомились с несколькими ключевыми алгоритмами машинного обучения. Однако перед тем как переходить к более навороченным алгоритмам и подходам, хочется сделать шаг в сторону и поговорить о подготовке данных для обучения модели. Известный принцип garbage in – garbage out на 100% применим к любой задаче машинного обучения; любой опытный аналитик может вспомнить примеры из практики, когда простая модель, обученная на качественно подготовленных данных, показала себя лучше хитроумного ансамбля, построенного на недостаточно чистых данных.


UPD 01.2022: С февраля 2022 г. ML-курс ODS на русском возрождается под руководством Петра Ермакова couatl. Для русскоязычной аудитории это предпочтительный вариант (c этими статьями на Хабре – в подкрепление), англоговорящим рекомендуется mlcourse.ai в режиме самостоятельного прохождения.



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

Предсказываем будущее с помощью библиотеки Facebook Prophet

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

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


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


Сегодня же мы познакомимся с библиотекой для прогнозирования временных рядов Facebook Prophet (в переводе с английского, "пророк", выпущена в open-source 23-го февраля 2017 года), а также попробуем в жизненной задаче – прогнозировании числа постов на Хабрехабре.


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

Pix2Pix: Как работает генератор кошечек

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

Вы все, наверное, уже видели сверх-реалистичных кошечек, которых можно рисовать вот тут.


image


Давайте разбираться, что же там внутре.

Читать дальше →
Всего голосов 61: ↑57 и ↓4+53
Комментарии25

Нейронные сети в картинках: от одного нейрона до глубоких архитектур

Время на прочтение7 мин
Количество просмотров96K
Многие материалы по нейронным сетям сразу начинаются с демонстрации довольно сложных архитектур. При этом самые базовые вещи, касающиеся функций активаций, инициализации весов, выбора количества слоёв в сети и т.д. если и рассматриваются, то вскользь. Получается начинающему практику нейронных сетей приходится брать типовые конфигурации и работать с ними фактически вслепую.

В статье мы пойдём по другому пути. Начнём с самой простой конфигурации — одного нейрона с одним входом и одним выходом, без активации. Далее будем маленькими итерациями усложнять конфигурацию сети и попробуем выжать из каждой из них разумный максимум. Это позволит подёргать сети за ниточки и наработать практическую интуицию в построении архитектур нейросетей, которая на практике оказывается очень ценным активом.
Читать дальше →
Всего голосов 67: ↑62 и ↓5+57
Комментарии53

Chatbot на базе рекуррентной нейронной сети своими руками за 1 вечер/6$ и ~ 100 строчек кода

Время на прочтение10 мин
Количество просмотров109K
В данной статье я хочу показать насколько просто сегодня использовать нейронные сети. Вокруг меня довольно много людей одержимы идеей того, что нейронки может использовать только исследователь. И что бы получить хоть какой то выхлоп, нужно иметь как минимуму кандидатскую степень. А давайте на реальном примере посмотрим как оно на самом деле, взять и с нуля за один вечер обучить chatbot. Да еще не просто абы чем а самым что нинаесть ламповым TensorFlow. При этом я постарался описать все настолько просто, что-бы он был понятен даже начинающему программисту! В путь!

image
Читать дальше →
Всего голосов 57: ↑54 и ↓3+51
Комментарии26

Что в имени тебе моем: как качественно «пробить» человека в сети Интернет?

Время на прочтение5 мин
Количество просмотров196K
Мы постоянно встречаемся в своей жизни с новыми людьми, и стоит констатировать, что помимо хороших друзей нам попадаются мутные товарищи, а иногда и отъявленные мошенники. Любовь наших сограждан оставить свой след в интернете и старания наших ИТ-компаний по автоматизации всего и вся позволяют нам довольно оперативно собирать интересующую информацию о конкретных персонах по открытым источникам. Чтобы это делать быстро и качественно, нам нужно владеть простой методологией разведывательной работы и знать, где и какую информацию о человеке можно добыть в интернете.
Читать дальше →
Всего голосов 90: ↑70 и ↓20+50
Комментарии56

Как доводить до конца долгосрочные цели

Время на прочтение5 мин
Количество просмотров14K
Данная статья является продолжением к самым важным советам по повышению продуктивности: «Личная продуктивность (только проверенные на себе подходы)».

В прошлых статьях мы говорили о том, как правильно поставить перед собой долгосрочные цели, — назовем это уровнем стратегии. Мы уже поговорили о том, как эффективно проводить микроменеджмент своих задач и доводить проект до конца. Назовём этот уровень тактическим. Сегодня я хочу рассказать о том, как правильно связать эти уровни между собой, чтобы то, что делается на тактическом уровне, связалось со стратегическим уровнем. Очень часто именно этот аспект подкашивает молодых адептов моих советов. Кажется продуктивность выросла и долгосрочные цели стоят правильные, но почему-то в конце квартала/года понимаешь, что сделано намного меньше, чем хотелось. Если вам это знакомо, то сегодня я расскажу почему так происходит и как с этим бороться.

Для примера я взял ОЧЕНЬ упрощенный кейс (личный давний опыт), который мне помог найти мою первую работу в большой международной компании на позиции Android-разработчик.

Данная статья подготовлена на базе нащего скринкста комманды Java Hexlet, выпуск №3. Посему, если вы слушали скринкаст, то можете смело проигнорировать статью.
Читать дальше →
Всего голосов 16: ↑10 и ↓6+4
Комментарии5
1

Информация

В рейтинге
Не участвует
Откуда
Россия
Работает в
Зарегистрирован
Активность