<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های ابوالفضل عزیزی</title>
        <link>https://virgool.io/feed/@abolpv</link>
        <description>سافتواریزم :))</description>
        <language>fa</language>
        <pubDate>2026-07-01 06:03:04</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/155601/avatar/7Q9IDt.jpeg?height=120&amp;width=120</url>
            <title>ابوالفضل عزیزی</title>
            <link>https://virgool.io/@abolpv</link>
        </image>

                    <item>
                <title>آنالیز کلمات کلیدی موثر وبسایت رقیب</title>
                <link>https://virgool.io/@abolpv/%D8%A2%D9%86%D8%A7%D9%84%DB%8C%D8%B2-%DA%A9%D9%84%D9%85%D8%A7%D8%AA-%DA%A9%D9%84%DB%8C%D8%AF%DB%8C-%D9%85%D9%88%D8%AB%D8%B1-%D9%88%D8%A8%D8%B3%D8%A7%DB%8C%D8%AA-%D8%B1%D9%82%DB%8C%D8%A8-flir9g8fde8u</link>
                <description>احساس نیازدر ابتدا بعنوان یک متخصص SEO یا مسئول تولید محتوای یک سایت این موضوع رو برانداز کنید ، متوجه میشید که شما عمیقاَ نیاز دارید تا بدونید که وبسایت (یا احتمالا وبسایت های!) همکار و هم رسته شما در فضای وب بیشترین ورودی های خودشون رو از چه کلمات کلیدی در گوگل دریافت میکنند و در هر کدوم از این کلمات در چه رتبه و جایگاهی در لیست نتایج جستجو شده قرار دارند؟که چی بشه؟شاید از خودتون بپرسید ، دلیل انجام اینکار چیه و اصلا چرا کلمات کلیدی مرتبط با وبسایت رقبا باید مورد بررسی قرار بگیره ، این کار علاوه بر اینکه باعث میشه شما ایده های کلی راجع به جنس و طول کلمات در حوضه کاری خودتون بدست بیارید ، در ثانی باعث میشه شما یک تصویر درست از قدرت و قدمت رقیب خودتون در فضای وب داشته باشید ، اینطوری فاصله شما تا وبسایت رقبتون مشخص میشه و با برنامه ریزی میتونید در سرچ کلمات به اون نزدیک بشید و یا شاید هم از اون وبسایت بالا بزنید!معرفی این سرویس فوق العادهوبسایت webconfs.com یک سری خدمات به شدت عالی و حرفه ای به کاربرانش ارایه میده که بوسیله اون میتونید تراکم کلمات کلیدی استفاده شده در وبسایت های مشابه ، میانگین تعداد سرچ این کلمات ، رتبه سایت مورد نظر شما در سرچ اون کلمات ، اهمیت و ارزش اون کلمات از نگاه گوگل ، نمودار فعالیت و رتبه وبسایت بر اساس کلمات و یک سری اطلاعات کلی از وبسایت رقیبتون رو به راحتی و بصورت کاملا رایگان بدست بیارید! https://www.webconfs.com/ شروع تجزیه و تحلیل به کمک WebConfsخب پس از ورود به وبسایت ، تعدادی گزینه و آیتم رو مشاهده میکنیم که ما با همه اونها کاری نداریم ، از طریق منوی SEO Tools میتونید زیر منو ها و گزینه های مربوط به اون رو ملاحظه کنید ، دقیقا این دو مورد مشخص شده:این دو گزینه همون گزینه های مورد نظر ما هستند ، در ادامه به بررسی و استفاده از این گزینه ها به روش کاربردی میپردازیم.طرح مسئلهخب فکر کنید ما یک وبسایت خرید و فروش قطعات سخت افزاری داریم ، حالا کافیه عبارت &quot;خرید کارت گرافیک&quot; رو سرچ کنیم ، وبسایت هایی که در صفحه اول گوگل و در رتبه های اول ظاهر میشن ، در واقع مهم ترین و جدی ترین رقبای ما هستند.به یاد داشته باشید ، همیشه برای دریافت نتایج درست در سرچ های موتور جستجو از Private Tab یا Incognito Tab در مرورگر ها استفاده کنید ، در این حالت مرورگر دیتایی از حضور شما ذخیره نمیکند و کوکی ها(Cookies) و حافظه موقت(Cache) غیرفعال میشود، بنابر این نتایج دریافتی به ازای سرچ و کاوش کلمات ، واقعی تر و صحیح تر است.همونطور که مشاهده میکنید ، در این کلمه کلیدی رقبای بسیار قدرتمندی همچون دیجیکالا ، مقدادآیتی و لیون کامپیوتر حضور دارند ، در حالت واقعی ، رقابت با این وبسایت های بزرگ به هیچ عنوان قرار نیست ساده باشد :/شکست از دشمن فرضی!خوب دوستان ، در اینجا ما وبسایت و فعالیت وبسایت خودمون رو انتخاب کردیم و کلمه کلیدی رو هم تعیین و رقیب فرضی خودمون (وبسایت meghdadit.com) رو هم تعیین کردیم ، حالا وقتشه به وبسایت WebConfs برگردیم و از دو گزینه موجود برای این نام دامنه استفاده کنیم...گزینه Free Alternative to Google Keyword Plannerخب این صفحه رو باز کنید ، آدرس دامنه مقدادآیتی رو وارد کنید ، کپچا رو حل کنید و روی گزینه Start کلیک کنید تا مراحل تجزیه و تحلیل توسط وب کانفس شروع بشه...پس از چند لحظه صبر چیزای جالبی از وبسایت انتخابی تون بدست میاد...در ادامه همین صفحه هم لیست کامل کلمات کلیدی مهم و موثر این وبسایت ، به همراه رتبه ش در گوگل ، نرخ ترافیک دریافتی از هر کلمه ، رنک در هر نتیجه ، نمودار ترند شدن هر کلمه و شاخص جستجو  بطور کامل و دقیق و جزء به جزء مشخصه...اگه به ردیف سی و یکم هم دقت کنید ، عین کلیدواژه ای که ما در ابتدا در گوگل جستجوش کردیم (خرید کارت گرافیک) رو میتونید ببینید ، این نشون میده که این وبسایت جزو وبسایت های قدرتمند در زمینه تولید محتوا و فروش قطعات سخت افزاری مرتبط با رایانه و تجهیزات الکترونیکی هستش...گزینه Keyword Density Checkerخوب همون طور که از اسم این قسمت هم پیداست ، قراره چگالی(تراکم) ترافیک و ورودی رو به تفکیک کلمات کلیدی به ما اعلام کنه که میتونه خیلی جالب باشه ، بریم برای دامنه مقداد آیتی این مورد رو تست کنیم:اونقدری تعداد کلمات کلیدی این وبسایت زیاد هستش که خوب یک سری از این کلمات ریز ، تار و ناخوانا شده! اما خب در ادامه همین صفحه باز لیست بلند بالایی وجود داره که به تفکیک هر کلمه و بصورت سطری و ستونی اومده و گفته که تراکم بکارگیری و تراکم ترافیک هر کلمه کلیدی دقیقا چقدره ؛ این مورد میتونه برای تجزیه و تحلیل وبسایت های مشابه شما خیلی مفید باشه.یک گایدلاین جالب :)این وبسایت یک صفحه جالب دیگه هم داره که خیلی خیلی کاربردیه و حالت آموزشی داره ، در واقع در این صفحه از سایت که تحت عنوان Fifteen Minute SEO مطرح شده ، اومده و تک به تک شاخصه های مهم سئو رو عنوان کرده و هر کدوم رو ریز به ریز توضیح داده ، بعدش مقدار نمره مثبت و منفی منتسب به هر کدوم رو مطرح کرده و برای بهبود کسب نمره هر بخش راهکار هم ارائه کرده! https://www.webconfs.com/15-minute-seo.php در این صفحه نزدیک به 80 پارامتر با تاثیر مستقیم در سئو آورده شده است.سرآخر...امیدوارم این مطلب در جهت رشد و پیشبرد اهدافتون در زمینه تولید محتوا و صعود وبسایتتون در نتایج گوگل و در نهایت موفقیتتون بتونه تاثیر بزاره ، هر چند کوچیک ، هر چند ناچیز! :)</description>
                <category>ابوالفضل عزیزی</category>
                <author>ابوالفضل عزیزی</author>
                <pubDate>Tue, 18 May 2021 21:07:47 +0430</pubDate>
            </item>
                    <item>
                <title>اتصال پوسته ایمن SSH (Secure Shell Protocol) چیست؟</title>
                <link>https://virgool.io/@abolpv/%D8%A7%D8%AA%D8%B5%D8%A7%D9%84-%D9%BE%D9%88%D8%B3%D8%AA%D9%87-%D8%A7%DB%8C%D9%85%D9%86-ssh-secure-shell-protocol-%DA%86%DB%8C%D8%B3%D8%AA-honzktargtll</link>
                <description>پوسته ایمن!پوسته امن (Secure Shell) یا همون اس‌اس‌اچ (SSH) خودمون ، یک پروتکل اینترنتی است که امکان تبادل اطلاعات با استفاده از یک کانال امن را بین دو دستگاه  متصل در شبکه ایجاد می‌کند. دو نسخه اصلی این پروتکل به نام‌های SSH1 یا  SSH-1 و SSH2 یا SSH-2 شناخته می‌شود. در ابتدا بر روی سیستم‌های مبتنی بر یونیکس و لینوکس برای دسترسی به حساب‌های پوسته استفاده شد، اس‌اس‌اچ جایگزنی برای تل‌نت و سایر پوسته‌های ارتباط از راه دور غیر امن ایجاد شده‌است.به عنوان یک تعریف بسیار ساده می‌توان SSH را این‌گونه بیان کرد که  SSH یک روش قدرتمند و پر استفاده و البته نرم‌افزاری است که برای دستیابی  به امنیت شبکه طراحی شده‌است؛ هربار که داده‌ای از طرف رایانه یه هر دستگاه متصل به نتورک به شبکه  فرستاده می‌شود، به صورت خودکار توسط SSH رمزنگاری می‌شود. هنگامی که داده  به مقصد خود می‌رسد به صورت خودکار رمزگشایی می‌شود. نتیجه‌ای که خواهد  داشت کدگذاری نامرئی خواهد بود. بدین صورت کاربران نهایی درگیر پروسه  کدگذاری و کدگشایی نخواهند شد و از ارتباط امن خود می‌توانند به خوبی  استفاده کنند. امنیت سیستم کدگذاری SSH با استفاده از الگوریتم‌های پیچیده و  مدرن تضمین می‌شود. تا آنجا که امروزه در سیستم‌های حیاتی و بسیار حساس از  این سیستم استفاده می‌شود. به صورت معمول محصولاتی که از SSH استفاده  می‌کنند از دو بخش کارخواه و کارساز (کلاینت/سرور) تشکیل می‌شوند. کارخواه  با استفاده از تنظیمات کارساز مربوط به آن وصل می‌شوند و کارساز وظیفه  تأیید هویت و قبول یا رد ارتباط را به عهده دارد.فرهنگستان فارسی معادل عبارت کلاینت (Client) را کارگیر یا کارخواه و معادل کلمه سرور (Server) را کارساز یا کارگذار اعلام کرده است :/تشابه نام Secure Shell با محیط‌هایی مانند Bourne shell یا C Shell  نشان دهنده این نیست که SSH نیز محیطی است که وظیفه تفسیر فرامین برای  سیستم‌عامل را بر عهده دارد.چرا SSH ؟با اینکه SSH تمامی مشکلات را حل نخواهد کرد، اما در مورد بسیاری از  موارد می‌تواند راه حل مناسبی باشد. برخی از این موارد عبارتند از:یک پروتکل کارخواه/کارساز امن برای کدگذاری و انتقال داده‌ها در شبکه.تعیین هویت کاربران به وسیله کلمه عبور، host , public key یا استفاده از Kerberos,PGP یا PAMقابلیت امن کردن برنامه‌های ناامن شبکه مانند Telnet ,FTP و در کل هر برنام‌های که بر اساس پروتکل TCP/IP بنا شده‌است.بدون هیچ تغییر در استفاده کاربر نهایی (End User) پیاده شده و قابلیت پیاده‌سازی بر روی بیشتر سیستم عامل‌ها را دارد.نقاط قوت SSH کدام اند؟مطمئناً در اختیار داشتن یک اتصال امن بین سرور و کلاینت قابلیت‌های  فراوانی را در اختیار شخص قرار می‌دهد که برخی از متداول‌ترین کاربردهای  SSH عبارتند از:تأیید کاربران از طریق متدهای مختلفایجاد تونل امن برای اتصالات TCP/IP و همچنین اتصالات غیر امنی مانند IMPAP ضمن سازگاری کامل با فایروالانتقال خودکار (forward) اتصالاتامکان تأیید خارجی کاربران با کمک Kerberos and SecurIDانتقال فایل امنرویه های بکار بستناس اس اچ به طور معمول برای ورود به یک دستگاه از راه دور و اجرای دستورها  استفاده می شود ، اما همچنین از تونل زنی ، ارسال پورت های TCP و اتصالات  X11 نیز پشتیبانی می کند. این می تواند پرونده ها را با استفاده از پروتکل  های انتقال فایل (SFTP) یا کپی ایمن (SCP) پروتکل ها انتقال دهد.پورت TCP استاندارد 22 برای تماس با سرورهای SSH اختصاص داده شده است.یک برنامه مشتری SSH معمولاً برای برقراری اتصالات به یک شبح SSH که  پذیرش اتصالها از راه دور است ، استفاده می شود. هر دو معمولاً در بیشتر  سیستم عاملهای مدرن از جمله macOS ، بیشتر توزیعهای لینوکس ، OpenBSD ،  FreeBSD ، NetBSD ، Solaris و OpenVMS وجود دارند. قابل ذکر است که نسخه  های ویندوز قبل از ویندوز 10 نسخه 1709 به طور پیش فرض شامل SSH نمی شوند.  اختصاصی ، نرم افزار رایگان و منبع باز (به عنوان مثال PuTTY ، و نسخه  OpenSSH که بخشی از Cygwin است) نسخه هایی از سطوح مختلف پیچیدگی و کامل  وجود دارد. مدیران پرونده برای سیستم هایی مانند UNIX (به عنوان مثال  Konqueror) می توانند از پروتکل FISH برای تهیه یک رابط کاربری گرافیکی با  صفحه drag_and_drop استفاده کنند. برنامه ویندوز منبع باز WinSCP قابلیت  مدیریت فایل مشابه (هماهنگ سازی ، کپی ، حذف از راه دور) را با استفاده از  PuTTY به عنوان یک پس زمینه فراهم می کند. هر دو WinSCP و PuTTY بسته بندی  شده اند تا بدون نیاز به نصب بر روی دستگاه مشتری مستقیماً از درایو USB  خاموش شوند . راه‌اندازی یک سرور SSH در ویندوز به طور معمول مستلزم فعال  کردن یک ویژگی در برنامه تنظیمات است. در ویندوز 10 نسخه 1709 یک درگاه  رسمی Win32 از OpenSSH موجود است.SSH در محاسبات ابری برای حل مشکلات اتصال  ، از اجتناب از مسائل امنیتی در معرض قرار دادن یک ماشین مجازی مبتنی  برابر به طور مستقیم در اینترنت مهم است. یک تونل SSH می تواند از طریق  فایروال به یک ماشین مجازی مسیری امن را از طریق اینترنت فراهم کند.بهره وری و کاربردلایه ایمن یک پروتکل  است که می تواند برای بسیاری از برنامه ها در بسیاری از سیستم عامل ها از  جمله اکثر انواع یونیکس (لینوکس ، BSD ها از جمله macOS اپل و Solaris) و  همچنین مایکروسافت ویندوز مورد استفاده قرار گیرد. برخی از برنامه های زیر  ممکن است به ویژگیهایی نیاز داشته باشند که فقط با سرویس دهنده ها یا  سرورهای خاص SSH در دسترس یا سازگار باشند. به عنوان مثال ، استفاده از  پروتکل SSH برای پیاده سازی VPN امکان پذیر است ، اما در حال حاضر فقط با  سرور OpenSSH و پیاده سازی مشتری(کلاینت).برای ورود به پوسته(shell) روی میزبان از راه دور (جایگزین کردن Telnet و rlogin)برای اجرای یک دستور واحد بر روی یک میزبان از راه دور (جایگزینی rsh)برای تنظیم ورود خودکار (بدون پسورد) به یک سرور از راه دور (برای مثال  با استفاده از OpenSSH )همراه با rsync برای تهیه نسخه پشتیبان ، کپی و  آینه کردن پرونده ها به طور کارآمد و ایمنبرای ارسال portبرای تونل زدن (نباید با یک VPN اشتباه گرفته شود ، که بسته ها را بین  شبکه های مختلف مسیریابی می کند ، یا دو دامنه پخش را به یکی وصل می کند)برای استفاده به عنوان یک VPN رمزگذاری شده تمام عیار. توجه داشته باشید که فقط سرور و مشتری OpenSSH از این ویژگی پشتیبانی می کندبرای ارسال X از یک میزبان از راه دور ( از طریق میزبان چند واسط ای امکان پذیر است)برای مرور وب از طریق اتصال پراکسی رمزگذاری شده با مشتریهای SSH که از پروتکل SOCKS پشتیبانی می کنندبرای نصب ایمن دایرکتوری روی یک سرور از راه دور به عنوان یک سیستم فایل بر روی یک کامپیوتر محلی با استفاده از SSHFSبرای کنترل خودکار از راه دور و مدیریت سرورها از طریق یک یا چند مکانیزم مورد بحث در بالابرای توسعه در دستگاه همراه یا تعبیه شدن روی آن که از SSH پشتیبانی می کندبرای ایمن سازی پروتکل های انتقال پرونده و فایلپروتکل های انتقال دادهپروتکل های امینت پوسته (Secure Shell) در چندین مکانیسم انتقال فایل استفاده می شود:کپی ایمن (SCP) ، که از پروتکل RCP روی SSH تکامل یافته است.آر-سینک (rsync) ، در نظر گرفته شده که از SCP کارآمد تر باشد. به طور کلی از طریق اتصال SSH کار می کند.پروتکل انتقال فایل SSH ، یک جایگزین مطمئن برای FTP (نباید با FTP بیش از SSH یا FTPS اشتباه گرفته شود)پرونده های منتقل شده از پروتکل پوسته (a.k.a. FISH) ، منتشر شده در سال 1998 ، که از دستورات پوسته یونیکس بیش از SSH تکامل یافت.پروتکل سریع و ایمن (FASP) ، با نام Aspera ، از SSH برای درگاه های کنترل و UDP برای انتقال داده استفاده می کند.اصطلاحات مهم و رایج SSHاس اس اچ - SSH: با حروف بزرگ به‌طور کلی به معنی پروتکل اینترنتی SSH است.اس اس اچ (با حروف کوچک) - ssh: با حروف کوچک به نرم‌افزار کلاینت سمت کاربر گفته می‌شود.اس اس اچ دی - SSHD: در واقع Daemon سرویس SSH در لینوکس است.اس اس اچ وان - SSH1: در واقع اولین ویرایش SSH است.اس اس اچ تو - SSH2: نسخه تجاری و غیر رایگان محصول شرکت Tectia است.اوپن اس اس اچ - Open SSH: نسخه متن‌باز Open-source یا رایگان SSHسخن پایانیمیتونید در صورت تمایل بصورت کامل تر و دقیق تر در ویکی پدیا در مورد SSH مطالعه کنید ، هم چنین در صورتی که به نرم افزار های رمزنگاری و امنیتی علاقه دارید این شاخه مقالات را دنبال کنید ، ممنون که این مطلب رو تا اینجا آخر کردید.</description>
                <category>ابوالفضل عزیزی</category>
                <author>ابوالفضل عزیزی</author>
                <pubDate>Tue, 18 May 2021 17:39:34 +0430</pubDate>
            </item>
                    <item>
                <title>سرانجام پلت فرم تبلیغات موبایلی عدد</title>
                <link>https://virgool.io/@abolpv/%D8%B3%D8%B1%D8%A7%D9%86%D8%AC%D8%A7%D9%85-%D9%BE%D9%84%D8%AA-%D9%81%D8%B1%D9%85-%D8%AA%D8%A8%D9%84%DB%8C%D8%BA%D8%A7%D8%AA-%D9%85%D9%88%D8%A8%D8%A7%DB%8C%D9%84%DB%8C-%D8%B9%D8%AF%D8%AF-azcek22axhe7</link>
                <description>روزی روزگاری در کافه بازار...عدد در سال 1390 در مجموعه کافه بازار (متعلق به شرکت آوای همراه هوشمند هزار دستان) شکل گرفت و در مدت زمان کوتاهی به  بزرگترین شبکه تبلیغات درون اپلیکیشنی ایران تبدیل شد. سپس از بهمن ماه  1395 و در پی انتقال بخشی از سهام آن به به طوررسمی با نام ”شرکت آوای همراه هوشمند پارس” به فعالیت خود ادامه داد، عدد در زمانی نه چندان دور ،  مورد اعتماد هزاران کسب و کار داخلی و خارجی بوده و  با به کارگیري مدرنترین و موثرترین راهکارهاي تبلیغاتی دنیا، در جهت تحقق  اهداف آنها گام برمی داشت. در خانواده عدد، پرمخاطبترین اپلیکیشنهاي ایرانی  حضور داشتند و به این وسیله عدد توانسته بود در زمان خود تبلیغات با کیفیت و مناسبی رو در اختیار کاربران خودش قرار بده.واقعیت کیفیت یا توهم کارآمدی؟در زمان همکاری پلت فرم تبلیغات کلیکی عدد با کافه بازار ، تعداد بسیار زیادی از توسعه دهندگان اندرویدی به سمت استفاده از این سیستم رفتند ، حال اینکه با کمی پرس و جو و تحقیق متوجه میشوید که بسیاری از توسعه دهندگان بر این باور بودند که به دلیل وجود یک سری از مشکلات ، درآمد خاصی از این سامانه نداشتند و یا درآمد آنها به شدت ناچیز ، نسبت به اپلیکیشن آنها بود ، در ادامه چند مورد از مشکلاتی که تقریبا تمامی توسعه دهندگانی که با عدد کار کردند بر آن اذعان دارند رو مطرح میکنم:شاخص پرداخت و eCPM پایین:عدد در زمان حاکمیت خود بر بازار تبلیغات کلیلی ، در واقع نسبت به سرویس های بین المللی در همان زمان ( مانند ادموب ، یونیتی اد ، گوگل ادورز و... ) با وجود اینکه قیمت دلار با شیب تند امروزی افزایش پیدا نکرده بود ، مبلغ خیلی خیلی پایین تری نسبت به این سرویس ها به توسعه دهندگان و ناشران خود پرداخت میکرد ، این باعث افت درآمد فاحش یک توسعه دهنده بود که به دلیل مشکلات و محدودیت های سرویسی مثل Admob به Adad مهاجرت کرده بود (مثل خودم!)پرداخت های نامنظم:درسته که عدد در ابتدا از دل یک شرکت استارتاپی بزرگ ایرانی در اون سالها یعنی کافه بازار بیرون اومده بود و حتی بعد ها در مالکیت یک شرکت مستقل بود و کاملا با مشتریان و توسعه دهنگان رفتار سازمانی و درست و حسابی داشت ، اما برای خود من خیلی پیش اومد که پرداخت هام با تاخیر انجام بشه ، در این رابطه سخنان توسعه دهندگان دیگه ای رو هم شنیده بودم که به این مورد اعتراض داشتند.کیفیت پایین تبلیغات:این مورد شاید به ضرر توسعه دهنده نباشه ، اما خب ، کیفیت کلیک ها و بازدید های این پلت فرم رفته رفته کاهش پیدا کرد و بین توسعه دهندگان اندروید فراد (Fraud) باب شده بود و کلیک های جعلی و ربات ها بودن که در این پلت فرم جولان میدادن ، این مشکل رفته رفته سبب کاهش اعتماد کسب و کار ها و مشتریان عدد شد و درنتیجه...عدم تامین تبلیغات متناسب با Fill Rate:در این اواخر فعالیت تبلیغات عدد ، معمولا جایگاه های تبلیغاتی یا خالی میموند ، یا با تبلیغات تکراری برای کاربر مواجه میشدیم که انقدر تکرار میشد که موجب خستگی کاربر و در نهایت ترک اون صفحه میشد ، این مشکل خیلی ریشه دار بود و دلایل متعددی از توقف فعالیت مارکتینگی عدد بگیر تا توقف همکاری با کافه بازار و تاسیس پلت فرم تبلیغات موبایلی جدید و جایگزین با عدد ، یعنی تپسل!پایان پرونده فعالیت عدداواخر سال 1398 و نزدیک به عید بود که وارد وبسایت عدد شدم و با این صحنه مواجه شدم:بنام خدا - شرکت آوای هوشمند همراه پارس (ADAD) در پایان سال ۹۸ با توجه به شیوع  بیماری کرونا اقدام به توقف فعالیت نمود و در حال حاضر در حال تصفیه مبالغ  باقیمانده بدهی به نمایش دهندگان (Publisher) خود است، لذا این شرکت به  کلیه نمایش دهندگان تبلیغاتی خود این تعهد را لازم و جاری می‌داند. از این  رو شرکت آوای همراه هوشمند پارس به اطلاع این عزیزان می‌رساند که کلیه  تعهدات تا پایان خرداد ماه سال جاری با ایشان به صورت تمام و کمال تصفیه  خواهد شد. از این که ما را در پیشبرد کسب‌وکار تاکنون همراهی نموده‌اید  تشکر می‌نماییم و از خداوند متعال پیشرفت روز افزون عزیزان را در توسعه و  رشد کسب‌وکارهای خود، خواستار هستیم - و من الله توفیق!شرکت عدد بعد ها اعلام کرد که کمبود سرمایه ، شرایط بد اقتصادی و معیشتی ، شیوع بیماری کرونا و در نهایت ، کاهش تقاضا مهم ترین دلایل پایان فعالیت عدد بودند که دست به دست هم دادند و سبب اتخاذ تصمیم به جهت پایان پرونده عدد شد.انحلال آوای هوشمند همراه پارسبا نمایش این عبارت در سایت کاملا بر همه آشکار شد که عدد ، قصد ادامه فعالیت ندارد، طبق گفته های مدیرعامل عدد ، این شرکت در زمان پایان فعالیت حدود 900 ناشر داشت که تصفیه حساب با آنها بطور کامل انجام نشده بود ، مجموع مبلغ بدهی عدد به این ناشران چیزی در حدود 400 میلیون تومان در ابتدای سال 1399 بود ، همچنین گفته شده بود که با تمامی ناشرانی که اطلاعات پرداخت خود را به درستی تکمیل کرده بودند تصفیه حساب نهایتا تا خرداد 99 صورت میپذیرد ، این در حالی است که هم اکنون نیز ناشرینی از عدد پیدا میشوند که تصفیه حساب با آنها انجام نشده و کماکان از عدد طلب کار هستند! همانطور که پیشتر گفته شد ، مالکیت و انحصار سامانه عدد در اختیار شخصیت حقوقی آوای هوشمند همراه پارس بود:با پایان فعالیت عدد ، تنها محصول این شرکت ، آگهی انحلال این شرکت همین اواخر در 25 فروردین ماه 1400 در روزنامه رسمی منتشر شد که مهر تاییدی بر پایان فعالیت های شرکت عدد است.آگهی انحلال شرکت آوای همراه هوشمند پارس سهامی خاص به شماره ثبت 500917 و شناسه ملی 14006297838 به استناد صورتجلسه مجمع عمومی فوق العاده مورخ 23/12/1399 تصمیمات ذیل اتخاذ شد : شرکت مذکور در تاریخ فوق منحل اعلام گردید و آقای فرشاد سید حسینی نوجوکامبری، به شماره ملی 0068965087 به سمت مدیر تصفیه انتخاب گردید. - محل تصفیه رکت به نشانی: استان تهران، شهر تهران، محله آرژانتین - ساعی، خیابان شهید خالد اسلامبولی، خیابان بیست و یکم، پلاک 6 طبقه چهارم، واحد 9 کدپستی 1513914133 می باشد. خداحافظ عدد = سلام تپسل!پس از پایان حیات عدد و قطع همکاری آن با مجموعه کافه بازار ، شرکت آوای همراه هوشمند هزار دستان ، مالک کافه بازار ، دیوار ، بلد ( با شرکت آوای همراه هوشمند پارس ، مالک عدد اشتباه نگیرید! ) با شرکت پگاه داده کاوان شریف مالک تپسل ، مدیااد ، متریکس و تگرو قرارداد بست و وارد همکاری شد، توضیحات کامل در مورد این پلت فرم های تبلیغاتی جدید رو در مقاله بعدی من بخونید.</description>
                <category>ابوالفضل عزیزی</category>
                <author>ابوالفضل عزیزی</author>
                <pubDate>Mon, 17 May 2021 14:15:05 +0430</pubDate>
            </item>
                    <item>
                <title>پروتکل ساکس فایو (SOCKS5) ، چرا؟ چطور؟ چگونه؟</title>
                <link>https://virgool.io/@abolpv/%D9%BE%D8%B1%D9%88%D8%AA%DA%A9%D9%84-%D8%B3%D8%A7%DA%A9%D8%B3-%D9%81%D8%A7%DB%8C%D9%88-socks5-%DA%86%D8%B1%D8%A7-%DA%86%D8%B7%D9%88%D8%B1-%DA%86%DA%AF%D9%88%D9%86%D9%87-ist7cwrhhtip</link>
                <description>سرآغازی بر پروتکلپروتکل های انتقال دیتا این روزها یک رکن جدایی ناپذیر به جهت پایش و تبادل اطلاعات در فضای وب به حساب می آیند ، انواع پروکسی ها و پروتکل ها در اینترنت وجود دارد ، اما هیچ یک  از آنها نام سرگرم کننده ای مانند SOCKS را ندارند که مخفف &quot;SOCKets&quot; است، میخواهیم متداول ترین پراکسی یعنی SOCKS5 و دلیل دفعات استفاده زیاد آن را تجزیه کنیم، در واقع میتونیم در این مطلب دلیل محبوبت این پروتکل رو بهتر درک کنیم.پروکسی نمندی؟ SOCKS یا SOCKS5؟پروکسی های SOCKS معمولاً با نصب  آنها به عنوان پسوند مرورگر یا پیکربندی سرویس گیرنده تورنت برای استفاده  از سرور پراکسی ارائه دهنده VPN استفاده می شوند.وی پی ان (VPN) خلاصه شده عبارت Virtual Private Network به معنی شبکه مجازی خصوصی میباشد که توضیحات تکمیلی در این رابطه در ادامه آمده است.پروکسی SOCKS با هدایت ترافیک شما از طریق سرور پروکرسی کار می کند،  که سپس اطلاعات را به مقصد مورد نظر منتقل می کند. پروتکل SOCKS با ایجاد  یک اتصال TCP با سرور پروکسی به این مهم دست می یابد. سپس ، رایانه و یا دستگاه شما می  تواند داده ها را به سرور پروکسی ارسال کند ، سپس داده ها را به مقصد منتقل  می کند.همانطور که ملاحظه میکنید در واقع این پروتکل بعنوان یک واسط حمل داده (Transform Data) عمل میکند، لذا میتواند گزینه خوبی برای راه اندازی یک پراکسی ایمن با قابلیت دور زدن دیوار آتش باشد.یک نمونه آشنا تر...به عنوان مثال ، بگذارید بیان کنم شما می خواهید از وب سایتی که در کشور  دیگری میزبانی شده است بازدید کنید (بدین معنی که موقعیت هاست و یا سرور این وبسایت در خارج از کشور قرار دارد) و وب سایت هر کسی را که از خارج از کشور  متصل است مسدود می کند. برای دور زدن این بلوک ، می توانید از پروکسی SOCKS  واقع در کشور میزبان استفاده کنید.وقتی از طریق پروکسی خود به وب  سایت متصل می شوید ، وب سایت به جای آدرس خود ، آدرس IP سرور پروکسی را  مشاهده می کند. از آنجا که سرور در کشور میزبان است ، وب سایت داده های خود  را به سرور پروکسی ارسال می کند و سپس داده ها را برای شما ارسال می کند.تفاوت با سرور پروکسی معمولییک دقیقه صبر  کنید! کاری که ما اکنون انجام داده ایم شرح عملکرد یک سرور پروکسی &quot;عادی&quot;  است. احتمالاً آنها را در اینترنت دیده اید. وب سایت هایی که سرورهای  پروکسی رایگان برای جلوگیری از بلوک های جغرافیایی یا پنهان کردن هویت شما  ارائه می دهند. این پروکسی ها &quot;پروکسی HTTP&quot; نامیده می شوند زیرا از پروتکل  HTTP استفاده می کنند.بنابراین ، تفاوت بین پروکسی HTTP و پروکسی SOCKS چیست؟ساکس فایو ، قدرتمند تر از آنچه تاکنون گفته شد...برای اولین  بار ، یک سرور پروکسی HTTP فقط با پروتکل HTTP کار می کند. SOCKS اما چنین  وفاداری ندارد. ساکس می تواند با پروتکل های بسیاری کار کند ، که اتفاقاً  شامل HTTP نیز می شود، در اصطلاح علوم کامپیوتر ، ما پروکسی SOCKS را &quot;سطح پایین&quot; و پروکسی  HTTP را &quot;سطح بالا&quot; می نامیم. این &quot;سطح&quot; به میزان تخصصی بودن نرم افزار  اشاره دارد. هرچه سطح بالاتر باشد ، تخصص نرم افزار بیشتر است.به  عنوان مثال ، بیایید زبانهای دنیا را بگیریم. اگر بخواهیم به &quot;سطوح&quot; تشکیل  دهنده زبان فرانسوی نگاه کنیم ، می توانیم آن را اینگونه دسته بندی کنیم:زبانهای سیاره زمین -&gt; زبانهای اروپایی -&gt; زبان فرانسویدر این حالت ، &quot;دامنه سطح بالا&quot; فرانسوی است. این یک گروه تخصصی برای هر  زبانی در سیاره زمین است. شخصی که به زبان فرانسه تخصص دارد فقط می تواند  به زبان فرانسه صحبت کند. به همین ترتیب ، پروکسی های HTTP فقط می توانند  با پروتکل HTTP تعامل داشته باشند.از طرف دیگر ، &quot;سطح پایین&quot; کاربرد گسترده تری دارد. پروتکل SOCKS مانند کسی است که تمام زبان های اروپایی را می فهمد. هیچ تخصصی ندارد و می تواند پروتکل های بیشتری از جمله HTTP را مدیریت  کند. این شبیه کسی است که هر زبانی را در اروپا می داند ، از جمله فرانسه.  در نتیجه ، SOCKS بهترین کار برای مدیریت پروتکل های دیگر مانند POP برای  ایمیل است.وضعیت پروکسی و فایروالاز آنجا که SOCKS از  TCP برای اتصال به سرور استفاده می کند ، نیازی نیست مسیرهای مشابه ترافیک  HTTP را طی کند. به همین ترتیب ، اگر فایروالی وجود داشته باشد که پورت های  HTTP را کنترل کند ، SOCKS حتی اگر از HTTP استفاده می کند می تواند دور  آن را بچرخاند. این برای مرور محتوای محدود شده بدون اینکه دیوار آتش وب  سایت ها را مسدود کند خوب است.میتوان نتیجه گرفت که پروتکل SOCKS5 حتی برای دور زدن دیوار آتش (Firewall) نیز کاملا گزینه مناسبی میباشد و در اکثر مواقع موفق عمل میکند.کنترل بهتر با HTXطبیعت خاص  پروکسی HTTP همه بد نیست. پراکسی HTTP می تواند داده های HTTP ورودی را  بهتر از پراکسی SOCKS پردازش کند. این به این دلیل است که پروکسی HTTP در  یک پروتکل تخصص دارد ، بنابراین با ابزارهای بیشتری برای پردازش HTTP نسبت  به پروکسی SOCKS مجهز است.به عنوان مثال ، اگر می خواهید اینترنت  را برای صفحات خاص خراشیده کنید ، یک پروکسی SOCKS ایده آل نیست. این ابزارهای ویژه ای برای مدیریت صفحات در پایین صفحه ندارد ، به این معنی که در آخر  با صفحات وب بی ربطی روبرو خواهید شد.پروکسی HTTP ، ابزارهایی برای تراشیدن وب دارد. می توانید به او بگویید صفحات وب با ماهیت خاص را  جستجو کند (مانند صفحات اسباب بازی برای خرید نهایی کریسمس) و فقط آنچه را  با شرایط مطابقت دارد ارائه می دهد.ماهیت و ذات SOCKS5اگر در مورد سرورهای SOCKS مرور مختصری انجام  دهید ، می بینید که اصطلاح &quot;SOCKS5&quot; ظاهر می شود. 5 در انتها به سادگی  شماره نسخه برای پروتکل SOCKS است ، دقیقاً مانند نحوه ویندوز 7 ، 8 و 10.در زمان نوشتن این مطلب، SOCKS5 آخرین نسخه از پروتکل SOCKS است. با  پشتیبانی از UDP و همچنین TCP در SOCKS4 بهبود می یابد و روش های احراز  هویت بیشتری را ارائه می دهد. همچنین سریعتر از SOCKS4 است. ممکن است روزی  SOCKS5 با فناوری هایی مانند Shadowsocks که توسط Mullvad VPN استفاده می  شود جایگزین شود.پروکسی SSH SOCKSیکی از بزرگترین نقایص پروکسی SOCKS عدم رمزگذاری است.  اگر کسی از پروتکلی استفاده کند که از رمزگذاری استفاده نمی کند ، یک  متجاوز می تواند هنگام ترک کامپیوتر از سرور ، به داده ها نگاه کند. به  همین دلیل ، هرگز نمی خواهید از نقاط اتصال Wi-Fi عمومی برای انجام مشاغل  خصوصی استفاده کنید.خوشبختانه ، کاربران می توانند امور را به دست  خود بگیرند و از رمزگذاری SSH برای مخفی کردن اطلاعات خود استفاده کنند.  با ایجاد یک تونل SSH بین رایانه و پروکسی سرور ، کاربر می تواند جزئیات  خود را از چشم کنجکاو پنهان کند.در مورد SSH یا Secure Shell Protocol و چیستی و کاربرد اون در این مقاله بطور مفید و مختصر توضیح داده شده است.نحوه بکارگیری...ما در این مقاله به آموزش نحوه ساخت و بکارگیری پراکسی SOCKS5 نمیپردازیم و صرفا در مورد این پروتکل بحث کردین :/استفاده از پروکسی برای امنیت پیشرفتهپراکسی های HTTP متداول  ترین پراکسی سرورها هستند اما SOCKS5 مزایای خود را دارد. آنها می توانند  پروتکل های بیشتری را کنترل کنند و از دیوارهای آتش محافظت کنند ، و آنها  را به ابزاری ارزشمند برای شخصی تبدیل می کند که بدون کار زیاد حریم خصوصی را می خواهد.یک کاربرد عملی فناوری پروکسی که کاملاً رایگان است و  نیازی به نصب ندارد ، موتور جستجوی پروکسی است. یک موتور جستجوی پراکسی کلیه درخواستهای جستجو را از طریق پراکسی اجرا می کند که می تواند اطلاعات  خصوصی شما را از دست مجرمان و مأموران جستجو خارج کند.پروتکل کی بودی!؟با بررسی های به عمل اومده فکر میکنم متوجه شده باشید دلیل این همه محبوبیت و گستردگی استفاده این پروتکل چیه؟ طوری که سرویس های بزرگی همچون تلگرام و جت برینس از این پروتکل برای پیکربندی پراکسی داخلی و کمک به کاربرانشون برای دور زدن محدودیت ها استفاده میکنن!</description>
                <category>ابوالفضل عزیزی</category>
                <author>ابوالفضل عزیزی</author>
                <pubDate>Mon, 17 May 2021 01:25:03 +0430</pubDate>
            </item>
                    <item>
                <title>ساخت اولین اپ iOS توسط شما!</title>
                <link>https://virgool.io/@abolpv/%D8%B3%D8%A7%D8%AE%D8%AA-%D8%A7%D9%88%D9%84%DB%8C%D9%86-%D8%A7%D9%BE-ios-%D8%AA%D9%88%D8%B3%D8%B7-%D8%B4%D9%85%D8%A7-f2ihenoen2bk</link>
                <description>قراره چیکار کنیم؟پس از معرفی زبان برنامه نویسی Swift در سال 2014 توسط شرکت اپل ، روز به روز شاهد ارائه بروزرسانی ها و افزونه های خفن تر و جذاب تر برای این زبان هستیم ، در مورد زبان برنامه نویسی Swift و سایر اطلاعات تکمیلی مربوط به اون مقاله جداگانه ای منتشر خواهم کرد، در اینجا ، ما قصد داریم یک مینی اپ تمرینی ساده رو برای آیفون بسازیم و اجراش کنیم...بیشتر در مورد سویفت...سویفت خیلی حرف واسه گفتن داره و از زبان های مورد علاقه من هم هست ، اما در این مقاله تنها به بخشی از گفتاورد معرفی اون میپردازیم:سویفت یک زبان برنامه‌نویسی چند شیوه‌ای و از نوع کامپایلریه که برای توسعهٔ iOS، macOS، watchOS و tvOS توسط شرکت اپل ساخته‌شده‌است، بدین منظور شما باهاش براحتی میتونی برای آیفون ، آیپد ، آیپاد ، اپل واچ ، آیمک ، مک بوک و مک پرو برنامه نویسی انجام بدی! سویفت برای کار با فریمورک‌های Cocoa و Cocoa Touch اپل و تعامل با حجم عظیمی از کدهای Objective-C نوشته شده برای محصولات  اپل طراحی شده‌است. سویفت می‌خواهد جلوی خطاهای برنامه‌نویسی را بیشتر  بگیرد و امنیت بیشتری نسبت به Objective-C داشته باشد و در عین حال نگارش  مختصرتر و کوتاه‌تری داشته باشد. این زبان توسط کامپایلر LLVM که درون  برنامهٔ Xcode قرار دارد (و برای لینوکس به صورت برنامهٔ جدا در دسترس است)  ساخته می‌شود و سپس از ران تایم از زبان Objective-C بهره می‌برد که اجازه  می‌دهد کدهای سویفت کنار کدهای C، C++ و Objective-C در کنار هم در یک  برنامه اجرا شود.سویفت از مفاهیم پایه‌ای پشتیبانی می‌کند که زبان Objective-C را  انعطاف‌پذیر (مخصوصا در dynamic dispath و late binding) و قابل گسترش  نموده است. این امکانات به عنوان تعادل کارایی و امنیت معروف هستند و سویفت  برای حل آن طراحی شده‌است. برای امنیت، سویفت یک سیستم معرفی کرده که به  رفع خطاهای رایج برنامه‌نویسی مانند اشاره‌گرهای خالی، کمک می‌کند، همچنین  نگارش‌های ساده‌تر برای سهولت در خواندن کد نیز معرفی شده‌است. برای مشکلات  کارایی، اپل تلاش قابل توجهی برای بهینه‌سازی انجام داده که سربار  فراخوانی متدها را از بین می‌برد و فرایند را ساده‌تر می‌کند. اساساً سویفت  مفهوم گسترش قراردادی (protocol extensibility) را دربرمی‌گیرد که به  تایپ‌ها، ساختارها و کلاس‌ها می‌توان افزود. اپل این قابلیت را به عنوان یک  تغییر جدی در شیوهٔ برنامه‌نویسی می‌داند و به عنوان «برنامه‌نویسی  قرارداد محور» از آن یاد می‌کند.سویفت در کنفرانس جهانی توسعه‌دهندگان اپل (WWDC) در سال ۲۰۱۴ معرفی  شد. در سال ۲۰۱۴ با یک بروزرسانی به نسخه ۱٫۲ ارتقاء پیدا کرد و با یک  بروزرسانی بزرگ، در WWDC سال ۲۰۱۵ به نسخه ۲ بروز شد. در نسخهٔ ۲٫۲ متن باز  شد و تحت لیسانس آپاچی ۲٫۰ در ۳ دسامبر ۲۰۱۵ برای پلتفرم‌های اپل و لینوکس  عرضه شد. IBM هم سایت شبیه‌ساز سویفت خود را معرفی نمود که در آن  توسعه‌دهندگان می‌توانند در یک سمت کد سویفت بنویسند و در سمت دیگر خروجی  آن را مشاهده کنند.خلاصه که سویفت خیلی باحال و خفنه در موردش میتونید در ویکی پدیا مفصل تر بخونید...شروع ساخت اولین برنامهبگذریم... شاید از کاربرانی باشید که تجربه برنامه نویسی را پیش از این داشته اید ، شاید هم نداشته اید! مهم نیست! در اینجا میخواهیم اولین برنامه کامل iOSی خودمون رو بسازیم!در ابتدا یک اپلیکیشن ساده با هم خواهیم ساخت که با کلیک بر روی دکمه عبارت دوست داشتنی Hello World رو به کاربر نشون میده ، اما این پایان ماجرا نخواهد بود و در ادامه با کار کردن و توسعه اپلیکیشن قابلیت های جالب تری بهش اضافه خواهیم کرد.چرا این کار رو میکنیم؟ساخت برنامه های ساده و فانکشنال کردن اونها به افراد مبتدی و تازه کار خیلی کمک میکنه تا با فضای پروژه های واقعی بیشتر آشنا بشن.مفاهیم اولیه و پایه ای سویفت براتون تکرار و در ذهنتون تثبیت میشه ، همچنین ممکنه در طول مسیر آموزش در قسمت هایی بدفهمی و کج فهمی بوجود اومده باشه که با ساخت پروژه های کوچک و تمرینی این مشکلات حل میشه.کارکردن با قسمت های مختلف ابزار توسعه اپل (Xcode) براتون راحت تر میشه و دستتون در استفاده از قابلیت های این برنامه راه میفته و سرعتتون به شدت بیشتر میشه.درک ساز و کار و رویه های متفاوت سویفت با سایر زبان های برنامه نویسی بطور ملموس تر براتون رقم میخوره و بهتون کمک میکنه راحت تر و زودتر با این سینتکس آشنا بشید.نحوه بیلد (Build) و کامپایل (Compile) گرفتن صحیح از برنامه ها در iOS رو بطور کامل و عمیق می آموزید.و از همه مهم تر، برای شادابی پوست و تناسب اندامتون خیلی مفیدهداره دیر میشه!خب بیاید شروع کنیم دوستان ، برنامه Xcode تون رو باز کنید (نسخه 12به بالا باشه اگه نیست از طریق Mac AppStore آپدیتش کنید) ، در اولین باز کردن اکس کد ، یک صفحه خوش آمد گویی به شما نمایش داده میشه.با استفاده از گزینه  Create a new Xcode project یک پروژه جدید میسازیم ، بعد از انتخاب این گزینه ، اکس کد یک سری تمپلیت (Templates) های آماده برای انواع و اقسام اپ های رایج در هر پلت فرم ارائه میده.همونطور که میبینید با استفاده از اکس کد شما میتوانید برای پلت فرم های iOS ، macOS ، WatchOS ، tvOS و حتی اپ های Cross-Platform و IAB Appliance تولید کنید.(IAB = In-App Billing) ، در هر حال در این قسمت گزینه App رو انتخاب کنید ، این مورد یک پروژه خام فاقد تمپلیت های پیش ساخته براتون ایجاد میکنه و برای تولید تقریبا تمام اپ های آی او اسی مناسبه ، بر روی Next کلیک کنید.خب در این قسمت یک سری اطلاعات راجع به پروژه ای که در حال ساخت اون هستید ازتون میپرسه که من یک یکشونو! براتون توضیح میدم:Product Name - نام محصول / اپ :در واقع این مورد ، همون نام برنامه یا محصول شما هستش.Team - تیم(گروه) :این برای زمانیه که میخواید بصورت گروهی یا میان سازمانی بر روی یک پروژه کار کنید ، خب خیلی توضیح این بخش مفصله ، اما خب مسلّماً ما در اولین اپی که میسازیم بصورت تیمی کار نخواهیم کرد! پس بر روی None تنظیمش کنید و ازش رد شید.Organization Identifier - باندِل آیدِنتیفایِر(شناسه بسته):این در واقع یه چیزی تو مایه های همون پکیج نیم توی اندرویده ، در موردش کامل و مفصل اینجا بخونید ، در حد کار راه بینداز هم بخوام خدمتتون بگم شناسه تمایز اپلیکیشن تون هست که بصورت رشته معمولا سه تیکه ای با دو نقطه از هم جدا میشه و بصورت Reverse Domain-Name هست ، برای مثال دامنه بنده abolpv.com هست ، اولین پروژم باندل آیدیش به این شکل خواهد شد: com.abolpv.firstappInterface - رابط کاربری :از قابلیت های جدید و کرک ریزون اکس کد اینه که شما اجازه دارید برای رابطه کاربری تون بین استوری برد و سویفت یو آی یکی رو انتخاب کنید ، در این پروژه ما از Storyboard استفاده خواهیم کرد، توصیه میکنم تعاریف و تفاوت های دقیق میان Storyboard و Swift UI رو حتما مطالعه کنید.Life Cycle - چرخه حیات :خب اپل اومده بطور پیشفرض UIKit رو برای چرخه حیات اپ قرار داده ، اگه هنوز نمیدونید چرخه حیات در اپ های iOS چه تعریفی داره و معنیش چیه ، خواهشا اون رو با چرخه حیات اکتیویتی در اندروید اشتباه نگیرید و به اینجا مراجعه کنید.Language - زبان توسعه :خب همونطور که مستحضر هستید اکس کد از دو زبان Swift  و Objective-C (زین پس Obj-c عنوان میشود :/ ) بطور همزمان پشتیبانی میکند ، لذا لازم است که زبان توسعه پروژه در حال ساخت مشخص گردد ( که اگه خدا بخواد و یادتون مونده باشه قرار شد این اپ رو با Swift پیش ببریم! :/ )Use Core Data - استفاده از ساختار هسته داده :تیک این گزینه رو بردارید ، ما برای این پروژه ساده نیازی به کُر دیتا نداریم ، اگه نمیدونید Core Data چیه ، اینجا رو یه نگاه بندازید.Include Tests - در بر داشتن نسخ تستی :برای این پروژه نیازی به اعمال فایل های تست و آزمون برنامه نیست ، لذا تیک این گزینه رو هم بردارید!خب روی Next کلیک کنید در اینجا یک مسیر برای ذخیره سازی پروژه ازتون میخواد که انتخاب میکنید.خب اینجا یک گزینه خیلی مهم داریم تحت عنوان Source Control که در این پروژه نیازی بهش نداریم و تیکش رو باید بردارید ، اما در حالت کلی ، در صورتی که برنامه نویس هستید و یا میخواید که برنامه نویس بشید ، حتما و حتما این مقاله رو راجه به گیت و سورس کنترل بخونید.بعد از انتخاب مسیر ذخیره سازی و برداشتن تیک سورس کنترل بر روی Create کلیک کنید و چند لحظه صبر کنید...آغاز کار بر روی اولین اپ iOSخب اگه همه مراحل رو درست پیش رفته باشید و بچه خوبی هم بوده باشید ، اکس کد بطور خودکار پروژه جدید رو در مسیر انتخابی میسازه و یه همچین پنجره ای رو بهتون نمایش میده:آشنایی بیشتر با Xcodeبهتره قبل از اینکه بیایم درگیر طراحی و کدنویسی و سایر بخش های فنی کار بشیم کمی بیشتر با محیط اکس کد آشنا بشیم تا در ادامه کار بتونیم راحت تر و بدون دغدغه تر با اکس کد کار کنیم ، اکس کد در حالت Standard View-Navigator دارای سه بخش عمودی کلی (pane) هستش ، در قسمت سمت چپ یک نویگیتور شامل تمامی فایل ها و دایرکتوری های پروژه وجود داره که با انتخاب هر کدوم از اونها در بخش وسطی اطلاعات و تنظیمات و دسترسی ها و دادگان اون فایل برای ما به معرض نمایش در میاد ، در بخش سمت چپ هم یک سری آپشن ها و تنظیمات اختصاصی (معمولا برای تنظیم و تعیین دیفالت ها و صفت ها) برای هر فایل انتخاب شده وجود داره.برای مثال وقتی شما در میان فایل های پروژه بر روی ViewController.swift دابل کلیک میکنید ، سورس کد مربوط به این فایل در پنجره وسطی و تنظیمات اون در سمت راست در اختیار شما قرار میگیره:یا برای مثال اگه بر روی Main.storyboard دابل کلیک کنید ، اکس کد تنظیمات مربوط به رابط کاربری و گرافیکی رو بهتون نشون میده ، انصافا باید اعتراف کنم طراحی رابط گرافیکی اپلیکیشن های iOS علی رغم محدودیت هایی که داره  خیلی جذاب تر از اندرویده (نظر شخصی :/ )سه تا نکته بنا به احتیاط لازم!بعضی موقع ها ناحیه سمت چپی مخفی میشه و توسط اکس کد نمایش داده نمیشه ، در این حالت شما میتونید از دکمه تعبیه شده برای این منظور استفاده کنید تا به حالت قبلش برگرده و همه چیز اوکی شه ، حتی میتونید زمان هایی که این پنجره رو نیاز ندارید مخفی ش کنید.شاید ضروری باشه که بدونید ما در این آموزش از MacOS Big sur 11.0.1 استفاده کردیم و نسخه اکس کدمون هم 12 بوده ، با این حال طبق تجربه شخصی بنده ، موقعیت های دکمه ها و گزینه ها تا حدودی میتونه متفاوت باشه (حداقل در MacOS Catalina و High Sierra که به این شکل بود! )بعضی از دوستان هسند که سندروم پس زمینه روشن دارن! خب اکس کد برای این دوستان هم یه فکرایی کرده میتونید از مسیر زیر Dark Mode رو فعال و یا تنظیمات مربوط به تم برنامه رو نیز تغییر بدید:Xcode -&gt; Preferences -&gt; Themesچک کردن آب و روغن!بدک نیست که پیش از دست به کد شدن ، یک مرتبطه از پروژه خام خودمون اجرا (Run) بگیریم ، برای این منظور میتونید از دکمه های کنترلی بالا استفاده کنید.یکی از برگ برنده های بی چون و چرای Xcode و بطور کلی کدنویسی Swift وجود شبیه ساز (Simulator) های قدرتمند و کاملا منعطف با مصرف منابع پایین هستش ، خوبی بزرگ این شبیه ساز ها این هستش که همه دیتا های مربوط به نصب و راه اندازی شون بصورت باندل داخل خود پکیج اکس کد هست و بهمراه همون براحتی نصب و اجرا میشه و همانند اندروید استودیو شما رو درگیر مراحل پیچیده نصب و پیکربندی SDK و JDK و NDK و SImage و SCore و.... و موارد مشابه این نمیکنه!خب تبریک میگم ، این صفحه خالی و سفید خروجی پروژه شما تا اینجای کاره ، حالا بریم که با آشنایی نسبت به چند تعریف مهم ، ظاهر برنامه مون رو کمی از این سفیدی در بیاریم...بررسی UIKit , Scene و Storyboardاین سه مورد از مهم ترین بخش های تبدیل و طراحی رابط کاربری هستش ، این موارد هر کدوم توضیحات و تفاسیر به شدت دقیق و طولانی دارند ، اما بطور کلی Scene ها ، نما ها(View هایی) هستند که داخل هر Storyboard قرار میگیرند و مابقی اجزا و عناصر گرافیکی-شمایی ، مثل دکمه ها ، تصاویر ، متون و... داخل این Scene ها قرار میگیرند و در نهایت به دید کاربر میرسند ، نکته قابل اهمیت در این بخش ، رعایت سلسله مراتب مربوط به قرار گیری و ترتیب این اجزا و عناصر هست بطوری که تمامی این عناصر در سر جای خود و در لایه درست قرار بگیرند تا در ویو های مختلف (ابعاد مختلف دستگاه های مختلف) نمای درستی از اپ به کاربر ارایه کنند یا به قول وب دیزاینر ها ، واکنشگرا (Responsive) باشند.منوی پیکربندی رابط کاربری بر اساس دستگاهآغاز طراحی رابط کاربریبیاید شروع کنیم! ابتدا میخوایم یک دکمه Hello World به مرکز صفحه برنامه مون اضافه کنیم ، در بالا سمت راست بر روی علامت مثبت + کلیک کنید تا آبجکت های قابل استفاده بسته به نوع رابط کاربری تون رو بهتون نمایش بده ، سپس به وسیله درگ اند دراپ اون رو به وسط صفحه منتقل کنید.وقتی که یک آبجکت گرافیکی رو به استوری برد منتقل میکنید خطوط راهنما برای گرید و حاشیه بطور خودکار نمایش داده میشن و پیدا کردن وسط و منتها الیه رو بصورت طولی (Horizental) و عرضی (Vertical) براتون خیلی راحت میکنن ، طراحی رابط کاربری iOS خیلی آرامش بخشه (اگه قبلا طراحی UI برای اندروید و وب و ویندوز رو تجربه کرده باشید باشید با پوست و خونتون درک میکنید منظورم رو!) المنت ها و عناصر دیگه ای رو بررسی کنید ، برای اینکار میتونید اونها رو هم به صفحه اصلی اضافه کنید ، با دابل کلیک کردن روشون ، متن و تنظیماتشون رو تغییر بدید و به روشی که بالا گفته شد ازشون خروجی بگیرید تا با خروجی خام هر کدوم آشنایی کامل پیدا کنید...متن Button رو به Hello World تغییر بدید و عرض اون رو افزایش دهید ، برای این منظور هم میتونید از نوار حاشیه متن استفاده کنید و هم اگه موفق به اینکار نشیدید از کلید های ترکیبی Command + = استفاده کنید.خب تا اینجای کار تونستیم عرض این دکمه بهمراه نوشته اون رو تغییر بدیم و به عرض مورد نظر خودمون برسونیمش ، حالا میتونیم از اپلیکیشنمون اجرا بگیریم (!!!) بله درسته ، تعجب نکنید! این یکی از ویژگی ها و زیبایی های برنامه نویسی برای iOS هست که طراحی رابط کاربری هیچ ربطی به کدنویسی برنامه داره و در حدی تفکیک و از هم جدا شده اند که شما میتونید بدون حتی نوشتن یک خط کد و فقط با طراحی رابط کاربری خام از برنامه خودتون خروجی بگیرید و اون رو روی شبیه ساز اجرا کنید.این هم از خروجی گرافیکی فایل استوری بردمون که بهش عنصر گرافیکی هم اضافه کردیم ، بریم که عملگر های این دکمه رو به اکسکد معرفی کنیم...آغاز کدنویسی دکمه Hello Worldباید توجه کنید که ما در این مقاله قصد آموزش زبان Swift رو نداریم و بنابر این لازمه یک آشنایی کلی از این زبان داشته باشید ، در غیر اینصورت ، توصیه میکنم این مطلب مفید رو یه نگاه بندازید.در هر پروژه سویفتی که ایجاد میکنید ، یک فایل مهم تحت عنوان Viewcontroller.swift خواهید داشت ، این به این دلیل است که ما در مرحله ساخت و ایجاد پروژه تمپلیت App رو انتخاب کردیم و این فایل ، از ویژگی های بنیادین یک پروژه در قالب تمپلیت App هستش ، این فایل رو انتخاب کنید تا شروع کنیم...در صورتی که قبلا آبجکتیو-سی کار کردید ، احتمالا به دنبال فایل های معروف هدر (Header) و ایمپلمنتیشن (Implementation) میگردید تا کدنویسی رو شروع کنید ، اما در پروژه های سویفتی این دو فایل که با فرمت های .h و .m یافت میشدن ، همگی ادغام (Combine) و در یک فایل با فرمت .swift جا گرفتن!فایل ویوکنترلر رو باز کنید و کد های زیر رو در کلاس ViewController درج کنید:@IBAction func showMessage(sender: UIButton) {
let alertController = UIAlertController(title: &amp;quotWelcome to My First App&amp;quot, message: &amp;quotHello World&amp;quot, preferredStyle: UIAlertController.Style.alert)
alertController.addAction(UIAlertAction(title: &amp;quotOK&amp;quot, style: UIAlertAction.Style.default, handler: nil))
present(alertController, animated: true, completion: nil)
}انصافا یه تایمی بزارید و کد ها رو خودتون تایپ کنید ، با کپی پیست هیچ چیز عایدتون نخواهد شد :/در نهایت کد های داخل فایل ViewController.swift شما باید به همچین شکلی در بیاد:import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
@IBAction func showMessage(sender: UIButton) {
let alertController = UIAlertController(title: &amp;quotWelcome to My First App&amp;quot, message: &amp;quotHello World&amp;quot, preferredStyle: UIAlertController.Style.alert)
alertController.addAction(UIAlertAction(title: &amp;quotOK&amp;quot, style: UIAlertAction.Style.default, handler: nil))
present(alertController, animated: true, completion: nil)
}
}همونطور که میدونید مشابه خیلی از زبان های دیگه ، در سویفت هم از // برای کامنت کردن یک خط و از /* و */ برای کامنت کردن چندین خط کد استفاده میشه.در صورتی که از برنامه خروجی بگیرید باز هم نتیجه مشابه خروجی قبل خواهد بود ، دلیل این امر هم واضحه ، این مهم به این خاطره که هنوز یک مرحله مهم از کار باقی مونده...درگیر کردن موتور و گیربکس!خوب شما با موفقیت موتور(کدنویسی) و گیربکس(رابط کاربری) خودرو تون رو ساختید ، اما هنوز اونها رو درگیر نکردید! برای درگیر کردن این دو باید چیکار کنید؟؟ بله ، درسته... ، باید پاتون رو از روی کلاج بردارید ، اما خبر خوبی براتون دارم ، بر خلاف Android Studio ، در اینجا Xcode کاملا دنده اتوماته! و موقع درگیر کردن این دو اصلا تقه و تکون نداره!در واقع در برنامه نویسی iOS اتصال رابط کاربری با کد های شما راحت تر از چیزی که فکر میکنید و یا در توسعه اپ های دیگه دیدید انجام میشه! برای اینکار ، کافیه فایل استوری بوردتون رو (Main.storyboard) باز کنید ، بعدش کلید Key از روی کیبورد رو فشار بدید و پس از انتخاب دکمه هلو ورلدی که از قبل ساختیم ، اون رو به علامت ویو کنترلر (سمت چپ) درگ کنید، خب با این کار یک لیست براتون باز میشه و شما باید showMessageWithSender رو انتخاب کنید:ابتدا به علامت سمت چپی کانکت کنید و سپس در منو آیتم مذکور را انتخاب کنیداپلیکیشن خود را تست کنیدحالا وقتشه که اپلیکیشن خودمون رو تست کنیم ، بدین منظور از قسمت Run میتونید براحتی این کار رو انجام بدید ، اگر همه مراحل رو درست پیش برده باشیم ، در هنگام لانچ اپلیکیشن ، هنگامی که بر روی Hellow World کلیک میکنید ، باید عبارت Welcome to My First App برای کاربر نمایش داده بشه:هر چند که مبتندی باشید ، اما خب میتونید بدون انجام کد نویسی هم رابط کاربری رو در iOS تغییر بدید و اپلیکیشن خودتون رو شکیل ترش کنید ، تصویر زیر یک راهنمایی فوق العاده در رابطه با نحوه چگونگیه تغییر ویژگی ها و صفات عناصر در Xcode هستش:یکم باهاش بازی کنید (با رابط کاربری! :/) بعدش از اپ خروجی بپیرید و نتیجه رو ببینید تا قلق این بخش دستتون بیاد...نوبت شماست!حالا وقتشه بعنوان یک تمرین ، بیاید با ابزاری های گرافیکی Xcode بیشتر درگیر بشید ، سعی کنید که نمای رابط کاربری اپ خودتون رو به شکل زیر دربیارید:لازمه که تعدادی دکمه بسازید و هر دکمه کال تو اکشن داشته باشه و به ازای کلیک روی هر کدوم متون متفاوتی نمایش داده بشه ، همچنین از ریزه کاری های طراحی رابط کاربری و المنت های شماتیک هم نباید غافل بشیدیک تمرین سخت تر اینه که شما تعدادی متن آماده تعیین کنید که به ازای کلیک بر روی هر دکمه یکی از متون بطور رندوم انتخاب بشه و سپس به کاربر نمایش داده بشه ( لزومی نداره از پایگاه داده استفاده بشه از یک آرایه استفاده کنید و برای فراخوانی بطور رندوم هم متد های بسیار زیادی وجود داره )سخن پایانیاین مطلب تازه آغاز کارتون برای برنامه نویسیه سویفت خواهد بود ، هر وقت که به آخرش رسیدید انشالله یک سخن پایانی هم شما با ما داشته باشید ، ممنون از توجه تون که تا آخر این مقاله رو مطالعه کردید :)</description>
                <category>ابوالفضل عزیزی</category>
                <author>ابوالفضل عزیزی</author>
                <pubDate>Sun, 16 May 2021 22:22:20 +0430</pubDate>
            </item>
                    <item>
                <title>وظایف یک کارشناس امنیت (NISE)</title>
                <link>https://virgool.io/@abolpv/%D9%88%D8%B8%D8%A7%DB%8C%D9%81-%DB%8C%DA%A9-%DA%A9%D8%A7%D8%B1%D8%B4%D9%86%D8%A7%D8%B3-%D8%A7%D9%85%D9%86%DB%8C%D8%AA-jojthcg1oyfk</link>
                <description>بگو کیستی!خیلی جاها ممکنه اسم کارشناس و یا متخصص امنیت به گوشتون خورده باشه ، حتی اگه در رسته های مربوط به نرم افزار ، شبکه ، مخابرات ، کنترل پروژه و... فعالیت مرتبط دارید ، شاید در لیست موقعیت های شغلی سازمان ها و شرکت های مختلف ، موقعیت شغلی Network and Information Security Expert به چشمتون خورده باشه ، اما سوال اینجاست که کارشناس (متخصص) امنیتی کیه و دقیقا چیکار میکنه؟برای آشنایی بیشتر با کارشناس امنیت شبکه و اطلاعات (Network and Information Security Expert) و وظایف، مهارت های لازم ، این مقاله رو تا انتها مطالعه بفرمایید.مواد مورد نیازکار‌شناس امنیت شبکه و اطلاعات کسی است که با ایجاد و نگهداری سیستم مدیریت  امنیت اطلاعات، نقش مهمی در ارتقا و نظارت بر امنیت شبکه و اطلاعات سازمان  دارد (خیلی خیلی مهم هااا!) این نیروی متخصص شیوه ها، فنون و ابزارهای امنیتی مورد نیاز جهت  حفاظت از داده های بنیادین یک شرکت یا سازمان را در مقابل دسترسی های  غیرمجاز و حملات سایبری بوجود می آورد، در ادامه به معرفی و بررسی تعدادی از مهارت های یک متخصص امنیت بهمراه توضیحات کلی و تیتروار میپردازیم.دانش عالی در حوضه سیستم ها، رویه ها و ابزارهای امنیتی فناوری اطلاعاتخوب این مورد کاملا مشخص و مبرهنه ، در واقع ، آشنایی با هر مبحث مرتبط به علوم رایانه ، شبکه و نرم افزار از جمله مواردی هست که برای یک متخصص امنیت از نون شب هم واجب تره!مهارت خوب در حل مساله و توانایی تفسیر و ارزیابی درست اطلاعاتمتخصص امنیت معمولا یک مفسر خوب هم هست! اون باید بتونه تمامی مسائل و موضوعات و مشکلات رو ابتدا سازمان دهی و بعد از اون توسط مدل سازی مسئله اونها رو دسته بندی و طبقه بندی کنه و در نهایت بصورت نظام مند اون مشکل رو حل کنه، پس هم باید مشکل رو خوب بشناسه و هم بتونه راحل های خوبی برای حل اون ارایه کنه.درک مباحث محرمانه (رویه های تامین امنیت و عدم افشا)نیاز به توضیح نداره ، خوب یک متخصص امنیت وجود داره تا امنیت دادگان تامین بشه دیگه! در این میان یک سری موضوعات و مفاهیم هست که لازمه بطور کامل توسط متخصص حوضه امنیت درک بشه ، این خیلی خوبه چرا که باعث میشه که یک متخصص حوضه امنیت از یک کارپرداز نرم افزاری متمایز بشه!اطلاع از استانداردها و قوانین امنیت اطلاعات و تسلط بر مدیریت آنها(ISMS)این مورد (ISMS) شامل مجموعه ای از خط مشی‌ها به منظور فراهم کردن مدلی برای ایجاد،  توسعه و نگهداری امنیت منابع اطلاعاتی از جمله دارایی‌های نرم‌افزاری و  سخت‌افزاری است. این خط مشی‌ها به منزله راه‌های امنی هستند که از طریق  آنها منابع اطلاعاتی می‌توانند مورد استفاده قرار گیرند.استانداردهای مختلفی در زمینه فناوری اطلاعات و ارتباطات وجود دارد که منجر  به امنیت اطلاعات می‌شوند، مانند: PRINCE2, OPM3, CMMI, P-CMM, PMMM,  ISO27001, PCI DSS, COSO, SOA, ITIL و COBIT. اما بعضی از این استانداردها  به دلایل مختلف چندان مورد استقبال سازمان‌ها قرار نگرفته است، برای کسب اطلاعات بیشتر در مورد استاندارد های امنیت اطلاعاتی ISMS این مطلب جالب رو مطالعه کنید.تسلط بر مفاهیم ارزیابی امنیتی و تست نفوذ (CEH)آزمون نفوذ یک روش سیستماتیک برای شناسایی  آسیب پذیری های امنیتی از طریق ارزیابی سیستم یا شبکه با تکنیک های مختلف  می باشد. به عبارت دیگر یک روش اخلاقی نفوذ به شبکه یا وب سایت، به منظور  شناسایی و برطرف سازی مشکلات است. تست نفوذ یا ارزیابی امنیتی روشی است که توسط آن قادر  خواهیم بود تا آسیب‌پذیری‌های موجود در نرم‌افزارها، شبکه، وب‌سایت و  بانک‌های اطلاعاتی خود را شناسایی کرده و پیش از آنکه نفوذگران واقعی به  سیستم وارد شوند، امنیت سیستم خود را افزایش دهیم. این  روش با استفاده از ارزیابی جنبه‌های مختلف امنیتی کمک می‌کند تا با کاهش  دادن ریسک‌های امنیتی موجود، احتمال نفوذ غیرمجاز به شبکه را کاهش دهیم.مسلط به سرویس های امنیتی شامل FIREWALL و IDPخب اینجا دوتا مورد مهم از وظایف متخصص امنیت وجود داره که هر کدوم رو به تفکیک توضیح میدم.Firewall (دیوار آتش)فایروال یا دیواره آتش ( Firewall ) به نرم‌افزار یا  سخت‌افزارهایی گفته می‌شود که از دسترسی به کامپیوترها جلوگیری کرده و  ترافیک رد و بدل شده در شبکه را کنترل می‌کند. فایروال در حقیقت یک ابزار  امنیتی است که می‌تواند یک برنامه‌ی نرم‌افزاری یا یک دستگاه اختصاصی شبکه  باشد. هدف اصلی فایرول جداسازی یک داده‌ی امن از ناحیه‌ی ناامن و کنترل  ارتباطات بین این دو است. فایروال می‌تواند کارهای دیگری نیز انجام دهد اما  عمدتاً مسئول کنترل ارتباطات ورودی و خروجی از یک دستگاه به شبکه است.فایروال‌ها از دسترسی غیر مجاز به شبکه‌ی خصوصی جلوگیری کرده و یک چارچوب امنیتی جامع برای شبکه‌ی شما هستند. فایروال ها.... فایروال ها.... فایروال هاااااا... خلاصه که فایروال ها خیلی چیزای مهم و خفنین در موردشون اینجا بیشتر بخونین.IDPs (آی دی پی)آی دی پی ها از جمله مواردی هستند که خیلی بحث مفصلی دارند و خود نیازمند یک مقاله جدا هستن ، این مطلب جالب رو میتونید پیرامون مبحث IDP مطالعه کنید، بعد ها توضیحات کامل تر و جامع تری در مورد IDP ها ، چیستی و وظایف اونها ارایه خواهم داد.نون شب = Cisco ASA !همونطور که گفتم برای یک متخصص امنیت هیچی مهم تر از کار با فایروال ها نیست ، ASA (Adaptive Security Appliance) یکی از مهمترین فایروال هاییه که یک متخصص شبکه باید بتونه باهاشون کار کنه، شرکت Cisco که در زمینه تولید تجهیزات و نرم افزار های مرتبط با حوضه شبکه و امنیت فعالیت داره، راهکار های خفنی در زمینه ترنسفورم شبکه ای چه از نوع دیتا و چه از نوع ویس ارایه داده ، Cisco ASA یکی از محصولات این شرکت هست که ابزاری مفید در زمینه تامین امنیت محسوب میشه.دیگه چی!؟شرکت های ایرانی علاوه بر مهارت های بالا دنبال یه فرد صبور ، مدیر و مدبر ، باهوش و تیزبین ، حلال مسائل! ، خوش تیپ و خوش هیکل! ، خوش بیان و دانا! ، و... خلاصه تمامی آپشن هایی که در یک جلسه خواستگاری لازم دارید رو در مصاحبه شغلی ازتون میخوان! خوشحال میشم اگه این مطلب براتون مفید بود و یا تجربه ای در زمینه شبکه و امنیت داشتید در بخش نظرات مطرحش کنید.</description>
                <category>ابوالفضل عزیزی</category>
                <author>ابوالفضل عزیزی</author>
                <pubDate>Sun, 16 May 2021 12:52:20 +0430</pubDate>
            </item>
                    <item>
                <title>راحل قطعی مشکل Blocked by Play Protect</title>
                <link>https://virgool.io/@abolpv/%D8%B1%D8%A7%D8%AD%D9%84-%D9%82%D8%B7%D8%B9%DB%8C-%D9%85%D8%B4%DA%A9%D9%84-blocked-by-play-protect-cwmeoaxxoldu</link>
                <description>مقدمه ای بر این مشکل :))طبق اطلاعاتی که بنده بدست آوردم گوگل ساز و کار امنیتی رو برای اپلیکیشن های اندروید (‌و نه تنها برای اپلیکیشن های تازه منتشر شده بلکه برای تمام اپلیکیشن ها! ) پیاده سازی کرده که طی اون تمام برنامه ها پیش از نصب مورد بازبینی امنیتی قرار میگیرند و در صورت عدم شناسایی اپلیکیشن و یا عدم احراز توسعه دهنده آن توسط گوگل یک اخطار به کاربر نمایش میده و در اون قید میکنه &quot; محافظ گوگل پلی نتوانست توسعه دهنده این اپلیکیشن را شناسایی کند برنامه هایی که توسط توسعه دهندگان ناشناخته منتشر میشوند ، میتوانند نا امن باشند&quot; خب با کمی تأمل متوجه میشیم که نگرانی گوگل همچین بی راه هم نیست :))در ادامه به بررسی کامل و جامع این مشکل و مراحل رفع قطعی این ارور میپردازیمپاک کردن صورت مسئلهخب یکی از راحل های خیلی موثر :)) که همیشه ارایه میشه پاک کردن صورت مسئله هست! بدین منظور لازمه کاربر وارد Google Play بشه از اونجا گزینه Play Protect Setting و گزینه improve harmful app detection رو خاموش کنه ، اینطوری دیگه علاوه بر اپ شما برای هیچ اپ دیگه ای اسکن امنیتی انجام نشده و کاربر دیگه اون پیام رو نمیبینه!خب این که خیلی عالیه! بد قضیه اونجاست که تستر ها اون گزینه رو خاموش نمیکنن :)) خیلی هم اصرار کردم ولی خب مثل اینکه علاقه آنچنانی ندارند اپلیکیشن های اسکن نشده رو توی استور ها انتشار بدن!پس باید دنبال یک روش عملی و اصولی برای رفع این مشکل بود ، در ادامه با من همراه باشیدانواع و اقسام ارور های امنیتیچقدر خوب هست که قبل از ارسال اپلیکیشن به مارکت ها نسبت به رفع این مشکل اقدام کنیم اما در صورتی که بعد از ارسال به مارکت ها به فکر رفع این مشکل هستید سعی کنید برای اپلیکیشن های بعدی خودتون ابتدا این مشکل رو رفع و سپس برای بازبینی اپلیکیشن خود را ارسال کنید ، ارور Blocked By Play Protect انواع مختلفی دارد ، ارور متداولی که اغلب توسعه دهندگان با آن مواجه هستند در ادامه آمده است:خطای امنیتی Blocked By Play Protectدر اغلب موارد متن بالا به کاربر نمایش داده میشود که دلیل آن نیز به تازگی منتشر شده اپلیکیشن و یا تعداد کم نصب های فعال است ، لازم به ذکر است هنگامی که تعداد نصب های فعال و کاربران یک اپلیکیشن افزایش میابد گوگل بطور خودکار اپلیکیشن را مورد بررسی قرار داده و این خطا رفع میشود ،در شرایط خاص دیگر نیز ممکن است هر یک از متون زیر نمایش داده شود:This app can add unauthorized charges to your mobile bill by registering for recurring chargesThis app tries to use your device to commit advertising fraudThis app can spy on you by monitoring your location or your activity on this deviceThis app can install potentially harmful apps without your permissionThis app can harm non-Android devicesThis app is fake. It can steal your personal data, such as banking info and passwordsThis app tries to bypass Android&#x27;s security protectionsThis app can disable your device or threaten to reveal personal information unless you pay moneyThis app can spam other people with unauthorized messagesThis app tries to spy on your personal data, such as SMS messages, photos, audio recordings, or call historyThis app is fake. It tries to take over your device or steal your dataThis app can collect data that could be used to track youThis app looks like another app and can trick you into exposing personal data, misusing your device, or installing other appsThis app may display ads with unexpected behaviors (e.g., outside of  the app environment, cannot be easily dismissed, or interfering with  device functionality)در صورتی که هر یک از پیام های بالا ( به غیر از موردی که در تصویر آمده است ) برای شما نمایش داده میشود ، دلیل این خطا تازگی انتشار و یا ناشناخته بود اپلیکیشن شما نیست! نرم افزار شما یک نرم افزار مخرب شناخته شده که به حریم خصوصی کاربر آسیب میزند و یا اطلاعات کاربر را به سرقت میبرد!یکی از دلایل هم میتواند این باشد که اپلیکیشن شما فیک است و کاربرد مشابه برنامه دیگر را ارایه میدهد و یا اینکه تبلیغات و هزینه های ناخواسته را بر کاربر تحمیل میکند! لازم به ذکر است رفع این مشکلات نیز با همین آموزش ممکن است اما قطعا مدت زمان بیشتری برای بررسی و ایجاد تغییرات لازم است تا اپلیکیشن شما توسط گوگل پذیرفته شود.مدتی بود که روی یک اپلیکیشن اندرویدی کار میکردم و قصد داشتم ابتدا نسخه فارسی اون رو در کافه بازار منتشر کنم ، خلاصه پس از گذراندن مراحل اشکال یابی و اشکال زدایی اپلیکیشن به پنل توسعه دهندگان بازار رجوع کردم و اپلیکیشن خودم رو بهمراه مابقی مخلفات آپلود کردم :))روند بررسی سریع تر از اون چیزی بود که فکرش رو میکردم! چون دفعه های قبلی که برنامه ارسال میکردم به بازار چیزی حدود ۷۲ ساعت طول میکشید تا بررسی بشه این دفعه در کمتر از ۱۲ ساعت اپلیکیشن بنده بررسی شد ، در کمال تعجب برنامه تایید نشد و وضعیت برنامه به &quot;نیازمند تغییرات&quot; تبدیل شد ، متن موارد تغییرات بازار به این شرح بود:متن بیانیه تغییرات بازار برای بررسی مجدد اپلیکیشنخب مشکل اطلاعات گمراه کننده حل شد :))اما خطای Blocked By Play Protect رو نتونستم به راحتی اون حل کنم ، دلیلشم این بود که از قبل به این مورد بر نخورده بودم ، به وبسایت های خیلی زیادی رفتم و با دوستان زیادی صحبت کردم ، از اونجا که نمیتونستم خیلی صبر کنم رفع این مشکل در کل ۲۴ ساعت طول نکشید برای بنده! اما در همون فروم ها و منابعی که خدمتتون عرض میکنم دوستانی رو دیدم که علی رغم انجام مراحل قید شده نتونسته بودن مشکل شون رو حل کنن!قدم صفرم ، در حد یک مُسَکِّن :))این مورد رو خیلی بهش اشاره و تاکید کردن که از دسترسی های حساس و ویژه استفاده نکنید و بجاش از ‌intent استفاده کنید! البته این کار رو نکردید هم نکردید فقط چیزی که بهتون میگم باید اپلیکیشن شما بهینه باشه یعنی استاندارد های حداقلی یک برنامه رو داشته باشه تا بشه اون رو &quot;اپلیکیشن&quot; تلقی کرد!فقط حواستون به دسترسی های مربوط به حافظه ( STORAGE ) دستگاه باشه چون گوگل روشون خیلی خیلی غیرتیه :))قدم اول ، ساده اما موثر!میدونم که این مورد رو شاید توی سایت های قبلی دیده باشید اما این دفعه همون کار هارو با یکم تفاوت انجام بدید! یک Key store  بسازید و تمامی فیلد های اون رو پر کنید ، فیلد های مربوط به آدرس رو. بای United States  و California و شهر محل سکونت هم یکی از شهر های آمریکا وارد کنید کد کشور هم 01 بزنید ، مورد بعدی هم اینه که پسورد های Key و ‌Keystore رو متفاوت وارد کنید! این ربطی به تایید گوگل نداره ممکنه توی مراحل Build ارور بگیرید :))فرم ساخت یک Key Store جدیداین مورد هم خدمتتون گوشزد کنم که این key store رو یک جای امن ذخیره کنید و برای اپ های بعدیتونم ازش استفاده کنید ، این کار باعث میشه برای بررسی اپ های بعدی یک قدم جلو تر باشید!نکته مهم این قسمت پر کردن کامل و دقیق تمام گزینه ها هست همچنین این تصویر میتونه خیلی مفید باشه.یک مورد جا افتادهاول قند شکن تون رو روشن کنید و سپس وارد اندروید استودیو بشید ماوستون رو تا منتها الیه به سمت ‌بالا و راست ببرید و کلیک کنید! بله درسته:Google Sign in for android studioدقیقا با همون ایمیلی که توی فرم در قسمت Email Address وارد کردید لاگین بشید و تمام دسترسی ها رو به اندروید استودیو بدید تا کاملا سینک بشه با پروژه تون. بعدش هم یکبار Rebuild Project کنید ( توجه کنید که حتما از ابزار گذر از تحریم استفاده کنید! ) Rebuild Project for android studioمرحله اصلی ، به گوگل بگو دست از سرت برداره!خب کار اصلی همین قسمت هست ، باید به این آدرس برید و فرم مربوط به بررسی اپلیکیشن ها رو پر کنید اما کمی متفاوت تر با قبل! خب این صفحه ای هست که پیش روتون باز میشه:صفحه درخواست تایید بازبینی اپلیکیشنخب این جا یک سری توضیحات هست که ایمان قلبی دارم میخونید و بعدش روی File an appeal بزنید و فرم به این شکل براتون باز میشه:فرم درخواست بررسی اپلیکیشنخب گزینه های Email address ، Developer name ، و Application package name رو خیلی دقیق پر کنید ( اسمتون رو کامل بنویسید اگه پسوند و پیشوند هم دارید بنویسید گوگل اسم های طولانی رو بیشتر دوست داره !!! )‌ مهم ترین قسمت کار دو بخش آخر هستن ،  توجه کنید که توی قسمت URL to download your APK file باید آدرس ارجاع مستقیم به فایل خودتون بطوری که از انگلستان ، آلمان و آمریکا قابل دسترس باشن رو وارد کنید ، اگه سایت شخصی دارید که میتونید روی هاست خودتون فایل apk رو آپلود و اینجا وارد کنید و لینکتون باید بصورت Downloadable باشه (‌یعنی به یک فرمت فایل ختم بشه! ) مثل این:https://yourdomain.pre/file/app/appname.apkیک نکته خیلی مهم اینه که دامنه تون باید SSL داشته باشه و حتما با https آغاز بشه...البته توصیه من استفاده از سرویس Dropbox هست که در ادامه توضیحاتش رو خدمتتون عرض میکنمیک نکته خیلی مهمنکته مهمی که باید توجه کنید اینه که اپلیکیشن هایی که با زبان فارسی به گوگل فرستاده میشن و یا گوگل حس میکنه مبدا شون ایران هست یکم با مشکل مواجه میشن و حتی ممکنه تایید نشن! از این رو توصیه میکنم نسخه ای که برای گوگل میفرستید زبانش انگلیشی باشه و نسخه های بروزرسانی رو فارسی کنید و یا از همون ابتدا اپلیکیشن رو چند زبانه ارایه بدید ( که اگه Auto-detect باشه عالی میشه ، خب حداقل میدونیم که دستگاه هایی که توی گوگل باهاش اپلیکیشنتون چک میشه روی فارسی نیست زبونش :)) البته طبق تحقیقات اخیر بنده این مشکل معمولا در 3 یا 4 بروزرسانی اول اپلیکیشن در مارکت ها (بجز گوگل پلی) وجود داره یعنی با پکیج نیم ها و امضا های یکسان هم حتی برخی موارد نسخه 1.1 برنامه ارور نمیده اما 1.2 برنامه ارور میگیره! اما بعد از اون به مرور رفع میشه ، راحل ثابتی که ارایه میکنم بهتون اینه که حتما حتما اپلیکیشن و چند زبانه کنید و تشخیص خودکار رو براش فعال کنید! خب این خودش کلک مرغابیه! چون تستر های گوگل پلی زبان دیوایسشون انگلیسی و تستر های کافه بازار زبان دیوایسشون فارسی هست و اپ بسته به زبان دستگاه اگه زبان خودشو تغییر بده عالی میشع!یک نکته خیلی مهم تر :))در هنگام خروجی گرفتن از اپلیکیشن از همون ‌Key Storeی که کامل ساختیم استفاده کنیم و در مرحله آخری پس از انتخاب Release مقادیر V1 (Jar Signature) و V2 (full APK Signature) رو با هم انتخاب کنیدانتخاب هر دو نوع امضا برای خروجی مشکلات ارسال فرم به گوگلخیلی از دوستان اشاره کردن که بعد از ارسال فرم به گوگل عبارت زیر براشون ارسال میشه:Hi You recently submitted an appeal for an app with Google Play Protect. We were unable to download the APK file from the link you provided. Please submit a new appeal and make sure that the link is publicly browsable. Thank You. Google Play Protect Teamخب این نتیجه گوش نکردن به حرفای بنده هست! گوگل با خیلی از لینکا مشکل داره بهترین راه اینه که به دراپ باکس برید ، یک اکانت رایگان بسازید ، فایلتون رو آپلود و لینک دانلودش رو کپی کنید ، انتهای لینکی که میگیرید یک 0 وجود داره پاکش کنید و به 1 تبدلیش کنید! برای مثال:لینک دانلودتون رو از https://www.dropbox.com/s/stx0jdkf4ofb98ze/yourfile.apk?dl=0به اینhttps://www.dropbox.com/s/stx0jdkf4ofb98ze/yourfile.apk?dl=1خب حالا لینک جدید رو این دفعه برای گوگل بفرستید! اگه بازم بهتون گیر داد به این سایت برید و لینک رو کوتاه کنید! اگه بازم قبول نکرد به این سایت برید و لینکی که اخرش رو به 1 تغییر دادی رو توسط همین سایت کوتاه کنیداگه بازم قبول نکرد دیگه وقتش رسیده که پلت فرم برنامه نویسی تونو عوض کنید! :)) آره! چرا که نه؟ اصلا بیاید اولین اپ iOSتون رو خودتون بسازید!!ساخت یک صفحه درباره ما مورد تایید گوگلیکی از مهم ترین مشخه هایی که گوگل در بازبینی اپلیکیشن شما آن را لحاظ میکند ، صفحه درباره ما در اپلیکیشن است ، این صفحه باید دارای موارد زیر باشد:نام و مشخصات توسه دهنده ( به لاتین و ترجیحا کامل )آدرس سوشیال های توسعه دهنده ( لینکداین و اینستاگرام کافیه )آدرس و ارجاع ها به منابع مورد استفاده ( مثلا لینک گیت هاب کتابخانه ها )متن کوتاه توضیحات راجع به ساز و کار برنامه ( ترجیحا بهمراه لوگو و ورژن فعلی اپلیکیشن)تکمیل دفاعیه!خب فیلد آخر فرم ینی additional information to support your appeal برای این هست که از اپلیکیشن خود دفاع کنید و گوگل رو قانع کنید که چرا باید اپلیکیشن شما رو مخرب تلقی نکنه! یه راحل توپ اینکه که متن زیر رو کپی کنید و بجای APP_INFO توضیحات اپ خودتون رو اضافه کنید!Greetings to the esteemed Google TeamI am sending this request to fix the &quot;Blocked by Pay Protect&quot; error{APP_INFO}Fast, simple, free and lightweight, no annoying ads ,This app does not collect and store user data!Also, no unnecessary cost is imposed on the user and is completely free , It also certifies that this app does not harm user privacy and is not harmful to usersThank youبجای APP_INFO یه توضیحات یک خطی جامع ، مفید و مختصر ، از عبارت &quot; an simple application to... &quot; هم در ابتداش استفاده کنید که خیلی خیلی جواب میده! برای ترجمه متون خود به فارسی هم از ابزار ترجمه گوگل استفاده کنید. مثلا برای یک موزیک پلیر این APP_INFO صد در صد جواب میده!A simple app to manage and play audio files from the user&#x27;s deviceشاید یکم عجیب غریب باشه اما بعضی مواقع پس از تکیمل و ارسال فرم گوگل بهتون میگه که این اپلیکیشن در حال حاضر داره بررسی میشه!!!Hi  You recently submitted an appeal for an app with Google Play Protect.We noticed that an appeal for this app is already pending review. Our team will review the app and remove the warning if an error was made. There is no need to resubmit the app for reviewThank You.  Google Play Protect Teamمشکلی نیست ۲۴ ساعت صبر کنید اگه ارور رفع نشده بود دوباره درخواست ارسال کنید از این لینکیک مشکل خیلی خیلی رایج :))برخی از کاربرا پس از مدتی از ارسال درخواست این پیام رو از گوگل دریافت میکنند:Hi  You recently submitted an appeal for an app with Google Play Protect.The link you have provided does not lead to an APK file or the file is corrupted. Please submit a new appeal and check that you are providing the link to the correct APK file.Thank You.   Google Play Protect Teamاین هم دقیقا شبیه همون مشکل عدم شناسایی لینک یا فایل APK توسط گوگل هست منتها تفاوت این با قبلی این هست که در قبلی بلافاصله پس از ارسال فرم اخطار به شما ارسال میشد اما این ارور پس از بررسی دستی ارسال میشه!راحلش خیلی سادست! از سرویس دراپ باکس که در بالا توضیح دادم و ادامه راحل ها استفاده کنید و دوباره فرم رو ارسال کنید.ایزی ایزی!خب تبریک میگم اگه به مشکلات بالا برنخوردید حتما براتون این پیغام ایمیل شده:Hi You recently submitted an appeal for an app with Google Play Protect. We have successfully received the appeal for your app. Our team will review the app and any information you have provided. Thank You, Google Play Protect Teamاگه تمامی مراحل بالا رو به درستی طی کرده باشید خیلی زمان زیادی طول نمیکشه که مشکلتون حل میشه و دیگه اون ارور رو مشاهده نمیکنید! اگه مشکلتون رو تونستید و حتی نتونستید با این روش حل کنید خوشحال میشم باهام در میون بزارید :)</description>
                <category>ابوالفضل عزیزی</category>
                <author>ابوالفضل عزیزی</author>
                <pubDate>Mon, 23 Mar 2020 17:25:35 +0430</pubDate>
            </item>
            </channel>
</rss>