Quantcast
Channel: גיקטיים - סטארטאפ והון סיכון
Viewing all articles
Browse latest Browse all 5527

הירושה של Everything.me - הפיתוח מוצע בקוד פתוח

$
0
0
everything.me

 

everythingme

מאת ג׳ואי שמחון, מייסד ו-CTO ב-EverythingMe.

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

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

אז בלי יותר מדי הקדמות, הנה מה שהצלחנו לפתוח:

פרסום אלגוריתם החיזוי שלנו

אחד הדברים ש-EverythingMe היתה ידועה בו, היה ה-prediction bar: איזור במסך הבית שהוקדש להצפת אפליקציות עם סבירות גבוהה לשימוש עכשווי. הוא לא נשען על אלגוריתם Frequency פשוט או דירוג פופולריות שלא היו משיגים את התוצאה שכיוונו אליה – מציאת האפליקציה שאתם משתמשים בה רק בשישי בוקר כשחניתם בעיר. קראנו לזה Magic Moments.

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

היום אנחנו משחררים טיוטה למסמך שיפורסם בקרוב, שמתארת את הגישה והמימוש שלנו.

פתיחת קוד וכלים פנימיים

תשתית וצד שרת

Vertex – תשתית ניהול API ב-Go

הדור השלישי לתשתית ה-API שלנו, שהיתה קריטית וסייעה לנו להתקדם מהר. במחיר הגדרת endpoints ו-payload, מקבלים כל כך הרבה יותר – שרת API מהיר, בדוק, בדיקת קלט ומחולל קליינטים ודוקומנטציה.

הדור הראשון והשני נקראו Gondor ונבנו ב-PHP לפני שהומרו לפייתון על גבי טורנדו.

תורמים: דביר וולק

Meduza – דאטה סטור מרובה שפות

דאטה סטור NoSql מרובה שפות, מרובה בסיסי נתונים, חסר סכמה עם Object mapper לביצוע קל של שאילתות והטמעת קוד.

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

תורמים: דביר וולק

Teleport

ספריית פייתון שמאפשרת להפעיל קוד בתוך קונטקסט של רשת תקשורת של ארץ ספציפית. זה נועד לרוץ בתוך קונטיינר של docker תוך שהוא משתלט על ה-namespace של כל הרשת. נדרשתם פעם ״לתת מבט״ על כתובות url מארצות אחרות? אנחנו בהחלט כן ולכן פישטנו את התהליך כך שלא נדרש יותר מאשר with בתוך קוד הפייתון.

תורמים: אדי מישלביץ׳, עומרי בהומי

כלים ופרודוקטיביות

Lobo – כלי פרודקטיביות למפתחים

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

לובו מכסה דברים כמו פתיחת בראנצ׳ים ב-git על סאבמודולים מרובים, עדכון סטטוס של טיקטים ב-JIRA, יצירת בילדים על שרת ה-CI שלנו ואפילו העלאת APK-ים מרובים אל הפליי סטור באמצעות ה-Google Publishing API. אפשר לראות אותו כמעין מערכת הפעלה לצוות הפיתוח.

תורמים: אדם קריב, רן ביירון

Jitt – תרגום אפליקציות מבוסס משתמשים לאפליקציות אנדרואיד

השירות מחזיק את כל המקורות שלכם יחד עם תרגומיהם ומאפשר למשתמשים להציע תרגומים או להצביע על הטובים. זה מגיע גם עם כלי cli בשם Jitter שעוזר להטמיע את Jitt בבילדים אוטומטיים.
תורמים: אדם קריב

Recat + PyRetrace

אלטרנטיבה ל-logcat עם דיאובפוסקציה בזמן אמת משחזר לוגים ״מעורבלים״ באמצעות PyRetrace (יישום בפייתון של הכלי Retrace של Proguard).

תורמים: רותם מזרחי

Overscroll Decor

ספריה שנותנת אפקט מתיחת גלילה כמו ב-iOS ל-native views רבים באנדרואיד. היא גם מאפשרת הרחבה פשוטה לתמיכה ב-custom views.

תורמים: עמית דווידי

Probe – מדידת ביצועים באנדרואיד

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

תורמים: רותם מזרחי

עוד כלים ששווה לציין

Redash

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

Magneto

התשתית שלנו לטסטים אוטומטיים באנדרויד קיבל ארגון משלו בגיטהאב ואנחנו יוצאים בקריאה לכל המעוניינים לעזור בתחזוקו – הוא זקוק לכם!

מוביל: רן ביירון

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

הפוסט פורסם לראשונה באנגלית בבלוג של EverythingMe ותורגם על ידי המחבר עבור גיקטיים.


Viewing all articles
Browse latest Browse all 5527