Authentication and Ajax

22 בינואר 2015

לקוח תיאר לי את הבעייה הבאה, “יש לי אתר שעובד ב – forms authentication, וה – timeout מוגדר עשרים דקות (ברירת המחדל היא 30), כמובן שבצורה אוטומטית ברגע שהמשתמש לוחץ על לחצן הפונה לשרת, לאחר שהזמן תם, הוא מועבר לדף הלוגין. לאחרונה עברנו לעבודה עם ajax, תוך שימוש ב – angular ו – singal page application, מה שקורה שברגע שהמשתמש לוחץ על לחצן (שעכשיו עושה פניית ajax) במידה שעברו ה – 20 דקות, התשובה מהשרת היא דף ה – html של הלוגין – אבל המשתמש לא רואה כלום, מכיוון שלא חזרה תשובת אין הרשאות לדפדפן” הבעייה שלו היא די...
תגיות: , , , ,
אין תגובות

Basic (or advance) Javascript – 2

1 בינואר 2015

בהמשך לפוסטים על Advance JS שאני לא בטוח האם זה Basic או Advance, הפעם אכתוב על שמות לפונקציות. (הרעיון לפוסטים ורוב הדוגמאות מגיעות מכאן)   לכולם די ברור שהקריאה לפונקציה היא לפי השם שלה, וכמובן ניתן לכתוב קוד רקורסיבי, לדוגמא חישוב הפקטור של מספר יכול להיראות כך: Code Snippet function factorial(num) {    // If the number is less than 0, reject it.    if (num < 0) {        return -1;    }        // If the number is 0, its factorial is 1.    else if (num == 0) {        return 1;    }        // Otherwise, call this recursive procedure again.   ...
אין תגובות

Basic (or advance) Javascript – 1

30 בדצמבר 2014

לאחרונה העברתי שיעור על Advance Javascript, במהלך השיעור, לא הייתי סגור על עצמי האם הכותרת של Advance JS היא נכונה, או שבעצם אני מלמד Basic JS ופשוט אנשים בדרך כלל לא יודעים את החומר הנ”ל. אז אני אכתוב על הנושא – מדובר בפוסטים קצרצרים אשר יאירו נקודות שונות בנושא. הגדרת פונקציות הדבר הבסיסי ביותר ב – JS היא הגדרת פונקציות, ישנם שלושה דרכים להגדרת פונקציות: Code Snippet function MyFunction1() {    return "MyFunction 1";}var MyFunction2 = function () {    return "MyFunction 2";};window.MyFunction3 = function () {    return "MyFunction 3";}; מה ההבדל ביניהם, והאם הסדר משנה, כלומר האם נוכל...
אין תגובות

AngularJS – todolist

22 בדצמבר 2014

בפוסט זה נלמד מספר דברים בסייסים על עבודה עם אנגולר,  הפוסט יציג דוגמה לניהול רשימת משימות (todo list) עם היכולות הבאות: רשימת המשימות תגיע ב – ajax מהשרת. כל משימה יש לה טקסט והאם היא בוצעה. ניתן להוסיף משימות חדשות. ניתן לסמן האם המשימה בוצעה או לא. ניתן להסתיר את המשימות שבוצעו. המשימות יהיו מסודרים ברשימה ממויינת. הדמו עצמו נלקח חלקית מהאתר של angular וברובו מתוך הספר (המדהים) Pro AngularJS. חשוב לציין העיצוב בדוגמאות הבאות מבוססות Bootstrap, ואני לא מסביר אותם במהלך הפוסט. ניתן להוריד את הדוגמה המלאה מכאן, (צד השרת מבוסס ASP.NET...
2 תגובות

הגדרת גלילה פנימית, והתאמה בזמן שינוי גודל המסך

8 בדצמבר 2014

לפעמים בדפי ה – html שלנו, יש לנו חלק עליון שיכול להיות מורכב מכותרת או תפריט, תוכן העמוד, וטקסט כלשהו בתחתית, במידה והתוכן יהיה מספיק גדול, זה כמובן יגרום לגלילה, במצבים מסויימים ייתכן שנרצה להגדיר גלילה פנימית לתוכן, כך שהכותרת או התפריט והטקסט בתחתית המסך ייראו תמיד. הבעייה אינה בלהגדיר זאת, אלא בלתת את הגובה לתוכן עצמו, כלומר כדי לעשות זאת יש לעטוף את התוכן ב – div כלשהו שיקבל ערך קבוע עבור מאפיין height והגדרת scroll, הבעייה שגובה האלמנט אמור להשתנות לפי גובה המסך. (קוד המקור להורדה) לדוגמה במידה וה – html שלנו נראה כך: Code...
אין תגובות

HTML + JS Basic demos

23 בנובמבר 2014

בהמשך לפוסטים אודות קוד למתחילים בעולם ה – WEB, הפעם נרצה לכתוב משהו דומה לפעם הקודמת. נרצה להציג תמונה על המסך, ולמשתמש יהיה שני תיבות טקסט, שהוא יוכל לקבוע את המיקום של התמונה על המסך, כמו כן בדיוק כמו בפעם הקודמת, יהיה לחצן של מיקום רנדומלי (רק שהפעם נוודא שאנחנו לא חורגים מגודל המסך) וכמובן לחצן Start שבכל X זמן, תקבל התמונה מיקום רנדומלי אחר, והפעם גם נוסיף Stop כדי שה – interval ידע לעצור. ראשית, נסתכל על קוד ה – html + css שלנו. Code Snippet <head>    <meta charset="utf-8" />    <title></title>    <style>        #myImg {            position: absolute;           ...
אין תגובות

HTML + JS – Basic Demos

16 בנובמבר 2014

בדוגמה הזו נראה קצת HTML עם JS בסיסי, להלן המשימה: יהיה לנו שלושה תיבות טקסט, כל אחד מהם מייצג את אחד מצבעי הבסיס (כל צבע שהוא מורכב מעירבוב של שלושת צבעי הבסיס – אדום, ירוק, כחול – כל אחד יכול לקבל מספר בין 0-255), לדוגמה לבן מיוצג על ידי 255 עבור כל אחד מצבעי היסוד, בעוד ששחור מורכב מ – 0 בכל אחד מצבעי היסוד). נרצה שבכל פעם שהמשתמש משנה את הערך באחד מתיבות הטקסט, צבע הרקע של המסך ישתנה. לאחר מכן נלחץ על לחצן בשם Random, שיגרום להגרלה אקראית של צבע הרקע. בסוף נרצה שצבעי הרקע ישתנה אוטומטית...
תגיות: , , ,
אין תגובות

PDFSharp with hebrew

10 בנובמבר 2014

מתי שהוא כתבתי פוסט על יצירת PDF מקוד עם תמיכה בעברית, נשאלתי על PDFSharp. יש הרבה פחות תמיכה, אבל ניתן לכתוב, הבעייה שכל הטקסטים נכתבים הפוך, ולכן צריך לעשות להם Reverse. קוד לדוגמא: Code Snippet static void Main(string args){    XPdfFontOptions op = new XPdfFontOptions(PdfFontEncoding.Unicode);    XFont font = new XFont("Arial", 11, XFontStyle.Regular, op);    PdfDocument document = new PdfDocument();    PdfPage page = document.AddPage();    XGraphics gfx = XGraphics.FromPdfPage(page);                gfx.DrawString(Reverse("שלמה שלום"), font, XBrushes.Black, new XRect(0, 0, page.Width, page.Height), XStringFormat.Center);    string filename = "HelloWorld.pdf";    document.Save(filename);    Process.Start(filename);}public static string Reverse(string s){    char charArray = s.ToCharArray();    Array.Reverse(charArray);    return new string(charArray);}
תגיות: , ,
אין תגובות

WIX Installer – ההתחלה

1 בנובמבר 2014

עם כל הכבוד לכך שאנחנו חיים היום בעולם שבו יותר ויותר מערכות הופכות להיות web, עדיין יש לנו מערכות שנדרש עבורם installers, מייקרוסופט החל מגרסה 2012 הוציאה את פרוייקט ה – install שיצר עבורנו קבצי MSI, במקום זאת הם ממליצים שנשתמש ב – WIX (הם עצמם משתמשים בו כדי לייצר MSI עבורם). בפוסטים הבאים, נכיר כיצד להשתמש בו בצורה בסיסית, וכיצד לייצר קבצי התקנות שגם נבין מה כתוב שם, למעשה יש להם כאן מדריך למתחילים, אבל לצערי הרב זה מאוד לא ברור ומאוד קשה להבנה, לכן החלטתי לטובת המתקשים בתוכנו לכתוב מאמר קצר עם מספר פוסטים שיעזרו לכם להיכנס...
תגיות: , ,
אין תגובות

bootstrap-combobox-angular

20 באוגוסט 2014

אחד הפקדים הנחמדים שמצאתי הוא bootstrap-combobox, המאפשר גם לראות את כל הרשימה, וגם משמש  כ – autocomlete. הקוד שלהם כאן, והדמו כאן. הבעייה התחילה כשרציתי להשתמש איתם יחד עם angular, לכאורה הקוד צריך להיות פשוט ביותר ולהראות כך: (הורדת הקוד המלא) Code Snippet <!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml" ng-app="app"><head>    <title></title>    <script src="content/jquery-1.11.1.js"></script>    <script src="bootstrap/js/bootstrap.js"></script>    <script src="content/bootstrap-combobox.js"></script>    <script src="content/angular.js"></script>    <link href="bootstrap/css/bootstrap.css" rel="stylesheet" />    <link href="bootstrap/css/bootstrap-theme.css" rel="stylesheet" />    <link href="content/bootstrap-combobox.css" rel="stylesheet" />    <script type="text/javascript">        $(document).ready(function () {            $('.combobox').combobox();        });        angular.module('app', ).config(function ($controllerProvider) {            $controllerProvider.allowGlobals();        });        function testCtrl($scope) {            $scope.a = 'Test page 123';            $scope.list = [                { value: 'PA', text: 'Pennsylvania'...
תגיות: , , ,
אין תגובות