ANTI-PATTERNS

16 בפברואר 2014

Anti-pattern הוא משהו שנראה כרעיון טוב, אבל הופך לחרב פיפיות כאשר זה מיושם. (ג’ים קופלין) לצד ערוגת תבניות העיצוב החשובות והטובות, צומחים להם גם עשבים שוטים הידועים בשמם: Anti-Patters. להלן מצעד עשרת הגדולים (בתרגום חופשי מרחבי הרשת): 1. Fetish (עדיף לא לתרגם...) – משתמש אובססיבי בתבניות עיצוב ללא סיבה אמיתית ובצורה מופרזת. תוכנית Hello World עשויה לכלול – Singelton, Abstract Factory ו Null Object (ליתר ביטחון). 2. אולר שוויצרי – מקרה שבו יש יותר אינטרפייסים מאשר קלאסים. כמו כן כמות האינטרפייסים על כל קלאס יוצרת תחושה חריפה של סחרחורת... ועל זה נאמר: "כל המוסיף – גורע". 3. אפוקליפסה עכשיו (או מחר) – כל עיצוב התוכנה...
3 תגובות

JOIN בין טבלאות המגיעות מ SQLite

9 בפברואר 2014

בעבודה עם טבלאות SQLite, כמו בעבודה מול כל Collection, הנטייה המיידית היא לעבוד בעזרת Linq. למשל: var res = (DbCon.Table<Items>().FirstOrDefault(c => c.itemid.Equals("index"))); הכל טוב ויפה עד שמגיע הצורך בJOIN בין טבלאות. אם נכתוב קוד כזה: var res = (from Data in dataCon join item in items on Data.text_data_key equals item.data_key where item.id == "MyId" ...
תגיות: , , ,
אין תגובות

ניטור מידע ב Azure Storage Account

5 בפברואר 2014

לאחר שהתחלנו להתנסות בעבודה עם Storage Account על מרכיביו השונים (Table, Queue, Blob), נרצה כמובן לדעת מה קורה שם.... איזה קבצים נמצאים לי באחסון, האם יש לי משימות מעניינות וכו'. זה מידע שרלוונטי גם לנו בשלבי הפיתוח ורלוונטי מאוד ללקוח שלנו שלא יודע לפתח תוכנה, אבל בהחלט יודע מה הוא מצפה שיקרה. בשני המקרים הפיתרון פשוט: למפתחים: בVisual Studio הולכים לServer Explorer:   מתחברים לחשבון האחסון שלנו (קליק ימני + Add New Storage Account) – ופשוט רואים את ההתנהלות. לקליינט: יש כל מיני כלים שניתן להוריד מהאינטרנט (חפשו בגוגל Azure Storage Explorer). הנה אחד נחמד שהתנסיתי...
תגובה אחת

קבצי BLOB ב AZURE

2 בפברואר 2014

החלק הכי ''כבד'' באחסון שבענן הוא ה BLOB – מדובר על אחסון ממשי של קבצים שניתן להעלות ולהוריד אותם דרך האפליקציה שלנו. מבחינת הקוד הנושא דומה למדי לעבודה מול QUEUE ומול TABLE. צריך ליצור חשבון אחסון דרך הפורטל (Storage) ודרכו פונים בקוד ויוצרים פניה לBLOB. CloudBlobClient blobClient = _storageAccount.CreateCloudBlobClient(); CloudBlobContainer _blobContainer = blobClient.GetContainerReference(ClientName); _blobContainer.CreateIfNotExist(); כך נוצר Container שמכיל את הבלובים שלנו. אם נרצה להעלות קובץ לבלוב נמיר את הקובץ ל Stream (הBLOB כשמו כן הוא – עובד עם קבצים בינאריים) ואת ה Stream נעלה לענן. CloudBlob blob = _blobContainer.GetBlobReference("Somthings"); blob.UploadFromStream(stream); באותו האופן אם נרצה לקרוא מה BLOB קובץ ניצור Stream Memory ונוריד אליו את ה BLOB blob = _blobContainer.GetBlobReference("BlobAbsolutePath"); stream =...
תגיות: , ,
אין תגובות