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

Сноуборд

Спорт, Аркады, На ловкость

Играть

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

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

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

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

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

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

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

HTML + IT

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

CSS Программирование Javascript Верстка Сайт Web IT юмор Программист Юмор Работа Картинка с текстом Разработка Все
155 постов сначала свежее
1
Proglib
Proglib
10 месяцев назад
Серия Итоги недели в мире фронтенда и обзоры сервисов

Итоги недели в мире фронтенда и обзоры новых сервисов: Как выбрать стратегию рендеринга⁠⁠

Итоги недели в мире фронтенда и обзоры новых сервисов: Как выбрать стратегию рендеринга Программирование, Разработка, Рендер, Frontend, CSS, HTML, IT, Javascript, Markdown, Nodejs, Svg, Видео, Длиннопост, YouTube, YouTube (ссылка)

☕ 5 способов создания DOM-элементов из HTML-строк методами JavaScript

Создание DOM-элементов из строк обеспечивает:

  • Динамическое создание контента – можно добавлять новые элементы на страницу без перезагрузки.

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

  • Шаблонизацию – поскольку упрощает создание повторяющихся структур HTML.

  • Управление интерфейсом – помогает создавать интерактивные элементы, которые реагируют на действия пользователя.

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

innerHTML

Это самый известный метод: он позволяет вставить строку HTML внутрь атрибута innerHTML контейнера и затем получить доступ к созданному узлу DOM. Однако он может обрабатывать только допустимые узлы HTML – к примеру, попытка вставить элемент <tr> в <div> приведет к тому, что узел не будет создан. Кроме того, этот метод не выполняет скрипты в HTML-строках, что делает его безопасным при работе с непроверенным содержимым.

Итоги недели в мире фронтенда и обзоры новых сервисов: Как выбрать стратегию рендеринга Программирование, Разработка, Рендер, Frontend, CSS, HTML, IT, Javascript, Markdown, Nodejs, Svg, Видео, Длиннопост, YouTube, YouTube (ссылка)

innerHTML + template

Использование тега <template> снимает ограничения на содержимое – он может содержать любую HTML-структуру, включая элементы, связанные с таблицами – <tr> и <td>.

Итоги недели в мире фронтенда и обзоры новых сервисов: Как выбрать стратегию рендеринга Программирование, Разработка, Рендер, Frontend, CSS, HTML, IT, Javascript, Markdown, Nodejs, Svg, Видео, Длиннопост, YouTube, YouTube (ссылка)

insertAdjacentHTML

Как и innerHTML, этот метод обрабатывает только допустимые HTML-узлы и не выполняет скрипты.

Итоги недели в мире фронтенда и обзоры новых сервисов: Как выбрать стратегию рендеринга Программирование, Разработка, Рендер, Frontend, CSS, HTML, IT, Javascript, Markdown, Nodejs, Svg, Видео, Длиннопост, YouTube, YouTube (ссылка)

DOMParser

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

Итоги недели в мире фронтенда и обзоры новых сервисов: Как выбрать стратегию рендеринга Программирование, Разработка, Рендер, Frontend, CSS, HTML, IT, Javascript, Markdown, Nodejs, Svg, Видео, Длиннопост, YouTube, YouTube (ссылка)

Range.createContextualFragment

Самый простой, но не безопасный метод – выполняет скрипты. Поэтому при его использовании необходимо очищать данные для защиты от XSS – например, с помощью DOMPurify.

Итоги недели в мире фронтенда и обзоры новых сервисов: Как выбрать стратегию рендеринга Программирование, Разработка, Рендер, Frontend, CSS, HTML, IT, Javascript, Markdown, Nodejs, Svg, Видео, Длиннопост, YouTube, YouTube (ссылка)

🎓☕ Подтянуть свои знания по Java вы можете на нашем телеграм-канале «Библиотека Java для собеса»

🦮 Интерактивные гайды

Гайд по SVG

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

Итоги недели в мире фронтенда и обзоры новых сервисов: Как выбрать стратегию рендеринга Программирование, Разработка, Рендер, Frontend, CSS, HTML, IT, Javascript, Markdown, Nodejs, Svg, Видео, Длиннопост, YouTube, YouTube (ссылка)

SSSVG поможет быстро понять принцип работы всех основных атрибутов

К слову, возможности SVG простираются за пределы создания векторных картинок и лого: энтузиасты умудрились сделать «Тетрис» в виде одного SVG-файла.

Итоги недели в мире фронтенда и обзоры новых сервисов: Как выбрать стратегию рендеринга Программирование, Разработка, Рендер, Frontend, CSS, HTML, IT, Javascript, Markdown, Nodejs, Svg, Видео, Длиннопост, YouTube, YouTube (ссылка)

Этот «Тетрис» сделан полностью на SVG

Гайд по :has() в CSS

Псевдокласс :has() открывает новые возможности для творческих экспериментов в CSS, позволяя создавать сложные и интерактивные дизайны без использования JavaScript. Это первый родительский селектор, позволяющий стилизовать элемент в зависимости от его содержимого. Все невероятные возможности :has() продемонстрированы в интерактивном гайде CSS :has() Interactive Guide.

Итоги недели в мире фронтенда и обзоры новых сервисов: Как выбрать стратегию рендеринга Программирование, Разработка, Рендер, Frontend, CSS, HTML, IT, Javascript, Markdown, Nodejs, Svg, Видео, Длиннопост, YouTube, YouTube (ссылка)

В гайде подробно разобраны десятки примеров использования :has()

🐘🧩 Интересные задачи по PHP для практики можно найти на нашем телеграм-канале «Библиотека задач по PHP»

🪚 Инструменты

Plasmic – опенсорсный визуальный конструктор для создания сайтов и веб-приложений на React со множеством функций:

  • Можно интегрировать с существующими React-проектами.

  • Можно использовать как CMS.

  • Позволяет подключать разные источники данных и бэкенд-сервисы.

  • Совместим с Next.js и Gatsby.

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

article-extractor – эта библиотека Node.js извлекает текст статей, метаданные и ссылки на изображения по URL.

Итоги недели в мире фронтенда и обзоры новых сервисов: Как выбрать стратегию рендеринга Программирование, Разработка, Рендер, Frontend, CSS, HTML, IT, Javascript, Markdown, Nodejs, Svg, Видео, Длиннопост, YouTube, YouTube (ссылка)

Протестировать article-extractor можно на демо-сайте

Turndown – Node.js-библиотека для конвертирования HTML в Markdown. Отлично работает в связке с предыдущим инструментом.

Итоги недели в мире фронтенда и обзоры новых сервисов: Как выбрать стратегию рендеринга Программирование, Разработка, Рендер, Frontend, CSS, HTML, IT, Javascript, Markdown, Nodejs, Svg, Видео, Длиннопост, YouTube, YouTube (ссылка)

article-extractor + turndown подготовят контент для LLM

15 полезных расширений VS Code для фронтендера

  • Auto Rename Tag – при переименовании HTML-тега автоматически обновляет парный тег.

  • Code Spell Checker – находит опечатки в именах переменных и других идентификаторах.

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

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

  • ESLint – выявляет проблемы в коде (нарушения форматирования или потенциальные ошибки) на лету.

  • Figma – позволяет встраивать и просматривать файлы дизайна Figma прямо в VS Code.

  • GitHub Copilot – предлагает AI-генерируемые подсказки во время набора кода.

  • Copilot Chat – предоставляет окно чата в стиле ChatGPT прямо в редакторе.

  • GraphQL – набор расширений, упрощающих работу с GraphQL.

  • Import Cost – показывает размер импортируемых пакетов, помогая выявить потенциальное раздувание кода.

  • Live Server – запускает локальный сервер с автоматической перезагрузкой, что удобно для предварительного просмотра изменений.

  • Live Share – позволяет программировать в команде с другими разработчиками, работая в одном редакторе в реальном времени.

  • Markdown Preview Enhanced – предоставляет живой предпросмотр Markdown-файлов во время редактирования.

  • Notes – удобный блокнот для хранения заметок по проекту, инструкций по настройке и т. д.

  • Hinty – предоставляет динамические подсказки в реальном времени. Помогает избегать повторения распространенных ошибок и соблюдать стандарты написания кода в команде.

🐍🎓 Подтянуть свои знания по Python вы можете на нашем телеграм-канале «Библиотека Python для собеса»

⚛️ Как выбрать оптимальную стратегию рендеринга

Рендеринг – это процесс превращения кода в контент. За годы развития интернета эта технология прошла долгий путь – от формирования простейших HTML-страниц на стороне сервера до динамического обновления интерактивных приложений без перезагрузки. Сейчас в ходу несколько методов рендеринга:

  • Генерация статических сайтов (предварительно генерирует HTML-страницы во время сборки приложения).

  • Генерация на стороне сервера (генерирует полный HTML для страницы при каждом запросе).

  • Генерация на стороне клиента (использует JavaScript для рендеринга контента в браузере пользователя).

  • Инкрементальная статическая регенерация (позволяет обновлять отдельные страницы после сборки сайта).

  • Частичный пререндеринг (экспериментальный подход, который стремится автоматически оптимизировать стратегии рендеринга).

Эти методы по-разному подходят к оптимизации работы приложения, SEO и пользовательского опыта. Их можно комбинировать – это позволяет по максимуму использовать сильные стороны, нивелировать недостатки и обеспечить оптимальный баланс производительности, свежести данных и интерактивности. Разработчики Vercel (эта компания создала Next.js) написали подробную статью о преимуществах и недостатках каждого подхода и о том, как их лучше комбинировать.

Генератор статических сайтов (SSG)

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

Преимущества:

  • Самая быстрая загрузка страниц.

  • Отличные показатели SEO.

  • Самая низкая нагрузка на сервер.

  • Низкие затраты на инфраструктуру.

Недостатки:

  • Увеличенное время сборки для сайтов с большим количеством страниц.

  • Обновление контента требует новой сборки и развертывания.

Рендеринг на стороне сервера (SSR)

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

Преимущества:

  • Всегда отдает свежий, актуальный контент.

  • Показатели SEO и времени загрузки данных лучше, чем при рендеринге на стороне клиента.

Недостатки:

  • Загрузка происходит медленнее, чем при использовании SSG или ISR.

  • Показатель времени до первого байта (TTFB) может быть неудовлетворительным.

  • Потребляет больше серверных ресурсов.

Инкрементальная статическая регенерация (ISR)

Подходит для случаев, когда сборка с SSG занимает слишком много времени. Используется для страниц продуктов в e-commerce, новостных порталов и крупных контентных сайтов.

Преимущества:

  • Сохраняет быструю загрузку страниц, как у SSG.

  • Позволяет обновлять контент по требованию без полной пересборки.

  • Эффективно масштабируется на большое количество страниц.

  • Может быть экономичнее, чем SSR, в некоторых случаях.

Недостаток:

  • Требует тщательного управления стратегиями инвалидации кэша.

Рендеринг на стороне клиента (CSR)

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

Преимущества:

  • Самый интерактивный пользовательский опыт.

  • Плавные переходы между состояниями приложения.

  • Взаимодействие с внешними данными в реальном времени.

Недостатки:

  • Начальная загрузка может быть медленнее из-за необходимости загрузки JavaScript-бандла.

  • Оптимизация Core Web Vitals может быть сложной.

  • Требует тщательного управления состоянием на клиенте.

Частичный пререндеринг (PPR)

PPR призван объединить преимущества других стратегий рендеринга и потенциально может стать стандартным подходом для веб-приложений в будущем.

Преимущества:

  • Мгновенная загрузка страницы (как у SSG).

  • Плавная потоковая передача динамического контента.

  • Улучшенная производительность с меньшими затратами на разработку.

Недостатки:

  • Все еще находится в стадии исследований и разработки.

  • Может потребовать рефакторинга кода для включения в существующий проект.

Выбор стратегии рендеринга

При выборе стратегии рендеринга нужно учитывать следующие факторы.

Как часто обновляется контент?

  • Статический контент лучше всего обрабатывать генератором статических сайтов.

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

  • Обновление контента в реальном времени требует серверного или клиентского рендеринга.

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

Насколько важно продвижение страницы в поисковых системах?

  • Хотя Google может рендерить JavaScript на стороне клиента, ключевые показатели Core Web Vitals все еще сильно влияют на ранжирование.

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

Насколько активно пользователь будет взаимодействовать со страницей?

  • Если страница в основном статическая с минимальным взаимодействием, используйте SSG или ISR с небольшим количеством клиентского JavaScript.

  • В противном случае может потребоваться SSR (с гидратацией на стороне клиента).

Каковы требования к скорости загрузки?

  • Для максимально быстрой начальной загрузки используйте SSG или ISR с редкой инвалидацией.

  • Чтобы сбалансировать свежесть данных и скорость, используйте ISR или SSR (для актуальных данных).

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

Нужно ли персонализировать контент?

  • Если вам нужен персонализированный контент, скорее всего, потребуется SSR или CSR.

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

  • SSG не позволяет персонализировать контент.

🔤 Больше полезных материалов вы найдете на нашем телеграм-канале «Азбука айтишника»

Автор рассылки: Наталья Кайда

Показать полностью 10 1
Программирование Разработка Рендер Frontend CSS HTML IT Javascript Markdown Nodejs Svg Видео Длиннопост YouTube YouTube (ссылка)
0
2
user9404634
user9404634
11 месяцев назад
IT-юмор

Ветхий мем, но почему-то мне смешно до сих пор...⁠⁠

Ветхий мем, но почему-то мне смешно до сих пор... IT, IT юмор, Программирование, Программист, HTML
Показать полностью 1
IT IT юмор Программирование Программист HTML
13
tablepedia
11 месяцев назад

Визуализация графиков функций на языке JavaScript⁠⁠

Посмотрите, пожалуйста, как я визуализировал графики функций на странице

http://tablepedia.com/junior2.html

Вся эта страница занимает 8 килобайт, а язык программирования - JavaScript, также используются языки разметки SVG и HTML.

Ниже - ВЕСЬ код страницы:

<html>

<body onload="CARE(); PLOTbuild();">

<br>

<h2>Graphing calc</h2>

<br>

Xmin= <input id="xMin" value="0" type="text" size="10">

Xmax= <input id="xMax" value="10" type="text" size="10">

Xstep= <input id="xStep" value="1" type="text" size="10">

<br>

f(x)= <input id="tCare" value="x^2; sin(x); exp(x); log(x)" type="text" size="40">

<script>

var h1 = 20; var h2 = 580; var v1 = 360; var v2 = 10; var x1=0; var x2=0; var x3=0; var x4=0;

var y1=0; var y2=0; var y3=0; var OXaxis=0; var OYaxis=0;

var xcol=0; var ycol=1; var fsize = "12"; var plotColor="red"

var elements = ['', '']; var sTemp=""; var OXscale=""; var OYscale="";

function PLOTbuild()

{

OXaxis=0; OYaxis=0;

var FromToX = NUMBERseries(x1, x2, x3); OXscale = TEXTscale(FromToX, h1, h2);

var FromToY = NUMBERseries(y1, y2, y3); OYscale = TEXTscale(FromToY, v1, v2);

var targ = document.getElementById('target').value;

var stringsOX = OXscale.split("\n"); var stringsOY = OYscale.split("\n");

var tableStringsT = targ.split("\n"); var SIMPLEpoly = '';

for (var i = 1; i < tableStringsT.length-1; i = i + 1)

{

elements = tableStringsT[i].split("\t");

sTemp = elements[xcol] + ';' + elements[ycol];

SIMPLEpoly = SIMPLEpoly + convert2ValuesTo2Coordinates(sTemp, x1, x2, y1, y2, h1, h2, v1, v2) + '\n';

}

SIMPLEpoly = SIMPLEpoly.replace(/;/g, ',');

var sSVG = "<polyline fill='none' stroke='" + plotColor + "' stroke-width='1' points='";

sSVG = sSVG + SIMPLEpoly + "' />";

sSVG = sSVG + "\n" + "<polyline fill='none' stroke='#000000' stroke-width='0.5' points='";

sSVG = sSVG + h1 + "," + OYaxis + " " + h2 + "," + OYaxis + "' />";

for (var i = 0; i < stringsOX.length; i++)

{

elements = stringsOX[i].split("\t");

var OXshift1 = OYaxis + 10; var OYshift1 = h1 + 20;

var nOXsh2 = parseFloat(elements[1]) - 4; var nOYsh3 = OYaxis + 18;

sSVG = sSVG + "\n" + "<polyline fill='none' stroke='#000000' stroke-width='0.5' points='";

sSVG = sSVG + elements[1] + "," + OYaxis + " " + elements[1] + "," + OXshift1 + "' />";

sSVG = sSVG + "\n" + "<text x='" + nOXsh2 + "' y='" + nOYsh3 +

"' fill='black' font-family='Arial' font-size='" + fsize + "'>" + elements[2] + "</text>";

}

sSVG = sSVG + "\n" + "<polyline fill='none' stroke='#000000' stroke-width='0.5' points='" + OXaxis + ",";

sSVG = sSVG + v1 + " " + OXaxis + "," + v2 + "' />";

for (var i = 0; i < stringsOY.length; i++)

{

elements = stringsOY[i].split("\t");

sTemp=elements[2];

if (i == (stringsOY.length-1)) sTemp=document.getElementById("SM01").options[ycol].text;

OXshift1 = v1 + 10; OYshift1 = OXaxis + 10;

sSVG = sSVG + "\n" + "<polyline fill='none' stroke='#000000' stroke-width='0.5' points='" + OXaxis + ",";

sSVG = sSVG + elements[1] + " " + OYshift1 + "," + elements[1] + "' />";

sSVG = sSVG + "\n" + "<text x='" + OYshift1 + "' y='" + elements[1] + "' fill='" + plotColor +

"' font-family='Arial' font-size='" + fsize + "'>" + sTemp + "</text>";

}

document.getElementById('boldStuff').innerHTML = "<svg version='1.1' width='" + '700' + "' height='" + '400' + "' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'>" + sSVG + "\n" + "</svg>";

}

function TEXTscale(x1xN, min4, max4)

{

var pieces = x1xN.split(";");

var qx = pieces.length-1;

var sm3 = ""; var smpp=0;

for (var i = 0; i < qx; i = i + 1)

{

smpp = parseFloat(pieces[i]); sm3 = sm3 + smpp; sm3 = sm3 + "\t";

xx1=parseFloat(pieces[0]);

xx2=parseFloat(pieces[qx]);

xAmong=smpp;

part = (xAmong - xx1) / (xx2 - xx1); smart2=(max4 - min4) * part + min4;

smart2 = NUMBERfloat(smart2, 0.001);

sm3 = sm3 + smart2;

sm3 = sm3 + "\t" + smpp + "\n";

if (smpp == 0)

{

if (OXaxis == 0) {OXaxis=smart2;} else {OYaxis=smart2;}

}

}

coo = NUMBERfloat(max4, 0.0001);

sm3 = sm3 + x2+"\t"+coo+"\t"+x2;

return sm3;

}

function convert2ValuesTo2Coordinates(xy, x1, x2, y1, y2, xa41, xa42, ya41, ya42)

{

var srav = xy.split(";");

var gett = convert1ValueTo1Coordinate(x1, x2, xa41, xa42, srav[0]) + ";" + convert1ValueTo1Coordinate(y1, y2, ya41, ya42, srav[1]); return gett;

}

function convert1ValueTo1Coordinate(zx1, zx2, a1, a2, xVECTOR1)

{

return (a2-a1) * (xVECTOR1 - zx1) / (zx2 - zx1) + a1;

}

function NUMBERfloat(xbig, xsmall)

{

vmax = Math.floor(xbig / xsmall + 0.99) * xsmall; vmax = vmax.toFixed(10);

vmax = vmax * 1; return vmax;

}

function NUMBERseries(f, t, vStep)

{

var s = "";

for (var x = f; x < t; x = x + vStep)

{

s = s + NUMBERfloat(x, vStep) + ";"

}

s=s+t; return s;

}

function CARE()

{

ycol = document.getElementById("SM01").options.selectedIndex;

var s = document.getElementById("target").value;

var arrayOfTableStrings = s.split("\n");

var midC = 0;

var minC = 0;

var maxC = 0;

for (var i = 1; i < arrayOfTableStrings.length - 1; i++)

{

STRINGelements = arrayOfTableStrings[i].split("\t");

midC = parseFloat(STRINGelements[ycol]);

if (maxC < midC)

maxC = midC;

if (minC > midC)

minC = midC;

}

a = NUMBERfloat(minC, 0.001);

b = NUMBERfloat(maxC, 0.001);

var xr = Math.abs(b - a) / 10;

var mimi = Math.abs(a / xr) / 10 * 5;

if (mimi < 1)

{

a = 0;

xr = Math.abs(b - a) / 10;

}

var loga = Math.log10(xr);

var inta = Math.floor(loga);

var deca = Math.pow(10, inta);

var mi1 = Math.floor(a / deca);

var ma1 = Math.ceil(b / deca);

var xMIN=document.getElementById('xMin').value;

x1=parseFloat(xMIN);

var xMAX=document.getElementById('xMax').value;

x2=parseFloat(xMAX);

var xStep=document.getElementById('xStep').value;

x3=parseFloat(xStep); if (x3 == 0) x3=x2-x1;

x4=x3/10;

y1 = NUMBERfloat(mi1 * deca, 0.001);

y2 = NUMBERfloat(ma1 * deca, 0.001);

y3=(y2-y1)/10;

var xtemp=0;

var textToSave = document.getElementById("tCare").value;

textToSave=textToSave.replace('log', 'Math.log');

textToSave=textToSave.replace('exp', 'Math.exp');

textToSave=textToSave.replace('sin', 'Math.sin');

textToSave=textToSave.replace('cos', 'Math.cos');

var tts= textToSave.split(";");

var s='';

var i=0;

var j=0;

for(i=x1; i<x2;i=i+x4){

s=s+NUMBERfloat(i, 0.001);

for(j=0; j<tts.length;j++){

xtemp=eval('x='+i+'; '+caretReplace(tts[j]))

s=s+'\t'+NUMBERfloat(xtemp, 0.001);

}

s=s+'\n';

if (i>=parseFloat(xMax))break;

}

document.getElementById("target").value = s;

}

var caretReplace = function(_s) {

if (_s.indexOf("^") > -1) {

var tab = [];

var powfunc="Math.pow";

var joker = "___joker___";

while (_s.indexOf("(") > -1) {

_s = _s.replace(/(\([^\(\)]*\))/g, function(m, t) {

tab.push(t);

return (joker + (tab.length - 1));

});

}

tab.push(_s);

_s = joker + (tab.length - 1);

while (_s.indexOf(joker) > -1) {

_s = _s.replace(new RegExp(joker + "(\\d+)", "g"), function(m, d) {

return tab[d].replace(/(\w*)\^(\w*)/g, powfunc+"($1,$2)");

});

}

}

return _s;

};

</script>

<SELECT name="SM01" id="SM01" onchange="CARE(); PLOTbuild()">

<OPTION SELECTED VALUE="0">SELECT YOUR FUNCTION</OPTION>

<OPTION VALUE="1">x^2</OPTION>

<OPTION VALUE="2">sin(x)</OPTION>

<OPTION VALUE="3">exp(x)</OPTION>

<OPTION VALUE="4">log(x)</OPTION>

</SELECT>

<br>

<textarea class="input_type" id="target" name="target" cols="28" rows="28" wrap="off"></textarea>

<b id="boldStuff" style="color:transparent;">SVG</b>

</body>

</html>

Показать полностью
[моё] Javascript HTML Svg Программирование Языки программирования IT Программист График Визуализация Визуализация данных Текст Длиннопост
5
13
makasin4ik
makasin4ik
1 год назад

Самое информативное представление тегов HTML :)⁠⁠

Самое информативное представление тегов HTML :)
Зашакалено Картинка с текстом IT Юмор HTML IT юмор Программист
1
8
megavatt
megavatt
1 год назад

Надёжность - это главное⁠⁠

Надёжность - это главное

itmemhub

[моё] IT Юмор Google Пароль HTML Telegram (ссылка)
4
26
Wowovideo
Wowovideo
1 год назад
ITumor | программисты шутят

Олды тут?⁠⁠

источник

Олды тут? Telegram (ссылка), IT юмор, IT, Программист, Олдскул, HTML, Программирование, Windows, Скриншот
Telegram (ссылка) IT юмор IT Программист Олдскул HTML Программирование Windows Скриншот
20
Version001
1 год назад
Серия Трудовыебудни фрилансера

Format C:⁠⁠

Всем привет, Пикабу!

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

Сразу скажу, я не профессиональный программист. Все, что я знаю - черпал в разное время из книг и Youtube. Да, когда-то начинал по книге изучать Delphi, а с помощью форумов и HTML писал для себя простенькие сайты. Прошло довольно много времени, изучение было успешно отложено. Около года назад снова заинтересовало написание кода, выбор пал на распиаренный Python. В общем сейчас владею небольшим багажом знаний по Python, HTML верстке с CSS, JavaScript и немного C# (На C# имеется опыт в написании плагинов для игры Rust).

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

Ну и чтобы завершить данный поток написанных слов, расскажу о своем первом опыте на фрилансе. Как и ожидалось мной, опыт был негативным в силу моего доверия к людям. Мне удалось взять задание по редактированию шаблона сайта на Joomla. Ранее я уже сталкивался с этой CMS и базовые принципы работы имелись. Как это обычно бывает, заказчику потребовалось больше, чем было указано в описании задания. Я согласился, так как хотелось получить опыт в реальном заказе. Сейчас я не буду описывать в чем конкретно заключалась задача и ее многочисленные подзадачи в виде "мелких" правок и какова была реализация. Скажу только итог - я выполнил всю работу и не получил за свою работу ни копейки. Да, таков был первый опыт.

Я очень надеюсь, что найдутся те, кому это будет интересно. Надеюсь, что найдутся и те, кто будет тоже делиться своими знаниями. В общем, Пикабу, не кидай камни)

Показать полностью
[моё] Программирование Программист Python IT Windows HTML CSS Javascript Csharp Текст
1

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

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

AJAZZ AKP153 Stream Controller⁠⁠

Добрый день. Приобрел устройство AJAZZ AKP153. Это аналог Stream deck. Устройство работает на плагинах, плагины написаны на языках Html, js, Json. Так вот, может кто-то подскажет, хотелось бы написать плагин, для того, что бы он выводил информацию о песне и исполнителе из приложения Яндекс музыка.

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