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

Башня

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

Играть

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

  • Rahlkan Rahlkan 1 пост
  • Tannhauser9 Tannhauser9 4 поста
  • alex.carrier alex.carrier 5 постов
Посмотреть весь топ

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

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

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

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

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

Готовый скрипт для мастеров HANDYMAN SERVICE⁠⁠

Если вы хотите создать собственное мобильное приложение для услуг на дому, обратите внимание на Handyman Service - Flutter On-Demand Home Services App с полным решением. Это приложение предоставляет готовые шаблоны, которые позволят разработчикам быстро настроить систему бронирования для приема заказов от клиентов за считанные минуты.

Основные функции приложения включают:

  • Страницы регистрации и авторизации

  • Способы оплаты

  • Списки бронирований

  • Демонстрация типов услуг

  • Детализация информации о мастере

  • Страница с купонами и многое другое

Эта система также включает административную панель на Laravel PHP для глубокого анализа данных и управления ролями и правами доступа, такими как администратор, провайдер услуг, мастер и клиент. Приложение поддерживает несколько языков и RTL (справа налево) поддержку, а также светлый и темный режимы интерфейса.

Для более подробной информации и обсуждений, присоединяйтесь к нашему телеграм-каналу: [ телеграм-канал].

Скачать HANDYMAN SERVICE - FLUTTER ON-DEMAND HOME SERVICES APP WITH COMPLETE SOLUTION [v11.7.1] - 01 Aug 2024

Демка

Программа Разработка Сервис Скрипт Текст Telegram (ссылка)
0
simplysoo
simplysoo
11 месяцев назад
Серия Раздача скриптов

Wpbakery page builder⁠⁠

Сегодня хочу рассказать вам о WPBakery Page Builder для WordPress — самом популярном плагине для создания страниц с фронтенд и бэкенд редакторами. Представьте, сколько времени можно сэкономить, не возясь вручную с кодом и CSS!

WPBakery Page Builder — это простой в использовании конструктор страниц с функцией перетаскивания, который позволяет создавать любые макеты без навыков программирования. Хотите создавать страницы и сразу видеть результат? Пожалуйста! Плагин предоставляет два типа редакторов: фронтенд (инлайн) и бэкенд. Выбирайте тот, который удобнее вам.

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

Начать работать с WPBakery Page Builder очень просто:

  1. Добавьте строки и колонки на свою страницу.

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

  3. Перемещайте элементы по странице.

  4. Настраивайте параметры элементов через интуитивно понятные контролы и опции.

  5. Опубликуйте свою страницу.

А главное, вам не нужно быть разработчиком или дизайнером, чтобы создавать красивые страницы! С WPBakery Page Builder вы получите доступ к более чем 200 уникальным дополнениям с сотнями элементов контента, а также к библиотеке шаблонов с регулярно обновляемыми профессиональными шаблонами. Создавайте свои макеты буквально за секунды.

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

Скачать Wpbakery page builder v7.8

Показать полностью
[моё] Wordpress Скрипт Полезное Текст
1
tablepedia
1 год назад

Обсуждение СССР в статьях на Пикабу (14.07.2024-24.07.2024)⁠⁠

Спойлер: визуализация находится по адресу http://tablepedia.com/dataviz-2024_07_25.htm

21 июля 2024 года пользователем xMakedonecx была опубликована статья «Низкий поклон Монгольскому народу за помощь в трудную минуту!» по адресу https://zalipaka.icu/story/nizkiy_poklon_mongolskomu_narodu_za_pomoshch_v_trudnuyu_minutu_11615804

Она собрала за 4 дня 1341K просмотров, а другие 9 статей про СССР - от 120 тыс. до 250 тыс. просмотров.

Хэштег: https://zalipaka.icu/tag/СССР

Теперь показываю визуализацию данных о о просмотре статей на тему «Обсуждение СССР в статьях на Пикабу (14.07.2024-24.07.2024)» по адресу http://tablepedia.com/dataviz-2024_07_25.htm

Если перейдёте на данную страницу, то там есть ссылки на вышеупомянутые статьи.

Для запуска этой страницы (если вы её скачали) на компьютере необходимы библиотеки (то есть файлы) jquery-3.7.1.js и raphael.min.js.

Можно скачать архив с этой страницей и нужными библиотеками по адресу:

http://www.tablepedia.com/dataviz-2024_07_25.zip

Обсуждение СССР в статьях на Пикабу (14.07.2024-24.07.2024) СССР, Великая Отечественная война, Javascript, Jquery, Программирование, IT, Скрипт, Визуализация, Диаграмма

Визуализация данных по адресу http://tablepedia.com/dataviz-2024_07_25.htm

[моё] СССР Великая Отечественная война Javascript Jquery Программирование IT Скрипт Визуализация Диаграмма
3
tablepedia
1 год назад

Обсуждение внезапно прерванных дружб и поздно сбывшихся мечтаний в статьях про закрытый гештальт (06.07.2024-10.07.2024)⁠⁠

Спойлер: визуализация находится по адресу http://tablepedia.com/dataviz-2024_07_22.htm

9 июля 2024 года пользователем GutalinMySadness была опубликована статья «Гештальт закрыт» по адресу https://zalipaka.icu/story/geshtalt_zakryit_11583484

Она собрала за 12 дней свыше полуторамиллионов просмотров, а ответные 8 статей собрали от 124 тыс. до 646 тыс. просмотров.

Примечательно, что во всех этих статьях присутствует хэштег https://zalipaka.icu/tag/Гештальт

Теперь показываю визуализацию данных о о просмотре статей на тему «Обсуждение внезапно прерванных дружб и поздно сбывшихся мечтаний в статьях про закрытый гештальт (06.07.2024-10.07.2024)» по адресу http://tablepedia.com/dataviz-2024_07_22.htm

Если перейдёте на данную страницу, то там есть ссылки на вышеупомянутые статьи.

Для запуска этой страницы (если вы её скачали) на компьютере необходимы библиотеки (то есть файлы) jquery-3.7.1.js и raphael.min.js.

Можно скачать архив с этой страницей и нужными библиотеками по адресу:

http://www.tablepedia.com/dataviz-2024_07_22.zip

Обсуждение внезапно прерванных дружб и поздно сбывшихся мечтаний в статьях про закрытый гештальт (06.07.2024-10.07.2024) Гештальт, Дружба, Мечта, Визуализация, Javascript, Jquery, Svg, Программирование, IT, Скрипт

Визуализация данных по адресу http://tablepedia.com/dataviz-2024_07_22.htm

Гештальт Дружба Мечта Визуализация Javascript Jquery Svg Программирование IT Скрипт
0
tablepedia
1 год назад
Серия Визуализация данных

Динамика населения 10 стран мира с 1980 года (графики) на языке JavaScript⁠⁠

Посмотрите, пожалуйста, как я визуализировал динамику населения 10 стран мира (с 1980 года) на странице

http://tablepedia.com/junior3.html

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

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

<html>

<head>

<title>Visualization of user data #tablepedia #csv2svg #covidplot #virusplot http://tablepedia.com/junior3.html</title>

</head>

<body onload="PLOTbuild();">

<h1>Top 10 countries by population since 1980 (single HTML page with JS in 8 KB)</h1>

<script>

var h1 = 20; var h2 = 580; var v1 = 360; var v2 = 10;

var OXaxis=h1; var OYaxis=v1;

var fsize = "12"; var plotColor="red"

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

var ymin=[0, 981, 697, 227, 138, 147, 121, 81, 78, 73, 70];

var ymax=[0, 1412, 1375, 331, 149, 273, 212, 164, 210, 205, 128];

var x1=1980; var x2=2020;

var y1=60; var y2=210;

function PLOTbuild()

{

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

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

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

var ft1=fitRange1(ymin[ycol], ymax[ycol], 10);

var ft2=NUMBERseries(ft1);

var FromToX = "1980;1990;2000;2010;2020";

var OXscale = TEXTscale(FromToX, h1, h2);

var OYscale = TEXTscale(ft2, v1, v2);

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

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

{

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

sTemp = elements[0] + ';' + 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 xAmong=0;

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

{

xAmong = parseFloat(pieces[i]);

xx1=parseFloat(pieces[0]);

xx2=parseFloat(pieces[qx]);

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

smart2 = NUMBERfloat(smart2, 0.001);

sm3 = sm3 + xAmong + "\t" + smart2 + "\t" + xAmong + "\n";

}

coo = NUMBERfloat(max4, 0.0001);

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

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 fitRange1(a, b, nLines)

{

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

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

if (mimi < 1)

{

a = 0;

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

}

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 iFlag = 0;

if ((ma1 - mi1) > (nLines * 2))

{

deca = deca * 5;

mi1 = Math.floor(a / deca);

ma1 = Math.ceil(b / deca);

iFlag = iFlag + 1;

}

if ((ma1 - mi1) > (nLines))

{

deca = deca * 2;

mi1 = Math.floor(a / deca);

ma1 = Math.ceil(b / deca);

iFlag = iFlag - 1;

}

var mi2 = mi1 * deca;

var ma2 = ma1 * deca;

var s4 = mi2.toString() + ";" + ma2.toString() + ";" + deca.toString();

return s4;

}

function NUMBERseries(fts)

{

var FromToStep = fts.split(";");

var sFrom = FromToStep[0]; y1 = parseFloat(sFrom);

var sTo = FromToStep[1]; y2 = parseFloat(sTo);

var sStep = FromToStep[2]; var vStep = parseFloat(sStep);

var rr = "";

for (var x = y1; x < y2; x = x + vStep)

{

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

}

rr=rr+y2;

return rr;

}

</script>

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

<OPTION SELECTED VALUE="0">SELECT COUNTRY</OPTION>

<OPTION VALUE="1">China</OPTION>

<OPTION VALUE="2">India</OPTION>

<OPTION VALUE="3">USA</OPTION>

<OPTION VALUE="4">Russia</OPTION>

<OPTION VALUE="5">Indonesia</OPTION>

<OPTION VALUE="6">Brazil</OPTION>

<OPTION VALUE="7">Bangladesh</OPTION>

<OPTION VALUE="8">Pakistan</OPTION>

<OPTION VALUE="9">Nigeria</OPTION>

<OPTION VALUE="10">Mexico</OPTION>

</SELECT>

<br>

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

Year China India USA Russia Indonesia Brazil Bangladesh Pakistan Nigeria Mexico

2020 1412 1375 331 147 273 212 164 210 205 128

2018 1397 1351 327 147 266 210 161 201 196 124

2016 1379 1324 323 147 261 208 159 193 186 122

2014 1364 1294 319 146 254 205 157 186 178 120

2012 1351 1263 314 143 248 201 155 179 168 118

2010 1338 1231 309 143 242 197 152 171 159 116

2008 1325 1197 304 143 236 193 149 163 151 114

2006 1311 1162 299 143 230 189 145 157 143 112

2004 1296 1126 293 144 224 185 140 150 136 109

2002 1280 1089 288 145 218 181 135 143 129 106

2000 1263 1054 282 147 212 175 129 137 122 103

1998 1242 1018 276 148 206 171 125 132 115 100

1996 1218 983 269 148 200 165 120 126 109 97

1994 1192 946 263 148 194 159 117 120 101 93

1992 1165 910 257 149 188 155 112 114 93 89

1990 1135 874 250 148 182 150 106 108 88 86

1988 1102 838 244 147 176 144 101 101 86 82

1986 1067 802 240 144 170 139 95 95 84 79

1984 1037 767 236 142 163 133 90 89 81 76

1982 1009 733 232 140 155 127 86 83 77 73

1980 981 697 227 138 147 121 81 78 73 70

</textarea>

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

</body>

</html>

Показать полностью
Javascript HTML Svg Программирование Программист Население Страны Скрипт Тестирование Текст Длиннопост
4
tablepedia
1 год назад

Визуализация таблицы на языке JavaScript⁠⁠

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

http://tablepedia.com/junior.html

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

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

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">

<title>Visualization of user data #tablepedia #csv2svg #covidplot #virusplot tablepedia.com</title>

</head>

<body onload="PLOTbuild()">

<h1>Visualization of user data (single HTML page with JS in 8 KB)</h1>

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

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

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

<input type="button" value=" PLOT USER DATA " onclick="PLOTbuild()">

<br>

Ymin= <input id="yMin" value="0" type="text" size="10">

Ymax= <input id="yMax" value="1600" type="text" size="10">

Ystep= <input id="yStep" value="200" type="text" size="10">

<script>

var horizontalRange = '20;580'; var verticalRange = '360;10';

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

var STRINGelements = ['', '']; var sTemp=0; var OXscale=""; var OYscale="";

function PLOTbuild()

{

var s0 = "<svg version='1.1' width='" + '700' + "' height='" + '400' + "' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'>";

document.getElementById('boldStuff').innerHTML = s0 + SVGgenerate() + "\n" + "</svg>";

}

function SVGgenerate()

{

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

var x1=parseFloat(xMIN);

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

var x2=parseFloat(xMAX);

var xMM=xMIN+";"+xMAX;

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

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

var yMIN=document.getElementById('yMin').value;

var y1=parseFloat(yMIN);

var yMAX=document.getElementById('yMax').value;

var y2=parseFloat(yMAX);

var yMM=yMIN+";"+yMAX;

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

var y3=parseFloat(yStep); if (y3 == 0) y3=y2-y1;

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

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

var rangeXA4 = horizontalRange.split(";"); var axisOnOX = rangeXA4[0];

var rangeYA4 = verticalRange.split(";"); var axisOnOY = rangeYA4[0];

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

var tableStringsOX = OXscale.split("\n"); var tableStringsOY = OYscale.split("\n");

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

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

{

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

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

SIMPLEpoly = SIMPLEpoly + convert2ValuesTo2Coordinates(sTemp, xMM, yMM, horizontalRange, verticalRange) + '\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 + rangeXA4[0] + "," + axisOnOY + " " + rangeXA4[1] + "," + axisOnOY + "' />";

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

{

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

var OXshift1 = parseFloat(axisOnOY) + 10; var OXsh1 = OXshift1.toString();

var OYshift1 = parseFloat(axisOnOX) + 20; var nOYsh2 = parseFloat(axisOnOX) - 5; var OYsh1 = OYshift1.toString();

var nOXsh2 = parseFloat(STRINGelements[1]) - 4; var OXsh2 = nOXsh2.toString();

var nOYsh3 = parseFloat(OXsh1) + 8; var OYsh3 = nOYsh3.toString();

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

sSVG = sSVG + STRINGelements[1] + "," + axisOnOY + " " + STRINGelements[1] + "," + OXsh1 + "' />";

sSVG = sSVG + "\n" + "<text x='" + OXsh2 + "' y='" + OYsh3 +

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

}

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

sSVG = sSVG + rangeYA4[0] + " " + axisOnOX + "," + rangeYA4[1] + "' />";

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

{

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

OXshift1 = parseFloat(axisOnOY) + 10; OXsh1 = OXshift1.toString(); OYshift1 = parseFloat(axisOnOX) + 10;

OYsh1 = OYshift1.toString();

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

sSVG = sSVG + STRINGelements[1] + " " + OYsh1 + "," + STRINGelements[1] + "' />";

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

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

}

return sSVG;

}

function TEXTscale(x1xN, min4max4)

{

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

var pieces2 = min4max4.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";

smart2 = findProportion(parseFloat(pieces[0]), parseFloat(pieces[qx]), smpp, parseFloat(pieces2[0]), parseFloat(pieces2[1]));

smart2 = NUMBERround(smart2, 3);

sm3 = sm3 + smart2;

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

}

coo = parseFloat(pieces2[1]);

coo = NUMBERround(coo, 4);

coo2 = parseFloat(pieces[qx]);

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

return sm3;

}

function convert2ValuesTo2Coordinates(xy, x, y, xa4, ya4)

{

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

var d0 = convert1ValueTo1Coordinate(x, xa4, srav[0]); var h0 = convert1ValueTo1Coordinate(y, ya4, srav[1]);

var gett = d0 + ";" + h0; return gett;

}

function convert1ValueTo1Coordinate(VECTOR1, VECTOR2, xVECTOR1)

{

var pieces = VECTOR1.split(";"); var pieces2 = VECTOR2.split(";");

var smart2 = findProportion(parseFloat(pieces[0]), parseFloat(pieces[1]), xVECTOR1, parseFloat(pieces2[0]), parseFloat(pieces2[1]));

return smart2;

}

function findProportion(x1, x2, xAmong, min4, max4)

{

var part = (xAmong - x1) / (x2 - x1); return (max4 - min4) * part + min4;

}

function NUMBERround(x, n)

{

if (isNaN(x) || isNaN(n)) return 0; var m = Math.pow(10, n); return Math.round(x * m) / m;

}

function NUMBERfloat(xbig, xsmall)

{

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

vmax = vmax * 1; smax = vmax.toString(); return smax;

}

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;

}

</script>

<br>

<br>

USER DATA:

<br>

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

X Y

159 1956

158 1934

157 1905

156 1883

155 1861

154 1839

153 1818

152 1797

151 1774

150 1749

149 1726

148 1707

147 1688

146 1671

145 1657

144 1634

143 1608

142 1581

141 1558

140 1537

139 1516

138 1497

137 1473

136 1441

135 1414

134 1393

133 1373

132 1356

131 1333

130 1307

129 1279

128 1250

127 1225

126 1200

125 1158

124 1133

123 1104

122 1070

121 1040

120 1013

119 988

118 966

117 939

116 891

115 869

114 843

113 825

112 788

111 760

110 735

109 702

108 671

107 640

106 610

105 583

104 558

103 530

102 502

101 466

100 432

99 399

98 368

97 338

96 312

95 278

94 246

93 217

92 190

91 165

90 143

89 125

88 105

87 86

86 69

85 55

84 46

83 35

82 27

81 20

80 14

79 9

78 6

77 5

0 0

</textarea>

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

</body>

</html>

Показать полностью
[моё] Javascript HTML Svg Визуализация Программирование Скрипт График Таблица Программист Текст Длиннопост
5
0
user9370899
1 год назад

Тех-поддержка как она есть⁠⁠

Доброго дня!

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

1. В идеале максимально чётко описывайте проблему сразу.
Часто диалоги с клиентами выглядят так:
- Привет
- Добрый день, компания "Клиента-Обману-нейм", чем могу помочь?
- *проходит минут 5*
- у меня проблема...
- Опишите, пожалуйста, вашу проблему
- проходит ещё минут 5-7
- Ну, у меня тут не работает...

Поняли, да?) Обратите внимание, я не говорю что клиенты такие-сякие ( хотя порой так думаю). Но, поверьте, у нас обычно по 10-20 чатов, в зависимости от фирмы ( бывает и по 40-50). Это НЕ ваши проблемы, но это СТАНЕТ вашей проблемой, потому что там живые люди. И чем дольше вы "тяните" резину - тем хуже. Хотя бы потому, что я банально про вас забуду. В какой-то момент уведомление о чате не сработает и я вас потеряю например. Или просто переключусь на клиента который говорит сразу всё, пусть сумбурно. Конечно, я потом вернусь. Но вам-то от этого не легче. Предвосхищая вопрос - какого чёрта так много чатов? Ну потому что) сотрудников всегда меньше чем работы, фирме так выгоднее.

2. Сейчас повальное увлечение ИИ. Честно говоря, те кто пишут скрипты для ботов, на мой взгляд, идиоты. Либо их банально никто не консультирует. Поэтому в моём опыте бот больше мешает чем помогает. Но, диалог сохраняется, так что опять таки, пишем проблему сразу.
И да, сразу зовём оператора. За редкими исключениями, бот - полный дегенерат.

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

4. Хотите действительно внимания? Требуйте возврата.
Это универсальное правило. Фирме плевать на недовольство, но её беспокоит возврат денежных средств. Естественно, он максимально затруднён, но он есть и гарантирует обычно максимум внимания. По крайней мере, у меня в 4 из 5 контор было так. Если возврат - сразу куча начальства сбегается. А в обычном случае я сам от них могу по 3 часа ответа ждать, пока клиент несчастный пену из рта выпускает.

Вот такая простая памятка, которая, увы, не решает все вопросы, но сможет хоть немного упростить Вам жизнь.

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

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

Показать полностью
[моё] Покупатель Продавцы и покупатели Служба поддержки Скрипт Люди Работа Текст
0
Партнёрский материал Реклама
specials
specials

Сколько кнопок было на вашем тамагочи: три или четыре?⁠⁠

Четыре — это на богатом, три — это на каноничном. В нашем тамагочи, конечно, три. Заходите в игру и вырастите очаровательную квокку.

Игры Тамагочи Награда Ностальгия
5471
Drinktheocean
1 год назад

Ручная работа⁠⁠

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