<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های دانیال براتی</title>
        <link>https://virgool.io/feed/@aboutprogramming</link>
        <description></description>
        <language>fa</language>
        <pubDate>2026-06-19 06:35:21</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/3038178/avatar/rnpeBP.png?height=120&amp;width=120</url>
            <title>دانیال براتی</title>
            <link>https://virgool.io/@aboutprogramming</link>
        </image>

                    <item>
                <title>اوپن سورس (open source) چیه؟</title>
                <link>https://virgool.io/@aboutprogramming/open-source-pkj8du8yz4zz</link>
                <description>اوپن سورس (open source) یک اصطلاح است که به نرم افزارهایی اشاره می کند که source code آنها به صورت عمومی در دسترس است و می تواند توسط هر کسی modifyو توزیع شود.نرم ­افزارهای open source معمولاً توسط یک جامعه از برنامه نویسان توسعه داده می شوند که در پروژه با هم همکاری و مشارکت می کنند. نرم افزارهای open source لزوماً رایگان نیستند، اما محدودیت های کمتری دارند .ما بسته به نیازها، ترجیحات، و اهداف خود، دلایل مختلفی برای استفاده از نرم افزارهای open source داریم، مثلا:می توانیم این نرم افزار ها را مطابق سلیقه یا هدف خود سفارشی­ سازی کنیم، تغییر دهیم و توزیع کنیم، بدون اینکه licenceها یا فروشندگان ما را محدود کنند.نرم افزارهای open source همکاری و نوآوری بیشتری را بین توسعه دهندگان و کاربران ترویج میکنند. می توانیم از یکدیگر یاد بگیریم، ایده های خود را به اشتراک بگذاریم، و همزمان به بهبود و گسترش نرم افزار کمک کنیم. و یا اینکه می توانیم source code را بررسی کنیم، باگ­ها را رفع کنیم، و ضعف­های نرم افزار را گزارش کنیم.همچنین نرم افزارهای open source هزینه و وابستگی به نرم افزارهای انحصاری را کاهش می دهند. می توانیم به این نرم افزار ها دسترسی داشته باشیم، از آن استفاده کنیم، و آن را به صورت رایگان یا با هزینه اندک به اشتراک بگذاریم.پلتفرمهای موفق بسیاری هستند که به صورت open source توسعه یافته اند. از جمله:لینوکس:محبوب ترین سیستم عامل open source، که توسط میلیون ها دستگاه، سرور، و رایانه در سراسر جهان استفاده می شود. لینوکس محصول تلاش جمعی هزاران توسعه دهنده است که برای توسعه و بهبود هسته لینوکس و توزیع های مختلف آن همکاری می کنند.تنسورفلو:یک پلتفرم پیشرو open source برای ML و هوش مصنوعی است که توسط گوگل توسعه یافته است. تنسورفلو یک مجموعه جامع از ابزارها و کتابخانه­ها را برای ساخت، آموزش، و استقرار مدل ها برای مسائل و برنامه­های مختلف ارائه می دهد.جنگو:یک framework محبوب پایتون برای توسعه وب است که سایت­هایی مانند اینستاگرام و موزیلا از آن استفاده میکنند.</description>
                <category>دانیال براتی</category>
                <author>دانیال براتی</author>
                <pubDate>Tue, 27 Feb 2024 22:36:45 +0330</pubDate>
            </item>
                    <item>
                <title>مفهوم Token در برنامه نویسی</title>
                <link>https://virgool.io/@aboutprogramming/token-wqf6uhbzatfz</link>
                <description>توکن (Token)، کوچکترین عنصر معنی‌دار در یک زبان برنامه‌نویسی است که توسط کامپایلر قابل تشخیص است. در واقع، Tokenها عناصرِ(کامپوننت­هایِ) پایه‌ای در یک برنامه هستند.در برنامه‌نویسی شش نوع Token وجود دارد که بر اساس کارکردهایشان تعریف می‌شوند:Keywords :کلمات از پیش تعریف‌شده یا اختصاصی در یک زبان برنامه‌نویسی هستند که معنی و هدف خاصی دارند. به عنوان مثال، if، else، while، returnو غیره. نمی‌توانیم از کلمات کلیدی به عنوان نام‌ برای متغیرها یا شناسه استفاده کنیم.Identifiers :نام‌های تعریف شده توسط برنامه­نویس برای متغیرها، توابع، آرایه‌ها یا عناصر دیگر برنامه‌نویسی هستند. به عنوان مثال، num، sum، main، _count .Constants :مقادیر ثابت هستند که یکبار تعریف شده‌ و نمی‌توانند در برنامه تغییر یا اصلاح شوند. ممکن است به هر نوع داده ای تعلق داشته باشند، مانند اعداد صحیح، عددهای اعشاری، حروف، رشته‌ها و غیره. مثلا:const PI = 3.141592653589793;Strings :رشته ها، دنباله‌ای از کاراکترها هستند که بین &quot; &quot; (دبل کت) قرار می‌گیرند.مثلا “This is a string”.Special Symbols :نمادهایی هستند که معنا یا کارکرد بخصوصی در یک زبان برنامه‌نویسی دارند.مثلا ؛، ()، {}، []، ، .Operators :نمادهایی هستتند که عملیاتهای حسابی، منطقی، رابطه‌ای یا بیتی را روی اپراندها انجام می‌دهند. مثلا +، -، *، /، %، &amp;&amp;، ||، !، &gt;، &lt;، ==، != .</description>
                <category>دانیال براتی</category>
                <author>دانیال براتی</author>
                <pubDate>Tue, 20 Feb 2024 19:57:32 +0330</pubDate>
            </item>
                    <item>
                <title>وب و اینترنت چه فرقی دارند؟</title>
                <link>https://virgool.io/@aboutprogramming/%D9%88%D8%A8-%D9%88-%D8%A7%DB%8C%D9%86%D8%AA%D8%B1%D9%86%D8%AA-%DA%86%D9%87-%D9%81%D8%B1%D9%82%DB%8C-%D8%AF%D8%A7%D8%B1%D9%86%D8%AF-cdhsh5fspvnh</link>
                <description>اگر چه ممکن است این دو واژه را به اشتباه به جای هم استفاده کنیم، اما وب و اینترنت دو تکنولوژی متفاوت و در عین حال مرتبط هستند. اینترنت یک شبکه جهانی از دستگاه‌های متصل به یکدیگر است که می‌توانند با استفاده از پروتکل‌های مختلف ارتباط برقرار کنند. وب یک سیستم اطلاعاتی (مجموعه‌ای از وب پیج‌ها) است که از طریق اینترنت و با استفاده از مرورگرها و لینک‌ها قابل دسترسی است. وب، تنها یک راه از راه‌های مختلف استفاده از اینترنت است.در ادامه خلاصه‌ای از اصلی‌ترین تفاوت‌های بین وب و اینترنت آمده است.</description>
                <category>دانیال براتی</category>
                <author>دانیال براتی</author>
                <pubDate>Mon, 19 Feb 2024 20:46:37 +0330</pubDate>
            </item>
                    <item>
                <title>پایگاه‌داده‌ (دیتابیس)</title>
                <link>https://virgool.io/codenevis/database-gkjnj6vqnk5x</link>
                <description>یک پایگاه داده مجموعه‌ای از داده‌های سازمان‌یافته و ساختارمند است که می‌تواند توسط یک برنامه کامپیوتری ذخیره، دسترسی و تغییر داده شود. پایگاه‌داده‌ها برای ذخیره و مدیریت مقادیر بزرگ اطلاعات به صورت کارآمد و قابل اطمینان استفاده می‌شوند.چرا از پایگاه داده‌ استفاده می‌کنیم؟دیتابیس ها به دلایل متعددی مفید هستند، از جمله اینکه:یکپارچگی داده ها: با استفاده از پایگاه‌داده‌ اطمینان حاصل می‌کنیم که داده‌ها سازگار، دقیق و معتبر هستند و از قوانین و محدودیت‌های خاصی پیروی می‌کنند.امنیت داده: پایگاه‌داده‌ از دسترسی غیرمجاز به داده‌ها جلوگیری میکند و سطوح مختلف دسترسی را برای کاربران یا نقش‌های مختلف فراهم می‌کنند.دسترسی به داده: دیتابیس امکان دسترسی و بازیابی آسان داده‌ها توسط چند کاربر یا برنامه را فراهم می‌کنند و مکانیزم‌های پشتیبان‌گیری و بازیابی را در موارد خرابی یا مواقع بروز بحران فراهم می‌سازد.امکان تجزیه و تحلیل داده ها: پایگاه‌داده‌ها امکان تجزیه و تحلیل داده‌ها، پردازش و تبدیل آن‌ها به اطلاعات مفید را فراهم می‌کنند و ابزارها و تکنیک‌های مختلفی را برای پرس‌وجو، گزارش‌دهی و نمایش فراهم می‌سازند.از پرکاربردترین انواع پایگاه‌داده، پایگاه داده رابطه‌ای است که داده‌ها را به صورت جدولی ذخیره می‌کند، بطوری که هر جدول شامل سطرها و ستونها است. هر سطر یک رکورد (نمونه) را نمایندگی می‌کند، و هر ستون نماینده یک ویژگی از نمونه هاست.برای کار روی پایگاه داده رابطه‌ای، از یک زبان ویژه به نام SQL (Structured Query Language) استفاده می‌شود که اجازه می‌دهد داده‌ها را در جداول ذخیره کنیم یا از داده هایی را از جدول بخوانیم. همچنین میتوانیم داده های جدول را به‌روزرسانی و حذف کنیم. SQL همچنین به ما امکان می‌دهد عملیات دیگری روی داده‌ها را انجام دهیم، مانند فیلترینگ، مرتب‌سازی، گروه‌بندی، تجمیع و غیره.چند مثال ساده از استفاده از پایگاه‌داده‌ ها- فروشگاه آنلاین:یک وب‌سایت فروشگاه آنلاین از یک پایگاه‌داده استفاده میکند تا اطلاعات درباره محصولات، مشتریان، سفارشات، پرداخت‌ها، و غیره را ذخیره کند. به عنوان مثال، پایگاه داده ممکن است شامل جدول‌هایی برای محصولات، مشتریان، سفارشات، پرداختی‌ها، و غیره باشد. وب‌سایت می‌تواند از پرس‌وجوهای SQL برای نمایش محصولات، جستجو برای محصولات، افزودن محصولات به سبد خرید، ثبت سفارش، پردازش پرداخت‌ها، و غیره استفاده کند.- مدیریت کتابخانه:پایگاه داده کتابخانه میتواند شامل جدول‌هایی برای کتاب‌ها، نویسندگان، ناشران، ژانرها، اعضا باشد. کتابخانه نیز می‌تواند از پرس‌وجوهای SQL برای ثبت کتب، جستجو برای کتب، بررسی امکان دسترسی به کتب، امانت دادن کتب، بازگشت کتب، و غیره استفاده کند.- رسانه‌های اجتماعی:یک پلتفرم رسانه‌های اجتماعی ممکن است شامل جدول‌هایی برای کاربران، پست‌ها، نظرات، لایک‌ها، دنبال‌کنندگان، و ... باشد. این پلتفرم می‌تواند از پرس‌وجوهای SQL برای ایجاد پروفایل کاربری، ارسال محتوا، درج کامنت برای پست‌ها، لایک کردن پست‌ها و دنبال کردن کاربران استفاده کند.کراد (CRUD) چیست؟مخفف کلمات Create، Read، Update و Delete به عنوان چهار عمل اصلی ثبت(ایجاد)، خواندن، آپدیت و حذف در دیتابیس هاست.در زیر، برای هر کدام از این اعمال چهارگانه یک دستور ساده sql آورده شده است:Create:INSERT INTO Customer (id, name, email, phone) VALUES (1, &#039;Alice&#039;, &#039;alice@example.com&#039;, &#039;1234567890&#039;);Read:SELECT name, email FROM Customer;Update:UPDATE Customer SET name = &#039;Bob&#039; WHERE id = 1Delete:DELETE FROM Customer WHERE id = 1; </description>
                <category>دانیال براتی</category>
                <author>دانیال براتی</author>
                <pubDate>Mon, 19 Feb 2024 10:36:49 +0330</pubDate>
            </item>
                    <item>
                <title>زبان‌های برنامه نویسی</title>
                <link>https://virgool.io/@aboutprogramming/%D8%B2%D8%A8%D8%A7%D9%86-%C2%AD%D9%87%D8%A7%DB%8C-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-yyku9tk7gyfl</link>
                <description>زبان ­های برنامه نویسی، ابزارهایی هستند که با استفاده از آن ها، می توانیم با کامپیوترها صحبت کنیم. زبان های برنامه نویسی به ما امکان می دهند که دستوراتی را برای انجام کارهای مختلف بنویسیم. برای مثال، می توانیم با استفاده از زبان های برنامه نویسی، برنامه هایی را بسازیم که قادر باشند به ما ایمیل بفرستند، یا بازی های جذابی را ارائه دهند، یا تصاویری را ویرایش کنند، و غیره.به عنوان نمونه، قطعه کد ساده زیر که در زبان جاوا نوشتته شده، به کامپیوتر میگوید که مجموع اعداد 1 تا 100 را در خروجی چاپ کند.زبان های برنامه نویسی، بر اساس ساختار، سینتکس، و قواعد خاص خود شکل گرفته اند. هر زبان برنامه نویسی، ممکن است برای یک کاربرد خاص، مناسب تر باشد.برای مثال، زبان پایتون، یک زبان سطح بالا است که برای توسعه وب، هوش مصنوعی، و علوم داده، محبوب است. در مقابل، زبان سی، یک زبان سطح پایین است که برای برنامه نویسی سیستم های عامل، درایورها، و نرم افزارهای کاربردی، کارآمد است.وقتی که صحبت از زبان­های برنامه­ نویسی میشود، لازم است در مورد مفاهیم کامپایل و تفسیر هم توضیح داده شود و تفاوت آن­ها را بدانیم.کامپایلر و مفسر دو نوع مترجم هستند که کد منبع (زبان سطح بالا، قابل فهم توسط انسان) را به کد ماشین (زبان سطح پایین، قابل فهم توسط کامپیوتر) تبدیل می کنند. فرق بین کامپایلر و مفسر در روش تبدیل کد به کد ماشین است.کامپایلر یک برنامه را به عنوان یک کل در نظر می گیرد و آن را ترجمه می کند. یعنی کامپایلر کل کد را می خواند و تجزیه و تحلیل می کند و سپس یک فایل اجرایی را تولید می کند که حاوی کد ماشین است. (مانند فایل­های EXE در ویندوز)این فایل اجرایی می تواند بدون نیاز به مترجم روی کامپیوتر اجرا شود. (فایل­های EXE را run میکنیم بدون اینکه بدانیم اصولا کامپایلر چیست)مفسر، یک برنامه را خط به خط در نظر می گیرد و آن را ترجمه می کند. این یعنی مفسر هر خط کد را می خواند و تفسیر می کند و سپس اجرا می کند.  به عنوان مثال برای تبدیل کدهای جاوااسکریپت به زبان ماشین، از مفسر js که در مرورگرهای وب تعبیه شده استفاده میشود. مثلا وقتی در طراحی ظاهر یک وبسایت از کدهای جاوااسکریپت استفاده میکنیم، هربار که این صفحه وب لود شود، کدهای جاوااسکریپت بصورت خط­ به خط تفسیر و اجرا میشوند. برای درک بهتر تفاوت کامپایل و تفسیر میتوانید این کلیپ کوتاه و آموزنده را از یوتیوب تماشا کنید.در نهایت میتوان گفت که زبان های برنامه نویسی، یکی از مهم ترین ابزارهای برنامه نویسان هستند. با استفاده از زبان های برنامه نویسی، می توانیم برنامه هایی را ایجاد کنیم که قادر به حل مسائل پیچیده، ایجاد تغییرات مثبت در جهان، و ارائه خدمات به میلیون ها کاربر باشند.</description>
                <category>دانیال براتی</category>
                <author>دانیال براتی</author>
                <pubDate>Fri, 16 Feb 2024 20:15:24 +0330</pubDate>
            </item>
                    <item>
                <title>مبانی برنامه‌نویسی</title>
                <link>https://virgool.io/@aboutprogramming/programming-basics-ragjhpahq2uy</link>
                <description>مبانی برنامه نویسی مجموعه ای از اصول اولیه و اصطلاحات مرتبط است که برنامه نویسان برای نوشتن کدهای کارآمد و ماژولار که درک آن کدهها نیز ساده باشد، از آنها پیروی می کنند.زبان برنامه‌نویسی: زبان برنامه نویسی یک سیستم نشانه ­گذاری (a system of notation) برای نوشتن برنامه ­های کامپیوتری است. برخی از رایج ترین زبان‌های برنامه‌نویسی عبارتند از: پایتون، جاوا، سی++، جاوااسکریپت و روبی.الگوریتم: یک دستورالعمل مرحله به مرحله است که برای حل یک مسئله یا انجام یک وظیفه مشخص استفاده می‌شود. الگوریتم‌ها باید دقیق، واضح، کامل و کارآمد باشند. الگوریتم‌ها را می‌توان به صورت شبه‌کد، فلوچارت، زبان طبیعی یا زبان برنامه‌نویسی نوشت. برخی از پرکاربردترین الگوریتم‌ها در علوم و مهندسی کامپیوتر عبارتند از: الگوریتم جستجوی دودویی، الگوریتم مرتب‌سازی سریع، الگوریتم انتخاب، الگوریتم فاکتوریل و الگوریتم بیشترین مقدار.ساختمان داده: در علوم کامپیوتر، هر ساختمان داده یک فرمت خاص برای سازماندهی، مدیریت و ذخیره سازی داده است که معمولاً برای دسترسی کارآمدتر به داده ها انتخاب می شود. ساختمان‌های داده می‌توانند بر اساس نوع، اندازه، ترتیب و عملیات‌های ممکن بر روی آن‌ها متفاوت باشند. برخی از کاربردی ترین داده-ساختارها عبارتند از: آرایه، لیست، پشته، صف، درخت، گراف و هش. تابع:  یک بلوک کد است که برای انجام یک وظیفه خاص نوشته شده است و می‌تواند یک یا چند ورودی دریافت کند و یک خروجی برگرداند. توابع به برنامه‌نویس امکان می‌دهد کد را تکرار، بازنویسی و از آن به طور مکرر استفاده کند. متغیر: متغیرها یک ابزار برای ذخیره، دستکاری، بازیابی و استفاده از داده ها هستند. قطعه کد زیر یک مثال ساده از چگونگی استفاده از متغیرها در برنامه است که به زبان پایتون نوشته شده:irst_name = &#039;Jane&#039;
last_name = &#039;Doe&#039;
print(first_name + last_name)Output:JaneDoeدستورات شرط: دستورات شرط برای انتخاب بین چندین امکان (تصمیم گیری) یا انجام یک عمل بر اساس شرایط مشخص استفاده می‌شوند. برخی از رایج ترین دستورات شرط عبارتند از: if، else، elif، switch و case.حلقه‌ها: حلقه‌ها برای تکرار یک بلوک کد به تعداد مشخص (for) یا تا زمانی که یک شرط برقرار باشد (while) استفاده می‌شوند. حلقه‌ها به برنامه‌نویس امکان می‌دهند کد را بهینه‌تر و خواناتر بنویسند. معمولا از کلمات کلیدی for، while، do while، و feach برای ایجاد loopها استفاده میکنیم.از دستورات break و continue برای کنترل جریان حلقه‌ها استفاده می‌شوند. دستور break باعث می‌شود که حلقه فعلی به طور کامل قطع شود (از حلقه خارج شویم) و برنامه به بلوک کد بعدی برود. دستور continue باعث می‌شود که تکرار فعلی حلقه قطع شود و حلقه به تکرار بعدی برود. این دستورات می‌توانند برای جلوگیری از اجرای کد‌های غیرضروری یا نامطلوب در حلقه‌ها مفید باشند.مدیریت استثنا: به برنامه‌نویس امکان می‌دهد که مانع توقف برنامه در صورت بروز خطا بشود و به جای آن یک پیام مناسب نمایش دهد یا یک عمل جایگزین انجام دهد. برخی از دستورات مدیریت استثنا عبارتند از: try، catch، finally و throw. </description>
                <category>دانیال براتی</category>
                <author>دانیال براتی</author>
                <pubDate>Wed, 14 Feb 2024 15:17:27 +0330</pubDate>
            </item>
            </channel>
</rss>