Q-Club 25.05.1910:51

צריך עזרה לגבי מבחן קבלה לעבודה שהביאו לי לעשות בבית

אהלן, אני מתמיין למשרה שאני ממש רוצה. המראיין הביא לי מבחן מאוד פשוט לעשות(משרת סטודנט ראשונה שלי ) בגדול סיימתי את המשימה רק רציתי לוודא שזה נשמע לכם הגיוני (בעלי ניסיון)
זאת המשימה :
Here is the task, please don't spend more than a few hours on it.
Develop a log server which accepts log requests from a Java or python client and keeps them in a mysql db. The server should also prints them onto the screen.
The client requests should be in REST.
The best will be if you can also install this server on a web server and give us a url for sending log requests and getting the info from the DB.

בגדול השתמשתי ב spark framework בפונקציות ממש פשוטות - get ו פוסט.
זה נראה ככה :


כתבתי את הלוגים לתוך json ואז לתוך DB מקוון.
הבעיה שלי עם החלק האחרון, אני לא מבין איך להעלות את השרת לשרת web...
חשבתי לפתוח את הip שלי באמצעות ddns אבל אז זה אומר שהמחשב שלי יהיה חייב לרוץ עד שהוא יבדוק את העבודה ואני לא בטוח שלזה הוא התכוון.
אשמח לחוות דעת ועצות... תודה רבה.
ShocKi 25.05.1911:15
1. מכתב בתגובה להודעה מספר 0
יש שרותים שמציעים לך שרתי mysql לצורך בדיקות למשל:
https://www.db4free.net/?
https://www.freemysqlhosting.net/?

בשום מקרה אתה לא אמור להפוך את המחשב שלך לשרת.

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

אבל אם כבר אילצו אותך ללכת בכיוון הזה וכפו עליך להשתמש ב MySQL אז זה רעיון חביב:
https://scotch.io/tutorials/working?...

אגב, סביר להניח שבראיון ישאלו אותך שאלות על הנושא הזה אז כדאי גם שתעמיק בו מעבר לפתרון שנתת... למשל איזה מסדי נתונים יהיו טובים יותר לפעולה הזאת או שמירת הלוגים כקבצים בשירות כמו google storage ולבנות מעליהם טבלה חיצונית.
Q-Club 25.05.1912:47
2. תודה רבה, מכתב. בתגובה להודעה מספר 1
מה שנראה לי שהוא רוצה זה קישור כדי לבדוק את מה שעשיתי (להכניס בקשות ב rest api )

בתוך הקוד כמובן שעשיתי שימוש בשרת sql החלק שאני מתקשה בו זה להעלות את הקוד שעשיתי לאוויר. יש לך רעיון איך לעשות את זה מבלי להפוך את המחשב שלי לשרת?
ShocKi 25.05.1913:31
3. כן ב aws בתגובה להודעה מספר 2

ערכתי לאחרונה בתאריך 25.05.19 בשעה 13:34 בברכה, ShocKi

מגיע לך 750 שעות ניסיון
https://aws.amazon.com/rds/free/?tag=rotter0fa-20
תרים db.t2.micro Instance שמריץ mysql.

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

מניח שמה שהוא רוצה זה לעשות get ו post.
נראה לי שאתה תקבל אקסטרא נקודות אם תעשה גם https://swagger.io/?
זה כלי שמאפשר למשתמש לדעת איך לעבוד עם ה API.
Q-Club 25.05.1913:51
4. מכתב בתגובה להודעה מספר 3
אני לא כלכך מבין בזה לכן אחדד את השאלה על מנת שתגיד לי אם השרת של אמזון זה מה שמתאים לי באמת. במידה וכן אחקור את הנושא.

פתחתי מחלקה שנקראת MySQLProvider.java ששם יש את החיבור לשרת DB החיצוני זה עובד נהדר.

כרגע מה שאני צריך זה שהשרת שהקמתי (הג'וואי תוך כדי שימוש ב spark ) יהיה מחובר לרשת במקום LocalHost:4567

הפרויקט מכיל שלושה קבצי java וקובץ xml עבור ה dependency
עדיין אתה ממליץ להקים Amazon RDS ?

שוב, תודה רבה.

@ShocKi@
ShocKi 25.05.1913:59
5. מה ששלחתי לך זה mysql פשוטו כמשמעו בתגובה להודעה מספר 4
אם למשל אתה עובד עם mysql workbrench אז במקום לתת localhost אתה נותן את הכתובת של האחסון ב aws.
זה פשוט mysql שיושב בענן זה הכל.

כל מה שאתה עושה לוקאלית אתה יכול לעשות גם על הענן.

אם אתה צריך בנוסף למסד נתונים גם מכונה אז אתה יכול להקים ב aws בעזרת ec2.

אתה יכול על השרת של ה ec2 גם להתקין בעצמך mysql לוקאלי ולהתחבר אליו במקום לעשות mysql rds.

במילים פשוטות AWS מציעים לך:
1. להקים מסד נתונים כשירות rds
2. להקים מכונה כשירות EC2 ואתה תבחר מה לעשות איתה. בין היתר תוכל להתקין mysql לוקאלי.
Q-Club 01.06.1918:08
10. תודה רבה, בסוף עשיתי deploy באמצעות heroku. הכי קל בעולם. בתגובה להודעה מספר 5




@ShocKi@
code_blue 25.05.1914:57
6. מה הכוונה ב DB מקוון? בתגובה להודעה מספר 0
וגם לא הבנתי את ה get/post הרי אתה מקבל מידע ולא שולח (מלבד לניסיון של שליחת לוג)

בגדול אתה יכול להשתמש ב flask שהוא שרת ווב לתמיכה בקבלת בקשות ב http ואז ביצוע פעולה בפייתון והחזרת תשובה

השלבים שאתה צריך לוודא שיש לך
1. קבלת המידע ב rest - פונקציה שקוראת את ה get/post ומפרסרת אותו
2. מכניסה ל DB
3. מציגה על המסך

1 ו 3 הם דברים שתוכל להשיג עם flask כמו שכתבתי

@Q-Club@

נשלח ע"י הסלולרי
Q-Club 01.06.1918:05
8. נשמע ש flask זה בדיוק מה שהייתי צריך, אבל הסתדרתי מעולה עם spark java בתגובה להודעה מספר 6
כמה עוד 29.05.1917:30
7. הסתדרת בסוף? בתגובה להודעה מספר 0
ֲֲ@Q-Club@
Q-Club 01.06.1918:06
9. אכן, התקבלתי (: בתגובה להודעה מספר 7
כמה עוד 01.06.1918:23
11. מעולה (: בתגובה להודעה מספר 9
code_blue 07.06.1919:39
12. אז פרספ קוד סופי בתגובה להודעה מספר 9
מעניין איך ביצעת את זה
@Q-Club@

נשלח ע"י הסלולרי
העבר לפורום אחר
העבר לפורום:
סיבה:
תגובה חדשה
כותרת:
תוכן:
סמיילים:
הצג
עריכת אשכול
כותרת:
תוכן:
סמיילים:
הצג