<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های Rohullah Tawasoli</title>
        <link>https://virgool.io/feed/@rohullahtawasoli</link>
        <description>برنامه نویس</description>
        <language>fa</language>
        <pubDate>2026-06-17 02:24:14</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/1240090/avatar/avatar.png?height=120&amp;width=120</url>
            <title>Rohullah Tawasoli</title>
            <link>https://virgool.io/@rohullahtawasoli</link>
        </image>

                    <item>
                <title>جمع دو عدد</title>
                <link>https://virgool.io/dotpwhy/dotpwhy01-hrrzxd58uley</link>
                <description>Two Sumسلامبریم یک مثال باحال حل کنیمباید یک تابع بنویسیم که ۲ تا ورودی میگیره یکی از نوع آرایه - اعداد ( nums ) و یکی از نوع عدد صحیح - هدف ( target ).تا اینجا اوکی ولی کار تابع چیه؟این تابع باید ۲ تا عدد در خروجی بصورت لیست بفرسته که در اصل این دو عدد آدرس ۲ عددی در لیست ورودی تابع هست که مجموع آنها برابر با target ه.توجه کنید که ممکنه اعداد تکراری در آرایه باشه و نباید از یک عدد دو بار استفاده بشود.جواب رو می توانیم  به هر ترتیبی برگردانیم.مثال ۱ :ورودی : nums = [2,7,11,15], target = 9
خروجی : [0,1]
توضیح :  nums[0] + nums[1] == 9مثال ۲ :ورودی : nums = [3,2,4], target = 6
خروجی : [1,2]مثال :ورودی : nums = [3,3], target = 6
خروجی : [0,1]برای حلش، می‌توانیم از یک دیکشنری استفاده کنیم که شماره هر عنصر را به عنوان کلید و مقدار آن را به عنوان مکان آن در آرایه ذخیره کند. سپس در یک حلقه، هر عنصر را از آرایه بخواند و مقدار target را ازش کم و در متغیر complement ذخیره کند. سپس مقدار complement را به عنوان کلید در دیکشنری جستجو کند. اگر پیدا شد، برای یافتن مکان هر عنصر، مقدار مکانیشون را از دیکشنری بخواند و به عنوان جواب برگرداند.def twoSum(nums, target):
     # Create a dictionary to store the index of each number in nums    
     num_dict = {}      

     # Loop through each number in nums 
     for i, num in enumerate(nums):         
     # Check if the complement of the current number exists in num_dict        
     complement = target - num         
     if complement in num_dict:             
         # If it does, return the indices of the two numbers 
         return [num_dict[complement], i]         
     # If it doesn&#039;t, add the current number and its index to num_dict        
     num_dict[num] = iمنبع سواللایک یادت نره.شاد و موفق باشی!</description>
                <category>Rohullah Tawasoli</category>
                <author>Rohullah Tawasoli</author>
                <pubDate>Mon, 17 Apr 2023 22:49:03 +0330</pubDate>
            </item>
                    <item>
                <title>آشنایی با DartPad</title>
                <link>https://virgool.io/DartLanguageTour/%D8%A2%D8%B4%D9%86%D8%A7%DB%8C%DB%8C-%D8%A8%D8%A7-dartpad-diaaytm2ofea</link>
                <description>سلام دوستان در این آموزش میخوایم با یه محیط برنامه نویسی به نام DartPad آشنا بشیم.دارت پد یکی از محیط های برنامه نویسی آنلاین برای زبان دارت و فریمورک فلاتر هست. یکی از مزایای این محیط برنامه نویسی آنلاین بودن اون هستش که شما میتونید با استفاده از یک لپ تاپ، کامپیوتر رومیزی و حتی یک گوشی هوشمند کدهای مدنظرتون رو بنویسید و آنلاین اجراش کنید.فریمورک فلاتر = فریمورک + فلاترفریمورک : مثل اسکلت ساختمان هست که باعث میشه ساختمان در یک چهارچوب مشخص و منظم ساخته شود؛ بعد از فراخوانی فریمورک دیگر نیاز نیست که برنامه خود از صفر بنویسید بلکه به راحتی میتونید از ساختاری که فریمورک برای شما مشخص کرده استفاده کنید که همین کار باعث میشه که شما بر روی کارکرد برنامه خود تمرکز کنید و درگیر نوشتن کدهای مورد نیاز و رایج نمیشود.بصورت خلاصه اگر بخوام بگم، فریمورک باعث میشه که کد کمتر، منظم تر را در زمان کمتری نسبت به حالتی که از فریمورک استفاده نمیکنید بنویسید.فریمورک فلاتر : فلاتر هم یک فریمورک متن باز هست که در سال 2017 توسط گوگل معرفی شده و برای ساخت اپلیکیشن‌های موبایل( اندروید و آی او اس) هست.فریمورک متن باز : فریمورکی که در دسترس همه هست و میتوانند برای بهبود عملکرد آن فریمورک آن را اصلاح و یا بخش های به آن اضافه کنند.خب حال شروع کنیم به معرفی بخش های مختلف این محیط برنامه نویسی.پروژه جدید / NewPadبعد از ورود به سایت دارت پد از نوار بالا صفحه با انتخاب گزینه NewPad شما میتوانید یک پروژه جدید(دارت یا فلاتر) ایجاد کنید و سپس میتوانید در فضای پایین کدهای خودتون را بنویسید.اجرای کد / Runبرای اجرای کدهای که نوشتین با کلیک رو گزینه Run کد شما اجرا شده و خروجی کدتون در سمت راست صفحه در قسمت Console نمایش میده؛ ارور و خطاها کدتون در قسمت پایین صفحه سمت راست و توضیحی مختصر از هر متد و ... رو هم در قسمت Documentation به شما نمایش میده.حالت اولیه / Resetبعضی موقع پیش میاد که میخواید پروژه تون به حالت اولیه خودش برگرده، شما میتوانید با انتخاب گزینه Reset از این قابلیت استفاده کنید.فرمت کردن کد / Formatدر برخی از محیط های برنامه نویسی قابلیتی داریم به نام Formatting code(مرتب کردن کد) که باعث مرتب شدن کدهای شما میشود؛ در دارت پد برای استفاده از این قابلیت میتوانید از گزینه Format استفاده کنید.کد نمونه / Sample codeبرای شروع به نوشتن کدتون لازمه تا شما برخی از کدهای پیش فرض رو بنویسید یا برخی مواقع احتیاج به نمونه کد دارید، این کار رو میتونید با انتخاب گزینه Samples انجام بدین.کلیدهای میانبر / Keyboard Shortcutsبرای استفاده راحت تر از این محیط برنامه نویس میتوانید از کلیدهای میانبر آن استفاده کنید.اجرای کد :   Cmd + Enter یا Ctrl + Enterنمایش اصلاح‌های سریع :   Alt + Enterنمایش موارد تکمیل‌کننده :   Ctrl + Spaceکامنت کردن کد :   / + Cmd یا / + Ctrlذخیره و اشتراک کد / Save and share codeبرای ذخیره یا اشتراک کد باید از gist گیت‌هاب استفاده کنید.ذخیره کد / Save codeابتدا وارد سایت gidt گیت هاب شوید.یک نام(پسوند dart. را فراموش نکنید) و توضیحی برای gidt خودتون انتخاب کنید و کدتون از دارت پد کپی کنید و قسمت پایین آن وارد کنید.و در آخر یکی از گزینه های Create Secret Gist (ذخیره به صورت خصوصی) یا Public Gist (ذخیره به صورت عمومی) انتخاب کنید؛ دقت کنید اگر گزینه Create Secret Gist را انتخاب کنید دیگر نمیتونید آن را به حالت Public Gist تغییر بدید.اشتراک کد / Share codeبعد از اینکه رو یکی از دو گزینه ذخیره کردن بالا برای کدتون در gidt گیت هاب کلیک کردید وارد صفحه ای میشود که به شما کد ذخیره شده شما رو نشون میده؛ خب حالا شما برای اشتراک کدتون فقط باید ID کدتون که در URL صفحه ای که هستید رو استخراج کنید و اون رو در انتهای آدرس زیر وارد کنید.&#x60;https://gist.github.com/username/aa1b8eedb65d514644af253adf2e63a&#x60;آیدی کد ذخیره شده در gist گیت هاب   :   aa1b8eedb65d514644af253adf2e63aاضافه کردن اون به آخر آدرس سایت زیر.&#x60;https://dartpad.dev/aa1b8eedb65d514644af253adfe63a&#x60;حالا برای اشتراک کدتون کافیه فقط URL بالا رو به اشتراک بزارید.سخن پایانیدوستان این موضوع رو هم باید بهتون بگم که دارت پد رو بعنوان یه محیط برنامه نویسی کامل در نظر نگیرید بلکه فقط در صورتی که به سیستم خودتون دسترسی نداشتید و برای اینکه کارتون رو راه بندازه میتونید ازش استفاده کنید چون برخی امکان مورد نیاز برنامه نویسی مثل ابزارهای دیباگ و خیلی موارد دیگر رو نداره. و در آخر دوستان امیدوارم مطالب بدردتون بخوره و حتما نظراتون و اشتباه های من رو حتما در کامنت ها بگید تا در سریع ترین وقت ممکن اصلاحش کنم.</description>
                <category>Rohullah Tawasoli</category>
                <author>Rohullah Tawasoli</author>
                <pubDate>Wed, 03 Nov 2021 15:22:28 +0330</pubDate>
            </item>
                    <item>
                <title>مقدمه</title>
                <link>https://virgool.io/DartLanguageTour/%D9%85%D9%82%D8%AF%D9%85%D9%87-glntiiwybp4q</link>
                <description>سلام، روح الله توسلی هستم؛ خیلی خوش اومدین.دوستان ما در این سلسله مقالات قصد داریم تا زبان دارت رو بیشتر و بهتر بشناسیم؛ اگر از برنامه نویسی هم چیزی نمیدونید اصلا نگران نباشید، من سعی میکنم از پایه ای ترین سطح شروع کنم تا دوستانی که از برنامه نویسی چیزی نمیدونن هم بتونن از مطالب استفاده کنند.من اصلا ادعای در زمینه برنامه نویسی ندارم فقط قصدم اینه که مطالبی رو که یاد گرفتم رو به اشتراک بزارم تا بقیه هم بتونن ازش استفاده کنن به قول معروف زکات علممونو بپردازیم :)؛ از دوستانی که در حوزه برنامه نویسی هم که دستی بر آتش دارند میخوام که کمکم کنند تا مطالب رو با کیفیت بهتر و بیشتری در خدمت علاقه مندان به برنامه نویسی قرار بدیم.ممنون از همتون، لایک و کامنت فراموش نشه ;)</description>
                <category>Rohullah Tawasoli</category>
                <author>Rohullah Tawasoli</author>
                <pubDate>Wed, 03 Nov 2021 15:20:45 +0330</pubDate>
            </item>
            </channel>
</rss>