<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های علی عزیزجهان</title>
        <link>https://virgool.io/feed/@aliazizjahan</link>
        <description>دانشجوی رشته مهندسی تکنولوژی نرم افزار دانشگاه شمسی پور تهران - برنامه نویس کامپیوتر</description>
        <language>fa</language>
        <pubDate>2026-06-16 15:26:16</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/27714/avatar/DHdvNl.png?height=120&amp;width=120</url>
            <title>علی عزیزجهان</title>
            <link>https://virgool.io/@aliazizjahan</link>
        </image>

                    <item>
                <title>پیاده سازی مسئله وزیر در هوش مصنوعی به زبان Python</title>
                <link>https://dataio.ir/پیاده-سازی-مسئله-وزیر-در-هوش-مصنوعی-به-زبان-python-bc32g1xnqdif</link>
                <description>این پروژه پیاده سازی مسئله معروف وزیر با n وزیر و n خانه شطرنج به زبان پایتون توسط بنده است. تعداد وزیر ها و خانه های شطرنج از کاربر پرسیده میشود. صورت مسئله به این صورت است:میخواهیم تمام حالت های ممکن برای قرار دادن مثلا ۸ وزیر در صفحه شطرنج ۸ در ۸ را پیدا کنیم به طوری که وزیر ها در موقعیت حمله یکدیگر نباشند.کدهای پروژه در گیت بنده: https://gitlab.com/kyxey/inoffensive-queens ویدئو توضیح پروژه و کدهای آن: https://www.aparat.com/v/4rFAg </description>
                <category>علی عزیزجهان</category>
                <author>علی عزیزجهان</author>
                <pubDate>Wed, 08 Apr 2020 16:38:37 +0430</pubDate>
            </item>
                    <item>
                <title>پیاده سازی ربات عامل جارو برقی در هوش مصنوعی با زبان های Javascript و Python</title>
                <link>https://dataio.ir/پیاده-سازی-ربات-عامل-جارو-برقی-در-هوش-مصنوعی-با-زبان-های-javascript-و-python-z1jzkrx8d2zj</link>
                <description>این پروژه شبیه سازی یک ربات عامل بازتابی ساده با قابلیت نگهداری وضعیت فعلی میباشد که توسط بنده به زبان های پایتون و جاوااسکریپت اجرا شده است. صورت مسئله به این صورت است:میخواهیم طرز کار یک ربات جاروبرقی را در یک صفحه n در n شبیه سازی کنیم. هر خانه از صفحه ما یا کثیف است یا تمیز که به صورت تصادفی تولید میشود. ربات ما از خانه اول شروع میکند و پس از تمیز کردن همه خانه ها در خانه آخر متوقف میشود.کد های پروژه در گیت بنده: https://gitlab.com/kyxey/vacuum ویدئوی توضیح پروژه و کد ها: https://www.aparat.com/v/eExi3 </description>
                <category>علی عزیزجهان</category>
                <author>علی عزیزجهان</author>
                <pubDate>Wed, 08 Apr 2020 14:45:16 +0430</pubDate>
            </item>
                    <item>
                <title>شبیه سازی جریان خون با استفاده از یادگیری عمیق (Deep Learning)</title>
                <link>https://virgool.io/shamsipour/%D8%B4%D8%A8%DB%8C%D9%87-%D8%B3%D8%A7%D8%B2%DB%8C-%D8%AC%D8%B1%DB%8C%D8%A7%D9%86-%D8%AE%D9%88%D9%86-%D8%A8%D8%A7-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-%DB%8C%D8%A7%D8%AF%DA%AF%DB%8C%D8%B1%DB%8C-%D8%B9%D9%85%DB%8C%D9%82-deep-learning-llu5skgbqahg</link>
                <description>با نتایج تجربی موفق و کاربرد های گسترده، یادگیری عمیق[۱] پتانسیل تغییر آینده مراقبت های بهداشتی را دارد. استفاده از هوش مصنوعی به طور فزاینده ای رایج شده است و اکنون در تشخیص و درمان سرطان استفاده می شود. به طور مشابه، شبیه سازی خون هنگام پیش بینی مشکلات سلامتی مانند حمله قلبی، سکته ها و ... می تواند به چیز بزرگ دیگری [ ترند آینده :) ] تبدیل شود. سیستم گردش خون بدن ما وظیفه انتقال خون، مواد مغذی و اکسیژن به کل بدن را بر عهده دارد. هنگامی که جریان خون در قسمت خاصی از بدن مختل می شود، بر کل بدن تأثیر می گذارد. گردش خون ضعیف معمولاً علامتی برای یک مشکل اساسی بزرگتر است. بنابراین با مشاهده جریان خون در هر مکان خاص در بدن، می توانیم دریابیم که آیا در گردش خون در هر قسمت از بدن مشکلی وجود دارد و در نتیجه مشکل اساسی را پیدا کنیم. اما خون یک سیال غیر نیوتنی[۲] است و پیچیدگی های بالای محاسباتی آن به سرعت باعث بوجود آمدن یک محدودیت در این مسئله میشود. اما با استفاده از یادگیری عمیق ما میتوانیم جریان خون را الگوسازی کنیم.یک الگوریتم عددی برای حل معادلات دیفرانسیل تصادفی با مشتقات جزئی با ابعاد بالا، بخاطر نفرین شناخته شده ابعادی[۳]، یک فرآیند چالش برانگیز بوده است. اینجاست که روش Deep Galerkin وارد میشود. این یک الگوریتم یادگیری عمیق بدون نظارت است که ما با استفاده از آن، با تبدیل مسائل دنباله دار عامل به مسائل گسسته از طریق تبدیل معادله به یک فرمول ضعیف، میتوانیم معادلات دیفرانسیل جزئی با ابعاد بالا را حل کنیم. ما می توانیم این کار را با اجرای محدودیت های اولیه و مرزی انجام دهیم.ما میتوانیم سرعت و جریان خون را دریابیم و از این دو پارامتر به عنوان دو ویژگی در مجموعه داده خود استفاده کنیم. سرعت و جریان خون میتوانند با استفاده از معادلات دیفرانسیل جزئی نشان داده شوند. ما میتوانیم با حل این معادلات دیفرانسیل جزئی و به حداقل رساندن تلفات متعدد به طور همزمان جریان خون را مدلسازی و شبیه سازی کنیم. با مشاهده تغییر در سرعت و جریان خون ما توانیم احتمال بروز یک وضعیت نامطلوب بالقوه در سلامتی را پیش بینی کنیم. اما پیچیدگی های مربوط به رفتار غیر قابل پیش بینی یک سیال غیر نیوتنی مانند خون، خود را به عنوان یک مانع بزرگ سد راه جامعه علوم داده معرفی می کند.پاورقی و توضیحات:۱- Deep Learning۲- در علم فیزیک، سیال نوعی از ماده است که به طور مداوم تحت فشار برشی یا نیروی خارجی تغییر شکل می‌یابد یا جاری میشود. بر اساس این تعریف، مایعات و گاز ها جز سیالات هستند.گران‌رَوی یا ناروانی عبارت است از مقاومت یک سیال در برابر اعمال تنش برشی. به تعریفی دیگر، مقاومت اصطکاکی یک مایع یا گاز را در برابر شارش یا لغزیدن لایه‌ها، هنگامی که تحت تنش برشی قرار گیرد گِران‌رَوی می‌گویند. نام‌های دیگر گران‌روی عبارت است از: چسبناکی، وُشکسانی (وشک در فارسی به معنی صمغ است)، ویسکوزیته و لِزْجَت.کرنش (به انگلیسی: strain) در اصطلاح فیزیک به تغییر در طول جسم جامد در هر جهت نسبت به طول آن جسم در همان جهت که در اثر اعمال نیرو (تنش) پدید می‌آید، گفته می‌شودسیالات غیر نیوتنی، نوعی از سیالات هستند که گرانروی آنها با نرخ کرنش وارد بر آنها تغییر میکند. در نتیجه چنین سیالاتی فاقد گرانروی معین هستند و محاسبه گرانروی آنها بسیار پیچیده میباشد. مانند صابون های مایع، غذا هایی مانند کره، سس کچاپ و …۳-نفرین ابعادی در علم Big Data به مشکلاتی اتلاق میشود که با گسترش ابعاد بوجود می‌آیند و یا زیاد میشوند. موضوع و زمینه اصلی این مشکلات به این شکل هست که زمانی که ابعاد گسترش می‌یابند، حجم فضا چنان با سرعت افزایش می‌یابد که داده های موجود پراکنده میشوند.ویدئو توضیحات مقاله: https://www.aparat.com/v/Jmj24 https://www.aparat.com/v/Jmj24منابع:1-https://medium.com/ai-techsystems/blood-flow-simulation-using-deep-learning-7f8e4fb9524a2-https://fa.wikipedia.org/wiki/%D8%B3%DB%8C%D8%A7%D9%84_%D8%BA%DB%8C%D8%B1%D9%86%DB%8C%D9%88%D8%AA%D9%86%DB%8C3-https://fa.wikipedia.org/wiki/%D8%B3%DB%8C%D8%A7%D9%844-https://fa.wikipedia.org/wiki/%DA%AF%D8%B1%D8%A7%D9%86%E2%80%8C%D8%B1%D9%88%DB%8C5-https://fa.wikipedia.org/wiki/%DA%A9%D8%B1%D9%86%D8%B46-https://en.wikipedia.org/wiki/Curse_of_dimensionality</description>
                <category>علی عزیزجهان</category>
                <author>علی عزیزجهان</author>
                <pubDate>Wed, 15 Jan 2020 20:37:53 +0330</pubDate>
            </item>
                    <item>
                <title>نقشه راه برای شروع برنامه نویسی در سال ۲۰۱۹ (قسمت اول)</title>
                <link>https://virgool.io/@aliazizjahan/%D9%86%D9%82%D8%B4%D9%87-%D8%B1%D8%A7%D9%87-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%B4%D8%B1%D9%88%D8%B9-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%AF%D8%B1-%D8%B3%D8%A7%D9%84-%DB%B2%DB%B0%DB%B1%DB%B9-%D9%82%D8%B3%D9%85%D8%AA-%D8%A7%D9%88%D9%84-ochcugmjrdmm</link>
                <description>مدتی است که با خیل عظیمی از سوال های این شکلی برخورد میکنم:-من برنامه نویسی رو از کجا باید شروع کنم؟-چه زبانی واسه اندروید یا آی او اس بهتره؟-آیا میتونم زبانی یاد بگیرم که باهاش برای همه پلتفرما برنامه بنویسم؟-فلان زبان بهتره یا بیسار زبان؟-فرق زبان فلان با بیسار چیه؟و …اگر شما هم از اون دسته آدم هایی هستید که سوالات مشابه دارید، پیشنهاد میکنم حتما این مقالرو تا تهش بخونید.این مقاله حاصل چندین سال برنامه نویسی و تحصیل در علوم کامپیوتر و تجربیات شخصی خودمه.خب…قبل از همه چی: زبان انگلیسی یاد بگیرید!بدون زبان نمیتونید هیچوقت برنامه نویس خوبی بشید. چرا؟ به هزار و یک دلیل.اول اینکه تمام مستندات و آموزشات اصلی هر زبان برنامه نویسی کاملا به زبان انگلیسی هستش. مثل ترجمه قرآن که هیچوقت قرآن نمیشه، ترجمه مستندات و آموزش های زبان های برنامه نویسی هم هیچوقت به کاملی اصلش نیست.این از این.دوم اینکه گوگل (Google) بهترین دوست و همراه یه برنامه نویسه. شما به هر مشکلی که توی برنامه نویسی بخورید، در ۹۹.۹۹٪ مواقع حتما یه نفر دیگه هم به این مشکل خورده و یه جا سوال کرده و یه نفر دیگم جوابشو داده. اما خبر بد اینکه همش به زبان انگلیسیه! و حتی باید انگلیسی جستجو کنید تا به اون جواب برسید. برای اون ۰.۰۱٪ بقیه هم خودتون باید یه جا مثل سایت Stackoverflow یا فوروم ها یا گیت هاب خود اون زبان به زبان انگلیسی سوالتون رو مطرح کنید تا بهتون پاسخ بدن.پس قدم اول شد زبان انگلیسی.من اینجا زبان های برنامه نویسی مختلف رو با توجه به اهداف مختلفی که میتونید ازشون استخراج کنید لیست میکنم و توضیحات و برتری های هرکدوم رو میگم. یادتون باشه که این مقاله در سال ۲۰۱۹ نوشته شده. زمانی که شما این رو میخونید ممکنه شرایط فرق کرده باشه.برای شروع برنامه نویسی شما اول باید به این سوال جواب بدید که برای چه پلتفرمی میخواید برنامه نویسی کنید؟ پلتفرم های مختلف از این قرار هستند:-وب (مثل وبسایت ها یا Web API ها)-موبایل (اندروید، iOS و سیستم عامل منقرض شده WindowsPhone)-دسکتاپ (Windows، macOS یا Linux)-یا حتی Embedded System ها و Info Structure ها (مثل کامپیوتر های ماشین، ربات ها، Core یا هسته هر چیزی و …)وباگر انتخاب شما پلتفرم وب هست، اول باید مشخص کنید که میخواید روی Frontend کار کنید یا Backend؟ فرانت اند (Frontend) در واقع همون ظاهر برنامه و قسمتی هست که کاربر به چشم میبینه.بک اند (Backend) اتفاقی هست که در پشت قضیه داره میافته تا برنامه شما کارایی داشته باشه.**(یادتون باشه یه برنامه نویس حرفه ای هیچوقت فقط یک زبان بلد نیست. زبان های مختلف بلده ولی حداقل یکی دوتا رو کاملا حرفه ای بلده و اصطلاحا مستر (Master) کرده. پس نگران نباشید میتونید چند تا زبان یاد بگیرید و هرکدوم رو بیشتر خوشتون اومد ادامه بدید و توش حرفه ای بشید.)**برای یادگیری Frontend شما اول باید زبان های HTML و CSS رو کامل یاد بگیرید. بعد از اون میتونید کتابخانه های این هارو مثل Bootstrap یاد بگیرید تا کارتون تمیز تر بشه. ولی HTML و CSS زبان های برنامه نویسی نیستن! اینا فقط شروع کار هستن. بعد از این حتما باید Javascript رو یاد بگیرید. Javascript یه زبان برنامه نویسیه که میاد Frontend شما رو اصطلاحا Responsive و Interactive میکنه. بعد از اون پیشنهاد من اینه که یکی از فریمورک های جاوا اسکریپت رو مثل React ،Angular ،Vue یا خیلی های دیگرو حتما یاد بگیرید. در واقع با یادگیری اینها شما میتونید ادعا کنید که یک برنامه نویس Frontend هستید. من خودم انتخابم React بود. فریمورک  React با React Native که هر دو برای شرکت فیسبوک هستن به شما قابلیت اینو میدن که خیلی کار های پیچیده رو به سادگی انجام بدین. React Native مشابه React هست با این تفاوت که برای پلتفرم موبایل هست و خروجی crossplatform اندروید و iOS و WindowsPhone بهتون میده. تا یادم نرفته اشاره کنم که زبان جاوا اسکریپت در چند سال گذشته خیلی پیشرفت کرده و به یه زبان crossplatform تبدیل شده. یعنی شما با Javascript میتونید برای پلتفرم های وب، موبایل و دسکتاپ، با یادگیری مایهتاج هر سیستم عامل به راحتی برنامه بنویسید و لذت ببرید! برای یادگیری Backend زبان های مختلفی وجود دارن. برای مثال میشه به Asp.Net که برای شرکت مایکروسافت هستش، یا PHP اشاره کرد. من خودم PHP یاد گرفتم. بعد از یادگیری PHP باید حداقل یکی از کتابخانه هاش مثل Laravel و Lumen رو یاد بگیرید و توی دنیای امروز باید حتما با RESTFul API ها آشنا باشید و بدونید که توی زبانی که بلد هستید چطوری میشه RESTFul API رو پیاده سازی کرد. امااااا…!شما میتونید همون Backend رو هم با جاوااسکریپت بنویسید! چجوری؟ با node.js نود جی اس (node.js) نسبت به زبان های دیگه ای که برای این کار هست فوق العاده سریع تر و کارآمد تر هستش.در قسمت بعدی با ادامه توضیحات همراه باشید.قسمت دوم به زودی.</description>
                <category>علی عزیزجهان</category>
                <author>علی عزیزجهان</author>
                <pubDate>Sun, 05 May 2019 22:21:09 +0430</pubDate>
            </item>
                    <item>
                <title>MVC چیست؟ (به زبان ساده)</title>
                <link>https://virgool.io/apieco/mvc-%DA%86%DB%8C%D8%B3%D8%AA-%D8%A8%D9%87-%D8%B2%D8%A8%D8%A7%D9%86-%D8%B3%D8%A7%D8%AF%D9%87-tcayn934sbyp</link>
                <description>اگر شما یک برنامه نویس هستید، حتما تا به حال نام MVC را زیاد شنیده‌اید. اگر برنامه نویس حرفه‌ای هستید، حتما میدانید MVC چیست و حتما با آن یا نمونه های مشابه آن کار می‌کنید.در این پست من قصد دارم که MVC را به زبان ساده توضیح دهم. چون اگر تازه وارد دنیای برنامه نویسی شده‌اید، مطمئنا خیلی زود به آن نیاز خواهید داشت.‏MVC چیست؟‏MVC مخفف کلمات Model ‌View Controller هست و یک الگوی طراحی معماری نرم افزار می‌باشد.الگوهای طراحی (Design Patterns) زیادی برای ساخت و توسعه نرم افزار ها وجود دارند اما MVC قطعا محبوب ترین و پر استفاده ترین آنهاست.هدف اصلی استفاده از الگوهای طراحی مثل MVC این است که عملکرد، منطق، رابط و کلا همه‌ی اجزای یک برنامه را طبق استاندارد های از پیش تعریف شده از هم جدا کنیم، تا چند نفر بتوانند همزمان روی یک پروژه بدون تداخل و سردرگمی کار بکنند. همچنین استفاده از الگوهای طراحی کمک می‌کند تا برنامه ما خیلی راحت تر خطایابی (Debug) شده و خیلی راحت تر بشود آن را توسعه داد. مزیت دیگر آن این است که کد ما بسیار خواناتر شده، و همچنین به راحتی می‌توان از آن یا بخشی از آن در جاهای دیگر استفاده کرد.تمام فریمورک‌ها و کتابخانه های تحت وب از MVC یا بخش‌هایی از آن استفاده می‌کنند.یکی از دلایل پیچیدگی MVC این است که فقط یک راه برای انجام آن وجود ندارد. در واقع فریمورک‌ها می‌توانند از مفاهیم MVC به هر شکلی که می‌خواهند استفاده کنند.در ادامه من به سراغ سه جزء اصلی MVC یعنی Model View Controller خواهم رفت و هر یک را جداگانه توضیح خواهم داد.‏Model (پیکر):‏Model مسئول گرفتن و دستکاری کردن داده ها هست. به این صورت که با یک پایگاه داده و یا بانک اطلاعاتی تعامل می‌کند.در واقع Model مغز برنامه ماست.پرس و جو های پایگاه داده مانند SELECT و UPDATE درون Model انجام می‌شوند.در واقع معمولا اینطور است که Controller داده های مورد نیازش را از طریق Model از بانک اطلاعاتی درخواست کرده و دریافت می‌کند.‏Model می‌تواند مستقیما View را به روزرسانی کند اما معمولا اینطور نیست.‏View (نما):رابط کاربری و نمای ظاهری برنامه ماست. چیزی است که کاربر در هنگام تعامل با برنامه ما مشاهده می‌کند.‏View در واقع معمولا از طریق Controller به روز رسانی می‌شود اما گاهی اوقات مشاهده می‌کنیم که Model مستقیما این کار را می‌کند.در برنامه نویسی وب، View ما در واقع همان کد های HTML و CSS هستند که با کمک موتور قالب (Template Engine) امکان استفاده از مقادیر و متغیر های پویایی که از Controller و یا Model دریافت شده‌اند را فراهم میکنند.‏Controller (کنترل کننده)وظیفه آن به زبان ساده گرفتن ورودی های کاربر، فرستادن درخواست به Model و دریافت داده ها از Model و به روز رسانی View است.ورودی های کاربر می‌توانند هرچیزی باشند. مثلا وقتی کاربر روی یک لینک کلیک میکند، یک ورودی به Controller میفرستد. یا وقتی که کاربر یک فرم را ثبت یا Submit می‌کند، مقادیر داخل آن فرم را با درخواست POST به عنوان ورودی به Controller میفرستد.در واقع Controller ورودی های کاربر را گرفته، با توجه به درخواست وارده (مثلا POST، GET، PUT، UPDATE) درخواست مورد نظر را به Model میفرستد، داده ها را از Model دریافت می‌کند و در نهایت داده ها را به View می‌فرستد که در نتیجه View به روز رسانی می‌شود.روش پیاده سازی MVC معمولا به این گونه است که پوشه هایی به نام های models views controllers درون ساختار پوشه‌ای برنامه مان ساخته می‌شود و هر کدام از اجزای مرتبط با آن‌ها درون این پوشه ها قرار می‌گیرند.در ادامه توجه شما را به یک ویدئو آموزشی برای تکمیل اطلاعات شما در زمینه MVC به همراه یک مثال عملی جلب میکنم. https://www.aparat.com/v/x6Lgn  یhttps://www.aparat.com/v/x6Lgn لینک آپارات ویدئو: https://www.aparat.com/v/x6Lgn</description>
                <category>علی عزیزجهان</category>
                <author>علی عزیزجهان</author>
                <pubDate>Sat, 26 Jan 2019 11:10:02 +0330</pubDate>
            </item>
                    <item>
                <title>آموزش استفاده از تابع calc در CSS</title>
                <link>https://virgool.io/shamsipour/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-%D8%AA%D8%A7%D8%A8%D8%B9-calc-%D8%AF%D8%B1-css-kcbbdeorlmie</link>
                <description>در این پست قصد دارم که نحوه استفاده از تابع calc و همچنین تعریف متغیر در CSS رو با یک مثال عملی بهتون آموزش بدم.با استفاده از تابع calc شما می توانید محاسبات ریاضی با اعداد از واحد های مختلف (مثلا درصد و پیکسل) و متغیر ها را درون CSS انجام دهید.*توجه*حواستون باشه که قبل و بعد از علامت جمع و یا تفریق ( - و + ) حتما و حتما فاصله بذارید https://www.aparat.com/v/ET6hb </description>
                <category>علی عزیزجهان</category>
                <author>علی عزیزجهان</author>
                <pubDate>Tue, 15 Jan 2019 23:59:16 +0330</pubDate>
            </item>
                    <item>
                <title>بصری سازی داده ها در وب</title>
                <link>https://virgool.io/shamsipour/%D8%A8%D8%B5%D8%B1%DB%8C-%D8%B3%D8%A7%D8%B2%DB%8C-%D8%AF%D8%A7%D8%AF%D9%87-%D9%87%D8%A7-%D8%AF%D8%B1-%D9%88%D8%A8-rntx4jiil7dr</link>
                <description> https://www.aparat.com/v/Gj2vB بصری سازی داده ها مبحث تقریبا جدیدی است که به به تصویر کشیدن داده ها و روابط بین آنها اطلاق می شود.در زمان انسان های اولیه، از ترسیم اشکال بر روی سنگ ها به منظور &quot;تعامل بصری&quot; یا Visual Communication استفاده می شده است. با پیشرفت بشر و گسترش انواع تعاملات، اکنون ما از بصری سازی داده ها برای نشان دادن اهمیت داده ها و روابط بین آنها، و همچنین تبدیل این مهم و ارتباط از حالت متنی که غیر قابل فهم به آسانی است، به حالت تصویری که سریعا بتوان آنرا فهمید و درک کرد، استفاده می کنیم.امروزه از بصری سازی داده ها در موارد زیر به ترتیب اهمیت استفاده میشود:آمارگیری های دولتی مانند سرشماری و...بورس و تحلیل گران بورستحلیل های بانکیتحلیل حساب های شرکت هاتحلیل های وبسایت ها مانند آمار بازدید، آمار دانلود و...استفاده در ارائه ها و کنفرانس ها (استفاده علمی-تحقیقاتی)و...در این پست من قصد دارم که ۴ تا کتابخانه (یکی اصلی و سه تا برای مقایسه) برای بصری سازی داده ها در محیط وب را به شما معرفی کنم. پس با این پست همراه باشید.‏۱-Chart.jsChart.jsمزایا:منبع باز و مجانی۸ مدل بصری سازی مختلف با قابلیت استفاده همزماناستفاده از تگ canvas در HTML5 با سرعت بسیار بالاکاملا تعاملی (دارای انیمیشن، بازترسیم چارت در صورت تغییر اندازه)حجم بسیار پایین کتابخانهآموزش ها و مستندات بسیار عالیمعایب:استفاده از مدل ترسیمی bitmap pixel-basedوبسایت:‏www.chartjs.org‏۲-Chartist.jsChartist.jsمزایا:منبع باز و کاملا مجانیحجم بسیار کم کتابخانه! (۱۰ کیلوبایت gzip شده)استفاده از فرمت SVG و ترسیم وکتوریبدون وابستگی و بسیار سبک و کم حجمچارت های کاملا تعاملی که با اضافه کردن مقادیر تغییر می کنند.مستندات و مثال های نسبتا خوب بر روی وبسایتقابلیت استفاده از انیمیشنمعایب:انیمیشن ها در اکثر مرورگر ها پشتیبانی نمی شوند.این کتابخانه مناسب کار های بسیار ساده و پیش پا افتاده می باشد که به قابلیت های زیادی نیاز ندارند. مانند پروژه های دانشجویی سبک. برای کار های حرفه ای و پیچیده اصلا مناسب نیست.وبسایت:‏www.gionkunz.github.io/chartist-js‏۳-HighchartsHighchartsمزایا:منبع باز و مجانی فقط برای استفاده غیر تجاری و تبلیغاتیپشتیبانی از تقریبا همه اشکال بصری سازی دادهمورد اعتماد و استفاده شده از ۸۰ کمپانی از ۱۰۰ کمپانی بزرگ دنیا. مثلا facebook، twitter، Apple، Visa و... از این کتابخانه استفاده می کنند.پشتیبانی از تقریبا تمام مرورگر های مدرن (حتی IE6 به بالا)جامعه بسیار وسیع و مثال های متعدد و بسیار خوبآموزش های بسیار عالی. حتی کتاب هایی برای آموزش این کتابخانه نوشته شده اند.معایب:تنها عیب آن قیمت بسیار بالای آن برای استفاده تجاری و تبلیغاتی می باشد. قیمت آن از ۵۹۰ دلار برای یک برنامه نویس شروع می شود!شرکت کارگزاری بورس مفید در ایران از این کتابخانه در وبسایت و اپ های خود استفاده می کند.این کتابخانه برای تمامی پلتفرم ها قابل استفاده است. حتی مثلا کامپیوتر های اتومبیل می توانند از این کتابخانه استفاده کنند.پشتیبانی بسیار قوی این کتابخانه از مشتریان خود باعث شده تا بسیاری از شرکت ها تمایل به استفاده از آن را داشته باشند.وبسایت:‏www.highcharts.com‏۴-D3.jsD3.jsکتابخانه اصلی ای که به معرفی آن میپردازیم، همین کتابخانه است.نام آن مخفف Data Driven Document به معنای &quot;اسناد برگرفته از داده&quot; می باشد. در تاریخ ۱۸ فوریه سال ۲۰۱۱ توسط Jason Davies، Mike Bostock و چند برنامه نویس دیگر برای اولین بار منتشر شد.این کتابخانه به عنوان بهترین ابزار بصری سازی اطلاعات توسط کاربران وبسایت www.slant.co انتخاب شده است. زیرا به شما امکانات Highcharts را به صورت کاملا مجانی ارائه می دهد.توسط بسیاری از سایت ها از جمله وبسایت Nike و NASA استفاده می شود.مزایا:منبع باز و کاملا مجانیپشتیبانی از تقریبا همه اشکال بصری سازی دادهاستفاده از تگ SVG و ترسیم وکتوریامکان خروجی گرفتن از محتوای تولید شدهجامعه بسایر وسیعآموزش های بسیار کاربردی و متعدد در سطح وبقابلیت دستکاری محتوا پس از تولید بخاط استفاده از DOM در HTMLمعایب:تنها عیب آن سختی در یادگیری آن بخاطر امکانات و قابلیت های بسیار وسیع آن می باشد.این کتابخانه همه چی تمام است!بهترین انتخاب برای برنامه نویسان ReactJS به خاطر استفاده بهینه از منابع می باشد.وبسایت:www.d3js.orgمنابع:https://searchbusinessanalytics.techtarget.com/definition/data-visualizationhttps://en.wikipedia.org/wiki/Data_visualizationhttps://www.slant.co/options/10577/alternatives/~d3-js-alternativeshttp://www.chartjs.orghttps://gionkunz.github.io/chartist-jshttps://www.highcharts.comhttps://d3js.orghttps://www.awwwards.com/websites/d3https://en.wikipedia.org/wiki/D3.jshttps://www.slant.co/options/10577/~d3-js-reviewhttps://medium.com/@tibotiber/react-d3-js-balancing-performance-developer-experience-4da35f912484</description>
                <category>علی عزیزجهان</category>
                <author>علی عزیزجهان</author>
                <pubDate>Tue, 15 Jan 2019 23:42:44 +0330</pubDate>
            </item>
            </channel>
</rss>