Разбираем вопросы с собесов по Python
Что такое динамическая типизация ?
Динамическая типизация - это подход к типизации, при котором типы переменных определяются во время выполнения программы, а не на этапе компиляции. С динамической типизацией тип переменной связывается с данными во время выполнения на основе их значения и контекста использования. Это означает, что переменная может содержать данные любого типа, и ее тип может изменяться в процессе выполнения программы.
Пример:
В этом примере переменная x сначала содержит целое число, затем строку, а затем список.
Тип переменной определяется автоматически во время выполнения программы на основе значения, присвоенного переменной.
Преимущества динамической типизации включают гибкость и удобство использования. Однако это также может привести к потенциальным ошибкам во время выполнения, если переменная содержит неожиданные данные, и затрудняет статический анализ кода на этапе компиляции.
Хочу посоветовать отличный канал по python: https://t.me/python_scrypt (полезная инфа, обзор библиотек)
Midjourney переходит с Discord на собственный веб-сайт для генерации изображений
Midjourney приняла решение отказаться от использования Discord и представила свой новый веб-сайт для генерации изображений. Теперь пользователи больше не будут привязаны к использованию Discord и смогут наслаждаться новым удобным интерфейсом прямо на сайте Midjourney.
Это обновление приветствуется теми, кто предпочитает не использовать Discord для генерации изображений. Теперь пользователи смогут более свободно выбирать платформу, которую им удобно использовать для работы с Midjourney.
Однако, следует отметить, что генерация изображений на новом веб-сайте доступна только для платных пользователей, которые сгенерировали более 10 000 изображений. Это ограничение введено для технических и организационных целей, и об этом сообщил сам Дэвид Хольц, создатель Midjourney.
Переход Midjourney на собственный веб-сайт для генерации изображений является важным шагом в развитии этой платформы. Новый интерфейс на сайте предоставляет больше гибкости и удобства для пользователей, а также открывает новые возможности для улучшения сервиса.
Вы можете создать свою картинку при помощи нашего телеграмм бота "ТУТ"
Программистам пора на покой?
Devin AI отличается от обычных программистов. Этот инновационный ИИ разработан стартапом Cognition и считается первым в мире инженером-программистом ИИ. Но какие именно преимущества это дает и как оно повлияет на будущее кодирования? Как он изменет игру...
Devin AI отличается от обычных программистов. Этот инновационный ИИ разработан стартапом Cognition и считается первым в мире инженером-программистом ИИ. Но какие именно преимущества это дает и как оно повлияет на будущее кодирования?
Devin AI, проект стартапа Cognition, вызвал настоящий шок в технологическом мире. Этот ИИ - не просто еще один помощник по программированию, он создан с целью стать полноценным инженером-программистом, способным управлять проектом от идеи до реализации. Но что стоит за ним? Давайте взглянем на его возможности и изучим потенциальную технологию, которая лежит в его основе.
Что способен делать Devin?
В отличие от традиционных помощников по программированию на базе искусственного интеллекта, таких как GitHub Copilot, которые предлагают фрагменты кода и предложения, Devin работает на совершенно новом уровне.
Вот его главные отличия:
1. Независимое выполнение проектов: Если вы дадите Devin четкую цель, например, создание платформы электронной коммерции, он способен взять на себя полный цикл разработки. Он пишет чистый код, исправляет ошибки и даже разворачивает готовый продукт.
2. Превосходное планирование и предотвращение проблем: Говорят, что Devin обладает удивительной способностью предвидеть потенциальные проблемы и организовывать процесс разработки таким образом, чтобы обеспечить максимальную эффективность.
3. Самообучение и совершенствование: Постоянно обновляясь и развиваясь, Devin учится на своем опыте, улучшая свои навыки программирования и способность решать проблемы.
4. Отладка на профессиональном уровне: Devin способен находить и исправлять ошибки в своем собственном коде, что экономит драгоценное время разработчиков на отладку.
И многое другое...
Тестирование Devin:
Devin успешно прошел тестирование на площадке SWE-Bench, где агенты решают реальные проблемы GitHub, обнаруженные в проектах с открытым исходным кодом, таких как Django и Scikit-learn.
Devin правильно решает 13,86%* сложных проблем, что значительно превышает предыдущий результат в 1,96%. Даже при предоставлении точных файлов для редактирования лучшие предыдущие модели справляются только с 4,80% проблем.
Потенциальное влияние Devin: волна изменений в технологической отрасли
Появление Devin в качестве первого в мире инженера-программиста ИИ вызвало необычайный резонанс в технологической отрасли. Его возможности могут потенциально революционизировать различные аспекты разработки программного обеспечения и оказать воздействие на бизнес, разработчиков и даже пользователей. Рассмотрим некоторые значимые последствия:
Повышение производительности разработчиков:
- Освобождение от рутинных задач: Devin способен автоматизировать повторяющиеся задачи кодирования, такие как создание шаблонного кода или базовых функций. Это позволяет разработчикам сконцентрироваться на стратегическом мышлении, творческом решении проблем и инновациях.
- Ускорение циклов разработки: Скорость и эффективность, которые обеспечивает Devin, могут значительно сократить время разработки. Это может привести к более быстрому запуску продукта и более частым итерациям на основе обратной связи пользователей.
- Уменьшение размера команды: В некоторых проектах возможность Devin выполнять значительную часть процесса разработки позволяет компаниям работать с более компактными командами разработчиков.
Демократизация разработки программного обеспечения:
- Снижение барьера вхождения: Удобный интерфейс Devin и его способность генерировать код на основе простых инструкций могут поставить на поток даже тех, у кого ограниченные знания в области программирования, и позволить им создавать базовые приложения.
- Рост гражданских разработчиков: Люди в компаниях без технического образования, например, менеджеры продукта или маркетологи, смогут использовать Devin для создания прототипов своих идей или простых инструментов для оптимизации рабочих процессов.
- Появление инноваций из неожиданных источников: Сделав разработку приложений более доступной, Devin стимулирует инновации со стороны более широкого круга людей и команд, что приводит к более разнообразному спектру программных решений.
Преимущества для бизнеса и потенциальные риски:
- Ускорение выхода на рынок: Благодаря Devin компании могут быстрее представлять свои продукты и услуги на рынок, что потенциально дает им конкурентное преимущество.
- Снижение затрат на разработку: Более быстрые циклы разработки и более компактные команды могут привести к существенной экономии затрат для бизнеса.
- Изменение набора навыков разработчиков: Поскольку Devin берет на себя многие рутинные задачи, разработчикам приходится адаптироваться и развивать новые навыки, уделяя больше внимания таким областям, как дизайн-мышление, пользовательский опыт и сложное решение проблем.
Воздействие на технологическую сферу:
- Наблюдается стремительное развитие программного обеспечения: Благодаря эффективности Devin, возможно значительное увеличение количества разработанных программных приложений, что приведет к созданию насыщенного и конкурентоспособного рынка.
- Фокус на пользовательском опыте: Благодаря ускоренным циклам разработки компании могут уделять более приоритетное внимание тестированию и итерации пользовательского опыта, чтобы выделиться на перегруженном рынке.
- Эволюция роли разработчиков: С развитием искусственного интеллекта, такого как Devin, роль разработчиков может эволюционировать в направлении управления этими инструментами, управления сложными проектами и обеспечения общего качества и безопасности программного обеспечения.
Возможные потери рабочих мест:
- Автоматизация повторяющихся задач:
Способность Devin выполнять рутинные задачи кодирования, такие как написание шаблонного кода или базовых функций, может сделать некоторые задачи начинающих программистов устаревшими.
- Уменьшение размера команд: В случае менее сложных проектов эффективность Devin может позволить компаниям работать с более компактными командами разработчиков, что потенциально может привести к сокращению рабочих мест.
- Изменение набора навыков: По мере того, как искусственный интеллект берет на себя рутинные задачи по кодированию, спрос на разработчиков с такими специфическими навыками может снизиться.
Важно помнить, что это лишь потенциальные последствия. Как Devin окончательно сформирует технологическую индустрию, будет зависеть от его дальнейшего развития, его интеграции в существующие рабочие процессы и от того, как заинтересованные стороны будут адаптироваться к этому меняющемуся ландшафту.
Является ли Devin ИИ будущим?
Разработка Devin представляет собой значительный прогресс в области использования искусственного интеллекта в кодировании. Но важно помнить, что он все еще находится в стадии разработки. Несмотря на то, что Devin может справиться с многими задачами, сложные проекты все равно могут требовать человеческого опыта.
Будущее разработки программного обеспечения, вероятно, связано с сотрудничеством, при котором инструменты искусственного интеллекта, такие как Devin, расширяют возможности человека. Это может привести к созданию более эффективной и инновационной среды разработки, приносящей пользу как предприятиям, так и пользователям.
Понравилась статья? 📑
Подпишись и оставь комментарий ✅
DnD в телеграме. Дневник разработчика. Часть 4
Предисловие для тех, кто не читал предыдущие части дневника: Это блог начинающего разработчика-самоучки, не претендующий на гениальность и уникальность. Я просто делаю свою первую текстовую ММОРПГ в телеграм-боте на python, и мне это нравится. А тут делюсь впечатлениями.
Когда я только планировал и набрасывал концепцию игры, хотелось выжать максимум из имеющихся возможностей. Убивать монстров, улучшать навыки и крафтить вещи - это есть везде. Я же хотел сделать настоящие подземелья, "как у взрослых":
- где будут генерироваться не только монстры и боссы, но и небоевые события;
- где будут иметь значение не только боевые, но и ремесленные навыки, а также специализированные ролевые навыки типа ночного зрения, разведки, взлома замков и побега;
- где будет нужна слаженная группа, причем, не только в качестве бойцов. Например, павшего союзника может оживить только другой игрок. Если союзников нет, или они без зелий, или решили тебя бросить, то на этом подземелье для тебя закончится.
Планировалось сделать что-то вроде DnD, только в доступной форме прямо в мессенджере. Чтобы без проблем собрать группу лежа на диване и пройти уникальное приключение, которое генерируется случайным образом каждый раз.
Казалось, текстовый формат не требует много ресурсов, так что это можно сделать практически в любой игре. Но, почему-то, в таком виде, как мне хотелось, это если и встречалось, то очень редко.
Структура
Подземелья рассчитаны на группы до 4 игроков. Можно пройти и меньшим количеством, но сложнее. Награды и монстры не меняются от количества авантюристов, так что, чем больше риска, тем больше награды.
При выборе размера подземелья остановился на 13 комнатах. В каждой из первых 12 комнат могут быть случайные противники и находки. Шанс наткнуться на врагов и находки вырастает, если забраться подальше. В последней всегда ожидает финальный босс. По времени, если проходить на предельной сложности - около часа.
Перед каждой новой комнатой у игроков встает выбор между 3 вариантами. Если навыки разведки и ночного зрения срабатывают хотя бы у кого-то из группы, то игроки видят противников или находки из некоторых комнат. Если этих навыков недостаточно, то часть вариантов будет неизвестна.
Враги
Обычные монстры и случайные боссы - это еще не все, кто может повстречаться в подземелье.
Обычные враги трех классов встречаются в количестве от 1 до 6. Боссы могут встретиться в случайной комнате подземелья, но с прокачанной разведкой и ночным зрением их можно также заметить заранее. Боссы тоже соответствуют одному из трех классов, и это влияет на их сильные и слабые стороны, особые навыки, а также шансы получить классовый предмет.
К слову, для подземелий пришлось создать изрядное количество новых предметов: оружия и экипировки, которые можно получить только в этом подземелье - Катакомбах шипов.
Групповые бои
Механики групповых боев на первый взгляд пугают. Но, если проходить игру постепенно, то к этому моменту уже привыкаешь к подробным логам и ждешь появления эмодзи о срабатывании необходимого навыка.
Групповые бои - это отдельная большая механика, которую я разрабатывал специально для подземелий. До этого бои в игре существовали только 1 на 1, как ПвЕ (против монстров), так и ПвП (арена и дуэли).
Теперь пришлось пересмотреть всю логику боя, групповые взаимодействия. Ввел новые боевые навыки, позволяющие прикрыть щитом союзника, задеть одним ударом нескольких врагов, увеличить урон всем союзникам по определенному врагу, привлечь внимание противников на танка и т.д.
С новым балансом добавил и другие боевые навыки, работающих как в групповых, так и в обычных боях - комбо, отражение, амбидекстр.
Вместе с тем, старался сохранить систему сдержек, чтобы нельзя было просто "вкачать все" - боевые навыки работают только с соответствующим оружием. Соответственно у разного оружия по 2-3 бонуса к разным навыкам. Значит, для сочетаний навыков нужно подбирать определенные оружия. Либо менять их по ситуации, что также поощряет игра.
Аксессуары и броня тоже претерпели изменения. Теперь можно подобрать их чтобы максимально эффективно противостоять одному классу противников, либо сделать смешанный вариант, но защита от всего будет небольшая.
Теперь бои получались разнообразными. Каждая комбинация персонажей, навыков, экипировки имела свои сильные и слабые стороны и прохождение сложных боссов стало интересной задачей.
Кроме того, здесь наконец-то заиграли красками расовые навыки, которые я заложил в начале игры: ночное зрение у Рысей, взлом у Енотов, тактическое отступление у Лис. Например, только при срабатывании Тактического отступления после поражения персонаж остается живым и может воскресить союзников, чтобы с новыми силами попробовать добить противников.
Находки
Каждая из находок прописана так, что может выдать минимум несколько результатов, как полезных так и вредных.
И еще одна механика которая тоже появилась в игре только в этом дополнении, это находки. В каждой из комнат может появиться случайным образом одна из них. И у каждой минимум несколько вариантов использования.
Конечно же, я не удержался от соблазна добавить в игру мимика. Поэтому при встрече с сундуком игра честно предлагает варианты открыть, взломать, ударить... Вот только, что игрок может получить, а что потерять, если не угадает правильный вариант? В зависимости от ситуации и вида сундука последствия могут быть разными. Как и с другими находками.
Элемент группового взаимодействия здесь заключается в том, что большинство находок могут быть использованы только один раз. Поэтому в одной группе зверята могут тыкать в них наперегонки и получать непредсказуемые последствия, а в другой распределять роли и взвешенно решать, кому стоит тронуть очередной алтарь или попробовать собрать странное растение. У кого есть с собой кирка, чтобы разобрать завал и стоит ли вообще раскапывать могилу или лучше положить на нее цветочек?
Подводя итог, мне безумно понравилось прописывать все мелочи и детали подземелий, монстров и находки, предметы и навыки. В итоге все сложилось в один чудесный пазл, который как калейдоскоп чудесным образом собирается в новый узор при каждом новом прохождении. В общей сложности работа над этим дополнением заняла почти месяц, но это определенно того стоило.
И конечно же очень приятно получать теплые отзывы от игроков, которые уже успели пройти эти подземелья. Практически все первопроходцы отозвались очень положительно и побежали проходить более высокие уровни. Огромное спасибо всем, кто уже поддерживает проект, играет и дает обратную связь! Понимание, что это это кому-то тоже нравится, придает мне сил и энтузиазма работать ночами напролет, изучать и добавлять в наш волшебный Лес что-то новое.
Ремарка для истории: С момента написания прошлой части дневников население Духов Леса выросло до 600 зверьков. А кроме того, выходили другие дополнения, про которые я напишу как-нибудь в следующий раз. Так что жизнь в Лесу бьет ключом! Я только и успеваю, что каждый день ловить старые баги, плодить новые, дорабатывать, улучшать и изобретать велосипеды на свой лад.
На этом откланяюсь. Спасибо и удачи всем кто дочитал!
С вами был Нокс. До встречи в Лесу!
Django ORM VS SQLAlchemy ORM! Пробуем, сравниваем, разбираемся! Часть 3 из 3
Третья серия!
Тема для меня в итоге не закрытая, с Алхимией опыта всё равно маловато, поэтому в конце когда работал с m2m возникла небольшая неловкость! Тесты прошли, но осадочек остался! Будет продолжение с Алхимией, наверно сниму в рамках видео про асинхронку.
Написал свой игровой движок с Lua как скриптовым языком
Всем привет. Относительно недавно мне стало интересно написать свой фреймворк для 2д игр, чтобы собственно их и создавать. Пишу всё это дело на java - вот скриншот типичного кода:
Внутренности
И вот, что мы получаем:
Результат
Я также написал примитивный модуль для физики, всё это можно найти в документации.
Если вам интересно, можете посмотреть проект здесь.
Благодарю за прочтение
В Питере шаверма и мосты, в Казани эчпочмаки и казан. А что в других городах?
Мы постарались сделать каждый город, с которого начинается еженедельный заед в нашей новой игре, по-настоящему уникальным. Оценить можно на странице совместной игры Torero и Пикабу.
Реклама АО «Кордиант», ИНН 7601001509