RediSql–קליינט לעבודה מול Redis מ- SQL Server

12 בNovember 2015

אמ’לק: RediSql הוא קליינט אופן-סורסי חדש שזמין כעת, המאפשר עבודה מול דטאבייס Redis מ- T-SQL (כלומר, מ-SQL Server). להורדה והוראות התקנה. מה זה Redis? Redis הוא שרת in-memory database, המאפשר לאכסן מידע בתצורה של key-value pairs. מדובר בשרת מאד פופולרי, בעל ביצועים גבוהים, פשוט להתקנה ולשימוש. השימושים של Redis מגוונים, ויכולים לנוע בתרחישי שימוש רבים הנעים מ-caching (שימוש מאד פופולרי ב- Redis) ועד למנגנוני pub/sub פשוטים שדורשים ביצועים גבוהים. ההתקנה של Redis פשוטה מאד (הגרסא הרשמית היא רק למערכות *nix, אבל יש גם גרסא ל-Windows). ל- Redis יש מגוון קליינטים אבל עד עתה לא היה ל- SQL Server (שמאפשר לעבוד עם Redis...
תגיות: , , ,
2 תגובות

ASP.NET WebMatrix ו- ASP.NET Web Pages בכפית של זהב

7 בJuly 2010

מיקרוסופט הודיעה היום על השקת ASP.NET WebMatrix – סביבת פיתוח וריצה חדשה לאתרי אינטרנט. כמובן שיש מ-ל-א פוסטים בנושא, והמטרה בפוסט הזה היא לסכם את הנקודות העיקריות במקום אחד ובנוחות. ASP.NET WebMatrix הוא מוצר די גדול, שמורכב משני חלקים עיקריים: החלק הראשון, הוא סביבת הריצה עצמה. החלק השני, הוא סביבת הפיתוח (שאמנם מומלצת לשימוש, אבל לא חובה לשימוש). סביבת הריצה של ASP.NET WebMatrix סביבת הריצה של ASP.NET WebMatrix מורכבת ממספר חלקים עיקריים: ASP.NET Web Pages דרך חדשה לפיתוח אפליקציות ASP.NET ששונה משמעותית מ ASP.NET WebForms הוותיקה וגם מ ASP.NET MVC הצעירה. מדובר בפיתוח...
תגיות: , , ,
תגובה אחת

הרצאה: איך להרוס את Windows 7?

19 בApril 2010

ב 28.03 העברתי הרצאה בכנס של סטארטאפסידס בנושא “איך להרוס את Windows 7”. רוב קוראי הבלוג הזה בטח יודעים שבד”כ אני מפתח בטכנולוגיות מיקרוסופט, ובכלל די מפרגן למוצרי מיקרוסופט. אבל מה לעשות – לפעמים להרוס מוצר מעניין לא פחות מלפתח אליו :-) בהרצאה יש כמה דרכים רציניות (וגם כמה הומוריסטיות, בהתחלה) לאיך להרוס Windows 7 (כמובן שבאמצעות קצת רצון טוב ודיסק התקנה של Windows 7, ניתן לפתור הכל) בין השאר – הסרת Windows מרשימת האתחול של Windows, פגיעה בקבצי מערכת ועוד כמה שיטות נחמדות. האורך של ההרצאה זה 14 דקות. לצפייה ביוטיוב (מומלץ לצפות ב HD ובמסך...
2 תגובות

לייצא טבלאות מה DB, כולל סכמה ונתונים מהאפליקציה באמצעות SMO

2 בMarch 2010

מה זה SMO? SMO, ר”ת של SQL Server Management Object, זה אוסך של אובייקטים החושפים פונקציונאליות של ניהול שרת SQL Server על רכיביו השונים ובכל הרמות (ניהול שרת, ניהול דטאבייסים, ניהול הרכיבים בדטאבייס מסויים וכו’). מדובר, למעשה, במקבילה דוט.נט-ית לרכיב שידוע בשם SQL-DMO (עוד ד”ת - SQL Distributed Management Objects). האסמבליס (קבצי הDLL) של SMO נמצאים בנתיב C:\Program Files\Microsoft SQL Server\100\SDK\Assemblies\Microsoft.SqlServer.Smo.dll (מדובר בקבצים של SQL SERVER 2008, כאשר c:\Program Files זה כמובן תיקיית האפליקציות שלכם). המטרה המטרה בפוסט זה...
תגיות: , , , ,
אין תגובות

טיפ קצר: למה כשעושים Average על עמודה ב DB מקבלים ממוצע שלם, גם כשהתוצאה אמורה להיות עשרונית?

9 בNovember 2009

נניח שיש לכם טבלה, עם עמודה הכוללת מספרים שלמים (int).באפליקציה שלכם, שלצורך העניין, משתמשת נניח ב LINQ to SQL או ADO.NET Entity Framework, אתם רוצים לקבל את הממוצע של העמודה הזאת. אתם אומרים לעצמכם שזה לא אמור להיות מורכב בכלל. יש Extension Method לאגרגרציה של נתונים, אחת מהם היא Average. אתם כותבים אפליקציה פשוטה שמריצה אותה ואמורה לעשות את הממוצע של המספרים 1,1,2. התוצאה המצופה היא אחד ושליש. אתם מקבלים אחד. למה? ההסבר פשוט מאד: משפט ה SQL שנוצר כתוצאה משימוש ב Average משתמש בפונקציית T-SQL בשם AVG....
3 תגובות

גרסא חדשה: DTOGenerator – מחולל קוד המייצר Data Transfer Objects על בסיס LINQ to SQL Data Classes ו ADO.NET Entity Framework Model

30 בSeptember 2009

בפוסט הקודם הצגתי את LINQ2DQLDTOCreator, אפליקציה קטנה שמייצרת Data Transfer Objects על בסיס LINQ to SQL Data Classes. היום ביצעתי קצת שיפורים באפליקציה והרחבתי אותה כך שהיא תייצר DTO’s גם ממודל של ADO.NET Entity Framework. האפליקציה הנוכחית כוללת את כל היכולות של האפליקציה הקודמת. כלומר, עדיין ניתן לייצר DTO’s על בסיס LINQ to SQL Data Classes. אבל, עכשיו האפליקציה גם תייצר DTO’s על בסיס entities, כלומר מחלקות עם EdmEntityTypeAttribute. בנוסף, כאשר עובדים מול ADO.NET Entity Framework האפליקציה גם מתייחסת ל relationships בין entities שונים. כלומר, אם במודל מוגדר של entityיש...

פרסום: אפליקציית קוד פתוח קטנה ושימושית ליצירת Data Transfer Objects באופן אוטומטי על בסיס LINQ to SQL Data Classes

22 בSeptember 2009

הקדמה באחד הפוסטים הקודמים כתבתי על Data Transfer Objects והשימוש בהם לעבודה נכונה ונוחה עם LINQ to SQL ו- ADO.NET Entity Framework. בין התגובות שקיבלתי בפורום “תכנות .NET” בתפוז שבתגובה לשאלה שעלתה בו פורסם הפוסט, עלה העניין שלמרות שמדובר בכתיבה יותר נוחה, היא דורשת למעשה עבודה כפולה בהתחלה, וגם ציינתי זאת בפוסט. כשמתחילים לכתוב, יש צורך לכתוב DTO נפרד לכל אחת מהישויות עם תחילת העבודה, וגם בד”כ לכתוב מתודות שמבצעות העברה בין הDTO לאובייקט שנמצא ב DAL (האובייקט שמופה ע”י הORM) ולהיפך – לכתוב מתודה שמחזירה את...
2 תגובות

טיפ קצר: ייצוא מלא של הנתונים ב DB כולל סכמה ונתונים

17 בSeptember 2009

אפשרות חמודה שקיימת ב SQL Manegment Studio 2008 היא להגדיר לאופציית ה” GEnerate Scripts” של הדטאבייס גם לייצא את הנתונים (כלומר, לייצר משפטי INSERT לטבלאות). האפשרות הזאת לא קיימת בגרסא 2005 (יש Generate Scripts – אין Data – כלומר שלמדתי על בשרי כשלא הבנתי לאן נעלמה האפשרות), אבל אין שום מגבלה על התקנה ושימוש ב Management Studio 2008 גם מול instance של SQL Server 2005. השימוש העיקרי של האפשרות הזאת, הוא העברת מידע משרתי הפיתוח לפרודקשן כאשר רוצים להעביר טבלאות חדשות מסויימות או אובייקטים חדשים מסויימים בקלות. אפשר גם להעביר...
תגיות: , , ,
אין תגובות

טיפ קצר: גישה ל Controls הנמצאים ב FooterTemplate של Repeater

16 בSeptember 2009

בעקבות שאלה שקיבלתי, כמה מילים על FooterTemplate ב Repeater: ה FooterTemplate מאפשר לקבוע תבנית עיצובית שתופיע בתחתית ה Repeater לאחר כל ה DataBound Items. ניתן, כמובן, כמו כל מקום, לשלב שם כל Control שאתם רוצים. וכעת, לשאלה – איך ניגשים אליהם בלי להשתמש באף אחד מה events של ה Repeater? קצת מגושם, לא מורכב. בדוגמא הזאת, נניח של Repeater קוראים rpSample, ל control שאחנו מחפשים קוראים calDate והוא מהסוג Calendar. ככה הקוד ייראה:   ...
תגיות: , ,
אין תגובות

טיפ לעבודה מול LINQ to SQL ו- ADO.NET Entity Framework: שימוש ב FactoryMethod כדי לקבל מופע של ה DataContext או ה Entities

13 בSeptember 2009

כשעובדים מול LINQ to SQL או ADO.NET Entities Framework, אנחנו עובדים הרבה מאד מול אובייקט ה DataContext / Entities. דוגמא מאד נפוצה בדוגמאות ובמדריכים של הטכנולוגיות הללו היא ליצור מופע של המודל בכל מתודה וכל פעם שמשתמשים בו. למשל: 1: public static void Method1() 2: { 3: using (var data = new DataClassesDataContext()) ...
תגובה אחת