Рубрика «open source» - 97

До После
import math
import os.path

import requests

# 100500 other imports

print(math.pi)
print(os.path.join('my', 'path'))
print(requests.get)
import smart_imports

smart_imports.all()

print(math.pi)
print(os_path.join('my', 'path'))
print(requests.get)

Так получилось, что аж с 2012 года я разрабатываю open source браузерку, являясь единственным программистом. На Python само собой. Браузерка — штука не самая простая, сейчас в основной части проекта больше 1000 модулей и более 120 000 строк кода на Python. В сумме же с проектами-спутниками будет раза в полтора больше.

В какой-то момент мне надоело возиться с этажами импортов в начале каждого файла и я решил разобраться с этой проблемой раз и навсегда. Так родилась библиотека smart_imports (github, pypi).

Идея достаточно проста. Любой сложный проект со временем формирует собственное соглашение об именовании всего. Если это соглашение превратить в более формальные правила, то любую сущность можно будет импортировать автоматически по имени ассоциированной с ней переменной.

Например, не надо будет писать import math чтобы обратиться к math.pi — мы и так можем понять, что в данном случае math — модуль стандартной библиотеки.

Smart imports поддерживают Python >= 3.5 Библиотека полностью покрыта тестами, coverage > 95%. Сам пользуюсь уже год.

За подробностями приглашаю под кат.
Читать полностью »

Есть интересная проблема, помочь решить которую можете только вы. Вкратце: в августе на TechTrain приезжает Ричард Столлман, и он не любит жить в гостиницах. У вас появляется уникальная возможность приютить у себя дома на пару дней отца всего Free Software, и под катом мы расскажем — как.

Небольшая историческая справка. Доктор Ричард Мэттью Столлман создал движение свободного ПО в 1983 году и начал разработку операционной системы GNU в 1984. GNU действительно свободна: любой имеет право копировать и распространять её, внося изменения, если пожелает. Система GNU/Linux — в основном, операционная система GNU с ядром Linux Линуса Торвальдса — сейчас используется на десятках миллионов компьютеров, их количество сложно точно подсчитать. Столлман получил множество престижных премий: ACM Grace Hopper Award, ACM Software and Systems Award, EFF Pioneer Award, MacArthur Foundation Fellowship и так далее и тому подобное. Ну и конечно, Internet Hall of Fame.

Кажется невероятным, что такой человек не хочет жить в отличной гостинице (которую мы ему, конечно, предложили). Тут есть и чисто человеческие аспекты, и рациональное зерно.

В Россию приезжает отец Free Software, Ричард Столлман. Ищем того, кто готов на пару дней его приютить - 1

Читать полностью »

Создаем инфраструктуру как код с GitLab и Ansible - 1

Вся мощь GitLab CI в демонстрации плейбуков Ansible при подходе «инфраструктура как код».

GitLab CI — это эффективный инструмент для самых разных сценариев, включая инфраструктуру как код. GitLab можно использовать с разными инструментами, но в этой демонстрации мы возьмем Ansible, потому что именно его чаще всего используют разработчики при подходе «инфраструктура как код». Вот демо с двумя маршрутизаторами из курса по сетям Ansible.

Читать полностью »

Месяц назад Apple присоедились к Cloud Native Computing Foundation. Разбираемся, что это значит.

Почему одна из крупнейших ИТ-компаний присоединилась к CNCF — фонду, развивающему облачную инфраструктуру - 1Читать полностью »

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

В конечном итоге, как мне показалось, нет лучше способа разобраться, чем просто взять и создать свой маленький проект.
Читать полностью »

Портирование Qt на STM32 - 1Добрый день! Мы в проекте Embox запустили Qt на STM32F7-Discovery и хотели бы об этом рассказать. Ранее, мы уже рассказывали как нам удалось запустить OpenCV.

Qt — это кроссплатформенный фреймворк, который включает в себя не только графические компоненты, но и такие вещи как QtNetwork, набор классов для работы с базами данных, Qt for Automation (в том числе, для реализации IoT) и многое другое. Разработчики команды Qt заранее предусмотрели использование Qt во встроенных системах, поэтому библиотеки довольно хорошо конфигурируются. Однако до недавних пор, мало кто задумывался о портировании Qt на микроконтроллеры, вероятно потому, что такая задача выглядит сложной — Qt большое, MCU маленькие.
Читать полностью »

Я постоянно делаю коммиты в проекты open source (Red Hat и др.). И заметил, что больше всего времени отнимают негативные код-ревью, субъективные по сути. Чаще всего такое происходит с коммитами, где мейнтейнеру по какой-то причине не нравится ваше изменение. В лучшем случае такая стратегия код-ревью приводит к потере времени в бессмысленных спорах; в худшем случае он активно препятствует коммиту, создавая враждебную и элитарную среду.

Код-ревью должен быть объективным, кратким и, по возможности, содержать только определённые факты. Это не политический или эмоциональный спор, а технический. Его цель — продвижение вперёд, развитие проекта и всех участников. Любой коммит должен оцениваться только по существу, а не по субъективному мнению.
Читать полностью »

Picture 1

На днях Google опубликовал исходники парсера robots.txt. Почему бы не прогнать уже проверенный всеми вдоль и поперек проект через PVS-Studio и, возможно, найти ошибку. Сказано — сделано. Жаль, что ничего значимого найти не удалось. Ну что ж, тогда пусть это будет просто повод похвалить разработчиков Google.

robots.txt – индексный файл, который содержит правила для поисковых роботов. Он действует для протоколов https, http и FTP. Google сделала доступным для всех свой парсер файла robots.txt. Подробнее об этой новости можно почитать здесь: Google открывает исходный код парсера robots.txt
Читать полностью »

Picture 1

The other day Google revealed the sources of the robots.txt parser. Why not give a run for the already far and wide checked project using PVS-Studio and possibly find a bug. So said so done. But I wish we could find something meaningful. Well, then let it be just a reason to give full marks for Google developers.

robots.txt — is an index file that contains rules for search robots. It works for https, http and FTP protocols. Google made the parser of the robots.txt file available for everyone. Read more about this news here: Google opens the source code of the robots.txt parser
Читать полностью »

Open Invention Network (OIN) — это организация, владеющая патентами на ПО, связанное с GNU/Linux. Цель организации — защита Linux и связанного с ним программного обеспечения от патентных исков. Члены сообщества передают свои патенты в общий пул, тем самым разрешая другим участникам их использовать на основе royalty-free лицензии.

В Open Invention Network больше трех тысяч лицензиатов — что это значит для открытого ПО - 1Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js