Евгений Хорошилов | Khoroshilov Evgeniy
Евгений Хорошилов | Khoroshilov Evgeniy
  • 20
  • 181 478
Автоматическая установка зависимостей прямо из скрипта. Выполнение команд shell | NPM install | Node
Обучение программированию: курс-программирование.рф/?
Всем привет! Небольшое видео о том, как выполнять shell-команды из скрипта. Наш скрипт автоматически установит требуемые зависимости, запустив команду npm install.
Подписывайтесь на мой телеграм-канал "Закодированный": t.me/xe_coding
Потребовалось написать саморазворачивающийся скрипт на Node.js. Можно, конечно, написать bash-скрипт, но нам ведь интересно все сделать прямо из скрипта javascript.
Используем стандартный пакет Node.js child_process, метод exec.
Переглядів: 911

Відео

Добавление и модификация данных в Google Sheets | Google Apps Script
Переглядів 8 тис.2 роки тому
Обучение программированию: курс-программирование.рф/? Пишем скрипты (макросы) для Гугл Таблиц. В этом ролике разбираемся, как работают функции вставки и модификации данных. Разберем единичную и множественную вставку данных. Коснемся методов, которые позволяют вставлять формулы. В итоге, подготовим отчет в котором реализуем практически все рассматриваемые методы. Дополнительно, разберем функции ...
Google Sheets получение значений ячеек скриптом. Google Apps Script для начинающих
Переглядів 9 тис.2 роки тому
Обучение программированию: курс-программирование.рф/? Получение данных и формул из ячеек Таблицы Google. Использование следующих методов: getRange() - получение диапазона ячеек getValue()/getValues() - получение значений ячеек getFormula()/getFormulas() - получение формул getFormulaR1C1()/getFormulasR1C1() - получение формул в R1C1 getSheetValues() - получение диапазона значений getDataRange() ...
Программирование Google Sheets с нуля. Работаем с созданием книги, листа. Скрипты Google Sheets
Переглядів 13 тис.2 роки тому
Разработка скриптов для автоматизации и интеграции продуктов Google: Google Таблицы, Документы, Gmail и другие продукты. Обучение программированию: курс-программирование.рф/? В этом видео, мы познакомимся с основами Google Apps Script. Научимся создавать новые документы Google Sheets. Открывать существующие, используя идентификатор таблицы, URL и через получение файла с Google Drive (Гугл Диска...
Передача JSON в Google Таблицы без API | doPost() & doGet() | Google Apps | Google Sheets Script
Переглядів 15 тис.2 роки тому
Обучение программированию: курс-программирование.рф/? Простой и комфортный способ отправить и получить данных в Google Таблицах через POSt и GET запросы. Без необходимости использовать сложные SDK, без нагрузки на браузер и собственные сервера. Практически любые манипуляции с данными выполняются на стороне Google. Статьи по программированию, можно найти в моем блоге: codeblog.khoroshilov.pro/ П...
Бот автозалива рекламы в TikTok на JS. Автоматизация Dolphin{anty} | Javascriipt | Puppeteer | API
Переглядів 2,8 тис.2 роки тому
Обучение программированию: курс-программирование.рф/? В продолжение темы автоматизации на базе антидетект браузера Dolphin {anty}(anty.dolphin.ru.com/a/2702), скрипт автоматического создания рекламы в TikTok. Бот создает новую рекламную компанию, проставляет нужные параметры, указывает рекламный бюджет и создает объявление. Включая загрузку видео. Скрипт написан на Javascript. Для запуска потре...
Автоматизация Dolphin{anty} на JavaScript | Работа с API антидетект браузера | Работа с Postman
Переглядів 12 тис.2 роки тому
Обучение программированию: курс-программирование.рф/? Пример взаимодействия с анти-детект браузером Dolphin Простой пример скрипта на JavaScript, который запускает инстанс антидетект браузера Dolphin{anty}, открывает Google и делает скриншот. Простейшая автоматизация на основе которой можно построить полноценных ботов для визуальных тестов, а так же автоматизировать любые рутинные действия в бр...
А ты знаешь это о Javascript? Фишки и трюки, которые используют профессионалы. Вторая часть
Переглядів 6742 роки тому
Обучение программированию: курс-программирование.рф/? В данном видео рассматриваю возможности языка, которые практически не встречал в коде программистов. При этом, правильное использование этих фишек, способно сделать код более эффективным, красивым и читаемым. Неправильное использование, наоборот. Для того и нужно знать эти конструкции, чтобы копаясь в чужом коде понимать с чем сталкиваетесь....
Трюки и фишки Javascript о которых вы недогадывались.
Переглядів 9622 роки тому
Обучение программированию: курс-программирование.рф/? В данном видео рассматриваю возможности языка, которые практически не встречал в коде других программистов. При этом, правильное использование этих фишек, способно сделать код более эффективным, красивым и читаемым. Таймкоды: Предисловие 00:00 Оператор comma (запятая): 01:20 Нестандартное использование цикла while 06:55 "Двойной" цикл for 08...
Любая IDE от JetBrains абсолютно бесплатно! Лайф-хак для тех, кому надо. WebSrorm | PhpStorm
Переглядів 70 тис.2 роки тому
Обучение программированию: курс-программирование.рф/? Обратите внимание, что речь идет об ученической лицензии. Продукт ничем не ограничен, но выдается не для коммерческой деятельности, а для обучения. Вариант отлично подойдет, если вы только начали учиться и хочется делать это сразу в нормальной IDE, с которой столкнетесь в реальной работе. Например, если проходите курс и не хватает бесплатног...
Свое контекстное меню в браузере. Пишем расширение для Chrome "Цитаты". Управляем меню Chrome.
Переглядів 2,5 тис.2 роки тому
Обучение программированию: курс-программирование.рф/? В данном уроке мы разберем вопрос создания контекстного меню для собственного Google Chrome расширения. В завершении ролика, создадим плагин для браузера, который позволит сохранять выделенный текст как цитаты - отличная практика, для тренировки навыков работы с контекстным меню. Вы узнаете, в чем отличия между разными контекстами. Как брауз...
Цепочка методов в JavaScript. Чеининг функций. JS Method Chaining. Array.prototype.
Переглядів 1,6 тис.2 роки тому
Обучение программированию: курс-программирование.рф/? Всем привет! В этом видео разбираем две крайне интересных и полезных темы: 1. Создание собственных цепочек вызова. Наподобие методов массива: new Array(10).map... 2. Добавление собственных методов к Array (Array.prototype). Темы не сложные, но крайне полезные. Особенно, если предполагается достаточно сложная архитектура проекта. Рассмотрим д...
Google Sheets скрипты: отдаем готовый JSON по GET-запросу. Google Web-apps. Google Scripts.
Переглядів 15 тис.2 роки тому
Обучение программированию: курс-программирование.рф/? Довольно часто приходится сталкиваться с Google Sheets (Гугл Табилцами). Решил записать небольшой видео-урок, как подготовить и отдать данные в формат JSON со стороны Google Sheets (web-приложения). Зачастую, выгоднее использовать подобный вариант подготовки и отдачи данных. Работа через API более трудоемкая, больше нагружает клиент и не все...
Скриншот экрана и распознание текста на JS. Расширение для Google Chrome. Vision Яндекс Cloud (OCR)
Переглядів 2,3 тис.2 роки тому
Обучение программированию: курс-программирование.рф/? Это расширение реально выполненный заказ на бирже фриланса Кворк (kwork.ru/ref/882481). Видео снято и опубликовано с разрешения клиента. Как оно работает:У пользователя запрашивается разрешение на скриншот экранаСкриншот делается через WebRTC. В примере показан вариант скриншота всего экрана. Можно делать скрин только браузера (window) или з...
Решаем задачи по программированию на Сodewars p.000 | JavaScript
Переглядів 2793 роки тому
Обучение программированию: курс-программирование.рф/? А почему бы не заняться решением задач на известном сайте codewars.com? Напомню, это сайт с алгоритмическими задачами на разных языках программирования. Его цель в оттачивании навыков мастерства кодинга. Помимо самого решения задачи, пользователям доступен просмотр решений других. Таким образом, вы можете собрать лучшие практики и сделать их...
Делаем расширение для браузера: Wordstat Parser. Часть 1. Планирование расширения | JavaScript
Переглядів 1,6 тис.3 роки тому
Делаем расширение для браузера: Wordstat Parser. Часть 1. Планирование расширения | JavaScript
Делаем расширение для Google Chrome | JavaScript | JS
Переглядів 20 тис.3 роки тому
Делаем расширение для Google Chrome | JavaScript | JS
Вводный урок по разработке расширений для браузеров | JavaScript | Chrome, Firefox
Переглядів 4,2 тис.3 роки тому
Вводный урок по разработке расширений для браузеров | JavaScript | Chrome, Firefox
5 полезных трюков JavaScript для профессиональной разработки
Переглядів 5003 роки тому
5 полезных трюков JavaScript для профессиональной разработки
Как программисту стать популярным на Фотостране. Автоматизация действий в браузере на JavaScript
Переглядів 1,3 тис.3 роки тому
Как программисту стать популярным на Фотостране. Автоматизация действий в браузере на JavaScript

КОМЕНТАРІ

  • @Radomir77777
    @Radomir77777 3 години тому

    не работает. решил 4 задачи. 21.04.2024 г

  • @zachet24
    @zachet24 6 днів тому

    не совсем понял как в листенер передается функция saveQuote без параметров, но сама функция описана уже с параметрами. Как она получает параметры?

  • @uglevod184
    @uglevod184 Місяць тому

    А потом могут начатся проблемы с добавлением записей в табличу через АПИ ) не удивляйтесь )

  • @denissavast
    @denissavast Місяць тому

    Благодарю!

  • @LastChanceNow
    @LastChanceNow Місяць тому

    Спасибо. Не могу простой скрипт найти. Как единоразово получить копию из соседней ячейки, чтобы в последствии они (ячейки) жили своими жизнями?

  • @jekaterinaverenits107
    @jekaterinaverenits107 2 місяці тому

    Запиши видео для автоматизации гологин

  • @SPbLobovVG
    @SPbLobovVG 2 місяці тому

    фоновый звук здесь лишний

  • @isdesk2803
    @isdesk2803 2 місяці тому

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

  • @firstkolupator3111
    @firstkolupator3111 2 місяці тому

    В последних версиях Chrome не работает.

  • @iliuhahaha
    @iliuhahaha 3 місяці тому

    Здравствуйте. Я обратился ко второму листу через индекс, и вроде все хорошо. Выводит название листа и данные ячейки. Но не могу получить url 2 листа. Подскажите пожалуйста, как получить url 2 листа? function myFunction3() { const ss = SpreadsheetApp.getActiveSpreadsheet().getSheets()[1]; const name =ss.getSheetName(); Logger.log(name); const value = ss.getRange('C2').getValue(); Logger.log(value); Logger.log(ss.getUrl()); // TypeError: ss.getUrl is not a function }

  • @user-sr8zf3zy4g
    @user-sr8zf3zy4g 3 місяці тому

    а можешь сделать видео по звукорежиссерству? очень нужно

  • @iliuhahaha
    @iliuhahaha 3 місяці тому

    👌

  • @TheStrix1
    @TheStrix1 3 місяці тому

    вопрос можно - вот брать мы научились через GET а теперь хотелось бы еще и записывать туда у вас нет такого видео?

    • @KhoroshilovEI
      @KhoroshilovEI 3 місяці тому

      Не очень понимаю вопрос. Что вы имеете ввиду под записью в GET? Есть про возврат ответа на HTTP запрос, то это просто. В doGet() возвращаем данные в нужном виде. Например, если у нас предполагается веб-морда, можем разместить HTML-файл в проекте. Тогда код будет выглядеть как-то так: function doGet(e) { ....... return HtmlService.createHtmlOutputFromFile('<your-file-name>'); } Если нужно вернуть что-то другое, есть такой вариант: return ContentService.createTextOutput(<your-data>).setMimeType(ContentService.MimeType.<your-mime-type>); Конечно же, вместо значений в < > подставляем нужные значения без угловых скобок. Доступные MIME типы: TEXT, JSON, JAVASCRIPT, CSV, VCARD, ICAL. Ну, в целом, когда вы точку поставите, после MimeType, гугл все сам покажет, что есть. В видео где-то был вывод. Честно сказать не помню в каких конкретно. Но должны быть примеры. Если речь о запросах к другим ресурсам, то вам смотреть в сторону UrlFetchApp. По поводу этого тоже должно быть видео. К сожалению, пока нет возможности записывать ролики, но возможно вернусь)

  • @Gri6o4eg
    @Gri6o4eg 3 місяці тому

    Спасибо за видео! Можно ли получить через запрос только информацию из ячейки? Я хотел бы сделать QR код и информацией из ячейки.

  • @Oooohhh_maaaan
    @Oooohhh_maaaan 3 місяці тому

    Мне кажется или ты забросил ютуб

    • @KhoroshilovEI
      @KhoroshilovEI 3 місяці тому

      Да, руки все не доходят заняться снова.

  • @user-lc9wi7cz8d
    @user-lc9wi7cz8d 4 місяці тому

    А чем storage Гугла лучше обычного localStorage, чтобы для него запрашивать разрешение?

  • @Mike_Vogelson
    @Mike_Vogelson 4 місяці тому

    нихера не ясно .. это качать разрешения нужно или какойто файл редактировать ??

  • @chebaname995
    @chebaname995 5 місяців тому

    Жесть, что он творит!!!

  • @user-by8gb1yf6t
    @user-by8gb1yf6t 5 місяців тому

    Классное видео, большое спасибо! Формула только в самом конце неправильно сработала. Там в итоге не диапазон суммируется, а только по две ячейки ([A2 + A7] , [B2 + B7]).

    • @NeonUstrugov
      @NeonUstrugov 2 місяці тому

      Так он вместо двоеточия в SUM() пишет точку с запятой. Поэтому вместо диапазона получается как перечисление ячеек. Надо SUM( R[...]C :R[-1]C) И не только в конце, а в начале с массивом в три строки так же))) А, в целом, видео - класс!

  • @user-pd1uw3iu7s
    @user-pd1uw3iu7s 5 місяців тому

    как с вами сязаться *

  • @user-ne1lr4wm2e
    @user-ne1lr4wm2e 5 місяців тому

    Супер, спасибо!

  • @user-uc4gq3mh1v
    @user-uc4gq3mh1v 6 місяців тому

    Добрый день! Почему-то выходит ошибка в report.getRange(2,i).setFormula('=QUERY(data!B:C,"select C where B='${value}'",0)') пишет, что неправильный синтаксис. Подскажите, пожалуйста, где? Все сверила, все ровно как у вас. Формула в гугл-таблице работает.

    • @KhoroshilovEI
      @KhoroshilovEI 5 місяців тому

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

    • @user-uc4gq3mh1v
      @user-uc4gq3mh1v 5 місяців тому

      @@KhoroshilovEI Ошибка возникает в тот момент, когда в формуле заменяешь "&A1&" на ${value}. Сразу же подчеркивает знак доллара и дальше после value. Запрос не выполняется, так как пишет, что синтаксис не правильный. А что означает знак доллара? Такое ощущение, что программа не понимает, что от нее хотят именно в этом месте.

    • @KhoroshilovEI
      @KhoroshilovEI 5 місяців тому

      @@user-uc4gq3mh1v какие кавычки вы используете? Есть разница при использовании ` (кнопка с тильдой ~) и ' (буква Э). Когда используется ` можно использовать подстановки ${}. Если используете другой вид кавычек, нужно писать 'какая-то форумал до подстановки' + value + ' что-то после подстановки'. Больше информации можно найти в справочных материалах по Javascript.

    • @user-uc4gq3mh1v
      @user-uc4gq3mh1v 5 місяців тому

      @@KhoroshilovEI Спасибо, что отвечаете! Попробовала изменить кавычки. Если ${value} забирать в кавычки, которые на Э, то запрос не выполняется, неправильный синтаксис. Если забирать в кавычки на кнопке с тильдой, то запрос выполняется, но появляется ошибка в гугл-таблице в ячейках "Не удалось интерпретировать query string. Подробности: Параметр 2 в функции QUERY:NO_COLUMN: ${value}". Прикладываю код, посмотрите, пожалуйста: function setOtchet1() { const ss = SpreadsheetApp.openById("1XoOrJ27LYZ1yH29LRy25fbttxKXbBpkKsFYHX58xzW4") const report = ss.getSheetByName("Report") const range = report.getRange("A1") range.setFormula("=TRANSPOSE(UNIQUE(data!B:B))") lastColumn = report.getLastColumn() +1 for( let i=1; i < lastColumn; i++) { const value = report.getRange(1,i).getValue() report.getRange(2,i).setFormula('=QUERY(data!B:C,"select C where B=`${value}`",0)') }}

    • @KhoroshilovEI
      @KhoroshilovEI 5 місяців тому

      @@user-uc4gq3mh1v уже завтра гляну, но судя по всему вот тут ошибка: '=QUERY(data!B:C,"select C where B=`${value}`",0)' обратные кавычки должны быть снаружи, т.е. вся строка должна быть в них: `=QUERY(data!B:C,"select C where B='${value}'",0)` в ином случае, у вас формула в ячейке так и будет выглядеть B=`${value}`, т.е. подстановки не происходит

  • @PRO-guns
    @PRO-guns 6 місяців тому

    Спасибо тебе огромное !! Ждём продолжения!!

  • @user-zh8et2yg2j
    @user-zh8et2yg2j 7 місяців тому

    Разработкой гугла, наебывать гугл ?

    • @KhoroshilovEI
      @KhoroshilovEI 7 місяців тому

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

  • @onlysteve3309
    @onlysteve3309 7 місяців тому

    Подскажите как решить данную проблему, откладка страниц service worker (неактивно). При загрузки расширение. Что может быть? Заранее вам спасибо)

  • @gromovdenis7
    @gromovdenis7 7 місяців тому

    Cool!😊 Давай ещё!

  • @gromovdenis7
    @gromovdenis7 7 місяців тому

    Cool!😊

  • @kotyakotov
    @kotyakotov 8 місяців тому

    не работает!

  • @Lozarium
    @Lozarium 8 місяців тому

    Все четко, ясно и понятно. Спасибо огромное! Вот только у меня идет задержка при обновлении URL примерно 4 секунды. Делал отладку, но не понятно, что может в скрипте давать такую паузу.

  • @Shakhty_Sayt
    @Shakhty_Sayt 8 місяців тому

    На стронице расширений показуется ошибка в JS 17 строка.

  • @Shakhty_Sayt
    @Shakhty_Sayt 8 місяців тому

    Установил показует ошибку что версия 2 не актуальна ! Заменил в коде 2 на 3 теперь ошибку не показует и часы не показует((( *_после токиз видео грустно_* они дематевируют!

    • @phat80
      @phat80 8 місяців тому

      Поддержка расширений манифеста v2 прекращена с января 2022 года! При чем тут видео? Технологии устаревают. Это стандартный процесс. Без соответствующих изменений (приведение всего к стандартам v3) расширение в хроме работать не будет. Просто циферку поменять не выйдет. Проблема не в видео, а проблема в вас и в вашей лени. Гуглится все за 3 секунды.

  • @Artur_2
    @Artur_2 9 місяців тому

    А через питон это реально программировать?

  • @mrfix316
    @mrfix316 9 місяців тому

    Какое же всё таки применение можно найти данному расширению ? Спустя 2 года думаю можно раскрыть, так сказать, карты. Интересно было бы узнать, а то что-то в голову ничего не приходит ;)

  • @TigerInYourBlood
    @TigerInYourBlood 9 місяців тому

    Долфин херня Уже 2 месяц юзаю сегодня после обновы уже точно решил что нахер сваливаю с этого мусора Error while choosing host to download local-api. Please contact support. Ну вот че за херня висит? И висит уже 5 часов сапорт игнорит по жесткому У них что обнова то пиздец все жалуются что с антиком нереально работать задолбали

  • @GlebSanych
    @GlebSanych 9 місяців тому

    Все круто. Но музыка совершенно не к месту.

  • @cristianbel7044
    @cristianbel7044 9 місяців тому

    Добрый день, начинаю учить и сразу затык - не могу получить SpreadsheetApp - не появляется подсказка и соответственно список методов после точки тоже (( В чем может быть дело?

  • @uselessss1107
    @uselessss1107 9 місяців тому

    Привет, хорошее видео. Я предполагаю что ошибка была из-за того, что у стрелочной функции нет this и this = window, а при использовании function declaration this указывает на chrome отчего все работает?

  • @aleksp3699
    @aleksp3699 10 місяців тому

    Здравствуйте. Спасибо за очень интересные уроки. А какой учебник можете порекомендовать для изучения JS вообще? Я так понимаю синтаксис гугл скриптов на них построен, ноу меня познания очень старые, по коду смотрю есть вещи которые я не изучал, и они более удобные чем древний JS с которым я сталкивался

  • @TheStrix1
    @TheStrix1 10 місяців тому

    редактор скриптов теперь нет в новых версиях таблицы гугл где искать? Сам отвечу - нашел в Приложения - AppScript

  • @Keilajameson
    @Keilajameson 10 місяців тому

    Дельфин вообще не топ на самом деле, как минимум 20 сайтов нашел, которые, при подключении прокси через дельфин, палят прокси. Если же подключаю прокси к самому пк, и захожу так же через профиль (но уже без указанного внутри профиля прокси), - сайт меня пропускает. Сам антик неплохой, но все вокруг знают как сильно он вылетает раз в месяц при чем стабильно.. сколько данных пользователей сливали( Мы с командой из-за этого перешли на Гологин, пользуемся без малого 5 месяцев, особенно радует саппорт и прокси, самое выгодное решение в соотношении цена/качество

  • @air961
    @air961 10 місяців тому

    Благодарю!

  • @user-cn7pn9bs1l
    @user-cn7pn9bs1l 10 місяців тому

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

  • @user-yh9uo8tn2k
    @user-yh9uo8tn2k 11 місяців тому

    doPost и doGet - хардкорные наименования методов? Почему при вызове через Postman, она дёргает именно doGet, а не getResult?

    • @VladimirNerby
      @VladimirNerby 5 місяців тому

      Зарезервированные имена методов

  • @user-jx4zj6ds7h
    @user-jx4zj6ds7h 11 місяців тому

    откуда в ячейках формулы? у меня все ячейки чистые. может в ячейки математические формулы вложить? очень крутая тема

  • @user-jx4zj6ds7h
    @user-jx4zj6ds7h 11 місяців тому

    А как с формы данные отправлять на gogglesheet? Здесь всё понятно и очень интересно ! Я создал форму на html, но никакие данные из формы не проявляются в таблице. я точно так делал как учитель показывал на своём обучающем ролике, но данные не идут в таблицу?

  • @user-sj9es9td1g
    @user-sj9es9td1g 11 місяців тому

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

  • @user-rm3xb5fm5t
    @user-rm3xb5fm5t 11 місяців тому

    Привет! Отличное видео, все четко и понятно. Смотрю уже давно ничего не выкладывали, может все-таки получится время от времени продолжить начатое? Было бы здорово!!!

  • @user-cn6yx6zj4t
    @user-cn6yx6zj4t Рік тому

    Я прошу прощения. Но это не учебное видео. Это демонстрация того, что автор умеет. Музыка к чему? Чтобы отвлекала и мешала слушать? Делать процедуру с конца зачем? Чтобы сэкономить время - да, чтобы понятнее было - нет. По ходу изготовления одной процедуры сразу же копировать куски в другую - зачем? Чтобы размыть внимание? Я пришел из 1с, где мне для конфигурации нужен простой вариант устроить веб морду для широких масс, не связываясь с сайтом. Люди анкету заполняют, 1с через запросы всасывает. Смотрю Ваше видео, вроде бы оно. Но блин, как учебное видео не годится. (опыт разработки SQL, 1с, корпоративные системы - 30 лет)

  • @elsantiago5804
    @elsantiago5804 Рік тому

    Очень кратко и доступно! Спасибо Вам большое!