<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های علی قنواتیان</title>
        <link>https://virgool.io/feed/@ghanavatian.ali</link>
        <description>یه برنامه‌نویس علاقه‌مند به کامپیوتر، خوندن و نوشتن و البته فیلم.</description>
        <language>fa</language>
        <pubDate>2026-06-07 05:02:59</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/48628/avatar/yeRhIL.png?height=120&amp;width=120</url>
            <title>علی قنواتیان</title>
            <link>https://virgool.io/@ghanavatian.ali</link>
        </image>

                    <item>
                <title>چرا مار بزرگ؟ چرا دست نورانی؟</title>
                <link>https://virgool.io/@ghanavatian.ali/%DA%86%D8%B1%D8%A7-%D9%85%D8%A7%D8%B1-%D8%A8%D8%B2%D8%B1%DA%AF-%DA%86%D8%B1%D8%A7-%D8%AF%D8%B3%D8%AA-%D9%86%D9%88%D8%B1%D8%A7%D9%86%DB%8C-vnknmbk4f28x</link>
                <description>فرعون در مقابل مار محافظ حضرت موسیاساسا معجزه پدیده‌ای است با پیامی قطعی و مشخص. به نظر می‌رسد معجزات نه فقط در زمان خود، بلکه برای تمام زمان‌ها پیامی واضح و روشن داشته باشند، نگاه به معجزات از زوایای مختلف می‌تواند اطلاعات با ارزشی در خصوص سیستم تفکر انسان، جامعه و روش تربیت خداوند فراهم کند.در این مطلب قصد دارم، به دو معجزه تبدیل شدن عصا به مار بزرگ و دیگری نورانی شدن دست حضرت موسی با نگاه متفاوتی بپردازم. بر اساس تورات (کتاب خروج، باب ۱، آیات ۴ تا ۵ و باب ۱۰، آیات ۷ تا ۱۲) و قرآن کریم (سوره اعراف آیه ۱۰۷ و سوره شعرا آیه ۳۲) معجزه تبدیل شدن عصا به مار توسط مردم، دربار فرعون و خود او مشاهده شده اند. نورانی شدن دست در تورات متفاوت از قرآن است و اشاره‌ای به انجام شدن آن در مقابل فرعون نیست.با توجه به نقش تاریخی رهبر و پادشاه در پذیرش اجتماعی یک مذهب، به نظر می‌رسد این معجزات ممکن است حاوی پیامی مشخص برای شخص فرعون بوده باشد. اما برای تشخیص آن پیام باید اول فرعون را شناخت.رامسس دوم، فرعون زمان موسیبسیاری از مصرشناسان و پژوهشگران بر این باورند که فرعونِ زمان حضرت موسی، رامسس دوم بوده است. دلیل اصلی این فرضیه، وجود شهری به نام پی-رامسِس در عهد وی است که در کتاب خروج (باب ۱۱، آیه ۱) از آن نام برده شده. مطالعات اخیر روی اُبلیسک ۳۳۰۰ ساله‌ی میدان کنکورد پاریس نیز نشان داده رامسس دوم در زمان حضرت موسی حکومت کرده است.دودمان نوزدهم و بحران مشروعیترامسس دوم، سومین پادشاه دودمان نوزدهم است که رامسس اول آن را بنیان گذاشت. حورمحب، آخرین پادشاه دودمان هیجدهم فرزندی نداشت، به همین دلیل رامسس اول را که فرمانده سپاه بود، وارث پادشاهی خود اعلام کرد. رامسس اول، از خانواده‌ای نظامی و مذهبی (کاهن) در شرق دلتای نیل بود.در مصر باستان، مشروعیت فرعون تنها به «قدرت نظامی» یا «وراثت محض» محدود نمی‌شد، بلکه ترکیبی از مذهب، سنت و سیاست بود.هر دودمان برای حفظ مشروعیت می‌بایست خود را تحت حمایت یکی از خدایان اعلام می‌کرد. دودمان ۱۸‌ام که حدود ۲۵۰ سال سلطنت کرد، خود را تحت حمایت آمون-رَع می‌دانست و پادشاه، فرزند آمون محسوب می‌شد.سلطنت رامسس اول بیش از ۲ سال طول نکشید و خیلی زود از دنیا رفت. فرزند او،‌ سطی اول، تصمیم گرفت خدای متفاوتی را حامی سلسله پادشاهی جدید اعلام کند. از آنجا که در دلتای نیل (محل تولد رامسس اول) خدای طوفان و بیابان (سِط) محبوبیت بیشتری داشت. این فرعون آن خدا را حامی سلسله نوزدهم اعلام کرد و خود را سطی نامید! این اولین بار بود که خدای آمون و خدای سِط در تایید سلطنت کنار هم قرار گرفتند. سطی اول با تقویت ارتش، بازسازی معابد و استحکام مرزهای مصر زمینه را برای سلطنت فرزندش رامسس دوم مهیا کرد. با این حال، سلطنت او زیاد طول نکشید. سطی اول حدود ١۵ سال حکومت کرد‌.سن به پادشاهی رسیدن و مدت سلطنت فراعنه دودمان نوزدهمرامسس دوم، تایید شده توسط خدای رَعبا به حکومت رسیدن، رامسس دوم خود را مورد تایید خدای رَع نیز اعلام کرد. برای درک بهتر تفاوت خدایان مصر باستان، بد نیست بدانیم:آمون: خدای پنهان و اسرار آمیزرَع: خدای خورشید و نظم آشکارسِت: خدای نیروی طوفان و بادها، گاهی ویرانگر و گاهی مدافع نظم جهانرامسس دوم خود را مورد تایید خدای خورشید و در واقع، پسر خدای خورشید معرفی کرد.راز ید بیضافرعون در مقابل دست نورانی حضرت موسیتصور کنید در مجلس ملاقات عمومی پادشاهِ مورد تاییدِ خدای خورشید، شخصی حاضر شود که خود را فرستاده خدا بنامد و به نشانه تصدیق گفته‌ اش،‌ دستش را مثل خورشید نورانی کند! در حالیکه هیچ کس چنین چیزی از خود پادشاه ندیده است. به نظر می‌رسد این معجزه، به وضوح نشان داده که خدای خورشید (رَع) از موسی حمایت می‌کند و نه فرعون!این معجزه، به وضوح نشان داده که خدای خورشید (رَع) از موسی حمایت می‌کند و نه فرعون!اُرائوس محافظ پادشاهمار در مصر باستان تجسم الهه‌ی واجت (Wadjet)، الهه‌ی کبری و نگهبان مصر شمال بود. این نماد روی تاج فرعون وجود داشت. پوشیدن این تاج به این معنا بود که خدایان به طور مستقیم از او دفاع می‌کنند. دودمان ۱۸ ام و دودمان ‌۱۹‌ ام همگی از این نماد در مجسمه‌ها و نقوش استفاده می‌کردند.مار محافظ (uraeus) روی تاج توت‌عنخ‌آمونرامسس دوم نقش خود، به عنوان مدافع نظم جهانی را با نماد مار برجسته می‌کرد. او نقاشی ها و مجسمه های زیادی با این نماد در دربار و شهر نصب کرده بود.راز عصای تبدیل شونده به ماردر باور عموم مردم، یک مار افسانه‌ای محافظ پادشاه است. در جلسه‌ی عمومی دیدار پادشاه، بعد از اینکه پادشاه کسی را تهدید به زندان می‌کند او  عصایش را به زمین می‌اندازد، عصا یک مار بزرگ می‌شود و از او در مقابل پادشاه دفاع می‌کند! این معجزه نیز مشخصا نشان می‌دهد شخصی که مورد حمایت یک مار افسانه‌ای است حضرت موسی است و نه فرعون!دفاع مار بزرگ از حضرت موسی نشانه‌ی دیگری از باطل بودن ادعای فرعون بر فرمانروایی مصر بود.شما را نمی‌دانم، ولی به نظر من، این معجزات صرفا برای مجاب کردن شخص فرعون نبودند. این‌ها پیام‌های واضحی به مردم بودند تا رهبر واقعی خود را بشناسند و حکومت جعلی فرعون را کنار بزنند، ولی متاسفانه مردم نشناختند.یک سوال: اگر شما حضرت موسی بودید، اول ید بیضا را نشان می‌دادید یا عصا را تبدیل به مار می‌کردید؟ لطفاً در کامنت ها بنویسید.یک سوال دیگر: درباره معجزه شکافته شدن دریا، به نظر شما آیا ممکن است آن معجزه با طوفان یا باد شدید (خدای سِط) همراه بوده باشد؟</description>
                <category>علی قنواتیان</category>
                <author>علی قنواتیان</author>
                <pubDate>Mon, 08 Sep 2025 19:12:44 +0330</pubDate>
            </item>
                    <item>
                <title>چه کسی ظرف من را شُست؟</title>
                <link>https://virgool.io/@ghanavatian.ali/%DA%86%D9%87-%DA%A9%D8%B3%DB%8C-%D8%B8%D8%B1%D9%81-%D9%85%D9%86-%D8%B1%D8%A7-%D8%B4%D9%8F%D8%B3%D8%AA-fpzlqb1wbbic</link>
                <description>عکس بالا اثر Catt Lui از Unsplash استیکی از موهبت‌هایی که اجداد ما از آن بهره‌مند بودند و متاسفانه با پیشرفت تکنولوژی فراموش شده و دانشمندهای ما با وجود دسترسی به پیشرفته‌ترین ابزارهای ارتباطی و محاسباتی فکری به حال آن نکرده‌اند مساله‌ی ظرف غذا است!در گذشته، اجداد غار نشین ما به راحتی کمین می‌کردند، به شکارهای تند رو (فست فود زمان خود) حمله می‌کردند، شکار خوشمزه را می‌خوردند و با آرامش و نشاط به غار خویش برمی‌گشتند. به همین سادگی! نه نیازی به مایع ظرفشویی بود نه دستکش و نه حتی پیش‌بند برای شستن ظرف ها! اساسا ظرف، خودِ شکار بود. این را مقایسه کنید با وضعیت اسف‌بار فعلی ما که برای هر وعده غذا، به ظرف هایی نیاز داریم که لازم است شسته شوند. بعد از خوردن غذا، باید ظرف‌ها را به محل خاصی به اسم آشپزخانه هدایت کرد و تازه این شروع ماجراست. ظرف‌ها را باید با احتیاط در سینک ظرفشویی قرار بدهیم، دستکش‌ها را پیش از پوشیدن کنترل کنیم که سوراخ نشده باشند، آن ها را بپوشیم و الی آخر...پس طبیعی است که کسی این پروسه طاقت فرسای شستن ظرف را دوست نداشته باشد. راه حل آسانتر و صد البته پرطرفدار! رها کردن ظرف در محل خوردن خوراکی یا کمی پرزحمت‌تر از آن، رها کردن ظرف در اطراف یا نهایتا سینک ظرفشویی است. این راهکار البته اگر در منزل و در حضور مادر اجرا شود، بسته به احوال مادر با برگرداندن چشم، تکان دادن سر به نشانه تاسف، جملات هشدار دهنده مادر و در بدترین حالت شلیک دمپایی به سمت عامل رها کننده ظرف همراه خواهد بود. پس عامل بازدارنده (مادر) در خانه مانع بزرگی است که باید فکری به حال کرد. اما در محل کار این موضوع بی دردسرتر است... طرح مسالهدر محیط کار ظرف‌هایی برای استفاده عمومی تهیه می‌شود که وظیفه نگه‌داری آن‌ها با پرسنل است. یکی از مسائلی که در خصوص این ظرف‌ها وجود دارد این است که بعضی پرسنل که از انضباط فردی کافی (یا حوصله؟) برخوردار نیستند آن‌ها را پس از استفاده به همان شکل روی میز خود یا نهایتا در آشپزخانه رها می‌کنند. به عنوان یک مدیر چه راهکاری برای این مساله به ذهن شما می‌رسد؟ اگر تجربه‌ای در این خصوص داشتید لطفا آن را بنویسید.یک راهکار مساله‌دار: چرا کسی که ظرف را کثیف کرده، باید آن را بشوید؟ چرا کسی که می‌خواهد از ظرف استفاده کند، ظرف کثیف را نشوید؟ظرف‌ کثیف باعث جذب حشرات موذی می‌شود. پس تمیز بودن ظرف‌ها، باعث می‌شود محل کار شبیه محل دفن زباله‌ها‌ نباشد.ظرف کثیف محیط کشت مناسبی برای باکتری‌هاست. پس تمیز بودن ظرف، مانع از رشد باکتری‌ها و بیمار شدن شما یا همکار شما (که احتمالا بیماری او به زودی به شما هم سرایت می‌کند) می‌شود.جمع شدن ظرف‌های کثیف، باعث می‌شود همه احساس شلختگی و بی‌نظمی کنند. تحقیقات نشان می‌دهد که افراد در محیط منظم و تمیز کارآیی و عملکرد بهتری از خود نشان می‌دهند.در پایان مطلب اعتراف می‌کنم که تیتر چندان ارتباطی به متن نداشته! ولی تیتر دیگه‌ای به ذهنم نرسید. منتظر راهکارها و نظرات شما در خصوص پدیده ظرف‌های کثیف در محل کار هستم. دوست خوبم «امیرحسین» به طنز نوشته: «شاید در مصرف آب میخوان صرفه جویی کنن»باعث شد به این فکر کنم که تهیه کردن یک دستگاه ظرفشویی می‌تونه این مساله رو حل کنه؟</description>
                <category>علی قنواتیان</category>
                <author>علی قنواتیان</author>
                <pubDate>Tue, 02 Mar 2021 09:26:44 +0330</pubDate>
            </item>
                    <item>
                <title>راهنمای سامانه ابلاغیه قوه‌ی قضائیه به زبون آدمیزاد ۲</title>
                <link>https://virgool.io/@ghanavatian.ali/%D8%B1%D8%A7%D9%87%D9%86%D9%85%D8%A7%DB%8C-%D8%B3%D8%A7%D9%85%D8%A7%D9%86%D9%87-%D8%A7%D8%A8%D9%84%D8%A7%D8%BA%DB%8C%D9%87-%D9%82%D9%88%D9%87%DB%8C-%D9%82%D8%B6%D8%A7%D8%A6%DB%8C%D9%87-%D8%A8%D9%87-%D8%B2%D8%A8%D9%88%D9%86-%D8%A2%D8%AF%D9%85%DB%8C%D8%B2%D8%A7%D8%AF-%DB%B2-wkh0sqaywhvb</link>
                <description>عکس از دوست خوبم لوک مایکل از سایت آن اسپلش اگر خدای نکرده گذرتون به دادگاه افتاده باشه یا کسی ازتون شکایتی کرده باشه حتمن چشمتون به جمال سامانه ابلاغیه قوه‌ی قضائیه روشن شده. اگه تا الان نتونستید به این سامانه وارد بشید، قسمت قبلی رو بخونید. اگه باز هم موفق نشدید به نزدیکترین دفتر خدمات قوه‌ی قضائیه مراجعه کنید. در این قسمت شما رو با مکانیزم عملکردی سامانه قوه‌ی قضائیه آشنا می کنیم.خب بعد از ورود به سامانه با همچین رابط کاربری شگفت انگیزی رو به رو می‌شوید:قبل از هر کاری مطمئن شوید برای انجام دادن آن زمان کافی وجود داردپیش از هر چیز مایلم توجه تون رو به ساعت و تاریخ جلب کنم. این سامانه اصلا به این کاری نداره که شما پنجره مرورگر رو بستید. تا وقتی که اون ساعت بالا اعلام می‌کنه شما توی سامانه می‌مونید! بله. راه گریزی نیست. دقیقا تا اون ساعت هستید و بعد از اون ساعت (با لگد!) بیرون می‌شید! اینکه وسط چه عملیاتی از سامانه باشید هم، اهمیتی نداره. وقت شما تمام شده و  سامانه باید به کارهای مهمترش برسه!خیلی‌ها از این سامانه استفاده می‌کنند. ولی اکثریت ما مردم با دو قسمت از این سامانه بیشتر کاری نداریم. بقیه قسمت‌ها رو چرا می‌بینیم؟همانطور که می بینید اینجا کلی امکانات هیجان انگیز وجود داره ولی شما با دو قسمت بیشتر سر و کار نخواهید داشت. ولی این دو قسمت هم در واقع یک قسمت هستن... دیدن ابلاغیه!ابلاغیه چیه؟به هر خبری که از طرف دادگاه (در واقع قوه‌ی قضاییه) واسه ما بیاد «ابلاغیه» می‌گویند. این خبر می‌تونه اعلام شکایت یکی از ما باشه، یا خبر اینکه یه اتفاقی واسه شکایتی که ما کردیم افتاده (مثلا از یه اتاق رفته یه اتاق دیگه!)ابلاغیه‌های جدیدسوای اون علامت‌های خطر راهنمایی رانندگی، هشدار اصلی در واقع اون نوار قرمز بالای صفحه است!چرا اون کادر قرمز رنگ به جای اینکه توی جدول باشه اون بالاست؟ خب اون جدول خیلی مهمه و درست نیست چیزای بی‌اهمیت توش نوشته بشه.چون اون جدول یه چیز مقدسه و نباید چیزی جز ابلاغیه توش گذاشته بشه.ما درخواستش رو دادیم. گردشکارش رو گرفتن. رفته دبیرخونه، کد رهگیری رو ارسال کرده.... (نیم ساعت توضیح بروکراسی اداری)ویژگی عجیب بخش ابلاغیه‌های جدید فراری بودنشه! یعنی به محض اینکه شما بخواین یه ابلاغیه رو اونجا باز کنید فورا غیب میشه و به بخش ابلاغیه‌های مشاهده شده می‌ره. ولی چرا؟ خب چون اون ابلاغیه یه بار شما رو دیده! نکنه قواعد کار رو یادتون رفته! وقتی شما رو ببینه. فورا می‌گه سًُک سُک و می‌ره توی یه قسمت دیگه تا این بار شما پیداش کنین!!اما از این جدول چی دستگیر آدم میشه؟ هیچی! ستون‌ها رو ببینین:شماره ابلاغیه (یه عدد گنده و زشت که معرف یه چیزی تو کامپیوتره)تاریخ صدور ابلاغیه (یعنی کی تصمیم گرفتن به شما خبر رو بدن! به جای «دیروز» یا «امروز» یا... تاریخ به فرمت زیبای هجری شمسی نوشته میشه که فورا باعث میشه بپرسین لعنتی! امروز مگه چندمه؟؟؟)مشاهده (بخوانید سُک سُک! تا این دکمه رو نزنید تقریبا هیچ چیز دستگیرتون نمیشه! و بعد از زدنش هم استرس می‌گیرید که اون ابلاغیه لعنتی کجا رفت؟!!!)ابلاغیه‌های مشاهده شدهخیلی دوست داشتم این جدول رو وقتی فقط ۳ تا ابلاغیه توش باشه ببینین. قشنگ حس این رو می‌ده که صد نفر شاکی دنبال آدمن!اینجا می‌تونین ابلاغیه‌هایی رو که قبلا دیده بودین، ببینین. خوشبختانه اون‌ها اینجا می‌مونن (البته تا یه مدت مدیدی.. من ابلاغیه دو سال پیشم رو اونجا هم نتونستم پیدا کنم)فیلدهای این جدول رو هم ببینیم که به قول یکی از رفقا ثوابه:شماره ابلاغیه نامبرده رو می‌شناسید دیگه. یه عدد زشت و بزرگشماره پرونده یه عدد زشت و بزرگ دیگه که واسه هر پرونده‌ای (شکایتی) یکی از اینا درست میشه.موضوع ابلاغیه چند کلمه ظاهرا فارسی که آدم از خوندنشون هیچی نمی فهمه و فقط می‌ترسه.صادر کننده اونی که خبر رو فرستاده. یکی از اتاق‌های دادگاه‌های شهر که شاید نیاز بشه اونجا سری بزنین.زمان اولین مشاهده زمان سُک سُک کردن! چرا اینقدر مهمه؟؟؟دفعات مشاهده بله! یعنی چند بار این خبر رو نگاه کردین... این قسمت رو با همکاری وزرات بهداشت گذاشتن و از روی این عدد می‌تونین تشخیص بدین که آلزایمر دارید یا نه!زمان درج در سامانه این هم به فرمت زشت تاریخ و ساعت هستش که خدای نکرده فراموش نکنید که امروز چندمه!مشاهده اصل مجرا! با زدن این دکمه و کمی خوش شانس بودن می‌تونین با یه متن فارسی رو به رو بشین که بهتون بگه اصل ماجرا چی بوده و این خبر اصلا یعنی چی؟ اگه بد شانس باشین توی اون متن فارسی نوشته شده به پیوست مراجعه کنین! که توی پیوست عکس یه نوشته است که اون هم به زبان فارسیه و باز فهمیدنش کار هر کسی نیست!برای اینکه فرآیند استخراج پیوست غافلگیرتون نکنه باید خدمتتون عرض کنم که وقتی روی دکمه مشاهده پیوست می‌زنید یه اعلامیه به دست شما می‌رسه که ما الان می‌خوایم پیوست رو باز کنیم. شما ۲ دقیقه دیگه سر بزنین! بعد شماره شما توی صف رو هم می‌ده. من نمی‌دونم این امریکای لعنتی چه ساختار خبیثی می‌چینه که طرف توی سایتش روزانه میلیون‌ها گیگابایت عکس و ویدیو آپلود و مشاهده میشه ولی یک بار محض رضای خدا نمی‌گه که داداش صبر کن من این فایلت رو برم بیارم. چه برسه به اینکه بگه داداش شما تو صف نفر سومی مثلا حالا ۲ دقیقه دیگه بیا نوبتت بشه. شما مقایسه کنین با این سامانه که نهایتا ۸۰ میلیون نفر مخاطب داره و فایل‌هایی که پیوست پرونده میشن نهایتا یه عکس با کیفیت لعنت خداست که حجمش به زور یه مگابایت میشه. از اتاق فرمان اشاره می‌کنن تو مملکت خودمون هم سایت پرمخاطب کم نداریم. آپارات و کافه‌بازار و ... که از نظر تعداد مخاطبان و حجم ترافیک شبکه ابدا با این سامانه قابل قیاس نیستند تا امروز به خوبی تونستن کار کنند ولی این سامانه که در خدمت گسترش عدالت ساخته شده اینطور دچار زحمت و گرفتاریه... بگذریم.در قسمت بعد نمونه‌هایی از ابلاغیه‌ها (خبرهایی) که از این سامانه احتمالن به دست شما می‌رسه رو مرور می‌کنیم و معادل آدمیزادیشون رو چک می‌کنیم. باشد که رستگار شویم... راستی! اگه از این قسمت خوشتون اومده، شاید بخواین قسمت قبلیش رو هم ببینین.</description>
                <category>علی قنواتیان</category>
                <author>علی قنواتیان</author>
                <pubDate>Fri, 14 Aug 2020 18:12:53 +0430</pubDate>
            </item>
                    <item>
                <title>راهنمای سامانه ابلاغیه قوه‌ی قضائیه به زبون آدمیزاد</title>
                <link>https://virgool.io/@ghanavatian.ali/%D8%B1%D8%A7%D9%87%D9%86%D9%85%D8%A7%DB%8C-%D8%B3%D8%A7%D9%85%D8%A7%D9%86%D9%87-%D8%A7%D8%A8%D9%84%D8%A7%D8%BA%DB%8C%D9%87-%D9%82%D9%88%D9%87%DB%8C-%D9%82%D8%B6%D8%A7%D8%A6%DB%8C%D9%87-%D8%A8%D9%87-%D8%B2%D8%A8%D9%88%D9%86-%D8%A2%D8%AF%D9%85%DB%8C%D8%B2%D8%A7%D8%AF-sf87o2t9t4en</link>
                <description>اگر خدای نکرده گذرتون به دادگاه افتاده باشه یا کسی ازتون شکایتی کرده باشه حتمن چشمتون به جمال سامانه ابلاغیه قوه‌ی قضائیه روشن شده. از نحوه ی ثبت نام در این سامانه گرفته تا فرآیند ورود و تقریبا تمام مکانیزم‌های کارکردی این سامانه به شکلی طراحی شده تا حداکثر اطمینان حاصل بشه که خودِ خودِ خودِ خودِ شما هستید که در حال سرویس گرفتن از سامانه هستید. ولی به جان جد مرحومم که اگه دانشگاه رفته باشید و دکترا هم گرفته باشید (غیر از دکترای حقوق البته) عمرا سر از کارهای این سیستم در بیارین. این که هیچ. پیامک‌های این سیستم هم از ترجمه‌های گوگل ترنسلیت پیچیده‌تره. به همین دلیل من تصمیم گرفتم بر اساس تجربیات خودم و مصیبت‌هایی که کشیدم، روش استفاده و پیام‌های این سامانه عریض و طویل و پیچیده رو برای شما (و خودم - چون در آینده احتمالن یادم می‌ره چی به چی بود) یادداشت کنم.فصل اول - ورود به سیستمشخص حقیقی یعنی شما، شخص حقوقی یعنی شرکت شما، مقام قضایی هم یعنی نه من و نه شما!شاید شما اینجا ۲ تا چیز ببینین ولی برای ورود به این سیستم در واقع ۳ تا چیز لازمه:شماره ملی - منطقیه!رمز شخصی - اگه رمز شخصی ندارین کار بیخ پیدا می کنه. باید وارد سیکل بازیابی رمز شخصی بشید! (مراجعه کنید به ادامه همین نوشته، مبحث فصل صفرم!) - که در اصل هدفش اینه که مطمئن بشه شما هنوز به موبایل دسترسی دارید.کد رمز موقت -  که در اصل هدفش اینه که مطمئن بشه شما هنوز به موبایل دسترسی دارید! (حس می‌کنین یه چیزی این وسط تکراریه؟) این کد موقت که فقط ده دقیقه اعتبار داره و موقع نوشتنش توی این سامانه به صورت اسرار آمیزی به شکل ستاره دیده میشه و این به شما کمک می کنه تا اگه صفحه کلیدتون فارسی بود و اعدادتون رو به فارسی تایپ کردین هرگز متوجه این اشتباه نشده و ساعت‌ها با پیام خطاهای سیستم سرگرم باشید!اهل مسافرت هستید؟ هیچ می‌دونین قیمت یه بلیط هواپیما از زمانی فروش اولین صندلی تا آخرین صندلی بارها تغییر می کنه؟ می دونین هیچ کدوم از سایت‌های فروش آنلاین بلیط هواپیما بدشون نمیاد شما گرونترین بلیط رو بخرید؟ من فقط یه سایت به اسم چمدون رو دیدم که امکان خرید اتوماتیک بلیط هواپیما با قیمت تعیین شده از طرف شما رو فراهم می کنه! اگه جالبناکه یه سری به سایت چمدون بزنید. فراموش نکنین باید حداقل سه چهار روز به تاریخ پرواز مونده باشه تا همچین نوسان قیمتی رو بشه حس کرد وگرنه حتی دنبال دکمه‌ی رزرو اتوماتیک هم نگردین!// ببخشید اگه این کادر بی ربط بود! امکاناتشون جالب بود و اارررم... زندگی خرج داره.فصل صفرم - پروسه دریافت رمز شخصیشاید تصور کنین که بعد از انجام دادن مرحله‌ی اول می‌تونین نوشته‌های توی اون فیلدها رو پاک کنین! ولی نکنین! این اشتباه شما به قیمت دوباره نوشتن تمام اون فیلدها تمام میشهبه زیر سامانه‌ی تحویل فوری رمز شخصی خوش اومدین! اینجا حتمن لازمه مرحله‌ی اول رو طی کنین تا یه رمز واسه موبایلتون ارسال بشه که معلوم بشه رمز شخصی به دست خودتون می رسه. گول اون فیلد شماره همراه رو نخورید! اصلا قرار نیست به هر شماره‌ای که شما تایپ کردید، کد فعالسازی ارسال بشه!! کد، فقط به شماره موبایلی که توی دفتر خدمات قضایی اعلام کرده بودید، ارسال میشه!! همونجایی که از شما اثر انگشت گرفتن و حسابی احراز هویت شدید! پس این همه سوال در خصوص شماره ملی و تاریخ تولد و ... واسه چی بوده؟!‍ صرفه‌جویی در ارسال پیامک؟؟ نهههه! چون میشد بلافاصله بعد از بررسی صحت این اطلاعات رمز شخصی رو تحویل بدن.بعد از اینکه کد فعالسازی به شماره موبایلتون ارسال شد، شما می تونین مرحله‌ی دوم رو طی کنین و در نهایت رمز شخصی براتون ارسال بشه!ولی واقعا به نظر شما هدف این مرحله دوم چی بوده؟مطمئن بشن شما همچنان موبایل دارید؟مطمئن بشن شما شماره ملی و مشخصات شناسنامه‌ایتون رو حفظ هستید؟مطمئن بشن شما می‌تونین اعدادی که توی عکس باشه بخونید؟یا شاید.. ارررمم... یکی این وسط داره حسابی قوه‌ی قضائیه رو بابت ارسال پیامک می‌دوشه؟بگذریم. حالا شما وارد سامانه شدین و می‌تونین از امکانات نامحدود این سامانه استفاده کنید. چه امکاناتی؟ معلومه! مشاهده‌ پیام‌ها و نامه‌هایی که قبلا دم در خونه بهتون تحویل میشد و هر کسی توی خونه می‌تونست بخونه.خب فعلا این رو تا همینجا داشته باشید. تا توی پست(های؟) بعدی به اتفاق هم به ادامه رمزگشایی از مکانیزم‌ها و ادبیات این سیستم بپردازیم. آپدیت ۲۴ مرداد: قسمت بعدی این نوشته حاضر شده.</description>
                <category>علی قنواتیان</category>
                <author>علی قنواتیان</author>
                <pubDate>Sun, 09 Aug 2020 16:20:02 +0430</pubDate>
            </item>
                    <item>
                <title>ویرگولدون یه چمدون برای ویرگول</title>
                <link>https://virgool.io/@ghanavatian.ali/%D9%88%DB%8C%D8%B1%DA%AF%D9%88%D9%84%D8%AF%D9%88%D9%86-%DB%8C%D9%87-%DA%86%D9%85%D8%AF%D9%88%D9%86-%D8%A8%D8%B1%D8%A7%DB%8C-%D9%88%DB%8C%D8%B1%DA%AF%D9%88%D9%84-thiwamhd6dyu</link>
                <description>عکس از Jordy Meow از وب سایت یو اسپلشمتاسفانه انسان ارزش دارایی‌های خود را فقط وقتی آن‌ها را از دست داده باشد به درستی درک می‌کند. یکی از مسائلی که باعث میشه بعضی افراد، نوشتن در وب سایت خودشون رو به جای نوشتن در سایت‌هایی مثل ویرگول یا بلاگفا و ... ترجیح بدهند، محفوظ موندن داده‌ها یا به بیان بهتر نوشته‌هاشون هستش. مدتی هست که ویرگول امکان پشتیبان‌گیری از نوشته‌ها را فراهم کرده، خروجی به صورت چند فایل html گرفته میشه ولی عکس‌ها رو دانلود نمی‌کند و همین خروجی هم مدتی بعد از درخواست از طریق ایمیل ارسال می‌شه. به عنوان یک برنامه‌نویس وب سرویس ویرگول رو چک کردم و به نظرم رسید که با یک اپلیکیشن بشه از پست‌هایی که روی ویرگول می‌نویسیم پشتیبان بگیریم. این اولین تجربه برنامه‌نویسی من با الکترون بود اگرچه با نود و تکنولوژی‌های فرانت مثل ری اکت آشنایی کافی داشتم ولی الکترون و خروجی گرفتن برای هر سه پلتفرم ویندوز، لینوکس و مک چالش جذابی بود. سرتون رو درد نیارم خروجی کار شده اپلیکیشن ویرگولدون که به شکل اپن سورس و مجانی روی گیت‌هاب منتشر شده. آیکن اپلیکیشن ویرگولدونویرگولدون یه ظاهر ساده داره و روش کار کردش به این شکل هست که اول به حساب کاربری ویرگولتون وارد میشید. بعدش انتخاب می‌کنین که چه پست‌هایی (منتشر شده‌ها یا همه) و به چه فرمتی (در حال حاضر ۳ فرمت HTML، JSON و مایکروسافت اکسل وجود داره) می‌خواین بک آپ پست‌هاتون گرفته بشه و بعدش منتظر می‌شین تا برنامه اعلام کنه که پشتیبان حاضر شده. آپشن‌های برنامه‌ ویرگولدون برای پشتیبان‌گیری از پست‌های ویرگوللازمه چند تا نکته رو همینجا اعلام کنم:این برنامه کاملا مستقل از ویرگول نوشته شده و هنوز کاملا تست نشده، پس اگه برای شما درست و حسابی کار نکرد نا امید نشید! توی گیت‌هاب اشکالی که پیش اومده رو بدون باگ گزارش کنین تا در اولین فرصت برنامه اصلاح بشه.این برنامه ابدا با هدف سوء استفاده از پلتفرم ویرگول ساخته نشده، ویرگول رو کراول نمی‌کنه و محدودیت‌هایی که وب سرویس ویرگول برای دسترسی به داده‌ها تعیین کرده رو به کاربر نمایش می‌ده تا هیچ فشاری به پلتفرم ویرگول وارد نشه. شخصا ویرگول رو دوست دارم و امیدوارم هر چه زودتر، روزی برسه که ویرگول امکان توسعه و نوشتن برنامه‌های جذاب رو به همه برنامه‌نویس‌ها ارائه بده.این برنامه در وقت‌های آزاد من نوشته شده ولی این، به معنی بی‌زحمت و دردسر نوشته شدنش نیست! پس اگه دوست داشتین می‌تونین با دادن ستاره به پروژه توی گیت‌هاب یا حتی با مهمون کردن من به یه فنجون قهوه از این تیپ کارها حمایت کنین. ممکنه توی فرآیند نصب، ویندوز یا مک، پیام‌های ترسناکی نشون بدن! دلیلش این هست که مایکروسافت و اپل اخیرا مکانیزم‌هایی برای افزایش امنیت برنامه‌ها در نظر گرفتن که مبتنی بر پرداخت حق عضویت در سیستم اون‌هاست. متاسفانه با این وضعیت اقتصادی ما، من فعلا امکان پرداخت دلاری به این سیستم‌ها رو ندارم، پس اگه خیالتون از بابت این برنامه‌ راحت نیست، می‌تونین از روی گیت‌هاب سورس برنامه رو بگیرین و خودتون مطالعه کنین تا مطمئن بشین چیز مشکوکی در کار نیست و در نهایت خودتون یه خروجی بگیرین. </description>
                <category>علی قنواتیان</category>
                <author>علی قنواتیان</author>
                <pubDate>Fri, 24 Jul 2020 14:49:56 +0430</pubDate>
            </item>
                    <item>
                <title>باگ را بدون باگ گزارش کنید</title>
                <link>https://virgool.io/@ghanavatian.ali/%D8%A8%D8%A7%DA%AF-%D8%B1%D8%A7-%D8%A8%D8%AF%D9%88%D9%86-%D8%A8%D8%A7%DA%AF-%DA%AF%D8%B2%D8%A7%D8%B1%D8%B4-%DA%A9%D9%86%DB%8C%D8%AF-pmp8ssuzdrmi</link>
                <description>این پست را قبلا در سایت لینوکس ریویو منتشر کرده بودم که به رحمت ایزدی پیوست. امید که اینجا ماندگارتر بماند. -متاسفانه منبع انگلیسی آن را پیدا نکردم.- منبع انگلیسی این مطلب به لطف دوست عزیزم نبی پیدا شد.مقدمههر کسی که برنامه‌ای نوشته باشد به احتمال زیاد حداقل یک «گزارش باگ» دریافت می‌کند. گزارش‌هایی که اطلاعاتی نمی‌دهند «این کار نمی‌کند!»؛ گزارش‌هایی که بی‌معنی هستند؛ گزارش‌هایی که اطلاعات کافی نمی‌دهند؛ گزارش‌هایی که اطلاعات غلط می‌دهند؛ گزارش مشکلاتی که ناشی از خطاهای کاربرند؛ گزارش مشکلاتی که ناشی از اشکالات برنامه‌ی شخص دیگری است؛ گزارش مشکلاتی که ناشی از اشکالات شبکه است.دلیل اینکه پشتیبانی فنی بدترین بخش برای کار کردن است همین گزارش‌ باگ‌هاست. البته، همه‌ی گزارش باگ‌ها ناخوشایند نیستند: من در اوقات فراغت، نرم‌افزارهای free می‌نویسم و گاهی اوقات گزارش باگ‌هایی شفاف، مفید و حاوی اطلاعات کافی دریافت می‌کنم.در این نوشتار سعی می‌کنم به طور شفاف یک گزارش باگ خوب را تشریح کنم. امیدوارم هر کسی قبل از نوشتن گزارش باگ این نوشته را بخواند.به طور اساسی، هدف گزارش باگ این است که برنامه‌نویس عملکرد نادرست برنامه را جلوی خود ببیند. می‌توانید شخصاً باگ‌ها را به برنامه‌نویسان نشان دهید، یا دستورالعملی بنویسید که با دنبال کردن آن برنامه دچار اشکال شود. اگر برنامه‌ دچار اشکال شود، برنامه‌نویسان اطلاعات بیشتری جمع آوری می‌کنند تا بفهمند که علت بروز اشکال در کجاست. اگر برنامه برای آن‌ها دچار اشکال نشود، از شما خواهند خواست تا اطلاعات بیشتری برای آن‌ها جمع آوری کنید.در گزارش باگ‌ها سعی کنید حقایق را شفاف بیان کنید «من داشتم با کامپیوتر کار می‌کردم و این باگ اتفاق افتاد» و فرضیه‌هایتان را جدا از آن‌ها مطرح نمایید «من فکر می‌کنم مشکل از اینجا باشد». می‌توانید فرضیه‌ای ارائه نکنید ولی حقایق را از قلم نیاندازید.وقتی باگی را گزارش می‌کنید، می‌خواهید که آن باگ برطرف (fix) شود. دلیلی بر فحش دادن به برنامه‌نویس یا لجبازی کردن نیست: ممکن است اشکال از طرف او باشد و این مشکل شماست، و ممکن است حق داشته باشید که از دست او عصبانی شوید، ولی باگ وقتی برطرف می‌شود که شما اطلاعات کافی و مورد نیاز را در اختیار برنامه‌نویس قرار دهید. به یاد داشته باشید که اگر برنامه‌ای free باشد، نویسنده آن‌ را از روی لطف ارائه کرده است، پس اگر عده‌ی زیادی با او بد صحبت کنند و به او ناسزا بگویند ممکن است دیگر برنامه را ارائه نکند.«این کار نمی‌کند»برای هوش برنامه‌نویستان کمی احترام قائل شوید: اگر برنامه ابداً کار نمی‌کرد، او احتمالا متوجه می‌شد. از آنجا که او متوجه نشده است پس حتماً برنامه برای او کار می‌کند. بنابراین، یا شما کاری متفاوت از آنچه که او انجام می‌دهد انجام می‌دهید، یا محیطی که شما در حال اجرای برنامه در آن هستید با محیط برنامه‌نویس فرق می‌کند. او به اطلاعات نیاز دارد؛ مقصود از گزارش باگ ارائه این اطلاعات است. ارائه اطلاعات بیشتر همیشه بهتر است.بسیاری از برنامه‌ها، بخصوص برنامه‌های free لیست باگ‌های گزارش شده را منتشر می‌کنند. اگر لیستی از باگ‌های گزارش شده در دسترس شماست، ارزشمند است که پیش از گزارش باگ، آن‌ها را بخوانید تا متوجه شوید که قبلاً کسی آن‌ را گزارش کرده یا خیر. اگر قبلاً باگ گزارش شده است، گزارش دوبار‌ه‌ی آن کار بیهوده‌ای است. ولی اگر فکر می‌کنید که اطلاعات بیشتری نسبت به آنچه گزارش شده دارید، می‌توانید برنامه‌نویس را از این موضوع مطلع کنید. برنامه‌نویس با داشتن اطلاعات بیشتر راحت‌تر می‌تواند باگ را برطرف کند.این نوشتار پر از راهنمایی است. هیچ یک از این راهنمایی‌ها یک قانون مطلق نیستند. برنامه‌نویسان خاص، راه‌های خاصی برای دریافت گزارش باگ دارند. اگر برنامه با «اصول گزارش باگ» ارائه شده، آن را بخوانید. اگر مفاد آن سند با راهنمایی‌های ارائه شده در این نوشتار همخوانی ندارد، آن مفاد را دنبال کنید!اگر باگی گزارش نمی‌کنید و تنها در استفاده از برنامه به کمک احتیاج دارید، باید اعلام کنید که قبلاً در کجا به دنبال پاسخ سؤالتان گشته‌اید. («من بخش ۵.۲ و فصل ۴ مستندات نرم‌افزار را خوانده‌ام ولی هیچ صحبتی از امکان‌پذیر بودن این قابلیت ذکر نشده») این به برنامه‌نویسان می‌گوید که مردم در کدام قسمت‌های مستندات به دنبال جوابشان می‌گردند، به این ترتیب آن‌ها مستندات را به نحوی اصلاح می‌کنند که استفاده از آن آسانتر باشد.«به من نشان بدهید»یکی از بهترین روش‌های گزارش باگ نشان‌ دادن آن به برنامه‌نویس است. او را به جلوی کامپیوتر بیاورید، نرم‌افزار را اجرا کنید و توضیح دهید چه موقع برنامه‌ درست کار نمی‌کند. اجازه دهید ببیند که کامپیوتر را روشن می‌کنید، ببیند نرم‌افزار را اجرا می‌کنید، ببیند با نرم‌افزار کار می‌کنید و ببیند که نرم‌افزار به ورودی شما چه پاسخی می‌دهد.برنامه‌نویس برنامه را مثل کف دستش می‌شناسد. می‌داند به کدام بخش اطمینان دارد و کدام بخش ممکن است مسأله‌ساز شود. برنامه‌نویس می‌داند که به چه چیزی باید نگاه کند. مواقعی که برنامه عملیاتی کاملاً اشتباه انجام می‌دهد، ممکن است از روی رفتار قبلی برنامه متوجه اشکال برنامه شود. برنامه‌نویس می‌تواند در زمان اجرای تست برنامه کاملاً سیستم را تحت نظر بگیرد و نکات مهم را یادداشت کند.این ممکن است کافی نباشد. ممکن است به این نتیجه برسد که به اطلاعات بیشتری نیاز دارد و از شما بخواهد که مجدداً اشکال برنامه را به او نشان دهید. ممکن است از شما بخواهد که در حین فرآیند تولید باگ با او صبحت کنید تا بتواند باگ را روی سیستم خودش هم ببیند. ممکن است تلاش کند فرآیند تولید باگ را چند بار تغییر دهد تا متوجه شود که برنامه فقط در آن فرآیند با اشکال روبه‌رو می‌شود یا در یک سلسله فرآیند‌ دچار اشکال می‌شود. اگر بدشانس باشید، ممکن است نیاز باشد چندین ساعت با یک سری ابزارهای برنامه‌نویسی برنامه‌ را تحلیل کنند تا علت مشخص شود. ولی مهم‌ترین بخش این است که برنامه‌نویس وقتی برنامه‌ دچار اشکال می‌شود به کامپیوتر نگاه کند. وقتی متوجه اشکال شود، معمولاً آن گزارش باگ‌ را متوجه می‌شود و سعی می‌کند که آن را برطرف کنند.«به من نشان بده که چطور برای خودم پیش بیاید»در عصر اینترنت هستیم. عصر ارتباطات جهانی. می‌توانم برنامه‌ام را برای شخصی در روسیه بفرستم و او دیدگاهش را در مورد آن ظرف چند دقیقه بگوید. ولی اگر برنامه اشکالی داشته باشد، او نمی‌تواند من را کنار کامپیوترش ببرد و اشکال را به من نشان دهد. «به من نشان بده» خوب است ولی اغلب امکان‌پذیر نیست.اگر باید باگی را به برنامه‌نویسی که شخصاً حضور ندارد، گزارش بدهید، هدف شما باید فراهم کردن امکان «تولید مجدد باگ» باشد. از برنامه‌نویس بخواهید نسخه‌ای از برنامه که در اختیار شماست اجرا کند، همان اعمالی که شما انجام می‌دهید تکرار کند و همانطور که شما با اشکال روبه‌رو می‌شوید، با اشکال مواجه شود. وقتی که برنامه‌نویس با چشمان خود می‌بیند که اشکال بروز می‌کند، می‌تواند آن‌ را برطرف کند.پس دقیقاً به او بگویید چه کار کردید. اگر یک برنامه‌ی گرافیکی است، بگویید که روی کدام دکمه‌ها و به چه ترتیبی کلیک کردید. اگر یک برنامه‌ی تحت خط فرمان است، به طور دقیق به او بگویید چه چیزی تایپ کرده‌اید. در صورت امکان، باید کلمه به کلمه آنچه که در فرآیند تولید باگ اتفاق می‌افتد بگویید، نشان دهید چه دستوراتی نوشته‌اید و کامپیوتر به آن‌ها چه پاسخی داده است.به برنامه‌نویس تمام ورودی‌هایی که تصور می‌کنید ممکن است نقشی داشته باشند ارائه کنید. اگر برنامه اطلاعاتی از یک فایل می‌گیرد، یک کپی از آن فایل ارائه کنید. اگر از پایگاه داده استفاده می‌کند، یک خروجی مناسب از اطلاعات پایگاه داده بگیرید و ارائه کنید. اگر برنامه با کامپیوتر دیگری روی شبکه ارتباط پیدا می‌کند، احتمالاً نمی‌توانید یک کپی از آن کامپیوتر بفرستید، ولی حداقل می‌توانید نوع و مدل آن و نرم افزاری که بر روی آن نصب شده را ذکر کنید.«برای من کار می‌کند. پس مشکل از کجاست؟»اگر به برنامه‌نویس لیستی طولانی از ورودی‌های برنامه و کارهایی که باید انجام شود دادید، نسخه‌ی خودش را اجرا کرد ولی برنامه به درستی کار کرد، به این معناست که شما اطلاعات کافی ارائه نکرده‌اید. احتمالاً اشکال روی هر کامپیوتری ظاهر نمی‌شود؛ کامپیوتر شما با کامپیوتر برنامه‌نویس به نوعی تفاوت دارد. احتمال دارد که شما در مورد عمل‌کرد برنامه دچار سوءتفاهم شده باشید و نتیجه‌ای که شما مشاهده می‌کنید و فکر می‌کنید که اشتباه است همانی است که برنامه‌نویس می‌بیند و فکر می‌کند که صحیح است.پس توضیح دهید که چه اتفاقی می‌افتد. به برنامه‌نویس بگویید که چه می‌بینید و فکر می‌کنید که چه چیزی اشتباه است؛ و حتی بهتر است بگویید انتظار دارید چه چیزی ببینید. اگر بگویید «…و بعد درست کار نکرد» اطلاعات مهمی را حذف کرده‌اید.اگر پیام خطایی می‌بینید آن را شفاف و دقیق به برنامه‌نویس بگویید. پیام‌های خطا مهم هستند! در این مرحله برنامه‌نویس سعی نمی‌کند مشکل را حل کند، سعی می‌کند که آن را بیابد. او باید بداند که چه اشکالی بوجود آمده و پیام‌های خطا بهترین تلاش کامپیوتر برای بیان این موضوع هستند. اگر راه بهتری برای نگه‌داشتن پیام‌های خطا ندارید، آن‌ها را روی کاغذی یادداشت کنید. گزارش اینکه برنامه پیام خطایی می‌دهد بدون نوشتن آن پیام خطا بی‌ارزش است.بخصوص وقتی در پیام خطا عددی وجود دارد، اجازه دهید برنامه‌نویس آن عدد را در اختیار داشته باشد. اینکه شما مفهوم آن اعداد را نمی‌فهمید دلیل بر بی‌اهمیت بودن آن‌ پیام خطا نیست. اعداد زبانی دارند که برنامه‌نویس می‌تواند آن را متوجه شود و احتمالاً سرنخی برای یافتن علت بروز اشکال هستند. وقتی اعداد نمایش داده می‌شوند یعنی کامپیوتر آنقدر گیج شده که نمی‌تواند اشکال را در قالب کلمات بیان کند، با نمایش آن اعداد کامپیوتر اطلاعات با‌ ارزشی ارائه می‌کند.در این مرحله، برنامه‌نویس کاملاً نقش یک کارآگاه را بازی می‌کند. برنامه‌نویس نمی‌داند چه چیزی اتفاق افتاده و نمی‌تواند از نزدیک آن را تجربه کند، پس باید به دنبال سرنخی باشد که به منشاء مشکل برسد. پیام‌های خطا، اعداد بی‌معنی و حتی تأخیر غیر موجه برنامه مثل اثر انگشتی در صحنه‌ی جرم با‌ارزش هستند.اگر از یونیکس استفاده می‌کنید، ممکن است برنامه core dump تولید کرده باشد. Core dumpها منبع خوبی از اطلاعات هستند پس آن‌ها را دور نیاندازید. از طرف دیگر، اغلب برنامه‌نویسان از گرفتن فایل‌های core بزرگ از طریق ایمیل خوشحال نمی‌شوند. پس پیش از ارسال، حتماً از برنامه‌نویس بپرسید. همچنین آگاه باشید که فایل core حاوی رکوردی از همه‌ی اطلاعات برنامه‌ است: رمز‌های عبور (ممکن است برنامه اطلاعات خصوصی کاربر را نگه‌دارد یا به اطلاعات محرمانه‌ای دسترسی پیدا کند) هم در آن وجود دارد.«بعد از بروز اشکال، سعی کردم…»بعد از ظاهر شدن یک پیام خطا یا یک باگ کارهای زیادی می‌توان انجام داد. ولی بیشتر آن‌ها مشکل را بدتر می‌کنند. یکی از دوستان من همه‌ی فایل‌های word کامپیوترش را تصادفاً پاک کرد، بعد از آن به جای مشورت با یک متخصص، word را دوباره نصب کرد و بعد از آن Defrag را اجرا کرد. هیچکدام از آن‌ها به بازیابی فایل‌های پاک شده‌اش کمک نکردند و در‌ واقع آن اعمال سیستمش را به وضعیتی کشاندند که هیچ برنامه‌ی Undelete ای در دنیا نتواند آن‌ فایل‌ها را برگرداند. اگر او سیستمش را در همان وضعیت رها کرده بود، احتمالاً شانسی برای برگرداندن فایل‌هایش داشت.چنین کاربرانی مثل میمون پوزه‌درازی هستند که یک گوشه‌گیر افتاده باشد: وقتی پشت به دیوار باشد و مرگ را در برابرش ببیند دیوانه‌وار حمله می‌کند چون کاری کردن بهتر از هیچ کاری نکردن است! چنین رفتاری با مشکلات کامپیوتری چندان سازگار نیست.به جای میمون پوزه‌دراز بودن، بز کوهی باشید! وقتی بز کوهی با چیزی غیر منتظره یا ترسناک مواجه می‌شود، خشکش می‌زند. همانطور ثابت می‌ماند و سعی می‌کند جلب توجه نکند، موقعی که خشکش زده فکر می‌کند که بهترین کار برای خروج از این وضعیت چیست (اگر بزهای کوهی شماره تماس پشتیبانی فنی داشتند، احتمالاً در چنین وضعیتی با آنجا تماس می‌گرفتند) و پس از بررسی احتمالات، ایمن‌ترین راه ممکن را انتخاب می‌کنند.وقتی اتفاق بدی می‌افتد، فوراً کار را متوقف کنید. هیچ دکمه‌ای را کلیک نکنید. به صفحه نگاه کنید و هر چیز غیرعادی که اتفاق افتاد یادداشت کنید. سپس با احتیاط دکمه‌ی ok یا cancel را بزنید (هرکدام که ایمن‌تر است) سعی کنید عکس‌العمل مناسبی نشان دهید – خشکتان بزند!اگر تصمیم گرفتید از وضعیت بروز مشکل خارج شوید، با بستن برنامه یا با ریست کردن کامپیوتر، ایده‌ی خوبی است که سعی کنید دوباره آن اشکال را بوجود بیاورید. برنامه‌نویسان اشکالاتی که چند بار قابل تولید شدن هستند دوست دارند. فراموش نکنید که یک برنامه‌نویس خوشحال باگ‌ها را سریع‌تر و بهتر برطرف می‌کند.«فکر می‌کنم ماجول tachyon اشتباهاً پولاریزه شده»فقط غیر-برنامه‌نویسان نیستند که بد گزارش باگ می‌نویسند. بعضی از بدترین گزارش باگ‌هایی که در عمرم دیدم از برنامه‌نویسان بود و حتی از برنامه‌نویسان خوب.مدتی با برنامه‌نویس دیگری کار می‌کردم که در کدهای خودش باگ‌هایی پیدا می‌کرد و سعی می‌کرد آن‌ها را برطرف کند. هر از گاهی به باگی برمی‌خورد که نمی‌توانست آن‌ را برطرف کند، پس با من تماس می‌گرفت. من می‌پرسیدم «چه اشکالی بوجود آمده؟» و او چیزی که فکر می‌کرد باید اصلاح شود به من می‌گفت.وقتی ایده‌ش درست بود خیلی خوب بود. یعنی او قبلاً نیمی از کار را انجام داده و ما می‌توانستیم با هم کار را تمام کنیم. این خیلی مفید و مؤثر بود.ولی اغلب او اشتباه می‌کرد. مدتی کار می‌کردیم تا بفهمیم چرا یک بخش از برنامه داده‌ی غلط تولید می‌کند و بعد از نیم ساعت گشتن، ناگهان می‌فهمیدیم که آن بخش درست کار می‌کند و بخش دیگری مقصر است.مطمئنم او این کار را با یک دکتر نمی‌کند. «دکتر من یه نسخه برای تب کریمه کنگو می‌خوام» مردم می‌دانند که نباید چنین چیزی را به یک دکتر بگویند: شما علایم را تشریح می‌کنید، ناراحتی، درد، تورم یا سرگیجه و اجازه می‌دهید دکتر مشکل را پیدا کند و برای رفع آن دارو تجویز کند. در غیر اینصورت دکتر شما را مالیخولیایی تشخیص می‌دهد.در مورد برنامه‌نویسان هم همینطور است. ارائه‌ی تشخیصتان ممکن است گاهی مفید باشد، ولی همیشه علایم بروز اشکال را ذکر کنید. تشخیص علت بروز اشکال یک آیتم اضافی است نه یک جایگزین برای علایم بروز اشکال. همچنین، ارسال قسمتی از کد که تغییر داده شده و مشکل را برطرف می‌کند گزینه‌ی خوبی برای اضافه کردن است ولی معادل ذکر شرایط بروز باگ نیست.اگر برنامه‌نویس از شما اطلاعات بیشتری خواست، آن را از خودتان نسازید! شخصی باگی را گزارش کرده بود، من از او خواستم تا دستوری را وارد کند که می‌دانستم کار نخواهد کرد. دلیل اینکه از او خواستم تا آن را وارد کند این بود که می‌خواستم بفهمم کدام پیام خطا را تولید می‌کند و از روی آن پیام خطا ریشه مشکل را بیابم. ولی او آن دستور را وارد نکرد – فقط به من ایمیل زد و گفت «نه، این دستور کار نخواهد کرد». مدتی زمان‌ برد تا او را قانع کردم که آن دستور را بزند.استفاده از هوشتان برای کمک به برنامه‌نویس خوب است. ولی حتی اگر عملتان اشتباه باشد، آن را انجام دهید. برنامه‌نویس از اینکه سعی کرده‌اید زندگیش را آسانتر کنید، سپاسگزار خواهد بود. ولی علایم را هم گزارش کنید، در غیر اینصورت زندگیش را بسیار سخت‌تر خواهید کرد.«مسخره‌ است، یک دقیقه پیش کار کرد.»به هر برنامه‌نویسی بروز «مشکل تناوبی» را بگویید چهره در هم می‌کشد. آسانترین مسائل آن‌هایی هستند که با یک مرحله اجرای فرآیند مشکلشان بروز می‌کند. برنامه‌نویس می‌تواند این فرآیند را در شرایط آزمایشی بررسی کند و ببیند چه اتفاقی می‌افتد. بسیاری از مسائل به این شکل نیستند: برنامه‌هایی هستند که هفته‌ای یکبار دچار اشکال می‌شوند، یا ماهی یکبار، یا وقتی سعی کنید به برنامه‌نویس نشانشان دهید دچار اشکال نمی‌شوند ولی وقتی موعد تحویل کار نزدیک است همیشه دچار اشکال می‌شوند.بیشتر مشکلات تناوبی واقعاً متناوب نیستند. بیشتر آن‌ها منطقی دارند. بعضی از این مشکلات وقتی اتفاق می‌افتند که حافظه کم بیاید، بعضی وقتی پیش میایند که برنامه‌ی دیگری سعی کند فایلی را در زمان نامناسبی تغییر دهد و بعضی دیگر فقط نیم ساعت اول هر ساعت! (من خودم یکی از این باگ‌ها را دیده‌ام)همچنین اینکه شما می‌توانید باگی را تولید کنید که برنامه‌نویس نمی‌تواند آن را تولید کند به تفاوت کامپیوترهای شما برمی‌گردد. برنامه‌ای داشتم که پنجره‌اش در قسمت بالا سمت چپ پیچ می‌خورد و دچار اشکال می‌شد ولی این اشکال فقط بر روی صفحه نمایش‌های با رزولوشن ۸۰۰×۶۰۰ اتفاق می‌افتاد و با رزولوشن ۱۰۲۴×۷۶۸ بدون اشکال ظاهر می‌شد.برنامه‌نویس می‌خواهد هر اطلاعاتی که شما در مورد مسأله می‌توانید بدست آورید بداند. شاید بخواهد آن را روی ماشین دیگری امتحان کنید. آن را دو یا سه بار امتحان کنید و ببینید چند بار اشکال ظاهر می‌شود. اگر وقتی مشغول کار جدی هستید اشکال بروز می‌کند و وقتی می‌خواهید آن را توضیح دهید ظاهر نمی‌شود، احتمالاً اجرا برای طولانی مدت یا فایل‌های باز زیاد عامل بروز اشکال است.سعی کنید تا جایی که می‌توانید جزییات شرایط بروز اشکال را به خاطر بسپارید. اگر الگویی بین عوامل بروز اشکال می‌بینید آن را ذکر کنید. هر چیزی می‌تواند کمک کند. حتی اگر به نظر بی‌ارتباط باشد (مثلاً «به نظر می‌رسد وقتی Emacs در حال اجرا باشد برنامه‌ بیشتر دچار اشکال می‌شود»)، چنین جزییاتی ممکن است سرنخ مستقیمی به علت بروز مشکل نباشد ولی به برنامه‌نویس کمک می‌کند که اشکال را دوباره تولید کند.مهمتر از همه، اغلب اوقات برنامه‌نویس می‌خواهد مطمئن شود که با یک مسأله تناوبی واقعی روبروست یا یک اشکال مربوط به کامپیوتر. برنامه‌نویس اطلاعات زیادی از کامپیوتر شما می‌خواهد تا بداند که چقدر با کامپیوتر او متفاوت است. بسیاری از این جزییات به ماهیت برنامه ربط دارند ولی چیزی که قطعاً برای ارائه‌ی آن باید آماده باشید نسخه‌ی برنامه‌هایی است که استفاده می‌کنید. نسخه‌ی خود برنامه و نسخه‌ی سیستم عامل و احتمالاً نسخه‌ی برنامه‌هایی که با برنامه درگیر هستند.«پس من دیسک را به ویندوز بارگزاری کردم…»شفاف‌ نوشتن در گزارش باگ ضروری است. اگر برنامه‌نویس نفهمد که شما چه می‌گویید، احتمالاً مثل این است که شما اصلا چیزی نگفته‌اید.من از همه‌ی نقاط دنیا گزارش باگ دریافت می‌کنم. بسیاری از آن‌ها غیر انگلیسی زبان هستند و بسیاری از آن‌ها به خاطر ضعیف بودن انگلیسی‌شان عذرخواهی می‌کنند. عموما، عذرخواهی در گزارش باگ‌هایی است که مفید و شفاف هستند. اغلب گزارش‌های غیرشفاف از انگلیسی‌ زبانان است که تصور می‌کنند من زبانشان را می‌فهمم، این‌ها حتی تلاشی برای شفاف کردن یا دقیق‌تر بیان کردن منظورشان انجام نمی‌دهند.دقیق باشید. اگر فرآیندی به دو طریق قابل انجام است بیان کنید که از کدام روش آن را انجام دادید. «من بارگذاری کردم» می‌تواند «روی دکمه‌ی بارگذاری کلیک کردم» یا «من کلید‌های ALT+L را زدم» تصور شود. پس بگویید کدامیک را انجام داده‌اید. گاه این موضوع اهمیت دارد.مفصل بگویید. اطلاعات بیشتری بدهید. اگر زیاد بنویسید برنامه‌نویس می‌تواند بخشی از آن را نادیده بگیرد. اگر کم بگویید، برنامه‌نویس باید بیاید و سؤال‌های بیشتری بپرسد. گزارش باگی دریافت کردم که یک خط بود؛ هر موقع اطلاعات بیشتری می‌خواستم، گزارش دهنده یک جمله‌ی دیگر جواب می‌داد. چند هفته طول کشید تا به اطلاعات کافی رسیدم به این دلیل که هر بار گزارش دهنده فقط یک جمله تایپ می‌کرد.مواظب ضمیر‌ها باشید. از کلماتی مثل «آن» یا عبارات معرفه «همان پنجره» وقتی که باعث ابهام می‌شوند، استفاده نکنید. این را ببینید: «من برنامه‌ی FooApp رو اجرا کردم. اون یه پیام هشدار داد. سعی کردم که ببندمش و کرش کرد.» در اینجا شفاف نیست که کاربر سعی کرده کدام پنجره را ببندد. سعی کرده پنجره‌ی هشدار را ببندد یا کل برنامه را؟ به جای آن می‌توانید بگویید «من برنامه‌ی FooApp را اجرا کردم، که یک پیام هشدار داد. سعی کردم پنجره‌ی هشدار را ببندم که برنامه‌ی FooApp کرش کرد» این گزارش باگ طولانی‌تر است ولی شفاف‌تر بوده و درک آن آسانتر است.آنچه نوشته‌اید بخوانید. گزارش باگ را برای خودتان بخوانید و ببینید که از نظر خودتان شفاف است. اگر لیست اعمالی که باعث بروز باگ می‌شوند نوشته‌اید، خودتان یکبار آن‌ها را دنبال کنید و ببینید که چیزی را از قلم نیانداخته باشید.خلاصهمقصود از گزارش باگ نشان دادن اشکال برنامه به برنامه‌نویس است. اگر نمی‌توانید اشکال را به برنامه‌نویس نشان دهید، دستورالعملی بنویسید که با پیروی از آن برنامه دچار اشکال می‌شود.در صورتی‌‌که گام اول موفقیت آمیز نبود، و برنامه‌نویس نتوانست اشکال را ببیند، هدف دوم تشریح حالت بروز اشکال است. همه‌ چیز را با جزییات توضیح دهید. بگویید چه چیزی می‌بینید و انتظار دارید چه چیزی ببینید. پیام‌های خطا را یادداشت کنید، بخصوص پیام‌هایی که عدد در آن‌ها وجود دارد.وقتی کامپیوتر رفتاری غیر منتظره نشان می‌دهد، تکان نخورید. به هیچ چیز دست نزنید تا وقتی که آرام شوید. کاری که حدس می‌زنید خطرناک است انجام ندهید.اگر می‌توانید، با هر ابزاری سعی کنید ریشه مشکل را پیدا کنید، ولی اگر ریشه مشکل را یافتید، همچنان باید علایم بروز اشکال را در گزارشتان بنویسید.در صورت درخواست برنامه‌نویس، برای ارائه‌ی اطلاعات بیشتر حاضر باشید. اگر به اطلاعاتی نیاز نداشته باشد آن را از شما نمی‌خواهد. برنامه‌‌نویس سر به هوا نیست. نسخه‌ی برنامه‌ها را در دسترس داشته باشید چون به احتمال زیاد نیاز خواهند شد.شفاف بنویسید. بگویید که منظورتان چیست و مطمئن شوید که از آن برداشت دیگری نمی‌شود.از همه مهمتر، دقیق باشید. برنامه‌نویسان دقت را دوست دارند.……………………………………………………………………………………………………پانویس:- گزارش باگ، پیامی است که حاوی درست کار نکردن برنامه در یک یا چند قسمت است.- ترک دعوا: من خودم هیچ وقت میمون‌ پوزه‌دراز یا بز کوهی ندیدم. شاید جانورشناسی من درست نباشد.</description>
                <category>علی قنواتیان</category>
                <author>علی قنواتیان</author>
                <pubDate>Tue, 17 Mar 2020 19:49:36 +0330</pubDate>
            </item>
                    <item>
                <title>آیا ما در جنگ اقتصادی هستیم؟</title>
                <link>https://virgool.io/@ghanavatian.ali/%D8%A2%DB%8C%D8%A7-%D9%85%D8%A7-%D8%AF%D8%B1-%D8%AC%D9%86%DA%AF-%D8%A7%D9%82%D8%AA%D8%B5%D8%A7%D8%AF%DB%8C-%D9%87%D8%B3%D8%AA%DB%8C%D9%85-awxbk3qg6d5n</link>
                <description>اولین اتوبوس‌ها از ساعت ۶:۳۰ به ایستگاه‌ها وارد می‌شوند و مثل سابق تا ساعت ۹ با ترافیک ایستگاه‌ها مواجه هستیم. مترو مثل گذشته از ساعت ۵:۴۵ تا ۱۰:۳۰ شب کار می‌کند. تمامی سازمان‌ها و ادارات طبق برنامه‌ی زمانی گذشته به کار می‌پردازند. در ساعت کاری شرکت‌های خصوصی هم کوچکترین تغییری دیده نمی‌شود. حتی مغازه‌ها هم مثل گذشته و حتی کمی دیرتر شروع به کار می‌کنند. مشخصا این وضعیت هیچ تفاوتی با سال‌های گذشته از خود نشان نمی‌دهد.اخبار رسانه‌های جمعی بر محور تقبیح وضعیت اقتصادی کشورهای غربی و شکست‌های دشمنان منطقه‌ای مدیریت می‌شود و در این میان تشویق به خرید از کالاهای ایرانی و معرفی تولیدکنندگان برتر به متن اخبار کشیده شده است. در واقعیت اما قیمت کالاها و خدمات همپای دلار بالا رفته‌اند و هیچ تغییر محسوسی در کیفیت محصولات مشاهده نمی‌شود.این نتیجه فداکاری یک نسل است. ما برای فداکاری حاضریم؟حتمن می‌دانید بعد از جنگ جهانی دوم چیزی از اقتصاد ژاپن باقی نمانده بود ولی امروز ژاپن همتراز بزرگترین قدرت‌های اقتصادی دنیاست. به نظر شما جنگ اقتصادی ما پازل گمشده‌ای ندارد؟ یا شاید بهتر باشد بپرسم به نظر شما اصلا آیا ما در جنگ اقتصادی هستیم؟</description>
                <category>علی قنواتیان</category>
                <author>علی قنواتیان</author>
                <pubDate>Fri, 16 Aug 2019 10:40:15 +0430</pubDate>
            </item>
                    <item>
                <title>سحر خیز باش تا توانی به بازوی خویش!</title>
                <link>https://virgool.io/@ghanavatian.ali/%D8%B3%D8%AD%D8%B1-%D8%AE%DB%8C%D8%B2-%D8%A8%D8%A7%D8%B4-%D8%AA%D8%A7-%D8%AA%D9%88%D8%A7%D9%86%DB%8C-%D8%A8%D9%87-%D8%A8%D8%A7%D8%B2%D9%88%DB%8C-%D8%AE%D9%88%DB%8C%D8%B4-zkb199nsnyjo</link>
                <description>عکس از Andre Hunter در سایت Unsplashاز گذشته این ضرب المثل در بین ما وجود داشته. نه؟! از جد ارجمند من بپرسید. نامبرده همیشه ساعت ۹ شب می‌خوابید و ۶ صبح، کله سحر از خواب بیدار می‌شد. سحرخیزی چندان گزینه‌ و حق انتخابی برای این کشاورز زحمتکش نبود! اگه هم بود گزینه‌ی دشواری نبود!در کتاب «کِی؟ ترفندهای علمی زمان‌سنجی عالی» از «دنیل اچ. پینک» که از معدود کتاب‌های تحقیق محور و مستندی است که خوش ساخت است و حوصله آدم را سر نمی‌برد می‌خوانیم که انسان‌ها اساسا از نظر ساعت بیولوژیک به ۳ تیپ کلی تقسیم می‌شوند.تیپ گنجشک‌ها این‌ها همان مرغان سحری هستند که اول صبح ناله سر نداده! و خوشحال از خواب بیدار می‌شوند و در همان ساعات اولیه روز به راحتی می‌توانند روی مطلب مورد نظر و کار خود تمرکز پیدا کنند. این افراد از نظر ترکیب جمعیتی نزدیک ۲۰٪ عوام و خلق خدا را تشکیل می‌دهند.تیپ جغدها بزرگوارانی هستند که در ساعات اولیه روز اگر هم از خواب بیدار شده باشند، حوصله انجام کارهای جدی و متمرکز را ندارند. وقتی خورشید از نیمه‌ی آسمان گذشت، تمرکز این جماعت کم کم قوت می‌گیرد و تا قبل از نیمه‌های شب نمی‌توانند به خواب بروند! از نظر ترکیب جمعیتی، این عزیزان حدود ۲۰٪ جوامع بشری را تشکیل می‌دهند.تیپ جغجشک‌ها همانطور که حدس زده‌اید، این تیپ فی‌مابین ۲ تیپ قبلی جای می‌گیرند چرا که نه جغد جغدند و نه گنجشک سحر خیز، این تیپ از نظر جمعیتی ۶۰٪ جامعه را تشکیل می‌دهند و مشخصا ساعت شروع تمرکزشان چیزی بین صبح و بعد از ظهر است.پرسش کلیدی این است که:از کجا بفهمیم که به کدام دسته تعلق داریم؟ ما هر روز از ترس پیدا نشدن جای پارک و دیر رسیدن به سر کار مجبوریم بیدار شده و نشده خود را به محل کار برسانیم!- شما برنده‌ی کاپ تلاشگری هستید! ولی بدانید که انسان‌های موفق (از جنس پائلوکوئولینو و نه از جنس بابک زنجانی!) تمام طول روز کار نمی‌کنند - صادقانه نگاه کنیم شما هم تمام طول روز کار نمی‌کنید! - آن‌ها ساعتی که در آن بیشترین بازدهی و اثربخشی را دارند را به کار مشغول هستند و در باقی ساعات به احیا روحیه، انگیزه و تفکرات خویش مشغولند.پیشنهاد نویسنده‌ی این کتاب، دوست خوبم دنیل، این است برای اینکه بدانید به کدام دسته تعلق دارید و کشف کنید که در چه وقتی از روز هر ثانیه از وقتتان بیش از یک ساعت! از سایر ساعات روز ارزشمند است، کافی است یک شب بدون تلاش وقتی احساس خواب آلودگی کردید به خواب رفته و فردای آن شب ساعت بیدار شدنتان (بدون استفاده از ساعت (یا موبایل؟) شماته‌ای) را یادداشت نمایید.اگر آن ساعت پیش از ساعت ۸ صبح بود، شما به دسته‌ی اول تعلق دارید. اگر حدود ۱۱ صبح بود شما در دسته‌ی دوم طبقه‌بندی می‌شوید و اگر بین ۸ تا ۱۱ بود، شما در جمع اکثریت جامعه هستید.یک توصیه به کارمندانمهم نیست که در چه دسته‌ای قرار می‌گیرید، در هر صورت قدر ساعت‌های ارزشمند روزتان را بدانید و در تنظیم برنامه‌ی روزانه، ارزشمندترین ساعت را به کارهایی که حقیقتا برای کارتان حیاتی هستند اختصاص دهید. یک توصیه به مدیرانحتمن ساعت‌های ارزشمند افراد تیم کاری خود را شناسایی کنید و تلاش کنید زمانبندی جلسات را به نحوی تنظیم کنید که همه افراد در وضعیت تمرکز نسبی مناسبی باشند. اگر تیمی از جغدها و گنجشک‌ها دارید ابدا سعی نکنید همه را یکسان کنید، از ابزارهای مناسب برای هماهنگی استفاده کنید و اجازه دهید هر دو تیم بیشترین بهره‌وری را داشته باشند.یک نیمچه‌ توصیه به دانش‌آموزانتوصیه خاصی نیست! متاسفانه آموزش و پرورش تلاش بلیغی برای یکسان کردن شما دارد. اگر می‌توانید با همکلاسی‌ها مشارکت کنید و کتاب «کِی؟ ترفندهای علمی زمان‌سنجی عالی» را برای معلمتان بخرید تا او هم از تفاوت‌های ما انسان‌ها مطلع شود و حداقل بخاطر دیر آمدن‌های اول صبح به شما سخت نگیرد.</description>
                <category>علی قنواتیان</category>
                <author>علی قنواتیان</author>
                <pubDate>Thu, 15 Aug 2019 15:47:47 +0430</pubDate>
            </item>
                    <item>
                <title>رفتارشناسی سامورایی و نینجا</title>
                <link>https://virgool.io/@ghanavatian.ali/%D8%B1%D9%81%D8%AA%D8%A7%D8%B1%D8%B4%D9%86%D8%A7%D8%B3%DB%8C-%D8%B3%D8%A7%D9%85%D9%88%D8%B1%D8%A7%DB%8C%DB%8C-%D9%88-%D9%86%DB%8C%D9%86%D8%AC%D8%A7-x471sncnqmml</link>
                <description>عکس‌ دستکاری شده از ویکی پدیا و purepng.comهاه؟بعد از برف‌ و کولاک تابستانه مکزیک، حضور گسترده موج گرما در کشور و ورشکسته شدن عجیب شرکت مایکروسافت! و به دنبال دیدار نخست وزیر ژاپن با مقامات کشورمان شاهد حضور تعداد زیادی از مبارزان ژاپنی در سطح شهرها هستیم. لذا نیاز است هموطنان عزیزمان با این اتباع ژاپنی بیشتر آشنا شوند تا علاوه بر هم‌افزایی و همدلی با این عزیزان امکان استفاده از توانمندی‌های آن‌ها فراهم شود.خب همین الان اطلاع دادند که شرکت مایکروسافت موفق شد از ورشکستگی نجات پیدا کند. جای نگرانی نیست. بقیه مطلب کاملا صحیح است و به هیچ وجه مو لای درزش نمی رود. با خیال راحت به مطالعه‌ی خویش ادامه دهید...سامورایی و اما ساموراییاگر موقع رفتن به سر کار یا برگشتن از محل کار تصادفا فردی ژاپنی دیدید که با لباس فاخر ژاپنی، کلاه‌خود فلزی بر سر و شمشیری بر کمر به سمت سربالایی خیابان آهسته و مصمم قدم برمی‌داشت. این احتمال وجود دارد که او یک سامورایی باشد و احتمال بیشتری وجود دارد که اسم لباسش کومینو باشد. پس برای اینکه با او سر صحبت را باز کنید بجای «این لباس چیه پوشیدی؟» می‌توانید خردمندانه و محترمانه بپرسید «کومینو چند؟»سامورایی‌ها از طبقه ممتاز جامعه هستند، پس اگر جواب شما را ندادند اصلا روحیه خود را نبازید! اینقدر اصرار کنید تا به حرف بیایند. اگر احساس کردید آثار خشم در چهره‌‌شان هویدا شده، و شمشیر از غلاف بیرون کشیدند، فورا به آن‌ها پشت کنید. سامورایی‌ها رفتاری جوانمردانه دارند و همیشه رو در رو مبارزه می‌کنند. پس خیالتان از بابت شمشیرشان راحت باشد ولی در مورد نیزه‌ و تیر و کمانشان هیچ تعهدی وجود ندارد. در گذشته تلاش‌های زیادی صورت گرفت تا در خصوص آن‌ها هم شرایط مبارزه رودررو در نظر گرفته شود ولی دشمنان در مبارزه اغلب سر و کله‌ی خود را زیاد به اطراف می‌چرخاندند و پیدا کردن سمتی که از آنجا بشود تیر و نیزه را مستقیما به دشمن شلیک کرد خیلی دشوار بود. پس مجلس نمایندگان سامورایی‌ها این قانون را موقتا لغو کرد و از آن به بعد، این بند از مبارزات سامورایی‌ها هر سال تمدید می‌شود.نکته‌ی دیگر اینکه سامورایی‌ها معمولا برای امپراطور کار می‌کنند. پس اگر کاری داشتید که نیاز به تخصص یک سامورایی داشت، به راحتی می‌توانید خود را امپراطور معرفی کرده و کار خود را با خیال راحت به سامورایی مورد نظرتان بسپارید. در ضمن نگران پرداخت هم نباشید، معمولا سامورایی‌ها دستمزد خود را پس از انجام کار درخواست می‌کنند. با کمی چرب زبانی شاید بتوانید از پیش‌پرداخت هم طفره بروید یا موضوع پرداخت را با گفتن اینکه «بعدا هم کار زیاد دارم»، «من کلی آشنای سامورایی-لازم دارم» و «این رزومه خوبی برات میشه» عوض کنید. نینجا و کجاست نینجا؟حالا که متوجه شدید سامورایی چه شکلی است، شناختن نینجا اصلا سخت نیست. کافی است بدانید که نینجا هم مثل سامورایی یک مبارز است ولی گستره کارکرد بیشتری دارد. نینجاها از طبقه مرفه نیستند و لباس‌های تنگ و سیاهشان تمام صورتشان را می‌پوشاند. در گذشته دوربین‌های مدار بسته چندان پیشرفتی نداشتند و به همین دلیل مجبور بودند قسمت چشم‌ها را نپوشانند که همین مساله باعث بروز شکست‌های زیادی در ماموریت‌های نینجاها می‌شد. مطمئنا کنجکاو شدید که ماموریت‌های نینجاها چه چیزهایی است؟ماموریت‌های یک نینجا می‌تواند شامل اقدامات جاسوسی، مسموم‌سازی و ترور باشد. فراموش نکنید هیچ کس مثل یک نینجا نمی‌تواند جاسوسی کند البته بجز بچه‌های کوچکی که این روزها در هر خانه‌ای حداقل یک جفت از آن‌ها پیدا می‌شود. اطلاعاتی که یک نینجا ممکن است به شما بدهد به اندازه یک دهم اطلاعاتی که از این فسقلی‌ها می‌توانید به دست بیاورید، نیست. با این حال، تجربیات جنگ جهانی دوم و جنگ اعراب با اسراییل نشان داده نمی‌توان از فسقلی‌ها در هر ماموریتی استفاده کرد. پس اگر هدفتان یک جنگ تمام عیار نیست، می‌توانید از امکانات موجود استفاده کنید و در شرایطی غیر از آن مثل جنگ عروس و مادرشوهر حتمن از یک نینجا کمک بگیرید. فراموش نکنید نینجاها ثروتمند نیستند و مثل هر مزدور بی سر و پای دیگری دستمزد خود را پیش از انجام ماموریت می‌گیرند. پس اصلا سعی نکنید در خصوص رزومه و آشناها سر شوخی را با آن‌ها باز کنید. اساسا نینجاها هیچ تعهدی در خصوص مبارزه ندارند و پشت کردن به آن‌ها اصلا دفاع خوبی محسوب نمی‌شود. حتمن ستاره‌هایی که نینجاها پرتاب می‌کنند در کارتون‌ها یا فیلم‌ها دیده‌اید، بدانید که آن‌ها واقعی هستند. در صورت مشاهده ستاره‌های یک نینجا، به سرعت از مسیر عبور آن‌ها خارج شوید. هشدار این مساله‌ به شما داده شد! مسئولیت عواقب برخورد با ستاره‌ها به عهده‌ی خودتان است.چه کسانی باید از نینجاها و سامورایی‌ها بترسند؟بجز روبوکاپ و سوپرمن، سایر افراد جامعه می‌بایست از اینکه هدف ماموریت این بزرگواران قرار بگیرند خوف و هراس داشته باشند. ولی روستانشینان ژاپنی افرادی هستند که صرفنظر از اینکه هدف ماموریت آن‌ها باشند یا نه، از آن‌ها می‌ترسیدند چون آن‌ها بی‌ادبانه روستاهای آن‌ها را غارت می‌کردند و هیچ وقت از کارهای بد خود اظهار پشیمانی نمی‌نمودند.</description>
                <category>علی قنواتیان</category>
                <author>علی قنواتیان</author>
                <pubDate>Thu, 04 Jul 2019 18:32:14 +0430</pubDate>
            </item>
                    <item>
                <title>یک پست دیگر از this شناسی جاوا اسکریپت</title>
                <link>https://virgool.io/JavaScript8/%DB%8C%DA%A9-%D9%BE%D8%B3%D8%AA-%D8%AF%DB%8C%DA%AF%D8%B1-%D8%A7%D8%B2-this-%D8%B4%D9%86%D8%A7%D8%B3%DB%8C-%D8%AC%D8%A7%D9%88%D8%A7-%D8%A7%D8%B3%DA%A9%D8%B1%DB%8C%D9%BE%D8%AA-ap3uzfuboyzq</link>
                <description>چون قبلا قول داده بودم  در خصوص this مطلبی بنویسم، این مطلب را منتشر می‌کنم. دوستان دیگری در اینجا و اینجا همین مطلب را به قلم خود توضیح داده‌اند.من سعی می‌کنم مطلب را به شکل خلاصه و کنکوری بنویسم شاید در مرور مصاحبه به کار بیاید.به ۴ شکل کلی می‌توان this را به کار برد و نتایج متفاوتی گرفت. برای تشخیص صحیح، به روش فراخوانی متدی که this در آن قرار دارد توجه کنید:۱-  اگر این متد با new صدا زده شده است. مقدار this همان آبجکتی است که در اثر صدا زدن متد با new حاصل می‌شود. ( احتمالن در بدنه متد مقداری به آن داده شده است)مثالvar aberBank = new hesab(1000);
function hesab (mablagh) {
    this.mojoodi = mablagh;
}
console.log(aberBank.mojoodi); // 10000۲- اگر متد با کمک متدهای call یا apply صدا زده شده باشد یا در انتهای فراخوانی آن bind وجود داشته باشد، در این صورت مقدار this همان چیزی است که به عنوان آرگومان به این متدها ارسال شده است.var natije = mohasebat.call( inMoteghayerDarMethodeMohasebatHamanThisMishavad );
یا
var natije = mohasebat().bind( inMoteghayerDarMethodeMohasebatHamanThisMishavad );۳- اگر متد به شکل یکی از propertyهای یک آبجکت صدا زده شده باشد، مقدار this همان آبجکتی است که تعریف این متد را در برگرفته است.var natije = inObjectDarMethodeMohasebatHamanThisMishavad.mohasebat();۴- اگر وضعیت متد مطابق با هیچ یک از موارد فوق نبود، در صورت فعال بودن strict mode مقدار this برابر با undefined و در غیر اینصورت آبجکت global است.var natije = mohasebat();تمام.</description>
                <category>علی قنواتیان</category>
                <author>علی قنواتیان</author>
                <pubDate>Sat, 29 Jun 2019 15:10:41 +0430</pubDate>
            </item>
                    <item>
                <title>اصطلاح شناسی جاوا اسکریپت: lexical / dynamic scope</title>
                <link>https://virgool.io/@ghanavatian.ali/%D8%A7%D8%B5%D8%B7%D9%84%D8%A7%D8%AD-%D8%B4%D9%86%D8%A7%D8%B3%DB%8C-%D8%AC%D8%A7%D9%88%D8%A7-%D8%A7%D8%B3%DA%A9%D8%B1%DB%8C%D9%BE%D8%AA-lexical-dynamic-scope-orerf7bvrvcj</link>
                <description>Photo by Markus Spiske temporausch.com from Pexelsهمانطور که در عنوان قابل مشاهده است عبارت lexical scope از دو کلمه تشکیل شده. پس کار را با معرفی scope شروع کرده و سپس به توصیف وضعیتی که مشهور به lexical است بپردازم.معرفی scopeقطعه کد زیر را در نظر بگیرید.var mahsool = &#039;pashmak&#039;;
function chap () {
   console.log(mahsool);
}
chap();دلیل اینکه این کد عبارت «pashmak» را در کنسول چاپ می‌کند این است که جاوا اسکریپت وقتی به قصد اجرا وارد بدنه فانکشن chap می‌شود می‌بیند که چیزی به اسم mahsool می‌بایست به تابع console.log بدهد. پس جستجویی را برای یافتن آن آغاز می‌کند. این جستجو در چند محدوده اجرا می‌شود و به این محدوده‌ها اصطلاحا scope گفته می‌شود. اولین scope طبیعتا در بدنه همین تابعی است در حال اجرای آن است (در اینجا فانکشن chap). مشخصا این جستجو موفقیت آمیز نخواهد بود. پس از این شکست، جاوا اسکریپت به دنبال پیدا کردن مقدار متغییر در محلی که تابع در آن صدا زده می‌گردد و این بار موفق می‌شود متغییر mahsool = &#x27;pashmak&#x27;‎ را بیابد و نهایتا آن را در کنسول چاپ کند. به محدوده‌هایی که سیستم در آن‌ها به دنبال مقدار یک متغییر می‌گردد اصطلاحا Scope گفته می‌شود. سیاست Lexical Scopeحال قطعه کد زیر را در نظر بگیرید.function tashih_ba_daste_baste() {
 console.log( nomre ); // 9.75
 }
 
 function tashih() {
   var nomre = 10;
   tashih_ba_daste_baste();
 }
 
 var nomre = 9.75;
 tashih();خب خروجی کد بالا ۹.۷۵ است! متاسفم. دلیل این مساله در استراتژی جاوا اسکریپت در انتخاب scope هاست. وقتی جاوا اسکریپت متد tashih را اجرا می‌کند، به فانکشن tashih_ba_daste_baste می‌رسد. مشخصا در اسکوپ این فانکشن هیچ خبری از متغییر nomre نیست. پس به سراغ جایی که اولین بار متد tashih در آن نوشته شده می‌رود و گم شده خویش را در آنجا می‌یابد (خط ۱۰ و ۱۱ - با تشکر از آقا محسن عزیز). به این سیاست اصطلاحا Lexical Scope گفته می‌شود.در Lexical Scope در صورت پیدا نشدن متغییر در اسکوپ فعلی، اسکوپ بعدی جایی است که تابع در آنجا نوشته شده است.سیاست Dynamic Scopeقطعه کد زیر را در نظر بگیریدfunction tashih_ba_daste_baaz() {
	console.log( this.nomre ); // 10  (na 9.75!)
}

function tashih() {
	this.nomre = 10;
	tashih_ba_daste_baaz();
}

this.nomre = 9.75;

tashih();تبریک می‌گم! خروجی کد بالا ۱۰ است. اما چطور؟جاوا اسکریپت در خصوص متغییر کلیدی this رفتار ویژه‌ای اتخاذ می‌کند. چون this ژن‌ خوبی دارد، وقتی در اسکوپ فعلی آن را پیدا نکند، به سراغ جایی که متد حاوی this را صدا زده می‌رود و از ایشان می‌پرسد: معذرت می‌خوام ایشون آقا زاده شما هستن؟ اگر جواب منفی بگیرد باز هم از پا نمی‌نشیند و سراغ فانکشن‌هایی که آن فانکشن‌ها را صدا زده اند می‌رود و القصه اینکار تا خود اسکوپ global ادامه پیدا می‌کند.اسکوپ گلوبال (global scope) بالاترین سطحی است که جاوا اسکریپت برای پیدا کردن متغییرها به آنجا سر می‌زند. هر متغییری خارج از بدنه یک function تعریف شده باشد در سطح global قرار می‌گیرد. به عنوان مثال در محیط مرورگرها، آبجکت window یک متغییر در سطح گلوبال است.پس در اینجا وقتی tashihe_ba_daste_baz هیچ تعریفی در خصوص this.nomre ندارد، کار جستجو در متد tashih دنبال می‌شود. در آنجا this.nomre = 10 دیده می‌شود و جستجو خاتمه می‌یابد و بقیه کار دنبال می‌شود. به این ترتیب است که سیاست Dynamic Scope در این کد اجرا می‌شود.در Dynamic Scope در صورت پیدا نشدن یک متغییر، جستجو برای پیدا کردن آن در سلسله توابعی منجر به اجرا شدن این فانکنشن شده‌اند، دنبال می‌شود.در آینده نزدیک مطلبی در خصوص روش‌های تشخیص مقدار this از روی کد خواهم نوشت.</description>
                <category>علی قنواتیان</category>
                <author>علی قنواتیان</author>
                <pubDate>Sat, 22 Jun 2019 12:38:20 +0430</pubDate>
            </item>
                    <item>
                <title>مدیریت حافظه در جاوا اسکریپت</title>
                <link>https://virgool.io/dataio/%D9%85%D8%AF%DB%8C%D8%B1%DB%8C%D8%AA-%D8%AD%D8%A7%D9%81%D8%B8%D9%87-%D8%AF%D8%B1-%D8%AC%D8%A7%D9%88%D8%A7-%D8%A7%D8%B3%DA%A9%D8%B1%DB%8C%D9%BE%D8%AA-lgpz5u1aae8p</link>
                <description>Image by netkids from Pixabayمدیریت حافظه در زبان‌های سطح پایین (پایین‌تر از جاوا اسکریپت!) مثل C می‌بایست از طرف برنامه‌نویس انجام شود. توابعی برای درخواست حافظه و آزادسازی آن وجود دارد که به فراخور نیاز می‌بایست به کار بسته شوند. ولی در زبان‌های سطح بالا مثل جاوا اسکریپت (یا مثلا جاوا) عملیات مدیریت حافظه در پشت صحنه به کمک فرآیندی مشهور به Garbage Collection انجام می‌شود.فرآیند Garbage Collectionطبیعتا هر زمان متغییری تعریف شود، حافظه‌ای برای آن در نظر گرفته می‌شود. var yekNumber = 20; // takhsise hafeze baraye number
var yekString = &#039;salam&#039;; // takhsise hafeze baraye string 
var yekObject = { pi: 3.14 }; // takhsise hafeze baraye object
var yekArray = [ 10, 20, 3, 15, 1000, &#039;o&#039;, 60, 16]; // takhsise hafeze baraye array
function doBarabar(a) {
   return 2 * a;
} // takhsise hafeze baraye functionوقتی دیگر به آن حافظه نیازی نباشد، جاوا اسکریپت آن حافظه را آزاد می‌کند تا بعدا از آن برای مصارف دیگر استفاده شود. پیدا کردن حافظه‌هایی که دیگر مورد نیاز برنامه‌ نیستند بر عهده واحد Garbage Collector است. چیزی شبیه ماشین جمع آوری زباله از سطح شهر!برای تشخیص حافظه‌های بلااستفاده چند الگوریتم استفاده می‌شود که دو الگوریتم اصلی آن‌ها معرفی می‌شود:الگوریتم رفرنس-شماری Reference-counting garbage collectionالگوریتم نشان-و-گردش Mark-and-sweep algorithmالگوریتم رفرنس-شماریاین مهمترین الگوریتم جمع آوری حافظه است. اگر در الگوریتم رفرنس-شماری، تعداد رفرنس‌های یک متغییر صفر باشد، حافظه آن متغییر (در راه خدا؟) آزاد می‌شود.مثالvar khune = { divare_shomal: { panjere: 2 } };
// 2 object sakhte shode. &quot;panjereh&quot; be onvane propertie &quot;divare_shomal&quot; be shey-e &quot;divare_shomal&quot; reference mishavad

var khune = &#039;dasht&#039;; // hafeze i k &quot;divare_shomal&quot; dar &quot;khune&quot; gerefter bud, hala digar reference nadarad va azad-saazi mishavad.بحران حلقهfunction hazfe_fesaad () {
   var masool = {};
   var ghanoon = {};
   
   ghanoon.sazande = masool;
  masool.sazande = ghanoon;
  
      return &#039;ok.&#039;;
}همانطور که در قطعه کد بالا دیده می‌شود متغییر masool در ghanoon رفرنس شده است و متغییر ghanoon در متغییر masool مورد رفرنس قرار گرفته است. دوستان، به چنین وضعیتی حلقه گفته می‌شود. وقتی که اسکوپ از این حلقه عبور کند با وجود اینکه این دو متغییر گرامی بلااستفاده هستند، این الگوریتم قادر به آزاد سازی حافظه‌ای که اشغال کرده‌اند نمی‌باشد و این‌ها همچنان به یکدیگر رفرنس خواهند داشت. این وضعیت باعث بروز نشت حافظه یا اصطلاحا memory leaks می‌شود. پدیده‌ای شیطانی که باعث انحطاط سیستم می‌شود. در اثر هر بار فراخوانی این متد، بیشتر و بیشتر حافظه مصرف می‌کند و وقتی دیگر حافظه‌ای باقی نماند سیستم به سراغ هارد می‌رود و پس از مدتی سیستم چنان درگیر خواهد شد که قادر به انجام هیچ کاری نخواهد بود. ساعت‌ها خواهد گذشت تا یک درخواست ساده ctrl + alt+ delete اجرا شود چون سیستم مشغول انتقال محتویات حافظه به هارد و هارد به حافظه خواهد بود.الگوریتم نشان-و-گردشسیستم جمع آوری حافظه از این الگوریتم برای آزاد سازی حافظه وقتی که یک متغییر دیگر در دسترس نیست استفاده می‌کند.سیستم ابتدا تمام ابجکت‌ها و متغییرهای عمومی و گلوبال را پیدا می‌کند. سپس تمام متغییرهایی که توسط آن‌ها و متغییرهای آن متغییرها رفرنس می‌شود، شناسایی می‌کند. به این ترتیب، متغییرهایی که در دسترس هستند و عواملی که در دسترس نیستند شناسایی می‌شود. سپس در یک اقدام سریع تمام عناصری که در دسترس نباشند به صورت خودکار حذف می‌شوند و حافظه‌ای که اشغال کرده‌اند آزاد می‌شود.این نوشته با الهام از این متن که خود از نود سیمپیلی‌فاید اقتباس شده نوشته شده است.</description>
                <category>علی قنواتیان</category>
                <author>علی قنواتیان</author>
                <pubDate>Wed, 19 Jun 2019 11:20:44 +0430</pubDate>
            </item>
                    <item>
                <title>شیر بدشانس یا سوسمار مکار؟</title>
                <link>https://virgool.io/@ghanavatian.ali/%D8%B4%DB%8C%D8%B1-%D8%A8%D8%AF%D8%B4%D8%A7%D9%86%D8%B3-%DB%8C%D8%A7-%D8%B3%D9%88%D8%B3%D9%85%D8%A7%D8%B1-%D9%85%DA%A9%D8%A7%D8%B1-sy17vosk4qd5</link>
                <description>منبع: cheezburger.com یه دقیقه این ویدیو - که صداش رو حذف کردم - رو ببینین... https://www.aparat.com/v/StzrT منبع: اینستاگرامحتمن فکر می کنین بیچاره! چه گاو بدشانسی بوده، به این قسمتش کاری ندارم. در مورد شیر چی فکر می کنین؟ اونم بدشانس بوده؟ سوسمار چطور؟ این چند خط رو بخونین... اگه نظرتون عوض شد بهم بگین :)ماجرا از اونجایی شروع شد که با شروع فصل خشکسالی سوسمار که توی فصل ترسالی چیز زیادی واسه خوردن پیدا نکرده بود تصمیم گرفت خوردن نارگیل رو امتحان کنه.چرا نارگیل؟آخه وقتی میمون‌ها اومده بودن بالای برکه چند تا نارگیل همراهشون بود و با ارامش خاصی مشغول خوردنش شده بودن. این بود که سوسمار گرسنه با خودش گفت چرا که نه؟ شاید مزه آهو بده!بگذریم، وقتی سوسمار واسه پیدا کردن نارگیل وسط جنگل اومده بود تازه فهمید که میمون‌ها سر کارش گذاشته بودن و درخت نارگیل اونقدر بلنده که نمیشه به میوه‌هاش رسید.ناامید و خسته برگشت به برکه‌ی محقرش برگرده که دید شیره و خانمش دعوا و سر و صداشون بالا گرفته.«خسته شدم از بس کباب گاو و کباب اهو خوردم!» آقا شیره می گفت. خانمشم می گفت تو دیگه منو دوست نداری رفتارت از دوران نامزدیمون خیلی عوض شده! ننه م راست می گفت شما مردا همتون تنوع طلبین! اصلا من می رم گله بابام!وقتی خانم شیره رفت. سوسمار فکری به سرش زد. آهسته رفت سراغ شیره و یواشکی گفت: «کباب غذای خسته کننده ایه!»شیره برگشت و با تعجب گفت: «تو هم از کباب خسته شدی؟»سوسماره که صدای شکمش داشت بلند میشد خمیازه ای پر سر و صدا کشید و گفت: «نعععععع. من گاهی ابگوشت می خورم! و به نظرم از کباب خوشمزه تره!»شیره گفت منم می خوام!... حالا دوباره ویدیو رو ببینین!</description>
                <category>علی قنواتیان</category>
                <author>علی قنواتیان</author>
                <pubDate>Wed, 05 Jun 2019 11:35:57 +0430</pubDate>
            </item>
                    <item>
                <title>نگاهی به فیلم glass</title>
                <link>https://virgool.io/@ghanavatian.ali/%D9%86%DA%AF%D8%A7%D9%87%DB%8C-%D8%A8%D9%87-%D9%81%DB%8C%D9%84%D9%85-glass-lpcuteue7cyl</link>
                <description>فیلم glass تا حالا فکر کردین اگه واقعن یه بابایی کارهایی مثل سوپرمن یا اسپایدرمن می کرد چی میشد؟الان بهش فکر کنین!خیلی خب اگه فکرتون نمیاد جوابش رو می تونین از این فیلم بگیرین. وقت فیلم دیدن ندارین؟باشه! من بهتون می گم... سر از آسایشگاه روانی درمیاورد!!!تو این فیلم می بینین که چطور ۳ فقره سوپر هیرو رو توی یه آسایشگاه روانی نگه داری می کنن! بهشون شوک می‌زنن و به جلسات گروه درمانی می برن!جالب اینکه یکیشون (ساموئل جکسون) اساسا یه افلیجه که حتی نمی تونه حرف بزنه!کدوم آدم عاقلی همچین فیلمی می سازه؟جناب نایت شیامالان! کی؟! یه هندی پولدار شده تو امریکا.پانویس ۱: نسخه هندی گیم اف ترونز رو از دست ندین. :))</description>
                <category>علی قنواتیان</category>
                <author>علی قنواتیان</author>
                <pubDate>Sat, 01 Jun 2019 06:48:56 +0430</pubDate>
            </item>
                    <item>
                <title>چرا ایمیل موقت؟ چرا شماره غلط؟</title>
                <link>https://virgool.io/@ghanavatian.ali/%DA%86%D8%B1%D8%A7-%D8%A7%DB%8C%D9%85%DB%8C%D9%84-%D9%85%D9%88%D9%82%D8%AA-%DA%86%D8%B1%D8%A7-%D8%B4%D9%85%D8%A7%D8%B1%D9%87-%D8%BA%D9%84%D8%B7-ocntoqwsumnq</link>
                <description>چرا اینقدر به ایمیل من نیاز داری؟
باور کنین یا نه «ایمیل» و «شماره موبایل» جزو دارایی‌های مجازی آدم‌هاست. ابوالفضل همیشه می‌گفت: «غذات رو بخور! وقتی سیر شدی، بعد پول رو بده!»اگه توی فرم ثبت نام یا لینک دانلود کتابی که تازه ترجمه کردی یا نوشتی ایمیل رو اجباری کردی و شماره موبایل رو هم به زور سرنیزه ولیدیشن می‌خوای بگیری شک نکن یه عده آدم باهوش پیدا می‌شن که از ایمیل موقت و شماره موبایل‌های موقتی یا حتی غلط استفاده کنن واسه اینکه فقط بیان تو، فایل‌ رو بگیرن و بگن «why so serious»پس اگه واقعن اون ایمیل و شماره تلفن واقعی رو می‌خوای. صادقانه علتش رو بگو.  شاید کسی حاضر نشه ایمیل واقعیش رو بهت بده - بخاطر اینکه بهترین چیزی که به ذهنت رسیده فروش ایمیل به اسپمرهاست - ولی حداقل احتمالش بیشتره که یه آدرس ایمیل واقعی بگیری که - احتمالا سال‌هاست دیگه چک نمیشه و فقط - کارکردش اینه که قابل فروشه!و یک نکته‌ی ظریف اینکه، اگه بعد از دادن کتاب یا اجازه تجربه‌ سیستم به کاربر امکان اعلام ایمیل یا پرداخت وجه رو بدی، مخاطبی که از کارت خوشش اومده باشه از خجالتت درمیاد. به نظرم آدم‌های خوبی هستن که هنوز قدر اعتماد و ارزش کار پرزحمت رو می‌شناسن.به عنوان یک تصمیم گیرنده ترجیح می‌دین از قبل اطلاعات کاربرتون رو بگیرین یا بهش اعتماد می‌کنین؟به عنوان یک مصرف کننده نظرتون چیه؟راه سومی می‌تونه وجود داشته باشه؟</description>
                <category>علی قنواتیان</category>
                <author>علی قنواتیان</author>
                <pubDate>Wed, 29 May 2019 16:26:54 +0430</pubDate>
            </item>
                    <item>
                <title>بیشعوری در نتورک مارکتینگ</title>
                <link>https://virgool.io/@ghanavatian.ali/%D8%A8%DB%8C%D8%B4%D8%B9%D9%88%D8%B1%DB%8C-%D8%AF%D8%B1-%D9%86%D8%AA%D9%88%D8%B1%DA%A9-%D9%85%D8%A7%D8%B1%DA%A9%D8%AA%DB%8C%D9%86%DA%AF-ozaqqvtbgobu</link>
                <description>بیشعوری در نتورک مارکتینگ - با طعم خاویار کرمنتسال ها بیشعوری در حوزه فروش محدود به کم فروشی و یا فروش جنس تقلبی و بدرد نخور بود. بیشعورهای فروشنده با چرب زبانی و وقاحت اجناس و خدمات مزخرف خود را به مشتریان نگون بخت می فروختند و پیش از اینکه مشتری فرصتی برای رو برگرداندن داشته باشد، ناپدید می‌شدند. تا اینکه تعدادی از بیشعورهای کله گنده متوجه شدند، می‌شود با سازماندهی بعضی بیشعورها و ایجاد یک شبکه از بیشعورهای فروشنده به قدرت بیشتری رسید.نتورک‌های اولیه همان شبکه‌های هرمی بودند که عده ای پول می‌دادند و یک نفر پول‌ها را برمی‌داشت و با بقیه خداحافظی می‌کرد. بعدا بیشعورها متوجه شدند این سیستم زیادی ساده است و زود لو می‌رود. لذا تصمیم گرفتند مکانیزم‌های پیچیده‌تری از ریاضی‌دان‌ها قرض بگیرند.البته روش کار همیشه به نفع بیشعور زرنگ‌تر حفظ می‌شد ولی گاهی صحبت از یک محصول تخیلی از جنس طلا و پلاتینیوم به میان می‌آمد که مخاطبان را متعجب کرده و فریب می‌داد.امروز در کمتر کشوری نتورک مارکتینگ قانونی نیست. جورج مارتین از اعضای حزب کارگر در پارلمان می‌گوید: «به نظر من که نتورک مارکتینگ از کار کردن در معدن بهتر است. من هیچ وقت در معدن کار نکردم ولی ما این را قانونی می‌کنیم. چون به هر حال می‌شود مالیاتش را از کسانی که پولدار می‌شوند، گرفت. برای بقیه هم بالاخره یک سرگرمی است و نرخ بیکاری را پایین نگه می دارد.»  دکتر پاتریک زولمرویل پس از ۶ سال تحقیقات گسترده بر روی اعضای بیش از صد شرکت فعال در نتورک مارکتینگ در کتاب نتورک مارکتینگ یا بیشعوری مارکتینگ، چنین می‌نویسد:حقیقتا شگفت آور است که تحلیل‌های آماری نشان می‌دهد احتمال بیشعوری رهبران شبکه های نتورک مارکتینگ با نسبت بیشعورهایی که در آن نتورک فعالیت دارند برابری می کند. نتایج این تحقیقات البته دور از انتظار نبود. مشاهدات عینی نشان داده است بیشعوران نتورک‌ها در برابر افرادی که حاضر به ورود به مجموعه آن ها و خرید نباشند برخوردهایی وقیحانه، بی شرمانه و کاملا بدوی دارند.یک بیشعور-نتورک درمان شده پس از ۱۸ ماه قرنطینه در مرکز تخصصی بیشعور درمانی ماساچوست به پروفسور تامسون می گوید: &quot;میزان خودشیفتگی و وقاحت خویش را روز به روز افزایش می دادیم. هدف خاصی نداشتیم و با چندر غاز پولی که بدست می آوردیم خودنمایی می کردیم و بقیه را وادار می کردیم در مورد آن در جلسات پرزنت صحبت کنند... ابدا به پس انداز اعتقادی نداشتیم. برای بدست آوردن اهداف جاه طلبانه مواد مصرف می‌کردیم و رپ گوش می‌دادیم...&quot;لازم به ذکر است بیشعورهایی که در سطوح بالای نتورک مارکتینگ فعالیت‌ می کنند نسبت به ترویج بیشعوری و فراگیر شدن آن تلاش شگفت‌آوری از خود نشان می دهند. در جزوه های آموزشی یک نتورک منحل شده در اثر بیشعورزدگی گسترده می خوانیم:مهم نیست فرد پرزنت شده چه می گوید، مهم این است که تا وقتی پول را از جیبش خارج نکرده اید ماموریت شما به پایان نرسیده است. سعی کنید حتمن او را به جلسات بعدی بکشانید. در این راه از هیچ تلاشی رویگردان نشوید. دروغ بگویید، داستان سرایی کنید. اگر به زبان خوش نیامد، اعضای خانواده ش را گروگان بگیرید. اگر تنها بود به خانه ش حمله کنید و جلسه را همانجا برگزار کنید! هیچ عذر و بهانه‌ای قابل پذیرش نیست.از مواردی که در سیستم‌های نتورکی مستعد بیشعوری دیده می‌شود ترغیب اعضا به خریدهای مضاعف است. با توجه به ماهیت این سیستم‌ها اعضا موظف به خریدهای بیشتر هستند در غیر اینصورت مورد غضب واقع می‌شوند. در ادامه همان جزوه‌ای که ذکر آن رفت، چنین آمده است: پس از اینکه یکبار خرید انجام شد آسوده نشوید و کار فروش را مثل چلاندن خمیردندان تکرار کنید و مطمئن شوید عضو جدید آه در بساط ندارد و مجبور به همکاری است، آنگاه او را به جان اطرافیانش بیاندازید تا آن ها هم از نعمت نتورک بی‌نظیر شما بی‌نصیب نمانند! هیچ وقت فراموش نکنید پورسانت شما در جیب اوست!پرسش های این بخش:آیا عضو یک نتورک هستید؟ چند بیشعور در رده های بالا سری خود می شناسید؟آخرین باری که در مورد زندگی مرفه یکی از اعضای نتورکتان سخن گفتید کی بود؟اخیرا کسی را پرزنت کرده اید؟ او موفق به فرار شد؟در جلسات پرزنت سعی می‌کنید نتورکتان را عالی و بی‌نقص معرفی کنید؟ چرا؟</description>
                <category>علی قنواتیان</category>
                <author>علی قنواتیان</author>
                <pubDate>Fri, 24 May 2019 00:55:15 +0430</pubDate>
            </item>
            </channel>
</rss>