<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های پارسا</title>
        <link>https://virgool.io/feed/@parsa</link>
        <description>توسعه‌دهنده نرم‌افزار / http://parsa.ws</description>
        <language>fa</language>
        <pubDate>2026-06-16 15:52:50</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/27/avatar/uJA0RP.png?height=120&amp;width=120</url>
            <title>پارسا</title>
            <link>https://virgool.io/@parsa</link>
        </image>

                    <item>
                <title>فینگلیش Finglish از کجا اومده؟ تفاوت فینگلیش و پنگلیش!</title>
                <link>https://virgool.io/domainjoo/finglish-penglish-in-persian-ganij2rwapp8</link>
                <description>فینگلیش واژه‌ای است که خیلی از افراد تصور می‌کنند ابداع  ایرانی‌هاست. اما این تصور کاملا اشتباه است! تقریبا همه مردم تصور می‌کنند  که Finglish یعنی نوشتن کلمات فارسی با خط انگلیسی، و بر همین اساس فکر  می‌کنند که این واژه ساخته ایرانی‌هاست. در این نوشته توضیح خواهیم داد که  واژه فینگلیش از ایران نیومده و اتفاقا از آمریکا و کانادا اومده.ریشه واژه فینگلیش Finglish چیست و چه کسی این واژه را ساخته؟واژه فینگلیش Finglish اولین‌بار در سال ۱۹۲۰ توسط Martti Nisonen در Hankock ایالت Michigan  آمریکا استفاده شد تا درباره یک پدیده زبانی (ارتباطی) که در آمریکا و  کانادا با آن مواجه شده بود توضیحاتی رو ارائه کنه. فینگلیش در واقع ترکیبی  از فنلاندی Finnish و انگلیسی English هست، نه ترکیب Farsi و English. در  زبان فینگلیش Finglish کلمات انگلیسی با زبان فنلاندی بومی‌سازی و در  چهارچوب دستور زبان فنلاندی استفاده می‌شوند. مثلاhany man kheili bizi am.  زبان فینگلیش توسط فنلاندی‌هایی که به آمریکا و کانادا مهاجرت کردن ابداع  شده و علاوه بر آمریکا و کانادا در نقاط مختلف فنلاند استفاده میشه.  تاریخچه زبان فینگلیش به دو دسته‌بندی کلی تقسیم میشه: فینگلیش قدیم و  فینگلیش جدید. فینگلیش قدیم بر می‌گرده به دوران اولین مهاجران فنلاندی به  آمریکا و کانادا.بسیاری از این مهاجران سواد کمی داشتند و به همین دلیل خیلی از افراد در  کارهایی مشغول شدن که به سواد نیاز نداشت و به این ترتیب نسل اول مهاجران  فنلاندی هیچوقت انگلیسی رو درست یاد نگرفتند. البته نسل‌های دوم و سوم  تقریبا توانستند انگلیسی را درست یاد بگیرند و دو زبانه شوند. اغلب این  مهاجران فنلاندی از استان‌های Savonia , Tavastia , Ostrobothnia بودن که خب طبیعتا زبان محلی این مناطق تحت تاثیر زبان فینگلیش Finglish   قرار گرفت. فینگلیش جدید از خود فنلاند اومده و بر خلاف فینگلیش قدیمی توسط  افراد سطح بالا و با سوادی به وجود اومده که به نوعی با زبان انگلیسی در  ارتباط هستند (مانند دانشجوها، مهندسین، پزشکان و …). فینگلیش جدید برای  فهم بیشتر و راحت‌تر کلمات جدید انگلیسی استفاده می‌شود، به خصوص وقتی  مفهومی در انگلیسی فقط با یک کلمه بیان شود و معادل همون مفهوم در زبان  فنلاندی باید با چند کلمه بیان شود. در فارسی هم مشکل مشابه‌ای وجود دارد.  زبان فینگلیش جدید به زبان کوچه بازاری هلسینکی Helsinki شباهت زیادی دارد  با این تفاوت که زبان فینگلیش جدید مدرن‌تر و با کلمات انگلیسی ترکیب شدن.  چند نمونه از کلمات فینگلیش جدید (یا فینگلیش مدرن):واژه bugi – معادل انگلیسی: bug – به معنی خطا در برنامه‌نویسیواژه dellata – معادل انگلیسی:  delete  – به معنی حذف کردنواژه Kreisi – معادل انگلیسی: crazy  – به معنی دیوانهواژه fiksata – معادل انگلیسی: to fix  – به معنی تعمیر کردنواژه Steissi – معادل انگلیسی: station – به معنی ایستگاهپنگلیش Penglish چیست؟ فینگیلیش با پنگلیش چه فرقی دارد؟واژه پنگلیش یا پینگلیش مخفف Parsi و English و یا Persian و English  هست، که یعنی نوشتن زبان فارسی با خط انگلیسی. پنگلیش معادل‌های دیگری  دارد: فنگلیسی یا فارگلیسی مخفف فارسی + انگلیسی. این سبک نوشتن  از چت‌روم‌ها و SMSها به وجود آمده است و به دلیل عدم اطلاع مردم از وجود  زبان فینگلیش کم کم به نام فینگلیش جا افتاده که می‌شود گفت واژه اشتباهی  است و بهترِ از واژه پنگلیش Penglish استفاده بشه. اصصلاح فینگلش Finglish  برای این مفهوم کاملا اشتباه است، چون Finglish مربوط می‌شود به زبان  فنلاندی. به استفاده از خط انگلیسی برای زبان فارسی میگویند پنگلیش  Penglish. شاید یکی از مهم‌ترین دلایل رواج پیدا کردن پنگلیش‌نویسی هزینه  SMS بوده. در انگلیسی مفاهیم پیچیده هم با یک کلمه بیان می‌شوند، اما در  زبان پارسی و خیلی از زبان‌های دیگر به این شکل نیست.این نوشته اولین بار در سایت علمِ فردا در سال ۱۳۹۳ منتشر شده است. پس از ویرایش و حذف بخش‌هایی از نوشته در وبلاگ دامین‌جو انتشار مجدد شده است.</description>
                <category>پارسا</category>
                <author>پارسا</author>
                <pubDate>Sun, 01 Sep 2019 15:18:54 +0430</pubDate>
            </item>
                    <item>
                <title>معرفی پکیج WordsNinja برای Node.js</title>
                <link>https://virgool.io/nodejs/%D9%85%D8%B9%D8%B1%D9%81%DB%8C-%D9%BE%DA%A9%DB%8C%D8%AC-wordsninja-%D8%A8%D8%B1%D8%A7%DB%8C-nodejs-kteqyoplwwtg</link>
                <description>در حال توسعه سرویسی هستم که نیاز هست واژه‌های انگلیسی که بدون هیچ جداکننده‌ای در دیتاست قرار دارند رو به صورت واژه‌های تفکیک شده داشته باشم.توسعه محصول برپایه Node.js هست و خب این مشکلی بود که لازم بود حل بشه، در جستجویی که داشتم به لینک زیر رسیدم: https://stackoverflow.com/questions/8870261/how-to-split-text-without-spaces-into-list-of-words نمونه کدهایی به زبان پایتون و جاوااسکریپت به همراه فایلی حاوی کلمات انگلیسی در این پست بود که به من برای حل مشکلم کمک کرد. (از خوبی‌های فعالیت در جامعه متن‌باز ?)با استفاده از کد جاوااسکریپتی که در پست بود و بهینه‌سازی و توسعه اون پکیج npmی ایجاد کردم که برای پروژه‌های آینده کاربرد داشته باشه.نام پکیج wordsninja هست که نحوه استفاده از اون رو توضیح میدم. https://github.com/parsakafi/wordsninja نصب پکیجnpm install wordsninja --saveفراخوانی پکیج و ایجاد objectconst WordsNinjaPack = require(&#039;wordsninja&#039;); 
const WordsNinja = new WordsNinjaPack();برای استفاده نیاز هست ابتدا دیکشنری واژه‌های انگلیسی رو ایجاد کنید که با دستور زیر فرخوانی خواهد شد (خروجی این متد از نوع Promise هست که نیاز هست متد برنامه شما به شکل Async باشد)await WordsNinja.loadDictionary();تفکیک واژه‌ها به کمک متد splitSentence انجام میشهlet string = &#039;youneedtolearnfromyourmistakes&#039;; 
let words = WordsNinja.splitSentence(string);
console.log(words);که چنین خروجی رو نمایش میده:[ &#039;you&#039;, &#039;need&#039;, &#039;to&#039;, &#039;learn&#039;, &#039;from&#039;, &#039;your&#039;, &#039;mistakes&#039; ]پارامترهای اختیاری متد splitSentence به شما برای ایجاد خروجی بهتر کمک میکندپارامتر  camelCaseSplitter: شروع تفکیک براساس Camel Caseپارامتر  capitalizeFirstLetter: تغییر حروف ابتدای واژه‌ها به حروف بزرگ پارامتر  joinWords: برای ایجاد واژه‌ها به شکل پیوسته نمونه کاملی از نحوه استفاده(async () =&gt; {
 await WordsNinja.loadDictionary(); // First load dictionary
 let string = &#039;youneedtolearnfromyourmistakes&#039;;
 let words = WordsNinja.splitSentence(string,
        {
            camelCaseSplitter: true,  // Frist camel case spliting
            capitalizeFirstLetter: true,  // Capitalize first letter of result
            joinWords: true // Join words
        }
    );
 console.log(words);
})();خروجیYou Need To Learn From Your Mistakesافزودن واژه به دیکشنری در زمان اجراهمچنین می‌توانید قبل از اجرای متد تفکیک واژه‌ها از متد addWords برای افزودن واژه(ها) به دیکشنری استفاده کنید، نمونه:WordsNinja.addWords(&#039;Parsa&#039;);  // Add one word
WordsNinja.addWords([&#039;Parsa&#039;, &#039;Kafi&#039;]); // Add one or more wordsلینک پکیج در npm https://www.npmjs.com/package/wordsninja امیدوارم برای شما به هر شکل کاربردی باشه :)</description>
                <category>پارسا</category>
                <author>پارسا</author>
                <pubDate>Fri, 21 Jun 2019 00:49:21 +0430</pubDate>
            </item>
                    <item>
                <title>چرخه حیات دامنه‌های عمومی (Generic TLD Domain Name)</title>
                <link>https://virgool.io/domainjoo/life-cycle-typical-gtld-domain-name-guqj4dxfcgzz</link>
                <description>نام دامنه، آدرس اینترنتی وبسایت شما در شبکه اینترنت است. انتخاب  دامنه مناسب برای کسب‌وکار شما می‌تواند درصد موفقیت آن را بالا ببرد، دامین‌جو به شما کمک می‌کند تا مناسب‌ترین انتخاب را برای نام دامنه داشته باشید.دامنه سطح بالا یا TLD چیست؟واژه TLD مخفف Top Level Domain یا دامنه سطح بالا است. در هر آدرس اینترنتی بعد از آخرین نقطه نمایش داده می‌شود، برای مثال اگر دامنه https://domainjoo.com باشد TLD آن “.com” است.طبقه‌بندی پایه TLDهامی‌توان دامنه‌های سطح بالا را به دو دسته‌بندی تقسیم کرد.واژه gTLDs یا  Generic Top Level Domains / دامنه عمومی سطح بالاواژه ccTLDs یا  Country Code Top Level Domains / دامنه کد کشوری سطح بالا ثبت gTLD یا دامنه عمومی سطح بالادامنه‌های عمومی سطح بالا (gTLDs) به کشور خاصی متعلق نیستند و کاملا  عمومی هستند. از نظر تئوری این دامنه‌ها را هر فردی در هر جایی می تواند  ثبت کند. برای مثال از gTLDs می‌توان به .com, .net, .org, .info اشاره  کرد.چرخه حیات دامنه چیست؟در باور عموم این جور شکل گرفته که می‌توان دامنه را خرید، این واقعیت  ندارد. شما فقط می‌توانید نام دامنه را اجاره کنید. چرخه حیات دامنه با در  دسترس بودن برای ثبت شروع و با حذف آن به پایان می‌رسد. به طور معمول در هر  جایی نام دامنه را می‌توان بین ۱ تا ۱۰ سال اجاره کرد. در صورتی که نام  دامنه تمدید نشود، پس از انقضا حذف می‌شود.چرخه حیات نام دامنه‌های عمومی سطح بالاچرخه حیات دامنه‌های عمومیچرخه عمر دامنه کاملا مشخص است، این مسیر را می‌توان به ۵ مرحله تقسیم کرد. این مراحل در زیر شرح داده شده است.مرحله ۱ – نام دامنه آزاداین مرحله نقطه شروع چرخه حیات دامنه است، درباره  gTLDs نقطه شروع  زمانی است که نام دامنه برای ثبت آزاد باشد. یا به معنای اینکه شما به  دنبال دامنه‌ای هستید که توسط هیچکسی ثبت نشده است. سرویس دامین‌جو  برای این مرحله به شما کمک می‌کند. بار دیگر تکرار می‌کنیم که امکان خرید  دامنه وجود ندارد و فقط شما آن را برای مدتی اجاره می‌کنید.مرحله ۲ – ثبت یا اجارهمرحله دوم شامل ثبت دامنه آزاد می‌شود. بعد از پرداخت هزینه ثبت، نام  دامنه شما فعال می‌شود. در صورتی که قصد انتقال دامنه به ثبت‌کننده  (Registrar) دیگری را دارید نیازمند این هست که حداقل ۶۰ روز با ثبت‌کننده  فعلی خود بمانید تا امکان انتقال آن را داشته باشید. مرحله ۳ –  انقضا و ثبت مجددهنگامی که به انقضا نزدیک می‌شوید، اکثر ثبت‌کننده‌های دامنه  یادآوری‌هایی را به مشتریان خود ارسال می‌کنند. این به مشتریان کمک می‌کند  تا در زمان مناسب آدرس اینترنتی خود را ثبت مجدد کنند. زمانی که به تاریخ   انقضای دامنه برسید دامنه طی ۲۴ ساعت غیرفعال می‌شود. با این حال، دامنه  شما برای ثبت توسط دیگران آزاد نیست. اکنون دامنه شما در دوره تمدید (Grace  Period) است که بین ۰ تا ۴۵ روز متفاوت است. در این دوره شما می‌توانید  بدون پرداخت هزینه‌ای دامنه خود را ثبت مجدد کنید.مرحله ۴ – دوره بازخریدهنگامی که دوره تمدید به پایان برسد، شما همچنان این شانس را دارید که  دامنه خود را ثبت مجدد کنید. با این حال، در این مرحله برای فعال شدن دامنه  برای شما نیازمند این هست که هزینه بازخرید را بپردازید. این دوره معمولا  ۳۰ روز زمان می‌برد. مهمترین چیزی که باید در نظر داشته باشید اگر  می‌خواهید دامنه خود را بار دیگر فعال کنید این دوره بهترین زمانی است که  می‌توانید این کار را انجام دهید قبل از اینکه به برند، محصول یا سرویس شما  آسیب بیشتری برسد. فقط به خاطر اینکه شما موفق به انجام این مرحله  نشدید نتیجه کار شما می‌تواند از بین برود با اینکه در زمان خوب و مناسبی  هم بودید.مرحله ۵ – در انتظار حذفهنگامی که دوره بازخرید به پایان برسد، نام دامنه شما وارد مرحله حذف  می‌شود. این مرحله به طور معمول ۵ روز زمان می‌برد و در طی این زمان امکان  بازیافت دامنه را ندارید. اگر دامنه خود را می‌خواهید می‌توانید صبر کنید  تا دامنه حذف شود سپس بعد از آزاد شدن دامنه به ثبت آن اقدام کنید. اشکال  بزرگی که در این مرحله است اگر بخواهید دامنه را ثبت کنید باید قبل از  دیگران این کار را انجام دهید، چرا که دامنه برای دیگران هم آزاد هست و  امکان ثبت آن را دارند. در نهایت امکان این هست که دامنه خود را از دست  بدهید.در دنیای مجازی بدست آوردن نام دامنه مناسب در زمان مناسب به شما کمک می‌کند تا موفق شوید. سرویس دامین‌جو  به شما برای انتخاب دامنه مناسب کمک می‌کند. مهمترین مساله برای شما این  هست که به خاطر داشته باشید دامنه را در زمان مناسب تمدید کنید.  این مقاله اولین بار در وبلاگ دامین‌جو منتشر شده است. https://domainjoo.com/blog/life-cycle-typical-gtld-domain-name </description>
                <category>پارسا</category>
                <author>پارسا</author>
                <pubDate>Sat, 30 Mar 2019 17:33:51 +0430</pubDate>
            </item>
                    <item>
                <title>اتصال وردپرس به تلگرام با WP Telegram Pro</title>
                <link>https://virgool.io/@parsa/wp-telegram-pro-e4qolu4fkppl</link>
                <description>WP Telegram Proوردپرس/WordPress سیستم مدیریت محتوای محبوبی است که اکنون ۳۳٪ از دنیای وب را به خود اختصاص داده و امکانات خوبی برای توسعه بیشتر به عنوان یک برنامه تحت وب را در اختیار کاربران قرار می‌دهد. شما می‌توانید با افزونه WP Telegram Pro امکان مرور نوشته‌ها، دسته‌ها، محصولات (ووکامرس / Woocommerce) و امکان خرید را به کاربران وبسایت خود از طریق بات تلگرام دهید، همچنین با وارد کردن مشخصات کانال خود می‌توانید نوشته‌های خود را به صورت خودکار با قالب دلخواه در کانال تلگرام وبسایت خود منتشر کنید.تصویر نمونه بات تلگرامتغییرات:نگارش ۱.۱ انتشار در شنبه ۱۷ فروردین ۱۳۹۸:امکان نمایش تعداد کاربران کانال با شورتکد channel_members_wptp ، نمونه: [channel_members_wptp channel=&quot;telegram&quot; formatting=&quot;1&quot;]نگارش ۱.۲ انتشار در شنبه ۲۴ فروردین ۱۳۹۸:هماهنگی با زبان‌های راست‌چینامکان بروزرسانی اجباری کیبورد تلگرام توسط مدیرافزوده شدن امکان شرط در الگوی برچسب‌هاافزوده شدن الگوی زمینه دلخواه و مقدارهای تاکسونامی در الگوی برچسب‌هادریافت افزونه WP Telegram Pro https://wordpress.org/plugins/wp-telegram-pro لینک کوتاه https://goo.gl/ngqpL6 </description>
                <category>پارسا</category>
                <author>پارسا</author>
                <pubDate>Wed, 27 Mar 2019 21:55:25 +0430</pubDate>
            </item>
            </channel>
</rss>