Как стать автором
Обновить
4
0
Dmitry Petukhov @petukhovlive

Разработчик

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

Почему Вы должны попробовать FastAPI?

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

image Лого взято из Github репозитория FastAPI


FastAPI — относительно новый веб-фреймворк, написанный на языке программирования Python для создания REST (а если сильно постараться то и GraphQL) API, основанный на новых возможностях Python 3.6+, таких как: подсказки типов (type-hints), нативная асинхронность (asyncio). Помимо всего прочего, FastAPI плотно интегрируется с OpenAPI-schema и автоматически генерирует документацию для вашего API посредством Swagger и ReDoc


FastAPI построен на базе Starlette и Pydantic.
StarletteASGI микро-фреймворк для написания веб-приложений.
Pydantic — библиотека для парсинга и валидации данных основанная на Python type-hints.

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

Когда принцип «к чёрту всё, бери и делай!» не работает: заметки прокрастинатора

Время на прочтение8 мин
Количество просмотров29K
Осторожно, этот текст написан настоящим прокрастинатором. Желание написать статью на тему борьбы с прокрастинацией появилось у меня летом 2019 года, приступила к работе в ноябре и думала, что выпущу статью к концу декабря — как раз когда все подводят итоги и планируют начать новую жизнь. Сегодня 17 февраля 2020, и у меня еще не готов последний абзац. Тем не менее в этой статье я расскажу, что все-таки помогло мне выкарабкаться из пучины «я сделаю это завтра/в выходные/в понедельник…» и закончить работу.


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

Программисты, давайте изучать исходники классических программ

Время на прочтение2 мин
Количество просмотров54K
Современные программисты — счастливчики: мы живём в мире, в котором исторические и оказавшие существенное влияние программы имеют открытый код, доступный для изучения. Однако, многие программисты только учатся, и изучают те программы, над которыми работают сами. У нас редко находится время для изучения исторических работ, и курсы программирования редко тратят время на такие вещи.

Мы полагаем, что разработчикам следует изучать исходники программ, оказавших большое влияние, подобно тому, как архитекторы изучают здания, оказавшие влияние на архитектуру (и критикуют их). Чем повторять те же ошибки снова и снова, мы должны изучить большую работу, проделанную до нас, и вынести из неё уроки.
Читать дальше →
Всего голосов 74: ↑69 и ↓5+64
Комментарии68

«Коллеги, дышите потише»: почему офисный шум сводит нас с ума — обсуждаем исследования

Время на прочтение5 мин
Количество просмотров39K
Для многих людей опенспейсы — символ корпоративного ада. Противники открытой планировки говорят об ощущении переполненного муравейника, который населяют не люди, а производственные единицы. Разберемся, откуда появляется такое ощущение. И какую роль в этом играет шум.

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

Семь книг для тех, кто хочет стать гейм-дизайнером

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

В этой статье рассказывается о том, когда и как дизайн игр стал профессией, а также о том, как он сформировался в отдельную дисциплину. Также мы предложим 7 книг, которые нужно прочитать каждому гейм-дизайнеру. Мы объясним, что особо ценного в этих книгах и как они позволят вам стать профессиональным гейм-дизайнером. Существуют и другие статьи с рекомендациями книг по дизайну игр, но их авторы не указывают конкретный порядок их чтения. Мы перечислили книги в определённом порядке, позволяющем читателю плавно повышать свои навыки гейм-дизайна. Более того, в статье подробно описаны порядок и причины для изучения этих книг.

Эта статья не является маркетингом описываемых материалов, а предоставляет информацию о том, где и чему учиться.
Читать дальше →
Всего голосов 19: ↑19 и ↓0+19
Комментарии1

Кайдзен в разработке ПО — из собственного опыта

Время на прочтение8 мин
Количество просмотров9.9K
Термин «кайдзен» ввела компания Тойота, и про него много написано в толстенных книжках из серии «Дао Тойота».

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

Далее Вы узнаете про несколько случаев, которые постепенно подвели автора к пониманию кайдзен в разработке.
Читать дальше →
Всего голосов 19: ↑19 и ↓0+19
Комментарии15

О сетевой модели в играх для начинающих

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

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

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

В целом существует два основных типа сетевых архитектур: peer-to-peer и клиент-серверная. В архитектуре peer-to-peer (p2p) данные передаются между любыми парами подключенных игроков, а в клиент-серверной архитектуре данные передаются только между игроками и сервером.

Хотя архитектура peer-to-peer по-прежнему используется в некоторых играх, стандартом является клиент-серверная: она проще в реализации, требует канал меньшей ширины и облегчает защиту от читерства. Поэтому в этом руководстве мы сосредоточимся на клиент-серверной архитектуре.
Читать дальше →
Всего голосов 20: ↑19 и ↓1+18
Комментарии6

Подумайте дважды, прежде чем использовать игровые движки

Время на прочтение8 мин
Количество просмотров34K
Холивар о том, нужно ли использовать для создания игр движки, начался сразу после появления первых игровых движков. Этот пост на reddit не является идеальным примером разумных контраргументов против постоянного использования движков, но я считаю, что непреодолимое желание их применения немного отдаёт фанатизмом.

Давайте рассуждать разумно


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

Уровень навыков


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

Если у вас нет ни технических навыков, ни интереса к их изучению, то вариантов и в самом деле нет — придётся работать с движком (или убедить кого-нибудь заняться технической частью за вас; удачи вам в этом!).

Есть промежуточное состояние между полным отсутствием навыков и профессиональным уровнем. В основном он находится в стране скриптовых языков: Scratch, Game Maker, Pygame, Unreal Blueprints, LOVE2D и т.д. Все они для тех, кто желает получить определённый уровень технических знаний, чтобы быстро достичь результатов.

Если вы опытный/профессиональный программист, способный уверенно освоить стороннее ПО, то можете воспользоваться этим навыком и решить, насколько минималистичным/максималистичным будет ваш подход (будет ли это исключительно минимальный SDL или же полностью оборудованный Unreal Engine).
Читать дальше →
Всего голосов 34: ↑30 и ↓4+26
Комментарии58

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

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

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

Все чаще в медицине используется искусственный интеллект. Он помогает выявлять слабые связи и обрабатывать огромные массивы данных — человек с этими задачами не справляется. Одна из новых разработок — проект объединенной группы специалистов из Германии, США и Израиля, который позволяет выявить наследственное заболевание по фотографии человека.
Читать дальше →
Всего голосов 20: ↑19 и ↓1+18
Комментарии10

Сниппеты против Клевера – обыгрываем популярнейшую викторину в реальном времени

Время на прочтение7 мин
Количество просмотров8K
Апрель 2018-го года. Мне было 14. Мы с друзьями играли в тогда очень популярную онлайн-викторину «Клевер» от ВКонтакте. Один из нас (обычно я) всегда был за ноутбуком, чтобы пытаться быстро гуглить вопросы и глазами искать в поисковой выдаче правильный ответ. Но вдруг я понял, что каждый раз выполняю одно и то же действие, и решил попробовать написать это на частично известном мне тогда Python 3.

Шаг 0. Что здесь происходит


Для начала я освежу в вашей памяти механику «Клевера».

Игра для всех начинается в одно и то же время — в 13:00 и в 20:00 по Москве. Чтобы сыграть, нужно в это время зайти в приложение и подключиться к прямой трансляции. Игра идет 15 минут, в течение которых участникам на телефон одновременно приходят вопросы. На ответ дается 10 секунд. Затем объявляется верный ответ. Все, кто угадали, проходят дальше. Всего вопросов 12, и если ответить на все – получишь денежный приз.
image
Получается, наша задача — мгновенно ловить новые вопросы от сервера Клевера, обрабатывать их через какой-либо поисковик, а по результатам выдачи определять правильный ответ. Вывод ответа было решено производить в телеграм-бота, чтобы уведомления из него всплывали на телефоне прямо во время игры. И все это желательно за пару секунд, ведь время на ответ сильно ограничено. Если вы хотите увидеть, как довольно простой, но рабочий код (а посмотреть на такой будет полезно новичкам) помогал нам обыгрывать Клевер – добро пожаловать под кат.
Читать дальше →
Всего голосов 25: ↑23 и ↓2+21
Комментарии7

Конференция DEFCON 23. «Как я сбивал назойливый дрон соседского ребёнка». Майкл Робинсон

Время на прочтение19 мин
Количество просмотров45K
Большое спасибо за то, что пришли меня послушать! То, о чём я буду говорить, отличается от выступлений предыдущих спикеров. Сначала я хочу поблагодарить людей, которые помогали мне в подготовке этого выступления. Некоторые из них смогли тут присутствовать, некоторые нет. Это Алан Митчел, Рон МакГайер, Крис Тейлор и Кэти Херитадж и ещё несколько человек, которые захотели сохранить анонимность, поэтому их имена напечатаны на этой картинке чёрным цветом.



Мой сосед меня реально достал, а его ребёнок достал меня вдвойне! Меня раздражают его… сопли, можете заменить «сопли» более подходящим словом из четырёх букв! Но самая большая проблема возникла, когда у соседского парня появилось вот это – квадрокоптер с видеокамерой.



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



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

Я стал искать варианты адекватного ответа. Может быть, это?
Всего голосов 76: ↑68 и ↓8+60
Комментарии54

Можно ли войти в закрытую дверь, или как патчат уязвимости

Время на прочтение9 мин
Количество просмотров8.5K
В мире каждый день публикуются десятки CVE (по данным компании riskbasedsecurity.com за 2017 год было опубликовано 20832 CVE). Однако производители стали с большим пониманием и вниманием относиться к security-репортам, благодаря чему скорость закрытия багов существенно увеличилась (по нашим ощущениям).

Нам стало интересно посмотреть на несколько продуктов и понять, из-за чего же возникли уязвимости (учимся на чужих ошибках). А также как производители их исправляют и всегда ли это у них получается (забегая вперед – не всегда).


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

Мессенджеры, пора делать следующий шаг

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

В последние пару лет, мессенджеры изменили привычный ход потребления контента, whatsapp, telegram, viber, простите. Теперь весь контент сосредоточен в них, аудитория растет дикими темпами, они многое изменили, но самое главное — им еще предстоит — способ доставки контента, а если точнее — P2P CDN.

Почему P2P CDN это необходимый шаг и как все может работать (и что это вообще такое?!) — всё это рассмотрим в посте.
Читать дальше →
Всего голосов 44: ↑31 и ↓13+18
Комментарии225

Флаппи Бёрд: — Поехали

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

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

Я напомню, что Corona — это движок для создания 2D игр на все платформы и, touch-touch, сегодня День космонавтики. Сюжет для игры выбран соответсвующий и, разумеется, мы повторяем за первым космонавтом
-Поехали!
Всего голосов 56: ↑53 и ↓3+50
Комментарии31

Влияние, которое GitHub оказывает на вашу карьеру

Время на прочтение4 мин
Количество просмотров28K
В течение следующих 12-24 месяцев — другими словами, между 2018 и 2019 годом – метод приема на работу разработчиков программного обеспечения радикально поменяется.


С 2004 по 2014 я работал в Red Hat — крупнейшей в мире компании по выпуску программного обеспечения с открытым исходным кодом. В первый же день, в июле 2004 года, мой босс Марти Мессер сказал мне: «Вся работа, которую ты будешь выполнять здесь, будет открытой, как на ладони. В будущем тебе не понадобится резюме — люди просто будут получать информацию о тебе в Google».
Читать дальше →
Всего голосов 47: ↑37 и ↓10+27
Комментарии70

Информация

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