عرض مشاركة واحدة
قديم 02-22-2007, 03:00 PM   #1 (permalink)

Gangasta

عضو ماسى
 




 
Gangasta على طريق التميز

افتراضي



[hide]

مهارات الهاكر الأساسية



طريقة تفكير الهاكر مطلوبة و لكنها لا تغني عن المهارات الأساسية التي يجب أن تتوفر لديه قبل أن يستطيع أي شخص أن يلقبه بلقب هاكر (http://www.eglug.org/glossary#term56).

هذه المهارات تتغير ببطئ عما قبل مع مرور الزمن و مع خلق التكنولوجيا لمهارات جديده. فمثلا كانت هذه المهارات من قبل تتضمن تعلم لغة الآلة و مؤخرا تضمنت كتابة HTML. بالنسبة للوقت الحالي فهذه المهارات تتضمن التالي:

1- تعلم البرمجه

هذه بالتأكيد هي المهارة الأساسية لدى الهاكر. إذا لم تكن تعلم أي من لغات الحاسب الآلي أنصحك بالبدأ بتعلم لغة python. يوجد وثائق تعليمية جيده لها و سهلة للمبتدئين. و بالرغم من كونها لغة جيده للبدأ بها فهي ليست لعبة بل انها لغة قوية و مناسبة للمشاريع الكبيرة. لقد قمت بكتابة تقييم أكثر تفصيلا عن البايثون تجده هنا (http://www.linuxjournal.com/article.php?sid=3882) . و يوجد دروس تعليمية (http://www.python.org/doc/Intros.html) جيده على موقع بايثون الرسمي (http://www.python.org/).

الجافا لغة برمجة جيده أخرى. هي أصعب من البايثون و لكنها تنتج كود أسرع من البايثون. برأي انها تمثل أفضل اختيار ثاني لك. لأسف فالتطبيق المرجع الخاص بشركة صن مازال غير حر. و لكن ليست هذه المشكلة في لغة الجافا نفسها حيث يوجد مترجمين عاليي الجودة و مفتوحين المصدر للجافا. المشكلة الحقيقية تكمن في المكتبات التي تأتي مع لغة البرمجة. المكتبات مفتوحة المصدر أقل جودة من الخاصه بشركة صن. لذلك فإذا اخترت تعلم الجافا قم بالتعلم بواسطة أحد التطبيقات مفتوحة المصدر بدلا من الاعتماد على تطبيق صن المغلق المصدر.

لكن احذر، لن تصل إلى مستوى الهاكر أو حتى المبرمج إذا تعرفت على لغة برمجة واحده أو اتنتين. يجب أن تتعلم كيفية التفكير في المشاكل البرمجية بشكل عام. مستقلا عن أية لغة برمجة. لكي تصبح هاكر يجب أن تصل إلى مستوي حيث يمكنك تعلم لغة برمجة في أيام عن طريق ربط ما هو موجود في كتيب هذه اللغه بما تعرفه انت مسبقا. و هذا يعني تعلمك للعديد من لغات البرمجة.

اذا بدأت في التعمق في برمجة جدية فسوف يجب عليك تعلم لغة السي، قلب نظام التشغيل يونكس. لغة السي++ قريبه جدا من لغة السي، إذا تعلمت واحده فسوف يصبح من السهل عليك تعلم الأخرى. ليست أي منهما الاختيار الصحيح لكي تبدأ به. في الحقيقة كلما استطعت الابتعاد عن البرمجة بالسي كلما أصبحت أكثر انتاجية.

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

يوجد لغات أخرى تعتبر مهمة للهاكرز من ضمنها البيرل (http://www.perl.com/) و ليسب (http://www.lisp.org/). البيرل مهمة لأسباب عملية، فهي تستخدم للصفحات الديناميكية و يستخدمها مديرين النظم. لذلك حتى لو لم تتعلم البرمجة بلغة بيرل فعليك أن تستطيع فهم الكود المكتوب بها. يستخدم العديد من المبرمجين البيرل بنفس الصورة التي أقترح عليك استخدام البايثون بها لتجنب البرمجة بالسي عندما لا تحتاج إلى هذا القدر من التحكم في مصادر الجهاز. سوف تحتاج أن تفهم الكود الذي يكتبه هؤلاء المبرمجين.

تستحق لغة ليسب لفت الانتباه لها لسبب مختلف، بسبب التجربة الرائعة التي سوف تحظى بها عندما تصل إلى فهم هذه اللغه. هذه الخبرة سوف تجعلك مبرمج أفضل لباقية حياتك حتى لو لم تستخدم هذه اللغه كثيرا. يمكنك اكتساب خبرة بسيطه ببساطه عن طريق كتابة أو تعديل بعض الأنماط لمحرر النصوص emacs (http://www.eglug.org/glossary#term61).

أفضل اختيا بالطبع أن تتعلم الخمس لغات. البايثون، السي، السي++، الجافا، البيرل، و الليسب. إلى جانب أنهم أهم اللغات للهاكرز فهم يمثلون تعريف بأكثر من تقنية برمجية و كل منهم سوف يعلمك شئ ذو قيمة عاليه.

لا يمكنني شرح كيفية تعلم البرمجة في هذا المقال فهي مهارة معقدة. و لكن يمكنني أن أخبرك بأن الكتب و الدورات لن يؤدوا الغرض. الكثير بل معظم الهاكرز (http://www.eglug.org/glossary#term56) علموا أنفسهم بأنفسهم. يمكنك تعلم شيئ بسيط من الكتب و لكن أهم المهارات سوف تتعلمها فقط عندما تبدأ بممارسة البرمجة. ما سوف يعلمك بالشكل الصحيح هو



قراءة الكود البرمجي

كتابة الكود البرمجي.

تعلم البرمجة يكاد يكون مثل تعلم أي لغه بشريه حيث أفضل طريقة لتعلم اللغات البشريه هي قراءة بعض ما هو مكتوب من قبل أساتذة تلك اللغات و كتابة بعض الأشياء بنفسك و قراءة المزيد و كتابة المزيد حتى تبدأ كتاباتك في التطور لتصل إلى المستوى الذي تريده.

كان العثور على كود لبرامج جيده صعبا بسبب وجود عدد بسيط من البرامج حرة المصدر ليتمكن الهاكرز من قرائتها و التعديل بها و لكن هذا الشئ قد تغير تماما الآن فالبرامج و نظم التشغيل و أدوات البرمجة مفتوحة المصدر و المبنية من قبل الهاكرز متوفرة الآن و هذا ما ينقلني للنقطة التالية

2- احصل على أحد أنظمة يونكس مفتوحة المصدر و تعلم كيفية تشغيله و استخدامه

سأفترض أن لديك جهاز كمبيوتر أو تستطيع الوصول لجهاز. أهم خطوة يمكن لمبتدئ أخذها للحصول على مهارات الهاكر هي أن يقوم بالحصول على نسخة من نظام التشغيل لينكس أو نظام التشغيل من عائلة BSD و يقوم بتثبيته على جهازه و العمل به.

نعم يوجد أنظمة تشغيل أخرى و لكنها أنظمة مغلقة المصدر و تصل إليك في الشكل النهائي حيث لا يمكنك قراءة الكود المصدري للنظام ولا يمكنك التعديل به. محاولة تعلم الهاك أثناء استخدام نظام التشغيل وندوز أو ماك أو إس يشبه تماما من يحاول تعلم الرقص و هو يرتدي بذله حديدية.

يمكن التعلم باستخدام نظام MacOS X و لكن ليس كل نظام التشغيل مفتوح المصدرللك فسوف تقابل العديد من العقبات. و كن حذا لكي لا يصبح لديك العادة السيئة و هي الاعتماد على الكود مغلق المصدر الخاص بشركة أبل. إذا ركزت على مبادئ اليونكس الموجوده في النظام فسوف تتعلم شسئا مفيداً.

اليونكس هو نظام تشغيل الانترنت. بينما يمكنك تعلم استخدام الانترنت بدون تعلم اليونكس لن يمكنك أن تصبح هاكر انترنت بدون تعلم اليونكس و فهمه. لهذا السبب فثقافة الهاكرز الآن متمركزة بقوة حول اليونكس (لم يكن هذا موجودا من قبل و يوجد بعض الهاكرز القدامى الغير سعيدين بهذا الشئ و لكن الصلة بين اليونكس و الانترنت أصبحت قوية لدرجة أن حتى ميكروسوفت ليست بالقوة الكافية لتضعف هذه الصلة).

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

للمزيد عن اليونكس راجع هذا المقال (http://catb.org/%7Eesr/faqs/loginataka.html) . يمكن أن تراجع أيضا كتاب The Art Of Unix Programming (http://catb.org/%7Eesr/writings/taoup/).

لكي تحصل على نسخة لينكس راجع موقع Linux Online! (http://www.linux.org/)يمكنك تحميل نسخة لينكس من هناك و لكن يستحسن أن تبحث عن مجموعة مستخدمي لينكس قريبه منك لتحصل منهم على النسخه و ليساعدوك على تثبيته على جهازك. بالنسبة للمستخدم الجديد فلا يوجد فرق كبير بين توزيعات اللينكس المختلفه.

يمكنك الحصول على المساعده بخصوص نسخ يونكس BSD من الموقع http://www.bsd.org (http://www.bsd.org/) .

لقد قمت بكتابة درس عن مبادئ اليونكس و الانترنت (http://en.tldp.org/HOWTO/Unix-and-In...WTO/index.html).

ملاحظة: إذا كنت مبتدئ لا أنصح بتثبيت اللينكس أو BSD على الجهاز وحدك . حاول العثور على مجموعة مستخدمي لينكس لتسألهم المساعده.

3- تعلم كيفية استعمال الورلد وايد ويب و كيفية كتابة HTML

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

لا يعني هذا أن تتعلم كيف تتعامل مع المتصفح ( أي شخص يمكنه فعل هذا) و لكن يجب أن تتعلم كيف تقوم بكتابة صفحات الانترنت بواسطة HTML. إذا لم تكن تعرف كيف تبرمج فعندما تتعلم كتابة الصفحات بواسطة HTML سوف تتعلم بعض العادات التي سوف تساعدك على تعلمالأشياء الأخرى. قم ببناء صفحة خاصه بك. حاول دائما أن تستخدم XHTML و هي أفضل من ال HTML التقليدية. يوجد العديد من الدروس التعليمية الجيده على الانترنت، هذا واحد منها http://www.make-a-web-site.com (http://www.make-a-web-site.com/)

و لكن بناء صفحة على الانترنت لك ليس كافيا لتصبح هاكر. الويب مليئة بالصفحات الشخصية. معظمهم لا جدوى منهم ولا يوجد بهم أي محتوي ذو قيمة و ذو مظهر أبله. للمزيد عن هذا الموضوع راجع صفحة The HTML Hell Page (http://catb.org/%7Eesr/html-hell.html)

لكي يصبح لصفحتك قيمة يجب أن يكون بها محتوى يجذب الانتباه أو مفيد للهاكرز الآخرين. و هذا ينقلنا للنقطة التاليه.

4- إذا لم تكن تعرف الإنجليزية، إبدأ في تعلمها

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

في حوالي سنة 1991 علمت أن العديد من الهاكرزالذين يتحدثون لغات غير الانجليزي يستخدمون الانجليزية في مناقشاتهم التقنية حتى و لو كانت لغتهم الأم واحده. حيث أن اللغة الانجليزية بها مصطلحات تقنية أغنى من أي لغة أخرى و لهذا فهي أسهل في التخاطب في الأمور التقنية. و لذلك فالكتب المترجمة من الانجليزية إلى لغات أخرى ليست بنفس مستوى الكفاءة.

لينوس تورفالدس و هو فنلندي يقوم بكتابة التعليقات على الكود الذي يكتبه بالانجليزية. قدرته على التحدث بالانجليزية لعبت دورا هاماً في قدرته على العمل مع المجتمع الواسع من المطورين على الانترنت لتطوير اللينكس. و هو مثال جدير أن يحتذى به



[/hide]




Gangasta غير متواجد حالياً   رد مع اقتباس