Python — TechCave

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

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

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

Стена группы

Загрузка...
1 день назад
#

Миграция схемы базы данных без даунтайма для postgresql на примере django



Введение

Привет, Хабр!



Хочу поделиться опытом написания миграций для postgres и django. Речь в основном пойдёт про postgres, django же здесь хорошо дополняет, так как из коробки имеет автоматическую миграцию схемы данных по изменениям модельки, то есть имеет довольно полный список рабочих операций по изменению схемы. Django можно заменить на любой любимый фрэймворк/библиотеку — подходы скорее всего будут похожи.



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



Перед тем как пойти дальше позволю себе сделать следующие предположения.



Можно разделить логику работы с базой данных большинства приложений на 3 части:



  1. Миграции — изменение схемы базы данных (таблиц), предположим мы всегда запускаем их в один поток.

  2. Бизнес логика — непосредственная работа с данными (в пользовательских таблицах), работает с одними и теми же данными постоянно и конкурентно.

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



Даунтайм — это состояние, когда часть нашей бизнес логики не доступна/падает/грузится на заметное для пользователя время, предположим это пару секунд.



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



Источник
Загрузка...
1 день назад
#

Открытый вебинар «Как не нужно писать на Python»



Всем привет! В рамках нашего курса
«Разработчик Python» мы провели ещё один открытый урок на тему «Как не нужно писать на Python». Занятие вёл преподаватель и создатель курса
Станислав Ступников, имеющий большой опыт промышленной и научной разработки. Рассматривались антипаттерны программирования, bad practice и прочее зло, о котором нужно знать и которого следует избегать в процессе написания кода.

Подробности смотрите в видео и кратком изложении. Внимание: некоторые примеры кода не рекомендуется запускать на своём компьютере!

Источник
Загрузка...
1 день назад
#

Python: метапрограммирование в продакшене. Часть вторая



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





Теперь посмотрим как можно изменять вызовы методов. Больше о возможностях метапрограммирования вы сможете узнать на курсе Advanced Python.



Источник
Загрузка...
Den
1 день назад
#

Песнь о том, как создание проекта превратилось в ад





Привет, Хабр! Меня зовут Владимир, мне 15 лет, я Junior Python Developer и по совместительству буду в этой истории ещё и дизайнером-дилетантом. Сейчас я учусь в 9 классе (кто бы мог подумать) и намереваюсь рассказать вам о нашем погибшем проекте.

Источник
Загрузка...
Den
1 день назад
#

Что нужно запомнить программисту, переходящему на Python



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



Однако в какой-то момент перл исчерпал себя и я решил заняться питоном, сначала просто делал что-то и разбирался с тем, что нужно для данной задачи, а потом понял, что нужны какие-то систематизированные знания и прочитал несколько книг:



  • Билл Любанович «Простой Python. Современный стиль программирования»

  • Дэн Бейдер «Чистый Python. Тонкости программирования для профи»

  • Бретт Слаткин «Секреты Python: 59 рекомендаций по написанию эффективного кода»



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



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



Источник
Загрузка...
1 день назад
#

Мемоизация дефолтным kwarg в Python



Вот так можно мемоизировать питоновскую функцию:

def memo_square(a, cache={}): 
    if a not in cache: 
        cache[a] = a*a 
    return cache[a]


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

Источник
Загрузка...
1 день назад
#

Запись трансляции PyData Moscow — 13.10.2018


13 октября в Яндексе пройдет встреча PyData, посвящённая анализу больших данных с использованием языка Python.
В программе онлайн-трансляции доклады от представителей компаний из разных сфер бизнеса:
15:30 Процесс полуавтоматической разметки данных (Кирилл Данилюк, Яндекс.Такси)
16:00 Canary deployment, мониторинг и тестирование моделей силами одного специалиста (Александр Дмитриев, MyBook)
16:30 Как мы строили автоматическую систему модерации объявлений ЦИАН (Алексей Бардышев, ЦИАН Групп)
17:00 Перерыв
17:15 Нейросети в продакшене на примере NLP-сервиса (Виталий Давыдов, Poteha Labs)
17:45 Как построить собственную систему аналитики за один день (Александр Швец, DigitalGod.be)

Загрузка...
6 дней назад
#

Автор Python больше не руководит разработкой. Сделает это язык лучше или хуже?



Всё Python-сообщество надеется, что это не отразится на экосистеме негативно. Но одного этого недостаточно. Мы вот, например, считаем важным поддерживать сообщество и, как одно из мероприятий, проводим большую конференцию под названием Moscow Python Conf++. Там сможем обсудить этот и другие важные вопросы. А пока частично познакомлю вас с Программным комитетом. А задал им несколько вопросов, которые как раз и раскроют взгляды на экосистему, и расскажут о людях лучше их профессиональных достижений.

Кроме заглавного вопроса, спрашивал вот что:

  • Что порекомендуешь для управления зависимостями?

  • На чем сейчас лучше всего делать backend?

  • TensorFlow все так же рулит для Machine Learning, или пора изучать что-то новое?

  • Почему твоему джуну надо учить Python, а не JavaScript?

  • Говорят, что в вебе backend уже не нужен. Так ли это?

  • 3.x или 2.7?

  • Чем хороший Python разработчик отличается от плохого?



Спойлер: Провокация «3.x vs 2.7» не удалась, ответ однозначный. Отказываться от бэкенда, кажется, еще рано, а на чем его делать, зависит от задачи — кто бы мог подумать.

Источник
Загрузка...
6 дней назад
#

Прием платежей с карты без юр. лица на Яндекс.Деньги





Open source yandex money donation service

Прием платежей на Яндекс.Деньги физ. лица

  • онлайн платежи с карты, яндекса, телефона

  • добавление метки к платежу

  • получение и проверка оповещений на свой сервер

  • пример автоматизации подписки на Telegram бота



Реализация и описание под катом

Источник
Загрузка...
Den
6 дней назад
#

Celery в нагруженных проектах: немного практики



В преддверии нашей Moscow Python Conf++ мы кратко поговорили с Олегом Чуркиным, техлидом финтех-стартапа, о его обширном опыте работы с Celery: полмиллионе фоновых задачах, багах и тестировании.



Источник
Загрузка...
6 дней назад
#

Python: метапрограммирование в продакшене. Часть первая



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





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



Источник
Загрузка...
8 месяцев назад
#

Telegram бот для сложных квестов



«В чем же заключается преимущество?» — спросите вы, ну все дело в том, что в нем можно построить логику примерно из следующих выражений:

– Пользователь на шаге N?
– Сообщение содержит изображение и смайлик?
– Текст подходит под регулярное выражению «I am [a-zA-Z]+»?
– Время получения раньше/позже заданного?
– Это было нажатие на клавиатуре/обычное сообщение/inline-кнопка?


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

Для начала, о чем я хочу рассказать:

  1. Об идее проекта – зачем я это сделал, какие есть аналоги, но почему мне они не нравятся.

  2. Архитектурных решениях, какие возникли трудности, как были решены.

  3. Что получилось в итоге и стоило ли оно того, дальнейшее развитие.



Источник
Загрузка...
8 месяцев назад
#

Мега-Учебник Flask, Глава 8: Подписчики, контакты и друзья (издание 2018)



blog.miguelgrinberg.com



Miguel Grinberg

<<< предыдущая следующая >>>



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



Это восьмая часть серии Flask Mega-Tutorial, в которой я расскажу вам, как реализовать функцию «подписчики», аналогичную функции Twitter и других социальных сетей.



Источник
Загрузка...
8 месяцев назад
#

Своя СУБД за 3 недели. Нужно всего лишь каждый день немного времени…



Своя СУБД за 3 недели. Нужно всего-лишь каждый день немного времени уделять архитектуре; и всё остальное время вкалывать на результат, печатая и перепечатывая сотни строк кода.

По закону Мерфи, если есть более одного проекта на выбор — я возьмусь за самый сложный из предложенных. Так случилось и с последним заданием курса о системах управления базами данных (СУБД).

обложка /dropSQL

Источник
Загрузка...
8 месяцев назад
#

Создание REST API на Falcon



В этой статье мы создадим REST API на основе фреймворка Python Falcon, потестируем производительность и попробуем его масштабировать, чтобы справиться с нагрузками.

Для реализации и тестирования нашего API нам понадобятся следующие компоненты:



Почему Falcon?

Falcon — это минималистичный веб-фреймворк для построения веб API, согласно сайту Falcon он до 10 раз быстрее чем Flask. Falcon быстрый!

Источник
Загрузка...
2 3

Авторизация

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

Георгiй Москвитинъ
Andpyxa Tutunnik
Andrey_fox
Jane linch
genagy
Pasha Radiuk
KotikBSD
Эрик Имашев
Амир Исмагилов