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

История одной фермы - маджонг

Маджонг, Казуальные, Приключения

Играть

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

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

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

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

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

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

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

API + IT

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

Программирование Python Искусственный интеллект ВКонтакте Разработка Нейронные сети IT юмор Программист Юмор Работа Картинка с текстом Все
24 поста сначала свежее
12
mr.jinny
1 месяц назад
Книжная лига
Серия Работа системного аналитика

Отзыв. Книга. "Паттерны проектирования API"⁠⁠

Я потратил на неё 1851₽ и 20 часов, чтобы вам не пришлось.

Отзыв. Книга. "Паттерны проектирования API" Программирование, Обучение, IT, Книги, Аналитика, API

Я аналитик-самоучка с опытом ±3 года. Поэтому, иногда, подогреваемый синдромом самозванца, нет-нет да и посматриваю каких-то блогеров вкатывающих в аналитику.

От них и узнал об этой книге. Реально, каждый друг с другом не пересекается, но все в какой-то момент причисляли книгу к категории “ЭТО БАЗА!”.

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

Если серьёзно, по делу и по содержанию, то книгу рассматриваю с 3-х позиций, т.к. за свой скромный стаж успел поработать в большом-большом банке, среднем телекоме и маааленькой медицине.

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

Это связано с тем что в больших корпоратах за вас уже давно подумали и установили свои золотые стандарты разработки\архитектуры. Попытаться изменить что-то конечно можно, но сложно, т.к. изменение придётся обосновать как-то объёмнее фразы “Нууу, в той книжке написано что вот так правильно”.

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

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

Большую часть книги я прочитал из соображения “Блин! Ну не зря же я её купил!”. И даже при таком раскладе время было потрачено не зря, т.к.:

  • Часто ловил себя на мысли “О! Оказывается вон оно как работает!)”;

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

  • Подробнее ознакомился с подходами к версионированию, пагинации и мягкому удалению. Что кстати, т.к. скоро по ним предстоят задачи;

Из минусов могу отметить:

  • Много воды;

  • Лишние или повторяющиеся из раза в раз примеры;

А если моё мнение не повлияло на ваше желание получения каких-то тайных знаний, то рекомендую читать книгу также как “Разработка требований к программному обеспечению” - только главу по теме, с которой вы впервые столкнулись прямо сейчас. Задачу за вас она не сделает, но подскажет куда смотреть при выполнении.

Показать полностью
[моё] Программирование Обучение IT Книги Аналитика API
3
IvanNFCKEY
IvanNFCKEY
1 год назад

Самый востребованный IT-инструмент в компаниях и проектах⁠⁠

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

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

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

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

Что такое API и где используется

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

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

API - (от англ. application programming interface — «интерфейс программирования приложения») — программный интерфейс, то есть описание способов взаимодействия одной компьютерной программы с другими. Сегодня API нет разве что у совсем мелких предприятий и магазинов или компаний, которые никак не работают с данным.

Самый востребованный IT-инструмент в компаниях и проектах Стартап, Развитие, Бизнес, Инновации, Технологии, IT, API, Разработка, Длиннопост

Говоря о примерах применения, одними из наиболее востребованных и популярных в нашем мире являются API картографических сервисов (Google Maps, Яндекс Карты). Благодаря ним любой желающий может воспользоваться их функционалом: создать интерактивную карту и показывать, например, расположение офиса или магазина.

К тому же вы наверняка пользовались вариантом входа в какое-либо приложение или сайт при помощи учетной записи Google, Apple, VK. Да, это является возможным как раз благодаря API. Прогнозы погоды, информация об авиабилетах, банковские платежи - все это примеры использования API, которые показывают широту спектра решаемых задач.

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

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

Почему необходим именно API?

Далее Саша:

“ Одна из главных проблем подобных проектов заключается в сложной взаимосвязи между аппаратными и программными компонентами. В нашем же случае все части, включая физический замок, его встроенное программное обеспечение и мобильное приложение нуждаются в надежном программном решении, которое позволит обеспечить бесперебойную связь и согласованность данных. Эту ответственность на себя может взять как раз серверная часть с веб-интерфейсом программирования приложений (API).

Веб-интерфейсы API в наше время стали повсеместно используемой технологией, выступающей в роли своеобразной магистрали. Многие компании в значительной степени полагаются на подобную инфраструктуру для обслуживания клиентов. Так, например, любой сайт из топ-100 интернет-рейтинга Alexa использует API и/или предоставляет свои собственные API, что является достаточно четким показателем огромного масштаба и влияния веб-интерфейсов в целом. В нашем проекте веб-интерфейс служит централизованным узлом для хранения и управления данными, обеспечивая передачу всей необходимой информации для функционирования приложения.

Какое решение можно выбрать для разработки API?

В наши дни существует множество фреймворков, облегчающих разработку API. Для начала можно обратить внимание на опросы исследования Stack Overflow Developer Survey и The State of Developer Ecosystem от Jetbrains, чтобы определить круг кандидатов для рассмотрения.

В целом, варианты можно сгруппировать по языкам программирования:

  • Python (Django, Flask, FastAPI)

  • Java (Spring Framework)

  • PHP (Laravel, Symfony)

  • C# (ASP.NET Core)

  • JavaScript (Express) и т.д.

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

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

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

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

Как устроен API и как проходит его разработка?

Web API состоит из нескольких конечных точек для определенной системы сообщений "запрос-ответ", обычно выраженной в формате XML или JSON с помощью веб-сервера на базе HTTP.

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

Сервер — удаленный узел, который хранит и обрабатывает ресурсы. Здесь мы храним необходимые данные, а также устанавливаем то, как они обрабатываются и предоставляются клиентам.

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

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

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

Сложная часть для разработчика

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

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

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

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

Тонкости API для IoT сферы

Весь API так или иначе учитывает уклон проекта в IoT. Думаю, сюда можно отнести получение/обновление информации о состоянии замка (например, заряд батареи). Примером может послужить и журнал посещений. При открытии замка клиент отправляет запрос на сервер, который регистрирует посещение и позволяет отобразить его на устройствах других пользователей. ”

Хочу отметить, что работа с API, особенно, которая подразумевает большой объем данных, требует огромной усидчивости и ответственности. Я знал это изначально, именно поэтому выбрал Сашу, как главного разработчика в этом направлении. Учитывайте это, ведь от работы API и его стабильности зависит весь проект.

Создавать ли для своего проекта API?

У меня ответ простой - да, рассмотреть такой вариант обязательно стоит. Даже, если ваш проект не относится к IT или IoT, работа с информацией, которая формируется в проекте - основная вещь для развития успеха этого проекта. Помимо этого, благодаря уже существующему API, в будущем можно будет легко улучшить ваш сайт, создать мобильное приложение для клиентов и так далее.

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

Показать полностью 1
[моё] Стартап Развитие Бизнес Инновации Технологии IT API Разработка Длиннопост
0
9
rostikt
1 год назад
Лига программистов

Вы крутые, спасибо за поддержку! (Продолжение "Я стал Ютубером!")⁠⁠

Честно говоря, даже не рассчитывал на такой отклик на мой предыдущий пост. 30 подписчиков на Youtube, ценные комментарии и советы, да и просто слова поддержки!

За эти две недели мне удалось выпустить еще два ролика:
- Техника собеседования STAR (7 минут)
- Третья часть серии "Кодим с chatGPT" (17 минут)

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

На самом деле, затевая эксперимент "Кодим с ChatGPT", я был почти уверен, что сколь-нибудь значимых результатов я не получу. Но похоже, я начинаю сам себя опровергать. Чатбот сумел не просто предложить решение проблемы (например, "сделать форму авторизации"), но и решить абстрактную задачу "сделать форму красивой".

Кроме того, он неплохо разбирается в существующих библиотеках и сумел предложить мне два очень приличных варианта с полнофункциональным календарем. И это притом, что я использую версию 3.5, а не 4. В общем, мне кажется, из всего этого выйдет неплохой результат, но посмотрим. До работающего приложения еще очень далеко.

Одно могу сказать точно: если бы я писал код с нуля, я бы потратил на него раз в 5 больше времени, с учетом исправления всех ошибок, которые иногда допускает chatGPT.

Ну и немного внутренней кухни (кажется, эта рубрика становится постоянной):

Тема для видеоблога выбрана весьма непростая для новичка, ведь мне недоступна опция "перезаписать видео", если в процессе записи что-то пошло не так. Это же chatGPT, который запоминает контекст. То есть, я:

а) не могу просто как ни в чем не бывало заново его просить делать то, о чем уже просил (потому что он "знает", что я уже задавал этот вопрос и его ответ будет учитывать предыдущие ответы)

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

Приходится танцевать с бубном. Например, после записи я понял, что у меня был косяк с гарнитурой и звук был фиговый. Пришлось на имеющийся видеоряд с записью экрана накладывать новый аудио-видео ряд с голосом и миниатюрной головой. Это вылилось в адок на монтаже, общее время монтажа 17-минутного ролика составило часов 15. Всё для вас, дорогие будущие зрители :)

Спасибо за поддержку, буду рад новым подпискам на канал и идеям по развитию!

Показать полностью
[моё] Блог ChatGPT Программирование YouTube Видеоблог Angular Nodejs Postgresql IT Искусственный интеллект Кодирование Приложение Автоматизация Технологии Javascript Typescript Веб-разработка API Текст
0

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

Перейти
Партнёрский материал Реклама
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
Электроника Гаджеты Ноутбук Длиннопост
7
Wowovideo
Wowovideo
1 год назад
ITmozg

Топ 9 архитектурных паттернов для потоков данных и коммуникаций⁠⁠

🔹Peer-to-Peer

Схема Peer-to-Peer предполагает прямую связь между двумя компонентами без необходимости в центральном координаторе.

🔹API Gateway

API-шлюз выступает в качестве единой точки входа для всех клиентских запросов к внутренним сервисам приложения.

🔹Pub-Sub

Шаблон Pub-Sub отделяет производителей сообщений (издателей) от потребителей сообщений (подписчиков) с помощью брокера сообщений.

🔹Request-Response

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

🔹Event Sourcing

Event Sourcing предполагает хранение изменений состояния приложения в виде последовательности событий.

🔹ETL

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

🔹Batching

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

🔹Streaming Processing

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

🔹Orchestration

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

источник https://t.me/itmozg/9703

Показать полностью 1
IT Программист Технологии Паттерны API Gateway Linux Программирование Google Видео Без звука Вертикальное видео Telegram (ссылка)
1
3
Wowovideo
Wowovideo
1 год назад
ITmozg

Развивающийся ландшафт протоколов API⁠⁠

Обзор шести самых популярных протоколов API

REST

Webhooks

GraphQL

SOAP

WebSocket

gRPC

https://blog.postman.com/api-protocols-in-2023/

источник https://t.me/itmozg/9692

Развивающийся ландшафт протоколов API Программист, IT, API, Rest, Программирование, Linux, Python, Telegram (ссылка)
Показать полностью 1
Программист IT API Rest Программирование Linux Python Telegram (ссылка)
2
13
user7286853
user7286853
1 год назад
Программирование на python
Серия Как я разрабатывал @lifestyle_tracker_bot

Как я разрабатывал чат-бот для Telegram, отслеживающий питание и тренировки. Часть 2 — Вы хотите кушац?⁠⁠

Ссылка на 1 часть, где мы говорили о тренировках:

Как я разрабатывал чат-бот для Telegram, отслеживающий питание и тренировки

Как я разрабатывал чат-бот для Telegram, отслеживающий питание и тренировки. Часть 2 — Вы хотите кушац? IT, Python, Telegram, Чат-бот, Программирование, Telegram бот, API, Длиннопост

Теперь настало время поговорить о второй составляющей чат-бота - дневник питания (он же калькулятор калорий).

Что по БД?

В отличие от БД с физическими упражнениями здесь есть из чего выбрать. Существует куча баз продуктов питания с доступом по API, к примеру:

  • Open Food Facts

  • Fatsecret

  • FoodData Central от Министерства сельского хозяйства США + можно скачать саму БД

  • Nutritionix

Остановиться было решено на... Nutritionix, так как она обладает одной интересной фишкой - распознавание всех продуктов из одного запроса. То есть, мы можем просто послать на сервис строку вида "3 вареных яйца и банка пива", а сервис выудит все перечисленные продукты их количество/вес/объем и отправит в ответе информацию по каждой позиции. Например:

Как я разрабатывал чат-бот для Telegram, отслеживающий питание и тренировки. Часть 2 — Вы хотите кушац? IT, Python, Telegram, Чат-бот, Программирование, Telegram бот, API, Длиннопост

При этом если мы не укажем конкретный вес/объем продукта, то сервис просто возьмет стандартное значение: 1 вареное яйцо - 50 грамм или 1 кусочек хлеба - 29 грамм. Кому интересно - можете затестить данный функционал сервиса по ссылке ниже:

https://www.nutritionix.com/natural-demo

Кстати, подобный функционал у Nutritionix есть и для тренировок - ввел объем выполненного упражнения (например, пробежал 30 минут) и получил количество потраченных калорий, но, сейчас не об этом.

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

Но, как вы заметили, сервис принимает запросы только на английском языке. Как это нас остановит? Никак. Что же тогда делать? Переводить...

Трудности (нет) перевода

Перевести простейшее предложение вида "2 помидора, ложка оливкового масла и зубчик чеснока" не будет сложной задачей для любого популярного переводчика, поэтому давайте воспользуемся функционалом одного из них. Для этого давайте выберем какой-нибудь онлайн-переводчик и Python-библиотеку под него, например googletrans для Google Переводчика.

Шаг 1. Устанавливаем библиотеку

pip install googletrans

Шаг 2. Переводим

from googletrans import Translator

def translate_from_rus_to_eng(text):

translator = Translator()

translated = translator.translate(text, src='ru', dest='en')

return translated.text

Ключи к успеху

Итак, пользователь что-то ввел, мы это перевели, а теперь настало время отправить запрос к Nutritionix. Однако, для начала нам нужно получить парочку ключей для взаимодействия с сервисом. Для этого переходим по данной ссылке, регистрируемся и копируем Application ID и Application Key.

Как я разрабатывал чат-бот для Telegram, отслеживающий питание и тренировки. Часть 2 — Вы хотите кушац? IT, Python, Telegram, Чат-бот, Программирование, Telegram бот, API, Длиннопост

Код крутится - бот мутится

У нас есть д̶в̶а̶ ̶п̶а̶к̶е̶т̶и̶к̶а̶ ̶т̶р̶а̶в̶ы̶,̶ ̶с̶е̶м̶ь̶д̶е̶с̶я̶т̶ ̶п̶я̶т̶ь̶ ̶а̶м̶п̶у̶л̶ ̶м̶е̶с̶к̶а̶л̶и̶н̶а̶,̶ ̶5̶ ̶п̶а̶к̶е̶т̶и̶к̶о̶в̶ ̶д̶и̶э̶т̶и̶л̶а̶м̶и̶д̶а̶ ̶л̶и̶з̶е̶р̶г̶и̶н̶о̶в̶о̶й̶ ̶к̶и̶с̶л̶о̶т̶ы̶ ̶и̶л̶и̶ ̶Л̶С̶Д̶,̶ ̶с̶о̶л̶о̶н̶к̶а̶,̶ ̶н̶а̶п̶о̶л̶о̶в̶и̶н̶у̶ ̶н̶а̶п̶о̶л̶н̶е̶н̶н̶а̶я̶ ̶к̶о̶к̶а̶и̶н̶о̶м̶,̶ ̶и̶ ̶ц̶е̶л̶о̶е̶ ̶м̶о̶р̶е̶ ̶р̶а̶з̶н̶о̶ц̶в̶е̶т̶н̶ы̶х̶ ̶а̶м̶ф̶е̶т̶а̶м̶и̶н̶о̶в̶,̶ ̶б̶а̶р̶б̶и̶т̶у̶р̶а̶т̶о̶в̶ ̶и̶ ̶т̶р̶а̶н̶к̶в̶и̶л̶и̶з̶а̶т̶о̶р̶о̶в̶,̶ ̶а̶ ̶т̶а̶к̶ ̶ж̶е̶ ̶л̶и̶т̶р̶ ̶т̶е̶к̶и̶л̶ы̶,̶ ̶л̶и̶т̶р̶ ̶р̶о̶м̶а̶,̶ ̶я̶щ̶и̶к̶ ̶«̶Б̶а̶д̶в̶а̶й̶з̶е̶р̶а̶»̶,̶ ̶п̶и̶н̶т̶а̶ ̶ч̶и̶с̶т̶о̶г̶о̶ ̶э̶ф̶и̶р̶а̶,̶ ̶и̶ ̶1̶2̶ ̶п̶у̶з̶ы̶р̶ь̶к̶о̶в̶ ̶а̶м̶и̶л̶н̶и̶т̶р̶и̶т̶а̶ 2 ключа для API и переведенный запрос, так что - давайте кодить.

Все запросы (POST) будем посылать на следующий URL, сохранив его в переменную:

natural_url = https://trackapi.nutritionix.com/v2/natural/nutrients

  1. В начале подключаем библиотеку requests и собираем заголовки из Content-Type, Application ID и Application Key:

    import requests

    # Заголовки

    headers = { "Content-Type": "application/json",

    "x-app-id": '672c6c24',

    "x-app-key": '6f4ba779b23cefe6adf151de7860fc87' }

  2. Собираем тело запроса, который включает переведенный запрос и параметра timezone (оставим по дефолту US/Eastern, пока это неважно):

# Тело запроса

body = { "query": query,

"timezone": "US/Eastern" }

3. Отсылаем POST-запрос на сервер Nutritionix, куда включаем URL, заголовки и тело запроса, а его ответ сохраняем в переменную response:

# Выполнение POST-запроса

response = requests.post(natural_url, json=body, headers=headers)

4. Проверяем что запрос удался и вернул код 200 (OK), переводим его в JSON и получаем значение по ключу 'foods', где как раз и лежит список словарей с информацией по каждому продукту:

if response.status_code == 200:

data = response.json() foods = data["foods"]

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

class NutritionixFood: def __init__(self, food:dict) -> None:

self.food_name = food.get('food_name')

self.brand_name = food.get('brand_name') self.serving_qty = food.get('serving_qty')

self.serving_weight_grams = food.get('serving_weight_grams')

self.nf_calories = food.get('nf_calories')

self.nf_total_fat = food.get('nf_total_fat')

self.nf_saturated_fat = food.get('nf_saturated_fat')

self.nf_cholesterol = food.get('nf_cholesterol')

self.nf_total_carbohydrate = food.get('nf_total_carbohydrate')

self.nf_dietary_fiber = food.get('nf_dietary_fiber')

self.nf_sugars = food.get('nf_sugars')

self.nf_protein = food.get('nf_protein')

self.nf_potassium = food.get('nf_potassium')

self.nf_p = food.get('nf_p')

self.full_nutrients = food.get('full_nutrients')

self.photo_url = food.get('photo', {}).get('highres')

self.barcode = food.get('upc')

5. Осталось только воспользоваться генератором списка и передать каждый словарь из списка словарей в конструктор класса NutritionixFood. В итоге мы получим список объектов данного класса.

result = [NutritionixFood(food) for food in foods]

Готово! Весь код можете просмотреть на гитхаб:

https://github.com/Molot999/Nutritionix

Теперь осталось только объединить это с библиотекой telebot:

  1. Запросить ввод текста с перечислением съеденного

  2. Перевести текст на английский

  3. Отправить текст через API Nutritionix

  4. Получить ответ сервера

  5. "Конвертировать" ответ сервера в список объектов класса NutritionixFood

  6. Вывести список продуктов пользователю, переведя названия продуктов с английского на русский:

Как я разрабатывал чат-бот для Telegram, отслеживающий питание и тренировки. Часть 2 — Вы хотите кушац? IT, Python, Telegram, Чат-бот, Программирование, Telegram бот, API, Длиннопост

Дьявол кроется в деталях

Как я говорил выше, кроме основных составляющих пищи, которые в основном нас и интересуют (КБЖУ), данный сервис предоставляет еще кучу других. Некоторые из них, например сахар или калий, хранятся в атрибутах класса в готовом виде (nf_sugars и nf_potassium соответственно), но основная часть содержится в атрибуте full_nutrients со списком словарей, каждый из которых имеет следующие ключи:

  • ID нутриента

  • Его количество

Например, для запроса "3 boiled eggs" мы получим следующее:

[ {"attr_id": 203, "value": 18.87}, {"attr_id": 204, "value": 15.915}, {"attr_id": 205, "value": 1.68}, {"attr_id": 207, "value": 1.62}, {"attr_id": 208, "value": 232.5}, {"attr_id": 221, "value": 0}, {"attr_id": 255, "value": 111.93}, {"attr_id": 262, "value": 0}, {"attr_id": 263, "value": 0}, {"attr_id": 268, "value": 973.5}, {"attr_id": 269, "value": 1.68}, {"attr_id": 291, "value": 0}, {"attr_id": 301, "value": 75}, {"attr_id": 303, "value": 1.785}, {"attr_id": 304, "value": 15}, {"attr_id": 305, "value": 258}, {"attr_id": 306, "value": 189}, {"attr_id": 307, "value": 186}, {"attr_id": 309, "value": 1.575}, {"attr_id": 312, "value": 0.0195}, {"attr_id": 313, "value": 7.2}, {"attr_id": 315, "value": 0.039}, {"attr_id": 317, "value": 46.2}, {"attr_id": 318, "value": 780}, {"attr_id": 319, "value": 222}, {"attr_id": 320, "value": 223.5}, {"attr_id": 321, "value": 16.5}, {"attr_id": 322, "value": 0}, {"attr_id": 323, "value": 1.545}, {"attr_id": 324, "value": 130.5}, {"attr_id": 326, "value": 3.3}, {"attr_id": 328, "value": 3.3}, {"attr_id": 334, "value": 15}, {"attr_id": 337, "value": 0}, {"attr_id": 338, "value": 529.5}, {"attr_id": 401, "value": 0}, {"attr_id": 404, "value": 0.099}, {"attr_id": 405, "value": 0.7695}, {"attr_id": 406, "value": 0.096}, {"attr_id": 410, "value": 2.097}, {"attr_id": 415, "value": 0.1815}, {"attr_id": 417, "value": 66}, {"attr_id": 418, "value": 1.665}, {"attr_id": 421, "value": 440.7}, {"attr_id": 430, "value": 0.45}, {"attr_id": 431, "value": 0}, {"attr_id": 432, "value": 66}, {"attr_id": 435, "value": 66}, {"attr_id": 454, "value": 0.9}, {"attr_id": 501, "value": 0.2295}, {"attr_id": 502, "value": 0.906}, {"attr_id": 503, "value": 1.029}, {"attr_id": 504, "value": 1.6125}, {"attr_id": 505, "value": 1.356}, {"attr_id": 506, "value": 0.588}, {"attr_id": 507, "value": 0.438}, {"attr_id": 508, "value": 1.002}, {"attr_id": 509, "value": 0.7695}, {"attr_id": 510, "value": 1.1505}, {"attr_id": 511, "value": 1.1325}, {"attr_id": 512, "value": 0.447}, {"attr_id": 513, "value": 1.05}, {"attr_id": 514, "value": 1.896}, {"attr_id": 515, "value": 2.466}, {"attr_id": 516, "value": 0.6345}, {"attr_id": 517, "value": 0.7515}, {"attr_id": 518, "value": 1.404}, {"attr_id": 601, "value": 559.5}, {"attr_id": 606, "value": 4.9005}, {"attr_id": 607, "value": 0}, {"attr_id": 608, "value": 0}, {"attr_id": 609, "value": 0.0045}, {"attr_id": 610, "value": 0.0045}, {"attr_id": 611, "value": 0.0045}, {"attr_id": 612, "value": 0.0525}, {"attr_id": 613, "value": 3.5235}, {"attr_id": 614, "value": 1.242}, {"attr_id": 617, "value": 5.5875}, {"attr_id": 618, "value": 1.782}, {"attr_id": 619, "value": 0.0525}, {"attr_id": 620, "value": 0.2235}, {"attr_id": 621, "value": 0.057}, {"attr_id": 626, "value": 0.465}, {"attr_id": 627, "value": 0}, {"attr_id": 628, "value": 0.045}, {"attr_id": 629, "value": 0.0075}, {"attr_id": 630, "value": 0.0045}, {"attr_id": 631, "value": 0}, {"attr_id": 645, "value": 6.1155}, {"attr_id": 646, "value": 2.121}, ]

Чтобы сопоставить attr_id с реальным "веществом" необходимо обратиться к справочной таблице:

Как я разрабатывал чат-бот для Telegram, отслеживающий питание и тренировки. Часть 2 — Вы хотите кушац? IT, Python, Telegram, Чат-бот, Программирование, Telegram бот, API, Длиннопост

Здесь нас интересуют лишь самые основные колонки: A (ID), D (Название) и E (единица измерения). Для простоты взаимодействия можно скопировать данную таблицу в Excel, а уже из него спарсить все это дело в таблицу БД. На всякий случай оставил тег USDA (может когда-то пригодится) и добавил колонку ru_name, в которую потом можно будет "запихнуть" русское название нутриента, прогнав колонку name, к примеру, через тот же самый googletrans.

Как я разрабатывал чат-бот для Telegram, отслеживающий питание и тренировки. Часть 2 — Вы хотите кушац? IT, Python, Telegram, Чат-бот, Программирование, Telegram бот, API, Длиннопост

Кстати, в этой же справочной таблице на 2 листе есть ссылка на документ от FDA (Агентство Министерства здравоохранения и социальных служб США), где прописаны нормы потребления нутриентов. Здесь в основном нас интересует колонка 3 (взрослые и дети >= 4 лет),ну а кого-то 6 (беременные и кормящие женщины).

Как я разрабатывал чат-бот для Telegram, отслеживающий питание и тренировки. Часть 2 — Вы хотите кушац? IT, Python, Telegram, Чат-бот, Программирование, Telegram бот, API, Длиннопост

Вернемся к коду и создадим класс, представляющий каждый нутриент:

class NutritionixNutrient: def __init__(self, usda_tag, name, unit, ru_name) -> None:

self.usda_tag = usda_tag

self.name = name

self.ru_name = ru_name

self.unit = unit self.value = None

И начинаем проходиться по тому самому списку словарей

[ {"attr_id": 203, "value": 18.87}, {"attr_id": 204, "value": 15.915}, {"attr_id": 205, "value": 1.68}, {"attr_id": 207, "value": 1.62}, {"attr_id": 208, "value": 232.5}, ... ]

Подобным образом:

# Получаем список словарей из объекта NutritionixFood

full_nutrients = food.get('full_nutrients')

# Создаем пустой список для объектов NutritionixNutrient

food_nutrients = []

# Проходимся по каждому словарю из списка словарей

for nutrient in full_nutrients:

# Получаем из БД инфо о нутриенте по attr_id и пихаем ее в конструктор класса #NutritionixNutrient food_nutrient=NutritionixNutrient(db.get_nutritionix_nutrient_info(nutrient_info.get('attr_id')))

# Отдельно устанавливаем количество нутриента

food_nutrient.value = nutrient_info.get('value')

# Добавляем объект класса NutritionixNutrient в список

food_nutrients.append(food_nutrient)

# А тут проводим какие-либо манипуляции с food_nutrients

Как я разрабатывал чат-бот для Telegram, отслеживающий питание и тренировки. Часть 2 — Вы хотите кушац? IT, Python, Telegram, Чат-бот, Программирование, Telegram бот, API, Длиннопост

В итоге получим список объектов класса NutritionixNutrient, каждый из которых содержит информацию о конкретном нутриенте из продукта. А имея информацию обо всех нутриентах, потребленных в течение определенного периода уже можно сделать выводы о его диете (много соли, мало витамина B и т.д.) и дать соответствующие рекомендации, опираясь на вышеописанные нормы FDA или национальные.

Затестить функционал по добавлению продуктов питания можете в данном чат-боте совершенно бесплатно.

Кстати, а почему бы не облегчить жизнь пользователю и дать ему возможность просто записать голосовое сообщение со всем съеденным? Поговорим об это в части №3...

Показать полностью 7
[моё] IT Python Telegram Чат-бот Программирование Telegram бот API Длиннопост
5
4
ChooChooLoco
ChooChooLoco
1 год назад
Искусственный интеллект
Серия Эра Нейротика

Midjourney без Дискорда (почти)⁠⁠

Продолжая развлекаться с нейросетями - поставил АПИшку к Midjourney (https://github.com/novicezk/midjourney-proxy).

Важно: это только АПИ, смысл её - в переадресации запросов к дискорд-боту Midjourney, адаптер, короче. Тестовый период и/или подписка - завязаны на дискорд-аккаунт. И похоже, что триала сейчас нет, или он крайне ограничен.

Midjourney без Дискорда (почти) IT, Гайд, Midjourney, API, Длиннопост

Ещё минусы:

  • Вся документация, примеры, встроенный "свагер" - на чистейшем... китайском? Иероглифами, короче.

  • Токен надо доставать через браузер, предварительно залогинившись в Дискорд.

Плюсы: она работает 🫡 И это удобней, чем листать ответы бота в дискорде, продираясь через тысячи сообщений.

Ставить как обычно - склонировать/скачать с гитхаба. Сделал docker-compose для удобства, собрать/обновить контейнер можно аналогично сборке freeGPT (docker-compose build).

Midjourney без Дискорда (почти) IT, Гайд, Midjourney, API, Длиннопост

Текстом можно скопипастить тут.

Где взять настройки

Токен (user-token): зайти на сервер Midjourney в Дискорде, в браузере в консоли разработчика (F12) - вкладка Сеть/Network. В заголовках запроса будет Authorization.

guild-id: Номер сервера (из адресной строки - первый набор цифр)

channel-id: Номер канала (из адресной строки - второй набор цифр)

Если регистрируется свежий аккаунт - предварительно через Дискорд нужно принять ToS Midjourney:

Midjourney без Дискорда (почти) IT, Гайд, Midjourney, API, Длиннопост

Время учить иероглифы?

Посмотреть свагер и подёргать запросы можно тут: localhost:1339/mj/doc.html#/home

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

Запрос генерации

Midjourney без Дискорда (почти) IT, Гайд, Midjourney, API, Длиннопост

Посмотреть очередь генерации

Midjourney без Дискорда (почти) IT, Гайд, Midjourney, API, Длиннопост

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

Показать полностью 4
IT Гайд Midjourney API Длиннопост
3
Блог компании Партнёрский материал Реклама
practicum.yandex
practicum.yandex
16 дней назад

Python, 1С, тестирование и еще один курс для тех, кто хочет стартовать в IT⁠⁠

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

Python, 1С, тестирование и еще один курс для тех, кто хочет стартовать в IT IT, Онлайн-курсы, Программист, Программирование, Обучение, Длиннопост, Блоги компаний

Тестировщик

Сколько учиться: 5 месяцев

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

На курсе вы изучите 12 инструментов, которые потребуются в работе. Например, Python и язык запросов SQL, графический редактор Figma и инструмент для тестирования API Postman. К концу обучения у вас в портфолио будет семь проектов.

Первый модуль можно пройти бесплатно — поймете, подходит ли вам это направление.

Начать учиться бесплатно>>


Разработчик 1С

Сколько учиться: есть базовый курс на 6 месяцев и расширенный — на 8.

1С — язык программирования для работы с продуктами одноименной компании. Он помогает автоматизировать бизнес-процессы и разрабатывать бизнес-ориентированные приложения. В России с 1С работают и большинство компаний, как небольших, так и крупных.

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

Начать учиться бесплатно>>


Python-разработчик буткемп

Сколько учиться: 4 месяца

Курс включает восемь блоков. Первый и второй — знакомство с Python, остальные — более глубокое погружение в тему. Например, бэкенд на Django, изучение алгоритмов и структуры данных, разбор асинхронностей и нюансов работы с Flask.

Формат буткемп — это интенсивное обучение. Нагрузка в неделю составит около 30 часов, вы можете рассчитывать на поддержку наставников.

Начать учиться бесплатно>>


Системный администратор

Сколько учиться: 6 месяцев

Сисадмин отвечает за исправность информационной инфраструктуры компании. В зоне его ответственности компьютерные системы, сети, серверы, ПО и безопасность данных.

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

Начать учиться бесплатно>>


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

Реклама ООО «Яндекс», ИНН: 7736207543

Показать полностью
IT Онлайн-курсы Программист Программирование Обучение Длиннопост Блоги компаний
16
Grust32
2 года назад
Лига программистов

Собираем стату по контрибьютерам с Gitlab⁠⁠

Делюсь свежей поделкой, может кому пригодиться. Простой, синхронный обход Gitlab API, ничего нового. Выплевывает CSV который потом удобно вставить в Гугл или Эксель табличку. Страшный UI присутствует. Работает с версией гитлаба выше 12. Kotlin, Ktor.
https://github.com/qwertukg/gitlab-data-picker

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