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

Реальная Рыбалка

Симуляторы, Мультиплеер, Спорт

Играть

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

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

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

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

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

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

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

Javascript + YouTube

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

Программирование IT HTML IT юмор Программист Frontend CSS Музыка Юмор Вертикальное видео Политика Игры Фильмы Песня Все
69 постов сначала свежее
2
nin.jin
nin.jin
2 года назад
Типичный программист
Серия Разнос от Карловского

Препарируем Vue и находим родовые травмы⁠⁠

Мелкозернистая ленивая реактивность, но..

- При всплытии исключения компонент просто исчезает
- Нет отсечения эквивалентных изменений.
- Неконсистентное состояние при циклических зависимостях.

Показать полностью
[моё] Программирование IT Программист Веб-разработка Исследования Веб фреймворки Javascript HTML CSS Видео YouTube
7
nin.jin
nin.jin
2 года назад
Типичный программист
Серия Разнос от Карловского

Препарируем Svelte и обнаруживаем в нём патологии⁠⁠

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

[моё] Программирование YouTube IT Веб фреймворки Frontend Javascript Видео
5
2
trapwalker
trapwalker
2 года назад
Искусственный интеллект
Серия Простыми словами

ИскИны играют в Мафию⁠⁠

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

Спешу поделиться, поскольку, как ни странно, еще никто не запостил это на Пикабу.

Прошлый мой пост про устройство ChatGPT "на пальцах" обрёл некоторую (по моим меркам) популярность, а если так, то этот ролик тоже будет кому-то интересен.

TLDR: Тут Onigiri заставляет ChatGPT играть против себя в мафию. По ходу он рассказал о нескольких интересных тонкостях этой нейросети.

YouTube Нейронные сети Искусственный интеллект Игра мафия Обман Javascript Программирование API ChatGPT Видео
5
8
Artjopey
Artjopey
2 года назад
ИТ-проекты пикабушников

Как я при помощи Google сделал OPC2WEB клиент⁠⁠

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

Кстати можно сделать тоже самое но в Excel:

Я работаю инженером АСУТП и немного увлекаюсь программированием: при помощи Гугла и Stack Overflow делал несколько калькуляторов на HTML и javascript, делал бота для телеграма на php, даже немного программировал на C# по работе. В этот раз задача была куда интереснее и сложнее, хотя и звучала просто: «хочу видеть в своем браузере текущую скорость агрегата». Для начала я решил попробовать поискать готовый софт: естественно такое уже давно придумано, есть готовые и даже бесплатные SCADA системы, которые могут работать и в качестве веб сервера, но они все были сильно наворочены и сложны для моего понимания, к тому же нужно было просто вывести скорость. Поэтому я подумал что можно попробовать сделать это самому и вот что из этого вышло:

Backend

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

Как я при помощи Google сделал OPC2WEB клиент Opc, Javascript, АСУ ТП, Видео, YouTube, Длиннопост

Поиски этого привели меня на хабр, где я узнал про бесплатную библиотеку OPCDOTNET. В архиве библиотеки лежал исходник консольного клиента, который я скомпилировал на своем компьютере, запустил простой OPC симулятор (gray-box)… и о чудо! я увидел в консоли изменяющиеся числа. Это значит, что теперь я смогу их отправлять в качестве ответа по вебзапросу. Следующим заходом в гугл стал запрос простого веб сервера где наткнулся на пример использования HttpListener. Запустил пример в отдельном проекте, понял как это работает, и стал добавлять все это к своему OPC клиенту. Через много попыток компиляций, поиска ошибок на Stack Overflow у меня все же получилось увидеть в браузере заветную «скорость». Это была победа! Но я сразу же понял, что одна лишь скорость это не серьезно, через время технологи захотят увидеть и другие параметры линии, поэтому нужно придумать как добавлять необходимые сигналы, без изменения программы. На помощь пришли файлы конфигурации, где можно заранее задать какие сигналы хотим видеть, задать порт прослушивания сервера, время обновления и прочее. Опыт в создании файлов конфигурации уже имелся, поэтому сделал так как ранее делал и проверенно работало. Так же в процессе пришлось обратиться к другу программисту, который подсказал что сделать чтобы передавался полный массив запрашиваемых данных, а не только те значения что менялись (в готовом примере OPC клиента в консоли отображались только изменяемые значения).

Как я при помощи Google сделал OPC2WEB клиент Opc, Javascript, АСУ ТП, Видео, YouTube, Длиннопост

После таких изменений программа стала генерировать таблицу в HTML из запрашиваемых в конфиге сигналов: обратившись через браузер по адресу сервера, где был запущен этот клиент, теперь можно было видеть таблицу, в которой были названия сигналов и значения в соседнем столбце. Это было уже неплохо, но значения при обновлении промаргивали, а сами сигналы тупо располагались друг за другом хоть и были структурированы в виде таблицы. Кстати, чтобы значения обновлялись автоматически ежесекундно, а не только когда пользователь обновит страницу, я добавил в возвращаемую на запрос страницу тег meta с параметром Refresh. Но мне очень хотелось чтобы значения обновлялись автоматически и без перезагрузки страницы, поэтому нужно было кроме бэкенда теперь делать и фронт: пользователь запрашивает страницу на сервере, внутри которой происходит запрос к клиенту, и страница после этого генерирует все это в красивом и понятном виде, где можно структурировать данные как заблагорассудится, поменять цвета, шрифты и размеры — сделать можно вообще все что угодно при таком-то подходе. Полный код клиента под винду на C# есть на гитхабе https://github.com/boolkin/opc2web-client

Frontend

Пришел я к этому не сразу: сначала стал гуглить как сделать так чтобы данные на странице обновлялись без перезагрузки. Как выяснилось нужно использовать AJAX, то есть изменять данные через javascript, а принимать их через JSON. В клиенте простой конкатенацией строк сделал генерацию JSON, причем для универсальности решил просто отсчитывать по порядку задаваемые в конфиге теги. Потом нашел пример в котором через javascript запрашивается ежесекундно JSON строка и выводятся значения из нее. Поменяв код под свои нужды и запустив страницу я увидел что все работает — данные обновляются без перезагрузки страницы (!). Это была еще одна победа. Теперь оставалось дело за малым — грамотно распределить на странице полученные данные, то есть сделать что-то в виде визуализации. Сначала я решил сделать так же таблицу, но потом понял что блочная структура смотрится красивее и функциональнее. Блоки можно окрашивать в разные цвета и менять их размер. А еще нужно сделать так чтобы пользователь мог самостоятельно добавлять и изменять структуру, не буду же я на каждую новую хотелку переписывать HTML файл. В итоге получился такой вот вариант, как на картинке ниже.

Как я при помощи Google сделал OPC2WEB клиент Opc, Javascript, АСУ ТП, Видео, YouTube, Длиннопост

Здесь можно добавлять большие блоки, которые будут объединять малые блоки с одним признаком. Такие большие блоки можно озаглавливать так как нужно, менять их цвета (если щелкнуть по блоку с зажатой клавишей shift) и менять их размер. Блоки со значениями добавляются при двойном клике по большому блоку. В них так же можно задавать свои названия и единицы измерения. Если нечаянно добавил не тот элемент или не туда, то можно удалить его — я подсмотрел эту функцию в одном букмарклете, полностью перенеся его код на страницу. Конечно вся созданная структура после перезагрузки страницы исчезнет и для ее сохранения нашел такую возможность как локальное хранилище. А для того чтобы перенести готовую структуру на другой компьютер сделал импорт и экспорт экрана из локального хранилища.

Единственная проблема оставалась с перетаскиванием блоков — хотелось бы сделать красиво drag and drop, но для меня это оказалось непосильно. Вышел из ситуации так: если открыть страницу в панели разработчика в хроме, то блоки можно перетаскивать. Это натолкнуло на мысль что задействовав правую кнопку мыши можно просто менять блоки местами. Сейчас такая система вполне универсальная: чтобы добавить новый сигнал нужно просто добавить нужный OPC тег в конфиг и перезапустить клиента. Добавленный тег автоматически добавляется в JSON и на экране вывода появляется внизу новое значение, которое можно несколькими кликами добавить в существующий или новый блок на странице. На данный момент на странице выводится больше 60 тегов и больше половины из них добавлял уже не я, то есть процесс добавления может и не самый простой, но не требует переписывания программы и страницы вывода. Протестировать и посмотреть код этой страницы можно тут на github opc2web html В этой версии добавлено специальное меню для манипуляций с блоками, и есть даже подобие HMI с использованием svg формата, вот как это выглядит на картинке.

Как я при помощи Google сделал OPC2WEB клиент Opc, Javascript, АСУ ТП, Видео, YouTube, Длиннопост

Заключение

Поскольку данная статья должна быть вроде инструкции, как непрограммист вроде меня с помощью поисковиков может сделать что-то полезное, то наверное нужно добавить немного слов о том как именно я искал информацию. Тут впору говорить как на картинке в самом начале: думаешь что ты хочешь получить и спрашиваешь об этому у гугла, а если что-то где-то не получается, то смотришь на коды ошибок и спрашиваешь снова. Очень помогает поиск на английском языке — даже вбив просто ключевые слова можно получить ссылку на подобную решенную проблему на стаковерфлоу с вероятностью 80%. Для поиска готовых примеров, код из которого можно тупо взять и перенести в свою программу, можно добавлять такие ключевые слова как «example» или по-русски «пример». Несколько хороших идей нашлось на хабре, то есть можно попробовать в запрос вставить ключевое слово «habr», но я таким пользовался только тогда когда точно знал что на хабре видел решение которое ищу. Практически любая мелкая задача из всего того, что было сделано, решалась через поисковик: «change div color shift click js», «make div resizeable», «как редактировать веб страницу»… сотня вариаций разных запросов. Возможно в комментариях профи могут поделиться своими советами.

И да, раз уж речь зашла о советах, то мне бы еще хотелось получить от вас конструктивную критику и полезные советы. Возможно кто-то захочет размять мозги и сможет за пару часов накидать куда более функциональное решение. Или может кого-то этот пост натолкнет на интересные идеи, ведь таким способом можно принимать любой JSON запрос и сделать на его основе любую визуальную структуру. Было бы очень круто заиметь похожее универсальное решение, где можно любые данные распределять так как тебе это удобно, управляя простыми визуальными формами, drag and drop, resize и все такое прочее, чтобы красиво и функционально, а не вот это вот все. Хотя и так получилось неплохо, я считаю. Скорость агрегата, как и просил заказчик, теперь можно наблюдать из браузера и добавить что-то новое не составит большого труда.

Показать полностью 4 1
[моё] Opc Javascript АСУ ТП Видео YouTube Длиннопост
7
1
MazaevSO
2 года назад

Тестирование с помощью vitest для javascript⁠⁠

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

В ходе видео разбираю следующие темы:

  1. как начать внедрять тесты в свои проекты,

  2. основные концепции тестирования,

  3. как создавать юнит-тесты,

  4. подмена данных и слежение за функциями,

  5. как тестировать простые реакт компоненты,

  6. как имитировать действия пользователей

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

Обучение Разработка YouTube Javascript Самопиар Видео
2
3
shaitan.vladimir
shaitan.vladimir
2 года назад
Web-технологии

Операторы JavaScript. Математические, логические и операторы сравнения⁠⁠

В этом уроке мы подробно разберем JavaScript операторы, научимся работать с математическими, логическими операторами и операторами сравнения. Разберемся в нюансах использования различных JS операторов и решим несколько задач. Обязательно пишите свои варианты решения и ответы на вопросы которые я задаю в комментариях.https://youtu.be/ovIyb7783hE

[моё] IT Программирование Программист Разработка Frontend Javascript Видео YouTube
7
0
shaitan.vladimir
shaitan.vladimir
2 года назад
Web-технологии

Как разделять большие числа Number и BigInt в JavaScript ?⁠⁠

https://youtube.com/shorts/bcAIw1dTTCQ?feature=share

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

[моё] IT Разработка Программирование Программист YouTube Javascript Веб-разработка Pikaweb Видео
2
Партнёрский материал Реклама
specials
specials

Сколько нужно времени, чтобы уложить теплый пол?⁠⁠

Точно не скажем, но в нашем проекте с этим можно справиться буквально за минуту одной левой!

Попробовать

Ремонт Теплый пол Текст
shaitan.vladimir
shaitan.vladimir
2 года назад
Web-технологии

Никогда не подключай так JavaScript файлы⁠⁠

https://youtube.com/shorts/-kZzipjsV0A?feature=share

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