Магия - это отражение, упрощение, объяснение вычислительного процесса, описываемого рекурсивной формулой:
fib 0 = 0 -- NB!
fib 1 = 1
fib n = fib (n-1) + fib (n-2)
-- n1 n2
= let {n1 = fib (n-1) ; n2 = fib (n-2)}
in n1 + n2
= let {n1 = fib (n-2) + fib (n-3) ; n2 = fib (n-2)}
-- n2 n3
in n1 + n2
= let {n1 = n2+n3 ; n2 = fib (n-2) ; n3 = fib (n-3)}
in n1 + n2
= let {n1 = n2+n3 ; n2 = fib (n-3) + fib (n-4) ; n3 = fib (n-3)}
-- n3 n4
in n1 + n2
= let {n1 = n2+n3 ; n2 = n3+n4 ; n3 = fib (n-3) ; n4 = fib (n-4)}
in n1 + n2
= let {n1 = n2+n3 ; n2 = n3+n4 ; n3 = n4+n5 ; n4 = fib (n-4) ; n5 = fib (n-5)}
in n1 + n2
= .......
, доведение до конца (ей) случая, затем перелистывание стрелки времени [ 114] (или просто читая его справа налево) и кодируя явным образом то, что неявно происходит внутри let
как часть имитируемой операции «стек вызовов» рекурсии .
Наиболее важно, заменяя equals на equals, иначе ссылочную прозрачность - используя n2
вместо каждого появления fib (n-2)
и т. Д.
Плагины Firefox (такие как проигрыватель Flash) - это двоичные компоненты, которые вы разрабатываете в NPAPI, кроссбраузерном API для плагинов.
Посетите Центр разработчиков плагинов Mozilla
Вы также можете иногда заглянуть в Расширения Firefox Плагины Firefox поставляются как расширения . Расширения Firefox изменяют или улучшают функциональность самого браузера. Javascript - это, прежде всего, язык, на котором вы будете писать плагин для Firefox.
Посетите Центр разработки расширений Mozilla
Некоторые плагины Firefox, которые пригодятся при разработке плагинов для Firefox, - это Venkman Javascript Debugger и Отладчик Firebug Javascript
Вам необходимо изучить XUL для пользовательского интерфейса и Javascript для программирования.
больше информации здесь:
На самом деле существует более одной опции.
Для полной безопасности установите allowScriptAccess = never и allowNetworking = none, и swf не будет иметь доступа ни к чему вне себя.
ПРИМЕЧАНИЕ: allowNetworking есть только в Flash Player 9 (он был создан в ответ на различных червей myspace), поэтому вам нужно использовать SWF-объект , чтобы гарантировать, что только пользователи с правильной версией flash player или лучше загрузите флешку.
Если вы хотите включить такие вещи, как видео на YouTube, вы не можете установить для allowNetworking значение «none». К счастью, для этого поля существует промежуточный уровень безопасности - «внутренний», который позволяет SWF взаимодействовать со своим размещенным доменом. http://www.amazon.com/Programming-Firefox-Building-Internet-Applications/dp/0596102437 Он поможет вам начать изучение XUL, который, в свою очередь, используется для создания надстроек. Если у вас есть прикосновение к javascript, это определенно вам поможет.
В противном случае, Начало здесь. https://developer.mozilla.org/En Вы можете начать изучать все, что вам нужно, чтобы начать разработку надстроек firefox или даже самого firefox.
Если вы достаточно хорошо разбираетесь в Javascript и DOM, то просто переходите сюда. https://developer.mozilla.org/En/Developing_add-ons . Единственная проблема может заключаться в том, что они не слишком понятны для начинающего программиста. Если у вас есть профессиональный опыт в программировании и вы можете выбрать язык из примеров кода, то начните здесь.
Но я определенно рекомендую хорошо организованную книгу, как я упоминал выше. На рынке очень мало книг по XUL, это был мой первый результат в Google, поэтому просто разместил ссылку на него.
Найдите XUL на http://www.amazon.com/ . Выберите одну, по крайней мере, книга, опубликованная после 2006-07 гг.
[править] Только что узнал об этой хорошей статье http://kb.mozillazine.org/Getting_started_with_extension_development
Похоже, здесь возникло огромное недоразумение; Вы пытаетесь создать плагин или расширение? Как заявил Дугнукем, плагины не имеют ничего общего с XUL или расширениями. Это общие библиотеки (.dll, .so или .dylib для win, linux, mac), которые предоставляют функции, на которые браузер не способен в одиночку.
Если вы только начинаете, я бы рекомендовал поискать в фреймворке FireBreath и прочтении некоторой документации. Хорошее место для начала: http://colonelpanic.net/2009/03/building-a-firefox-plugin-part-one/
Кроме того, вы все еще не выбрали ответ на этот вопрос ; это потому, что вы еще не нашли ответа или потому что забыли?