Forwarded from Типичный программист
Как искать работу в IT в 2025, не вызывая подозрений у санитаров
В отборе в IT страсти кипят не меньше, чем в хайлоаде. Вместе с Proglib мы провели исследование и спросили сотни айтишников: что реально выводит из себя в найме?
Собрали всё в удобный чек-лист:
– HR узнают, как не отпугивать сильных кандидатов.
– Айтишники поймут, где сразу маячат ред флаги и можно не терять время.
Надеемся, материал хоть и немного, но изменит процессы найма к лучшему. Поэтому сохраняйте, делитесь и прожимайте ❤️
В отборе в IT страсти кипят не меньше, чем в хайлоаде. Вместе с Proglib мы провели исследование и спросили сотни айтишников: что реально выводит из себя в найме?
Собрали всё в удобный чек-лист:
– HR узнают, как не отпугивать сильных кандидатов.
– Айтишники поймут, где сразу маячат ред флаги и можно не терять время.
Надеемся, материал хоть и немного, но изменит процессы найма к лучшему. Поэтому сохраняйте, делитесь и прожимайте ❤️
PySnooper | Дебаггинг по-человечески
Опять кто-то пытается отучить нас использовать print() во время дебага... Автор тула предлагает использовать:
— декораторы @pysnooper.snoop();
— блоки with pysnooper.snoop();
Чтобы в итоге получить такую отладочную информацию, как на приложенном скриншоте. Вот что происходит на нем слева:
— вызывается функция
— в строках кода функции (справа) видно, что она предназначена для перевода числа в двоичный формат, сохраняя биты в списке
— PySnooper пошагово логирует каждую выполненную строку (слева), время выполнения, а также все изменяющиеся переменные;
— переменная
— каждый раз происходит деление с остатком (
— В итоге возвращается список битов
Репозиторий проекта
#инструмент
@zen_of_python
Опять кто-то пытается отучить нас использовать print() во время дебага... Автор тула предлагает использовать:
— декораторы @pysnooper.snoop();
— блоки with pysnooper.snoop();
Чтобы в итоге получить такую отладочную информацию, как на приложенном скриншоте. Вот что происходит на нем слева:
— вызывается функция
number_to_bits
с аргументом number = 6
;— в строках кода функции (справа) видно, что она предназначена для перевода числа в двоичный формат, сохраняя биты в списке
bits
;— PySnooper пошагово логирует каждую выполненную строку (слева), время выполнения, а также все изменяющиеся переменные;
— переменная
number
последовательно изменяется от 6 до 3, потом до 1, затем до 0 — каждый раз происходит деление с остатком (
divmod(number, 2)
), а остаток (remainder
) вставляется в начало списка bits
;— В итоге возвращается список битов
[1, 1, 0]
, что соответствует двоичному представлению числа 6.Репозиторий проекта
#инструмент
@zen_of_python
shebang
: что это и как запускать скрипты в CLI без слова python?При работе с Unix-подобными системами (Linux, macOS), часто используется специальная строка, которая называется 'shebang' (шибэнг). Это первая строка в скрипте, которая начинается с символов
#!
, за которыми идёт путь к интерпретатору, который должен выполнить этот скрипт:
#!/usr/bin/env python3
print("Hello world")
Это равносильно: «Для запуска этого файла используй интерпретатор python3, который находится в вашем PATH».
Перед запуском сделаем файл исполняемым (или сразу всю директорию):
chmod +x myscript.py
chmod +x misc/*.py
Теперь скрипт можно запустить так:
./myscript.py
Как правильно писать shebang для Python?
Существует несколько распространённых вариантов записи shebang для Python:
1. Абсолютный путь
#!/usr/bin/python3
Однако, путь может отличаться на разных машинах, поэтому второй способ универсальнее.
2. Использование `/usr/bin/env`:
#!/usr/bin/env python3
Команда
env
ищет в текущем окружении пользователя нужный интерпретатор по имени python3
и запускает его. Это значит, что не важно, где установлен Python, скрипт всё равно будет работать, если python3
доступен в PATH.Что произойдет без shebang?
Если запустить скрипт без shebang напрямую (
./myscript.py
), система не поймет, каким интерпретатором его запускать, и выдаст ошибку. p.s. На Windows shebang не используется системой напрямую, но некоторые инструменты (например, Git Bash, WSL, или IDE) могут её «наследовать».
#основы
@zen_of_python