Основы метаклассов в Python: Простое понимание с примерами
Python, с его изящным и лаконичным синтаксисом, славится своей гибкостью и способностью приспосабливаться к различным задачам программирования. Одним из ключевых элементов его синтаксиса является объектно-ориентированное программирование (ООП), позволяющее структурировать код, делая его более модульным и легко поддерживаемым. В этой статье я постараюсь максимально просто объяснить, что такое метаклассы, и где они используются.
Основы метаклассов в Python: Простое понимание с примерами
Python, с его изящным и лаконичным синтаксисом, славится своей гибкостью и способностью приспосабливаться к различным задачам программирования. Одним из ключевых элементов его синтаксиса является объектно-ориентированное программирование (ООП), позволяющее структурировать код, делая его более модульным и легко поддерживаемым. В этой статье я постараюсь максимально просто объяснить, что такое метаклассы, и где они используются.
Германия снова делает попытку перехода с Windows и MS Office на Linux и LibreOffice. Почему не получилось в прошлый раз?
На днях стало известно о том, что в Германии реализуется проект, цель которого — перевести многие тысячи компьютеров в госучреждениях на открытое ПО. В частности, вместо Windows от Microsoft власти собираются установить один из дистрибутивов Linux, а Microsoft Office заменят на LibreOffice. Инициатива в целом неплохая. Но это уже не первая попытка немцев перейти на открытое ПО. И предыдущие заканчивались не очень хорошо. Подробности — под катом.
Германия снова делает попытку перехода с Windows и MS Office на Linux и LibreOffice. Почему не получилось в прошлый раз?
На днях стало известно о том, что в Германии реализуется проект, цель которого — перевести многие тысячи компьютеров в госучреждениях на открытое ПО. В частности, вместо Windows от Microsoft власти собираются установить один из дистрибутивов Linux, а Microsoft Office заменят на LibreOffice. Инициатива в целом неплохая. Но это уже не первая попытка немцев перейти на открытое ПО....
Хостинг-провайдеров России обязали подключиться к СОРМ до июня 2024 года
СОРМ-2 — это система мониторинга и записи всего интернет‑трафика в Росии. Провайдеры обязаны за свой счёт устанавливать специальное оборудование, которое ведёт логи всего проходящего через них трафика для потенциальных нужд органов и спецслужб. По приказу Минцифры, применяемые с 1 марта 2024 системы должны обеспечивать непрерывный сбор и накопление информации о соединениях, сеансах телефонной связи, фактах входа и выхода в личном кабинете абонентов, входящих и исходящих SMS и USSD, как доставленных, так и не доставленных абоненту.
Хостинг-провайдеров России обязали подключиться к СОРМ до июня 2024 года
СОРМ-2 — это система мониторинга и записи всего интернет‑трафика в Росии. Провайдеры обязаны за свой счёт устанавливать специальное оборудование, которое ведёт логи всего проходящего через них трафика для потенциальных нужд органов и спецслужб. По приказу Минцифры, применяемые с 1 марта 2024 системы должны обеспечивать непрерывный сбор и накопление информации о соединениях, сеансах телефонной связи, фактах входа и выхода в личном...
С сегодняшнего дня, 1 марта, Роскомнадзор может вносить в реестр запрещённых ресурсов страницы с информацией о способах, методах обеспечения доступа к ресурсам и (или) информационно-телекоммуникационным сетям, доступ к которым ограничен на территории РФ — проще говоря, банить сайты за информацию о VPN, Tor и прочих прокси: как их настраивать или какими сервисами пользоваться.
С сегодняшнего дня, 1 марта, Роскомнадзор может вносить в реестр запрещённых ресурсов страницы с информацией о способах, методах обеспечения доступа к ресурсам и (или) информационно-телекоммуникационным сетям, доступ к которым ограничен на территории РФ — проще говоря, банить сайты за информацию о VPN, Tor и прочих прокси: как их настраивать или какими сервисами пользоваться.
Три легенды из нулевых: оживляем, прошиваем, патчим и смотрим на культовые телефоны Siemens из начала двухтысячных
Друзья! А вы помните такие мобильные телефоны, как Siemens? Когда-то у всемирно известного консорциума, занимающегося выпуском различного силового оборудования и поездов, было собственное мобильное подразделение, которое успешно конкурировало в конце 90х и начале 2000х годов. Многие мои читатели «постарше» наверняка вспомнят, а то и сами владели такими легендарными моделями, как Siemens SL45, ME45, C55, C65, S65, S75! Но немногие знают, что в своё время эти девайсы были сродни современным Android-смартфонам с разблокированным загрузчиком: энтузиасты быстро смогли разобраться в алгоритме генерации ключей для загрузчика и начать делать патчи, которые фактически превращали «тормозной» телефон в почти настоящий смартфон с полноценной многозадачностью! Недавно мне подарили целых три телефона Siemens, которые носят статус культовых: Siemens C65, Siemens C75 и Siemens S75! Два девайса из трёх были в замечательном состоянии, но имели некоторые проблемы в аппаратной части. В сегодняшнем ностальгическом материале, мы с вами: вспомним о том, какие телефоны делали Siemens в своё время и на каких аппаратных платформах они работали, продиагностируем, проведем аппаратный ремонт и составим список самых частых болячек устройств на платформе S-Gold, рассчитаем ключи для загрузчика, пропатчим, накатим эльфпак и посмотрим, какой же была моддинг-сцена телефонов в нулевых! Интересно? Тогда жду вас под катом!
Три легенды из нулевых: оживляем, прошиваем, патчим и смотрим на культовые телефоны Siemens из начала двухтысячных
Друзья! А вы помните такие мобильные телефоны, как Siemens? Когда-то у всемирно известного консорциума, занимающегося выпуском различного силового оборудования и поездов, было собственное мобильное подразделение, которое успешно конкурировало в конце 90х и начале 2000х годов. Многие мои читатели «постарше» наверняка вспомнят, а то и сами владели такими легендарными моделями, как Siemens...
Лаборатория по восстановлению старых компьютеров PCOfficina, фото из презентации волонтёрской организации Детские дома, сельские школы и другие учреждения образования и социальной защиты не всегда могут позволить себе купить современную технику. В то же время ПК довольно старой конфигурации отлично тянут десктопный Linux, так что дети могут осваивать свободную ОС и учиться программировать. По серии статей «Выдающиеся программисты 21 века» можно убедиться: 90% героев рубрики начинали компьютерную жизнь в Линуксе и до сих пор работают в нём, потому что для разработчика нет ничего удобнее.
Лаборатория по восстановлению старых компьютеров PCOfficina, фото из презентации волонтёрской организации Детские дома, сельские школы и другие учреждения образования и социальной защиты не всегда могут позволить себе купить современную технику. В то же время ПК довольно старой конфигурации отлично тянут десктопный Linux, так что дети могут осваивать свободную ОС и учиться программировать. По серии статей «Выдающиеся программисты 21 века» можно убедиться:...
12 лет спустя: Damn Small Linux снова в строю. По-прежнему быстрый, но изрядно «располневший»
Проект Damn Small Linux достаточно странный. Он не обновляется по многу лет, все считают, что он умер, а потом его авторы снова начинают работу над дистрибутивом. Так произошло в далёком уже 2012 году, когда апдейтов не было около 4 лет. После всё снова затихло, уже на 12 лет. И вот сейчас дистрибутив возродился и готов служить Linux-комьюнити. Подробности — под катом.
12 лет спустя: Damn Small Linux снова в строю. По-прежнему быстрый, но изрядно «располневший»
Проект Damn Small Linux достаточно странный. Он не обновляется по многу лет, все считают, что он умер, а потом его авторы снова начинают работу над дистрибутивом. Так произошло в далёком уже 2012 году, когда апдейтов не было около 4 лет. После всё снова затихло, уже на 12 лет. И вот сейчас дистрибутив возродился и готов служить Linux-комьюнити. Подробности — под катом.
Меня зовут Куприёв Андрей, я Flutter‑разработчик в команде Центра развития финансовых технологий (ЦРФТ) Россельхозбанка. В этой статье мы рассмотрим, как реализовать поддержку протокола ГОСТ TLS в приложениях, разработанных на Flutter. Flutter, с его привлекательным кроссплатформенным дизайном, завоевал сердца разработчиков мобильных приложений. Однако в областях, где конфиденциальность данных стоит превыше всего, безопасность приложений становится вопросом первостепенной важности. А определенные требования использования отечественных криптографических алгоритмов в области конфиденциальности и целостности делают эту задачу для Flutter‑разработчика весьма нетривиальной и увлекательной. Подробнее об этом и поговорим в статье.
Меня зовут Куприёв Андрей, я Flutter‑разработчик в команде Центра развития финансовых технологий (ЦРФТ) Россельхозбанка. В этой статье мы рассмотрим, как реализовать поддержку протокола ГОСТ TLS в приложениях, разработанных на Flutter. Flutter, с его привлекательным кроссплатформенным дизайном, завоевал сердца разработчиков мобильных приложений. Однако в областях, где конфиденциальность данных стоит превыше всего, безопасность приложений становится вопросом первостепенной важности....
Комбинаторный ядерный взрыв: что грозит системе инвентаризации уязвимостей CVE в 2024 году
Если вы занимаетесь программированием или, скажем, системным администрированием уже не первый год, то вы наверняка видели аббревиатуру "CVE" в статьях или новостях об информационной безопасности. База CVE ( Common Vulnerabilities and Exposures ) — это самая известная и популярная в мире база данных общеизвестных уязвимостей безопасности в ПО. Её поддержкой занимается некоммерческая организация Mitre (обычно её пишут как "MITRE", думая, что это аббревиатура). Номера CVE имеют вид "CVE-2024-1234", где первое число — текущий год, второе — порядковый номер уязвимости. Например, CVE-2024-0225 — довольно серьёзная дырка в браузере Chrome. Когда я только начинал работать в индустрии в 2006 году, второе число всегда имело четыре знака (номера с недостаточным числом цифр дополнялись слева нулями). Примерно с 2016 года к декабрю регулярно начали появляться дыры с пятизначными номерами. Прошлый год завершился на номере 52431, а в этом году уже имеем уязвимость с номером 25977, хотя всего лишь середина февраля. Последние времена настают!
Комбинаторный ядерный взрыв: что грозит системе инвентаризации уязвимостей CVE в 2024 году
Если вы занимаетесь программированием или, скажем, системным администрированием уже не первый год, то вы наверняка видели аббревиатуру "CVE" в статьях или новостях об информационной безопасности. База CVE ( Common Vulnerabilities and Exposures ) — это самая известная и популярная в мире база данных общеизвестных уязвимостей безопасности в ПО. Её поддержкой занимается некоммерческая организация Mitre (обычно...
Поломалось — ремонтируй и давай гарантию: в ЕС расширили положения «права на ремонт». Что изменилось?
В ЕС концепция «права на ремонт» развивается весьма активно — другие регионы несколько отстают. Сейчас законодатели добились того, чтобы вендор, который отремонтировал свой девайс, давал расширенную гарантию ещё на год. При этом у самого покупателя будет выбор — восстановление или замена дефектного товара. Подробности — под катом.
Поломалось — ремонтируй и давай гарантию: в ЕС расширили положения «права на ремонт». Что изменилось?
В ЕС концепция «права на ремонт» развивается весьма активно — другие регионы несколько отстают. Сейчас законодатели добились того, чтобы вендор, который отремонтировал свой девайс, давал расширенную гарантию ещё на год. При этом у самого покупателя будет выбор — восстановление или замена дефектного товара. Подробности — под катом.
[Перевод] 20 инструментов командной строки для мониторинга производительности Linux
Быть системным администратором, которому поручено ежедневно отслеживать и устранять проблемы с производительностью Linux-систем, – чрезвычайно ответственная задача. Она требует непоколебимой преданности делу, глубокого понимания систем Linux и постоянного стремления к обеспечению оптимальной производительности и надежности. Я составили список из 20 наиболее часто используемых инструментов мониторинга командной строки. Эти комегда могут оказаться незаменимыми для любого системного администратора Linux/Unix, они могут помочь эффективно контролировать, диагностировать и поддерживать работоспособность и производительность ваших систем. Эти инструменты мониторинга доступны во всех версиях Linux и могут быть полезны для отслеживания и поиска реальных причин проблем с производительностью. Поехали! Читать дальше
[Перевод] 20 инструментов командной строки для мониторинга производительности Linux
Быть системным администратором, которому поручено ежедневно отслеживать и устранять проблемы с производительностью Linux-систем, – чрезвычайно ответственная задача. Она требует непоколебимой преданности делу, глубокого понимания систем Linux и постоянного стремления к обеспечению оптимальной производительности и надежности. Я составили список из 20 наиболее часто используемых инструментов мониторинга командной строки....
Внимание! С татья несёт исключительно информативный характер. Подобные действия преследуются по закону! Привет! Сегодня хотелось бы рассмотреть стандартный, но необычный способ закрепления в системе через RDP, используя utilman.exe. Представим следующую ситуацию: нам удалось получить reverse shell от целевого хоста. Безусловно, нам необходим backdoor для обеспечения постоянного доступа. В процессе сканирования мы узнаем об открытом 3389 порте. И как нам быть?
Внимание! С татья несёт исключительно информативный характер. Подобные действия преследуются по закону! Привет! Сегодня хотелось бы рассмотреть стандартный, но необычный способ закрепления в системе через RDP, используя utilman.exe. Представим следующую ситуацию: нам удалось получить reverse shell от целевого хоста. Безусловно, нам необходим backdoor для обеспечения постоянного доступа. В процессе сканирования мы узнаем об открытом 3389 порте. И как нам быть?
Это один из лучших подходов к изучению английского, что я видел за последние годы — коллокации
Значение слова – это его использование в языке Людвиг Витгенштейн ( сурс ) Что это вообще за магия такая? Коллокация – это просто пара или группа слов, которые часто возникают вместе. Такие комбинации звучат естественно для носителей языка, однако, тем, у кого язык не родной, бывает сложно догадаться до этой естественной комбинации. А что если я скажу, что они улучшают сразу и вашу способность органично говорить, и канонично писать, и что совсем удивительно воспринимать английский от носителей языка на слух? И главный вопрос, который меня мучает – почему я узнал об этой технике изучения языка только полгода назад? (Рассказ об этой подготовке здесь .) Внимательно посмотрите на пример с картинки. Как только собеседник начал(а) произносить “pitch d…” ваш мозг, зная нужные коллокации, подскажет, что там должно быть “ dark ”. Даже если вы плохо расслышали эту часть. Это один из механизмов, через который коллокации позволяют лучше воспринимать язык на слух. Подробнее о том, как их учить и использовать и будет эта статья. Disclaimer: если у вас филологическое образование, то вам наверное будет смешно, что кто-то открыл для себя коллокации и их использование для изучения иностранного языка в 202N году, а вот если вы, как и я, когда-то читали “randomize” как “рандомизе”, то возможно эта статья будет вам полезной. Добро пожаловать под кат
Это один из лучших подходов к изучению английского, что я видел за последние годы — коллокации
Значение слова – это его использование в языке Людвиг Витгенштейн ( сурс ) Что это вообще за магия такая? Коллокация – это просто пара или группа слов, которые часто возникают вместе. Такие комбинации звучат естественно для носителей языка, однако, тем, у кого язык не родной, бывает сложно догадаться до этой естественной комбинации. А что если я скажу, что они улучшают сразу и вашу способность органично...
@habr не знал, что у этого название есть :) Я думал когда изучал английский, что фиг допрешь, что вот так они слова соединять привыкли. Надо посмотреть.
Совсем недавно мы призывали вернуться на родину всех, кто уехал от мобилизации, рассказывая о том, как родное государство печётся о работниках сферы ИТ. Однако нельзя забывать: по российским законам тотально военнообязанными являются мужчины , в то время как призвать могут только тех женщин, у которых есть военно-учетная специальность . Значит ли это, что целая половина населения и заметное число занятых в ИТ женщин останутся без отеческой заботы правительства? Нет, нет и ещё раз нет! Несмотря на мнения отдельных представителей власти о том, что рождение ребёнка — это билет в бедность, общий курс заботы правительства о женской части населения уже ясен: всем срочно и много рожать!
Совсем недавно мы призывали вернуться на родину всех, кто уехал от мобилизации, рассказывая о том, как родное государство печётся о работниках сферы ИТ. Однако нельзя забывать: по российским законам тотально военнообязанными являются мужчины , в то время как призвать могут только тех женщин, у которых есть военно-учетная специальность . Значит ли это, что целая половина населения и заметное число занятых в ИТ женщин останутся без отеческой заботы правительства? Нет, нет и ещё...
Как подключить Yandex GPT к своему проекту на Python
6 декабря Яндекс открыл доступ к своим диалоговым моделям (моделям генерации) и векторного представления текста через API. API уже доступно в Yandex Cloud. Вчера мне потребовалось применить его в приложении, однако, не удалось найти руководства, как сделать это быстро. Документация Яндекса хороша, но предполагает, что опыт работы с Yandex Cloud уже имеется. В отсутствие такого опыта документация выглядит фрагментированной. Предлагаю пошаговый гайд, который, надеюсь, сэкономит читателю, не знакомому с Yandex Cloud, часик-другой. Для того, чтобы использовать Yandex GPT в Вашем Python-проекте, нужно выполнить 4 шага:
Как подключить Yandex GPT к своему проекту на Python
6 декабря Яндекс открыл доступ к своим диалоговым моделям (моделям генерации) и векторного представления текста через API. API уже доступно в Yandex Cloud. Вчера мне потребовалось применить его в приложении, однако, не удалось найти руководства, как сделать это быстро. Документация Яндекса хороша, но предполагает, что опыт работы с Yandex Cloud уже имеется. В отсутствие такого опыта документация выглядит фрагментированной. Предлагаю пошаговый гайд,...
Сетевой стек Linux не прост даже на первый взгляд: приложение — в юзерспейсе, а всё, что после сокета, — в ядре операционки. И там тысяча реализаций TCP. Любое взаимодействие с сетью — системный вызов с переключением контекста в ядре. Чтобы лишний раз не дёргать ядро прерываниями, придумали DMA — Direct Memory Access. И это дало жизнь классу софта с режимом работы kernel bypass: например при DPDK (Intel Data Plane Development Kit). Потом был BPF. А за ним — eBPF. Но даже помимо хаков работы с ядром есть такие штуки, как sk_buff, в которой хранятся метаданные всех миллионов протоколов. Есть NAPI (New API), которая призвана уменьшить число прерываний. Есть 100500 вариантов разных tables. И копать можно безгранично далеко. Но сегодня мы всё же поговорим о вещах более приземлённых и повседневных, которые лишь приоткрывают вход в эту разветвлённую сеть кроличьих нор. Мы разберём одну любопытную задачку, на примере которой ужаснёмся тому, как сложно может быть реализован такой простой протокол, как DHCP. Начать погружение
Сетевой стек Linux не прост даже на первый взгляд: приложение — в юзерспейсе, а всё, что после сокета, — в ядре операционки. И там тысяча реализаций TCP. Любое взаимодействие с сетью — системный вызов с переключением контекста в ядре. Чтобы лишний раз не дёргать ядро прерываниями, придумали DMA — Direct Memory Access. И это дало жизнь классу софта с режимом работы kernel bypass: например при DPDK (Intel Data Plane Development Kit). Потом был BPF. А за ним — eBPF. Но даже помимо...
Геймдев на Lisp. Часть 1: ECS и металингвистическая абстракция
В данной серии практических руководств мы подробно рассмотрим создание несложных 2D-игр на Common Lisp. Результатом первой части станет настроенная среда разработки и простая симуляция, отображающая двумерную сцену с большим количеством физических объектов. Предполагается, что читатель владеет некоторым языком программирования высокого уровня, в общих чертах представляет, как на экране компьютера отображается графика, и заинтересован в расширении своего кругозора. Common Lisp — язык программирования с богатой историей, предоставляющий эффективные инструменты для разработки комплексных интерактивных приложений, каковыми являются видеоигры. Данная серия руководств ставит перед собой задачу наглядно продемонстрировать ряд возможностей CL, отлично вписывающихся в контекст разработки игровых приложений. Общий обзор таковых возможностей и особенностей Common Lisp приводится в статье Юкари Хафнер " Использование высокодинамичного языка для разработки ". Многие возможности, впервые появившиеся в Lisp, такие, как условный оператор if/then/else , функции как объекты первого класса, сборка мусора и другие давно перекочевали в мейнстримные языки программирования, однако есть одна уникальная возможность, которую мы рассмотрим сегодня, и это — металингвистическая абстракция .
Геймдев на Lisp. Часть 1: ECS и металингвистическая абстракция
В данной серии практических руководств мы подробно рассмотрим создание несложных 2D-игр на Common Lisp. Результатом первой части станет настроенная среда разработки и простая симуляция, отображающая двумерную сцену с большим количеством физических объектов. Предполагается, что читатель владеет некоторым языком программирования высокого уровня, в общих чертах представляет, как на экране компьютера отображается графика, и заинтересован...
4 сентября 2023 года я получил уведомление о том, что хром меняет политику приватности. Казалось бы, нужно ли обращать на это внимание? Обычно я нажимал "Согласен" и жил себе спокойно жизнью. Но в этот раз это уведомление зацепило мой взгляд. Мне предлагалось согласится с тем, что хром будет предоставлять данные о моих интересах сторонним сайтам. И делать он это будет на основе истории браузера!