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 כך שכאשר הוא ירוץ, יהיה לנו שרת ווב שמבצע את הדברים הבאים:

כאשר פונים ל '/' אז יחזור דף HTML שיש בו …

elasticsearch for dummies (hebrew) - part 1

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

דוגמא:


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