Skip to main content

Posts

Showing posts from September, 2016

Express.js - creating simple site (hebrew)

איך יוצרים אתר פשוט עם express.js Express הוא מודול של nodeJS שמאפשר להרים בקלות שרות ווב שמספק שרות REST או אתר. אומנם קל להגדיר אבל לא פשוט בהתחלה להבין מה להגדיר... בואו נקים אתר שמאפשר לנהל בצורה בסיסית רשימת משימות לביצוע. אפשר יהיה לראות את המשימות, להוסיף משימות ולסמן משימות שבוצעו. קישור לקוד בשלמותו כקובץ זיפ סוגי הקבצים בתיקייה כדי לכתוב קוד ל nodejs שמממש את האתר הזה אז כדאי לדעת שלאתר כזה יש קבצים לצד ה client וקבצים לצד ה server.  כולם יושבים בתתי תיקיות בתוך התיקייה הראשית שנותנים ל nodejs. זה קצת מקשה על ההבנה איזה קבצים מגיעים לאן ... קבצים עבור צד ה client כוללים דפי HTML סטטיים, קבצי JS של ספריות כמו jQuery ו bootstrap (לעיצוב), קבצי עיצוב (CSS) וקבצי JS של האפליקציה עצמה שרלבנטים לצד ה client. קבצים עבור צד ה server כוללים קוד JS ל nodejs, ספריות של nodejs, קבצים נתונים לפלאג-ים השונים שנשתמש בהם עבור express ואולי עוד דברים. מה האתר מספק? אנחנו רוצים לכתוב קוד ל nodejs כך שכאשר הוא ירוץ, יהיה לנו שרת ווב שמבצע את הדברים הבאים:

elasticsearch for dummies (hebrew) - part 1

elastic-search    הוא סוג של database הוא שייך למשפחת ה noSQL   שזה אומר שהוא שומר את המידע בצורה שאינה מסודרת בטבלאות.  אפשר להגיד שהייעוד של elastic-search הוא לשמור במהירות רבה כמות רבה מאוד של נתונים ולאפשר חיפוש מאוד מהיר בהם . API ישנם מספר דרכים לעבוד עם elastic. הדרך הפשוטה והשכיחה היא ע"י שליחת הודעות ב  .REST  הדרך הבאה השכיחה היא ע"י ספרייה שמספקת API לפעולות העיקריות. קיימת ספרייה לכל שפה עיקרית.  כאשר מחפשים דוגמאות לפקודות בגוגל אז בדר"כ מוצאים את הפקודה המתאימה ב REST  דוגמא : מסמך כל "רשומה" ב elastic נקראית  " מסמך "  והיא מכילה אוסף של שדות. אין מגבלה על השדות ולא צריך להגדיר מראש איזה שדות יש בכל סוג רשומה. במובן הזה, כל מסמך יכול להראות אחרת מכל מסמך אחר ואפשר להוסיף בחופשיות מסמכים שונים.  מעשית, בדר"כ נגדיר מראש את המבנה של המסמכים השונים וכיצד יש לאנדקס כל סוג של מסמך (מה שנקרא "מיפוי" - mapping ) אינדקס כאשר מכניסים "מסמך" ל elastic יש לציין לאיזה