Красивый сервис для создания сайтов
Framer — конструктор сайтов с искусственным интеллектом, который создает сайты по запросу. Тут есть все функции современного конструктора: удобный редактор, встроенная CMS, готовые шаблоны, база картинок, готовые цветовые решения и т.п. Но к этому всему прилагается удобный ИИ помощник, который может не только сгенерировать страницу по запросу, но помогает при последующем её редактировании: по щелчку сам подбирает цвета элементов и переписывает текст. Есть режим совместной работы для команд.
Достаточно ввести текстовый запрос, после чего можно настроить цветовую палитру, выбрать шрифты, добавить или убрать блоки и многое другое:
Для чего можно использовать Framer:
1. Создать простой и стильный сайт своими силами
2. Почти бесплатно проверить идею
3. Сделать сайт для разового мероприятия, например, концерта
4. Собрать сайт-визитку для себя любимого
В бесплатном режиме доступны все функциии, но нельзя привязать свой домен и убрать баннер сервиса. Самый недорогой пакет стоит 5$/мес с ограничением до 1 000 посетителей в месяц. Самый дорогой — 25$/мес, подходит для больших сайтов, предоставляет аналитику, поиск на 25 страниц и ограничение в 100 000 посетителей в месяц.
Хотите быть в курсе полезных ии сервисов для работы, учебы и облегчения жизни? Подпишитесь на мой канал в Telegram НейроProfit, там я рассказываю о том, как зарабатывать с помощью нейросетей и использовать ии-сервисы для бизнеса 😉
PlayStation 6 обещает стать самой мощной консолью своего поколения: релиз ожидается в 2028 году
Как сообщают инсайдеры, Sony будет стремиться позиционировать PlayStation 6 как вершину мощности консоли своего поколения, демонстрируя готовность инвестировать необходимое время и ресурсы для достижения этой цели.
Последние материалы RedGaming Tech проливают свет на планы Sony в отношении ее грядущих игровых систем, в том числе на предполагаемую PlayStation 5 Pro. Хотя Sony еще не представила официальную версию этого обновления, есть основания полагать, что разработка идет полным ходом, о чем свидетельствует распространение программ совместимости среди сторонних студий.
Что касается PlayStation 6, то Sony активно занимается ее разработкой уже около года, при этом ключевые характеристики, такие как процессор и оперативная память, все еще находятся на стадии уточнения. Как сообщает RedGaming Tech, ведутся переговоры с партнерами по разработке, причем упор делается на использование технологий AMD. Примечательно, что это отход от предыдущей практики Sony, когда на этапе разработки PlayStation 5 использовались различные производители, включая NVIDIA.
Несмотря на то, что точные аппаратные спецификации остаются неизвестными, Sony по-прежнему стремится сделать PlayStation 6 воплощением игрового мастерства в своей эпохе, прогнозируя релиз в 2028 году. Стратегия компании по достижению этой цели направлена на активизацию усилий в таких областях, как трассировка лучей, трассировка путей, машинное обучение и интеграция ИИ, особенно в части взаимодействия с NPC, для создания инновационного и захватывающего игрового опыта.
Ждете PS 6 или хватает пятой? (или пекарь?)
Получаем ip-адрес из requests (python)
Когда мы получаем какую-либо информацию о домене, в числе прочих параметров мы узнаем его ip-адрес. И получить его с помощью python не составляет большого труда. Однако давайте рассмотрим, как, не используя прямое обращение к сокету получить ip-адрес непосредственно из запроса.
Зачастую, чтобы получить ip-адрес мы используем socket. И в случае, когда нам требуется выполнение только данной операции этого вполне достаточно.
Но можно поступить несколько иначе, особенно если мы уже получаем какие-либо данные с сервера. Хотя бы те же заголовки. Давайте на примере посмотрим, как реализовать получение доступа к необработанному объекту сокета.
Установка необходимых библиотек
В данном случае нам понадобиться библиотека requests. Для ее установки пишем в терминале:
Импорт библиотек в скрипт. Создание заголовков для запроса
После того, как установлены необходимые библиотеки, нам их нужно импортировать в скрипт. В данном случае, так как мы установили библиотеку requests, импортируем ее.
После этого создадим словарь с заголовками содержащими «User-Agent» и «Accept». Их мы будем передавать в запрос в качестве параметра, чтобы изменить стандартные заголовки отправляемые python.
Получаем заголовки и ip-адрес
Создадим функцию get_domain_info(domain: str) -> (dict, bool), которая на входе будет получать домен, а возвращать заголовки отправленные сервером, а также ip-адрес домена.
Выполним запрос на получение заголовков, куда передадим адрес домена, заголовки. Укажем свойство allow_redirects = True. Это сделано для того, чтобы производилась переадресация. То есть, в данном случае мы делаем следующее: так как мы не знаем точного адреса сайта, доменное имя которого передано в функцию, поступим как браузер. Для начала пойдем по протоколу http. Если на сервере включена переадресация, то мы будем автоматически переадресованы на нужный адрес. Также, stream=True. Это необходимо для получения ip-адреса из запроса.
Обработаем исключение raise_for_status(), чтобы отсекать ненужные статус-коды. В случае же, когда код 200, получим ip и порт, которые возвращаются в кортеже при выполнении следующего кода: res.raw._connection.sock.getpeername(). Важно то, что эти данные необходимо получить в самом начале, до обработки остальных данных запроса, то есть в первую очередь. И уже после получим частично содержимое из заголовков отправленных сервером. Вернем пользователю словарь из полученных данных. В случае же неудачи или неверного статус-кода, вернем из функции False.
Ну и создадим функцию main, где и будем запрашивать у пользователя домен, отправлять его в функцию для получения информации и выводить на печать полученные в виде словаря данные.
Здесь я не проверяю полученную информацию, так как данный код служит примером. Если вы попробуете получить ip-адрес с помощью socket, результат, зачастую, будет одинаковым. Однако, если вы увидите, что адреса различаются, то не считайте это ошибкой. Я проверял специально данные, получая информацию от DNS. Тут дело в том, что на одном домене может быть несколько NS-серверов. И в этом случае возвращается значение ближайшего. Ну или свободного. В данном случае механизм для меня пока еще не совсем понятен. Главное, что и тот, и тот адреса являются правильными.
Полный код скрипта
Протестируем написанный код и получим заголовки и ip-адрес для домена python.org.
Результат работы скрипта
Как видим, скрипт отработал правильно и вернул ip-адрес, а также информацию из полученных заголовков.
А на этом, пожалуй, все.
Спасибо за внимание. Надеюсь, данная информация будет вам полезна!
Подписывайся на наши телеграм каналы! У нас много полезного!
Код скрипта можно забрать тут!
Жуткая-история о разработке игры
У меня есть очень печальный опыт которым хотел бы поделиться. Опыт был печальным не для меня и остальных разработчиков, а в первую очередь для инвесторов. Я всего лишь был одним из разработчиков и работал за зарплату и энтузиазм.
Разработка игры
Где-то в 2012-2014 годах занимался разработкой казуальной игры для детей. Всех деталей об игре раскрыть не могу, да и неважно.
В команде было 3 разработчика (я отвечал за код, дизайнер за дизайн, другой разработчик частично занимался кодом и продвижением). Еще у нас было 3-4 инвестора. точно не знаю сколько. Но идея разработки продукта исходила от них.
Поступила задача разработать 2D игру для мобильных устройств. Целевая аудитория - девочки и мальчики 11-13 лет. Локализацию было необходимо исключить или свести на минимум, то есть вместо текста должны быть иконки. От меня требовалось совсем немного - разработать основную механику прыжка как в марио и выброса веревки в прыжке.Так же нужно было разработать несколько типов врагов, оружия, интерфейс меню. Вроде это все. Дизайном занимался отдельный специалист - дизайнер. Тестами (тестами геймплея, тестами багов) занимался напарник. Также он участвовал в разработке кода, возможно работал над механикой перемещения врагов, но это неточно (запамятовал).
Монетизация осуществлялась за счет внутриигровых покупок.
Интересно то, что тестами продукта мы занимались в самом конце. Не знаю, поняли ли все что это было неправильно, но это было пожалуй самым неправильным (фатальным) решением в разработке продукта.
Сейчас смотрю на это дело и понимаю, что многое бы это не изменило ибо у всех был максимальный заряд уверенности в успехе и океан был по колено, если даже не попятку.
В процессе работы вся работа над продуктом корректировалась соучредителями, дизайнером и другим разработчиком. Я закрывал основные технические задачи и не вникал в то что происходит вокруг. Все вокруг считали что точно знают что делают и понимают интересы 14-и летнего ребенка.
Самое интересное то, что очень многие (а может все?) кому мы показывали продукт одобрительно кивали и говорили, что интересно. Продукт назвали "интересным" сотрудники VK, когда мы размещали рекламу и общались с техподдержкой. В эту игру играли все друзья и знакомые и все говорили примерно одно: "да, интересно", "классно", "весело".
Тогда я заметил, что творятся страные вещи. Вот мне игра была неинтересна (конечно, она же разрабатывалась для детей), а мой знакомый говорил обратное. Дизайнер восхвалял продукт, мой напарник хвалил, инвесторы были в полном восторге.
Вы что ребята!!?? Этот продукт для детей, а вы тут все его нахваливаете будто сами все время играли бы.
Продажи
Наверно читатель уже догадался, что успешных продаж не было, а было фиаско. Игра лежала в GooglePlay и ее никто не качал. Вообще никто. Было немного скачек, подозреваю что это были наши скачки. Тогда соучредители распорядились запустить рекламу в fb, vk, instagram, может еще где-то. Сделали, но продаж не было. Каких продаж, загрузок почти не было. На продукт потратили около 1.1 млн руб.
Заключение, ошибки
Какие я вижу сейчас ошибки. Ошибок было много, не то чтобы много, почти все - это ошибка. Но есть и позитивная сторона - это опыт. На мой взгляд все что принес этот проект лично мне - опыт и немного зарплаты.
Какой опыт я извлек.
Непонятно откуда и как родилась идея разработки конкретно этой игры, механики. Не было проведено какого-то анализа, изучения рынка. Если и был анализ, то что-то пошло не по плану;
Обычные люди 35-45 лет не понимают что понравится их ровестникам. Более того, они тем более не понимают что понравится 14-и летнему мальчику или девочке. У каждой категории игроков своя специфика. Дети не исключение. Им нравится на порядок более сложные вещи чем я когда-то ожидал по неопытности;
Тесты. Нужно все время тестировать на целевой уадитории и только на ней;
Непонятно как должно было работать продвижение. Положил в магазин и все само начало продаваться? Воокруг продукта не было создано ажиотажа, да и как его вообще можно было создать...
За каждый отдельный участок разработки должны отвечать специалисты. Не стоит считать что ты что-то понимаешь в написании сценария, если ты его никогда не писал. Да, у тебя есть руки, мозг, рот, но это не делает тебя Чеховым или Толстым. Можно думать что ты хороший пловец только потому, что у тебя есть руки или ноги, но ты никогда не плавал. Удастся ли человеку вообще поплыть, если до этого он никогда не плавал? Сможет ли человек попасть в баскетбольное кольцо, если никогда не кидал мяч? Можно продолжать, но думаю идея понятна;
За маркетинг должны отвечать соответствующие люди, а не тот у кого есть свободное время чтобы им заняться. Желательно чтобы соучредители разбирались в этой теме;
Тот кто отвечает за тесты должен иметь спецобразование. И опыт. В идеале он долден быть психологом;
Проводить тесты игры нужно так, чтобы тестирующего не было видно. В идеале игрок должен не знать что за каждым его движением, за каждым сокращением мышц следят. Не говорю о том, что тестирующему вообще запрещено говорить и что-то обсуждать с игроком. Все обсуждения можно делать в конце теста;
У разработчиков может быть помутнение рассудка. Не знаю как, почему. Это странно, но вся команда массово может не замечать банальной огромной проблемы. Я не знаю как это вообще возможно;
На эту тему у меня был интересный опыт. Я познакомился на одном из геймджемов с группой разработчиков и они разрабатывали файтинг-игру. Ничего такого, кроме сложного управления которое переросло просто в нереально сложное. Я геймпад тогда не мог держать нормально чтобы нажимать необходимые клавиши. Спросил у разработчика как они хотят чтобы люди нажимали определенную комбинацию на что разраб взял геймпад так как никто бы не догадался и показал как надо клавиши нажимать. Я бы никогда не догадался так держать геймпад. Что интересно, все в этой команде знали про этот лайфхак. Не знаю как у них сложилось с управлением, но люди не осьминоги с 8-ю щупальцами. Подозреваю что многие игроки (если не все) не догадались как успевать нажимать неудобную комбинацию.
Вроде это основные уроки, которые удалось извлечь :)
Ранее опубликовал этот же пост на ДТФ. Внутри команды сейчас у нас идут бурные обсуждения того как будем продвигать проект. Не хотелось бы сесть в лужу с этим проектом. Пользуясь моментом прошу взглянуть на нашу новую игру в Steam: TOTAL RELOAD. Был бы очень благодарен если бы Вы оставили свое мнение о страничке магазина (в коментах).
Как можно улучшить парирование?
Сейчас парирование в AWAKEN - Astral Blade останавливает время и позволяет провести мощные или специальные атаки. Что скажете, хорошо ли выглядит эта система для метроидвании?
Поиграть и понять как это ощущается можно в демке в Steam:
Нейросети, которые генерируют сайты
Galileo генерирует UI дизайн по запросу и картинке. Хорошая находка для UI-дизайнеров. После генерации вы сможете редактировать макет прямо на сайте или экспортировать в Figma. Бесплатно дают 200 кредитов это примерно 20 генераций
Dorik AI Website Builder — новая нейросеть, генерирующая сайты по вашему текстовому запросу. Подробнее в этом посте
Permar — генератор лендингов
Хотите быть в курсе полезных ии сервисов для работы, учебы и облегчения жизни? Подпишитесь на мой канал в Telegram НейроProfit, там я рассказываю о том, как зарабатывать с помощью нейросетей и использовать ии-сервисы для бизнеса 😉
Если вы профи в своем деле — покажите!
Такую задачу поставил Little.Bit пикабушникам. И на его призыв откликнулись PILOTMISHA, MorGott и Lei Radna. Поэтому теперь вы знаете, как сделать игру, скрафтить косплей, написать историю и посадить самолет. А если еще не знаете, то смотрите и учитесь.
Разыгрываем 1 копию Crushed в Steam [#1]
Разыгрываем 1 ключ от Crushed, итоги 16 февраля.
Что-бы принять участие:
1. Подписаться на игру в Steam и добавить в желаемое.
2. Оставить комментарий для связи.
Сайт игры: nipobox.com/crushed
Игра доступна в Steam и VK Play. Так-же есть официальная Wiki.
UPD:
Победил: pikabu.ru/@eqvipe