كوني مبرمجًا ومطورًا لبرامج Java، فقد تعلمت الكثير من المقالات العديدة التي تحمل عنوان " ما يجب أن يعرفه كل مبرمج..." ، فهي تميل إلى تقديم الكثير من المعلومات المفيدة والشاملة حول موضوع معين يصعب التعامل معه. يكتشف. في سعيي للحصول على المعرفة، صادفت بعض المقالات المفيدة جدًا والتي قمت بوضع إشارة مرجعية عليها كمعلومات مرجعية لإعادة قراءتها. فكرة أن العديد من المبرمجين يمكن أن يستفيدوا من قراءة هذه المجموعة دفعتني إلى كتابة هذا المنشور ومشاركة كل هذه المقالات "ما يجب أن يعرفه كل مبرمج" معك. في هذه المقالة، سوف تتعرف على المجموعة الكلاسيكية من المعرفة التي يحتاجها كل مبرمج، في موضوعات مثل الذاكرة ، و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()
، وتحويل البايتات إلى سلسلة، ولماذا تكون السلسلة غير قابلة للتغيير، وتسلسل السلسلة بشكل صحيح، وأكثر من ذلك بكثير. ربما يعرف المبرمج المتقدم كل هذه الميزات بالفعل، ولكن مع ذلك سيكون من الجيد مراجعتها.
GO TO FULL VERSION