<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>نوشته های حسین غفوری</title><link>https://virgool.ir/feed/@HosseinGhafouri</link><description>یک عدد توسعه دهنده وب | Web Developer</description><language>fa</language><pubDate>2026-11-12 02:49:23</pubDate><image><url>https://files.virgool.ir/upload/users/1723040/avatar/15X9BO.jpg</url><title>حسین غفوری</title><link>https://virgool.ir/@HosseinGhafouri</link></image><item><title>کد QR و منوی دیجیتال سفارش غذا در رستوران ها و کافه ها</title><link>https://virgool.ir/@HosseinGhafouri/رس-آپ-code-qr-منوی-دیجیتال-سفارش-غذا-در-رستوران-ها-و-کافه-ها-tfj9zinmhgx3</link><description>رستوران ها و کافه ها در حال پیداکردن و بروزرسانی خود پس از حمله ی بیماری همه گیری کرونا در سر تا سر جهان هستند، با توجه به همه گیری این ویروس طوفانی هوشمند کردن رستوران ها و کافه ها امری ضروری و هوشمندانه به نظر می رسد،یکی از این کار های مدرن و هوشمندانه استفاده از کد QR در رستوران ها و کافه ها هستش.کد QR و منوی دیجیتال سفارش غذا در رستوران ها و کافه هاقرار دادن کد QR روی هر میزبا به کارگیری این روش مشتری به جای لمس منوهای کاغذی و دیگر منو ها می تواند به راحتی و ساده گوشی هوشمند خود را روبه روی منوی QR دار قرار دهد با اسکن آن منو را مشاهده کرده و سفارش خود را ثبت کند این عمل بدون نیاز به صدا زدن گارسون برای ثبت سفارش انجام می شود. این عمل به این معناست که گارسون لازم نیست به بالا سر مشتری برود تا سفارش مشتری را ثبت کند. همچنین مشتری می تواند تصاویر بروز شده هر غذا، مواد افزودنی به کار رفته در تهیه آن و در صورت نیاز سایر جزئیات را ارائه دهد موارد و موضوعاتی که می تواند برای هر مشتری جذاب باشد.می توان کد QR را به مشتری ها ارسال کردبا فرستادن این کد به مشتریان، دوستان، خانواده و اقوام توسط شما یا مشتری هایتان این امکان را می دهد که افراد بتوانند هرجایی و هر مکانی خانه یا محل کار و ...  از منوی هوشمند رستوران یا کافه سفارش دهند.حذف منوی کاغذی و خلاص شدن از هزینه های آنمنوی کاغذی مشکلات زیادی دارند از جمله هزینه های زیادی که برای تهیه آن زود به زود صرف می شود ایجاد تغییرات در آن مستلزم چاپ دوباره و صرف وقت و هزینه های مکرر و زیاد می شود.گارسون نیز در هنگام دریافت سفارش مجبور به ادای توضیحات اضافه که انرژی و وقت آن ها را می گیرد هستند فناوری های استفاده شده در سامانه رس آپ می تواند برگ برنده ای برای شما رستوران و کافه داران در جلب مشتری باشد با انجام این کار(عضو شدن به خانواده ی بزرگ سامانه رس آپ) خود را در رقابت با سایر رستوران داران و کافه داران جلو بیندازید و همچنین با تجربه های که کسب شده این نوع تکنولوژی و فناوری به مشتری های کافه و رستورانتان می افزاید.حفظ مشتریان وفادار و همیشگیبا توجه به تحقیق و مطالعات روانشناسی در این زمینه، وقتی شما برای حفظ سلامتی و راحتی و ارائه خدمات بهینه به مشتریان هزینه و برنامه ریزی می کنید آن ها نیز نسبت به تهیه و استفاده از محصولاتتان مشتاق تر می شوند و تبدیل به مشتری ثابت و وفادار می شوند. این یعنی پیشرفت کافه و رستورانتان در همه ی زمینه ها: مالی و ... نتیجهبا صرف هزینه ی نا چیز برای تهیه این سامانه منجر به جلو زدن شما با سایر رقبایتان می شود استفاده از این تکنولوژی باعث افزایش مشتری و حفظ مشتریان وفادار و همیشگی و همچنین از کلی کارها و سبک های قدیمی که منجر به صرف زمان و انرژی زیاد می شد خلاص می شوید .سامانه رس آپ آماده یاری به شما عزیزان  در زمینه این موضوع است و می خواهد در پیشرفت کافه و رستوران شما کمک کند.برای اطلاع و آگاهی با سایر امکانات و نحوه کارکرد و تهیه این سامانه می توانید به صفحه لندینگ این سامانه در لینک زیر مراجعه کنید و اگرم سوال درباره ی این موضوع داشتید می توانید به آسانی و رایگانه مشاوره و پشتیبانی 24 ساعته بگیرید.صفحه لندینگ سامانه رس آپخیلی ممنونم تا آخر این مطلب با من بودید خوشحال میشم نظراتتون رو درباره این مطلب با من در میان بگزارید و اگر هم انتقاد و پیشنهادی داشتید حتما با من اشتراک بگذارید. ?❤️</description><category>حسین غفوری</category><author>حسین غفوری</author><pubDate>Wed, 03 Aug 2022 22:31:20 +0430</pubDate></item><item><title>تفاوت رویدادهای onLoad و DOMContentLoaded در جاوا اسکریپت</title><link>https://virgool.ir/@HosseinGhafouri/تفاوت-رویدادهای-onload-و-domcontentloaded-در-جاوا-اسکریپت-iocqaipzwzn3</link><description>در این مطلب می خواهم شما را با تفاوت ریز و مهم رویداد های Load و DOMContentLoaded در زبان برنامه نویسی جاوا اسکریپت آشنا کنم که بیشتر افراد از این تفاوت پرکاربرد نا آشنا هستند، آشنایی با این تفاوت میان این دو event در خیلی از پروژه ها در جاهایی به شما کمک می کند پس تا آخر این مطلب با من همراه باشید .اول از هرچیزی بریم ببینیم اصلا مفهوم این دو  رویداد Load و DOMContentLoaded در جاوا اسکریپت چیه؟ آشنایی با رویدادهای Load و DOMContentLoaded ممکنه که در حال توسعه یکی از پروژه هامون باشیم که بخواهیم یک اتفاقی زمانی رخ بده که تمامی محتویات Dom ،Document ،Body وب سایت مون کامل برای کاربرهای مان لود شده باشند در این مواقع از این رویداد ها استفاده می کنیم .تفاوت این دو رویداد ( DOMContentLoaded VS Load )DOMContentLoaded VS Load event in jsرویداد Load :زمانی رخ میده که کل صفحه مون لود شده باشه. هم Dom و هم تمام فایل های css و js که به صفحمون لینک شدن باید لود بشن.رویداد DOMContentLoaded :همانطور که از اسمش معلومه زمانی رخ میده که محتوای Dom کامل لود شده باشند، فقط محتوای Dom. منتظر فایل های اکسترنال مثل css و js  نمیمونه. به محض این که خود Dom لود شد، رویداد DOMContentLoaded رخ میده.منبع بیشترامیدوارم این مطلب برای شما مفید بوده بفرستید به دوستای برنامه نویستون آن ها هم از این مطلب استفاده کنند خیلی ممنونم که تا آخر این مطلب با من بودید ?❤️</description><category>حسین غفوری</category><author>حسین غفوری</author><pubDate>Thu, 28 Jul 2022 20:19:48 +0430</pubDate></item><item><title>3 تفاوت اصلی متد های ()append و ()appendChild در جاوا اسکریپت</title><link>https://virgool.ir/@HosseinGhafouri/append-vs-appendchild-in-js-tt37rwfy8iet</link><description>در این مطلب می خواهم شما را با 3 تفاوت اصلی و مهم متد های ()append و ()appendChild در زبان شیرین جاوا اسکریپت آشنا کنم که می تواند در خیلی از پروژه هاتون در جاهایی به شما کمک کند پس همراه من تا آخر این مطلب باشید .متد های ()append و ()appendChild چیست؟اول از همه بیایید بفهمیم اصلا این متد چیست به چه دردی می خورد و کلاً با مفهومش آشنا بشیم ...اگر بخواهم بطور مفهومی و کوتاه به تعریف این دو تا متد بپردازم می گویم: ()append و ()appendChild متد هایی در زبان جا وا اسکریپت است که برای اضافه کردن المنت html که از طریق js ساخته شود را به داخل تگ های html ما به کار می رود با این 2 تا متد می توانیم هر تگ htmlی که در جاوا اسکریپت ساخته می شود را به داخل تگ های html اضافه کنیم.تفاوت های بین متد های ()append و ()appendChild :append() VS appendChild() :این دو تا متد متد های کاربردی و اساسی در زبان جاوا اسکریپت هستند که اثر افراد برنامه نویس اینطور فکر می کنند که تفاوتی میان این دو تا متد وجود ندارد و از تفاوت های بین این دو متد نا آگاه هستند ولی این متد ها 3 تفاوت اصلی و مهمی دارند که در پایین برایتان می آورم:append()  VS  appendChild()  in   javaScriptتفاوت اول :متد ()appendChild نمی تواند ورودی بجز یک المنت html دریافت کند یعنی ورودی یا پارامتر متد ()appendChild باید یک المنت html باشد نه string یا ... ولی ما با متد ()append می توانیم string یا متنی را داخل ورودی یا پارامتر این متد قرار دهیم. مثال:در متد ()appendulElem.append(newLiTag);    &lt;= صحیح | Element htmlulElem.append(&#34;hello world&#34;);    &lt;= صحیح | Stringدر متد ()appendChildulElem(newLiTag);    &lt;= صحیح | Element htmlulElem(&#34;hello world&#34;);    &lt;= غلط | Stringتفاوت دوم :متد ()append می تواند چندین ورودی را بگیرد یعنی هر چند تعداد می توانیم بهش ورودی بدهیم از نوع string یا Element html، ولی متد ()appendChild نمی تواند بیشتر از یک ورودی بگیرد اگه ما بیایم پیش از یک ورودی را بهش بدیم این متد اولین پارامتر یا همان ورودی را می گیرد و بقیه ورودی ها را اصلاً حساب نمی کند(اضافه نمی کند).در متد ()appendulElem.append(firstLiTag, secondLiTag ); &#xA;//Adds all parameters | We can give it multiple inputs .در متد ()appendChildulElem(firstLiTag, secondLiTag );&#xA;// Adds the first parameter | We can not give it multiple inputs .تفاوت سوم: زمانی که بخواهیم این متد ها را در درون متغییری ذخیره کنیم و return کنیم متد ()append هیچ چیزی را return نمی کند یعنی undefined بر می گرداند ولی متد ()appendChild مقداری را برای ما return می کند که همان المنتی است که برای ما اضافه کرده است.در متد ()appendlet appendResult = ulElem.append(firstLiTag);&#xA;console.log(appendResult); &#xA;// return undefined.در متد ()appendChildlet appendResult = ulElem(firstLiTag);&#xA;console.log(appendResult);&#xA;// return It returns a value for us, which is the same element that it added for us. این کار متد ()appendChild باعث شده در بعضی جاها تو بعضی قسمت های برخی پروژه ها ممکنه برای ما این متد کاربردی بوده باشه .سخن پایانی:ما با تعریف و مفهوم متد های ()append و ()appendChild و تفاوت های بین این متد در زبان جاوا اسکریپت آشنا شدیم که در بیشتر پروژه ها به ما کمک می کند.خیلی ممنونم که تا آخر این مطلب با من بودید، امیدوارم این مطلب برای شما مفید بوده، بفرستید به دوستای برنامه نویستون آن ها هم از این مطلب استفاده کنند ?❤️</description><category>حسین غفوری</category><author>حسین غفوری</author><pubDate>Sat, 23 Jul 2022 16:59:12 +0430</pubDate></item><item><title>چرا نباید از متد ()eval استفاده کنیم!؟</title><link>https://virgool.ir/@HosseinGhafouri/چرا-نباید-از-متد-eval-استفاده-کنیم-kohrhnzgl2my</link><description>چرا نباید از متد ()eval استفاده کنیم!؟سلام به همه عزیزان در این مطلب میخوام درباره اینکه &#34;چرا نباید از متد یا همان فانکشن ()eval استفاده کنیم؟&#34; بپردازم که خودم یه زمانی سردرگم این موضوع بودم که یکم سخت به علت های این موضوع پی بردم ولی میخواهم شما ها راحتر به علت های این موضوع پی ببرید.پس تا اخر این مطلب همراه من باشید...اول از همه میخواهم شما را با این متد آشنا کنمآشنایی با متد ()eval :یکی از متد های جنجالی جاوا اسکریپت متد ()eval نام دارد که یک تابع جهانی است که یک رشته را به عنوان یک دستور اجرا می کند. اگر یک رشته یک عبارت را نشان دهد، تابع آن را به عنوان یک عبارت محاسبه کرده و اجرا می کند:consol.log(eval(&#39;6 + 6&#39;)); // returns 12 =&gt; type of Numberمتد Eval یک رشته را به عنوان پارامتر می پذیرد (می گیرد) و آن رشته را به عنوان کد اجرا می‌کند. اگر یک عبارت را به آن ارسال کنید، آن عبارت را اجرا می کند. اگر چندین دستور جاوا اسکریپت را به آن ارسال کنید، آن دستورات را اجرا می کند. به همین سادگی. اجازه دهید برای درک بیشتر با یک مثال بررسی کنیم:eval(alert(&#34;Hello&#34;),alert(&#34;Hi&#34;)); // returns Hello &amp; Hiچرا نباید از این متد استفاده کنیم!؟علت اول و البته مهم : بحث امنیتیزمانی که بخواهید یک ورودی را از کاربر بگیرید آن ورودی را هیچ وقت داخل Eveal قرار ندهید چون ریسک بالایی دارد و مشکلات امنیتی به وجود می آورد. از Eveal استفاده نمی کنیم مخصوصاً وب سایت هایی که داینامیک هستند و سمت سرور و دیتابیس دارن، ممکن هست حتی یک کد مخرب، سمت سرور ذخیره شود یعنی در داخل دیتابیس کاملاً باقی بماند و هر موقع که کاربر می آید در داخل سایت همان کد، برای هر کاربر اجرا می شود که قطعاً این کار خطر امنیتی به دنبال دارد.برای درک بیشتر مثالی میاورم :let userName = prompt(&#34;Enter Your Username:&#34;); eval(userName);حالا ببینیم این کد چطور اجرا میشود و کاربر یا هکر چه کارهای می تواند انجام دهد:در تصویر زیر شما این ()prompt را یک input نام کاربری در نظر بگیرید که یک کاربر به قصد حالا هک کردن یا هر چیزی، کدی را در داخل input وارد می کند :نتیجه این عمل به صورت زیر است یعنی input هر کدی را از سمت یک هکر به راحتی می پذیرد و داخل سایت اجرا می شود و امنیت سایت را به خطر می اندازد :این سخن همیشه در یادتان بماند: &#34;هیچ وقت به ورودی های کاربر اعتماد نکن&#34;علت دوم : پایین بودن سرعت اجرامتد یا همان فانکشن Eval خیلی سریع انجام یا اجرا نمی شود به عبارتی سرعت اجرایش خیلی پایین است چون که در مدت زمان بالایی اجرا می شود زیاد طول میکشد تا کد مارا اجرا یا همان run بکند.زمانی که پروژه کدی زیادی دارد اگر از این متد برای اجرای کدها استفاده شود مدت زمانی زیادی صرف می شود که کد های ما را جاوا اسکریپت بخواند که قطعاً خودتان می دانید که این کار کار بهینه ی نیست ...آنچه از این مطلب دانستیم:ما در این مطلب آموختیم که این متد چیست؟ چه کارایی هایی دارد؟، تا حد امکان از این متد استفاده نکنیم زیرا ممکن است برای ما مشکلات امنیتی را به وجود آورد و هم سرعت خیلی پایینی برای اجرای کد ها دارد.حتی من از این متد به عنوان یک متد شیطانی یاد می کنم (نترسید فقط یک اصلاحه)Don&#39;t be afraid, this is just a joke ? eval() = evilامیدوارم این مطلب برای شما مفید بوده بفرستید به دوستای برنامه نویستون آن ها هم از این مطلب استفاده کنند خیلی ممنونم که تا آخر این مطلب با من بودید ?❤️</description><category>حسین غفوری</category><author>حسین غفوری</author><pubDate>Thu, 21 Jul 2022 15:46:26 +0430</pubDate></item></channel></rss>