<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های رضا تناکی زاده</title>
        <link>https://virgool.io/feed/@rezatz</link>
        <description>توسعه دهنده هوش مصنوعی</description>
        <language>fa</language>
        <pubDate>2026-06-07 10:37:37</pubDate>
        <image>
            <url>https://static.virgool.io/images/default-avatar.jpg</url>
            <title>رضا تناکی زاده</title>
            <link>https://virgool.io/@rezatz</link>
        </image>

                    <item>
                <title>معرفی کتاب- کتاب مدیریت پروژه برای غیر مدیر پروژه</title>
                <link>https://virgool.io/@rezatz/%D9%85%D8%B9%D8%B1%D9%81%DB%8C-%DA%A9%D8%AA%D8%A7%D8%A8-%DA%A9%D8%AA%D8%A7%D8%A8-%D9%85%D8%AF%DB%8C%D8%B1%DB%8C%D8%AA-%D9%BE%D8%B1%D9%88%DA%98%D9%87-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%BA%DB%8C%D8%B1-%D9%85%D8%AF%DB%8C%D8%B1-%D9%BE%D8%B1%D9%88%DA%98%D9%87-bn89n4leh0vf</link>
                <description>پروژه یعنی یک کاری که باید در یک زمان مشخص انجام شود. این تعریفی است که از پروژه، در کتاب ((مدیریت پروژه برای غیر مدیر پروژه)) اومده. به عبارت دیگر هرکاری که ما روزانه انجام می‌دهیم و باید اون رو در یک زمان مشخص انجام دهیم یک پروژه به حساب میاد. هرچند که ما عنوان مدیر پروژه رو به دوش نکشیم که به این نوع مدیریت پروژه، مدیریت غیررسمی گفته می‌شود. از مثال‌های خیلی ساده می‌توان شروع کرد مانند اجرای یک جشن تولد برای دوستتان یا انجام یک پروژه‌ی برنامه‌نویسی و هر پروژه‌ی دیگر ... که همه‌ی این‌ها نیاز به مدیرپروژه‌ای دارند که کارها، بدرستی و به موقع انجام شود.کتاب معرفی شده، در واقع نسخه‌ای به زبان ساده و قابل فهم از کتاب‌های مرجع مدیریت پروژه برای کسانی هست که تاکنون با اصطلاحات و مفاهیم مدیریت پروژه آشنا نبوده‌اند و گزینه مناسبی برای شروع هست. مثال‌ها، تصاویر و جدول‌هایی که در این کتاب موجود هست بسیار به یادگیری و فهمیدن مطالب کمک می‌کند که شاید این موضوع در کتاب‌های مرجع مدیریت پروژه کمتر پیدا شود. ویژگی‌ دیگری که می‌توان برای این کتاب نوشت، معرفی ابزار‌هایی است که هر فرد می‌تواند در پروژه‌های روزانه اش از آنها استفاده کند و نویسنده این ابزار‌ها را علاوه بر اینکه معرفی کرده‌است از آنها در پروژه‌هایی که در طول کتاب مثال زده‌است استفاده کرده.در فصل اول این کتاب، نویسنده سعی می‌کند تا ذهن مخاطبش رو با مفاهیم آشنا کند و همچنین مشخص کند که فردی که قرار است مدیرپروژه‌ی غیر رسمی باشد یک رهبر است و این رهبر باید ویژگی‌هایی داشته باشد که بتواند به‌او در ادامه کار کمک کند. چهار رفتار بنیادی تعریف می‌کند و از مخاطب می‌خواهد که این چهار رفتار را در هر شرایطی اجرا کند.احترام گذاشتناول گوش دادنشفاف‌سازی انتظاراتپاسخگو بودندر ادامه فصل‌ها، نویسنده با زبانی بسیار ساده، ۵ گروه فرایندی در مدیریت پروژه یعنی آغاز، برنامه‌ریزی، اجرا، نظارت و خاتمه را به مخاطب آموزش می‌دهد که همه‌ی اینها به کمک مثال‌های مطرح می‌شود که این مثال تا انتهای کتاب با مخاطب همراه است.در فصل آغاز، برای مخاطب مشخص می‌شود که باید همچی روشن و تعیین شده باشد مانند اهداف، نتایج مطلوب، نیازهای ارتباطی و ... . این موارد طی ابزار مصاحبه باید مشخص شود و تا این بخش کامل نشود نباید به بخش بعدی رفت.در فصل برنامه‌ریزی ابتدا تعریفی از ریسک و روش‌های شناسایی اون مشخص می‌شود و در ادامه در مورد برنامه ریزی، ساختار شکست پروژه(WBS)، تخمین مدت زمان، مسیربحرانی و بودجه،  مفاهیم و ابزارهایی در اختیار مخاطب قرار میگیرد.در فصل بعدی که مربوط به اجرای پروژه است، بسیار به موضوع پاسخگو بودن توجه شده‌است و سعی می‌کند ابزار‌ها و روش‌هایی رو معرفی کند که همه‌ی افراد حاضر در تیم، پاسخگو باشند.در فصل بعد در مورد نظارت و کنترل پروژه مباحثی مطرح می‌شود که بیشتر بر این اساس است که چگونه با اتفاقاتی که در حین اجرای پروژه می‌افتند، برخورد درست داشته باشیم که این اتفاقات را دسته‌بندی می‌کند و ابزارهایی هم برای حل آنها ارائه می‌دهد.و در بخش آخر نیز به روش خاتمه دادن به کل پروژه پرداخته می‌شود و اینکه دقیقا کی پروژه تمام می‌شود و چه پارامترهایی برای تمام شدن یک پروژه لازم است.در حین خوندن این کتاب من سعی کردم خلاصه‌ای به صورت نقشه‌ی ذهنی آماده کنم که در تصویر زیر اون رو ملاحظه می‌کنید. البته که می‌تونید از این لینک هم فایل PDF این خلاصه رو دانلود کنید.اگر شما هم کتابی در این زمینه می‌شناسید ممنون میشم که معرفی کنید.??نقشه‌ی ذهنی کتاب مدیریت پروژه برای غیر مدیر پروژه</description>
                <category>رضا تناکی زاده</category>
                <author>رضا تناکی زاده</author>
                <pubDate>Fri, 17 Dec 2021 22:26:31 +0330</pubDate>
            </item>
                    <item>
                <title>10 کاربرد هوش مصنوعی در صنعت رسانه</title>
                <link>https://virgool.io/dataio/10-%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%AF-%D9%87%D9%88%D8%B4-%D9%85%D8%B5%D9%86%D9%88%D8%B9%DB%8C-%D8%AF%D8%B1-%D8%B5%D9%86%D8%B9%D8%AA-%D8%B1%D8%B3%D8%A7%D9%86%D9%87-vrcow3citd0j</link>
                <description>دنیایی که داریم توش زندگی میکنیم روز به روز داره بزرگتر میشه ، سریع تر میشه و نیازمند این هست که ما آدم ها هم برای کارهامون فکری بکنیم و قدرت انجام دادن کار ها توسط انسان یه حدی داره دیگه همین بود که هوش مصنوعی رو خیلی بزرگ جلوه داد و روز به روز داره به گسترش این تکنولوژی افزوده میشه ، در صنایع مختلف ، کارهای مختلف و موضوعات کاری مختلف یکی از این موضوعات صنعت رسانه است به خصوص اینکه ما روزانه هممون با این رسانه ها درارتباطیم .مقاله ای که براتون اماده کردم 10 کاربرد هوش مصنوعی در صنعت رسانه هست که تا به حال در دنیا انجام شده یا درحال انجام است بد نیست که ما هم فکری بکنیم تا از این غافله عقب نمونیم !تنظیم کیفیت (QC)بررسی کیفیت یک محتوای ویدیویی قبل از انتشار برای مخاطبان باید مورد بازبینی و ارزیابی قرار بگیرد ویدیو باید از نظر فنی مثلا اینکه با دستگاه های مختلف سازگار بودن ، بررسی بشه و همچنین از نقطه نظر مواردی در تصویر که ممکن است ناهنجاری هایی باشد که مورد قبول مخاطب نباشد .و به سنتی حتی اگر مشکلی به وجود بیاید از نظر فنی انسان ها باید بررسی کنند و این مشکلات را در فایل ها پیدا کنند که این کار ها توسر انسان هم زمان زیادی را به خودش اختصاص میده هم این کار ، یک کار خسته کننده و تکراری خواهد بود .هوش مصنوعی میتواند به کمک ابزار یادگیری ماشین در قسمت QC (بررسی کیفیت) بسیار کمک کند کند که این کار رو با استفاده از بانک اطلاعاتی که در دسترس دارد و مطابقت دادن با استاندارد های فنی و پردازش تصویر ، تجربه خیلی خوبی رو برای همگان به ارمغان بیارد . جست و جو (Searching)جست و جو کردن در پایگاه داده های عظیم کار سختی و البته مهمی است .اطلاعات و مطالب نشانه گذاری میشوند براساس محتواهایی که دارند که برای جست و جو بتوان راحت تر موارد مورد نیاز رو پیدا کرد  .این جاست که هوش مصنوعی بر پایه پردازش تصویر و یادگیری سمبلیک (Symbolic learning)  میتواند این کار نشانه گذاری رو به خوبی انجام بدهد و پایگاه داده ی عظیم و قویی به وجود آورد .هوش مصنوعی میتواند به دسته بندی (classification) مطالب داده شده به آن از طریق ویدیو بپردازد مثلا کجای این ویدیو حس شادمانی رو به خودش داره یا نه برعکس حس غم رو به مخاطبش القا میکنه . یا اینکه ویدیوی فیلم مسابقات ورزشی رو میتواند بررسی کند و لوگوهای تبلیغاتی رو تشخیص دهد .پردازش با سیستم های هوش مصنوعی هم سرعت جست و جو را افزایش میدهد هم دقت پاسخ مورد جست و جو را .ابر داده  (Metadata)ابرداده برای تحلیل داده های دیگر و در این مورد به خصص برای افزایش کارایی و ارزش یک محتوا است . که از نظر کسب درآمد و کسب درآمد مجدد ابرداده ها بسیار با اهمیت هستند .هوش مصنوعی با استفاده از پردازش صدا و تصویر میتواند ابر داده های مرتبط با هر محتوایی ایجاد کند. و این هوش مصنوعی میتواند ابر داده ها را با استفاده از یادگیری ماشین ارزش کار رو افزایش بدهد  که نتیجه آن طبقه بندی یا گروه بندی مطالب است که باز هم این کار میتواند با استفاده از شبکه های عصبی گسترش یابد به عنوان مثال میتوان محتوا ها را بر اساس گروه های سنی مختلف دسته بندی کرد .انطباق (Compliance)منظور از انطباق شناسایی رویداد ها و صحنه ها در یک فیلم است و در نتیجه آن بر اساس موارد نظارتی میتواند توضیع و انتقال آن را محدود کند .هوش مصنوعی از طریق یادگیری نظارت شده ، میتواند برای شناسایی چنین صحنه هایی در یک قطعه ویدئویی خاص مورد استفاده قرار گیرد.از طریق شبکه های عصبی و یادگیری عمیق ، هوش مصنوعی می تواند به آژانش های رتبه بندی کمک کندتا به سرعت رتبه بندی های مربوط به یک فیلم خاص را ارائه دهند . ویرایش (Editing)ویرایش کردن ویدیو کاری هست که باید انشان انجامش دهند برای اینکه نیاز به خلاقیت انسانی و مهارتش دارن تا یک محتوای ، کاربر پسند تولید بشه .اما هوش مصنوعی در این قسمت هم میتواند باز هم ایفای نقش نکند مثلا در شناسایی یکسری الفاظ در فیلم ها که باید به جای آنها بووووق زده بشه یا هم برخی فریم ها سنسور بشه . جداسازی نکات برجسته (Highlights)در یک مسابقه ورزشی برخی صحنه از بقیه صحنه ها برجسته ترند پس باید این ها جداسازی شوند تا دوباره برای مخاطبان بازبخش شود .هوش مصنوعی به کمک یادگیری سمبلیک (Symbolic learning) میتواند این نکات و صحنه های برجسته را تشخیص دهد .این کار رو فراری با کمک اینتل انجام داده که میتونید در ویدیوی زیر این کار رو ببینید : https://youtu.be/8lAQJ8wvKnQ تبلیغات (Break Structure or Advertising)قراردادن آگهی در رابطه محتوا و در کنار آن محتوا میتواند کار مشکلی باشد . اگر یک تبلیغ در زمان نامناسب و موضوع نامناسب انجام نگیرد ممکن است مخاطب رو به تک آن محتوا تحریک کند اما اگر به موقع باشد و در موضوع مناسب میتواند به ادامه پیداکردن هم کمک کند.هوش مصنوعی ، از طریق تشخیص تصویر ، میتواند چنین تغییر صحنه ای رو شناسایی کنه و با قرار دادن آگهی مناسب نقطه قوتی برای تبلیغات و همچنین ادامه دنبال شدن محتوا کمک کند .یادگیری عمیق و شبکه های عصبی میتوانند به شناسایی حال و هوای یک صحنه ویدیویی کمک کنند تا اگهی در وقت مناسب پخش شود .زیرنویس (Subtitling and close captioning)سیستم های زیرنویس چیز جدیدی نیست اما با این حال ساخت زیرنویس پیچیده هست و اغلب نقص در ساخت جمله و نگارش آن ها دارد . لحجه های منظقه ای میتوان به ان پیچیدگی بیفزاید.از طریق پردازش زبان های طبیعی (NLP: Natural language Processing) و شبکه های عصبی مکرر (RNN : Recurrent Neural Networks) امکان ساخت زیرنویس های با رعایت نکات نگارشی درست به ساخت جملات بپردازد . نظارت (Supervision)توزیع یا انتقال متحوا به صورت گسترده ،‌برای همه کار ساده تریست اما حفظ کیفیت برای تجربه بیننده و شناسایی سریع مشکلات و مسائل مختلف میتواند مشکل باشد .استفاده از روش های یادگیری ماشین میتواند به بهبود کار نظارتی ما کمک کند و میتواند به تشخیص خطاها و هرگونه مسئله کمک کند . ارئه اخبار (Presenting the News)رباتیک بخشی از هوش مصنوعی است که مربوط به حرکات بدنی یک سیستم است و میتواند برای کارهای زندگی روزمره استفاده شود در دنیای تلویزیون هم میتوانیم از ربات ها برای ارائه اخبار روز استفاده کنیم . هوش مصنوعی میتواند اخبار ها را ارائه دهد و در برابر اخبار فوری از خودش واکنش نشان دهد .پیشنهاد میکنیم ویدیوی زیر رو حتما مشاهده بفرمایید برای اینکه بدانید کار ، کار آینده نیست بلکه مال دنیای امروزمان هست . https://youtu.be/MHPI1uH9llU سپاسگذارم از اینکه همراه ما بودید امیدوارم که نهایت استفاده از این مقاله رو برده باشید .منتظر نظرات شما هم هستیم .تیم مهندسی مرصاپ</description>
                <category>رضا تناکی زاده</category>
                <author>رضا تناکی زاده</author>
                <pubDate>Mon, 11 May 2020 00:09:59 +0430</pubDate>
            </item>
                    <item>
                <title>10 دلیلی که باید از Qt استفاده کنید ؟</title>
                <link>https://virgool.io/@rezatz/10-%D8%AF%D9%84%DB%8C%D9%84%DB%8C-%DA%A9%D9%87-%D8%A8%D8%A7%DB%8C%D8%AF-%D8%A7%D8%B2-qt-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%DA%A9%D9%86%DB%8C%D8%AF-y5fwehdsvmfr</link>
                <description>اگه شما هم وارد دنیای برنامه نویسی شده باشید ، مطمئنن یه جاهای به کارایی برمیخورید که نیاز دارید تا یک رابط کاربری (GUI) برای برنامتون هرچند خیلی ساده داشته باشید به خصوص اگر با C++ کارکنید این کتابخانه براتون خیلی مفید میتونه باشه چون برای زبان هایی مثل python  از این دست کتابخونه ها خیلی زیادن و خیلی هم راحت . اما این مقاله مربوط به یک زبان خاص نیست حالا بریم با مرصاپ همراه باشیم تا ببینیم که چرا باید از Qt  استفاده کنیم . GREAT UXیک کاربر اگر در استفاده از برنامه شما تجربه خوبی رو داشته باشه این کاربر تبدیل به مشتری اختصاصی و همیشگی شما خواهد بود . فریم ورک Qt و ابزارهایش به توسعه دهنگان هم کمک میکند تا هر آنچه که بخواهند را بتوانند پیاده سازی کنند .تولید نرم افزار های پایدار و با کارایی بالا که میتونه برای همه پلتفرم ها توسعه پیدا کنه و بتونه اجرا بشه .رابط کاربری مدرن ، 3D و 2D که میتونه بیشتر از حد انتظار کاربران شما باشه .نمونه هایی از تجربه کاربران در این مورد :AMDQt بهترین گزینه برای توسعه نرم افزار Radeon بود از نظر تجربه کاربری ، کارایی و ویژگی هاMercedes BenzMBUX یک تجربه کاربری جدید در ماشین های Benz هست . ما از Qt برای بیشتر قسمت های UI و نرم افزار استفاده کردیم مثل : انیمیشن های صفحه ، transition بین صفحات ، ویدجت ها.همچنین Qt  به ما کمک کرد تا بتونیم سریع تر برنامه رو بسازیم و این برنامه یک Cross-platform هست و میتونه همه جا اجرا بشه .· صرفه جویی در هزینه ها :آیا میدانید که Qt  میتواند برای شما صرفه جویی کند در توسعه برنامه های گرانبها و منابعی که در توسعه برنامه های چند پلتفرمی استفاده میشه و همچنین هزینه های سخت افزاری رو برای شما کم میکنه که همه این ها در یک زمان هستند ؟به کمک Qt یک تیم توسعه دهنده و یک نوع کد میتونه همه پلتفرم های هدف شما رو پوشش بده.برنامه های تحت زبان C++ خیلی کارآمد هستند و نیاز به سخت افزار خیلی قوی برای اجرا شدن و توسعه دادن ندارد که در این صورت میتواند هزینه های مربوط به توسعه سخت افزار شما رو کم کند .تجربه ای از Forresterبه طور متوسط مشتریان Qt  میتوانند 30٪ از هزینه های مربوط به توسعه نرم افزار خودشون رو کم کنند . و یه محیط توسعه یکتا میتواند ایجاد دستگاه را ساده تر کند .تجربه ای از Tableauوقتی ما یکبار برنامه مینویسیم و میتونیم اجرا کنیم در همه جا هزینه های را کم میکند در برابر زمانی که قراره چند باره برنامه بنویسیم TIME TO MARKETQt توسعه برنامه شما رو در هر مرحله از تولید آسان میکند طراحان بدون کمک توسعه دهندگان میتوانند برنامه ای که طراحی کردند رو بسازند و توسعه بدهند.توسعه دهندگان بسیاری از کارهای خودشون رو با کمک کتابخونه های Qt توسعه دادند ، یکسری المان های آماده برای UI و ساخت خودکار کدهای آماده از طراحی که طراحان انجام دادند و از اونجایی که شما دارید برای پلتفرم های مختلف برنامه میسازید استفاده از Qt میتواند به شدت برای شما زمان ذخیره کند .حتی اگه سرعت بالاتری هم بخواهید سرویس های حرفه ای (professinal) Qt میتونه بازهم به شما کمک کنه !تجربه Rimac Automobiliما یکسری از کامپوننت های C++ رو توسعه دادین و از اون به بعد برای تعداد زیادی پروژه از اون ها استفاده کردیم . و همچنین ماژول های طراحی خودمان را ساختیم و برای استفاده های بعدی از Qt QML استفاده میکنیم به جای اینکه از اول طراحی کنیم .تجربه OMRONبرنامه های portotype خودمان را خیلی سریع میتونیم بسازیم و تنها مشکل این هست که مشتریان ما نمیتوانند بفهمند که این فقط یک portotype هست و در نظرشان خیلی خوب و عالی هست . FAST APPLICATIONSامروزه مشتریان انتظار بیشتری از دستگاه هایشان دارند و برنامه هایی که براشون آماده میشه دارند و یه کار جزیی کوچیک میتونه شما رو به طور کامل از رقبایانتان کاملا جدا کنه .به خاطر C++ برنامه هایی که با Qt  نوشته میشوند خیلی بهتر میتوانند اجرا شوند مثلا زمان اجراشدن سریع تر ، انیمیشن های نرم تر (smoother) و کارایی بهتر و ... همه این ها چه برای یک سیستم چند مانیتوره چه برای یک میکروکنترلر .تجربه HARMANما نیاز به این داشتم که بتوانین المان های دوبعدی و سه بعدی را نشان دهیم و Qt به طور قطع به ما کمک کرد تا این کار رو انجام بدیم .تجربه DAIMLERQt به ما کمک کرد تا بتونیم برنامه ای با perfomace  بالا ، frame rate بالا و گرافیک های زیبا و همه این ها در یک زمان .تجربه sequalityیک توسعه دهنده یک برنامه برای embedded سیستم طراحی کرد با استفاده از Qt  و QML و HTML5 فقط در 160 ساعت . برنامه هایی که تحت Qt  هستند به طور معمول سریع تر و خیلی راحت تر هستند برای implement  شدن . DEVELOPER EXPERIENCEA happy developer is a productive developerیک برنامه نویسی C++ چیزهایی که میتونه همیشه ارزوش رو داشته باشه رو Qt براش به همراه میاره مثل سرعت ، راحتی و تجربه فانهمه اون چیزهایی رو که یک محیط توسعه برنامه نویسی نیاز داره رو Qt برای شما فراهم کرده همانند هایلایت کردن نوشته ها ، کامل شدن خودکار کدها ، طراحی ظاهر فقط با drag and drop ، دیباگر قوی و ...و همچنین یکی دیگر از ویژگی ها Qt که میتونه خیلی زمان برای شما ذخیره کنه کیفیت بالای Documentation و همچنین مثال های مختلف هست .تجربه navicoبرای من زمان زیادی طول نکشید و خیلی سریع تا تونستم Qt رو اجرا کنم و بتونم یاد بگیرمش و ازش استفاده کنم .تجربه AUTODESKبرای توسعه UI ، Qt یک تجربه خیلی خوب رو برای ما به ارمغان آورد و تنها دلیل این موضوع document های خیلی خوب این فریم ورک بود . LIBRARIES AND TOOLSساخت برنامه هایی که بر پایه کتابخونه ها و دیگر فریم ورک ها هستند میتونن بی ثباتی و پیچیدگی رو برای شما به ارمغان بیارند در حالی که Qt تنها بسته توسعه نرم افزار هست که خیلی کامله . تعداد زیادی ابزار و بلاک های آماده داره که شما در طراحی برنامه های بهشون نیاز دارید از شروع تا پایان برنامه ، از frontend تا backend . و هیچ جای نگرانی در استفاده شما نخواهید داشت و دیگر نیازی به هدر دادن وقتتان برای پیداکردن بهترین کتابخانه ندارید .تجربه CEWEQt تعداد زیادی ابزار رو برای ما فراهم کرد که برای ساخت یک برنامه ساختارمند نیاز داشتیم .تجربه  ULSTEINمن فکر نمیکنم همه از قدرت کتابخانه های Qt خبر داشته باشند . توسعه برنامه های ما نسبت به گذشته خیلی راحت تر شده و همچنین از نظر زمانی به کمک Qt برنامه های خیلی بزرگ چیزی حدود 1000 تا 1300 ساعت طول میکشد تا آماده شوند از Qt متشکریم .COMMUNITYآیا میدانستید که اکوسیستم یک فریمورک میتونه آینده پروژه شما رو تضمبن کنه ؟تعداد کاربران اختصاصی Qt در سراسر دنیا بیشتر از یک میلیون است و البته این به خاطر open source  بودن این فریم ورک هست و Qt همیشه خودش رو با استفاده از پیشنهاد های سازنده و مفید توسعه دهندگان از سراسر دنیا بهبود می بخشه . واین جامعه همیشه ابزار های مکمل رو هم فرهم میکنند ، راه حل های صنعتی ارائه میدهند ، پلتفرم های مختلف رو پشتیبانی میکنند و خیلی چیزهای دیگه .·CROSS-PLATFORM CAPABILITYیکبار کد بزنید و در همه جا اجرا کنید این چیزی هست که Qt در اختیار شما قرار میده.Cross-platform فقط زمان رو برای شما کاهش نمیدهد بلکه  این یک استراتژی هست .ظاهر و امکانات نرم افزار شما رو ثابت نگه میدارد در همه پلتفرمهای مختلف و این برای اثبات آینده مارکت شما بسیار مفید هست .تجربه Panasonicما دستگاه های مختلفی داریم من جمله گوشی های موبایل ، تبلت ها ، دیوایس هایی که مانیتور نیاز دارند و ... همه این ها مبتوانند یکبار برنامه نویسی شوند و در همه این ها بتوان اجرا کرد البته با کارایی بالا و این چیزی هست که Qt در اختیار ما قرار داده .LANGUAGEما به هیچ وجه به موانع زبان برنامه نویسی معتقد نیستیم .Qt تعداد مختلفی از زبان های برنامه نویسی رو پشتیبانی میکنه .C++ یک زبان کارآمد ، قدرتمند و همه کاره هست . زبان نشانه گذاری QML که توسط Qt توسعه پیداکرده میتونه با سرعت UI برنامه های ما رو بسازه و همه چیز رو میتونید با C++ در Qt آماده کنید البته این کار ور هم میتونید با پایتون هم انجام دهید . و همچنین ابزار های ترجمه Qt میتواند به بین المللی شدن هر چه بهتر برنامه های شما کمک کنند.تجربه medecما از Qt استفاده کردیم چون بهترین toolkit زبان C++ برای طراحی و ساخت برنامه های همراه UI هستو هیچ چیز قابل مقایسه با اینکه Qt میتواند برای همه پلتفرم ها باشد نیست .FLEXIBLE FRAMEWORKبرنامه های خودتون رو میتونید در IDE مخصوص Qt بنویسید یامیتونید از کتابخانه های Qt در IDE های دیگه استفاده کنید و دقیقا انتخاب کنید ماژول هایی که نیاز به استفاده از اون رو دارید و در همه جا اجرا کنید .خیلی ممنونم از اینکه وقت گذاشتید و این مقاله ترجمه شده رو مطالعه کردید . منبع این مقاله هم خود وبسایت Qt هستش .</description>
                <category>رضا تناکی زاده</category>
                <author>رضا تناکی زاده</author>
                <pubDate>Sat, 18 Apr 2020 11:45:57 +0430</pubDate>
            </item>
                    <item>
                <title>پروتکل چیست ؟؟</title>
                <link>https://virgool.io/@rezatz/%D9%BE%D8%B1%D9%88%D8%AA%DA%A9%D9%84-%DA%86%DB%8C%D8%B3%D8%AA-nukcnlhsakyu</link>
                <description>در فضای اینترنت و شبکه های رایانه ای احتمالا این کلمه پروتکل را شنیده اید اما ببینیم این پروتکل چی هست اصن ؟فرض کنید دو تا آدم میخواهند با هم دیگر صحبت کنند فرض کنید اگر ین دو نفر زبان یکسانی نداشته باشند و در واقع زبان مشترکی نداشته باشند نمیتوانند با هم دیگر صحبت کنند اینجا یا باید هر کس زبان دیگری را یاد بگیرد یا هم یه زبان بین المللی باشد تا با هم دیگر بتوانند صحبت کنند همین زبان بین المللی در واقع یک پروتکل است .پروتکل عبارت است از مجموعه قوانینی که برای ارتباط در شبکه های رایانه و بین دو یا چند دستگاه نیاز است باشد تا بتوانند با هم دیگر ارتباط برقرار گنند و تحت این قوانین داده ها را ارسال و دریافت نمایند .پر کاربردترین پروتکلی که همه روزه همه از ان استفاده میکنیم پروتکل HTTP و HTTPS  است . (Hyprtext transform protocol)  از این پروتکل برای ارسال و دریافت صفحات وب استفاده میشود یکی دیگر از پروتکل هایی که مطمئنا اسمشو شنیدید پروتکل FTP میباشد که برای ارسال فایل از آن استفاده میشودمعرفی انواع پروتکل ها : HTTP  : پروتکل رایج وب سایت های اینترنتی و هاست های ارائه شده به مشتریان HTTPS : پروتکل رایجSSL  در اینترنت برای سایت های امن FTP  : پروتکل رایج انتقال فایل ها در محیط اینترنت IP : پروتکل تعیین مسیر و ارسال بسته های TCP / IP FTAM : پروتکل دسترسی به فایل ها و بسته ها می باشد . SMTP : پروتکل رایج انتقال پست الکترونیکی و ایمیل می باشد . Telnet : پروتکل رایج برقرای ارتباط از راه دور می باشد . SNMP : پروتکل نظارت بر شبکه و مدیریت شبکه می باشد . DNS : پروتکل می باشد که آدرسIP هاست را به دامنه نسبت می دهد . TCP : پروتکل کنترل و نظارت بر تحویل منظم داده ها می باشد . PPP : پروتکل ارسال سریال می باشد. DHCP :  پروتکل جهت تخصیص آدرس هایIP دینامیک در شبکه می باشد . ECiP : پروتکل فراهم کننده یک اتصال قابل اطمینان نقطه به نقطه بر روی UDP</description>
                <category>رضا تناکی زاده</category>
                <author>رضا تناکی زاده</author>
                <pubDate>Sat, 11 Apr 2020 21:27:23 +0430</pubDate>
            </item>
                    <item>
                <title>معرفی از 5 کتاب در حوزه هوش مصنوعی</title>
                <link>https://virgool.io/dataio/%D9%85%D8%B9%D8%B1%D9%81%DB%8C-%D8%A7%D8%B2-5-%DA%A9%D8%AA%D8%A7%D8%A8-%D8%AF%D8%B1-%D8%AD%D9%88%D8%B2%D9%87-%D9%87%D9%88%D8%B4-%D9%85%D8%B5%D9%86%D9%88%D8%B9%DB%8C-md0ahsqlvswk</link>
                <description>هنوز هم با اینکه خیلی یادگیری الکترونیکی و ویدیو های آموزشی بورس شده ولی هیچی جای کتاب خونودن رو نمیگیره توی این مقاله براتون یه مقاله ای رو ترجمه کردم به عنوان 15 کتاب برتر در حوزه هوش مصنوعی که خودم به شخصه از مورد 3 ام استفاده میکنم و میخونمش امیدوارم براتون مفید باشه . با مرصاپ همراه باشید .Artificial Intelligence: A Modern Approachنویسنده : Stuart Jonathan Russell, Peter Norvigتعداد صفحات :‌1152 صفحهاین کتاب یکی از بهترین کتاب های حوزه هوش مصنوعی هستش برای میتدی ها و کسانی که تازه دارن به این حوزه ورود پیدا میکنن با این وجود این کتاب میتونه علاقه شدیدی رو برای کسانی که این کتاب رو میخوانن برانگیزه مثلا متخصصان حوزه علوم کامپیوتر ، ‌‌‍‍زیان شناسان و متخصصان حوزه علوم شناختی و ... . این کتاب یک مقدمه علی برای تئوری و تمرین هوش مصنوعی و تکنولوژی های مدرن و جدید . به گفته نویسنده این کتاب آن ها تلاش کرده اند که گستره این فیلد کاری رو برای خوانندگان نشون بدن که شامل منطق ، احتمالات ، continuous mathematics ، ادراک و احساسات ، استدلال و ادله ، یادگیری و رفتار و کلی چیز های دیگه .Machine Learningنویسنده : Tom M. Mitchellتعداد صفحات : 421 صفحهاین کتاب یک کتاب جامع برای تازه کارهاست  که موضوعات اصلی در حوزه یادگیری ماشین رو پوشش میده . آمار و احتمالات ، هوش مصنوعی و شبکه های عصبی  که همه این های به شکلی یکپارچه در درسترس قرار گرفته است . این کتاب یک مرور خوب و کلی است ارز قضایای ML به همراه شبه کد از الکوریتم های ارائه شده در کتاب .Learning OpenCV 3: Computer Vision in C++ with the OpenCV Libraryاین کتاب از کتاب های مورد من هم هست . این کتاب در مورد هوش مصنوعی به زبان C++  درکتاب خانه opencv  هست که بیشتر در حوزه بینایی ماشین هست . این کتاب شما رو به یک سفر هیجان انگیز به دنیای درحال رشد بینایی ماشین میبره .این کتاب هدف مطالعه حرفه ای ها ، دانشجویان ، اساتید دانشگاه ها و میتونه حتی یه سرگرمی هم باشه . و اینکه توضیحات کاملی رو هم ارائه میکنه همراه کدهای مثال زده شده و در مورد ابزارهای کتابخانه opencv  به علاوه اینکه به شما نشون میده چطوری اپلیکیشن هایی رو بنویسید که بتونن کامپیوترها ببینندو بتوانند تصمیم گیری با توجه به چیزهایی که می بینند انجام دهند . تمرین های آخر فصل این کتاب هم به شما کمک میکند تا چیزهایی رو که یادگرفتید رو به کارببرید و از اون ها استفاده کنید.Deep Learningنویسنده :‌ Ian Goodfellow, Yoshua Bengio, Aaron Courvilleتعداد صفحات : 802صفحهیکی از بهترین کتاب ها در زمینه هوش مصنوعی که توسط سه کارشناس این حوزه نوشته شده است . اگر خواسته باشم صادقانه براتون بگم این کتاب یک گنجینه واقعی و درجه یک برای دو دسته خوانندگان هستش اول برای دانشجویان دانشگاه که در این زمینه درس میخوانند و دارن توی این زمینه  پژوهش انجام میدهند و دوم هم برای مهندسان نرم افزاریست که هیج آشناییتی با مباحث مربوط به هوش مصنوعی و یادگیری عمیق ندارند. این کتاب از سه بخش تشکیل شده بخش اول در مورد ریاضیات بیسیک و ابتدایی مورد نیاز و همچنین مقدماتی از هوش مصنوعی عنوان شده و در بخش بعدی روی شبکه های عمیق (deep networks) و modern practices کار کرده است و در بخش اخر هم تمام چیزهایی که برای پژوهش در زمینه یادگیری عمیق باشه آموزش داده شده .Machine Learning for Designersنویسنده : Patrick Hebronتعداد صفحات : 79 صفحهیکی از بهترین کتابهای هوش مصنوعی که برای کسایی هست که در زمینه UI و UX دارن کار میکنن .  پیشرفت های اخیر در زمینه پردازش زبان طبیعی ، تشخیص چهره و تصویر و پیش بینی رفتار هوش مصنوعی همشون فقط مربوط به دانشمندان داده نیستند بلکه میتونن به طراحان کممک کنند تا راه هایی را برای تعامل بهتر با کاربران خو پیداکنند . پاتریک هربن در این کتاب توضیح میده که چگونه هوش مصنوعی میتواند در طراحی وبسایت ها ، اپلیکیشن های موبایل و سایر نرم افزار ها تاثیر بگذارد . یکی از ویژگی های این کتاب این است که با مثال های واقعی برای شما این موارد رو توضیح میدهد .-----------------------------------------------------------------منبع------------------------------------------------------------------ممنونم از اینکه این مقاله ترجمه شده رو مطالعه فرمودید ان شاالله که برای شما مفید بوده باشه . </description>
                <category>رضا تناکی زاده</category>
                <author>رضا تناکی زاده</author>
                <pubDate>Fri, 10 Apr 2020 10:36:56 +0430</pubDate>
            </item>
                    <item>
                <title>آموزش استفاده از API در PHP</title>
                <link>https://virgool.io/web-how/%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-api-%D8%AF%D8%B1-php-wapxn1y1vlas</link>
                <description>اگر شما هم وارد دنیای برنامه نویسی وب شدید حتما با واژه API مواجه شدید . اگر که نمیدونید API چی هست باید بگم که یه رابطی هست برای دسترسی به وبسایت های مختلف و استفاده از سرویس آن ها بدون اینکه وارد وبسایتشون بشیم مثلا شما میتونید از API گوگل مپ استفاده کنید و نقشه گوگل رو توی نرم افزار و یا وبسایت خوتون داشته باشید و استفاده کنید . مقاله ای که امروز براتون اماده کردم در مورد استفاده از یکی از این وب سرویس ها و API  ها که لینکی رو که بهش میدین براتون لینک کوتاه شده (short link ) به شما میده . خب حالا با مرصاپ همراه باشید تا از این API استفاده کنیم .API چیست ؟برای استفاده از API یک وبسایت باید به یک صفحه ای که خود سایت برامون مشخص میکنه یه اطلاعاتی رو یا به صورت متد POST یا هم بصورت GET میفرستیم و این وبسایت هم یکسری اطلاعات رو برمیگردونن برای ما و معمولا از برگشت اطلاعات از جنس فایل های json  هستش .وبسایتی که قراره از API  آن استفاده کنیم وبسایت https://shrtco.de/ هستش میتونید برا تست از این وبسایت استفاده کنید و ببینید خروجیش چی هستش که ما کاری به این قسمت نداریم و میریم توی برنامه نویسی .برای شروع کار به قسمت Developer  (https://shrtco.de/docs/) ها میریم . این صفحه در مورد نحوه استفاده از API این وبسایت براتون توضیحاتی رو داده که هر بخش رو مورد بررسی قرار میدیم .API Baseاین قسمت برای ما همون آدرس کلی API رو نشون میده که به صورت زیر هستش البته یکم جلوتر میبینیم که برای استفاده از این وبسرویس باید یه shorten  بهش اضافه کنیم (نگران نباشید جلوتر میگم)https://api.shrtco.de/v2/Authenticationدر این قسمت به ما میگه که نیازی به رمزعبور و کدهای توکن برای استفاده از این وبسرویس نداریم پس کارما راحت تر هستش البته نگران نباشید سایر API هایی که token نیاز دارند توی خود وبسایت بعد ثبت نام معمولا در اختیار شما قرار میدن مثلا در API  بات های تلگرام شما token خودتون رو از ربات bot father دریافت میکنید(محض اطلاعات عمومی)Rate Limitsاین قسمت به ما میکه که شما برای هر ip ادرس فقط در هر ثانیه میتونید یکبار درخواست ارسال کنید . ( ? )Errorsهمونطور که یکم بالاتر گفتیم نیاز بعد ارسال اطلاعات به این وبسایت یه پاسخی را دریافت میکنیم حال ممکن است بعضی اوقات یکسری error ها رخ دهد که در این جدول لیست error ها رو مشاهده میکنید . که به شما در رفع مشکلات احتمالی کمک میکنه .بعد از این موارد برای ما یه مثالی رو مشخص میکنه که :GET/POST: https://api.shrtco.de/v2/shorten?url=example.org/very/long/link.htmlآدرسی که باید به آن اطلاعات بفرستیم و پارامترهای ارسالی رو میبینیمآدرس https://api.shrtco.de/v2/shortenو پاراکتر ارسالی هم url  باید باشد که توی این مثال خود سایت از متد GET اومده استفاده کرده ولی ما از POST استفاده خواهیم کرد .فایل دریافتی از سرور اطلاعاتی به صورت زیر دارد که یک json  هست و ما باید این اطلاعات رو استخراج کنیم و مواردی که نیاز داریم رو استفاده کنیم .{
&amp;quotok&amp;quot: true,
&amp;quotresult&amp;quot: {
&amp;quotcode&amp;quot: &amp;quotKCveN&amp;quot,
&amp;quotshort_link&amp;quot: &amp;quotshrtco.de/KCveN&amp;quot,
&amp;quotfull_short_link&amp;quot: &amp;quothttps://shrtco.de/KCveN&amp;quot,
&amp;quotshort_link2&amp;quot: &amp;quot9qr.de/KCveN&amp;quot,
&amp;quotfull_short_link2&amp;quot: &amp;quothttps://9qr.de/KCveN&amp;quot,
&amp;quotshare_link&amp;quot: &amp;quotshrtco.de/share/KCveN&amp;quot,
&amp;quotfull_share_link&amp;quot: &amp;quothttps://shrtco.de/share/KCveN&amp;quot,
&amp;quotoriginal_link&amp;quot: &amp;quothttp://example.org/very/long/link.html&amp;quot
}
}پارامتر ok  نشان دهده ارتباط درست بین برنامه شما و سرور API هستش و در پارامتر result  موارد مختلفی رو برای ما ارسال کرده است که ما از full_short_link  استفاده خواهیم کرد .یه بخش دیگه هم این API داره به نام getting information a link  که نیازی بهش ما نداریم و اصن یه کاردیگه میکنه ?خب دیگه بریم سراغ کدهای برنامه نویسی :اول از همه باید بدونیم که قراره با استفاده از CURL  این پارامتر url  رو با استفاده از متد POST  بهش ارسال کنیم .خیلی خلاصه خواسته باشم بگن که CURL چی هست : یه ابزاری برای انتقال اطلاعات بین وبسایت ها هستش که از این ابزار توی زبان PHP استفاده میکنیم که توابع مخصوص به خودش رو داره .اول از همه تمام کدی که قراره بنویسیم رو براتون میزارم و خط به خط میریم ببینیم چی هست اصن&lt;?php 
require &#039;./Json.php&#039;;
//API Url
$url = &#039;https://api.shrtco.de/v2/shorten&#039;;
//Initiate cURL.
$ch = curl_init($url);
//Tell cURL that we want to send a POST request.
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, &amp;quoturl=https://virgool.io/&amp;quot);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(&#039;Content-Type: application/x-www-form-urlencoded&#039;));
//Execute the request
$result = curl_exec&#40;$ch&#41;;
$response = json_decode($result, true);
var_dump(Json::encode($response));
echo &amp;quotyour url is :&amp;quot.$response[&#039;result&#039;][&#039;full_short_link&#039;];
?&gt;قسمت require  اول رو یکم جلوتر توضیح میدم .برای اینکه برنامه نویسی درستی داشته باشیم یک متغیر به نام url تعریف میکنیم که قراره اون آدرس API رو توی خودش ذخیره کنهurl = &#x27;https://api.shrtco.de/v2/shorten&#x27;;حال نوبت فعال سازی Curl هستش که از تابع curl_init استفاده میکنیم . که پارامتر ورودیش $url  هتسش$ch = curl_init($url);حال نوبت کانفیگ و تعمال تنظیمات مربوطه برای Curl  هستیم که از تابع curl_setopt استفاده میکنیم اولین پارامتر ورودی curl_setopt در واقع همان متغییری است که توی مرحله قبلی بدست آوردیم . به عنوان مثال اگر برای پارامتر دوم از CURLOPT_POST استفاده کنیم در واقع داریم متد پست رو فعال میکنیم البته با True  کردن یا همون 1 کردن پارامتر سوم که در زیر میبینید :curl_setopt($ch, CURLOPT_POST, 1);از طریق لینک زیر میتونید لیست پارامتر های دوم این تابع رو ببینید و من فقط موارد مورد نیاز رو براتون در شکل زیر اماده کردم .https://www.php.net/manual/en/function.curl-setopt.phpلینک نوع داده ها در header  https://www.geeksforgeeks.org/http-headers-content-type/حال باید از تابع curl_exec برای استخراج کردن اطلاعات دریافتی انجام بدیم که بدین صورت هست .$result = curl_exec&#40;$ch&#41;;گفتیم که اطلاعات دریافتی به صورت string  هستند پا باید به صورت اطلاعات json در بیاریم تا بتونیم ازش استفاده کنیم  .$response = json_decode($result, true);قبل از اینکه تابع بعدی رو براتون توضیح بدم اگر تا همیجا $response رو براتون نمایش بدم اطلاعاتی به صورت زیر خواهیم داشت .حال برای اینکه بتونیم این اطلاعات رو خیلی قشنگ تر حداقل برای خودمون نشون بدین از یک کتابخانه ای که برای این کار نوشته شده استفاده میکنیم این کتابخانه رو ما در ابتدا require  کردیم که فایلش رو میتونید از لینک زیر دریافت کنیدhttps://gofile.io/?c=fHhl4Uبعد حالا از تابعی که توی این کنابخونه نوشته شده استفاده میکنیم و اطلاعات رو نمایش میدیم .var_dump(Json::encode($response));تصویر خروجی رو میتونید توی شکل زیر مشاهده کنید .مشاهده میکنید مه مقدار ok  مقدار true  دارد و کار ما به درستی انجام شده حالا موقع این رسیده که اطلاعات خودمون رو و اونی که نیاز دارین رو استخراج کنیم گفتیم که ما فقط به full_short_link نیاز داریم پس به این اطلاعات json  به صورت یک آرایه چند بعدی نگاه میکنیم اطلاعات به صورت زیر استخراج میشن .$response[&#x27;result&#x27;][&#x27;full_short_link&#x27;];خب کار ما تموم شد و لینک کوتاه خودمون رو ساختیم در واقع هر جا که بخوایم میتونیم این لینک رو  echo کنیم و ازش استفاده کنیم .ممنونم از اینکه با من همراه بودید و این آموزش تقریبا طولانی رو خوندید امیدوارم که بدردتون خورده باشه و ازش بتونید استفاده کنید.در ضمن خوشحال میشم نقطه نظراتتون رو هم بدونم .</description>
                <category>رضا تناکی زاده</category>
                <author>رضا تناکی زاده</author>
                <pubDate>Wed, 08 Apr 2020 09:49:00 +0430</pubDate>
            </item>
                    <item>
                <title>Hash چیست و چه کاربردی دارد ؟</title>
                <link>https://virgool.io/@rezatz/hash-%DA%86%DB%8C%D8%B3%D8%AA-%D9%88-%DA%86%D9%87-%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%AF%DB%8C-%D8%AF%D8%A7%D8%B1%D8%AF-weadlkysuhmt</link>
                <description>شاید برای شما هم سوال پیش آمده باشد که رمز عبوری که ما در وبسایت ها انتخاب میکنیم آیا به همان شکل ذخیره میشود یا نه و اگر نه ، اگر زمانی که اطلاعات وبسایت لو برود آیا تمام اطلاعات از جمله رمز های عبور نیز هم لو میرود یا نه ؟ در این مقاله قصد دارم براتون در مورد هش و هشینگ توضیح بدم . پس همراه مرصاپ باشید .هش چیست ؟هشینگ یعنی ساختن یکسری از مقادیر مختلف از یک رشته از اعداد و کلمات که به کمک توابع ریاضی به دست می آید . (کدنگاری)ار هش برای ایجاد امنیت و سکوریتی در ارسال اطلاعات استفاده میشود زیرا در هنگام ارسال اطلاعات باید این اطلاعات رمز نگاری شود و فقط فرستنده و گیرده توانایی خواندن این اطلاعات را داشته باشند .همچنین از هش و هشینگ برای زخیره مقادیر مختلف در دیتابیس ها نیز استفاده میشود .ىر وبسايت ها نیز رمزعبورشما به صورت هش شده ذخیره میشود البته این نکته را هم باید بگویم که در این نوع هشینگ اطلاعات یکبار به هش تبدیل شده و نمشود دوباره آن را از مقدار هشینگ آن به مقدار اصلی آن رسید و هر موقع که شما وارد وبسایت میشوید و رمز عبور خود را و.ارد میکنید این رمز عبور هش شده و مقدار هش آن با مقدار هش ذخیره شده در دیتابیس وبسایت مقایسه میشود .ویژگی های رمزنگاری تواع هش قطعی و ثابت :یعنی اینکه هر بار که یک مقدار ورودی خاص را به توابع بهید فقط یک رشته هش شده به شما بدهد .محاسبات سریع :زمان هشینک باید به سرعت باشد و بیدرنگ نباید زیاد طول بکشد و پردازش زیادی انجام بدهد . غیرقابل بازگشت :این ویژگی قبلا ذکر شد که با داشتن H(A)  نمیتوان A را محاسبه کرد . تغییر کوچک تغییر بزرگاین ویژگی بیان میکند که اگر یک تغییر کوچک در ورودی دهید تغییرات زیادی را در مقدار هش شده مشاهده خواهید کرد .دو نوع روش احراز هویت :1 MDC : مخفف  Modification Detection Code  (کد شناسایی تغییر)در این روش بین گیرنده و فرستنده باید دوکانال ارتباطی باشد که در یک کانال پیغام فرستاده میشود و از کانال دیگر مقدار mdc  ارسال میشود . و بعد از فرستاده شدن در گیرنده mdc  پیاغام ساخته شدهو با mdc فرستاده شده مقایسه میشود .2 MAC  مخفف (Message Authentication Code) (کد تایید پیام)در این روش یک کانال ایجاد شده و mac همراه با \يام ارسال مشود و بعد mac پیامن فرستاده شده توسط گیرنده ایجاد شده و با انچه فرستنده ارسال کرده است مقایسه میشود .معروف ترین استالندارد های HASH :MD5 : یک digest 128  بیتی تولید میکند .SHA1 يك digest  160 بيتي توليى ميكند.SHA 265 یک digest 256   بیتی تولاید میکند .Keccak-256  یک digest 256 بیتی تولاید میکند .</description>
                <category>رضا تناکی زاده</category>
                <author>رضا تناکی زاده</author>
                <pubDate>Tue, 07 Apr 2020 21:16:01 +0430</pubDate>
            </item>
                    <item>
                <title>FPGA در برابر CPU  و GPU</title>
                <link>https://virgool.io/@rezatz/fpga-%D8%AF%D8%B1-%D8%A8%D8%B1%D8%A7%D8%A8%D8%B1-cpu-%D9%88-gpu-tamjnjxlfuvo</link>
                <description>چرا از FPGA  به جای CPU و GPU استفاده میشود ؟؟اگر شما هم با اسم FPGA به عنوان یک سخت افزار پردازشی مواجه شده باشید حتما این سوال برای شما هم به وجود آمده که چرا به جای FPGAها از CPU و همچنین GPU ها استفاده نمیشود .این نکته قابل تامل است که اینتل شرکت آلترا (Altera) که یکی از توید کنندگان FPGA ها بود را در سال 2015 خریداری کرده است . و این FPGA ها در دیتاسنتر های مایکروسافت و آمازون استفاده میشود. اما بریم سراغ ویژگی ها این FGPAوCPU ها ... پس با مقالات آموزشی مرصاپ همراه باشیدFPGA چیست ؟اگر شما به انجام یک محاسبه ای نیاز داشته باشید چندین راه روبه روی شما است یکی اینکه خودتون حساب کنید ( (:  ?) یا هم با نوشتن یک برنامه ای برای سخت افزار های مبتنی بر دستورات (instruction based architecture ) به عنوان مثال CPU ها و GPU ها یا هم میتوانید مداری را برای این محاسبه خاص طراحی کنید این نوع مدارات که برای کاربرد های خاص استفاده میشود و به صورت مدار مجتمع الکترونیکی هستند به آن ها سخت افزار (ASIC  (Application Specific Integrated Circuits میگویند.یک راه دیگر که این مقاله نیز به آن مربوط است . آرایه گیت های قابل برنامه ریزی که FPGA هست یا همان (field programmable Gate array) که ی مدار مجتمع الکترونیکی قابل برامه ریزی مجدد است یعنی شما میواند با برنامه ریزی که برای این سخت افزار انجام میدهید کار یک مدار مجتمع شما را انجام دهد و میتوانید آن را برای مدار دیگری نیز آماده کنید .فرق بین FPGA ها و CPU ها در این است که CPU ها به صورت نرم افزاری پیکره بندی میشوند ولی FPGA ها با یک مدار مشخص پیکره بندی میشود .مزایای استفاده از FPGA ها زمان : اگر در مورد زان انجام یک محاسبه ای بحث کنیم FPGA در این زمینه بهتر است .· ارتباط : از نظر ارتباطات ورودی و خروجی و پهنای باند FPGA بهتر عمل میکند .· انرژی : یکی از سودمندی های FPGA بحث مصرف انرژی است اما باز هم به نوع برنامه بستگی دارد .اما حالا در مورد هر کدام از این ها بیشتر صحبت میکنیم .زمان :تاخیر کم زمانی اهمیت پیدا میکند که شما دارید برای Auto Pilot  یک جنگنده برنامه میریزید در این صورت باید زمان بین رسیدن ورودی ها و پاسخ سیستم ما بسیار کوتاه باشد تا این Auto pilot به صورت کامل و به بهترین وجه کارش را انجام دهد اینجاست که FPGA خودش را از CPU و GPU ها جدا میکند .در FPGA ها شما میتوانیدتاخیر کمتر 1 میکروثانیه داشته باشید در حالی که در CPU ها تاخیر کمتر از 50 میکروثانیه یک تاخیر خیلی خوب به حساب میاید .دلیل این تاخیر کم این است که FPGA ها خیلی بیشتر از CPU تخصصی میشود و برای یک کار مخصوص استفاده میشوو و نیازی به سیستم عامل برای انجام محاسبات ندارد و همچنین برای ارتباط با بیرون از خودش هم BUS های عمومی مانند PCI ها و USB ندارد .ارتباط :در اتصال ورودی ها به FPGA ها شما میتوانید هر ورودی را به FPGA ها متصل کنید مانند ورودی شبکه یا سنسور ها میتوانند به طور مستقیم به پین های FPGA متصل بشود که این برخلاف CPU ها است که در CPU ها باید حتما بایک درگاه انتقال یا Bus استاندارد مانند usb اتصال را برقرار کرد و همچنین به سیستم عامل هم مربوط میشود که چگونه ورودی ها متصل شوند .اتصال مستقیم هر ورودی به خود پین های FPGA پهنای باند بیشتری را در اختیار ما قرار میدهد انرژی :بحث انرژی همیشه و در همه جا امروزه مهم است مثلا در استخراج بیت کوین شما میتوانید از CPU ها استفاده کنید اما هم از نظر قدرت و هم مصرف انرژی مشکل دارد ولی اگر مدارات ASIC خواسته باشید استفاده کنید خب بحث پیچیدگی طراحی ، ساخت و سرمایه گذاری و  همچین باید تعداد زیادی از این چیپ ها ساخته شود تا ارزش استفاده داشته باشد ولی در FPGA قضیه فرق میکند  FPGA  هم بهره انرژی دارد و هم سرعت بالا در انجام محاسبات که برای کاری مانند استخراج بیت کوین میتواند یکی از گزینه های استفاده باشد بهره وری در اعداد اعشاری  :خیلی از اوقات ما در محاسبات کامپیوتری و الگوریتم های مختلف از اعداد اعشاری استفاده می کنبم . و در این زمینه GPU ها خیلی خوب کار میکنند . در FPGA های قدیمی انجام محاسبات اعداد اعشاری بسیار ناکارآمد بود و هزینه زیادی را در بر داشت .درنهایت : امیدوارم که بهره لازم رو برده باشید ممنون میشم نظرتون رو هم ارسال کنید به این امید که مطالب بهتری رو برای شما آماده کنم ?</description>
                <category>رضا تناکی زاده</category>
                <author>رضا تناکی زاده</author>
                <pubDate>Mon, 06 Apr 2020 11:58:23 +0430</pubDate>
            </item>
                    <item>
                <title>API چیست ؟</title>
                <link>https://virgool.io/apieco/api-%DA%86%DB%8C%D8%B3%D8%AA-wru4scvqrmxq</link>
                <description>در حوزه نرم افزار احتمالا واژه API به گوشتان خورده است به همین خاطر قصد دارم تا در این پست شما رو با API  و كاربرى آن آشنا كنم.به زبان ساده API در واقع رابطی برای ارتباط بین نرم افزار ها هست . خود کلمه API مخفف Application Programming Interface است . مثلا شما وقتی در اپلیکیشن خود نیاز به مپ دارید میتوانید از API مپ گوگل استفاده کنید و در واقع با این کار شما به گوگل متصل میشوید بدون آنکه مستقیما به وبسایت آن مراجعه کنید.اما API  ها چگونه كار ميكنند؟با استفاده از API  ها شما میتوانید به اطلاعات مربوط به یک سرور دیگر دسترسی داشته باشید بدون اینکه وارد آن وبسایت شوید و ایتن کار به طور خیلی امن صورت میگیرد و در واقع همین ویژگی API است که آن مهم و ارزشمند کرده است.و این API  ارتباط بین دو نرم افزار یا بیشتر را فراهم میکند .به عنوان مثال فرض کنید شما میخواهید در وبسایتتان عکس ها موجود در صفحه اینستاگرامتان را هم نمایش دهید . شما میتوانیید دستی یکی یکی عکسهایتان وارد وبسایتتان کنید. اما من به شما پیشنهاد دیگری دارم ! شما میتوانید به کمک API اینستاگرام عکس های خود را در وبسایتان قرار دهید و کار این Api  این است که به حساب کاربریتان متصل میشود و تمام عکس های شما را برای شما نمایش میدهد .یا اینکه برای استفاده از درگاه های پرداختی شما میتوانید از API  ها مربوط به آن استفاده کنید. و کلی مثال های دیگه الز کاربرد API میشه زد .شما میتوانید با مراجمه به این وبسایت به کلی API  هاي مختلف دسترسی داشته باشید.يكي ار پر کاربرد ترین انواع API ها وب سرويس ها هستند همه اين مثال هایی که زده شد نمونه ای از این وب سرویس ها بودند ولی مثلا وقتی شما میخواهید برای اندروید برنامه نویسی کنید شما نیاز دارید تا با استفاده از api مربوط به ساخت نرم افزار اندروید نرم افزار خود را بسازید که به آن SDK گفته میشود .</description>
                <category>رضا تناکی زاده</category>
                <author>رضا تناکی زاده</author>
                <pubDate>Sun, 05 Apr 2020 12:53:40 +0430</pubDate>
            </item>
                    <item>
                <title>بلوتوث یا وای فای در توسعه اینترنت اشیا ؟</title>
                <link>https://virgool.io/@rezatz/%D8%A8%D9%84%D9%88%D8%AA%D9%88%D8%AB-%DB%8C%D8%A7-%D9%88%D8%A7%DB%8C-%D9%81%D8%A7%DB%8C-%D8%AF%D8%B1-%D8%AA%D9%88%D8%B3%D8%B9%D9%87-%D8%A7%DB%8C%D9%86%D8%AA%D8%B1%D9%86%D8%AA-%D8%A7%D8%B4%DB%8C%D8%A7-moczf4memax2</link>
                <description>اینترنت اشیا از ارتباط بین دستگاه های مختلف بدون اتصال فیزیکی سخن به ارمغان می آورد اما یک سوالی که اینجا مطرح میشود این است که حال برای این ارتباط از چه راه ارتباطی استفاده که البته راه های مختلفی وجود دارد من جمله تکنولوژی جدید 5G . اما در این مقاله قصد به بررسی بلوتوث و Wifi را داریم که هر دو در حوزه wireless  هستند .بلوتوث :بلوتوث یک پروتکل در wireless technology  است که نیاز به مجاورت دستگاه ها برای ارتباطشان با هم دیگه و نیازی به پسورد هم برای ارتباط نیست . بلوتوث در حوزه فرکانسی UHF که همان (Ultra high frequency)  کار میکند که فرکانس کاری آن حدود 2.400 تا 2.485 GHZ است.نمونه از کاربردهای این تکنولوژی ، در هدفون ها ، کیبردها، موس ها ، اسپیکرها ...بلوتوث و اینترنت اشیا :برای استفاده از بلوتوث در اینترنت اشیا باید از یک میکروپروسسور استفاده کنیم که توانایی بلوتوث رو داشته باشد و همچنین یه نیسخه دیگر به عنوان هدف تا با آن ارتباط برقرار کند . پروتکل بلوتوث در دو نسخه منتشر شده است :Bluetooth ClassicBluetooth Low Energy (BLE)وای فای :وای فای هم مانند ربلوتوث از خانواده وایرلس ها هستند اما وایفای از تعداد بیشتری باند های فرکانسی استفاده میکند و امروزه همه کامپیوتر ها و موبایل ها این تکنولوژی را پشتیبانی میکنند .مقایسه این دوتکنولوژِی :برای مقابسه این دو در ویژگی های مطرح شده در زیر که برای هر کسی که قصد توسعه پلتفرم اینترنت اشیا دارد مهم است.سرعتاحتمالا شما هم حدس زده اید که سرعت انتقال اطلاعات وافای خیلی بیشتر از بلوتوث هست و این حدس شما با اطلاعات زیر کامل میشه .سرعت انتقال داده در وای فای 54Mbps درحالی که در بلوتوث این سرعت به 3Mbps کاهش میابد .و از بلوتوث فقط برای ازسال داده های کم حجم استفاده میشود ولی در وای فای شما میتوانید انواع داده های مختلف من جمله صدا و تصویر را ارسال نمایید .امنیتبلوتوث برای بسایاری از ارتباطات امنیت خوبی رو دارد اما به طور کلی پروتکل امنی نیست و اگر شما نیاز به ارسال داده های حساس و مهم دارید وای فای میتواند امنیت مورد نظر را با اضافه کردن لایه های امنیت مختلف مانند WEP,WPA,WPA2,WPA3 برایتان به ارمغان بیاورد(خخخ یه جوری نوشتم ارمغان بیاورد انگار نتایج مذاکرات هسته ای )رنجبلوتوث رنج کمتری دارد نسبت ه وای فای و رنج بلوتوث چیزی حدود 10 متر است و البته این رنج میتونه با موانعی کم بشود و در مورد وای فای رنج آ« بستگی به عواملی مانند فکانس آن ، توان فرستنده ، نوع آنتن ...انرژِی مورد نیازدر وای فای ما نیاز به اتصال دائمی منبع تغذیه داریم و انرژی بیشتری نسبت به بلتوث نیاز داریم . به خصوص این اختلاف در نیاز به منبع تغذیه در پروتکل BLE بیشتر ه میشود .حالا از کدام تکنولوژی استفاده کنیم :با توجه به موارد بالایی مطمئن شدیم که نمیتونیم بگیم کدوم یکی بهتره ی بدتره هر دوی اینها قابل استفاده در پوژه اینترنت اشیا هستند اما بستگی دارد به کار شما و پروژه ای که شما قصد انجام آن دارید .امید وارم که این مقاله مورد پسندتون باشه و انروز یه چیزی بیشتر از دیروز یادگرفته باشید .</description>
                <category>رضا تناکی زاده</category>
                <author>رضا تناکی زاده</author>
                <pubDate>Sat, 04 Apr 2020 10:10:35 +0430</pubDate>
            </item>
            </channel>
</rss>