Forwarded from Веб-страница
Мегагайд: культура работы с Git
Git — это не только (и не столько!) знание самой технологии и конкретных команд, но и определённая культура взаимодействия, практики, подходы, договорённости. Всё это помогает участникам команды лучше понимать друг друга и работать быстрее и чётче.
В статье — как раз об этом. В ней раскрыли, что формирует культуру работы с Git: от конвенций именования коммитов и до практик работы в пуллреквесте. В конце статьи — полезные ссылки на интерактивные обучалки, шпаргалки и гайды: https://habr.com/ru/companies/yandex_praktikum/articles/812139/
#git #шпаргалки
Git — это не только (и не столько!) знание самой технологии и конкретных команд, но и определённая культура взаимодействия, практики, подходы, договорённости. Всё это помогает участникам команды лучше понимать друг друга и работать быстрее и чётче.
В статье — как раз об этом. В ней раскрыли, что формирует культуру работы с Git: от конвенций именования коммитов и до практик работы в пуллреквесте. В конце статьи — полезные ссылки на интерактивные обучалки, шпаргалки и гайды: https://habr.com/ru/companies/yandex_praktikum/articles/812139/
#git #шпаргалки
😁4👍1
Сломал ногу — выучил Python: как ИИ помог экс-консультанту стать программистом за 100 дней
38-летний Эрик Леннрот после травмы решил изменить карьеру и выбрал Python, пройдя бесплатные курсы CS50 от Гарварда. С помощью ChatGPT он писал псевдокод, получал обратную связь и вручную набирал код. Его первый проект стал основой для более сложного веб-приложения из 25К строк кода. И о чудо! через три месяца он получил оффер в консалтинговой компании в Лондоне, где заменил Excel на автоматизированные пайплайны. Обучение обошлось ему в $120 (подписки на Claude Pro и Cursor).
#факт
@zen_of_python
38-летний Эрик Леннрот после травмы решил изменить карьеру и выбрал Python, пройдя бесплатные курсы CS50 от Гарварда. С помощью ChatGPT он писал псевдокод, получал обратную связь и вручную набирал код. Его первый проект стал основой для более сложного веб-приложения из 25К строк кода. И о чудо! через три месяца он получил оффер в консалтинговой компании в Лондоне, где заменил Excel на автоматизированные пайплайны. Обучение обошлось ему в $120 (подписки на Claude Pro и Cursor).
#факт
@zen_of_python
✍4❤2
Насколько вы толерантны к галлюцинациям LLM по шкале от 0 до 5?
Anonymous Poll
25%
0
13%
1
14%
2
24%
3
12%
4
12%
5
Вопросы подписчиков
Zen of Python поддерживает новоприбывших (и не только) в особой рубрике. Как это работает:
— Спрашивайте что угодно (в комментариях под этим постом), связанное с Python. Здесь нет плохих вопросов!
— Сообщество вас поддержит. Самые интересные вопросы мы разберём в отдельном посте;
#вопросы_новичков
@zen_of_python
Zen of Python поддерживает новоприбывших (и не только) в особой рубрике. Как это работает:
— Спрашивайте что угодно (в комментариях под этим постом), связанное с Python. Здесь нет плохих вопросов!
— Сообщество вас поддержит. Самые интересные вопросы мы разберём в отдельном посте;
#вопросы_новичков
@zen_of_python
Бэкроним — это в шутку неверная расшифровка аббревиатуры.
PEP — Please Explain Python
#кек
@zen_of_python
PEP — Please Explain Python
#кек
@zen_of_python
❤5
FlareSolverr | Обходим турникет Cloudflare
Фактически эта библиотека обеспечивает вас прокси-сервером для обхода антибот-защиты. Когда приходит запрос, она использует Selenium с undetected-chromedriver для открытия вкладки Chrome. URL с параметрами пользователя открывается, задача Cloudflare решается (или истекает время ожидания). Посмотрим, сколько времени у CF уйдет на «компенсацию» такого «эксплойта».
Цена: бесплатно
Репозиторий проекта
#инструмент
@zen_of_python
Фактически эта библиотека обеспечивает вас прокси-сервером для обхода антибот-защиты. Когда приходит запрос, она использует Selenium с undetected-chromedriver для открытия вкладки Chrome. URL с параметрами пользователя открывается, задача Cloudflare решается (или истекает время ожидания). Посмотрим, сколько времени у CF уйдет на «компенсацию» такого «эксплойта».
Цена: бесплатно
Репозиторий проекта
#инструмент
@zen_of_python
✍1🍌1
Краткий гайд про хэши для новичков
Хеширование — это фундаментальная концепция в Computer Science. В основе лежит идея односторонней функции, которая принимает на вход данные произвольного размера и возвращает выход фиксированной длины. Эта функция преобразует любые данные — будь то строка, число или файл — в уникальное значение фиксированной длины, называемое хешем. Это значение представляет собой последовательность битов, которая служит своего рода «отпечатком пальца» для исходных данных:
Зачем это нужно
— Проверка «девственности» передаваемых данных: при передаче данных по сети важно убедиться, что они не были изменены. Хеширование позволяет создать контрольную сумму, которая может быть использована для проверки целостности данных;
— Хранение паролей: вместо хранения оных в открытом виде их точно стоит обезопасить хешами;
— Хеширование используется для создания цифровых подписей, которые подтверждают подлинность и целостность сообщений или документов.
Многие из вас сталкивались с SSH-ключами для Git-репозиториев, причем с разными алгоритмами: MD5, SHA256. В отдельном посте поговорим об алгоритмах шифрования вроде RSA.
Когда мы создаем пару ключей (приватный + публичный), например с помощью:
То получаем приватный ключ, что хранится на локальной машине и используется для аутентификации. Также мы получаем публичный ключ и загружаем его на GitHub. Он не использует хеши для хранения или проверки самих публичных ключей, они проверяются напрямую, при помощи криптографических протоколов. Но вот где вступает в дело хеш:
GitHub (и SSH-клиенты в целом) используют хеши не для безопасности, а для удобной идентификации.
Когда мы смотрим отпечаток ключа, например:
То получаем:
Это и есть отпечаток ключа (fingerprint) — хеш публичного ключа. Он используется для подтверждения подлинности ключа.
#основы
@zen_of_python
Хеширование — это фундаментальная концепция в Computer Science. В основе лежит идея односторонней функции, которая принимает на вход данные произвольного размера и возвращает выход фиксированной длины. Эта функция преобразует любые данные — будь то строка, число или файл — в уникальное значение фиксированной длины, называемое хешем. Это значение представляет собой последовательность битов, которая служит своего рода «отпечатком пальца» для исходных данных:
import hashlib
hash = hashlib.sha256()
hash.update(b'hello')
hashed_string = hash.hexdigest()
print(hashed_string) # 2cf24d......8b9824
Зачем это нужно
— Проверка «девственности» передаваемых данных: при передаче данных по сети важно убедиться, что они не были изменены. Хеширование позволяет создать контрольную сумму, которая может быть использована для проверки целостности данных;
— Хранение паролей: вместо хранения оных в открытом виде их точно стоит обезопасить хешами;
— Хеширование используется для создания цифровых подписей, которые подтверждают подлинность и целостность сообщений или документов.
Многие из вас сталкивались с SSH-ключами для Git-репозиториев, причем с разными алгоритмами: MD5, SHA256. В отдельном посте поговорим об алгоритмах шифрования вроде RSA.
Когда мы создаем пару ключей (приватный + публичный), например с помощью:
ssh-keygen -t rsa -b 4096
То получаем приватный ключ, что хранится на локальной машине и используется для аутентификации. Также мы получаем публичный ключ и загружаем его на GitHub. Он не использует хеши для хранения или проверки самих публичных ключей, они проверяются напрямую, при помощи криптографических протоколов. Но вот где вступает в дело хеш:
GitHub (и SSH-клиенты в целом) используют хеши не для безопасности, а для удобной идентификации.
Когда мы смотрим отпечаток ключа, например:
ssh-keygen -lf ~/.ssh/id_rsa.pub
То получаем:
2048 SHA256:2f3b7A5Nk...xyz username@host (RSA)
Это и есть отпечаток ключа (fingerprint) — хеш публичного ключа. Он используется для подтверждения подлинности ключа.
#основы
@zen_of_python
Telegram
Zen of Python
Полный Дзен Пайтона в одном канале
Разместить рекламу: @tproger_sales_bot
Правила общения: https://tprg.ru/rules
Другие каналы: @tproger_channels
Сайт: https://tprg.ru/site
Регистрация в перечне РКН: https://tprg.ru/xZOL
Разместить рекламу: @tproger_sales_bot
Правила общения: https://tprg.ru/rules
Другие каналы: @tproger_channels
Сайт: https://tprg.ru/site
Регистрация в перечне РКН: https://tprg.ru/xZOL
👍8❤1🫡1
Forwarded from Типичный программист
Лаконичная шпора из 12 базовых команд GIT на русском 🙂
Кратко, по делу, без лишнего — самые нужные команды для повседневной работы с репозиторием.
А если нужна более расширенная подборка — загляните в наш прошлый чит-лист. Возможно даже откроете для себя что-то новое
Кратко, по делу, без лишнего — самые нужные команды для повседневной работы с репозиторием.
А если нужна более расширенная подборка — загляните в наш прошлый чит-лист. Возможно даже откроете для себя что-то новое
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3🌭1
Forwarded from Код найма
Хватит искать работу в одиночку!
Ты крутой айтишник, но поиск работы превращается в квест: бесконечные резюме, где важны не навыки, а кейворды, десятки собеседований и постоянный стресс. Знакомо? Всё это выматывает и демотивирует. Мы тебя понимаем — и готовы поддержать!
Команда Tproger открывает первое реалити-шоу в Телеграм о поиске работы — «Код найма».
Вместе с опытными менторами ты пройдешь все этапы найма:
➡️ Прокачаешь резюме так, чтобы его заметили
➡️ Научишься проходить собеседования без волнения
➡️ Получишь честную обратную связь от рекрутеров
➡️ И, главное, дойдёшь до оффера в компании мечты!
Весь путь будет проходить на глазах у подписчиков канала — они тоже смогут давать советы и поддерживать тебя.
Хочешь стать героем нашего реалити и получить шанс найти работу мечты?
✍️ Заполняй анкету
Мы выберем трёх участников, которым поможем пройти весь путь до оффера.
Присоединяйся к «Коду найма» — и пусть твой следующий оффер станет началом новой жизни!
Ты крутой айтишник, но поиск работы превращается в квест: бесконечные резюме, где важны не навыки, а кейворды, десятки собеседований и постоянный стресс. Знакомо? Всё это выматывает и демотивирует. Мы тебя понимаем — и готовы поддержать!
Команда Tproger открывает первое реалити-шоу в Телеграм о поиске работы — «Код найма».
Вместе с опытными менторами ты пройдешь все этапы найма:
Весь путь будет проходить на глазах у подписчиков канала — они тоже смогут давать советы и поддерживать тебя.
Хочешь стать героем нашего реалити и получить шанс найти работу мечты?
✍️ Заполняй анкету
Мы выберем трёх участников, которым поможем пройти весь путь до оффера.
Присоединяйся к «Коду найма» — и пусть твой следующий оффер станет началом новой жизни!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3🎃1
Опрос про роль ИИ в вашей работе
Редакция Tproger проводит регулярное исследование об отношении айтишников к Искусственному интеллекту. Это небольшая анкета займет не более 5 минут, но очень поможет прояснить отношение разных групп к AI. Результатами обязательно поделимся.
#опрос
@zen_of_python
Редакция Tproger проводит регулярное исследование об отношении айтишников к Искусственному интеллекту. Это небольшая анкета займет не более 5 минут, но очень поможет прояснить отношение разных групп к AI. Результатами обязательно поделимся.
#опрос
@zen_of_python
❤7🔥5❤🔥3👎1
This media is not supported in your browser
VIEW IN TELEGRAM
whatsonpypi | Ускоряем обновление зависимостей
Если при обновлении библиотек проекта вам неохота каждый раз посещать pypi.org, с помощью этой утилиты вы сможете вывести данные о крайней версии и совместимости с Python прямо в командную строку.
Репозиторий проекта
#инструмент
@zen_of_python
Если при обновлении библиотек проекта вам неохота каждый раз посещать pypi.org, с помощью этой утилиты вы сможете вывести данные о крайней версии и совместимости с Python прямо в командную строку.
Репозиторий проекта
#инструмент
@zen_of_python
✍1🌭1
Новый инструмент для отладки асинхронных процессов
С выходом Python 3.14 beta 2 появился новый CLI-инструмент для инспекции асинхронных задач:
Команда выводит табличный список активных корутин с их именами, стеком и зависимостями.
Сферы применения
— Telegram-боты;
— aiohttp и другие HTTP-серверах;
— await‑запросы к БД.
Теперь нет нужды вставлять логи или использовать профайлеры — диагностика идет вживую и позволит увидеть:
— какие запросы обрабатываются дольше всего;
— какие «вешают» бота;
— какие запросы ожидают своей очереди.
Документация
#факт
@zen_of_python
С выходом Python 3.14 beta 2 появился новый CLI-инструмент для инспекции асинхронных задач:
python -m asyncio ps 12345 # Табличный список задач для процесса с PID 12345
python -m asyncio pstree 12345 # Древовидное отображение взаимозависимых корутин
Команда выводит табличный список активных корутин с их именами, стеком и зависимостями.
Сферы применения
— Telegram-боты;
— aiohttp и другие HTTP-серверах;
— await‑запросы к БД.
Теперь нет нужды вставлять логи или использовать профайлеры — диагностика идет вживую и позволит увидеть:
— какие запросы обрабатываются дольше всего;
— какие «вешают» бота;
— какие запросы ожидают своей очереди.
Документация
#факт
@zen_of_python
Python.org
Python Release Python 3.14.0b2
The official home of the Python Programming Language
❤8🔥5