<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[بلاگ امیر صالحی]]></title><description><![CDATA[وبسایت شخصی امیر صالحی، توسعه‌دهنده نرم‌افزار و علاقه‌مند به دنیای جاوااسکریپت؛ نوشته‌هایی درباره جاوااسکریپت، ری‌اکت و برنامه‌نویسی وب، رزومه و پروژه‌ها.]]></description><link>https://amirsalehi.ir</link><generator>GatsbyJS</generator><lastBuildDate>Tue, 29 Sep 2026 14:50:13 GMT</lastBuildDate><language><![CDATA[fa]]></language><item><title><![CDATA[useEffect در مقابل useLayoutEffect]]></title><description><![CDATA[این مقاله، ترجمه‌ای است از مقاله‌ی اصلی به نام useEffect vs useLayoutEffect که توسط Kent C. Dodds نوشته شده است. اساسا از هر دو این موارد می‌توان برای یک کار مشابه استفاده کرد، اما موارد استفاده آن‌ها کمی با هم تفاوت دارند. بنابراین اینجا به قوانینی می‌پردازیم که بتوانیم تصمیم بگیریم از کدام هوک…]]></description><link>https://amirsalehi.ir/blog/useeffect-vs-uselayouteffect/</link><guid isPermaLink="false">https://amirsalehi.ir/blog/useeffect-vs-uselayouteffect/</guid><pubDate>Sun, 09 Feb 2025 20:53:30 GMT</pubDate></item><item><title><![CDATA[Migration در برنامه‌نویسی و دیتابیس چیست و چرا ازش استفاده می‌کنیم؟]]></title><description><![CDATA[تو دنیای برنامه‌نویسی و به‌ویژه دیتابیس‌ها، Migration یکی از مفاهیم کلیدی و خیلی مهمه. اگه بخوایم خیلی ساده بگیم، migration یعنی تغییر یا به‌روزرسانی ساختار دیتابیس. این تغییرات ممکنه شامل اضافه‌کردن جدول‌های جدید، تغییر ساختار فیلدهای موجود، حذف یا تغییر نوع داده‌ها و یا حتی انتقال اطلاعات بین…]]></description><link>https://amirsalehi.ir/blog/what-is-migration-and-why-do-we-use-it/</link><guid isPermaLink="false">https://amirsalehi.ir/blog/what-is-migration-and-why-do-we-use-it/</guid><pubDate>Mon, 19 Aug 2024 20:52:50 GMT</pubDate></item><item><title><![CDATA[چرا در React معمولا از متد map برای حلقه زدن استفاده می‌کنیم؟]]></title><description><![CDATA[همیشه عمیق شدن در ابزارهایی که ازشون استفاده می‌کنیم پراهمیت بوده و درک بهتر اون‌ها تاثیر زیادی توی عملکرد ما به عنوان توسعه‌دهنده میذاره. برای مثال وقتی داریم با React کار می‌کنیم، بارها و بارها پیش میاد که بخوایم برای رندر کردن و نمایش دادن لیستی از اطلاعات از متد map استفاده می‌کنیم. خوبه که این…]]></description><link>https://amirsalehi.ir/blog/why-map-method-for-looping-in-react/</link><guid isPermaLink="false">https://amirsalehi.ir/blog/why-map-method-for-looping-in-react/</guid><pubDate>Tue, 30 Jul 2024 20:55:00 GMT</pubDate></item><item><title><![CDATA[درک کلوژرها در جاوااسکریپت: حفظ حالت و حفاظت از داده‌ها]]></title><description><![CDATA[Closure یکی از ویژگی‌های جالب و مفید در جاوااسکریپت است که به ما کمک می‌کند تا از اختلال در مقدار متغیرها جلوگیری کنیم. بیایید با هم بررسی کنیم که کلوژرها چطور با دو عامل اصلی یعنی حفظ وضعیت (حالت یا state یا مقدار) و محافظت از داده‌ها، این کار رو انجام می‌دن. کلوژر چیه؟

کلوژر وقتی درست میشه که یک…]]></description><link>https://amirsalehi.ir/blog/understanding-closure-in-js/</link><guid isPermaLink="false">https://amirsalehi.ir/blog/understanding-closure-in-js/</guid><pubDate>Thu, 25 Jul 2024 22:40:00 GMT</pubDate></item><item><title><![CDATA[کدنویسی هوشمندانه با توابع Pure در جاوااسکریپت]]></title><description><![CDATA[توابع Pure به ما کمک می‌کنن کدهای تمیزتر، قابل پیش‌بینی‌تر و قابل تست‌تری بنویسیم. توی این مقاله، به تعریف توابع pure، کاربردهاشون و نحوه‌ی تعریف و استفاده از اون‌ها در جاوااسکریپت می‌پردازیم. همچنین فلسفه‌ی پشت این رویکرد رو هم بررسی می‌کنیم. توابع pure چی هستن؟

توابع pure (خالص) توابعی هستن که دو…]]></description><link>https://amirsalehi.ir/blog/pure-functions-in-javascript/</link><guid isPermaLink="false">https://amirsalehi.ir/blog/pure-functions-in-javascript/</guid><pubDate>Thu, 25 Jul 2024 21:10:00 GMT</pubDate></item><item><title><![CDATA[آشنایی با مبناهای عددی در جاوااسکریپت: از مبنای ۲ تا مبنای ۱۶]]></title><description><![CDATA[مبناها توی ریاضی و برنامه‌نویسی مهمن و به ما کمک می‌کنن تا اعداد رو به شکل‌های مختلف نمایش بدیم و باهاشون کار کنیم. توی این مقاله، به بررسی مبناهای مختلف از جمله مبنای ۲ (دودویی یا باینری)، مبنای ۸ (هشت‌هشتی)، مبنای ۱۰ (دهدهی) و مبنای ۱۶ (شانزده‌شانزدهی) می‌پردازیم و چندتا مثال عملی هم براتون…]]></description><link>https://amirsalehi.ir/blog/numerical-bases-in-javascript/</link><guid isPermaLink="false">https://amirsalehi.ir/blog/numerical-bases-in-javascript/</guid><pubDate>Thu, 25 Jul 2024 16:50:00 GMT</pubDate></item><item><title><![CDATA[نماد علمی: راهکاری برای نمایش اعداد بزرگ و کوچک در جاوااسکریپت]]></title><description><![CDATA[یکی دیگر از امکانات جالب و کاربردی توی جاوااسکریپت نماد علمی یا همون Scientific Notation هست. این ویژگی به ما کمک می‌کنه اعداد خیلی بزرگ یا خیلی کوچیک رو به صورت خلاصه و قابل فهم نشون بدیم. تو این مقاله، بهتون یاد می‌دم چطور از نماد علمی توی جاوااسکریپت استفاده کنید و چندتا مثال عملی هم براتون…]]></description><link>https://amirsalehi.ir/blog/scientific-notation-numbers-javascript/</link><guid isPermaLink="false">https://amirsalehi.ir/blog/scientific-notation-numbers-javascript/</guid><pubDate>Thu, 25 Jul 2024 16:30:00 GMT</pubDate></item><item><title><![CDATA[زمانی که سمی‌کالن در جاوااسکریپت ناجی کد شما می‌شود]]></title><description><![CDATA[جاوااسکریپت یکی از زبان‌های برنامه‌نویسی پرکاربرد و قدرتمند در دنیای وب است. یکی از ویژگی‌های مهم اکثر زبان‌های برنامه‌نویسی این است که در پایان هر خط از دستورات نیاز به نوشتن کاراکتر سمی‌کالن یا همان نقطه‌ویرگول است. جاوااسکریپت اما به شما این امکان را می‌دهد که سمی‌کالن را در پایان دستورات…]]></description><link>https://amirsalehi.ir/blog/importance-of-semicolon-in-javascript/</link><guid isPermaLink="false">https://amirsalehi.ir/blog/importance-of-semicolon-in-javascript/</guid><pubDate>Wed, 24 Jul 2024 18:30:00 GMT</pubDate></item><item><title><![CDATA[بررسی قدرت و محدودیت‌های عملگر typeof در جاوااسکریپت: کلید فهم نوع داده‌ها]]></title><description><![CDATA[جاوااسکریپت به عنوان یکی از زبان‌های برنامه‌نویسی پرکاربرد، عملگری به نام typeof را برای تشخیص نوع داده‌ها فراهم کرده است. این عملگر ساده و در عین حال قدرتمند، به توسعه‌دهندگان کمک می‌کند تا نوع متغیرها و داده‌ها را شناسایی و مدیریت کنند. در این مقاله، به بررسی عمیق عملگر typeof، نحوه استفاده از آن…]]></description><link>https://amirsalehi.ir/blog/typeof-operator-in-javascript/</link><guid isPermaLink="false">https://amirsalehi.ir/blog/typeof-operator-in-javascript/</guid><pubDate>Wed, 24 Jul 2024 16:30:00 GMT</pubDate></item><item><title><![CDATA[حساسیت به حروف بزرگ و کوچک در جاوااسکریپت: وقتی تفاوت‌های کوچک می‌توانند تاثیرات بزرگ داشته باشند]]></title><description><![CDATA[یکی از ویژگی‌های اساسی زبان‌های برنامه‌نویسی مدرن، حساسیت به حروف بزرگ و کوچک (Case Sensitivity) است. جاوااسکریپت نیز به عنوان یکی از زبان‌های محبوب برنامه‌نویسی تحت وب، از این قاعده مستثنی نیست. در این مقاله به بررسی مفهوم حساسیت به حروف بزرگ و کوچک در جاوااسکریپت و تاثیر آن بر برنامه‌نویسی خواهیم…]]></description><link>https://amirsalehi.ir/blog/case-sensitivity-in-javascript/</link><guid isPermaLink="false">https://amirsalehi.ir/blog/case-sensitivity-in-javascript/</guid><pubDate>Tue, 23 Jul 2024 00:00:00 GMT</pubDate></item><item><title><![CDATA[توابع بازگشتی در جاوااسکریپت: راهنمای سریع با مثال‌های کاربردی]]></title><description><![CDATA[عمل بازگشت یا Recursion یک تکنیک حل مساله در برنامه‌نویسی است. در این مقاله شما چگونگی استفاده از توابع بازگشتی را در جاوااسکریپت یاد خواهید گرفت. تابع بازگشتی چیست؟

یک تابع بازگشتی به تابعی گفته می‌شود که جایی در درون بدنه‌ی خود، خودش را صدا می‌زند. در زیر یک مثال ابتدایی از یک تابع بازگشتی وجود…]]></description><link>https://amirsalehi.ir/blog/recursion-in-javascript-complete-guide-with-examples/</link><guid isPermaLink="false">https://amirsalehi.ir/blog/recursion-in-javascript-complete-guide-with-examples/</guid><pubDate>Fri, 19 Jul 2024 00:00:00 GMT</pubDate></item><item><title><![CDATA[آشنایی بیشتر با متد پرکاربرد map در جاوااسکریپت]]></title><description><![CDATA[همانطور که احتمالا میدونید در جاوااسکریپت از متد map برای کار بر روی آرایه‌ها استفاده میشه. به این شکل که این متد یک آرگومان به صورت یک تابع کال‌بک دریافت کرده، آن را بر روی تک تک عناصر آرایه اعمال میکند و در پایان نتیجه را به صورت یک آرایه جدید بازمی‌گرداند. پس در واقع این تابع هیچ اثر جانبی بر…]]></description><link>https://amirsalehi.ir/blog/learn-more-about-map-method-in-js/</link><guid isPermaLink="false">https://amirsalehi.ir/blog/learn-more-about-map-method-in-js/</guid><pubDate>Thu, 18 Jul 2024 00:00:00 GMT</pubDate></item><item><title><![CDATA[خلاصه‌ای از نسخه‌های مختلف اکمااسکریپت در جاوااسکریپت]]></title><description><![CDATA[اکمااسکریپت (ECMAScript) استاندارد اصلی جاوااسکریپت است که به عنوان پایه‌ای برای توسعه ویژگی‌های جدید و بهبود قابلیت‌های این زبان برنامه‌نویسی عمل می‌کند. هر نسخه از این استاندارد با ویژگی‌ها و بهبودهای جدیدی منتشر می‌شود که به برنامه‌نویسان کمک می‌کند تا کدهای خود را به روزتر، امن‌تر و قدرتمندتر…]]></description><link>https://amirsalehi.ir/blog/brief-history-of-ecmascript/</link><guid isPermaLink="false">https://amirsalehi.ir/blog/brief-history-of-ecmascript/</guid><pubDate>Mon, 15 Jul 2024 00:00:00 GMT</pubDate></item><item><title><![CDATA[بلاخره سایت شخصی خودم رو راه انداختم]]></title><description><![CDATA[بلاخره بعد از سال‌ها پشت گوش انداختن، سایت شخصی خودم رو راه‌اندازی کردم و این اولین نوشته‌ی من در بلاگم هست. مدت‌ها بود که قصد داشتم این کار رو بکنم ولی وجود معضلی بنام کمال‌گرایی که همچنان دارم باهاش دست و پنجه نرم می‌کنم و البته مشغله‌های مختلف بهم این اجازه رو نداده بود که سایت خودم رو داشته…]]></description><link>https://amirsalehi.ir/blog/my-first-post/</link><guid isPermaLink="false">https://amirsalehi.ir/blog/my-first-post/</guid><pubDate>Fri, 19 Apr 2024 00:00:00 GMT</pubDate></item></channel></rss>