<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های علی.</title>
        <link>https://virgool.io/feed/@_Ali</link>
        <description></description>
        <language>fa</language>
        <pubDate>2026-06-07 02:19:22</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/112128/avatar/7g7ZoO.png?height=120&amp;width=120</url>
            <title>علی.</title>
            <link>https://virgool.io/@_Ali</link>
        </image>

                    <item>
                <title>بدترین باگ‌های تاریخ کامپیوتر: انفجار موشک ۳۷۰ میلیون دلاری</title>
                <link>https://virgool.io/Quera-Mag/the-ariane-5-disaster-oxgmwgsiv6mq</link>
                <description>بدترین خطاهای تاریخ کامپیوتر، مجموعه‌ای دنباله‌دار از داستان معروف‌ترین و تاثیرگذارترین خطاهای برنامه‌نویسی است. بیش‌تر برنامه‌نویسان و مهندسان نرم‌افزار به ندرت پیش می‌آید که با چیزی شبیه به این داستان‌ها روبه‌رو شوند، اما با خواندن آن‌ها می‌توانند دید خوبی در زمینهٔ توسعه و استقرار نرم‌افزار به دست آورند. این خطاهای کامپیوتری تاثیر قابل توجهی بر روی افرادی گذاشته‌اند که آن‌ها را تجربه کرده‌اند؛ ما هم می‌توانیم درس‌‌های ارزشمندی را که از این اشتباهات آموخته‌‌اند، در کارها و پروژه‌های خود به کار بگیریم. دیگر خطاهای کامپیوتری این مجموعه: گروه سرمایه‌گذاری نایت، مدارگرد اقلیمی مریخ (به‌زودی) و تراک ۲۵ (به‌زودی)موشک آریان ۵در چهارم ژوئن سال ۱۹۹۶ نخستین موشک آریان ۵ موتورهای خود را روشن کرد و به سرعت شروع به دور شدن از «ساحل گویان» در فرانسه نمود. ۳۷ ثانیه بعد، موشک ۹۰ درجه در جهت نادرست چرخید و در کم‌تر از ۲ ثانیه بعد، در ارتفاع ۴ کیلومتری از سطح زمین، نیروهای آئرودینامیکی، تقویت‌کننده‌ها را شکافتند و از پایه اصلی جدا کردند. این اتفاق سیستم خودتخریبی موشک را فعال کرد و فضاپیما در آتشی عظیم از هیدروژن مایع نابود شد.این پرتاب فاجعه‌بار که در حدود ۳۷۰ میلیون دلار هزینه داشت، باعث بررسی‌های گسترده‌ای شد. بخشی از ماموریت این موشک، کمک به تحقیقات علمی در مورد عمل‌کرد سپر مغناطیسی زمین (Magnetosphere) بود که با توجه به از بین رفتن محمولهٔ موشک، این تحقیقات نزدیک به ۴ سال به تعویق افتاد. به همین دلایل، آریان ۵ به عنوان یکی از گران‌ترین خرابی‌های نرم‌افزاری تاریخ شناخته شده است.چه چیزی اشتباه پیش رفت؟خطای پیش آمده به عنوان یک ایراد نرم‌افزاری در سیستم مرجع اینرسی (Inertial Reference System) موشک تشخیص داده شد. موشک از این سیستم، که معمولا به آن BH می‌گویند، استفاده می‌کرد تا تشخیص دهد که جهتش رو به بالا است یا پایین. این مقدار با یک متغیر ۶۴ بیتی float نمایش داده می‌شد که برای این کار کاملا کافی بود.مشکلات زمانی شروع شدند که نرم‌افزار تلاش کرد مقدار این متغیر ۶۴ بیتی را که می‌توانست نماینده میلیاردها مقدار مختلف باشد، در یک متغیر ۱۶ بیتی integer با امکان نمایش تنها ۶۵۵۳۵ مقدار مختلف، جا دهد. در چندین ثانیه ابتدایی پرواز، موشک شتاب کمی داشت و بنابراین تبدیل بین این دو مقدار هم موفقیت‌آمیز بود. اما با افزایش سرعت موشک، مقدار متغیر ۶۴ بیتی از عدد ۶۵ هزار بیشتر شد و دیگر برای جا شدن در متغیر ۱۶ بیتی بیش از اندازه بزرگ بود. همین لحظه بود که پردازنده با یک خطای عمل‌وند (operand error) روبه‌رو شد و متغیر BH را با یک کد عارضه‌یابی مقداردهی کرد.کدهای عارضه‌یابی یا تشخیصی مقادیری قراردادی هستند که در صورت رُخ دادن وضعیت‌های خاص (معمولا به خاطر برخوردن به ایرادهای مختلف) در یک متغیر ذخیره یا به صورت نتیجه تابع برگشت داده می‌شوند.فقط ۳۹ ثانیه از پرتاب آریان ۵ گذشته بود که این فضاپیما در آتشی از هیدروژن مایع سوخت.برای فضا رفتن، فضای کافی نیاز بود!به زبان ساده‌تر، این موضوع مانند تلاش برای قرار دادن ۱۰ میلیون لیتر بستنی در یک یخچال معمولی است. احتمالا اولین بستنی‌ها راحت در یخچال جا می‌شوند؛ اما بعد از پر شدن آن، جایی برای بقیه بستنی‌ها نیست. به خاطر همین درهای یخچال باز می‌مانند و همه بستنی‌ها شروع به آب شدن می‌کنند.سیستم مرجع اینرسی پشتیبان هم نتوانست از این فاجعه جلوگیری کند. مقدار BH دارای یک کد شناسایی از پردازنده بود که صرفا برای دیباگ کردن در نظر گرفته شده بود. این کد شناسایی به اشتباه به عنوان داده واقعی پرواز شناسایی شد و باعث شد که موتورها بلافاصله با رانش در جهت اشتباه، تصحیح اضافه‌ای را انجام دهند. همین تصحیح نادرست منجر به نابودی موشک در چند ثانیه بعد از پرتاب آن شد.میراث دردسرسازعوامل مختلفی این شکست را پررنگ و ویژه می‌کنند. اول این‌ که پس از پرتاب موشک، دیگر نیازی به مقدار BH نبود و این تکه از کد، از نسخه قبلی موشک در کد پایه جا مانده بود. نسل قبلی آریان، یعنی آریان ۴، برای تراز کردن بعد از پرتاب به این قسمت از کد نیاز داشت. مورد دوم این‌ بود که کدی که توانایی گرفتن و اداره کردن این ایرادهای تبدیل را داشت به دلیل محدودیت‌های کارایی در سخت‌افزار آریان ۴ برای مقدار BH غیر فعال شده بود. در آریان ۵ این محدودیت‌ها وجود نداشت و می‌توانست این قسمت دوباره فعال شود.عامل موثر نهایی، تغییر در نیازهای کاربر و به طور مشخص در برنامهٔ پرواز موشک بود. آریان ۵ با یک خط سیر بسیار تندتر نسبت به آریان ۴ پرتاب شد که منجر به سرعت عمودی بیش‌تری می‌‌شد. از آن‌جا که موشک سریع‌تر به فضا پرتاب می‌شد، احتمال این‌که مقدار BH با خطای تبدیل رو‌به‌رو شود هم بیش‌تر بود.سرانجام آژانس فضایی اروپا گروهی را برای بازیابی لاگ‌های ثبت شده از دو سیستم مرجع اینرسی که بقایای آن‌ها در زمینی به مساحت ۱۲ کیلومتر مربع پخش شده بودند مامور کرد. کار این گروه هم به واسطه زمین‌های باتلاقی، مواد شیمیایی خطرناکی که از موشک پراکنده شده بودند و نظارت گسترده رسانه‌ها طولانی و سخت شده بود. همه این مشکلات، صرفا به دلیل یک خطای تبدیل اتفاق افتاده بود.این مطلب قسمتی از مجموعه دنباله‌دار معروف‌ترین و تاثیرگذارترین خطاهای برنامه‌نویسی است که در کوئرامگ منتشر شده است. . هفتاد سال پیش، گریس هوپر (Grace Hopper) نخستین خطای کامپیوتری را کشف کرد؛ یک پروانه بین رله‌های کامپیوتر Harvard Mark II که با آن کار می‌کرد گیر افتاده بود. پیش از آن ایده باگ‌ها (Bugs) در زمینه‌های دیگر تعریف شده بود، اما با کشف آن پروانه، برای نخستین بار از اصطلاح اشکال‌زدایی (Debugging) در زمینهٔ کامپیوترها استفاده شد.ترجمه از:&quot;The Worst Computer Bugs in History: The Ariane 5 Disaster&quot;, by Jamie Lynchکوئرامگ مجله‌ای تخصصی برای توسعه‌دهندگان است که هر هفته با مطلب‌هایی در زمینه تکنولوژی، رشد فردی و آینده برنامه‌نویسی به‌روزرسانی می‌شود. برای اطلاع از آخرین مطلب‌های ما، می‌توانید توئیتر یا کانال تلگرام کوئرا را دنبال کنید.</description>
                <category>علی.</category>
                <author>علی.</author>
                <pubDate>Tue, 23 Jun 2020 16:51:18 +0430</pubDate>
            </item>
                    <item>
                <title>جعبه‌ابزار؛ ۱۵ برنامه روزمره برای برنامه‌نویسان PHP</title>
                <link>https://virgool.io/Quera-Mag/php-tools-p5jrxtjokpyr</link>
                <description>طبق آماری که سایت رسمی php.net منتشر کرده است، زبان PHP در بیش از ۲۴۰ میلیون وب‌سایت و ۲ میلیون وب‌سرور استفاده شده است.سایت W3Techs که به عنوان یکی از مراجع معتبر در زمینهٔ بررسی‌ فناوری‌های تحت وب شناخته می‌شود هم در گزارشی اعلام کرده است که زبان PHP موتور محرک ۷۸ درصد از کل وب‌سایت‌های دنیا است و در بیشتر سال‌ها در فهرست ۱۰ زبان محبوب از دید برنامه‌نویسان سراسر دنیا قرار گرفته است.همان‌طور که در مطلب «راهنمای جامع برای آشنایی با PHP و دنیای طراحی وب» اشاره کردیم، PHP یکی از زبان‌های برگزیده اسکریپت‌نویسی سمت سرور برای بسیاری از توسعه‌دهندگان وب است. اگر شما برنامه‌نویس PHP هستید و یا به تازگی می‌خواهید یادگیری زبان PHP را شروع کنید، به ابزارهایی نیاز دارید تا کدهایتان را در آن بنویسید و یا آن‌ها را ویرایش کنید.اگر قصد یادگیری و تمرین زبان PHP را دارید، کافی است کمی پشتکار داشته باشید و سری به دوره «آموزش پروژه‌محور برنامه‌نویسی وب با PHP» در کوئراکالج بزنید. در این دوره با پروژه‌های واقعی از شرکت دیجی‌کالا و تمرین‌های مختلف سر و کار خواهید داشت.بخش اول : بهترین محیط‌های توسعهٔ PHPبخش دوم: بهترین ابزارهای تست PHPبخش سوم: بهترین ابزارهای اشکال‌زدایی PHPبخش چهارم: بهترین ابزار مستندسازی PHPبخش پنجم: بهترین ابزار امنیتی PHPبخش ششم: بهترین ابزار نظارت بر کارایی PHPبهترین محیط‌های توسعهٔ PHPادیتور PHPStormادیتور PHPStormادیتور PHPStorm از محبوب‌ترین و حرفه‌ای‌ترین ابزارها برای برنامه‌نویسی PHP است. این ویرایش‌گریکی از اعضای خانواده شرکت معروف JetBrains است که از تمامی فریم‌ورک‌ها و CMSهای PHP از جمله Drupal ،WordPress ،Symphony و Laravel پشتیبانی می‌کند. این ادیتور با همه ورژن‌های PHP سازگار است و HTML و JavaScript هم در آن اجرا می‌شود. این ادیتور را می‌توانید بر روی سیستم عامل‌‌های Mac OS ،Microsoft Windows و Linux استفاده کنید. پشتیبانی از PHPDoc و تکمیل کدهای PHP به طور خودکار از ویژگی‌های این ادیتور کاملا رایگان است.ادیتور AWS Cloud9ادیتور AWS Cloud9ادیتور AWS Cloud9، برای توسعه کامل برنامه‌های PHP روی فضای ابری یک محیط ویرایشگر کد حرفه‌ای آنلاین است. به دلیل یکپارچه‌سازی کامل آن با سرویس‌های وب آمازون، به قوی‌ترین و بسط‌پذیرترین پلتفرم توسعه آنلاین تبدیل شده است. این IDE آنلاین علاوه بر ویرایش کدها، ابزارهای دیباگ پیشرفته‌ای را ارائه می‌دهد. این ابزار علاوه بر اینکه امکان ساخت برنامه‌های کاربردی وب را بدون نیاز به سرور به شما می‌دهد، از همهٔ ویژگی‌های پیش‌رفته‌ای که از یک IDE مدرن انتظار دارید مانند راهنمای سریع کد و تکمیل خودکار کد هم پشتیبانی می‌کند.نرم‌افزار  XAMPPنرم‌افزار  XAMPPنرم‌افزار زمپ یک شبیه ساز سرور به صورت لوکال است که اجازه می‌دهد قبل از آپلود کردن پروژه‌های خود روی هاست اصلی، آن‌ها را روی کامپیوتر شخصی خود تست کنید. هم‌چنین سرویس‌دهنده‌های Apache ،MySQL ،Perl و PHP نیز به صورت خودکار در هنگام نصب نرم‌افزار Xampp به سادگی نصب می‌شوند. در واقع نرم‌‌افزار Xampp کدهای PHP را به صورت localhost در سیستم شما اجرا و امکان ویرایش سریع آن‌ها را فراهم می‌کند. این ابزار که پیش از این امتحان خود را پس داده است پشتیبانی خوبی دارد، نصب آن آسان است و هر کسی می‌تواند آن را به صورت رایگان دریافت کند.ادیتور Eclipse PDTادیتور Eclipse PDTاگر کمی تجربه کار با محیط‌های ویرایشگر زبان جاوا و یا اندروید را داشته باشید حتما نام ادیتور Eclipse به گوش‌تان خورده است. اگرچه Eclipse در ابتدا محیطی برای توسعه کدنویسی جاوا در نظر گرفته شده بود، اما اکنون با اضافه شدن افزونهٔ PDT، برای پشتیبانی از کدهای PHP نیز استفاده می‌شود. Eclipse منبع باز (Open Source) است و دارای همهٔ ویژگی‌هایی است که از یک محیط ویرایشگر کد انتظار دارید.ادیتور Aptana Studioادیتور Aptana Studioادیتور Aptana یکی دیگر از ابزارهای  مفیدی است که ویژگی بسیار منحصربه‌فردی به نام Code Assist دارد که به شما در نوشتن کد به چند زبان کمک می‌کند. این ابزار از زبان‌هایی مثل PHP ،Python ،Perl JavaScript ،HTML5 ،CSS3 و Ruby پشتیبانی می‌کند و در تمامی سیستم عامل‌ها نیز قابل نصب است. این ادیتور از سرور داخلی PHP بهره‌مند است که می‌توانید کدهای خود را دیباگ کنید و ابزارهای دیگر خود را برای ساخت و آزمایش برنامه‌های PHP در یک محیط واحد به صورت یکپارچه در بیاورید.ادیتور PhpEDادیتور PhpEDاین ادیتور را می‌توان به عنوان یکی از بهترین نرم‎افزارهای دانست. PhpED یک محیط توسعه برای طراحی و ویرایش کدهای PHP در پروژه‌های کوچک و یک محیط برای بالابردن میزان پیشرفت روند توسعه در پروژه‌های بزرگ دارد. این نرم افزار شامل ابزارها و توابع قدرتمندی به منظور توسعه وب‌سایت و برنامه‌های کاربردی وب و همچنین دو ابزار DBG Debugger و Php Profiler برای عیب‌یابی و نمایش سرعت اجرای دستورات در صفحات PHP است. هم‌چنین از Jаvascript  ،HTML ،CSS ،XML ،SMARTY و XHTML کاملا پشتیبانی می‌کند.ادیتور Sublime Textادیتور Sublime Textاین ادیتور یک ویرایشگر متنی است که از زبان‌های برنامه‌نویسی و نشانه‌گذاری پشتیبانی می‌کند. اگر به دنبال یک ویرایشگر ساده و درعین‌حال سریع و انعطاف‌پذیر در طراحی‌ وب هستید، Sublime Text می‌تواند گزینه مناسبی برای شما باشد. ویژگی go-to-anything این ویرایشگر به شما اجازه می‌دهد که فایل‌ها یا خط‌های کد را به سرعت پیدا کنید و ویرایش هم‌زمان از چند منبع به شما این توانایی را می‌دهد که چندین نمونه از کد را به‌طور هم‌زمان تغییر دهید.بهترین ابزارهای تست کد PHPابزار PHPUnitابزار PHPUnitاین ابزار که از مجموعه محبوب JUnit است، یک چارچوب ساده برای نوشتن تست‌هایی است که برای PHP5 استفاده می‌شود. این ابزار کمک می‌کند تا پایداری و مقیاس پذیری(scalability) برنامه‌تان را تست کنید. ابزار HPUnit دقیقا مانند Junit است با این تفاوت که به جای تست جاوا، کارش تست PHP است و به شما اجازه می‌دهد که واحدهای تست خود را بسازید و نتایج را در چندین قالب مختلف مشاهده کنید. PHPUnit به خصوص برای تست پایداری و مقیاس‌پذیری کاربرد دارد.ابزار Selenium ابزار Selenium ابزار Selenium یک ابزار خودکار، رایگان و Open Source است که برای برنامه‌های وب در بین مرورگرها و سیستم‌عامل‌های مختلف استفاده می‌شود. هنگام طراحی وب سایت، با استفاده از سلنیوم، نه تنها می‌توانید تست‌هایی را برای هر بخش تعریف کنید، بلکه می‌توانید تست‌ها را زمان‌بندی کنید و به طور خودکار انجام دهید.بهترین ابزارهای دیباگر PHPابزار Xdebugابزار Xdebugابزار Xdebug از سال ۲۰۰۲ آغاز به کار کرد و از آن زمان تاکنون به یکی از مطمئن‌ترین ابزارهای PHP تبدیل شده است. فرض کنید کدهایی که نوشته‌اید را کامپایل می‌کنید اما خطایی رخ می‌دهد و کد شما متوقف می‌شود. در این نوع شرایط یکی از بدترین مشکلات این است که متوجه نشویم چه خطایی اتفاق افتاده و مشکل از کجا است. اینجا است که Xdebug وارد عمل می‌شود. Xdebug به صورت افزونه برای Eclipse ،PHPDesigner و بسیاری از محیط‌های توسعهٔ دیگر در دسترس است و با ده‌ها ابزار دیباگر frontend دیگر قابلیت سازگاری دارد.ابزار DebugBarابزار DebugBarابزار DebugBar یکی از پرکاربردترین دیباگرها برای هر توسعه‌دهنده است. علاوه بر اینکه شما می‌توانید کدهای PHP با این ابزار دیباگ کنید، خطاهای مربوط به کدهای HTML و JavaScript را هم با استفاده از آن پیدا خواهید کرد. در کنار این ویژگی‌ها، DebugBar می‌تواند ترافیک شبکه را مانیتور و کنترل کند و کدهای CSS و JavaScript شما را ارزیابی نماید. این امکانات برای این ابزار متن‌باز بسیار مورد استقبال قرار گرفته است.ابزار MacGDBpابزار MacGDBpهمان‌طور که از نامش پیدا است، MacGDBp اختصاصا برای دیباگ‌کردن PHP در سیستم عامل مَک‌ ساخته شده است. تمام قابلیت‌هایی که از یک دیباگر حرفه ای نیاز دارید در MacGDBp پیدا می‌شود، مثل قابلیت trace کد و همچنین تنظیم breakpoints در میان کد برنامه.بهترین ابزار مستندسازی PHPابزار PHPDocumentorابزار PHPDocumentorاین مستندسازِ منبع‌بازِ PHP دارای رابط خط فرمانی مبتنی بر وب است. این ابزار کدهای PHP را به طور خودکار تفسیر می‌کند و مستندات را در قالب‌های PDF ،HTML ،CHM و Docbook به عنوان خروجی ارائه می‌دهد. این ابزار با نام‌های phpdoc و phpdocu هم شناخته می‌شود. هم‌چنین از اکثر ویرایشگرهای کد و فریم‌ورک‌های PHP پشتیبانی می‌کند و نصب آن بسیار آسان است.بهترین ابزار امنیتی PHPابزار Securimageابزار Securimage ابزار Securimage کاملا رایگان و برای ساخت تصاویر با کدهای رندم CAPTCHA با هدف ایمن‌سازی فرم‌های وب‌سایت است. این اسکریپت منبع‌باز به شما این توانایی را می‌دهد که به منظور ایمن کردن برنامه‌های PHP خود، کدهای CAPTCHA را ساخته و سامان‌دهی کنید. کدهای CAPTCHA به خصوص برای جداسازی هرزنامه‌ها و تهدیدهای امنیتی در فرم‌های آنلاین مفید هستند. استفاده از کپچا در فرم‌ها جلوی سوء استفاده احتمالی هکرها را می‌گیرد و برای ایجاد امنیت بسیار ضروری است.بهترین ابزار نظارت بر کارایی PHPابزار New Relic APMابزار New Relic APMابزار New Relic یک مرور کلی از عمل‌کرد برنامهٔ PHP شما ارائه می‌دهد. و علاوه بر نظارت بر زیرساخت‌ها، می‌تواند داده‌های کاربر را جمع‌آوری کند و تجزیه و تحلیل‌های ارزشمندی را برای کمک به شما در ایجاد یک تجربهٔ کاربری بهتر ارائه دهد.جمع‌بندیابزارهای زیادی برای ویرایش و توسعه کدهای PHP وجود دارند که در این مطلب به معرفی برخی از این ابزارهای رایگان پرداختیم. هر روز ابزارهای جدیدِ PHP، به وجود می‌آیند. شما چه ابزای خوبی برای کمک به توسعه پروژه‌های برنامه‌نویسی PHP  و یا زبان‌های دیگر می‌شناسید؟ترجمه بر اساس:&quot;23 Useful PHP Tools for the Everyday Web Developer&quot;, by Cody Arsenault @ keycdnکوئرامگ مجله‌ای تخصصی برای توسعه‌دهندگان است که هر هفته با مطلب‌هایی در زمینه تکنولوژی، رشد فردی و آینده برنامه‌نویسی به‌روزرسانی می‌شود. برای اطلاع از آخرین مطلب‌های ما، می‌توانید توئیتر یا کانال تلگرام کوئرا را دنبال کنید.</description>
                <category>علی.</category>
                <author>علی.</author>
                <pubDate>Tue, 12 May 2020 21:40:19 +0430</pubDate>
            </item>
                    <item>
                <title>راهنمای جامع برای آشنایی با PHP و دنیای طراحی وب</title>
                <link>https://virgool.io/Quera-Mag/everything-about-php-siqocry1wtbk</link>
                <description>مطمئنا PHP مثل گذشته در اوج نیست، اما این‌طور نیست که PHP کاملا منسوخ شده باشد. در فروم‌هایی مثل StackOverFlow بعضی از برنامه‌نویس‌ها دائما می‌گویند که PHP دیگر کاربردی ندارد؛ اما واقعا نظر آن‌ها درست است یا صرفا به خاطر این است که PHP را دوست ندارند؟اگر اولین قدم‌های خود را در دنیای توسعهٔ وب برمی‌دارید، چه به عنوان یک برنامه‌نویس با آینده‌ای درخشان، یا به عنوان یک کارفرمای بالقوه، طولی نمی‌کشد که با PHP رو به رو خواهید شد. عجیب نیست؛ چون PHP یکی از محبوب‌ترین زبان‌های برنامه‌نویسی وب است. مهم‌تر از آن تقریبا ۷۹ درصد تمامی وب‌سایت‌ها با استفاده از PHP ساخته شده‌اند که ابزارهای مبتنی بر وبی که روزانه از آن‌ها استفاده می‌کنید مانند فیسبوک، ویکی‌پدیا، یاهو، میل‌چیمپ و پینترست هم جزو آن‌ها هستند.اگر به یادگیری زبان برنامه‌نویسی PHP علاقه‌مند هستید، پیشنهاد می‌کنیم سری هم به دوره جدید کوئراکالج، یعنی «آموزش پروژه‌محور برنامه‌نویسی وب با PHP» بزنید. در این دوره با پروژه‌های واقعی از شرکت دیجی‌کالا و تمرین‌های مختلف سر و کار خواهید داشت.زبان برنامه‌نویسی PHP چیست؟زبان PHP یک زبان برنامه‌نویسی سمت سرور و منبع باز (Open Source) برای توسعهٔ برنامه‌های وب است که می‌تواند در کد HTML جاسازی (تعبیه یا embed) شود. PHP با سیستم عامل‌های اصلی و مطرح (macOS, Windows, Linux, Unix) سازگار است و توسط سرورهای وب مختلف (Apache, nginx, IIS, lighttpd) پشتیبانی می‌شود. این زبان برنامه‌نویسی محدود به HTML نیست و می‌تواند فایل‌های متنی و تصویری با ساختارهای متفاوت را ایجاد کرده و خروجی دهد.به علاوه آن، PHP از یک روش موثر در گزینش بانک‌های اطلاعاتی پشتیبانی می‌کند که روند توسعهٔ وب را ساده و آسان می‌کند. PHP با توجه به انعطاف‌پذیر بودنش، محدودیت‌های کمی برای توسعه‌دهندگان، طراحان و کارفرمایان ایجاد می‌کند و آزادی فراوانی را در انتخاب و خلاقیت در اختیارشان می‌گذارد.زبان PHP چه‌کاری می‌تواند انجام دهد؟دفترچهٔ راهنمای رسمی PHP جواب کوتاهی برای این سوال دارد: هر چیزی که با حقیقت فاصله ندارد.سه حوزه اصلی از کاربردهای PHP این‌ها هستند: اسکریپت‌نویسی خط فرمان (Command-line scripting)، اسکریپت‌نویسی سمت سرور (Server-side scripting)، و توسعهٔ برنامه‌های دسکتاپ (Desktop application). این آخری به صورت تئوری امکان‌پذیر است، اما خیلی کم عملی می‌شود. به زبان ساده، هر چیزی که باید با یک وب‌سرور اجرا شود، می‌تواند با PHP ساخته شود: یک وبلاگ، یک فروشگاه آنلاین، یک اسکریپت پردازش داده، یک SaaS (اجاره نرم‌افزار) (۱) پیچیده و سطح بالا و هر چیز مشابهی که به فکرتان می‌رسد.در اصل PHP محتوایی از نوع HTML را بر اساس شروطی تعیین شده، برای بازدیدکنندگان وب‌سایت ایجاد می‌کند. با استفاده از مجموعه‌ای از متغیرها، PHP داده‌های مورد نیاز را از پایگاه داده استخراج کرده و محتوای متناظر را به صورتی پویا ارائه می‌کند؛ مثل زمانی که مشتریان یک فروشگاه آنلاین از فیلتر «جدیدترین محصولات»‌ موقع جستجوی محصول استفاده می‌کنند.جدای از این، PHP به توسعه‌دهندگان اجازه می‌دهد که صفحات وب را ایجاد، منتشر و ویرایش کنند؛ بدون این‌که هر بار نیاز به سر و کله زدن با HTML داشته باشند. به جای آن، می‌توان با استفاده از سیستم‌های مدیریت محتوای کاربرپسند که بر پایهٔ PHP ساخته شده‌اند (مانند WordPress) تغییرات لازم را ایجاد کرد تا پایگاه دادهٔ محتوا به صورت خودکار به‌روز‌رسانی شود.زبان PHP را می‌توان در همهٔ سیستم عامل‌های اصلی، از جمله لینوکس، بسیاری از انواع یونیکس، ویندوزِ مایکروسافت، MacOS، RISC OS و احتمالا موارد دیگر استفاده کرد. همچنین در حال حاضر، PHP از بیشتر سرورهای وب شامل IIS و Apache پشتیبانی می‌کند. به علاوه این‌که شما می‌توانید از برنامه‌نویسی رویه‌ای (Procedural Programming) یا برنامه‌نویسی شی‌گرا (OOP) یا ترکیبی از هر دو استفاده کنید.همانطور که می‌دانید، PHP برای داینامیک کردن صفحات ساخته شده با HTML و CSS کاربرد دارند. ولی با استفاده از PHP شما فقط محدود به ارسال خروجی بصورت HTML نیستید. بلکه می‌توانید خروجی اجرای کدهای PHP را به صورت تصویر، فایل pdf و حتی فایل فلش ارسال کنید. همچنین می توانید به راحتی هر متنی مانند XHTML و هر پرونده XML دیگر را به راحتی در خروجی چاپ کنید. پی اچ پی می تواند این فایل ها را به صورت خودکار تولید کند و به جای چاپ کردن ، آنها را در سیستم بصورت فایل ذخیره کند و یک حافظه نهان سمت سرور را برای محتوای پویای شما تشکیل می دهد. که بدون نیاز به ذخیره کردن در جایی (اصطلاحا به صورت On the fly) ساخته می‌شوند.یکی از پرقدرت‌ترین و مهم‌ترین ویژگی‌های PHP، پشتیبانی آن از طیف گسترده‌ای از پایگاه‌های داده است. نوشتن یک صفحهٔ وب با قابلیت اتصال به پایگاه داده با استفاده از افزونه‌های اختصاصی پایگاه داده (به عنوان مثال برای mysql)، استفاده از یک لایهٔ abstraction مانند PDO یا اتصال به هر پایگاه داده‌ای که از استاندارد اتصال پایگاه دادهٔ باز (Open Database Connection Standard) با به‌کارگیری افزونهٔ ODBC پشتیبانی می‌کند، در PHP بسیار ساده است.تکنولوژی PHP همچنین از گفتگو (۲) با سایر سرویس‌ها با استفاده از پروتکل‌هایی مانند LDAP، IMAP، SNMP، NNTP، POP3، HTTP، COM (بر روی ویندوز) و موارد بی‌شمار دیگری پشتیبانی می‌کند. همچنین می‌توانید سوکت‌های شبکه را مستقیما باز کرده و با به‌کارگیری هر نوع پروتکل دیگری ارتباط برقرار کنید. PHP از تبادل داده‌های پیچیدهٔ WDDX مابین تقریبا همهٔ زبان‌های برنامه‌نویسی هم پشتیبانی می‌کند. در زمینهٔ ارتباط، PHP از نمونه‌سازی آبجکت‌های JAVA و به‌کارگیری آن‌ها به عنوان آبجکت‌های PHP هم پشتیبانی می‌کند.زبان PHP دارای امکانات مفیدی برای پردازش متن است، که شامل RegEx (عبارات منظم) سازگار با PERL یا به صورت اختصار (PCRE)، و بسیاری از افزونه‌ها و ابزارها برای تجزیه و دسترسی به اسناد XML است.فریم‌ورک‌ (چارچوب) PHP چیست؟فریم‌ورک PHP بستری برای ساخت برنامه‌های وب PHP است. این فریم‌ورک شامل کتابخانه‌هایی با توابع و کلاس‌‌های از پیش آماده‌ شده و هم‌چنین در بیش‌تر موارد، المان‌هایی برای اجرای الگوی طراحی نرم‌افزار (Design Pattern) است. این دومی، یک اسکلت‌بندی آماده یا به اصطلاح بیرون از جعبه (۳) (out-of-the-box) از پروژه‌ای که ساخته خواهد شد را بر پایهٔ رشته‌‌کدهای توسعه‌دهنده تشکیل می‌دهد؛ چه برای کدهای به ارث برده شده از کلاس‌های کتابخانه‌ای یا کدهایی که از ابتدا نوشته شده‌اند. فریم‌ورک‌های PHP به دلیل اهمیت دادن به جنبه‌های معمول و تکرارشونده در توسعهٔ وب رواج پیدا کرده‌اند. هم‌چنین، توابع کتابخانه‌ای و کلاس‌ها در این فریم‌ورک‌ها، از شیوه‌های استاندارد توسعهٔ وب پیروی می‌کنند و به خوبی تست شده‌اند. با استفاده از آن‌ها، علاوه بر آن‌که هر بار مجبور به اختراع دوبارهٔ چرخ نخواهید بود، احتمال بروز خطاهایی که می‌توانند دائما اتفاق بیفتند و باعث خرابی برنامه شوند را نیز به‌طور قابل ملاحظه‌ای کاهش می‌دهید.آخرین، اما نه کم‌اهمیت‌ترین مزیت استفاده و تکیه بر این فریم‌ورک‌ها، این است که کدِ شما را برای دیگر همکاران توسعه‌دهنده‌ قابل خواندن و درک می‌سازند.فریم‌ورک‌ها و CMSهای بر پایه PHPبهترین فریم‌ورک PHP کدام است؟این روزها، توسعه‌دهندگان PHP به هیچ‌وجه از کمبود فریم‌ورک‌های برنامه‌نویسی نگران نیستند. برعکس، احتمال زیادی وجود دارد که به خاطر تنوع زیاد فریم‌ورک‌ها، برای انتخاب از بین آن‌ها سردرگم شوند. برای راهنمایی شما در مسیر درست، خلاصه‌ای از پنج فریم‌ورک PHP که بهترین عملکرد را دارند و ارزشمندتر و محبوب‌تر هستند را بررسی می‌کنیم.۱. فریم‌ورک Laravelلاراول این روزها داغ‌ترین فریم‌ورک PHP است. به عنوان فریم‌ورکی برای (۴) Web Artisans، طبق ادعای سازندگانش، به توسعه‌دهندگان اجازه می‌دهد که طراحی‌های مدرن و زیبایی را انجام دهند. Laravel به دلیل شیب کم منحنی یادگیری (۵) (Shallow learning curve)، سادگی و منابع یادگیری فراوان و برتر، مورد استقبال توسعه‌دهندگان جوان قرار گرفته است. از طرف دیگر هم مهندسان باتجربهٔ PHP، محیط توسعهٔ داخلی، موتور الگومحور و سیستم مسیریابیِ (۶) RESTful آن را ستایش می‌کنند.۲. فریم‌ورک Symfonyفریم‌ورک Symfony مجموعه‌ٔ چشمگیری از امکانات و در کنار آن ویرایش‌های با پشتیبانی بلندمدت را ارائه می‌دهد، اما در عوض نیاز به سطح مناسبی از تخصص دارد. این موضوع، هرچند باعث کمتر شدن محبوبیت آن نمی‌شود، اما باعث می‌شود توسعه‌دهندگان تازه‌کار در مورد آن محتاط باشند. Symfony یکی از بزرگ‌ترین جامعه‌های توسعه‌دهندگان را دارد. SensioLab، مالک این فریم‌ورک، با منتشر کردن محتوای آموزشی مفید، پست‌های وبلاگ و بحث‌های فنی از آن پشتیبانی می‌کند.۳. فریم‌ورک Zendبه دلیل ماهیت مبتنی بر مولفه (Component-based)، این فریم‌ورک در جامعهٔ توسعه‌دهندگان PHP به عنوان فریم‌ورک چسبان (a glue framework) لقب گرفته است. فریمورک zend از معماری MVC پشتیبانی می‌کند و کاملا از اصول شی‌گرایی در ساختار خود پیروی می‌کند و همین ویژگی باعث قدرتمند شدن این فریم‌ورک شده، به طوری که به برنامه‌نویس‌ها این اجازه را می‌دهد تا در صورت نیاز از هر جزئی که در برنامه‌شان استفاده کرده‎‌اند در هر کجای دیگر نیز استفاده کنند. در واقع، با استفاده از Zend، میتوانید آزادانه فقط آن دسته از کامپوننت‌هایی که نیاز دارید را فراخوانی کنید. این فریم‌ورک نه تنها دارای یک کتابخانهٔ داخلی پر و پیمان و گران‌بهاست، بلکه می‌تواند آزادانه با مقدار زیادی از کتابخانه‌های بیرونی یکپارچه شود.۴. فریم‌ورک Phalconفالکون اساسا با دیگر فریم‌ورک‌های PHP تفاوت دارد؛ زیرا در واقع یک افزونهٔ PHP است که با زبان C نوشته شده است. این افزونه، به منابع کمی نیاز دارد، فریم‌ورک MVC را می‌پذیرد و سرعت و کارایی چشم‌گیری دارد. با تمام این‌ها، در نبود یک موتور تست خودکار و ماهیت عجیب و غریب این فریم‌ورک، یافتن اشکالات برنامه‌ها، به تلاشی تبدیل می‌شود که حتی توسعه‌دهندگان باتجربه را هم از کار با Phalcon دل‌سرد می‌کند.۵. فریم‌ورک CakePHPبا انتخاب CakePHP، مجموعهٔ کاملی از کارکردهای اساسی مورد نیاز برای توسعهٔ PHP را به دست می‌آورید: پشتیبانی از MVC، انتخابی عالی از افزونه‌ها و مولفه‌های (Components) سودمند، قابلیت استفادهٔ دوباره از کد، و پشتیبانی از AJAX بیرون از جعبه (out-of-the-box*). آن‌چه CakePHP را متمایز می‌کند، تاکید آن بر قراردادهای کدنویسی است که از سویی به روند توسعه سرعت می‌بخشد و از سویی دیگر ممکن است خلاقیت و نوآوری را در شما فرو بنشاند.ورژن انقلابی PHP7، جدیدترین نسخه زبان برنامه‌نویسی PHP است.آیندهٔ PHPبروزرسانی جدید: PHP7از زمان انتشار PHP7، امکانات تازه و بهبودهای فراوانی معرفی شده‌اند. قابل توجه‌ترین پیشرفت‌ها بهبود سرعت و استفادهٔ بهتر از حافظه است. این به آن معناست که وب‌سایت‌هایی که از PHP7 استفاده می‌کنند سریع‌تر از وب‌سایت‌هایی که از ویرایش قدیمی PHP استفاده می‌کنند بارگذاری می‌شوند و می‌توانند هم‌زمان کاربران بیش‌تری را نیز هندل کنند. Code wise، اعلامیه‌های نوع (Type declarations) و عمل‌گرهای (Operators) تازه‌ای معرفی شده‌اند. اداره‌کنندهٔ خطاها نیز بهبود یافته است.زبان PHP هنوز بر دنیای وب مسلط است.یکی از دلایلی که PHP به وسیلهٔ بسیاری از وب‌سایت‌ها استفاده می‌شود، این است که WordPress از PHP استفاده می‌کند. سهم بازار WordPress تقریبا ۳۴ درصد از کل وب‌سایت‌های دنیا است. این یعنی ۷۵ میلیون وب‌سایت از WordPress استفاده می‌کنند.علاوه بر این، برخی از CMSهای دیگر مانند Drupal  و Joomla نیز وجود دارند که سهم قابل توجهی در بازار دارند. از طرف دیگر بعضی سیستم‌های مدیریت فروشگاهِ محبوب، مانند Magento نیز بر پایه PHP هستند. همین موضوع، PHP را مهم و برای یادگیری و استفاده مناسب می‌سازد.بازار کاراز آن‌جایی که ۷۵ درصد وب با استفاده از PHP نوشته شده است، مشخص است که بازار خوبی در انتظار برنامه‌نویسان آن است. همهٔ این وب‌سایت‌ها باید پشتیبانی شوند و برای این کار به توسعه‌دهندگان PHP نیاز دارند. سهم بزرگی از بازار PHP در یک شب از بین نخواهد رفت، بنابراین مشاغل مربوط به PHP در آینده نیز وجود خواهند داشت.نتیجه‌گیریاگرچه بحث‌های فراوانی در مورد آیندهٔ PHP وجود دارد، اما روشن بودن آینده PHP تقریبا مشخص است. این زبان هنوز هم پراستفاده‌ترین زبان برنامه‌نویسی برای وب‌سایت‌ها است. نظر شما چیست؟ شما هنوز به آینده PHP امیدوارید؟(۱) Software as a Service:نرم‌افزار به عنوان سرویس یک مدل توزیع نرم‌افزار است که در آن یک ارائه‌دهنده میزبان برنامه بوده و خدمات برنامه را از راه اینترنت در دسترس مشتریان قرار می‌دهد. SaaS در کنار زیرساخت به عنوان سرویس (IaaS) و بستر خدمات به عنوان سرویس (PaaS)، یکی از سه دستهٔ اصلی محاسبات ابری یا همان Cloud Computing است.(۲) گفتگو:در دانش کامپیوتر به معنای برقراری ارتباط به منظور تبادل داده است. برای تبادل داده به گونه‌ای که برای هر دو طرف (منظور از دو طرف معمولا دو دستگاه یا دو برنامه است) قابل درک و استفاده باشد، از پروتکل‌های ارتباطی استفاده می‌شود.(۳) out-of-the-box:ویژگی یا کارکرد خارج از جعبه (که به آن Off the shelf هم گفته می‌شود)، به خصوص در نرم‌افزار، ویژگی یا کارکردی است که بدون نیاز به هیچ‌گونه نصب یا تنظیم و اصلاحی کار می‌کند. هم‌چنین به این معنا نیز هست که به‌طور پیش‌فرض برای همهٔ کاربران در دسترس است و برای استفاده از یک چنین کارکردی، نیاز به پرداخت هزینهٔ اضافی یا پیکربندی و تنظیمات خاص نیست.(۴) Web Artisans:یک رابط خط فرمان است که همراه فریم‌ورک Laravel عرضه می‌شود.این برنامه دستورات مفیدی ارائه می‌دهد که می‌توانند در ساخت برنامه‌ها به شما کمک کنند.(۵) Shallow learning curve:منحنی یادگیری کم‌عمق به معنای روند سریع یادگیری یک موضوع است. در نقطهٔ مقابل اصطلاح منحنی یادگیری با شیب تند یا steep learning curve وجود دارد که به معنای روند کند و مدت زمان طولانی برای یادگیری یک موضوع می‌باشد.(۶) RESTful:یک سبک معماری نرم‌افزار است که مجموعه‌ای از محدودیت‌ها را برای استفاده از سرویس‌های وب تعریف می‌کند.ترجمه بر اساس:What can PHP do?  - The Future of PHP - PHP Frameworks Explained in 5 Simple Questionsکوئرامگ مجله‌ای تخصصی برای توسعه‌دهندگان است که هر هفته با مطلب‌هایی در زمینه تکنولوژی، رشد فردی و آینده برنامه‌نویسی به‌روزرسانی می‌شود. برای اطلاع از آخرین مطلب‌های ما، می‌توانید توئیتر یا کانال تلگرام کوئرا را دنبال کنید.</description>
                <category>علی.</category>
                <author>علی.</author>
                <pubDate>Sun, 03 May 2020 22:09:01 +0430</pubDate>
            </item>
                    <item>
                <title>ماموریت غیرممکن: چطور از امنیت و حریم خصوصی خودمان در دنیای اینترنت حفاظت کنیم؟</title>
                <link>https://virgool.io/Quera-Mag/how-to-be-safe-on-the-internet-j6dsk5lyxnya</link>
                <description>امروزه در دنیایی زندگی می‌کنیم که امنیت اطلاعات و حریم خصوصی ما، به راحتی می‌تواند به خطر بیفتد! از شرکت‌های بزرگ و غول‌های تبلیغاتی در ایران و جهان تا هکرهای حرفه‌ای و باج‌گیرهای مجازی، گروه‌های بسیاری هستند که می‌توانند به اطلاعات ما دسترسی پیدا کنند.برای حفاظت از خودمان در چنین دنیایی چه کار می‌شود کرد؟ حقیقت این است که دست ما هم چندان خالی نیست! راهکارها و ابزارهای زیادی هستند که با استفاده از آن‌ها می‌توان از امنیت و حریم خصوصی‌مان در برابر دیگران دفاع کنیم.از برنامه‌های مدیریت رمز عبور استفاده کنید.برنامهٔ مدیریت رمز عبور به شما این امکان را می‌دهد تا برای هر حساب آنلاین خود یک رمز عبور یکتا بسازید. این کار به شما اطمینان می‌دهد که در صورت هک شدن یک سرویس مورد استفاده‌تان، رمز عبور به خطر افتاده اجازه دسترسی به دیگر حساب‌های شما را نخواهد داد.شما حداقل باید برای هرکدام از حساب‌های مهم مانند گوگل، اپل، ایمیل و حساب‌های بانکی خود یک رمز عبور یکتا داشته باشید.برنامه‌های پیشنهادی: 1Password - LastPass - Dashlaneگذاشتن یک رمز قوی حداقل ۶ حرفی، شامل اعداد، حروف و علامت‌ها اولین مانع برای دسترسی به موبایل و کامپیوتر شما است.یک رمز عبور قوی روی موبایل و کامپیوترتان بذارید.یک رمز عبور ۴ حرفی برای موبایل یا دستگاه‌های شما، دیگر امن به حساب نمی‌آید. در کم‌ترین حالت باید رمز عبور شما بیش از شش رقم داشته باشد و برای امنیت بیش‌تر، از رمز عبور‌ی که بیش از شش کاراکتر و متشکل از اعداد و حروف است استفاده کنید. در هنگام سفر خارجی هم باید سیستم شناسایی اثرانگشت و چهرهٔ دستگاه را خاموش کنید.باید سخت‌گیری زیادی روی قفل دستگاه خود داشته باشید. هیچ‌وقت بدون رمز عبور اجازه دسترسی به هیچ بخشی از دستگاه را ندهید و دستگاه را به مدت بیش از یک یا دو دقیقه بدون نظارت رها نکنید.احراز هویت دو مرحله‌ای را فعال کنید.احراز هویت دو مرحله‌ای یک لایهٔ دیگر از امنیت را بر روی رمز عبور اضافه می‌کند. این موضوع با دریافت اطلاعات اضافی در کنار رمز عبور حساب مورد نظر، تضمین می‌کند که کسی که به یک حساب وارد می‌شود همان صاحب حساب است.این اطلاعات اضافی معمولا یا چیزی است که شما می‌دانید (مثلا نام اولین معلم‌تان)، یا چیزی که دارید (مثلا دسترسی به ایمیل) یا چیزی که هستید (مثلا اثر انگشت شما).نباید از شماره تلفن خود برای روش دو مرحله‌ای استفاده کنید.احراز هویت دو محله‌ای باید دست‌کم بر روی حساب‌هایی که می‌توانند دسترسی شما را به سایر حساب‌هایتان مسدود کنند به کار گرفته شود. برای نمونه یک حساب گوگل، برنامه‌‌های کاربردی ایمیل، اپل آی‌دی و حساب‌های مالی. برای امنیت بیش‌تر، مطمئن شوید که احراز هویت دو مرحله‌ای بر روی هر سرویسی که از آن پشتیبانی می‌کند فعال شده باشد.یادداشت: به‌‌کارگیری یک راه‌حل همه‌کاره مثل 1Password برای مدیریت رمز عبور‌ها و به‌طور هم‌زمان برای احراز هویت دو عاملی باعث ایجاد نقطه‌‌ٔ تکی شکست می‌شود. این موضوع را هنگام انتخاب راهکار احراز هویت دو مرحله‌ای خود در نظر داشته باشید.برنامه‌های پیشنهادی:‌ 1Password - Authy - Google Authenticatorدستگاه‌های خود را رمزگذاری کنید.اگر تا به حال موبایل یا کامپیوتری از شما دزدیده شده است، ممکن است سارق تلاش کرده باشد که اطلاعات شما را خوانده یا پخش کند. اگر دستگاه شما رمزگذاری نشده باشد، هکرها به هر چیزی که در آن دستگاه ذخیره است شامل عکس‌ها، ایمیل‌ها، اسناد و مخاطبین دسترسی خواهند داشت.رمزگذاری را برای هر تلفن یا دستگاهی که استفاده می‌کنید فعال کنید. این کار خواندن اطلاعات شما را برای یک سارق، بدون داشتن رمز عبور شما تقریبا غیرممکن خواهد کرد.با استفاده از سرورهای DNS کمک می‌کند گشت و گذار امن‌تری در اینترنت داشته باشید.تنظیمات دی‌ان‌اس (DNS) خود را به ۱.۱.۱.۱ یا ۹.۹.۹.۹ تغییر دهید.دی‌ان‌اس (سرورهای نام دامنه) مانند یک دفتر تلفن برای اینترنت هستند. آن‌ها یک نام مثل google.com را به یک آدرس آی‌پی ترجمه می‌کنند. به صورت پیش‌فرض دی‌ن‌اس کُند و ناامن است. بسیاری از ارائه دهندگان سرویس اینترنت، داده‌‌هایی که از راه دی‌ان‌اس در جریان هستند را دنبال و ثبت کرده و در برخی موارد به شرکت‌های تبلیغاتی می‌فروشند.کلاودفلر (Cloudflare) یک ابزار دی‌ان‌اس با تمرکز بر حریم خصوصی و کارایی منتشر کرده که ترافیک اینترنت شما را از ارائه‌دهندگان سرویس اینترنت و افرادی که در شبکه‌های وای‌فای عمومی مشغول تجسس هستند محفوظ نگاه می‌دارد. ۱.۱.۱.۱ سریع‌تر از میانگین سرعت سرویس‌های دی‌ان‌اس معمول بوده و استفاده از اینترنت را سریع‌تر می‌سازد.یک جایگزین برای کلاودفلر، کواد۹ (Quad9) است که بر امنیت و حفظ حریم خصوصی در گشت و گذار اینترنتی روزانهٔ شما تاکید دارد. این سرویس به صورت غیرانتفاعی توسط اتحادیهٔ جهانی فضای مجازی، آی‌بی‌ام و پکت‌کلیرینگ‌هاوس راه اندازی شده است و با مسدود کردن دامنه‌های مخرب و همچنین عدم جمع‌آوری هرگونه اطلاعات قابل شناسایی در سیستم‌های خود از شما در فضای اینترنت حفاظت می‌کند.برنامه‌های پیشنهادی:‌ 1.1.1.1 - 9.9.9.9از وی‌پی‌ان (VPN) استفاده کنید.یک وی‌پی‌ان یا شبکهٔ خصوصی مجازی ابزاری مفید برای ایمن سازی هر اتصالی به اینترنت است. این راهکار تضمین می‌کند که اطلاعاتی که می‌فرستید یا دریافت می‌کنید رمزگذاری می‌شوند و از تجسس افراد در ترافیک داده‌های شما جلوگیری می‌کند.از خدمات ارائه دهندهٔ وی‌پی‌انی استفاده کنید که اطمینان دارید داده‌های شما را برداشت نکرده و دوباره نمی‌فروشد. بهترین وی‌پی‌ان‌ها معمولا مبلغی را به صورت ماهیانه دریافت می‌کنند. این موضوع چیز خوبی است چون به این معنا است که مدل تجاری آن‌ها متکی بر فروش اطلاعات شما به شرکت‌های تبلیغاتی نیست.برنامه‌های پیشنهادی:‌ IVPN - Encrypt.me - ExpressVPNاین عکس که در سال ۲۰۱۶ از مارک زاکربرگ (مدیرعامل فیس‌بوک) منتشر شد، نشان می‌داد که او از پوشش فیزیکی برای پوشاندن وب‌کم و میکروفون لپ‌تاپ خود استفاده می‌کند.حریم خصوصی فضای فیزیکی خود را بازبینی کنید.یک پوشش فیزیکی روی وب‌کم لپ‌تاپ یا کامپیوتر خود اضافه کنید. پوشش وب‌کم هنگام آغاز و پایان تماس‌های ویدیویی، این آرامش خاطر را به شما می‌دهد که فقط وقتی که می‌خواهید، از راه دوربین دستگاه قابل دیدن هستید.از یک مرورگر وب با تمرکز بر اولویت حریم خصوصی استفاده کنید.از مرورگر وبی استفاده کنید که از شما در برابر رهگیری، جمع‌آوری اطلاعات و نمایش آگهی‌های ناخواسته محفاظت کند.مرورگرهای جدید  برای کاهش سختی‌های جایگزینی با یک مرورگر دیگر، انتقال نشانک‌ها و تنظیمات دلخواه را ساده کرده‌اند.برنامه‌های پیشنهادی: Brave - Firefox - Safariاز یک موتور جست‌وجو با تمرکز بر حریم خصوصی استفاده کنید.از موتور جستجویی استفاده کنید که شما را از رهگیری، جمع‌آوری اطلاعات و نمایش آگهی‌های ناخواسته حفاظت کند. داک‌داک‌گو (DuckDuckGo) یک مرورگر با تمرکز بر حفظ حریم خصوصی است که سابقهٔ جست‌وجوهای شما را ذخیره نمی‌کند، بر دریافت مجوزهای شخصی و مکانی از سوی کاربر سخت‌گیر است و به صورت منظم مطالبی را برای آموزش مردم در مورد این‌که چگونه می‌توان در وب ایمن‌تر بود منتشر می‌کند.برنامه پیشنهادی: DuckDuckGoاز یک ارائه دهندهٔ ایمیل با تمرکز بر حریم خصوصی استفاده کنید.از یک ارائه دهندهٔ ایمیل استفاده کنید که ایمیل‌ شما را نخواند یا اطلاعات گفتگوهایتان را برای هدف‌گیری شما با تبلیغات مرتبط جمع‌آوری نکند.برنامه‌های پیشنهادی:‌ FastMail - ProtonMail - SimpleLoginدسترسی‌های حساس برنامه‌ها مانند دوربین و موقعیت مکانی را بازبینی کنید.تمام برنامه‌هایی که به عکس‌ها، دوربین، موقعیت مکانی و میکروفون شما دسترسی دارند را مرور کنید. مطمئن شوید برنامه‌هایی که این دسترسی‌های حساس را دارند، به اندازهٔ کافی قابل اعتماد هستند.متادیتاهای مکانی روی عکس‌ها، می‌توانند دقیقا نشان بدهند هر عکس کجا گرفته شده است.متادیتای متصل به عکس‌هایی که به اشتراک می‌گذارید را بررسی و پاک کنید.برچسب مکانی، اطلاعات جغرافیایی هر عکس یا ویدئو را به آن اضافه می‌کند. هر کسی که به این فایل‌های رسانهٔ برچسب‌گذاری‌شده دسترسی داشته باشد می‌تواند این اطلاعات را بخواند و بفهمد که آن عکس در کجا گرفته شده است. بیش‌تر سایت‌های اجتماعی رسانه‌محور، اطلاعاتِ اضافیِ عکس‌ها (EXIF data) را جدا و پاک می‌کنند اما اگر شما عکس‌‌هایتان را خودتان در فضایی مشخص نگهداری می‌کنید مراقب باشید؛ چون سیستم مکان‌یابی جغرافیایی می‌تواند مکان دقیق شما را آشکار کند.متوجه باشید که چگونه اَبَرداده‌های موقعیت جغرافیایی به فایل‌های شما متصل شده‌اند و مطمئن شوید که اطلاعات حساسی را با فایل‌‌های خود بارگذاری نمی‌کنید.تنظیمات حریم خصوصی شبکه‌های اجتماعی‌تان را بازبینی کنید.در طی سال‌ها، شرکت‌های رسانه‌های اجتماعی توان جمع‌آوری مقادیر سرسام‌آوری از اطلاعات را دارند. در مورد شما، علاقه‌مندی‌هایتان، این‌که با چه کسی گفت و گو می‌کنید، جایی که می‌روید، چیزهایی که می‌خرید و خیلی بیش از این‌ها.اگر هنوز حاضر به دست کشیدن کامل از رسانه‌های اجتماعی نیستید، باید زمانی را برای بازبینی تنظیمات امنیتی و حریم خصوصی‌تان در نظر بگیرید. تجسم مقدار اطلاعاتی که شرکت‌های رسانه‌های اجتماعی در مورد شما می‌دانند ممکن است برای فرونشاندن آن اشتهای وسواس‌گونه برای در جریان تمامی اخبار بودن کافی باشد.برنامه پیشنهادی: Jumboهنگام به‌اشتراک‌گذاری اطلاعات مهم از برنامه‌های پیام‌رسانی رمزگذاری‌شده استفاده کنید.وقتی که اطلاعات دارای حساسیت را در چت به اشتراک می‌گذارید باید از یک سرویس پیام‌رسانی امن و رمزگذاری‌شدهٔ پایان-به-پایان (end-to-end) استفاده کنید. رمزگذاری پایان-به-پایان تضمین می‌کند که تنها شما و گیرندهٔ پیام می‌توانید پیام‌ها را ببینید. پیام‌های شما برای هر شخص دیگری از جمله سازندگان برنامه و ارائه‌دهندگان سرویس اینترنت درهم ریخته و مبهم خواهد بود و تغییرشان برای قابل خوانده شدن تقریبا غیرممکن است.برنامه‌های پیشنهادی:‌ iMessage - WhatsApp - Signal - Telegramدر مورد حملات فیشینگ (Phishing) بیاموزید.فیشینگ تلاش برای به دست آوردن اطلاعات حیاتی (مانند رمز عبور یک حساب) به وسیلهٔ جا زدن خود به عنوان یک شخص یا شرکت معتبر و معمولا از طریق ایمیل است. مثلا یک هکر روش‌های مهندسی اجتماعی را به کار می‌گیرد تا شخصی را متقاعد کند که بر روی لینکی که به یک صفحهٔ ورود جعلی متصل است کلیک کند. این صفحهٔ ورود جعلی هر چیزی را که قربانی بنویسد (از جمله شماره‌حساب بانکی، نام‌های کاربری و رمز عبور‌ها) برای هکر می‌فرستد.در سال‌های اخیر حملات فیشینگ به طور فزاینده‌ای پیچیده‌تر شده‌اند و هکرها برای طراحی و ایجاد حملاتی فوق‌العاده خاص‌ و هدفمند، به صورت مداوم مشغول یادگیری استفاده از اطلاعاتی هستند که مردم در اینترنت به جا می‌گذارند.افراد باهوش هم از حملات فیشینگ در امان نیستند؛ پس باید در مورد فیشینگ و چگونگی تشخیص آن بیشتر بیاموزید.دستگاه‌های خود را به‌روز نگاه دارید.بسیاری از مخرب‌ترین هک‌ها در سال‌های اخیر تنها به دلیل آن بوده که افراد در به‌روزرسانی نرم‌افزار درست عمل نکرده‌اند. هرچند هشدارهای به‌روزرسانی که گوشی هوشمندتان، کامپیوتر و دیگر دستگاه‌های متصل به اینترنت نشان می‌دهند می‌توانند آزار دهنده باشند، اما اجرا کردن به موقع این به‌روزرسانی‌ها تنها و موثرترین کاری است که می‌توانید برای حفاظت ازخود در برابر این‌گونه حملات انجام دهید. به‌روزرسانی‌های نرم‌افزارها را به محض آماده و در دسترس بودنشان، بر روی هر دستگاهی که در اختیار دارید اجرا کنید و مرتبا وضعیت برنامه‌هایی که برای به‌روزرسانی هشدار نمی‌دهند را چک کنید.ترجمه بر اساس:Be safe on the internet.کوئرامگ مجله‌ای تخصصی برای توسعه‌دهندگان است که هر هفته با مطلب‌هایی در زمینه تکنولوژی، رشد فردی و آینده برنامه‌نویسی به‌روزرسانی می‌شود. برای اطلاع از آخرین مطلب‌های ما، می‌توانید توئیتر یا کانال تلگرام کوئرا را دنبال کنید.</description>
                <category>علی.</category>
                <author>علی.</author>
                <pubDate>Wed, 11 Mar 2020 20:15:10 +0330</pubDate>
            </item>
                    <item>
                <title>بدترین باگ‌های تاریخ کامپیوتر: از دست رفتن ۴۶۰ میلیون دلار در ۴۵ دقیقه</title>
                <link>https://virgool.io/Quera-Mag/worstbugs-knight-j0owwibf4doq</link>
                <description>بدترین خطاهای تاریخ کامپیوتر، مجموعه‌ای دنباله‌دار از داستان معروف‌ترین و تاثیرگذارترین خطاهای برنامه‌نویسی است. بیش‌تر برنامه‌نویسان و مهندسان نرم‌افزار به ندرت پیش می‌آید که با چیزی شبیه به این داستان‌ها روبه‌رو شوند، اما با خواندن آن‌ها می‌توانند دید خوبی در زمینهٔ توسعه و استقرار نرم‌افزار به دست آورند. این خطاهای کامپیوتری تاثیر قابل توجهی بر روی افرادی گذاشته‌اند که آن‌ها را تجربه کرده‌اند؛ ما هم می‌توانیم درس‌‌های ارزشمندی را که از این اشتباهات آموخته‌‌اند، در کارها و پروژه‌های خود به کار بگیریم. دیگر خطاهای کامپیوتری این مجموعه: موشک آریان ۵، مدارگرد اقلیمی مریخ (به‌زودی) و تراک ۲۵ (به‌زودی)گروه سرمایه‌گذاری نایت Knightدر یکم آگوست ۲۰۱۲ سرمایه‌گذاری نایت، به‌روزرسانی نرم‌افزاری تازه‌ای را بر روی سرورهای عملیاتی خود دیپلوی کرد. حوالی ساعت ۸:۰۱ صبح کارکنان شرکت، تعداد ۹۷ ایمیل هشدار دریافت نمودند که حاکی از آن بود که Power Peg (یک سیستم داخلی منسوخ شده که آخرین بار در سال ۲۰۰۳ از آن استفاده شده بود) به شکلی نادرست پیکربندی شده است.این نخستین علامت هشداردهنده بود.خسارتساعت ۹ صبح بورس اوراق بهادار نیویورک برای داد و ستد باز شد و نخستین سرمایه‌گذار جزئی آن روز، سرمایه‌گذاری نایت، دستورالعمل خرید و فروش سهام و دارایی‌های خود را اعلام کرد.تنها ۴۵ دقیقه بعد، سرورهای سرمایه‌گذاری نایت ۴ میلیون معامله را اجرا کردند، ۴۶۰ میلیون دلار هزینه کردند و شرکت را در آستانهٔ ورشکستگی قرار دادند. برخی از سهم‌‌های بورس اوراق بهادار نیویورک، به دلیل سوءاستفاده ٔ الگوریتم‌های معاملات شرکت‌های دیگر از این ایراد، جهشی بیش از ۳۰۰ درصد داشتند.در نهایت سرمایه‌گذاری نایت با توجه به نقض موارد مختلفی از آیین‌نامه‌های مدیریت ریسک مالی، ۱۲ میلیون دلار هم توسط کمیسیون بورس اوراق بهادار جریمه شد.چه چیزی اشتباه پیش رفت؟بورس سهام ۱۰۱بورس اوراق بهادار با جفت کردن خریدار و فروشنده سهام به یکدیگر کار می‌کند. فروشندگان کم‌ترین قیمت (ask price) را بیان می‌کنند؛ یعنی بهایی که با دریافت آن حاضر به فروش هستند و خریداران قیمت پیشنهادی (bid price) را اعلام می‌کنند؛ یعنی برای خرید آن سهام تا چه اندازه‌ای حاضر به پرداخت هستند. تفاوت بین این دو مقدار به عنوان نسبت قیمت پیشنهادی به کم‌ترین قیمت فروش (bid/ask) شناخته می‌شود که معمولا در حدود چند سنت شناور است.دانش مالی متعارف می‌گوید که یک نفر می‌بایست هنگامی سهام بخرد که قیمت پایین است و هنگامی بفروشد که قیمت بالاست.متاسفانه یک الگوریتم مستقر در یکی از سرورهای عملیاتی نایت طوری برنامه‌ریزی شده بود که با سرعت هرچه تمام‌تر، دقیقا برعکس آن را انجام دهد. برنامهٔ Power Peg با هدف خرید سهام با قیمت ارائه شده برای فروش و سپس فروش بلافاصلهٔ آن با هر قیمت پیشنهادی طراحی شده بود که نتیجهٔ آن از دست دادن مبلغی به اندازهٔ اختلاف بین کم‌ترین قیمت فروش و قیمت پیشنهادی بود. این تفاوت قیمت به ارزش پخش (Value of the spread) نیز معروف است.گران خریدن، ارزان فروختندر یک محیط آزمایشی، Power Peg قیمت سهام را بالا می‌برد تا سیستم تضمین کیفیت (QA) بتواند کارکرد درست سایر ویژگی‌های نرم‌افزار را بررسی کند.اما نتیجهٔ اجرای Power Peg در یک محیط عملیاتی این بود که کارمندان ارشد شرکت برای پوشاندن سیاه‌چالهٔ چند میلیون دلاری که به ناگهان در بودجه پدیدار شد، تعطیلات آخر هفتهٔ خود را دیوانه‌وار در جست‌وجوی سرمایه‌گذاران وال استریت باشند.دلیل شکستاین شکست دلایل زیادی داشت. یکی از مهم‌ترین آن‌ها، به‌کارگیری دوبارهٔ یک پرچم (Flag) در عمل‌کردی تازه بود؛ در حالی که قبل از آن در جای دیگری برای فعال سازی Power Peg مورد استفاده قرار گرفته بود. یعنی برنامه فکر می‌کرد در محیط آزمایشی قرار دارد و معاملات را بدون توجه به از دست دادن ارزش پخش و با بیش‌ترین سرعت ممکن انجام می‌داد.دوم این‌که تیم dev-ops در دیپلوی ویرایش به روزرسانی‌شدهٔ برنامه بر روی یکی از هشت سرور عملیاتی ناموفق بود. این سرور ویرایشی قدیمی از نرم‌افزار را در اختیار داشت که در آن  پرچمی (Flag) بود که مشخص می‌کرد Power Peg باید فعال باشد.در نهایت Power Peg که از سال ۲۰۰۳ منسوخ شده بود حدود هشت سال پس از آن هم هنوز در پایگاه کد باقی مانده بود. در سال ۲۰۰۵ تغییراتی در کد Power Peg ایجاد شده بود که کنترل‌‌های ایمنی را که می‌توانستند از چنین سناریویی جلوگیری کنند، سهوا غیرفعال کرده بود. با این حال در همان زمان، این به‌روزرسانی بدون هیچ‌گونه تلاشی برای تایید فعال بودن عمل‌کرد Power Peg، بر روی یک سیستم عملیاتی دیپلوی شد.کد مردهدر گزارش کمیسیون تبادل امنیت، بسیاری از عوامل دیگر نیز مهم عنوان شده‌اند. مخرب‌ترین آن‌ها نبود هیچ‌گونه بازنگری رسمی کد یا فرآیند تضمین کیفیت (Quality Assurance) و همچنین فرآیندهایی برای بررسی درستی دیپلوی نرم‌افزار است. به علاوه این‌که آستانه‌هایی از پیش تعریف شده وجود نداشته‌اند که داد و ستد خودکار را پس از رسیدن به میزان مشخصی از ضرر و زیان متوقف کنند.این مطلب قسمتی از مجموعه دنباله‌دار معروف‌ترین و تاثیرگذارترین خطاهای برنامه‌نویسی است که در کوئرامگ منتشر شده است. . هفتاد سال پیش، گریس هوپر (Grace Hopper) نخستین خطای کامپیوتری را کشف کرد؛ یک پروانه بین رله‌های کامپیوتر Harvard Mark II که با آن کار می‌کرد گیر افتاده بود. پیش از آن ایده باگ‌ها (Bugs) در زمینه‌های دیگر تعریف شده بود، اما با کشف آن پروانه، برای نخستین بار از اصطلاح اشکال‌زدایی (Debugging) در زمینهٔ کامپیوترها استفاده شد.ترجمه و تلخیص از:&quot;The Worst Computer Bugs in History: Losing $460m in 45 minutes&quot;, by Jamie Lynchکوئرامگ مجله‌ای تخصصی برای توسعه‌دهندگان است که هر هفته با مطلب‌هایی در زمینه تکنولوژی، رشد فردی و آینده برنامه‌نویسی به‌روزرسانی می‌شود. برای اطلاع از آخرین مطلب‌های ما، می‌توانید توئیتر یا کانال تلگرام کوئرا را دنبال کنید.</description>
                <category>علی.</category>
                <author>علی.</author>
                <pubDate>Sat, 22 Feb 2020 16:44:03 +0330</pubDate>
            </item>
            </channel>
</rss>