<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های فراز صالحی</title>
        <link>https://virgool.io/feed/@faraz67fz</link>
        <description>توسعه دهنده وب</description>
        <language>fa</language>
        <pubDate>2026-06-07 08:19:37</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/140564/avatar/O26ZaY.jpg?height=120&amp;width=120</url>
            <title>فراز صالحی</title>
            <link>https://virgool.io/@faraz67fz</link>
        </image>

                    <item>
                <title>تفاوت های بین فرم ورک و کتابخانه در توسعه نرم افزار</title>
                <link>https://virgool.io/@faraz67fz/%D8%AA%D9%81%D8%A7%D9%88%D8%AA-%D9%87%D8%A7%DB%8C-%D8%A8%DB%8C%D9%86-%D9%81%D8%B1%D9%85-%D9%88%D8%B1%DA%A9-%D9%88-%DA%A9%D8%AA%D8%A7%D8%A8%D8%AE%D8%A7%D9%86%D9%87-%D8%AF%D8%B1-%D8%AA%D9%88%D8%B3%D8%B9%D9%87-%D9%86%D8%B1%D9%85-%D8%A7%D9%81%D8%B2%D8%A7%D8%B1-bs852qtpv4zw</link>
                <description> framework vs libraryفرض کنید که ماموریت شما حفر کردن زمینه به مساحت زیاد است , شما دو انتخاب دارید :1. چند کارگر بگیرید و با آنها مشغول کار شوید.2. یک دستگاه بیل مکانیکی بگیرید و کار را شروع کنید.کتابخانه ها مثل کارگر ها عمل می کنند , شما هر زمان که بخواهید می تواند آنها را فراخوانی کنید و اگر احساس کردید که کار بلد نیستند می تونید آنها کنار بزنید و خودتان کار درست را انجام بدهید ( بعضی مواقع واقعا لازمه ! ) و یا حتی مسئولیت اونها رو کم یا زیاد کنید.از طرفی دیگر شما در دستگاه بیل مکانیکی شما نمی توانید قوانین خودتون را داشته باشید , شما نمی تونید عملکرد یک اهرم  فرمان را نادیده بگیرید , شما باید امکاناتی که این دستگاه به شما می ده آگاه باشید.مثلا : به حرکت در آوردن ماشین , عوض کردن کلاج , بالا بردن فشار روغن هیدرولیک و ...شما نمی توانید از دستگاه پیاده بشید و ریل ها رو هل بدید تا دستگاه حرکت کند و این کار فقط باعث می شه که زمان و انرژی خودتان را هدر بدید , شما باید به اهرم های فرمان دستگاه مسلط بشید.خبر خوب اینکه اکثر فریم ورک ها طوری معماری و طراحی شده اند که امکان استفاده از کتابخانه های دیگر را هم دارند و  برنامه نویس می تواند فریم ورک توسط  توسعه دهد.شما فرض کنید با بیل مکانیک می خواهید دور یک لوله گاز رو گود برداری کنید , در یک قسمت کار باید از بیل مکانیکی استفاده بشه و در قسمتی دیگر کارگران باید مشغول کار شوند و یا حتی کارگری به بیل مکانیکی راهنمایی بده.اگر دیده باشید کسانی که با ماشین های سنگین کار می کنند رفته رفته نسبت با طرز عملکردن ماشین هم تجربه ای بدست می آورند و اگر واقعا با تجربه باشند راحت می تونن کل ماشین رو باز و جدا کنند و دوباره سرهمش کنند و مثل ساعت کار کند.کسی که با یک فریم ورک یا کتابخانه سالها کار کند می تواند بهترین استفاده از اون امکانات ببره و حتی چیز های جدیدی تولید کنه و بهتر از اون می تونه در تیم توسعه کتابخانه و یا فریم ورک مشارکت کنه.شاد و پیروز باشید و#در _خانه_بمانید</description>
                <category>فراز صالحی</category>
                <author>فراز صالحی</author>
                <pubDate>Wed, 02 Dec 2020 11:33:18 +0330</pubDate>
            </item>
                    <item>
                <title>نحوه کارکرد زبان های برنامه نویسی</title>
                <link>https://virgool.io/coderlife/howprogramminglanguageswork-t7demrjjyk8u</link>
                <description>زبان های برنامه نویسی چگونه کار می کند ؟زبان های برنامه نویسی مثل واسطه عمل می کنند , دقیقا مثل زبان های هر کشور , اگر هرکسی زبان کشور خاصی رو بلد باشه می تونه با مردم بومی اون کشور ارتباط برقرار کنه.پس اگر به زبان برنامه نویسی مسلط هستید , شما در واقع دارید با کامپیوتر حرف می زنید.زبان های برنامه نویسی از نظر سطح دسترسی به سخت افزار سیستم به 2 قسمت تقسیم می شوند1. Low level programming languages2. High level programming languagesزبان های سطح پایین به سخت افزار سیستم دسترسی کامل دارند و از نظر خوانایی کدها برای انسان کمی سخت و پیچیده است و پردازش این کد ها برای سخت افزار ها بسیار راحته و در سریع ترین زمان ممکن پردازش می شوند , برای استفاده از این زبان باید دانش بالایی در مورد سخت افزار کامپیوتر داشته باشید.زبان های سطح بالا به سخت افزار ها دسترسی چندانی نداره , اما این زبان ها بیشتر برای رفع نیاز های بازار کار به کار گرفته می شن. این زبان ها به واسطه زبان های سطح پایین بوجود آمده اند , خواندن اونها برای انسان ها قابل فهم مثلا : کاربر_را_نمایش_بده یا دوربین_را_روشن_کن و ...البته که دستورات به زبان پارسی نیستند و فقط انگلیسی هم نیستند , زبان های برنامه نویسی برای پردازش کدها قاعده و قوانینی دارند که پردازش گر طبق قائده و اصول قراردادی , کدها رو پردازش می کنه.ما به این روش های نوشتاری syntax  می گیم و اگر سینتکس درست را در کدها اعمال نکنیم کامپیوتر نمی تواند کد ما را درک کند.سینتکس ها در زبان های مختلف :Php :&lt;?phpecho &amp;quotHello World!&amp;quot?&gt;Java :class HelloWorld {public static void main(String[] args) {System.out.println(&amp;quotHello, World!&amp;quot);}}C :#include &lt;stdio.h&gt;int main() {// printf() displays the string inside quotationprintf(&amp;quotHello, World!&amp;quot);return 0;}swift :// Hello, World! Programimport Swiftprint(&amp;quotHello, World!&amp;quot)شاید سوال براتون پیش بیاد : خب من کجا می تونم کد بزنم ؟در ابتدا شما می تونید در یک notepad یا ی ویرایش گر متن خیلی ساده در کامپیوتر خودتون استفاده کنید و در آخر فایل را با فرمت دلخواه ذخیره کنید , اما این بهترین راه برای زدن کد نیست.آبراهم لینکون می گه :  قبل از اینکه درختی رو قطع کنی , تبرتو تیز کن !ما برنامه نویس ها باید همیشه حواسمون باشه که تبرمون تیز باشه , بنابراین برنامه هایی نوشته شده که تو تفهیم کدها و البته نوشتن کدها کمکمون کنه.آی دی ای (IDE) یا Integrated Development Environment  که ترجمش میشه محیط توسعه یک پارچه , در واقع محیطی هست که یک سری امکانات کد نویسی رو به برنامه نویس ارائه می ده.این نرم افزار ها با استفاده از رنگ ها و چیدمان های حروف و خیلی امکانات دیگه , کمکمون می کنه که کد رو به طور صحیح بنویسیم تا برنامه نوشته شده حداقل خطای سینتکسی نداشته باشه.در مورد خطا های برنامه نویسی در مقاله جدا توضیح می دم.نحوه پردازش زبان های برنامه نویسی در کامپیوترنحوه پردازش برنامه از طریق compiler  یا  Interpreter مربوط به زبان برنامه نویسی پردازش می شه.هر برنامه ای که با زبان برنامه نویسی سطح بالا نوشته میشه باید به زبان ماشین تبدیل بشه تا cpu  برنامه رو درک و اجرا کنه.کامپیلر یعنی کل کدهای زبان سطح بالا رو اسکن کرده و به یک فایلی  متشکل از 0 و 1 ها  یا زبان ماشین ساخته بشه و در آخر فایل متشکل از صفر ها و یک ها در cpu پردازش می شه.اینترپرتر یعنی فایل های برنامه بلافاصله تبدیل به صفر و یک شود و در cpu  اجرا شود.فرق بر این هست که اگر من با یه زبان برنامه نویسی که از طریق کامپایل شدن اجرا می شه رو بنویسم, من می تونم من کد (یا همان source code) رو داشته باشم و فقط نسخه صفر و یکی اون برنامه به کاربران بدم تا برنامه رو اجرا کنند.اگر دقت کرده باشید برنامه های تخت ویندوز با فرمت .exe  هستند (عموما &quot;دات اِگزا &quot; خونده می شه ) و یعنی executable  یا قابل اجرای آنی است و این در حالی هست که سورس کد را در اختیار ندارید.از طرفی دیگر در روش Interpreter یا همان مفسر یعنی شما فقط با داشتن سورس کد می تونید برنامه رو اجرا کنید  یعنی برنامه نویسی با زبان مفسری ( scripting language ) که سورس کدی را که نوشته شد و برای اینکه برنامه را در سیستم کاربران اجرا کند باید یک نسخه از کدهای برنامه خودش را کپی کند و به کاربران ارائه دهد و کاربران می تونن در صورت دلخواه کد رو تغییر بدن.سوال : چرا اینقدر زبان های برنامه نویسی زیاد هست ؟ چرا یک زبان ثابت برای همه نیست که همه طبق اون زبان جلو برن ؟سوال خیلی خوبیه , پیشرفت در دنیای IT به طرز وحشتناکی سریعه از ساخت گجت های جدید گرفته تا سخت افزار و البته نرم افزار.در همین زمانه روز به روز و ماه به ماه نیاز های ما برطرف می شه و نیاز های جدیدی بوجود می آیند.مثلا در دوران کرونا شما نیازی نداری که به صورت فیزیکی برید فروشگاه خرید کنید شما می تونید آنلاین سفارش بدید.دیگه لازم نیست که محلتون زندگتون حتما آژانس داشته باشه تا سریعا به مقصد برسید.اما نیاز های جدید چیه ؟پیرایش های در منزل , کارواش های سیار و کلید سازی های سیار و ماساژور ها در منزل و  ...نیاز های جدید رو برطرف می کنند.این موضوع در  IOT هم جذاب تر میشه !هر چیزی که شما در دوربر خودتون می بینید ی نیازی رو برطرف می کنه , عینک مشکل بینایی رو حل می کنه , صندلی : محل راحتی برای نشستن فراهم می کنه و ...زبان های برنامه نویسی هم برای همین بوجود آمده اند از سطح پایین گرفته تا سطح بالا هر کدام برای کاری ساخته شده اند.و البته رقابت بین اونها هم سر اینکه : کدومشون سریع تر , بهینه تر و قابلیت استفاده راحت تر و ... هست.و البته که یک زبان واحد برای همه وجود داره تا باهاش کد بزنید و اون  &quot; زبان ماشینه &quot; .همون زبان سخت و پیچیده ای که باید علم سخت افزار قورت رو داده باشید , و البته کمتر کسی سمت این مباحث می ره چون جنبه تحقیقاتی و بهینه سازی و امنیتی سیستم های کامپیوتر رو به همراه داره و جنبه تجاری نداره .در مقاله های دیگه در مورد  کاربرد زبان های برنامه نویسی صحبت می کنم.موفق باشید.</description>
                <category>فراز صالحی</category>
                <author>فراز صالحی</author>
                <pubDate>Mon, 23 Nov 2020 10:09:45 +0330</pubDate>
            </item>
                    <item>
                <title>تعصب در زبان برنامه نویسی</title>
                <link>https://virgool.io/coderlife/%D8%AA%D8%B9%D8%B5%D8%A8-%D8%AF%D8%B1-%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-xc6875vh3qpa</link>
                <description>پی اچ پی مزخرفه .. پایتون رو امتحان کنمن نمی دونم چه فازی که برنامه نویس یا کدرها می گیرن و می گن : فلان زبان خعلی کارش درسته ... تو هر حوزه ای هم ی دستی تو کار داره ..جناب برنامه نویس : هر زبان برنامه نویسی مثل یک ابزار می مونه یکی مثل چکش یکی مثل قیچی عمل می کنه و  ...اگر هدفت ساختن موشک کاغذیه خب قیچی خیلی می تونه کمکت کنه .. ولی اگر هدفت ترکوندن کله بقیه هست (مثل من ) .. چکش بیشتر بدردت می خوره .حالا هنر چکش زدنو داری :  با چکش موشک کاغذی ساختن سخته.هنر اینکه رو ی چیزی که مسلط شدید غیر ممکن ها رو بتونید انجام بدهید یا اگر من باشم ( که خیلی راحت طلب هستم ) از ابزار درست برای اون کار استفاده می کنم.</description>
                <category>فراز صالحی</category>
                <author>فراز صالحی</author>
                <pubDate>Thu, 03 Sep 2020 18:20:38 +0430</pubDate>
            </item>
                    <item>
                <title>کدر (coder) کیه ؟ برنامه نویس (programmer) کیه ؟</title>
                <link>https://virgool.io/coderlife/%DA%A9%D8%AF%D8%B1-coder-%DA%A9%DB%8C%D9%87-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3-programmer-%DA%A9%DB%8C%D9%87-ged3xmjpc4fc</link>
                <description>کسی که بتونه با کامپیوتر ارتباط بر قرار کنه و بتونه از کامپیوتر نتیجه یا خروجی مورد نظر رو  بگیره , من اونو کدر تلقی می کنم .. اما کسی که &quot; برنامه ریزی شده !! &quot; کد می زنه می تونم بگم طرف برنامه نویسه .به نظر هر کسی می تونه کدر باشه ولی هر کسی نمی تونه برنامه نویس باشه.کدر بودن خیلی حالت تفریحی داره و از این لذت می بری که کامپیوتر اون جوابی رو بهت داده که می خواستی  و پیش بینی کرده بودی.یه برنامه نویس حتی قبل از این که کامپیوترش رو روشن بکنه می تونه روی  کاغذ برنامه خودش رو ترسیم کنه.یه برنامه نویس , برنامه ای که به مرحله سرویس دهی رسیده (تحویل) رو مستند سازی شده تحویل می ده .. این نه به خاطر مشتری  بلکه برای برنامه نویس بعدی هست که می خواد اون برنامه رو توسعه بده .. پس بیاید هوای همدیگر رو داشته باشیم.تو کشور ما سطح بازدهی (نمی گم دانش ) تو فیلد برنامه نویسی تعریف نشده .. و متاسفانه هر جا که می زنن که برنامه نویس می خوان ..  ارتشی از کدر ها به اون محل هجوم می یارن .در کل اینو بدونید که کسی که کد می زنه صرفا برنامه نویس نیست .و این هم بدونید که برنامه نویس ها تعمیر کار لپ تاپ شما نیستند !!  مگر اینکه خودشون بخوان. خخخخخیه پله بالاتر می خواید برید ؟ به توسعه دهندگان سلام کنید.</description>
                <category>فراز صالحی</category>
                <author>فراز صالحی</author>
                <pubDate>Thu, 30 Apr 2020 14:30:55 +0430</pubDate>
            </item>
            </channel>
</rss>