Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
«Дурак подкидной и переводной» — классика карточных игр! Яркий геймплей, простые правила. Развивайте стратегию, бросайте вызов соперникам и станьте королем карт! Играйте прямо сейчас!

Дурак подкидной и переводной

Карточные, Настольные, Логическая

Играть

Топ прошлой недели

  • AlexKud AlexKud 38 постов
  • SergeyKorsun SergeyKorsun 12 постов
  • SupportHuaport SupportHuaport 5 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня

Android + Программирование

С этим тегом используют

Игры Смартфон Приложение iOS Телефон Google Play iPhone IT Программист IT юмор Разработка Python Картинка с текстом Юмор Все
379 постов сначала свежее
2773
gggggg122
gggggg122
1 год назад

Service Workers как причина некоторых тормозов старых телефонов⁠⁠

Со временем на любом компьютере или телефоне накапливается мусор, который сильно затормаживает систему. В интернетах есть куча статей как почистить кэши, какие программы удалить, и т.д. Самое эффективное, конечно, это сбросить всё к заводским настройкам и переустановить систему. Но это не наш вариант. Кроме разных кэшей есть ещё одно не очевидное место, где копится мусор, который может активно грузить систему – это ServiceWorker в браузере.

Краткое описание технологии

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

Технически это JavaScript-файл, который устанавливается в специальное место браузера и остаётся там навсегда. Он может продолжать выполнять какие-то действия даже после закрытия вкладки. Еще хуже то, что, если вы случайно дали разрешение на показ уведомлений какому-то подозрительному сайту, то ваш браузер фактически может стать частью бот-нета, который может творить любую дичь без вашего ведома, например, майнить крипту, досить сайты, и тд.

В фоновом режиме сервисворкер может работать до 5 минут после последнего события, которое его пробудило:

  1. Открытие сайта

  2. Поступлении push-сообщения (требуется дать разрешение сайту на отправку уведомлений)

  3. Периодическая фоновая синхронизация (но для этого нужно «установить» сайт на экран «домой»)

В чём опасность PUSH

В этой технологии есть 2 элемента. Это механизм доставки данных на устройство, называемый Push API, и методы отображения уведомления на устройстве – Notification API. Слава разработчиком, Push API не работает без разрешения на Notification API. Но это означает, что, если вы дали разрешение на показ уведомлений, то ваше устройство будет принимать команды от сайта и выполнять какие-то действия. Действия могут быть разными, например: показать уведомление, загрузить в кэш свежие новости, помайнить крипту, задосить сайт и тд. При этом показывать какие-либо уведомления не обязательно.

Кроме того, однажды установленный сервисворкер остаётся в устройстве до тех пор, пока вы не удалите историю браузера (т.е. останется навсегда))), а значит через год-два активного использования телефона количество установленных сервисворкеров может быть сотни и тысячи. И они однозначно будут влиять на общую производительность системы.

К примеру, давайте посмотрим, на сервисворкер пикабу. Файл находится по адресу https://pikabu.ru/sw.js . Там очень много непонятного кода, где-то с середины начинаются какие-то математические вычисления (chatgpt сказал: «Код в этом фрагменте обрабатывает сжатые данные с использованием алгоритма сжатия DEFLATE»), кроме того, там есть функции работы с веб-сокетами, а еще встречается очень страшное слово – eval, прости господи.

Service Workers как причина некоторых тормозов старых телефонов Android, Тормозит ПК, Программирование, Информационная безопасность

Что там вообще происходит – лень разбираться, наверное, что-то для «улучшения пользовательского опыта». Будет ли такой скрипт тормозить систему? Возможно, чуть-чуть. А если подобных скриптов накопятся сотни или тысячи?

Что делать?

Запретить показ уведомлений для всех сайтов:

  • Настройки – настройки сайтов – уведомления – запретить сайтам отправлять уведомления.

  • Там же почистить раздел «разрешено показывать уведомления» от неизвестных сайтов

Периодически чистить сервисворкеры или отключать их:

для Chrome (windows и android):

  • Заходим по ссылке chrome://serviceworker-internals/ и ужасаемся количеству

  • Упорно тыкаем на кнопки Unregister до тех пор, пока они не закончатся.

Для Safari (iphone и ipad):

Как простыми средствами посмотреть список установленных воркеров я найти не смог, но можно отключить навсегда эту заразу:

  • Настройки – Safari – Дополнения – Experimental Features – Service Workers – отключите галку

Для Safari на маках не подскажу – под рукой нет макинтоша =)

Результат проведения эксперимента на себе

Имеется дешманский андроид примерно 2019 года выпуска, постепенно из шустрого смартфона превращается в дико тормозной кирпич. Иногда подвисал секунд на 30. После удаления сервисворкеров субъективно подобных зависаний стало меньше.

Показать полностью 1
[моё] Android Тормозит ПК Программирование Информационная безопасность
260
LeanF1lZzZ
LeanF1lZzZ
2 года назад

Как настроить WireGuard VPN на мобильном телефоне?⁠⁠

Рассказываю как настроить WireGuard VPN на мобильном телефоне (android или iphone)!

[моё] Программирование IT Программист Смартфон VPN Wireguard iPhone Android Видео YouTube
4
0
EdWilde
EdWilde
2 года назад
Серия Logic Islands.История создания

#2 Как я написал игру-пазл с помощью chatGPT⁠⁠

Всем добра!

В прошлом посте я начал рассказывать про игру-пазл "Logic Islands", на создание которой меня вдохновил chatGPT, и у меня возникло жгучее желание выпустить ее на мобильных платформах.

Очень прошу поддержать, если моя история может показаться интересной, и я попытаюсь ее рассказать до конца :)

Я долго думал, о чем хочу поделиться в этой части рассказа. Дело в том, что перенос в Андроид оказался очень легким. Чатбот был проапгрейжен до 4-й версии. И, имея готовый код на JavaScript, перенос основной логики был очень простым. Тем не менее мой бюджет был равен нулю, а мне нужно было создать ресурсы, чтобы сделать приложение чуть более привлекательным.

К этому моменту задумка приложения была такой:

  • Минималистичный дизайн, без аляповой графики в спокойных цветах

  • Игра без звука (сам всегда так в пазлы играю)

  • Игра без вибрации

  • Без использования игрового движка

  • Есть встроенная реклама

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

Я точно определился, что игра будет содержать рекламу. Но не хотел, чтобы она была навязчивой. Идея сделать 5 проверок на ошибки, 5 подсказок. Если пользователь захочет их восстановить, то ему будет показана реклама. Очень хотелось, чтобы можно было проходить уровни только решая их логически, чтобы пользователь не был вынужден смотреть много рекламы. Чтобы реклама при переходе между уровнями могла быстро скипаться и запускалась без звука.

День четвертый

chatGPT рассказал с чего начать, какая концепция построения приложений для Android. Описал жизненный цикл приложения. В плане игровой логики было просто, у меня уже были готовые функции, которые нужно переписать на Kotlin, но в плане построения интерфейса были вопросы. Точнее полное отсутствие любых знаний. Ну что ж. Описал идею боту, на что он сходу предложил разметку экрана:

#2 Как я написал игру-пазл с помощью chatGPT Программирование, IT, Android, ChatGPT, Длиннопост
#2 Как я написал игру-пазл с помощью chatGPT Программирование, IT, Android, ChatGPT, Длиннопост

после нескольких вопросов бот рассказал, что в андроиде есть опорные линии, к которым можно привязывать элементы. Можно определить их положение в процентном отношении от размера экрана и привязывать все нужные мне элементы к этим линиям. Это позволит всем элементам находиться там, где я хочу, вне зависимости от размеров экрана устройства.

Также бот предложил использовать изменяемый background для ячеек поля и использование тегов, чтобы я из кода управлял их состоянием. Предложил на основе моего JavaScript кода аналоги функций генерации островов, декодирования уровней и заполнения поля нужными элементами. Новые функции бот тоже добавлял легко и быстро по словесному описанию:

#2 Как я написал игру-пазл с помощью chatGPT Программирование, IT, Android, ChatGPT, Длиннопост

Удивительно, но за несколько дней у меня уже был работающий прототип на Android, который читал уровни из файлов и строил по ним игровое поле. Kotlin оказался простым для понимания и я уже начинал какие-то строчки кода писать сам. Если были ошибки, спрашивал чатбот, где я ошибся.

Через короткий промежуток времени у меня уже была навигация между экранами приложения, готовые экраны для игры в предустановленные уровни и случайно генерируемые.

Функции чтения из файла, сохранения игрового прогресса и даже сохранения состояния уровня в памяти устройства бот взял на себя. Аналогично он сходу выдавал изменения разметки для экранов, кнопок, анимаций кнопок и даже умудрился сгенерировать векторное описание красного креста, который я использовал для демонстрации ошибок.

#2 Как я написал игру-пазл с помощью chatGPT Программирование, IT, Android, ChatGPT, Длиннопост
#2 Как я написал игру-пазл с помощью chatGPT Программирование, IT, Android, ChatGPT, Длиннопост

Хотя позже я его все равно заменил на иконку. Просто был приятно удивлен, что бот умеет и такое.

#2 Как я написал игру-пазл с помощью chatGPT Программирование, IT, Android, ChatGPT, Длиннопост

Пришло время поработать над ресурсами. Как минимум мне были нужны:

  • Анимация завершения уровня

  • Картинка заднего фона игры

  • Логотип приложения

  • Иконка приложения

    Забегая немного вперед, для размещения в google play так же нужны:

  • Логотип разработчика (512x512)

  • Header image (4096x2304) – ни больше ни меньше!

  • И для страницы приложения Feature graphic - 1,024 px by 500

Анимация

В создании анимации я силен чуть меньше, чем в программировании. Тогда бот предложил использовать анимации с различных ресурсов, например lottiefiles, оговорившись, что нужно проверять их лицензии. Удивительно то, что это заработало с первого раза (почти)

#2 Как я написал игру-пазл с помощью chatGPT Программирование, IT, Android, ChatGPT, Длиннопост
#2 Как я написал игру-пазл с помощью chatGPT Программирование, IT, Android, ChatGPT, Длиннопост
#2 Как я написал игру-пазл с помощью chatGPT Программирование, IT, Android, ChatGPT, Длиннопост

Иконки

Также я понял, что в приложении нужны иконки, которые будут размещены на кнопках, иконки для навигации и перезапуска уровня. Бот посоветовал взять Material Symbols с сайта гугла. Поэтому вопрос создания собственных ассетов удавалось обойти

Картинка фона

Я хотел какую-нибудь нейтральную голубую картинку, чтобы фон отдаленно напоминал воду. Но текстурированная картинка, которую я случайно поставил в качестве фона, мне тоже нравилась Поэтому за идеями пошел в DALL-E с запросом “light blue vertical textured background”

#2 Как я написал игру-пазл с помощью chatGPT Программирование, IT, Android, ChatGPT, Длиннопост

После недолгих раздумий победила третья картинка слегка отрезанная снизу.

Логотип игры

За идеями пошел к... DALL-E. Запрос звучал «logo with text "Logic Islands" in modern style»

DALL-E точно не умеет генерировать картинки с осмысленным текстом. Перебрав несколько генераций, интересной показалась идея на второй картинке

#2 Как я написал игру-пазл с помощью chatGPT Программирование, IT, Android, ChatGPT, Длиннопост

Наспех сделал то, что потом буду дорабатывать в лого. Шрифты подбирал в «logo maker», потом чуть подпиливал в Gimp

#2 Как я написал игру-пазл с помощью chatGPT Программирование, IT, Android, ChatGPT, Длиннопост

И позже доработано в более нейтральный

#2 Как я написал игру-пазл с помощью chatGPT Программирование, IT, Android, ChatGPT, Длиннопост

Иконка приложения

Опять же DALL-E по запросу «An app icon for a puzzle game with islands, grid, and numbers. Ensure a clean, modern design suitable for Android and iOS.» старался как мог. Чем-то понравился третий вариант в этой генерации, но позже я от него откажусь

#2 Как я написал игру-пазл с помощью chatGPT Программирование, IT, Android, ChatGPT, Длиннопост

Изображения страницы разработчика

Для оформления картинок для страницы разработчика и приложения решил использовать тему роботов, намекая, что не совсем человек разрабатывал приложение. И если с лого разработчика проблем не оказалось, то Header image (4096x2304) поставил меня в тупик. DALL-E гененирует картинки только 1024.

Подумав, проапскейлил изображение с помощью Let's Enhance. Показывать его тут не буду, оно мне все еще не нравится

Feature graphic - 1,024 px by 500

Эта картинка будет показываться в google play в поисковой выдаче. Туда можно добавить видео или картинку, которая показывает, насколько приложение афигенно. DALL-E вызвался добровольцем в генерации идей:

«3d picture of water surface. a brown square of the earth. A cute robot stands on the ground and looks at the phone screen»

#2 Как я написал игру-пазл с помощью chatGPT Программирование, IT, Android, ChatGPT, Длиннопост

В целом показалось, что есть потенциал в первой картинке и ее как раз можно обрезать до 500 px. Робот конечно же должен смотреть на игровое поле разработанного им пазла. После доработки в Gimp итоговое изображение получилось вот таким:

#2 Как я написал игру-пазл с помощью chatGPT Программирование, IT, Android, ChatGPT, Длиннопост

День десятый

После поднастройки цветов текста, иконок и элементов игрового поля версия игры стала выглядеть так:

#2 Как я написал игру-пазл с помощью chatGPT Программирование, IT, Android, ChatGPT, Длиннопост

Было очевидно, что элементы расставлены криво, есть проблема с изменением формы кнопок и элементов игрового поля при выборе разных размеров. Вот как выглядели мои скругленные кнопки на большом поле. Явно что-то не то с пропорциями:

#2 Как я написал игру-пазл с помощью chatGPT Программирование, IT, Android, ChatGPT, Длиннопост

На этом этапе я решил переключиться на iOS, чтобы понять, смогу ли я повторить это же приложение на другой платформе.

В итоге эта часть разработки оказалась приятной из-за своей простоты. Размещение элементов на экране в Android оказалось достаточно простым для моей задачи.

  • chatGPT явно хорошо ориентируется в Android. Он с легкостью выдает советы по разметке и генерирует различные куски кода, сообщая, что нужно еще добавить те или иные файлы разметок.

  • Я не вышел за лимиты 25 сообщений в три часа, и вся разработка поместилась в один диалог, поэтому бот ни разу не терял контекст до самого конца и прекрасно ориентировался во всем моем коде и всех элементах.

  • В итоге код был понятным и легко читаемым. Думаю, где-то около половины кода приложения в итоге написано ботом, остальные части я дописывал уже сам, но используя его наработки. Если у меня возникали ошибки, бот их быстро находил и предлагал варианты решений.

На этот прототип у меня ушло около недели. С учетом высокой загруженности на основной работе я посчитал результат очень достойным. И почему-то решил, что перенос всех наработок в iOS тоже не займет много времени. Наивным был, о чем и хочу рассказать в следующей части.

Показать полностью 18
[моё] Программирование IT Android ChatGPT Длиннопост
0
10
EdWilde
EdWilde
2 года назад
Серия Logic Islands.История создания

Как я написал игру-пазл с помощью chatGPT⁠⁠

Приветствую сообщество!

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

Немного обо мне. Я работаю давно в сфере IT, но сам не являюсь разработчиком от слова совсем. То есть я пробовал разные языки программирования, начиная с Pascal, Basic, C, был немного опыт разработки в C#, но это все никак не было связано с работой, а просто делал что-то для себя, как хобби.

У меня давно было желание сделать приложение для мобильных платформ. Даже была идея одной игры, но как подступиться к ней я не знал.

С декабря в мою жизнь прочно вошел chatGPT, который я стал использовать в своей работе. Игнорируя все приколы про его придуманные факты, я начал находить его весьма полезным. Он мне помогал то формулы в Excel написать, то документы вычитать и исправить орфографию, то просто поспрашивать его различные факты.

Несколько раз я просил chatGPT придумать концепцию новой игры для мобильных платформ. Каждый раз результат был так себе, в духе, «давай сделаем игру про космический корабль, который нужно развивать и чинить, а игроки будут соревноваться, кто больше очков наберет». После нескольких попыток я понял, что мой запрос выглядит так себе, поэтому и результат не очень.

День первый

Я стал более специфичным в своих запросах. В один день я пробовал запросы вида:

“Придумай новую головоломку для телефона с новой механикой, которая ещё никогда не использовалась с примером игрового поля и его прохождением”. Ответы стали интереснее. Если я видел что-то необычное, я просил chatGPT рассказать, как играть в эту придуманную игру. Среди десятков мусорных ответов с абсолютно ужасным концептом чат мне выдал вот такое:

Как я написал игру-пазл с помощью chatGPT Программирование, Программист, IT, ChatGPT, Android, iOS, Длиннопост
Как я написал игру-пазл с помощью chatGPT Программирование, Программист, IT, ChatGPT, Android, iOS, Длиннопост
Как я написал игру-пазл с помощью chatGPT Программирование, Программист, IT, ChatGPT, Android, iOS, Длиннопост

Не помню точно, что меня заинтересовало, так как это была бы очередная примитивная игра. Но мне показалось интересным наличие цифр вокруг игрового поля, что напомнило мне о японских кроссвордах. Так же показалось интересным, что на игровом поле есть какие-то объекты с цифрами.

Я решил немного модифицировать эту идею, что мы должны находить острова нужного размера. А рядом с полем указывается количество ячеек земли в каждой строчке и колонке. Как бы такой вывернутый наоборот японский кроссворд. Я начал искать в интернете, есть ли уже подобная игра. И именно в таком виде не нашел. С этой идеей я и ушел спать. Ну как спать, до трех ночи думал об этой идее. Название было решено изменить. Игра будет называться "Logic Islands"

День второй. Выходной

Была суббота. На работу было не нужно. Я заперся в комнате от семьи и начал новый чат.

Заход №1. Я описал идею chatGPT и попросил сгенерировать код на Android. По-моему, я удалил уже тот чат за ненадобностью, но офигевший от моего запроса бот сказал, что он бессилен, однако может в целом рассказать, как делают игры: пишешь, тестируешь, играешь

Заход №2. Тогда я попросил сгенерировать код на JavaScript. Бот сказал, что с радостью поможет с отдельными частями, но опять же он не был создан для того, чтобы писать игры целиком.

Заход №3. Значит буду разбивать все на подзадачи и делать их отдельно. Сначала я попросил бота сгенерировать код для создания игрового поля. По-умолчанию 5x5, но, чтобы его размер был в переменной. Ушло на это попыток 10. Каждый раз генерируемый код был ужасный и бот не мог сформировать просто таблицу с правильными стилями. В одну из попыток результат оказался таким.

Как я написал игру-пазл с помощью chatGPT Программирование, Программист, IT, ChatGPT, Android, iOS, Длиннопост

Следующим шагом стала обработка логики взаимодействия с полем. Мне нужно было, чтобы при нажатии на ячейку в таблице ее состояние менялось по кругу: пусто -> земля -> вода. Бот с радостью выдавал готовые куски текста. Мои знания в JavaScript все еще околонулевые. Я могу только пытаться брать куски кода и добавлять их к себе, проверять и просить чинить ошибки:

Как я написал игру-пазл с помощью chatGPT Программирование, Программист, IT, ChatGPT, Android, iOS, Длиннопост

К 21 попытке спросить одно и то же, я получил работающий код. Теперь ячейки стали кликабельными и меняли свой цвет. Так же он неплохо справился с добавлением ячеек вокруг таблицы. Не забыв сломать мои стили

Как я написал игру-пазл с помощью chatGPT Программирование, Программист, IT, ChatGPT, Android, iOS, Длиннопост

Я попросил его объединить два кода, из первого взять таблицу, из второго – логику кликов по ячейкам и поля вокруг таблицы. С первого раза бот новый работающий код. Теперь таблица стала выглядеть лучше

Как я написал игру-пазл с помощью chatGPT Программирование, Программист, IT, ChatGPT, Android, iOS, Длиннопост

Пришло время написать игровую логику. Я попросил бота написать функцию генерации островов. Правила простые, расставляем нужное количество начальных точек, чтобы они не соприкасались, и начинаем каждую из них наращивать по горизонтали и вертикали, пока есть куда расти. Соприкасаться острова не должны.

В этот момент произошла какая-то магия. Бот сгенерировал несколько последовательных функций, которые предложил использовать в других функциях.

Как я написал игру-пазл с помощью chatGPT Программирование, Программист, IT, ChatGPT, Android, iOS, Длиннопост

Почему мне это показалось интересным?.. До этого я прыгал из диалога в диалог. А сейчас писал все в одном чате. Выяснилось, что бот помнит весь наш разговор. Он указывает куда и что мне нужно добавить и пишет уже целые блоки больших функций.

Магия рассеялась, когда оказалось, что его код не работает. А для моего понимания он оказался слишком сложный. Через час отладки, я понял, что бот допустил логическую ошибку. Никакой из островов не может вырасти, потому что он будет соприкасаться…сам с собой. Я предложил боту изменить алгоритм. Мы формируем случайный массив начальных точек, нумеруем их. Дальше пытаемся вырастить остров в случайном направлении. Если он не соприкасается с ячейками другого острова, то можно продолжать рост. Так у меня появилось два массива, которые могут описать уровень: seeds – начальные точки и islands – массив, который будет содержать выросшие острова. Бот сгенерировал новые функции по словесному описанию.

Как я написал игру-пазл с помощью chatGPT Программирование, Программист, IT, ChatGPT, Android, iOS, Длиннопост
Как я написал игру-пазл с помощью chatGPT Программирование, Программист, IT, ChatGPT, Android, iOS, Длиннопост
Как я написал игру-пазл с помощью chatGPT Программирование, Программист, IT, ChatGPT, Android, iOS, Длиннопост

Теперь я вижу, что острова начали заполнять пространство игрового поля. В целом выглядело все хорошо

Как я написал игру-пазл с помощью chatGPT Программирование, Программист, IT, ChatGPT, Android, iOS, Длиннопост

Осталось спрятать все эти циферки и вывести их только на начальной ячейке, например вот так

Как я написал игру-пазл с помощью chatGPT Программирование, Программист, IT, ChatGPT, Android, iOS, Длиннопост

Пришло время обрабатывать условия выигрыша. Я попросил бота посчитать количество клеточек земли в таблице, и если их столько сколько указано в строках или столбцах, выделять жирным. Если все это выполнилось и пользователь собрал остров нужного размера, то игра считается выигранной. Но бот стал ломать мне код игры и заходил в тупик в попытках его починить. Я стартовал новые чаты, где снова и снова просил найти ошибки, починить их и сгенерировать новый код заново. Старые чаты удалял, чтобы не путаться в них. К сожалению, я удалил и нужный мне чат, в котором успешно закончил доработку :(. Наши последний успешный диалог я начинал с того, что копировал весь код игры, объяснял концепцию игры и просил добавлять ту или иную функцию. Например, кнопку проверки на ошибки, или вывода подсказки, или открытия всего поля. Бот стал прекрасно ориентировался в контексте, и его функции стали 100% рабочими. К вечеру первого дня я появился на семейном ужине и показал концепцию. Еще очень сырую. Мне было важно понять, интересна ли она:

Как я написал игру-пазл с помощью chatGPT Программирование, Программист, IT, ChatGPT, Android, iOS, Длиннопост

К моему удивлению, очень сильно заинтересовались мои дети. Они просили дать им попробовать. Супруга тоже одобрила, сказала, что идея выглядит интересной.

День третий. Выходной

Половину следующего дня я провел за добавлением элементов управления. Так как я исходно просил генерировать код с использованием переменных, то бот только сгенерировал мне контролы, которые помогают эти переменные устанавливать. Так я получил работающий прототип, в котором можно выставлять различные параметры, чтобы найти те, с которыми было бы интересно играть. Если уровень пройден и он понравился, то, оценив уровень сложности, его можно сохранить в закодированном виде:

Как я написал игру-пазл с помощью chatGPT Программирование, Программист, IT, ChatGPT, Android, iOS, Длиннопост

Это был первый раз, когда я решил сам попробовать решить этот пазл за два дня разработки. До этого все тестирование логики я вел на двух тестовых уровнях.

Некоторые уровни были суперсложными, некоторые нужно было подумать, но они решались логически, и мне даже нравилось их проходить. В семейном кругу решили, что концепт годный и нужно продолжать.

Поэтому у жены появилась задача: начать играть в эту игру, чтобы насобирать интересных уровней :) А я пошел изучать, насколько сложно разрабатывать под Android

Что мне точно понравилось в этом:

  • chatGPT умеет генерировать идеи. Насколько они новые и свежие оценить сложно.

  • chatGPT написал около 95% кода на JavaScript. Я до сих пор не могу утверждать, что я хоть что-то знаю в этом языке. Если бы мне сейчас пришлось написать что-то с нуля, я бы растерялся.

  • chatGPT можно использовать как справочник. Попросить объяснить, как делаются те или иные вещи, привести примеры кода, объяснить участки кода.

  • chatGPT умеет искать ошибки в коде. Он умеет модифицировать мои функции по словестному описанию, он умеет писать код по аналогии. То есть если я что-то поправил для расчета столбцов, я пишу: вот так работает, сделай тоже самое для строк.

  • chatGPT хорошо держит контекст. Общаясь с ним в одном диалоге, он помнит историю разговора и может напомнить мне, что после моих изменений я еще должен вернуться в другую функцию и сделать изменения там. Они придерживается названия моих функций и моих переменных.

Какие особенности я заметил:

  • Иногда chatGPT зацикливается. Он предлагает исправлять ошибку способом номер 1, потом когда этот способ не работает, предлагает способ номер 2. Если второй не работает, говорит, что конечно не работает (!!!), потому что нужно делать иначе, и предлагает снова первый способ с ошибкой. Выйти из этого можно, открыв новый чат, предоставить снова весь контекст, описать как не работает и попросить подумать, как можно сделать иначе. А если попросить в конце: "подумай хорошо!" то результат может быть еще лучше.

  • Иногда chatGPT упорствует, где этого бы не следовало делать. Был момент, когда он говорил на явно неработающий код, что в его коде все верно, и мне нужно искать ошибку у себя.

  • Иногда бот допускает логические ошибки или предлагает сложные пути решения. Всегда полезно спросить есть ли другие варианты. Очень часто они есть. Иногда они проще.

В общем и целом мне очень понравилось, что с нулевыми знаниями программирования за полтора дня был готов прототип.

С ощущением, что теперь мне море по колено я решил попробовать перенести приложение на Android и, возможно, iOS. Впереди еще полтора месяца разработки и решения различных проблем, связанных с самой разработкой, работой над ассетами и с публикацией. Если вам интересно, намекните об этом в комментариях и я продолжу. Надеюсь сделать серию постов, если не сильно захейтите :)

PS: ну и да, обычно я читатель, а не писатель

Показать полностью 15
[моё] Программирование Программист IT ChatGPT Android iOS Длиннопост
2
SystemCook
SystemCook
2 года назад
Кулинарная мастерская
Серия SystemCook

Кулинарное приложение SystemCook доросло до версии 9.5 (04.05.2023)⁠⁠

Кулинарное приложение SystemCook доросло до версии 9.5 (04.05.2023) Android, Мобильные телефоны, Кулинария, Рецепт, Программирование, Видео, YouTube, Длиннопост, Еда

Отчитываюсь по разработке: нашелся изначально неочевидный способ внедрить в UI/UX приложения HTML-верстку со всеми прилагающимися плюшками (CSS, Javascript), так что передаю горячий привет всем, кто жаловался на "интерфейс, несоответствующий современным стандартам". Верхняя картинка - шутка для верстальщиков. Версия 9.5 является промежуточной перед 10.0, потому что исправлять под новый UI весь функционал слишком долго и хлопотно, и чтобы выпустить эту красоту пораньше я решил выдать версию с ограниченным новым функционалом (старый работает как раньше). К тому же есть исправления в базе, которые работают только с новой версией.

Новое в версии 9.5

1. Новый модный современный интерфейс рецептов на главном экране

2. Оптимизация кода

3. Увеличение производительности

4. bugfix'ы

Все подробности в видео (ссылки на скачку в описании под видео)

Показать полностью 1 1
[моё] Android Мобильные телефоны Кулинария Рецепт Программирование Видео YouTube Длиннопост Еда
11
79
Rumantic
Rumantic
2 года назад
Лига программистов

Сложный проект для программиста – это шанс вырасти⁠⁠

Начиналось все буднично, сначала клиент захотел на сайте запилить голосовалку, чтобы были пункты вопросов, посетитель выбирает оценку от одного до пяти за каждый вопрос, затем составляется сумма и в конце выдается определенный результат. Тестирование в чистом виде.

Работа шла, я быстренько накидал несколько компонентов на Vue, соединил с бекендом показал, все отлично, конечно некоторые правочки все равно возникли, но их быстро доделал уже в бизнес-логике готовых компонентов.

Но когда я принимаюсь за проекты, то у клиента чудесным образом появляется неуемная энергия фантазировать новые задачи. В этот раз случилось такое же. Следующая задумка – сделать калькулятор работ, чтобы любой желающий подрядчик смог зарегистрироваться, указать стоимость своих работ, а калькулятор смог бы составлять сметы под определенные объекты недвижимости, для каждого из подрядчиков. Удобно, интересно, делаем.

Сделал все красиво, потом некоторые уточнения.

Но на этом не остановились, следующий на очереди оказался видео-чат. Захотелось клиенту устраивать конференции с клиентом на сайте, чтобы не использовать стороннее ПО, такие как зум, телемост или гугл-мит, чтобы можно было это все забрендировать.

Клиент хороший и исправно платит, почему бы и не попробовать, наверняка я смогу найти решение.

Вот тут я вступил в область неизведанного и так называемую зону роста. Сначала я долго изучал, как в принципе работают эти видеоконференции. Узнал про WebRTC и все что с ним связано. Понял, что для чего-то работающего на приемлемом уровне надо будет написать очень много низкоуровневого кода, плюс нужен довольно мощный сервер и администрирование этого чуда обернется адом.

Затем естественно вышел на провайдеров, которые предоставляют в готовом виде решения с проработанными SDK под разные языки программирования. На российском рынке ничего вменяемого не нашел, есть некоторые с конскими ценами, отсутствующей документацией, вероятно заточенные под гос.сектор для распила бюджетов. На западе этого добра навалом, среди них самые крупные это Twilio, Agora, возможно есть еще, но мне хватило того, что я нашел отличнейшую документацию по Agora, богатый набор SDK практически под все популярные платформы, а на codecanyon – практически каждый второй проект с видеоконференциями запилен на Agora, это для меня четкий сигнал – решение рабочее. Тем более, что в бесплатном тарифе можно оставаться довольно долго, пока твой сервис не получит должной популярности.

Сложный проект для программиста – это шанс вырасти Программирование, Профессия, Android, Длиннопост

Готовые проекты видеочатов на codecanyon

Самое чудесное, используя SDK для React – первый чат на сайте я запустил уже за пару часов! Было чудесное ощущение, когда потратил на изучение пару месяцев, начиная с первых намеков клиента про такую возможность и в итоге смог воплотить то, что можно потом брендировать, кастомизировать и делать самые невероятные вещи.

Клиенту тоже понравилось, и он был очень рад. Правда уже на следующий день я получил очередную порцию креативных идей и правочек, как можно все это дело улучшить.

Первая серьезная преграда

Первый сложный момент – потребовалось переключать камеру с фронтальной на основную. И тут я выяснил, что переключаться в браузере телефона между камерами просто запрещено, ну или я плохо искал. Только даже в React-SDK этой фишки не было, хотя в других SDK она была реализована.

Пробовал самостоятельно реализовывать переключение кмеры, нашел каким образом устроен вызов функций в SDK и смог отправить команду, только в ответ получил, что доступ к видеокамере в браузере запрещен. Это был для меня первый холодный душ. Как же так? Без правильного переключения идея клиента не реализуется в принципе.

Созваниваюсь с клиентом, объясняю. Клиент понимает и говорит, что надо пробовать искать пути решения. Я пускаюсь в изучение.

Выяснил, что отлично умеет переключаться между камерами нативное Android-приложение и под него отличный SDK. Опыт в Android разработке у меня был небольшой: мог запускать активити, переключать фрагменты и выполнять кое-какие клиент-серверные запросы.

Скачал примеры кода, запустил и все чудесно работало. Я уже подумал, что легко отделался. Только снова правочки.

Клиенту теперь нужно было не просто проводить видеочаты, ему захотелось записывать эти конференции и обязательно сохранять в облаке! Тут я знатно орнул. Но делать нечего, проект зашел уже очень далеко и нужно продолжать работать.

Опять документация, форумы, стековерфлоу. В Agora – запись видео реализована на низком уровне и при этом нужно выполнить несколько сложных запросов для инициализации функции записи, которую потом надо сразу перекидывать в облачное хранилище. Причем запись выполняется в два разных потока для видео и аудио. Тут мне захотелось сказать, что это нереальная задача, потому что судя по форумам эти записи потом нужно было склеивать сторонним ПО.

Но клиент со свойственным ему оптимизмом сказал, что надо придумать решение.

Раз на стороне сервера запись еще совершенно сырая фича, то я понял, надо выполнять запись в самом android-приложении, а затем отправлять с телефона готовый нормальный MP4-файл прямо в облако.

Индус спаситель

Быстренько нашел интересный проект FlipCam замечательного индуса, очень ему благодарен. Только потом я узнал, что в Android есть готовый CameraX.

Из FlipCam я взял активити и библиотеки для работы с камерой и записью видео. Там был хороший открытый метод drawFrame – в котором велась практически прямая работа с OpenGL.

Сложный проект для программиста – это шанс вырасти Программирование, Профессия, Android, Длиннопост

Все было хорошо, пока не дошел до момента, что надо отправлять видеопоток в AgoraRTC. Из официальной документации я нашел такой код.

Сложный проект для программиста – это шанс вырасти Программирование, Профессия, Android, Длиннопост

Официальная документация по отправке своего видео-потока в agora.io

Разработчики agora вы серьезно ставите в документации такие указания? На поиски хоть чего-то, что может пролить свет я потратил две недели. Даже в отчаянии написал индусу из FlipCam, чтобы он мне помог раскрыть секрет рендеринга. Обратился к знакомому Java-кодеру. Он полез в ChatGPT и выдавал мне самые очевидные ответы из документации.

Все упиралось в мое жесткое непонимание и незнание тонкостей OpenGL и всех этих нюансов при работе с Surface, TextureView.

Сначала я смог после изучения тонны китайского кода (похоже, что agora.io писали китайцы), найти как можно получить результирующий буфер после обработки swapBuffer. Нашел код, как из этого buffer сделать BMP, затем трансформацию BMP в YUV и уже из этого YUV сформировать VideoFrame. Только после такой пирамиды клиент на выходе видел слайд-шоу, которое ничего кроме уныния не вызывало. Жуткие тормоза, а иногда приложение просто вылетало и закрывалось.

Клиент очень расстроился, когда после потраченных недель на выходе получил такое. К этому времени он уже наигрался с видеоконференциями Вконтакте и других титанов и говорим мне: вот смотри как все у них быстро и качественно. Мне так хотелось ему сказать – там работают сотни программистов, которые прошарены в этих тонкостях лучше меня, только это клиента скорей всего не интересует, ему нужен качественный продукт.

Упорство, однако вывело меня на чудесную старую версию документации Agora, там я нашел код, который на низком уровне реализовывал конвертацию ByteBuffer из OpenGL в VideoFrame.

Сложный проект для программиста – это шанс вырасти Программирование, Профессия, Android, Длиннопост

Старая версия, спасибо, что ты есть!

Вот спрашивается, почему вы убрали упоминание про этот код из версии 4.x? Почему оно есть в 3.x?

Давно заметил сейчас такую тенденцию – разработчики «во благо» пытаются скрыть все низкоуровневые реализации, оборачивают это какими-то вычурными сахарными простыми контейнерами, видимо для тех, кто вообще не хочет вникать и думать.

В итоге пазл сложился! Я понял, что поток обработки OpenGL и поверхности нужно правильно скрестить и на выходе мы получим правильный результат.

Когда после компиляции и запуска на телефоне я увидел плавную картинку в браузере – мне показалось что огромная гора свалилась с плеч, которая давила меня уже целый месяц.

Вывод

Любые вызовы в программировании можно решить. Главное уметь искать похожие проекты и изучать не только код и официальные примеры, но также смотреть малозвездочные проекты простых индусов и китайцев, иногда там попадаются интересные идеи. А самое главное, если видите сложный проект, то не спешите отказываться от него. Вероятно, это отличная возможность, чтобы утвердиться в новой технологии и получить ценный навык.

Показать полностью 4
[моё] Программирование Профессия Android Длиннопост
27
1
Max13S
2 года назад

Как я сделал игру "Правда или действие" под Android⁠⁠

Всем привет. Я Android разработчик. В текущих условия это довольно сложное занятие если ты пытаешься выкладывать свои проекты в Google Play.)) Новый аккаунт из РФ не создать + отключили монетизацию РФ. Для разработки приложений под Android необходимо знать такие языки как Java и Kotlin, с них я и начал. На первоначальном этапе информации хватает и на русском языке, но чем дальше ты продвигаешься, тем чаше заходишь на англоязычные статьи или видеоролики. Данных по этой теме в сети предостаточно. Google и YouTube могут дать 90% необходимой информации, а если подольше поискать то 100%). В начале пути для понимания всего происходящего я старался писать простые приложения наподобие калькулятора. Спустя время приложения становились всё сложнее и тогда я решил попробовать разместить одно из них в Google Play. На данный момент у меня в копилке 12 игр и приложений. Недавно я создал думаю всем известную игру Правда или действие. Ей я и хотел с вами поделиться. В этой игре я счёл нужным сделать 3 режима игры "Вечеринка", "Пошлая вечеринка" и "Хардкор". Также есть четвертый режим "Всё и сразу". Он объединяет все вопросы и задания вместе. Вопросы и действия я решил разделить по пола (часто встречал в похожих играх что вопросы и действия для девушек попадаются мужчина и наоборот). Так же я исключил возможность повтора вопросов и заданий в одном сеансе, если конечно вы не пройдете их все, что вряд ли, ибо их там достаточно ). Также в действиях добавил взаимодействие между игроками. Например "Настя облизывает ухо игрока Андрей" и т.д Далее пойдут скрины игры и ссылка на Google Play, если кому-то понравится буду рад)

Как я сделал игру "Правда или действие" под Android Игры, Мобильные игры, Android, Игры на Android, Головоломка, Реклама, Приложение, Новое, Обновление, Программирование, Программист, Инди игра, Правда или действие, Gamedev, Разработка, Длиннопост
Как я сделал игру "Правда или действие" под Android Игры, Мобильные игры, Android, Игры на Android, Головоломка, Реклама, Приложение, Новое, Обновление, Программирование, Программист, Инди игра, Правда или действие, Gamedev, Разработка, Длиннопост
Как я сделал игру "Правда или действие" под Android Игры, Мобильные игры, Android, Игры на Android, Головоломка, Реклама, Приложение, Новое, Обновление, Программирование, Программист, Инди игра, Правда или действие, Gamedev, Разработка, Длиннопост
Как я сделал игру "Правда или действие" под Android Игры, Мобильные игры, Android, Игры на Android, Головоломка, Реклама, Приложение, Новое, Обновление, Программирование, Программист, Инди игра, Правда или действие, Gamedev, Разработка, Длиннопост
Как я сделал игру "Правда или действие" под Android Игры, Мобильные игры, Android, Игры на Android, Головоломка, Реклама, Приложение, Новое, Обновление, Программирование, Программист, Инди игра, Правда или действие, Gamedev, Разработка, Длиннопост
Как я сделал игру "Правда или действие" под Android Игры, Мобильные игры, Android, Игры на Android, Головоломка, Реклама, Приложение, Новое, Обновление, Программирование, Программист, Инди игра, Правда или действие, Gamedev, Разработка, Длиннопост
Как я сделал игру "Правда или действие" под Android Игры, Мобильные игры, Android, Игры на Android, Головоломка, Реклама, Приложение, Новое, Обновление, Программирование, Программист, Инди игра, Правда или действие, Gamedev, Разработка, Длиннопост
Как я сделал игру "Правда или действие" под Android Игры, Мобильные игры, Android, Игры на Android, Головоломка, Реклама, Приложение, Новое, Обновление, Программирование, Программист, Инди игра, Правда или действие, Gamedev, Разработка, Длиннопост

Google Play ссылка : Приложения в Google Play – Правда или действие

Показать полностью 8
[моё] Игры Мобильные игры Android Игры на Android Головоломка Реклама Приложение Новое Обновление Программирование Программист Инди игра Правда или действие Gamedev Разработка Длиннопост
3

Попробовать мобильный офис

Перейти
Партнёрский материал Реклама
specials
specials

Мобильный офис до 100 тысяч рублей⁠⁠

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

Протестировали TECNO MEGABOOK K15S вместе со смартфоном TECNO CAMON 40 и наушниками TECNO в рабочих и бытовых сценариях от Zoom-звонков до перелета, а теперь рассказываем, как себя показала техника.

Первое впечатление от дизайна ноутбука

Первое, что заметно — это вес. При диагонали 15,6 дюйма и полностью металлическом корпусе K15S весит всего 1,7 кг. Это примерно на 15% меньше, чем аналоги. Устройство не обременяет ни в офисе, ни в такси. Ноутбук поместился в стандартный городской рюкзак, было удобно достать его в кафе за завтраком и по дороге в такси, чтобы быстро отработать клиентские правки.

1/4

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

Шарнир работает мягко: чтобы открыть крышку даже одной рукой, не нужно придерживать корпус. Чтобы показать коллеге или клиенту презентацию, достаточно раскрыть экран на 180°. Это удобно и для работы лежа, и для подставок, которые требуют определенного угла обзора.

Также отметим 9 портов: USB-A, USB-C, HDMI, слот для карты памяти — можно забыть о переходниках.

В TECNO MEGABOOK K15S предустановлен Windows 11. Ноутбук готов к работе сразу после включения. Никаких лишних установок и обновлений. Все настроено и оптимизировано для вашей многозадачности.

Экран: яркая картинка и комфорт ночью

Экран — 15,6 дюйма, IPS-матрица с разрешением Full HD. Углы обзора отличные: изображение остается четким, даже если смотреть сбоку, цвета не искажаются. Есть антибликовое покрытие. Тестировали ноутбук при разном освещении: можно спокойно работать у окна. Когда солнце бьет прямо в экран, текст по-прежнему остается читаемым, картинки не искажаются. Это редкость в бюджетных моделях.

1/2

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

Стеклокерамический крупный тачпад — 15 см. Он не залипает, не промахивается, срабатывает с первого касания. Не возникает дискомфорта, даже если несколько часов редактировать документы без мышки. После перехода с других устройств немного непривычно, что тачпад работает в двух направлениях: нижняя часть отзывается нажатием, верхняя — касанием.

В кнопку питания встроен сканер отпечатка пальцев. К нему можно быстро привыкнуть, особенно если сидишь в опенспейсе или работаешь в дороге. Один легкий тап пускает в систему даже с мокрыми руками. Безопасно, удобно и не нужно постоянно вводить пароли.

Производительность: рендерим видео, открываем вкладки

Ноутбук работает на AMD Ryzen 7 5825U (опционально можно выбрать версию техники Intel Core i5-13420H). Восьмиядерный AMD с поддержкой 16 потоков подходит для ресурсоемких операций вроде рендеринга или работы с большими массивами данных. Встроенная графика Radeon справляется с редактированием видео в Full HD или играми.

1/4

Во время монтажа 30-минутного ролика в DaVinci Resolve и параллельной работе в Photoshop с несколькими большими PSD-файлами система сохраняла стабильность. Не было ни зависаний, ни заметного падения производительности. Ноутбук уверенно держит в фоне 10 приложений одновременно. Если запущены браузер с 20 вкладками, видеозвонок в Telegram, Excel с объемной таблицей и софт для монтажа, система не тормозит и не перегревается. Переход между окнами остается плавным, ничего не «проседает», даже при одновременном скачивании файлов и редактировании видео.

Базовая комплектация включает 16 ГБ оперативной памяти в двух слотах. При необходимости можно легко увеличить этот показатель до 32 ГБ, заменив стандартные модули на более емкие. Помимо установленного SSD на 1 ТБ предусмотрен дополнительный слот, поддерживающий диски объемом до 2 ТБ.

Чтобы во время нагрузки системы охлаждения не выходили из строя, в ноутбук встроен эффективный вентилятор, способный рассеивать до 35 Вт тепла. Устройство не греется, его спокойно можно держать на коленях. Это решение дополнено тремя режимами работы, которые переключаются простой комбинацией клавиш Ctrl+Alt+T. Тихий режим идеален для работы ночью или в общественных местах, сбалансированный подходит для повседневных задач. Производительный, на котором запускали рендеринг видео и игры, практически не шумит.

Автономность: 15 часов без подзарядки

Протестили автономность MEGABOOK K15S в условиях, знакомых каждому деловому путешественнику. Утром перед вылетом зарядили ноутбук до 100% и взяли его в рейс Москва — Калининград. В зале ожидания провели созвон, потом три часа смотрели сериал и в дороге до отеля редактировали документы. К моменту приезда оставалось 40% заряда: хватило бы еще на пару часов продуктивной работы.

1/3

MEGABOOK K15S может автономно работать до 15 часов и позволяет не оглядываться на индикатор заряда. Заявленное время достигается при типичном офисном использовании: одновременная работа с документами в Word и Excel, ведение переписки, видеоконференции, веб-серфинг.

Если все же понадобится, за  час восполняется до 70% батареи. Компактный адаптер мощностью 65 Вт на базе нитрида галлия поместился даже в карман пиджака. Один блок питания заряжает и ноутбук, и смартфон, и наушники. Экономия места: не нужно никаких дополнительных проводов.

Звук, который реально слышно

В TECNO MEGABOOK K15S установлены два мощных динамика по 2.5 Вт. Звук с глубокими низами, без пластикового дребезжания, объемный. Благодаря DTS можно смотреть видео даже в шумном помещении. В тестах специально включали сцены с шагами и выстрелами: локализация настолько точная, что в наушниках нет необходимости.

Та же стабильность и в микрофоне. Благодаря AI-шумоподавлению голос передается чисто. Во время тестовых звонков из оживленного кафе собеседник не услышал ни разговоры за соседним столом, ни городской шум. И все это — на расстоянии до пяти метров.

Кстати, о созвонах. В ноутбуке встроена обновленная камера. Она отслеживает положение лица, а еще есть физическая шторка приватности. Например, можно закрыть шторку для комфортных видеоконференций.

Для тех, кто предпочитает гарнитуру, идеально подойдут беспроводные наушники TECNO FreeHear 1 из экосистемы бренда. Когда не хотелось делиться разговорами с окружающими, подключали их. Чистый звук с акцентом на средние частоты, 11-мм драйверы, которые выдают неожиданную детализацию. Музыку слушать приятно: и фоновый плейлист на телефоне, и вечерний сериал на ноутбуке. Автономно работают наушники 6 часов, с кейсом — до 30 часов. 

1/2

Bluetooth 5.4 обеспечивает стабильное соединение на расстоянии до 10 метров. Удобная C-образная форма разработана специально для длительного ношения — после восьмичасового рабочего дня в ушах не возникает дискомфорта. Наушники поддерживают одновременное подключение к ноутбуку и смартфону. Переключение между устройствами происходит быстро и без заминок.

Через фирменное приложение Welife можно выбрать один из четырех эквалайзеров и отследить местоположение гарнитуры в случае утери. А еще кастомизировать виджет для управления наушниками. Функция настройки персонализированного дизайна доступна для устройств на Android и позволяет гибко изменить внешний вид окна подключения: вплоть до установки фоновой картинки или собственного фото.

Первые пару использований может потребоваться время, чтобы привыкнуть к нестандартной форме вкладышей, но уже с третьего раза они надеваются вслепую за секунду. Что особенно приятно:  собеседники отмечают, что звук от микрофона более приятный и четкий, чем у дорогих известных моделей.

Бесшовная синхронизация со смартфоном

Благодаря функции OneLeap ноутбук синхронизируется со смартфоном TECNO. Подключение происходит за пару секунд: достаточно один раз подтвердить сопряжение. После этого открывается доступ к бесшовному переключению между устройствами — объединенному буферу обмена, дублированию экранов и передаче файлов без кабелей и пересылок в мессенджерах.

Функция выручила, когда нужно было открыть приложение, у которого нет веб-версии. Удобно работает и буфер обмена: скопировал текст на одном устройстве — вставил на другом. Например, код, полученный в сообщении на телефоне, вводится в браузере на ноутбуке. Экономит минуты, а иногда и нервы. А когда в дороге пропал Wi-Fi, ноутбук сам подключился к мобильному интернету через смартфон.

1/2

TECNO CAMON 40 и сам по себе — мощный рабочий инструмент.  Смартфон выделяется камерой высокого качества 50 Мп, ярким AMOLED-экраном 120 Гц и множеством функций, которые упрощают процесс мобильной съёмки и использование искусственного интеллекта TECNO AI.

Телефон работает на HIOS 15.0.1 на базе Android 15.В фирменную оболочку встроен искусственный интеллект:

  • Голосовой помощник Ella. Отвечает на вопросы, помогает с задачами и управлением устройством.

  • Решение задач. Наводите камеру на задачу, ИИ решает ее.

  • AI Редактор фотографий. Интеллектуальная обработка в одно касание.

  • Быстрый поиск. Находит адрес на экране и запускает навигацию, распознает объекты и события, автоматически добавляет их в календарь.

Технические характеристики

  • Процессор и память. 8 ядер, 16 потоков, Кэш L3 16 МБ, частота до 4.5 ГГц Графический процессор AMD Radeon™ graphics SSD 512 ГБ или 1 ТБ, М.2, 2280, PCle 3.0 Nvme DDR4 16 ГБ, 3200 МГц.

  • Дисплей. 15.6", TFT, Full HD (1920×1080), 16:9, 280нит, 45% NTSC, 16.7 млн цветов, 60 Гц, 141 ррі.

  • Веб-камера. 1 Мп, шторка приватности.

  • Порты. 9 портов: 1*TF Card (microSD), 1*HDMI 1.4, 1*USB-A 3.1,

    1*USB-A 3.2, 1*3.5mm аудиовход, *Ethernet RJ45 до 1 Гбит, 2*Туре-С (Full Function), 1*слот для замка Kensington.

  • Другое. Сканер отпечатка пальца в кнопке питания. Клавиатура с подсветкой (4 уровня яркости). Тачпад с поддержкой одновременно 4 касаний.

  • Батарея. 70 Вт∙ч (6150 мА∙ч), Li-Pol, 11.55 B 65 Вт Type-C GaN, 20 В, 3.25 А, кабель 1.8 м (Туре-С-Type-C).

  • Габариты. 17.3 мм (высота), 359.5 мм (ширина), 236 мм (глубина).

  • Вес. 1,7 кг.


Если хотите создать собственную экосистему, в которой технологии подстроятся под ритм дня, попробуйте технику TECNO. Мощный ноутбук, быстрый смартфон и наушники соединяются в единое пространство. Быстрое переключение между устройствами, синхронизация файлов и стабильное соединение без лишних настроек.

КУПИТЬ НОУТБУК TECNO

Реклама TECNO Mobile Limited, Юридический адрес: Flat N, 16/F., Block B, Универсальный промышленный центр, 19-25 Shan MeiStreet, Fotan, New Territories, Гонконг

Показать полностью 17
Электроника Гаджеты Ноутбук Длиннопост
ashirgoi
ashirgoi
2 года назад
Лига программистов

Не косячит тот кто не пытается) IT⁠⁠

Попытка - это не пытка)

Я бы хотел, чтобы преподаватель языка Kotlin / Java обучил меня с нуля до стажера

Я готов уделять 100% внимания, гибкий график обучения, есть ноут. Если вы живете в Астане и вы готовы к офлайн-встречам то можем и так сделать.

Я не смогу заплатить, потому что студент Бомж , ну пока что на бесплатной основе во имя науки! в будущем, если я устроюсь на работу, я буду готов платить).

P.S не надо писать, что кому я такой нужен и т.д. И да, я понимаю, что Препод не сможет это намазать на хлеб

пишите в телегу https://t.me/khan_tengr3007

[моё] Работа IT Программирование Android Kotlin Java Программист Сайт Интернет Текст
29
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии