• Google Apps как писать аддоны?

    @libroten
    Vorfall, именно этим я не занимался, но вот, что находил в процессе написания статьи.

    1) В редакторе скриптов есть кнопка "Начать развертывание", затем "Новое развертывание", жмите на шестеренку, и там можно сделать из вашего скрипта веб-приложение, либо API, либо еще какие-то варианты. Подробно это не смотрел, поэтому какие-то более конкретные инструкции подсказать не смогу.

    Но есть, например, такая документация (как оформить Ваш скрипт, чтобы это работал как веб-приложение):
    https://developers.google.com/apps-script/guides/web

    В частности, если вы посмотрите по этой ссылке в боковом меню раздел "User Interfaces", то можно увидеть, как сделать, чтобы развернутое веб-приложение отдавало html-страницу, это как вариант для создания интерфейса к этому всему делу.

    2) Вы можете решать свою задачу не из App Scripts, а пользуясь API гугл-документов, например, таблиц. Насколько я понимаю, там есть методы для доступа к таблицам, для чтения/записи данных из/в ячеек таблицы и прочее. Берете любой язык программирования, подключаетесь и через API выгребаете данные, сами делаете интерфейса для работы с этим всем добром. Опять же, сам с этим не работал, но проглядел документацию бегло, вроде как там не сильно сложно, но нужно поизучать.

    Документация:
    https://developers.google.com/sheets/api

    В частности полезны разделы
    Get Started - как вообще начать с этим работать
    Top Tasks - примеры реализации решений каких-то простых задач по работе с API
    Reference documentation - описание всего доступного для таблиц API

    ___
    Надеюсь, чем-то помог.
  • В каких ситуациях есть необходимость в использовании НЕ бинарного семафора?

    @libroten Автор вопроса
    Ну на картошке мне это все понятно.
    Но хотелось бы в терминах программирования, на примерах каких-то программных объектов.

    С тем же ведром картошки - как семафор поможет?
    В ведре 10 картофелин, семафор установлен на десятку.

    И как в такой ситуации поможет семафор?
    Он пропустил два потока одновременно, оба потока видят ведро и одновременно тянутся к картофелине, лежащей сверху и пытаются работать с одной.
    Получаем race condition, как-то снмафор не сильно помог, выходит.