דילוג לתוכן
  • חוקי הפורום
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • ברירת מחדל (ללא עיצוב (ברירת מחדל))
  • ללא עיצוב (ברירת מחדל)
כיווץ
לוגו מותג
  1. דף הבית
  2. קטגוריות בהרצה
  3. תכנות
  4. בינה מלאכותית - AI
  5. עזרה הדדית - בינה מלאכותית
  6. המלצה | לתכנת בלי לדעת תיכנות - היום זה אפשרי

המלצה | לתכנת בלי לדעת תיכנות - היום זה אפשרי

מתוזמן נעוץ נעול הועבר עזרה הדדית - בינה מלאכותית
201 פוסטים 40 כותבים 19.3k צפיות 37 Watching
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • מ מה קורה

    @נעזר1000 שזה אומר??

    נ מנותק
    נ מנותק
    נעזר1000
    כתב נערך לאחרונה על ידי
    #122

    @מה-קורה כתב בהמלצה | לתכנת בלי לדעת תיכנות - היום זה אפשרי:

    @נעזר1000 שזה אומר??

    זה לא דרך לראות את ההיסטוריה של GPT אלא דרך לשמור גרסאות קוד
    וזה הצורה שבה עובדים בשוק

    אתה כמובן יכול לשאול את GPT על גיט ושידריך אותך.

    תגובה 1 תגובה אחרונה
    0
    • מ מה קורה

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

      צ מנותק
      צ מנותק
      צללית
      כתב נערך לאחרונה על ידי
      #123

      @מה-קורה תבקש ממנו שאת השינויים יעשה בקובץ חדש
      ובכל מקרה השינויים לא נשמרים עד שאתה לא מאשר

      תגובה 1 תגובה אחרונה
      0
      • א אליה אליהו

        @צבי-מחשבים כתב בהמלצה | לתכנת בלי לדעת תיכנות - היום זה אפשרי:

        @sivan22 כתב בהמלצה | לתכנת בלי לדעת תיכנות - היום זה אפשרי:

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

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

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

        כאן אני אתן פירוט על שלשה כלים כאלו:

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

        השני, עליו אני ממליץ למתקדמים הוא cline - זהו תוסף לVSCODE בקוד פתוח, שנדרש כדי להפעיל אותו מפתח API בתשלום. ניתן להטעין החל מ5$. את המפתח ניתן להשיג לאחר הרשמה כאן.

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

        הכלי השלישי הוא cursor הוא פועל בשיטה דומה מאד לקודמים, ויש לו תוכנית חינמית מוגבלת למדי, וכמובן תוכניות בתשלום.

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

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

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

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

        אני למשל לא יודע תיכנות ואצלחתי לפתח תוכנה כמובן בעזרת ה AI

        צ מנותק
        צ מנותק
        צללית
        כתב נערך לאחרונה על ידי
        #124

        @אליה-אליהו איזה תוכנה?

        תגובה 1 תגובה אחרונה
        0
        • מישהו12מ מישהו12

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

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

          EBAE מנותק
          EBAE מנותק
          EBA
          מדריכים
          כתב נערך לאחרונה על ידי EBA
          #125

          @מישהו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()
          
          

          ט A 3 תגובות תגובה אחרונה
          9
          • EBAE EBA

            @מישהו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()
            
            

            ט מנותק
            ט מנותק
            טופטופיסט
            כתב נערך לאחרונה על ידי טופטופיסט
            #126

            @EBA כתב בהמלצה | לתכנת בלי לדעת תיכנות - היום זה אפשרי:

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

            רעין פצצה!


            חבל שלא שיתפת אותנו בפורום כבר 'לפני שנים'...

            EBAE תגובה 1 תגובה אחרונה
            0
            • ט טופטופיסט

              @EBA כתב בהמלצה | לתכנת בלי לדעת תיכנות - היום זה אפשרי:

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

              רעין פצצה!


              חבל שלא שיתפת אותנו בפורום כבר 'לפני שנים'...

              EBAE מנותק
              EBAE מנותק
              EBA
              מדריכים
              כתב נערך לאחרונה על ידי
              #127

              @טופטופיסט שיתפתי
              https://mitmachim.top/topic/11664/עזרה-ממומחי-סקריפטים-הקפצה-אוטומטית-יד-2

              תגובה 1 תגובה אחרונה
              1
              • EBAE EBA

                @מישהו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()
                
                

                A מנותק
                A מנותק
                aiib
                כתב נערך לאחרונה על ידי
                #128

                @EBA איך משתמשים בו?
                בעבר היה כזה דבר ויד 2 חסמו אותו...

                NH.LOCALN תגובה 1 תגובה אחרונה
                0
                • A aiib

                  @EBA איך משתמשים בו?
                  בעבר היה כזה דבר ויד 2 חסמו אותו...

                  NH.LOCALN מנותק
                  NH.LOCALN מנותק
                  NH.LOCAL
                  מדריכים
                  כתב נערך לאחרונה על ידי
                  #129

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

                  כל הפרטים כאן: https://github.com/features/copilot

                  לאינדקס המלא של כלל הסקריפטים שלי
                  https://nhlocal.github.io

                  M תגובה 1 תגובה אחרונה
                  5
                  • NH.LOCALN NH.LOCAL

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

                    כל הפרטים כאן: https://github.com/features/copilot

                    M מנותק
                    M מנותק
                    MAKRO
                    כתב נערך לאחרונה על ידי
                    #130

                    @NH-LOCAL @sivan22 @ @צדיק-תמים ושאר הכותבים המבינים
                    אשמח לשמוע מהו המודל החינמי המומלץ לכתיבת קוד
                    אבל לא שמתפקד כתוסף ל VS אלא בלי שום תוכנה שמותקנת על המחשב
                    (הכתיבה וההרצה תהיה במחשב אחר)
                    תודה!

                    צ תגובה 1 תגובה אחרונה
                    1
                    • M MAKRO

                      @NH-LOCAL @sivan22 @ @צדיק-תמים ושאר הכותבים המבינים
                      אשמח לשמוע מהו המודל החינמי המומלץ לכתיבת קוד
                      אבל לא שמתפקד כתוסף ל VS אלא בלי שום תוכנה שמותקנת על המחשב
                      (הכתיבה וההרצה תהיה במחשב אחר)
                      תודה!

                      צ מנותק
                      צ מנותק
                      צללית
                      כתב נערך לאחרונה על ידי
                      #131

                      @MAKRO אם השאלה היא gemini מול chat-gpt - ברור שchat-gpt עולה בכמה רמות. ובתוך chat-gpt יש כמה מודלים, יש את היותר טוב בחינם ואחרי כמה שאלות זה יורד, ועדיין זה יותר טוב מג'מיני
                      קלוד לא בדקתי

                      M NH.LOCALN 2 תגובות תגובה אחרונה
                      1
                      • צ צללית

                        @MAKRO אם השאלה היא gemini מול chat-gpt - ברור שchat-gpt עולה בכמה רמות. ובתוך chat-gpt יש כמה מודלים, יש את היותר טוב בחינם ואחרי כמה שאלות זה יורד, ועדיין זה יותר טוב מג'מיני
                        קלוד לא בדקתי

                        M מנותק
                        M מנותק
                        MAKRO
                        כתב נערך לאחרונה על ידי
                        #132

                        @צללית כתב בהמלצה | לתכנת בלי לדעת תיכנות - היום זה אפשרי:

                        קלוד לא בדקתי

                        @NH-LOCAL כתב שכיום, החינמי שלהם כבר לא משהו...

                        נ NH.LOCALN 2 תגובות תגובה אחרונה
                        0
                        • M MAKRO

                          @צללית כתב בהמלצה | לתכנת בלי לדעת תיכנות - היום זה אפשרי:

                          קלוד לא בדקתי

                          @NH-LOCAL כתב שכיום, החינמי שלהם כבר לא משהו...

                          נ מנותק
                          נ מנותק
                          נעזר1000
                          כתב נערך לאחרונה על ידי נעזר1000
                          #133

                          @MAKRO כתב בהמלצה | לתכנת בלי לדעת תיכנות - היום זה אפשרי:

                          @צללית כתב בהמלצה | לתכנת בלי לדעת תיכנות - היום זה אפשרי:

                          קלוד לא בדקתי

                          @NH-LOCAL כתב שכיום, החינמי שלהם כבר לא משהו...

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

                          ומנצל את ההזדמנות להודות לו על הטיפ הזה.

                          תגובה 1 תגובה אחרונה
                          1
                          • M MAKRO

                            @צללית כתב בהמלצה | לתכנת בלי לדעת תיכנות - היום זה אפשרי:

                            קלוד לא בדקתי

                            @NH-LOCAL כתב שכיום, החינמי שלהם כבר לא משהו...

                            NH.LOCALN מנותק
                            NH.LOCALN מנותק
                            NH.LOCAL
                            מדריכים
                            כתב נערך לאחרונה על ידי
                            #134

                            @MAKRO כתב בהמלצה | לתכנת בלי לדעת תיכנות - היום זה אפשרי:

                            @צללית כתב בהמלצה | לתכנת בלי לדעת תיכנות - היום זה אפשרי:

                            קלוד לא בדקתי

                            @NH-LOCAL כתב שכיום, החינמי שלהם כבר לא משהו...

                            זה השתנה כעת שוב, הם החזירו את המודל הטוב שלהם למשתמשים החינמיים ממש אתמול!

                            לאינדקס המלא של כלל הסקריפטים שלי
                            https://nhlocal.github.io

                            תגובה 1 תגובה אחרונה
                            3
                            • צ צללית

                              @MAKRO אם השאלה היא gemini מול chat-gpt - ברור שchat-gpt עולה בכמה רמות. ובתוך chat-gpt יש כמה מודלים, יש את היותר טוב בחינם ואחרי כמה שאלות זה יורד, ועדיין זה יותר טוב מג'מיני
                              קלוד לא בדקתי

                              NH.LOCALN מנותק
                              NH.LOCALN מנותק
                              NH.LOCAL
                              מדריכים
                              כתב נערך לאחרונה על ידי NH.LOCAL
                              #135

                              @צללית כתב בהמלצה | לתכנת בלי לדעת תיכנות - היום זה אפשרי:

                              @MAKRO אם השאלה היא gemini מול chat-gpt - ברור שchat-gpt עולה בכמה רמות. ובתוך chat-gpt יש כמה מודלים, יש את היותר טוב בחינם ואחרי כמה שאלות זה יורד, ועדיין זה יותר טוב מג'מיני
                              קלוד לא בדקתי

                              כבר לא ממש נכון. ממליץ להסתכל על המדד livebench שמודד יכולות של מודלי AI בכמה פרמטרים מרכזיים.

                              בפועל, מהניסיון האישי שלי, זה תלוי מאוד פר משימה. בשבוע האחרון עסקתי במספר פרוייקטים שונים ומשונים עם דרישות ומבני קוד שונים. בחלק מהמקרים gpt4o הפשוט היה טוב יותר מכל מודל אחר, במקרים אחרים זה היה gemini 2.0 החדש ובמקרים מסויימים o1 של OPENAI

                              לאינדקס המלא של כלל הסקריפטים שלי
                              https://nhlocal.github.io

                              צ תגובה 1 תגובה אחרונה
                              3
                              • NH.LOCALN NH.LOCAL

                                @צללית כתב בהמלצה | לתכנת בלי לדעת תיכנות - היום זה אפשרי:

                                @MAKRO אם השאלה היא gemini מול chat-gpt - ברור שchat-gpt עולה בכמה רמות. ובתוך chat-gpt יש כמה מודלים, יש את היותר טוב בחינם ואחרי כמה שאלות זה יורד, ועדיין זה יותר טוב מג'מיני
                                קלוד לא בדקתי

                                כבר לא ממש נכון. ממליץ להסתכל על המדד livebench שמודד יכולות של מודלי AI בכמה פרמטרים מרכזיים.

                                בפועל, מהניסיון האישי שלי, זה תלוי מאוד פר משימה. בשבוע האחרון עסקתי במספר פרוייקטים שונים ומשונים עם דרישות ומבני קוד שונים. בחלק מהמקרים gpt4o הפשוט היה טוב יותר מכל מודל אחר, במקרים אחרים זה היה gemini 2.0 החדש ובמקרים מסויימים o1 של OPENAI

                                צ מנותק
                                צ מנותק
                                צללית
                                כתב נערך לאחרונה על ידי
                                #136

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

                                תגובה 1 תגובה אחרונה
                                0
                                • sivan22S sivan22

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

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

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

                                  כאן אני אתן פירוט על שלשה כלים כאלו:

                                  הראשון, ועליו אני ממליץ למתחילים, הוא windsurf. היתרון המרכזי הוא המחיר: חינמי ללא הגבלה. יש מכסה מסויימת חינמית, פשוט להוריד ולהתחיל לשוחח איתו בעברית.

                                  השני, עליו אני ממליץ למתקדמים הוא cline - זהו תוסף לVSCODE בקוד פתוח, שכדי להפעיל אותו נדרש API. אפשר להשתמש גם עם API חינמי של גוגל שניתן להשיג מכאן. אם כי איכות יותר טובה תתקבל בשימוש בAPI בתשלום של אנטרופיק, ניתן להטעין החל מ5$. את המפתח ניתן להשיג לאחר הרשמה כאן.

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

                                  הכלי השלישי הוא cursor הוא פועל בשיטה דומה מאד לקודמים, ויש לו תוכנית חינמית מוגבלת למדי, וכמובן תוכניות בתשלום.

                                  צ מנותק
                                  צ מנותק
                                  צללית
                                  כתב נערך לאחרונה על ידי
                                  #137

                                  @sivan22 ניסיתי היום להשתמש בwindsurf ומשום מה כל פעם שהוא מנסה ליצור קובץ הוא נתקל בשגיאה הבאה:

                                  ErrorCascade cannot propose edits to files that do not exist.
                                  איך אני יכול לפתור את זה?

                                  מ תגובה 1 תגובה אחרונה
                                  0
                                  • צ צללית

                                    @sivan22 ניסיתי היום להשתמש בwindsurf ומשום מה כל פעם שהוא מנסה ליצור קובץ הוא נתקל בשגיאה הבאה:

                                    ErrorCascade cannot propose edits to files that do not exist.
                                    איך אני יכול לפתור את זה?

                                    מ מנותק
                                    מ מנותק
                                    מדהים
                                    כתב נערך לאחרונה על ידי
                                    #138

                                    @צללית אולי לפתוח עם הרשאות מנהל 🤔

                                    צ תגובה 1 תגובה אחרונה
                                    1
                                    • מ מדהים

                                      @צללית אולי לפתוח עם הרשאות מנהל 🤔

                                      צ מנותק
                                      צ מנותק
                                      צללית
                                      כתב נערך לאחרונה על ידי צללית
                                      #139

                                      @מדהים אבדוק
                                      למרות שבשביל ליצור קבצים לא צריך להיות מנהל.
                                      עריכה: בדקתי ולא עזר

                                      תגובה 1 תגובה אחרונה
                                      0
                                      • sivan22S sivan22

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

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

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

                                        כאן אני אתן פירוט על שלשה כלים כאלו:

                                        הראשון, ועליו אני ממליץ למתחילים, הוא windsurf. היתרון המרכזי הוא המחיר: חינמי ללא הגבלה. יש מכסה מסויימת חינמית, פשוט להוריד ולהתחיל לשוחח איתו בעברית.

                                        השני, עליו אני ממליץ למתקדמים הוא cline - זהו תוסף לVSCODE בקוד פתוח, שכדי להפעיל אותו נדרש API. אפשר להשתמש גם עם API חינמי של גוגל שניתן להשיג מכאן. אם כי איכות יותר טובה תתקבל בשימוש בAPI בתשלום של אנטרופיק, ניתן להטעין החל מ5$. את המפתח ניתן להשיג לאחר הרשמה כאן.

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

                                        הכלי השלישי הוא cursor הוא פועל בשיטה דומה מאד לקודמים, ויש לו תוכנית חינמית מוגבלת למדי, וכמובן תוכניות בתשלום.

                                        sivan22S מנותק
                                        sivan22S מנותק
                                        sivan22
                                        כתב נערך לאחרונה על ידי
                                        #140

                                        @sivan22
                                        עדכון (ערכתי גם את הפוסט למעלה): ההמלצה הנוכחית שלי היא להשתמש בCline עם API חינמי של גוגל. אמנם מדי פעם הוא נעצר, אבל סך הכל אפשר לעבוד איתו, והוא כמובן חינמי.

                                        י תגובה 1 תגובה אחרונה
                                        2
                                        • sivan22S sivan22 התייחס לנושא זה
                                        • sivan22S sivan22

                                          @sivan22
                                          עדכון (ערכתי גם את הפוסט למעלה): ההמלצה הנוכחית שלי היא להשתמש בCline עם API חינמי של גוגל. אמנם מדי פעם הוא נעצר, אבל סך הכל אפשר לעבוד איתו, והוא כמובן חינמי.

                                          י מנותק
                                          י מנותק
                                          יעקב 4
                                          כתב נערך לאחרונה על ידי
                                          #141

                                          @sivan22 כתב בהמלצה | לתכנת בלי לדעת תיכנות - היום זה אפשרי:

                                          @sivan22
                                          עדכון (ערכתי גם את הפוסט למעלה): ההמלצה הנוכחית שלי היא להשתמש בCline עם API חינמי של גוגל. אמנם מדי פעם הוא נעצר, אבל סך הכל אפשר לעבוד איתו, והוא כמובן חינמי.

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

                                          צ תגובה 1 תגובה אחרונה
                                          0

                                          • התחברות

                                          • אין לך חשבון עדיין? הרשמה

                                          • התחברו או הירשמו כדי לחפש.
                                          • פוסט ראשון
                                            פוסט אחרון
                                          0
                                          • חוקי הפורום
                                          • לא נפתר
                                          • משתמשים
                                          • חיפוש גוגל בפורום
                                          • צור קשר