Warning: fopen(/homepages/30/d192847469/htdocs/evilprofessor.co.uk/public_html/wp-content/gt-cache/iw/_iw_tag_application) [function.fopen]: failed to open stream: Disk quota exceeded in /homepages/30/d192847469/htdocs/evilprofessor.co.uk/public_html/wp-content/plugins/global-translator/translator.php on line 1183

Warning: flock() expects parameter 1 to be resource, boolean given in /homepages/30/d192847469/htdocs/evilprofessor.co.uk/public_html/wp-content/plugins/global-translator/translator.php on line 1184

Warning: fwrite(): supplied argument is not a valid stream resource in /homepages/30/d192847469/htdocs/evilprofessor.co.uk/public_html/wp-content/plugins/global-translator/translator.php on line 1188

Warning: fclose(): supplied argument is not a valid stream resource in /homepages/30/d192847469/htdocs/evilprofessor.co.uk/public_html/wp-content/plugins/global-translator/translator.php on line 1190
Evilprofessor.co.uk »יישום

הודעות שתייגת: יישום

"היכנס באמצעות טוויטר" באמצעות Zend Framework

על ידי , יום חמישי 17 מרץ 2011 1:07 am

למרות כל השנאה בטוויטר כרגע, אני כבר יצאו ליצור קובץ בטוויטר יישום מבוסס. להיות מישהו שמנהל מספר חשבונות (הן ברמה האישית והן על פעילות הצדקה שלי) אני הזקוקים כלי מתישהו, כי אני פשוט לעקוף לכתיבה (עוד כי בעתיד הקרוב ...).

קראתי על Zend_Oauth_Consumer וכיצד ניתן להשתמש בו כדי לקבל אישור עבור אינטראקציה עם טוויטר באמצעות OAuth . הכל טוב ויפה, יש לי מפתח הגישה שלי, אני יכול בשמחה לכתוב משם בשם המשתמש. יש הרבה משאבים שם כדי לעשות את זה אז אני לא לשעמם אנשים.

השלב הבא היה לאפשר לאנשים לחזור לאתר, להכנס למערכת, לשנות את החשבון שלהם. זה המקום בו הגעתי בעיה קטנה. באמצעות דוגמאות קוד באתרי אינטרנט פירושו של דבר הייתי Twitter מבקש ממני אישור גישה שוב על כל כניסה, לא טוב. סריקה באמצעות מסגרת לא יכולתי לראות שום דבר שיאפשר לי רק לבקש אימות. זה לא אומר שלא, אבל לא נראה להיות מנגנון אימות, אשר עלול להיות מופעל בלי לדעת אסימון הגישה כבר.

החלופות היו ליישם יומן האתר מבוסס או לאחסן איכשהו אסימון הגישה של המשתמש במחשב הלקוח (מוצפן כמובן). אף אחד מהם נראה כמו פתרון טוב / מתאים.

המשך קריאה "להתחבר עם טוויטר" באמצעות Zend Framework "»

Zend_Layout עירום Zend_View

על ידי , יום שלישי 10 אוגוסט 2010 23:47

במאמר זה אני מסתכל על השימוש Zend_Layout ו Zend_View יחד עם בקר חזית פשוטה להראות כיצד אפשר להתחיל להפריד לוגיקה עסקית והצגה בתוך היישום. כל קוד נגיש github:
Zend_Layout Zend_View עירום על GitHub .

המשך 'Zend_Layout הערומים Zend_View "קריאה»

-PHP תבניות עיצוב - דפוסי אובזרוור

על ידי , יום שלישי 29 דצמבר 2009 22:02

קראתי קודם ראש תבניות עיצוב לאחרונה החלטתי לכתוב כמה דפוסי כדוגמאות PHP עבור התועלת שלי. 1 1 כי החלטתי הקוד הוא תבנית אובזרוור . הגדרה פורמלית של תבנית הצופה:

דפוס הצופה (משנה של אסינכרוני לפרסם / להירשם דפוס ) היא תוכנת עיצוב דפוס שבו האובייקט , קרא את הנושא, שומר רשימה של התלויים בו, הנקראים משקיפים, ומיידע אותם באופן אוטומטי על כל שינוי של המדינה, בדרך כלל על ידי התקשרות אחד שלהם שיטות . הוא משמש בעיקר כדי ליישם מערכות מבוזרות טיפול האירוע.

ככל שמערכות להיות יחד באופן רופף יותר ולוודא כי כאשר האירוע קורה כל מערכות הדורשות ידע של עדכונים אלה הם הודיעו. כך, למשל, לכתוב בלוג, לאחר שמירת הפוסט ייתכן שנצטרך לעדכן את מנוע החיפוש (למשל Lucene), לעדכן את מפת האתר שלנו, תגיות, משתמשים דוא"ל מנויים וכו 'דפוס הצופה מאפשר למפתחים להוסיף המאזינים נוספים ללא עריכת האובייקט הנצפה שלהם . על ידי הזרקת צופים (כלומר מנוע החיפוש צופה עדכון, מחולל מפת האתר, וכו ') לתוך הנושא (פוסט בבלוג, כלומר מערכת העריכה) אנחנו יכולים לאפשר לה לבצע את כל העדכונים הדרושים ללא כל שינוי.

המשך קריאה "-PHP תבניות עיצוב - דפוסי אובזרוור" »

רשת המחשוב במשרד באמצעות סביבות וירטואליות - חלק 3

על ידי , יום שישי 4 דצמבר 2009 23:37

הקדמה

אני עובד בחברה שבה גמר עבודות אצווה רבים עיבוד מיליוני רשומות של נתונים מדי יום, חשבתי לאחרונה על כל מכונות יושבים בכל יום לעשות כלום במשך כמה שעות. האם לא יהיה זה טוב אם אנחנו יכולים להשתמש במכונות האלה כדי לחזק את כוח העיבוד של המערכות שלנו? במערכה זו של מאמרים אני מסתכל על היתרונות הפוטנציאליים של העסקת המשרד לרשת באמצעות סביבות וירטואליות.

ב חלק 2 הסתכלנו עבודות השרת יפעל, ועד כמה עבודות צריך להיות מוגדר על מנת להשיג הכמות הגדולה ביותר של עיבוד תוך הקפדה כי כל עבודה מעובד ללא יוצא מן הכלל.

הגדרת העובד שלך - או שרת ביזקיט

השלב הבא בתהליך הוא להגדיר עובדים הווירטואלי שלך. בשביל זה אני הולך להשתמש ההתקנה של CentOS באמצעות VirtualBox. אני הולך להתקין mySQL ו PHP על השרת, המכונה גם צליעה (Nux לי, מ 'ySQL, P-HP) Server (אולי עשו את זה שם למעלה).

  • התקנת VirtualBox על המחשב שלך Windows (בעקבות הקישור)
  • הורד והתקן את CentOS (הגרסה הנוכחית 5.3) בתוך מכונה וירטואלית שנוצרה

אין טעם לי ללכת זה יש ככל הנראה של "1000 של הדרכות גדולים בחוץ (אוקיי, הנה אחד: יצירה Managing מכונת CentOS וירטואלי תחת VirtualBox ). נקודה חשובה לציין אני מניח כי קראתי מכונה וירטואלית שלי GridMachine.

עד כמה הבחירות שלי של הלקוח וירטואליזציה ומערכת ההפעלה ללכת אין סיבה משכנעת גדול עבור כל בחירה. VirtualBox היא משהו אני משתמש במחשב ביתי והוא נתמך על ידי שלושת מערכות ההפעלה הגדולות. בחרתי כמו CentOS מערכת ההפעלה שלו יציבה טובה אני משתמש בו בשרת האינטרנט שלי. אני מאמין גדול את הכלים הנכונים עבור העבודה (אם כי אני החלת "להשתמש המהירה והקלה ביותר עבורך" המנטליות כאן), כך שאם X מערכת ההפעלה מפעילה את הקוד שלך מהר יותר וביעילות רבה יותר להשתמש במקום :)

חשוב לוודא כי VM שלך משתמש ב-DHCP, אחרת עבור כל מכונה וירטואלית חדשה היה צריך להיות מוגדר בנפרד וזה משהו שאנחנו לא want.By באמצעות DHCP לא צריך להגדיר את הגדרות הרשת באופן אישי למכונות העובד, DHCP ימסור את כתובות IP בשבילך. לכן אתה יכול להעתיק מכונה וירטואלית שלך אודות משרד בלי לדאוג הגדרת כל אחד למעלה (זה משפר את יכולת הרחבה ומפחית הממשל עובד).

התהליך אתה צריך לשאוף להשיג יהיה להשיג מכונה פיזית חדשה, ולהתקין את VirtualBox, ואז פחות או יותר לפרוס את התמונה הווירטואלי ללא הרבה יותר מזה. זה יכול להיות חכם כדי להגדיר את כל העובדים שלך ברשת משנה אחר כך שתוכל לפחות לראות כיצד מכונות רבות פועלות. בנוסף, יהיה עליך להגדיר את המחשבים שלך על חוזה חכירה ארוך או בלתי מוגבל DHCP.

כיצד להפעיל משרות על העובד

זהו תחום מעניין ויש כמה שיטות תקפות לעיבוד עבודות על העובד. כאן אני רק לדון 2 הברורה ביותר:

  • תמיד רץ תסריט: התסריט, בין אם הוא סקריפט מעטפת, או סקריפט PHP מבוצע פעם אחת על העובד והוא פועל במסגרת בלולאה אינסופית. אני מוזלים בשיטה זו כמו התרסקות אחת התסריט ואפשרות העובדים שלך יפסיק לפעול ללא התערבות כלשהי.
  • התסריט מבוסס cron ביצוע: מדי דקות צילומי cron daemon בעיטות מחוץ קריאה התסריט שלך להזיז דברים. בלי לבדוק כמה זה יכול להוביל עותקים רבים של הריצה עובד התסריט.

ההחלטה שלי היתה ללכת עם cron שמתחיל תסריט מעטפת כל minutes. 10 סקריפט מעטפת שלי מבצע את המשימות הבאות:

  1. קבל רשימה תהליך grep הזה "PHP". אם לא נמצא אז להמשיך.
  2. לקרוא קוד העבודה שלך, במקרה שלי זה יהיה משהו מבוסס PHP
  3. התסריט עובד משלים להפעיל שלה
  4. מוכן ללכת שוב על השיחה המתאים הבא

סקריפט bash שלי נראה משהו כזה:

  #! / Bin / sh
 אם ps ax | grep-v grep | grep php> / dev / null
 אז
     הד "עבודה בימים אלו עיבוד, יציאה"
 אחר
     הד "איוב אינו פועל, להתחיל עכשיו"
     PHP yourJobProcessingScript.php
 Fi 

הערה: הד של כמעט חסר טעם לחלוטין, אבל יכול לעזור לאדם הבא אשר בא לנסות ולערוך אותם.

זה מסכם את הגדרת המכונה הווירטואלית עובדת, מהיר, פשוט, קל להעתיק כל קטע חדש של חומרה, כי הוא קיבל. "החוכמה" של מערכת רשת באמת לא במערכת ההפעלה דמיינו, שלו כל קשר עם הקוד נוצר כדי עבודות בתהליך, תצורה תפקיד, וב לוודא כי העבודה פועל בעת הצורך (כלומר, כאשר המארח אינו פעיל ).

התקנת Windows כדי לאתחל את העובדים

המשימה הראשונה היא להבין את הפקודה להפעלת מכונה וירטואלית משורת הפקודה של Windows. אם התקנת VirtualBox במיקום ברירת המחדל ואתה שם העובד GridMachine שלך אז הפקודה הנדרשת כדי לטעון את העובד שלך הוא:

  "C: \ Program Files \ יום ראשון \ VirtualBox \ VBoxManage.exe" startvm GridMachine 

עם זאת כדי להריץ את הסקריפט בתוך מדינה "בלי ראש" אנחנו צריכים להשתמש:

  "C: \ Program Files \ יום ראשון \ VirtualBox \ VBoxHeadless.exe", startvm GridMachine - vrdp = off 

פעולה זו תפעיל את המחשב הווירטואלי מבלי GUI ולאפשר לו להציל את המדינה בכבוד. הטיעון השני מכבה RDP ולכן אינו מתנגש עם Windows RDP, או לתת לך הודעה על מאזין ביציאה 3389. שם מחשב וירטואלי הוא תלוי רישיות!

בשלב הבא, אנחנו צריכים להגדיר את Windows לבעוט את VM עובד שלנו ברגע שהמכונה לא היה פעיל. כדי לעשות זאת (ב-Windows XP) תצטרך ללכת התחל -> כל התוכניות -> עזרים -> כלי מערכת -> משימות מתוזמנות להלן:

משימות מתוזמנות

לחץ על הבא על "הוסף משימה מתוזמנת" ואחריו לגלוש להוסיף תוכנית מותאמת אישית. נווט התסריט VBoxManage שלך ​​ולחץ על אישור. לתזמן את המשימה על כל האופציות (נשנה את זה רגע) ולהמשיך. לאחר דילוג על המסך הבא Windows ישאל אותך מי אתה רוצה לנהל את המשימה, הייתי מציע גם "מנהל" או יצירת משתמש חסוי חדש. זכור שאנחנו לא רוצים להתערב בחשבון צוות רגיל במחשב בכל רגע. לחץ על הבא ולבדוק אפשרויות להראות מתקדמים עבור משימה זו.

עד סוף הטקסט להוסיף בטווח שלנו "startvm GridMachine" מחרוזת ולהבטיח כי בטווח רק כאשר מחובר נותר unticked. שלח את המשימה לוח הזמנים הבא ולשנות את לוח הזמנים הנפתחת אל האפשרות "כאשר פעיל ', לבחור את כמות הזמן שאתם רוצים כי המחשב יהיה פעיל לפני שעבר לכרטיסיה הבאה.

לבסוף untick אפשרות הקובע להפסיק את המשימה אם הוא כבר פועל כמות X של זמן, אבל אין סמן את האפשרות להפסיק את המשימה אם המכשיר כבר אינו פעיל.

לוח זמנים

זהו זה עבור ההתקנה של Windows המארח!

תקציר

בחלק זה הקמנו מכונה וירטואלית לפעול כעובד, כמו גם את האופן שבו אנו קוראים ולבצע עיבוד העבודה שלנו תסריטים (לעצמי סקריפט PHP). מכאן אנו מתבוננים כיצד להגדיר עותקים שלנו של Windows כדי להפעיל את מכונה וירטואלית במצב חסר ראש, כאשר המחשב הופך להיות לא פעיל, ולשמור למצבו כאשר המשתמש יתחדש השימוש של המכונה. יש לקוות בשלב זה אתה רואה כמה זה פשוט להקים מערכת כזו, והם גירוד לקבל כמה ניסויים הולך עצמך!

בפעם הבאה

ב חלק 4 נהיה מסתכל שימוש בכלים על מנת להבטיח כי אתה מפעיל את הגירסה האחרונה של המקורות קוד ונתונים, כך התוצאות המתקבלות הן תמיד up-to-date עם המידע העסקי העדכני ביותר ואת ההיגיון.

רשת המחשוב במשרד באמצעות סביבות וירטואליות - חלק 2

על ידי , יום שישי 4 דצמבר 2009 11:23

הקדמה

אני עובד בחברה שבה גמר עבודות אצווה רבים עיבוד מיליוני רשומות של נתונים מדי יום, חשבתי לאחרונה על כל מכונות יושבים בכל יום לעשות כלום במשך כמה שעות. האם לא יהיה זה טוב אם אנחנו יכולים להשתמש במכונות האלה כדי לחזק את כוח העיבוד של המערכות שלנו? במערכה זו של מאמרים אני מסתכל על היתרונות הפוטנציאליים של העסקת המשרד לרשת באמצעות סביבות וירטואליות.

ב חלק 1 נתתי סקירה כללית של מערכת טכנולוגיות אני יהיה להשתמש גם כפי שנדון כמה סיבות אפשריות למה אתה רוצה ליצור רשת Office.

עבודה ובקרה

אם אתה הולך לרוץ מקומות עבודה אז אתה הולך צריך קצת דרך לנהל אותם. השליטה תפקידך במערכת (בשרת העבודה שלך) צריך להיחשב ממש טוב לפני עוד ניסיון להפעיל רשת Office. אז ראשית, מה הן משימות עבור מערכת בקרת עבודה:

  • לחלק משרות, לבקשת העובדים
  • תגיד עובדים איזה סוג של עבודות לרוץ
  • מעקב אחר עבודות
  • להבטיח כי עבודות מנוהלים רק פעם אחת
  • לספק נתונים עבודה לעובדים, או לפחות אומר להם איפה ניתן לקבל אותו

המערכת גם צריכה להיות להרחבה, פתרון שעובד בינתיים במקרה אחד ניתן להאריך להריץ מספר סוגים של מקומות עבודה כעסק רואה שווה בפתרון הרשת. לדוגמה, מקומות עבודה יכול לקבל סדרי עדיפויות, יותר מסוג אחד העבודה יכולה להתקיים (כלומר מספר בסיסי קוד), בסופו של דבר אתה יכול אפילו להריץ מספר מכונות עובדים שונים כי הם אופטימיזציה עבור כל סוג של עבודה (אם כי אין להתרחק העובד גנרי "הרעיון). תמיד מנסה לחשוב על העתיד בעת פיתוח מערכות, ראייה לטווח קצר יכול להוביל לתסכול ארוך טווח זמן הפיתוח גדל.

שרת העבודה

אנחנו הולכים צריך מקום לשלוט עבודות שלנו, זה אמור להיות במערכת רק ברשת שלך, כי יש מאתר משאבים קבוע, להיות כתובת IP, שם המחשב המארח, כתובת האתר (שימוש פנימי DNS), וכו 'זה בגלל העובדים צריכים לדעת איפה לחפש עבודה, עובדים צריכים למצוא עבודה מלאה במערכת (לא מערכת בקרת למצוא עבודה לעובדים).

שרת העבודה עצמה לא ממש יש משימה מסובכת (במערכת בסיסית בכל אופן), זה צריך לאחסן רשימה של מקומות עבודה, מחלקים עבודות, לקבל תוצאות, ולאחר מכן לאחסן אותם אחזור מאוחר יותר. איך חלקים אלה ("יד ג'ובים" כגון) מוגדרים יכול להיות מאוד בסיסי. מאוחר יותר אנו יכולים להרחיב את המערכת לכלול ממשק הניהול להוסיף, לערוך, למחוק, להשעות את העבודות, אבל זה מעבר התרגיל הזה.

אין שום סיבה שהיא אז שרת העבודה שלך לא יכול להיות מפעיל וירטואלי בתוך השרת עיבוד הראשי בתנאי שזה לא לייבש יותר מדי משאבים ממנו. שרת העבודה עם זאת צריך זמינות גבוהה, אם הוא יורד ביום שישי בערב אתה הולך לאבד את כל סוף השבוע של עיבוד, באופן פוטנציאלי עולה לך כמה שבועות בשווי של זמן עיבוד (לעומת שרת עיבוד הראשי בלבד) . אולי כדאי לשקול לשים שרת העבודה שלך על הסביבה עומס מאוזן עבור זמינות גבוהה.

הגדרה בסיסית

The basic setup for our job server will consist of what I'm calling one of my LiMP servers (that is Li nux, m ySql, P HP). The code running on the workers will actually work out what jobs it can run by interacting with with job control system databases. Later on we could create a web service and actually hand out jobs rather than having the workers do the hard work themselves, but for now we'll continue using the KISS principle (Keep it Simple, Stupid!).

So, lets create three mySQL tables to deal with jobs. These will be `jobs`, `jobRecords`, and `jobResults`.

jobs table Here I'm using SQL Buddy a great little alternative to phpMyAdmin just because its easier to install on centOS (for others see: 10 Great alternatives to phpMyAdmin )

This table consists of 5 simple fields,

  • id: Uniquely identify the job
  • name: Could be a client reference, or any number of other identifiers
  • Status: You need to know where the job is at, eg
    • 0: Not started
    • 1: Picked up
    • 2: Completed
  • started_by: Who's started doing the job? This isn't entirely required but is a nice to have. I'd suggest tracking workers by their IP address on your network
  • started_at: When did the worker start the job? By tracking jobs that have not completed within X amount of time we know we need to pick up the job once again and start processing by another worker. Workers could stop processing/go offline for any number of reasons, power failure, crash, network loss, etc.

It is easy how this table could be extended with a few additional fields to allow for statistics tracking, a finish time column to see how long the job took, a counter to see how many workers picked up the job (obviously this needs to tend to 1), job priority, the list can go on and on. In more complex job scenarios it would be possible to specify how much memory the worker would need access to (and therefore only use suitable workers), or even what type of worker would be required.

Lets add a few example jobs:

example jobs

הטבלה הבאה שוב הוא די פשוט להבין, אלה הם נתוני עבודות שלנו. הם קשורים לשולחן עבודות העיקרי של טור `jobs_id`. להפוך את השולחן זה מאוד תלוי את הנתונים שאתה צריך לספק לעובדים שלכם, מאפשר להפוך דוגמה פשוטה מאוד, שם יש לנו ארבעה עמודים:

  • מק"ט: ID של הרשומה
  • השם: שמו של אדם
  • כתובת: כתובת של איש
  • jobs_id: מזהה את העבודה כי זה שיא קשור

הטבלה השלישי והאחרון מורכב בטבלת התוצאות, יש לו דומה לפצות כמו השולחן שלנו רשומות, ועם תוספת של כמה עמודות יכול להיות חלק של הטבלה תקליטים:

  • job_record_id: קישור תוצאה לשולחן העבודה
  • התוצאה: הנתונים התוצאה

... וזה כל מה שאתה צריך עבור עבודה! (אם כי ברמה בסיסית מאוד) במקרה שלי אני הצביע על שולחן אחר שבו הנתונים שלי לתהליך נמצא, אבל זה יכול היה באותה קלות הקובץ, הפרמטרים להפעיל קוד סימולציה, מה שתרצו.

בחירת עבודה

כאמור, העובדים יעשו וניהול העבודה שלנו אצלנו עכשיו, אז כל מה שאנחנו צריכים באמת לעשות זה למצוא עבודה, כי צריך עיבוד ולקבל את המידע. איך היינו עושים את זה? ובכן לבחור בחירה העבודה שלנו קריטריונים ולחפש עבודה, ב-SQL עשיתי את הפעולות הבאות:

  1. קח לאף משרה שאינם מסומנים מלאה אלא עובד שלנו לאפס אותם (תחליף ME__ __ עם מזהה, הקלה ביותר תהיה כתובת ה-IP):
      עדכון ג `עבודות` סט `מצב` = 0 WHERE `מצב` ו `= 1 started_by '= __ ME__; 
  2. באמצעות הבחירה שלנו עבודה קריטריונים, בחר את העבודה ולספר מערכת בקרת שהעובד הזה היא להתמודד עם זה:
      עדכון ג `עבודות` סט `מצב` = 1 `,` started_by = __ ME__, `started_at` = NOW () WHERE `מצב` = 0 או
     (`מצב` ו `= 1 started_at`> DATE_SUB (NOW (), שעה מרווח X)) ORDER BY `id` ASC; 

    מקומות עבודה על ידי גרירה שלא חזרו תוצאות בסכום X זמן אנו מבטיחים כי כל העבודות מנוהלות במקרה של עובד מתרסק או הנפקדות.

  3. לאחר מכן לתפוס את משרות פרטים ואחריו את הרשומות עצמם:
      SELECT * FROM `עבודות` WHERE `started_by '= __ ME__ LIMIT 1;
     SELECT * FROM `job_records` WHERE `id` = __ JOBID__; 

עם סיום העבודה אנו להוסיף רשומות התוצאות שלנו ולסמן את העבודה הושלמה. זכור כמקום עבודה יכולים להשעות / לחדש בכל עת לאפשר חוסן חלק בתסריט. זה יכול להיות שהמשימה משהה בחצי הדרך לעדכן את מערכת בקרת עבודה, אז בודקים את מספר הרשומות בעבודה ואת מספר התוצאות שנשמרו חזרה למערכת הבקרה העבודה תהיה צעד נבון.

בנוסף, בעוד זה מדגים כיצד ניתן לבחור עבודות והצליח ממסגרת SQL, השאילתה אתה צריך באמת להיות הפשטה מלאה העבודה שלך, כך שאם אתם מחליטים לעבור באמצעות שירות אינטרנט, מערכת קבצים המבוססת על XML , או אחרת מספר מערכות זה לא ישפיע על קוד מעליה.

תצורת העבודה

ההיבט הבא הוא לשקול גודל העבודה ותצורה. על ידי משחק עם הגדרות התפקיד ניתן על איזון מעולה בין מהירות, שכפול התהליך, ואמינות. קח כמה תרחישים of הזוג:

  1. משרות לקחת 1 כל יום לרוץ: משמעות הדבר היא כי העובדים שלך צריך 15 ימים כדי לעבד את כל העבודה (זוכרים 10% מכוח עבור 2/3rds של זמן). זה בבירור לא תצורה חכם, גודל התפקיד שלך הוא גדול מדי! זה היה לוקח לפחות כפול זמן כדי לקבל את העבודה מעובד לעובד הראשוני צריך ללכת נפקד (זמן להרים את זה כי לא חזר התוצאה בתוספת הזמן עיבוד מחדש). באידיאל שיהיה לך לפחות 1 משרה מלאה פינה בקלות עד סוף כל תקופה המתנה ארוכה, כך אתה שומר את העבודות מתקתקות על ובמקרה הרע במקרה העבודה היה לוקח יומיים לתהליך 1 צריך ללכת חסר.
  2. משרות לקחת 1 דקה לרוץ: משמעות הדבר היא כי העובדים שלך לוקח בערך 15 דקות כדי להפעיל את כל העבודה. בעוד בתחילה זה עשוי להיראות אידיאלי, אתה מקבל עיבוד עבודה נוספת במהלך זמן ארוחת הצהריים, הפסקות קפה, פגישות, וכו 'בתרחיש זה מכניס למתח על תחומים אחרים של המערכת ומציג בעיות משלה. לדוגמה, ראשית יחס התקנה / עיבוד שלך הזמן הוא הולך ישר, ולכן מאבד את יעילות המערכת. הרשת יהיה מידע כל הזמן זרימת עבודה לצוות עובדים שונים מתסכל שהם דונג יום שלהם לעבודת יום. אתה גם הולך לשים את הלחץ יותר על השרת שלך עבודה עיבוד כפי שהוא צריך לחלק אוכל המון המון חתיכות קטנות של עבודה על בסיס קבוע. לבסוף, במצב זה אם שרת העבודה שלך יורד שאתה הולך ליצור יומן בחזרה עצום של עבודות שלא הושלמו ואילו עבודות גדולות יותר יכול המשיכה של עיבוד מאושרים ולא שיערו כי שרת העבודה חווה קשיים.

במציאות לא תהיה תצורת אידיאלי 1 להתקנה ברשת שלך, הרבה תלוי את המשאבים הזמינים, סוגי עבודה, אספקה ​​דרישות התפקיד זמן, יכולת הרשת, וכן הלאה. עם זאת כמה קווים מנחים יהיה:

  • משרות גודל כך כל עובד יכול לעבור לפחות 3-4 מקומות עבודה בתקופה של 15 שעות (זמן רב תקופת המתנה סביר)
  • לשחק עם גודל העבודה כך זמן ההתקנה הופך זניח למדי לעומת זמן עיבוד (אם נזכור את הנקודה לעיל).
  • אם העבודה לא הושלמה בסכום כפול של זמן (אולי פחות) אתה מצפה להשלים אותה להניח כי נפקד הלך שלה להתחיל לעבד אותו עם עובד נוסף. זה אומר שאתה יכול לחכות עד אורך שלוש פעמים הרגיל של העבודה על זה כדי להשלים (אולי יותר, אם את העבודה לאחר מכן נכשל). אולי כדאי לצמצם את הזמן הזה, אבל להיזהר שלא להפחית את זה כמה שאתה יכול להתחיל לשכפל משימות עיבוד על בסיס קבוע.
  • משרות אמורה להיות בלתי תלויה בדרישות מחוץ ככל שניתן. שרת העבודה, למשל, צריך רק ליצור קשר עם ההתחלה והסיום של כל עבודה.
  • אל להרוות את הרשת, זה יהיו שתי השפעות שליליות, צוות בשעות היום שלך תמצא באמצעות רשת מתסכל בעיות יכול להיות מנוסה עם קשרים תזמון את הבעיה רק ​​יחמיר כפי שאתה בסדר גודל הרשת שלך.
  • להבטיח מקומות עבודה יכול לרוץ על העובדים שלך. אם עבודות להיות גם זיכרון עבודות שטח אינטנסיבית או דיסק אינטנסיבית יתחיל להפיל והדבר היחיד תבחין היא ירידה במספר מקומות עבודה מעובדים עם בלי שום סיבה אמיתית מדוע.

תוצאות הגשת עבודה

בעת הגשת את התוצאות של העבודה חשוב לבדוק כי התוצאות לא הוגשו על ידי עובד אחר, במיוחד אם העובד הנוכחי היה רדום במשך זמן מה.

כאשר תוצאות מוגשים להבטיח כי מספר התוצאות תואם את מספר הרשומות בתוך העבודה.

כאמור, לא יכול להיות מעל הדגיש, לבנות עמידות בפני תקלות לתוך אחזור העבודה והגשת תוצאות. העובדים יכולים (וכנראה יהיה) להיכנס למצב השהיה בבית נוח ביותר של פעמים וזה צריך להיות מובאים בחשבון. כמו כן שוב לפשט משם הגשת התוצאות שלך יעזור לספק את השינויים הבאים אל המערכת שלך מלאה עבודה הרבה יותר קל להתמודד איתו.

תקציר

ב section זו אנו בחנו מה שרת השליטה עבודה צריך לעשות ואיך לקבל מערכת בסיסית מאוד להגדיר. דיברנו על איך לשחזר את העבודה ממערכת מלאה מהי הדרך הטובה ביותר להגדיר מקומות עבודה כדי לקבל ביותר של המערכת במשרד הרשת. לסיום, פסקה או שתיים על הגשת תוצאות בחזרה לשרת השליטה העבודה הוצגה.

  • שרת השליטה עבודה מנהלת מקומות עבודה מבטיח כי כל יחידות העבודה הושלמו
  • על ידי לפשט את העבודה שלך לבחור / תוצאות הגשת אנחנו יכולים לשנות את הטכנולוגיה של שרת שליטה ללא בעיות הרבה
  • להגדיר עבודות שלך כדי לוודא שהם מתנהלים במהירות וביעילות, ללא הפעלת לחץ רב מדי על תשתית הרשת שלך, בלי לשכפל משימות עיבוד על בסיס קבוע.
  • ודא כי אתה בונה עמידות בפני תקלות ו checking שגיאה לשגרת החיים, עובדים יכולים להשעות ולחדש את נוח ביותר של פעמים. זכרו לבדוק אם התוצאות כבר הוגשו על ידי עובד אחר.

בפעם הבאה

ב חלק 3 ניצור מכונה לעיבוד הוירטואלית שלנו להגדיר מכונות החלונות שלנו להיות פעיל במשרה עובדים.

Zend Framework: יסודות - סקירה

על ידי , יום שבת 28 נובמבר 2009 22:42

המעסיק שלי שילם לאחרונה קבוצה של מפתחים לנו לקחת את המסגרת Zend: יסודות הקורס, כאן אני לסכם את מחשבותי וחוות דעת על מסלול לאחרים. עבור אלו שרוצים לחסוך זמן, הנה סיכום שלי:

עבור מפתחים שלא היה להם זמן להסתכל על המסגרת Zend את הקורס הזה (Zend Framework: יסודות) מציע תמונה כללית טובה של מסגרת מציגים בפניך את תחומי מפתח ולתת מספיק מידע כדי להמשיך. עבור אלו שבילו זמן להסתכל במסגרת ויש להם בעקבות אחד או שניים הדרכות הקורס אינו מציע הרבה מעבר.

רקע

הייתי PHP מפתח במשך כ 5-6 שנים, החלו לעבוד עם Zend Framework על בסיס מרכיב במהלך 6 החודשים האחרונים. פיתחתי ו / או היה מפתח על כמה קטנה Zend Framework MVC sites. אני אהיה כנה, לא היה לי כמות עצומה של חשיפה במסגרות אחרות מנקודת מבט קידוד אבל ביליתי כמה שעות לחקור אתרים הפרויקט והערכת them. במסגרת והקהילה הסובבת Zend Framework זה מרגש למדי, נראה שיש אפשרויות ענק שבו שלה הולך.

על הקורס

הקורס מועבר על 9 שעות שני מפגשים WebEx (עם הפסקה של 10 דקות באמצע). הזמן הוא בילה עובר סדרה של שקופיות הניתנים על ידי Zend בדיון בכל עת. ניתן להשתמש במיקרופון כדי לדבר עם המורה, אבל למען האמת לא ראיתי אף אחד להשתמש בכל מה יותר חלון הצ'אט. בנוסף מכונת Ubuntu VMWare מסופק כי יש קוד למשל פרויקטים להגדיר גירסת ניסיון של Zend Studio. המנהיג הקורס מדבר עם המשתתפים גם על פתרון משולב VoIP, או שאתה יכול לחייג באמצעות אחד חיוג רבים ברחבי העולם במספרים.

במהלך החומר מורכב סקירה קצרה של המסגרת ואת תבנית MVC לפני הכותרת לתוך היישום מדגם בספר האורחים. הדיון הפגינו המנוף, Zend_Application, טבלאות DB, גישה למסד הנתונים, טפסים, סינון, ACL, אימות, וכו 'וכו' למעשה מכסה את כל הנושאים שאת זקוקה להם כדי לאתר את בסיסי הזמן פועל בכל נותן לך את הכלים ללכת להביא מתקדם יותר במסגרת (אם כי זה לא כמות "לראות באתר" זמן רב).

זמן ניתן לקודד כמה דוגמאות, כדי לפתח את "ספר אורחים" ויישום פשוט "ויקי". באופן אישי אני חש כי מתן קוד או בכל אפליקציה ואז מבקשים מאיתנו לפתח את מה שהיה למעשה העתק לצד לא ממש מספקים חווית למידה טובה. הייתי מעדיף לפתח יישומים דומים, אך לא זהים. ליישום למשל עם יתרון שיש מדריך להתייחס. לחילופין לבנות את היישומים מהתחלה עם מפגין היה של LED ואולי עוד שאלות על למה ואיך, ובכך להבין טוב יותר את המסגרת, אחרי הכל אתה יכול לחפש פרטים לאחר הקורס.

ההרצאה האחרונה כללה עובדים על יישום wiki בעזרת / הדרכה ממדריך. לאחר המשוב כמובן נלקח, הוא הדגיש כמה פעמים את המסלול כי Zend לוקח משוב ברצינות, למעשה ככל הנראה הגרסה שלנו כמובן היה חדש לגמרי. כמה מפתחים אחרים בחברה יהיה לקחת את הקורס בקרוב אז זה יהיה מעניין לראות אם זה לא קרה.

הסגנון כמובן היתה לא רשמית, מותר על המשוב ושיתוף פעולה בין המשתתפים לבין המדריך. מנהיג כמובן היה ידידותי, נגיש (כתובות דוא"ל שותפו לשאלות), ותוך מצגת השקופיות שלו היה קצת רעוע נראה כשיר לחלוטין במסגרת. הוא היה ברור מי משמש את המסגרת על בסיס קבוע ולא מישהו לימד ללמד את הקורס, אהבתי את החוויה "העולם האמיתי" מבחינה זו.

בסך הכל מרגיש

במובנים מסוימים מצאתי כמובן בזבוז זמן, אצל אחרים זה היה מאוד נוח. יש לקוות אני אביא סיבות שלי על פני בבירור, ואולי לתת קצת אוכל על המשוב מחשבה או שימושי (לדעת לי את זה לא סביר!).

על עצמי קורס זה נועד ברמה נמוכה מדי. אחרי שעבר את מדריך התחלה מהירה, קרא Zend Framework של רוב אלן בפעולה, ועבד עם המסגרת הקטנה לא ממש מקבל שום דבר יותר מדי. הייתי על אהבה כמובן להרים מסוף התחלה מהירה ולפתח מיומנויות נוספות.

עם זאת, הכותרת כמובן עושה המדינה באופן ברור "Zend Framework: יסודות" ו בהיבט זה כמובן משיג מה שהוא יוצא לעשות. חברים נוספים בצוות הפיתוח שלא העביר את הזמן בחיפוש במסגרת גמר כל פגישה בהתלהבות ושאל שאלות שהיה ממש נחמד לראות.

הכל לא הלך לאיבוד, זה היה טוב לבלות המאשר את הפרטים הבסיסיים של המסגרת ולקבל לשאול כמה שאלות באזורים בהם לא היה 100%. זה היה גם הזמן שאני צריך לשבת כל היום ולחשוב על קידוד באמצעות פרויקטים מסגרת בעתיד, משהו שאני כבר לא של מסוגל לעשות אחרת (אתם יכולים לדמיין את החברה שלך מסכימה לזה? :)). אחרון חביב אתה גם מקבל תעודת נחמד Zend לומר שאתה למד את הקורס (גם אם באמצעות דואר אלקטרוני).

Zend Framework אישור

זו היתה שאלה אחת, כי כל הזמן באים על הדעת במהלך, זה היה להכין אותי הסמכה? מהירה, קלה היא לא באלף רבתי. מדריך הקורס היה ברור לגמרי על זה עם עצה נוספת לאישור אתה באמת צריך להיות באמצעות מסגרת ביום בסיס יום ומרגישים מאוד נוח ובטוח בשימוש שלה מתודולוגיות.

תקציר

לאור כל מה שכתבתי לעיל, אני לסכם את הכל בשתי נקודות כדור קל:

  • חדש Zend Framework: קורס זה עושה בדיוק מה שאתה מצפה, זה נותן לך הקדמה יפה למסגרת ו הארקה טובה על יסודות שממנו ניתן לבנות. כמובן נראה ליצור עניין והתלהבות למסגרת בקרב מפתחים.
  • משמש מסגרת Zend: למרות שזה היה נחמד לתמוך כמה עקרונות בסיסיים מאוד הרגשתי את המאמץ, הזמן, קרנות לקחת את הקורס יכול של הושקעו טוב יותר במקום אחר. זה יהיה נחמד see Zend ליצור קורס חדש ברמה גבוהה יותר לקחת למפתחים לשלב הבא. - לפחות ברמה של הסמכה ומעבר בשביל זה הייתי להירשם מיד.

בריטניה שמות Directory ו-Facebook Application

על ידי , יום שישי 10 אפריל 2009 09:33 בבוקר

One of the fun things I've been involved in whilst working for Tracesmart is the names directory . Basically we took our huge information database and pulled out a big pile of stats about various names.

The process is all one big SEO effort in order to draw more traffic to the site, but it also provides some interesting information and name statistics.

Here's an example for my name Lloyd Watkin , or I suppose more correctly Steven Watkin . Take a minute to look up your name on the Tracesmart site, might be interesting ;)

We've also got names statistics data on the names directory page which tells you what names have been searched and how recently. Its quite interesting to see famous people's names fly up the stats when they appear in the news. A recent example is that of Liam Neeson who's wife died from a skiing accident recently, although obviously people aren't quite right on the spelling (hence the huge numbers of hits on this name) — Liam Nilson .

Facebook Application

Once the names directory was created we set about creating a facebook application which we duely named ' My Name '. The facebook application is an extension of the names directory and provides some additional statistics. In order to add the names directory to your facebook account please visit:

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













פנורמה נושאים על ידי Themocracy

4 מבקרים מקוון עכשיו
2 אורחים, 2 בוטים, 0 משתמשים
מקס מבקרים היום: 11 בשעה 01:15 בבוקר UTC
החודש: 40 23-05-2012 בשעה 03:33 בבוקר UTC
השנה: 69 ב 27-02-2012 9:56 בבוקר UTC
כל הזמן: 130 ב 28-03-2011 10:40 UTC