Я подписан на рассылку вакансий по python от Хабр-карьера. Каждый день мне приходит несколько писем от них с рекомендациями по нескольким критериям. На днях я обратил внимание, что письма сверстаны очень удобным образом и их можно обработать скриптом, выудив информацию о наиболее часто указываемых навыках.

Вот что у меня получилось:

Всего просмотрено 681 вакансий в 278 письмах
----------------------------------------
Python - 679
Django - 466
PostgreSQL - 457
Docker - 328
Git - 221
Flask - 165
Linux - 158
Redis - 111
SQL - 109

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

Кмк, если сосредоточится на этом перечне скиллов, можно в принципе претендовать на большинство питонячьих вакансий.

Люди, как же я ору!

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

Тут есть некая онлайн-школа для опенсорс контрибьютеров.

mastodon.ml/@opennet/106702830

Я решил попробовать записаться. Зарегистрировался, выбрал кейс по знакомому стеку, связанному с питоном и бэком - по какой-то библиотеке DeepPavlov. В описании указано:
Желательные знания/опыт: Git/GitHub, Linux, Python, Backend разработка.

Пошел проходить тест. Он просто шедевральный.

1. Как точечно перенести определенный коммит к себе в рабочую ветку?

Здесь просто тест надо ответить - очень просто. Сложность - 1/10

2. Дана последовательность из N целых положительных чисел. Необходимо определить количество чисел в данной последовательности, сумма цифр которых кратна целому числу D.

Здесь надо написать программку, которая читает стандартный ввод... Только он у них в тестах сломан и я так и не раскусил, как именно мне его надо прочитать три входящих строки данных - то ли три раза вызывать чтение стандартного ввода, то ли считать, что передается одним куском три строки данных. В любом случае, мне никак не удалось заставить тест здесь сработать. Сложность 2/10, но тест сломан

3. Дана реализация одного и того же алгоритма. Алгоритм был выполнен для всех значений N из диапазона [1000,1500]. Для скольких значений в результате его выполнения было выведено слово “Yes”?

Совсем просто - набиваешь код, запускаешь по указанному диапазону и вписываешь ответ. Сложность 1/10

4. Реализуйте класс CaseSwitcher, конструктор которого имеет один аргумент - mode. Объект класса CaseSwitcher при вызове получает на вход один аргумент строкового типа payload и возвращает изменённый payload в зависимости от значения mode:
upper - переводит все символы payload в верхний регистр,
lower - переводит все символы payload в нижний регистр,
swap - изменяет регистр каждого символа payload на противоположный (например, SwAp -> sWaP).

Класс пишиеся за 3 минуты. Сложность 2/10.

5. Напишите функцию foo, которая принимает произвольное число аргументов строкового типа и выводит их в стандартный поток вывода через пробел.

Это вообще однострочник. Сложность 1/10

6. Напишите функцию palindrome, которая получает на вход строку и возвращает True, если строка является палиндромом и False, если не является.

Функция на три строки, одна из которых сигнатура функции. Сложность 1/10

7. Напишите web-сервер удовлетворяющий следующим требованиям:
Сервис должен принимать на вход текстовую строку и передавать её для обработки в модель tfidf_logreg_en_faq библиотеки DeepPavlov.
Сервис должен возвращать первый элемент первого списка из ответа модели ответа модели (“If you have any further inquiries…” из примера ниже).
Сервис должен быть разработан самостоятельно с помощью Flask/FastAPI или любого другого фреймворка (т.е. использование DeepPavlov REST API запрещается)

И ВОТ ТУТ МЕНЯ ПОРВАЛО! Товарищи составители теста, а не пойти ли вам нахуй с такими заданиями? На весь тест дается 2 часа. Что такое DeepPavlov я в душе не ебу. Фласком конечно пользовался, но вот так с наскока запилить сервис за 10 мин у меня явно не получится. Текст задания я так и не понял до конца (там еще примеры ввода/вывода были и вот там меня понимание происходящего покинуло окончательно).

Сложность... Да хер его знает. 15/10... 100/10... 1 000 000 000/10...

8. Пожалуйста, напишите мотивационное эссе. Оно является частью входного тестирования и учитывается при отборе кандидата.
Рекомендуем в эссе осветить следующие моменты:
1) Причина участия в программе онлайн школы COMMoN конференции SOSCON Russia 2021
2) Причина выбора именно этого трека, Ваш релевантный опыт по тематике трека.
3) Ваш опыт в open source разработке и планы по развитию компетенций в данном направлении.
4) Ссылки на описания Ваших проектов и репозитории, если такие имеются.

Ойвсе! Идите нахуй. Заебали

открыл для себя перегрузку в через декоратор dispatch модуля multipledispatche

>>> @dispatch(int)
... def f(x):
... return x + 1

>>> @dispatch(float)
... def f(x):
... return x - 1

>>> f(3)
4
>>> f(3.0)
2.0

Если тут есть люди, шарящие за сабж, прошу откликнуться в комментарии - нужна помощь по генерации документации

Харрисон М - Как устроен Python

Вы думаете, что книга о разных особенностях реализации интерпретатора и лексического анализатора языка python?

Хрен вам. Очередное не нужно из серии "python с нуля за 21 час"


Дожили блин. Для билда питонолиб понадобился хрустовый компилятор

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

СЯУ, что это конструкция с оператором `with`

НИ ДНЯ БЕЗ ОТКРЫТИЙ!

Ну и еще не без мудаков, да...

Ну вот switch/select/match-case и в
завезли

opennet.ru/54563/

Вот как хотите теперь, так с этим и живите

По тестовому заданию надо генерировать случайные названия. Накостылял тут генератор...

Варианты:

Орп
Люпи
Увмёпи
Сятяярок
Ызсозё
Югюфа
Забыфама
Ёхир
Егязюыл
Ибр

Кмк, поделие удалось!

@russian_mastodon @rf

Пытаюсь вкатиться в юнит-тестирование в качестве рабочего компонента своей практики. Нахожу кучу гайдов, как написать юнит-тест, но нигде не пишут, что именно нужно тестировать.

Ну то есть реально. Вот есть у нас набор классов и их методов. Что конкретно нужно покрыть тестами? Только то, что подразумевает пользовательский ввод данных? Или вообще все мыслимые ситуации? Тогда код тестов может легко раз в 10 превысить основной код программы. И в чем тогда смысл существования тестеров, как отдельной функции на проекте?

Мне пока хотя бы общие моменты какие-то, без тонкостей и специфики разных ситуаций.

PS: да, @hardworm , у меня есть та книга, которую мне скидывал, но я пока не готов ее осилить - я даже основ не понял еще.

Чет фигня у меня с тестовыми заданиями получается. Надо похоже тормознуться с поиском работы (тем более, что прямо завтра меня все равно никто не выгоняет) и немного углубиться в практику веб-проектов на хотя бы на пару недель. За это время набросать какой-то демо-проект, который можно будет показывать в резюме.

Кстати, подкиньте идей, что именно реализовать в таком проекте? Лично мне кажется, что большинство проектов в коммерческом секторе - это магазины разного размера. Хотя мне самому было бы интересно реализовать на джанге что-то типа форума.

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

Искали возможности работы с виндовыми окнами через скриптование. Нашли некоторое Winium от 2gis. Вроде бы то, что надо - веб-драйвер для Selenium, только для видновых окон на WinForms и WPF.

Залез в репозиторий - последняя правка от октября 2016 года. В форках накопал с правками от октября текущего года. Качаю исходники на шарпах, компилю - вываливает кучу ошибок с невозможностью неявного приведения типов.

Ну вот как так? Ведь это же как-то собирали?!!! Или я опять чего-то не понимаю, и тут явно надо какие-то настройки переключать в этой вашей студии?

PS: в шарпах не силен, студию не знаю вообще. Так что так.

Я тут недавно прочел на хабре статью про систему организации личных знаний под названием .

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

Так вот. Zettelkasten. Система совершенно не линейна и построена на системе перекрестных ссылок. Основным постулатом является видение заметок в независимом от платформы виде. То есть заметки надо вести так, чтобы не имело значение, в чем их читать и писать

Я решил организовать для себя такое хранилище. В качестве основы я решил взять markdown разметку. Писать заметки буду в отдельные файлы. Файлов будет много. Очень. Что бы в них не запутаться, решил написать для себя небольшую программку для индексации и редактирования этих файликов.

Для того, что бы оно было кроссплатформенным, решил писать . Долго выбирал gui-библиотеку, перепробовал много всего. В итоге остановился на стоковом .

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

И и беспросветно стухли. Их актуальные версии соответствуют 2.7.2, которые в этом году заканчивает поддержку основной реализации питона.

Это все, что нужно знать об реализациях питона на альтернативных бекэндах.

@rf

Свежо, ново, неординарно. Главное, что материалов по вопросу днем с огнем не сыскать!

PS: А еще у публикации репа +26. Кто это накидывает?

Mastodon

lor.sh is yet another mastodon instance.