HTTP/1.0 200 OK Accept-Ranges: none Content-Location: http://www.evilprofessor.co.uk/category/internet/articles/ Content-Type: text/html; charset=UTF-8 Date: Sun, 21 Aug 2011 13:39:17 GMT X-Frame-Options: ALLOWALL Set-Cookie: PREF=ID=98cf7410c8662b9d:TM=1313933957:LM=1313933958:S=inVlFUqQA9Z9Oy3w; expires=Tue, 20-Aug-2013 13:39:18 GMT; path=/; domain=translate.googleusercontent.com X-Content-Type-Options: nosniff Server: HTTP server (unknown) Cache-Control: private X-XSS-Protection: 1; mode=block Expires: Sun, 21 Aug 2011 13:39:17 GMT Evilprofessor.co.uk »Артыкулы

Катэгорыя: Артыкулы

OAuth / Twitter Auth адаптар для Zend Framework

Па , у суботу 23 красавіка 2011 года 03:57 вечара

Працягваецца праца (павольна) на маім новым шчабятаць -прыкладанні. За наступныя некалькі свят я спадзяюся атрымаць імпульс збіраюся зноў на праект (па-нягледзячы на ​​выдатныя надвор'я ў цяперашні час). Ва ўсякім выпадку, мая наступная задача заключалася ў стварэнні аўтэнтыфікацыі адаптар для Zend Framework . Я правёў рабочую Увайсці рэалізацыі, але з падзеннем Auth адаптар для Zend Framework, здавалася, павабная прапанова, таму я стварыў яго ....

(Я не збіраюся ісці праз OAuth або рэгістрацыі вашага прыкладанні з ціўкат, ёсць сотні кіраўніцтваў і даволі просты працэс ва ўсякім выпадку.)
Працягнуць 'OAuth / Twitter Auth адаптар для Zend Framework "чытанне»

"Уваход з выкарыстаннем Вконтакте" з выкарыстаннем Zend Framework

Па , чацвер 17 Сакавіка 2011 года 01:07 раніцы

Нягледзячы на ўсе ненавідзяць ціўкат на дадзены момант, я вырашыў стварыць новую шчэбет -прыкладанні. Будучы чалавекам, які кіруе некалькімі рахункамі (як асабістыя, так і для маёй дабрачыннай дзейнасці) Я быў якія маюць патрэбу прылада для калісьці, што я проста атрымаць час для ліста (больш за тое, што ў найбліжэйшай будучыні ...).

Я чытаў на Zend_Oauth_Consumer і як яна можа быць выкарыстаная для атрымання дазволу для працы з выкарыстаннем ціўкат OAuth . Усё добра, у мяне ёсць ключ доступу, і я магу весела паведамленне прэч ад імя карыстача. Там ёсць шмат рэсурсаў, там, каб зрабіць гэта так, я не буду адтуліну чалавек.

Наступным крокам было дазволіць людзям вярнуцца на сайт, увайсці ў сістэму і змяніць свой уліковы запіс. Менавіта тут я дасягнуў невялікая праблема. Выкарыстанне прыкладаў кода на вэб-сайтах азначала, што я павінен быў бы ціўкат пытаць мяне для аўтарызацыі доступу яшчэ раз для кожнай Лагін, не добра. Сканіраванне праз рамкі я не мог бачыць нічога, што дазволіла б мне проста запытаць аўтэнтыфікацыю. Гэта значыць нельга сказаць, яе не было, але там, падобна, не будзе механізму праверкі сапраўднасці, якія могуць выклікаць, не ведаючы, маркер доступу ўжо.

Альтэрнатывы для рэалізацыі сайце аснове увайдзіце або як-то захоўваць маркер доступу карыстача на кліенце (зашыфраваныя вядома). Ні адзін з гэтых здавалася добрай / падыходнае рашэнне.

Працягнуць чытанне "Увайсці на Twitter" выкарыстаннем Zend Framework »»

Zend Certified Engineer (ZCE) 5,3

Па , чацвер 30 верасня 2010 года 09:00 вечара

З афіцыйным рэлізам ад інжынера Zend сертыфікаваных (ZCE) праграма для 5,3 Я думаў, што я даю сваё хуткае ўражанне, што я думаў пра іспыт.

Трохі перадгісторыі пра сябе: я ўпершыню пазнаёміўся з PHP каля 7 гадоў таму і працаваў прафесійна у PHP з 2006 года. Зараз я працую для захапляльных запуску называецца Brightpearl якая базуецца ў Брыстолі, Вялікабрытанія , ствараючы інтэграваныя CRM, бухгалтарскія і электроннай камерцыі праграмнага забеспячэння. Я не раней атрыманых любым з папярэдніх кваліфікацый ZCE. Я ў цяперашні час развіваюцца ў серыі 5.2.x і не выкарыстаў якія-небудзь канкрэтныя 5,3 асаблівасцяў (Я чакаю Zend Framework 2 і дактрына 2) у сваіх праектах развіцця.
Працягнуць чытанне 'Zend Certified Engineer (ZCE) 05/03 "»

Хуткі старт Symfony DI (Dependency Injection) Падручнік

Па , у суботу 14 жніўня 2010 02:21 вечара

Што такое Dependency Injection (DI)?

Укладанне залежнасці з'яўляецца метад, які дазваляе слабосвязанных аб'ектаў у дадатку. Як правіла, калі аб'ект патрабуе доступу да функцыянальнасці іншага было б асобнік ўнутрана прыводзіць да моцна звязаных сістэм. Ажыццяўляючы ўкараненне залежнасці мы ўводзім неабходныя аб'екты гатовыя да выкарыстання (часам таксама завецца інверсіяй кантролю - МАК). Разгледзім наступны прыклад:

  <? PHP
 твар, якое прымае рашэння класа {
     грамадскіх makeDecision функцыі (масіў $ параметраў) {
         / / Неабходна адаптара БД
         $ Др = новы DecisionParameters ();
         $ = $ ParameterScore інш-> getScore ($ параметраў);
         / * ...  Яшчэ некалькі логікі прыняцця рашэнняў ...  * /
         вяртання ($ parameterScore> 50);
     }
 } 

Гэты фрагмент кода, як кажуць, цесна звязаны з аб'ектам DecisionParameters. Перапісваючы вышэй у слабосвязанных моды мы б нешта накшталт ....

  <? PHP
 твар, якое прымае рашэння класа {
     прыватныя $ _dp;
     публічную функцыю __construct ($ інш) {
         $ Гэта-> _dp = $ інш;
     }
     грамадскіх makeDecision функцыі (масіў $ параметраў) {
         $ = $ ParameterScore гэтым-> _dp-> getScore ($ параметраў);
         / * ...  Яшчэ некалькі логікі прыняцця рашэнняў ...  * /
         вяртання ($ parameterScore> 50);
     }
 } 

Хоць атрыманне пераваг слабосвязанных код, які мы дадаем такія складанасці, што кожны раз ствараецца асобнік аб'екта мы таксама павінны инстанцировать яго залежнасці і перадаць іх у занадта. Напрыклад, гэта:

  $ = Выбар новых твар, якое прымае рашэння ();
 Рэха $ выбар-> makeDecision (масіў ('высілак' => 'нізкі', 'вяртанне' => 'высокі')); 

Цяпер становіцца:

  $ Др = новы DecisionParameters ();
 $ = Выбар новых твар, якое прымае рашэнні ($ інш);
 Рэха $ выбар-> makeDecision (масіў ('высілак' => 'нізкі', 'вяртанне' => 'высокі')); 

Гэтая сітуацыя становіцца ўсё больш хваравітым, як лік залежнасцяў для класа павялічваецца, і што рабіць, калі залежнасцяў самі залежнасці? Гэта можа вельмі хутка стаць кашмарам аб'ект адміністрацыі! Калі ласка, увядзіце ўкараненне залежнасці кантэйнераў (або рамкі) ...
Працягнуць чытанне "Хуткі старт Symfony DI (Dependency Injection) Падручнік" »

Голая Zend_Layout і Zend_View

Па , у аўторак 10 жніўня 2010 11:47 вечара

У гэтым артыкуле я гляджу на выкарыстанні Zend_Layout і Zend_View разам з простымі фронт-кантролера, каб паказаць, як можна пачаць падзел бізнэс-логікі і прадстаўлення ў вашым дадатку. Увесь код даступны на GitHub:
Голая Zend_Layout і Zend_View на GitHub .

Працягнуць 'Голы Zend_Layout і Zend_View' чытання »

Zend Framework Пер паводле модуля Layout - Follow Up

Па , аўторак 16 лютага 2010 08:48 вечара

У працяг да майго папярэдняга паведамлення ў наладах модуля на аснове макета для Zend Framework , я абнавіў код канфігурацыі патрабуюць менш, чым раней (не, што ён патрабуе больш, што некалькі радкоў у канфігурацыі прыкладанні!).
Працягнеце чытаць 'Zend Framework Пер паводле модуля Layout - Follow Up "»

Стварэнне URL у Zend Custom View Helper

Па , чацвер 28 студзеня 2010 г 11:01 вечара

Гэта можа здацца простым, але я быў ​​стукаць галавой спрабуе стварыць URL у карыстацкіх памочнік віду ў Zend Framework . У мяне ёсць табліцу маршрутызацыі, якая атрымлівае модуль з суб-дамен у выкарыстанні, таму я не мог выкарыстаць простую жорстка URL.

Працягнуць 'Стварэнне URL у Zend Custom View Helper "чытання»

Маршрут запытаў на sitemap.xml звычаю кантролер / дзеянне

Па , у сераду 6 студзеня 2010 г. 00:13 раніцы

Для таго, каб прамыя запыты для / sitemap.xml для карыстацкіх кантролера і дзеянні ў Zend Framework, прыкладанне проста дадайце наступнае ў вашым application.ini або альтэрнатыўнага канфігурацыйнага файла (напрыклад, я выкарыстоўваю navigation.ini):

 resources.router.routes.sitemap.route = "sitemap.xml"
 resources.router.routes.sitemap.defaults.controller = індэкс
 resources.router.routes.sitemap.defaults.action = карта сайта

Прыклад кода для высновы можна ўбачыць шляхам стварэння дзеянні ў адпаведны кантролер (напрыклад, мая карта сайта знаходзіцца ў індэксе кантролер, карта сайта дзеяння):

 < PHP
 Клас IndexController
     пашырае Zend_Controller_Action
 {
     / **
      * Аказвае карта сайта на аснове Zend_Navigation ўстаноўкі
      * /
     грамадскіх sitemapAction функцыі ()
     {
    	 Рэха $ гэта-> Выгляд-> рух () -> карта сайта ();
    	 $ Гэта-> Выгляд-> раскладка () -> disableLayout ();
    	 $ Гэта-> _helper-> ViewRenderer-> setNoRender (праўда);
     }
 }

Sitemaps можа хутка і лёгка быць створаны з дапамогай Zend_Navigation , вялікі кароткае кіраўніцтва (і наогул вельмі карысна для Zend Framework падручнікі) з'яўляецца Zend адліўкі - Дынамічнае стварэнне меню сайта і паніровачныя сухары .

Упраўленне Grid Computing выкарыстаннем віртуальных асяроддзяў - Частка 4

Па , у пятніцу 4 снежні 2009 года 11:59 вечара

Увядзенне

Я працую ў кампаніі, дзе мы запускаем шмат працоўных месцаў, пакетная апрацоўка мільёны запісаў дадзеных кожны дзень, і я думаў нядаўна пра ўсіх машынах, якія сядзяць кожны дзень нічога не рабіць на працягу некалькіх гадзін. Не было б добра, калі мы маглі б выкарыстоўваць гэтыя машыны для ўмацавання вылічальнай магутнасці нашых сістэм? У гэтай серыі артыкулаў, я буду глядзець на патэнцыйныя выгоды ад выкарыстання офіса сеткі выкарыстанне виртуализированных асяроддзях.

У частцы 3 мы стварылі віртуальную машыну апрацоўкі і налады вокны машыны, каб стаць часу прастою работнікаў.

Запуск апошняй версіі кода

Непазбежна пасля стварэння працоўных бізнэс-логікі будзе мяняцца, памылкі будуць знойдзены, хутчэй больш эфектыўны код будзе выпускацца ў выніку чаго вашыя работнікі сядзелі апрацоўкі дадзеных, выкарыстоўваючы старыя смярдзючыя код . Як жа мы гарантуем, што мы заўсёды з выкарыстаннем найноўшая і самая лепшая версія нашага сцэнары апрацоўкі?

Ёсць некалькі вельмі лёгка простыя спосабы, якімі мы маглі б зрабіць гэта, трук, аднак, заключаецца ў зніжэнні магутнасці і сеткавы трафік у дасягненні гэтай мэты. Давайце пачнем з самых простых рашэнняў і палепшыць яе павольна, на працягу пары ітэрацый.

Першы метад будзе проста падлучыцца да нашай працы серверны элемент кіравання (праз Samba, FTP, або падобны) і апусціце апошнюю версію кода. Не вельмі эфектыўна, але ён будзе рабіць гэтую працу. Дазваляе палепшыць што-тое, а як наконт стварэння Rsync сцэнар і выкарыстанні, што кожны раз замест гэтага? Акрамя тое, што аб уводзе нашых апошніх апрацоўкі скрыпту ў падрыўной праверыць код спачатку, а потым проста абнаўляем нашу код пры кожным запуску ( запускалі )?

У рэшце рэшт мы маглі б скончыць з баш скрыпт (названы крон кожныя 10 хвілін), які выглядае, як проста, як гэта:

  #! / Бэн / ш
 пс, калі сякера | Grep-V GREP | GREP PHP > / Dev / нуль
 затым
     рэха "Праца ў цяперашні час апрацоўкі, выхад"
 яшчэ
     рэха "Праца не працуе, пачніце прама цяпер"
     кд / шлях / да / рабочай / копіі
     запускалі
     PHP yourJobProcessingScript.php
 Fi 

Цяпер мы можам быць упэўненыя, што з кожным запускам мы вызначана ўстаноўлена апошняя кода. Мы забеспячэння гэтага шляхам абнаўлення нашай базы кода кожны раз, калі мы выконваем запуску і зніжэння сеткавага трафіку толькі на перадачу файлаў адрозненні паміж нашай сеткі.

У маёй дэманстрацыі ўстаноўкі, я зрабіў менавіта так, як вышэй. Subversion быў усталяваны на маім серверы апрацоўкі працу, і я проста выцягнуў апошні код ад «працоўны» філіяла з дапамогай "запускалі". Я таксама дадаў тэгі нумар версіі маёй апрацоўкі скрыпту, які быў вернуты ў базу дадзеных як частка даў вынікі. Такім чынам, я мог бачыць, што мой код абнаўляецца кожны раз, калі я скапіяваў мой ствол у той аддзяленне работніка, што я пэўна ўстаноўлена апошняя апрацоўка сцэнара.

На падставе апошніх дадзеных

Калі ваша праца апрацоўкі выкарыстоўвае крыніцы дадзеных, то ў нейкі момант гэтыя будуць абноўлены. Калі вы называеце крыніц дадзеных на аснове вельмі рэдка вы збіраецеся паводкі сеткі з трафікам, як толькі вашыя работнікі пачнуць выконвацца чаго ўсё ў тупік. Для майго рашэнні, я вырашыў, што я хацеў бы перанесці крыніц дадзеных ва ўсім з майго віртуальных машын.

Трымайце вы коні там! Што рабіць, калі крыніцы дадзеных Велізарная? Ну гэта сапраўды выпадак, які аб'ём дадзеных можа ісці гаворка? Гэта можа быць больш эканамічна эфектыўным, каб усталяваць дадатковы ёмісты жорсткі дыск у кожную машыну, чым набыць дадатковы сервер апрацоўкі. Гэта пытанне аб бюджэце і складае да бізнесу, каб вырашыць. Гэта, можа быць, што ваш крыніцы дадзеных настолькі вялікі, што яго проста немагчымым захаваць гэты аб'ём дадзеных у вашых машын работніка. У такім выпадку, што б вы зрабілі? Ну, мы маглі глядзець на выклік лакальнага сервера дадзеных, але гэта можа выклікаць праблемы з сеткай. У гэтым выпадку сетка сістэмы, такія як гэта можа стаць нерэальным ўключыць у офіснай асяроддзі. Ён таксама можа быць тое, што вы можаце паглядзець у альтэрнатыўных стратэгій працы, напрыклад, толькі патэлефанаваўшы ў працоўныя паміж 8 вечара і 6 раніцы кожную ноч, і / або дросселирования крыніцы дадзеных запытаў.

Рухаемся далей скажам нашых дадзеных крыніц складзе 100 ГБ дадзеных. Ну так, гэта даволі шмат дадзеных для перамяшчэння па сетцы на абнаўленне. Як бы мы гарантуем, што ў нас ёсць апошняя копія дадзеных у гэтым выпадку? Rsync ёсць магчымасць, але асабіста я думаю, запусціўшы ваш апошні крыніца дадзеных на серверы апрацоўкі замовы і наладай як майстар у рэплікацыі (з добры доўгі часопіс бен), можа быць шлях:

рэплікацыі Пры ўсталёўцы кожнага з вашых работнікаў у якасці рабоў для кіравання заданнямі серверам абнаўленняў да крыніц дадзеных будзе працякаць ўніз прыемна, каб вашыя работнікі, не велізарны рост сеткавай актыўнасці (гэта значыць, калі вы выконваеце велізарную абнаўлення дадзеных, і ўсе вашы працоўныя ўдар у адразу). Гэта мае перавагі ў параўнанні з Rsync ў тым, што вы не атрымаеце доўгую паўзу перад кожнай рабоце; як абнаўлення баз дадзеных, MySQL дэмана на вашым працоўным будзем пастаянна абнаўляць свае дадзеныя, а апрацоўка працягваецца.

Гэта, як я стварыў мой дэманстрацыя сервера. Каб наладзіць рэплікацыю я рушыў услед за кіраўніцтва на сайце MySQL ( Налада рэплікацыі ) і на працягу 20 хвілін у мяне быў Пачатковае работніка тыражаванне кіравання заданнямі сервераў дадзеных. За кожны дадатковы працаўнік налады рэплікацыі і працэс працаваў кожны раз, калі В. М. быў скапіяваны.

Рэзюмэ

У гэтай частцы артыкула мы разгледзелі, як лёгка і бязбольна гэта захаваць ваш код апрацоўкі аж да цяперашняга часу using Rsync або subverion (SVN), каб зрабіць працу і зменшыць сеткавай трафік, у той жа time. Мы таксама абмеркавалі, як захаваць вашыя дадзеныя ў крыніцы інфармацыі апошнюю дату, што дазваляе яму працякаць ўніз да кожнай з вашых работнікаў. Такім чынам, мы вобласці забеспячэння таго, каб мы ў нагу з бізнес-логікай і інфармацыі ў нашай сістэме сеткі офіса. Там, відавочна, будзе незлічоныя альтэрнатывы выкананню гэтых задач, але тут былі два простых прыкладу, каб паказаць, наколькі лёгка рашэнне прыбыць.

Наступны раз

У заключнай частцы гэтай серыі, трапна назваў частка 5 , мы абмяркуем разгортванні гэтай сістэмы. Я буду рэзюмаваць, што было вывучана і тое, што мне ўдалося стварыць.

Упраўленне Grid Computing выкарыстаннем віртуальных асяроддзяў - Частка 3

Па , у пятніцу 4 снежні 2009 года 11:37 вечара

Увядзенне

Я працую ў кампаніі, дзе мы запускаем шмат працоўных месцаў, пакетная апрацоўка мільёны запісаў дадзеных кожны дзень, і я думаў нядаўна пра ўсіх машынах, якія сядзяць кожны дзень нічога не рабіць на працягу некалькіх гадзін. Не было б добра, калі мы маглі б выкарыстоўваць гэтыя машыны для ўмацавання вылічальнай магутнасці нашых сістэм? У гэтай серыі артыкулаў, я буду глядзець на патэнцыйныя выгоды ад выкарыстання офіса сеткі выкарыстанне виртуализированных асяроддзях.

У частцы 2 мы разгледзелі працу сервер будзе працаваць, і як працоўныя месцы павінны быць настроены для дасягнення найбольшай аб'ём апрацоўкі ў той час як забеспячэнне таго, каб кожнае патрабаванне абслугоўваецца ў абавязковым парадку.

Налада працоўнага - ці LIMP серверы

Наступным крокам у гэтым працэсе, каб наладзіць віртуальныя рабочыя. Для гэтага я буду выкарыстоўваць ўстаноўкі CentOS выкарыстанні VirtualBox. Я збіраюся ўсталяваць MySQL і PHP на серверы, таксама вядомы як LIMP (Li ММК, м ySQL, Р л.з.) Сервера (я, магчыма, зрабілі гэта імя ўверх).

  • Устанавіць VirtualBox на вашай машыне акна (вынікайце спасылцы)
  • Запампаваць і ўсталяваць CentOS (бягучая версія 5.3) у межах ствараемых віртуальных машын

Там няма сэнсу мне будзе гэта там, напэўна, 1000-х гадах вялікую падручнікі там (ну добра, вось адзін: Стварэнне і Managing CentOS віртуальнай машыне пад VirtualBox ). Важна адзначыць, я мяркую, з'яўляецца тое, што я назваў сваю віртуальную машыну GridMachine.

Што датычыцца майго выбару віртуалізацыі кліентаў і аперацыйнай сістэмы, туды не такое ўжо вялікае важкіх прычын для кожнага варыянту. VirtualBox з'яўляецца тое, што я выкарыстоўваю на маім хатнім кампутары і пры падтрымцы трох асноўных аперацыйных сістэм. Я выбраў CentOS як яго добрым стабільным АС і я выкарыстоўваю яго на свой вэб-сервер. Я вельмі веру ў правільныя інструменты для працы (хоць я падаю заяву "выкарыстоўваць хуткі і просты для вас" менталітэт тут), так што, калі аперацыйная сістэма X працуе ваш код хутчэй і больш эфектыўна выкарыстоўваць яго замест:)

Важна пераканацца, што ваша VM выкарыстоўвае DHCP, у адваротным выпадку для кожнай новай віртуальнай машыны павінны быць настроены асобна, што тое, што мы не want.By выкарыстаннем DHCP нам не патрэбныя для налады сеткавых параметраў індывідуальна для працоўнага машын, DHCP ўручыць з IP-адрасоў для вас. Таму вы можаце скапіяваць вашыя віртуальныя машыны каля офіса, не клапоцячыся пра наладу кожнага з уверх (гэта паляпшае маштабаванасць і зніжае працаўнік адміністрацыі).

Працэс, які вы павінны імкнуцца да дасягнення б атрымаць новую фізічную машыну, усталяваць VirtualBox, а затым у значнай ступені разгарнуць віртуальны вобраз, не больш таго. Гэта можа быць мудрым, каб наладзіць ўсе вашы працаўнікі ў іншай падсеткі, каб можна было б хаця б даведацца, колькі машын працуе. Вам таксама неабходна наладзіць машыны на доўгатэрміновую арэнду або неабмежаваную арэнды DHCP.

Як запусціць Вакансіі на работніка

Гэта цікавае напрамак і Ёсць некалькі дапушчальных метадаў для апрацоўкі заданняў на работніка. Тут я проста абмеркаваць два найбольш відавочных:

  • Пастаянна працуе сцэнар: сцэнар, будзь то скрыпт або скрыпт PHP выконваецца адзін раз на работніка і працуе як частка бясконцага цыклу. Я зніжкай гэты метад як адзін крах сцэнарыя і, магчыма, вашы працаўнікі перастануць працаваць без нейкага ўмяшання.
  • Cron заснаваны выканання скрыпту: Кожныя Х хвілін хранічны дэман стартуе званок на ваш сцэнар, каб атрымаць рэчы, якія ідуць. Без якой-небудзь праверкі гэта можа прывесці да многіх шмат копій вашых запушчаных сцэнарыяў работніка.

Маё рашэнне было пайсці з хранічны які стартуе скрыпт кожныя 10 minutes. Мой скрыпт выконвае наступныя задачы:

  1. Атрымаць спіс працэсаў і GREP гэта для 'PHP'. Калі не знойдзены, то працягнуць.
  2. Патэлефануйце свайму працы кода, у маім выпадку гэта было б што-то PHP заснаваных
  3. Работнік скрыпт завяршае свой бег
  4. Гатовыя ісці зноў на наступным адпаведны выклік

Мой баш скрыпт выглядае прыкладна так:

  #! / Бэн / ш
 пс, калі сякера | Grep-V GREP | GREP PHP> / Dev / нуль
 затым
     рэха "Праца ў цяперашні час апрацоўкі, выхад"
 яшчэ
     рэха "Праца не працуе, пачніце прама цяпер"
     PHP yourJobProcessingScript.php
 Fi 

Заўвага: рэха амаль цалкам бессэнсоўным, але можа дапамагчы наступны чалавек, які прыходзіць, каб паспрабаваць і рэдагаваць іх.

На гэтым мы завяршаем наладу работніка віртуальнай машыне, хутка, проста і лёгка скапіяваць, да кожнаму новаму частка абсталявання, якое атрымана. 'Розум' сеткі сістэма сапраўды не ў злучаны іх АС, яе ўсё рабіць з код, створаны для апрацоўкі заданняў, работу канфігурацыі, а ў тым, каб заданне выконваецца ў выпадку неабходнасці (напрыклад, калі гаспадар знаходзіцца ў рэжыме чакання ).

Налада АС Windows для ініцыялізацыі рабочых

Першай задачай з'яўляецца выпрацоўка каманд, неабходных для запуску віртуальнай машыны з каманднага радка Windows. Калі вы ўсталявалі VirtualBox ў тэчку па змаўчанні, і вы назвалі ваш працоўны GridMachine то каманда патрабуе, каб загрузіць ваш работнік з'яўляецца:

  "C: \ Program Files \ Sun \ VirtualBox \ VBoxManage.exe" startvm GridMachine 

Аднак, каб запусціць сцэнар у "безгаловы" дзяржава мы павінны выкарыстаць:

  "C: \ Program Files \ Sun \ VirtualBox \ VBoxHeadless.exe"-startvm GridMachine - VRDP = выкл 

Гэта прывядзе да запуску віртуальнай машыны без графічнага інтэрфейсу карыстальніка і дазваляе яму захаваць стан хупава. Другі аргумент выключаецца RDP таму ён не ўступае ў супярэчнасць з вокнамі, RDP, ці даць вам паведамленне пра тое, на порце 3389. Імя віртуальнай машыны з улікам рэгістра!

Далей, мы павінны ўсталяваць вокны ўверх, каб пачаць наш працоўны В. М. раз машына была прастойваць. Для гэтага (на Windows XP), вы павінны будзеце пайсці Пуск -> Усе праграмы -> Стандартныя -> Службовыя -> Прызначаныя заданні, як паказана ніжэй:

запланаваных задачах

Затым націсніце на "Дадаць заданне" з наступным праглядам, каб дадаць карыстацкія праграмы. Перайдзіце на VBoxManage сцэнар і націсніце кнопку ОК. Расклад ваша задача для любога з варыянтаў (мы зменім гэта ў хвіліну) і працягнуць. Пасля пропуску наступным экране вокны будуць прасіць вас, хто вы хочаце выканаць гэтую задачу, я прапаную альбо "Адміністратар" ці стварэнне новага прывілеяванага карыстальніка. Памятаеце, што мы не хочам умешвацца ў стандартнай ўліковага персаналу на машыне ў любы момант. Націсніце кнопку Далей і праверце паказаць дадатковыя параметры для гэтай задачы.

Да канца запусціць тэкставае дадаць нашу радок 'startvm GridMachine і гарантыі, якія працуюць толькі тады, калі ўвайшлі ў сістэму застаецца дадзеную опцыю. Наведаць Расклад заданні наступнага і змяніць графік апусціцца да опцыю 'у рэжыме чакання ", выберыце колькасць часу вы хочаце машыну сядзець склаўшы рукі, перш чым перайсці да наступнай закладцы.

Нарэшце зніміце опцыю у якім гаворыцца, спыніць задачу, калі яна працуе ўжо ў X колькасць часу, але адзначце опцыю, каб спыніць задачу, калі машына не прастойвае.

графік

Вось менавіта тады для ўстаноўкі хост вокны!

Рэзюмэ

У гэтай частцы мы стварылі віртуальную машыну для працы ў якасці работніка, а таксама тое, як мы называем і выканаць нашы сцэнары апрацоўкі заданняў (для сябе сцэнар PHP). Адсюль мы разгледзім, як наладзіць нашы копіі вокны для запуску віртуальнай машыны ў рэжыме абезгалоўлены, калі кампутар бяздзейнічае, і захаваць свой стан, калі карыстач аднаўляе выкарыстанне машыны. Спадзяюся, у гэты момант вы бачыце, як проста стварыць такую ​​сістэму і сверб, каб атрымаць некаторыя эксперыменты збіраецеся самі!

Наступны раз

У частцы 4 мы будзем глядзець на выкарыстанні прылады для таго, што вы выкарыстоўваеце апошнюю версію кода і дадзеных крыніц, з тым, што атрыманыя вынікі, заўсёды актуальныя, актуальны з апошнімі бізнес-інфармацыі і логіку.













Панарама тэму, Themocracy

4 наведвальнікаў онлайн
2 госці, 2 ботаў, 0 карыстальнікаў
Максімум сёння: 17 у 4:02 раніцы UTC
У гэтым месяцы: 19 на 2011/08/19 06:09 раніцы UTC
У гэтым годзе: 130 у 2011/03/28 10:40 вечара UTC
За ўвесь час: 130 у 2011/03/28 10:40 вечара UTC