Как стать автором
Обновить
">alert(document.cookie); @lnromaread⁠-⁠only

">xss

Отправить сообщение
Вчера в addons.mozilla.org отправил расширение, как рас написанное с помощью jpm и webapi. В ближайшее время планирую написать статью о разработке на основе этих инструментов.
image
поправил кнопку, завтра надо будет реализовать добавление меток на страницу в виде квадратиков, лэйблов, и т.д. Может кто знает что использовать canvas или что то другое?
Mozilla Firefox 48.0 у меня такая версия. И работает.
В выводах, я говорил что в первые разрабатывал, руководствуясь текущей документацией. Так что пока я незнаю сам…
Ну если это GET запрос можно обойтись одной строчкой на php

$result = json_decode(file_get_contents('https://www.googleapis.com/calendar/v3/calendars/ид-календаря/events?key={YOUR_API_KEY}'));


Но вот на bash это уже сложнее http://stackoverflow.com/questions/1955505/parsing-json-with-unix-tools.
Токен как раз в конфигурации находиться, так как он меняется от клиента к клиенту, я опять повторяюсь вынести можно и может даже нужно. Но логика была проста скачав проэкт, пользователь получает токен пишет его в конфиг и копирует конфиг в домашнюю директорию, в другом случае пользователю надо сначала скопировать только потом получить токен, и позже вставить его в конфиг. Что добавляет ещё один не очевидный шаг для инсталяции.
Да и он даже больше для этого подходит. Но цель статьи показать на живом примере, что php можно так же использовать для пользовательских скриптов.
Да замечание верное на счёт терминологии, постараюсь учесть в будущем… Спасибо.
Можно и какой то подойдёт безусловно лучше чем php. Но в этом то и суть моей статьи что всё таки php можно рассматривать и с точки зрения «системного программирования» (тут я имею ввиду системных скриптов и приложений) а не только как ЯП для создания сайтов.
Из начально было так, но из за соображения того что есть лишний какой то пункт в конфиге, который навряд ли кто то будет заполнять, я решил его просто прописать(хотя да некий хардкод, но он не так принципиален).
Сейчас протестирую на linux, да она не работает в linux. Но он захватывает весь экран я так понимаю. А scrot даёт выбрать область захвата мышкой.
Самым простым способ и думать о будущем, да и задачи бывают разные 'Hello world' и 'интернет магазин' это разные по объёму и методики решения задачи.
Ну вообще то это на подобие надстройки над LXC, который автоматизирует поднятие контейнера его настройку, связь контейнеров и storage… Можно хранить контейнеры в гите в виде скриптов build для docker и после с лёгкостью поднимать это окружение на серверах. Но в действительности я бы это сравнил с system.d
Вот именно,
хороший код должен читаться без привычки
«Для того, чтобы рассказать о своём проекте» вы его пилите?
Обычно цикл разработки это dev(локальный сервер) -> тестовый -> препродакшен -> продакшен. Бред это то что вы сразу с dev на prod льёте.
Кому как многие привыкают читать код линейно с верху в низ без надобности возврата, к предыдущем участкам и чтением строки что бы понять что именно возвращается.
К примеру
      if(strlen($s) < $n) {
           return Parser::FAILED;
      } else {
           return array(
                  substr($s,0,$n),
                  substr($s,$n)
           );
      }


Согласитесь выглядит более читабельней чем

    return strlen($s) < $n ? Parser::FAILED : [ substr($s, 0, $n), substr($s, $n) ];


Ну и чем плох тернарный оператор, к примеру, всё просто, у вас новая вводная вам надо и при strlen($s) == $n вернуть Parser::FAILED
многие привыкшие к тенарным операторам сделают это так

    return strlen($s) < $n ? Parser::FAILED : strlen($s) == $n ? Parser::FAILED : [ substr($s, 0, $n), substr($s, $n) ] ;


Что приводит к тому что человек не сразу поймёт что возвращается, становиться не очевидным просто.
к примеру этот код
function take(int $n): Parser {
    return parser(function($s) use ($n) {
        return strlen($s) < $n ? Parser::FAILED : [ substr($s, 0, $n), substr($s, $n) ];
    });
}


тяжело воспринимается 2-ва return и тернарный оператор не к месту к стати…

Информация

В рейтинге
Не участвует
Откуда
Aggsbach Dorf, Niederösterreich, Австрия
Дата рождения
Зарегистрирован
Активность