Как стать автором
Обновить
1
0
Павел Казаков @ddp

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

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

Python — тестирование с помощью pytest(ч.1)

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров3.5K

Я знаю, что разработчики по-разному относятся к тестированию программного обеспечения. Вот некоторые примеры подхода к тестам, которые встречались мне за время работы:

Читать далее
Всего голосов 13: ↑10 и ↓3+9
Комментарии21

Давайте сделаем крупное приложение на Flask (язык Python)

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

На Хабре я часто вижу статьи о реализации тех или иных фич на Python-фреймворках. Я объединил все эти фичи в реальный проект с открытым исходным кодом, чтобы у вас сложилась целостная картина. Мы с вами создадим UX/UI на Figma, напишем фронтенд на HTML, CSS, SASS, Bootstrap и JavaScript, создадим ER-диаграмму в MySQL Workbench, напишем бекэнд на Flask, создадим регистрацию через социальные сети OAuth 2.0 в один клик, используем брокер сообщений и асинхронную очередь Celery для отправки писем на электронную почту, сделаем WYSIWYG-редактор, реализуем полнотекстовый поиск Elasticsearch, закешируем Redis, покроем тестами pytest и запустим в Docker-контейнерах, поговорим о многопроцессности для WSGI-шлюза Gunicorn.

Читать далее
Всего голосов 19: ↑19 и ↓0+25
Комментарии43

Создание и балансировка инвестиционного портфеля с помощью ML

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

В прошлой статье я писал про свои ML-модели для оценки отдельных компаний, но вопрос формирования итогового портфеля совсем не затрагивал. В этом посте хочу рассказать о том, как я собираю свой личный портфель, а так же поделиться сайтом, на котором реализую весь описанный в статье функционал http://stocks.ml. Дисклеймер: у автора нет экономического образования и все выводы и суждения в статье делаются на основе житейского опыта и здравого смысла.

Читать далее
Всего голосов 19: ↑17 и ↓2+19
Комментарии21

Что недоговаривают Тинькофф Инвестиции. Вытаскиваем все данные по портфелю через API в большую таблицу Excel

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

Разбираемся, как на самом деле считаются суммы и проценты в клиентском приложении.

Собираем все данные по портфелю и по всем операциям через Tinkoff API.

Строим огромную Excel таблицу со всеми данными.

Узнаём, сколько комиссий и налогов с нас уже содрали и что нам останется при выводе.

Пытаемся понять, что нам с этим делать.

Read more
Всего голосов 117: ↑114 и ↓3+152
Комментарии112

Как джуниор Python-разработчику стать мидлом за год

Время на прочтение12 мин
Количество просмотров31K
Привет! Я Рома, менеджер продукта в Яндекс.Практикуме, где развиваю курс «Мидл Python-разработчик». Мы делаем из начинающих разработчиков крепких мидлов с инженерным мышлением. Сегодня хочу поделиться небольшими заметками о том, над чем стоит работать, если вы джуниор, который хочет стать мидлом.

Я не разработчик, поэтому эта статья во многом отражает взгляд со стороны. Ответить на вопрос «Как джуниор Python-разработчику стать мидлом за год?» — не такая простая задача, как может показаться на первый взгляд. Здесь спряталось сразу несколько челленджей:

  1. Ответить на вопрос, кто такой джуниор: определить отправную точку, базу навыков, с которой мы будем рассматривать рост.
  2. Ответить на вопрос, кто такой мидл — финальная точка нашего путешествия. Конечно же, во всех компаниях мидлы разные, а нам нужно какое-то взвешенное среднее, не оторванное от реальности.
  3. Ответить на вопрос, почему рассматриваем рост именно за год. Не ради красивой круглой цифры же, верно?

Ну и это довольно холиварная тема. Не знаю, сколько копий было сломано на этом ристалище, но уж точно не одно.
Читать дальше →
Всего голосов 20: ↑17 и ↓3+21
Комментарии7

Опыт создания аналитической консалтинг-компании в Северной Америке (не очень успешный)

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

Всем привет, последние 2-3 года у меня было интересное хобби, интересное для меня - предоставление аналитических услуг компаниям в Канаде и США. В этой статья я хочу поделиться опытом по созданию консалтинг-компании в области аналитики. Могу сразу сказать, что идея провалилась, если оценивать денежную составляющую идеи, но зато я смог получить полезный опыт и расширить кругозор.

Читать далее
Всего голосов 7: ↑6 и ↓1+9
Комментарии10

DevOps Roadmap или пора бы автоматизироваться?

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

Нашел на просторах интернета интересную инфографику DevOps Roadmap. Из моего опыта с указанными сервисами и программным обеспечением часто приходится сталкиваться в DevOps практике, поэтому инфографика вполне может быть ориентиром новичкам для становления DevOps инженерами.

Читать далее
Всего голосов 8: ↑6 и ↓2+8
Комментарии50

Линукс-порт Far Manager: прогресс за 4 года

Время на прочтение5 мин
Количество просмотров69K
Первая публикация исходников far2l, порта Far Manager под Линукс — штуки, которая когда-то считалась принципиально невозможной — состоялась 10 августа 2016го. Поскольку главный разработчик поговаривает о переходе проекта в статус беты, решил написать обзорный пост, как там идут дела и чего удалось добиться за прошедшие четыре года.

Консольная версия


Первый же вопрос, который все задавали и здесь, и на опеннете, и на лоре — а чего не в консоли? Изначально far2l действительно работал только в графическом режиме, через wxWidgets. Это оказалось самым простым способом быстро получить работающий порт со всеми пользовательскими удобствами: иксовым буфером обмена и всеми сочетаниями клавиш, причем с поддержкой событий не только KeyDown, но и KeyUp.

Сейчас это ограничение в прошлом: far2l прекрасно себя чувствует в консоли. Более того, там появились так называемые расширения терминала far2l, поэтому если запускать консольный far2l внутри графического (например, зайдя куда-нибудь по ssh), они «сконнектятся» между собой, и внутренний far2l тоже будет видеть и буфер обмена (с разрешения пользователя, конечно), и все возможные горячие клавиши. Более того, сделана даже специальная сборка putty, позволяющая наслаждаться всеми этими фишками из Windows.

Вот, смотрите, это far2l в GNOME Terminal


Читать дальше →
Всего голосов 178: ↑177 и ↓1+234
Комментарии585

Как банки берут друг у друга в долг. Плавающие ставки, процентные свопы. Ликбез для гика, ч. 4

Время на прочтение9 мин
Количество просмотров20K
Привет! Меня зовут Дмитрий Янтер. Сегодня вы узнаете о том, что такое плавающие процентные ставки, что такое процентные свопы и какое они имеют отношение к ванили.


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

MVP: что это такое и как работает?

Время на прочтение14 мин
Количество просмотров329K
Читая новости про проекты и сервисы, вы могли часто сталкиваться с понятием MVP. Но что скрывается под этой аббревиатурой и почему MVP так часто используют на начальных этапах развития продукта? Давайте прямо сейчас вместе разберемся в этом.

Что собой представляет MVP


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

Полный список вопросов с собеседований по Python для дата-сайентистов и инженеров

Время на прочтение14 мин
Количество просмотров103K
Snake and flowers 2 by pikaole

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

Команда Mail.ru Cloud Solutions перевела статью разработчика, который не раз попадал в такую ситуацию и на основе своего опыта составил список из 53 вопросов и ответов для подготовки к собеседованию. Большинство исследователей данных пишут много кода, поэтому такой список пригодится и дата-сайентистам, и инженерам. Он будет полезен и для соискателей, и для тех, кто проводит собеседования, и для тех, кто просто изучает Python.

Вопросы идут в случайном порядке. Поехали.
Читать дальше →
Всего голосов 21: ↑19 и ↓2+31
Комментарии24

Безопасность REST API от А до ПИ

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

Введение


Умение реализовать грамотное REST API — полезный навык в наше время, т.к. все больше сервисов предоставляют свои возможности с помощью API. Но разработка REST API не ограничивается реализацией HTTP запросов в определенном стиле и формированием ответов в соответствии со спецификацией. Задача обеспечения безопасности REST API не так очевидна, как, например, обеспечение безопасности баз данных, но ее необходимость не менее важна.
В настоящее время многие онлайн системы с помощью API передают приватные данные пользователей, такие как медицинские или финансовые. Текущая же ситуация с безопасностью в веб-приложениях весьма печальна: по данным Comnews порядка 70% содержат кри­тичес­кие уязвимости. Поэтому всем, кто участвует в проектировании, реализации и тестировании онлайн систем, важно иметь общую картину по существующим угрозам и способам обеспечения безопасности как всей системы, так и используемого REST API.

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

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

Базовый набор для VueJS-разработчиков

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

Начиная с основ


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


Так, например, Angular имеет огромное количество функциональных возможностей из коробки, React позволяет очень гибко настраивать собственное окружение, а VueJS славится своей абстракцией над сложными вещами. Какой выбрать именно вам? Это дело сугубо индивидуальное и зависит от проектной задумки и поставленных задач.


Одностраничные приложения? Это вкусно?


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


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

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

Nuxt as fullstack server: frontend + backend API Server (Часть 1)

Время на прочтение6 мин
Количество просмотров26K
Nuxt as fullstack server: frontend + backend API Server


Разработчики Nuxt предлагают 3 метода доступа к API:

  1. Встроенный в Nuxt сервер Connect и использование serverMiddleware
  2. Интегрированные фреймворки (Express, Koa, Hapi и т.д.)
  3. Внешние API сервера

Я покажу на простом примере как организовать API сервер с использованием serverMiddleware на том же инстансе Nuxt, который у нас отвечает за frontend.
Читать дальше →
Всего голосов 7: ↑6 и ↓1+11
Комментарии3

Использование VueJS вместе с Django

Время на прочтение4 мин
Количество просмотров30K
Перевод статьи подготовлен в преддверии старта курса «Web-разработчик на Python».




Введение


Сейчас я работаю над очень интересным проектом. И в нем все сложно, потому что сам проект очень масштабный, а я занимаюсь им один в свободное время, при этом работая полный рабочий день. Поэтому я должен быть эффективным. К счастью, я использую Django с его подходом «батарейки в комплекте».

Я использую весь функционал Django, который ускоряет разработку, и я не хотел бы упускать из виду его шаблонизатор. Поэтому бэкенд на Django и фронтенд на JavaScript SPA – это для меня не вариант. Однако даже самый заядлый бэкенд-разработчик должен признать, что некоторые вещи нужно реализовывать на стороне клиента. Незначительные действия пользователя не должны требовать перезагрузки страницы. Помимо этого, некоторые части веб-приложения, которое я создаю, требуют довольно сложного взаимодействия с пользователем.

По традиции, можно было бы смешать Django и jQuery, чтобы получить желаемое поведение. Но сейчас есть более новые технологии JavaScript, такие как React и Vue. Поскольку наша цель состоит в том, чтобы найти фреймворк, который мы сможем использовать вместе с Django не переписывая все с нуля, мы воспользуемся Vue, как более легкой альтернативой. В этой статье я покажу, как начать пользоваться Vue вместе с Django с минимальными усилиями.
Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Комментарии0

Интеграция Aviasales API с Amazon Kinesis и простота serverless

Время на прочтение14 мин
Количество просмотров7.2K
Привет, Хабр!

А вы любите летать на самолетах? Я обожаю, но на самоизоляции полюбил еще и анализировать данные об авиабилетах одного известного ресурса — Aviasales.

Сегодня мы разберем работу Amazon Kinesis, построим стримминговую систему с реал-тайм аналитикой, поставим NoSQL базу данных Amazon DynamoDB в качестве основного хранилища данных и настроим оповещение через SMS по интересным билетам.

Все подробности под катом! Поехали!


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

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

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



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

MVP, лендинг и реклама за 1500 руб

Время на прочтение15 мин
Количество просмотров3.6K
Наверное, многим приходилось делать специфические инструменты под свои узкозаточенные нужды — скрипты или Excel-таблицы. И после задумываться: что, если точно такое же решение нужно кому-то ещё? Как об этом узнать и понять, можно ли на этом заработать?

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

В этой статье я расскажу:

  1. как сделать таблицу для расчёта годовой доходности инвестиций с учётом всех операций и периодов;
  2. как создать лендинг и настроить аналитику для потенциальных пользователей;
  3. как проверить гипотезу и потенциальный спрос с помощью контекстной рекламы в Яндексе с бюджетом в 1500 рублей.
Читать дальше →
Всего голосов 1: ↑1 и ↓0+1
Комментарии2

Nuxt + Django + GraphQL на примере

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


Предисловие


Nuxt — "фреймворк над фреймворком Vue" или популярная конфигурация Vue-based приложений с использованием лучших практик разработки на Vue. Среди них: организация каталогов приложения; включение и преконфигурация самых популярных инструментов в виде Nuxt модулей; включение Vuex по-умолчанию в любую конфигурацию; готовый и преднастроенный SSR с hot-reloading'ом


Django — самый популярный веб-фреймворк на почти самом популярном языке программирования на сегодняшний день — Python. Сами разработчики позиционируют проект как "Веб-фреймворк для перфекционистов с дедлайнами". Представляет из себя решение "всё в одном" и позволяет в кратчайшие сроки построить MVP вашего веб-приложения.


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


О чем и для кого эта статья

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

10 отличных Github репозиториев, которые должен знать каждый веб-разработчик

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

Кроме огромных репозиториев с источниками для подготовки к интервью, здесь много чего интересного


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


image


А я его перевел, т.к. показалось, что пост многим будет интересен. Перевод очень вольный: я опустил нерелевантные промо-ссылки и гипер эмоциональные похвалы автора оригинала, чтобы оставить только суть. Еще, обновил цифры, чтобы информация была более актуальной к моменту публикации этого перевода. Итак, перейдем к списку.
Читать дальше →
Всего голосов 63: ↑56 и ↓7+62
Комментарии8

Информация

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