<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های مهران</title>
        <link>https://virgool.io/feed/@dotmehran</link>
        <description>علاقه‌مند به برنامه نویسی، طراحی ، توسعه شخصی و کسب و کار</description>
        <language>fa</language>
        <pubDate>2026-06-07 10:37:47</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/4269/avatar/qHb6r8.png?height=120&amp;width=120</url>
            <title>مهران</title>
            <link>https://virgool.io/@dotmehran</link>
        </image>

                    <item>
                <title>پایان ترجمه‌ی‌ تدریجی کتاب Eloquent JavaScript، جاوااسکریپت شیوا</title>
                <link>https://virgool.io/coderlife/%D9%BE%D8%A7%DB%8C%D8%A7%D9%86-%D8%AA%D8%B1%D8%AC%D9%85%D9%87%DB%8C-%D8%AA%D8%AF%D8%B1%DB%8C%D8%AC%DB%8C-%DA%A9%D8%AA%D8%A7%D8%A8-eloquent-javascript-%D8%AC%D8%A7%D9%88%D8%A7%D8%A7%D8%B3%DA%A9%D8%B1%DB%8C%D9%BE%D8%AA-%D8%B4%DB%8C%D9%88%D8%A7-m0im8xwr2gcx</link>
                <description>خبر خوب ?بالاخره بعد از گذشت دو سال از شروع ترجمه و انتشار تدریجی کتاب Eloquent JavaScript، با ترجمه‌ی فصل آخر، به پایان این دفتر رسیدیم.امیدوارم که ترجمه‌ی این کتاب کمک کوچکی به کسانی که به توسعه‌ی وب علاقمند هستند کرده باشه. فصل آخر کتاب درباره‌ی ایجاد یک وب‌سایت اشتراک مهارته که هر دو بخش frontend و backend رو پوشش میده. حمایت از کتاباگر ترجمه‌ی این کتاب رو مفید می‌دونید و دوست دارید از این کار حمایت کنید، عدد ۱ رو به ....  ? ? شوخی کردم!  فقط سایت کتاب رو به دیگران معرفی کنید از طریق هر رسانه‌ای که دسترسی دارید. ممنون ?قدم بعدیهنوز بخشی از نقل‌قول‌های ابتدای فصل‌ها کامل ترجمه نشده و اشتباهات ریز و درشتی در ترجمه‌ی کتاب موجوده. در اولین فرصت سعی خواهم کرد که ایرادات رو برطرف کنم. شما هم اگر ایرادی پیدا کردید می‌تونید گزارش بدید و به این روند کمک کنید.وب‌سایت ترجمه‌ی کتابhttp://eloquentjs.irوب‌سایت انگلیسی کتابhttps://eloquentjavascript.net</description>
                <category>مهران</category>
                <author>مهران</author>
                <pubDate>Sat, 12 Sep 2020 09:39:53 +0430</pubDate>
            </item>
                    <item>
                <title>جاوااسکریپت شیوا: فصل 20: Node.js</title>
                <link>https://virgool.io/@dotmehran/%D8%AC%D8%A7%D9%88%D8%A7%D8%A7%D8%B3%DA%A9%D8%B1%DB%8C%D9%BE%D8%AA-%D8%B4%DB%8C%D9%88%D8%A7-%D9%81%D8%B5%D9%84-20-nodejs-jszgknpkrfd9</link>
                <description>سلام دوستان.همچنان پیش میریم. فصل ۲۰ کتاب آماده شد. این فصل کتاب به Node.js می‌پردازه. خلاصهنودجی‌اس (Node.js) دوست داشتنی است، سیستمی کوچک که برای ما امکان اجرای جاوااسکریپت در فضایی غیر از مرورگر را فراهم می‌سازد. هدف ابتدایی طراحی Node برای استفاده در وظایف شبکه بود که قرار بود نقش یک گره (node) را در شبکه بازی کند. اما توانست خود را به همه‌ی وظایف و کاربردهای اسکریپتی عرضه کند، و اگر شما از نوشتن جاوااسکریپت لذت می‌برید، با استفاده از Node می‌توانید کارهایتان را خودکار نمایید.مخزن NPM برای هر چیزی که فکرش را بکنید‌ (و چیزهایی که شاید فکرش را هم نکنید) بسته‌هایی فراهم می‌کند، و می‌توانید آن‌ها را بارگیری و به وسیله‌ی برنامه‌ی npm نصب کنید. خود Node نیز تعدادی ماژول درونی دارد،‌ مانند ماژول fs برای کار با سیستم فایل و http برای اجرای سرویس‌دهنده‌های HTTP و ساختن درخواست‌های HTTP.همه‌ی عملیات ورودی و خروجی در Node به صورت ناهمگام صورت می‌پذیرند مگر اینکه صراحتا از شکل همگام یک تابع مانند readFileSync استفاده کنید. زمانی که از این گونه توابع ناهمگام استفاده می‌کنید، شما یک تابع callback به تابع مورد نظر ارسال می‌کنید و Node آن‌ها با یک مقدار خطا و (درصورت وجود) یک نتیجه فراخوانی می کند.سایت ترجمه‌ی کتاب Eloquent Javascript فصل ۲۰ کتاب: Node.js</description>
                <category>مهران</category>
                <author>مهران</author>
                <pubDate>Sat, 22 Aug 2020 08:00:08 +0430</pubDate>
            </item>
                    <item>
                <title>جاوااسکریپت شیوا: فصل ۱۹: پروژه: یک ویرایشگر پیکسلی</title>
                <link>https://virgool.io/@dotmehran/%D8%AC%D8%A7%D9%88%D8%A7%D8%A7%D8%B3%DA%A9%D8%B1%DB%8C%D9%BE%D8%AA-%D8%B4%DB%8C%D9%88%D8%A7-%D9%81%D8%B5%D9%84-%DB%B1%DB%B9-%D9%BE%D8%B1%D9%88%DA%98%D9%87-%DB%8C%DA%A9-%D9%88%DB%8C%D8%B1%D8%A7%DB%8C%D8%B4%DA%AF%D8%B1-%D9%BE%DB%8C%DA%A9%D8%B3%D9%84%DB%8C-b7gjjftfpul6</link>
                <description>پس از تاخیر بسیار!فصل ۱۹ ترجمه‌ی کتاب Eloquent Javascript، آماده شد.ساخت یک ویرایشگر پیکسلی با جاوااسکریپتخوب این فصل از سری فصل‌های پروژه‌ی کتابه که بسیار جذابه. پروژه‌ی این فصل، ساخت یک ویرایشگر پیکسلی با جاوااسکریپته. امیدوارم که لذت ببرید.لینک مستقیم به فصل ۱۹لینک به سایت ترجمه‌ی کتاب جاوااسکریپت شیوا</description>
                <category>مهران</category>
                <author>مهران</author>
                <pubDate>Sun, 19 Jul 2020 20:20:15 +0430</pubDate>
            </item>
                    <item>
                <title>جاوااسکریپت شیوا:‌ فصل ۱۸: http و فرم‌ها</title>
                <link>https://virgool.io/@dotmehran/%D8%AC%D8%A7%D9%88%D8%A7%D8%A7%D8%B3%DA%A9%D8%B1%DB%8C%D9%BE%D8%AA-%D8%B4%DB%8C%D9%88%D8%A7-%D9%81%D8%B5%D9%84-%DB%B1%DB%B8-http-%D9%88-%D9%81%D8%B1%D9%85%D9%87%D8%A7-p6qywbujz9sd</link>
                <description>دوستان به لطف خدا رسیدیم به فصل ۱۸ ترجمه‌ی کتاب جاوااسکریپت شیوا. این فصل به موضوع http و فرم‌ها در جاوااسکریپت می‌پردازه. پیشنهاد می کنم که از دستش ندید!خلاصه‌ی فصلدر این فصل به نحوه‌ی عملکرد پروتوکل HTTP پرداختیم. یک کلاینت درخواستی را ارسال می کند که حاوی یک متد (معمولا GET) و یک مسیر که معرف یک منبع است می‌باشد. سرویس دهنده سپس تصمیم می گیرد که با این درخواست چه کند و با یک کد وضعیت و یک بدنه‌ی پاسخ، به درخواست جواب می دهد. هر دوی درخواست و پاسخ می توانند حاوی سرپیام‌ها (headers) باشند که اطلاعات بیشتری را فراهم می کنند.رابطی که از طریق آن جاوااسکریپت مرورگر می تواند درخواست‌های HTTP را بسازد fetch نامیده می شود. ساخت یک درخواست به شکل زیر می ماند:fetch(&amp;quot/18_http.html&amp;quot).then(r =&gt; r.text()).then(text =&gt; {
  console.log(`The page starts with ${text.slice(0, 15)}`);
});مرورگرها از درخواست‌های نوع GET برای بازیابی منابع مورد نیاز جهت نمایش یک صفحه‌ی وب استفاده می کنند. یک صفحه وب ممکن است حاوی فرم‌ها نیز باشد که این امکان را فراهم می کنند که با ثبت فرم، اطلاعات ورودی کاربر برای ارسال درخواست برای یک صفحه‌ی جدید ارسال شود.HTML اشکال متنوعی از فیلدهای فرم را پشتیبانی می کند مانند فیلدهای متنی، چک‌باکس‌ها یا، فیلد‌های چند‌گزینه‌ای و فیلدهای انتخاب فایل.این فیلدها را می تواند توسط جاوااسکریپت کنترل و تغییر داد. رخداد &quot;change&quot; با ایجاد تغییر در یک فیلد تولید می شود، رخداد &quot;input&quot; زمانی ایجاد می شود که متنی در فیلد تایپ شود و رخدادهای مربوط به صفحه‌کلید هنگامی که فیلد توسط صفحه‌کلید در دسترس و فعال است دریافت می شوند. خاصیت‌هایی مثل value (در فیلدهای text و select) یا checked (در چک‌باکس‌ها و دکمه‌های رادیویی) برای خواندن یا تنظیم محتوای فیلد استفاده می شوند.زمانی که یک فرم ثبت می شود، یک رخداد &quot;submit&quot; روی آن ایجاد می شود. یک گرداننده‌ی جاوااسکریپت می تواند با فراخوانی preventDefault مانع از ثبت فرم شود. فیلدهای فرم را نیز می تواند بیرون از برچسب form استفاده کرد.زمانی که کاربر فایلی را از سیستم محلی فایل خود به وسیله‌ی فیلد انتخاب فایل گزینش می کند، رابط FileReader را می تواند برای دسترسی به محتوای آن فایل از درون یک برنامه جاوااسکریپت استفاده کرد.اشیاء localStorage و sessi را می توان برای ذخیره اطلاعات به صورت مانا که علی رغم بارگیری مجدد صفحه باقی می‌مانند استفاده کرد. اولین شیء، داده‌ها را به صورت همیشگی ذخیره می کند( یا تا هنگامی که کاربر تصمیم به حذف آنها بگیرد) و دومی تا زمانی که مرورگر بسته نشده داده ها را نگه می دارد.سایت ترجمه‌ی کتاب جاوااسکریپت شیوالینک مستقیم به فصل ۱۸</description>
                <category>مهران</category>
                <author>مهران</author>
                <pubDate>Sun, 26 Apr 2020 15:01:52 +0430</pubDate>
            </item>
                    <item>
                <title>ترجمه‌ی فصل ۱۷ کتاب جاوااسکریپت شیوا: ترسیم روی canvas</title>
                <link>https://virgool.io/@dotmehran/%D8%AA%D8%B1%D8%AC%D9%85%D9%87%DB%8C-%D9%81%D8%B5%D9%84-%DB%B1%DB%B7-%DA%A9%D8%AA%D8%A7%D8%A8-%D8%AC%D8%A7%D9%88%D8%A7%D8%A7%D8%B3%DA%A9%D8%B1%DB%8C%D9%BE%D8%AA-%D8%B4%DB%8C%D9%88%D8%A7-%D8%AA%D8%B1%D8%B3%DB%8C%D9%85-%D8%B1%D9%88%DB%8C-canvas-kq9msf575llz</link>
                <description>سلام دوستان. کم کم به فصل‌های انتهایی کتاب نزدیک میشیم. فصلی که امروز منتشر کردم در مورد کار با canvas و رابط‌های مربوط به اونه.امیدوارم که برای شما مفید باشه.خلاصه‌ی انتهای فصلدر این فصل به بحث درباره‌ی تکنیک‌های ترسیم گرافیک در مرورگر پرداختیم و تمرکز ما روی عنصر &lt;canvas&gt; ‌بود.یک گره‌ی canvas نمایانگر ناحیه‌ای است در سند که برنامه‌ی ما در آن قسمت به ترسیم خواهد پرداخت. این ترسیم توسط یک شیء بستر (context) ترسیم انجام می شود که توسط متد getContext ایجاد می گردد.رابط ترسیم دوبعدی (2D) این امکان را به ما می دهد تا اشکال متنوعی را رنگ‌ کرده یا خط مرزی بدهیم. خاصیت fillStyle این بستر (context) نحوه‌ی رنگ‌آمیزی اشکال را مشخص می کند. خاصیت‌های strokeStyle و lineWidth نحوه‌ی ترسیم خطوط را کنترل می کنند.چهارضلعی ها و بخش‌های متنی را می توان با یک فراخوانی متد ترسیم کرد. دو متد fillRect و strokeRect برای ترسیم چهارضلعی و متدهای fillText و strokeText برای رسم متن استفاده می شوند. برای ترسیم اشکال دلخواه، ابتدا باید یک مسیر ایجاد کنید.فراخوانی متد beginPath باعث ایجاد یک مسیر جدید می شود. چند متد دیگر برای افزودن خطوط و منحنی‌ها به همین مسیر فراخوانی می شوند. به عنوان مثال، lineTo یک خط مستقیم اضافه می کند. زمانی که یک مسیر به پایان رسید، می توان با متد fill آن را پر (رنگ) کرد یا با استفاده از متد stroke دور آن خط مرزی رسم کرد.حرکت دادن پیکسل‌ها از یک تصویر یا یک canvas دیگر به canvas ما توسط متد drawImage انجام می پذیرد. به صورت پیش‌فرض، این متد کل تصویر مبدا را رسم می کند، اما با مشخص کردن پارامترهای بیشتر می توانی یک ناحیه‌ی خاص از تصویر را کپی کرد. ما از این روش برای بازی خودمان و کپی کردن حالت‌های کاراکتر بازی از یک تصویر که شامل همه‌ی حالت ها بود استفاده کردیم.دگرگون‌سازی (transformation) این امکان را به شما می دهد که یک شکل را به صورت‌های متعدد ترسیم کنید. یک بستر ترسیم دوبعدی، دارای شکلی است که می‌توان آن را با استفاده از translate، scale و rotate تغییر داد. این تغییرات روی تمامی ترسیم‌های بعدی تاثیر می گذارد. یک حالت دگرگون‌سازی را می توان با استفاده از متد save ذخیره کرد و با متد restore بازگردانی کرد.زمانی که یک تصویر متحرک را روی یک canvas نمایش می دهیم، متد clearRect را می توان برای پاک‌سازی یک قسمت از canvas قبل از ترسیم دوباره استفاده کرد.سایت ترجمه‌ی کتاب جاوااسکریپت شیوالینک مستقیم به فصل ۱۷</description>
                <category>مهران</category>
                <author>مهران</author>
                <pubDate>Sun, 15 Mar 2020 14:58:13 +0330</pubDate>
            </item>
                    <item>
                <title>ترجمه‌ی فصل ۱۶ کتاب جاوااسکریپت شیوا: ساخت یک بازی پرشی</title>
                <link>https://virgool.io/@dotmehran/%D8%AA%D8%B1%D8%AC%D9%85%D9%87%DB%8C-%D9%81%D8%B5%D9%84-%DB%B1%DB%B6-%DA%A9%D8%AA%D8%A7%D8%A8-%D8%AC%D8%A7%D9%88%D8%A7%D8%A7%D8%B3%DA%A9%D8%B1%DB%8C%D9%BE%D8%AA-%D8%B4%DB%8C%D9%88%D8%A7-%D8%B3%D8%A7%D8%AE%D8%AA-%DB%8C%DA%A9-%D8%A8%D8%A7%D8%B2%DB%8C-%D9%BE%D8%B1%D8%B4%DB%8C-qbgwkoxrydqd</link>
                <description>سلام دوستان. فصل ۱۶ کتاب Eloquent JavaScript لحظاتی پیش آماده و در سایت ترجمه‌ی کتاب منتشر شد. در این فصل که از فصل‌های پروژه‌ی کتابه، شما به صورت گام به گام با ساخت یک بازی پرشی یا سکوبازی آشنا خواهید شد. سایت ترجمه‌ی کتابترجمه‌ی فصل ۱۶: ساخت یک بازی پرشی</description>
                <category>مهران</category>
                <author>مهران</author>
                <pubDate>Sat, 18 Jan 2020 18:09:48 +0330</pubDate>
            </item>
                    <item>
                <title>جاوااسکریپت شیوا: فصل ۱۵: رسیدگی به رخداد‌ها</title>
                <link>https://virgool.io/@dotmehran/%D8%AC%D8%A7%D9%88%D8%A7%D8%A7%D8%B3%DA%A9%D8%B1%DB%8C%D9%BE%D8%AA-%D8%B4%DB%8C%D9%88%D8%A7-%D9%81%D8%B5%D9%84-%DB%B1%DB%B5-%D8%B1%D8%B3%DB%8C%D8%AF%DA%AF%DB%8C-%D8%A8%D9%87-%D8%B1%D8%AE%D8%AF%D8%A7%D8%AF%D9%87%D8%A7-yieh0e114493</link>
                <description>به لطف خدا به فصل ۱۵ رسیدیم. این فصل کمی طولانی و مفصله و موضوعی که بهش می‌پردازه، بحث رخداد‌هاست. برای آشنایی بیشتر با مطالب این فصل می‌تونید خلاصه‌ی انتهای فصل رو اینجا مطالعه کنید:خلاصهگرداننده‌های رخداد این امکان را فراهم می کنند که رخدادهایی که در صفحه‌ی وب ما اتفاق می افتند را شناسایی و به آن ها واکنش نشان دهیم. متد addEventListener برای ثبت گرداننده‌ها استفاده می شود.هر رخداد دارای یک نوع است (&quot;keydown&quot; ، &quot;focus&quot; و از این قبیل) که برای شناسایی آن استفاده می شود. بیشتر رخدادها روی عناصر به خصوصی از DOM فراخوانی می شوند و بعد از آن به سمت عناصر والد (اجداد) آن پخش (propagate) می شوند که به گرداننده‌های ثبت شده برای آن عنصرها نیز امکان واکنش به رخداد را فراهم می کنند.زمانی که یک گرداننده‌ی رخداد فراخوانی می شود، یک شیء رخداد که حاوی اطلاعات بیشتری در باره‌ی رخداد است به آن ارسال می شود. این شیء دارای متدهایی است که می توان با آن‌ها از پخش رخداد جلوگیری کرد (stopPropagation) و مانع از اجرای واکنش پیش‌فرض مرورگر به رخداد شد (preventDefault).با فشردن یک کلید دو رخداد &quot;keydown&quot; و &quot;keyup&quot; اجرا می شوند. فشردن یک کلید موس نیز سه رخداد &quot;mousedown&quot; ، &quot;mouseup&quot; و &quot;click&quot; را اجرا می کند. حرکت دادن موس باعث ایجاد رخداد‌های &quot;mousemove&quot; می شود. تعامل با صفحه‌ی لمسی باعث ایجاد رخداد‌های &quot;touchstart&quot;، &quot;touchmove&quot; و &quot;touchend&quot; می شود.اسکرول صفحه را می‌توان با رخداد &quot;scroll&quot; شناسایی کرد و فعال شدن عناصر صفحه را می توان با &quot;focus&quot; و &quot;blur&quot; تشخیص داد. زمانی که بارگیری یک سند پایان می یابد، یک رخداد &quot;load&quot; روی window اجرا می شود.سایت ترجمه‌ی کتابترجمه‌ی فصل ۱۵پی‌نوشت: لینک ترجمه‌ی فارسی به سایت اصلی کتاب (انگلیسی) هم اضافه شد :) (+)</description>
                <category>مهران</category>
                <author>مهران</author>
                <pubDate>Sat, 12 Oct 2019 19:20:19 +0330</pubDate>
            </item>
                    <item>
                <title>جاوااسکریپت شیوا: فصل ۱۴: DOM یا مدل شیء سند</title>
                <link>https://virgool.io/@dotmehran/%D8%AC%D8%A7%D9%88%D8%A7%D8%A7%D8%B3%DA%A9%D8%B1%DB%8C%D9%BE%D8%AA-%D8%B4%DB%8C%D9%88%D8%A7-%D9%81%D8%B5%D9%84-%DB%B1%DB%B4-dom-%DB%8C%D8%A7-%D9%85%D8%AF%D9%84-%D8%B4%DB%8C%D8%A1-%D8%B3%D9%86%D8%AF-xfbohmxfxxsd</link>
                <description>DOMخوب دوستان و همراهان گرامی (:D)، به فصل ۱۴ رسیدیم، یکی از جذاب‌ترین (البته به نظر من) بخش‌های کتاب که موضوع DOM می‌پردازه.اگر به جاوااسکریپت و به طور خاص به کتاب‌خانه‌ها یا فرم‌ورک‌های مدرن مثل ری‌اکت و ویو علاقه دارید، فهم عمیق از DOM یکی از مفید‌ترین چیز‌هایی که می تونیم براش وقت بگذاریم.این فصل از کتاب به طور مفصل به همین موضوع اختصاص داره که خودم و همه رو به خوندنش توصیه می کنم!زیربخش‌هاساختار سنددرخت‌هااستانداردحرکت در درختپیدا کردن عناصرایجاد تغییر در سندایجاد گره‌هاخصوصیت‌هاطرح‌بندیسبک‌دهیسبک‌های آبشاریگزینشگر‌های پرس‌وجوموقعیت‌دهی و متحرک‌سازیخلاصه‌ی انتهای فصل:برنامه‌های جاوااسکریپت می توانند در صفحه‌ای که مرورگر به نمایش می گذارد، با استفاده از یک ساختار داده به نام DOM، دخالت و دستکاری کنند. این ساختار داده نمایانگر مدل مرورگر از صفحه است و یک برنامه‌ی جاوااسکریپت می تواند آن را تغییر دهد و در سندی که به نمایش درمی آید تغییر ایجاد کند.مدل شیء سند یا DOM به شکل یک درخت سازماندهی شده است که در آن عناصر به صورت سلسله‌مراتبی براساس ساختار سند مرتب می شوند. اشیائی که نماینده‌ی عناصر هستند دارای خاصیت‌هایی مانند parentNode و childNodes هستند که می توان از آن ها برای حرکت در این درخت استفاده کرد.نحوه‌ی نمایش یک سند را می توان با سبک‌دهی تغییر داد و این کار به دو روش چسباندن سبک‌ها به عناصر به صورت مستقیم و یا با تعریف دستوراتی که عناصر خاصی را هدف قرار می دهند صورت می‌پذیرد. خاصیت‌های سبک‌دهی زیاد و متنوعی وجود دارد مثل color یا display. کدهای جاوااسکریپت می توانند سبک یک عنصر را مستقیما از طریق خصوصیت style دستکاری کنند.ترجمه‌ی کتاب Eloquent JavaScriptترجمه‌ی فصل ۱۴</description>
                <category>مهران</category>
                <author>مهران</author>
                <pubDate>Mon, 23 Sep 2019 10:53:23 +0330</pubDate>
            </item>
                    <item>
                <title>جاوااسکریپت شیوا: فصل ۱۳: جاوااسکریپت و مرورگر</title>
                <link>https://virgool.io/@dotmehran/%D8%AC%D8%A7%D9%88%D8%A7%D8%A7%D8%B3%DA%A9%D8%B1%DB%8C%D9%BE%D8%AA-%D8%B4%DB%8C%D9%88%D8%A7-%D9%81%D8%B5%D9%84-%DB%B1%DB%B3-%D8%AC%D8%A7%D9%88%D8%A7%D8%A7%D8%B3%DA%A9%D8%B1%DB%8C%D9%BE%D8%AA-%D9%88-%D9%85%D8%B1%D9%88%D8%B1%DA%AF%D8%B1-bd097cja6win</link>
                <description>با سلام. در ادامه‌ی گزارش ترجمه‌ی تدریجی کتاب Eloquent JavaScript، به فصل ۱۳ رسیدیم. این فصل، ابتدای بخش دوم کتابه که به طور خاص به جاوااسکریپت در محیط مرورگر می‌پردازه. در این فصل کمی با مقدمات مورد نیاز برای درک اینترنت، وب و HTML آشنا خواهید شد.فصل‌های آینده‌ی این کتاب به مرورگرهای وب خواهد پرداخت. بدون مرورگرهای وب، جاوااسکریپتی هم￼ وجود نخواهد داشت. یا حتی اگر هم می بود، هیچ کسی توجهی به آن نمی‌کرد.از همان ابتدا فناوری وب غیر متمرکز بوده است، نه فقط از لحاظ فنی بلکه روش رشد آن هم این گونه بوده است. ارائه‌دهندگان مختلف مرورگر، قابلیت‌های اختصاصی و موردی جدیدی را که گهگاه به روش‌های نسنجیده صورت گرفته است، اضافه کرده اند، که بعضا مورد استفاده دیگران قرار گرفته – و در نهایت به عنوان یک استاندارد در آمده است.این اتفاق هم خوش یمن و هم مشکل ساز بوده است. از یک سو، این که فقط یک گروه مرکزی، سیستم را کنترل نکند، باعث رشد و ارتقای آن می شود؛ اما بهبود سیستم توسط گروه‌های مختلف که همکاری خوبی باهم ندارند (یا گاهی اوقات به روشنی خصومت هم دارند) هم بدی‌های خودش را دارد. از سویی دیگر، نمی‌توان انتظار یک سیستم مستحکم را با روش بی حساب و کتابی که وب در آن توسعه یافت داشت. بعضی از قسمت‌های آن کاملا گیج‌کننده است و به‌خوبی درک نمی‌شود.فصل ۱۳: جاوااسکریپت و مرورگرسایت ترجمه‌ی کتاب</description>
                <category>مهران</category>
                <author>مهران</author>
                <pubDate>Sat, 24 Aug 2019 12:55:00 +0430</pubDate>
            </item>
                    <item>
                <title>جاوااسکریپت شیوا: فصل ۱۲: پروژه‌ی نوشتن یک زبان برنامه‌نویسی</title>
                <link>https://virgool.io/@dotmehran/%D8%AC%D8%A7%D9%88%D8%A7%D8%A7%D8%B3%DA%A9%D8%B1%DB%8C%D9%BE%D8%AA-%D8%B4%DB%8C%D9%88%D8%A7-%D9%81%D8%B5%D9%84-%DB%B1%DB%B2-%D9%BE%D8%B1%D9%88%DA%98%D9%87%DB%8C-%D9%86%D9%88%D8%B4%D8%AA%D9%86-%DB%8C%DA%A9-%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-gt2dmpk9qijb</link>
                <description>در ادامه‌ی ترجمه‌ی تدریجی کتاب Eloquent JavaScript به فصل ۱۲ رسیدیم؛ جاییکه قراره نویسنده به سراغ یک پروژه با اسمی ترسناک بره و به ما آموزش بده تا چطور یک زبان‌ برنامه‌‌نویسی جدید با استفاده از جاوااسکریپت بنویسیم.نوشتن یک زبان برنامه‌نویسی در قالب پروژهاگر در جریان ترجمه‌ی تدریجی کتاب جاوااسکریپت شیوا نیستید، بد نیست یه نگاهی به این پست بندازین. تا اینجا، ترجمه‌ی دوازده فصل در سایت ترجمه‌ی کتاب در دسترسه.ترجمه‌ی فصل دوازده: نوشتن یک زبان برنامه‌نویسی سایت ترجمه‌ی کتاب جاوااسکریپت شیوا</description>
                <category>مهران</category>
                <author>مهران</author>
                <pubDate>Sun, 18 Aug 2019 12:42:17 +0430</pubDate>
            </item>
                    <item>
                <title>جاوااسکریپت شیوا: فصل ۱۱: برنامه‌نویسی ناهمگام</title>
                <link>https://virgool.io/@dotmehran/%D8%AC%D8%A7%D9%88%D8%A7%D8%A7%D8%B3%DA%A9%D8%B1%DB%8C%D9%BE%D8%AA-%D8%B4%DB%8C%D9%88%D8%A7-%D9%81%D8%B5%D9%84-%DB%B1%DB%B1-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D9%86%D8%A7%D9%87%D9%85%DA%AF%D8%A7%D9%85-x6firdkpjniu</link>
                <description>در این فصل از ترجمه‌ی کتاب Eloquent JavaScript به بحث برنامه‌نویسی ناهمگام یا Asynchronous رسیدیم.برنامه‌نویسی ناهمگاماگر در جریان ترجمه‌ی تدریجی کتاب جاوااسکریپت شیوا نیستید، می تونید به پست زیر مراجعه کنید یا مستقیما به وب‌سایت ترجمه‌ی کتاب مراجعه کنید. https://virgool.io/@dotmehran/%D8%AA%D8%B1%D8%AC%D9%85%D9%87-%D8%AA%D8%AF%D8%B1%DB%8C%D8%AC%DB%8C-%DA%A9%D8%AA%D8%A7%D8%A8-eloquent-javascript-e3v6u1lz6jnb این فصل کتاب شامل جدیدترین تغییراتی است که در برنامه‌نویسی ناهمگام در جاوااسکریپت به وجود آمده است.در این فصل ابتدا با توابع callback آشنا خواهید شد، سپس محدودیت‌های آن ها نشان داده می‌شود. در ادامه با بحث promise در جاوااسکریپت آشنا شده و مثال‌های کاربردی مفهوم آن شکافته می شود.همچنین توابع async و generator  و حلقه‌ی رخداد‌ها یا event loop نیز در این فصل پوشش داده می‌شود.خلاصه‌ی فصلبرنامه‌نویسی ناهمگام این امکان را فراهم می سازد که بتوان برای کارهای اجرایی زمانگیر صبر کرد بدون اینکه برنامه در حین انجام این کارها متوقف شود. محیط‌های جاوااسکریپت نوعا این سبک از برنامه‌نویسی را با استفاده از callback ها پیاده سازی می کنند، توابعی که بعد از پایان یافتن کارهای مورد نظر، فراخوانی می شوند. یک حلقه‌ی رخداد، این توابع callback را زمانبندی می کند تا در زمان مناسب فراخوانی شوند، یکی پس از دیگری، تا اجرای آن‌ها با تداخل روبرو نشود.برنامه‌نویسی ناهمگام با استفاده از promise ها آسان تر می شود، اشیائی که نماینده‌ی کارهایی هستند که ممکن است در آینده تکمیل شوند، و توابع async، که به شما این امکان را می دهند تا یک برنامه‌ی ناهمگام را به شکلی بنویسید که انگار همگام است.برای مشاهده‌ی ترجمه‌ی فصل یازدهم اینجا کلیک کنید.وب‌سایت ترجمه‌ی کتابپی‌نوشت: لطفا وب‌سایت ترجمه‌ی کتاب رو به دوستانتان معرفی کنید و در شبکه‌های اجتماعی به اشتراک بگذارید.</description>
                <category>مهران</category>
                <author>مهران</author>
                <pubDate>Sat, 10 Aug 2019 14:17:12 +0430</pubDate>
            </item>
                    <item>
                <title>جاوااسکریپت شیوا: فصل ۱۰: ماژول‌ها</title>
                <link>https://virgool.io/@dotmehran/%D8%AC%D8%A7%D9%88%D8%A7%D8%A7%D8%B3%DA%A9%D8%B1%DB%8C%D9%BE%D8%AA-%D8%B4%DB%8C%D9%88%D8%A7-%D9%81%D8%B5%D9%84-%DB%B1%DB%B0-%D9%85%D8%A7%DA%98%D9%88%D9%84%D9%87%D8%A7-aketehasculv</link>
                <description>ماژول‌ها در جاوااسکریپت اگر در جریان ترجمه‌ی تدریجی کتاب جاوااسکریپت شیوا نیستید، بد نیست یک نگاهی به این پست بکنید. https://virgool.io/@dotmehran/%D8%AA%D8%B1%D8%AC%D9%85%D9%87-%D8%AA%D8%AF%D8%B1%DB%8C%D8%AC%DB%8C-%DA%A9%D8%AA%D8%A7%D8%A8-eloquent-javascript-e3v6u1lz6jnb خوب رسیدیم به فصل دهم از کتاب Eloquent JavaScript. امیدوارم که ترجمه‌ی این کتاب برای شما مفید باشه. فصل دهم به بحث برنامه‌نویسی ماژولار و پیاده‌سازی اون در جاوااسکریپت می پردازه. لزوم ساختاردهی به برنامه، روش‌های اجرا و بهترین شیوه در دسترس، مورد کنکاش قرار میگیره.این فصل رو از دست ندید!برای مطالعه این فصل لطفا اینجا کلیک کنید.فهرست فصل‌های ترجمه‌ شده</description>
                <category>مهران</category>
                <author>مهران</author>
                <pubDate>Sun, 21 Jul 2019 12:22:14 +0430</pubDate>
            </item>
                    <item>
                <title>جاوااسکریپت شیوا:‌ فصل 9: عبارات باقاعده یا Regular Expressions</title>
                <link>https://virgool.io/@dotmehran/%D8%AC%D8%A7%D9%88%D8%A7%D8%A7%D8%B3%DA%A9%D8%B1%DB%8C%D9%BE%D8%AA-%D8%B4%DB%8C%D9%88%D8%A7-%D9%81%D8%B5%D9%84-9-%D8%B9%D8%A8%D8%A7%D8%B1%D8%A7%D8%AA-%D8%A8%D8%A7%D9%82%D8%A7%D8%B9%D8%AF%D9%87-%DB%8C%D8%A7-regular-expressions-ksqavb1sip5l</link>
                <description>اگر در جریان ترجمه‌ی تدریجی کتاب جاوااسکریپت شیوا نیستید، بد نیست یک نگاهی به این پست بکنید. https://virgool.io/@dotmehran/%D8%AA%D8%B1%D8%AC%D9%85%D9%87-%D8%AA%D8%AF%D8%B1%DB%8C%D8%AC%DB%8C-%DA%A9%D8%AA%D8%A7%D8%A8-eloquent-javascript-e3v6u1lz6jnb ضمن عذرخواهی بابت تاخیر به وجود آمده در انتشار ترجمه، در این فصل از کتاب، نویسنده به سراغ بحث مهم و خیلی کاربردی عبارات باقاعده یا همون Regular Expressions میره و انصافا هم خیلی خوب و عمیق بحث می کنه.امیدوارم که ترجمه‌ی این فصل هم به درد کسی بخوره. ضمنا با توجه به فرصت کمی که داشتم، امکانش رو نداشتم تا متن رو بازخوانی و ویرایش دوباره کنم. اگر بخشی از ترجمه گنگ بود یا اشتباه فاحشی در ترجمه مشاهده کردید، لطف می کنید اگر گزارش کنید.برای مطالعه این فصل لطفا اینجا کلیک کنید.فهرست فصل‌های ترجمه‌ شده</description>
                <category>مهران</category>
                <author>مهران</author>
                <pubDate>Tue, 02 Jul 2019 19:01:50 +0430</pubDate>
            </item>
                    <item>
                <title>جاوااسکریپت شیوا:‌ فصل ۸: باگ‌ها و خطاها</title>
                <link>https://virgool.io/@dotmehran/%D8%AC%D8%A7%D9%88%D8%A7%D8%A7%D8%B3%DA%A9%D8%B1%DB%8C%D9%BE%D8%AA-%D8%B4%DB%8C%D9%88%D8%A7-%D9%81%D8%B5%D9%84-%DB%B8-%D8%A8%D8%A7%DA%AF%D9%87%D8%A7-%D9%88-%D8%AE%D8%B7%D8%A7%D9%87%D8%A7-ax2jcos85y94</link>
                <description>سال ۹۸ رو با باگ و خطا شروع می کنیم؛ البته با یادگیری رفع‌ و مدیریت‌شان.نمیشه سالی بدون باگ رو انتظار داشت!اگر در جریان ترجمه‌ی تدریجی کتاب جاوااسکریپت شیوا نیستید، بد نیست یک نگاهی به این پست بکنید. https://virgool.io/@dotmehran/%D8%AA%D8%B1%D8%AC%D9%85%D9%87-%D8%AA%D8%AF%D8%B1%DB%8C%D8%AC%DB%8C-%DA%A9%D8%AA%D8%A7%D8%A8-eloquent-javascript-e3v6u1lz6jnb فصل ۸ کتاب به خطاها یا باگ‌ها اختصاص داره. در این فصل با مفهوم خطاها و روش‌های مختلفی که میشه برای مدیریت‌شون استفاده کرد آشنا می‌شید. امیدوارم ترجمه‌ی این فصل مورد استفاده‌تون قرار بگیره.فصل ۸: باگ‌ها و خطاهافهرست فصل‌ها</description>
                <category>مهران</category>
                <author>مهران</author>
                <pubDate>Fri, 22 Mar 2019 15:35:32 +0430</pubDate>
            </item>
                    <item>
                <title>جاوااسکریپت شیوا، فصل هفتم:  پروژه‌ی ساخت یک ربات</title>
                <link>https://virgool.io/@dotmehran/%D8%AC%D8%A7%D9%88%D8%A7%D8%A7%D8%B3%DA%A9%D8%B1%DB%8C%D9%BE%D8%AA-%D8%B4%DB%8C%D9%88%D8%A7-%D9%81%D8%B5%D9%84-%D9%87%D9%81%D8%AA%D9%85-%D9%BE%D8%B1%D9%88%DA%98%D9%87%DB%8C-%D8%B3%D8%A7%D8%AE%D8%AA-%DB%8C%DA%A9-%D8%B1%D8%A8%D8%A7%D8%AA-m6r6wfj4xndv</link>
                <description>در ادامه‌ی ترجمه‌ی کتاب Eloquent JavaScript، به فصل هفتم رسیدیم. اگر در جریان ترجمه‌ی تدریجی کتاب نیستید، اینجا را ببینید: https://virgool.io/@dotmehran/%D8%AA%D8%B1%D8%AC%D9%85%D9%87-%D8%AA%D8%AF%D8%B1%DB%8C%D8%AC%DB%8C-%DA%A9%D8%AA%D8%A7%D8%A8-eloquent-javascript-e3v6u1lz6jnb یکی از مزیت‌های این کتاب داشتن چندین فصل پروژه است. پروژه‌هایی که برای یک برنامه‌نویس مبتدی چالشی و بلند‌پروازانه به نظر می‌رسه و بعد از انجامشون حسی خیلی خوب و اعتماد‌ به نفس بیشتری به شما میده. البته برای درک محتوای این فصل، حتما لازمه تا سری به شش فصل قبل بزنین و مقدمات رو یاد داشته باشین.موضوع این فصل درباره‌ی ساخت یک ربات تحویل‌دهنده بسته‌ است. رباتی که قراره یک سری بسته رو تحویل بگیره و به مقصدشون برسونه.برای مطالعه این فصل لطفا اینجا کلیک کنید.فهرست فصل‌های ترجمه‌ شده</description>
                <category>مهران</category>
                <author>مهران</author>
                <pubDate>Wed, 27 Feb 2019 11:28:48 +0330</pubDate>
            </item>
                    <item>
                <title>ترجمه‌ی کتاب Eloquent JavaScript: فصل ششم:‌ زندگی اسرارآمیز اشیاء</title>
                <link>https://virgool.io/@dotmehran/%D8%AA%D8%B1%D8%AC%D9%85%D9%87%DB%8C-%DA%A9%D8%AA%D8%A7%D8%A8-eloquent-javascript-%D9%81%D8%B5%D9%84-%D8%B4%D8%B4%D9%85-%D8%B2%D9%86%D8%AF%DA%AF%DB%8C-%D8%A7%D8%B3%D8%B1%D8%A7%D8%B1%D8%A2%D9%85%DB%8C%D8%B2-%D8%A7%D8%B4%DB%8C%D8%A7%D8%A1-hp45yfortjds</link>
                <description>اشیاء در جاوااسکریپتسلام دوستان. بالاخره بعد از حدود یک هفته، کار بازنگری و اصلاح فصل ششم از کتاب جاوااسکریپت شیوا هم به اتمام رسید. ترجمه‌ی ابتدایی که برای این فصل انجام داده بودم اشکالات زیادی داشت. برای همین انتشار این فصل وقت بیشتری گرفت. اگر در جریان ترجمه‌ی تدریجی کتاب جاوااسکریپت شیوا نیستید، اینجا رو ببینید: https://virgool.io/@dotmehran/%D8%AA%D8%B1%D8%AC%D9%85%D9%87-%D8%AA%D8%AF%D8%B1%DB%8C%D8%AC%DB%8C-%DA%A9%D8%AA%D8%A7%D8%A8-eloquent-javascript-e3v6u1lz6jnb فصل ششم درباره‌ی اشیاء و برنامه‌نویسی شیء گرا در جاوااسکریپته. در این فصل نویسنده به مهم‌ترین بخشی‌ها و مفاهیم شیء گرایی در جاوااسکریپت می پردازه. مفاهیمی مثل کپسوله‌سازی، ارث‌بری، پروتوتایپ‌ و چندریختی.روش تعریف کلاس که در ES6 به جاوااسکریپت اضافه شد هم پوشش داده میشه. همچنین با سمبل‌ها، تکرارکننده‌ها و متد‌های خاص آشنا خواهید شد.خلاصه‌ی انتهای فصلبنابراین اشیاء کاری بیش از نگه‌داری خاصیت‌های خود انجام می دهند. اشیاء prototype دارند که خود نیز اشیاء دیگری می باشند. تا زمانی که prototype یک شیء خاصیتی را داشته باشد، آن شیء نیز دارای آن خاصیت خواهد بود با وجود اینکه در ظاهر فاقد آن است. prototype اشیاء معمولی، Object.prototype می باشد.می توان از توابع سازنده که معمولا نامشان با حروف بزرگ شروع می شود، با استفاده از کلیدواژه‌ی new، برای ایجاد اشیاء جدید استفاده کرد. prototype شیء ایجاد شده، شیءای است که در خاصیت‌ prototype سازنده پیدا می شود. می توان از این ویژگی برای قرار دادن همه‌ی خاصیت‌های مشترک یک نوع خاص در prototype آن بهره برد. روش دیگری برای تعریف یک سازنده و prototype آن وجود دارد که از کلیدواژه‌ی classاستفاده می کند.می توانید با تعریف گذارنده‌ها (setters) و گیرنده‌ها (getters)، به طور مخفیانه متدهایی را ایجاد کنید که با هر بار دسترسی به یک خاصیت شیء، فراخوانی می شوند. متدهای ایستا (static) متدهایی هستند که در سازنده‌ی کلاس ذخیره می شوند نه در prototype آن.عملگر instanceof را اگر به یک شیء و یک سازنده اعمال کنید، به شما خواهد گفت که آن شیء نمونه‌ای از آن سازنده می باشد یا خیر.یکی از کارهای مفیدی که می توان با اشیاء انجام داد این است که یک رابط برای آن‌ها مشخص نمود که دیگران فقط بتوانند از طریق آن رابط با شیء ارتباط برقرار کنند. با این کار، دیگر جزئیات مربوط به ساختار شیء شما کپسوله شده و پشت رابط مخفی می مانند.اشیائی با انواع مختلف می توانند رابط یکسانی را پیاده‌سازی و استفاده کنند (توسط رابط یکسانی به کار گرفته شوند ). کدی که برای استفاده از یک رابط نوشته شده است به صورت خودکار می داند که چگونه با هر تعداد شیء متفاوت که آن رابط را دارند کار کند. این کار چندریختی نامیده می شود.زمانی که چندین کلاس را پیاده سازی می کنیم که تنها در بعضی جزئیات با هم تفاوت دارند، می توانیم کلاس‌های جدید را به عنوان زیرکلاس‌های کلاس های موجود بنویسیم که بعضی از رفتارهای آن ها را به ارث ببرند.برای مطالعه‌ی این فصل در وب‌سایت ترجمه‌ی کتاب، اینجا کلیک کنید.برای حمایت از پروژه‌ی ترجمه‌ی این کتاب، لطفا آن را به دوستانتان در شبکه‌های اجتماعی معرفی کنید.با سپاس</description>
                <category>مهران</category>
                <author>مهران</author>
                <pubDate>Mon, 18 Feb 2019 19:46:54 +0330</pubDate>
            </item>
                    <item>
                <title>ترجمه‌ی کتاب Eloquent JavaScript: فصل پنجم:‌ توابع رده‌بالا</title>
                <link>https://virgool.io/@dotmehran/%D8%AA%D8%B1%D8%AC%D9%85%D9%87%DB%8C-%DA%A9%D8%AA%D8%A7%D8%A8-eloquent-javascript-%D9%81%D8%B5%D9%84-%D9%BE%D9%86%D8%AC%D9%85-%D8%AA%D9%88%D8%A7%D8%A8%D8%B9-%D8%B1%D8%AF%D9%87%D8%A8%D8%A7%D9%84%D8%A7-izz9oitzpujy</link>
                <description>سلام دوستان. به فصل پنجم رسیدیم. این فصل در مورد توابع higher-order یا رده‌بالا است ( مرتبه‌بالاتر، بالادستی و غیره هم میشه گفت که من رده‌بالا رو انتخاب کردم). اگر در جریان ترجمه‌ی تدریجی نیستن،‌ اینجا رو چک کنین: https://virgool.io/@dotmehran/%D8%AA%D8%B1%D8%AC%D9%85%D9%87-%D8%AA%D8%AF%D8%B1%DB%8C%D8%AC%DB%8C-%DA%A9%D8%AA%D8%A7%D8%A8-eloquent-javascript-e3v6u1lz6jnb در این فصل نسبتا با مطالب جدیدتری از برنامه‌نویسی به خصوص از نوع جاوااسکریپتش روبرو می شید. بحث توابع higher-order که نسبتا موضوعی مهم و حرفه‌ای محسوب میشه. سرفصل مطالبی که در این فصل اومده به صورت زیره:مفهوم انتزاع یا Abstractionمعرفی توابع رده‌بالامثال کار با مجموعه‌داده الفباهاآشنایی با فیلتر کردن آرایه هامتد mapمتد reduceرشته‌ها و کدهای کارکترتشخیص متندر انتها هم چند تمرین مفید قرار گرفته.خلاصه‌ی انتهای فصلیکی از جنبه‌های عمیقا کاربردی جاوااسکریپت، امکان ارسال مقدارهای تابع به دیگر توابع است. با این ویژگی می توان توابعی برای مدل‌سازی محاسباتی نوشت که دارای بخشی &quot;باز&quot; می باشند. کدی که این توابع را فراخوانی می کند، می تواند این فضای باز را به وسیله‌ی مقدار‌های تابع تکمیل کند.آرایه‌ها مجموعه‌ی مفیدی از توابع دست بالا را فراهم می سازند. می توانید از forEachبرای پیمایش عناصر یک آرایه استفاده کنید. برای برگرداندن یک آرایه‌ی جدید با عناصری که شرایط خاصی دارند، متد filter مفید است. برای تغییر شکل عناصر یک آرایه به وسیله‌ی یک تابع، می توانید از map استفاده کنید. reduce برای ترکیب همه‌ی عناصر یک آرایه و ساخت یک مقدار واحد، کاربرد دارد. متد some بررسی می کند که آیا حداقل یک عنصر در آرایه با شرط تابع ورودی تطبیق می کند و findIndex موقعیت اولین عنصری که با شرط ارسالی تطبیق دارد را بر می گرداند.برای مشاهده فصل پنجم کتاب، اینجا کلیک کنید.</description>
                <category>مهران</category>
                <author>مهران</author>
                <pubDate>Sat, 09 Feb 2019 16:44:14 +0330</pubDate>
            </item>
                    <item>
                <title>ترجمه‌ی کتاب Eloquent JavaScript: فصل چهارم:‌ ساختارهای داده</title>
                <link>https://virgool.io/@dotmehran/%D8%AA%D8%B1%D8%AC%D9%85%D9%87%DB%8C-%DA%A9%D8%AA%D8%A7%D8%A8-eloquent-javascript-%D9%81%D8%B5%D9%84-%DA%86%D9%87%D8%A7%D8%B1%D9%85-%D8%B3%D8%A7%D8%AE%D8%AA%D8%A7%D8%B1%D9%87%D8%A7%DB%8C-%D8%AF%D8%A7%D8%AF%D9%87-anpvhuabgimn</link>
                <description>سلام دوستان. فصل چهارم کتاب هم آماده مطالعه‌ی شد.درک مفهوم ساختارهای داده در جاوااسکریپت در قالب مثالی جالباگر در جریان ترجمه‌ی تدریجی کتاب نیستین اینجا رو چک کنین: https://virgool.io/@dotmehran/%D8%AA%D8%B1%D8%AC%D9%85%D9%87-%D8%AA%D8%AF%D8%B1%DB%8C%D8%AC%DB%8C-%DA%A9%D8%AA%D8%A7%D8%A8-eloquent-javascript-e3v6u1lz6jnb در این فصل با ساختار‌های داده مهم آشنا می شید. دنبال کردن این فصل خیلی راحت و جذابه. نویسنده‌ی محترم، مثالی رو مطرح می کنه و سعی می کنه استفاده از اشیاء و آرایه‌ها را در جای مناسب معرفی کنه. همچنین کمی به متد‌های مختلف رشته‌ها و آرایه ها می پردازه و یکی دو ویژگی جدید ES6 رو هم معرفی و استفاده می کنه. با مفاهیم متد و خاصیت آشنا خواهید شد و کمی از شیء Math استفاده خواهید کرد.و در انتها چند تمرین خیلی خوب قرار گرفته که پیشنهاد می کنم از دستشون ندید.برای مشاهده‌ی نسخه‌ی آنلاین ترجمه‌ی فصل ۴، اینجا کلیک کنید.</description>
                <category>مهران</category>
                <author>مهران</author>
                <pubDate>Mon, 04 Feb 2019 19:21:07 +0330</pubDate>
            </item>
                    <item>
                <title>ترجمه‌ی کتاب Eloquent JavaScript: فصل سوم:‌ توابع</title>
                <link>https://virgool.io/@dotmehran/%D8%AA%D8%B1%D8%AC%D9%85%D9%87%DB%8C-%DA%A9%D8%AA%D8%A7%D8%A8-eloquent-javascript-%D9%81%D8%B5%D9%84-%D8%B3%D9%88%D9%85-%D8%AA%D9%88%D8%A7%D8%A8%D8%B9-bx8scdqprqma</link>
                <description>کتاب جاوااسکریپت شیوا،‌فصل سوم: توابعاگر در جریان ترجمه‌ی تدریجی کتاب نیستین اینجا رو چک کنین: https://virgool.io/@dotmehran/%D8%AA%D8%B1%D8%AC%D9%85%D9%87-%D8%AA%D8%AF%D8%B1%DB%8C%D8%AC%DB%8C-%DA%A9%D8%AA%D8%A7%D8%A8-eloquent-javascript-e3v6u1lz6jnb به لطف خدا فصل سوم کتاب هم مورد بازبینی قرار گرفت و چند لحظه‌ی پیش کامیت شد.  این فصل سومین فصل از کتاب جاوااسکریپت شیوا است که در باره‌ی یکی از مهم ترین مفاهیم برنامه‌نویسی و به طور خاص، جاوااسکریپته. موضوع توابع یا functions.مثل همیشه بخش آخر این فصل که  ترجمه‌ی خلاصه‌ی فصل به زبان نویسنده‌ی کتابه رو اینجا قرار میدم. خلاصه انتهای فصلاین فصل به شما آموخت که چگونه توابع خودتان را بنویسید. زمانی که کلمه‌ی کلیدیfunction به عنوان یک عبارت استفاده می شود، می تواند یک مقدار تابع را ایجاد کند. زمانی‌ هم که به عنوان یک دستور استفاده می شود، متغیری را اعلان می کند و تابعی را به عنوان مقدار آن به آن اختصاص می دهد. روش پیکانی (arrow function) نیز راهی دیگر برای ایجاد توابع است.// Define f to hold a function value
const f = function(a) {
  console.log(a + 2);
};

// Declare g to be a function
function g(a, b) {
  return a * b * 3.5;
}

// A less verbose function value
let h = a =&gt; a % 3;نقطه‌ی کلیدی در فهم توابع، درک مفهوم قلمرو‌ها است. هر بلاک از کد قلمروی جدیدی را ایجاد می کند. پارامترها و متغیرهایی که درون یک بلاک اعلان می شوند نسبت به آن تابع محلی هستند، و از بیرون بلاک قابل دسترسی نیستند. متغیرهایی که با کلیدواژه‌ی varایجاد می شوند به شکل متفاوتی عمل می کنند – محدوده‌ی آن‌ها تا پایان حوزه‌ی نزدیک ترین تابع یا فضای سراسری برنامه است.جداسازی کارهایی که برنامه‌ی شما انجام می دهد به وسیله‌ی توابع مختلف، کاری مفید است. این کار باعث می شود که از تکرار بی مورد پرهیز کنید و به سازماندهی یک برنامه به وسیله‌ی دسته‌بندی آن به قسمت‌هایی تخصصی، کمک می کند.تمرین‌های انتهای فصل کمینهدر فصل قبل با تابع استاندارد Math.min که کوچکترین عدد را از بین آرگومان‌های ورودی برمی گرداند آشنا شدید. خودمان هم می توانیم این کار را برنامه نویسی کنیم. تابعی به نام min بنویسید که دو آرگومان دریافت کرده و کوچکترین آن‌ها را باز می‌گرداند.بازگشتقبلا دیده بودایم که عملگر % (باقی مانده) را می توان برای تشخیص زوج یا فرد بودن عدد استفاده کرد که برای این کار با استفاده از % 2، بخش پذیری بر 2 مورد آزمایش قرار می گرفت. در اینجا با راهی دیگر برای تشخیص زوج یا فرد بودن یک عدد صحیح مثبت آشنا می شویم:صفر را زوج در نظر می گیریمیک فرد استبرای هر عددی دیگر N، زوج بودن آن معادل N - 2 خواهد بود.تابع بازگشتی isEven را با توجه به توضیحات بالا تعریف کنید. تابع باید پارامتری مثبت و از جنس اعداد صحیح دریافت کند و مقداری از جنس بولی برگرداند.تابع را با مقادیر 50 و 75 تست کنید. بررسی کنید که اگر -1 را به آن بدهید چه خواهد شد. چرا؟ آیا می توانید راهی برای حل مشکل پیش آمده پیدا کنید؟شمارش دانهبرای بدست آوردن کاراکتر یا حرف Nام یک رشته، می توانید از &quot;string&quot;[N] استفاده کنید. مقداری که برگردانده می شود رشته‌ای است که فقط یک کاراکتر دارد. (مثلا رشته‌ی &quot;b&quot;). کاراکتر اول در جایگاه صفرم قرار دارد. بنابراین آخرین کاراکتر در جایگاه string.length - 1 قرار می گیرد. به عبارتی دیگر، یک رشته‌ی دو کاراکتری طولش 2 کاراکتر است و کاراکتر‌هایش در جایگاه 0 و 1 قرار دارند.تابعی به نام countBs بنویسید که رشته ای را به عنوان تنها آرگومانش می پذیرد و عددی را برمیگرداند که نشان می دهد چند کاراکتر “B” بزرگ در رشته وجود دارد.بعد، تابعی به نام countChar بنویسید که شبیه countBs کار می کند اما آرگومان دومی نیز دریافت می کند که مشخص کننده کاراکتری است که بایستی شمرده بشود ( به جای اینکه فقط B شمرده شود ). تابع countBs را بازنویسی کنید تا این ویژگی جدید را داشته باشد.برای مطالعه‌ی کامل فصل سوم کتاب،‌لطفا اینجا کلیک کنید.لطف می کنید اگر فصل‌های ترجمه‌ شده رو به دوستانتون معرفی کنید.</description>
                <category>مهران</category>
                <author>مهران</author>
                <pubDate>Mon, 28 Jan 2019 11:36:03 +0330</pubDate>
            </item>
                    <item>
                <title>ترجمه‌ی کتاب Eloquent JavaScript: فصل دوم:‌ ساختار برنامه</title>
                <link>https://virgool.io/@dotmehran/%D8%AA%D8%B1%D8%AC%D9%85%D9%87%DB%8C-%DA%A9%D8%AA%D8%A7%D8%A8-eloquent-javascript-%D9%81%D8%B5%D9%84-%D8%AF%D9%88%D9%85-%D8%B3%D8%A7%D8%AE%D8%AA%D8%A7%D8%B1-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-ftw1ld2lvyvm</link>
                <description>دوستان و علاقمندان به جاوااسکریپت،  ترجمه‌ی فصل دوم کتاب جاوااسکریپت شیوا هم آماده و آپلود شد. اگر در جریان ترجمه‌ی تدریجی کتاب نیستین اینجا رو چک کنین. https://virgool.io/@dotmehran/%D8%AA%D8%B1%D8%AC%D9%85%D9%87-%D8%AA%D8%AF%D8%B1%DB%8C%D8%AC%DB%8C-%DA%A9%D8%AA%D8%A7%D8%A8-eloquent-javascript-e3v6u1lz6jnb مقدمه و فصل اول رو قبلا منتشر کرده بودم. امروز به سراغ فصل دوم که در مورد ساختار برنامه‌ است میریم.متن خلاصه‌ی انتهای این فصل :اکنون شما می دانید که یک برنامه از مجموعه ای از دستورات ساخته می شود، که خود آن‌ها نیز گاهی حاوی دستورات بیشتری هستند. دستورات حاوی عبارت‌ها هستند که خود این عبارت‌ها نیز می توانند از عبارت‌های کوتاهتری تشکیل شده باشند.قرار دادن دستورات یکی پس از دیگری، برنامه ای را می سازد که از بالا به پایین به ترتیب اجرا می شود. می توان این ترتیب جریان کنترل را با استفاده از دستورات شرطی ( if,else و switch) و حلقه‌ها (while, do, و for) به هم زد.متغیرها می را می توان برای دسته بندی بخشی از داده‌ها (data) تحت یک نام استفاده کرد. همچنین آن‌ها برای حفظ و پیگیری حالت فعلی برنامه‌ی شما مفید هستند. محیط اجرایی مجموعه‌ای از انتساب‌ها (متغیر‌ها) است که قبلا تعریف شده است. سیستم‌های جاوااسکریپت همیشه تعدادی متغیر استاندارد مفید را در محیط شما تعبیه می کنند.توابع مقدارهایی ویژه هستند که بخشی از برنامه را در درون خود نگه داری می کنند. می توانید آن‌ها را با نوشتن functionName(argument1, argument2) فراخوانی کنید. این گونه فراخوانی کردن یک تابع، یک نوع عبارت محسوب می شود که می تواند مقداری را هم تولید کند.انتهای این فصل، تمرین‌های جذابی قرار داره که می تونید همون جا داخل سایت به اون ها پاسخ بدید. برای مشاهده‌ی ترجمه‌ی فصل دوم کتاب Eloquent JavaScript اینجا کلیک کنید.</description>
                <category>مهران</category>
                <author>مهران</author>
                <pubDate>Thu, 24 Jan 2019 23:50:47 +0330</pubDate>
            </item>
            </channel>
</rss>