يمكن أن يكون إعداد جهاز مطور جديد عملية مخصصة ويدوية وتستغرق وقتًا طويلاً . يهدف dev-setup
إلى تبسيط العملية من خلال تعليمات سهلة الفهم وملفات dotfiles/نصوص برمجية لأتمتة إعداد ما يلي:
تم تصميم dev-setup
ليكون مرجعًا منظمًا لأدوات المطورين المختلفة.
ليس المقصود منك تثبيت كل شيء.
إذا كنت مهتمًا بالأتمتة، فإن dev-setup
يوفر برنامج نصي للإعداد قابل للتخصيص. لا يوجد حقًا حل واحد يناسب الجميع للمطورين، لذا نشجعك على إجراء تعديلات لتناسب احتياجاتك.
الاعتمادات: يعتمد هذا الريبو على العمل الرائع الذي قام به ماتياس بينينز ونيكولاس هيري.
تعد Vagrant وDocker أدوات رائعة وتم إعدادهما بواسطة هذا الريبو. لقد وجدت أن Vagrant يعمل بشكل جيد لضمان توافق المطورين مع مستويات الاختبار والإنتاج. لقد بدأت للتو في استخدام Docker للمشاريع الجانبية ويبدو الأمر واعدًا جدًا. ومع ذلك، بالنسبة لمستخدمي Mac، يعتمد كل من Docker وVagrant على الأجهزة الافتراضية ، التي لها اعتباراتها/إيجابياتها/سلبياتها الخاصة.
يعد Boxen حلاً رائعًا، على الرغم من أن البعض قد يجده موجهًا بشكل أفضل نحو "الشركات الأكثر نضجًا أو فرق التطوير". لقد رأيت بعض المناقشات حول الصعوبات أثناء استخدام الدمية تحت الغطاء.
يأخذ هذا الريبو نهجًا خفيف الوزن للأتمتة باستخدام مزيج من البرامج النصية Homebrew وHomebrew Cask وshell للقيام بإعداد النظام الأساسي. كما يوفر أيضًا تعليمات سهلة الفهم للتثبيت والتكوين والاستخدام لكل تطبيق أو أداة مطور.
تم اختبار البرامج النصية على OS X 10.10 Yosemite و10.11 El Capitan.
~
$ git clone https://github.com/donnemartin/dev-setup.git && cd dev-setup
نظرًا لأنك ربما لا ترغب في تثبيت كل قسم ، فإن البرنامج النصي .dots
يدعم وسائط سطر الأوامر لتشغيل أقسام محددة فقط. ما عليك سوى تمرير البرامج النصية التي تريد تثبيتها. وفيما يلي بعض الأمثلة.
لمزيد من التخصيص، يمكنك استنساخ الريبو أو تفرعه وتعديل البرنامج النصي .dots
والمكونات المرتبطة به لتناسب احتياجاتك.
تشغيل الكل:
$ ./.dots all
قم بتشغيل bootstrap.sh
و osxprep.sh
و brew.sh
و osx.sh
:
$ ./.dots bootstrap osxprep brew osx
قم بتشغيل bootstrap.sh
و osxprep.sh
و brew.sh
و osx.sh
و pydata.sh
و aws.sh
و datastores.sh
:
$ ./.dots bootstrap osxprep brew osx pydata aws datastores
$ curl -O https://raw.githubusercontent.com/donnemartin/dev-setup/master/.dots && ./.dots [Add ARGS Here]
~
ملحوظات:
.dots
في البداية بإدخال كلمة المرور الخاصة بك..dots
إعادة إدخال كلمة المرور الخاصة بك في مراحل معينة من التثبيت..dots
مرة أخرى لاستئناف العمل من حيث توقفت..dots
بتشغيل brew.sh
، والذي يستغرق بعض الوقت حتى يكتمل نظرًا لأن بعض الصيغ تحتاج إلى التثبيت من المصدر..dots
، تأكد من إعادة تشغيل جهاز الكمبيوتر الخاص بك حتى تدخل كافة التحديثات حيز التنفيذ.أنا أشجعك على قراءة القسم 1 حتى يكون لديك فكرة أفضل عما يفعله كل برنامج نصي للتثبيت. تصف المناقشات التالية بمزيد من التفصيل ما يتم تنفيذه عند تشغيل البرنامج النصي .dots.
سيقوم البرنامج النصي bootstrap.sh
بمزامنة مستودع إعداد dev مع الدليل الرئيسي المحلي الخاص بك. سيتضمن ذلك تخصيصات Vim، وbash، وcurl، وgit، وإكمال علامة التبويب، والأسماء المستعارة، وعدد من الوظائف المساعدة، وما إلى ذلك. يصف القسم 2 من هذا الريبو بعض التخصيصات.
أولا، شوكة أو استنساخ الريبو. سيقوم البرنامج النصي bootstrap.sh
بسحب أحدث إصدار ونسخ الملفات إلى المجلد الرئيسي الخاص بك ~
:
$ source bootstrap.sh
للتحديث لاحقًا، ما عليك سوى تشغيل هذا الأمر مرة أخرى.
وبدلاً من ذلك، للتحديث مع تجنب مطالبة التأكيد:
$ set -- -f; source bootstrap.sh
لمزامنة إعداد dev مع الدليل الرئيسي المحلي الخاص بك بدون Git، قم بتشغيل ما يلي:
$ cd ~; curl -#L https://github.com/donnemartin/dev-setup/tarball/master | tar -xzv --strip-components 1 --exclude={README.md,bootstrap.sh,LICENSE}
للتحديث لاحقًا، ما عليك سوى تشغيل هذا الأمر مرة أخرى.
إذا كان ~/.path
موجودًا، فسيتم الحصول عليه مع الملفات الأخرى قبل إجراء أي اختبار للميزات (مثل اكتشاف إصدار ls
الذي يتم استخدامه.
فيما يلي مثال لملف ~/.path
الذي يضيف /usr/local/bin
إلى $PATH
:
export PATH= " /usr/local/bin: $PATH "
إذا كان ~/.extra
موجودًا، فسيتم الحصول عليه مع الملفات الأخرى. يمكنك استخدام هذا لإضافة بعض الأوامر المخصصة دون الحاجة إلى تقسيم هذا المستودع بأكمله، أو لإضافة أوامر لا تريد الالتزام بها في مستودع عام.
يبدو ~/.extra
الخاص بي كما يلي:
# Git credentials
GIT_AUTHOR_NAME= " Donne Martin "
GIT_COMMITTER_NAME= " $GIT_AUTHOR_NAME "
git config --global user.name " $GIT_AUTHOR_NAME "
GIT_AUTHOR_EMAIL= " [email protected] "
GIT_COMMITTER_EMAIL= " $GIT_AUTHOR_EMAIL "
git config --global user.email " $GIT_AUTHOR_EMAIL "
# Pip should only run if there is a virtualenv currently activated
export PIP_REQUIRE_VIRTUALENV=true
# Install or upgrade a global package
# Usage: gpip install –upgrade pip setuptools virtualenv
gpip (){
PIP_REQUIRE_VIRTUALENV= " " pip " $@ "
}
يمكنك أيضًا استخدام ~/.extra
لتجاوز الإعدادات والوظائف والأسماء المستعارة من مستودع إعداد dev، على الرغم من أنه من الأفضل تفرع مستودع إعداد dev.
قم بتشغيل البرنامج النصي osxprep.sh
:
$ ./osxprep.sh
سيقوم osxprep.sh
أولاً بتثبيت كافة التحديثات. إذا كانت إعادة التشغيل مطلوبة، فما عليك سوى تشغيل البرنامج النصي مرة أخرى. بمجرد تثبيت كافة التحديثات، سيقوم osxprep.sh
بعد ذلك بتثبيت أدوات سطر أوامر Xcode.
إذا كنت تريد اتباع المسار اليدوي، فيمكنك أيضًا تثبيت جميع التحديثات عن طريق تشغيل "App Store"، وتحديد رمز "التحديثات"، ثم تحديث كل من نظام التشغيل والتطبيقات المثبتة.
إحدى التبعيات المهمة قبل أن تتمكن العديد من الأدوات مثل Homebrew من العمل هي أدوات سطر الأوامر لـ Xcode . يتضمن ذلك المترجمين مثل gcc الذي سيسمح لك بالبناء من المصدر.
إذا كنت تستخدم OS X 10.9 Mavericks أو إصدار أحدث ، فيمكنك تثبيت أدوات سطر أوامر Xcode مباشرة من سطر الأوامر باستخدام:
$ xcode-select --install
ملاحظة : يقوم البرنامج النصي osxprep.sh
بتنفيذ هذا الأمر.
سيؤدي تشغيل الأمر أعلاه إلى عرض مربع حوار حيث يمكنك إما:
إذا كنت تستخدم الإصدار 10.8 أو أقدم، فستحتاج إلى الانتقال إلى http://developer.apple.com/downloads، وتسجيل الدخول باستخدام معرف Apple الخاص بك (نفس المعرف الذي تستخدمه في iTunes وعمليات شراء التطبيقات). لسوء الحظ، يتم الترحيب بك باستبيان مزعج إلى حد ما. جميع الأسئلة مطلوبة، لذا لا تتردد في الإجابة بشكل عشوائي.
بمجرد وصولك إلى صفحة التنزيلات، ابحث عن "أدوات سطر الأوامر"، وقم بتنزيل أحدث أدوات سطر الأوامر (OS X Mountain Lion) لـ Xcode . افتح ملف .dmg بمجرد الانتهاء من التنزيل، وانقر نقرًا مزدوجًا على مثبت .mpkg لبدء التثبيت. عند الانتهاء، يمكنك إلغاء تحميل القرص في Finder.
عند إعداد جهاز Mac جديد، قد ترغب في تثبيت Homebrew، وهو مدير حزم يعمل على تبسيط تثبيت التطبيقات أو المكتبات وتحديثها.
تتضمن بعض التطبيقات المثبتة بواسطة البرنامج النصي brew.sh
: Chrome وFirefox وSublime Text وAtom وDropbox وEvernote وSkype وSlack وAlfred وVirtualBox وVagrant وDocker وما إلى ذلك. للحصول على قائمة كاملة بالصيغ والتطبيقات المثبتة، قم بالرجوع إلى الملف المصدر Brew.sh الذي تم التعليق عليه مباشرة وقم بتعديله ليناسب احتياجاتك.
قم بتشغيل البرنامج النصي brew.sh
:
$ ./brew.sh
يستغرق البرنامج النصي brew.sh
بعض الوقت حتى يكتمل، حيث يلزم تثبيت بعض الصيغ من المصدر.
لكي يصبح تخصيص المحطة الطرفية ساري المفعول بالكامل، قم بإنهاء الجهاز وإعادة تشغيله
عند إعداد جهاز Mac جديد، قد ترغب في تعيين إعدادات OS X الافتراضية الموجهة للمطورين. يقوم البرنامج النصي osx.sh
أيضًا بتكوين تطبيقات الجهات الخارجية الشائعة مثل Sublime Text وChrome.
ملاحظة : أشجعك بشدة على قراءة الملف المصدر osx.sh الذي تم التعليق عليه وتعديل أي إعدادات بناءً على تفضيلاتك الشخصية. الإعدادات الافتراضية للبرنامج النصي مخصصة لك. على سبيل المثال، إذا لم تكن تقوم بتشغيل SSD، فقد ترغب في تغيير بعض الإعدادات المدرجة في قسم SSD.
قم بتشغيل البرنامج النصي osx.sh
:
$ ./osx.sh
لكي يصبح تخصيص المحطة الطرفية ساري المفعول بالكامل، قم بإنهاء الجهاز وإعادة تشغيله.
لإعداد بيئة تطوير للعمل مع Python وتحليل البيانات دون الاعتماد على توزيعة Anaconda ذات الوزن الثقيل، قم بتشغيل البرنامج النصي pydata.sh
:
$ ./pydata.sh
سيؤدي هذا إلى تثبيت Virtualenv وVirtualenvwrapper. سيقوم بعد ذلك بإعداد بيئتين افتراضيتين محملتين بالحزم التي ستحتاجها للعمل مع البيانات في Python 2 وPython 3.
للتبديل إلى بيئة Python 2 الافتراضية، قم بتشغيل أمر Virtualenvwrapper التالي:
$ workon py2-data
للتبديل إلى بيئة Python 3 الافتراضية، قم بتشغيل أمر Virtualenvwrapper التالي:
$ workon py3-data
ثم ابدأ العمل مع الحزم المثبتة، على سبيل المثال:
$ ipython notebook
القسم 3: تحليل بيانات بايثون يصف الحزم المثبتة والاستخدام.
لإعداد بيئة تطوير للعمل مع Spark وHadoop MapReduce وAmazon Web Services، قم بتشغيل البرنامج النصي aws.sh
:
$ ./aws.sh
القسم 4: البيانات الضخمة، AWS، وHeroku يصف الحزم المثبتة والاستخدام.
لإعداد مخازن بيانات مشتركة، قم بتشغيل البرنامج النصي datastores.sh
:
$ ./datastores.sh
القسم 5: مخازن البيانات يصف الحزم المثبتة والاستخدام.
لإعداد بيئة تطوير ويب JavaScript، قم بتشغيل البرنامج النصي web.sh
:
$ ./web.sh
القسم 6: تطوير الويب يصف الحزم المثبتة والاستخدام.
لإعداد بيئة تطوير Android، قم بتشغيل البرنامج النصي android.sh
:
$ ./android.sh
القسم 7: تطوير Android يصف الحزم المثبتة والاستخدام.
مع الجهاز، يعد محرر النصوص الأداة الأكثر أهمية للمطورين. كل شخص لديه تفضيلاته، ولكن ما لم تكن من مستخدمي Vim المتشددين، فسيخبرك الكثير من الأشخاص أن Sublime Text هو الأفضل حاليًا.
يقوم البرنامج النصي Brew.sh بتثبيت Sublime Text.
إذا كنت تفضل تثبيته بشكل منفصل، فاستمر في تنزيله. افتح ملف .dmg ، ثم قم بالسحب والإفلات في مجلد التطبيقات .
ملاحظة : في هذه المرحلة، سأقوم بإنشاء اختصار على OS X Dock لكلا النصين Sublime Text. للقيام بذلك، انقر بزر الماوس الأيمن على التطبيق قيد التشغيل وحدد Options > Keep in Dock .
Sublime Text ليس مجانيًا، ولكن أعتقد أن لديه "فترة تقييم" غير محدودة. على أية حال، سنستخدمه كثيرًا لدرجة أن سعره الذي يبدو باهظًا والذي يبلغ 70 دولارًا يستحق كل قرش. إذا كنت تستطيع تحمله، أقترح عليك دعم هذه الأداة الرائعة.
يحتوي البرنامج النصي osx.sh على تكوينات Sublime Text.
يعد Soda Theme أحد سمات واجهة المستخدم الرائعة لـ Sublime Text، خاصة إذا كنت تستخدم سمة داكنة وتعتقد أن الشريط الجانبي يبرز مثل الإبهام المؤلم.
إذا كنت تستخدم التحكم الممتاز في الحزمة Sublime Package من Will Bond، فيمكنك بسهولة تثبيت Soda Theme عبر Package Control: Install Package
. يتم إدراج حزمة Soda Theme Theme - Soda
في قائمة الحزم.
وبدلاً من ذلك، إذا كنت من مستخدمي git، فيمكنك تثبيت السمة والبقاء على اطلاع دائم عن طريق استنساخ الريبو مباشرة في دليل Packages
الخاص بك في منطقة إعدادات تطبيق Sublime Text.
يمكنك تحديد موقع دليل Sublime Text Packages
الخاص بك باستخدام عنصر القائمة Preferences -> Browse Packages...
.
أثناء وجودك داخل دليل Packages
، قم باستنساخ مستودع السمات باستخدام الأمر أدناه:
$ git clone https://github.com/buymeasoda/soda-theme/ "Theme - Soda"
Sublime Text 2 -> Preferences -> Settings - User
"theme": "Soda Light.sublime-theme"
أو "theme": "Soda Dark.sublime-theme"
مثال إعدادات المستخدم نص سامية 2
{
"theme": "Soda Light.sublime-theme"
}
Sublime Text -> Preferences -> Settings - User
"theme": "Soda Light 3.sublime-theme"
أو "theme": "Soda Dark 3.sublime-theme"
مثال إعدادات المستخدم نص سامية 3
{
"theme": "Soda Light 3.sublime-theme"
}
على الرغم من أن Monokai عبارة عن نظام ألوان رائع، إلا أنني أجد أنه قد يكون من الصعب رؤية التعليقات. يمكنك اتباع هذه التعليمات لتغيير لون السمة الافتراضية.
لقد قمت بتعيين لون تعليقاتي إلى #E6DB74
.
...
foreground
#E6DB74
...
يعد Atom محررًا رائعًا مفتوح المصدر من GitHub والذي يكتسب مساهمين وشعبية بسرعة.
يقوم البرنامج النصي Brew.sh بتثبيت Atom.
إذا كنت تفضل تثبيته بشكل منفصل، فقم بتنزيله، وافتح ملف .dmg ، ثم قم بالسحب والإفلات في مجلد التطبيقات .
لدى Atom مدير حزم رائع يسمح لك بتثبيت الحزم الأساسية والمجتمعية بسهولة.
وبما أننا نقضي الكثير من الوقت في المحطة، فيجب أن نحاول أن نجعلها مكانًا أكثر متعة وملونة.
يحتوي البرنامج النصي bootstrap.sh والبرنامج النصي osx.sh على تخصيصات طرفية.
أفضّل iTerm2 على منصة المخزون، لأنه يحتوي على بعض الميزات الإضافية الرائعة. قم بتنزيل iTerm2 وتثبيته (الإصدار الأحدث، حتى لو كان مكتوبًا عليه "إصدار تجريبي").
في Finder، قم بسحب وإفلات ملف تطبيق iTerm في مجلد التطبيقات.
يمكنك الآن تشغيل iTerm، من خلال Launchpad على سبيل المثال.
دعونا فقط نغير بعض التفضيلات بسرعة. في iTerm > التفضيلات...، في علامة التبويب "ملفات التعريف"، قم بإنشاء ملف تعريف جديد باستخدام الرمز "+"، وأعد تسميته إلى اسمك الأول على سبيل المثال. ثم حدد إجراءات أخرى... > تعيين كافتراضي. ضمن نافذة القسم، قم بتغيير الحجم إلى شيء أفضل، مثل الأعمدة: 125 والصفوف: 35. أود أيضًا تعيين عام > دليل العمل > إعادة استخدام دليل الجلسة السابقة. وأخيرًا، قمت بتغيير الطريقة التي يعمل بها مفتاح الخيار حتى أتمكن من التنقل بسرعة بين الكلمات كما هو موضح هنا.
عند الانتهاء، اضغط على علامة "X" الحمراء في الجزء العلوي الأيسر (يتم الحفظ تلقائيًا في أجزاء تفضيلات OS X). أغلق النافذة وافتح نافذة جديدة لترى التغيير في الحجم.
وبما أننا نقضي الكثير من الوقت في المحطة، فيجب أن نحاول أن نجعلها مكانًا أكثر متعة وملونة. قد يبدو ما يلي كثيرًا من العمل، ولكن ثق بي، سيجعل تجربة التطوير أفضل بكثير.
الآن دعونا نضيف بعض الألوان. أنا معجب كبير بنظام الألوان Solarized. ومن المفترض أن يكون الأمثل علميا للعيون. أنا فقط أجدها جميلة.
في هذه المرحلة، يمكنك أيضًا تغيير اسم جهاز الكمبيوتر الخاص بك، والذي يظهر في هذه المطالبة الطرفية. إذا كنت تريد القيام بذلك، فانتقل إلى تفضيلات النظام > المشاركة . على سبيل المثال، قمت بتغيير جهازي من "Donne's MacBook Pro" إلى "MacBook Pro" فقط، لذلك يظهر باسم MacBook-Pro
في الجهاز.
الآن لدينا محطة يمكننا العمل معها!
على الرغم من أن Sublime Text سيكون المحرر الرئيسي لدينا، إلا أنها فكرة جيدة أن تتعلم بعض الاستخدامات الأساسية لـ Vim. إنه محرر نصوص شائع جدًا داخل الجهاز، وعادةً ما يتم تثبيته مسبقًا على أي نظام Unix.
على سبيل المثال، عند تشغيل التزام Git، فإنه سيفتح Vim للسماح لك بكتابة رسالة الالتزام.
أقترح عليك قراءة البرنامج التعليمي على Vim. إن استيعاب مفهوم "الوضعين" للمحرر، إدراج (بالضغط على i
) وعادي (بالضغط على Esc
للخروج من وضع الإدراج)، سيكون الجزء الذي يبدو غير طبيعي إلى حد كبير. بعد ذلك يتذكر فقط بعض المفاتيح المهمة.
يحتوي البرنامج النصي bootstrap.sh على تخصيصات Vim.
VirtualBox يقوم بإنشاء وإدارة الأجهزة الافتراضية. إنه حل مجاني قوي لمنافسه التجاري VMware.
يقوم البرنامج النصي Brew.sh بتثبيت VirtualBox
إذا كنت تفضل تثبيته بشكل منفصل، يمكنك تنزيله هنا أو تشغيله:
$ brew update
$ brew install caskroom/cask/brew-cask
$ brew cask install --appdir="/Applications" virtualbox
يقوم Vagrant بإنشاء وتكوين بيئات التطوير. يمكنك اعتباره غلافًا عالي المستوى حول VirtualBox وأدوات إدارة التكوين مثل Ansible وChef وPuppet وSalt. يدعم Vagrant أيضًا حاويات Docker وبيئات الخادم مثل Amazon EC2.
يقوم البرنامج النصي Brew.sh بتثبيت Vagrant.
إذا كنت تفضل تثبيته بشكل منفصل، يمكنك تنزيله هنا أو تشغيله:
$ brew update
$ brew install caskroom/cask/brew-cask
$ brew cask install --appdir="/Applications" vagrant
يقوم Docker بأتمتة نشر التطبيقات داخل حاويات البرامج. أعتقد أن الاقتباس التالي يشرح عامل الإرساء بشكل جيد: "Docker هي أداة يمكنها حزم التطبيق وتبعياته في حاوية افتراضية يمكن تشغيلها على أي خادم Linux. وهذا يساعد على تمكين المرونة وقابلية النقل في المكان الذي يمكن تشغيل التطبيق فيه، سواء في مكان العمل والسحابة العامة والسحابة الخاصة والمعدنية وما إلى ذلك".
يقوم البرنامج النصي Brew.sh بتثبيت Docker.
إذا كنت تفضل تثبيته بشكل منفصل، يمكنك تنزيله هنا أو تشغيله:
$ brew update
$ brew install docker
$ brew install boot2docker
تهيئة وبدء تشغيل boot2docker
(تحتاج إلى القيام بذلك مرة واحدة فقط):
$ boot2docker init
بدء تشغيل الجهاز الظاهري:
$ boot2docker up
قم بتعيين متغير البيئة DOCKER_HOST
واملأ IP و PORT بناءً على إخراج الأمر boot2coker up
:
$ export DOCKER_HOST=tcp://IP:PORT
ما هو المطور بدون Git؟
من المفترض أن يكون Git قد تم تثبيته عند المرور عبر قسم تثبيت أدوات سطر أوامر Xcode.
للتحقق من إصدار Git لديك، قم بتشغيل الأمر التالي:
$ git --version
و $ which git
يجب أن يخرج /usr/local/bin/git
.
لنقم بإعداد بعض التكوينات الأساسية. قم بتنزيل ملف .gitconfig إلى دليلك الرئيسي:
$ cd ~
$ curl -O https://raw.githubusercontent.com/donnemartin/dev-setup/master/.gitconfig
سيضيف بعض الألوان إلى أوامر Git الخاصة status
branch
diff
، بالإضافة إلى بعض الأسماء المستعارة. لا تتردد في إلقاء نظرة على محتويات الملف، والإضافة إليه حسب رغبتك.
بعد ذلك، سنحدد مستخدم Git الخاص بك (يجب أن يكون هو نفس الاسم والبريد الإلكتروني الذي تستخدمه لـ GitHub وHeroku):
$ git config --global user.name "Your Name Here"
$ git config --global user.email "[email protected]"
ستتم إضافتهم إلى ملف .gitconfig
الخاص بك.
لدفع التعليمات البرمجية إلى مستودعات GitHub الخاصة بك، سنستخدم طريقة HTTPS الموصى بها (مقابل SSH). لذلك لا يتعين عليك كتابة اسم المستخدم وكلمة المرور في كل مرة، فلنقم بتمكين التخزين المؤقت لكلمة مرور Git كما هو موضح هنا:
$ git config --global credential.helper osxkeychain
ملاحظة : على نظام التشغيل Mac، من المهم أن تتذكر إضافة .DS_Store
(ملف نظام OS X مخفي يتم وضعه في مجلدات) إلى ملفات .gitignore
الخاصة بك. يمكنك إلقاء نظرة على ملف .gitignore الخاص بهذا المستودع للحصول على الإلهام. تحقق أيضًا من مجموعة GitHub لقوالب .gitignore.
يسهّل مديرو الحزم تثبيت التطبيقات وتحديثها (لأنظمة التشغيل) أو المكتبات (لغات البرمجة). الأكثر شعبية لنظام التشغيل OS X هو Homebrew.
يقوم البرنامج النصي Brew.sh بتثبيت Homebrew وعدد من صيغ وتطبيقات Homebrew المفيدة.
إذا كنت تفضل تثبيته بشكل منفصل، فقم بتشغيل الأمر التالي واتبع الخطوات التي تظهر على الشاشة:
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
لتثبيت حزمة (أو صيغة في مفردات Homebrew)، ما عليك سوى كتابة ما يلي:
$ brew install
لتحديث دليل الصيغ الخاص بـ Homebrew، قم بتشغيل:
$ brew update
ملاحظة : لقد رأيت هذا الأمر يفشل أحيانًا بسبب خطأ ما. إذا حدث ذلك، فقم بتشغيل ما يلي (عندما يكون Git مثبتًا لديك):
$ cd /usr/local
$ git fetch origin
$ git reset --hard origin/master
لمعرفة ما إذا كانت أي من حزمك بحاجة إلى التحديث:
$ brew outdated
لتحديث الحزمة:
$ brew upgrade
يحتفظ Homebrew بتثبيت الإصدارات القديمة من الحزم، في حالة رغبتك في التراجع. نادرًا ما يكون ذلك ضروريًا، لذلك يمكنك إجراء بعض التنظيف للتخلص من تلك الإصدارات القديمة:
$ brew cleanup
لمعرفة ما قمت بتثبيته (مع أرقام الإصدارات الخاصة به):
$ brew list --versions
تم تثبيت روبي بالفعل على أنظمة يونكس، ولكننا لا نريد العبث بهذا التثبيت. والأهم من ذلك أننا نريد أن نكون قادرين على استخدام أحدث إصدار من روبي.
يوفر brew.sh
rbenv وRuby-build مما يسمح لك بإدارة إصدارات متعددة من Ruby على نفس الجهاز. يضيف brew.sh
السطر التالي إلى ملف .extra
الخاص بك لتهيئة rbenv
:
eval "$(rbenv init -)"
يستخدم rbenv
ruby-build
لتنزيل الإصدارات الجديدة من Ruby وتجميعها وتثبيتها. يمكنك رؤية جميع الإصدارات المتاحة للتنزيل والتثبيت:
$ ruby-build --definitions
لتثبيت نسخة جديدة من روبي:
# list all available versions installed on the system:
$ rbenv install -l
# install a Ruby version:
$ rbenv install 2.2.3
لتبديل إصدارات روبي:
# set a local application-specific Ruby version in the current directory
$ rbenv local 1.9.3
# set the global version of Ruby to be used in all shells
$ rbenv global 2.0.0
سيقوم rbenv
افتراضيًا بتثبيت إصدارات Ruby في دليل يحمل نفس الاسم ضمن ~/.rbenv/versions
. نظرًا لأن المستخدم الخاص بك يمتلك هذا الدليل، فلن تحتاج بعد الآن إلى استخدام sudo
لتثبيت الأحجار الكريمة.
يأتي OS X، مثل Linux، مزودًا بـ Python مثبتًا بالفعل. لكنك لا ترغب في العبث بنظام Python (بعض أدوات النظام تعتمد عليه، وما إلى ذلك)، لذلك سنقوم بتثبيت الإصدار الخاص بنا مع Homebrew. سيسمح لنا أيضًا بالحصول على أحدث إصدار من Python 2.7 وPython 3.
يقوم البرنامج النصي Brew.sh بتثبيت أحدث إصدارات Python 2 وPython 3.
Pip هو مدير حزم بايثون.
يقوم البرنامج النصي pydata.sh بتثبيت النقطة.
فيما يلي بعض أوامر Pip لتبدأ. لتثبيت حزمة بايثون:
$ pip install
لترقية الحزمة:
$ pip install --upgrade
لرؤية ما تم تثبيته:
$ pip freeze
لإلغاء تثبيت حزمة:
$ pip uninstall
Virtualenv هي أداة تعمل على إنشاء بيئة Python معزولة لكل مشروع من مشاريعك. بالنسبة لمشروع معين، بدلًا من تثبيت الحزم المطلوبة عالميًا، من الأفضل تثبيتها في مجلد معزول في المشروع (على سبيل المثال، مجلد اسمه venv
)، والذي سيتم إدارته بواسطة virtualenv.
الميزة هي أن المشاريع المختلفة قد تتطلب إصدارات مختلفة من الحزم، وسيكون من الصعب إدارة ذلك إذا قمت بتثبيت الحزم على مستوى العالم. كما يسمح لك أيضًا بالحفاظ على مجلد /usr/local/lib/python2.7/site-packages
العالمي نظيفًا.
يقوم البرنامج النصي pydata.sh بتثبيت Virtualenv.
لنفترض أن لديك مشروعًا في دليل يسمى myproject
. لإعداد virtualenv لهذا المشروع:
$ cd myproject/
$ virtualenv venv --distribute
إذا كنت تريد أن يرث Virtualenv أيضًا الحزم المثبتة عالميًا (مثل IPython أو Numpy المذكورة أعلاه)، فاستخدم:
$ virtualenv venv --distribute --system-site-packages
تقوم هذه الأوامر بإنشاء دليل فرعي venv
في مشروعك حيث تم تثبيت كل شيء. تحتاج إلى تنشيطه أولاً (في كل محطة تعمل فيها على مشروعك):
$ source venv/bin/activate
يجب أن تشاهد ظهور (venv)
في بداية موجه الجهاز الطرفي الخاص بك للإشارة إلى أنك تعمل داخل virtualenv. الآن عندما تقوم بتثبيت شيء ما:
$ pip install
سيتم تثبيته في مجلد venv
، ولن يتعارض مع المشاريع الأخرى.
هام : تذكر إضافة venv
إلى ملف .gitignore
الخاص بمشروعك حتى لا تقوم بتضمين كل ذلك في كود المصدر الخاص بك!
Virtualenvwrapper عبارة عن مجموعة من الملحقات التي تتضمن أغلفة لإنشاء وحذف البيئات الافتراضية وإدارة سير عمل التطوير الخاص بك، مما يسهل العمل على أكثر من مشروع في وقت واحد دون إدخال تعارضات في تبعياتهم.
تشمل الميزات الرئيسية ما يلي:
يقوم البرنامج النصي pydata.sh بتثبيت Virtualenvwrapper.
إنشاء بيئة افتراضية جديدة. عندما تقوم بإنشاء بيئة جديدة فإنها تصبح تلقائيًا البيئة النشطة:
$ mkvirtualenv [env name]
إزالة بيئة افتراضية موجودة. يجب إلغاء تنشيط البيئة (انظر أدناه) قبل إزالتها:
$ rmvirtualenv [env name]
تفعيل البيئة الافتراضية. سيتم أيضًا سرد جميع البيئات الافتراضية الموجودة إذا لم يتم تمرير أي وسيطة:
$ workon [env name]
قم بإلغاء تنشيط البيئة الافتراضية النشطة حاليًا. لاحظ أن العمل سوف يقوم بإلغاء تنشيط البيئة الحالية تلقائيًا قبل تنشيط بيئة جديدة:
$ deactivate
Anaconda هي توزيعة مجانية للغة برمجة Python لمعالجة البيانات على نطاق واسع والتحليلات التنبؤية والحوسبة العلمية التي تهدف إلى تبسيط إدارة الحزم ونشرها.
يقوم البرنامج النصي pydata.sh بتثبيت الحزم التي تحتاجها لتشغيل تطبيقات بيانات Python. وبدلاً من ذلك، يمكنك تثبيت أناكوندا ذات الوزن الثقيل بدلاً من ذلك.
اتبع التعليمات لتثبيت Anaconda أو miniconda خفيف الوزن.
IPython هو مشروع رائع يوفر واجهة Python أفضل بكثير من تلك التي تحصل عليها من تشغيل $ python
في سطر الأوامر. يحتوي على العديد من الوظائف الرائعة (تشغيل أوامر Unix من Python Shell، والنسخ واللصق السهل، وإنشاء مخططات Matplotlib مضمنة، وما إلى ذلك) وسأسمح لك بالرجوع إلى الوثائق لاكتشافها.
IPython Notebook عبارة عن بيئة حسابية تفاعلية قائمة على الويب حيث يمكنك الجمع بين تنفيذ التعليمات البرمجية والنص والرياضيات والمؤامرات والوسائط الغنية في مستند واحد.
يقوم البرنامج النصي pydata.sh بتثبيت IPython Notebook. إذا كنت تفضل تثبيته بشكل منفصل، قم بتشغيل:
$ pip install "ipython[notebook]"
إذا واجهت مشكلة تتعلق بـ pyzmq، فارجع إلى منشور Stack Overflow التالي وقم بتشغيله:
$ pip uninstall ipython
$ pip install "ipython[all]"
$ ipython notebook
إذا كنت ترغب في رؤية بعض الأمثلة، فإليك بعضًا من مستودعاتي التي تستخدم دفاتر IPython بشكل كبير:
يضيف NumPy دعم لغة Python للمصفوفات والمصفوفات الكبيرة ومتعددة الأبعاد، إلى جانب مكتبة كبيرة من الوظائف الرياضية عالية المستوى للعمل على هذه المصفوفات.
يقوم البرنامج النصي pydata.sh بتثبيت NumPy. إذا كنت تفضل تثبيته بشكل منفصل، قم بتشغيل:
$ pip install numpy
ارجع إلى Numpy IPython Notebook التالي.
Pandas هي مكتبة برمجية مكتوبة لمعالجة البيانات وتحليلها بلغة بايثون. يقدم هياكل البيانات والعمليات لمعالجة الجداول الرقمية والسلاسل الزمنية.
يقوم البرنامج النصي pydata.sh بتثبيت Pandas. إذا كنت تفضل تثبيته بشكل منفصل، قم بتشغيل:
$ pip install pandas
راجع دفاتر الباندا IPython التالية.
Matplotlib هي مكتبة تخطيط بلغة Python ثنائية الأبعاد تنتج أرقامًا لجودة النشر في مجموعة متنوعة من التنسيقات المطبوعة والبيئات التفاعلية عبر الأنظمة الأساسية.
يقوم البرنامج النصي pydata.sh بتثبيت matplotlib. إذا كنت تفضل تثبيته بشكل منفصل، قم بتشغيل:
$ pip install matplotlib
ارجع إلى دفاتر ملاحظات matplotlib IPython التالية.
Seaborn هي مكتبة تصور لغة Python تعتمد على matplotlib. يوفر واجهة عالية المستوى لرسم رسومات إحصائية جذابة.
يقوم البرنامج النصي pydata.sh بتثبيت matplotlib. إذا كنت تفضل تثبيته بشكل منفصل، قم بتشغيل:
$ pip install seaborn
ارجع إلى matplotlib التالي مع دفاتر Seaborn IPython.
يضيف Scikit-learn دعم لغة Python للمصفوفات والمصفوفات الكبيرة ومتعددة الأبعاد، إلى جانب مكتبة كبيرة من الوظائف الرياضية عالية المستوى للعمل على هذه المصفوفات.
يقوم البرنامج النصي pydata.sh بتثبيت Scikit-learn. إذا كنت تفضل تثبيته بشكل منفصل، قم بتشغيل:
$ pip install scikit-learn
ارجع إلى دفاتر ملاحظات IPython من scikit-Learn التالية.
SciPy عبارة عن مجموعة من الخوارزميات الرياضية ووظائف الراحة المبنية على امتداد Numpy لـ Python. إنه يضيف قوة كبيرة إلى جلسة Python التفاعلية من خلال تزويد المستخدم بأوامر وفئات عالية المستوى لمعالجة البيانات وتصورها.
يقوم البرنامج النصي pydata.sh بتثبيت SciPy. إذا كنت تفضل تثبيته بشكل منفصل، قم بتشغيل:
$ pip install scipy
ارجع إلى دفاتر ملاحظات SciPy IPython التالية.
Flask هو إطار تطبيق ويب صغير مكتوب بلغة Python.
يقوم البرنامج النصي pydata.sh بتثبيت SciPy. إذا كنت تفضل تثبيته بشكل منفصل، قم بتشغيل:
$ pip install Flask
[قريبًا] ارجع إلى دفاتر ملاحظات Flask IPython التالية.
Bokeh هي مكتبة تصور تفاعلية بلغة Python تستهدف متصفحات الويب الحديثة للعرض التقديمي. هدفها هو توفير بنية أنيقة وموجزة للرسومات الجديدة بأسلوب D3.js، ولكنها توفر أيضًا هذه القدرة مع تفاعل عالي الأداء عبر مجموعات بيانات كبيرة جدًا أو متدفقة. يمكن أن يساعد Bokeh أي شخص يرغب في إنشاء مخططات ولوحات معلومات وتطبيقات بيانات تفاعلية بسرعة وسهولة.
يقوم البرنامج النصي pydata.sh بتثبيت Bokeh. إذا كنت تفضل تثبيته بشكل منفصل، قم بتشغيل:
$ pip install bokeh
[قريبًا] ارجع إلى دفاتر ملاحظات Bokeh IPython التالية.
Spark عبارة عن إطار عمل للحوسبة العنقودية داخل الذاكرة، وهو أسرع بما يصل إلى 100 مرة لتطبيقات معينة وهو مناسب تمامًا لخوارزميات التعلم الآلي.
يقوم البرنامج النصي aws.sh بتثبيت Spark محليًا. كما أنه يربط Spark ليتم تشغيله داخل IPython Notebook عن طريق تكوين ملف .bash_profile
الخاص بك وإضافة profile_pyspark/
إلى .ipython
.
إذا كنت تفضل تثبيته بشكل منفصل، قم بتشغيل:
$ brew install apache-spark
تشغيل Spark محليًا:
$ pyspark
قم بتشغيل Spark داخل IPython Notebook:
$ ipython notebook --profile=pyspark
راجع مفكرة Spark IPython التالية.
يتم دعم Spark أيضًا على AWS Elastic MapReduce كما هو موضح هنا. لإنشاء مجموعة، قم بتشغيل الأمر التالي باستخدام AWS CLI، مع استبدال myKeyPair
باسم زوج المفاتيح الخاص بك إلى SSH في مجموعتك:
$ aws emr create-cluster --name "Spark cluster" --ami-version 3.8 --applications Name=Spark --ec2-attributes KeyName=myKeyPair --instance-type m3.xlarge --instance-count 3 --use-default-roles
يدعم Mrjob وظائف MapReduce في Python، وتشغيلها محليًا أو على مجموعات Hadoop مثل AWS Elastic MapReduce (EMR).
Mrjob هو Python 2 فقط.
يقوم البرنامج النصي aws.sh بتثبيت mrjob محليًا. إذا كنت تفضل تثبيته بشكل منفصل، قم بتشغيل:
$ pip install mrjob
يقوم البرنامج النصي aws.sh أيضًا بمزامنة ملف القالب .mrjob.conf
مع المجلد الرئيسي الخاص بك. لاحظ أن تشغيل البرنامج النصي aws.sh سيؤدي إلى استبدال أي ملف ~/.mrjob.conf
موجود. قم بتحديث ملف التكوين باستخدام بيانات الاعتماد وزوج المفاتيح والمنطقة ومسارات حاوية S3:
runners:
emr:
aws_access_key_id: YOURACCESSKEY
aws_secret_access_key: YOURSECRETKEY
aws_region: us-east-1
ec2_key_pair: YOURKEYPAIR
ec2_key_pair_file: ~/.ssh/YOURKEYPAIR.pem
...
s3_scratch_uri: s3://YOURBUCKETSCRATCH
s3_log_uri: s3://YOURBUCKETLOG
...
ارجع إلى مفكرة mrjob IPython التالية.
Awesome AWS عبارة عن قائمة منسقة من مكتبات AWS الرائعة والمستودعات مفتوحة المصدر والأدلة والمدونات والموارد الأخرى. إنها طريقة رائعة للبقاء على اطلاع دائم بالجهود المختلفة المدعومة من قبل AWS والتي يقودها المجتمع والموجهة نحو AWS.
يتم وضع علامات مرئية على عمليات إعادة الشراء "الساخنة" في Awesome AWS بناءً على شعبيتها:
لا تزال عمليات إعادة الشراء غير الموجودة في The Fiery Meter of AWSome
رائعة، راجع ملاحظة حول Repo AWSomeness.
لبدء استخدام AWS، يتعين عليك أولاً التسجيل للحصول على حساب.
عندما تقوم بالتسجيل في Amazon Web Services (AWS)، يتم تسجيل حساب AWS الخاص بك تلقائيًا في جميع الخدمات في AWS. يتم محاسبتك فقط على الخدمات التي تستخدمها. المستخدمون الجدد مؤهلون للحصول على 12 شهرًا من الاستخدام من خلال طبقة AWS المجانية.
لإنشاء حساب AWS، افتح http://aws.amazon.com/، ثم انقر فوق تسجيل. اتبع التعليمات التي تظهر على الشاشة. يتضمن جزء من إجراء التسجيل تلقي مكالمة هاتفية وإدخال رمز PIN باستخدام لوحة مفاتيح الهاتف. لاحظ معرف حساب AWS الخاص بك.
تعد واجهة سطر أوامر AWS أداة موحدة لإدارة خدمات AWS، مما يسمح لك بالتحكم في خدمات AWS المتعددة من سطر الأوامر وتشغيلها تلقائيًا من خلال البرامج النصية.
يقوم البرنامج النصي aws.sh بتثبيت AWS CLI. إذا كنت تفضل تثبيته بشكل منفصل، قم بتشغيل:
$ pip install awscli
قم بتشغيل الأمر التالي لتكوين AWS CLI:
$ aws configure
وبدلاً من ذلك، يقوم البرنامج النصي aws.sh أيضًا بمزامنة مجلد القالب .aws/
مع المجلد الرئيسي لديك. لاحظ أن تشغيل البرنامج النصي aws.sh سيؤدي إلى استبدال أي مجلد ~/.aws/
موجود. قم بتحديث ملف التكوين ببيانات الاعتماد الخاصة بك والموقع:
[default]
region = us-east-1
[default]
aws_access_key_id = YOURACCESSKEY
aws_secret_access_key = YOURSECRETKEY
كن حذرًا حتى لا تتحقق من بيانات الاعتماد الخاصة بك عن طريق الخطأ. تم تعيين الملف .gitignore لتجاهل الملفات ذات بيانات الاعتماد.
ارجع إلى دفتر ملاحظات AWS CLI IPython التالي.
على الرغم من أن AWS CLI يعد موردًا رائعًا لإدارة الخدمات التي تدعمها AWS، إلا أنه من الصعب تذكر استخدام ما يلي:
تهدف SAWS
إلى تعزيز AWS CLI بميزات تركز على:
تحت الغطاء، يتم تشغيل SAWS
بواسطة AWS CLI ويدعم نفس الأوامر وبنية الأوامر .
استخدام SAWS
و AWS CLI
:
aws [parameters] [options]
ميزات SAWS
:
SAWS
متاح لأنظمة التشغيل Mac، وLinux، وUnix، وWindows.
الرجوع إلى الرابط الريبو.
Boto هو AWS SDK الرسمي لـ Python.
يقوم البرنامج النصي aws.sh بتثبيت boto. إذا كنت تفضل تثبيته بشكل منفصل، قم بتشغيل:
$ pip install boto
يستخدم Boto نفس التكوين كما هو موضح في قسم AWS CLI.
ارجع إلى دفتر ملاحظات Boto IPython التالي.
قبل أن أكتشف S3cmd، كنت أستخدم وحدة التحكم S3 للقيام بالعمليات الأساسية وboto للقيام بالمزيد من المهام الثقيلة. ومع ذلك، في بعض الأحيان أريد فقط اختراق سطر الأوامر للقيام بعملي.
لقد وجدت أن S3cmd أداة سطر أوامر رائعة للتفاعل مع S3 على AWS. S3cmd مكتوب بلغة Python، وهو مفتوح المصدر، وهو مجاني حتى للاستخدام التجاري. إنه يوفر ميزات أكثر تقدمًا من تلك الموجودة في AWS CLI.
S3cmd هو Python 2 فقط.
يقوم البرنامج النصي aws.sh بتثبيت s3cmd. إذا كنت تفضل تثبيته بشكل منفصل، قم بتشغيل:
$ pip install s3cmd
سيطالبك تشغيل الأمر التالي بإدخال وصول AWS ومفاتيح AWS السرية. لاتباع أفضل ممارسات الأمان، تأكد من أنك تستخدم حساب IAM بدلاً من استخدام الحساب الجذر.
أقترح أيضًا تمكين تشفير GPG الذي سيؤدي إلى تشفير بياناتك أثناء عدم النشاط، وتمكين HTTPS من تشفير بياناتك أثناء النقل. لاحظ أن هذا قد يؤثر على الأداء.
$ s3cmd --configure
بدلاً من ذلك ، يقوم البرنامج النصي AWS.SH أيضًا بمزامنة ملف .s3cfg
إلى المجلد المنزلي. لاحظ أن تشغيل البرنامج النصي AWS.SH سيقوم بتسجيل أي ملف ~/.s3cfg
الموجود. قم بتحديث ملف التكوين مع بيانات الاعتماد الخاصة بك والموقع:
[Credentials]
aws_access_key_id = YOURACCESSKEY
aws_secret_access_key = YOURSECRETKEY
...
bucket_location = US
...
gpg_passphrase = YOURPASSPHRASE
كن حذرًا ، فأنت لا تحقق بطريق الخطأ في بيانات الاعتماد الخاصة بك. تم تعيين ملف .gitignore لتجاهل الملفات مع بيانات الاعتماد.
الرجوع إلى دفتر S3CMD Ipython التالي.
S3DISTCP هو امتداد لـ DISTCP تم تحسينه للعمل مع Amazon S3. يعد S3DISTCP مفيدًا في الجمع بين الملفات الأصغر وتجميعها معًا ، مع أخذ نمط وملف مستهدف لدمج ملفات الإدخال الأصغر على تلك الأكبر. يمكن أيضًا استخدام S3DistCp لنقل كميات كبيرة من البيانات من S3 إلى مجموعة Hadoop الخاصة بك.
يأتي S3Distcp مع AWS CLI.
الرجوع إلى دفتر S3Distcp Ipython التالي.
S3-Paralled-Put هي أداة رائعة لتحميل ملفات متعددة إلى S3 بالتوازي.
$ git clone https://github.com/twpayne/s3-parallel-put.git
ارجع إلى دفتر S3-paralial-put-put-puton.
Redshift هو مستودع بيانات سريع مبني على رأس التكنولوجيا من المعالجة الموازية الضخمة (MPP).
اتبع هذه التعليمات.
الرجوع إلى دفتر ريد الانزياح الأحمر التالي.
يقوم Kinesis بتدفق البيانات في الوقت الفعلي مع القدرة على معالجة آلاف تدفقات البيانات في الثانية.
اتبع هذه التعليمات.
الرجوع إلى دفتر Kinesis Ipython التالي.
تقوم Lambda بتشغيل التعليمات البرمجية استجابةً للأحداث ، وإدارة موارد حساب تلقائيًا.
اتبع هذه التعليمات.
الرجوع إلى دفتر Lambda Ipython التالي.
Amazon Machine Learning هي خدمة تجعل من السهل على المطورين من جميع مستويات المهارات استخدام تقنية التعلم الآلي. يوفر Amazon Machine Learning أدوات التصور والمعالجات التي توجهك خلال عملية إنشاء نماذج التعلم الآلي (ML) دون الحاجة إلى تعلم خوارزميات ML والتكنولوجيا المعقدة. بمجرد أن تصبح النماذج الخاصة بك جاهزة ، يجعل Amazon Machine Learning من السهل الحصول على تنبؤات لتطبيقك باستخدام واجهات برمجة التطبيقات البسيطة ، دون الحاجة إلى تنفيذ رمز توليد التنبؤ المخصص ، أو إدارة أي بنية تحتية.
اتبع هذه التعليمات.
[قريبًا] راجع دفتر Ipython التعلم AWS التالي.
Heroku ، إذا لم تكن على دراية بها بالفعل ، فهي عبارة عن منصة كخدمة (PAAS) تجعل من السهل حقًا نشر تطبيقاتك عبر الإنترنت. هناك حلول أخرى مماثلة هناك ، لكن هيروكو كان من بين الأول وهو الأكثر شعبية. لا يقتصر الأمر على جعل حياة المطور أسهل ، لكنني أجد أن نشر Heroku في الاعتبار عند إنشاء تطبيق يجبرك على اتباع أفضل الممارسات لتطوير التطبيقات الحديثة.
على افتراض أن لديك حسابًا (اشترك إذا لم تقم بذلك) ، فلنقوم بتثبيت عميل Heroku لخط الأوامر. يوفر Heroku مثبت Mac OS X ، حزام أدوات Heroku ، والذي يتضمن العميل. لكن بالنسبة لهذا النوع من الأدوات ، أفضل استخدام Homebrew. يتيح لنا متابعة أفضل ما قمنا بتثبيته. لحسن الحظ بالنسبة لنا ، يتضمن Homebrew صيغة heroku-toolbelt
:
$ brew install heroku-toolbelt
قد لا تحتوي الصيغة على أحدث إصدار من عميل Heroku ، والذي يتم تحديثه كثيرًا. دعنا نقوم بتحديثه الآن:
$ brew upgrade heroku-toolbelt
لا تخف من تشغيل heroku update
بين الحين والآخر للحصول على أحدث إصدار.
تسجيل الدخول إلى حساب Heroku الخاص بك باستخدام بريدك الإلكتروني وكلمة المرور:
$ heroku login
إذا كان هذا حسابًا جديدًا ، وبما أنه ليس لديك بالفعل مفتاح SSH عام في دليل ~/.ssh
الخاص بك ، فسيقدم إنشاء واحد لك. قل نعم! سيقوم أيضًا بتحميل مفتاح حساب Heroku الخاص بك ، والذي سيسمح لك بنشر التطبيقات من هذا الكمبيوتر.
إذا لم يوفر ذلك إنشاء مفتاح SSH لك (أي أن حساب Heroku الخاص بك يحتوي بالفعل على مفاتيح SSH مرتبطة به) ، فيمكنك القيام بذلك يدويًا عن طريق التشغيل:
$ mkdir ~/.ssh
$ ssh-keygen -t rsa
حافظ على اسم الملف الافتراضي وتخطي عبارة المرور عن طريق الضغط فقط على إدخال كلتا الحالتين. ثم ، أضف مفتاح حساب Heroku الخاص بك:
$ heroku keys:add
بمجرد الانتهاء من العمل الرئيسي ، تكون مستعدًا لنشر التطبيقات! يتمتع Heroku بدليل رائع للبدء ، لذلك سأسمح لك بالرجوع إلى ذلك (المرتبط هنا هو Python ، ولكن هناك واحدة لكل لغة شهيرة). يستخدم Heroku GIT لدفع التعليمات البرمجية للنشر ، لذا تأكد من أن تطبيقك تحت التحكم في إصدار GIT. ورقة غش سريعة (إذا كنت قد استخدمت Heroku من قبل):
$ cd myapp/
$ heroku create myapp
$ git push heroku master
$ heroku ps
$ heroku logs -t
مركز هيروكو ديف مليء بالموارد الرائعة ، لذا تأكد من التحقق من ذلك!
يقوم البرنامج النصي Datastores.sh بتثبيت MySQL. إذا كنت تفضل تثبيته بشكل منفصل ، فقم بتشغيله:
$ brew update # Always good to do
$ brew install mysql
كما ترون في OUPUT من Homebrew ، قبل أن نتمكن من استخدام MySQL ، نحتاج أولاً إلى إعداده مع:
$ unset TMPDIR
$ mkdir /usr/local/var
$ mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
لبدء خادم MySQL ، استخدم أداة mysql.server
:
$ mysql.server start
لإيقافه عند الانتهاء ، قم بالتشغيل:
$ mysql.server stop
يمكنك رؤية الأوامر المختلفة المتاحة لـ mysql.server
مع:
$ mysql.server --help
للتواصل مع عميل سطر الأوامر ، قم بتشغيل:
$ mysql -uroot
(استخدم exit
لإنهاء قذيفة MySQL.)
ملاحظة : افتراضيًا ، لا يحتوي root
مستخدم MySQL على كلمة مرور. لا يهم حقًا قاعدة بيانات التنمية المحلية. إذا كنت ترغب في تغييره ، فيمكنك استخدام $ mysqladmin -u root password 'new-password'
.
فيما يتعلق بعميل واجهة المستخدم الرسومية لـ MySQL ، اعتدت على طاولة عمل MySQL الرسمية والمجانية. لكن لا تتردد في استخدام أيهما تفضل.
يقوم برنامج Datastores.sh بتثبيت MySQL Workbench. إذا كنت تفضل تثبيته بشكل منفصل ، فقم بتشغيله:
$ brew install caskroom/cask/brew-cask
$ brew cask install --appdir="/Applications" mysqlworkbench
يمكنك أيضًا العثور على تنزيل MySQL Workbench هنا. ( ملاحظة : سيطلب منك تسجيل الدخول ، لا تحتاج إلى ذلك ، فقط انقر فوق "لا شكرًا ، فقط ابدأ التنزيل الخاص بي!" في الأسفل.)
MongoDB هي قاعدة بيانات NOSQL شهيرة.
يقوم البرنامج النصي Datastores.sh بتثبيت MongoDB. إذا كنت تفضل تثبيته بشكل منفصل ، فقم بتشغيله:
$ brew update
$ brew install mongo
في محطة ، ابدأ خادم MongoDB:
$ mongod
في محطة أخرى ، اتصل بقاعدة البيانات مع قذيفة Mongo باستخدام:
$ mongo
سأدعك تشير إلى دليل البدء في MongoDB للمزيد!
Redis هو متجر سريع الحارق ، في الذاكرة ، القيمة الرئيسية ، يستخدم القرص من أجل الثبات. إنه نوع من قاعدة بيانات NOSQL ، ولكن هناك الكثير من الأشياء الرائعة التي يمكنك القيام بها بها والتي ستكون صعبة أو غير فعالة مع حلول قاعدة البيانات الأخرى. على سبيل المثال ، غالبًا ما يتم استخدامه كإدارة جلسة أو تخزين مؤقت من قبل تطبيقات الويب ، ولكنه يحتوي على العديد من الاستخدامات الأخرى.
يقوم البرنامج النصي Datastores.sh بتثبيت redis. إذا كنت تفضل تثبيته بشكل منفصل ، فقم بتشغيله:
$ brew update
$ brew install redis
بدء تشغيل خادم Redis محلي باستخدام إعدادات التكوين الافتراضية مع:
$ redis-server
للاستخدام المتقدم ، يمكنك تعديل ملف التكوين على /usr/local/etc/redis.conf
(أقترح عمل نسخة احتياطية أولاً) ، واستخدام تلك الإعدادات مع:
$ redis-server /usr/local/etc/redis.conf
في محطة أخرى ، اتصل بالخادم مع واجهة سطر الأوامر Redis باستخدام:
$ redis-cli
سأدعك تشير إلى وثائق Redis أو البرامج التعليمية الأخرى لمزيد من المعلومات.
كما يقول في المربع ، فإن Elasticsearch هو "مصدر مفتوح قوي ، وموزع في الوقت الفعلي ، محرك التحليلات في الوقت الفعلي". يستخدم واجهة برمجة تطبيقات HTTP REST ، مما يجعل من السهل العمل مع أي لغة برمجة.
يمكنك استخدام Elasticsearch للحصول على أشياء رائعة مثل نتائج البحث في الوقت الفعلي ، والإكمال التلقائي ، والتوصيات ، والتعلم الآلي ، والمزيد.
يقوم البرنامج النصي Datastores.sh بتثبيت Elasticsearch. إذا كنت تفضل تثبيته بشكل منفصل ، تحقق من المناقشة التالية.
يعمل Elasticsearch على Java ، لذا تحقق مما إذا كنت قد قمت بتثبيتها عن طريق التشغيل:
$ java -version
إذا لم يتم تثبيت Java بعد ، فستظهر نافذة تنص على تثبيتها. المضي قدما وانقر "تثبيت".
بعد ذلك ، قم بتثبيت Elasticsearch مع:
$ brew install elasticsearch
ملاحظة : يحتوي Elasticsearch أيضًا على برنامج plugin
يتم نقله إلى PATH
. أجد ذلك عامًا جدًا من الاسم ، لذلك أقوم بإعادة تسميته إلى elasticsearch-plugin
عن طريق التشغيل (ستحتاج إلى القيام بذلك مرة أخرى إذا قمت بتحديث Elasticsearch):
$ mv /usr/local/bin/plugin /usr/local/bin/elasticsearch-plugin
أدناه ، سأستخدم elasticsearch-plugin
، فقط استبدله بالمكونات plugin
إذا لم تكن قد اتبعت هذه الخطوة.
كما تفكر ، يمكنك إضافة مكونات إضافية إلى Elasticsearch. الشائع هو Head Elasticsearch ، والذي يمنحك واجهة ويب ل API REST. تثبيته مع:
$ elasticsearch-plugin --install mobz/elasticsearch-head
بدء خادم Elasticsearch المحلي مع:
$ elasticsearch
اختبر أن الخادم يعمل بشكل صحيح عن طريق التشغيل:
$ curl -XGET 'http://localhost:9200/'
إذا قمت بتثبيت البرنامج المساعد Elasticsearch-Head ، فيمكنك زيارة واجهته على http://localhost:9200/_plugin/head/
.
وثائق Elasticsearch هي أكثر من مرجع. للبدء ، أقترح قراءة بعض منشورات المدونة المرتبطة بإجابة Stackoverflow هذه.
يقوم البرنامج النصي web.sh بتثبيت node.js. يمكنك أيضًا تثبيته يدويًا باستخدام Homebrew:
$ brew update
$ brew install node
تقوم الصيغة أيضًا بتثبيت مدير حزمة NPM. ومع ذلك ، كما هو مقترح من الإخراج homebrew ، نحتاج إلى إضافة /usr/local/share/npm/bin
إلى مسارنا بحيث يتم التقاط الوحدات التي يتم تثبيتها NPM مع التنفيذيين.
للقيام بذلك ، أضف هذا السطر إلى ملف ~/.path
الخاص بك ، قبل خط export PATH
:
PATH=/usr/local/share/npm/bin: $PATH
افتح محطة جديدة لتغييرات $PATH
ليصبح ساري المفعول.
نحتاج أيضًا إلى إخبار NPM بمكان العثور على أدوات سطر أوامر XCode ، عن طريق التشغيل:
$ sudo xcode-select -switch /usr/bin
(إذا تم تثبيت أدوات سطر أوامر Xcode بواسطة Xcode ، فحاول بدلاً من ذلك :)
$ sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
يتم تثبيت وحدات العقدة محليًا في مجلد node_modules
لكل مشروع بشكل افتراضي ، ولكن هناك ما لا يقل عن اثنين يستحقان تثبيت عالميًا. هؤلاء هم القهوة والحركية:
$ npm install -g coffee-script
$ npm install -g grunt-cli
لتثبيت حزمة:
$ npm install # Install locally
$ npm install -g # Install globally
لتثبيت حزمة وحفظها في ملف package.json
الخاص بمشروعك:
$ npm install --save
لمعرفة ما تم تثبيته:
$ npm list # Local
$ npm list -g # Global
للعثور على حزم قديمة (محليًا أو عالميًا):
$ npm outdated [-g]
لترقية كل أو حزمة معينة:
$ npm update []
لإلغاء تثبيت الحزمة:
$ npm uninstall
JShint هو أفضل صديق لمطور JavaScript.
إذا تم الانتهاء من مهمة الائتمان الإضافية لتثبيت Sublime Package Manager ، فيمكن تشغيل JShint كجزء من النص السامي.
يقوم البرنامج النصي web.sh بتثبيت JShint. يمكنك أيضًا تثبيته يدويًا عبر NPM:
$ npm install -g jshint
اتبع إرشادات إضافية على صفحة مدير حزمة JSHINT أو قم بإنشائها يدويًا.
أصبحت المعالجات المسبقة CSS شائعة جدًا ، والمعالجات الأكثر شعبية أقل و SASS. تشبه المعالجة المسبقة إلى حد كبير رمز التجميع لـ CSS. يسمح لك بإعادة استخدام CSS بعدة طرق مختلفة. لنبدأ باستخدام أقل كمعالج مسبق أساسي ، يتم استخدامه من قبل الكثير من أطر عمل CSS الشهيرة مثل Bootstrap.
يقوم البرنامج النصي web.sh بتثبيت أقل. لتثبيت أقل يدويًا ، يجب عليك استخدام NPM / Node ، والتي قمت بتثبيتها سابقًا باستخدام Homebrew. في الاستخدام الطرفي:
$ npm install -g less
ملاحظة: علامة -g
اختيارية ولكنها تمنع الاضطرار إلى العبث بمسارات الملفات. يمكنك التثبيت بدون العلم ، فقط تعرف على ما تفعله.
يمكنك التحقق من أنه تم تثبيته بشكل صحيح باستخدام:
$ lessc --version
هذا يجب أن يخرج بعض المعلومات حول المترجم:
lessc 1.5.1 (LESS Compiler) [JavaScript]
حسنًا ، يتم تثبيت أقل وتشغيله. عظيم!
هناك الكثير من الطرق المختلفة لاستخدام أقل. بشكل عام ، أستخدمه لتجميع ورقة الأنماط محليًا. يمكنك القيام بذلك باستخدام هذا الأمر في المحطة:
$ lessc template.less template.css
الخياران هما ملفات "الإدخال" و "الإخراج" للمترجم. يبحث الأمر في الدليل الحالي لأقل ورقة الأنماط ، ويقوم بتجميعه ، ويخرجه إلى الملف الثاني في نفس الدليل. يمكنك إضافة مسارات للحفاظ على ملفات مشروعك منظمة:
$ lessc less/template.less css/template.css
اقرأ المزيد عن أقل على صفحتهم هنا: http://lesscss.org/
هذا القسم قيد التطوير.
يقوم البرنامج النصي Android.sh بتثبيت Java.
إذا كنت تفضل تثبيته بشكل منفصل ، فيمكنك تنزيل JDK هنا أو تشغيل:
$ brew update
$ brew install caskroom/cask/brew-cask
$ brew cask install --appdir="~/Applications" java
يقوم البرنامج النصي Android.sh بتثبيت Android SDK.
إذا كنت تفضل تثبيته بشكل منفصل ، فيمكنك تنزيله هنا.
يقوم برنامج Android.sh Script بتثبيت Android Studio.
إذا كنت تفضل تثبيته بشكل منفصل ، فيمكنك تنزيله هنا أو تشغيله:
$ brew update
$ brew install caskroom/cask/brew-cask
$ brew cask install --appdir="~/Applications" android-studio
يقوم البرنامج النصي Android.sh بتثبيت Java.
إذا كنت تفضل تثبيته بشكل منفصل ، فيمكنك تنزيله هنا أو تشغيله:
$ brew update
$ brew install caskroom/cask/brew-cask
$ brew cask install --appdir="~/Applications" intellij-idea-ce
تقارير الأخطاء والاقتراحات وطلبات السحب مرحب بها!
انظر صفحة الاعتمادات.
لا تتردد في الاتصال بي لمناقشة أي مشاكل أو أسئلة أو تعليقات.
يمكن العثور على معلومات الاتصال الخاصة بي على صفحة GitHub الخاصة بي.
يحتوي هذا المستودع على مجموعة متنوعة من المحتويات؛ بعضها تم تطويره بواسطة دون مارتن، والبعض الآخر من جهات خارجية. يتم توزيع محتوى الطرف الثالث بموجب الترخيص المقدم من تلك الأطراف.
يتم توزيع المحتوى الذي طورته Donne Martin بموجب الترخيص التالي:
أقدم لك التعليمات البرمجية والموارد في هذا المستودع بموجب ترخيص مفتوح المصدر. نظرًا لأن هذا هو المستودع الشخصي الخاص بي، فإن الترخيص الذي تحصل عليه للأكواد والموارد الخاصة بي هو مني وليس من صاحب العمل (Facebook).
Copyright 2015 Donne Martin
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.