דניאל עמרם ללא צנזורה בטלגרם
דניאל עמרם ללא צנזורה
לפניות
וואצפ: wa.me/12017438674
טלגרם: @danielamram1
טוויטר: twitter.com/danielamram3
אינסטגרם: instagram.com/danielamram6
טיקטוק: tiktok.com/@danielamram22
דיסקורד: https://discord.gg/6QqSm3hX2d
Last updated 1 month, 3 weeks ago
ksp.co.il
כל המבצעים הכי חמים בזמן אמת
כל הערוצים הרשמיים:
פייסבוק https://www.facebook.com/OnKsp
אינסטה https://www.instagram.com/ksp.co.il
טיקטוק https://www.tiktok.com/@ksp.co.il
טלגרם https://t.me/KSPcoil
וואטסאפ https://ksp.co.il/link/Whatsapp
Last updated 1 month, 2 weeks ago
ערוץ הטלגרם האמין ביותר בטלגרם
בתחומי הצבא, המודיעין והביטחון וכמובן ללא צנזורה
כל תיעוד העולה בערוץ ללא קרדיט, הוא במסגרת שימוש לפי סעיף 27 א, הערה חשובה כל הנכתב בערוץ הוא על אחריות הכותב והמדווח
Last updated 6 months, 3 weeks ago
פיתרון Advent Of Code 2024 יום 4 בשפת Ruby
את התרגיל הזה קלוד לא הצליח לפתור, לפחות לא עם הפרומפט הפשוט שהדבקתי לו, לכן כבר הרגשתי שמח כשפתרתי אותו לבד. בסיפור שלנו היום אנחנו מקבלים קלט בצורה של מטריצה עם כל מיני אותיות למשל:
```
..X...
.SAMX.
.A..A.
XMAS.S
.X....
```
בחלק הראשון עלינו למצוא את כל המופעים של המילה XMAS בקלט אבל בכל הכיוונים (כולל אלכסונים והפוך), כמו בתפזורת מילים. בחלק השני צריך לחפש רק מופעים של MAS שמגיעים בצורת X כלומר:
```
M.S
.A.
M.S
```
וגם הם יכולים להיות הפוכים.
התרגיל המקורי נמצא בעמוד שלהם כאן:
https://adventofcode.com/2024/day/4
פיתרון חלק 1
בשביל שני החלקים היה לי נוח לשמור את הקלט במילון, כשהמפתח הוא אינדקס והערך הוא התו שנמצא באינדקס הזה. בתרגילים של AoC למדתי שיותר קל לעבוד עם מילונים כאלה מאשר עם מערכים דו מימדיים. זה הקוד שיוצר את המילון ברובי:
```
$matrix = File.read('input.txt').lines.each_with_index.flat_map do |line, line_index|
line.split('').each_with_index.map do |char, column_index|
{[line_index, column_index] => char }
end
end.reduce({}) {|acc, val| acc.merge(val) }
```
קצת ארוך אבל עובד. אם יש לכם רעיונות יותר קצרים אפשר לשתף בתגובות.
הפונקציה הבאה שכתבתי היתה go שפשוט מתקדמת מספר צעדים בכיוון מסוים. הכיוון הכללי לפיתרון היה לרוץ על כל האינדקסים במילון, מכל אינדקס להתקדם 4 צעדים לכל 8 הכיוונים ולראות אם כתובה שם המילה XMAS. הפונקציה go נראית כך:
```
def go(start, direction, steps = 4)
Enumerator.produce(start) { |r, c| [r + direction[0], c + direction[1]] }.take(steps)
end
```
והפונקציה המרכזית של הפיתרון היא count_words_around
שלוקחת נקודה ומריצה את go לכל 8 הכיוונים ואז סופרת כמה מהכיוונים האלה מכילים את המילה XMAS:
```
def count_words_around(point)
indexes = [[0, 1],
[1, 1],
[1, 0],
[1, -1],
[0, -1],
[-1, -1],
[-1, 0],
[-1, 1]].map { |direction| go(point, direction, 4) }
indexes.count { |path| $matrix.slice(*path).values.join('') == 'XMAS' }
end
pp $matrix.keys.map {|point| count_words_around(point) }.sum
```
חלק 2
בחלק השני יצרתי מטריצה באותו אופן אבל על הפונקציה go כבר וויתרתי. במקום ללכת 4 צעדים מספיק לקחת את ה X שמסביב לנקודה ולבדוק אם כתוב בו MAS או SAM. זה הקוד:
```
def count_words_around(point)
return 0 if $matrix[point] != 'A'
around = [
[-1, -1],
[0, 0],
[1, 1],
[-1, 1],
[0, 0],
[1, -1]
].map { |direction| [point[0] + direction[0], point[1] + direction[1]] }
.map {|i| $matrix[i] }.join('')
if %w[MASMAS MASSAM SAMMAS SAMSAM].include?(around)
1
else
0
end
end
pp $matrix.keys.map {|point| count_words_around(point) }.sum
```
טיפ פייתון: מחיקת שורה ראשונה מטקסט עם StringIO
הפונקציה הבאה מקבלת מחרוזת טקסט ומחזירה את הטקסט בלי השורה הראשונה:
```
def remove_first_line(text):
return '\n'.join(text.splitlines()[1:])
```
אבל אם בטעות נעביר ל None היא תזרוק Exception. בנוסף חיבור המחרוזות עם n
עלול להיות מבלבל כי מי שיגיע לקרוא את הקוד עלול לתהות מה קורה ב Windows שם תו סוף השורה הוא שונה. לפעמים זה רעיון טוב לעצור את התוכנית אם מקבלים None, אבל לפעמים אנחנו רוצים לבנות משהו יותר גמיש. דרך נוספת למחוק את השורה הראשונה היא הקלאס StringIO מתוך המחלקה io. הנה גירסה שנייה של אותה פונקציה:
```
def remove_first_line(text: str):
f = StringIO(text)
f.readline()
return f.read()
```
הפונקציה יוצרת אוביקט שנראה כמו קובץ, אבל בעצם קורא מחרוזת מרובת שורות. בעזרת המתודות readline ו read אנחנו יכולים לקבל את כל השורות שאחרי הראשונה, בלי לפרק ולהדביק מחדש את השורות וגם אם מעבירים לפונקציה None הכל עדיין מסתדר והיא תחזיר מחרוזת ריקה.
לספר מה בנינו או לדעת מה נבנה?
מה עדיף, לכתוב את הבדיקות לפני או אחרי הקוד? ואת דף הפרויקט בגיאהב? ואת התיעוד? והמדריך למשתמש?
בעבודה על פרויקט צד, רבים מעדיפים קודם לבנות את הפרויקט ואז לספר לעולם מה בנינו: אחרי כתיבת הקוד מנסחים הודעת קומיט, אחרי שהקוד מוכן כותבים בדיקות ותיעוד, אחרי שהפרויקט באוויר כותבים דף פרוקיט בגיטהאב ואחרי שהוצאנו גירסה חדשה כותבים ב Release Notes מה עשינו. התוצאה הרבה פעמים היא פרויקט "שצריך עוד תשומת לב" ומפתח שכבר התעייף מתחזוקה שלו. חלק גדול מהגישה הזאת נובע מפחד, פחד להתחייב.
אם נשים את הפחד בצד רגע נוכל לנסות גישה שונה:
בפרויקט קוד פתוח - מתחילים מבניית דף גיטהאב לפרויקט ומסבירים מה יהיה בו, מה הארכיטקטורה, מה התהליכים המרכזיים במערכת, באיזה טכנולוגיות נשתמש וכן גם איך אפשר לתרום קוד לפרויקט. כבר בקומיטים הראשונים מייצרים את ה Action שמעביר את הפרויקט לפרודקשן.
בפרויקט בתשלום - מתחילים מבניית דף נחיתה לפרויקט שמסביר מה אנחנו רוצים לבנות, כולל "צילומי מסך" ו Use Cases למוצר, והכי חשוב תיבה לאיסוף מיילים של אנשים שמתעניינים בפרויקט.
נכון, לבנות מוצר לפי Spec זה פחות מלהיב מ"לגלות תוך כדי תנועה", אבל מגדיל את הסיכויים שהפרויקט יראה אור יום בתור פרויקט שנהיה גאים בו.
מציפיות לתוכנית עבודה
יש שתי בעיות עם ציפיות גבוהות מדי:
כשזה לא מצליח אנחנו נוטים להתאכזב ולהתייאש.
ככל שאנחנו פחות מבינים בתחום ככה הציפיות שלנו יהיו עוד יותר לא ריאליות.
כשהתחלתי ללמוד ספרדית פגשתי בחור שסיפר שהוא למד ספרדית במטוס לטיול הגדול בדרום אמריקה, וכשהוא נחת שם הוא דיבר ספרדית עם כולם והכל הלך לו בקלות. "ספרדית זה ממש קל" הוא אמר. נדבקתי במוטיבציה והחלטתי שגם אני יכול ללמוד ספרדית בשעתיים. אומנם לא היה לי טיול מתוכנן לדרום אמריקה אבל היה לי ספר בספרדית בשם "צלה של הרוח״ והחלטתי שאותו אני אקרא. בתור בחור שלמד חודשיים דרך דואולינגו הייתי בטוח שכל מה שצריך זה מילון וסבלנות. אבל כמובן שלא הערכתי נכון את מידת הסבלנות שבאמת היתה דרושה.
גם בלימודי תכנות יש אקוסיסטם שלם של ציפיות לא ריאליות - בקורסים, ביוטיוב, ברשתות חברתיות ומה לא. אנשים יספרו לכם איך בלי שום ידע קודם ובעזרת AI הם בונים אפליקציות ואתרים, ושתוך שעתיים אפשר ללמוד להיות מתכנתים, למצוא עבודה ואפילו משקיעים לסטארט-אפ. הם לא משקרים, בהחלט יכול להיות שלהם זה הצליח, כמו שבהחלט יכול להיות שהבחור שפגשתי למד ספרדית בכמה שעות טיסה. אבל זה לא אומר שזה יצליח עבורכם.
דרך יותר ריאלית להעריך את החלום ולהפוך אותו לתוכנית עבודה זה להסתכל על המסלולים שרוב האנשים עושים - דברו עם 10 או 20 אנשים שעשו את מה שאתם רוצים לעשות ותבררו מה הם עשו וכמה זמן זה לקח. לזה תוסיפו מרווחי ביטחון ומפה אפשר לבנות תוכנית עבודה.
אנחנו בונים
"אנחנו" זאת הדרך הכי מהירה לקבל ביטחון, כח והרגשת השפעה. "אנחנו בונים דרך חדשה לשמור מידע בענן", "אנחנו בונים חומת אש חדשה שתשמור מכל פריצה", "אנחנו מלמדים קורסים מתקדמים בפיתוח תוכנה". אחרי "אנחנו" אפשר לכתוב משפט מפוצץ שגם יהיה נכון, כי המון אנשים עובדים עליו יחד.
"אנחנו" אומר שאני לא לבד, שיש עוד אנשים שמאמינים בדבר שאני עושה, עוד אנשים שמקדישים את הזמן שלהם כדי לקדם את אותו דבר. כשאנחנו מצליחים אני חלק ממשהו גדול, וכשהדבר שאנחנו בונים לא בדיוק מצליח או לא מצליח כמו שחשבתי שצריך זה בטח לא בגללי.
לעומתו "אני" הוא הרבה יותר קטן. "אני מלמד קורס תכנות מונחה עצמים בסביבת Python", "אני מתקן בעיות במאגרי גיט", "אני גורם לאתרים להיטען מהר יותר". סגנון הדיבור הזה לא מוגבל רק לפרילאנסרים, גם מי שעובד בחברה יכול לבחור להציג את העשייה שלו דרך "אני" או דרך "אנחנו", עם היתרונות והחסרונות של כל גישה.
במקום לבחור צד, אני ממליץ להתאמן על שני הסגנונות ולהחליף ביניהם. הסיפור הוא פחות הזהות שלכם ויותר הסיטואציה ומול מי אתם מדברים. כשיש ספק, עדיף להתחיל עם "אני".
כמה באמת עולה כרטיס לוטו?
קל לראות למה אנשים נמשכים לאפשרות של זכייה בלוטו - בין אם זה הגרלה אמיתית לכסף או לוטו במובן המטאפורי, ההזדמנות להשקיע מעט ולהרוויח הרבה. החלום של אולי יהיה לי מזל ואקבל קיצור, אולי מצאתי דיל מטורף שאף אחד לא מצא לפניי, אולי עליתי פה על משהו.
אנחנו אוהבים את זה כי הלוטו מסתדר רעיונות שיש לנו כבר בראש:
"אם לא תנסה איך תזכה"
"זה רק 20 ש"ח, חבל לא לנסות"
"ממילא אין לי משהו אחר לעשות עם הכסף"
וככה בן אדם מחפש עבודה ומתחיל לשלוח קורות חיים לחברות השמה ושולח לעוד ועוד מעסיקים פוטנציאליים כי "אם לא תנסה איך תזכה", ו"כמה כבר עולה לי לשלוח עוד מייל" ו"ממילא אני יושב בבית כל היום ויש לי המון זמן פנוי". אבל הזמן שעובר לא מביא ליותר ראיונות אלא דווקא להיפך.
או בן אדם חולם על הסטארט-אפ הבא ומתחיל לבנות מוצר שנראה לו מדליק, מתעסק בעיקר בצד הטכנולוגי בלי לחשוב על משתמשים פוטנציאליים ושיווק וכל החלקים הקשים של בניית עסק, כי "אם לא תנסה איך תזכה", "זה רק שעה ביום חבל לא לנסות" וגם "מה עדיף לבזבז את הזמן על נטפליקס?" ואחרי כמה חודשים הבן אדם עוזב ומתחיל פרויקט חדש או שהמוצר עולה לאוויר ומגלים שזה לא מעניין אף אחד.
המחיר האמיתי של כרטיס לוטו הוא לא עלות הכרטיס אלא צורת החשיבה של השתתפות בהגרלה. צורת חשיבה שמעודדת ניסיון על פני הצלחה וכישלון על פני מחויבות. וכן כרגע זה באמת נראה שאין אופציה אחרת, שהדבר היחיד שיש לעשות הוא להמשיך לעבוד על אותו פרויקט, לשלוח קורות חיים לעוד מעסיק או לקנות טופס הגרלה. וזאת בדיוק הסיבה שלא כדאי לעשות את זה.
תמיד יש עוד אופציות. אבל המחיר האמיתי של כרטיס לוטו הוא שהשתתפות בהגרלה מסתירה את האופציה האחרת, הקשה יותר: האופציה של לחסוך 20 ועוד 20 ועוד 20. האופציה של לכוון לתפקיד מדויק ולעשות הכל כדי להשיג אותו. האופציה של לבנות את הפרויקט שבאמת אנשים צריכים. כשקשה לראות את האופציה הבטוחה, הדבר הראשון לעשות הוא לצאת מההגרלה.
סדרת SQL בסיסי - פוסט 15 - משפט WHERE
פקודות select ו update יכולות להסתיים ב where כדי לדייק את השורות עליהן עובדים. ראינו בשיעורים קודמים איך להשתמש ב where כדי למצוא שורות עם ערך ששווה לערך קבוע מסוים או שורות עם ערכי NULL. בשיעור זה נראה עוד כמה אפשרויות לשימוש במשפטי where.
שונה, גדול מ, קטן מ
אחרי השווה כמובן שצריכים להמשיך לשונה גדול וקטן. בואו ניצור קצת נתונים:
```
CREATE TABLE paper_clips (
id INTEGER PRIMARY KEY,
type VARCHAR(50) NOT NULL,
size VARCHAR(20),
color VARCHAR(20),
quantity INTEGER
);
INSERT INTO paper_clips (type, size, color, quantity) VALUES
('standard', 'medium', 'silver', 100),
('binder', 'large', 'black', 50),
('mini', 'small', 'red', 200),
('jumbo', 'extra_large', 'blue', 30),
('colored', 'medium', 'green', 150);
```
ולשאילתות:
```
SELECT * FROM paper_clips WHERE color != 'silver';
```
```
SELECT * FROM paper_clips WHERE quantity > 100;
```
```
SELECT * FROM paper_clips WHERE quantity < 100;
```
```
SELECT * FROM paper_clips WHERE quantity >= 50;
```
```
SELECT * FROM paper_clips WHERE size > 'hello';
```
השאילתה האחרונה נשמעת מוזרה - מה זה אומר שהגודל גדול יותר מהמילה hello
? הרי גודל הוא מחרוזת? התשובה שב SQL אנחנו משווים מחרוזות לפי המיקום שלהן בסדר מילוני, לדוגמה מילה שמתחילה ב d תהיה גדולה יותר ממילה שמתחילה ב a.
בין
המילה between מאפשרת לבחור ערכים שנמצאים בטווח מסוים לדוגמה כל השורות בהן הכמות היא בין 20 ל 50:
```
SELECT * FROM paper_clips WHERE quantity between 20 and 50;
```
תנאי between כולל את שני הערכים שבקצה ולכן השאילתה תחזיר גם שורות בהן ה quantity היא 20, 50 וכל מה שביניהם.
אחד מ
המילה in מאפשרת לבחור שורות בהן הערך שאנחנו מחפשים הוא אחד מכמה ערכים קבועים. לדוגמה הצגת כל השורות בהן הגודל הוא large או small:
```
select * from paper_clips where size in ('large', 'small');
```
חיבור תנאים (או, וגם, לא)
ניתן לחבר מספר תנאים בפקודת WHERE באמצעות המילים AND, OR ו NOT. המילה OR תחזיר תנאי שיצליח אם אחד מהתנאים שמרכיבים אותו הוא אמיתי, המילה AND דורשת שכל התנאים שמרכיבים את התנאי הגדול יהיו אמיתיים והמילה NOT הופכת תנאי. כמה דוגמאות:
```
select * from paper_clips where size in ('large', 'small') AND quantity > 100;
```
```
select * from paper_clips where quantity < 50 OR quantity > 150;
```
```
select * from paper_clips where
(quantity < 50 AND size in ('small', 'medium'))
OR quantity > 150;
```
```
select * from paper_clips where color = 'red' AND quantity > 100;
```
```
select * from paper_clips where NOT (color = 'red' AND quantity > 100);
```
שימו לב שאני משתמש בסוגריים כדי לחבר תנאים כשהחיבור מסובך כדי להבהיר לקורא ולמחשב מה סדר הפעולות לביצוע - בדוגמה האחרונה כדי להבהיר שה NOT מופעל על כל התנאי שאחריו, וה AND מופעל רק על שני התנאים שצמודים אליו.
סדרת SQL בסיסי - פוסט 14 - ערכים ריקים
הערך המיוחד NULL מייצג ב SQL מצב בו אנחנו לא יודעים מה הערך בעמודה או שערך בעמודה לא קיים. בשיעור זה אראה מספר דגשים לעבודה איתו.
הכנסת ערכים ריקים
פקודת INSERT שלא מציינת עמודה אחת או יותר תגרום להכנסת הערך NULL לאותה עמודה שלא הופיעה בפקודה, אלא אם כן לאותה עמודה הוגדר ערך ברירת מחדל. לדוגמה:
```
create table demo(id integer primary key,
a integer default 0,
b integer,
c varchar(20),
d varchar(50) default 'Unknown');
insert into demo(c) values('hello');
select * from demo;
```
מחזירה לי טבלה עם השורה הבודדת:
```
id a b c d
1 0 hello Unknown
```
העמודה c קיבלה את הערך hello מפקודת ההכנסה, העמודה d קיבלה את הערך Unknown כי זה היה ערך ברירת המחדל שלה, העמודה id קיבלה את הערך 1 שזה id שנוצר אוטומטית והעמודה a קיבלה את הערך 0 כי זה היה ערך ברירת המחדל שלה. העמודה b לעומת זאת נשארה ריקה, כלומר מכילה את הערך המיוחד NULL.
אפשר גם להכניס NULL כשאנחנו מבצעים הכנסה של מספר שורות, או אם יש כבר הגדרת ערך ברירת מחדל לעמודה לדוגמה הפקודה הבאה שומרת את הערך NULL בעמודה a, למרות שלעמודה מוגדר ערך ברירת מחדל:
```
insert into demo(a) values(null);
```
והפקודה הבאה מוסיפה מספר שורות בשלוש מהן יש ערך לעמודה b ובאחת העמודה תישאר ריקה, כלומר עם הערך NULL:
```
insert into demo(b) values (5), (8), (null), (9);
```
בשביל להוסיף שורה שמורכבת רק מערכי ברירת המחדל לטבלה אני יכול להפעיל:
```
insert into demo default values;
```
חיפוש ערכים ריקים (או לא ריקים)
כל ערכי ה NULL שונים זה מזה ולכן אי אפשר לחפש באיזה שורות ערך של עמודה מסוימת שווה ל NULL. השאילתה הבאה תחזיר תוצאה ריקה:
```
SELECT * FROM demo WHERE b = NULL;
```
במקום זה אנחנו צריכים להשתמש בפונקציה IS_NULL
. הדרך הנכונה להציג את כל השורות עבורן יש ערך ריק בעמודה b היא:
```
SELECT * FROM demo WHERE b IS NULL;
```
אפשר גם לחפש את כל השורות בהן הערך של b אינו NULL עם הפקודה:
```
SELECT * FROM demo WHERE b IS NOT NULL;
```
הפונקציה COALESCE
בעבודה עם NULL יהיו שאילתות בהן כן נרצה לראות איזשהו ערך ברירת מחדל במקום הערך הריק בעמודה. במצבים כאלה נוכל להשתמש ב COALESCE. פונקציה זו מקבלת מספר ערכים ומחזירה את הראשון ביניהם שאינו NULL.
בשביל להשתמש בה נעביר כפרמטר ראשון לפונקציה עמודה שאולי יש בה ערך NULL וכפרמטר שני ערך ברירת מחדל שיוצג אם הערך הראשון הוא NULL. לדוגמה אם במקום ערכים ריקים מהטבלה אני רוצה שיוצג המספר 0 אני כותב:
```
SELECT id, a, coalesce(b, 0), c, d FROM demo;
```
והתוצאה:
```
id a coalesce(b, 0) c d
1 0 0 hello Unknown
2 0 Unknown
3 0 5 Unknown
4 0 8 Unknown
5 0 0 Unknown
6 0 9 Unknown
7 0 0 Unknown
```
עכשיו אתם
1. נסו להכניס NULL לכל אחת מהעמודות בטבלה (כולל id). מה קורה?
מחקו את כל השורות עבורן הערך של b הוא NULL.
מחקו את כל השורות עבורן הערך של d אינו NULL.
צרו מחדש כמה שורות עם הערך NULL בעמודה b ואז עדכנו את כל השורות בהן הערך של b הוא NULL להחזיק את הערך 5.
סדרת SQL בסיסי - פוסט 13 - תרגול עבודה עם מידע
תרגול מערכת עובדים
צרו בסיס נתונים חדש ובו טבלה בודדת בשם employees עם העמודות:
id
first_name
last_name
email
hire_date
salary
חשבו איזה סוג מידע יתאים לכל עמודה.
אחרי יצירת הטבלה הוסיפו עמודה בשם role
שמתארת את התפקיד של העובד בחברה, ואז הכניסו מספר שורות לטבלה.
עדכנו את כל העובדים שהצטרפו לחברה אחרי שנת 2020 והעלו להם את המשכורת ב 10%.
לסיום מחקו את הטבלה.
השאלת ספרים
צרו בסיס נתונים חדש ובו טבלה בודדת בשם books
עם העמודות:
id
title
author
publication_date
genre
הוסיפו עמודה בשם status
שצריכה לשמור האם הספר נמצא כרגע בהשאלה או שהוא על המדף ועמודה בשם return_date
שתחזיק את התאריך בו צריכים להחזיר את הספר (אם הוא לא בהשאלה העמודה תהיה ריקה).
הוסיפו מספר שורות ולאחר מכן עדכנו את אחת מהן לעבור להשאלה וציינו גם תאריך החזרה.
הציגו את כל הז'אנרים של הספרים ללא כפילויות.
מחקו את כל הספרים שנמצאים בהשאלה
מחקו את הטבלה.
```
Requirements:
- Experience with SEO, SEM, and social media advertising
- Proficiency in Google Analytics and AdWords
- Strong written and verbal communication skills
- Ability to analyze data and generate actionable insights
- 2+ years of experience in digital marketing
Expected Pay: $60,000 - $80,000 per year
---
Company Name: Global Enterprises
Company Location: 456 Corporate Blvd, San Francisco, CA
Role: Human Resources Manager
Description: Global Enterprises is seeking a seasoned Human Resources Manager to oversee all aspects of HR practices and processes. The successful candidate will play a key role in developing HR strategies, managing employee relations, and ensuring compliance with labor laws.
Requirements:
- Bachelor's degree in Human Resources, Business Administration, or related field
- Proven experience as an HR Manager or similar role
- Knowledge of HR systems and databases
- Excellent interpersonal and communication skills
- Strong leadership and decision-making abilities
Expected Pay: $90,000 - $110,000 per year
---
Company Name: Creative Studio
Company Location: Remote
Role: Graphic Designer
Description: Creative Studio is looking for a talented Graphic Designer to join our team. You will work on a variety of design projects, from digital graphics to print materials, and collaborate with other creatives to bring ideas to life.
Requirements:
- Proficiency in Adobe Creative Suite (Photoshop, Illustrator, InDesign)
- Strong portfolio showcasing design skills
- Understanding of design principles and typography
- Excellent communication and teamwork skills
- 2+ years of experience in graphic design
Expected Pay: $50,000 - $70,000 per year
---
Company Name: Fast Sales Solutions
Company Location: 789 Sales Avenue, Chicago, IL
Role: Sales Representative
Description: Fast Sales Solutions is seeking a motivated Sales Representative to join our team. The ideal candidate will have a knack for building relationships, closing deals, and exceeding sales targets.
Requirements:
- Proven experience as a Sales Representative
- Excellent communication and negotiation skills
- Ability to work independently and as part of a team
- Strong organizational and time-management skills
- Willingness to travel
Expected Pay: $50,000 - $75,000 per year + commission
```
העבירו את הרשימה לטבלה בבסיס נתונים. נסו לחשוב איזה עמודות אתם צריכים ומה צריך להיות טיפוס הנתונים בכל עמודה. לאחר מכן:
הציגו את שמות כל החברות שמגייסות.
הציגו את החברה שמציעה את השכר הגבוה ביותר.
דניאל עמרם ללא צנזורה בטלגרם
דניאל עמרם ללא צנזורה
לפניות
וואצפ: wa.me/12017438674
טלגרם: @danielamram1
טוויטר: twitter.com/danielamram3
אינסטגרם: instagram.com/danielamram6
טיקטוק: tiktok.com/@danielamram22
דיסקורד: https://discord.gg/6QqSm3hX2d
Last updated 1 month, 3 weeks ago
ksp.co.il
כל המבצעים הכי חמים בזמן אמת
כל הערוצים הרשמיים:
פייסבוק https://www.facebook.com/OnKsp
אינסטה https://www.instagram.com/ksp.co.il
טיקטוק https://www.tiktok.com/@ksp.co.il
טלגרם https://t.me/KSPcoil
וואטסאפ https://ksp.co.il/link/Whatsapp
Last updated 1 month, 2 weeks ago
ערוץ הטלגרם האמין ביותר בטלגרם
בתחומי הצבא, המודיעין והביטחון וכמובן ללא צנזורה
כל תיעוד העולה בערוץ ללא קרדיט, הוא במסגרת שימוש לפי סעיף 27 א, הערה חשובה כל הנכתב בערוץ הוא על אחריות הכותב והמדווח
Last updated 6 months, 3 weeks ago