Pull to refresh
96
0
Andrey Korchak @57uff3r

CTO @ Monite

Почему API приложениям нужен дизайн гайдлайн: рассказываем, показываем и делимся своим

Reading time 3 min
Views 1.8K

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

А что делать тем, кто разрабатывает приложения без интерфейсов? Например, API-first компании, поставляющие машиночитаемые интерфейсы для других компаний и приложений? У API приложений нет кнопок и форм, но интерфейсы, тем не менее, у них есть — API ресурсы, методы, параметры и их взаимная организация.

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

Какие шероховатости чаще всего встречаются в API интерфейсах, которым не уделили должного внимания?

Читать далее
Total votes 5: ↑1 and ↓4 -3
Comments 2

Мелкая питонячая радость #15: генераторы тестовых данных, профайлер и консольная база знаний

Reading time 3 min
Views 5.7K

При долгой работе с большим проектом так или иначе упираешься в поиск узких мест в коде. Что только не используют для этого — от навороченных профайлеров и брейкпоинтов до выводов print и замеров времени вручную с выводом таймстампов на консоль.

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

Читать далее
Total votes 22: ↑22 and ↓0 +22
Comments 2

Мелкая питонячая радость #14: ботнеты, распознавание текстов и генератор статических сайтов

Reading time 5 min
Views 5.9K

Самое поразительное из того, что я увидел за последние 2 недели — тулкит на Python для создания ботнетов. Конечно же, он написан для исследовательских и учебных целях, но, тем не менее, эта штука дает энтузиастам компьютерной безопасности доступ к реализации целого  набора весьма опасных функций.

Знакомьтесь! byob, легальный и публичный тулкит для ботнетов.

Читать далее
Total votes 7: ↑7 and ↓0 +7
Comments 1

Мелкая питонячая радость #13: стойкие пароли, гибкие уведомления и вменяемые тесты API

Reading time 4 min
Views 7.5K

Создатель Python и пенсионер Гвидо Ван Россум был вынужден снова выйти на работу, на этот раз в Майкрософт. Нет, Гвидо сделал это не  потому, что на 15 000 рублей (200 долларов) пенсии  ему  тяжело жить — в MS он устроился от скуки: талантливому инженеру не сидится без дела. Желаю всем нам в старости быть как Гвидо и плавно перехожу к разбору трех весьма полезных штуковин из питонячего мира. 

Читать далее
Total votes 15: ↑13 and ↓2 +11
Comments 1

Мелкая питонячая радость #12: вирусы и зловредное ПО на Python

Reading time 5 min
Views 39K

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

Трудно сказать, что толкает людей на создание вредоносного ПО на этом языке программирования. Обилие выпускников “шестимесячных курсов Django-программистов” с пробелами в базовых технических познаниях?  Желание нагадить ближнему без необходимости учить C/C++?  Или благородное желание разобраться в технологиях виримейкерства путем создания небольших прототипов вирусов на удобном языке?

Читать далее
Total votes 21: ↑19 and ↓2 +17
Comments 4

Мелкая питонячая радость #11: реактивное программирование, парсинг страниц и публикация моделей машинного обучения

Reading time 4 min
Views 6.9K

image


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

Читать дальше →
Total votes 16: ↑16 and ↓0 +16
Comments 4

Мелкая питонячая радость #10: конечные автоматы и глубокое обучение в несколько строк

Reading time 3 min
Views 21K

Конечно, самая большая радость этих дней — python 3.9. Но кроме этой радости кто-то должен ворошить github в поисках мелких приятностей, которые несут добро и свет тем, кто пишет на python.


Transitions


Тем, кому приходилось писать реализацию какого-нибудь сложного информационного процесса, знает эту проблему.


У вас есть некий объект, который может находиться всегда только в одном состоянии.
Переходы между состояниями описываются диаграммой состояний — из какого в какое состояние объект может перейти, а из какого в какое — не может.


Читать дальше →
Total votes 25: ↑24 and ↓1 +23
Comments 1

Мелкая питонячая радость #9: консольные приложения с человеческим лицом

Reading time 3 min
Views 15K

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


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


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


image

Читать дальше →
Total votes 35: ↑33 and ↓2 +31
Comments 7

Мелкая питонячая радость #8: мелкие удовольствия для работы с БД

Reading time 3 min
Views 15K

Беглый опрос коллег на моем текущем проекте показал, что при словах "ORM и работа с БД" в подавляющем большинстве случаев звучат слова "Алхимия" и "Django ORM". Знания этих двух слов, в общем, достаточно, чтобы писать чистый, аккуратный и рабочий код. Но расширение инженерного кругозора пока еще никому не вредило, поэтому сегодня мы добавим в нашу картину мира несколько (возможно, до этого дня незнакомых) классных штук для работы с БД.


Читать дальше →
Total votes 17: ↑16 and ↓1 +15
Comments 16

Мелкая питонячая радость #7: три штуки по цене одной — консольная анимация, алгоритмы и отладка

Reading time 2 min
Views 11K

На этой неделе достаточно крупных мелких радостей не нашлось, зато нашлись 3 совсем мелкие мелкие радости.


termtosvg


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


image


Традиция, бесспорно, хорошая и правильная. Только записывать такие анимации бывает трудно/лень/некогда. Авторы termtosvg пристрелили всех зайцев одим выстрелом и дали программистам прекрасную штуку для записи консольных демок.

Читать дальше →
Total votes 33: ↑32 and ↓1 +31
Comments 9

Мелкая питонячая радость #6: OpenAI Gym — играем в игры и управляем роботами

Reading time 1 min
Views 7.6K

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


Сегодня мы проветрим мозги и разомнем дряблеющие от скуки синапсы с помощью кое-чего интересного — OpenAI Gym.


Читать дальше →
Total votes 8: ↑6 and ↓2 +4
Comments 4

Мелкая питонячая радость #5: Dynaconf — управление настройками в проекте

Reading time 2 min
Views 6.7K

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


К популярным темам относятся вопросы:


  • Надо ли вообще этот проект писать на Python?
  • Какой фреймворк взять для разработки?
  • Кто быстрее, библиотека X или библиотека Y?

Сегодня я попробую аккуратно подковырнуть как раз одну из таких магических тем — вопрос "Как управлять конфигами в проекте?".


Читать дальше →
Total votes 11: ↑9 and ↓2 +7
Comments 6

Мелкая питонячая радость #4: Radon — качество кода, измеренное в числах

Reading time 3 min
Views 12K

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



Метрик для оценки текстов программ придумали немало — от банального количества строк кода в проекте до не столь очевидного "индекса поддерживаемости" (Maintainability Index). Подробно про все существующие способы обмазывания кода всякими метриками можно почитать в этой статье.


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

Читать дальше →
Total votes 30: ↑28 and ↓2 +26
Comments 2

Мелкая питонячая радость #3: Poetry

Reading time 2 min
Views 35K


Управление зависимостями? Шо, опять?


Экосистема Python породила целую пачку способов управления зависимостями в проектах.
Прямо сейчас можно выбирать между setup.py, requirements.txt, setup.cfg, MANIFEST.in и Pipfile.
Но французского питониста Sébastien Eustace все эти способы не устроили, и он написал свою штуку для менеджмента питонячих пакетов — Poetry. Зачем он это сделал? Чтобы заменить все эти setup.py, requirements.txt, setup.cfg, MANIFEST.in и Pipfile чем-то простым и понятным. Плюс добавить кое-что полезное сверху.

Читать дальше →
Total votes 24: ↑22 and ↓2 +20
Comments 12

Мелкая питонячая радость #2: Starlette

Reading time 2 min
Views 31K


Туннельное зрение


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


По этой причине у многих Python-разрабов складывается некое подобие туннельного зрения — их инженерный подход заперт между этими двумя библиотеками.

Читать дальше →
Total votes 21: ↑18 and ↓3 +15
Comments 14

Кривая обучения и кривые руки: неуемная фантазия + исследования физика Джеффри Уэста

Reading time 6 min
Views 17K
Люди прекрасно живут, не зная английского. Без английского легко можно сходить в магазин, провести диванную аналитическую консультацию, оплатить счета и высказаться о достоинствах мамки вашего оппонента.



Под катом — несколько интересных графиков и эволюция сложных систем. И что с этим делать.
Далее
Total votes 19: ↑17 and ↓2 +15
Comments 22

PyCon 2016 в Портленде: видео всех значимых докладов и мастер-классов

Reading time 2 min
Views 5.8K
image

Под словами PyCon чего только не проводится. От шумных конференций с билетами за N сотен долларов до бесплатных заседаний зимбабвийского клуба питонистов в количестве 2-х голодных темнокожих разработчиков.

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

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

Несколько примечательных видео с комментами под катом
Total votes 9: ↑9 and ↓0 +9
Comments 4

Улучшаем свой английский: изобретаем субтитры заново

Reading time 5 min
Views 50K

1. Intro




— Татьяна Леонидовна, а можно, мы посмотрим это кино с субтитрами?
— Нет, малолетние дятлы, мы тренируем ваше слуховое восприятие, поэтому кино вы будете смотреть без них! С субтитрами вы будете только читать текст и не слушать.
— Татьяна Леонидовна, но без субтитров мы больше половины не понимаем!
— А вот это уже ваши проблемы.

Начало 2000-х, диалог с учителем во французской спецшколе, Санкт-Петербург.

Далее
Total votes 60: ↑58 and ↓2 +56
Comments 119

Средняя температура по больнице, кластеры данных и принятие решений в проекте

Reading time 9 min
Views 4K

0. Intro


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


Это птичка века и она поможет нам с сегодняшней статьей.

Читать
Total votes 7: ↑7 and ↓0 +7
Comments 2
1

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity