JavaRush /مدونة جافا /Random-AR /10 مقالات يجب على كل مبرمج قراءتها
Shoggy
مستوى
Санкт-Петербург

10 مقالات يجب على كل مبرمج قراءتها

نشرت في المجموعة
كوني مبرمجًا ومطورًا لبرامج Java، فقد تعلمت الكثير من المقالات العديدة التي تحمل عنوان " ما يجب أن يعرفه كل مبرمج..." ، فهي تميل إلى تقديم الكثير من المعلومات المفيدة والشاملة حول موضوع معين يصعب التعامل معه. يكتشف. في سعيي للحصول على المعرفة، صادفت بعض المقالات المفيدة جدًا والتي قمت بوضع إشارة مرجعية عليها كمعلومات مرجعية لإعادة قراءتها. فكرة أن العديد من المبرمجين يمكن أن يستفيدوا من قراءة هذه المجموعة دفعتني إلى كتابة هذا المنشور ومشاركة كل هذه المقالات "ما يجب أن يعرفه كل مبرمج" معك. 10 مقالات يجب على كل مبرمج قراءتها - 1في هذه المقالة، سوف تتعرف على المجموعة الكلاسيكية من المعرفة التي يحتاجها كل مبرمج، في موضوعات مثل الذاكرة ، وUnicode ، وحساب النقطة العائمة ، والشبكات ، والتصميم الموجه للكائنات)، والوقت ، وترميز URL ، والسلسلة وغيرها الكثير. هذه القائمة مهمة جدًا للمبتدئين والوافدين الجدد لأنهم غالبًا ما يفتقرون إلى المعرفة العملية. نظرًا لأن معظم المقالات تعتمد على أمثلة واقعية، فيمكن للمبرمجين المبتدئين والمتوسطين تعلم الكثير منها. كما أن تعلم الأساسيات في وقت مبكر من حياتك المهنية سيساعدك على تجنب الأخطاء التي ارتكبها المبرمجون ومطورو البرامج الآخرون بالفعل على طول مسار تعلمهم. لسوء الحظ، ليست كل المعلومات الواردة في المقالات الموصوفة سهلة الفهم من القراءة الأولى. من المحتمل أنك قد لا تفهم على الفور بعض التفاصيل حول أرقام الفاصلة العائمة، أو قد تربكك تعقيدات الذاكرة، ولكن من المهم الاحتفاظ بهذه المجموعة في متناول يدك والرجوع إليها من وقت لآخر للتوضيح. لذا أتمنى لك حظًا سعيدًا والاستمتاع بقراءة هذه المقالات الرائعة. بالمناسبة، لا تنس مشاركة أي مقالات أخرى بعنوان "ما يجب أن يعرفه كل مبرمج" إذا لم تكن موجودة بالفعل في قائمتنا.

ما يجب أن يعرفه كل مبرمج عن الذاكرة

الترجمة إلى اللغة الروسية هذه إحدى المقالات الكلاسيكية التي سترشدك إلى ميزات الذاكرة، بعضها قديم، وبعضها جديد، وبعضها مشهور، وبعضها ليس كثيرًا. على الرغم من الدور الإداري والتواجد في كل مكان، ليس كل مبرمج لديه مستوى كاف من المعرفة حول الذاكرة. تزداد أهمية التعرف على الذاكرة في الأنظمة الحديثة إذا كنت تعمل في مجال كتابة تطبيقات عالية الأداء. يبتكر مصممو الأجهزة نماذج أكثر تعقيدًا لإدارة الذاكرة وتقنيات التسريع، مثل ذاكرة التخزين المؤقت لوحدة المعالجة المركزية (CPU)، لكن هذه لا يمكن أن تعمل على النحو الأمثل دون بعض المساعدة من المبرمجين. مازلت أقرأ هذا المقال، ولا أستطيع أن أخبركم كم تعلمت منه عن ذاكرة الوصول العشوائي (RAM)، وذاكرة التخزين المؤقت لوحدة المعالجة المركزية (CPU) مثل ذاكرة التخزين المؤقت L1 وL2، وأنواع مختلفة من الذاكرة، والوصول المباشر إلى الذاكرة، وتصميم وحدة التحكم في الذاكرة، والذاكرة بشكل عام. . باختصار، يجب قراءته للمبرمجين من أي مستوى.

ما يجب أن يعرفه كل عالم عن حساب النقطة العائمة

موضوع حساب النقطة العائمة صعب وليس من السهل إتقانه. لا يعرف العديد من مبرمجي Java حتى الأخطاء التي يمكن أن تحدث عند مقارنة القيم بالنوع float/ doubleالمشغل ==. غالبًا ما يرتكب الكثير منا أخطاء عند تنفيذ الحسابات النقدية في الأنواع floatو double. هذه المقالة هي جوهرة أخرى لهذه السلسلة ويجب قراءتها لجميع مطوري البرامج والمبرمجين. مع اكتسابك الخبرة، يجب عليك الخوض في تعقيدات المواضيع العامة، وحساب النقطة العائمة هو أحد هذه المواضيع. باعتبارك أحد كبار مطوري Java، يجب أن تعرف كيفية إجراء الحسابات النقدية، ومتى تستخدم float، doubleأو BigDecimalكيفية تقريب أرقام الفاصلة العائمة، وغير ذلك الكثير. حتى لو كانت لديك معرفة قوية بهذا الموضوع، فبعد قراءة المقالة قد تكتشف شيئًا جديدًا حول عمليات الفاصلة العائمة.

ما يجب أن يعرفه كل مطور عن Unicode

يعد ترميز الأحرف مجالًا آخر يعاني فيه العديد من المبرمجين، ويهدف "الحد الأدنى المطلق الذي يجب أن يعرفه كل مطور برامج تمامًا عن Unicode ومجموعات الأحرف (بدون أعذار!)" إلى سد هذه الفجوة. للعلم، نعم، هذا هو العنوان الكامل لهذه المقالة. مؤلفها هو جويل سبولسكي، أحد مؤسسي https://stackoverflow.com . كتب جويل هذه المقالة على مدونته منذ ما يقرب من 10 سنوات، لكنها لم تفقد أهميتها في العالم الحديث. يشرح المقال ماهية Unicode، وما هو التشفير، وكيفية تمثيل الأحرف باستخدام البايتات، وغير ذلك الكثير. من أفضل ما في هذه المقالة هي اللغة وطريقة العرض، حتى لو كنت لا تعرف شيئًا عن Unicode، فلن تواجه أي مشكلة في فهمه. باختصار آخر يجب قراءته لجميع المبرمجين والمبرمجين ومهندسي البرمجيات.

ما يجب أن يعرفه كل مبرمج عن الوقت

إلى جانب تشفير الأحرف، يعد الوقت والتواريخ ( Timeو Date) مجالًا آخر يواجه فيه العديد من المبرمجين، وأنا منهم، صعوبة. حتى كبار المطورين يضيعون في توقيت جرينتش، والتوقيت العالمي المنسق، والتوقيت الصيفي، والثواني الكبيسة. لنكون صادقين، ليس من السهل التعامل مع المناطق الزمنية دون ارتكاب بعض الأخطاء، كما أن استخدام التوقيت الصيفي يجعل الأمر أكثر صعوبة. وتزداد المشاكل سوءًا إذا استخدمت التجربة والخطأ لأنك لن تتمكن أبدًا من حل مشكلتك عن طريق القيام بذلك. هناك عدد كبير من الأشياء التي يمكن أن تسوء، وعدد مماثل من المفاهيم الخاطئة. أشياء مثل ما إذا كان التاريخ يحتوي على منطقة زمنية أم لا يمكن أن تربكك، وتحويل وقت UNIX إلى مناطق زمنية أخرى يمكن أن يزعجك، ويمكنك بسهولة نسيان مزامنة الساعات والتأخيرات. أتمنى بعد قراءة هذا المقال أن تختفي العديد من مفاهيمك الخاطئة حول الوقت وأن تكتسب فهمًا كاملاً للوقت.

ما يجب أن يعرفه كل مطور ويب حول تشفير URL

توضح هذه المقالة المفاهيم الخاطئة الشائعة حول ترميز محدد موقع المعلومات (URL)، ثم تحاول توضيح ترميز URL لـ HTTP، ثم توضح المشكلات والحلول الشائعة. على الرغم من أن هذه المقالة ليست خاصة بأي لغة برمجة، إلا أنها توضح المشكلات في Java) وتنتهي بشرح إصلاح مشكلات ترميز URL في Java، وفي تطبيقات الويب على عدة مستويات. سوف تتعلم القواعد النحوية الأساسية لعنوان URL، وبناء جملة URL العام في HTTP والبروتوكولات الأخرى. تتناول هذه المقالة أيضًا مخاطر عناوين URL الشائعة، مثل تشفير الأحرف، والأحرف الخاصة في أجزاء مختلفة من عنوان URL، ومشكلات تشفير/فك تشفير عنوان URL. إذا كنت مبرمج Java، فسوف تتعلم أيضًا كيفية إدارة عناوين URL بشكل صحيح في تطبيق Java. كيفية إنشاء عنوان URL واستخدام مكتبة عميل Apache Commons HTTP. وأخيرًا، يقدم أيضًا أفضل الممارسات والاقتراحات للتعامل مع عناوين URL، مثل كيفية تشفير عنوان URL عند إنشائه، والتأكد من أن عوامل تصفية إعادة كتابة عنوان URL تتعامل مع عناوين URL الخاصة بك بشكل صحيح، والمزيد. باختصار، كتاب يجب قراءته لأي مطور ومبرمج ويب.

ماذا يعرف كل مبرمج عن تطوير الويب؟

تدور هذه المقالة المثيرة للاهتمام من المبرمجين StackExchange حول ما يجب على كل مبرمج يقوم بتنفيذ التفاصيل الفنية لتطبيق ويب مراعاته قبل فتح موقع للجمهور. يتضمن أشياء من مجالات تصميم الواجهة وتجربة المستخدم والأمان ومعايير الويب والأداء وتحسين محركات البحث (SEO) والتقنيات المستخدمة وبعض الموارد المهمة. يعتمد عالم اليوم إلى حد كبير على الإنترنت ومن الشائع جدًا أن يكون لدى المبرمج موقع ويب أو مدونة شخصية. ستكون الخبرة المكتسبة من هذه المقالة مفيدة ليس فقط في أنشطتك المهنية، ولكن أيضًا في مشاريعك الخاصة. سوف تتعرف على جميع التقنيات الأساسية مثل HTTP وHTML وXML وCSS وJavaScript وتوافق المتصفح ونصائح لتقليل وقت تحميل موقعك وخرائط مواقع XML ومواصفات W3C والعديد من النقاط الرئيسية الأخرى.

ما يجب أن يعرفه كل مبرمج عن SEO

هذه مقالة أخرى ستكون مفيدة جدًا لمطوري الويب والمبرمجين والمدونين. يعد تحسين محركات البحث (SEO) أمرًا كبيرًا جدًا بحيث لا يمكن تجاهله، ومن المهم للعديد من المبرمجين والمدونين معرفة أساسيات تحسين محركات البحث لمساعدة Google في العثور على المحتوى الخاص بهم وعرضه لزملائهم المبرمجين. وبما أنه لا يمكن لأي شركة البقاء دون وجود على شبكة الإنترنت في عالم اليوم المتصل بالإنترنت، فإن تحسين محركات البحث (SEO) يصبح أكثر أهمية. إذا كان لديك شركة ناشئة تبيع أي منتج، فإن تحسين محركات البحث (SEO) هو شيء يجب عليك الاهتمام به. يمكن لجميع المبرمجين، وخاصة مطوري الويب، الاستفادة بشكل كبير من هذه المقالة. تذكر أن تحسين محركات البحث واسع النطاق وديناميكي للغاية، ويختلف عبر محركات البحث المختلفة، مثل Google وYahoo وغيرهما. لذلك، لإتقان هذا الموضوع، يجب عليك دائمًا تحديث معرفتك.

ما يجب أن يعرفه كل مبرمج لغة C عن السلوك غير المحدد رقم 1/3

لغة البرمجة C لديها مفهوم "السلوك غير المحدد". السلوك غير المحدد هو موضوع واسع به الكثير من الفروق الدقيقة، وهو أحد الأسباب التي تجعلني أحب Java: سلوك أقل غير محدد، وارتباك أقل، والمزيد من الاستقرار، والمزيد من السلام. العديد من الأشياء التي تبدو معقولة في لغة C لها في الواقع سلوك غير محدد، وهذا مصدر شائع للأخطاء في البرامج. بالإضافة إلى ذلك، فإن أي سلوك غير محدد في لغة C يمنح الإذن لعمليات التنفيذ (للمترجم ووقت التشغيل) لإنشاء تعليمات برمجية تعمل على تنسيق القرص الصلب، أو القيام بأشياء غير متوقعة تمامًا، أو ما هو أسوأ من ذلك. اقرأ هذه المقالة الممتازة لتغوص بعمق في بحر السلوك غير المتوقع.

ما يجب أن يعرفه كل مبرمج عن الشبكات

من المقال نفسه "أنت مبرمج. هل سبق لك أن تساءلت عن كيفية عمل الألعاب متعددة اللاعبين؟ من الخارج، يبدو الأمر سحريًا: يتشارك لاعبان أو أكثر في تجربة تعاونية عبر الإنترنت، كما لو أنهم موجودون معًا بالفعل في نفس العالم الافتراضي. ولكن كيف "نحن نعرف الحقيقة، أيها المبرمجون، أن ما يحدث بالفعل يختلف تمامًا عما ترونه. وتبين أن كل ذلك مجرد وهم". هذه مقالة مثيرة للاهتمام للغاية حول الشبكات مكتوبة لمبرمجي الألعاب، ولكن أعتقد أن كل مبرمج ومطور يمكن أن يستفيد منها.

ما يجب أن يعرفه كل مطور جافا عن السلاسل

هذه مقالتي عنها java.lang.Stringوأعتقد شخصيًا أن كل مبرمج جافا يجب أن يعرفها. تعد السلاسل مهمة جدًا في برمجة Java اليومية ولهذا السبب تعد المعرفة الجيدة أمرًا ضروريًا لأي مطور Java. تتناول هذه المقالة العديد من الجوانب المهمة للسلاسل، بما في ذلك تجمع السلاسل، والسلاسل الحرفية، ومقارنة السلاسل مع ==vs equals()، وتحويل البايتات إلى سلسلة، ولماذا تكون السلسلة غير قابلة للتغيير، وتسلسل السلسلة بشكل صحيح، وأكثر من ذلك بكثير. ربما يعرف المبرمج المتقدم كل هذه الميزات بالفعل، ولكن مع ذلك سيكون من الجيد مراجعتها.

ما الذي يجب أن يعرفه كل مبرمج عن الأمن؟

تم طرح هذا السؤال من قبل أحد المبرمجين الطلابيين في StackOverflow. مثلما نعرف الكثير عن مفاهيم البرمجة العامة مثل نظام التشغيل والخوارزميات وهياكل البيانات وهندسة الكمبيوتر وأشياء أخرى، فمن المهم أيضًا معرفة الأمن. على الرغم من أن موضوع الأمان واسع جدًا، ويغطي مجالات التشفير/فك التشفير، وSSL، وأمن الويب، والتشويش، والمصادقة، والتفويض، وما إلى ذلك، إلا أن هناك حدًا أدنى أساسيًا من المعرفة المطلوبة لكل مبرمج. شخصيًا، في بداية مسيرتي المهنية، لم أكن أعرف الكثير عن الأمان، وعندما بدأت في كتابة تطبيق ويب Java يعتمد على Servlet/JSP، تعلمت عن أمان الويب وعدد من التهديدات الأمنية مثل SQL حقن، ورفض الخدمة، وXML الحقن والبرمجة النصية عبر المواقع وغيرها. باعتباري مطور Java، أتبع الآن ممارسات برمجة Java الآمنة التي يقدمها Fortify وPMP وغيرهما من موفري برامج تحليل التعليمات البرمجية الثابتة. تحتوي هذه المقالة على مجموعة جيدة جدًا من المواضيع والروابط الأمنية، وسواء كنت تقوم بالبرمجة أم لا، فسوف تستفيد بالتأكيد من هذا المورد.

أرقام الكمون التي يجب أن يعرفها كل مبرمج

هذه المقالة هي مكافأة، ولكن مع ذلك، يجب أن يقرأها أي مبرمج. لكتابة تطبيق عالي الأداء بأي لغة برمجة، سواء كانت Java أو C++، يجب أن تعرف قيم زمن الوصول الأساسية، على سبيل المثال، المدة التي ستستغرقها قراءة متغير من الذاكرة، من ذاكرة التخزين المؤقت L1، من ذاكرة التخزين المؤقت L2، لـ قراءة عشوائية من SSD ومن القرص. كم من الوقت يستغرق قفل/إلغاء قفل كائن المزامنة (mutex) لإرسال حزمة بيانات من مدينة إلى أخرى أو للقيام برحلة ذهابًا وإيابًا داخل مركز بيانات واحد. تعتبر قيم زمن الوصول هذه مستقلة عن لغة البرمجة وهي جزء من المعرفة الأساسية التي يجب أن يمتلكها المطور لكتابة تطبيقات عالية التحميل وزمن وصول منخفض. والشيء الإيجابي في هذا الارتباط هو أنه يقدم تحليلا مقارنا لكيفية تطور هذه القيم على مر السنين. يمكنك أن ترى ما هي القيم في عام 2006 وما هي عليه الآن. هذا كل ما في قائمة المقالات التي يجب على كل مبرمج قراءتها. من خلال قراءة مقالات مثل ما يجب أن يعرفه كل مبرمج أو مطور، فإنك تعمق معرفتك بموضوع معين. بصراحة، هناك أشياء كثيرة يجب على المبرمجين تعلمها، وتعلم لغة برمجة مثل Java هو مجرد غيض من فيض، ولكن أليس لدى معظمنا شغف للتعلم. البرمجة هي وظيفة تتطلب تطويرًا مستمرًا، والأشياء الوحيدة التي ستكون مفيدة لأي مبرمج طوال حياته المهنية هي المعرفة الأساسية بأشياء مثل الذاكرة ، وUnicode ، وأرقام الفاصلة العائمة ، والوقت ، والأمن (الأمان) . بعض الأشياء خاصة باللغة، مثل منشوري حول String in Java وما يجب أن يعرفه كل مبرمج C حول السلوك غير المحدد، ولكنها جيدة للتعلم للعديد من المبتدئين والمطورين.
تعليقات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION