RSS

שירותי הלוויין הוירטואלי הראשון בישראל.

 

אני גאה להציג את שירות הלוויין הוירטואלי הראשון בישראל. החברה מציעה שירות
תמונות לוויין בתדירות של עד פעם בשבוע, לכל שטח מדינת ישראל, ברזולוציה של 1.2 מטר
לפיקסל. השירות מוצע ללקוחות כמו משרדי ממשלה, עיריות ושחקנים גדולים מסחריים,
בתשתיות, אנרגיה וכו '.


נתוני התמונות המופקים הם תחקור ודליית פרטים נסתרים מתוך
הצילומים ( אלגוריתם פורץ דרך, מוגן פטנט )  מלויין
Sentinel-2  , של
סוכנות החלל האירופית. לווין זה הוא מקור ההדמיה המכויל האזרחי היחיד כיום, המספק
צילומים מכויילים של רוב כדור הארץ. פרוייקט הכיול של הלוויין ארך 8 שנים ודרש צבא
של אנשי שטח, להשיג את היכולת הזו.

 

דוגמה ליכולת התחקור וחידוד הנתונים מתוך צילום של
לוייןSentinel-2


image


SkyCues מספקים פלטפורמה מקוונת
בה הלקוחות יכולים לגשת לתמונות, כמו גם שירותים בסיסיים בעלי ערך כמו איתור
שינויים. עוד ניתן לספק ולהוריד תמונות מפלטפורמת האינטרנט לשימוש ביישומי
GIS סטנדרטיים כמו
ESRI ו- QGIS.
 

 

מערכת תחקור נתונים בענן




image

SkyCues
הוא השירות המסחרי היחיד,
כרגע, המספק צילומים כה גדולים, תכופים ומפורטים במיוחד, ויכולים לעשות זאת במחיר
שאף גורם אחר לא יכול להתאים לו.

לפרטים נוספים דברו איתי בפרטי Smile

 

 

 

 
השארת תגובה

פורסם ע"י ב- אוגוסט 30, 2020 ב- Uncategorized

 

פיתוח צ 'אטבוטים עם SERVO

אנחנו המפתחים בקיאים בפיתוח יישומים: ניידים, ממוחשבים או יישומי אינטרנט. יישומים אלה בדרך כלל מריצים

את אותו התהליך: המשתמש ממלא טופס (או לוחץ על כפתור), היישום מחשב נתונים חדשים כדי להציג, ומסך מעודכן מוצג. עם השנים, ארכיטקטורות ודפוסי עיצוב התפתחו כדי לתמוך בסוג כזה של פיתוח יישומים. למשל אפשר להזכיר הזרקת תלות (Dependency Injection), מיקרו שירותיםAspect-based programming,
MVC: Model View Controller
, ואחרים.


עם זאת, כל זה לא עובד עבור צ 'אטבוטים או עוזרות קוליות כמו אלקסה, אשר אין טופס אחד כדי למלא או לחצנים ספציפיים ללחוץ. המשתמש יכול להגיד משהו, לפעמים לא קשור לשאלה הנוכחית. למשל, בוט מכירות עשוי לשאול את המשתמש לגבי גודל הנעליים שהיא חיפשה, והמשתמש יגיב על ידי כך שישאל את הבוט אם יש לו נעליים במקום. עוזרת קולית במכונית יכולה להיות בעיצומו של שיחה על מציאת מסעדה בקרבת מקום, בעוד המשתמש מבקש להתקשר לחבר שלו שגר באזור. החבר אינו עונה, והבוט צפוי לחזור לנקודה שבה הוא נשאר.


כמובן, אפשר להגביל את השיחה, אבל זה היה ללא ספק לפגוע בחוויית המשתמש. לחלופין, אפשר לנסות לספק פתרונות תכנותיים אד-הוק – אבל זה עלול לגרום לבסיס קוד מורכב, גדול וקשה לשמירה, ולכן קשה לשמור עליו.


אחת ה- 
frameworks המעטים שיכולים לפתור זאת נמצא בServo. המערכת עושה זאת על ידי "עצי התנהגות",
שהינם פרדיגמה תכנותית שפותחה בתעשייה שבה יש נסיון בפיתוח הרובוטים של שנים כבר – תעשיית המשחקים.


במדריך זה נסביר כיצד להתחיל בוט פשוט עם
Servo. אניח כאן שיש לקורא נסיון ב- Github, NodeJS, וחשוב מכך, איך להשתמש ב- NLU ו NLP מנועי (עם INTENT, ישויות וכו '). אם לא, יש משאבים מצוינים בכל רחבי האינטרנט – יש פשוט לחפש "tutorial wit" או "tutorial LUIS".

מתחילים
סרוו היא מסגרת קוד פתוח ובתור שכזה, אפשר לבצע FORK ב- Github  ולפעול לפי readme . משם יש להריץ npm start  להתחיל. זה צריך להפעיל את עורך עץ ההתנהגות, ואת שרת Servo במחשב המקומי שלך, כל אחד על התהליך שלו. לאחר מכן, פתח localhost: 8000 בדפדפן ,  יתקבל מסך כניסה. נעבור את ה- Login, נבחר Projects, ונפתח פרוייקט חדש משלנו:

clip_image002

 פרוייקט חדש תבנית ראשונית


עץ זה מייצג בוט שעוסק בקבוצה יפה של נושאים וניתן להשתמש בו להדרכה עבור ה-
framework. נלחץ על Debugger ולאחר מכן על לחצן ההרצה ▶ ️, נתבקש לענות עם גילנו. בואו ננסה מספר מספרים ונראה מה קורה:

      אם מכניסים גיל מבוגר (למשל, 55), הבוט יגיב על ידי ציטוט הגיל שלך, וישלחך להצביע

      אם נכניס מספר קטן מ -18, התגובה תהיה שאנו צעירים מדי מכדי להצביע

      בגיל 32, הבוט ייתן לך הערה חנונית על הגיל שלך


אבל: מה אם נענה עם משהו אחר לגמרי?
זה מעניין: אם נלך עם משהו כמו "מי אתה?", נקבל תשובה. לאחר מכן, הבוט יקח אותנו בחזרה לשאלת הגיל עבור תגובות שאינן מובנות, הבוט ייתן לך הודעת עזרה לפני שישאל את השאלה שוב.

איך זה עובד?

בואו נתחיל להסתכל על הצומת המרכזי "AGE?". נבחר אותו ונלחץ על הטאב Properties   מימין.

נראה כי סוג ה-NODE הוא AskAndMap, יש GUID ייחודי וכותרת. נלחץ על  Properties

ובתוך ה-JSON שמוצג נבחין בכמה פריטים מעניינים:

ראשית, ה-prompt:

"prompt":  [ "What's your age?""How old are you?"]

עוסק בשאלות שהבוט שואל את המשתמש. אם cyclePrompts הוא true, הוא יחזור דרכם, אחרת הוא יגיע לסוף
ויישאר עם האחרון. 
שנית, מערך ה-contexts משמש לבחירת הילד הנכון. לאחר שמשתמש מגיב לשאלה, התגובה נשלחת למנוע NLUשמריץ את מערכות ה-AI שמוציאות מתוך הטקסט את הINTENT – הכוונה. מגיע Servo עם מודל ברירת מחדל, מוגדר במאפייני הroot). מנוע NLU שואב intents ו- entities מן המשפט. לאחר מכן
מתבצעת התאמה מול ה-
contexts
, והבוט ממשיך אל הילד הקשור להתאמה הטובה ביותר שנבחרה .

לכן, אם המשתמש הגיב עם מספר (למשל 22, חמש עשרה וכו '), ההקשר הראשון יהיה נבחר, כי זה ישות מספר אשר צפוי כאן:

 {
"contexts": [
{
"entities": [
{
"contextFieldName":
"age",  "entityName":  "number",
"entityIndex":
0

}
]
}
]
}

לאחר מכן, ה-flow ממשיכה כלפי מטה עד סוף השיחה. נתעמק בזה מייד. אם המשתמש הגיב עם משהו
שה-
NLU לא הבין, הcontext השלישי נבחר:

"helper":  true,
"default"
true

יש כמה הבדלים בין default לבין helper, אבל על זה, בזמן אחר. אם, מצד שני, המשתמש אומר משהו שה- NLU מזהה, אבל הוא שונה מבחינה הקשרית (למשל "מי אתה?"), הבוט בוחר בהקשר להמשיך בו, על פי הכוונה. כפי שניתן לראות, חלק מההקשרים נבחרים אם בתשובה היתה אחת מתוך מספר כוונות אפשריות.

עצי התנהגות

Servoלא המציאה מתודולוגיות תכנות חדשות, אלא בחרה להסתמך על תקני התעשייה ככל האפשר. אחת
הפרדיגמות המוצלחות ביותר, במיוחד במשחקים
AI, הייתה עצי התנהגות (Behavior Trees). רוב מנועי המשחקים, כגון Unityאו Unreal,מגיעים עם עורך BT, והם שימושיים מאוד לבנות התנהגויות המבוססות על כללים. Servo בנויה על גבי עורך Behavior3 בעל מבנה מעולה, שנכתב ב- Javascript על ידי Renato de Pontes
פריירה.


מילה על 
AI: בעוד ש- deep learning – למידה עמוקה – מקבלת הרבה hype (ובצדק) נראה כי עבור יישומים רבים בעולם האמיתי נדרש עדיין תכנות מבוסס כללים. AI עושה פלאים על סיווג זרמי נתונים גדולים, אבל צריך לעשות משהו עם הסיווג הזה – וכאן יש צורך בתכנות רגיל. במובן זה, סרוו משלבת את התכונות הטובות של שתי הפרדיגמות הללו. אפשר לקרוא עוד על עצי התנהגות, אבל כאן אני הולך ללמד במהירות את הדברים החשובים. בואו נסתכל על הצד
השמאלי של העץ, אשר מגיע דרך הילד השמאלי עם הכנסת גיל:

clip_image004

לעצי התנהגות שש לולאה ראשית, אשר אחראית על ביצוע ה- node(צומת בעץ) הנוכחי כמה פעמים בשנייה. ביצוע הצומת יכול להחזיר אחת משלוש תוצאות:

הצלחה, כישלון או "עדיין רץ"  – Success, Failure, Running. אם לצומת יש ילדים, הוא מריץ את ילדיו ולאחר מכן, בהתבסס על תוצאת הההרצה, הצומת מחזיר את תוצאת הביצוע שלו. צומת שיש לו ילדים נקרא
הצומת
Composite, ולאלה יש רק שני סוגים עיקריים. בואו נזרום עם ה-flow ונבין אותם. הצומת המסומן ב-? נקרא צומת עדיפות,Priority  ופועל כמו בורר OR. הוא מנסה לבצע את ילדיו משמאל לימין. אם אחד הילדים מחזיר הצלחה, הצומת מפסיק לנסות ומחזיר הצלחה גם הוא. לכן זה נקרא "עדיפות", כי זה נותן עדיפות לשמאלי ביותר בקרב הילדים. אם הילד לא הצליח, אז ה-Priority לא מצליח, ומחזיר Failure.


כאן, הריצה ממשיכה כלפי מטה אל הצומת 
→, שנקרא רצף – Sequence. רצף הוא כמו AND: הוא מבצע את ילדיו משמאל לימין, מצפה מכולם להצליח. אם אחד הילדים נכשל, כל הרצף נכשל, ומחזיר כישלון – Failure

אז, הריצה ממשיכה לרדת מטה בעץ, עד הצומת age < 18. זהו תנאי Condition, שמשווה את הגיל ל -18 (נדבר בעוד רגע על ההשוואה הזו). אם התנאי יצליח, הביצוע ימשיך לצומת “you can vote”.זוהי פעולה – Action, וכפי שהשם מרמז, כאן כל האקשן מתרחשת. בחרו את העלה הזה, ותראו שזו פעולת GeneralMessage, ששולחת משפט למשתמש (“you can vote”). לאחר מכן אנו ממשיכים למשושה הירוק "good-bye". זהו תת-עץ! נלחץ עליו בדבל-קליק ונוכל להיכנס אליו.

מה אם הגיל הוא פחות מ18? כדאי להעיף מבט לפני שנמשיך, לקרוא ולנסות לענות על כך לבד. אם הגיל קטן מ-18, התנאי נכשל, מה שגורם לSequence להיכשל, ואז ה-Priorityעובר לילד הבא: too young.

די קל, לא?

זיכרון היררכי

עכשיו בואו נסתכל לתוך הפרטים של Conditions וActions, ולדבר על אזורי זיכרון. נבחר את התנאי  age>=18 ונפתח את המאפיינים שלו:

"left""context.age",
"operator"">",
"right""18"

מה קורה פה? למעשה, ניתן לקרוא קטע עזרה קצר בשדה הDescriptionשל הצומת: ”Compare fields across global,context, volatile and message memories. left and right operands should have a dot notation with the object name. Eg: message.chat_message, context.amount etc. Operator could be any logical operator like ===, <,< ==, !==, ==> etc. “


ואכן, זהו אופרטור לוגי פשוט, המחזיר אמת או שקר עבור הצלחה או כישלון. בינתיים הכל טוב. אבל מאיפה הגיע
ה
context?


ובכן, זוכר את ה
contexts במערך הצומת "age?"? זה המקום שממנו בא הקונטקסט. מתברר שכאשר נבחר context, כל הentitites והIntents "ממופים" לשדות שהוגדרו בcontext  היה לנו, בהקשר זה:

"contextFieldName":  "age",
"entityName":  "number",
"entityIndex":  
0

ואכן, זה מגדיר את מה שקרה: ה- NLU זיהה ישות number. לאחר מכן, המערכת יצרה שדה age ב בcontext. ברגע שיש, השדה הזה זמין לכל צאצאי ההקשר. זה באמת חשוב, לא בפני עצמו, אלא בגלל שאלה שהוא מביא: מה אם יש עוד הקשר. במילים אחרות, מה אם עוד שאלה היא לעקוב אחר השאלה גיל?

למרבה המזל, הדרך שבה היא פועלת ידועה לכל מי שיודע משהו על תכנות מונחה עצמים, ובמיוחד על ירושת
JavaScript. אם שאלה נוספת עוקבת אחר שאלת אב, אזי ייווצר הקשר ילד חדש. אם צמתים מכן מתייחסים context.field מסוימים הוא חיפש כלפי מעלה, עד שהוא מוצא שדה התואם את השם או עד שהוא מגיע לשורש של העץ.

זה די חזק, כי ברגע הבוט הבין את הגיל של המשתמש שלך, וגם אם זה המשיך לדבר על נושאים חדשים, אתה עדיין יכול
להתייחס
context.age ואת המסגרת תביא את האחרון דיבר על גיל. אגב, למה את השם המפואר "זיכרון היררכי"? ובכן, זה כנראה איך המוח שלנו מזהה ישויות.

סוגים אחרים של זיכרון כוללים:

      global: זיכרון גלובלי שלם

      message: ההודעה האחרונה הגיעה מהמשתמש

      volatile: זיכרון שאינו מסודר לעולם למסד הנתונים. זה טוב עבור אובייקטים מורכבים בזיכרון.

      local: לכל צומת זיכרון

      כמו כן, זיכרון FSM לא מתועד, שבו ניתן לגשת למאפיינים של תהליך השיחה, כמוגדר בשורש של עץ ההתנהגות הראשי. עם אלה מגיע גם סוג Action חשוב, שנקרא SetFieldAction. אם צריך להגדיר שדה באחד מאותם אזורי זיכרון, זה המקום. 

התשובה

היצירה האחרונה שעדיין חסרה בתכנית  היא התשובה למשתמש. איך אפשר לבנות אותה? בשביל זה אפשר להעיף מבט על  במאפיינים של GeneralMessageשנקרא " time to vote!":

"prompt": [
     "Congrats! at <%=context.age%> you can vote",
" At  <%=context.age%> you are old and wise, you can vote!"

],

אני בטוח שראיתם את הסימן <% =%>. זוהי טכניקה ידועה לפיתוח אינטרנט בשם "templating". <% = אומר למסגרת להעריך את הביטוי כנגד אובייקט המכיל את כל אזורי הזיכרון, כך שנוכל גם להשתמש ב- <% = global.fieldName%> וכו'. אגב, אנחנו לא מוגבלים רק לביטויים, אלא יכולים להשתמש גם בקוד. לדוגמה, כתיבת:  <% if (context.age> = 100) {%> you are a very senior voter

 <%{%>

 או

<%' if ( context.age> 100) print 'you are a very senior voter' %>

 ידפיסו את המשפט עבור אלו עם גיל גדול מ- 100.

Templating זמין עבור Actions רבים. יש לבדוק את ה-description כדי לראות אם הצומת זקוק ל-dot notation או memory field. אם לא, אז אפשר להשתמש ב templating.

 

ניקוי באגים כפי כנראה כבר ראית , servo מגיע מאובזר עם דבאגר מובנה. אפשר להגדיר נקודות עצירה – breakpoints (לעלים בלבד כרגע) , run, step, ולהציג את אזורי הזיכרון השונים שנדונו לעיל.

clip_image006

 Debugger מפסיק בנקודת עצירה


שתי הערות חשובות:

      את breakpoints מגיעים "פוסט טיק", כלומר, לאחר ביצוע הצומת

      לאחר שינוי בעץ, יש לזכור לבצע Publish!למרות ש- Servo לא ישכח להזכיר לך, זה יכול להיות מבלבל


ממעמקים

סרוו מציג framework עשיר עם תכונות נוספות רבות אשר עוזרות להאיץ פיתוח בוטים, אוטומציה ומערכות מוכוונותי זרימה. בין שאר התכונות:

      Alexa, Facebook, ועוד clients

      ממשקים לשיהיה בכיףמסדי נתונים פופולריים

      Context switch – כלומר, קפיצה בין תתי שיחות

      חזרה לאחור ותיקונים במהלך שיחה 

      בדיקות אוטומטיות 

      תת-תהליכים ועצי משנה


רב הדברים מפורטים בתיעוד שמגיע עם המערכת. חלק אחר מחכה לחוקר האמיץ. שיהיה בכיף!

 

 
השארת תגובה

פורסם ע"י ב- ינואר 27, 2019 ב- Uncategorized

 

Magic xpa Angular Development

magic
בשנה האחרונה עזרתי לחברת מג'יק לחדש את המוצר שלהם ולהתאימו לווב. מהיום תכנתי מג'יק יוכלו לבנות אפלקציות אנגולר עם כל היכולות שיש ב- framework בצורה פשוטה אך לא מגבילה.אני פותח קורס בנושא למפתחי מג'יק. ניתן לראות כאן את כל הפרטים.
In the past year, I helped Magic renew their Magic xpa product and adapt it to the Web. From now on, you can use Magic xpa Software to build Angular applications with all of the features of the framework, in a simple yet unrestricted way.

I am opening a course on this new software for Magic xpa developers. You can see all of the details here.

 
השארת תגובה

פורסם ע"י ב- יולי 22, 2018 ב- Uncategorized

 

Angular 6 and CLI 6 Course

בעקבות הביקוש הרבה לקורס מקצועי ומעמיק החלטתי לפתוח מחזור נוסף ב-17 ליולי.
לפרטים וטופס הרשמה לחץ כאן.
ng-course Google Event

 
השארת תגובה

פורסם ע"י ב- מאי 8, 2018 ב- Uncategorized

 

שגעון ה-Initial Coin Offering

 

 

כיום יש יותר מ-1,364 מטבעות בשוק ע"פ coinmarketcap.com
והכמות רק עולה מיום ליום.
 קצב גיוס הכספים הולך וגדל, ראו גרף.

clip_image002

 


השאלה המתבקשת מה קורה פה? מה ההזדמנות שיש פה?

בפוסט זה אני אנסה להסביר במילים פשוטות את השיגעון שיש ב-ICO’s.

המצב לפני ה-ICO:

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

המצב הרצוי:

הנכס הדיגיטלי שהמשתמש מקבל ברגע קנייתו שייך לקונה בלבד ואף אחד לא יכול להחרים לו את
הנכס בכוח, לא המדינה, משטרה או החברה שיצרה את הנכס.

בנוסף בעל הנכס יכול להיות אנונימי וכל העסקאות שלו בנכס גם (קונה מוכר בין שני אנשים
אנונימיים).

 

מה הקשר ל-ICO ו-Blockchain?

 

שלב ראשון נסביר את הישויות שיש במערכת החדשה:

1.     מפתחי הנכס/ICO/השירות – יזמיים שרוצים ליצור מטבע, נכס, שירות, חוזה חכם או כל
דבר דיגיטלי בעל ערך למשתמש. פיתוח התוכנה לא כולל הרצת התוכנה רק בשרתי
החברה, ראו סעיף 3.

2.     הצרכנים/משתמשים – אנשים שרוצים בעלות על המטבע/נכס או כל
דבר דיגיטלי שחפצה נפשם.

3.     השרתים שמחזקים את הנכס ודואגים להפעילו 24 שעות ביום.
כאן נמצאת הבעיה הגדולה… איך יוצרים ענן (רשת מחשבים חזקה) שמחזיקה את הנכס של
המשתמש מבלי שאף אחד לא יוכל להשפיע על ההתנהגות של המחשבים. כלומר ברגע שסיכמו את
החוקים וההגדרה של הנכס לא ניתן לשנות את "חוקי המשחק" והמשתמש בטוח שאף אחד לא
יוכל לקחת, להחרים או לשנות לו את הנכס.
 בשפה המקצועית נקרא לזה
 Decentralized.

הבנתי הכל עד פה, חוץ מהקשר ל-ICO

כדי ליצור רשת של מחשבים מבוזרת שלא מנוהלת ע"י אף אחד צריך לפתור כמה
בעיות:

1.     מה המוטיבציה של האנשים/ חברות לתת מחשבים, כוח מחישוב
לרשת?

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

2.     איך יוצרים ערך לכסף/נכס דיגיטלי?

הערך לכסף הדיגיטלי נוצר ע"י ביקוש והיצע. כמובן שעולה השאלה למה שמי שהוא ירצה את הכסף
הזה? התשובה לשאלה זו מורכבת אבל אני אתן את הסיבות העיקריות:
א. משאב מוגבל, למשל בביטקוין יהיו רק 21,000,000 מטבעות.

ב. יהיה אפשר לסחור, לקנות עם כסף/נכס הזה נכסים אחרים. כלומר הבעלות על כסף/נכס דיגיטלי תאפשר לי לקיים יותר
בקלות מסחר אלקטרוני מאשר כסף אמתי (פיאט). כאן נכנסת השאלה אם זה נכס/ מניה או מטבע? (פוסט נוסף)

ג. המסחר בנכס דיגיטלי שומר על האנונימיות שלי.

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

מה הבנו עד פה?

1.     שפעם ראשונה בהיסטוריה הצלחנו להפריד בין החברה שיוצרת את
המוצר/ שירות/נכס דיגיטלי לקבוצת אנשים/חברות שמפעילות את השרתים שנותנים את השרות
בפועל, בדגש בצורה מבוזרת כלומר האנשים/ החברות שמפעילות את השירות לא מכירים אחד
את השני ונמצאים במקומות שונים בעולם.

2.     האנשים שתורמים את המחשבים שלהם לאחזקת הנכסים לא יכולים
לקבל כסף מגוף צד שלישי ולכן אחד הפתרונות, שהם ייצרו לעצמם את הכסף, ראו ערך  
Miner.

3.     פעם ראשונה בהיסטוריה הצליחו לעביר על גבי האינטרנט
מטבעות/ נכסים בצורה:
א. אנונימית.
ב. לא ניתן להעתיק את הנכס.
ג. הבעלים של הנכס יודע שאף אחד לא יכול לקחת לו את הנכס ללא הסכמתו.

אני מאמין…
אני מאמין שהטכנולוגיה פתחה פה פתח שאנחנו עדיין לא לגמרי מבינים את הפוטנציאל שלו עד הסוף ואת המשמעויות. אבל ברור לי כרגע שאנחנו נראה ריצה מטורפת של יזמים שירצו לקחת כל נכס אפשרי מעולם הפיזי והממשי ולהכניס אותו לעולם
הדיגיטלי כך שיהיה הרבה יותר קל לסחור בו ולקונים לתת אמון שהנכס שלהם ולא יילקח מהם בעקבות החלטה שרירותית של היזמים או המדינה.

אני מאמין שהמעבר של מטבעות/נכסים לתוך עולם הדיגיטלי רק בתחילתו והוא ייקח כמה שנים
ולכן כל עוד עובר כסף/נכסים לעולם הדיגיטלי הערך שלהם יעלה. 

 

סיכום:
ניסיתי בצורה פשוטה מבלי להשתמש במונחים מקצועיים להסביר את שגעון ה-ICO
, מקווה
שהצלחתי. אשמח לקבל כל פידבק. וכמו תמיד הקורס בנושא נמצא בעבודה…

 

 

 

 

 
השארת תגובה

פורסם ע"י ב- דצמבר 18, 2017 ב- Uncategorized

 

הכל יחסי בחיים

שדבר
אחד עולה זה ביחס לדבר שני. מכאן שהביטקוין עולה זה ביחס למטבעות ה
פיאט
שיש בעולם (WhatsApp Image 2017-12-15 at 08.33.07 (1)דולר, שקל, וכ"ו).

אנחנו חיים בתקופה שאנו משווים הכל למטבע של המדינה שלנו
(מטבע האם שלנו). הסיבה, אנחנו מקבלים שכר בו ואז קונים בחנויות עם מטבע זה.

המדינה תמיד תנסה לשמור על מצב זה.

היו תקופת שהשקל לא היה חזק ואז מחיר של השכרת דירה הייתה
בדולרים.


תרחיש ה-100,000 דולר:

בו נניח שמחיר הביטקוין יגיעה ל-100,000 דולר עד 2019
כלומר כל יום בשנת 2018 אנשים ישמעו כמה כסף הם מפסידים בגלל שהם לא קנו ביטקוין
וכמה כסף החברים שלהם עשו. במילים
אחרות יותר ויותר אנשים בעולם עוברים לביטקוין ( למטבעות הדיגיטליים, אלטקוין )
וזונחים את המטבעות הישנים, ה
פיאט. כתוצאה מכך מוכרים ירצו לקבל כסף חדש (ביטקוין לסוגיו)
ופחות כסף ישן. (שיש מוטיבציה אנשים יעשו את המאמץ איך לעבוד עם זה).

השאלה שצריך לשאול: לאיזה מחיר ביטקוין צריך להגיע כדי
שרוב אוכלוסיית העולם ירצו את הביטקוין על פני הכסף ה
פיאט (ישן).
 
אם
חושבים על זה בצורה פשוטה למה לא? ממה אנשים מפחדים? משינוי? האם אי פעם האנושות
הצליחו לעצור טכנולוגיה?

 

1. זה מותאם לתקופה, לא צריך כרטיס אשראי וכסף פיזי אלא
רק טלפון חכם.
2. שומרים על האנונימיות שלנו.
3. לא המדינה, הבנק או המשטרה
יכולה לקחת לנו את הכסף.

 

 
השארת תגובה

פורסם ע"י ב- דצמבר 18, 2017 ב- AltCoin

 

קורס אנגולר 5 נפתח במרץ

בעקבות הביקוש הרב, החלטתי לפתוח מחזור נוסף במרץ בתאריכים: 05,08,12,15.

10253744_919598694751979_3894935568327275083_n

קורס זה מבוסס על הנסיון העשיר שלי בעשרות פרוייקטים ב- Angular שהיתי מעורב בהם. בקורס אני מלמד איך משתמשים באנגולר וגם איך הוא עובד מ"תחת למנוע". ידע זה יאפשר לכם להבין איך אפשר לשפר ולהרחיב את אנגולר לצרכים שלכם.
הקורס הבא נפתח ב-5 למרץ,
לחץ כאן לפרטים.

 
השארת תגובה

פורסם ע"י ב- דצמבר 3, 2017 ב- Uncategorized

 

Config file for Angular CLI with AOT

Angular CLI supports const environment but you need to
compile the project for each environment.  But the IT guys dont want to run again and again the CLI for each environment.

The recipe:

1.

const config = {
    url :
'http://www.ynet.co.il'
}

 

2.  Add the file to index.html, like this.

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Webconfig</title>
    <base href="/">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="icon" type="image/x-icon" href="favicon.ico">
    <script src="assets/config.js"></script>
</head>
<body>
<app-root></app-root>
</body>
</html>
 
3.  Now you can use the config variable everywhere. 
Example:

import { enableProdMode } from '@angular/core';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule } from './app/app.module';
import { environment } from './environments/environment';
declare let config:{url:string};
if (environment.production) {
  enableProdMode();
}
console.log(`config url : ${config.url}`);
platformBrowserDynamic()
    .bootstrapModule(AppModule)
    .catch(err => console.log(err));

Impotent: Don’t import the config.js like this: import {config} from './assets/config.js'; Because it will insert the file to the bundles files that CLI creates.
 
What you think?
 
2 תגובות

פורסם ע"י ב- אוקטובר 22, 2017 ב- Angular 2.0, angulr/cli

 

ERROR in Error encountered resolving symbol values statically

הצוות של אנגולר החליט שכדי לשפר את מהירות הקימפול של אנגולר בתהליך ה-AOT, הם לא יכולים להריץ קוד דינאמי בתוך ה-Decorators כמו למשל NgModule.

כלומר אם אתם רוצים לטעון לתוך ה-  RouterModule.forRoot רשמיה דינאמית של Routes אתם לא יכולים.

מעכשיו שרוצים לטעון Routes בצורה דינאמית צריך להשתמש בשרות Router במתודה config.

ראו התכתבות ב-GitHub:

error

 
השארת תגובה

פורסם ע"י ב- ספטמבר 11, 2017 ב- Angular 2.0

 

קורס אנגולר בספטמבר

ב- 17 לספטמבר אני פותח קורס אנגולר למפתחי JavaScript בהרצליה, רחוב הנדיב 71. לפרטים לחצו כאן.

 

 
השארת תגובה

פורסם ע"י ב- ספטמבר 4, 2017 ב- Uncategorized