Pull to refresh
33
0

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

Send message

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

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



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

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

Reading time11 min
Views46K

image


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


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


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

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


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

Читать дальше →
Total votes 86: ↑82 and ↓4+78
Comments231

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

Reading time5 min
Views103K

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



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

Читать дальше →
Total votes 102: ↑95 and ↓7+88
Comments282

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

Reading time13 min
Views347K
Всем привет. Я – айтишник «за 30», и я люблю английский язык. Так получилось, что на протяжении многих лет английский никак не хотел полюбить меня. Перед вами живой пример человека с «плохой памятью», «неспособностью к языкам», богатейшим опытом неудачного изучения английского как на курсах, так и самостоятельно, упущенными из-за незнания языка шансами и возникшими на этой почве комплексами. Все, что можно было сделать в изучении иностранного языка плохо, я попытался сделать еще хуже. Не смотря на все это, перед вами история с хэппи эндом, которая, верю, поможет кому-то избежать глупых ошибок, сэкономить время, избавится от иллюзий и предрассудков по поводу изучения нового языка с около нулевого уровня.
Читать дальше →
Total votes 155: ↑151 and ↓4+147
Comments256

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

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

image
Читать дальше →
Total votes 25: ↑22 and ↓3+19
Comments9

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

Reading time15 min
Views13K

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


image


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


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

Читать дальше →
Total votes 61: ↑54 and ↓7+47
Comments17

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

Reading time6 min
Views72K


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


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

Читать дальше →
Total votes 44: ↑42 and ↓2+40
Comments29

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

Reading time21 min
Views16K


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


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


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

Читать дальше →
Total votes 65: ↑63 and ↓2+61
Comments4

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

Reading time14 min
Views26K
Не умеете ли вы получать удовольствие от работы и жизни в целом так, как не умеем это делать мы? Если ваш понедельник выглядит как те самые мемы, пятница радует, а коллеги и клиенты периодически наводят на мысли о членовредительстве, значит книга, о которой пойдет речь в этой пятничной статье, может вам пригодиться.


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

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

Reading time12 min
Views33K

image

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


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

Читать дальше →
Total votes 38: ↑38 and ↓0+38
Comments3

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

Reading time26 min
Views126K

Всем привет!



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


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


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

Читать дальше →
Total votes 43: ↑41 and ↓2+39
Comments21

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

Reading time20 min
Views62K

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

Читать дальше →
Total votes 67: ↑65 and ↓2+63
Comments50

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

Reading time7 min
Views23K

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


SLAM trajectory + map example


Поехали!

Читать дальше →
Total votes 48: ↑45 and ↓3+42
Comments41

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

Reading time24 min
Views182K

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


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


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



Читать дальше →
Total votes 52: ↑52 and ↓0+52
Comments28

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

Reading time10 min
Views96K

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


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


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


Читать дальше →
Total votes 60: ↑58 and ↓2+56
Comments16

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

Reading time7 min
Views96K
Многие материалы по нейронным сетям сразу начинаются с демонстрации довольно сложных архитектур. При этом самые базовые вещи, касающиеся функций активаций, инициализации весов, выбора количества слоёв в сети и т.д. если и рассматриваются, то вскользь. Получается начинающему практику нейронных сетей приходится брать типовые конфигурации и работать с ними фактически вслепую.

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

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

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

image
Читать дальше →
Total votes 57: ↑54 and ↓3+51
Comments26

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

Reading time5 min
Views196K
Мы постоянно встречаемся в своей жизни с новыми людьми, и стоит констатировать, что помимо хороших друзей нам попадаются мутные товарищи, а иногда и отъявленные мошенники. Любовь наших сограждан оставить свой след в интернете и старания наших ИТ-компаний по автоматизации всего и вся позволяют нам довольно оперативно собирать интересующую информацию о конкретных персонах по открытым источникам. Чтобы это делать быстро и качественно, нам нужно владеть простой методологией разведывательной работы и знать, где и какую информацию о человеке можно добыть в интернете.
Читать дальше →
Total votes 90: ↑70 and ↓20+50
Comments56

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

Reading time5 min
Views14K
Данная статья является продолжением к самым важным советам по повышению продуктивности: «Личная продуктивность (только проверенные на себе подходы)».

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

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

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

Information

Rating
Does not participate
Location
Россия
Works in
Registered
Activity