Категорія: Загальні

PHP Design Patterns - спостерігач "

За Стівен Ллойд Уоткін , у вівторок 29 грудня 2009 10:02 вечора

Я читав Head First Design Patterns недавно і вирішили написати кілька моделей як приклади PHP для мого власного блага. Перше, що я вирішив код на це спостерігач " . Формальне визначення шаблону спостерігача є:

Спостерігач картини (підмножина асинхронних публікація / підписка картини ) є програмним забезпеченням шаблон дизайну , в якому об'єкт , називається предмет, підтримує список своїх утриманців, званих спостерігачів, і повідомляє їх автоматично будь-яких змін стану, як правило, по телефону один з їх методів . Він в основному використовується для реалізації розподілених систем обробки подій.

Оскільки системи стають більш слабко пов'язані переконавшись, що, коли подія відбувається всі системи, які вимагають знання ці оновлення в повідомленні. Наприклад, у блозі, після збереження посади ми, можливо, буде потрібно оновлення пошукової системи (наприклад Lucene), оновлена ​​карта сайту, теги, електронної пошти підписка користувачів і т.д. спостерігача шаблон дозволяє розробникам додавати додаткові слухачів без редагування їх спостережуваного об'єкта . Вводячи спостерігачів (тобто оновлення пошукової спостерігача, Sitemap Generator, і т.д.) в темі (тобто системи після редагування блог) ми можемо дозволити їй виконувати всі необхідні оновлення без будь-яких змін.

Продовжити читання 'PHP Design Patterns - спостерігач Pattern' »

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

За Стівен Ллойд Уоткін , в п'ятницю 4 грудня 2009 11:37 вечора

Введення

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

У частині 2 ми розглянули роботу сервер буде працювати, як і робочі місця повинні бути налаштовані для досягнення найбільшу кількість обробки в той час, щоб кожна робота обробляється в обов'язковому порядку.

Налаштування робочого - чи LIMP сервера

Наступним кроком у процесі є створення віртуальної працівників. Для цього я збираюся використовувати установки CentOS використанням VirtualBox. Я збираюся встановити MySQL і PHP на сервері, також відомий як LIMP (Li NUX, м ySQL, P HP) Сервера (я, можливо, зробили це ім'я вгору).

  • Встановити VirtualBox на ваші вікна машини (за посиланням)
  • Завантаження та встановлення CentOS (поточна версія 5,3) в рамках створеної віртуальної машини

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

Що стосується мого вибору віртуалізації клієнтів і операційної системи, туди не така вже велика вагомих причин для кожного варіанту. VirtualBox є те, що я використовую на моєму домашньому комп'ютері і при підтримці трьох основних операційних систем. Я вибрав CentOS як його хороший стабільний OS і я використовую його на свій веб-сервер. Я дуже вірю в правильні інструменти для роботи (хоча я подаю заяву "Використовувати швидкий і простий для вас" менталітет тут), тому, якщо операційна система X працює ваш код швидше і більш ефективно використовувати його:)

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

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

Як для виконання завдань на працівника

Це цікавий напрямок і Є кілька науково обгрунтованих методів для обробки завдань на працівника. Тут я просто обговорити два найбільш очевидних:

  • Постійно працює сценарію: сценарій, будь то скрипт, або скрипт виконується один раз на працівника і працює як частина нескінченного циклу. Я цей метод дисконтованих як один крах сценарію і, можливо, ваші працівники перестануть працювати без якогось втручання.
  • Cron заснований виконання сценарію: кожні х хвилин демон cron стартує дзвінок на ваш сценарій налагодити справу. Без будь-якої перевірки це може призвести до багатьох багато копії робочий скрипт працює.

Моє рішення було піти з хрон який стартує скрипт кожні 10 minutes. мій скрипт виконує наступні задачі:

  1. Отримати список процесів і GREP це для "PHP". Якщо не знайдений, то продовжити.
  2. Call роботу коду, в моєму випадку це буде щось PHP заснованих
  3. Працівник скрипт завершує свій біг
  4. Готові йти знову на наступний відповідний виклик

Мій Баш скрипт виглядає приблизно таким:

  #! / BIN / Ш.
 PS якщо сокиру | 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 = OFF 

Це призведе до запуску віртуальної машини без графічного інтерфейсу і дозволяє йому зберегти стан витончено. Другий аргумент вимикається RDP тому він не конфліктує з Windows RDP, або дати вам повідомлення про прослуховує порт 3389. Ім'я віртуальної машини з урахуванням регістру!

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

запланованих завдань

Потім натисніть на "Додати завдання ', а потім перейдіть до додавати власні програми. Перейдіть на сценарій VBoxManage і натисніть кнопку ОК. Розклад ваше завдання для будь-якого з варіантів (ми змінимо це в хвилину) і продовжити. Після пропуску наступного вікна вікно попросить вас, хто ви хочете, щоб виконати це завдання, я пропоную або "Адміністратор" або створення нових привілейованих користувачів. Пам'ятайте, що ми не хочемо втручатися в стандартній облікового співробітників на машині в будь-який момент. Натисніть кнопку Далі і встановіть прапорець Показувати додаткові опції для цього завдання.

До кінця виконання TextBox додати 'startvm GridMachine' рядок нашого і забезпечення того, щоб працювати тільки тоді, коли увійшли в систему залишається дану опцію. Відвідайте Розклад завдання наступного і змінити графік опуститися до опцію 'в режимі очікування, виберіть кількість часу, ви хотіли машина, не діяти, перед тим як перейти до наступної закладки.

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

графік

От і все, то для установки приймаючої вікна!

Резюме

У цій частині ми створили віртуальну машину в якості працівника, а також спосіб, в якому ми називаємо і виконати наші сценарії обробки завдань (для себе сценарій PHP). Тут ми розглянемо, як налаштувати наші копії Windows для запуску віртуальної машини в режимі обезголовлений, коли комп'ютер не діє, і зберегти свій стан, коли користувач відновлює використання машини. Сподіваюся, в цей момент ви бачите, як це просто для створення такої системи і сверблять, щоб отримати деякі експерименти збираєтеся самі!

Наступний раз

У частині 4 ми будемо дивитися на використанні інструментів для забезпечення того, щоб ви працюєте в останній версії коду і даних джерел, з тим, що отримані результати завжди в ногу з актуальний з останніми бізнес-інформації і логіці.

Великобританія імена каталогів і того, застосування

За Стівен Ллойд Уоткін , в п'ятницю 10 квітня 2009 9:33 ранку

Один з кумедних речей, я брав участь в той час працював для Tracesmart це імена каталогів . В основному ми взяли наші величезна інформаційна база даних і витяг велику купу статистика про різних імен.

Процес все одне велике зусилля SEO, щоб залучити більше трафіку на сайт, але він також надає деяку цікаву інформацію і назва статистики.

Ось приклад мого імені Ллойд Уоткін , або я вважаю, більш правильно Стівен Уоткін . Зупиніться на хвилинку, щоб подивитися ваше ім'я на сайті Tracesmart, може бути цікаво;)

Ми також отримали імена статистичних даних на імена каталогів сторінку, яка говорить вам, що імена були шукати і як недавно. Його дуже цікаво подивитися, імена відомих людей злетіти статистика, коли вони з'являються в новинах. Одним з останніх прикладів є те, що з Ліам Нісон , хто дружина померла від лижах аварії недавно, хоча вочевидь, що люди не зовсім вірно на правопис (звідси й величезна кількість хітів на це ім'я) - Лайам Нільсон .

Застосування facebook

Після назви каталогу був створений, ми приступили до створення додатків facebook які ми duely з ім'ям " My Name ". Facebook додаток розширення імен каталогів і забезпечує деяку додаткову статистику. Для того, щоб додати імена каталогів на вашому facebook рахунок, будь ласка, відвідайте:

http://apps.facebook.com/my-name/

Flickr і Yahoo!: Забули Логін Подробиці

За Стівен Ллойд Уоткін , четвер 2 квітня 2009 7:31 вечора

Кілька місяців тому я змінив мою Flickr паролем, щоб друг міг завантажувати декілька пострілів до нього. Кілька місяців по тому я знаходжу, що я забув, що пароль і намагаючись згадати всі свої таємні подробиці з Yahoo! просто кошмар. У мене була Yahoo! адресу електронної пошти протягом кількох років, і я не був упевнений, коли і де (я живу), коли я підписав - про тільки для більшої ясності Flickr використовує Yahoo! Увійти системи:)

Yahoo! були не допомогло, вони хотіли, точні деталі і буде відкидати все, що не збігаються. Крім того, я не зміг надати список можливих відповідні деталі воно повинно бути права на кожну деталь в іншому випадку воно буде відхилено. Я можу зрозуміти безпеки, але це було отримувати біль в дупі, особливо, як я міг отримати своє ім'я користувача в свій звичайний адресу електронної пошти без будь-яких проблем (чому не могли б ви відправити скинути там !?!?!). На додаток до всього цього вони хотіли докладніше послав до них в офіс у Каліфорнії поштою або факсом, BOO!

Крок назад до Flickr, які люб'язно відправити лист на мій зареєстровану адресу електронної пошти просять мене, щоб відокремити мій профіль Yahoo! з мого рахунку Flickr. Ура я міг би підписати контракт з нового облікового запису Yahoo! і прикріпити мій Flickr увагу до цього нового Увійти.

Після очікування принаймні тиждень кожного разу для Yahoo! відповісти Flickr отримав це все сортується протягом 2-3 годин!

Молодці Flickr, на щастя, ви там шукаєте після ваших клієнтів:)

Тепер для нудьги кожного ось ще одне посилання на мій рахунок Flickr

Натхненний ... і guilted!

За Стівен Ллойд Уоткін , в середу 11 березня 2009 8:51 вечора

Я нещодавно створив блог для одного з хлопців в роботі - Метью Хопкінс - і, бачачи його перші кілька повідомлень змусив мене думати, що, може бути, я хотів би додати кілька повідомлень, як його вже досить довго і багато сталося за 2008 рік. Ще один з хлопців в роботі робить сам блог, старий добрий Стівен Гріффітс так подивіться там.

Так що я буду тягнутися і додати деякі ретроспективні повідомлення про те, що 2008, призначені для мене і як 2009 рік складається:)

2008 WTF?!?

За Стівен Ллойд Уоткін , четвер 1 січня 2009 12:00 ранку

2008 рік був дивний старий рік, є декілька речей, які я дійсно любив про це, і є деякі речі, які в даний час забуті і переїхав на с ....

Дайвінг

Я не робив нічого особливого в тому, як підводне плавання Я думаю, мені вдалося близько близько 10 занурень протягом усього року. Один з цих занурень було підводного Санти події в Vobster Набережна який був більш успішним, ніж мої найсміливіші мрії. Врешті-решт ми підняли над £ 1000 для RNLI , отримали висвітлення на BBC і ITV, і мав близько 80 водолазів у воду. Vobster було море дайвінг Санти за день! Я дійсно сподіваюся, що я роблю більш дайвінгу в 2009 (багато більше!), Повертаючись в нього буде включати безліч навчання, щоб навчитися працювати знову. Я сумую днів з моменту отримання на човні, сонце сяяло вниз, схопив омара, упаковка ира Â і відправитися додому на кілька сортів пива.

Біг

В кінці січня 2008 року я брав участь в автокатастрофі, вдарив ззаду в той час зупинився, нічого серйозного або так я думав. За кілька місяців моя біль в шиї отримали все гірше і гірше заважає мені працювати. Зрештою, я зв'язався з компанією подіями, які почали отримувати мені лікування мануального терапевта в Кардіффі які я все ще йде (березень 2009 - претензії як і раніше не врегульований небудь). Запуск ще одна з тих речей, я хочу, щоб повернутися до, я почала з Miles а між захворювань, травм, і в кінцевому підсумку його переїзду в Кембриджі ми тільки вийшли кілька разів. Мені дуже потрібен хороший стусан, щоб отримати Бум буде знову, хоча моє єдине утіху в тому, що я був Велоспорт тому і тому працювати протягом кількох місяців який робить мені кілька хороших.

Переміщені

У липні 2008 року я переїхав у квартиру з Меган, ми отримуємо через оздоблювальні роботи та отримувати його шукає дійсно Нікеї -. Хоча ми начебто перетягування наші підбори з картини ... до цих пір. Квартира є в Adamsdown в Кардіффі (я здається, ніколи не рухатися далеко) і відповідну нам просто чудово.

Робота

Робота була всім у 2008 році, я почав з дрейфуючих трохи, перш ніж приймати роботу на оповіщаючи агента як менеджера. Це допомогло не закінчуються нерухомості і дозволяючи агентство програмного забезпечення , що я був розвиваються. Мій план на майно і дозволяючи агентство програмного забезпечення є, щоб звільнити її, як низька собівартість продукції, коли у мене більше часу, щоб очистити його. З того, що я розповів про конкуруючих продуктів на ринку, вона простіше у використанні і виконує багато чи декілька з тих самих функцій в кращу сторону:)

Протягом квітня 2008 року підійшов до моєї 1922 як Меган і моя мати стала наполягати на мене "піти на кар'єрі", які важко ковтати ідея була дійсно те, що мені було потрібно. Запуск власної компанії було весело, але не забезпечують стабільність, необхідну і заробляти гроші на оповіщаючи агентство не було довгострокової мети кар'єри. Він завжди був випадок почекати, поки я отримаю свій програмне забезпечення закінчена і я почну продавати його, але час завжди був проти мене.

Після цього було кілька інтерв'ю з деякими великими компаніями в деяких великих областей, який подає великі надії переїхати в нові області, почати нове життя, здавалося великим. Краща робота, пропозицію було з великою хостинг-провайдер в області Вустер і, здавалося ідеальним. Так що ж трапилося? Ну, я був розроблений онлайн рішення SMS тому під Різдво, які були сидіти не робить багато такого, що інвестори були знайдені. Дуже добре я думав, і ми поїхали. Все не закінчилося добре, і після декількох місяців невиконаних обіцянок і підвищення рівня стресу я зробив стенд і вийшов. Робоча 60 годин на тиждень, прийшовши додому і роблю ще 3-4 годин плюс робочі всі вихідні, і для всіх напруг це було одне з найкращих рішень, які я коли-небудь робили. (Тут я хотів би подякувати Меган, мої батьки, і мої друзі, що поруч зі мною, я був стрес-очолює член час від часу, і я вибачаюся)

Чотири тижні тому я приземлився себе роботу з компанією "Tracesmart в Cardiff Bay як PHP Developer. Після проходження тестів і інтерв'ю, які я почав з цілою купою ентузіазму (як ви можете собі речей було небагато найнижчих на деякий час). Tracesmart виконувати пошук людей, людей відстеження, виборців обробки даних, за участю величезної кількості даних. Я був там вже близько 5 місяців (з урахуванням насправді я пишу цю статтю в березні 2009 року), і я люблю кожну хвилину цього. Я натисканням себе кожен день, мають великий робочого середовища (мій стіл з видом на затоку!), Хороші колеги! Я брав участь у деяких хороших проектів (інші посади слідувати), і я дуже пишаюся роботою, яку я роблю там.

2009 ....

Незважаючи на початок 2009 року в Німеччині страждають від вірусу Ново 2009 великий до цих пір. Меган і я Спента Новий рік час у Німеччині й Амстердамі. Амстердам є красивим і будинок Анни Франк був реальний величезний вплив на мене, то ми будемо безумовно, буде повертатися. Робота йде дуже добре. Моя шия стає все краще і краще, щоб протягом декількох тижнів я буду голову з тих перших жахливо працює ще раз. Єдине, що мені дійсно потрібно зараз хороших кілька занурень (або занурення свято), щоб повернутися на гойдалку речей!

Користувальницькі php.ini з Plesk

За Стівен Ллойд Уоткін , в середу 13 серпня 2008 3:53 вечора

У нас є виділений сервер з ukFast А, на якому ми запускаємо ряд областей , які існують на віртуальних серверах під управлінням Plesk . У всякому разі, на більшості з моїх доменів Я хочу, щоб приховати від попередження і забезпечення безпеки тримати помилки в лог-файли, проте на деяких з моїх доменів (таких, як я на що розвиваються) Я хочу показати кожному мало неприємних попереджень і помилок, що з'являється.

Якщо б я змінити свій PHP . INI "> php.ini це впливає на кожен домен на сервері, а не гарна ідея, особливо коли кілька сайтів повністю концертні версії Так, щоб обійти цю проблему потрібно покласти файл з ім'ям vhosts.conf у конференції каталозі, наприклад, /var/www/vhosts/<my_domain>/conf/vhost.conf .

Після того як ви додали додатковий код, знову ж таки для прикладу я включив,

 php_value error_reporting E_ALL php_value display_errors On 

слід виконати наступну команду (це переналаштовує всі ваші областей його просто швидше лінивіше, ніж введення в домен ,

 # /usr/local/psa/admin/bin/websrvmng -a 

Якщо ви відчуваєте себе трохи моторні то ви завжди можете вводити одні й повну версію, яка є,

 # /usr/local/psa/admin/sbin/websrvmng -u --vhost-name=<my_domain> 

Після цієї команди, якщо ви подивитеся на httpd.include файл, побачите, що ваш httpd.include буде включати лінію для вашого vhost.conf, щось на зразок цього:

 Include /srv/www/vhosts/domain.com/conf/vhost.conf 

Болометра теорії

За Стівен Ллойд Уоткін , четвер 21 червня 2007 1:18 вечора

У мене була тонн листів (а близько 5 $) з проханням про введення сторінці "болометра теорії" Раніше у мене на сайті. Так от він так само, як і раніше, але з деякими з посилань на інші біти частини старого сайту видалити:)

Введення в теорію болометра













Панорама Тема Themocracy

5 відвідувачів онлайн
4 гостей, 1-ботів, 0 користувачів
Макс відвідувачів сьогодні: 12: 07:57 AM UTC
У цьому місяці: 22 в 08-06-2011 12:30 ранку UTC
У цьому році: 130 в 28-03-2011 10:40 вечора UTC
За весь час: 130 в 28-03-2011 10:40 вечора UTC