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

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. ארכיון code613m
  4. עזרה בc#

עזרה בc#

מתוזמן נעוץ נעול הועבר ארכיון code613m
26 פוסטים 5 כותבים 1.7k צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • Men770M מנותק
    Men770M מנותק
    Men770
    כתב ב נערך לאחרונה על ידי
    #1

    יש לי פונקציה שמצפינה סטרינג שנותנים לה לפי המקום של התו הנוכחי.

    public string Crypt(string text)
            {
                string result = "";
                char[] textChars = text.ToCharArray();
                for (int i = 0; i < textChars.Length; i++)
                {
                    if (textChars[i]  * i < '\uffff')
                    {
                        result += char.ConvertFromUtf32(textChars[i] * i);
                    }
                    else
                    {
                        if (char.MaxValue - textChars[i] * i + 1 >= char.MinValue)
                        {
                            result += char.ConvertFromUtf32(char.MaxValue - textChars[i] * i);
                        }
                        else
                        {
                            result += char.ConvertFromUtf32(char.MaxValue - textChars[i]);
                        }
                    }
                    
                }
                return result;
            }
    

    הבעייה היא שכשנותנים לה סטרינג מידי ארוך היא נתקעת ופרטי הבעייה הם: System.ArgumentOutOfRangeException was unhandled
    HResult=-2146233086
    Message=ערך UTF32 חוקי הוא בין 0x000000 ל- ‏0x10ffff, כולל, ואינו כולל ערכי codepoint חלופיים (0x00d800 ~ 0x00dfff).
    שם פרמטר: utf32
    ParamName=utf32
    Source=mscorlib
    StackTrace:
    ב- System.Char.ConvertFromUtf32(Int32 utf32)
    ב- MenCrypt.MainWindow.Crypt(String text) ב- E:\מסמכים\מסמכים מענדי\Documents\2\Visual Studio 2015\Projects\MenCrypt\MenCrypt\MainWindow.xaml.cs:שורה 40
    ב- MenCrypt.MainWindow.codeTxt_TextChanged(Object sender, TextChangedEventArgs e) ב- E:\מסמכים\מסמכים מענדי\Documents\2\Visual Studio 2015\Projects\MenCrypt\MenCrypt\MainWindow.xaml.cs:שורה 30
    ב- System.Windows.Controls.TextChangedEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
    ב- System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
    ב- System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
    ב- System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
    ב- System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
    ב- System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)
    ב- System.Windows.Controls.Primitives.TextBoxBase.OnTextChanged(TextChangedEventArgs e)
    ב- System.Windows.Controls.Primitives.TextBoxBase.OnTextContainerChanged(Object sender, TextContainerChangedEventArgs e)
    ב- System.Windows.Controls.TextBox.OnTextContainerChanged(Object sender, TextContainerChangedEventArgs e)
    ב- System.Windows.Documents.TextContainerChangedEventHandler.Invoke(Object sender, TextContainerChangedEventArgs e)
    ב- System.Windows.Documents.TextContainer.EndChange(Boolean skipEvents)
    ב- System.Windows.Documents.TextContainer.System.Windows.Documents.ITextContainer.EndChange(Boolean skipEvents)
    ב- System.Windows.Documents.TextRangeBase.EndChange(ITextRange thisRange, Boolean disableScroll, Boolean skipEvents)
    ב- System.Windows.Documents.TextRange.System.Windows.Documents.ITextRange.EndChange(Boolean disableScroll, Boolean skipEvents)
    ב- System.Windows.Documents.TextRange.ChangeBlock.System.IDisposable.Dispose()
    ב- System.Windows.Documents.TextEditorTyping.DoTextInput(TextEditor This, String textData, Boolean isInsertKeyToggled, Boolean acceptControlCharacters)
    ב- System.Windows.Documents.TextEditorTyping.TextInputItem.Do()
    ב- System.Windows.Documents.TextEditorTyping.ScheduleInput(TextEditor This, InputItem item)
    ב- System.Windows.Documents.TextEditorTyping.OnTextInput(Object sender, TextCompositionEventArgs e)
    ב- System.Windows.Controls.Primitives.TextBoxBase.OnTextInput(TextCompositionEventArgs e)
    ב- System.Windows.UIElement.OnTextInputThunk(Object sender, TextCompositionEventArgs e)
    ב- System.Windows.Input.TextCompositionEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
    ב- System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
    ב- System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
    ב- System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
    ב- System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
    ב- System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
    ב- System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
    ב- System.Windows.Input.InputManager.ProcessStagingArea()
    ב- System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
    ב- System.Windows.Input.TextCompositionManager.UnsafeCompleteComposition(TextComposition composition)
    ב- System.Windows.Input.TextCompositionManager.PostProcessInput(Object sender, ProcessInputEventArgs e)
    ב- System.Windows.Input.InputManager.RaiseProcessInputEventHandlers(ProcessInputEventHandler postProcessInput, ProcessInputEventArgs processInputEventArgs)
    ב- System.Windows.Input.InputManager.ProcessStagingArea()
    ב- System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
    ב- System.Windows.Input.TextCompositionManager.UnsafeStartComposition(TextComposition composition)
    ב- System.Windows.Input.TextCompositionManager.PostProcessInput(Object sender, ProcessInputEventArgs e)
    ב- System.Windows.Input.InputManager.RaiseProcessInputEventHandlers(ProcessInputEventHandler postProcessInput, ProcessInputEventArgs processInputEventArgs)
    ב- System.Windows.Input.InputManager.ProcessStagingArea()
    ב- System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
    ב- System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
    ב- System.Windows.Interop.HwndKeyboardInputProvider.ProcessTextInputAction(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
    ב- System.Windows.Interop.HwndSource.OnPreprocessMessage(Object param)
    ב- System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
    ב- System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
    ב- System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
    ב- System.Windows.Threading.Dispatcher.Invoke(DispatcherPriority priority, Delegate method, Object arg)
    ב- System.Windows.Interop.HwndSource.OnPreprocessMessageThunk(MSG& msg, Boolean& handled)
    ב- System.Windows.Interop.HwndSource.WeakEventPreprocessMessage.OnPreprocessMessage(MSG& msg, Boolean& handled)
    ב- System.Windows.Interop.ComponentDispatcherThread.RaiseThreadMessage(MSG& msg)
    ב- System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
    ב- System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
    ב- System.Windows.Application.RunDispatcher(Object ignore)
    ב- System.Windows.Application.RunInternal(Window window)
    ב- System.Windows.Application.Run(Window window)
    ב- System.Windows.Application.Run()
    ב- MenCrypt.App.Main() ב- E:\מסמכים\מסמכים מענדי\Documents\2\Visual Studio 2015\Projects\MenCrypt\MenCrypt\obj\Debug\App.g.cs:שורה 0
    ב- System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
    ב- System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
    ב- Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
    ב- System.Threading.ThreadHelper.ThreadStart_Context(Object state)
    ב- System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
    ב- System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
    ב- System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
    ב- System.Threading.ThreadHelper.ThreadStart()
    InnerException:
    מישהו יכול להסביר מה זה אומר ואיך פותרים את זה?

    פורסם במקור בפורום CODE613 ב18/12/2017 11:49 (+02:00)

    יחי אדוננו מורנו ורבינו מלך המשיח לעולם ועד!

    תגובה 1 תגובה אחרונה
    0
    • dovidD מנותק
      dovidD מנותק
      dovid ניהול
      כתב ב נערך לאחרונה על ידי
      #2

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

      (textChars[i] * i) % 1114111
      

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

      פורסם במקור בפורום CODE613 ב18/12/2017 12:09 (+02:00)

      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

      בכל נושא אפשר ליצור קשר dovid@tchumim.com

      תגובה 1 תגובה אחרונה
      0
      • dovidD מנותק
        dovidD מנותק
        dovid ניהול
        כתב ב נערך לאחרונה על ידי
        #3

        סליחה טעות שלי, אתה כתבת תנאי למנוע חריגה ואכן לא הייתה חריגה מ '\uffff'.
        אלא שבשגיאה מצויין עוד גורם: ערכים בין 0x00d800 ~ 0x00dfff בעשרונית זה ערכי 55296-57343.
        זה הסיבה.

        פורסם במקור בפורום CODE613 ב18/12/2017 12:25 (+02:00)

        מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

        בכל נושא אפשר ליצור קשר dovid@tchumim.com

        תגובה 1 תגובה אחרונה
        0
        • Men770M מנותק
          Men770M מנותק
          Men770
          כתב ב נערך לאחרונה על ידי
          #4

          עכשיו כתבתי קוד כזה:

          public string Crypt(string text)
                  {
                      string result = "";
                      char[] textChars = text.ToCharArray();
                      for (int i = 0; i < textChars.Length; i++)
                      {
                          if (textChars[i]  * i < '\uffff')
                          {
                              result += Convert.ToChar(textChars[i] * i);
                          }
                          else
                          {
                              if (char.MaxValue - textChars[i] * i + 1 >= char.MinValue)
                              {
                                  result += Convert.ToChar((textChars[i] * i) % 1114111);
                              }
                              else
                              {
                                  if ((char.MaxValue - (textChars[i] * i) % 1114111) < 0)
                                  {
                                      result += Convert.ToChar((char.MaxValue - (textChars[i] * i) % 1114111) * -1);
                                  }
                                  
                              }
                          }
                          
                      }
                      return result;
                  }
          

          אבל עכשיו הוא נתקע בתו ה88 כי זה יצא 66183 בתור המספר של התו... יש אפשרות שהוא יעשה בדיקה ויסדר עד שזה יצא תו קיים?

          פורסם במקור בפורום CODE613 ב18/12/2017 12:36 (+02:00)

          יחי אדוננו מורנו ורבינו מלך המשיח לעולם ועד!

          תגובה 1 תגובה אחרונה
          0
          • dovidD מנותק
            dovidD מנותק
            dovid ניהול
            כתב ב נערך לאחרונה על ידי
            #5

            @דוד ל.ט.

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

            פורסם במקור בפורום CODE613 ב18/12/2017 12:38 (+02:00)

            מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

            בכל נושא אפשר ליצור קשר dovid@tchumim.com

            תגובה 1 תגובה אחרונה
            0
            • Men770M מנותק
              Men770M מנותק
              Men770
              כתב ב נערך לאחרונה על ידי
              #6

              @דוד ל.ט.

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

              זה שיעורי בית. היא משמשת לתירגול.

              פורסם במקור בפורום CODE613 ב18/12/2017 12:40 (+02:00)

              יחי אדוננו מורנו ורבינו מלך המשיח לעולם ועד!

              תגובה 1 תגובה אחרונה
              0
              • dovidD מנותק
                dovidD מנותק
                dovid ניהול
                כתב ב נערך לאחרונה על ידי
                #7

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

                פורסם במקור בפורום CODE613 ב18/12/2017 12:43 (+02:00)

                מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                בכל נושא אפשר ליצור קשר dovid@tchumim.com

                תגובה 1 תגובה אחרונה
                0
                • Men770M מנותק
                  Men770M מנותק
                  Men770
                  כתב ב נערך לאחרונה על ידי
                  #8

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

                  פורסם במקור בפורום CODE613 ב18/12/2017 12:47 (+02:00)

                  יחי אדוננו מורנו ורבינו מלך המשיח לעולם ועד!

                  תגובה 1 תגובה אחרונה
                  0
                  • dovidD מנותק
                    dovidD מנותק
                    dovid ניהול
                    כתב ב נערך לאחרונה על ידי
                    #9

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

                    פורסם במקור בפורום CODE613 ב18/12/2017 12:53 (+02:00)

                    מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                    בכל נושא אפשר ליצור קשר dovid@tchumim.com

                    תגובה 1 תגובה אחרונה
                    1
                    • Men770M מנותק
                      Men770M מנותק
                      Men770
                      כתב ב נערך לאחרונה על ידי
                      #10

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

                      פורסם במקור בפורום CODE613 ב18/12/2017 13:07 (+02:00)

                      יחי אדוננו מורנו ורבינו מלך המשיח לעולם ועד!

                      תגובה 1 תגובה אחרונה
                      0
                      • Men770M מנותק
                        Men770M מנותק
                        Men770
                        כתב ב נערך לאחרונה על ידי
                        #11

                        לייתר דיוק קוראים לזה האש.

                        פורסם במקור בפורום CODE613 ב18/12/2017 13:10 (+02:00)

                        יחי אדוננו מורנו ורבינו מלך המשיח לעולם ועד!

                        תגובה 1 תגובה אחרונה
                        0
                        • dovidD מנותק
                          dovidD מנותק
                          dovid ניהול
                          כתב ב נערך לאחרונה על ידי
                          #12

                          הבנתי, אתה מתכוון לגיבוב.
                          אוקי אז אתן לך דרך שתעבוד:

                          string result = "";
                          char[] textChars = text.ToCharArray();
                          
                          for (int i = 0; i < textChars.Length; i++)
                          {
                          	var curr = (textChars[i] * i) % 0x10ffff;
                          	while (curr >= 0x00d800 && curr <= 0x00dfff)
                          		curr = (curr * i) % 0x10ffff;
                          
                          	result += char.ConvertFromUtf32(curr);
                          }
                          return result;
                          

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

                          פורסם במקור בפורום CODE613 ב18/12/2017 13:29 (+02:00)

                          מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                          בכל נושא אפשר ליצור קשר dovid@tchumim.com

                          תגובה 1 תגובה אחרונה
                          0
                          • dovidD מנותק
                            dovidD מנותק
                            dovid ניהול
                            כתב ב נערך לאחרונה על ידי
                            #13

                            ואם זה לא שיעורי בית, אז תוכל במקום זאת לכתוב: text.GetHashCode()

                            פורסם במקור בפורום CODE613 ב18/12/2017 13:30 (+02:00)

                            מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                            בכל נושא אפשר ליצור קשר dovid@tchumim.com

                            תגובה 1 תגובה אחרונה
                            1
                            • מ מנותק
                              מ מנותק
                              מנצפך 0
                              כתב ב נערך לאחרונה על ידי
                              #14

                              נראה לי שהתוצאה של:
                              text.GetHashCode()
                              יכולה להשתנות בין מחשב למחשב. שווה לבדוק.

                              פורסם במקור בפורום CODE613 ב18/12/2017 14:30 (+02:00)

                              תגובה 1 תגובה אחרונה
                              0
                              • dovidD מנותק
                                dovidD מנותק
                                dovid ניהול
                                כתב ב נערך לאחרונה על ידי
                                #15

                                @מנצפך

                                נראה לי שהתוצאה של:
                                text.GetHashCode()
                                יכולה להשתנות בין מחשב למחשב. שווה לבדוק.

                                לא, ממש לא. זה גיבוב של התוכן אבל זה בכלל לא יעיל לגיבוב סיסמה, זה היה סתם זריקה שלי.

                                פורסם במקור בפורום CODE613 ב18/12/2017 14:40 (+02:00)

                                מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                                בכל נושא אפשר ליצור קשר dovid@tchumim.com

                                תגובה 1 תגובה אחרונה
                                0
                                • dovidD מנותק
                                  dovidD מנותק
                                  dovid ניהול
                                  כתב ב נערך לאחרונה על ידי
                                  #16

                                  הופה אתה צודק, לא רק ממחשב למחשב אלא גם מפרימוורק לאחר:
                                  https://msdn.microsoft.com/en-us/library/system.string.gethashcode(v=vs.110).aspx?f=255&MSPPError=-2147217396

                                  The behavior of GetHashCode is dependent on its implementation, which might change from one version of the common language runtime to another. A reason why this might happen is to improve the performance of GetHashCode.
                                  

                                  פורסם במקור בפורום CODE613 ב18/12/2017 14:43 (+02:00)

                                  מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                                  בכל נושא אפשר ליצור קשר dovid@tchumim.com

                                  תגובה 1 תגובה אחרונה
                                  0
                                  • מ מנותק
                                    מ מנותק
                                    מנצפך 0
                                    כתב ב נערך לאחרונה על ידי
                                    #17

                                    תעשה md5. הכי קל.

                                    פורסם במקור בפורום CODE613 ב18/12/2017 15:03 (+02:00)

                                    תגובה 1 תגובה אחרונה
                                    0
                                    • dovidD מנותק
                                      dovidD מנותק
                                      dovid ניהול
                                      כתב ב נערך לאחרונה על ידי
                                      #18

                                      @מנצפך

                                      תעשה md5. הכי קל.

                                      ושיעורי הבית מה יהיו עליהם?

                                      פורסם במקור בפורום CODE613 ב18/12/2017 16:26 (+02:00)

                                      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                                      בכל נושא אפשר ליצור קשר dovid@tchumim.com

                                      תגובה 1 תגובה אחרונה
                                      0
                                      • מ מנותק
                                        מ מנותק
                                        מנצפך 0
                                        כתב ב נערך לאחרונה על ידי
                                        #19

                                        אפשר לעבור על זה.

                                        פורסם במקור בפורום CODE613 ב18/12/2017 20:24 (+02:00)

                                        תגובה 1 תגובה אחרונה
                                        0
                                        • dovidD מנותק
                                          dovidD מנותק
                                          dovid ניהול
                                          כתב ב נערך לאחרונה על ידי
                                          #20

                                          @מתכנת

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

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

                                          פורסם במקור בפורום CODE613 ב18/12/2017 23:51 (+02:00)

                                          מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                                          בכל נושא אפשר ליצור קשר dovid@tchumim.com

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

                                          • 1
                                          • 2
                                          בא תתחבר לדף היומי!
                                          • התחברות

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

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