لوحة المتصدرين
المحتوى الأكثر حصولًا على سمعة جيدة
المحتوى الأعلى تقييمًا في 06/11/15 في كل الموقع
-
ما إن تقضي وقتًا أطول مع لينكس حتى تألف العمل مع سطر الأوامر command line والمعروف أيضًا بالطرفيّة Terminal، وشيئًا فشيئًا ستجد أن الأوامر التي تستخدمها تتكرر ذاتها في كلّ يوم، وأن استعمالاتك لا تخرج عن دائرة صغيرة جدًا من الأوامر والتعليمات المتاحة بالفعل. وقد اجتهد مبرمجو معظم الأوامر والأدوات المستخدمة في الطرفية باختصار طرق استدعائها والعمل من خلالها (تخيّل كم توفّر من نقرات لوحة المفاتيح بكتابة "cd" بدلًا من "change-directory"، أو "ls" بدلًا من "list")، إلا أنّ هذا ليس كل شيء بالطبع، فمعظمنا يستخدم الأوامر مع مجموعة من خياراته المفضّلة. لحسن الحظّ فإن حلًا رائعًا لا يزال بانتظارك؛ حيث تسمح لك الطرفيّة بإنشاء اختصاراتك الخاصّة وحفظ وقتك من خلال ما يسمى بالأسماء المستعارة Aliases والدوال Functions. نناقش في هذا الدرس كيفيّة إنشاء هذه الاختصارات وحفظها بشكل دائم، مع بعض الأمثلة المفيدة التي ستيسر لك عملك بالتأكيد. الإعلان عن اسم مستعار Aliasإنشاء الأسماء المستعارة في الطرفيّة أمرٌ في غاية السهولة، لدرجة أنه يمكنك تجريبه على الفور، يتمّ ذلك باستخدام الأداة alias متبوعة بالاختصار الذي ترغب به، والتي تعرّف اسمًا مستعارًا فعّالا ضمن نافذة الطرفيّة المستخدمة فقط: alias alias_name="command_to_run"انتبه إلى أن أسلوب الكتابة السابق لا يتضمن مسافات فارغة قبل وبعد إشارة المساواة (=)، وهذا ليس أمرًا اختياريًا وإلا فإن الاختصار لن يعمل. لننشئ الآن اسمًا مستعارًا كتجربة، حيث سنأخذ واحدًا من أكثر الأوامر استخدامًا على لينكس وليكن الأمر lsمع الخيار -lha أو -lhA (يهمل الثاني عرض المجلد الحالي ومجلده الأب ضمن الخرج، خلاف الخيار الأوّل)، سنختار له اسمًا مستعارًا وليكن ll: alias ll="ls -lhA"يمكننا الآن كتابة ll للحصول على قائمة بمحتويات المجلد الحالي ضمن قائمة طويلة تتضمن المجلدات المخفيّة: ll -rw-r--r-- 1 root root 3.0K Mar 20 18:03 .bash_history -rw-r--r-- 1 root root 3.1K Apr 19 2012 .bashrc drwx------ 2 root root 4.0K Oct 24 14:45 .cache drwx------ 2 root root 4.0K Mar 20 18:00 .gnupg -rw-r--r-- 1 root root 0 Oct 24 17:03 .mysql_history -rw-r--r-- 1 root root 140 Apr 19 2012 .profile drwx------ 2 root root 4.0K Oct 24 14:21 .ssh -rw------- 1 root root 3.5K Mar 20 17:24 .viminfoوفي حال رغبت بالتوقف عن استخدام الاختصار يمكنك تطبيق الأمر التالي: unalias llوهكذا تُحذف قاعدة الاختصار التي أنشأتها للتوّ. بينما يمكنك الهروب من قاعدة ما بشكل مؤقت عن طريق كتابة رمز الهروب "\" قبل الأمر، فلو قمت بإنشاء قاعدة تحيل الأمر ls إلى الأمر ls -a، وترغب الآن بتطبيق الأمر ls دون استدعاء قاعدة الاختصار، فيمكنك كتابة: \lsيمكنك استعراض جميع القواعد المنشأة في أي وقت من خلال الأمر: aliasلكن كما ذكرنا سابقًا فإن الأسماء المستعارة التي يتم إنشاؤها عن طريق الأداة alias لن تعمل سوى في نافذة الطرفيّة المستخدمة، وهذا يعني أنك لو فتحت نافذة أخرى واستدعيت قاعدة ما فلن تحصل على المطلوب. ولجعل هذه التغييرات دائمة، نحن بحاجة إلى وضعها ضمن أحد الملفات التي تقرأها الطرفية في بداية كل تشغيل لها، الخيارات الشائعة لذلك هي استخدام الملف ~/.bashrc أو ~/.bash_profile، وكل ما علينا فعله هو تحرير أحد هذه الملفات وتعريف قواعد اختصارنا هناك: nano ~/.bashrcالآن أضف الأسماء المستعارة التي كنا قد كتبناها في الطرفيّة بذات الصياغة، يمكنك إضافتها في أسفل الملف، أو في أي مكان آخر، كما يمكنك استخدام التعليقات (بالعلامة #) لتوضيح ما قمتُ بإضافته: ######### # Aliases ######### alias ll="ls -lhA"قد تلاحظ وجود بعض الأسماء المستعارة بالفعل ضمن الملف السابق، حيث تأتي العديد من التوزيعات مع بعض الاختصارات التي تجعل من استخدام الطرفية أمرًا أكثر فاعليّة وسهولة. بعد حفظ الملف تصبح التعديلات المُدخلة جاهزة للاستخدام عند فتح نافذة طرفية جديدة، أما لو رغبت باستعمال قواعد الاختصار الجديدة ضمن نافذة الطرفية الحاليّة فيمكنك كتابة الأمر التالي لإعادة قراءة الملف .bashrc: source ~/.bashrc أمثلة أخرىلنمضي الآن في تعلّم بعض الأمثلة الأخرى عن إنشاء اختصارات تسهّل تعاملك مع الطرفيّة وتجعله أكثر فاعلية، تذكّر دومًا أنه يمكنك البحث في الإنترنت عن استخدامات أخرى نافعة للاختصارات، وإلقاء نظرة على تلك التي قد تكون مُعدّة بشكل افتراضي ضمن إعدادات توزيعتك. التنقل والاستعراضيمكن بإضافة بعض الخيارات على أوامر لينكس البسيطة والشائعة الحصول على نتائج أفضل وأكثر تخصيصًا، رأينا ذلك سابقًا مع الأمر ls، لكن هناك بالتأكيد ما هو أبعد من ذلك. فمثلًا يتيح لنا الاختصار التالي استخدام الخيار -CF مع الأمر ls بشكل افتراضي، والذي يفرّق أثناء العرض بين الملفات والمجلدات، بإضافة الرمز "/" في نهاية اسم كلّ مجلد: alias ls="ls -CF"كما يمكننا الالتفاف حول بعض الأخطاء الكتابيّة الشائعة بالنسبة لنا لجعلها تعمل أيضًا: alias sl="ls"يُنشئ الأمر التالي قاعدة اختصار تُمرّر مخرجات الأمر ls إلى الأداة less لاستعراض محتويات المجلدات الكبيرة بأسلوب مريح: alias lsl="ls -lhFA | less"واحدة من الأخطاء المطبعيّة الشائعة نسيان المسافة بين الأمر cd والنقطتين ..، هذه قاعدة تخرجنا من ذلك المأزق: alias cd..="cd .."أو يمكننا اختصار الأمر بالشكل التالي: alias ..="cd .."وهذه قاعدة أخرى لإنشاء اسم مستعار يسهّل عملية البحث عن الملفات: alias fhere="find . -name "إدارة النظاميحتاج مديرو الأنظمة العاملة بلينكس إلى استخدام الكثير من الأوامر مع تفضيلاتهم الخاصة باستمرار، وهذه فرصة جديدة لتعلّم وإنشاء بعض الاختصارات. تتيح القاعدة التالية إنشاء اسم مستعار يسهّل عرض أقسام واستخدامات القرص الصلب لديك ومعلومات أخرى عنه بطريقة مرتبة باستخدام الأمر df: alias df="df -Tha --total"ويمكن تطبيق نفس القاعدة مع كل من الأمر du والأمر free: alias du="du -ach | sort -h" alias free="free -mt"يستخدم الأمر ps لعرض العمليات والبرامج التي يقوم لينكس بتشغيلها مع معلومات تفصيلية عن كل برنامج، يمكن تسهيل قراءة الخرج من خلال الاختصار التالي: alias ps="ps auxf"كما يمكن إنشاء قاعدة تتيح لنا البحث ضمن جدول الخرج عن عملية محدّدة للاكتفاء بعرضها فقط مما يوفر لنا الوقت: alias psg="ps aux | grep -v grep | grep -i -e VSZ -e"فمثلًا للحصول على معلومات العملية bash فقط يمكن كتابة الأمر التالي: psg bash USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND 1001 5227 0.0 0.0 26320 3376 pts/0 Ss 16:29 0:00 bashأمثلة إضافيّةيعمل الأمر mkdir على إنشاء مجلّد جديد، لكن عند اختيار اسم لمجلد موجود بالفعل يعيد لنا رسالة خطأ، يمكن استخدام الخيار -p مع الأمر السابق لإهمال تلك الرسالة (ودون إنشاء المجلد)، كما يمكن عن طريق قاعدة الاختصار التالية جعل هذا الخيار افتراضيًا: alias mkdir="mkdir -p"أيضًا بإضافة الخيار v إلى الأمر السابق نحصل على المزيد من التنسيق، ففي حال وجود مجلد بذات الاسم يتم تجاهل الأمر وعدم عرض رسالة خطأ، أما لو كان الاسم غير مُستخدم فيعيد الأمر السابق خرجًا على الشاشة يؤكّد عملية إنشاء المجلد بنجاح: alias mkdir="mkdir -pv"في معظم الحالات التي نستخدم بها الأمر wget لتحميل ملف ما من الويب فإننا غالبا ما نمرّر له الخيار -c لدعم استكمال التنزيل في حال حدوث خطأ بالاتصال، لجعل ذلك افتراضيًا ننشئ القاعدة التالية: alias wget="wget -c"يعتبر الأمر history واحدًا من الأدوات الفعّالة، حيث يتيح لك البحث ضمن الأوامر التي سبق واستخدمتها، ويطبع لك النتائج المطابقة على الشاشة مرفقة بأرقامها التسلسليّة (حسب التنفيذ)، حيث يمكن استدعاء الأمر مجددًا من رقمه مسبوقًا بإشارة (!): alias histg="history | grep"كما هو معروف، تتوفر بعض أدوات الطرفية بنسختين، تكون الأولى أكثر بساطة، فيما تقدّم الأخرى ميزات وخدمات أكثر، ومن خلال إنشاء الاختصارات سيكون بإمكانك تشغيل النسخة المحسّنة بنفس أمر تشغيل النسخة الأولى. فالأمر top على سبيل المثال يملك نسخة محسنة وملونة بالاسم htop (إذا لم تكن لديك ركبّها من مدير الحزم في توزيعتك أولًا)، وبإنشاء قاعدة الاختصار التالي نعمّم استخدام النسخة المحسنة في كل التطبيقات الأخرى التي تستعملها: alias top="htop"تقدّم الأداة ncdu عرضًا تحليليًا لاستخدام مساحة القرص، الملفات والمجلدات في لينكس بأسلوب تفاعليّ وخيارات متنوّعة: alias du="ncdu"يستبدل الأمر السابق الأداة du بالأداة ncdu، كما يمكن استبدال الأداة df بـ pydf المحسّنة من خلال: alias df="pydf"هل ترغب في معرفة رقم الـ IP الخاص بجهازك؟ أنشئ القاعدة التالية: alias myip="curl http://ipecho.net/plain; echo"فكّر دومًا كيف يمكنك الاستفادة من القوّة الرهيبة للأسماء المستعارة، على سبيل المثال إذا كنتَ تدير موقعًا على الإنترنت بينما يلزمك باستمرار إعادة تحجيم الصور التي ترغب برفعها إلى الموقع لتناسب مقاسًا مخصصًا، يمكنك تركيب الأداة imagemagick من مدير الحزم في توزيعتك، وإنشاء قاعدة تسهل عليك العمل: alias webify="mogrify -resize 690\> *.png"حالما تطبّق الأمر الجديد webify سيتم إعادة تحجيم جميع الصور الموجودة ضمن المجلّد النشط عندما يكون عرضها أصغر من 690px. وبذات الطريقة يمكنك تسهيل رفعها إلى الخادوم الخاص بك: alias upload="sftp username@server.com:/path/to/upload/directoryالدوالكما رأينا فإن ميزة الأسماء المستعارة توفّر أسلوبًا رائعًا في اختصار تنفيذ الأوامر وتسهيل مراكبتها، إلا أنها في النهاية محدودة القدرة، إذا لا يمكننا على سبيل المثال تطبيق سلسلة طويلة من الأوامر معًا في اختصارٍ واحد. لحسن الحظ فهناك ما يساعدنا لتلبية هذه المتطلبات، تُقدّم الدوال functions أسلوبًا بسيطًا في اختصار تنفيذ قطعة من الأوامر دفعة واحدة، وهي أسلوب يقع بين ميزة الأسماء المستعارة وبين كتابة النصوص التنفيذيّة shell scripts، وتعمل بذات طريقة الأسماء المستعارة، كما يمكنها استقبال الدخل من المستخدم لمعالجته. سنتحدث في هذه الفقرة عن الاستخدامات الأساسية لميزة كتابة الدوال، مع بعض الأمثلة التوضيحيّة، متجنبين التفاصيل الواسعة لها، والتي يمكن من خلالها برمجة نصوص تنفيذيّة متقدّمة. لتعريف دالّة لدينا أسلوبين أساسيين، يستخدم الأوّل الأمر function ويأخذ الشكل العام كالتالي: function function_name { command1 command2 } بينا يشبه الأسلوب الآخر نمط الأقواس في لغة C: function_name () { command1 command2 }يمكن ضغط مساحة الأسلوب السابق ليُكتب في سطر واحد باستخدام الفاصلة المنقوطة بين الأوامر، انتبه إلى أن الفاصلة المنقوطة يجب أن تلتصق بالأمر الذي يسبقها: function_name () { command1; command2; }لنبدأ مع مثال بسيط، عادةً عندما نقوم بإنشاء مجلد جديد ضمن الطرفية فإن الخطوة التالية مباشرة هي الدخول إليه، سنكتب دالة لذلك؛ تنشئ مجلد جديد ثم تنتقل إليه: mcd () { mkdir -p $1 cd $1 }الآن يمكن استخدام الدالة mcd بدلًا من mkdir ثم cd: mcd test pwd /home/demouser/testالدالة التالية تعرض مثالًا متقدمًا على ما يمكن كتابته وتنفيذه عن طريق الطرفية، وهي تعمل على فكّ ضغط أنواع كثيرة من تنسيقات الملفات المضغوطة: function extract { if [ -z "$1" ]; then # display usage if no parameters given echo "Usage: extract <path/file_name>.<zip|rar|bz2|gz|tar|tbz2|tgz|Z|7z|xz|ex|tar.bz2|tar.gz|tar.xz>" else if [ -f $1 ] ; then # NAME=${1%.*} # mkdir $NAME && cd $NAME case $1 in *.tar.bz2) tar xvjf ../$1 ;; *.tar.gz) tar xvzf ../$1 ;; *.tar.xz) tar xvJf ../$1 ;; *.lzma) unlzma ../$1 ;; *.bz2) bunzip2 ../$1 ;; *.rar) unrar x -ad ../$1 ;; *.gz) gunzip ../$1 ;; *.tar) tar xvf ../$1 ;; *.tbz2) tar xvjf ../$1 ;; *.tgz) tar xvzf ../$1 ;; *.zip) unzip ../$1 ;; *.Z) uncompress ../$1 ;; *.7z) 7z x ../$1 ;; *.xz) unxz ../$1 ;; *.exe) cabextract ../$1 ;; *) echo "extract: '$1' - unknown archive method" ;; esac else echo "$1 - file does not exist" fi fi }تعمل الدالة على تحديد تنسيق الملف واختيار الأمر المناسب له للتنفيذ. خاتمةنأمل أن يكون هذا الدرس قد أعطاك بعض الإلهام لكتابة قواعد الاختصار والدوال التي تناسبك، مما يسهّل عليك أداء مهامك الروتينيّة وإضافة بعض المتعة على سطر الأوامر. تذكّر أن تبقى حذرًا من إعادة تعريف بعض الأوامر الأساسية بصوّرة قد تسبب مشاكل أو أخطاء قاتلة، كن حذرًا ولا تنشئ اختصارات تؤثّر على ملفات النظام. نقطة البداية الجيدة هي من سجل الأوامر التي كنتَ قد استخدمتها بالفعل في الفترة الماضية، لترى مالذي يتكرّر باستمرار، وتعمل على اختصار العمل من خلال إنشاء أسماء مستعارة جديدة: history | awk '{CMD[$2]++;count++;}END { for (a in CMD)print CMD[a] " " CMD[a]/count*100 "% " a;}' | grep -v "./" | column -c3 -s " " -t | sort -nr | nl | head -n10يعرض السطر السابق خرجًا بالأوامر الأكثر تكرارًا في استخدامك اليوميّ ونسبها المئوية، مما يعطيك الفكرة عن احتياجاتك الحاليّة. نسعد أيضًا بمشاركتكم لنا الاختصارات والدوال التي تستخدمونها عادةً لتبادل الخبرات. ترجمة -وبتصرّف- للمقال An Introduction to Useful Bash Aliases and Functions.2 نقاط
-
حينما يأتي الحديث عن العمل كمدون مستقل لحساب الغير Freelance Blogging، يمكن القول بأن أسهل الطرق لزيادة أسعار خدماتك التدوينية هو "تحسين كفاءة أعمالك". العميل يدفع نفس السعر ليأخذ نفس الخدمة، ولكن التغير الوحيد سيكون أنك عملت بشكل أسرع وحصلت على ما نفس القيمة مقابل وقت أقل، وهذا بالتالي يرفع من قيمة ساعة العمل لديك، وبالتالي أرباحك. بوضع ما سبق في الاعتبار، فأنا أريد اليوم الحديث عن ما يمكن تسميته العنصر الأكثر أهمية لنماء عملي كمدون مستقل. لقد لعب هذا الأمر دورًا رئيسيًا بالنسبة لي في رفع تسعير السّاعة 7 أضعاف في الفترة من 2011 حتى 2013. فإذا كانت مسألة الكفاءة تسير بخطى ثابتة نحو التحسين، فكل شيء على ما يرام. اكتب في ما تعرفحاليًا لديّ 10 عملاء منتظمين. ملخص المواضيع التي أقوم بتغطيتها لهم كالتالي: الووردبريس: 4 عملاء.العمل الحر: 3 عملاءالتسويق الإلكتروني Online Marketing: عميلين.ريادة الأعمال Entrepreneurship: عميل.ما هو العامل المشترك الذي يربط تلك المواضيع كلها ببعض؟ أنني خبير فيها جميعًا. أنا رائد أعمال، ومسوق إلكتروني، أعمل كمستقل Freelancer، وأستخدم الوردبريس Wordpress. هذه هي المناطق التي أقوم بارتيادها بشكل منتظم كل يوم في عملي. في الماضي عملت مع قلة من العملاء على مواضيع ليست مألوفة بالنسبة لي. وبالتأكيد هناك سبب واضح لعدم استمراري في العمل معهم. فحينما أقوم بكتابة مقال عن الوردبريس يأخذ مني نحو الساعة، بينما مقال بنفس الحجم عن موضوع آخر غير مألوف بالنسبة لي قد يأخذ مني أكثر من ساعتين في الكتابة. أيهما أفضل – في رأيك – للعمل على المدى البعيد للعمل كمدون محترف؟ كلما زاد عدد العملاء الذين تعمل معهم ويطلبون أعمالًا تشعر بالألفة حيال الكتابة عنها، كلما زاد معدل سرعة المواضيع التي تكتب، كلما أصبح لديك القدرة على إنجاز أعمالك بشكل أسرع، وبالتالي ربح المزيد من المال. التخصص ≠ الضياعكلما زاد عدد المقالات التي تستطيع كتابتها في المواضيع المألوفة بالنسبة لك، كلما كان ذلك أفضل. في الحقيقة أرغب في الذهاب إلى ما هو أبعد من ذلك، وهو أن تقوم بجعل كل عروضك متخصصة في هذه النوعية من المواضيع. وفي نفس الوقت كن حذرًا بشأن المواضيع التي تنوي التخصص فيها، فربما لا تجلب تلك المواضيع أسعار مناسبة لمجهوداتك. تأمل المواضيع التي أحافظ على الكتابة بها. كل منهم ينتمي إلى أسواق أرباحها مرتفعة، تنفق الكثير على تنمية وتسويق أعمالها، وبالتالي صناعة المحتوى (وهو ما يعني إمكانية جني الأرباح منها بشكل ثابت). عملائي الذين يطورون قوالب الوردبريس يبيعون قوالب Themes، وإضافات Plugins، وأدوات متميزة. عملاء العمل الحر Freelancing يبيعون أدوات مساعدة للعمل الحر على الإنترنت. عملاء التسويق الإلكتروني يبيعون خطط استضافة وأدوات مساعدة. عملاء ريادة الأعمال يبيعون مواقع إنترنت. إذا كنت تجيد الكتابة عن أخبار وفضائح المشاهير، فربما لا تخدمك هذه المواضيع. لا يوجد من يرغب في الدفع لمثل هذه النوعية من المواضيع، وهو ما يعني الضياع. أنصحك بأن تتبع منهجي الكتابي في هذا الشأن. الجميل في هذا المنهج هو أنه يثبت نجاح نفسه بنفسه. لقد بدأت كمدون، وهذا أتاح لي لفترة من الزمن الكتابة عن الوردبريس (منصة التدوين التي أستخدمها). ثم بعد فترة من الزمن – ومن العقود مع العملاء – بدأت في التدوين عن العمل الحر كمدون مستقل في موقعي الشخصي. ثم بعد فترة من الزمن ومن نمو متابعيّ، بدأت أجتذب عملاء يريدون مني الكتابة عن التسويق الإلكتروني وريادة الأعمال. تطوري أدائي وتطور أعمالي كمدون محترف، وكمدون مستقل ارتبطا إلى حد كبير كباقة عمل واحدة. ما هو أفضل من ذلك هو أنني لم أقع أبدًا في فخ نقص الأفكار للكتابة، فأنا أعيش تلك المواضيع – كخبرات وتجارب – أولاً قبل أن أكتب عنها، وبالتالي فتدويناتي مؤثرة إلى حد بعيد، لأنها منقولة رأسًا من أرض الواقع. الذهاب إلى ما هو أعمقحتى ولو كنت تكتب عن مواضيع تشعر براحة حيال الكتابة عنها، ستظل تقضي الكثير من الوقت في البحث. أنا أعلم أنني أفعل هذا، وسعيد به للغاية. ولكن السر هنا هو التركيز على المواضيع التي لا تتطلب الكثير من البحث، بالإضافة إلى خبراتك المتراكمة في هذه المواضيع بالفعل. فكر بشأن ما تعرفه بالفعل، ويمكن تحويله إلى تدوينات/مقالات. هذه هي أسرع وأسهل تدوينة تكتبها على الإطلاق. فأنت تقوم – ببساطة – بترجمة الأفكار التي ترد إلى ذهنك. هذا ما أفعله بالفعل الآن – في هذه التدوينة – ومن ثم تلاحظ أنها متناسقة ومتسقة أيما اتساق. على الجانب الآخر، ربما تختار أن تقوم بإنشاء قطعة قيمة للغاية من المحتوى التي تتطلب البحث والتنقيح لساعات وربما أيام. قد تكون هذه فكرة جيدة، وقد يكون من الجيد المزج بين الطريقتين (طريقتي تفريغ الأفكار والبحث). أما ما أفضله على نحو شخصي، وأرى أنه زبدة أعمالي، فهو تلك اللحظات التي تتدفق فيها الكلمات من عقلي إلى أصابعي لتصنع قطعة المحتوى التي لا تُرد. وأنا بالطبع لا أدعو إلى استعارة أفكار الآخرين بأي صورة من الصور. يجب أن تكون لك لمستك الخاصة فيما تكتب. حتى ولو كان المجال الذي تكتب فيه مزدحمًا وسبقك فيه آخرون، يجب أن تكون مميزًا. يجب أن تضع إضافة، ولمسة خاصة لم يسبقك فيها غيرك، من واقع إبداعك وخبرتك الشخصية. معضلة وحلحتى هذه اللحظة، ربما يظن البعض منكم أنه بالطبع من الجيد والرائع أن تكتب في المواضيع التي تعرفها، ولكن ماذا لو لم يكن لديك موضوع معين تبرع في الكتابة عنه؟ لمن يعاني من هذه الحالة، أقدم له هذه النصيحة البسيطة: تعلّم .. تعلّم .. تعلّم. الق نظرة على المواضيع التي يعرضها عليك عملاؤك. في مايو 2011 لم أكن أعرف أي شيء عن الوردبريس، العمل الحر، أو التسويق الإلكتروني. بعد عام واحد فقط من القراءة والتعلم والمران ازداد معدل كتابتي في هذه المواضيع سرعة، وبالتالي ارتفع معدل أسعاري كذلك. ربما تكون في حاجة إلى اتخاذ الخطوة الأولى – الصعبة نوعًا ما – التي تساعدك في المضي قُدمًا في موضوع ما، لذلك إذا كنت تشعر أنك لست خبيرًا في أي من الأسواق المربحة التي يروق لك خوضها، ثم اسع بجدية لتصبح أحد الخبراء المتحدثين فيها. في ختام كلامي سأخبرك بشيء واحد فقط: من السهل للغاية أن تكتب عن أي شيء أنت منهمك فيه بالفعل (كما أنا في الووردبريس والعمل الحر وغيرها) أكثر من مجال أنت بعيد عنه كل البعد. لا أنصح – على الإطلاق – أن تكتب في مجال لا يلعب أي دور في حياتك اليومية. عن ماذا تكتب؟الآن وبعد أن أخبرتك بما أظن أنه ينبغي أن تكتب عنه، فأنا أرغب حقًا في معرفة عن ماذا تكتب فعليًا الآن. هل تكتب في مواضيع تشعر بالراحة والألفة معها؟ هل ترفض المقالات التي تتطلب بحث شاق؟ هل انغمست بالفعل في المواضيع التي لا تنتمي إليها والتي تتطلب الكثير من البحث؟ أخبرنا بتجاربك في التعليقات. ترجمة -وبتصرّف- للمقال One Simple Way to Increase Your Freelance Blogging Earnings.1 نقطة
-
أعتقد أن أفضل ما يمكنك القيام به في هذا الأمر هو الاستفادة من منصة مستقل، حيث تقوم بفتح مشروع جديد هناك بهذا الخصوص في القسم المناسب، وسوف تأتيك العروض من مستقلين جاهزين للتعامل معك، وبعدها يمكنك اختيار الأنسب من بينهم وفق الشروط التي ترونها مناسبة.1 نقطة
-
تُعنى قابليّة الاستخدام، بكل ما له علاقة بسهولة الاستخدام، ومدى وضوح الغرض من المُنتج (المُنتج قد يكون موقع وقد يكون جهاز أو تطبيق هاتف)، وهي أحد فروع تجربة المُستخدم User Experience، سابقًا كان الاهتمام منصبًا على الجماليّة فقط، الآن كبار المواقع والشركات تبحث عن تجربة أفضل للمُستخدم، أكبر مثال على شركة تهتم بتجربة المُستخدم وقابليّة الاستخدام هي شركة آبل، ستجد أنّ أي مُنتج من منتجاتها لا يحتاج إلى دليل مُستخدم، والمُنتج يشرح نفسه بنفسه، هذه هي الفكرة، إن استطعت توصيل مُنتجك من دون دليل استخدام، من دون تعليقات هنا وهناك فأنت على الطريق السليم، يعني في حالتك، هل يستطيع الزائر تصفّح موقعك بمجرّد النظر إلى الأيقونات والأزرار، أم يحتاج أنّ يقرأ ما بجانب كل أيقونة وزر ليفهم خصائص الموقع؟ أيضًا سرعة الموقع لها دور كبير في قابليّة الاستخدام، أنصحك بقراءة "مهام مُصممّي تجربة المستخدم" هنا على الأكاديميّة لتعرف المزيد حول هذا الأمر.1 نقطة
-
حقوق النسخ والتأليف Copyright تحمي حقوق الكتابة والصور والمُحتوى الكتابي بشكل عام، على أنّ تكون أصليّة لأصحابها، وهذا يشمل مُحتوى الكتب أو مُحتوى المجلات، وهي لا تحمي أسماء المواقع والشعارات، فهذا من اختصاص العلامة التجاريّة Trademark وهي الّتي قد تجدها بالشعار ™ وبعد تسجيل العلامة رسميًّا يتمّ استخدام الشعار ®، هذا توضيحي لكيلا يتمّ الخلط بين الأمرين وبالنسبة للتسجيل عليك بتعيين محامي من أجل هذا النوع من الأمور.1 نقطة
-
تستخدم الشركات الكبيرة عادةً أكثر من لغة برمجة، فجميعهم يستخدمون جافا سكريبت ولغة أخرى: شركات تستخدم لغة روبي: آبل، تويتر، Github، Shopify، Groupon. شركات تستخدم لغة بايثون: Google، Mozilla، Instagram، Pinterest. شركات تستخدم لغة PHP: فيسبوك، ووردبرس. بإمكانك استخدام موقع builtwith.com لمعرفة ماذا يستخدم كل موقع من لغات وتقنيات، ويعرض الموقع أيضًا إحصائيات مفيدة حول التقنيات المُستخدمة.1 نقطة
-
أعتقد أنه يقصد البحث داخل ملف نصي إليك الحل مع الشرح: <?php $chercher = "toto et titi";// الكلمة التي تريد البحث عنها $lignes = file("fichier.txt");// مسار الملف النصي $fin = false;// متغير لتأكد من وجود الكلمة أم لا foreach($lignes as $ligne){// بداية الدالة التي ستفحص الملف سطرا سطرا if(strstr($ligne,$chercher)){ //التأكد من وجود الكلمة في السطر $fin = true;// تغيير قيمة المتغير إذا تم العثور على الكلمة break;// الخروج من دالة التكرار } } if($fin === true){// التأكد من المتغير echo "تم العثور على الكلمة"; }else{ echo "لم نعثر على الكلمة"; } ?>1 نقطة
-
مقالة ممتازة ما شاء الله وترجمة موفقة جدا كل الاحترام لكم أكاديمية حسوب الرائعة1 نقطة
-
رائعة جداً ،،، اشكركم جزيلاً على هذا المجهود الرائع ،،،، فضلاً ثم فضلاً الاستمررااااار متابعكم المحب أحمد1 نقطة