📣 Большая практическая шпаргалка SQL (SQLite) с готовыми запросами
Все примеры изначально писались для СУБД SQLite, но почти всё из этого применимо также и к другим СУБД
Вначале идут очень простые запросы, с них можно начать новичкам. Если хочется чего-то более интересного – листайте вниз.
Здесь есть и примеры довольно сложных запросов с агрегирующими функциями, триггерами, длинными подзапросами, с оконными функциями.
Помимо этого, часть примеров посвящена работе с SQL в Python при помощи библиотечек sqlite3, pandas, polars.
Этот список запросов с комментариями можно использовать как наглядное пособие для изучения SQL.
🖥 Читать подробнее
Как использовать нейросети в работе программиста, чтобы сократить объем задач?
Рассказываем все про нейросети для айтишников на нашем бесплатном вебинаре – вы узнаете как принципиально поменять подход к программированию с помощью ИИ и использовать это в будущем.
Прямо эфире мы покажем и решим типичные задачи программиста, только с помощью ChatGPT.
По итогам эфира вы узнаете:
— Как написать свой первый код на Python с помощью нейросети;
— Поймете что делать и какие навыки развивать, чтобы начать карьеру в IT и быстро на высокий доход;
— Получите инструкцию, как зарабатывать удаленно в 2024 году.
Узнать подробнее о мероприятии и бонусах можно тут 📌
erid: LjN8KRx5e
ООО Зерокодер, ИНН 9715401631, ОГРН - 1217700246026
📣 Как убедиться, что ваш код Python работает без ошибок и уязвимостей
Из этой статьи вы узнаете критерии, по которым можно оценить качество пакетов Python и способы избежать загрузки вредоносного кода в свой проект.
🖥 Читать подробнее
▶️ Основные методы строк
В видео узнаете, что такое методы, как они вызываются и какие основные методы существуют у строк:
String.upper() – Возвращает строку с заглавными буквами
String.lower() – Возвращает строку с малыми буквами
String.count(sub[, start[, end]]) – Определяет число вхождений подстроки в строке
String.find(sub[, start[, end]]) – Возвращает индекс первого найденного вхождения
String.rfind(sub[, start[, end]]) – Возвращает индекс первого найденного вхождения при поиске справа
String.index(sub[, start[, end]]) – Возвращает индекс первого найденного вхождения
String.replace(old, new, count=-1) – Заменяет подстроку old на new
String.isalpha() – Определяет: состоит ли строка целиком из буквенных символов
String.isdigit() – Определяет: состоит ли строка целиком из цифр
String.rjust(width[, fillchar = ‘ ‘]) – Расширяет строку, добавляя символы слева
String.ljust(width[, fillchar = ‘ ‘]) – Расширяет строку, добавляя символы справа
String.split(sep=None, maxsplit=-1) – Разбивает строку на подстроки
String.join(список) – Объединяет коллекцию в строку
String.strip() – Удаляет пробелы и переносы строк справа и слева
String.rstrip() – Удаляет пробелы и переносы строк справа
String.lstrip() – Удаляет пробелы и переносы строк слева
👀 Смотреть на YouTube
▶️ Списки - операторы и функции работы с ними
В видео будет рассказано что такое списки, зачем нужны и как их задавать в
Python.
Рассмотрим функции list(), len()
, max()
, min()
, sum()
, sorted ()
и операторы +, *, *, in, del для создания списков.
👀 Смотреть на YouTube
Изучите применение ChatGPT в рабочих целях, чтобы получить от этого прибыль. Сейчас самое время начать использовать искусственный интеллект.
Здесь вы узнаете, почему стоит освоить ChatGPT. Это поможет вам:
- Использовать ChatGPT в вашей профессиональной сфере.
- Предлагать компаниям разработку индивидуально дообученного ChatGPT по заказу.
- Увеличить свой доход, освоив навык создания индивидуально дообученного ChatGPT.
Зарегистрируйтесь на бесплатный вебинар, чтобы узнать больше деталей.
Реклама. ООО "ТЕРРА ЭЙАЙ". ИНН 9728019395. erid: LjN8KNbio
📣 Фоновые асинхронные задачи в FastAPI и их мониторинг
Сегодня расскажем, как в FastAPI эффективно работать с фоновыми задачами и настроить их мониторинг в Prometheus.
Также будет покажу, как в фоновых задачах использовать асинхронный код.
В статье опишу 5 вариантов: встроенный в FastAPI Background Tasks и 4 библиотеки – ARQ, SAQ, FastStream, адаптированный к асинхронному коду Celery
🖥 Читать подробнее
📣 Парсинг сайтов на Python: подробный видеокурс и программный код
В видеокурсе из семи уроков описывается парсинг сайтов с различной структурой при помощи Python третьей версии, библиотек requests и BeautifulSoup
Раскрываются особенности парсинга многостраничных ресурсов, использования прокси с различными User-Agent, сохранения изображений и распознавания простого текста, а также быстрый мультипроцессорный парсинг сайтов
Автор курса не преследует цели создать идеальный парсер, а лишь излагает определенные концепции и иллюстрирует их примерами
▶️ Python – полный курс для начинающих с нуля. Без воды
⏺ Задачи курса и анонс
⏺ О среде разработки Google Colab
⏺ Команда print
⏺ Переменные, комментарии и аннотации
⏺ Арифметические операции
⏺ Операции со строками
⏺ Массивы и циклы
⏺ Условные операторы
⏺ Функции Python
⏺ HTTP, GET, REST запросы
⏺ Парсер на Python и JSON
⏺ Сохранение txt файла
⏺ Чтение txt файла, string to json
👀 Смотреть на YouTube
▶️ Переменные, оператор присваивания, функции type и id
В видео рассмотрим оператор присваивания, каскадное и множественное присваивание и динамическую типизация.
Также разберем функции type()
и id(),
как правильно выбирать имена переменных и ограничения на определение имен переменных.
👀 Смотреть на YouTube
▶️ Логирование: оставь print позади
Логирование – это фиксация состояния вашего приложения в определенный момент времени. Оно позволяет понимать, что система работает как ожидается (и вообще работает), а также облегчает диагностику проблем
Минусы print:
- нет общего формата (дата)
- не ясно какой модуль в каком месте написал информацию, насколько она важна
- нужно выключать/включать, обязательно забудем удалить
- нельзя гибко настроить куда писать (файл/консоль)
Когда уместен print: в очень простых, маленьких приложениях и скриптах.
Чем больше и сложнее приложение тем важнее использовать специальные инструменты логирования
DIWEC = DEBUG - INFO - WARNING - ERROR - CRITICAL
DEBUG – самая подробная информация, нужна только разработчику и только для отладки, например значения переменных, какие данные получены и т.д.
INFO – информационные сообщения, как подтверждение работы, например запуск сервиса
WARNING – еще не ошибка, но уже надо посмотреть - мало места на диске, мало памяти, много созданных объектов и т.д
ERROR – приложение еще работает и может работать, но что-то пошло не так
CRITICAL – приложение не может работать дальше
logger = getLogger(__name__) – принятый подход для логирования с именем модуля
логеры с именами наследуют настройки от root, но могут быть настроены иначе
logger.debug("Get expression %s", exp) – для обратной совместимости используется старый формат через %
👀 Смотреть на YouTube
Участвуй в хакатоне ЛЕТС ХАК и реши кейс: Клиентский портал по исследованию защищенности внешнего периметра заказчика
Формат: онлайн
Регистрация до 23 мая
Общий призовой фонд: 300 тыс. рублей
Кейс от MTS STARTUP HUB и FUTURE CREW
Задача: Клиентский портал по исследованию защищенности внешнего периметра заказчика
Проблема: Компаниям требуется длительный ручной процесс согласования работ по проведению исследования внешнего периметра компании на предмет наличия уязвимостей, даже при разовом сканировании.
Цель: Автоматизировать и ускорить процесс сбора документации для старта исследования.
Описание: Необходимо создать клиентский портал самообслуживания для продукта платформа CICADA8. ВАЖНО! Зарегистрированный пользователь должен иметь юридически значимое подтверждение о возможности представлять компанию.
Внутри портала должен быть реализован функционал сканирования внешнего периметра инфраструктуры заказчика с последующим анализом специалистами ИБ по желанию.
ОБЯЗАТЕЛЬНО! Заявленное выше должно быть законным и юридически значимым на территории РФ.
Стек технологий: Python, Django, PostgreSQL
Подробная информация и регистрация: https://www.хакатоны.рус/letshackhack
Знакомьтесь с людьми, решайте реальные прикладные задачи, набирайтесь опыта и бейтесь за призы на хакатоне Лет'с Хак!
📣 Создание интерактивных панелей с Streamlit
В небольшом туториале мы расскажем, как за 12 простых шагов подготовить среду и создать интерактивную панель для визуализации данных
Панель мониторинга (dashboards) – это графический пользовательский интерфейс для интерактивного отображения информации, а также визуализации ключевых показателей и тенденций данных. Разработка таких панелей является довольно утомительной задачей
Streamlit – простая библиотека Python с открытым исходным кодом, которая стремительно набирает популярность в области машинного обучения и Data Science.
Она позволяет публиковать веб-приложения в открытом доступе, а также включает встроенный веб-сервер с возможностью развертывания в контейнере docker.
В этом обзоре вы найдете подробную инструкцию о том, как самостоятельно разработать и опубликовать интерактивную панель для визуализации данных
🖥 Читать подробнее
▶️ Словарь и множество (dict, set)
Немного копнем поглубже словари и сеты: как работают под капотом, почему такие быстрые при поиске, какие могут быть грабли и каверзные вопросы на собеседовании.
Самое важное:
⏺ dict – словарь, отображение, хеш-мап, ассоциативный массив, коллекция пар ключ-значение, где ключом может быть только hashable тип, доступ по ключу и проверка наличия ключа O(1), с питона 3.7 хранит порядок вставки
⏺ пустой словарь создавать лучше через {},а не dict(), под капотом сразу будет создано 8 элементов
⏺ set – множество, хешсет, неупорядоченный набор hashable объектов, доступ и проверка наличия O(1)
⏺ frozenset – неизменяемый брат множества
⏺ Hashable != Immutable, эти понятия часто путают, помните что это не одно и то же.
⏺ алгоритм работы словаря и сета: Получаем хеш -} высчитываем позицию в массиве -} если элемента нет то действуем соответственно задаче -} если элемент есть то сравниваем ключ == тому что ищем -} если ключ не равен искомому то ищем дополнительный бакет
⏺ По умолчанию самописные классы возвращают хеш основанный на id, если переопределяете хеш, то всегда проверяйте, что у равных объектов одинаковый хеш
⏺ Проверка на содержание тоже вызывает ошибку, если элемент не хешируем. Тапл можно положить в сет только если все его элементы хешируемы, frozenset без проблем кладется в сет. Словари и сеты нельзя положить в словари(как ключ) и сеты.
⏺ За скорость словаря и сета мы платим большей памятью и тем, что положить туда можно не любые элементы
👀 Смотреть на YouTube
📣 10 практик кода, ускоряющих выполнение программ
В статье сравниваем скорость выполнения распространенных (но не очень эффективных) решений и по-настоящему производительного кода на чистом Python без привлечения сторонних библиотек.
🖥 Читать подробнее
📣 Изучаем Python за 6 месяцев | Подробный план обучения
Обучение будет разделено на несколько тем, для изучения каждой темы будут представлены бесплатные курсы и книги.
В конце статьи представлен дополнительный материал для начального и продвинутого уровня
В статье рассмотрим:
⏺ стандартные типы данных;
⏺ условия;
⏺ циклы;
⏺ функциональное программирование;
⏺ работа с файлами;
⏺ регулярные выражения;
⏺ основы алгоритмов;
⏺ объектно-ориентированное программирование (ООП);
⏺ конкурентность;
⏺ тестирование кода;
⏺ полезные библиотеки типа itertools, collections и тому подобное
🖥 Читать подробнее
▶️ Концепция ООП простыми словами
Что такое ООП? Зачем это нужно? Какие дает возможности? Все это подробно объясняется в данном видео!
Узнаете о трех механизмах, лежащих в основе объектно-ориентированного программирования: инкапсуляции, наследовании и полиморфизме.
👀 Смотреть на YouTube
Хочешь научиться хакингу?
Подпишись на Записки безопасника, авторский канал по хакингу и информационной безопасности.
Научишься:
— Деанону (OSINT)
— Взлому (Пентест)
— Социальной инженерии
/channel/+RFaTvH4V1OMxZDIy
📣 Бенчмарк HTML парсеров в Python: сравнение скорости
В этой статье хочу поделиться с вами информацией по проведенному сравнению производительности нескольких популярных библиотек для простого HTML-парсинга.
🖥 Читать подробнее
📣 Итерируем правильно: 20 приемов использования модуля itertools
В статье рассказываем с примерами кода о функциях модуля itertools
– инструмента стандартной библиотеки Python, содержащего распространённые шаблоны итераторов.
Бесконечные счётчики, сочетания и размещения, итераторы среза и многое другое.
🖥 Читать подробнее
▶️ Введение в строки. Базовые операции над строками
В видео узнаете как задавать обычные и многострочные строки в Python. Рассмотрим символ переноса строки.
Соединение (конкатенация) строк, функция str()
для преобразования аргумента в строку, дублирование строкового фрагмента
Разберем функцию len()
для вычисления длины строки, оператор in
для проверки вхождения подстроки в строку, операторы сравнения строк: ==, !=, больше, меньше, а также рассмотрим функцию ord()
.
👀 Смотреть на YouTube
▶️ Генераторы списков (List comprehensions)
Подробное объяснение работы генераторов списков языка Python.
Рассмотрим примеры, где
применяются List comprehensions.
👀 Смотреть на YouTube
Ну все! Теперь не нужно тратить деньги на топовые курсы и книги по программированию — их выложили в Telegram бесплатно
Все найденные курсы собирают тут — @portalToIT
По этим курсам выучить любой язык за 7 дней вообще не проблема, находка для начинающих программистов.
📣 Объектно-ориентированные пути файловой системы
pathlib – Этот модуль предлагает классы, представляющие пути файловой системы с семантикой, подходящей для различных операционных систем.
Классы путей делятся между чистыми путями, которые обеспечивают чисто вычислительные операции без ввода-вывода, и конкретными путями, которые наследуют от чистых путей, но также обеспечивают операции ввода-вывода.
Чистые пути полезны в некоторых особых случаях; например:
1. Если вы хотите манипулировать путями Windows на машине Unix (или наоборот). Вы не можете создать экземплярWindowsPath
при запуске на Unix, но вы можете создать экземпляр PureWindowsPath
.
2. Вы хотите убедиться, что ваш код манипулирует только путями без фактического доступа к ОС. В этом случае создание экземпляров одного из чистых классов может быть полезным, так как они просто не имеют никаких операций доступа к ОС
🖥 Читать подробнее
📣 Python enumerate: упрощаем циклы с помощью счетчиков
Вместо самостоятельного создания и увеличения переменной, используйте enumerate() для получения одновременно счетчика и значения из итерационной функции.
🖥 Читать подробнее
📣 4 Python библиотеки для интерпретируемого машинного обучения
Хотите добиться лучшего объяснения моделей машинного обучения? Нужна хорошая визуализация? Используйте эти Python библиотеки.
⏺ Yellowbrick – эта Python библиотека и расширение пакета scikit-learn. Предоставляет некоторые полезные и симпатичные визуализации для моделей машинного обучения. Объекты визуализатора, основной интерфейс – оценки scikit-learn, поэтому если привыкли работать с scikit-learn, рабочий процесс покажется знакомым.
⏺ ELI5 – ещё одна библиотека визуализации, которая пригодится для отладки моделей машинного обучения и объяснения сделанных прогнозов. Работает с самыми распространёнными инструментами машинного обучения на Python, включая scikit-learn, XGBoost и Keras.
⏺ LIME – расшифровывается как локальные интерпретируемые, независимые от модели объяснения. Интерпретирует предсказания, сделанные алгоритмами машинного обучения. Lime поддерживает объяснение единичных прогнозов из диапазона классификаторов, а также взаимодействует с scikit-learn «из коробки»
⏺ MLxtend – этой библиотеке найдёте массу вспомогательных функций для машинного обучения. Она охватывает классификаторы стекинга и голосования, оценку модели, выделение признаков, а также проектирование и построение графиков. Дополнительно к документации в помощь с Python библиотекой рекомендуем почитать углублённый материал.
🖥 Читать подробнее
▶️ Знакомство с индексами и срезами строк
Строка, как упорядоченный набор символов.
Индексирование строк, обращение к символам по определенным индексам. Срезы строк – выделение групп символов из строки. Примеры и особенности работы.
👀 Смотреть на YouTube
Хотите тестировать приложения на Python быстрее?
Создайте пакет в Python и интегрируйте его с проектами Django.
О том, как это сделать, мы поговорим на открытом уроке «Как создать свою библиотеку и ускорить тестирование в Django REST framework».
Приглашаем веб-разработчиков, Python-разработчиков, бэкенд-разработчиков, девопс-инженеров.
Вы научитесь:
- Создавать пакет Python
- Пользоваться инструментами для тестирования приложений в Django REST Framework
- Писать тест-кейсы для юнит-тестов
- Интегрировать созданный пакет в проекты Django
Занятие проведёт Python-разработчик и опытный преподаватель OTUS – Леонид Орлов.
Бонус! Всем участникам – скидка 5% на любой курс OTUS
23 мая в 19:00 МСК
Записаться на воркшоп - https://otus.pw/443D/?erid=LjN8JzwYJ
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
🔍Как существенно снизить вероятность утечки данных и осложнить злоумышленникам получение несанкционированного доступа в информационные системы?
🔥Такой вопрос сегодня применим буквально к каждой компании, сотрудники которой до сих пор используют слабые пароли. Не менее важной темой остается обеспечение проверки пользователей для безопасного подключения «удаленщиков».
Приглашаем на вебинар «Как минимизировать утечки данных с помощью многофакторной аутентификации»
Вместе разберемся в вопросах:
🔴Насколько надежны традиционные пароли и с какими основными уязвимостями можно столкнуться при однофакторной аутентификации?
🔴Сколько теряют компании при утечке корпоративных данных?
🔴Как надо защищать учетные записи?
🔴Какие технологии и продукты Рутокен можно использовать для многофакторной аутентификации и какова их роль для бизнеса?
🔴Какие готовые сценарии использования уже есть и какие из них проверены на практике?
Дата: 22 мая 2024 (среда)
Время: Начало 11:00 МСК
📌Регистрация на вебинар - https://www.rutoken.ru/press-center/events/2024-05-22.html?utm_source=tg&utm_medium=social&utm_campaign=tg_infosec_globe_webinar_220524
▶️ Аннотации Python
Зачем нужны аннотации?
Информативность исходного кода, и иметь возможность с помощью сторонних инструментов производить его анализ.
Одной из наиболее востребованных, в этом смысле, тем является контроль типов переменных
А также в видео ответим на вопрос что такое аннотации и когда использовать аннотации
👀 Смотреть на YouTube