זה באמת מעניין פה אנשים להסביר איך דברים עובדים ?משה


אתה כבר הבנתי תוהה אם יש עודמשה


רוצים להתקיל אותי עם "איך עובד X "?משה


נתחילמשה

או זה צרוף של סימנים.

 

בשביל לגרום לזה לעבוד אני עושה סוג של חיפוש והחלפה. אני לוקח טקסט שאת הזנת והופך אותו ל-HTML.

במקרה שלנו, תמונה שזו הכתובת שלה:

https://a7.org/images/forum/smilies/smile.gif

 

יש רשימה של הסמיילים, והיא נראית ככה:

יש את הקוד של הסמיילי, יש את השם של הקובץ.

השדה השלישי שרואים שם  זה מה השם שלו (שרואים במחשב בעיקר)

השדה הרביעי (אם יש) יהיה תמיד 1 או כלום. 1 זה  אומר שהסמיילי נכנס לגובה של הכותרת, 0 אומר שלא.

 

הקוד שתראי פה הוא בעצם מערך בשפה שקוראים לה Javasc‎ript. בשיטה הזו אנחנו מחזיקים רשימה של פריטים זהים בצורה כזו

[ (התחלת המערך)

"תוכן של אובייקט", "תוכן של עוד אובייקט" (וכך הלאה)

] (סוף המערך)

 

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

 

    var smilies = [[":-)", "smile", "חיוך",‎ 1], [":-F", "bigsmile", "חיוך גדול", 1], [":-E", "loveit", "חושף שיניים",‎ 1‎], [":-P", "tongue", "כאילו מוציא לשון",‎ 1], [";-)", "wink",‎ "קורץ", 1], [":-\\", "heh", "חצי חיוך", 1], [":-|", "apathic", "אפאטי", 1], [":-(", "sad", "עצוב", 1], [";-P", "tongue3", "מוציא לשון", 1], [":-D", "vhappy", "צוחק", 1], ["(בוחק)", "bochek", "בוכה/צוחק", 1], [";-(", "boche", "בוכה", 1], [":-q", "yum", "ליקוק", 1], ["8-|", "crazy", "מטורלל", 1], ["(מגניב)", "cool", "מגניב",‎ 1], ["$-)", "money", ‎‎"תאב בצע", 1], ["(תינוק)", "baby2", "תינוק", 1], ["(אישה)", "woman", "אישה",1], ["(דוס)", "dos", "דוס", 1], ["(לאדוס)", "dos2", "לא דוס", 1], ["(ננה)", "nanabanana", "ננה-בננה", 1], ["(המום)", "blink", "המום", 1], ["(מבולבל)", "confused", "מבולבל"], ["%-(", "vangry", "עצבני"], ["(מתפלפל)", "litvak", "מתפלפל"], ["(חושב)", "think", "חושב",1], ["(חופר)", "digg", "חופר",1], ["(גבעוני)", "hilltop", "גבעוני"], [":_P", "tongue2", "מסמיק-מוציא-לשון", 1], ["X-|", "dead", "מת", 1], ["(חייזר)", "n", "חייזר", 1], ["(ליצן)", "y", "ליצן"], ["(שטן)", "d", "שטן"], ["(חיבוק)", "hug", "חיבוק", 1], ["(כן)", "yes", "כן", 1], ["(לא)", "no", "לא", 1], ["(מלך)", "o", "מלך"], ["(בלון)", "balon"], ["(שורק)", "shorek", "", 1], ["(מאוהב)", "6", "אוהב"], ["(נשיקה)", "remybussi", "נשיקה", 1], ["(פטיש)", "patish", "פטיש", ""], ["(טלפון)", "telphone", "טלפון", 1], ["(נפנוף)", "nifnuf", "מנפנף"], ["(ישן)", "k", "ישן", 1], ["(מרחף)", "h", "מרחף"], ["(מחשב)", "computer", "מחשב", 1], ["", "microphone", "מיקרופון"], ["(רמקול)", "ramkol", "רמקול", 1], ["", "music_tupim", "תופים"], ["(כוכב)", "star", "כוכב", 1], ["(פרח)", "m", "פרח"], ["(עצור)", "stop", "עצור", 1], ["(עגלה)", "baby", "עגלה", 1], ["(בלח)", "balach", "בלח"]];

 

משה

זה הסמיילי הזה:

עוד נקודה: תמונות בכרטיסיםמשה

להעלות תמונה לכרטיס בעיניכם זה קל: מעלים, חותכים, וזה עובד.

 

הי רגע, למה לחתוך? מה רע במקורית?

 

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

 

לוגו ערוץ 7 למשל הוא 180x53. כלומר מלבן. סמיילי ממוצע הוא 16x16 ויש כמובן עוד).

 

 

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

ניקח למשל את התמונה של @מיכל318

 

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

 

 

אם נקטין את התמונה לגודל אחר, היא תצא רע  מאוד.

מצ"ב דוגמא:

 

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

 

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

 

 

 

צודק.משה


את העלית לאתר צילום מסך של איזו אפליקציה. בדקתי. משה


לפעמים. תיכנס פעם לפסיפס ותלחץ על הכפתור של EXIF שיש שםמשה


המרחק של מה?משה
מעבירה, ונכתב ב-EXIF.משה


כן, ואז מתוך האפליקציה הוצאת צילום מסךמשה


נסה להתקיל אותימשה


נלך על זהמשה

ככה נראה חדר ראשי לצורך הדוגמא:

 

חוץ מהחדר  עצמו יש לנו רשימה של חברים שאפשר לערוך בניהול:
 
 
בוא נחשוב מה יש בפנים.
 
יש לנו רשימת משתמשים בשיחה
יש לנו הודעות של משתמשים
יש לנו הודעות של metadata (זה התחבר זה התנתק זה שינה כינוי)
יש לנו את הסטטוס של המשתמש (מחובר, מנותק, בשיחה, לא נמצא והשילוב בניהם)
יש לנו מורשי ניהול בחדר
 
יש עוד, אבל נתחיל מזה.
 
 
המערכת בנויה מכמה טבלאות:
  • טבלת שיחות (מספר שיחה, מספר הודעה אחרונה בשיחה, הודעות בסך הכל בשיחה, האם השיחה פעילה או "ירדה לארכיון")
  • טבלת קישור שיחות - משתמשים.
    כאן אנחנו נשמור את החיבור בין המשתמש לבין השיחה שהוא חבר בה
    (מספר עוקב, מספר שיחה, מספר משתמש, תאריך כניסה לשיחה, תאריך יציאה מהשיחה, האם נמחקה ו- האם היא מושתקת)
  • טבלת חדרים (שם החדר, מספר מקים החדר)
  • טבלת הודעות פעילות (מספר ההודעה, מספר כותב ההודעה, טקסט ההודעה, תאריך ושעה, ושדה הורה)
    שדה הורה משמש כדי לאפשר "להגיב" להודעות. אני הרי צריך לדעת לאיזו הודעה הגבת
    אם מספר כותב ההודעה הוא אפס, זה אומר שזו הודעה מנהלתית, למשל X הצטרך לשיחה.

    יש עוד סוגי הודעות. למשל כאלה שמכילות קובץ, במקרה כזה תוכן ההודעה יכיל את ההפניה לקובץ
    הודעה מחוקה מתפקדת זהה לחלוטין להודעה לא מחוקה, רק שהתוכן שלה בשרת יהיה [deleted]
  • טבלת קבצים (לא נתעמק בזה עכשיו - אבל זה דומה מאוד להודעות בקונספט).
  • טבלת חברים (מי חבר של מי, כמה, והאם הוא שונא אותו)
  • טבלת משתמשים (לא ייחודית לש"א, אבל בשימוש כמובן גם)

 

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

 

 

זהו בגדול.

זה טבלה די פשוטהמשה

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

 

מספר בשרשור זה מספר עוקב של ההודעה ביחס לראש השרשור (ראש = 0)

וידאו/אודיו/תמונה זה פשוט בוליאני שלפיו אני מציג את האייקונים שאתם מכירים כבר

 

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

 

 

 

מינימום ומקסימום 

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

מקסימום - גם משיקולים גרפיים וגם כי פשוט זה המקום שיש בשרת -SQL. יש שם מגבלה ויותר מזה אין מקום.

כי הכותרת היא varchar והטקסט זה textמשה

varchar זה שדה שמוגבל באורך שלו (במקרה הזה 60)

text זה שדה אחר, עם מגבלות אחרות.

 

כשמתכננים בסיס נתונים מתכננים גם את המגבלות שלו, ובהתאם מעצבים את המערכת עצמה.

למה כן?משה
כן. זה מסמן שנפלה התקשורתמשה

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

 

 

יש אלגוריתם שמתחשב גם בתוכן ההודעות ולא רק בכמות שלהןמשה


מעדיף לשמור את זה סמוי, שלא ינוצל לרעהמשהאחרונה


חדשות מסעירות:אברהם יאיר שטרן

אסף גרניט: היד שלי שחורה בגלל האקסיות.

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

חדשות מסעירות: - נסיונות פעילים

..זית שמן ודבש

אני אבוא חשבון עם מצביעי נעם ווינטר על מה שהם מבשלים לנו.

אם לא היו יוצאים נגד וינטרבריו

אז הוא היה עובר

הוא קיבל כמעט 2.5 אחוז מהקולות

..זית שמן ודבשאחרונה

גם ככה הוא לא היה עובר.

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

הוא קיבל רק 1.6 אחוזים.

..זית שמן ודבש

יפה יפה. אבל לא בשבילי.

אנשים לכו להצביעזית שמן ודבש

..זית שמן ודבש
עבר עריכה על ידי זית שמן ודבש בתאריך ט"ז בחשוון תשפ"ז 12:49

האמת היא שהוא היה ממלכתי

לפחות זה