Задать вопрос
  • Как реализовать такое сравнение строк, JS?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Не надо никаких библиотек. Всё есть в штатных функциях.
    'е'.localeCompare('ё', 'ru', { sensitivity: 'base' })
    // 0
    Ответ написан
    2 комментария
  • Метод map. Как создать массив объектов?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Можете. Напишите функцию, которая из исходного объекта делает нужный вам, и используйте эту функцию в map.
    Ответ написан
    Комментировать
  • Метод map. Как создать массив объектов?

    @historydev Куратор тега JavaScript
    Mistkerl, drück den Knopf.
    const presidents = [
        { first: 'George', last: 'Washington', born: 1732, died: 1799 },
        { first: 'John', last: 'Adams', born: 1735, died: 1826 },
        { first: 'Ronald', last: 'Reagan', born: 1911, died: 2004 },
    ];
    
    let presidentsMap = presidents.map(item => ({first: item.first, last: item.last}));
    
    console.log(presidentsMap)
    Ответ написан
    Комментировать
  • Как на python в гугл таблицах отследить создание новой строки?

    oshliaer
    @oshliaer Куратор тега Google Apps Script
    Google Products Expert
    Вы должны определиться, что значит "на python"?
    1. событие происходит и должно вызвать ваш сервер (веб-хук)
    2. ваша программа (без причины) должна отреагировать на отправку Формы


    Веб-хук
    1. Поднимите сервер
    2. Определите эндпоинт для вызова
    3. Создайте простую функцию Google Apps Script, которая при отправке Формы будет дергать этот эндпоинт
    4. Установите в проекте скрипта триггер на отправку Формы для этой функции


    Скрипт

    function onFormSubmit(e){
      UrlFetchApp.fetch(endpoint, {
        payload: JSON.stringify(e)
      });
    }


    В данном случае вообще по барабану как вы со своим python будете парсить полученный объект. Данных там будет предостаточно.

    Безпричинная программа

    Очевидно, что работа без причины - признак ... неработающей программы.

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

    Пример получения данных можно найти тут же https://qna.habr.com/q/885673, https://qna.habr.com/search?q=python+google+sheets
    Ответ написан
    Комментировать
  • Как сделать сумму по столбцам VLOOKUP и ARRAYFORMULA?

    oshliaer
    @oshliaer Куратор тега Google Sheets
    Google Products Expert
    Пример в Таблице https://docs.google.com/spreadsheets/d/1e0VSaibZAp...

    ============= Обновлено 2022-08-03 ==========

    Решение для бесконечных диапазонов

    =ARRAYFORMULA(VLOOKUP(
      R5:R;
      QUERY(
        SPLIT(FLATTEN(A5:A & "|" & B5:D);"|");
        "select Col1, sum(Col2) group by Col1");
      2;
    ))


    62ea7f416fade657975949.png

    ============= ==========

    Можно использовать формулу построчной суммы

    ={A4:A7\{"Сумма";INDEX(
      {TRANSPOSE(QUERY(
        {TRANSPOSE(B5:E7)};
        "select " & "sum(Col" & JOIN("), sum(Col"; SEQUENCE(1;ROWS(A5:A7);1;1)) & ")";
        0))}
      ;;2
    )}}


    К сожалению, она требует конечных диапазонов, но настройка несложная.
    62e933ad8368a574615109.png

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

    ={INDEX(
      {TRANSPOSE(QUERY(
        {TRANSPOSE(B5:E7)};
        "select " & "sum(Col" & JOIN("), sum(Col"; SEQUENCE(1;ROWS(A5:A7);1;1)) & ")";
        0))}
      ;;2
    )}

    62e93c05b331f411082337.png
    Ответ написан
  • На каких фриланс биржах искать заказы?

    Starina_js
    @Starina_js
    full-stack web dev
    Вы из РФ? Сейчас ситуация такая, что несколько бирж закрыты для РФ.

    Вот какие работают
    https://fl.ru - самая большая по заказам. Больше всего заданий там генерируется
    https://freelance.habr.com - меньше, но задания в большинстве своем более сложные
    https://freelance.ru - много тоже заданий
    https://kwork.ru/ - фриланс, только такого, магазинного плана. Немного другой подход к покупке фриланс услуг

    Какие сейчас отпали:
    freelancehunt.com , weblancer.net, зарубежная upwork.com

    По своему опыту скажу: на наших фриланс биржах не заработать. Заказы идут за копейки, конкуренция бешеная. Можно рассмотреть как старт в получении опыта коммерческой разработки, получения портфолио, но не советую засиживаться.

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

    p.s На биржах может быть проверка личности по документам, это нормально, взамен дадут спец. статус подтвержденного.
    Ответ написан
    4 комментария
  • Как спарсить UUID из строки?

    @deliro
    Ну вообще тут два UUID склеены. Парсятся стандартной регуляркой
    Ответ написан
    Комментировать
  • Как подсветить ячейки в таблице?

    BasiC2k
    @BasiC2k
    .NET developer (open to job offers)
    1. Выделите ячейки столбца P которые нужно закрасить (форматировать);
    2. Меню: "Формат - Условное форматирование". В правой части появится окно для настроек условного форматирования;
    3. В пункте "Форматировать ячейки если..." выбираете "Ваша формула";
    4. Вставляете формулу =И(РАЗНДАТ(СЕГОДНЯ();Q2;"D") < 15; R2 = "")
    5. При необходимости выбирате цвет форматирования или другие параметры.
    Всё.

    PS Возможно мелочи потребуется подкорректировать, но принцип я думаю Вам понятен.
    Ответ написан
    1 комментарий
  • Как сделать ВК бота который читает данные с google sheet?

    lxstvayne
    @lxstvayne
    Люблю Python
    Возможно, Vk API, Google Sheets API
    Ответ написан
    Комментировать
  • Как сделать ВК бота который читает данные с google sheet?

    botermain
    @botermain
    Да, это возможно!

    Работал много раз с Google Sheets, так что подскажу небольшой, но очень хороший гайд, тут рассказано всё, от того как создать ключ, до того, как получать и загружать данные в таблицу

    По поводу бота для ВК, можно использовать модуль vk_api, также отличный гайд для него
    Ответ написан
    Комментировать
  • Почему условие работает не правильно?

    @kalapanga
    = это оператор присваивания, а оператор проверки на равенство ==
    Ответ написан
    2 комментария
  • Как скопировать Таблицу из Google Sheets в Google Docs?

    oshliaer
    @oshliaer Куратор тега Google Apps Script
    Google Products Expert
    Может быть просто вставите связанные Таблицы? К сожалению, пока автоматизировать этот процесс нельзя, но сама связка работает и обновляется автоматически. Форматированеи сохраняется.

    Пример https://docs.google.com/document/d/1BNLG4f8Z_LSGch...

    Справка https://support.google.com/docs/answer/7009814?hl=...

    62d68e9a568a3296105785.png
    Ответ написан
    2 комментария
  • Резиновые наклейки с обратной стороны экрана планшета, из чего сделать?

    yakovlev_13
    @yakovlev_13
    Шаманство, экзорцизм и некромантия.
    Скорей всего это демпфер от продавливанис экрана. можно клеить
    Ответ написан
    Комментировать
  • Как установить Windows 98 на телефон?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    Интересно, такие бредовые идеи возникают отчего? От нежелания хоть немного узнать, что из себя представляет "телефон" с точки зрения вычислительной техники или просто от модно-стильно-молодежности? Это примерно как дети спрашивают "А если взять атом величиной с дом?"

    Нет, малчик, нЭльзя. нЭ тот архитектура.

    Хотя путь джедая конечно же есть. Найти исходники, перекомпилять под нужную архитектуру, написать драйвера, написать загрузчик - делов-то...
    Ответ написан
    Комментировать
  • Как в данной системе из линейных уравнений получился x и y?

    wataru
    @wataru Куратор тега Математика
    Разработчик на С++, экс-олимпиадник.
    Это если решить систему любым методом, то вы получите вот такое вот решение. Неважно, как решать - решение же однозначное и выражается через коэффициенты (может чуть в другой форме, но после упращения и приведения к общему знаменателю вы все-равно именно эту формулу и получите).

    Можно из одного уравнения выразить y через x, подставить в другое, найти x, потом найти y.

    Или можно получить эти формулы в одно действие методом Крамера.
    Ответ написан
    5 комментариев
  • Автоматизация удаления ответов в Google Forms?

    BasiC2k
    @BasiC2k
    .NET developer (open to job offers)
    Поможет только написание скрипта, который будет запускаться по событию появления новой записи. Далее - сверит запись с условием и удалит строку при необходимости.
    Ответ написан
    Комментировать
  • Отличия GET от POST?

    vabka
    @vabka Куратор тега Веб-разработка
    Два главных отличия:
    1. У GET-запроса нет тела (как правило, но в теории никто не запрещает отправить с телом).
    А у POST как правило нет query-параметров, но в принципе никто не запрещает одновременно указать и их, и тело
    2. GET-идемпотентный, в отличие от POST.
    Если ты отправишь два одинаковых идемпотентных запроса, то ничего не изменится-это безопасно.
    И этим свойством пользуются браузеры и всякие прокси, которые в случае каких-то сетевых ошибок тихо отправляют идемпотентные запросы повторно.

    Кроме GET есть ещё PUT и DELETE, которые тоже идемпотентные


    Есть ли какая-то информация на этот счёт?

    Всё это описано в википедии в статье об HTTP


    И каким образом ссылку site/?page=2 можно отправить методом POST?

    Через curl или через форму
    Ответ написан
  • Отличия GET от POST?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    UPD: пример ниже приведён для MVC архитектуры. API выдаёт данные, а не страницы. HttpGet - это получение информации от сервера. HttpPost - отправка информации на сервер. Основная разница в тому, что Post запрос имеет тело запроса, в котором можно передавать сложные структуры. Get запрос может передавать данные через строку запроса. Так же Get запросы кешируются, в отличие от Post запросов

    HttpGet и HttpPost это два стандартных типа запроса. Так же есть HttpPut, HttpDelete и некоторые другие, основные из каких я перечислил сначала.

    Разница между HttpGet и HttpPost в очень простом виде:
    HttpGet - выдача сервером какой-то информации клиенту. Для примера, сервер отдаёт какую-то информацию, допустим, имя и логин пользователя, который зашёл на сайт, для того, что бы отобразить её где-то на странице. Так же Get запрос может отдавать целые страницы в формате HTML или других форматах. По факту, большинство страниц, что вы видите в браузере, включая эту, была передана нам в браузер от сервера путём выполнения запроса. Такая информация передаётся как HttpGet.

    HttpPost - это отправка данных на сервер. Любая. Когда вы регистрируетесь на сайте, ваши данные отправляются с использованием HttpPost запроса. Когда вы делаете изменения личной информации, обновлённые данные отправляются как HttpPost, хотя в REST API принято такой запрос помечать как HttpPut. Тут речь идёт об отправке сложных структур данных, возможно, фотографий, видео, аудио, информации о местонахождении, контактные данные. Т.е., другими словами, когда вы сервер уведомляете о какой-то новой информации.

    Стоит отметить, что редирект через url является HttpGet запросом. Если вы просто делаете переадресацию на какую-то страницу и в url передаёте id клиента (Для примера), что бы на странице сведений вывести его данные (Опять же, чисто для примера), это НЕ HttpPost запрос, это просто редирект. Потому что вы не обновляете никакую информацию. Когда вы обращаетесь к серверу с просьбой отрисовать/отрендрить страницу и передаёте туда id клиента, сервер отдаёт ответ на HttpGet запрос, который имеет разметку самой страницы.

    Иными словами, HttpGet запрос, это то, когда сервер должен отрисовать новую разметку или вернуть какие-то данные в некотором формате (В основном JSON для API). Может выполняться несколько запросов, если вы во время регистрации на сайте отправляете данные, делается сначала HttpPost запрос с отправкой ваших данных, а потом HttpGet, когда у вас рендрится новая страница, на которую вас перекинуло.

    Так же есть HttpPut - аналогия HttpPost, разницы нет почти никакой. Обычно используется для обозначения запроса на обновление информации, т.к. HttpPost должен работать как запрос на создание. Тот же пример HttpDelete - когда нужно удалить информацию.
    Ответ написан
    11 комментариев
  • Пет проект, как хранить данные?

    @rPman
    Веб технологии на самом деле очень сложный способ учиться программированию для новичков, так как затрагивает сразу несколько очень сложных и сильно разных областей:
    * базы данных (для хранения данных я рекомендую sql базы данных, и для начала sqlite, не потребуется настраивать и устанавливать сервер, так как хранит все в файле)
    * бакэнд (миллион способов, самый популярный php, можно python, так как зная его будет проще в другие области зайти, не рекомендую java или go для начинающих)
    * фронтэнд (без или javascript)
    * верстка и дизайн (html+css)

    причем разработка требует понимание многопользовательского доступа, понимание конфликтов и т.п. если новичок совсем совсем ничего не знает, будет сложно.
    Ответ написан
    Комментировать
  • Как сделать такую Форму, чтобы она обращалась за данными в Таблицу?

    oshliaer
    @oshliaer Куратор тега Google Sheets
    Google Products Expert
    К сожалению, придется создавать скрипт и при каждом отправлении ответа в Форму или по времени изменять содержимое Формы.

    Других вариантов нет.
    Ответ написан
    Комментировать