Без телефона вы никто

Так уж вышло, что мой Nexus 5X внезапно ушёл в циклическую перезагрузку, и мне пришлось отдать его в ремонт. После диагностики выяснилось, что виноват контроллер питания, и работы займут около недели. Я решил поэкспериментировать и на какое-то время остаться без телефона, и тут выяснилась страшная правда. Без телефона вы беспомощны 🔗Он настолько сильно влился в нашу жизнь, что мы его уже не замечаем - а зря. Вы лишаетесь доступа к информации - посмотреть погоду или пробки становится невозможным.

Выступление на Krasnodar Dev Days 2 о Python

слайды Всем привет! Меня зовут Тыщенко Виктор, я backend team-lead в компании 3d4medical. Вижу, тут собралось много людей, любящих решать задачи и интересующихся чем-то новым. У каждого из нас есть свои способы, свои проверенные инструменты и, в конце концов, любимые языки программирования. Я же хочу рассказать о своём, который помогает сосредоточиться на задаче, а не заставляет бороться с компилятором и вспоминать какие-то низкоуровневые конструкции. Python 🔗Что за зверь? Первая его версия вышла более 20 лет назад, причём написал его человек, получивший образование именно в сфере разработки языков программирования.

О себе

Где я? 🔗Вы попали в берлогу, где любят компьютеры, сети, ОС и программирование во всех его проявлениях. Здесь собраны материалы по самым разным областям. Кто здесь? 🔗Здесь обитает программист. На входе кофе и пицца, на выходе код, причём качество второго напрямую зависит от качества первого. Итак, пописывает он себе программки да сайтики. Что из этого выходит можно посмотреть в разделе проектов. Пишется на всём, что под руку попадётся — от asm до python, не гнушаясь php, erlang, java…

Проекты

Geo!Puzzle 🔗 Игра для изучения политической карты мира. Необходимо перетащить контуры стран на свои места. Прям как в детстве мы собирали паззлы кусочек за кусочком, так и здесь карта мира складывается из множества государств. YaDiskClient 🔗Python-библиотека для работы с Yandex.Disk, которую я хотел сделать максимально простой. Описана в статье Python API для Яндекс.Диск (а исходники на github), общение идёт по протоколу WebDAV. AWS doc 🔗За годы работы с AWS у меня накопилась некоторая экспертиза в этой области, и я был очень удивлен, когда не нашёл хоть какой-то документации на русском языке, кроме официальной.

AsyncIO для практикующего python-разработчика

Оригинал: ‘AsyncIO for the Working Python Developer’ by Yeray Diaz; перевод был впервые опубликован на Хабрахабре. Я помню тот момент, когда подумал «Как же медленно всё работает, что если я распараллелю вызовы?», а спустя 3 дня, взглянув на код, ничего не мог понять в жуткой каше из потоков, синхронизаторов и функций обратного вызова. Тогда я познакомился с asyncio, и всё изменилось. Если кто не знает, asyncio — новый модуль для организации конкурентного программирования, который появился в Python 3.

Получаем фотографии NASA с Марса с помощью aiohttp

Оригинал: ‘Getting Mars photos from NASA using aiohttp’ by PAWEŁ FERTYK; перевод был впервые опубликован на Хабрахабре. Я большой фанат книги «Марсианин» Энди Вейера. Читая её, мне было интересно, что же Марк Уотни чувствовал, гуляя по красной планете. Недавно наткнулся на пост на Twillo, в котором упоминалось, что у NASA есть публичный API для доступа к фотографиям с марсоходов. Так что я решил написать собственное приложение для просмотра изображений непосредственно в браузере.

Да, Python медленный, но меня это не волнует

Оригинал: ‘Yes, Python is Slow, and I Don’t Care’ by Nick Humrich; перевод был впервые опубликован на Хабрахабре. Я беру паузу в моём обсуждении asyncio в Python, чтобы поговорить о скорости Python. Позвольте представиться, я — ярый поклонник Python, и использую его везде, где только удаётся. Одна из причин, почему люди выступают против этого языка, — то, что он медленный. Некоторые отказываются даже попробовать на нём поработать лишь из-за того, что «X быстрее».

Почему print стал функцией в python 3?

Оригинал: ‘Why print became a function in Python 3’ by Brett Cannon После моего поста “Почему Python3 получился именно таким”, в котором я ответил на самые популярный вопрос почему в python 3 разделили текстовые и бинарные данные, меня попросили ответить на второй по популярности вопрос: почему в python3 print стал функцией. Кто это сделал? 🔗print как выражение 🔗В самом простом случае выражение print A является эквивалентом sys.stdout.write(str(A) + '\n'). Если вы укажите дополнительные аргументы через запятую, то они будут переданы в str() и выведены в одной строке через пробел.

Почему Python 3 получился именно таким

Оригинал: ‘Why Python 3 exists’ by Brett Cannon В этом месяце я отвечал на канале Q&A at PuPPY, что в конце концов заставило меня разобраться почему в Python3 появилось разделение по работе со строками и байтами. В итоге я получил благодарности по поводу объяснения, что несколько удивило меня, т.к. я наивно предполагал, что все знают зачем так было сделано. Хотя было бы глупо с моей стороны полагать что каждый - будь то новичок или продвинутый питонист - задавался этим вопросом и пытался найти объяснение.

Ода кешированию в Django

Как известно, есть 2 проблемы программирования: выбор имени переменной и инвалидация кеша. Вторая меня на этой неделе прям достала. Извините, наболело… Итак, кеширование - классная штука, она позволяет существенно ускорить работу приложения, но привносит свои проблемы. Главная из них - поддержание кеша в консистентном состоянии. Вроде бы ничего сложного - на сигнал post_save вешаем функцию по перерассчёту и радуемся жизни, но не всё так просто. В Django есть несколько адаптеров для работы с кешем, рассмотрим парочку из django.