#HEX • IT
ORM, или объектно-реляционное отображение — это программная технология, которая позволяет взаимодействовать с базами данных с использованием объектно-ориентированной парадигмы. Вместо того чтобы писать SQL-запросы напрямую для работы с данными в базе данных…
Сможем до следующей неделе набрать +30 на этой статье?
👍2
Абстрактное синтаксическое дерево (AST) в Python — это древовидное представление структуры фрагмента кода. Каждый узел в дереве представляет конструкцию программирования, такую как переменная, функция или оператор потока управления.
Некоторые примеры использования AST:
Линтеры и форматеры кода. Инструменты вроде pylint и Black используют AST для анализа и соблюдения стандартов кодирования и рекомендаций по стилю.
Оптимизация кода. Анализируя и изменяя AST, можно выполнять различные оптимизации кода, например, сворачивать константы, удалять мёртвый код и встраивать функции.
Генерация кода. AST можно использовать для генерации кода из спецификаций высокого уровня, таких как специальные языки или графические среды программирования.
Метапрограммирование. Манипуляции с AST позволяют реализовывать продвинутые методы программирования, такие как декораторы, макросы или переписывание кода.
Некоторые примеры использования AST:
Линтеры и форматеры кода. Инструменты вроде pylint и Black используют AST для анализа и соблюдения стандартов кодирования и рекомендаций по стилю.
Оптимизация кода. Анализируя и изменяя AST, можно выполнять различные оптимизации кода, например, сворачивать константы, удалять мёртвый код и встраивать функции.
Генерация кода. AST можно использовать для генерации кода из спецификаций высокого уровня, таких как специальные языки или графические среды программирования.
Метапрограммирование. Манипуляции с AST позволяют реализовывать продвинутые методы программирования, такие как декораторы, макросы или переписывание кода.
👍2
Пример создания AST из скрипта на Python:
Пример вывода AST для простой программы Python:
Пример скрипта для оптимизации кода:
Этот оптимизатор находит конкатенацию строковых литералов и объединяет их на этапе компиляции, что улучшает производительность.
Для тех, кто хочет глубже погрузиться в тему, рекомендую изучить следующие аспекты:
- Работа с типами данных и аннотациями через AST
- Создание собственных декораторов с помощью трансформации AST
- Оптимизация циклов и условных конструкций
- Анализ потока данных в программе
import ast
code = "x = 5 + 3"
tree = ast.parse(code)
print(tree)
Пример вывода AST для простой программы Python:
import ast
my_tree = ast.parse("3 + 4*x")
print(ast.dump(my_tree))
Пример скрипта для оптимизации кода:
class StringOptimizer(ast.NodeTransformer):
def visit_BinOp(self, node):
# Оптимизация конкатенации строк
if isinstance(node.op, ast.Add):
if isinstance(node.left, ast.Constant) and isinstance(node.right, ast.Constant):
if isinstance(node.left.value, str) and isinstance(node.right.value, str):
return ast.Constant(value=node.left.value + node.right.value)
return node
Этот оптимизатор находит конкатенацию строковых литералов и объединяет их на этапе компиляции, что улучшает производительность.
Для тех, кто хочет глубже погрузиться в тему, рекомендую изучить следующие аспекты:
- Работа с типами данных и аннотациями через AST
- Создание собственных декораторов с помощью трансформации AST
- Оптимизация циклов и условных конструкций
- Анализ потока данных в программе
👍5
#HEX • IT
ORM, или объектно-реляционное отображение — это программная технология, которая позволяет взаимодействовать с базами данных с использованием объектно-ориентированной парадигмы. Вместо того чтобы писать SQL-запросы напрямую для работы с данными в базе данных…
Давайте попробуем +30 добить на статье)
👍1🔥1
Создал свой сайт портфолио - https://alexeev-prog-personalsite-3cd5.twc1.net/
#HEX • IT
ORM, или объектно-реляционное отображение — это программная технология, которая позволяет взаимодействовать с базами данных с использованием объектно-ориентированной парадигмы. Вместо того чтобы писать SQL-запросы напрямую для работы с данными в базе данных…
Ребят, сорян что опять прошу, но поставьте кто может плюс в рейтинг статьи. Это сильно мне поможет и мотивирует меня
👍3
Ближайшие статьи:
написаны, ждут публикации: роадмап DevOps инженера, создание веб Фреймворка на python
в процессе написания: интеграция C-расширений в python-приложения, как устроен BIOS и загрузчики ОС
написаны, ждут публикации: роадмап DevOps инженера, создание веб Фреймворка на python
в процессе написания: интеграция C-расширений в python-приложения, как устроен BIOS и загрузчики ОС
👍3 2🔥1
Вы не против, если я открою небольшой новогодний сбор на благо канала?
👍 - не против
👎 - против
👍 - не против
👎 - против
👍8 1
#HEX • IT
Вы не против, если я открою небольшой новогодний сбор на благо канала? 👍 - не против 👎 - против
Приятно что вы не против!
Обязуюсь находить качественный контент и писать качественные статьи.
Обязуюсь находить качественный контент и писать качественные статьи.
👍1🔥1
Новогодний Сбор На Благо Канала
Так как канал растет, а моя аппаратура уже не растет, нужно вложить средства в канал. Я работаю, но если вы хотите, вы можете поддержать наше небольшое сообщество
Сбербанк: 2202208157638702
Ton:
USDT TRC20:
Желательно на карту сбербанка.
Спасибо всем большое! Искренне каждого благодарю и обнимаю. Вы - те, кто дал мне новый буст в жизни.
Обещаю публиковать качественный контент. Возможно, и ютуб канал не за горами!
Так как канал растет, а моя аппаратура уже не растет, нужно вложить средства в канал. Я работаю, но если вы хотите, вы можете поддержать наше небольшое сообщество
Сбербанк: 2202208157638702
Ton:
UQCeNdt_oTXg9Y-oHuA7RDBA7MEzNKg-u-KCi6VH95VS9TlhUSDT TRC20:
TEWSFXhZmYmSm1ozVcE3615UzkZvRp5HVrЖелательно на карту сбербанка.
Спасибо всем большое! Искренне каждого благодарю и обнимаю. Вы - те, кто дал мне новый буст в жизни.
Обещаю публиковать качественный контент. Возможно, и ютуб канал не за горами!
❤3👍1
#HEX • IT
Ближайшие статьи: написаны, ждут публикации: роадмап DevOps инженера, создание веб Фреймворка на python в процессе написания: интеграция C-расширений в python-приложения, как устроен BIOS и загрузчики ОС
Интеграция C-расширений в питон очень интересная, кстати. Прикольно писать на си для питона, с его особенностями (например то что в питоне объект). Столько возможностей открывается
❤1👍1
Командные оболочки Linux
Некоторое время назад я писал статью о том, как создать свою командную оболочку на C: первая часть, вторая часть.
И вот, настало время поговорить о том, какие еще есть оболочки Linux, кроме bash, zsh и fish.
Dash (Debian Almquist Shell) — командная оболочка UNIX, более легковесная, чем bash, при этом POSIX-совместимая. Она заменяет /bin/sh в сценариях по умолчанию и обеспечивает более высокую скорость выполнения при меньшем потреблении ресурсов.
Tcsh — командная оболочка UNIX, основанная на и обратно совместимая с оболочкой C (csh).
Некоторые возможности tcsh:
редактирование командной строки с поддержкой стилей vi и emacs;
программируемое автодополнение (оболочку можно настроить так, чтобы по нажатию «Tab» дополнялись не только имена команд и пути, но и поддерживаемые командой параметры);
проверка правописания имён файлов, команд и переменных; 5
расширенный механизм навигации по каталогам (команды pushd, popd, dirs);
периодические события (например, отложенное во времени исполнение команды или «сброс» пользователя по истечении тайм-аута);
возможность указания в приглашении различной полезной информации (текущий каталог, время, дата).
В Linux tcsh может быть полезен в качестве альтернативы оболочке bash для тех, кто предпочитает синтаксис C, а также потому, что некоторым программам для выполнения задач установки требуется оболочка C.
Ksh (Korn Shell) — командная оболочка. Разработана Дэвидом Корном (AT&T) в 1980-х годах. Имеет полную обратную совместимость с Bourne shell и включает в себя возможности C shell.
Некоторые преимущества ksh: cleaner exit codes, пайпы входа, удобный синтаксис для циклов, простое повторение команд, работа с ассоциативными массивами, возможность эмулировать поведение Emacs и V.
#Linux@hex_warehouse #Shell@hex_warehouse #КомандныеОболочки@hex_warehouse #KSH@hex_warehouse #TCSH@hex_warehouse #DASH@hex_warehouse
Некоторое время назад я писал статью о том, как создать свою командную оболочку на C: первая часть, вторая часть.
И вот, настало время поговорить о том, какие еще есть оболочки Linux, кроме bash, zsh и fish.
Dash (Debian Almquist Shell) — командная оболочка UNIX, более легковесная, чем bash, при этом POSIX-совместимая. Она заменяет /bin/sh в сценариях по умолчанию и обеспечивает более высокую скорость выполнения при меньшем потреблении ресурсов.
sudo pacman -S dash # Arch
sudo apt install dash # Debian
Tcsh — командная оболочка UNIX, основанная на и обратно совместимая с оболочкой C (csh).
Некоторые возможности tcsh:
редактирование командной строки с поддержкой стилей vi и emacs;
программируемое автодополнение (оболочку можно настроить так, чтобы по нажатию «Tab» дополнялись не только имена команд и пути, но и поддерживаемые командой параметры);
проверка правописания имён файлов, команд и переменных; 5
расширенный механизм навигации по каталогам (команды pushd, popd, dirs);
периодические события (например, отложенное во времени исполнение команды или «сброс» пользователя по истечении тайм-аута);
возможность указания в приглашении различной полезной информации (текущий каталог, время, дата).
В Linux tcsh может быть полезен в качестве альтернативы оболочке bash для тех, кто предпочитает синтаксис C, а также потому, что некоторым программам для выполнения задач установки требуется оболочка C.
sudo pacman -S tcsh # Arch
sudo apt install tsch # Debian
Ksh (Korn Shell) — командная оболочка. Разработана Дэвидом Корном (AT&T) в 1980-х годах. Имеет полную обратную совместимость с Bourne shell и включает в себя возможности C shell.
Некоторые преимущества ksh: cleaner exit codes, пайпы входа, удобный синтаксис для циклов, простое повторение команд, работа с ассоциативными массивами, возможность эмулировать поведение Emacs и V.
sudo pacman -S ksh # Arch
sudo apt install ksh # Debian
#Linux@hex_warehouse #Shell@hex_warehouse #КомандныеОболочки@hex_warehouse #KSH@hex_warehouse #TCSH@hex_warehouse #DASH@hex_warehouse
Хабр
Программирование на C в Linux на примере создания своей командной оболочки
Привет, хабр! Язык программирования C — основополагающий, как я считаю. И его знать, нет, не обходимо, но довольно желательно. Большинство языков отсылают к C, и зная C (или C++) другой язык будет...
🔥5👍2 1
Есть вот такая прикольная визуализация гитхаб-активности в виде чека
Вставляйте свой ник на этом сайте и готово!
Вставляйте свой ник на этом сайте и готово!
Исчерпывающий Roadmap по разработке операционных систем на C с приложенными ссылками на курсы к каждой теме!
https://github.com/mohitmishra786/amILearningEnough/blob/main/src/roadmap/os-dev/noC.md
https://github.com/mohitmishra786/amILearningEnough/blob/main/src/roadmap/os-dev/noC.md
👍5
Итальянский пародийный музыкальный коллектив Nanowar of Steel, работающий в жанрах хэви- и пауэр-метал, выпустил композицию «HelloWorldjava»
Песня исполнена на языке программирования Java, и это полностью рабочий код, который был опубликован на GitHub. «Этот проект содержит простое приложение на Java, которое демонстрирует базовое применение циклов, условных операторов и обработку исключения с нулевым указателем. Основная функциональность включает вывод строки „Hello World!“ несколько раз в зависимости от указанного пользователем параметра; [в него] намеренно введена ошибка, чтобы показать их обработку», — гласит описание программы-песни в репозитории.
https://github.com/NanowarOfSteel/HelloWorld
Песня исполнена на языке программирования Java, и это полностью рабочий код, который был опубликован на GitHub. «Этот проект содержит простое приложение на Java, которое демонстрирует базовое применение циклов, условных операторов и обработку исключения с нулевым указателем. Основная функциональность включает вывод строки „Hello World!“ несколько раз в зависимости от указанного пользователем параметра; [в него] намеренно введена ошибка, чтобы показать их обработку», — гласит описание программы-песни в репозитории.
https://github.com/NanowarOfSteel/HelloWorld
