Обновить
1024K+

Python *

Высокоуровневый язык программирования

614,93
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Мини-гайд по отправке сообщений из Google Таблицы или базы данных с Python

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели7.2K

В этом материале расскажем, как автоматизировать отправку сообщений-уведомлений по данным из таблицы.

Читать далее

Как сменить технологию и не закопаться в рефакторинге: опыт внедрения DDD в проект на FastAPI — Часть 2

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели8.9K

Привет, хабравчане!

В первой части были рассмотрены паттерны проектирования Repository и Unit of Work.

Это вторая часть цикла о DDD. В ней расскажу, как добавить к проекту событийно-ориентированную архитектуру.

Код подопытного приложения ищите в репозитории по ссылке. Подробнее о DDD и паттернах Repository и Unit of Work читайте в первой части по ссылке...

Читать далее

Священная война языков программирования или опыт неудачного переезда с Python на Golang

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели27K

Что же меня побудило перейти на Golang? В то время я сидел на Python ещё версии 2.7.9 — это примерно 2017 год. Потом вышла версия Python 3. Оказалось, что несмотря на множество обещаний, что теперь всё будет работать из коробки, начались дикие конфликты при переходе с 2.7 на новую третью версию. Я тогда немного разочаровался и начал смотреть, что ещё есть интересное, чтобы поработать с сетями. 

Под мои задачи всегда подходил Python. И в работе с Python я себя чувствовал примерно так: это огромная, очень добрая, очень хорошая, почти пушистая черепаха, но при этом ужасно неповоротливая. Очень тяжело с ней путешествовать, очень тяжело порой заставить её сделать то, что мне нужно. В то же время расширение PyPy разгоняло её очень сильно — условно, с 9 до 0,2 секунд.

Читать далее

Поиск открытых сетевых ресурсов и их права доступа

Уровень сложностиСредний
Время на прочтение16 мин
Охват и читатели13K

Общие сетевые ресурсы в домене Active Directory используются для упрощения и централизации доступа к файлам, папкам, принтерам и другим ресурсам в корпоративной сети. Это может привести к нарушению одной из основ информационной безопасности – конфиденциальности

Читать далее

Рейтинг YouTube каналов — легко!… ан нет

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели47K

Наткнулся на YouTube на топ-20 общественно-политических ютуб-каналов, результат за месяц. Подумал, такое легко сделать самому, заодно изучу API YT и проверю результаты. А готовый алгоритм можно применить и на другие тематические каналы.

Почитал статью на Хабр, посмотрел ролик на YouTube, полистал документацию и приступил писать код на коленке в jupyter notebook.

Читать далее

Эхо Дайджест: Железо, Python, ИИ, Raspberry Pi

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели3.4K

Прогресс Intel в области процессоров и инвестиции Китая в полупроводниковую отрасль; Крупнейший в мире кластер для обучения ИИ от XAI; Новые модели и инструменты для работы с ИИ, обновления для Raspberry Pi, а также новые библиотеки Python.

Читать далее

Доплеровское Cмещение Несущей Спутников GPS

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели6.6K

В этом тексте я намерен выяснить, как быстро меняется частота несущей спутников GPS в результате эффекта Доплера.

Также намерен выяснить в каких диапазонах стоит ожидать варьирование значения несущей частоты для GPS спутников и почему. Задачу буду решать в упрощенном виде, численно.

Для решения этой задачи достаточно обыкновенной школьной математики и физики.

Читать далее

Загруженность GPU — не самая репрезентативная метрика

Время на прочтение7 мин
Охват и читатели9.3K

В командах ML-инженеров часто пользуются метрикой «GPU Utilization» (Загруженность процессора), чтобы понять, насколько активно задействуется в работе процессор. Чтобы узнать эту информацию, обычно достаточно выполнить команду nvidia-smi в строке терминала. Во многих интегрированных наблюдательных инструментах загруженность процессора также отслеживается как основная характеристика производительности. Но иногда, как ни удивительно, эта метрика даёт не слишком точное представление о производительности GPU. На самом деле, GPU можно загрузить на 100%, выполняя лишь операции чтения и записи (в памяти), но при этом 0 вычислений. Эта статья – не о том, как мы это выяснили, а о том, что нам удалось узнать по ходу дела.

Читать далее

Ускоряем разработку на FastAPI: Мощный инструментарий для создания и тестирования API

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели8K

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

Ходя по множеству собеседований, я заметил что многие компании, активно использующие FastAPI, разработали собственные библиотеки, но аналогичных инструментов с открытым доступом и свободной лицензией практически нет. Я, как опытный backend-разработчик на Python и Django, решил адаптировать и интегрировать наиболее полезные и востребованные решения для разработки REST API в FastAPI, основываясь на своем опыте работы с Django.

Читать далее

OSINT в работе IT-рекрутера: Достаем кандидатов из Telegram чата с помощью Telethon и Snoop

Уровень сложностиСложный
Время на прочтение6 мин
Охват и читатели13K

В данной статье мы рассмотрим один из вариантов использования ИБ утилиты Snoop в задачах HR подразделения компании. Для этого мы напишем парсер участников telegram чата с помощью библиотеки theleton, потом прогоним результаты через snoop и создадим удобную таблицу для дальнейшей работы IT рекрутера или ресечера.

Читать далее

Разработка и деплой Slack бота

Уровень сложностиСложный
Время на прочтение16 мин
Охват и читатели3.4K

В этой статье мы рассмотрим процесс разработки Slack-бота на Python с использованием популярных библиотек и фреймворков, таких как Flask и Slack SDK. Мы начнем с выбора инструментов, необходимых для создания бота, и шаг за шагом пройдем через все этапы разработки: от настройки окружения и написания кода до тестирования и деплоя на сервер.

Читать далее

Обучающий телеграм бот. Пример задачника по математике

Время на прочтение8 мин
Охват и читатели8K

Технология телеграм бота подкупила меня своей универсальностью. Можно использовать в телеграмм, можно просто в браузере, можно формировать любую логику работы… Сегодня рассмотрим вариант телеграм бота, представляющего собой фрагмент задачника по математике для 4 класса. Почему так все заморочено, просто ребенок учится в 4 классе и активно юзает телегу.

Начнем. В телеге запускаем бота BotFather, регистрируем новое имя бота. Имя и токен бота будут нам всегда доступны в BotFather.

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

Выбираем классическую задачу из учебника.

Из города в противоположных направлениях выехали два автомобиля. Скорость первого автомобиля составляет 57,8 км/час. Скорость второго автомобиля – 63,5 км/час. Через сколько часов расстояние между ними будет составлять 363,9 км?

Отлично. Из этой задачи можно сформулировать 4 задачи с определением различных параметров: скорость первого автомобиля, скорость второго автомобиля, время и расстояние.

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

Читать далее

Знакомимся с линейной алгеброй в NumPy

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели19K

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

Читать!

Ближайшие события

Автоматизация тестирования API посредством Python

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели12K

Доброго времени суток! В этой статье я собираюсь продолжить рассказ о своем небольшом опыте автоматизации. В прошлой статье я показал, как это сделать с помощью Postman - сегодня покажу, как это реализовать, используя язык программирования Python, фреймворк Pytest, библиотеку Requests.

Тестировать будем на том же примере, сервис ЕМИАС - запись к врачу.

Для начала представлю дерево проекта.

Читать далее

WindowsHostsManager: Консольная утилита для работы с файлом hosts в Windows на Python

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели4.6K

Иногда возникает необходимость внести изменения в файл hosts в Windows. Вместе с этой потребностью родилась идея создать небольшую утилиту на Python, которая бы упростила процесс редактирования этого файла. В результате появился WindowsHostsManager — инструмент, созданный всего за 30 минут и предназначенный для удобного управления файлом hosts.

Читать далее

Код как данные: пишем Python на Python

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели32K
Идея о том, что язык программирования может реализовать сам себя, удивительна. Она вызывает сильное любопытство: «Как это вообще может выглядеть?» С момента своего появления в начале 60-х это мог делать Lisp.

В начале 60-х Джон Маккарти придумал серию примечательных идей, хорошо сочетающихся друг с другом и актуальных даже спустя десятки лет. Сначала он сформулировал их в статье о Lisp, а чуть позже — в руководстве по Lisp 1.5.


Джон Маккарти

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

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

Дайджест канала opensource_findings за август 2024

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели1.3K

Привет!

Под катом множество сложных технических тем внутри питона: от генерации стратегий hypothesis до устройства тайпчекера MyPy.

В качестве тестового формата решил сделать подборку сложных технических тем, про которые писал в августе у себя в тг канале: https://t.me/opensource_findings со ссылками на полные посты.

Посмотрим, насколько такой формат работает, напишите свои мысли в комментарии! Буду благодарен обратной связи, поехали!

Читать далее

Улучшаем python код в пару кликов

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели7.3K

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

В статье научимся писать код в единой стилистике и даже делать это автоматически.

Улучшать проекты!

Фотоаппарат без объектива: как Stable Diffusion снимает реальность

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели24K

Наконец-то можно покупать камеру без объектива, не выставлять адекватное ISO, выдержку и просто наблюдать за результатами.  

Сегодня рынок AI-продуктов переполнен самыми разнообразными копиями генеративных нейронок, а умельцы телеграм-рынка пилят тысячи, если не десятки тысяч ботов, с подключенными GPT. Но, из самых “ленивых” разработок, этот выделился своей идеей…  Если загуглить название самого устройства – можно найти список из двух страниц поисковых выдач с новостью о новом фотоаппарате, который “генерирует реальность”. 

Камера Paragraphica – устройство 2023 года от Нидерландского умельца, которое через алгоритмы искусственного интеллекта и данных о местоположении генерит “фотографии”... 

Но в чем подвох?

Читать далее

Программирование для детей 12 лет: какое направление выбрать

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели6.2K

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

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

Читать далее