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

Пикабомбер

Аркады, Пиксельная, 2D

Играть

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

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

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

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

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

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

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

PHP + Разработка

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

Программирование Программист IT Javascript HTML Web-программирование Gamedev Инди игра Инди Игры Unity Все
58 постов сначала свежее
12
WoWSab
WoWSab
1 год назад
Лига программистов

Гайд - импортируем CKEditor 5 в Laravel 10 как модуль node.js⁠⁠

Всем привет!

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

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

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

Как обычно есть 2 пути - простой и сложный.

Простой - это просто прописать в шаблоне

<script src="https://cdn.ckeditor.com/ckeditor5/40.0.0/classic/ckeditor.js"></script>

И активировать его на textarea через ClassicEditor.create().

Но есть нюанс.... что если авторы решат уйти из РФ и ограничит доступ? Или же РКН решит что "ты не пройдешь!" и ... ты не пройдешь. Нужно любить всех своих пользователей, а не заставлять их расчехлять VPN потому что на сайте не работает редактор.

Да и мы ведь серьезный проект пишем! Нам нужно свое! Да еще и желательно с кастомным билдом под наши задачи!

По этому мы пойдем по второму пути - сложному, который делится еще на два.

Назовем их "следовать инструкциям" и "догадаться самим".

Но перед тем как начать - нам нужно собрать кастомный билд с нужными нами модулями и настройками. Что можно спокойно сделать на сайте. Я использовал билд на базе ClassicEditor, выбрал нужные мне модули в том числе и модуль watchdog на будущее (сейчас активировать его в коде я его конечно-же не буду). В общем, качаем билд и распаковываем его в "Новая папка (3)" на рабочке. Он нам понадобится, но несколько позже.

Гайд - импортируем CKEditor 5 в Laravel 10 как модуль node.js Гайд, Инструкция, Программирование, PHP, Javascript, Nodejs, Laravel, Длиннопост, Разработка, Веб-разработка, IT

Распакованный архив с кастомным билдом

Следуем инструкциям.

По инструкции на сайте мы берем скачанный билд, копируем его в папку с проектом в директорию public\assets\ckeditor5, импортируем .js файл в blade шаблон и так-же активируем его через EditorWatchdog() или CreateEditor(). Легко и просто, и в принципе все гайды в интернете по интеграции в Laravel пишут нам что так делать правильно.

Но нас то не обманешь! У нас серьезный проект! И ведь действительно, вдруг нам потом понадобится модуль, который мы не добавили в наш билд? Пересобирать заново? Да ну его! По этому мы пойдем своим путем! Поехали!

Догадываемся сами

К нашему счастью в Laravel встроен замечательнейший инструмент под названием Node.js, который мы и будем использовать. И не только его.

Установка

Идем консолькой в папку с нашим проектом и запускаем (не забудь включить vpn)

npm install --save @ckeditor/ckeditor5-build-classic

Гайд - импортируем CKEditor 5 в Laravel 10 как модуль node.js Гайд, Инструкция, Программирование, PHP, Javascript, Nodejs, Laravel, Длиннопост, Разработка, Веб-разработка, IT

Установка

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

Интеграция

Нам нужно чтобы наш Laravel увидел CKEditor, да собирал его под наши нужды "на лету". Для этого мы будем использовать vite, благо он идет в составе Laravel. У авторов CKEditor для него есть отдельный модуль с названием @ckeditor/vite-plugin-ckeditor5, его и будем использовать. Также нам понадобится модуль @ckeditor/ckeditor5-theme-lark.

Снова консоль, пишем:

npm install --save @ckeditor/vite-plugin-ckeditor5

npm install --save @ckeditor/ckeditor5-theme-lark

Пока ждем установку - наливаем кофе.

Далее ищем в корне нашего проекта файл vite.config.js и вносим в него следующие строки как показано на скриншоте (слева - старый файл, справа - внесенные изменения)

import { createRequire } from 'node:module';
const require = createRequire( import.meta.url );

import ckeditor5 from '@ckeditor/vite-plugin-ckeditor5';

ckeditor5( { theme: require.resolve( '@ckeditor/ckeditor5-theme-lark' ) } ),

Гайд - импортируем CKEditor 5 в Laravel 10 как модуль node.js Гайд, Инструкция, Программирование, PHP, Javascript, Nodejs, Laravel, Длиннопост, Разработка, Веб-разработка, IT

vite.config.js

Конфигурируем

Помните ту конфигурацию, что мы делали на сайте CKE? Она то нам сейчас и понадобится.

Открываем Новую папку (3) и в подпапке src находим файл ckeditor.ts. Это файл с настройками нашего билда. Копируем его в папку с проектом, в директорию resources/js.
Также из папки samples копируем style.css в resources/css.
И дополнительно создаем файлик editor.js - его мы и будем встраивать в наш шаблон.

Содержимое editor.js

import ClassicEditor from './ckeditor';

ClassicEditor.Editor
// Note that you do not have to specify the plugin and toolbar configuration — using defaults from the build.
.create( document.querySelector( '#editor' ), {
language: 'ru',
removePlugins: [
'MediaEmbedToolbar'
]
})
.then( editor => {
console.log( 'Editor was initialized', editor );
} )
.catch( error => {
console.error( error.stack );
} );

Для наблюдательных - я специально не использовал watchdog здесь. Импортировать его я планирую потом.

Дальше нам нужно загрузить недостающие модули.

Открываем редактором ckeditor.ts и видим вверху множество импортов.

Гайд - импортируем CKEditor 5 в Laravel 10 как модуль node.js Гайд, Инструкция, Программирование, PHP, Javascript, Nodejs, Laravel, Длиннопост, Разработка, Веб-разработка, IT

Открываем папку "node_modules/@ckeditor" внутри проекта и ищем недостающие модули. Если такие есть - устанавливаем их через npm install --save %имя_модуля%.

В дальнейшем есть шанс получить следующую ошибку от TailWindCSS (при запуске npm run dev)

[vite:css] Nested CSS was detected, but CSS nesting has not been configured correctly.Please enable a CSS nesting plugin *before* Tailwind in your configuration.

Она вызывается из-за того, что мы используем кастомный css для ckeditor

Чтобы этого не происходило, нам необходимо в файле postcss.config.js в корне нашего проекта добавить следующие строки:

'postcss-import': {},
'tailwindcss/nesting': {},

как на скриншоте

Гайд - импортируем CKEditor 5 в Laravel 10 как модуль node.js Гайд, Инструкция, Программирование, PHP, Javascript, Nodejs, Laravel, Длиннопост, Разработка, Веб-разработка, IT

postcss.config.js

Почти все

Нам осталось только в нашем шаблоне между тегов <head> добавить

@Vite(['resources/js/editor.js', 'resources/css/editor.css'])

И теперь любой <div> или <textarea> с указанием id="editor" будет вызван с редактором CKEditor5.

Запускаем проект через npm run dev и радуемся полученному результату!

Результат

Гайд - импортируем CKEditor 5 в Laravel 10 как модуль node.js Гайд, Инструкция, Программирование, PHP, Javascript, Nodejs, Laravel, Длиннопост, Разработка, Веб-разработка, IT

Результат

А Вы заметили пасхалочку на скриншоте?

Все что вам осталось - это настроить дизайн редактора в css файле.

Ну и как-же без ложки дегтя - почему-то конфигурация "language: ru" не срабатывает и редактор остается английским. Возможно не хватает какого-то модуля или же что-то необходимо донастроить. Пока еще не разобрался, но в целом на данном этапе разработки это не сильно критично. Если у Вас есть идеи - welcome!

Update: С языком разобрался. Действительно его необходимо было имортировать. Для этого в ckeditor.ts необходимо вставить строку после импорта { ClassicEditor }

import '@ckeditor/ckeditor5-build-classic/build/translations/ru';

Update2: Также нашел проблему при вставке видео с внешнего источника, например Youtube. В редакторе оно вставляется, а вот в пост не переносится. Лечится доп конфигом там-же в ckeditor.ts в секцию defaultConfig

mediaEmbed: {
previewsInData: true
}

Гайд - импортируем CKEditor 5 в Laravel 10 как модуль node.js Гайд, Инструкция, Программирование, PHP, Javascript, Nodejs, Laravel, Длиннопост, Разработка, Веб-разработка, IT

Исправленная локализация

Надеюсь что данный гайд поможет Вам в проектах.

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

В кратце - да, старый добрый, с блекджеком и шлюпками.

Всем спасибо!

Показать полностью 7
[моё] Гайд Инструкция Программирование PHP Javascript Nodejs Laravel Длиннопост Разработка Веб-разработка IT
3
Аноним
Аноним
1 год назад
Лига программистов

Продолжение поста «Быдлокод»⁠⁠

В общем бросила я это дело, не моё видимо.

[моё] Быдлокодинг PHP Разработка Рукожоп Ответ на пост Текст
6
Аноним
Аноним
1 год назад
Лига программистов

Продолжение поста «Быдлокод»⁠⁠2

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

Всем спасибо, все свободны )

Продолжение поста «Быдлокод» Быдлокодинг, PHP, Разработка, Рукожоп, Ответ на пост
[моё] Быдлокодинг PHP Разработка Рукожоп Ответ на пост
4
17
Аноним
Аноним
1 год назад
Лига программистов

Продолжение поста «Быдлокод»⁠⁠2

Дополню, ок, сорян, погорячилась и не стала писать подробно.

Это кусок кода из большого работающего интернет-магазина. В админке которого есть список городов. Я занимаюсь поддержкой сайта, то есть паруске - дописываю новые фичи и правлю старые баги. И вот меня спросили - а схуяле при добавлении нового города в админке (где есть огромный функционал работы с городами) в некоторых местах сайт вместо корректной работы показывает ХЕР? Я полезла искать. И вот - нашла, блять. Потому что Коля просто блять в рандомном модуле вместо запроса с получением городов из базы захуярил НЕКОТОРЫЕ города в код. Видимо, на момент тестирования актуальными были эти города. И похуй, что они уже 10 раз сменились и их настроили в админке. Запрос писать это ж долго. Проще нахуярить от балды в код городов. И это я еще не скинула, что там дальше. Уже 2 часа хожу ору, блять. Мне щас все это переписывать, а клиенту - оплачивать мою работу. Потому что что? Потому что Коля положил кое-что на нормальную разработку. Хотя бабло получил за нее.

А тот, кто посоветует просто дописать в этот кейс нужные города - такой же мудак как коля.

Анонимно пишу, потому что я за 5 минут по электронной почте в гите нашла колю на десятке разных ресурсов. Мне этого нинада.

А ты, Коля, бросай доту, сука, учи PHP!

[моё] Быдлокодинг PHP Разработка Рукожоп Мат Текст Ответ на пост
47
Аноним
Аноним
1 год назад
Лига программистов

Быдлокод⁠⁠2

case 'Выборг':
case 'Красноярск':
case 'Кемерово':
case 'Мурманск':
case 'Новокузнецк':
case 'Новосибирск':
case 'Пермь':
case 'Ростов-на-Дону':

Коля, блять, гори в аду.

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

Кто не понял - я вам сочувствую.

[моё] Быдлокодинг PHP Разработка Рукожоп Мат Текст
58
1
defurniture
defurniture
2 года назад
Серия Библиотека

Библиотека всё?⁠⁠

Библиотека всё. А именно...

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

По ряду причин dev blog Hakori версии был утерян полностью, в ноябре 2022 года появилась новое имя и новые задачи. Galvarda, я считаю что случайное сочетание букв это залог успеха.

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

Вот так выглядит финальная версия Hakori

Библиотека всё? Сайт, Разработка, Библиотека, PHP, Длиннопост

И её последующая заглушка

Библиотека всё? Сайт, Разработка, Библиотека, PHP, Длиннопост

Минимум css, минимум PHP, максимум HTML и фреймов. Фреймы это круто.

А уже так выглядит актуальная Galvarda версия

Библиотека всё? Сайт, Разработка, Библиотека, PHP, Длиннопост

Нечего не напоминает? Ладно, я сам уже не могу найти. Это украденный modx шаблон(тема) из которого я вырезал всё лишнее. Я просто не умею верстать, ладно?

А вот так выглядит код который каждый день обновлял локальную базу

Библиотека всё? Сайт, Разработка, Библиотека, PHP, Длиннопост

Написано на Python, да кривенько, да можно было написать bash скрипт. Я пошёл по пути наименьшего сопротивления.

Деньги, то из-за чего проект закрывается. Хостинг стоит 4.7 евро(до нового года было 3.7) в месяц, это не много и некоторое время даже покрывалось донатами. А потом ой. Я не учусь, не работаю(я пытался устроиться, честно, меня не взяли) так что с деньгами у меня проблема в том числе и из-за личных проблем в которые ушло 250к только за последние два месяца.

Резюмируя выше сказанное, я больше не буду искать деньги на оплату хостинга для сайта который используют дай бог 70 человек, если top.mail.ru не врёт, а он наверно не врёт. С тех пор как я написал логгирование скаченных книг... мда

Библиотека всё? Сайт, Разработка, Библиотека, PHP, Длиннопост

А вот и спонтанный пост кончился.

Показать полностью 4
[моё] Сайт Разработка Библиотека PHP Длиннопост
7
2
marazmo
marazmo
2 года назад
ИТ-проекты пикабушников

Генерация сайтов с помощью AI⁠⁠

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

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

Генерация сайтов с помощью AI IT, Сайт, Разработка, ChatGPT, PHP, Web-программирование, Хобби, Длиннопост

Предупреждение

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

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

Идея

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

Для упрощения технической части, я взял один из своих прошлых проектов, который был заброшен.

Генерация сайтов с помощью AI IT, Сайт, Разработка, ChatGPT, PHP, Web-программирование, Хобби, Длиннопост

Несколько лет назад я начал работу над этим проектом, но из-за пандемии COVID-19 мои планы были нарушены, и проект остался в начальной стадии разработки. Я использовал основной код и шаблоны из этого проекта — и это заметно визуально.

Первый блин

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

Как настоящий мечтатель, я начал с выбора забавного доменного имени и выбора направления для будущего сайта. Сначала я решил создать каталог для Тихоокеанского Северо-Запада (англ. Pacific Northwest) . Однако возник вопрос: каталог чего? Моя первая идея была создать каталог салонов красоты, но я недооценил их количество и доступность информации об них. В конечном итоге, я решил создать каталог школ, где обучают специалистов в области красоты. Это решение имеет преимущество в том, что школ меньше и информация о них более структурирована, что делает ее более удобной для парсинга.

В итоге, спустя несколько месяцев экспериментов в свободное время, я создал свой первый сайт — первый опыт в стопке моих будущих AI проектов.

Генерация сайтов с помощью AI IT, Сайт, Разработка, ChatGPT, PHP, Web-программирование, Хобби, Длиннопост

Технические моменты

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

Города и Штаты США можно легко найти в свободном доступе в форме готовых датасетов.

Каталог лицензированных школ также доступен в свободном доступе в рамках проекта об открытой информации.

С помощью API OpenAI я смог создать описания для категорий, школ и городов/штатов, соответствующих тематике сайта. Кроме того, я использовал API Bing для получения изображений для всех разделов сайта.

За два-три месяца экспериментов я освоил работу с генерацией контента и готов был перейти к более широкой тематике, охватывающей всю территорию США, а не только отдельный регион.

Второй блин

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

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

Спустя 5 недель было готово мое второе творение.

Генерация сайтов с помощью AI IT, Сайт, Разработка, ChatGPT, PHP, Web-программирование, Хобби, Длиннопост

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

Третий и четвертый блин

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

Генерация сайтов с помощью AI IT, Сайт, Разработка, ChatGPT, PHP, Web-программирование, Хобби, Длиннопост

Этот сайт я создал за 3 дня.

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

Генерация сайтов с помощью AI IT, Сайт, Разработка, ChatGPT, PHP, Web-программирование, Хобби, Длиннопост

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

Про деньги

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

Домены($92):

  • pnw.beauty $22

  • nurseakademy.com $12

  • cooks.school $46

  • sdecollege.com $12

Приблизительная стоимость использования Digital Ocean составляет около $120 в год, однако я использую его не только для этих экспериментов, но и для множества других проектов.

Сам сайт в своей основе является статическим, за исключением административной панели, и он обслуживается через бесплатный CDN Cloudflare. К тому же, через этот сервис можно получить бесплатный SSL-сертификат.

Для получения картинок я использовал API Bing, который имеет простой и понятный интерфейс. По отчетам, я потратил на это $97.

Генерация сайтов с помощью AI IT, Сайт, Разработка, ChatGPT, PHP, Web-программирование, Хобби, Длиннопост

Однако судя по всему при регистрации мне дали какие то бесплатные кредиты и по итогам мой счет составил $0 — спасибо Майкрософт за щедрость.

Генерация сайтов с помощью AI IT, Сайт, Разработка, ChatGPT, PHP, Web-программирование, Хобби, Длиннопост

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

На этих картинках видно как росли мои потребности и с ними росли расходы:

Всего: $122

Индексация гуглом

Так как сайты новые, сложно предсказать, как Google будет реагировать на гибридный контент. Сайт pnw.beauty уже набрал некоторую посещаемость в несколько сотен человек в день, но это связано с тем, что он уже существует уже несколько месецев.

Остальные сайты только начали свое существование и потребуется некоторое время для их индексации Google.

Выводы

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

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

Что дальше

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

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

Качество контента тоже вызывает вопросы - скорее всего его можно улучшить если настроить запросы к OpenAI более внимательно и вдумчиво или использовать человека в качестве редактора.

PS: Статья на английском доступна тут

Показать полностью 8
[моё] IT Сайт Разработка ChatGPT PHP Web-программирование Хобби Длиннопост
4

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

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

Какие игдексы существуют в PostgreSQL⁠⁠

Какие игдексы существуют в PostgreSQL PHP, Алгоритм, Postgres, Postgresql, Разработка, Длиннопост, Программирование

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

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

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

Некоторые из основных методов, которые вы можете реализовать в классе B-дерева в PHP, могут включать:

  • insert($value) - добавляет новое значение в дерево

  • delete($value) - удаляет значение из дерева

  • search($value) - ищет значение в дереве и возвращает true, если найдено, и false в противном случае

  • getMinimum() - возвращает минимальное значение в дереве

  • getMaximum() - возвращает максимальное значение в дереве

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

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

В PHP так же можно использовать сторонние библиотеки для реализации B-дерева, к примеру, "btree" или "B-tree" или "php-btree". Использование сторонних библиотек может значительно упростить процесс реализации B-дерева в вашем PHP-коде и обеспечить более надежную и оптимизированную реализацию.

Так же стоит отметить time complexity и space-complexity

Time complexity B-дерева обычно определяется как O(log n), где n - это количество элементов в дереве. Это достигается за счет того, что каждый узел дерева содержит не более t-1 ключей и t дочерних узлов, таким образом максимальная глубина дерева ограничена log(n/t).

Space complexity определяется как O(n), где n - это количество элементов в дереве. Это означает, что память, необходимая для хранения дерева, зависит от количества элементов в дереве. Каждый узел дерева содержит не более t-1 ключей и t дочерних узлов, поэтому количество узлов в дереве будет ограничено n/t.

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

"Introduction to Algorithms" авторы: Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein. Эта книга считается одним из лучших учебников по алгоритмам и структурам данных и включает подробное описание B-дерева и других структур данных.

"Database Systems: The Complete Book" автор: Hector Garcia-Molina, Jeff Ullman, and Jennifer Widom. Эта книга посвящена базам данных и включает подробное описание B-дерева и других индексных структур, используемых в базах данных.

"Algorithms in C++" автор: Robert Sedgewick. Эта книга предоставляет практическое руководство по алгоритмам и структурам данных на языке С++ и включает код для реализации B-дерева.

Спасибо за дополнения и замечания https://t.me/gasoid

Ещё больше полезной информации тут https://vk.com/work2oq

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