<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های نیما مشهدی رضا</title>
        <link>https://virgool.io/feed/@nimalgorithm</link>
        <description></description>
        <language>fa</language>
        <pubDate>2026-06-22 03:28:17</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/17052/avatar/2lEjrY.png?height=120&amp;width=120</url>
            <title>نیما مشهدی رضا</title>
            <link>https://virgool.io/@nimalgorithm</link>
        </image>

                    <item>
                <title>ده کتاب برتر برنامه‌نویسی ۲۰۲۰</title>
                <link>https://virgool.io/@nimalgorithm/%D8%AF%D9%87-%DA%A9%D8%AA%D8%A7%D8%A8-%D8%A8%D8%B1%D8%AA%D8%B1-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%DB%B2%DB%B0%DB%B2%DB%B0-eecg8ec9iwel</link>
                <description>کتاب‌ها بهترین منبع برای یادگیری زبان‌های برنامه‌نویسی هستند. یک کتاب برنامه‌نویسی خوب شما را به کدنویسی، آزمایش، تفکر و ایجاد یک برنامه‌ی نرم‌افزاری تشویق می‌کند. در اینجا ده کتاب برنامه‌نویسی معرفی شده است که باید جز‌ئی از لیست مطالعه‌ی سال ۲۰۲۰ شما باشد.The Pragmatic Programmer - David Thomas, Andrew Huntاین یکی از معدود کتاب‌هایی است که در طول سال‌ها بارها و بارها مطالعه خواهید کرد. چه در زمینه تکنولوژی تازه‌وارد باشید و چه نباشید، همواره می‌توانید بینشی از این کتاب دریافت کنید. موضوعات مطرح‌ شده در این کتاب شامل مسئولیت‌پذیری‌شخصی و توسعه‌ی‌ شغلی در زمینه‌ی فن‌آوری است. این کتاب به شما کمک خواهد کرد تا کدی انعطاف‌پذیر و چندبار مصرف بنویسید.Python Programming for Beginners - Jason Cannonپایتون به عنوان یکی از مهم‌ترین زبان‌های برنامه‌نویسی شناخته شده‌است. این زبان نه تنها اساس تکنولوژی‌هایی نوظهور مانند یادگیری ماشین و هوش مصنوعی است بلکه بنیانی محکم را برای برنامه‌نویسان تازه‌کار ایجاد می‌کند. این کتاب برای کسانی طراحی شده‌است که هیچ پس‌زمینه یا دانشی درباره‌ی زبان پایتون یا برنامه‌نویسی ندارند.Arduino for Beginners - Ethan Thorpeدستگاه‌های دیجیتالی بر پایه‌ی آردوینو بنا شده‌اند. تکنولوژی آردوینو، موج عظیمی در دنیای محصولات دیجیتالی ایجاد کرده است. کیت آردوینو برای ساخت دستگاه‌های دیجیتال و نیز ساخت ابزار‌های تعاملی به کار می‌رود. این کتاب تمام دانش پایه‌ای مورد نیاز برای شروع کار با آردوینو را گردآوری کرده است.Mastering Deep Learning Fundamentals with Python - Richard Wilsonاگر آماده‌اید که مهارت خود را افزایش دهید و با هوش مصنوعی کار کنید، این کتاب مناسب شماست. این کتاب با شروع از مجموعه‌ی پیچیده‌ی الگوریتم‌ها تا تبدیل هر گونه مسئله‌ای به مدل‌سازی کمی داده‌محور، به گونه‌ای طراحی شده است تا مناسب تمام کسانی باشد که می‌خواهند یادگیری عمیق را بیاموزند.PHP - Alexander Clydeاین کتابی فوق‌العاده برای شروع و یادگیری برنامه‌نویسی PHP در ۲ ساعت است. این کتاب شامل چندین نمونه از تجربه‌ی برنامه‌نویسی واقعی است. نویسنده مشکلات پیچیده و راه‌حل‌ها را با زبانی ساده و سرگرم‌کننده جمع‌آوری کرده‌است. مهم نیست که موارد ذکر شده در کتاب چقدر رایج به نظر می‌رسد، مهم این است که این کتاب طراحی شده‌ است تا به شما کمک کند که کار را به سرانجام برسانید.Data Science for Beginners - Leonard Deepاین کتاب اولین قدم برای کسانی است که می‌خواهند کار با علم داده را آغاز کنند. اگر به این فکر کرده‌اید که چگونه موتورهای جستجو و تشخیص گفتار کار می‌کنند یا چگونه داده‌ها نقش مهمی در اجرای این سیستم‌های پیچیده دارند، این کتاب برای شماست. شما می‌توانید نحوه استفاده از زبان پایتون و یادگیری ماشین را با تسلط بر این کتاب یاد بگیرید.JavaScript Programming - Brian Jenkinsاگر می‌خواهید مهارت شغلی خود را در توسعه‌ی وب با جاوا اسکریپت دنبال کنید، این کتاب برای شما است. مولف برخی از بهترین منابع را برای یادگیری جاوا اسکریپت با این کتاب معرفی کرده‌ است. این کتاب برای مبتدیانی است که می‌خواهند زبان برنامه‌نویسی وب را آغاز کنند.C# in Depth - Jon Skeetنسخه چهارم این کتاب کلیدی برای باز کردن ویژگی‌های جدید فوق‌العاده‌‌ای در #C است. شما با این کتاب می‌توانید درباره‌ی تابع‌های غیرهمزمان، تاپل‌های درو‌ن‌یابی‌ شده، اعضایی با بدنه‌ی عبارت‌ها و چیز‌های بیشتری را یاد بگیرید و در آن‌ها حرفی برای گفتن داشته باشید.Head First Design Patterns - Elisabeth Freeman                (عکس این یکی رو نمی‌ذارم که مبادا مشکلی پیش بیاد. خودتون ببخشید. هَــعــــــــــــی!)طرح‌های نرم‌افزاری می‌توانند پیچیده باشند. هر کسی در هر لحظه می‌تواند با حل مساله‌ای درگیر باشد. این کتاب راهنمای واقعی شماست که به شما در درک نحوه‌ی ایجاد کدی کاربردی، ظریف، چندبار مصرف و انعطاف‌پذیر کمک می‌کند. این کتاب برای کسانی است که دوست دارند از بهترین شیوه‌های طراحی نرم‌افزار استفاده کنند.Working 	Effectively With Legacy Code - Michael Feathersاین کتاب شروعی است برای پایان دادن به استراتژی‌هایی برای کار موثر با پایگاه‌های کد میراث بزرگ و آزمایش‌ نشده. برخی از موضوعاتی که در این کتاب پوشش داده شده است، به شما کمک خواهد کرد تا ساز و کار تغییرات نرم‌افزاری را درک کنید، کد میراث را در مرحله‌ی تست مهار کنید، تست‌هایی بنویسید که از شما در مقابل مسائل (مشکلات) جدید محافظت کند و تکنیک‌هایی عملی‌ را بیاموزید که می‌تواند بر روی هر زبان میراث یا پلتفرمی مورد استفاده قرار گیرد.منبع انگلیسی این مقاله در اینجا !</description>
                <category>نیما مشهدی رضا</category>
                <author>نیما مشهدی رضا</author>
                <pubDate>Thu, 12 Mar 2020 14:39:03 +0330</pubDate>
            </item>
                    <item>
                <title>بیدود، استارت‌آپی موفق یا یک کپی ؟</title>
                <link>https://virgool.io/@nimalgorithm/%D8%A8%DB%8C%D8%AF%D9%88%D8%AF-%D8%A2%D8%B3%D8%AA%D8%A7%D8%B1%D8%AA%D8%A2%D9%BE%DB%8C-%D9%85%D9%88%D9%81%D9%82-%DB%8C%D8%A7-%DB%8C%DA%A9-%DA%A9%D9%BE%DB%8C-zbnykw3lpf0v</link>
                <description>ابتدا لازم است که درباره‌ی بیدود اطلاعاتی بدست بیاوریم. بیدود چیست؟ اگر به نمایشگاه الکامپ امسال سری زده باشید؛ حتما دوچرخه‌های نارنجی زیبایی را در یک غرفه محوطه باز مشاهده کردید و برایتان سوال شده این دوچرخه‌ها اینجا چه‌کار می‌کنند.دوچرخه اشتراکی یا کرایه دوچرخه با گوشی تلفن همراه یک ایده جدید نیست و سال‌ها در کشورهای دیگر پیاده‌سازی و استفاده شده است. در حال حاضر، بیش از ۲۰۰ کشور دنیا از سرویس‌های دوچرخه اشتراک استفاده می‌کنند و معروف‌ترین این سرویس‌ها به نام «Mobike» در کشور انگلیس با همکاری مایکروسافت راه‌اندازی شده است.بیدود &lt;&lt;اولین&gt;&gt; سرویس دوچرخه‌های هوشمند اشتراکی در ایران است، که به کاربر خود این امکان را می‌دهد که از دوچرخه با ترکیب نوآوری و فناوری تازه معرفی شده‌ی اینترنت اشیا استفاده کرده و سفرهای شهری خود را با سهولت انجام دهد.اینترنت اشیا که به اختصار IoT نام دارد،  به بسیاری از چیزها شامل اشیا و وسایل محیط پیرامونمان که به شبکه اینترنت متصل شده و توسط اپلیکیشن‌های موجود در تلفن‌های هوشمند و تبلت قابل کنترل و مدیریت هستند اشاره دارد.گفتنی است، در حال حاضر این خدمت در ایران منحصراً متعلق به شرکت پاک چرخ ایرانیان است.به اعتقاد سازندگان بیدود، دوچرخه حلقه مفقوده ترافیک و آلودگی هوا در کلان‌شهرهای ایران است. با استفاده از دوچرخه می‌توان به کاهش حجم ترافیک درون شهری که نتیجه آن کاهش میزان مصرف سوخت و کاهش اتلاف وقت شهروندان است امیدوار شد.  محسن عارفی مدیر روابط عمومی شرکت پاک چرخ ایرانیان که این دوچرخه‌ها را با برند BDOOD « بی دود» عرضه کرده می‌گوید که در مرحله اول که احتمالا از اواخر شهریور و اول مهرماه آغاز می‌شود حدود ۵ هزار دوچرخه در برخی مسیرهای تهران قرار خواهد گرفت و بر اساس مطالعه‌ای که توسط این شرکت انجام گرفته ظرفیت استفاده از ۲۵۰ هزار دوچرخه به این شکل در تهران وجود دارد.این دوچرخه‌ها که شبیه به دوچرخه‌های Mobike ( مشهورترین سیستم اشتراک دوچرخه چین ) هستند، کشوری که از سال ۲۰۱۴ سرویس‌های اشتراکی هوشمند در آن فعال است. از ۲۰ شرکت بزرگ اشتراک دوچرخه هوشمند در جهان ۱۵ شرکت در چین فعال‌اند و گه‌گاه تصویرهای هراس انگیزی از انبوه دوچرخه‌‌های انباشت شده در گوشه گوشه این کشور دیده می‌شود.  با این حال دوچرخه‌های بی دود کاملا با سرمایه‌گذاری ایرانی و در داخل ایران تولید و یا مونتاژ می‌شوند. ساختار ساده و محکمی دارند و نسل نخست آن‌ها دنده‌ای نیست اما به گفته عارفی در فازهای بعدی دوچرخه‌های پیشرفته‌تر به خصوص دوچرخه‌های الکتریکی برای مسیرهای شیب‌دار هم به آن‌ها اضافه خواهد شد.در حال حاضر قیمت گذاری هر مسیر نهایی نشده اما به گفته عارفی کاربران با دادن یک مبلغ به عنوان ودیعه و نصب اپلیکیشن کاربران می‌توانند در ازای هر سفر نیم ساعته با مبلغ پایینی  مثلا حدود ۱۰۰۰ تومان از این دوچرخه‌ها استفاده کنند.   سعید بابایوسفی، مدیر عامل شرکت پاک چرخ ایرانیان بیدود از ایده اولیه راه‌اندازی چنین سرویسی اینگونه سخن گفت:زادگاه ایده اشتراک‌گذاری دوچرخه‌های هوشمند کشور چین است که برای نخستین بار در سال 2014 به مرحله عمل رسید. ما پیش از اجرایی کردن بیدود، بیش از یک سال را به تحقیقات در مورد این ایده پرداختیم و الان ده ماه است که استارتاپ کار خود را به طور رسمی آغاز کرده. ما پس از ثبت برند، دوچرخه‌ها را خودمان طراحی کردیم و این طراحی به گونه‌ای انجام گرفت که وسیله کمترین آسیب‌پذیری و احتیاج به تعمیر را داشته باشد.نکته بسیار جالب در مورد دوچرخه‌های بیدود، سازگاری آن‌ها با اینترنت اشیاست؛ تکنولوژی نوینی که کمتر استارتاپ ایرانی تا کنون به آن پرداخته و رویش سرمایه‌گذاری کرده است:دوچرخه‌های ما دارای یک قفل هوشمند هستند که با اینترنت اشیاء سازگاری دارد. این قفل می‌تواند از سوی کاربر و وقتی که با یکی از دوچرخه‌ها در سطح شهر مواجه شد، به کمک اپلیکیشن بیدود باز شود. نزدیک‌ترین دوچرخه به کاربر از طریق نقشه بیدود مشخص می‌شود تا بتواند به سوی آن حرکت کرده و از آن استفاده کند. بعد از این کاربر می‌تواند با آن دوچرخه به مقصد دلخواهش برود و وقتی به نقطه مورد نظر رسید، از دوچرخه پیاده شده و آن را قفل کند و گزینه اتمام سفر را بزند. در این حالت یک هزینه حداقلی هم از کاربر دریافت خواهد شد.اما مشکل کجاست؟این دوچرخه‌ها شبیه به دوچرخه‌های Mobike نیستند بلکه یک کپی از دوچرخه‌های Mobike هستند. با همان ظاهر و با همان ساختار. و به گفته‌ی یک منبع ناشناس، &lt;&lt; این دوچرخه‌ها وارداتی است و در ایران تولید نمی‌شود &gt;&gt; ( که ما نمی‌توانیم این صحبت را تایید یا تکذیب کنیم ).دوچرخه‌ی بیدودMobike دوچرخه‌ی این استارت‌آپ تا به امروز (97/6/28) با وجود انتشار برنامه، هنوز شروع به کار نکرده است. علت انتشار و تبلیغ برنامه را می‌توان تمایل به &lt;&lt;اولین&gt;&gt; استارت‌آپ در سیستم دوچرخه‌های اشتراکی در ایران دانست.انتشار برنامه پیش از شروع به کار،‌ به نوعی هم مشکل و هم مزیت برای این استارت‌آپ می‌باشد. به این خاطر مشکل است که  طرفدارانی را که هر روز برنامه را برای یافتن دوچرخه در اطراف خود چک می‌کنند ناامید می‌کند و آن ها رفته رفته میل خود را از دست می‌دهند و به این علت مزیت است که تمامی طرفداران تمایل دارند که از اولین استفاده کنندگان باشند و دوست دارند که هرچه زودتر با این برنامه آشنا شوند.اما برنامه‌ی بیدودی که درحال حاضر منتشر شده است،‌ یک نسخه‌ی اولیه می‌باشد که دارای باگ های متعدد ( مانند جابه‌جایی خودکار نقشه به نقطه‌ی لوکیشن و ... ) بوده و به جز سایت بیدود،‌ در دیگر مارکت‌ها در دسترس نیست.اگر بخواهیم درباره‌ی ساختار برنامه توضیح دهیم، باید بگوییم که این برنامه بسیار شبیه برنامه‌ی اسنپ بوده و تفاوت چندانی با آن ندارد. گویا طراحی ظاهری جدید برای اینگونه برنامه‌ها به بن‌بست رسیده است.برنامه‌ی بیدودبرنامه‌ی اسنپاما این شباهت فقط به اینجا ختم نمی‌شود. با مقایسه‌ی سایت بیدود و ‌ورژن چینی سایت Mobike به نتایج جالبی می‌رسیم. این دو سایت شدیداً  قالبی مشابه یکدیگر دارند تا آنجا که متن معرفی بیدود در سایت،‌ ترجمه شده‌ی متن معرفی Mobike در ورژن انگلیسی می‌باشد.قالب سایت بیدودقالب سایت Mobikeمعرفی بیدودمعرفی Mobikeاغلب پیاده‌سازی یک ایده‌ی خارجی در ایران،‌ دارای حداقل 50 درصد شباهت با ایده‌ی اصلی را دارد ولی در این مورد باید این درصد را به بیش از این حرف‌ها افزایش داد.اما بعد کلی انتقاد،‌ لازم است که به نکات مثبت برنامه و استارت‌آپ هم اشاره بکنیم. اپلیکیشن بیدود بعد از هر سفر اطلاعات جالبی مثل میزان مسیر طی شده و کالری مصرف شده هنگام رکاب‌زنی را هم به اطلاع‌تان می‌رساند و همچنین اگر دوچرخه‌تان در مسیر خراب شد، متخصصینی هستند که جهت تعمیر به کمک‌تان می‌آیند.پس از صحبت کردن درباره‌ی این استارت‌آپ برای همگان سوالی پیش آمد که بانوان از این طرح چه سهمی دارند؟ بر اساس تجربه‌های گذشته زنان حق استفاده از دوچرخه را نداشتند و حالا سرویسی راه‌اندازی شده که قرار است به آلودگی هوا و سلامت شهروندان کمک کند. اما آیا بانوان هم در این روند نقشی خواهند داشت؟آقای پیرحسین‌لو در این باره نیز در حساب توئیتری خود نوشت:محسن پورسیدآقایی به معاونت حمل‌ونقل ترافیک شهرداری تهران که آمد دستور داد خانه‌های دوچرخه به زنان و مردان دوچرخه بدهند، آنچه پیشتر از زنان دریغ شده بود. او از زنان می‌خواهد تا وقتی از دوچرخه شهرداری استفاده می‌کنند پوشش را در نظر بگیرند تا این مساله به تعطیلی این پروژه منجر نشود.شاید برایتان سوال شود که چرا تا پیش از بیدود، بانوان حق استفاده از دوچرخه را نداشته‌اند؟ بیدود اینگونه به این سوال پاسخ می‌دهد که در نسخه‌ی اولیه‌ی دوچرخه، میله‌ای در وسط دوچرخه (‌همانند دوچرخه‌های معمولی‌ ) وجود داشت و با برداشتن آن توانستند که مجوز استفاده از دوچرخه برای زنان را دریافت کنند. پس از مشاهده‌ی این شباهت‌ها و خواندن این اخبار، لازم می‌شود که درباره‌ی برخی اخبار و حرف‌هایی که از طرف بیدود زده می‌شود بیشتر تامل کرد. حرف‌هایی مانند خصوصی بودن این بخش و تحقیقات یک ساله و ...با این حال امیدواریم که این استارت‌آپ با وجود این اتفاقات و شباهت بسیارش به نسخه‌ی خارجی و کم و کاست‌هایش،‌ گامی بزرگ در جهت کاهش ترافیک و آلودگی شهر‌ها باشد و مانند پروژه‌ی دوچرخه‌های اشتراکی شهرداری،‌ منجر به شکست نشود.</description>
                <category>نیما مشهدی رضا</category>
                <author>نیما مشهدی رضا</author>
                <pubDate>Wed, 19 Sep 2018 01:10:45 +0430</pubDate>
            </item>
                    <item>
                <title>الگوریتم‌های بهینه سازی در پوست گردو</title>
                <link>https://virgool.io/@nimalgorithm/%D8%A7%D9%84%DA%AF%D9%88%D8%B1%DB%8C%D8%AA%D9%85%D9%87%D8%A7%DB%8C-%D8%A8%D9%87%DB%8C%D9%86%D9%87-%D8%B3%D8%A7%D8%B2%DB%8C-%D8%AF%D8%B1-%D9%BE%D9%88%D8%B3%D8%AA-%DA%AF%D8%B1%D8%AF%D9%88-e5a4dcq93x1t</link>
                <description>در علم ریاضیات، برخی توابع وجود دارند که بدست آوردن اکسترمم سراسری آنها سخت و یا غیر ممکن ( به علت عدم امکان مشتق گیری و ...) می‌باشد. برای همین منظور به سراغ الگوریتم‌های فراابتکاری می‌رویم.الگوریتم‌های فراابتکاری، زیرشاخه‌ی الگوریتم‌های بهینه سازی تقریبی می‌باشند. بدین دلیل به آنها تقریبی می‌گویند چون جوابی نزدیک به جواب اکسترمم سراسری می‌یابند. این امر مزیتی برای این دسته الگوریتم می‌باشند، زیرا برای بدست آوردن جواب دقیق در مسائل بهینه سازی سخت، ممکن است مدت زمان و حافظه‌ی زیادی مورد استفاده قرار گیرد ولی با این مزیت، میزان حافظه و زمان مصرفی را به حداقل‌ترین مقدار ممکنه می‌رسانیم. دیگر مزیت این الگوریتم‌ها، دوری از اکسترمم‌های محلی هستند.متدهای مورد استفاده در این الگوریتم‌ها به چهار دسته‌ی زیر تقسیم می‌شوند:1) براساس تراکم ( استفاده از رفتار وقایع و موجودات در طبیعت )2)براساس فیزیک (‌ استفاده از قوانین موجود در فیزیک )3)براساس تکامل ( مانند الگوریتم ژنتیک )4)براساس رفتارهای انسانیلازم به ذکر است که امروزه متد براساس تراکم به علت ایجاد یک هوش دسته جمعی و استفاده از اطلاعات دیگر ذرات در صفحه‌ی جست‌وجو و تکرارهای پیشین، بیشتر مورد توجه قرار گرفته است. چگونه مورد استفاده قرار می‌گیرند؟ابتدا یک مسئله‌ای که نیاز به بهینه سازی دارد را تبدیل به یک مسئله‌ی بهینه سازی می‌کنیم و یک تابع از مسئله استخراج می‌کنیم. سپس تابع مورد نظر را به الگوریتم بهینه‌سازی مورد نظر می‌دهیم و خروجی الگوریتم، جواب مسئله‌ی ما ( جوابی نزدیک به اکسترمم سراسری )‌ می‌باشد.یک مثال کاربردیفرض کنید که می‌خواهیم میزان برق مصرفی یک سد را به حداقل برسانیم. داده‌هایی که از این مسئله داریم  این است که این سد دارای ۷ پمپ می‌باشد که در 24 ساعت شبانه روز به میزان متفاوت دبی می‌کنند و هر کدام با توجه به ساعت، به میزان مختلفی برق مصرف می‌کنند و قیمت برق مصرفی در ساعاتی، بیشتر از دیگر ساعات است. همچنین میدانیم این سد، گنجایش خاصی از آب را دارد و نباید بیشتر از یک مقدار و حتی کمتر از یک مقدار دیگر در آن آب باشد. حال با توجه به میزان دبی مورد نیاز آب برای این سد، تابعی به نام f ( که تابع هزینه نام دارد ) را می‌سازیم که هزینه‌ی تمامی پمپ‌ها در 24 ساعت شبانه روز را با توجه به هر پمپ و حجم دبی آب در ساعت و قیمت برق مصرفی در همان ساعت را محاسبه می‌کند. همچنین این تابع باید محدودیت‌های مسئله مانند گنجایش آب در سد و میزان دبی کل آب مورد نیاز در یک ساعت خاص و ... را شامل شود.با یک محاسبه متوجه می‌شویم که این تابع باید 168 بُعد ( 7 پمپ و 24 ساعت که در هر ساعت، هر میزان دبی قیمت مختلفی دارد ) داشته باشد. حال با دادن این تابع به یک الگوریتم بهینه‌سازی، می‌توانیم به جوابی برسیم که میزان دبی هر پمپ در ساعت را با توجه به محدودیت‌های مسئله،‌ که این جواب هزینه‌ی کل را حداقل می‌کند،‌ مشخص می‌کند. در حقیقت این هزینه‌ی حداقل همان اکسترمم سراسری ( مینیمم سراسری )‌ تابع می‌باشد.</description>
                <category>نیما مشهدی رضا</category>
                <author>نیما مشهدی رضا</author>
                <pubDate>Fri, 14 Sep 2018 18:05:20 +0430</pubDate>
            </item>
            </channel>
</rss>