@storage_qi · Post #1244 · 15.02.2026 г., 12:50
#GitLab#CI#CD#SchemaMigration#BackwardCompatibility#MultiVersionSupport#ZeroDowntimeMigration#RollingUpgrade https://about.gitlab.com/blog/continuously-deploying-the-largest-gitlab-instance
TGINSIGHT SIMILAR POSTS
Изворен канал @pythonotes · Post #45 · 2 мар.
В фреймворке PyQt (и PySide тоже) часто встречается настройка чего-либо с помощью так называемых флагов. widget.setWindowFlags(Qt.Window) Взаимодействие нескольких флагов делается с помощью бинарных (или побитовых) операторов. Несколько флагов можно указать с помощью оператора "|" list_item.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled) исключить флаг из уже имеющегося набора можно так list_item.setFlags(list_item.flags() ^ Qt.ItemIsEnabled) Добавить новый флаг к имеющимся можно так list_item.setFlags(list_item.flags() | Qt.ItemIsEnabled) А проверка наличия делается так is_enabled = item.flags() & Qt.ItemIsEnabled > 0 Почему именно так? Всё дело в том как именно работают побитовые операторы. Но об этом в следующем посте. #qt
Hashtags
Пребарај: #backwardcompatibility
@storage_qi · Post #1244 · 15.02.2026 г., 12:50
#GitLab#CI#CD#SchemaMigration#BackwardCompatibility#MultiVersionSupport#ZeroDowntimeMigration#RollingUpgrade https://about.gitlab.com/blog/continuously-deploying-the-largest-gitlab-instance