در قسمتهای قبل با ربات تلگرام آشنا شدیم و یاد گرفتیم که چگونه به درخواستهای کاربران پاسخ مناسب بدهیم. در این قسمت یعنی قسمت چهارم برنامه نویسی با php برای ربات تلگرام با ارسال عکس، صوت، فیلم، مستندات، استیکر، موقعیت مکانی، کارت دعوت، اطلاعات تماس و وضعیت فعالیت بات آشنا میشویم.
برای ارسال عکس با ربات تلگرام از متد sendPhoto استفاده میکنیم. متد sendPhoto تصویر را با استفاده از POST برای کاربر ارسال میکند. در مثال زیر با CURL کار ارسال را انجام میدهیم:
$url= "https://api.telegram.org/bot".$token."/sendPhoto?chat_id=".$chat_id;
$post = array(
'photo' => new CURLFile(realpath("dedsec.jpg"))
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_exec($ch);
دستورات بالا عکس موجود در ریشه جاری با نام dedsec.jpg را به کاربر ارسال میکند.
می توان زیر تصاویر متنی برای توضیح ارسال کرد. برای ارسال این مقدار از پارامتر caption به شکل زیر استفاده میکنیم:
$url= "https://api.telegram.org/bot".$token."/sendPhoto?chat_id=".$chat_id."&caption=متن کپشن";
ارسال صوت در تلگرام شبیه ارسال تصویر است. در زیر مثالی از استفاده از این متد مشاهده میکنید:
$url= "https://api.telegram.org/bot".$token."/sendAudio?chat_id=".$chat_id;
$post = array(
'audio' => new CURLFile(realpath("dedsec.mp3"))
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_exec($ch);
در بالا مانند sendPhoto فایل صوتی خود را با curl و متد پست ارسال میکنیم.
متد sendAudio پارامترهای اختیاری زیر را دارد:
نکته: محدودیت حجمی ارسال فایلهای صوتی با بات تلگرام 50 مگابایت است.
بهترین حالت ارسال فیلم برای بات تلگرام ارسال فیلم با فرمت mp4 است. هر چند که فرمتهای دیگر نیز ممکن است ارسال شوند. اگر از فرمت خاصی استفاده کنید که تلگرام امکان ارسال آن به عنوان video را نداشته باشد خود تلگرام آن را به عنوان document ارسال میکند:
$url= "https://api.telegram.org/bot".$token."/sendVideo?chat_id=".$chat_id;
$post = array(
'video' => new CURLFile(realpath("dedsec.mp4"))
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_exec($ch);
مثالی از ارسال مستندات با بات تلگرام را در زیر میبینید:
$url= "https://api.telegram.org/bot".$token."/sendDocument?chat_id=".$chat_id;
برای متد sendDocument نیز میتوان caption ارسال کرد.
نکته: محدودیت حجمی ارسال مستندات با بات تلگرام 50 مگابایت است.
فرمت پیشنهادی تلگرام برای ارسال استیکر فرمت webp است. اگر تصاویر خود را با این فرمت به عنوان استیکر ارسال کنید خروجی کار بهتر خواهد بود، هر چند میتوان عکسهایی با فرمتهای دیگر را نیز ارسال کرد.
اگر تصویری با فرمتهای رایج دارید و میخواهید به webp تبدیل کنید از این سایت استفاده کنید.
$url= "https://api.telegram.org/bot".$token."/sendSticker?chat_id=".$chat_id;
$post = array(
'sticker' => new CURLFile(realpath("dedsec.webp"))
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_exec($ch);
در این متد با داشتن طول و عرض موقعیت جغرافیایی یک عکس و لینک از آدرس محل مورد نظر برای کاربر ارسال میشود:
$url= "https://api.telegram.org/bot".$token."/sendLocation?chat_id=".$chat_id."&latitude=37.7576793&longitude=-122.5076402";
file_get_contents($url);
این متد بسیار شبیه sendLocation است با این تفاوت که عنوان و آدرس نیز میتوان به آن اضافه کرد:
$url= "https://api.telegram.org/bot".$token."/sendVenue?chat_id=".$chat_id."&latitude=37.7576793&longitude=-122.5076402&title=عنوان&address=آدرس";
file_get_contents($url);
متد فوق بسیار ساده است، شماره، نام و نام خانوادگی مشترک را دریافت و مشخصات تماس را برای کاربر ارسال میکند:
$url= "https://api.telegram.org/bot".$token."/sendContact?chat_id=".$chat_id."&phone_number=09122222222&first_name=dedsec-hack.blog&last_name=.ir";
file_get_contents($url);
متد فوق کارکرد جالبی دارد، فرض کنید قرار است با بات برای کاربر ویدیو حجیمی بفرستید مدت زمانی که کاربر صبر میکند تا ویدیو به دستش برسد جالب است که متن sending a video"" برای کاربر نمایش داده شود و پس از آن کلیپ ویدیو به نمایش درآید:
$url= "https://api.telegram.org/bot".$token."/sendChatAction?chat_id=".$chat_id."&action=upload_video";
file_get_contents($url);
$url= "https://api.telegram.org/bot".$token."/sendVideo?chat_id=".$chat_id;
$post = array(
'video' => new CURLFile(realpath("dedsec.mp4"))
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_exec($ch);
dedsec will give you the truth
join us
در قسمتهای اول و دوم از این آموزش با رباتهای تلگرام بیشتر آشنا شدیم و توانستیم یک ربات ساده برای نمایش درباره ما برنامه نویسی کنیم. در این قسمت برنامهای مینویسیم که برای کاربر یک کیبورد نمایش دهد.
در این قسمت از آموزش قصد داریم کیبوردی از نام شعرای ایرانی را نمایش داده که وقتی روی نام شاعر کلیک شود بیتی از آن شاعر نمایش داده شود.
برای شروع در botFather کامند poems را اضافه میکنیم:
برای ارسال کیبورد به کاربر از متد sendMessage استفاده میکنیم و پارامتر text و reply_markup را برای آن ارسال میکنیم. پارامتر text پیام مناسب کیبورد را برای کاربر ارسال میکند؛ و Replay_markup آرایهای است که مقادیر کیبورد را ارسال میکند.
سورس قبلی را که برای مشاهده متن درباره ما بود به شکل زیر تغییر میدهیم:
<?php
header('Content-Type: text/html; charset=utf-8');
$message= file_get_contents("php://input");
$arrayMessage= json_decode($message, true);
$token= "249879980:AAHNdWnXjdq6Fw17NF81xXTtjA3xs19Sc6w";
$chat_id= $arrayMessage['message']['from']['id'];
$command= $arrayMessage['message']['text'];
if($command == '/start'){
$text= "سلام، به ربات ما خوش آمدید";
$url= "https://api.telegram.org/bot".$token."/sendMessage?chat_id=".$chat_id."&text=".$text;
file_get_contents($url);
}else if($command == '/aboutus'){
$text= "این یک متن درباره ماست";
$url= "https://api.telegram.org/bot".$token."/sendMessage?chat_id=".$chat_id."&text=".$text;
file_get_contents($url);
}else if($command == '/poems'){
$poets= array(
'keyboard' => array(
array('/Ferdowsi', '/Mawlawi', '/Hafez', '/Rudaki')
),
);
$jsonPoets= json_encode($poets);
$text= "نام یکی از شعرای بزرگ ایرانی را انتخاب کنید";
$url= "https://api.telegram.org/bot".$token."/sendMessage?chat_id=".$chat_id."&text=".$text."&reply_markup=".$jsonPoets;
file_get_contents($url);
}else{
$text= "دستور نا معتبر است";
$url= "https://api.telegram.org/bot".$token."/sendMessage?chat_id=".$chat_id."&text=".$text;
file_get_contents($url);
}
اگر این فایل را به هاست خود منتقل کنید مشاهده خواهید کرد که کاربر به محض کلیک روی poems یک کیبورد چهار کلیده با نامهای سه شاعر ایرانی مشاهده میکند.
در این مرحله ما چهار کامند جدید /Rudaki
و /Hafez
و /Mawlawi
و /Ferdowsi
داریم که هر کدام یک بیت شعر را به کاربر نمایش میدهد.
اگر سورس بالا را چک کنید متوجه میشوید بعد از کلیک بر روی نام شاعر و نمایش بیت شعر مرتبط کیبورد باز ظاهر میماند. برای مخفی کردن کیبورد پس از نمایش بیت شعر باید یک آرایه hide_keyboard => true
ایجاد میکنیم و آن را ضمیمه url نمایش بیت شعر میکنیم:
}else if($command == "/Ferdowsi"){
$text= "خردمند باش وبی آزارباش همیشه زبانرا نگهدار باش";
$hide_keyboard= json_encode(array('hide_keyboard' => true));
$url= "https://api.telegram.org/bot".$token."/sendMessage?chat_id=".$chat_id."&text=".$text."&reply_markup=".$hide_keyboard;
file_get_contents($url);
}
در سطر 9 متغیر hide_keyboard
آرایهای دارد که با ارسال آن کیبورد بسته میشود.
dedsec will give you the truth
join us
در قسمت قبل از آموزش با رباتهای تلگرام و ایجاد ربات با Bot Father آشنا شدیم. در این آموزش کار را با برنامه نویسی به زبان PHP برای این ربات پیش میبریم.
برای ارتباط با ربات تلگرام دو متد وجود دارد. متد setWebhook و متد getUpdates.
این متد برای دریافت اطلاعات به صورت بلادرنگ است. به این معنی که هر وقت کاربری از ربات شما اطلاعاتی درخواست کرد، سرور تلگرام سریعا به هاست شما متصل شده و درخواست کاربر را به شما اطلاع میدهد.
مزیت بلادرنگ بودن، مزیتی مهم است که یک پیشنیاز دارد و آن هم داشتن دامنهای با https است
در این متد درخواستهای کاربران در سرور تلگرام ذخیره شده و ما باید در بازههای زمانی کوتاه از سرور تلگرام درخواستهای کاربران را دریافت کنیم. مزیتی که این روش نسبت به setWebhook دارد در این است که نیازی به داشتن هاست یا سرور با https نداریم.
در ادامه هر دو متد را با هم بررسی میکنیم.
ابتدا مثالی از فعال کردن روش setWebhook بیان میکنیم. با الگوی زیر یک URL ساخته و آن را در مرورگر خود وارد میکنیم:
https://api.telegram.org/bot[TOKEN]/setWebhook?url=[URL]
در مثال فوق Token ربات خود را در [TOKEN]
و آدرس فایل برنامه نویسی شده ارتباط با ربات در [URL]
قرار میگیرد.
مثالی از پیاده سازی الگوی فوق:
https://api.telegram.org/bot249879980:AAHNdWnXjdq6Fw17NF81xXTtjA3xs19Sc6w/setWebhook?url=https://dedsec-hack.blog.ir/test/tlg.php
اگر دستور فوق را در مرورگر خود وارد کنیم با پیغامی مانند زیر دریافت میکنیم:
{"ok":true,"result":true,"description":"Webhook was set"}
پیغام فوق یک آرایه JSON است که بیان میکند webhook با موفقیت ثبت شده است. وقتی عملیات webhook با موفقیت انجام شود سرور تلگرام تمامی درخواستهای کاربران را به urlای که برای تلگرام اعلام کردیم ارسال میکند.
برای حذف کردن این webhook پارامتر [URL]
را حذف کرده و در خواست را دوباره با مرورگر ارسال میکنیم:
https://api.telegram.org/bot249879980:AAHNdWnXjdq6Fw17NF81xXTtjA3xs19Sc6w/setWebhook
الگوی پایین برای دریافت آخرین ارسالها با کمک متد getUpdates است:
https://api.telegram.org/bot[TOKEN]/getupdates
مثال استفاده از این متد:
https://api.telegram.org/bot249879980:AAHNdWnXjdq6Fw17NF81xXTtjA3xs19Sc6w/getupdates
اگر این آدرس را درخواست دهیم، چیزی مشابه نتیجه زیر به نمایش در میآید:
{"ok":true,"result":[{"update_id":8742452,
"message":{"message_id":19,"from":{"id":156173107,"first_name":"the code","username":"dedsec"},"chat":{"id":156173107,"first_name":"the code","username":"dedsec","type":"private"},"date":14766230,"text":"\/aboutus","entities":[{"type":"bot_command","offset":0,"length":8}]}}]}
در بالا یک آرایه json از کل پیغامها دریافت کردیم.
در ادامه قصد داریم عملیات دریافت اطلاعات با متد getupdate را با ذکر یک مثال به طور کامل شرح دهیم:
header('Content-Type: text/html; charset=utf-8');
$token= "249879980:AAHNdWnXjdq6Fw17NF81xXTtjA3xs19Sc6w";
$url= "https://api.telegram.org/bot".$token."/getupdates";
$update= file_get_contents($url);
$arrayUpdate= json_decode($update, true);
var_dump($arrayUpdate);
در اولین سطر از هدر utf-8 استفاده کردیم تا بتوانیم رشتههای فارسی را مشاهده کنیم.
با دستورات فوق عملیات دریافت update را با زبان php انجام دادیم. برای تمرین برای ربات خود متن بفرستید و با getUpdate پیغامها را دریافت کنید. اگر در متن اسکریپت دریافتی از getUpdate دقت کنید خواهید دید username و نام کاربر و دستوراتی را که درخواست داده است را میتوانید مشاهده کنید.
در پایین دستوراتی برای پیمایش پیغامها مشاهده میکنید:
header('Content-Type: text/html; charset=utf-8');
$token= "249879980:AAHNdWnXjdq6Fw17NF81xXTtjA3xs19Sc6w";
$url= "https://api.telegram.org/bot".$token."/getupdates";
$update= file_get_contents($url);
$arrayUpdate= json_decode($update, true);
foreach ($arrayUpdate['result'] as $key) {
echo "update_id: ".$key['update_id']."<br>";
echo "user name: ".$key['message']['from']['username']."<br>";
echo "first name: ".$key['message']['from']['first_name']."<br>";
echo "text: ".$key['message']['text']."<br>";
echo "<br><br><br><br>";
}
نکته: قبلا از استفاده از getUpdate حتما getWebHook را غیر فعال کنید.
در فوق برای استفاده از getUpdates باید این متد را در فواصل زمانی کوتاه با CronJob اجرا کنیم تا بتوانیم با کاربران در ارتباط باشیم. هر چند که گاهی ممکن است پاسخ دیر به کاربر برسد.
در پایین آموزش را با getWebHook ادامه میدهیم، هر چند که حتی اگر شما از getUpdates استفاده تفاوت چندانی در اسکریپتها وجود ندارد.
همانند اول آموزش با آدرس زیر فایل tlp.php را به عنوان اسکریپت دریافت کننده پیامهای کاربران معرفی میکنیم:
https://api.telegram.org/bot249879980:AAHNdWnXjdq6Fw17NF81xXTtjA3xs19Sc6w/setWebhook?url=https://dedsec-hack.blog.ir/test/tlg.php
سورسی که در پیش رو دارید فایل tlg.php هاست است:
$message= file_get_contents("php://input");
file_put_contents("message.txt", $message);
تلگرام پیغامها را با متد POST برای فایل معرفی شده با getwebhook ارسال میکند. برای یافتن متدهای موجود در پیغام ارسالی به فایل tlg.php سورس بالا را استفاده میکنیم. "php://input"
کل پارامترهای دریافتی از post را دریافت میکند. در نهایت اطلاعات دریافتی در فایلی به نام message.txt در مسیر جاری ذخیره میشود. در پایین این مقدار خروجی را مشاهده میکنید:
{"update_id":8742456,
"message":{"message_id":23,"from":{"id":156173107,"first_name":"the code","username":"dedsec"},"chat":{"id":156173107,"first_name":"the code","username":"dedsec","type":"private"},"date":14775367,"text":"\/aboutus","entities":[{"type":"bot_command","offset":0,"length":8}]}}
با بررسی این رشته JSON به ساختار زیر دست پیدا میکنیم:
header('Content-Type: text/html; charset=utf-8');
$message= '{"update_id":8742457,
"message":{"message_id":24,"from":{"id":156173107,"first_name":"the code","username":"dedsec"},"chat":{"id":156173107,"first_name":"the code","username":"dedsec","type":"private"},"date":14776469,"text":"\/aboutus","entities":[{"type":"bot_command","offset":0,"length":8}]}}';
$message= json_decode($message, true);
echo "update_id: ".$message['update_id']."<br>";
echo "user name: ".$message['message']['from']['username']."<br>";
echo "first name: ".$message['message']['from']['first_name']."<br>";
echo "text: ".$message['message']['text']."<br>";
echo "<br><br><br><br>";
خروجی سورس بالا:
update_id: 8742457
user name: dedsec
first name: the code
text: /aboutus
متد sendMessage کار ارسال به کاربر را انجام میدهد:
https://api.telegram.org/bot[TOKEN]/sendMessage?chat_id=[CHAT_ID]&text=[TEXT]
در پایین سورس فایل tlg.php را به گونهای تغییر میدهیم که پس از دریافت کاربر پاسخ مناسب را بدهد:
header('Content-Type: text/html; charset=utf-8');
$message= file_get_contents("php://input");
$arrayMessage= json_decode($message, true);
$token= "249879980:AAHNdWnXjdq6Fw17NF81xXTtjA3xs19Sc6w";
$chat_id= $arrayMessage['message']['from']['id'];
$command= $arrayMessage['message']['text'];
if($command == '/start'){
$text= "سلام، به ربات ما خوش آمدید";
$url= "https://api.telegram.org/bot".$token."/sendMessage?chat_id=".$chat_id."&text=".$text;
file_get_contents($url);
}else if($command == '/aboutus'){
$text= "این متن برای آشنایی شما با ماست";
$url= "https://api.telegram.org/bot".$token."/sendMessage?chat_id=".$chat_id."&text=".$text;
file_get_contents($url);
}else{
$text= "دستور شما نا معتبر است";
$url= "https://api.telegram.org/bot".$token."/sendMessage?chat_id=".$chat_id."&text=".$text;
file_get_contents($url);
}
دستور بالا به سادگی ابتدا پیام کاربر را دریافت، از آن chat_id و command را دریافت میکند و url مناسب را برای ارسال پیام به کاربر میسازد.
نکته: کامند /start
در تمامی روباتها به صورت پیشفرض وجود دارد، پس بهتر است برای آن یک متن نمایشی پیش فرض ایجاد کنیم.
نکته: البته شرطی هم در سورس وجود دارد که برای پاسخ دهی به دستورات نا معتبر است.
همانطور که در بالا دیدید میتوانید کامندهای دیگری برای بات خود تعریف کنید و برای هر کامند دستورات مناسب را ایجاد کنید.
اگر در نوشتن برنامه خود مشکل دارید سوالات خود را در بخش نظرات درج کنید.
dedsec will give you the truth
join us
ربات تلگرام ابزاری است اهداف تجاری، خدماتی، امنیتی، تفریحی و آموزشی. در این سلسله آموزش علاوه بر آشنایی با ربات تلگرام یاد میگیریم چگونه با زبان قدرتمند php یک ربات هوشمند تلگرام راه اندازی کنیم.
تفاوتی ندارد از چه زبان برنامه نویسیای استفاده میکنید، اگر این آموزش را تا آخر دنبال کنید میتوانید با هر زبان برنامه نویسی یک ربات هوشمند برای تلگرام خود بسازید.
تلگرام برای کمک به برنامه نویسان یک API جامع و کاربردی آماده کرده است که به برنامه نویسان امکان توسعه نرم افزارهای مفید برای تلگرام را میدهد.
رباتها در ظاهر مانند تماسهای ساده در تلگرام لیست میشوند ولی در باطن تفاوتهای اساسی با تماسهای متداول تلگرامی دارند. طبیعتا رباتهای تلگرام بر عکس تماسهای تلگرام آخرین زمان آنلاین شدن را نشان نمیدهند و در نهایت اسم خود واژه bot را شامل میشوند.
همیشه مد نظر داشته باشید که رباتها تنها با کسانی ارتباط برقرار میکنند که به آنها اجازه فعالیت داده باشند.
قرآن: این ربات قرآنی بسیار جالب و قدرتمند است. این ربات امکان دریافت یک آیه به صورت تصادفی به همراه ترجمه و صوت را دارد. همچنین میتوانید آیهای را برای آن مشخص کنید و ترجمه و صوت آن را دریافت کنید.
نهج البلاغه: ربات مذهبی نهج البلاغه
ربات توکان: ربات دریافت نرخ ارز، اطلاعات ورزشی، اوقات شرعی، جستجو در وب و.
ربات عماد خان: ربات سرگرمی با قابلیتهای فراوان
واژه یاب: ربات ترجمه لغات انگلیسی به فارسی، جستجوی واژه نامههای فارسی به فارسی
اینستاگیر: ربات دانلود تصاویر اینستاگرام
اطلاعات 1 در تلگرام: ربات اطلاعات 1 به تفکیک شهرها
رباتهای فوق رباتهایی هستند که امکانات مجانی و کاربردی در اختیار کاربران میگذارند. برای اهداف تجاری میتوان رباتهای پولی هم تولید و از این طریق کسب درامد کرد.
این ربات توسط شرکت تلگرام ایجاد شده است و برای ایجاد رباتها مورد استفاده قرار میگیرد. برای دستیابی به این ربات از این لینک استفاده کنید.
BotFather یک ربات رسمی است. همیشه در هنگام استفاده از رباتهای رسمی تلگرام توجه کنید که یک آی آبی رنگ هشت گوش در کنار نام آن وجود داشته باشد.
اگر بر روی کلید start کلیک کنید میتوانید لیست کامندهای لازم برای مدیریت ربات را مشاهده کنید. اولین کامند، /newbot
است که با استفاده از آن میتوان ربات تلگرام جدید را ایجاد کرد.
ابتدا روی /newbot
کلیک کرده، سپس نام ربات خود را وارد کرده، در مرحله بعدی یک یوزرنیم که به واژه bot ختم میشود را وارد میکنیم. اگر نام کاربری تکراری نباشد این نام پذیرفته شده و مراحل با موفقیت به پایان مییابد. البته توجه کنید در پیام تبریک موفقیت ثبت بات غیر از آدرس دسترسی به ربات یک token برای دسترسی به ربات نیز به کاربر نمایش داده میشود که باید آن را برای برنامه نویسیهای بعدی ذخیره کرد.
/token
: با استفاده از این دستور token ربات شما نمایش داده میشود.
/revoke
: با این دستور token قبلی شما از بین رفته و یک token جدید برایتان ساخته میشود.
/setname
: این دستور را وقتی وارد کنید لیستی از رباتهای ایجاد شده توسط خودتان را میبینید که روی هر کدام کلیک کنید میتوانید نام ربات خود را تغییر دهید.
/setdescription
: با این دستور میتوانید توضیحاتی به ربات خود اضافه کنید که هنگام اضافه کردن ربات به کاربر نمایش داده میشود. این توضیحات میتوانند حداکثر 512 کاراکتر باشند.
/setabouttext
: این دستور توضیحات ربات را در صفحه پروفایل دریافت میکند. این توضیحات نباید بیشتر از 120 کاراکتر باشند.
/setuserpic
: برای اضافه کردن عکس به ربات مورد استفاده قرار میگیرد.
/setcommands
: برای تعریف کامندهای مخصوص ربات از این دستور استفاده میکنیم. طبق توضیحات داده شده در خود تلگرام باید کامند را به شکل زیر تعیین کنیم:
command – description
مثال:
aboutus – آشنایی با ما
برای مشاهده تغییرات در بات تلگرام خود Clear history کنید.
پس از اجرای بات خود کامند aboutus را مشاهده میکنید که کار خاصی انجام نمیدهد و در بخشهای بعدی و مباحث برنامه نویسی برای ربات تلگرام باید با این مبحث آشنا شوید.
dedsec will give you the truth
join us
بهترین کاری که میتوانید برای وبسایت وردپرس انجام دهید، پشتیبانگیری منظم و دورهای از آن است. نسخههای پشتیبان به شما امنیت خاطر داده و شما را از شرایط فاجعه بار (مثلاً هنگامیکه سایت هک شده باشه یا تصادفاً دسترسی خودتان را محدود کرده باشید) نجات میدهند. وردپرس تعدادی افزونهی رایگان و پولی دارد که استفاده از اکثر آنها نسبتاً آسان است. در این مقاله 7 افزونهی برتر وردپرس را معرفی میکنیم.
نکتهی مهم: بسیاری از ارائهدهندههای خدمات میزبانی فضای وب، سرویسهای پشتیبانگیری را به شما ارائه میدهند، ولی همیشه به این نکته توجه داشته باشید که پشتیبانگیری از سایت، وظیفهی خود شماست. و برای پشتیبانگیری به ارائهدهندههای خدمات میزبانی تکیه نکنید.
اگه تا به حال از سایت، پشتیبانگیری نکردهاید، باید یکی از این 7 افزونهی برتر پشتیبانگیری وردپردس را انتخاب کرده و همین الان از آن استفاده کنید.
BackupBuddy، محبوبترین افزونهی پشتیبانگیری وردپرس است. این افزونه این امکان را برای شما فراهم میکند تا به آسانی عملیات پشتیبانگیری را بصورت روزانه، هفتگی یا ماهانه زمانبندی کنید. همچنین این افزونه نسخهی پشتیبان را بصورت اتوماتیک در یکی از سرویسهای زیر ذخیره میکند:
اگر از سرویسِ Stash استفاده کنید، میتوانید عملیاتهای پشتیبانگیری را بصورت reat time انجام دهید.
بزرگترین مزیت استفاده از BackupBuddy، این است که مبتنی بر سرویسهای اشتراکی نیست بنابراین نیازی به پرداخت هزینههای ماهانه نیست. میتوانید از این افزونه به تعداد سایتهایی که در طرح مربوط به خودتان ذکر شده استفاده کنید.
همچنین به انجمنهای حمایتی، بهروز رسانیهای دورهای و 1GB فضای ذخیرهسازی در cloud برای ذخیرهی پشتیبانها نیز دسترسی خواهید داشت.
میتوانید برای کپی کردن، انتقال یا بازیابی وبسایتها هم از BackupBuddy استفاده کنید.
UpdraftPlus یک افزونهی پشتیبانگیری رایگان است. این افزونه این امکان را به شما میدهد تا پشتیبانهای کاملی از سایتِ وردپرس گرفته و آنها را در cloud یا در کامپیوترتان ذخیره کنید.
این افزونه از زمانبندی پشتیبانگیری هم پشتیبانی میکند. میتوانید فایلهایی که میخواهید از آنها نسخهی پشتیبان تهیه کنید را هم انتخاب کنید. این افزونه، بصورت اتوماتیک فایلهای پشتیبان را در هر سرویس ابری ذخیره میکند.
همچنین UpdraftPlus یک نسخهی پریمیوم به همراه add-ons، جهت انتقال یا clone کردن سایت، جستجوی پایگاه داده و جایگزینی، پشتیبانی از مولتیسایت و . دارد.
BackWPUp افزونهی رایگانی است که این امکان را به شما میدهد تا بتوانید بصورت رایگان از سایتِ وردپرس نسخهی پشتیبانِ کاملی تهیه کرده و آن را در هر سیستم ابریای ذخیره کنید.
استفاده از این افزونه بسیار آسان بوده و امکان زمانبندی اتوماتیک پشتیبانگیری بر اساس تعداد دفعات بروزرسانی هم وجود دارد.
بازیابی سایت وردپرس از طریق نسخهی پشتیبان بسیار ساده است. ورژنِ BackWPup Pro از ذخیرهسازی نسخههای پشتیبان در Google Drive و تعدادی ویژگی فوقالعادهی دیگر نیز پشتیبانی میکند.
BackUpWordPress یک افزونهی کامل پشتیانگیری وردپرس است که از زمانبندی اتوماتیک پشتیبانی میکند. این افزونه این امکان را به شما میدهد تا زمانبندیهای مختلفی برای پایگاه داده و فایلها ایجاد کنید. تنها مشکل این افزونه این است که نسخهی رایگان آن، اجازهی ذخیره کردن پشتیبانهای وردپرس در سرویس cloud storage را نمیدهد.
اگر میخواهید نسخههای پشتیبان را در Dropbox، Google Drive و . ذخیره کنید باید یک برنامهی افزونهی پریمیوم بخرید.
برنامههای افزودنی، برای تمام سرویس موجود بوده و میتوانید برنامهی افزودنی که نیاز دارید و یا کل بسته را خریداری کنید.
همانطور که از نام این افزونه پیداست، Duplicator، یکی از افزونههای محبوب وردپرس است که برای انتقال سایتها استفاده میشود. با این حال ویژگیهایی برای پشتیبانگیری هم دارد.
این افزونه قابلیت ایجاد زمانبندی اتوماتیک برای پشتیبانگیری را ندارد بنابراین برای ایجاد نسخهی پشتیبان از سایت وردپرس، خیلی ایدهآل نیست.
WP-DB-Backup با داشتن بیشتر از 400000 نصب فعال، یکی از محبوبترین افزونههای پشتیبانگیری وردپرس است. تنها مشکل این افزونه این است که فقط از پایگاه دادهی وردپرس پشتیبانگیری میکند.
این به این معنی است که باید از فایلهای چندرسانهای بصورت دستی پشتیبانگیری کنید. اگر خیلی سایت را بهروز رسانی نمیکنید یا در آن عکس آپلود نمیکنید، میتوانید از WP-DB-Backup بعنوان پشتیبانگیر اصلی وردپرستان استفاده کنید.
پشتیانگیری، زمانبندی اتوماتیک پشتیبانگیری و بازیابی پایگاه داده با WP-DB-Backup بسیار ساده است. این افزونه برای کابرانی که برای پشتیبانگیریِ دستی از پایگاه داده به phpMyAdmin دسترسی ندارند نیز بسیار کارآمد است.
این افزونه توسط Matt Mullenweg (بنیانگذار وردپرس) و تیمش در automattic ایجاد شده است.
اخیراً این افزونه بخشی از محصولات Automattic به نامِ JetPack شده است. برای استفاده از VaultPress باید یک اشتراکِ JetPack داشته باشید. طرحهای مختلفی با هزینهها و ویژگیهای متفاوت وجود دارد.
VaultPress پشتیبانگیری خودکارِ Real Time را که از $3.50 در ماه شروع میشود ارئه میدهد. نصب و راهاندازیِ VaultPress و بازیابی نسخههای پشتیبان فقط با چند کلیک ساده انجام میشود. حتی در برخی از پکیجهای این افزونه، اسکنهای امنیتی هم وجود دارد.
البته این افزونه معایبی هم دارد. اول اینکه باید هزینهی آن را بصورت دورهای پرداخت کنید و درصورتیکه چند سایت وردپرس داشته باشید این هزینه افزایش مییابد. دوم اینکه باید در JetPack اشتراک داشته باشید، یک حساب کاربری در WordPress.com ایجاد کنید و افزونهی JetPack را روی سایت نصب کنید.
اخیراً در طرحهای کوچکتر پشتیبانگیری، نسخههای پشتیبان فقط برای مدت 30 روز در آرشیو ذخیره میشوند، اگر به آرشیو پشتیبانگیری نامحدود نیاز داشته باشید باید برای هر وب سایت، ماهانه $29 هزینه پرداخت کنید که رقم بالایی است.
هر یک از افزونههای پشتیبانگیری وردپرس، مزایا و معایب خودشان را دارند. شرکتهای حرفهای از VaultPress استفاده می کنند چون استفاده از آن بسیار آسان است و از پشتیبانگیریهای Real Time پشتیبانی میکند. به عبارت دیگر این افزونه بجای اینکه بصورت روزانه یا ساعتی از تمام فایلها پشتیبانگیری کند، فقط از چیزهایی که به روزرسانی شده و تغییر کردهاند پشتیبانگیری میکند. این ویژگی برای سایتهای بزرگی عالی و ایدهآل است چون امکان استفادهی مفید از منابع سرور را فراهم میکند.
به هر حال اگر وبسایت شما کوچک یا متوسط است استفاده از افزونهی BackupBuddy به شما پیشنهاد میشود چون این افزونه، cloud storage و Stash مخصوص خودش را دارد که باعث میشود افراد مبتدی بتوانند به راحتی و تنها با چند کلیک، نسخههای پشتیبان را در cloud ذخیره کنند.
در نهایت هر کدام از افزونههای پشتیبانگیری وردپرس را که انتخاب کردید فرقی نمیکند فقط لطفاً نسخههای پشتیبان را در همان سروری که سایت شما در آن است، ذخیره نکنید.
انجام این کار مثل این است که تمام تخممرغهایتان را در یک سبد بگذارید. اگر سختافزار سرور با خطا مواجه شود یا حتی بدتر، اگر سور هک شود، هیچ نسخهی پشتیبانی نخواهید داشت و این باعث شکستِ هدفِ انجام پشتیبانگیریهای دورهای میشود.
به این دلیل شدیداً توصیه میکنیم که نسخههای پشتیبان را در یک سرویس ذخیرهسازیِ third-party مثلِ Google Drive و یا DropBox ذخیره کنید.
dedsec will give you the truth
join us
اغلب مبتدیها این سوالها را میپرسند که از چه سیستم مدیریت محتوایی استفاده کنند. در این مطلب قصد داریم دلایل استفاده از ورد پرس را برایتان بازگو کنیم.
اغلب اشتباه میکنند و وردپرس را در دستهی پلتفرمِ وبلاگنویسی قرار میدهند. هر چند که در گذشته این موضوع صحت داشته ولی چندین سال است که وردپرس تبدیل به یک سیستم مدیریت محتوای چندکاره (CMS) شده است. درحالیکه هنوز هم میتوانید برای ایجاد وبلاگهای ساده از وردپرس استفاده کنید، اما وردپرس این امکان را به شما میدهد تا بتوانید وبسایتها و برنامههای موبایل کاملا کاربردی هم ایجاد کنید.
بهترین نکتهی وردپرس این است که استفاده از آن آسان است و برای همه چیز به اندازهی کافی انعطافپذیری دارد. این موضوع دلیل اصلی افزایش شهرت و محبوبیت وردپرس است و هیچ سیستم مدیریت محتوایی به اندازه وردپرس طرفدار ندارد.
با توجه به ویژگیهای قدرتمند وردپرس، بسیاری از برندهای معتبر برای وبسایتهایشان از وردپرس استفاده میکنند: مجلهی Times، Google، Facebook، Sony، Disney، LinkedIn، The New York Times، CNN، eBay و . .
در ادامه دلایل استفاده از وردپرس را بررسی میکنیم.
وردپرس یک نرمافزار رایگان است، به این معنی که میتوانید بصورت رایگان آن را دانلود و نصب کرده و از آن استفاده کنید و آن را تغییر دهید. میتوانید از وردپرس برای ایجاد هر نوع وبسایتی استفاده کنید. وردپرس، سورسباز هم هست، به این معنی که سورسکد نرمافزار در دسترس همه قرار دارد و افراد میتواند آن را بررسی کرده، تغییر دهند و با آن بازی کنند.
در حال حاضر بیش از 2600 تِم یا قالب و بیش از 31000 افزونهی رایگان برای وردپرس وجود دارد و میتوانید آنها را دانلود و نصب کرده و در هر وبسایتی از آنها استفاده کنید. برای اجرای وردپرس تنها چیزی که نیاز دارید، دامنه و هاست است.
با توجه به ماهیت سوسباز بودن، وردپرس یک نرمافزار عمومی است. این نرمافزار توسط گروه بزرگی از داوطلبانی نگهداری میشود که بیشتر آنها مشاوران وردپرس هستند و به رشد و نگهداری وردپرس علاقهمند هستند. هر کسی میتواند با نوشتن پَچها (patches)، پاسخ دادن به سوالات پشتیبانی، نوشتن افزونهها، ایجاد تمها، ترجمهی وردپرس و بهروز رسانی داکیومنتها، به نگهداری وردپرس کمک کند.
با استفاده کردن از وردپرس به بخشی از جامعهی بینظیر وردپرس خواهید پیوست. در این جامعه، از اعضا پشتیبانیهای رایگان دریافت میکنید، افزونه و قالبهای رایگان دانلود میکنید و حتی میتوانید بعد از کسب تجربه در وردپرس، به جامعه کمک هم بکنید.
میلیونها نفر از وردپرس استفاده میکنند و تقریباً هر روز افراد جدیدی با ایجاد اولین وبسایتهای وردپرسیشان، به جامعهی وردپرس میپیوندند. دلیل اینکه مردم به سرعت با وردپرس سازگار میشوند این است که استفاده از آن نسبتاً آسان است.
اگر در پیاده سازی سایت وردپرسی خود با مشکل مواجه شدید به راحتی در اینترنت جستجو کنید و راه حل مشکل خود را بیابید. آموزشهای نامحدودی نیز برای ورد پرس وجود دارد.
بیشتر کسانی که از وردپرس استفاده میکنند، طراح وب یا برنامهنویس نیستند. در واقع بیشتر مردم بدون داشتن هیچ دانش اولیهای از طراحی سایت، کار با وردپرس را شروع میکنند.
دلیل ایدهآل بودن وردپرس این است که صدها قالب برای وردپرس وجود دارد که میتوانید انتخاب کنید، بنابراین میتوانید هر ظاهری که بخواهید به وبسایت بدهید. تقریباً هر نوع قالبی که بخواهید وجود دارد مانند قالب عکاسی، مجلهای، تجارت الکترونیک و آموزشی. تقریبا برای هر سلیقهای قالب بی نظیر میتوانید بیابید.
تغییر قالبهای وردپرس بسیار آسان است چون قالبهای زیادی با پنلِ آپشنهای مخصوص وجود دارند که این امکان را به شما میدهند تا بتوانید رنگ، لوگو، و پسزمینه را تغییر دهید، اسلایدرهای زیبا ایجاد کنید و بدون نوشتن کد کارهای جالبی با وبسایت انجام دهید.
وردپرس فوقالعاده انعطافپذیر است و با استفاه از افزونهها قابل توسعه است. مثل قالبها، هزاران افزونهی ارزشمند و رایگان هم برای استفاده در دسترس هستند. این افزونهها نه تنها میتوانند عملکردهای اضافی به وردپرس اضافه کنند، بلکه پلاگینهای زیادی وجود دارند که میتوانند به سایت ورپرس یک پلتفرم کاملاً جدید اضافه کنند.
وردپرس ساختار استانداردی دارد که برای موتورهای جستجو بسیار محبوب است. اگر از وردپرس استفاده کنید موتورهای جستجو بهتر میتوانند به ساختار صفحات شما دسترسی داشته باشند.
علاوه بر این افزونههای خیلی خوبی وجود دارد که با اضافه کردن آنها به ورد پرس میتوانید به نتایج خوبی در زمینه سئو برسید.
انتشار مطالب، اضافه کردن فایل، مدیریت کاربران و بروز رسانی سیستم wordpress بسیار آسان است. در ورد پرس بسیار راحت میتوانید هر کاری را که برای مدیریت یک وب سایت به آن نیاز دارید انجام دهید.
وردپرس با ابزارهای هوشمند بروز رسانی میتواند سیستم شما را به صورت خودکار و همیشه بروز نگاه دارد.
وردپرس با درنظر گرفتن امنیت، طراحی شده و توسعه یافته، بنابراین برای اجرای هر وبسایتی کاملاً امن و مطمئن است. با این وجود اینترنت هم مثل دنیای واقعی مکانی غیر قابل پیشبینی است.
مان زیادی هستند که سعی میکنند تا جایی که میتوانند به سایتها نفوذ کنند. غیر از تمهیدات امنیتی درونی ورد پرس میتوانید از افزونهها و پلاگینهای پیشرفته نیز برای بهبود بخشیدن امنیت وردپرس استفاده کنید.
با وردپرس فقط محدود به نوشتن متن نیستید. وردپرس بصورت داخلی از هَندِل کردن محتواهای تصویری، صوتی و ویدیویی پشتیبانی میکند. میتوانید در وردپرس فایلها و اسناد را هم مدیریت کنید.
وردپرس از وبسایتهایی که oEmbed فعال دارند پشتیبانی میکند، این به این معنی است که میتوانید ویدیوهای یوتیوب، عکسهای اینستاگرام، توییتها و صوتهای Souncloud را تنها با paste کردن URL آنها در پستهایتان اضافه کنید. حتی میتوانید به بازدیدکنندههای خود امکان اضافه کردن ویدیو از Youtube را بدهید.
تقریبا با وردپرس هر کاری میتوانید بکنید. بخشی از کاربردهای یک سایت وردپرسی عبارتند از:
توجه داشته باشید که موارد بالا فقط برخی از موارد استفادهی وردپرس هستند.
امیدواریم این مقاله به سوالهای شما راجع به دلیل استفاده از وردپرس، پاسخ داده باشد. بهترین روش تجربهی قدرت واقعی وردپرس، استفاده از آن است. استفاده از وردپرس را امتحان کنید و نظرتان را راجع به آن با ما درمیان بگذارید.
dedsec will give you the truth
join us
سلام خدمت تمامی کاربران عزیز سایت تیم امنیتی dedsec
کالی لینوکس (Kali Linux) یکی از معروف ترین سیستم عامل ها در حوزه هک و امنیت میباشد که افراد بسیار زیادی از کالی لینوکس استفاده میکنن و در بین هکر ها و مهندسین امنیت بسیار محبوب است ، یکی از مشکلاتی که بعد از نصب کالی لینوکس برای خیلی از کاربران پیش میاد آپدیت نبودن مخازن کالی لینوکس است ، که شما اگر بخواهید یک ابزاری رو نصب کنید با همچین ارورری روبرو میشید
قطعا این ارورر برای شما هم آشناست که بعد از زدن دستور نصب یک ابزار با همچین ارورری روبرو شدید و از خودتون پرسیدید که چطوری میشه این مشکل رو حل کرد؟ در این مطلب ما میخواهیم به شما طریقه آپدیت مخازن کالی لینوکس رو یاد بدیم پس با ما همراه باشید.
نیازمندی :
داشتن دسترسی root یا استفاده از دستور sudo
مرحله اول :
در مرحله اول قبل از آپدیت کردن لازمه تا مطمئن بشیم مخازن صحیح رو در فایل مخازن کالی لینوکس مون داریم برای اینکار به مسیر /etc/apt/sources.list میریم و فایل رو که باز کردیم باید شامل دو خط زیر باشه
1
2
|
deb https://http.kali.org/kali kali-rolling main non-free contrib
deb-src https://http.kali.org/kali kali-rolling main non-free contrib
|
نکته: حتما از مخازن رسمی کالی لینوکس استفاده کنید، در غیر این صورت هر مخزن دیگه ای که در لیست وارد کنید ممکنه سیستمون رو break کنه و یا در خطر قرارش بده
مرحله دوم :
برای آپدیت کردن کالی لینوکس در مرحله اول باید package index list رو آپدیت کنید و برای اینکار از دستور زیر استفاده میکنیم
1
|
sudo apt update
|
در مرحله بعدی (این مرحله اختیاری هست) میتونیم با دستور زیر لیست پکیج هایی که برای Update زمان بندی شدن رو ببینیم
1
|
apt list --upgradable
|
در این مرحله از کارمون میتونیم هر پکیج ای که بخوایم رو به کمک دستور apt install PACKAGE-NAME آپگرید کنیم و یا کل پکیج هارو با دستور زیر آپگرید کنیم
1
|
sudo apt upgrade
|
تمام ! کالی لینوکس شما الان به طور کامل upgrade شده
مرحله سوم :
در مرحله قبلی ممکنه که بخاطر تغییر وابستگی پکیج ها، تعدادی از پکیج ها به درستی آپگرید نشده باشند و پیغامی در انتهای آپگرید در مرحله قبلی مشاهده کرده باشید برای حل این مشکل میتونید تمامی این پکیج هارو به صورت تک به تک به صورت جدا با دستور apt install PACKAGE-NAME آپگرید کنید و یا تمامی این پکیج هارو به صورت یکجا با دستور زیر آپگرید کنید
1
|
sudo apt dist-upgrade
|
dedsec will give you the truth
join us
برای تست نفوذ یک شبکه یا دیوایس های درون شبکه اولین کاری که باید انجام شود این است که تمامی ای پی های فعال درون شبکه را اسکن و پیدا شوند که در قدم های بعدی تست نفوذ دقیقا بر روی دیوایس مورد نظر انجام شود که حملاتی نظیر حملات مرد میانی و اسنیف کردن شبکه انجام شود برای این کار نیاز به ابزار هایی خواهید داشت که در ادامه به معرفی ان ها می پردازیم.
در ابتدا اگر داخل ویندوز هستید در cmd دستور ipconfig و اگر درون لینوکس هستید دستور ifconfig را بزنید و ای پی خود را بردارید، برای پیدا کردن دیوایس های متصل در شبکه های کوچک می توانید از رنج ای پی خود به ترتیب به صورت دستی پینگ بگیرید و در صورتی که ای پی مورد نظر ping داشته باشد ان ای پی به یک دستگاه متصل است؛ برای مثال ای پی شما اگر 192.168.1.2 باشد باید با دستور زیر از ای پی بعدی در همان رنج به ترتیب پینگ بگیرید.
ping 192.168.1.3
اما روش بالا در شبکه های بزرگ تر امکان پذیر نیست و تست ای پی های در حال استفاده در شبکه به صورت دستی بسیار زمان بر خواهد بود که برای حل این مشکل ما از ابزار های مختلف که در این زمینه برای اسکن شبکه ساخته شده اند استفاده می کنیم که و انواع سیستم عامل ها ابزار های مختلفی وجود دارد.
این برنامه برای سیستم عامل های ویندوز طراحی شده و می توانید با استفاده از ان از طریق روش های اسکن پورت و پینگ ای پی های فعال درون شبکه را پیدا کنید. کافیست وارد برنامه شوید و از بخش بالا رنج ای پی خود را وارد کنید و بر روی Scan بزنید تا تمامی رنج ای پی شما اسکن شود، و در بخش پایین ان تمامی اطلاعات ای پی ها را می توانید مشاهده نمایید.
ابزار nmap در کالی لینوکس به صورت پیشفرض وجود دارد، اما می توانید در دستگاه های مختلف ان را نصب کنید. این ابزار قدرتمند امکان اسکن پورت و ای پی های شبکه را به شما می دهد برای مثال به دستور زیر توجه کنید :
nmap 192.168.1.1-255
با دستور بالا پورت های پیشفرض در رنج ip ها اسکن می شوند
و در صورت فعال بودن ان ها را در خروجی نمایش می دهد.
برنامه های زیادی برای اسکن شبکه در اندروید وجود دارد که می توان از ان ها استفاده کرد، اما یکی از بهترین این برنامه ها fing است که می توانید در دستگاه اندرویدی خود نصب کرده و یک اسکن و انالیز کامل در شبکه داخلی خود انجام دهید.
در این قسمت یعنی قسمت آخر مجموعه پستهای آشنایی با زبان برنامه نویسی Go، با کتابخانهها و ابزارهای مهم زبان گو آشنا میشویم، و در ادامه به روش یادگیری این زبان میپردازیم. با هیتوس همراه باشید.
کتابخانه استاندارد Go یکی از جامع ترین کتابخانههای موجود در بین تمام زبانهای برنامه نویسی است. از طرفی چون Go یک زبان نو ظهور است، طراحی کتابخانه در حالت بسیار تمیز و یکپارچهای قرار دارد.
Packageهایی برای آرشیو و فشرده سازی: tar, zip, bzip2, flate, gzip, lzw, zlib
Packageهایی برای رمزنگاری و عملیات هش: aes, cipher, des, dsa, rc4, rsa, md5, sha1, sha256, sha512, tls, x509
Packageهایی برای کار با فایلهای مختلف: base32 ,base64, binary, csv, gob, hex, pem, json, xml
Packageهایی برای کار با گرافیک دو بعدی: color, draw, gif, jpeg, png
Packageهایی برای کار با مباحث شبکه: html, cgi, fcgi, mail, url, jsonrpc
ذات سیستمی زبان Go در اینجا مشخص میشود. تمام Packageهای بالا در Go نوشته شده اند. برای داشتن خیلی از این Packageها در زبانهای دیگر، باید متوسل به کتابخانههای نوشته شده در زبان C میشدیم.
خوبی Go در این است که برای اعمال سطح پایین دیگر نیازی به C نیست. Go در واقع همان C مدرن است، از طرف همان کسانی که روزی C و Unix را به شما معرفی کرده بودند!
همه Packageهای بالا را همراه کنید با Packageهایی برای عملیات ریاضی، زمان، و تاریخ، محیط سیستم عامل، پایگاه داده، ورودی و خروجی، رشته ها، پردازش و Parse کردن متن و .
در ضمن کتابخانه استاندارد با یک HTTP Server داخلی همراه است که به راحتی میتوان آن را با Nginx یا Node.js مقایسه کرد. در واقع، اکثر سایتهایی که در ابتدای این نوشته به آنها اشاره شد هم از همین Server داخلی برای خدمات رسانی به کاربرانشان استفاده میکنند.
همچنین در کتابخانه استاندارد Go یک سیستم Template Engine ارایه شده تا برنامه نویسی وب را برای شما آسان تر کند. با این حساب، احتمالا متوجه شده اید که برنامه نویسی وب در Go، نیاز چندانی به فریمورکهای مرسوم در زبانهای دیگر نخواهید داشت. کتابخانه استاندارد Go همه چیز را از قبل برایتان مهیا کرده است.
از نظر مستندات، Go در جایگاه بسیار خوبی قرار دارد و برای تمام Packageها و تک تک توابع و پارامترهای شان به طور کامل مستندات وجود دارد.
اگر زبان انگلیسی شما در حد مطلوبی قرار دارد (که به عنوان یک برنامه نویس باید هم این چنین باشد) در زمینه یادگیری Go با هیچ مشکلی مواجه نخواهید شد و نیاز به هیچ کتاب و منبع خاصی نخواهید داشت؛ چرا کهمستندات موجود در سایت زبان به اندازه کافی کامل و مناسب است.
با این که زمان زیادی از انتشار نسخه پایدار نمیگذرد، اما Go ابزارهای جانبی نستباٌ کاملی در اختیار دارد:
ابزار Go که کار کامپایل و نصب Package را آسان کرده است. این ابزار حتی قابلیت این را دارد که Packageها را به صورت اتوماتیک از سایتهایی مثل Github دریافت و نصب نماید!
ابزار Godoc قادر است سایت golang.org را به صورت محلی در کامپیوتر شما اجرا کند. سایت اصلی golang.org هم به کمک همین ابزار در حال اجراست. همچنین godoc میتواند مستندات مربوط به Packageها و توابع آنها را مستقیما در ترمینال نمایش دهد.
ابزار Gofmt استایل کد نویسی شما را مدیریت میکند. برای مثال هرکدام ازا عضای تیم میتوانند استایل خودنویسی خودشان را داشته باشند، اما در نهایت از Gofmt برای یپارچه کردن استایل کدهای پروژه استفاده کنند.
ابزار Gocode هم برای کمک به ادیتورها و IDEها طراحی شده. این ابزار بررسی کدهای شما اطلاعات موجود در آنها را استخراج کرده و در اختیار ادیتورها و IDEهای میگذارد. آنها هم میتوانند از این اطلاعات برای پیاده سازی قابلیت Auto completion استفاده نمایند.
مهم ترین ابزار کار هر برنامه نویس ویرایشگر متن است. خوشبختانه Go از پشتیبانی خوبی در این زمینه برخوردار است. در رابطه با ویرایشگرهای ساده و سبک، Go از Kate و Notepad++ و BBEdit و Gedit و . به صورت رسمی پشتیبانی میکند.
برای کسانی که با ویرایشگرهای حرفهای کدنویسی میکنند، Go پشتیبانی رسمی و کاملی را برای ویرایشگرهای بی رقیب Vim و Emacs ارائه کرده است. در واقع از آنجایی که تیم سازندگان Go و اکثر جامعه کابران آن نیز با همین ابزارها کدنویسی میکنند، پشتیبانی از این دو از اولویت بسیار بالایی برخوردار است.
در Go همانند دیگر زبانهای کامپایلری نیاز خاصی به وجود IDE حس نخواهید کرد؛ اما برای کسانی که کار با IDEها را ترجیح میدهند، Go از پشتیبانی مناسبی برای IDEهای Eclipse و Intellig برخوردار است.
مستقیم به سایت golang.org بروید و پکیج مربوط به سیستم عامل خود را دانلود و نصب نمایید. برای خواندن مستندات هم به قسمت Documents سایت بروید. این قسمت بسیار جالب دسته بندی شده است. برای آشنایی با Go کافی است به ترتیب لینکهای این صفحه را از بالا به پایین مطالعه کنید. دقت کنید که رعایت ترتیب در خواندن لینکها بسیار به شما کمک خواهد کرد.
dedsec will give you the truth
join us
درباره این سایت