המלצה | לתכנת בלי לדעת תיכנות - היום זה אפשרי
-
אני משתמש הרבה ב Windsurf שמותקן במחשב, והרבה פעמים אני מבקש ממנו לעשות שינוי בקוד, ובסוף אני לא רוצה את השינוי ואני רוצה לחזור לקוד הקודם, הבעיה היא שהוא לא תמיד מצליח להחזיר את הקוד הקודם,
יש איפה שהוא לראות את ההיסטוריה של מה שהוא עשה, וככה למצוא את הקוד הישן? -
@צבי-מחשבים כתב בהמלצה | לתכנת בלי לדעת תיכנות - היום זה אפשרי:
@sivan22 כתב בהמלצה | לתכנת בלי לדעת תיכנות - היום זה אפשרי:
מהפכת הAI כבר כאן, ואחד הכלים החמים ביותר לאחרונה הוא עורך קוד עם סוכן AI מובנה בתוכו. יש חלון צ'אט קטן בתוך עורך הקוד, וניתן לשוחח עם מודל של בינה מלאכותית ולהנחות אותו במילים פשוטות מה אנחנו צריכים, והוא כבר יעשה הכל אבל הכל: לכתוב את הקוד, להריץ אותו, לבדוק שגיאות, להתקין תלויות. וכן, הוא מבין עברית מצויין.
אז לא צריך לדעת לכתוב קוד, לא צריך לדעת אפילו אנגלית. פשוט לשוחח בעברית עם הצ'אט ולראות את הקסם.
יש לי חבר שאינו יודע תיכנות בכלל, וגם אנגלית הוא כמעט לא יודע, ויצר תוכנה רצינית של ניהול קבוצות של ריפוי בעיסוק, הכל באמצעות הכלים הללו.
כאן אני אתן פירוט על שלשה כלים כאלו:
הראשון, ועליו אני ממליץ למתחילים, הוא windsurf. היתרון המרכזי הוא המחיר: חינמי ללא הגבלה. פשוט להוריד ולהתחיל לשוחח איתו בעברית.
השני, עליו אני ממליץ למתקדמים הוא cline - זהו תוסף לVSCODE בקוד פתוח, שנדרש כדי להפעיל אותו מפתח API בתשלום. ניתן להטעין החל מ5$. את המפתח ניתן להשיג לאחר הרשמה כאן.
במובנים מסויימים של איכות הוא עדיף לדעתי על הכלי הקודם, אם כי התחרות פתוחה והגרסאות של שני הכלים מתעדכנות כל העת.
הכלי השלישי הוא cursor הוא פועל בשיטה דומה מאד לקודמים, ויש לו תוכנית חינמית מוגבלת למדי, וכמובן תוכניות בתשלום.
חד משמעית, מהפכת ה-AI כאן ובועטת, יותר מידי חזק, הכלים שציינת ממש מרתקים בגישה החדשנית לקידוד ,אגב, גם התנסיתי בכמה מהם מתוך סקרנות. אבל עדיין הכלים האלו עדיין לא בשלים מספיק , ובמיוחד לאלא שאין להם רקע מוקדם בתכנות או נסיון טכנולוגי כלשהו .
אני מפתח תוכנה ומכיר היטב את הדרישות והביקושים בשוק, ההצלחה לא תלויה רק ביעילות או כתיבה של קוד נקי . הרבה מזה קשור להבנה עמוקה של ההקשר, חשיבה לוגית, יכולת יצירתית לפתור בעיות משהו שמגיע עם נסיון ועבודה יסודית .
אני כותב כאן, בתחושת תסכול, היה לי חבר שרצה להיכנס לעולם התכנות, והשקעתי לא מעט בלשכנע אותו וללמוד איתו . אבל מספיק היה לו לקרוא שמישהו טען שמפתחי תוכנה ייעלמו תוך שנה כדי לרדת מזה , זו דוגמה לכמה מהר אנשים יכולים להתרשם מהבטחות טכנולוגיות או מהייפ, בלי להבין את התמונה הרחבה.
אין ספק שה-AI הוא בשורה, חוסך זמן יקר ומאפשר לי להספיק משימות במהירות ויעילות, מה שהייתי עושה בשבוע איתו בתוך ימים ספורים, אבל יש עדיין הרבה פינות פתוחות. המלצה שלי למפתחים צעירים – גם אם GPT נתן לך פרומפט מושלם שעובד חלק, תקח רגע לעבור עליו, תבין את הקוד, תלמד ממנו. אסור להפסיק ללמוד אף פעם, הבנה אמיתית, יצירתיות ויכולת לנתח בעיות כמו שצריך הן אלו שמבדילות בין מי שמסתמך על כלים לבין מפתח מקצועי באמת שמסמך על נסיון מר .."
אני למשל לא יודע תיכנות ואצלחתי לפתח תוכנה כמובן בעזרת ה AI
-
@אליה-אליהו כתב בהמלצה | לתכנת בלי לדעת תיכנות - היום זה אפשרי:
@צבי-מחשבים כתב בהמלצה | לתכנת בלי לדעת תיכנות - היום זה אפשרי:
@sivan22 כתב בהמלצה | לתכנת בלי לדעת תיכנות - היום זה אפשרי:
מהפכת הAI כבר כאן, ואחד הכלים החמים ביותר לאחרונה הוא עורך קוד עם סוכן AI מובנה בתוכו. יש חלון צ'אט קטן בתוך עורך הקוד, וניתן לשוחח עם מודל של בינה מלאכותית ולהנחות אותו במילים פשוטות מה אנחנו צריכים, והוא כבר יעשה הכל אבל הכל: לכתוב את הקוד, להריץ אותו, לבדוק שגיאות, להתקין תלויות. וכן, הוא מבין עברית מצויין.
אז לא צריך לדעת לכתוב קוד, לא צריך לדעת אפילו אנגלית. פשוט לשוחח בעברית עם הצ'אט ולראות את הקסם.
יש לי חבר שאינו יודע תיכנות בכלל, וגם אנגלית הוא כמעט לא יודע, ויצר תוכנה רצינית של ניהול קבוצות של ריפוי בעיסוק, הכל באמצעות הכלים הללו.
כאן אני אתן פירוט על שלשה כלים כאלו:
הראשון, ועליו אני ממליץ למתחילים, הוא windsurf. היתרון המרכזי הוא המחיר: חינמי ללא הגבלה. פשוט להוריד ולהתחיל לשוחח איתו בעברית.
השני, עליו אני ממליץ למתקדמים הוא cline - זהו תוסף לVSCODE בקוד פתוח, שנדרש כדי להפעיל אותו מפתח API בתשלום. ניתן להטעין החל מ5$. את המפתח ניתן להשיג לאחר הרשמה כאן.
במובנים מסויימים של איכות הוא עדיף לדעתי על הכלי הקודם, אם כי התחרות פתוחה והגרסאות של שני הכלים מתעדכנות כל העת.
הכלי השלישי הוא cursor הוא פועל בשיטה דומה מאד לקודמים, ויש לו תוכנית חינמית מוגבלת למדי, וכמובן תוכניות בתשלום.
חד משמעית, מהפכת ה-AI כאן ובועטת, יותר מידי חזק, הכלים שציינת ממש מרתקים בגישה החדשנית לקידוד ,אגב, גם התנסיתי בכמה מהם מתוך סקרנות. אבל עדיין הכלים האלו עדיין לא בשלים מספיק , ובמיוחד לאלא שאין להם רקע מוקדם בתכנות או נסיון טכנולוגי כלשהו .
אני מפתח תוכנה ומכיר היטב את הדרישות והביקושים בשוק, ההצלחה לא תלויה רק ביעילות או כתיבה של קוד נקי . הרבה מזה קשור להבנה עמוקה של ההקשר, חשיבה לוגית, יכולת יצירתית לפתור בעיות משהו שמגיע עם נסיון ועבודה יסודית .
אני כותב כאן, בתחושת תסכול, היה לי חבר שרצה להיכנס לעולם התכנות, והשקעתי לא מעט בלשכנע אותו וללמוד איתו . אבל מספיק היה לו לקרוא שמישהו טען שמפתחי תוכנה ייעלמו תוך שנה כדי לרדת מזה , זו דוגמה לכמה מהר אנשים יכולים להתרשם מהבטחות טכנולוגיות או מהייפ, בלי להבין את התמונה הרחבה.
אין ספק שה-AI הוא בשורה, חוסך זמן יקר ומאפשר לי להספיק משימות במהירות ויעילות, מה שהייתי עושה בשבוע איתו בתוך ימים ספורים, אבל יש עדיין הרבה פינות פתוחות. המלצה שלי למפתחים צעירים – גם אם GPT נתן לך פרומפט מושלם שעובד חלק, תקח רגע לעבור עליו, תבין את הקוד, תלמד ממנו. אסור להפסיק ללמוד אף פעם, הבנה אמיתית, יצירתיות ויכולת לנתח בעיות כמו שצריך הן אלו שמבדילות בין מי שמסתמך על כלים לבין מפתח מקצועי באמת שמסמך על נסיון מר .."
אני למשל לא יודע תיכנות ואצלחתי לפתח תוכנה כמובן בעזרת ה AI
ואם היית יודע תכנות, היית יכול לעשות אותה הרבה יותר טובה.
-
@עדלאידע כתב בהמלצה | לתכנת בלי לדעת תיכנות - היום זה אפשרי:
@אליה-אליהו כתב בהמלצה | לתכנת בלי לדעת תיכנות - היום זה אפשרי:
@צבי-מחשבים כתב בהמלצה | לתכנת בלי לדעת תיכנות - היום זה אפשרי:
@sivan22 כתב בהמלצה | לתכנת בלי לדעת תיכנות - היום זה אפשרי:
מהפכת הAI כבר כאן, ואחד הכלים החמים ביותר לאחרונה הוא עורך קוד עם סוכן AI מובנה בתוכו. יש חלון צ'אט קטן בתוך עורך הקוד, וניתן לשוחח עם מודל של בינה מלאכותית ולהנחות אותו במילים פשוטות מה אנחנו צריכים, והוא כבר יעשה הכל אבל הכל: לכתוב את הקוד, להריץ אותו, לבדוק שגיאות, להתקין תלויות. וכן, הוא מבין עברית מצויין.
אז לא צריך לדעת לכתוב קוד, לא צריך לדעת אפילו אנגלית. פשוט לשוחח בעברית עם הצ'אט ולראות את הקסם.
יש לי חבר שאינו יודע תיכנות בכלל, וגם אנגלית הוא כמעט לא יודע, ויצר תוכנה רצינית של ניהול קבוצות של ריפוי בעיסוק, הכל באמצעות הכלים הללו.
כאן אני אתן פירוט על שלשה כלים כאלו:
הראשון, ועליו אני ממליץ למתחילים, הוא windsurf. היתרון המרכזי הוא המחיר: חינמי ללא הגבלה. פשוט להוריד ולהתחיל לשוחח איתו בעברית.
השני, עליו אני ממליץ למתקדמים הוא cline - זהו תוסף לVSCODE בקוד פתוח, שנדרש כדי להפעיל אותו מפתח API בתשלום. ניתן להטעין החל מ5$. את המפתח ניתן להשיג לאחר הרשמה כאן.
במובנים מסויימים של איכות הוא עדיף לדעתי על הכלי הקודם, אם כי התחרות פתוחה והגרסאות של שני הכלים מתעדכנות כל העת.
הכלי השלישי הוא cursor הוא פועל בשיטה דומה מאד לקודמים, ויש לו תוכנית חינמית מוגבלת למדי, וכמובן תוכניות בתשלום.
חד משמעית, מהפכת ה-AI כאן ובועטת, יותר מידי חזק, הכלים שציינת ממש מרתקים בגישה החדשנית לקידוד ,אגב, גם התנסיתי בכמה מהם מתוך סקרנות. אבל עדיין הכלים האלו עדיין לא בשלים מספיק , ובמיוחד לאלא שאין להם רקע מוקדם בתכנות או נסיון טכנולוגי כלשהו .
אני מפתח תוכנה ומכיר היטב את הדרישות והביקושים בשוק, ההצלחה לא תלויה רק ביעילות או כתיבה של קוד נקי . הרבה מזה קשור להבנה עמוקה של ההקשר, חשיבה לוגית, יכולת יצירתית לפתור בעיות משהו שמגיע עם נסיון ועבודה יסודית .
אני כותב כאן, בתחושת תסכול, היה לי חבר שרצה להיכנס לעולם התכנות, והשקעתי לא מעט בלשכנע אותו וללמוד איתו . אבל מספיק היה לו לקרוא שמישהו טען שמפתחי תוכנה ייעלמו תוך שנה כדי לרדת מזה , זו דוגמה לכמה מהר אנשים יכולים להתרשם מהבטחות טכנולוגיות או מהייפ, בלי להבין את התמונה הרחבה.
אין ספק שה-AI הוא בשורה, חוסך זמן יקר ומאפשר לי להספיק משימות במהירות ויעילות, מה שהייתי עושה בשבוע איתו בתוך ימים ספורים, אבל יש עדיין הרבה פינות פתוחות. המלצה שלי למפתחים צעירים – גם אם GPT נתן לך פרומפט מושלם שעובד חלק, תקח רגע לעבור עליו, תבין את הקוד, תלמד ממנו. אסור להפסיק ללמוד אף פעם, הבנה אמיתית, יצירתיות ויכולת לנתח בעיות כמו שצריך הן אלו שמבדילות בין מי שמסתמך על כלים לבין מפתח מקצועי באמת שמסמך על נסיון מר .."
אני למשל לא יודע תיכנות ואצלחתי לפתח תוכנה כמובן בעזרת ה AI
ואם היית יודע תכנות, היית יכול לעשות אותה הרבה יותר טובה.
צודק אבל זה היסג בישבילי
-
@אליה-אליהו כתב בהמלצה | לתכנת בלי לדעת תיכנות - היום זה אפשרי:
אני למשל לא יודע תיכנות ואצלחתי לפתח תוכנה כמובן בעזרת ה AI
אני לא חושב שיש על זה חולק שאפשר לתכנת עם AI.
אבל השאלה היא מה הרמה של מה שעשית
וכמה תיסבוכות עד שזה יצא מושלם, האם הקוד כתוב טוב, ועוד ועוד... -
@טופטופיסט כתב בהמלצה | לתכנת בלי לדעת תיכנות - היום זה אפשרי:
@אליה-אליהו כתב בהמלצה | לתכנת בלי לדעת תיכנות - היום זה אפשרי:
אני למשל לא יודע תיכנות ואצלחתי לפתח תוכנה כמובן בעזרת ה AI
אני לא חושב שיש על זה חולק שאפשר לתכנת עם AI.
אבל השאלה היא מה הרמה של מה שעשית
וכמה תיסבוכות עד שזה יצא מושלם, האם הקוד כתוב טוב, ועוד ועוד...חייב לומר שהיה לי מאוד קשה ובהכול נעזרתי ב- gemini לא ידעתי ביכלל מה עושים כמובן שאפליקציות יותר מורכבות אני לא יוכל לפתח
-
אחרי שפיתחתי תוכנה אחת עם AI -
CobaltArchiver, נמצאת בפורום,
אני אומר בפה מלא:
א"א לתכנת בלי לדעת תכנות.
הAI עשה לי כל כך הרבה בעיות ושיבושי קודים....
בהתחלה עבד חלק, כנראה במזל.
מאז בערך שבוע הוא רק משבש לי את הקוד,
למרבה המזל על אף שאני לא ממש יודע פייתון, אני יודע איך תכנות עובד,
וגם מכיר קצת פייתון,
ולכן הצלחתי לטפל בחלק מהשגיאות או לפחות להכווין אותו איפה השגיאה.אם לא הייתי יודע כלל תכנות - זה לא היה מעשי באמת
-
@אליה-אליהו איזה תוכנה?
-
@מישהו12 כתב בהמלצה | לתכנת בלי לדעת תיכנות - היום זה אפשרי:
א"א לתכנת בלי לדעת תכנות.
אני לא יודע מילה וחצי מילה בפייתון, הוא הדריך אותי אפילו מאיפה להוריד פייתון ואיך להתקין...
והיום בעבודה של כמה שעות עם הבינה האנושית שלי, הכנתי תוכנה להקפצה אוטומטית של מודעות ביד2, משהו שאני חולם עליו כבר שנים.יצא מדהים, הקוד בספויילר.
from selenium import webdriver from selenium.webdriver.chrome.service import Service from selenium.webdriver.chrome.options import Options from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC import time import os import json from datetime import datetime from dotenv import load_dotenv from bidi.algorithm import get_display def display_rtl(text): """מציג טקסט בעברית בכיוון הנכון""" return get_display(text) load_dotenv() class ListingUpdater: def __init__(self): print(display_rtl("מאתחל את דפדפן Chrome...")) self.cookies_file = "yad2_cookies.json" self.setup_driver() def setup_driver(self): chrome_options = Options() chrome_options.add_argument('--disable-gpu') chrome_options.add_argument('--no-sandbox') chrome_options.add_argument('--disable-dev-shm-usage') chrome_options.add_argument('--start-maximized') chrome_options.add_experimental_option("detach", True) try: self.driver = webdriver.Chrome(options=chrome_options) print(display_rtl("דפדפן Chrome הואצל בהצלחה")) except Exception as e: print(display_rtl(f"שגיאה בהגדרת דפדפן Chrome: {str(e)}")) raise def save_cookies(self): cookies = self.driver.get_cookies() with open(self.cookies_file, 'w') as f: json.dump(cookies, f) print(display_rtl("נשמרו עוגיות בהצלחה")) def load_cookies(self): try: with open(self.cookies_file, 'r') as f: cookies = json.load(f) # Navigate to the domain first self.driver.get('https://www.yad2.co.il') time.sleep(2) # Add the cookies for cookie in cookies: self.driver.add_cookie(cookie) print(display_rtl("עוגיות נטענו בהצלחה")) return True except FileNotFoundError: print(display_rtl("לא נמצא קובץ עוגיות קיים")) return False except Exception as e: print(display_rtl(f"שגיאה בטעינת עוגיות: {str(e)}")) return False def check_login_status(self): try: print(display_rtl("בודק סטטוס התחברות...")) # First go to main page self.driver.get('https://www.yad2.co.il') time.sleep(3) # Then try to access my-ads print(display_rtl("מנסה לגשת לאזור האישי...")) self.driver.get('https://www.yad2.co.il/my-ads') time.sleep(10) # תן יותר זמן לטעינה # Check if we're actually on the my-ads page current_url = self.driver.current_url print(display_rtl(f"כתובת נוכחית: {current_url}")) if "my-ads" in current_url: print(display_rtl("מחובר בהצלחה לאזור האישי!")) return True else: print(display_rtl("לא הצלחנו להגיע לאזור האישי")) return False except Exception as e: print(display_rtl(f"שגיאה בבדיקת סטטוס התחברות: {str(e)}")) return False def manual_login(self): print(display_rtl("\nאנא התחבר באופן ידני ל-Yad2:")) print(display_rtl("1. הכנס את פרטי ההתחברות שלך")) print(display_rtl("2. פתור את אתגר האבטחה אם נדרש")) print(display_rtl("3. לאחר התחברות מוצלחת, התסריט ימשיך באופן אוטומטי")) self.driver.get('https://www.yad2.co.il/auth/login') # Wait for successful login WebDriverWait(self.driver, 300).until( lambda driver: "my-ads" in driver.current_url or "feed/my" in driver.current_url ) print(display_rtl("התחברת בהצלחה!")) self.save_cookies() def update_listings(self): try: print(display_rtl("מנווט לדף המודעות שלי...")) self.navigate_to_my_ads() # מחפש את כפתורי ההקפצה print(display_rtl("\nמחפש כפתורי הקפצה...")) bump_buttons = self.driver.find_elements(By.CSS_SELECTOR, "[class*='bump-button_bumpButton']") if not bump_buttons: print(display_rtl("לא נמצאו כפתורי הקפצה")) return False print(display_rtl(f"נמצאו {len(bump_buttons)} כפתורי הקפצה")) # עובר על כל כפתור הקפצה for i in range(len(bump_buttons)): try: # מנווט מחדש לדף המודעות בכל פעם self.navigate_to_my_ads() print(display_rtl(f"\nמנסה להקפיץ מודעה {i + 1}...")) # מוצא את כפתורי ההקפצה מחדש אחרי הניווט bump_buttons = self.driver.find_elements(By.CSS_SELECTOR, "[class*='bump-button_bumpButton']") if i >= len(bump_buttons): print(display_rtl("לא נמצאו יותר כפתורי הקפצה")) break button = bump_buttons[i] print(f"\nטקסט על כפתור {i + 1}:", button.text.strip()) # בודק אם הכפתור מושבת if button.get_attribute("aria-disabled") == "true" or button.get_attribute("disabled"): print(display_rtl("הכפתור מושבת")) continue # גולל לכפתור self.driver.execute_script("arguments[0].scrollIntoView(true);", button) time.sleep(1) # מנסה ללחוץ באמצעות JavaScript print("מנסה ללחוץ על כפתור ההקפצה...") self.driver.execute_script("arguments[0].click();", button) print("לחיצה על כפתור ההקפצה") # מחכה קצת ואז מרענן את הדף time.sleep(2) print("מרענן את הדף...") self.driver.refresh() # מחכה לטעינת הדף print("ממתין לטעינת הדף...") self.wait_for_page_load() print("הדף נטען") # מחכה קצת זמן אחרי ההקפצה time.sleep(3) except Exception as e: print(display_rtl(f"שגיאה בהקפצת מודעה {i + 1}: {str(e)}")) if hasattr(e, 'msg'): print(f"Message: {e.msg}") return True except Exception as e: print(display_rtl(f"נכשל בהקפצת המודעות: {str(e)}")) if hasattr(e, 'msg'): print(f"Message: {e.msg}") return False def navigate_to_my_ads(self): """מנווט לדף המודעות שלי ומחכה שהדף יטען""" self.driver.get('https://www.yad2.co.il/my-ads') # מחכה שהדף יטען print(display_rtl("ממתין לטעינת הדף...")) WebDriverWait(self.driver, 30).until( lambda driver: driver.execute_script("return document.readyState") == "complete" ) # מחכה שה-splash screen ייעלם print(display_rtl("ממתין שמסך הטעינה ייעלם...")) try: splash_screen = WebDriverWait(self.driver, 10).until( EC.presence_of_element_located((By.CLASS_NAME, "splash-screen_box__diyY1")) ) WebDriverWait(self.driver, 20).until( EC.staleness_of(splash_screen) ) print(display_rtl("מסך הטעינה נעלם")) except: print(display_rtl("לא נמצא מסך טעינה")) # מחכה שיופיע התוכן האמיתי print(display_rtl("ממתין לטעינת התוכן...")) time.sleep(3) def wait_for_page_load(self): WebDriverWait(self.driver, 30).until( lambda driver: driver.execute_script("return document.readyState") == "complete" ) def close(self): try: self.driver.quit() except: pass def main(): updater = None try: while True: # לולאה אינסופית print("\nמתחיל הרצה חדשה...") updater = ListingUpdater() updater.load_cookies() if updater.check_login_status(): print(display_rtl("התחברות באמצעות עוגיות הצליחה!")) else: print(display_rtl("צריך להתחבר שוב...")) updater.manual_login() print(display_rtl("\nמתחיל את תהליך העדכון...")) updater.update_listings() updater.close() # מחכה 4 שעות ודקה print("\nממתין 4 שעות ודקה עד להרצה הבאה...") time.sleep((4 * 60 * 60) + 60) # 4 שעות + דקה בשניות except KeyboardInterrupt: print("\nהתוכנית הופסקה על ידי המשתמש") finally: if updater: updater.close() if __name__ == "__main__": main()
-