Telegram Web
#вопросы_с_собеседований
Что произойдет, если блок except не обработает ошибку?

Если ошибка не будет перехвачена в блоке except, программа завершит свою работу и выведет сообщение об ошибке. Это называется необработанным исключением.
При возникновении исключения Python создает traceback — последовательность вызовов функций, которая привела к ошибке. Если блок except не перехватывает исключение, traceback отображается пользователю, и программа аварийно завершает свою работу.
👍16
Существует мнение, что высшего образования в сфере разработки игр в России нет, но это не так. В этой большой статье я подробно и честно расскажу о своем опыте обучения на разработчика игр в одном из московских университетов.

👉 Статья
👍42😁1
Размер в байтах

Этот пример возвращает длину строки в байтах, что удобно, когда вам нужно знать размер строковой переменной.
🎉14👍31🤩1
🤔🔥🪦 Беспощадный Frontend-тест: уволься сам, если не наберёшь 7 из 10!

DS и ML — это, как правило, не про фронтенд. Но везде бывают исключения.

А насколько хорошо ты разбираешься в CSS, JS и вот этом вот всём?

👉 Проверь себя
🔥63👍2
Присвоение переменных и функций в зависимости от условия

Иногда конструкции if бывают настолько простыми, что их использование может показаться излишним. В таких случаях целесообразно применять тернарный оператор if/else:

A = Y if X else Z

Интерпретатор выполнит выражение Y, если объект X является истинным, и Z, если X ложен. Однако не стоит злоупотреблять этим оператором, если X, Y и Z имеют сложную структуру.
Тернарный оператор можно использовать не только для присвоения переменных, но и для вызова функций.
🔥27👍4👏2
Проверьте использование памяти ваших объектов

С помощью функции sys.getsizeof() вы можете узнать, сколько памяти занимает объект (в данном случае — 48 байт). Удивительно, но почему же этот большой список занимает всего 48 байт? Дело в том, что функция range возвращает класс, который ведет себя как список, но при этом использует значительно меньше памяти, чем реальный список чисел.

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

Таким образом, играя с sys.getsizeof(), вы сможете глубже понять, как работает Python и как эффективно использовать память.
👍23🥰6🎉3
🚨 Хакеры скомпрометировали Ultralytics YOLO и развернули криптомайнеры через PyPI

🐍 Скомпрометированы версии YOLO 8.3.41 и 8.3.42.

📂 Библиотека устанавливает майнер XMRig в директории /tmp/ultralytics_runner, подключаясь к пулу по адресу connect.consrensys[.]com: 8080.

Основатель и генеральный директор Ultralytics, Гленн Йохер, сообщил, что скомпрометированные версии заменены на чистую версию 8.3.43. Он предположил, что взлом произошёл через два пулл реквеста от пользователя из Гонконга.

🛡 Пока неясно, ограничились ли злоумышленники только майнингом или получили доступ к пользовательским данным. Всем, кто загрузил скомпрометированные версии, настоятельно рекомендуется провести полное сканирование системы.
👍6😢53😁1
🤖🔄🤖 Самосовершенствующиеся ИИ: как передать знания от одной модели другой

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

Разработчики Writer создали новую архитектуру самосовершенствующихся моделей. Эти модели могут учиться в реальном времени и адаптироваться к изменениям без необходимости полной повторного обучения.

👉 О том, как они устроены, читайте в нашей статье
🔥11👍3🎉31
🤖💬 Как разрабы создали AI-мессенджер для себя, который стал популярным и востребованным на рынке. История Yuchat

«А давайте сделаем такой мессенджер, чтобы самим нравилось?» — подумали питерские разработчики во время пандемии. И создали то, о чём мечтает каждая компания — платформу для общения, где есть всё: чаты, звонки с транскрибацией, файлы и ИИ, который наводит порядок в этом бесконечном потоке информации. Главное — он реально облегчает жизнь, а не создаёт новые проблемы.

👉 Читать историю Yuchat подробнее
👍84
🤖 💻 Код без боли: 16 генераторов кода, которые заменят целую команду

Мы сделали подробный обзор современных генераторов кода — от GitHub Copilot до малоизвестных, но мощных альтернатив.

👉 Читать по этой ссылке
👍142🔥1
Привет, друзья! 👋

2024-й год подходит к концу, и пока LLM не написали за нас все программы, а квантовые компьютеры не взломали все пароли, самое время подвести итоги. Какие технологии действительно «выстрелили», а какие не оправдали ожиданий? Что изменилось в работе разработчиков, и какие навыки оказались самыми востребованными?

💻 Поделитесь своим мнением, и самое важное и интересное войдёт в нашу статью. 🏆
👍5
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🐛🔍 Как найти баг в 2088 коммитах с помощью git bisect

Метод git bisect — мощный инструмент для поиска изменения, вызвавшего баг в коде: с его помощью разработчику удалось быстро локализовать проблему, просмотрев всего 11 коммитов вместо изначальных 2088.

Задача: найти конкретный коммит, который вызвал регрессионную ошибку в проекте.

Исходные данные:
✔️ Ошибка была зарегистрирована 21 октября. Она находится в текущей версии на ветке main.
✔️ Ошибка отсутствует в более ранней версии, которая была выделена в отдельную ветку release-5.7.0.
✔️ Ветку release-5.7.0 создали 2 месяца назад, а с тех пор в ветке main было сделано много изменений — баг может находиться в любом из нескольких тысяч коммитов, которые невозможно быстро просмотреть.

🔗 Читать статью
🔗 Зеркало
🔥12👍52
👀 dir() и vars() — для чего они нужны?

Когда вы работаете в Python REPL или отлаживаете код, иногда полезно быстро взглянуть на объект, с которым вы не до конца знакомы. В такие моменты на помощь приходят две удобные функции: dir() и vars().

🔘dir() — возвращает список всех атрибутов объекта, включая методы и атрибуты класса.
🔘vars() — возвращает словарь атрибутов, которые живут непосредственно в объекте. Методы и атрибуты класса в этом списке отсутствуют.

🪅Допустим, у нас есть класс прямоугольника:
from dataclasses import dataclass

@dataclass
class Rectangle:
width: float
height: float

@property
def area(self):
return self.width * self.height


Мы создаём объект прямоугольника:
rect = Rectangle(3, 4)


Вот что нам покажет dir():
['__annotations__', '__class__', '__dataclass_fields__', '__dataclass_params__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__firstlineno__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__match_args__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__replace__', '__repr__', '__setattr__', '__sizeof__', '__static_attributes__', '__str__', '__subclasshook__', '__weakref__', 'area', 'height', 'width']


А вот что покажет var():
{'width': 3, 'height': 4}


#советы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍37
2025/07/14 14:24:55
Back to Top
HTML Embed Code: