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

Головоломка. Болты и Гайки

Казуальные, Гиперказуальные, Головоломки

Играть

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

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

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

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

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

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

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

Laravel

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

PHP Программирование IT Все
30 постов сначала свежее
14
ProgTime
ProgTime
1 месяц назад
ИТ-проекты пикабушников

Мой бот для техподдержки подрос: теперь он имеет связь с ВКонтакте и живёт в Docker⁠⁠

Привет, Пикабу!

Месяц назад я выложил на GitHub своего бота для технической поддержки. Он собирает сообщения от пользователей и помогает обрабатывать их в одном месте. Неожиданно для себя, за месяц я получил больше 100 клонирований и 40+ звёзд — как для моего проекта, это прям успех!

Github - https://github.com/prog-time/tg-support-bot

А ещё мне начали писать в Issues с идеями по улучшению, и я решил — пора выкатить большое обновление.

Смотрите предыдущий пост!

📥 Подключил ВКонтакте

Раньше бот работал только с Telegram. Теперь можно подключить ещё и сообщество ВКонтакте — и объединить все сообщения в одну Telegram-группу. Все, кто пишет в ВК, будут "видны" в Telegram.

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

Мой бот для техподдержки подрос: теперь он имеет связь с ВКонтакте и живёт в Docker Программирование, Чат-бот, Telegram, Социальные сети, Боты, Laravel, PHP, API

🐳 Добавил docker-compose

Теперь бот можно легко запустить через Docker. Просто собрал нужные контейнеры, запустил — и всё работает.

Что внутри:

  • nginx + php + PostgreSQL

  • веб-интерфейс для работы с базой — PgAdmin

  • и даже Grafana + Loki — чтобы отслеживать логи, ошибки, запросы и всё такое

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

Мой бот для техподдержки подрос: теперь он имеет связь с ВКонтакте и живёт в Docker Программирование, Чат-бот, Telegram, Социальные сети, Боты, Laravel, PHP, API

Что дальше?

Все эти фичи — это не просто "что бы было". Их реально просили пользователи. Спасибо каждому, кто не поленился написать Issue ❤️

Как только наберём 80 звёзд на GitHub, начну работу над подключением нового источника сообщений.

Если интересно — вот тут лежит проект на GitHub
Буду рад, если зацените, поставите ⭐ и напишете, что бы вы хотели видеть дальше.

Показать полностью 2
[моё] Программирование Чат-бот Telegram Социальные сети Боты Laravel PHP API
0
12
ProgTime
ProgTime
2 месяца назад
Лига программистов

Сделал Telegram-бота для техподдержки через темы. Код открытый⁠⁠

Привет, Пикабу! 👋
Хочу показать вам Telegram-бота, которого я написал на Laravel. Он помогает вести персонализированную поддержку пользователей прямо в Telegram.

Ссылка на GitHub:
🌟 https://github.com/prog-time/tg-support-bot

Если зайдёте — буду рад вашей звёздочке!

Зачем вообще нужен такой бот?

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

Хотелось:

  • централизованной переписки,

  • без спама в личке,

  • и чтобы пользователи не видел личный аккаунт.

Так и родилась идея: бот, который принимает сообщения от клиентов, создаёт для каждого отдельную тему в Telegram-группе, и пересылает туда все сообщения. Я отвечаю в теме — бот отправляет ответ клиенту от своего имени.

Никаких личных контактов. Никаких потерянных сообщений. Всё — в одной группе.

Как работает бот?

Очень просто:

  1. Создаём группу в Telegram для фиксирования чатов.

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

  3. Пользователь пишет боту.

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

  5. Вы отвечаете в этой теме — бот пересылает ответ клиенту.

🎯 Бонус:
Бот не хранит переписки, фото и файлы — только ID сообщений и клиентов. Никаких баз данных с чувствительной инфой. Всё по-честному.

Сделал Telegram-бота для техподдержки через темы. Код открытый Программирование, Telegram, Боты, Laravel, PHP, Github, Чат-бот, Длиннопост

Что умеет?

  • Поддерживает все типы сообщений: текст, голос, видео, документы, фото.

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

  • Настраивается примерно за 30-60 минут.

Сделал Telegram-бота для техподдержки через темы. Код открытый Программирование, Telegram, Боты, Laravel, PHP, Github, Чат-бот, Длиннопост

Название темы формируется из символа "#" и id пользователя.

У темы меняется иконка, в зависимости от последнего сообщения. Если последнее сообщение от клиента, то ставится иконка "облачко", а если оно написано со стороны администратора, то ставится "зелёная галочка".

Также вы можете получить информацию о пользователе с котором ведёте общение.Подобное сообщение отправляется при создание темы или после отправки команды /contact.

Как установить?

Процесс установки очень прост. Если что-то не получится — пишите мне в Telegram:
📬 https://t.me/prog_time_bot

В двух словах:

1) Клонируем репозиторий:

git clone https://github.com/prog-time/tg-support-bot.git

2) Создаём бота через BotFather.

3) Создаём приватную группу и включаем темы.

4) Добавляем бота в группу с правами администратора.

5) Получаем ID группы (например, через getmyid_bot).

6) Настраиваем .env файл проекта:

APP_URL="https://your-domain.ru"

TELEGRAM_TOKEN="ваш_токен"

TELEGRAM_GROUP_ID="id_группы"

TELEGRAM_SECRET_KEY="придумайте_ключ"

7) Заходим по адресу https://ваш-домен/api/telegram/set_webhook, для регистрации хука.

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

Если было полезно — поставьте звезду на GitHub и расскажите друзьям-разработчикам.
Возможно, кому-то это сэкономит кучу времени и нервов.

Буду рад фидбеку!

Показать полностью 2
[моё] Программирование Telegram Боты Laravel PHP Github Чат-бот Длиннопост
0
3
sumat777
sumat777
3 месяца назад
Писатель Константин Оборотов
Серия Курсы

Восхождение на Ларавель⁠⁠

Нет, эта история вовсе не про альпинизм. Laravel (Ларавел, Ларавель) - один из самых популярных фреймворков с открытым кодом на базе php. Создал Ларавель Тейлор Отвелл (Taylor Otwell) в 2011 году. Название Laravel образовалось путем замены первой буквы от слова Paravel. Cair Paravel (Кэйр Паравел) - замок из мира Нарнии, придуманного Клайвом Льюисом. Это история о том, как я изучал Ларавель и что из этого вышло.

© 2025 Константин Оборотов

===

Восхождение на Ларавель Программирование, Гайд, PHP, Laravel, Framework, Веб фреймворки, Изучение, Тестирование, Длиннопост

Сподвигли меня на изучение Ларавели утверждения одного авторитета в области разработки, что Ларовель перспективнее и интереснее, чем YII2, да и, вообще, чем любой фреймворк на PHP.

Мне стало очень любопытно. Мною овладел азарт, и даже искушение. А лучший способ избавиться от искушения - следовать ему.

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

Также я решил по итогам путешествия сделать вот эти путевые заметки, которые вы сейчас читаете. Если вы разработчик-новичок (как и я в Ларавеле), то возможно они будут для вас интересными и полезными.

Начну я с описания своего "дипломного проекта", который получился в итоге первичного изучения Ларавели.

https://ch.inumo.ru/ - Учебный проект, выполненный с целью изучения фреймворка Ларавель (Laravel). Главная страница этого сайта.

https://wpvi.ru/pages/story/00097/ - дорожная карта, пошаговая шпаргалка.

Теперь я хочу рассказать, как я знакомился с Ларавель, что мне понравилось и что мне категорически не понравилось.

Первичное обучение я прошел учебно-тренировочном лагере Ларавели вот по этому поддомену:

bootcamp(.)laravel(.)com

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

Какое же у меня было разочарование, когда я зашел на этот учебный лагерь через какое-то время и обнаружил, что никакого учебного лагеря больше нет!

А ссылка выше теперь редиректит сюда:

laravel(.)com/docs/12.x

Это мне очень сильно не понравилось! Я был в шоке. Разве можно так делать? Если по каким-то причинам вы закрыли свой учебный проект, то разместите какое-то сообщение по данному адресу. А то как-то молчком, без объяснения причин. Разве можно так делать?

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

laracasts(.)com - коллекция курсов, экзаменов по Laravel и PHP, а также сообщество, которому нет равных.

Решил я проверить это общество на "вшивость" и задал простой вопрос, "куда делся этот учебный лагерь?"

Мне сильно понравилось, что мой вопрос был опубликован в отдельной ветке и на него поступили внятные ответы по сути вопроса:

laracasts(.)com/discuss/channels/laravel/subdomain-bootcamplaravelcom-doesnt-work-20250302-why

Этот вопрос и ответы в подробном изложении.

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

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

Лагерь в архиве - Все материалы учебного лагеря сохранились в специальном сайте-архивариусе

web(.)archive(.)org/web/20250206182837/https://bootcamp(.)laravel(.)com

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

Впрочем, не важно. Работает, и ладно.

Кстати, я на всякий случай, еще раз прошелся от начала до конца по учебному курсу в плане создания курсового проекта. Теперь автоматом ставится версия 12 (она сейчас актуальная). Проект работает, но есть незначительные косяки, связанные со стилями. Но это пустяки. В целом все работает. А стили всегда можно подправить.

Давайте, пройдемся по датам. Я пишу эти строки в марте 2025. Сейчас на Ларавеле переход с версии 11 на версию 12. А когда вы читаете этот текст, все может кардинально измениться. Может, актуальная версия будет 13 или 14, может учебный лагерь возобновит работу. Все, что угодно или негодно может случиться.

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

Есть ли для вас вообще смысл изучать Ларавель?

Думаю, да. Перспективы Ларавели и ваша будущая зарплата пока выглядят достаточно оптимистично.

И самое главное. Изучение Ларавели очень увлекательный процесс.

Самостоятельная работа

Работа, которая заключается в повторении указаний тренера относительно простая, но не такая интересная.

Хотя для новичка это то, что надо.

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

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

Вот такие задания я придумал для себя.

Чередование фоновой окраски сообщений

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

Восхождение на Ларавель Программирование, Гайд, PHP, Laravel, Framework, Веб фреймворки, Изучение, Тестирование, Длиннопост

Достигается такое чередование следующим способом.

resources/views/chirps/index.blade.php

@foreach ($chirps as $chirp)

@if ($loop->even)

<div class="p-6 flex space-x-2" style="background-color:#FFFFF0;">

@else

<div class="p-6 flex space-x-2" style="background-color:#F0FFFF;">

@endif

Задача решается на уровне ядра Лезвия (Blade). Имеется встроенный объект $loop (официально называется переменная), а у него есть свойство even, которое мы и используем в данном случае.

Отображение сообщения в форматах TEXT и HTML

Здесь мы рассмотрим две идеи.

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

Теория вопроса в рамках опять же Лезвия (Blade) следующая.

{{ $chirp->message }} - сообщение отображается в текстовом формате

{!! $chirp->message !!} - сообщение отображается в HTML формате

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

resources/views/chirps/index.blade.php

@if ($chirp->user->id==1)

<p class="mt-4 text-lg text-gray-900">{!! $chirp->message !!}</p>

@else

<p class="mt-4 text-lg text-gray-900">{{ $chirp->message }}</p>

@endif

Разумеется в выражении @if можно придумать и более сложную логику отбора.

Вот и все, что я хотел бы рассказать вам о Ларавели.

Желаю вам успеха, высокого заработка и качественного кода!

...

Первоисточник:

https://wpvi.ru/pages/story/00097/

===

Источники, упомянутые в произведении:

Чинумо - Учебный проект, выполненный с целью изучения фреймворка Ларавель (Laravel)

https://ch.inumo.ru/

===

Показать полностью 2
[моё] Программирование Гайд PHP Laravel Framework Веб фреймворки Изучение Тестирование Длиннопост
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
Электроника Гаджеты Ноутбук Длиннопост
8
ProgTime
ProgTime
4 месяца назад
Лига программистов

Laravel + тестирование: как сэкономить время на валидации запросов⁠⁠

При разработке API на Laravel часто возникает необходимость тестировать валидацию входящих данных. Один из способов — вручную писать тесты с различными вариантами входных параметров. Однако этот процесс может быть трудоемким и рутинным.

Чтобы упростить задачу, я разработал пакет laravel-request-testdata, который автоматически создает тестовые данные на основе правил валидации Laravel Request.

Ссылка на репозиторий - https://github.com/prog-time/laravel-request-testdata

Кому будет полезен этот пакет?

  • Разработчикам, которые хотят автоматизировать тестирование валидации запросов.

  • Тем, кто пишет много API-тестов и хочет минимизировать рутинные задачи.

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

Как работает модуль?

Рассмотрим стандартный Laravel Request с простыми правилами:

Laravel + тестирование: как сэкономить время на валидации запросов Тестирование, Программирование, Laravel, PHP, Длиннопост

Теперь используем laravel-request-testdata для получения тестовых данных:

Laravel + тестирование: как сэкономить время на валидации запросов Тестирование, Программирование, Laravel, PHP, Длиннопост

Выходные данные могут выглядеть так:

Laravel + тестирование: как сэкономить время на валидации запросов Тестирование, Программирование, Laravel, PHP, Длиннопост

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

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

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

Разные форматы правил валидации

Данный модуль может обрабатывать правила валидации в разном формате.

Правила в формате массива

Вы можете описать правила в виде строки, как это было сделано в предыдущих примерах, а можете передать массив со списком параметром:

Laravel + тестирование: как сэкономить время на валидации запросов Тестирование, Программирование, Laravel, PHP, Длиннопост

Использование сложных условий

По мимо типичных правил валидации, модуль также понимает такие правила, как: in, exists, unique и так далее.

Laravel + тестирование: как сэкономить время на валидации запросов Тестирование, Программирование, Laravel, PHP, Длиннопост

Использование класса Rule для описания правил

В некоторых Request классах правила валидации описываются в формате Rule конструкций. Это может быть Rule::unique для проверки на уникальность или Rule::in для проверки на соответствие конкретным значениям.

Laravel + тестирование: как сэкономить время на валидации запросов Тестирование, Программирование, Laravel, PHP, Длиннопост

Генерация тестовых файлов для проверки валидации

Что касается валидации загружаемых файлов, то тут всё немного сложнее. На данный момент мой модуль может сгенерировать файлы таких типов, как: yml, xml, svg, sql, png, log, json, jpg, html, gif и csv.

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

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

Указание своих тестовых данных

Бываю моменты когда вам нужно для тестирования передавать свои данные, которые более корректно смогут настроить проверку работы приложения.

Для этого необходимо в Request классе создать метод requestTestData(). Данный метод должен возвращать параметры запроса с заполненными тестовыми данными.

Laravel + тестирование: как сэкономить время на валидации запросов Тестирование, Программирование, Laravel, PHP, Длиннопост

Через метод requestTestData() вы также можете передавать тестовые файлы в форматах, которые на данный момент не поддерживаются моим модулем.

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

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

Я надеюсь вам понравилось моё решение. Я буду очень благодарен если вы поддержите данный модуль звёздочкой на GitHub и напишите свой комментарий под данным постом.

Спасибо за то что дочитали данный пост до конца!

Показать полностью 6
[моё] Тестирование Программирование Laravel PHP Длиннопост
0
plumbum.bro
4 месяца назад

PHP в 2025⁠⁠

Планирую в айти на php идти.

И иметь 350к в мес в прекрасной перспективе.

Прошу оценить перспективу уважаемые опытных дедов-веб-разрабов

[моё] PHP Laravel Зарплата IT Текст
12
7
ProgTime
ProgTime
6 месяцев назад
Лига программистов

Отправка логов в Telegram. Модуль для Laravel⁠⁠

Отправка логов в Telegram. Модуль для Laravel PHP, Laravel, Telegram бот, Длиннопост

Всем привет! В данной записи я хотел бы поделиться с вами модулем который я разработал для Laravel.

https://github.com/prog-time/tg-logger

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

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

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

Настройка модуля

Для начала вам нужно создать Telegram бота который будет отвечать за отправку оповещений. После этого создаём группу, включаем в ней «Темы» и добавляем созданного бота в группу (обязательно с правами администратора).

О создание бота вы можете почитать тут - https://prog-time.ru/course/bot-v-telegram-2/

Для получения ID сообщества вам необходимо добавить бота @myidbotв группу и отправить команду /getgroupid в чат.

После создания бота, записываем токен бота и id группы в .env файл.

TG_LOGGER_TOKEN="token_bot"
TG_LOGGER_CHAT_ID="id_group"

Устанавливаем модуль через Composer.

composer require prog-time/tg-logger

После установки модуля, вам необходимо создать конфигурационный файл config/tg-logger.php и прописать в нём параметры для работы модуля.

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

php artisan vendor:publish --tag=config

После настройки tg-logger.php, вам необходимо запустить команду которая создаст темы в группе.

php artisan tglogger:create-topics

*После запуска данной команды, файл tg-logger.php будет перезаписан и в нём будут указаны id тем

На этом настройка модуля закончена, ниже рассмотрим как работать с модулем TgLogger.

Работа с модулем TgLogger

Отлов системных ошибок

Для отлова всех типов ошибок вам необходимо изменить базовый обработчик логов в конфигурационном файле config/logging.php, указав в качестве обработчиков классы модуля.

'channels' => [

...

'telegram' => [

'driver' => 'monolog',

'handler' => ProgTime\TgLogger\TgHandler::class,

'formatter' => ProgTime\TgLogger\TgFormatter::class,

'level' => 'debug',

],

...

],

И в .env изменить параметр LOG_CHANNEL

LOG_CHANNEL=telegram

Отправка сообщений через класс TgLogger

Вы также можете отправлять оповещения, напрямую, используя класс TgLogger и статический метод sendLog().

TgLogger::sendLog('Your message', 'level');

Большое спасибо тем кто дочитать данную статью до конца! Буду очень рад если вы поддержите данное решение на GitHub и напишете свой комментарий под данным постом.

Показать полностью
[моё] PHP Laravel Telegram бот Длиннопост
2
1
cododelia
cododelia
7 месяцев назад
Лига программистов

ЧЕТЫРЕ РАЗА! — ПЕРЕПИСЫВАЛ... проект! (Supabase, Strapi, AppWrite, Directus, FilamentPHP)⁠⁠

ЧЕТЫРЕ РАЗА! — ПЕРЕПИСЫВАЛ... проект! (Supabase, Strapi, AppWrite, Directus, FilamentPHP) Программирование, Javascript, Backend, Cms, Mysql, Postgresql, IT, Фриланс, Длиннопост, PHP, Laravel, Nodejs, Typescript, Личный опыт, React

AppWrite, SupaBase, Directus, Strapi - не понравились

AppWrite

Есть всё, кроме массового импорта. Мощнейшая вещь.

Но настройка его сложна для новичка, и жрет о 2-4гб оперативки на сервере.

SupaBase

Крутая штука, не допёр как сделать авторизацию 🤣

И тоже с настройкой были траблы.

Плюс мне не нравится HTTP Basic Авторизация по захардкоженным credentials в конфиге прокси сервера.

За то импорт и экспорт нормальный есть

Directus

Очень крутая штука, особенно его Flows.

Стал сильно продуманнее за прошедшие полгода с моей встречи с ним.

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

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

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

Ограничения так же можно обойти, сделав простое расширение, я так пол логики в прошлом проекте сделал, но теряется весь шарм легкости и наглядности. 🥲

Думаю ребята в нужном направлении двигаются, и их время просто ещё не настало, держу звезду на гитзабе за них.

Strapi

HeadlessCMS, да. Крутая, да. Популярная? А вот хз-хз.

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

НО КАК? Как может не быть у такой популярной CMS функционала для импорта/экспорта, хотя бы банального!?

Он справделивости ради есть в официальном маркете расширений, но... На прошлую версию 😖 Не без обратной совместимости 😩

Ну я его тоже оставил откисать.

FilamentPHP

Тяжелая артилерия из TALL Stack компонентов и не то что целой системы, а уже целой ЭКОсистемы для любого рода панелей, да еще и на базе Laravel 😤

Ну это козырь был.

Я пытался, честно, вот даже описал что меня останавило, и на каждый из вариантов я потратил минимум 4 часа времени.

Думал ребята допили свои проекты, обещающие супер быстрый старт, но везде какие-то проблемы...

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

Меня просто удивляет продуманность этого Filament. Баги есть, не без них, конечно. Как оказалось без ошибок ни то, что люди, роботы не справятся 🙃 (Отсылка к нейросетям)

Тут я за пару дней уложился извернуться и не сорвать сроки, а сделано:

  • Админка

  • Бизнес логика

  • Token Based Авторизация по API
    (пришлось потратить полдня, чтобы разобраться в этой теме, так как я её намеренно игнорировал последние 3 года)

  • API c аутентификацией по токену

  • Расширение для хрома на WXT + React (TanStack Router, Query, Store)

  • Для расширения хромовского - я вообще только с WXT работал и голым React, чисто для верстки.

К сожалению - опять не пригодился Background скрипт, так что всё ещё познать вполне не удастся разработку расширений...

Но с TanStack я не работал. Как-то раз для крипто проекта пытался его настроить и за целый день - так и не вышло. Сейчас же скажу - это мастхэв! Очень крутая штука!

Ну и отказался от Tailwind и SCSS в пользу CSS Modules в паре с clsx. И я не сказал бы, что стили писать долго. В моем случае я заказы беру вообще без дизайна и предпочтений, так что 50-80% от них пишет нейросеть, а я просто не претендую на произведение искусства 😆

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

Показать полностью
[моё] Программирование Javascript Backend Cms Mysql Postgresql IT Фриланс Длиннопост PHP Laravel Nodejs Typescript Личный опыт React
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 Онлайн-курсы Программист Программирование Обучение Длиннопост Блоги компаний
18
3
Mr.Ducks
Mr.Ducks
8 месяцев назад
Серия PHP и веб-разработка: полезные руководства и совет

PHP: Почему этот язык остается актуальным в 2024 году?⁠⁠

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

1. PHP 8.x: Мощные обновления для современного мира

С выходом PHP 8.x язык стал еще более эффективным и современным. Одним из ключевых обновлений стала поддержка JIT-компиляции (Just-in-Time), что значительно ускоряет выполнение кода, особенно для задач, связанных с вычислениями. Это позволяет PHP конкурировать по скорости с такими языками, как Java и C#.

Что нового в PHP 8.x:

  • JIT-компиляция: Увеличение производительности для сложных вычислений.

  • Named Arguments (Именованные аргументы): Возможность передавать параметры функции по имени, делая код более читабельным.

  • Match expression: Новый синтаксис для замены старых конструкций switch более лаконичным и мощным аналогом.

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

  • Union Types: Поддержка объединения типов данных, что делает строгую типизацию в PHP более гибкой и полезной.

PHP: Почему этот язык остается актуальным в 2024 году? PHP, Веб-разработка, Программирование, Laravel, Symfony, Производительность, Кодирование, Разработка, IT, Длиннопост

2. Легкость изучения и использования

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

3. Обширная экосистема и сообщества

PHP имеет одну из самых больших и активных экосистем в мире веб-разработки. Вот некоторые ключевые моменты:

  • Composer: Мощный менеджер зависимостей для PHP. Composer упрощает интеграцию библиотек, фреймворков и пакетов в проекты, обеспечивая их автоматическое обновление.

  • Фреймворки: Laravel, Symfony, CodeIgniter, Yii — это лишь малая часть фреймворков, созданных на PHP. Каждый из них предоставляет мощные инструменты для разработки приложений любого масштаба.

  • CMS на базе PHP: WordPress, Drupal, Joomla — все эти популярные системы управления контентом работают на PHP, что делает его ключевым языком для создания веб-сайтов.

4. Высокая производительность и масштабируемость

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

Кроме того, PHP отлично интегрируется с современными решениями для масштабирования и высоких нагрузок, такими как NGINX, Redis, Memcached и Docker. Это делает его идеальным выбором для крупных проектов с миллионами пользователей.

5. Поддержка и обратная совместимость

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

6. Безопасность

Хотя PHP долгое время подвергался критике за возможные проблемы с безопасностью, в последние годы ситуация значительно улучшилась. Современные версии PHP предоставляют встроенные механизмы для защиты от популярных уязвимостей, таких как SQL-инъекции, XSS-атаки и CSRF. Также благодаря сообществу и наличию большого количества библиотек, реализующих лучшие практики безопасности, разработчики могут легко интегрировать дополнительные уровни защиты в свои проекты.

7. Заключение

PHP продолжает развиваться и адаптироваться к требованиям современного веба. Его производительность, богатая экосистема и простота в использовании делают его идеальным инструментом как для новичков, так и для профессионалов. В 2024 году, с выходом PHP 8.x, этот язык еще раз доказал свою жизнеспособность и готовность к новым вызовам.

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

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