<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های Reyhaneh Jafari</title>
        <link>https://virgool.io/feed/@reyhanjafari</link>
        <description></description>
        <language>fa</language>
        <pubDate>2026-06-10 14:08:01</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/844238/avatar/lUKHD9.jpeg?height=120&amp;width=120</url>
            <title>Reyhaneh Jafari</title>
            <link>https://virgool.io/@reyhanjafari</link>
        </image>

                    <item>
                <title>کجا تگ کنونیکال رو استفاده کنیم؟ و کجا از این تگ استفاده نکنیم؟</title>
                <link>https://virgool.io/@reyhanjafari/canonical-2-rlkonsxai9ik</link>
                <description>در نوشته قبلی با تگ کنونیکال آشنا شدیم و فهمیدیم که چطور از تگ کنونیکال استفاده کنیم. در این نوشته بیان می کنیم که از چه روش هایی میشه از این تگ استفاده کرد و چه اشتباهات رایجی در استفاده از تگ کنونیکال وجود داره.چطوری تگ کنونیکال رو بزاریم؟برای گذاشتن تگ کنونیکال پنج راه وجود داره:· کد کنونیکال در HTML· کد کنونیکال در هدر HTTP· سایت مپ· ریدایرکت 301· لینک های داخلیگذاشتن تگ کنونیکال در صفحه به ربات های گوگل کمک می کندکد کنونیکال در HTMLاین راه خیلی ساده است و فقط کافیه از تگ rel=canonical در &lt;head&gt; کد های html استفاده کنید. در واقع این راه ساده ترین و مشخص ترین راه برای نشون دادن کنونیکال بودن یک صفحه هست. مثال:&lt;link rel=“canonical” href=“https://example.com/canonical-page/” /&gt;کد کنونیکال در هدر HTTPبرای فایل هایی مثل PDF، راهی برای قرار دادن تگ های متعارف در هد صفحه وجود نداره چون در واقع این بخش در صفحه وجود ندارد. در چنین مواردی، برای تنظیم تگ ها باید از سرصفحه های HTTP استفاده کنید. همچنین می توانید از این متد canonical در هدرهای HTTP در صفحات وب استاندارد هم استفاده کنید.سایت مپگوگل میگه که صفحات غیر کنونیکال نباید در سایت مپ بیان! اگر شما صفحه ای با آدرس متفاوت ولی محتوای تکراری دارید که نمی خواید ایندکس بشه، چرا در سایت مپ نشونش بدین؟بنابراین گوگل آدرس های عنوان شده در سایت مپ رو صفحات کنونیکال در نظر میگیره.ریدایرکت 301وقتی می خواهید ترافیک را از یک URL تکراری به یک نسخه متعارف منتقل کنید، از ریدایرکت 301 استفاده کنید.لینک سازی داخلیروشی که شما در یک صفحه لینک سازی داخلی انجام میدین، ربات های گوگل رو به سمت شناخت صفحه کنونیکال هدایت می کنند.هر چه قدر این سیگنال ها رو قوی تر بدین، گوگل بهتر مسیر رو پیدا می کنه. تمایل ربات های گوگل به پیدا کردن URLهای https و منظم تر هست.به اشتباه از تگ کنونیکال استفاده نکنید!تا حالا از فواید مشخص کردن صفحه کنونیکال و اینکه چطور از اون در مسیر های مختلف استفاده کنیم گفتیم. اما روش هایی هم هستند که بعضی وبمسترها به اشتباه برای صفحات کنونیکالایز شده به کار میگیرند و این روش ها می تونه ترافیک سایت شما رو از بین ببره. بنابراین در ادامه چهار اشتباه رایج در کنونیکالیزیشن رو معرفی می کنم:1- بلاک کردن آدرس های کنونیکالایز شده به وسیله robots.txt2- تنظیم URL های کنونیکالایز شده در حالت  no index3- تنظیم کد وضعیت XX4 برای URLهای کنونیکالایز شده (این کار هم همون تاثیر no index رو داره)4- کنونیکالایز کردن تمام صفحات صفحه بندی شده(paginated) به صفحه اصلی</description>
                <category>Reyhaneh Jafari</category>
                <author>Reyhaneh Jafari</author>
                <pubDate>Tue, 08 Jun 2021 11:25:22 +0430</pubDate>
            </item>
                    <item>
                <title>تگ کنونیکال چیست و چگونه از آن استفاده کنیم؟</title>
                <link>https://virgool.io/@reyhanjafari/canonical-1-bziadubsyfog</link>
                <description>کنونیکال یک تگ html هست که برای سئوکارها اهمیت زیادی داره. در واقع این تگ به موتورهای جستجو کمک می کنه که صفحات اصلی شما رو تشخیص بدن و کنار هم قرار گرفتن صفحاتی با ارزش یکسان، ارزش اون ها رو پایین نیاره.این تگ خیلی ساده استفاده میشه و در قسمت &lt;head&gt; کد قرار میگیره. به طور کلی تگ کنونیکال از دو بخش تشکیل شده، اول اینکه اعلام کنید این صفحه کنونیکال هست، و در بخش بعدی میگید که با چه صفحه ای کنونیکال شده. به مثال زیر توجه کنید تا براتون واضح تر بشه:&lt;link rel=“canonical” href=“https://example.com/sample-page/” /&gt;قسمت rel=“canonical” : اعلام میکنه صفحه ای که در اون قرار داریم کنونیکال هست یعنی نسخه اصلی مطلبی هست که می خوایم ارائه بدیم.و قسمت href=https://example.com/sample-page: اعلام می کنه نسخه مشابه به این صفحه در این لینک قرار داره.چرا کنونیکال در سئو اهمیت داره ؟احتمالا می دونید که گوگل اصلا با محتوای تکراری رابطه خوبی نداره و برای ربات های گوگل خیلی مهم هست که صفحه ای رو که ایندکس می کنه، دارای محتوای تکراری نباشه. بنابراین در ایندکس کردن صفحات این موارد رو در نظر می گیره:چه نسخه ای از یک صفحه باید ایندکس بشه؟ (فقط یک نسخه از هر صفحه شما ایندکس میشه)برای عبارات مختلف که به محتوای صفحه مربوطند، چه نسخه ای از صفحه رو باید نمایش بده؟آیا باید ارزش یکسانی به صفحات مشابه بده یا تمام ارزش رو به یک نسخه از صفحات اختصاص بده؟علاوه بر همه این موارد باید بدونید که داشتن صفحات تکراری با آدرس های مختلف، بودجه خزش گوگل رو هدر میده. ربات های گوگل باید زمان زیادی بزارن برای خزش در صفحات تکراری و مواردی که گفته شد رو تشخیص بدن.تگ کنونیکال تمام این مشکلات رو حل می کنه و ربات بدون اینکه لازم باشه کل کدهای صفحه رو بخونه، در همون قسمت head متوجه میشه که این صفحه ارزش خزش داره یا نه؟!همچنین باید بدونید که اگر از تگ کنونیکال استفاده نکنید، گوگل خودش این کار رو می کنه و بهتره برای هدایت بهتر ترافیک سایت، خودتون مسیر رو به ربات ها نشون بدید!</description>
                <category>Reyhaneh Jafari</category>
                <author>Reyhaneh Jafari</author>
                <pubDate>Tue, 08 Jun 2021 11:20:53 +0430</pubDate>
            </item>
                    <item>
                <title>فضای کار در گوگل دیتا استودیو و شروع گزارش گیری</title>
                <link>https://virgool.io/@reyhanjafari/%D9%81%D8%B6%D8%A7%DB%8C-%DA%A9%D8%A7%D8%B1-%D8%AF%D8%B1-%DA%AF%D9%88%DA%AF%D9%84-%D8%AF%DB%8C%D8%AA%D8%A7-%D8%A7%D8%B3%D8%AA%D9%88%D8%AF%DB%8C%D9%88-%D9%88-%D8%B4%D8%B1%D9%88%D8%B9-%DA%AF%D8%B2%D8%A7%D8%B1%D8%B4-%DA%AF%DB%8C%D8%B1%DB%8C-oimnkgmrwmjc</link>
                <description>برای اطمینان از موفقیت در گزارش گیری از دیتا استودیو چند قدم اصلی برای هر نوع گزارشی وجود دارد. به طور خلاصه این قدم ها شامل موارد زیر هستند:انتخاب قالب (Template)اتصال منابع داده (Data Source)انتخاب معیارهایی مهم (Metrics)اشتراک گزارش هاانتخاب قالب یا Templateاولین کاری که باید انجام شود این است که یک قالب انتخاب کنید. دیتا استودیو طیف گسترده ای از قالب ها را برای شروع کار ارائه می دهد. اگرچه که شما می توانید با استفاده از امکانات این ابزار قالبی کاملا متناسب با نیاز های خودتان طراحی کنید، اما اگر در دیتا استودیو تازه وارد هستید بهتر است که قالبی را بر اساس نوع داده های به تصویر کشیده شده انتخاب کنید.با استفاده از هر قالب، شما می توانید تمام موارد را برای ایجاد گزارش سازگارتر تنظیم کنید. زیبایی این گزارش ها این است که می توان چندین صفحه به آن اضافه کرد.هر مشتری نیازهای متفاوتی دارد و گزارش دهی آنها متفاوت است. کارآمدترین مسیر برای یک آژانس مارکتینگ ایجاد قالب های شخصی سازی شده برای خدمات متداولی است که ارائه می دهند.با استفاده از موارد استاندارد، می توانیم بر اساس نیازهای مشتری به راحتی آنها را اصلاح کنیم.اتصال منابع دادهاتصال منابع داده به معنای ایجاد آمار و داده برای گزارش است. در دیتا استودیو از منابع بی پایانی برای گزارش گیری می توانید استفاده کنید که برخی از آن ها در نوشته معرفی گوگل دیتا استودیو توضیح داده شد.با استفاده از کانکتورها، همه داده ها در ابزارهای مختلف برای شما همگام سازی می شود. می توانید در ابتدای ساخت گزارش خود، منابع داده را اضافه کنید یا بعداً آنها را اضافه کنید.با کلیک روی &quot;Add Data&quot; در نوار ابزار می توانید منابع گزارش را در حین کار تغییر دهید.انتخاب معیارهای مهم گزارش گیریبعد از اتصال منابع داده به گزارش، لازم است که متریک های پراهمیت برای گزارش گیری را معین کنیم. به طور واقع بینانه، بدترین حالت این است که مشتری گزارش شما را باز می کند و متوجه هیچ تحلیلی در آن نمی شود.اگرچه Google Data Studio کاملاً قابل تنظیم است، اما این بدان معنا نیست که باید تمام متریک های موجود را نشان دهیم.معیارهایی که برای مشتری اهمیت دارند را حتما در گزارش بگنجانید. با انتقال معیارها و تحلیل های مناسب بر اساس اهداف، به مشتری نشان می دهید که شما در حال درک نیازهایشان هستید.</description>
                <category>Reyhaneh Jafari</category>
                <author>Reyhaneh Jafari</author>
                <pubDate>Wed, 02 Jun 2021 23:03:46 +0430</pubDate>
            </item>
                    <item>
                <title>معرفی گوگل دیتا استودیو، غول گزارش گیری گوگل</title>
                <link>https://virgool.io/@reyhanjafari/%D9%85%D8%B9%D8%B1%D9%81%DB%8C-%DA%AF%D9%88%DA%AF%D9%84-%D8%AF%DB%8C%D8%AA%D8%A7-%D8%A7%D8%B3%D8%AA%D9%88%D8%AF%DB%8C%D9%88-%D8%BA%D9%88%D9%84-%DA%AF%D8%B2%D8%A7%D8%B1%D8%B4-%DA%AF%DB%8C%D8%B1%DB%8C-%DA%AF%D9%88%DA%AF%D9%84-uos6uvl5uk8x</link>
                <description>گزارش گیری از آمار فرآیند های طی شده هیچ وقت کار ساده ای نیست و بدون گزارش روند اجرای فرآیند، انجام اون کار برای کارفرما بی معنی میشه! اکثر مارکترها و حوزه دیجیتال و غیر دیجیتال با صفحات اکسل برای نوشتن گزارش ها درگیرند و گاهی فرآیند تهیه گزارش انقدر زمان بر میشه که درک واقعی رو از بین می بره.وقتی این اتفاق می افته، ما با صرف وقت بیشتر برای &quot;انجام کار&quot; و زمان کمتری برای &quot;تجزیه و تحلیل&quot;، به مشتری یا کارفرمای خودمون آسیب می زنیم. اگر شما هم با این مشکلات دست و پنجه نرم کردید، راه بهتر استفاده از ابزار قدرتمند گوگل به نام Google Data Studio است.گوگل دیتا استودیو چیست؟این ابزار در اواسط سال 2016 معرفی شد. گوگل دیتا استودیو ابزاری رایگان برای مجسم کردن داده ها است.گوگل دیتا استودیو همه منابع داده شما را در یک تجربه گزارشگری همگام سازی می کند.این ابزار به کاربرها قدرت ساخت داشبوردهای آموزنده و تصویری میده که تفسیر، به اشتراک گذاری و شخصی سازی داده ها را آسان می کند.گوگل دیتا استودیو از سال 2018 از نسخه بتا خارج شد و از اون به بعد همه کاربرها می تونن از قابلیت های این ابزار استفاده کنند.مزایای استفاده از گوگل دیتا استودیواستفاده از گوگل دیتا استودیو بسته به کاربری شما مزیت های منحصر به فرد خودش رو داره. اما به طور کلی از مهم ترین مزایای عمومی این ابزار میشه به موارد زیر اشاره کرد:استفاده رایگانبه (تقریبا) هر منبع داده ای می تونید وصل بشید. (به تمام ابزارهای سنجش داده گوگل ، Bing ، Facebook ، LinkedIn و بسیاری ابزارهای دیگه)برای اتصال خارج از گوگل به دیتا استودیو، تایید شخص ثالث مورد نیاز هست که برای حفظ داده ها خیلی مفیده.کاملاً انعطاف پذیر و قابل تنظیم است، یعنی امکان تغییر گزارش برای نیازهای هر مشتری.یکپارچه سازی داده ها در زمان واقعیهر ماه در زمان تهیه گزارش وقت زیادی برای شما ذخیره می کند. به این معنی که می توانید بر تجزیه و تحلیل داده ها تمرکز بیشتری داشته باشید.متقاعد شدید که از Google Data Studio برای گزارش گیری استفاده کنید؟من اولین بار با این ابزار در سئولب برای گرفتن گزارش از پارامترهای core web vital آشنا شدم. حالا که شما هم با این ابزار آشنا شدین در پست بعدی باهم وارد فضای دیتا استودیو میشیم و می بینیم که چطور این ابزار جادویی داده های ما رو برامون مرتب می کنه!</description>
                <category>Reyhaneh Jafari</category>
                <author>Reyhaneh Jafari</author>
                <pubDate>Wed, 02 Jun 2021 22:22:00 +0430</pubDate>
            </item>
                    <item>
                <title>مقایسه SSR و CSR</title>
                <link>https://virgool.io/@reyhanjafari/%D9%85%D9%82%D8%A7%DB%8C%D8%B3%D9%87-ssr-%D9%88-csr-yzisztgqi8pm</link>
                <description>در این نوشته، می خواهیم تفاوت بین دو مفهوم  رندر سمت سرور SSR و رندر سمت گیرندهCSR  را با شما به اشتراک بگذارم. فهم تفاوت بین این دو بسیار مهم است، مخصوصا اگر در حال توسعه وب هستید یا تلاش در بهبود وضعیت سئو یک سایت دارید. اول از همه، بهتر است با تعریف SSR و CSR آشنا شویم، سپس تفاوت بین آنها را متوجه شویم، و در آخر بفهمیم در چه شرایطی برای هر کدام مناسب است.مقایسه SSR و CSRمفهوم SSR چیست؟در ابتدا باید گفت SSR مخفف Server Side Rendering است. این توانایی یک وب اپلیکیشن است که می تواند صفحه وب را به جای اینکه در مرورگر رندر بگیرد، روی سرور رندر بگیرد. وقتی صفحه به سمت سرویس گیرنده رسید، به طور کامل رندر می شود. زیرا سمت سرور صفحه را قبل از ارسال به گیرنده کاملاً رندر کرده است. هنگامی که درخواست از طرف سرور دریافت می شود، اگر محتوای صفحه به داده های پایگاه داده نیاز داشته باشد، سرور این کار را انجام می دهد، سپس داده ها را به صفحه کاملا رندر شده ارائه می دهد و سپس آنها را به عنوان پاسخ برای گیرنده ارسال می کند.مفهوم CSRچیست؟عبارت CSR مخفف Client Side Rendering است. به طور کلی CSR نقطه مقابل SSR است. اگر در SSR صفحه سمت سرور رندر گرفته می شود، CSR صفحه را در سمت گیرنده رندر می گیرد. هنگامی که درخواست از سرور دریافت می شود، صفحه رندر گرفته نمی شود. در عوض، سرور یک صفحه واحد را که اسکلت صفحه است برای مشتری ارسال می کند. سرور صفحه را به همراه فایل javascript ارسال می کند. سپس در سمت گیرنده اسکریپت جاوا صفحه را به یک صفحه کاملاً رندر شده تبدیل می کند. پس محتوا کجاست؟ اگر این صفحه نیاز به گرفتن داده از پایگاه داده داشته باشد چه اتفاقی می افتد؟ در این زمان api وارد می شود. گیرنده درخواستش را به api می فرستد تا داده ها را بگیرد و آنها را به صفحه ارائه دهد.تفاوت SSR و CSRتفاوت اصلی بین CSR و SSR در محل رندر گیری صفحه است. SSR صفحه را در سمت سرور و CSR صفحه را در سمت گیرنده رندر می گیرد. در رندر سمت گیرنده، هر بار که کاربر مسیر دیگری را درخواست می کند، مسیریابی را بدون رفرش صفحه مدیریت می کند.در وبسایت خود از SSR استفاده کنیم یا CSR؟با در نظر گرفتن پارامترهای بسیاری از یک وبسایت می توان گفت که کدام روش بهتر است. در اینجا به چند پارامتر که به تصمیم گیری شما کمک می کنند اشاره می کنیم اما در نظر داشته باشید که سنجش شرایط هر وبسایت فقط با این پارامترها ممکن نیست.اگر وبسایت شما نوپا است، ترافیک بالایی ندارد، بیشتر صفحات نوشته و بلاگ است و می خواهید بدون دردسر و سریع در نتایج جستجو گوگل ظاهر شوید احتمالا SSR گزینه بهتری برای شما است. همچنین اگر محتوای شما به گونه ای است که نیاز به تعامل با کاربر ندارد هم می توانید با SSR به نتیجه دلخواهتان برسید.اما اگر وبسایت پر ترافیکی دارید و تعامل با کاربر بیشتر از سئو برای شما اهمیت دارد و با ترافیک بالا می توانید جایگاه خود را در موتورهای جستجو حفظ کنید، بهتر است از CSR استفاده کنید.استفاده از CSR برای اپلیکیشن های تک صفحه ای و وب سایت هایی که نیاز به استفاده دائم از پایگاه داده دارند گزینه بسیار مناسبی است.</description>
                <category>Reyhaneh Jafari</category>
                <author>Reyhaneh Jafari</author>
                <pubDate>Tue, 25 May 2021 12:44:52 +0430</pubDate>
            </item>
                    <item>
                <title>وبسایت SPA چیست؟ وبسایت داینامیک، استاتیک، SPA و تاثیر آنها بر سئو</title>
                <link>https://virgool.io/@reyhanjafari/spa-qqptx4qd4adc</link>
                <description>احتمالا شما کم و بیش درباره نحوه کار وب اطلاعاتی دارید. به طور خلاصه میشه گفت مرورگر درخواستی را ارسال می کند، سرور پاسخی را برمی گرداند. اگر یک صفحه وب درخواستی باشه که از سمت مرورگر ارسال میشه، پاسخ سرور حاوی کد HTML است که سپس توسط مرورگر برای ارائه وب سایت استفاده می شود.اما کد HTML که بازگردانده می شود چگونه در سرور قرار می گیرد؟ آیا برای هر درخواست این کد تولید می شود؟ یا این کد HTML از پیش تولید شده است؟ (یعنی صفحات HTML نهایی روی سرور بارگذاری شده اند)در پاسخ به این سوال باید گفت که سه گزینه برای رندر گرفتن از وبسایت ها وجود داره که البته در هر سه کدهای HTML مورد نیاز هست. احتمالا شما با صفحات وب پویا یا داینامیک و صفحات استاتیک به خوبی آشنایید، اگر هم نیستید در ادامه به طور مختصر با این صفحات آشنا میشیم. اما گزینه سوم که جذابیت بسیاری داره و در این مقاله بیشتر به اون می پردازیم صفحات SPA که مخفف Single Page Applications هستند.1. صفحات داینامیکبه طور خلاصه صفحات وب داینامیک به کمک یک زبان برنامه نویسی تحت سرور مثل PHP یا NOD JS و یک پروسسور داده صفحات HTML را به صورت پویا در سرور ایجاد می کنند.این به این معنی است که وب سایتی که مشاهده می کنید به صورت پویا در سرور ایجاد شده است. منظور من از &quot;وب سایت&quot; البته کد HTML است و کدهای استایل و اسکریپت هایی که به آن پیوست شده است.2-صفحات استاتیکخیلی از برنامه نویسان وب کار خودشون رو با صفحات وب استاتیک شروع می کنند. در این صفحات، کدهای HTML از قبل نوشته میشه و در کنار فایل های استایل و اسکرپت ها قرار میگیره. بعد از کامل شدن کدها، همه اون ها روی سرور به صورت آماده قرار میگیره، بر خلاف صفحات داینامیک که در سرور تولید میشن!3- اپلیکیشن یا وبسایت تک صفحه ای SPAاما وبسایت تک صفحه ای یا اپلیکیشن تک صفحه ای چیه؟ اصلا چرا نام این نوع از وبسایت با اپلیکیشن ادغام شده؟ در این نوع از سایت ها سرور یک صفحه HTML از پیش تولید شده منفرد رو به مرورگر باز می گرداند. این صفحه خودش شامل کدهایی بر پایه JavaScript است که صفحه را به صورت پویا در مرورگر تغییر می دهند. به همین دلیل اپلیکیشن تک صفحه هم به این وبسایت ها اطلاق داده میشه.در این نوع از صفحات وب، همه کدهای HTML در مرورگر تولید میشوند و سرور فقط یک صفحه اصلی HTML را که حاوی کدهای JavaScript زیادی است به مرورگر بر می گرداند. سپس در مرورگر کدهای جاوا مسئول تغییر کدهای HTML هستند. به این ترتیب اطلاعات صفحه بدون رفرش کردن مرورگر تغییر می کنند.استفاده از این تکنولوژی را در بسیاری از سایت های اعلام نرخ لحظه ای، یا سایت هایی که از پیام رسان استفاده می کنند حتما دیده اید.هنوز کار این صفحات رو درک نکردید و به نظرتون عجیب میاد؟ آیا سرور داده ها را از یک پایگاه داده نگرفت تا کد HTML تولید کند؟ آیا در این صفحات مرورگر شما به یک دیتابیس متصل میشه؟درک این نکته خیلی مهم هست که با SPA ، هنوز یک سرور وجود دارد. کد جاوا اسکریپت سمت مرورگر به یک پایگاه داده متصل نمی شود. از آنجا که اعتبار دسترسی نشان داده می شود، بسیار ناامن خواهد بود. نمی توانید کد جاوا اسکریپت فرانت اند خود را پنهان کنید.اما کل روند به روزرسانی صفحه در مرورگر اتفاق می افتد (از طریق JavaScript مرورگر). با این کار در صفحات وب یک تجربه کاربری مانند برنامه های مورد استفاد در تلفن همراه ایجاد می شود، زیرا کاربر هرگز مجبور نیست منتظر بارگیری صفحه جدید شود. در عوض، به روزرسانی ها و تغییرات فوراً اتفاق می افتند.از آنجا که به روزرسانی کل صفحه HTML از طریق کد جاوا اسکریپت مرورگر به دستورالعمل های جاوا اسکریپت زیادی نیاز دارد، شما معمولاً از یک فریم ورک یا کتابخانه برای این کار استفاده می کنید. React.js، Angular یا Vue.js محبوب ترین گزینه های برنامه نویسان هستند.استفاده از SPA در حال افزایش است زیرا چنین تجربه کاربری شگفت انگیز و سریعی ارائه می دهد. اما با وجود تمام به روزرسانی ها و ارائه محتوای لحظه ای در مرورگر، SPA دارای نقاط ضعفی هم هست.بزرگترین نقطه ضعف این است که صفحه ای که برای مرورگر شما ارسال می شود (یعنی همان صفحه HTML اولیه که از SPA شروع می شود) تقریبا خالی است. یعنی معمولا چیزی بیشتر از برخی از تگ های HTML و چند کد جاوا و سی اس اس وجود ندارد.این موضوع برای سئو خوب نیست زیرا خزنده موتور جستجو تمام محتوای زیبا شما را که در نهایت توسط SPA  ارائه می شود نمی بیند، در عوض فقط صفحه خالی را می بیند! برخی از خزنده ها ممکن است منتظر اجرای کد های JavaScript بمانند. اما معمولا منتظر اطلاعات بارگیری نشده نمی شوند.برای این مشکل راه حل هایی هم وجود دارد. برای مثال استفاده رندرهای نشان دهنده SPA در سمت سرور.علاوه بر مشکلاتی که برای سئو به وجود می آید، لازم به ذکر است که انجام بیشتر کار توسط مرورگر به این معنی است که کدهای جاوا بیشتری هم باید بارگیری شود. و همه این کدها باید توسط مرورگر تجزیه و اجرا شود، که بر عملکرد زمان اجرا در وب سایت تأثیر می گذارد.در دستگاه ها یا شبکه های کندتر، بارگیری از SPA ممکن است طولانی شود.در آخر SPA خوب است یا مناسب نیست؟در طراحی وبسایت سنجیدن نیازهای کاربران و وبسایت برای ارائه بهترین تجربه کاربری در اولویت قرار دارد.اگر به روز رسانی لحظه ای داده از نیازهای شما برای داشتن تجربه کاربری بهتر است SPA اغلب یک انتخاب مناسب است.برای تطبیق وبسایت خود با موتورهای جستجو می توانید صفحات لندینگ خود را به روشی مناسب و بهینه شده برای موتورهای جستجو ایجاد کرده و بقیه صفحات را با SPA ایجاد کنید.واکنش پذیری عالی وUX  خوب، SPA را به گزینه ای مناسب برای برنامه های درون مرورگر مانندGoogle Docs ، Twitter feed یا Netflix تبدیل کرده است.منبع نوشته: وبسایت آکادمایند  </description>
                <category>Reyhaneh Jafari</category>
                <author>Reyhaneh Jafari</author>
                <pubDate>Thu, 20 May 2021 09:20:51 +0430</pubDate>
            </item>
                    <item>
                <title>مقدار دهی اولیه و ثانویه به متغیر ها در زبان برنامه نویسی PHP</title>
                <link>https://virgool.io/@reyhanjafari/php-variables-wcteg3nhw22g</link>
                <description>در قسمت قبلی از این سری آموزشی با متغیر ها و استرینگ ها در PHP آشنا شدیم. در این قسمت با مثال هایی در پی اچ پی شما را با مقدار دهی اولیه و ثانویه به متغیر ها و اولویت ها در مقداردهی آشنا می کنیم.اگر این مقاله اولین قسمت از مجموعه آموزش مقدماتی زبان پی اچ پی است که می بینید، پیشنهاد می کنم از اولین قسمت آموزش مقدماتی PHP شروع به خواندن کنید.نام متغیر ها در PHPدر PHP ، نام متغیرها می توانند حاوی اعداد، حروف و آندرلاین ها باشند (_)، اما باید بدانید که نام متغیر نمی تواند با یک عدد آغاز شود. باید با یک حرف یا آندرلاین نام متغیر را شروع کنید. نام متغیرها به حروف کوچک و بزرگ حساس هستند، به این معنی که در زبان PHP متغیرهای $Example و $example به عنوان دو متغیر متفاوت در نظر گرفته می شوند.هنگام استفاده از متغیرهای PHP، عرف معمول نام گذاری متغیر ها، استفاده از (_) در بین کلمات نام متغیرهایی با بیش از یک کلمه است. این نوع نام گذاری به عنوان &quot;مار&quot; شناخته می شود:$mood = “:) “;$favorite_food = “Red curry with eggplant”;استفاده از متغیرها در PHPهنگامی که یک متغیر را نام گذاری کردیم یا در واقع آن را اعلام کردیم و مقداری را به آن اختصاص دادیم، می توانیم هر چند بار که می خواهیم و هرجایی که لازم است از آن استفاده کنیم. ما با استفاده از علامت دلار و به دنبال آن نام متغیر به یک متغیر که قبلا تعریف کردیم مراجعه می کنیم.به طور مثال در بالا متغیر $favorite_food را تعریف کردیم. در هر جای برنامه که بخواهیم از مقدار این متغیر استفاده کنیم به راحتی می توانیم آن را فراخوانی کنیم. برای چاپ مقدار این متغیر می توانید دستور زیر را ببینید:echo $favorite_food;با نوشتن این دستور مقدار این متغیر یعنی: Red curry with eggplant چاپ می شود.به طور خلاصه می توان گفت به جز هنگام مقداردهی به متغیر، هر زمانی که سیستم متغیری را در کد شما مشاهده می کند، مقدار اختصاص داده شده به آن متغیر را جایگزین می کند.$dog_name = &amp;quotTadpole&quot;echo $dog_name;مقدار چاپ شده: Tadpoleپیوند دادن متغیرها با رشته ها و دیگر متغیرهااز آنجایی که کامپیوتر با یک متغیر طوری رفتار می کند که انگار فایلی است که در آن مقداری نگه داشته می شود، ما هم می توانیم هنگام کار با متغیرها درست همین رفتار را داشته باشیم.$dog_name = &amp;quotTadpole&quot;echo &amp;quotMy dog is named &amp;quot . $dog_name;// Prints: My dog is named Tadpoleدر کد بالا، رشته  My dog ​​is namedرا به مقداری که متغیر $dog_name نگه داشته است پیوند دادیم. بیایید به مثال دیگری نگاه کنیم که از چندین متغیر که به هم پیوند داده شده اند استفاده می کند:$dog_name = &amp;quotTadpole&quot;$favorite_food = &amp;quotsalmon&quot;$color = &amp;quotbrown&quot;echo &amp;quotI have a &amp;quot . $color . &amp;quot dog named &amp;quot . $dog_name . &amp;quot and her favorite food is &amp;quot . $favorite_food . &amp;quot.&quot;// Prints: I have a brown dog named Tadpole and her favorite food is salmonدر این مثال، ما دیدیم که اتصال رشته های مختلف و متغیرهای رشته چگونه انجام می شود. اما راه ساده تری هم برای این کار وجود دارد!رشته های PHP به ما این امکان را می دهد که متغیرها را مستقیماً در رشته های دو نقل شده قرار دهیم. سیستم شما متغیرها را با عنوان مقداری که نگه می دارند، می خواند. بنابراین متغیرها به عنوان مقدار آنها دیده می شوند. به این مثال توجه کنید تا درک بهتری از این موضوع پیدا کنید:$dog_name = &amp;quotTadpole&quot;$favorite_food = &amp;quotsalmon&quot;$color = &amp;quotbrown&quot;echo &amp;quotI have a $color dog named $dog_name and her favorite food is $favorite_food.&quot;// Prints: I have a brown dog named Tadpole and her favorite food is salmon.تجزیه رشته PHP فوق العاده مفید است. هروقت در زبان PHP علامت دلار ($) را در داخل یک رشته مشاهده شود، تمام کاراکترهای موجود در کنار آن جزئی از متغیر فرض می شود، تا زمانی که سیستم به کاراکتری برسد که نتواند عضوی از نام متغیر باشد.اما گاهی ممکن است این نوع شناخت متغیرها برای ما مشکل ساز شود. چه اتفاقی می افتد اگر بخواهیم به مقداری که در متغیر ما قرار گرفته کاراکترهایی اضافه کنیم؟ برای درک بهتر به این مثال توجه کنید:$toy = &amp;quotfrisbee&quot;echo &amp;quotAlex likes playing with $toys&quot;دستور بالا با ارور مواجه می شود، زیرا ما متغیر $toy را تعریف کرده ایم اما در جمله نوشته شده می خواهیم از اسم جمع آن استفاده کنیم. برای رفع این مشکل PHP به ما اجازه می دهد تا نام متغیر را با قرار دادن آن در آکولاد مشخصاً نشان دهیم تا سیستم در تشخیص نام متغیر سردرگم نشود.بنابراین وقتی می خواهید که به مقدار داخل متغیر کاراکتری اضافه کنید می توانید از این قابلیت استفاده کرده و مانند این مثال عمل کنید:$dog_name = &amp;quotTadpole&quot;$favorite_food = &amp;quottreat&quot;$color = &amp;quotbrown&quot;echo &amp;quotI have a ${color}ish dog named $dog_name and her favorite food is ${favorite_food}s.&quot;// Prints: I have a brownish dog named Tadpole and her favorite food is treats.مقداردهی ثانویه به متغیرکلمه متغیر از کلمه لاتین variāre آمده است که به معنی &quot;تغییر پذیر شدن&quot; است. این نام کاملا مناسب عملکرد متغیر است. زیرا مقدار اختصاص داده شده به یک متغیر می تواند تغییر کند.فرآیند اختصاص یک مقدار جدید به یک متغیر، تغییر کاربری نامیده می شود. ما متغیری را که قبلاً تعریف کرده ایم با استفاده از عملگر انتساب مجدداً تعریف می کنیم:$favorite_food = &amp;quotRed curry with eggplant&quot;echo $favorite_food; // Prints: Red curry with eggplant// Reassign the value of $favorite_food to a new string$favorite_food = &amp;quotPizza&quot;echo $favorite_food; // Prints: Pizzaمعمولا ایجاد متغیرهای جدید که به همان متغیر موجود اختصاص می شوند بسیار کاربردی است:$first_player_rank = &amp;quotBeginner&quot;$second_player_rank = $first_player_rank;در کد بالا، متغیر first_player_rank$ را اعلام کردیم و رشتهBeginner  را به آن اختصاص دادیم. سپس متغیر second_player_rank$ را اعلام کردیم و آن را به first_player_rank$ اختصاص دادیم.با این کار متغیر جدیدی ایجاد کردیم که مقدار متغیر اولیه را گرفته است. توجه کنید که می توان با متغیرها بسته به جایی که در کد ظاهر می شوند، رفتار متفاوتی داشت.در ادامه این آموزش بیشتر با متغیرها و نوع رفتارهای متفاوتی که می توان با آنها داشت آشنا می شویم. در قسمت بعدی آموزش مقدماتی PHP با عدد ها و کار با عددها در این زبان برنامه نویسی آشنا خواهیم شد.</description>
                <category>Reyhaneh Jafari</category>
                <author>Reyhaneh Jafari</author>
                <pubDate>Mon, 17 May 2021 13:16:16 +0430</pubDate>
            </item>
                    <item>
                <title>معرفی استرینگ ها و متغیرها در PHP و چگونگی استفاده از آنها</title>
                <link>https://virgool.io/@reyhanjafari/%D9%85%D8%B9%D8%B1%D9%81%DB%8C-%D8%A7%D8%B3%D8%AA%D8%B1%DB%8C%D9%86%DA%AF-%D9%87%D8%A7-%D9%88-%D9%85%D8%AA%D8%BA%DB%8C%D8%B1%D9%87%D8%A7-%D8%AF%D8%B1-php-%D9%88-%DA%86%DA%AF%D9%88%D9%86%DA%AF%DB%8C-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-%D8%A2%D9%86%D9%87%D8%A7-xllkgttfpzmf</link>
                <description>به قسمت سوم از یادگیری مقدماتی زبان برنامه نویسیPHP رسیدیم و معرفی استرینگ ها (Strings) و متغیر ها (Variables) در زبان برنامه نویسی PHP.اگر از این قسمت با من همراه شدین، پیشنهاد می کنم اول دو مقاله قبلی رو بخونین که وقت زیادی هم از شما نمیگیره:مقدمه ای برای شروع یادگیری زبان برنامه نویسی PHPچگونه دستورات زبان PHP را به دستورات HTML وصل کنیم؟معرفی رشته ها در زبان PHPدر مکالمه روزمره، ما از کلمه data برای اشاره به هر نوع اطلاعاتی استفاده می کنیم. این اطلاعات اغلب لیستی از اعداد است، مانند هزینه های ماهانه یک شرکت یا آماری درباره عملکرد یک ورزشکار. با این حال، در برنامه نویسی، داده به معنی چیزی بسیار خاص است. هنوز هم اطلاعات است، اما این اطلاعات به شکل چند نوع خاص تقسیم می شود.زبان برنامه نویسی PHP روش های مختلفی برای مدیریت انواع مختلف داده ها دارد. عملکردهایی که کامپیوتر می تواند انجام دهد و اینکه کامپیوتر چگونه داده ها را در حافظه ذخیره می کند، بسته به نوع آنها متفاوت خواهد بود. در زبان برنامه نویسی یک دسته معروف از داده ها رشته ها هستند. در این بخش، ما در مورد این نوع داده رشته ای خواهیم آموخت.رشته ها کلمات یا متن هایی هستند که پردازنده به عنوان یک مورد واحد از آنها استفاده می کند. رشته دنباله ای از کاراکترها است. این دنباله می تواند به هر طولی باشد و شامل حروف، اعداد، نمادها یا فضاهای بین شده علامت کوتیشن باشد.مثال:echo &quot;My first string&quot;; //خروجی:  My first stringتعریف متغیر و قرار دادن رشته ها در آنچرا باید انواع دیتا و رشته ها را بشناسیم؟تشخیص بین رشته ها و بقیه کد در یک برنامه PHP مهم است. همه قسمت های یک برنامه به صورت متن نوشته شده است، اما رشته ها قسمتهایی است که ما باید آنها را به عنوان داده حفظ کنیم. نه به عنوان دستورالعمل هایی که توسط کامپیوتر اجرا می شوند. در این درس قصد داریم به رشته هایی بپردازیم که در علامت های کوتیشن قرار میگیرند. (اگر درباره انواع رشته ها نیاز به اطلاعات بیشتری دارید، می توانید از اینجا انواع رشته های PHP را ببینید).در درس نامه های بعدی، ما از PHP برای ایجاد اسناد HTML سفارشی استفاده می کنیم که صفحات وب داینامیک را فعال می کند. با آموختن اصول اولیه، به راحتی می توانیم برنامه های ساده PHP را بنویسیم که در ترمینال اجرا می شوند.معرفی متغیرها در PHPبرای توضیح دادن مفهوم متغیر ها بگذارید از یک سوال ساده شروع کنیم. من یک رشته خیلی طولانی در برنامه خود دارم و لازم است چندین بار از آن استفاده کنم. آیا برای هر بار استفاده از آن باید دوباره رشته را تایپ کنم؟ همینطور که حدس می زنید پاسخ &quot;نه&quot; است.متغیرها یک مفهوم اساسی برنامه نویسی هستند که برای رفع این مسئله طراحی شده اند. با استفاده از متغیرها می توانیم مقادیر را ذخیره می کنیم تا بتوانیم به راحتی از آنها در طول برنامه استفاده کنیم.قبل از اینکه بتوانیم از متغیرها در کد خود استفاده کنیم ، باید آنها را تعریف کنیم و به آنها مقدار اختصاص دهیم.با تعریف یک متغیر در واقع کلمه تعریف شده را رزرو می کنیم که می توانیم در ادامه برنامه به آن اشاره کنیم. نام گذاری متغیر بهتر است به روشی باشد که داده های موجود در آن را توصیف کند.ایجاد متغیر ها در زبان PHPایجاد متغیرها اصلا کار پیچیده ای نیست. فقط همینطور که در بخش قبل توضیح دادیم، باید به خوبی آن ها را دسته بندی و نام گذاری کنید. برای شروع به این مثال توجه کنید:$my_name = &quot;Reyhaneh&quot;;در کد بالا ، ما در واقع دو کار را با یک جمله انجام دادیم: ما با تعریف my_name متغیر جدیدی را اعلام می کنیم.  همچنین مقدار &quot;Reyhaneh &quot; را به این متغیر اختصاص می دهیم. متغیر $my_name اکنون مقدار &quot;Reyhaneh &quot; را ذخیره می کند.برای تعریف متغیر از علامت دلار ($) و به دنبال آن نام متغیر انتخاب شده استفاده می کنیم. این یک کاراکتر به کامپیوتر اجازه می دهد سریع ببیند که چه چیزی متغیر است.برای اختصاص دادن مقدار به متغیر، از عملگر دیگری استفاده می کنیم: عملگر انتساب (=) و به دنبال آن مقداری که به متغیر اختصاص می دهیم را در کوتیشن می نویسیم.در قسمت بعدی آموزش بیشتر با متغیر ها و اولویت های آن آشنا خواهیم شد.</description>
                <category>Reyhaneh Jafari</category>
                <author>Reyhaneh Jafari</author>
                <pubDate>Thu, 13 May 2021 16:47:41 +0430</pubDate>
            </item>
                    <item>
                <title>چگونه دستورات زبان PHP را به دستورات HTML وصل کنیم؟</title>
                <link>https://virgool.io/@reyhanjafari/%DA%86%DA%AF%D9%88%D9%86%D9%87-%D8%AF%D8%B3%D8%AA%D9%88%D8%B1%D8%A7%D8%AA-%D8%B2%D8%A8%D8%A7%D9%86-php-%D8%B1%D8%A7-%D8%A8%D9%87-%D8%AF%D8%B3%D8%AA%D9%88%D8%B1%D8%A7%D8%AA-html-%D9%88%D8%B5%D9%84-%DA%A9%D9%86%DB%8C%D9%85-kofwbtbd9sbx</link>
                <description>در ادامه آموزش مقدماتی زبان برنامه نویسی PHP و پس از معرفی اولیه زبان PHP، در این پست توضیح می دهیم که چطور کدهای PHP با فایل های متنی HTML ادغام میشه و بیشتر با روند این کار آشنا بشیم.همینطور که در پست قبلی توضیح دادیم، PHP اغلب برای ساختن صفحات وب پویا استفاده می شود. یک صفحه وب پویا به صفحه ای گفته میشه که هر بازدید کننده از وب سایت یک صفحه سفارشی دریافت کند، که می تواند از نگاه یک بازدید کننده دیگر به سایت متفاوت باشد. مثال این صفحات پویا، صفحات فروشگاهی هستند که با توجه به علایق شما محصولات رو نمایش می دهند. این دقیقا متضاد با صفحات وب ثابت است که محتوای یکسانی را برای هر بازدید کننده ارائه می کنند.تفاوت وبسایت استاتیک و داینامیکبه منظور ایجاد این رفتار پویا، زبان PHP برای همکاری نزدیک با HTML طراحی شده است. PHP می تواند مستقیماً در یک فایل متنی HTML استفاده شود. هنگامی که وب سایت از بک اند به فرانت اند منتقل می شود، محتوای PHP اجرا می شود و به HTML اضافه می شود تا یک داکیومنت HTML واحد ایجاد شود. برای شروع به خاطر داشته باشید که شروع کدهای PHP همیشه با : &lt;?php. است و با  ?&gt; نیز انتهای کد های PHP را نشان می دهیم.به عنوان مثال به این کد نگاه کنید:&lt;p&gt;This HTML will get delivered as is&lt;/p&gt;&lt;?phpecho &quot;&lt;p&gt;But this code is interpreted by PHP and turned into HTML&lt;/p&gt;&quot;;?&gt;در زبان برنامه نویسی PHP از کلمه کلیدی echo برای خروجی متن استفاده می شود. متن در این حالت هر چیزی تعریف می شود که بین علامت نقل قول وجود دارد (&quot;). یک دستورالعمل نوشته شده در PHP یک عبارت نامیده می شود و در پایان هر عبارت باید نقطه ویرگول (؛) گذاشته شود.بنابراین وقتی کد بالا اجرا می شود، متن داخل فایل HTML خروجی این دستور می شود و فرانت اند کد HTML زیر را دریافت می کند:&lt;p&gt;This HTML will get delivered as is&lt;/p&gt; &lt;p&gt;But this code is interpreted by PHP and turned into HTML&lt;/p&gt;کدهای PHP چگونه اجرا می شود؟در قسمت قبلی، ما در مورد چگونگی ارسال PHPاز قسمت بک اند به فرانت اند که از طریق مرورگر به عنوان کد HTML دریافت می شود را بررسی کردیم.زبان برنامه نویسیPHP زبان انعطاف پذیری است و علاوه بر به کار گیری در فایل های HTML، می تواند از طریق ترمینال نیز اجرا شود. ما می توانیم از PHP به عنوان یک زبان برنامه نویسی عمومی برای نوشتن برنامه هایی استفاده کنیم که بدون درگیر کردن HTML یا وب، دستورالعمل های ساده ای به کامپیوتر می دهند. وقتی این کار انجام شد، خروجی برنامه به ترمینال وارد می شود. این قابلیت برای آزمایش عملکرد یک برنامه یا نوشتن برنامه های ساده مفید است.هنگام نوشتن یک فایل اسکریپت PHP، ما همچنان باید ابتدای کدهای PHPرا با استفاده از &lt;؟ phpشروع کنیم ، اما تگ پایانی PHP لازم نیست. به طور قراردادی این تگ کنار گذاشته شده است.به عنوان مثال ، اگر کد زیر در فایل index.phpقرار داده شده است:&lt;?phpecho “Hello, world!”;وقتی کد بالا اجرا شد ، &quot; Hello, world!&quot; به ترمینال منتقل می شود.در نظر داشته باشید که به طور کلی، PHPاز فضای خالی (اسپیس، تب، اینتر) چشم پوشی می کند.برخلاف بسیاری از زبانهای دیگر ، PHPهمیشه به حروف کوچک و بزرگ نیز حساس نیست، بنابراین Echo هم یک عبارت معتبر در زبان PHPاست. با این حال، بهترین روش استفاده از روش نوشتاری استاندارد است. (در اینجا echo)نتیجه گیریدر قسمت های بعدی این آموزش، شروع به نوشتن کد PHP می کنیم. چند ثانیه وقت بگذارید و آنچه را که در مورد PHP می دانیم را مرور کنید:• با وجود قدمت زیاد، PHP هنوز هم یک فناوری معمول در توسعه وب است.•زبان برنامه نویسی PHP برای ایجاد تعامل با HTMLبرای تولید وب سایت های پویا طراحی شده است.• حالت قرار دادی گذاشتن کدهای PHP در HTML با قرار دادن کد PHP بین تگ های &lt;?php و ?&gt; است.• هر عبارت در PHPباید با یک نقطه ویرگول خاتمه یابد. در غیر این صورت کد شما اجرا نمی شود.• پرونده های PHPدارای پسوند .phpهستند و فایل همیشه با تگ باز &lt;?php شروع می شود. برچسب بسته ضمنی است و طبق قرارداد کنار گذاشته می شود.• فضای خالی هنگام اجرای کد PHP به طور کلی نادیده گرفته می شود.• دستورها در PHPبه حروف کوچک و بزرگ حساس نیستند. اما بهتر است به عنوان قرارداد، از پوشش استاندارد استفاده کنید.• کامنتهای تک خطی در PHP با استفاده از # یا // نوشته می شود. برای نوشتن کامنت های چند خطی می توانید آنها را بین / * و * / قرار دهید.امیدوارم که این مطلب برای شما مفید باشد و شما را در شروع کدنویسی در PHP راهنمایی کند. در قسمت بعدی به سراغ رشته ها و متغیر ها در این زبان می رویم. </description>
                <category>Reyhaneh Jafari</category>
                <author>Reyhaneh Jafari</author>
                <pubDate>Mon, 10 May 2021 18:45:12 +0430</pubDate>
            </item>
                    <item>
                <title>مقدمه ای برای شروع یادگیری زبان برنامه نویسی PHP</title>
                <link>https://virgool.io/coderlife/%D9%85%D9%82%D8%AF%D9%85%D9%87-%D8%A7%DB%8C-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%B4%D8%B1%D9%88%D8%B9-%DB%8C%D8%A7%D8%AF%DA%AF%DB%8C%D8%B1%DB%8C-%D8%B2%D8%A8%D8%A7%D9%86-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-php-y1mejg68mhaj</link>
                <description>زبان برنامه نویسی PHP یا Hypertext Processor به معنی تجزیه و تحلیل کننده ابرمتن ها، هنوز هم یکی از گسترده ترین تکنولوژی هایی است که در اینترنت استفاده می شود. این زبان زمینه ای برای کد های بسیاری از سیستم های مدیریت محتوا مانند وردپرس، دروپال و جوملا را فراهم می کند. سیستم های مدیریت محتوا یا به اختصار CMSها به کاربران امکان به روز رسانی محتوای سایت و مدیریت آن را می دهند، بدون اینکه نیاز باشد کاربر لایه کدهای سایت را ببیند و با کدها درگیر شود.زبان برنامه نویسی PHPعلاوه بر سیستم های مدیریت محتوا، بسیاری از سایت های تجاری و فروشگاهی هم برای سیستم تجارت الکترونیک از کدهای PHP استفاده می کنند. به طور مثال ووکامرس و مجنتو پلتفرم هایی هستند که ابزار فروش محصول به شمار می آیند و به کاربرها این امکان رو می دهند که بدون درگیر شدن با پیچیدگی کدهای برنامه نویسی، محصولات روی سایتشون رو بفروشند.زبان برنامه نویسی PHP عملکرد داخلی برای تعامل با داده های وب رو شامل میشه، PHP بدون هیچ ابزار دیگری می تواند به تنهایی مورد استفاده قرار بگیرد تا بک اند کامل یک وبسایت با استفاده از اون طراحی بشه. خبر خوب اینه که لازم نیست تمام خط های زبان برنامه نویسیPHP رو بنویسید، بعد از اینکه با اصول زبان PHP آشنا شدین، می تونید از فریم ورک های قدرتمند PHP انتخاب کنید و بعد تغییرات خودتون رو اعمال کنید. این چارچوب ها زمینه اولیه و راه حل هایی برای حل مشکلات رایجی که در توسعه بک اند وبسایت پیش میاد رو ارائه می دهند. برخی از فریم ورک های محبوب این زبان برنامه نویسی Laravel ، CakePHP و Symfony هستند و کلی فریم ورک های دیگه وجود داره که می تونید با توجه به نیازتون انتخاب کنید.در قسمت بعدی این مطلب بهتون می گم که چطور زبان برنامه نویسی PHP  به فایل های متنی HTML کمک می کنه تا وبسایت رو داینامیک کنه و بعد به سراغ تعریف مفاهیم اولیه در PHP میریم. اگر دوست دارید با این زبان برنامه نویسی و قابلیت های اون آشنا بشید، می تونید من رو دنبال کنید.</description>
                <category>Reyhaneh Jafari</category>
                <author>Reyhaneh Jafari</author>
                <pubDate>Thu, 06 May 2021 13:31:30 +0430</pubDate>
            </item>
                    <item>
                <title>آموزش 20 دستور پایه ای لینوکس برای تازه واردها</title>
                <link>https://virgool.io/@reyhanjafari/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-20-%D8%AF%D8%B3%D8%AA%D9%88%D8%B1-%D9%BE%D8%A7%DB%8C%D9%87-%D8%A7%DB%8C-%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%AA%D8%A7%D8%B2%D9%87-%D9%88%D8%A7%D8%B1%D8%AF%D9%87%D8%A7-szhsmq7rmbtz</link>
                <description>احتمالا شما با سیستم عامل های مختلف مثل ویندوزXP ، ویندوز 8، ویندوز 10 یا سیستم عامل مک آشنا هستید و کار کردید. در کنار این سیستم عامل ها، یکی از سیستم عامل های بسیار قوی که کاربرهای زیادی داره، لینوکس هست. سیستم عامل لینوکس یک سیستم عامل متن باز هست که بر پایه هسته لینوکس بنا شده. قابلیت متن باز بودن و رایگان بودن لینوکس باعث شده که از سال 1991 که این سیستم عامل منتشر شد، تا حالا محبوبیت خودش رو حفظ کنه.قدرت و نظم بالای سیستم عامل لینوکس این سیستم عامل رو به قدری فراگیر کرده که در تلفن های همراه، ماشین های هوشمند، لوازم خانگی هوشمند از لینوکس استفاده میشه. علاوه بر همه این ها، بورس خیلی از کشورها هم با لینوکس کار می کنه!بعضی از دستورهایی که در این پست توضیح داده شده اند برای توزیع اوبونتو لینوکس هستند. اوبونتو یک توزیع زیبا و با رابط کاربری خوب هست که باعث رشد بیشتر کاربرهای لینوکس شده.اگر شما هم به تازگی با دنیای لینوکس آشنا شدین و قصد دارین از این سیستم عامل قابل اعتماد و قدرتمند استفاده کنید، لازم هست که با دستورات پایه ای این سیستم عامل آشنا بشید تا این مسیر براتون آسون، جذاب و قابل فهم تر باشه.دستورات پایه ای لینوکسحالا که کمی با لینوکس آشنا شدین، می خواهیم 20 دستور پایه ای لینوکس رو یاد بگیریم. باید توجه کنید که دستورات لینوکس به حروف بزرگ و کوچک حساس هستند، پس هنگام کد زدن، حواستون به این موضوع باشه.1-دستور lsاین دستور list directory content هست و فهرست مطالب دایرکتوری رو به شما ارائه میده. در لینوکس این دستور یک لیست از فایل ها و دایرکتوری ها رو فراهم می کنه.2-دستور cd /var/logاین دستور دایرکتوری فعلی رو تغییر میده و بستگی به دایرکتوری داره که در اون در حال کار هستید.3-دستور grepاین دستور پر کاربرد کارش اینه که متنی که میدین رو در فایلی که مد نظر دارین پیدا کنه.4-دستور sudoبعضی از دستورات لینوکس برای اجرا شدن نیاز به اجازه سیستم ادمین دارند. در ابتدای این دستورها، از دستور sudo استفاده می کنیم.5-دستور pwdاین دستور هم یکی از راه هایی هست که می تونین بفهمین در چه دایرکتوری دارید کار می کنید!6-دستور mvاین دستور به شما کمک می کنه که یک فایل رو جابجا کنید یا اسم اون فایل رو تغییر بدید.7-دستور cpدستور cp برای کپی کردن یک فایل در همون دایرکتوری که در حال کار هستید استفاده میشه.8-دستور rmاین دستور رو می تونید برای پاک کردن یک فایل یا یک دایرکتوری استفاده کنید. کافیه که نام فایلی که می خواید پاک بشه رو بعد از این دستور بنویسید. این دستور آپشن های مختلفی داره که امکانات بیشتری در پاک کردن فایل ها با فرمت های مختلف به شما میده.9-دستور mkdirخب، این همه راجع به دایرکتوری ها حرف زدیم، اما چطور دایرکتوری بسازیم؟ با این دستور می تونید به راحتی دایرکتوری ایجاد کنید!10-دستور chownدستور chown در لینوکس مالکیت یک فایل یا فولدر رو تغییر میده. با این دستور می تونید مالکیت فایل یا فولدرهایی رو به یک یوزر یا چند یوزر تغییر بدید.11-دستور catدستور cat مخفف concatenate یکی از دستوراتی هست که بیشترین استفاده رو در لینوکس داره. دستور cat به شما امکان می دهد تا یک یا چند فولدر ایجاد کنید، محتوای فایل ها را مشاهده کنید.12-دستور wcاز این دستور برای شمارش کلمات در سیستم عامل لینوکس استفاده میشه. برای اینکه تعداد خطوط جدید، تعداد کلمات و تعداد بایت ها و کاراکتر ها رو بدونین، کافیه اسم فایل رو بعد از دستور wc و آپشنی که لازم دارید بزارید. در ادامه می تونید آپشن های این دستور رو در کنار عملکرد اون ها ببینید:wc –l: تعداد خطوط فایلwc –w: تعداد کلمات فایلwc –c :تعداد بایت های فایلwc –m: تعداد کارکترهای فایلwc –L :طول بلندترین خط فایل13-دستور historyاین دستور برای نشان دادن دستورات قبلی استفاده شده یا برای به دست آوردن اطلاعات در مورد دستورات اجرا شده توسط کاربر استفاده می شه.14-دستور clearاگر خیلی صفحه ترمینال شما شلوغ شده، با این دستور می تونین صفحه رو پاک کنید!15-دستور apt –getبا این دستور می تونید خیلی راحت بسته های نرم افزاری رو نصب کنید. apt که مخففadvanced packaging tool هست، کمکتون می کنه که نرم افزار ها رو نصب کنید، به روز رسانی کنید یا از سیستم حذفشون کنید.16-دستور rebootبا این دستور همینطور که از اسمش مشخصه، می تونید سیستم رو خاموش کنید یا دوباره راه اندازی کنید.17-دستور diffاین دستور که مخفف کلمه difference هست، به شما این امکان رو میده تا دو فایل رو خط به خط با هم مقایسه کنید. بعد از تجزیه و تحلیل، خطوطی که با هم مطابقت ندارند خروجی این دستور می شن.18-دستور killاگر می خواین که یک برنامه رو متوقف کنید، kill براي اين كاره! کاری که end task برای برنامه های ویندوز انجام میده رو در لینوکس می تونید با این دستور عملی کنید.19-دستور pingاین دستور وضعیت اتصال شما به سرور رو نشون میده. علاوه بر وضعیت اتصال، می تونید زمان پاسخ دهی سرور رو هم با دستور ping ببینید.20-دستور duاین دستور به شما مقدار استفاده از دیسک رو نشون میده. که در واقع مخفف disk usage هست.دستورات پایه ای لینوکس به کاربرهای این سیستم عامل کمک می کنه تا کارهاشون رو به راحتی و به طور موثر انجام بدند. به خاطر سپردن بعضی از این دستورهای پایه ای ممکن هست مدتی طول بکشه، اما با تمرین زیاد هیچ چیز غیرممکن نیست.آشنا بودن با دستورها و قابلیت های لینوکس و از اون مهمتر تسلط داشتن به این دستورها، کار با لینوکس رو براتون خیلی شیرین تر می کنه. امیدوارم که این مطلب براتون مفید باشه و موفق باشین!</description>
                <category>Reyhaneh Jafari</category>
                <author>Reyhaneh Jafari</author>
                <pubDate>Fri, 30 Apr 2021 08:53:10 +0430</pubDate>
            </item>
                    <item>
                <title>انتخاب ها و اولویت ها</title>
                <link>https://virgool.io/@reyhanjafari/%D8%A7%D9%86%D8%AA%D8%AE%D8%A7%D8%A8-%D9%87%D8%A7-%D9%88-%D8%A7%D9%88%D9%84%D9%88%DB%8C%D8%AA-%D9%87%D8%A7-nihhfxsyzjje</link>
                <description>بحثی که از بچگی باهاش روبرو بودیم همه، انتخاب بود. انتخاب مسئله ای هست که در تمام لحظه های زندگی باهاش به نوعی درگیریم. کمی که بزرگتر شدم در دوران نوجوانی این بحث انتخاب به جبر زندگی و بعد فلسفی این داستان کشیده شد. با خوندن کتاب های فلسفی و دیدن فیلم هایی با این مضامین، داشتم خودم رو قانع می کردم که بابا انتخابی وجود نداره و مسیر زندگی جبره!راستش هنوز هم نمی دونم چه قدر انتخاب های من هستن که مسیر زندگیم رو شکل میدن، و چه قدر سرنوشت این بوده که من در مسیری که هستم قرار بگیرم.اما مسئله ای که سعی می کنم خیلی توی انتخاب هام این روزها بهش توجه کنم، اولویت هاست. انتخاب اولویت ها خودش از سخت ترین انواع انتخابه!این روزها سعی می کنم مطمئن تر از همیشه انتخاب کنم و به انتخاب های خودم اعتماد داشته باشم. منطقی باشم و سعی کنم جوری مسیر رو بچینم که توانایی هام رو بالاتر ببرم. و راستش باید بگم که این چالش انتخاب ها یه جورایی برام لذت بخش شده!</description>
                <category>Reyhaneh Jafari</category>
                <author>Reyhaneh Jafari</author>
                <pubDate>Mon, 26 Apr 2021 10:49:47 +0430</pubDate>
            </item>
            </channel>
</rss>