<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های Ali Zolfaghar</title>
        <link>https://virgool.io/feed/@azolfaghar</link>
        <description></description>
        <language>fa</language>
        <pubDate>2026-06-10 12:31:42</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/241004/avatar/avatar.png?height=120&amp;width=120</url>
            <title>Ali Zolfaghar</title>
            <link>https://virgool.io/@azolfaghar</link>
        </image>

                    <item>
                <title>سامانه مشارکت الکترونیک دولت</title>
                <link>https://virgool.io/@azolfaghar/%D8%B3%D8%A7%D9%85%D8%A7%D9%86%D9%87-%D9%85%D8%B4%D8%A7%D8%B1%DA%A9%D8%AA-%D8%A7%D9%84%DA%A9%D8%AA%D8%B1%D9%88%D9%86%DB%8C%DA%A9-%D8%AF%D9%88%D9%84%D8%AA-zfdvqurnqquu</link>
                <description>امروز یک عنوان جذاب دیدم : ( سامانه مشارکت الکترونیک دولت (ایران یار) ) رفتم و وارد سایت شدمسایت کند بار گذاری شد و کمی آزار دهنده بود ، کنسول network کروم رو که نگاه کردم علت رو متوجه شدم :95 requests313 kB / 4.6 MB transferred302 kB / 9.2 MB resourcesFinish: 55.41 sطراحی صفحه اول بسیار جذاب بودسایت با next.js  و react پیاده شده بود و از tailwind برای css استفاده شده بودو خوشحال شدم از اینکه از فناوری های به روز استفاده شده.متاسفانه تجربه دلچسبی از فناوری های استفاده شده در دولت ندارم (از استفاده از سرویس ها SOAP گرفته تا چار چنگولی چسبیدن به backend های پیاده شده با جاوا که code هاشون ماله 10 ساله پیشه و هنوزم دارن توی دولت استفاده میکنن و حتی رعایت نکردن حداقل قوانین REST توی وب سرویس های ارائه شده روی GSB)تصمیم گرفتم یک پرسشنامه رو تکمیل کنم و ببینم از نظر تجربه کاربری چطوره&quot; پرسشنامه مشارکت در تصمیم گیری آئین نامه تاسیس مرکز فرهنگی دیجیتال وزارت فرهنگ و ارشاد اسلامی &quot; رو انتخاب کردمکلید &quot; در نظر سنجی شرکت میکنم  &quot;  رو کلیک کردم و وارد نطر سنجی شدمیک صفحه آمد با یک کلید با نام &quot; بازگشت &quot; در بالابدون عنوان نظر سنجی (یعنی مشخص نبود دارم چه نظر سنجی رو شرکت میکنم)و سوال شماره 1 :  &quot; میزان دسترسی و سهولت در ثبت نام جهت اخذ مجوز را چگونه ارزیابی می نمایید؟ &quot;و جواب هایی که منو شگفت زده کرد  : کاملا موافقم ، موافقم ، نظری ندارم ، مخالفم ، کاملا مخالفماین جواب ها به زبان فارسی ، عربی ، عبری و … هیچ پاسخ مناسبی برای اون سوال نبود ، مثلا پاسخ به سوال با استفاده از گزینه های پیش رو تبدیل می شد به این جمله : میزان دسترسی و سهولت در ثبت نام جهت اخذ مجوز را  را من &quot; کاملا موافقم &quot; ارزیابی میکنم ؟احتمال دادم شاید این یک سوال این مدلی قاطی بقیه بر خورده باشه . رفتم سوال بعدی.سوال بعد : میزان موثر بودن دستورالعمل در رفع نیازهای شما چگونه بوده است؟و همان جواب های بی سر و ته  و بی ربط : کاملا موافقم ، موافقم ، نظری ندارم ، مخالفم ، کاملا مخالفمو از همه شگفت انگیز تر این که هیچ کلیدی وجود نداشت که برگردم به سوال قبل و نظرم رو اصلاح کنمدر خصوص SEO سایت و نتایج سرچ گوگل به دنبال کلمه کلیدی &quot;ایران یار&quot; چیزی نمیگم چون خدا رو شکر با سرچ &quot;سامانه مشارکت الکترونیک دولت&quot; بالاخره اون وسط ها یه لینک مرتبط پیدا کردم.عرض کنم در خصوص یک سایت ملی که پایینش نوشته Powered by ITO و یک پروژه ملی که توسط سازمان فناوری اطلاعات اجرا شده باشه ، (نمیگم واقعا خجالت آوره ولی) انتظار خیلی بیشتری داشتم.امیدوارم به جای موضع گیری، اشکالات رو بپذیرند و به دنبال اصلاح و رفع اون ها باشند</description>
                <category>Ali Zolfaghar</category>
                <author>Ali Zolfaghar</author>
                <pubDate>Sat, 14 Dec 2024 10:24:00 +0330</pubDate>
            </item>
                    <item>
                <title>یک فلش برای بوت کردن از طریق چندین ISO</title>
                <link>https://virgool.io/@azolfaghar/%DB%8C%DA%A9-%D9%81%D9%84%D8%B4-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%A8%D9%88%D8%AA-%DA%A9%D8%B1%D8%AF%D9%86-%D8%A7%D8%B2-%D8%B7%D8%B1%DB%8C%D9%82-%DA%86%D9%86%D8%AF%DB%8C%D9%86-iso-onuwfcjuuzfx</link>
                <description>با استفاده از نرم افزار Ventoy میتونید یک فلش درایو bootabe بسازید و فایل های ISO مورد نیاز تون رو توی اون کپی کنید.حالا میتونید با استفاده از این فلش سیستم رو boot کنید و از منوی نمایش داده شده ، لیست فایل های ISO داخل فلش رو انتخاب کنید و سیستم رو با استفاده از اون ISO بوت کنید .چند سال قبل برای این کار یک هارد باکس مارک zalman تهیه کرده بودیم که یک هارد لپ تاپی توی اون قرار میگرفت و فایل های ISO رو توی اون کپی میکردیم و میتونستیم از روی هر کدون از ISO ها سیستم رو boot کنیم.ولی با وجود ventoy دیگه نیازی نیست برای این کار هارد باکس سخت افزاری خریداری کنیم ، همین فلش های معمولی میتونه خیلی راحت جایگزین هارد باکس مون بشه </description>
                <category>Ali Zolfaghar</category>
                <author>Ali Zolfaghar</author>
                <pubDate>Mon, 17 Aug 2020 20:14:40 +0430</pubDate>
            </item>
                    <item>
                <title>اجرای پروژه های Node.js با PM2</title>
                <link>https://virgool.io/@azolfaghar/%D8%A7%D8%AC%D8%B1%D8%A7%DB%8C-%D9%BE%D8%B1%D9%88%DA%98%D9%87-%D9%87%D8%A7%DB%8C-nodejs-%D8%A8%D8%A7-pm2-prjgwponutit</link>
                <description>اگر با node.js پروژه ای رو پیاده سازی کرده باشید ، حتما با پکیج nodemon آشنایی دارید ، nodemon  پروژه شما رو اجرا میکنه و منتظر می مونه تا تغییراتی رو در کد ها اعمال کنید و nodemon  پروژه رو restart میکنه و شما تغییرات جدید رو میتونید در پروژه تون ببینید.ولی این راه و روش برای محیط development هست ، توی محیط production باید از پکیج های دیگه ای استفاده کنید تا پروژه تون رو run کنید.دو تا از معروف ترین پکیج های production ready  برای اجرای پروژه  PM2 و Forever هستن ، توی تجربه ای که با این دو تا پکیج داشتم ، PM2 و forever  هر کدوم مزایای خودشون رو داشتن و توی پروژه های مختلف به فراخور نیاز از هر کدوم استفاده کردم.برای اجرای پروژه با PM2 چند قدم خیلی ساده رو باید انجام بدیم : 1 - نصب پکیج PM2 : npm install -g pm2 2 - اجرای پروژه با PM2 // Start and Daemonize application
pm2 start app.js --name my_app_name
// to switch can be used to automatically restart process on every change in project
// --watch 
// --ignore-watch=&amp;quotnode_modules&amp;quotبرای اجرای پروژه روی چند تا از core های CPU میتونید از سوئیچ i استفاده کنید : // Load Balance 4 instances of api.js
pm2 start api.js -i 4 
pm2 start api.js -i max 3 - ذخیره تنظیمات که بعد از Restart شدن سرور ، پروژه مجددا به طور اتوماتیک اجرا بشه// Make pm2 auto-boot at server restart:
pm2 startup
// freeze to automatic re spawn 
pm2 save برای  مانیتور کردن پروژه میتونید از دستور های زیر استفاده کنید که هر کدوم به نحوی میتونه توی مانیتور کردن پروژه تون مفید باشه : // Monitor in production:
pm2 monitor
pm2 monit
pm2 imonit
pm2 logs 
pm2 logs &lt;id&gt;
pm2 show &lt;id&gt;برای مشاهده لیست پروژه های اجرا شده توسط pm2 از این دستور استفاده کنید : pm2 listو برای stop و start کردن پروژه از این دستور استفاده کنید : // to stop : 
pm2 stop &lt;id&gt;
pm2 stop &lt;name&gt;

// to start 
pm2 start &lt;id&gt;

// to restart 
pm2 restart &lt;id&gt;برای حذف پروژه از لیست pm2 از دستور زیر استفاده کنید : pm2 stop &lt;id&gt;
pm2 delete &lt;id&gt;از pm2  میتونید به عنوان یه وب سرور برای فایل های استاتیک هم استفاده کنید ، لازم هم نیست اصلا پروژه node.js داشته باشید ، بلکه میتونید یه directory رو مثل یک وب سرور روی هر port که خواستید میزبانی کنید : pm2 serve &lt;or&gt; expose &lt;options&gt; &lt;path&gt; &lt;port&gt;یه تجربه شخصی رو هم با شما در میون بذارم ، توی پروژه هایی که request per second خیلی زیادی داره forever خیلی خیلی stable تر از pm2 هست.</description>
                <category>Ali Zolfaghar</category>
                <author>Ali Zolfaghar</author>
                <pubDate>Mon, 03 Aug 2020 11:27:02 +0430</pubDate>
            </item>
                    <item>
                <title>برداشتی آزاد از &quot;ما برنامه نویس ها بر جهان حکمرانی می کنیم&quot; نوشته رابرت مارتین، عمو باب</title>
                <link>https://virgool.io/@azolfaghar/%D8%A8%D8%B1%D8%AF%D8%A7%D8%B4%D8%AA%DB%8C-%D8%A2%D8%B2%D8%A7%D8%AF-%D8%A7%D8%B2-%D9%85%D8%A7-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3-%D9%87%D8%A7-%D8%A8%D8%B1-%D8%AC%D9%87%D8%A7%D9%86-%D8%AD%DA%A9%D9%85%D8%B1%D8%A7%D9%86%DB%8C-%D9%85%DB%8C-%DA%A9%D9%86%DB%8C%D9%85-%D9%86%D9%88%D8%B4%D8%AA%D9%87-%D8%B1%D8%A7%D8%A8%D8%B1%D8%AA-%D9%85%D8%A7%D8%B1%D8%AA%DB%8C%D9%86-%D8%B9%D9%85%D9%88-%D8%A8%D8%A7%D8%A8-sc4pdmlgvuz1</link>
                <description>عمو باب رو احتمالا خیلی از شما می‌شناسیدسال 2014 عمو باب مطلبی رو توی وب لاگ خودش منتشر کرد با عنوان :  &quot;The Obligation of the Programmer&quot; و شروعی با این جمله : &quot;We rule the world&quot;در ویرگول هم این پست توسط احسان میرسعیدی عزیز قبلا منتشر شده که از طریق این لینک می توانید مطالعه کنید.این متن برداشتی آزاد از پست 15 نوامبر 2014 در وبلاگ عموب باب به آدرس http://blog.cleancoder.com/uncle-bob  می باشد:ما بر جهان حکمرانی می کنیم، چون ما برنامه هایی را می نویسیم که موجب می شوند جهان و تمدن امروزی  به حیات خود ادامه دهد. در دنیای امروز هیچ چیز بدون حضور و بدون تصور نرم افزار ممکن نیست. حقیقتا هیچ چیز...زمین می چرخد ، خورشید طلوع می کند ، باران می بارد ، و جزر و مد دریا بدون کمک نرم افزار انجام می شود. اما در جامعه ما ، بدون دخالت نوعی برنامه رایانه ای ، تقریباً هیچ اتفاقی نمی افتد. دنیایی را تصور کنید که نرم افزار در آن حضور نداشته باشد: هیچ تلفنی زنگ نخواهند خورد. هیچ ماشینی روشن نخواهند شد. هیچ هواپیمایی به پرواز در نخواهد آمد. کشتی ها از حرکت باز خواهند ایستاد.گردونه اقتصاد از هم خواهد پاشید.دیگر پولی از حسابی به حساب دیگر منتقل نخواهد شد. سیستم های بانکی از کار خواهد افتاد.تابلو های بورس قبل از سقوط کردن قیمت سهام خاموش خواهد شد. تولید برق مختل خواهد شد. دستگاه های مسیریاب مختل خواهد شد. هیچ موشکی پرتاب نخواهد شد.هیچ بمبی منفجر نخواهد شد. پیشرفت های علمی، رشد و توسعه در همه زمینه ها متوقف خواهد شد.در نهایت جهان بدون نرم افزار ، به جهانی بدوی تبدیل خواهد شد.ما برنامه نویس ها بر جهان حکمرانی می کنیم ولی هنوز خودمان کاملا این حقیقت را درک نکرده ایم. حتی دنیا نیز  هنوز این موضوع را تمام و کمال متوجه نشده که آینده ، پیشرفت و بقای این دنیای متمدن به نرم افزار و توانایی های ما برنامه نویسان گره خورده و به شکل خطرناک و مرگباری به آن وابسته شده است. جهان به زودی خواهد فهمید که ما برنامه نویسان چه قدرت مهیب و ترسناکی در اختیار داریم و چه مسئولیت های سنگین و مهمی را بر دوش می کشیم. چیزی نمانده که چشم دنیا بر این حقیقت ترسناک باز شود : &quot;همه چیز در دستان ما برنامه نویسها است، به راستی همه چیز....تصور کنید که اگر ما برنامه نویسان متحد شویم چه کارهایی می توانیم انجام دهیم. اگر برنامه نویسان در سراسر جهان تحت یک هدف واحد متحد شوند، می توانند شرایط خود را به سایر جهانیان دیکته کنند. و بقیه جهان چاره ای جز پیروی از آن ندارند.ما برنامه نویسان اگر بخواهیم ، هیچ نیرویی در سیاره وجود نخواهد داشت که بتواند مانع ما شود. هرکسی که سعی در متوقف کردن ما داشته باشد ، ناگهان متوجه می شود که: هیچ یک از تلفن های همراه کار نمی کند.هیچ یک از پمپ های بنزین پمپاژ نمی کند.هیچ یک از کارت های اعتباری معتبر نخواهد نبود.هیچ یک از هواپیماهای جنگنده پرواز نکرد.هیچ یک از موشک های کروز هدایت نخواهد شد.همه حساب های بانکی از دسترس خارج خواهد شد.هیچ یک از صورتحساب های در یک سال پرداخت نخواهد شد.هیچ ضمانت نامه ای وجود نخواهد داشت . هیچ سابقه ای از تولد مردمان موجود نخواهد بود .حتی سوابق مجرمان ممکن است از بانک های اطلاعاتی پاک شودشاید فکر کنید من اغراق می کنم؟ اما واقعیت همین است. ما برنامه نویسان در موقعیتی غیر قابل تصور قرار داریم ، قدرتی بسیار عظیم در دستان ما قرار گرفته و افرادی که به آنها خدمت می کنیم هنوز این حقیقت را به خوبی درک نکرده اند. مطمئناً زمانی فرا خواهد رسید تا ما برنامه نویسان تصمیماتی جدی بگیریم. ما چه نوع حاکمی می خواهیم باشیم؟آیا ما این قدرت را در دستان خود نادیده می گیریم ؟ آیا یک گروه بی نظم و مبهم و بی پروا می شویم؟ آیا ما به مسیر غیر قابل توصیفی قدم خواهیم گذاشت که در اثر آن ، وزش باد هرج و مرج ناشی از تصمیات ما تجارت جهانی و دولت ها را به زانو در خواهد آورد ؟ آیا سرانجام روزی می رسد که یکی از ما به اندازه کافی بد باشد یا اشتباه کند تا دنیا از پیامد های تصمیمات او نتواند کمر راست کند؟ روزی قدرتی که در دستان ماست را تشخیص خواهیم داد و تصمیم خواهیم گرفت از آن در راه خیر استفاده کنیم یا از این قدرت در راه شر استفاده خواهیم کرد؟ به هر حال این قدرت در دست ما است و باید مسئولیت آن را بپذیریم.همراه با این قدرت عظیم ، مسئولیت سنگینی نیز بر شانه های ما گذاشته شده است. حد و مرز این مسئولیت چیست؟ آیا ما در برابر پیامد های این قدرت مسئولیت پذیر هستیم یا نه ؟ البته هیچ یک از ما به عمد صدمه و ضرری آگاهانه به جامعه انسانی نخواهیم زد. اما آیا نباید مانند پزشکان ، وکلا و باقی اصناف مهم، سوگندنامه ای داشته باشیم که بر سر آن توافق کرده و اخلاقا به آن پایبند باشیم؟شاید زمان آن رسیده تا مدیران شرکت ها و کسانی که ما برای آنها کار می کنیم و باقی انسان های کره زمین ، این حقیقت بی چون و چرا را بپذیرند که : &quot;ما برنامه نویسان بر جهان حکمرانی می کنیم&quot;</description>
                <category>Ali Zolfaghar</category>
                <author>Ali Zolfaghar</author>
                <pubDate>Sun, 02 Aug 2020 20:59:09 +0430</pubDate>
            </item>
            </channel>
</rss>