<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های رحیم قاسمی</title>
        <link>https://virgool.io/feed/@enghasemi</link>
        <description>سرپرست فنی و متخصص معماری نرم افزار</description>
        <language>fa</language>
        <pubDate>2026-06-07 09:46:43</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/44484/avatar/pvaKxR.png?height=120&amp;width=120</url>
            <title>رحیم قاسمی</title>
            <link>https://virgool.io/@enghasemi</link>
        </image>

                    <item>
                <title>چگونه یک پلتفرم ویدیویی در مقیاس یوتیوب یا نتفلیکس را طراحی کنید؟</title>
                <link>https://virgool.io/@enghasemi/%DA%86%DA%AF%D9%88%D9%86%D9%87-%DB%8C%DA%A9-%D9%BE%D9%84%D8%AA%D9%81%D8%B1%D9%85-%D9%88%DB%8C%D8%AF%DB%8C%D9%88%DB%8C%DB%8C-%D8%AF%D8%B1-%D9%85%D9%82%DB%8C%D8%A7%D8%B3-%DB%8C%D9%88%D8%AA%DB%8C%D9%88%D8%A8-%DB%8C%D8%A7-%D9%86%D8%AA%D9%81%D9%84%DB%8C%DA%A9%D8%B3-%D8%B1%D8%A7-%D8%B7%D8%B1%D8%A7%D8%AD%DB%8C-%DA%A9%D9%86%DB%8C%D8%AF-llzzjmd44gq5</link>
                <description>در یک مصاحبه از شما به عنوان یک تیم لید یا معمار نرم افزار خواسته می شود  وب سایت مشابه یوتیوب را طراحی کنید.راه حل این سوال را می توان برای سوالات مصاحبه دیگر نیز مانند طراحی یک پلتفرم اشتراک گذاری ویدیو مثل نتفلیکس و ... به کار برد. شکل زیر صفحه اصلی یوتیوب را نشان می دهد.یوتیوب به نظر ساده می آید: تولیدکنندگان محتوا ویدیوها را آپلود می کنند و بینندگان روی دکمه پخش کلیک می کنند. اما واقعا انقدر ساده است؟خیر، چنین نیست. زیر این سادگی ظاهری، فناوری های پیچیده ای نهفته است. بیایید به برخی آمار، اطلاعات جمعیت شناختی و حقایق جالب درباره یوتیوب در سال 2024 نگاهی بیندازیم:• تعداد کاربران فعال ماهانه: حدود 2.5 میلیارد نفر (با توجه به رشد مداوم)• تعداد ویدیوهای تماشا شده در روز: بیش از 6 میلیارد (افزایش نسبت به 2020)• بیش از 80 درصد از بزرگسالان آمریکایی از یوتیوب استفاده می کنند (رشد کاربران)• بیش از 70 میلیون تولیدکننده محتوا در یوتیوب (افزایش تعداد سازندگان)• درآمد تبلیغاتی یوتیوب در سال 2023 بیش از 20 میلیارد دلار بود (رشد چشمگیر درآمد)• یوتیوب مسئول بیش از 45 درصد از کل ترافیک اینترنت موبایل است (افزایش ترافیک موبایل)• یوتیوب در بیش از 90 زبان در دسترس است (گسترش زبان ها)این آمار نشان می دهد که یوتیوب در سال 2024 از رشد چشمگیری در کاربران، محتوا، درآمد و پوشش جهانی برخوردار شده است.از این آمار می فهمیم که یوتیوب بسیار عظیم، جهانی است و درآمد زیادی کسب می کند.مرحله 1 - درک مسئله و تعیین محدوده طراحیهمانطور که می دانید علاوه بر تماشای ویدیو، می توانید در یوتیوب کارهای بیشتری انجام دهید. به عنوان مثال، نظر دادن، به اشتراک گذاشتن یا لایک کردن یک ویدیو، ذخیره ویدیو در لیست پخش، مشترک شدن در یک کانال و غیره. طراحی همه این ویژگی ها در یک مصاحبه 45 یا 60 دقیقه ای غیرممکن است. بنابراین، پرسیدن سوال برای محدود کردن محدوده طراحی مهم است.کاندید: چه ویژگی هایی مهم هستند؟مصاحبه کننده: قابلیت آپلود و تماشای ویدیوکاندید: به چه نوع کلاینت هایی باید پشتیبانی کنیم؟مصاحبه کننده: اپلیکیشن های موبایل، مرورگرهای وب و تلویزیون های هوشمند.کاندید: چند کاربر فعال روزانه داریم؟مصاحبه کننده: 5 میلیونکاندید: میانگین زمان گذرانده شده روزانه در این محصول چقدر است؟مصاحبه کننده: 30 دقیقهکاندید: آیا نیاز است از کاربران بین المللی پشتیبانی کنیم؟مصاحبه کننده: بله، درصد زیادی از کاربران، کاربران بین المللی هستند.کاندید: رزولوشن های ویدیویی پشتیبانی شده چیست؟مصاحبه کننده: سیستم اکثر رزولوشن ها و فرمت های ویدیویی را می پذیرد.کاندید: آیا رمزگذاری مورد نیاز است؟مصاحبه کننده: بلهکاندید: آیا محدودیتی برای اندازه فایل ویدیوها وجود دارد؟مصاحبه کننده: پلتفرم ما روی ویدیوهای کوچک و متوسط تمرکز دارد. حداکثر اندازه مجاز ویدیو 1 گیگابایت است.کاندید: آیا می توانیم از زیرساخت های ابری موجود از آمازون، گوگل یا مایکروسافت استفاده کنیم؟مصاحبه کننده: این یک سوال عالی است. ساختن همه چیز از ابتدا برای اکثر شرکت ها غیرواقعی است. توصیه می شود از برخی سرویس های ابری موجود استفاده کنید.پس روی طراحی یک سرویس استریم ویدیو با ویژگی های زیر تمرکز می کنیم:• قابلیت آپلود سریع ویدیوها• استریم روان ویدیو• قابلیت تغییر کیفیت ویدیو• هزینه زیرساخت پایین• نیازمندی های قابلیت اطمینان، مقیاس پذیری و در دسترس بودن بالا• کلاینت های پشتیبانی شده: اپلیکیشن های موبایل، مرورگر وب و تلویزیون هوشمندبرآورد تقریبی هزینهبرآوردهای زیر بر اساس فرضیات زیادی انجام شده اند، بنابراین ارتباط با مصاحبه کننده برای اطمینان از همسو بودن مهم است:• فرض کنید محصول 5 میلیون کاربر فعال روزانه (DAU) دارد.•کاربران در روز 5 ویدیو تماشا می کنند.• 10 درصد کاربران در روز 1 ویدیو آپلود می کنند.• فرض کنید اندازه متوسط هر ویدیو 300 مگابایت است.• فضای ذخیره سازی روزانه مورد نیاز کل: 5 میلیون * 10% * 300 مگابایت = 150 ترابایت· هزینه CDNزمانی که CDN ابری یک ویدیو را سرویس می دهد، برای ترافیک خروجی از CDN هزینه می پردازید.برای برآورد هزینه از CDN CloudFront آمازون استفاده می کنیم. فرض کنید 80% ترافیک از ایالات متحده و 20% از سایر نقاط جهان سرویس داده می شود. هزینه متوسط هر گیگابایت در ایالات متحده 0.015 دلار و در سایر مناطق 0.02 دلار است.10 میلیون * 6 ویدیو * 0.4 گیگابایت * (0.80.015 + 0.20.02)  دلار  = 360,000 دلار در روزبا افزایش کاربران به 10 میلیون نفر در سال 2024 و میانگین 6 ویدیو در روز برای هر کاربر و اندازه متوسط 0.4 گیگابایت برای هر ویدیو، هزینه استریم از CDN برای پوشش جهانی به 360,000 دلار در روز می رسد.مرحله 2 - ارائه طرح کلی و کسب تأییدهمانطور که قبلاً بحث شد، مصاحبه کننده توصیه کرد از سرویس های ابری موجود به جای ساختن همه چیز از ابتدا استفاده کنیم.برخی خوانندگان ممکن است بپرسند چرا همه چیز را خودمان نمی سازیم؟ دلایل در زیر آمده است:مصاحبه های طراحی سیستم درباره ساختن همه چیز از ابتدا نیست. در محدوده زمانی محدود، انتخاب فناوری مناسب برای انجام کار درست مهمتر از توضیح جزئیات نحوه کار فناوری است. به عنوان مثال، ذکر ذخیره سازی بلاب (Blob) برای ذخیره ویدیوهای منبع برای مصاحبه کافی است. صحبت درباره جزئیات طراحی ذخیره سازی بلاب می تواند زیاده روی باشد.ساختن ذخیره سازی بلاب یا CDN مقیاس پذیر بسیار پیچیده و پرهزینه است. حتی شرکت های بزرگی مانند نتفلیکس یا فیسبوک همه چیز را خودشان نمی سازند. نتفلیکس از سرویس های ابری آمازون استفاده می کند و فیسبوک از CDN Akamai استفاده می کند.در سطح کلی، سیستم شامل سه جزء است :کلاینت(Client): می توانید یوتیوب را روی کامپیوتر، گوشی موبایل و تلویزیون هوشمند خود تماشا کنید.سی دی ان (CDN) : ویدیوها در CDN (شبکه دلیوری محتوا) ذخیره می شوند. هنگامی که دکمه پخش را می زنید، یک ویدیو از CDN استریم (پخش) می شود.سرورهای API: هر چیزی به جز پخش ویدیو، از طریق سرورهای APIانجام می گردد. این موارد شامل پیشنهاد فید، ایجاد لینک آپلود برای ویدیو، بروزرسانی پایگاه داده و کش متادیتا، ثبت نام کاربران و غیره است.در جلسه پرسش و پاسخ، مصاحبه کننده به دو جریان کاری زیر علاقه نشان داد:• جریان آپلود ویدیو• جریان پخش ویدیوما طرح کلی را برای هر یک از این دو جریان کار بررسی خواهیم کرد.طرح کلی جریان آپلود ویدیوطرح کلی جریان آپلود ویدیو این جریان شامل اجزای زیر است:یوزر User: یک کاربر یوتیوب را در دستگاه هایی مانند کامپیوتر، گوشی موبایل یا تلویزیون هوشمند تماشا می کند. لود بالانسر Load balancer: یک لود بَلَنسر درخواست ها را به طور یکنواخت بین سرورهای API توزیع می کند.ای پی ای سرور API servers: تمام درخواست های کاربران به جز پخش ویدیو، از طریق سرورهای API انجام می شود.متا دیتا دی بی Metadata DB: متادیتای ویدیوها در پایگاه داده متادیتا ذخیره می شود. این پایگاه داده شاردشده و تکثیرشده است تا نیازمندی های عملکرد و قابلیت دسترسی بالا را برآورده کند. متا کش Metadata cache: برای عملکرد بهتر، متادیتای ویدیو و اشیاء کاربر در کش نگهداری می شوند.اورجین استوریچ Original storage: یک سیستم ذخیره سازی بلاب برای ذخیره ویدیوهای اصلی استفاده می شود. بر اساس گفته ای در ویکی پدیا: &quot;یک بلاب شیء باینری بزرگ (BLOB) مجموعه ای از داده های باینری است که به عنوان یک موجودیت واحد در یک سیستم مدیریت پایگاه داده ذخیره می شود.ترنسکدینگ Transcoding servers: ترنسکدینگ ویدیو همان کدگذاری ویدیو است. این فرآیند تبدیل یک فرمت ویدیو به فرمت های دیگر (MPEG، HLS و غیره) را شامل می شود تا بهترین استریم ویدیو برای دستگاه ها و ظرفیت های پهنای باند مختلف فراهم شود.استوریج Transcoded storage: یک ذخیره سازی بلاب است که فایل های ویدیوی ترنسکدشده را ذخیره می کند. سی دی ان CDN: ویدیوها در CDN(cache) می شوند. زمانی که دکمه پخش را می زنید، یک ویدیو از CDN استریم می شود.صف  پیام Completion queue: یک صف پیام است که اطلاعات مربوط به رویدادهای تکمیل ترنسکدینگ ویدیو را ذخیره می کند.هندلر Completion handler: شامل یک مجموعه از مصرف کننده های صف (queue consumers) است که داده های رویداد را از صف تکمیل می خوانند و کش متادیتا و پایگاه داده را بروزرسانی می کنند.اکنون که هر جزء را به طور جداگانه می شناسیم، بیایید ببینیم که چگونه جریان آپلود ویدیو کار می کند. این جریان به دو فرآیند موازی تقسیم می شود:الف. آپلود ویدیوی واقعیب. بروزرسانی متادیتای ویدیو.متادیتا شامل اطلاعاتی در مورد URLویدیو، اندازه، رزولوشن، فرمت، اطلاعات کاربر و غیرهچرخه آپلود ویدیوی:1. ویدیوها روی سیستم ذخیره سازی اصلی آپلود می شوند.2. سرورهای ترنسکدینگ ویدیوها را از ذخیره سازی اصلی می خوانند و شروع به ترنسکدینگ می کنند.3. پس از اتمام ترنسکدینگ، دو مرحله زیر به صورت موازی اجرا می شوند:الف. ویدیوهای ترنسکدشده به ذخیره سازی ترنسکدشده ارسال می شوند.ب. رویدادهای اتمام ترنسکدینگ در صف تکمیل قرار می گیرند:الف. ویدیوهای ترنسکدشده به CDNتوزیع می شوند.ب.. هندلر تکمیل شامل مجموعه ای از مصرف کننده های صف است که به طور مداوم داده  های رویداد را از صف می خوانند.پس از اتمام ترنسکدینگ ویدیو بروزرسانی می کند.4. ای پی ای  API ها به کلاینت اطلاع می دهند که ویدیو با موفقیت آپلود شده و آماده پخش است.بسیار خوب، جمله را با توضیح کامل تر در مورد &quot;ذخیره سازی اصلی&quot; می نویسم:جریان ب: بروزرسانی متادیتادر حالی که یک فایل ویدیوی اصلی در حال آپلود به سیستم ذخیره سازی بلاب (blob storage) اصلی است، کلاینت به موازات یک درخواست برای بروزرسانی متادیتای ویدیو ارسال می کند، همانطور که در شکل زیر نشان داده شده است. ذخیره سازی بلاب اصلی یک سرویس ابری برای ذخیره فایل های ویدیویی منبع با اندازه بزرگ و ساختار نامشخص است. این درخواست شامل متادیتای ویدیو از جمله نام فایل، اندازه، فرمت و غیره است. سرورهای API کش متادیتا و پایگاه داده را بر اساس اطلاعات ارسالی بروزرسانی می کنند.جریان استریم ویدیوهر زمان که شما یک ویدیو در یوتیوب را تماشا می کنید، معمولاً استریم بلافاصله شروع می شود و منتظر دانلود کامل ویدیو نمی مانید. دانلود به این معنی است که کل ویدیو به دستگاه شما کپی می شود، در حالی که استریم به این معنی است که دستگاه شما به طور مداوم جریان های ویدیویی را از منابع ویدیویی راه دور دریافت می کند. هنگام تماشای ویدیوهای استریم، کلاینت شما مقداری از داده را در هر بار بارگذاری می کند تا بتوانید ویدیوها را بلافاصله و بدون وقفه تماشا کنید.قبل از اینکه جریان استریم ویدیو را بررسی کنیم، یک مفهوم مهم را مرور می کنیم: پروتکل استریم. این یک روش استاندارد برای کنترل انتقال داده برای استریم ویدیو است. پروتکل های استریم پرطرفدار عبارتند از:•پروتکل MPEG-DASH. MPEG مخفف &quot;گروه متخصصان تصاویر متحرک&quot; و DASH مخفف &quot;استریم تطبیقی پویا از طریق HTTP&quot; است.•پروتکل  Apple HLS. HLS مخفف &quot;استریم زنده از طریق HTTP&quot; است.•پروتکل  Microsoft Smooth Streaming.• پروتکل Adobe HTTP Dynamic Streaming (HDS).شما نیازی ندارید که این نام های پروتکل استریم را کاملاً بفهمید یا حتی به خاطر بسپارید، زیرا آنها جزئیات سطح پایین هستند که نیازمند دانش تخصصی خاص در این حوزه است. نکته مهم در اینجا درک این است که پروتکل های استریم مختلف از کدگذاری های ویدیویی و پلیرهای پخش متفاوتی پشتیبانی می کنند. هنگام طراحی یک سرویس استریم ویدیو، باید پروتکل استریم مناسب را برای پشتیبانی از موارد استفاده خود انتخاب کنید. برای اطلاعات بیشتر در مورد پروتکل های استریم، اینجا یک مقاله عالی وجود دارد .ویدیوها به طور مستقیم از CDN استریم می شوند. نزدیک ترین سرور به شما، ویدیو را ارائه خواهد کرد. بنابراین، تاخیر بسیار کمی وجود دارد.عمیق‌تر شدن در طراحیدر طراحی سطح بالا، کل سیستم به دو بخش بارگذاری ویدیو و جریان پخش ویدیو تقسیم شده است. در این بخش، هر دو جریان را با بهینه سازی های مهم و معرفی مکانیزم های رفع خطا، تکمیل خواهیم کرد.رمزگذاری مجدد ویدیوزمانی که یک ویدیو را ضبط می کنید، دستگاه (معمولاً گوشی یا دوربین) به فایل ویدیو یک فرمت خاصی می دهد. اگر می خواهید ویدیو به صورت صاف روی دستگاه های دیگر پخش شود، باید ویدیو را به نرخ بیت و فرمت های سازگار رمزگذاری کنید. نرخ بیت میزان پردازش بیت در واحد زمان است. یک نرخ بیت بالاتر معمولاً به معنای کیفیت ویدیو بالاتر است. جریان های با نرخ بیت بالا نیازمند توان پردازش و سرعت اینترنت بالا هستند.رمزگذاری مجدد ویدیو به دلایل زیر مهم است:• ویدیوی خام حجم زیادی از فضای ذخیره سازی را اشغال می کند. یک ویدیوی تعریف بالا یک ساعته که با 60 فریم در ثانیه ضبط شده است، می تواند چندصد گیگابایت فضا اشغال کند.• بسیاری از دستگاه ها و مرورگرها تنها پشتیبانی از انواع خاصی از فرمت ویدیو را دارند. بنابراین برای سازگاری، رمزگذاری ویدیو به فرمت های مختلف ضروری است.• برای اطمینان از اینکه کاربران ویدیوهای با کیفیت بالا را تماشا می کنند و در عین حال پخش صاف را نیز تجربه می کنند،ارائه ویدیوی با رزولوشن بالاتر به کاربرانی که پهنای باند بالایی دارند و ویدیوی با رزولوشن پایین تر به کاربرانی که پهنای باند پایینی دارند، یک ایده خوب است.• شرایط شبکه می تواند تغییر کند،به خصوص در دستگاه های تلفن همراه. برای اطمینان از پخش پیوسته ویدیو، امکان تغییر کیفیت ویدیو به صورت خودکار یا دستی بر اساس شرایط شبکه، برای تجربه کاربری صاف ضروری است.انواع مختلفی از فرمت های رمزگذاری وجود دارد؛ اما بیشتر آنها شامل دو بخش هستند:• کانتینر: این مانند یک سبد است که فایل ویدیو، صدا و متادیتا را در خود جای می دهد. می توانید فرمت کانتینر را از طریق پسوند فایل، مانند .avi، .mov یا .mp4تشخیص دهید.• کدک ها: الگوریتم های فشرده سازی و فشرده گشایی هستند که هدفشان کاهش اندازه ویدیو در حالی که کیفیت ویدیو را حفظ می کنند. پرکاربردترین کدک های ویدیویی عبارتند از H.264، VP9 و HEVC.مدل گراف بی چرخه جهت دار (DAG Directed acyclic graph)رمزگذاری مجدد یک ویدیو بسیار پرهزینه از نظر محاسباتی و زمان گیر است. علاوه بر این، ممکن است سازندگان محتوا نیازمندی های مختلفی برای پردازش ویدیو داشته باشند. به عنوان مثال، برخی سازندگان محتوا ممکن است نیازمند درج واترمارک بر روی ویدیوهای خود باشند، برخی تصاویر کوچکی  را کنار ویدیو خودشان آپلود می کنند در حالی که دیگران این کار را نمی کنند. برای پشتیبانی از خط پردازش ویدیوهای مختلف و حفظ موازی سازی بالا، ایجاد سطحی از انتزاع و اجازه دادن به برنامه نویسان برای تعریف کارهایی که باید اجرا شوند، مهم است. به عنوان مثال، موتور پخش ویدیوی فیس بوک از یک مدل برنامه نویسی گراف بی چرخه جهت دار (DAG) استفاده می کند که کارها را در مراحل مختلف  تعریف می کند تا بتوانند به صورت متوالی یا موازی اجرا شوند .در طراحی ما، ما نیز از یک مدل DAG مشابه برای دستیابی به انعطاف پذیری و موازی سازی استفاده می کنیم.شکل زیر یک DAG برای رمزگذاری مجدد ویدیو را نشان می دهد.در شکل زیر ، ویدیوی اصلی به ویدیو، صدا و متادیتا تقسیم می شود. برخی از کارهایی که می تواند بر روی یک فایل ویدیویی اعمال شود، عبارتند از:• بازرسی: اطمینان از کیفیت خوب ویدیوها و عدم وجود اشکال در آنها.• رمزگذاری ویدیو: ویدیوها برای پشتیبانی از رزولوشن های مختلف، کدک، نرخ بیت و غیره تبدیل می شوند.• تصویر بندانگشتی: تصاویر بندانگشتی می توانند توسط کاربر بارگذاری شوند یا به طور خودکار توسط سیستم تولید شوند.• واترمارک: یک تصویر روی ویدیوی شما که حاوی اطلاعات شناسایی در مورد ویدیوی شماست.معماری رمزگذاری مجدد ویدیومعماری پیشنهادی برای رمزگذاری مجدد ویدیو که از خدمات ابری بهره می برد، در شکل زیر نشان داده شده است.این معماری شش جزء اصلی دارد: پیش پردازشگر، برنامه‌ریز DAG، مدیر منابع، نیروهای کاری، ذخیره‌سازی موقت و ویدیوی رمزگذاری شده به عنوان خروجی. بیایید نگاهی دقیق به هر یک از این اجزا بیندازیم.پیش پردازشگرپیش پردازشگر چهار  مسئولیت اصلی  دارد:1. تقسیم ویدیو. جریان ویدیو به گروه های کوچکتر تصاویر (GOP) تقسیم یا تقسیم بندی بیشتر می شود. GOP یک گروه/بلوک از فریم هایی است که به ترتیب خاصی چیده شده اند. هر بلوک یک واحد قابل پخش مستقل است که معمولا چند ثانیه طول می کشد.2. برخی از دستگاه های موبایل قدیمی یا مرورگرها ممکن است از تقسیم ویدیو پشتیبانی نکنند. پیش پردازشگر ویدیوها را با تراز GOP برای مشتریان قدیمی تقسیم می کند.3. تولید DAG. پردازشگر براساس فایل های پیکربندی که برنامه نویسان می نویسند، DAG را تولید می کند.4. پیش پردازنده یک حافظه نهان برای ویدیوهای تقسیم شده ایجاد می کند. برای افزایش قابلیت اطمینان، پیش پردازنده بخش‌های ویدیو (GOP) و اطلاعات توصیفی (متادیتا) را در یک فضای ذخیره‌سازی موقت نگهداری می‌کند. در صورت شکست در رمزگذاری ویدیو، سیستم می‌تواند از داده‌های ذخیره شده برای تلاش‌های مجدد استفاده کند.برنامه‌ریز گراف DAGگراف DAGوظایف واگذار شده رو تقسیم می‌کند و آنها را در صف وظایف به مدیر منابع می دهدهمانطور که در شکل زیر نشان داده شده است،ویدیوی اصلی به سه بخش تقسیم می‌شود:ویدیو، صدا و متادیتافایل ویدیو خودش به دو بخش دیگر رمزگذاری ویدیو و تصاویر بندانگشتی تقسیم می شودفایل صوتی هم نیاز به رمزگذاری صدا به عنوان بخشی از وظایف دارد.مدیر منابعمدیر منابع مسئول مدیریت کارایی تخصیص منابع را دارد که شامل سه صف و یک برنامه‌ریز وظایف است،1. صف وظایف (Task Queue): یک صف اولویت دار که شامل وظایف در انتظار اجرا می‌باشد.2. صف پردازنده ها (Worker Queue): این یک صف با اولویت است که شامل اطلاعات استفاده از پردازنده ها می‌باشد.3. صف در حال اجرا (Running Queue): این صف شامل اطلاعات مربوط به وظایف و پردازنده های در حال اجرا می‌باشد.4. برنامه‌ریز وظایف (Task Scheduler): بهترین وظیفه/پردازنده را انتخاب می‌کند و به پردازنده انتخاب شده دستور اجرای کار را می‌دهد.عملکرد مدیر منابع به این شرح است:- برنامه‌ریز وظایف، وظیفه با بالاترین اولویت را از صف وظایف دریافت می‌کند.- برنامه‌ریز وظایف، بهترین پردازنده را برای اجرای وظیفه از صف پردازنده ها را انتخاب می‌کند.- برنامه‌ریز وظایف به پردازنده انتخاب شده دستور اجرای وظیفه را می‌دهد.- برنامه‌ریز وظایف، اطلاعات وظیفه/پردازنده را پیوند می‌دهد و در صف در حال اجرا قرار می‌دهد.- برنامه‌ریز وظایف، پس از اتمام کار، آن را از صف در حال اجرا حذف می‌کند.ذخیره ساز موقت:در این سیستم از چندین سیستم ذخیره سازی استفاده می شود. انتخاب سیستم ذخیره سازی بستگی به عواملی مانند نوع داده، اندازه داده، تناوب دسترسی، طول عمر داده و غیره دارد. به عنوان مثال، پردازنده ها به طور مکرر به متادیتا دسترسی دارند و معمولا اندازه داده ها کوچک است. بنابراین، ذخیره سازی متادیتا در حافظه ایده خوبی است. برای داده های ویدیویی یا صوتی، آنها را در ذخیره سازی Blobقرار می دهیم. داده های موجود در ذخیره ساز موقت، پس از تکمیل پردازش ویدیوی مربوطه، آزاد می شوند.بهینه سازی سیستم: در این مرحله، شما باید درک خوبی از جریان آپلود ویدیو، جریان استریم ویدیو و کدگذاری مجدد ویدیو داشته باشید. در ادامه، با بهینه سازی هایی شامل سرعت، ایمنی و صرفه جویی در هزینه، سیستم را بهبود می بخشیم.بهینه سازی سرعت: آپلود موازی ویدیوآپلود یک ویدیو به صورت یکپارچه ناکارآمد است. می توانیم ویدیو را با تراز GOPبه قطعات کوچک تر تقسیم کنیم، همانطور که در شکل زیر نشان داده شده است. این امکان آپلود با قابلیت از سرگیری سریع را در صورت شکست آپلود قبلی فراهم می کند. وظیفه تقسیم فایل ویدیو با تراز GOP می تواند توسط کلاینت برای بهبود سرعت آپلود پیاده سازی شود،بهینه سازی سرعت: قرار دادن مراکز آپلود نزدیک به کاربرانراه دیگر برای بهبود سرعت آپلود، ایجاد چندین مرکز آپلود در سراسر جهان است ، افراد در ایالات متحده می توانند ویدیوها را به مرکز آپلود آمریکای شمالی آپلود کنند و افراد در چین می توانند ویدیوها را به مرکز آپلود آسیایی آپلود کنند. برای انجام این کار، از CDN به عنوان مراکز آپلود استفاده می کنیم.بهینه سازی سرعت: موازی سازی همه جانبهدستیابی به تاخیر پایین نیازمند تلاش‌های جدی است. یک روش بهینه‌سازی دیگر، ایجاد یک سیستم گسسته و فعال‌سازی موازی‌سازی بالا است. طراحی ما نیازمند برخی تغییرات برای دستیابی به موازی‌سازی بالا است. بیایید به جریان انتقال یک ویدیو از فضای ذخیره‌سازی اصلی به CDN نزدیک‌تر شویم. این جریان در شکل زیر  نشان داده شده است که خروجی بستگی به ورودی مرحله قبلی دارد. این وابستگی، موازی‌سازی را دشوار می‌کند. برای ایجاد یک سیستم گسسته‌تر، ما صف‌های پیام را همانطور که در شکل قبلی نشان داده شده است، معرفی کردیم. بیایید با یک مثال توضیح دهیم که چگونه صف‌های پیام، سیستم را گسسته‌تر می‌کنند:- قبل از معرفی صف پیام، ماژول رمزگذاری باید منتظر خروجی ماژول دانلود بماند.- بعد از معرفی صف پیام، ماژول رمزگذاری دیگر نیازی به انتظار برای خروجی ماژول دانلود ندارد. اگر رویدادهایی در صف پیام وجود داشته باشد، ماژول رمزگذاری می‌تواند آن کارها را به صورت موازی اجرا کند.بهینه سازی ایمنی: آدرس آپلود از پیش امضا شدهایمنی یکی از مهمترین جنبه های هر محصول است. برای اطمینان از آپلود ویدیوها توسط کاربران مجاز در مکان درست، از آدرس های از پیش امضا شده استفاده می کنیم.جریان آپلود به شرح زیر به روز شده است:1. کلاینت یک درخواست HTTPبه سرورهای API برای دریافت آدرس از پیش امضا شده ارسال می کند که اجازه دسترسی به شیء شناسایی شده در آدرس را می دهد. اصطلاح آدرس از پیش امضا شده برای آپلود فایل ها به Amazon S3استفاده می شود. ارائه دهندگان دیگر سرویس ابری ممکن است از نام متفااتی استفاده کنند. به عنوان مثال، Microsoft Azure Blob Storageاز همین ویژگی با نام &quot;Shared Access Signature&quot; پشتیبانی می کند.2. سرورهای API به آدرس از پیش امضا شده پاسخ می دهند.3. پس از دریافت پاسخ، کلاینت ویدیو را با استفاده از آدرس از پیش امضا شده آپلود می کند.بهینه سازی ایمنی: ویدیوهای خود را محافظت کنیدبسیاری از سازندگان محتوا از آپلود ویدیو های آنلاین واهمه دارند زیرا نگران سرقت ویدیوهای اصلی هستند. برای محافظت از ویدیوهای دارای کپی رایت، می توانیم یکی از سه گزینه ایمنی زیر را اعمال کنیم:• سیستم های مدیریت حقوق دیجیتال (DRM):سه سیستم DRM اصلی Apple FairPlay، Google Widevineو Microsoft PlayReady هستند.• رمزگذاری AES: می توانید یک ویدیو را رمزگذاری کنید و یک سیاست احراز هویت پیکربندی کنید. ویدیوی رمزگذاری شده در زمان پخش رمزگشایی می شود. این امر اطمینان می دهد که فقط کاربران مجاز می توانند یک ویدیوی رمزگذاری شده را تماشا کنند.• واترمارک تصویری: این یک تصویر روی ویدیوی شماست که حاوی اطلاعات شناسایی برای ویدیوی شماست. می تواند لوگو یا نام شرکت شما باشد.بهینه سازی و صرفه جویی در هزینهسی دی ان CDN یک جزء حیاتی سیستم ما است. که تحویل سریع ویدیو در مقیاس جهانی را تضمین می کند. اما از محاسبات سرانگشتی می دانیم که CDNگران است، به ویژه زمانی که اندازه داده بزرگ است. چگونه می توانیم هزینه را کاهش دهیم؟ تحقیقات قبلی نشان می دهد که جریان ویدیویی یوتیوب از توزیع دنباله بلند پیروی می کند. این بدان معناست که تعداد کمی از ویدیوهای محبوب به طور مکرر دسترسی می شوند اما بسیاری دیگر تعداد کم یا هیچ بیننده ای ندارند. بر اساس این مشاهده، چند بهینه سازی را پیاده می کنیم:1. فقط ویدیوهای محبوب را از CDN ارائه کنید و سایر ویدیوها را از ظرفیت زیر ساخت خودمون استفاده کنیم.2. برای محتوای با محبوبیت کمتر ، ممکن است نیازی به ذخیره نسخه های رمزگذاری شده متعدد ویدیو نباشد. ویدیوهای کوتاه می توانند در زمان درخواست رمزگذاری شوند.3. برخی ویدیوها فقط در مناطق خاصی محبوب هستند. نیازی به توزیع این ویدیوها در سایر مناطق نیست.4. مانند نتفلیکس، CDN خودتان را بسازید و با ارائه دهندگان خدمات اینترنت (ISP) همکاری کنید. ساخت CDN خود یک پروژه عظیم است؛ با این حال، این می تواند برای شرکت های بزرگ استریمینگ منطقی باشد. یک ISP می تواند Comcast، AT&amp;T، Verizon یا ارائه دهندگان دیگر اینترنت باشد. ISP ها در سراسر جهان واقع شده اند و به کاربران نزدیک هستند. با مشارکت با ISP ها، می توانید تجربه تماشا را بهبود بخشید و هزینه پهنای باند را کاهش دهید.تمام این بهینه سازی ها بر اساس محبوبیت محتوا، الگوی دسترسی کاربر، اندازه ویدیو و غیره است. قبل از انجام هر بهینه سازی، تجزیه و تحلیل الگوهای تماشای تاریخی مهم است.پردازش خطابرای یک سیستم در مقیاس بزرگ، خطاهای سیستمی اجتناب‌ناپذیر است. برای ایجاد یک سیستم با تحمل‌پذیری خطای بالا، باید خطاها را به نحو مناسب مدیریت کنیم و به سرعت بازیابی شویم.در این سیستم با  دو نوع خطا مواجه هستیم :• خطای قابل بازیابی. برای خطاهای قابل بازیابی مانند شکست در رمزگذاری بخشی از ویدیو، ایده اصلی این است که عملیات را چندین بار تکرار کنیم. اگر وظیفه همچنان با شکست مواجه شود و سیستم معتقد باشد که قابل بازیابی نیست، کد خطای مناسب را به کلاینت برمی‌گرداند.• خطای غیرقابل بازیابی. برای خطاهای غیرقابل بازیابی مانند فرمت ویدیوی نامناسب، سیستم وظایف در حال اجرای مرتبط با ویدیو را متوقف می‌کند و کد خطای مناسب را به کلاینت برمی‌گرداند.خطاهای معمول برای هر جزء سیستم• خطای آپلود: چندین بار تلاش کنید.• خطای تقسیم ویدیو: اگر نسخه‌های قدیمی‌تر کلاینت نتوانند ویدیوها را با تراز GOP تقسیم کنند، کل ویدیو به سرور ارسال می‌شود. وظیفه تقسیم ویدیوها در سمت سرور انجام می‌شود.• خطای رمزگذاری: تلاش مجدد.• خطای پیش‌پردازنده: نمودار DAGرا دوباره ایجاد کنید.• خطای برنامه‌ریز DAG: وظیفه را دوباره زمانبندی کنید.• صف مدیر منابع از کار افتاد: از یک نسخه پشتیبان استفاده کنید.• پردازنده وظیفه از کار افتاد: وظیفه را روی یک پردازنده جدید تکرار کنید.• سرور API از کار افتاد: سرورهای API بدون وضعیت هستند، بنابراین درخواست‌ها به یک سرور APIدیگر هدایت می‌شوند.• سرور کش متادیتا از کار افتاد: داده‌ها چندین بار تکثیر می‌شوند. اگر یک گره از کار بیفتد، می‌توانید از گره‌های دیگر برای دریافت داده‌ها استفاده کنید. می‌توانیم یک سرور کش جدید را برای جایگزینی سرور از کارافتاده راه‌اندازی کنیم.• سرور پایگاه داده متادیتا از کار افتاد:- اگر نود اصلی (primary) از کار بیفتد، یکی از نودهای پشتیبان (secondary) را به عنوان نود اصلی جدید ارتقا دهید.- اگر یک نود پشتیبان از کار بیفتد، می توانید از یک نود پشتیبان دیگر برای خواندن داده استفاده کنید و یک سرور پایگاه داده جدید را به جای نود از کار افتاده راه اندازی نمایید.جمع‌بندیاگر در انتهای مصاحبه زمان اضافی باقی مانده باشد، اینجا چند نکته اضافی وجود دارد:• مقیاس‌پذیری سطح API: از آنجایی که سرورهای APIبدون وضعیت هستند، مقیاس‌پذیری افقی سطح APIآسان است.• مقیاس‌پذیری پایگاه داده: می‌توانید درباره تکثیر و شاردینگ پایگاه داده صحبت کنید.• استریم زنده: به فرایند ضبط و پخش ویدیو در زمان واقعی اشاره دارد. اگرچه سیستم ما به طور خاص برای استریم زنده طراحی نشده است، استریم زنده و استریم غیرزنده شباهت‌هایی دارند: هر دو نیازمند آپلود، رمزگذاری و استریمینگ هستند. تفاوت‌های قابل توجه عبارتند از:- استریم زنده نیاز به تاخیر کمتری دارد، بنابراین ممکن است نیازمند پروتکل استریمینگ متفاوتی باشد.- استریم زنده نیاز به موازی‌سازی کمتری دارد، زیرا قطعات کوچک داده در زمان واقعی پردازش می‌شوند.- استریم زنده نیازمند مجموعه‌های متفاوتی از پردازش خطا است. هر پردازش خطایی که زمان زیادی را می‌گیرد، قابل قبول نیست.• حذف ویدیو: ویدیوهایی که حقوق مالکیت معنوی، مستهجن یا سایر اعمال غیرقانونی را نقض می‌کنند، باید حذف شوند. برخی از آنها ممکن است در طول فرایند آپلود توسط سیستم کشف شوند، در حالی که برخی دیگر ممکن است از طریق گزارش کاربران کشف شوند.</description>
                <category>رحیم قاسمی</category>
                <author>رحیم قاسمی</author>
                <pubDate>Tue, 28 May 2024 09:45:25 +0330</pubDate>
            </item>
                    <item>
                <title>بخش اول : مقدمه کتاب (Domain Driven Design)</title>
                <link>https://virgool.io/@enghasemi/%D8%A8%D8%AE%D8%B4-%D8%A7%D9%88%D9%84-%D9%85%D9%82%D8%AF%D9%85%D9%87-%DA%A9%D8%AA%D8%A7%D8%A8-domain-driven-design-h5dm6dxea6kf</link>
                <description>پیش گفتاربسیاری از عوامل باعث پیچیدگی توسعه نرم افزار می شوند. اما هسته اصلی این پیچیدگی، ذات درهم تنیده دامنه مسئله است.اگر قصد دارید تا اتوماسیونی را به فعالیت های پیچیده انسانی اضافه کنید، نرم افزار شما نمی تواند از این پیچیدگی طفره برود - تنها کاری که می تواند انجام دهید کنترل آن است.کلید کنترل پیچیدگی، یک مدل دامنه خوب است، مدلی که فراتر از دید سطحی از یک دامنه عمل می کند و با معرفی یک ساختار زیربنایی که اهرم مورد نیاز را به توسعه دهندگان نرم افزار می دهد. یک مدل دامنه خوب می تواند بسیار با ارزش باشد، اما ساختن آن کار ساده ای نیست. افراد کمی می توانند آن را به خوبی ایجاد کنند و آموزش آن بسیار سخت است.اریک ایوانز یکی از معدود کسانی است که می تواند مدل های دامنه را به خوبی ایجاد کند. من این مورد رو زمان همکاری با او کشف کردم - یکی از آن لحظات فوق العاده که شما همکاری را پیدا می کنید که از شما حرفه ای تر است. همکاری ما کوتاه اما بسیار لذت بخش بود.این کتاب به گونه ای تکامل یافته است که جاه طلبی بزرگی را برآورده می کند: توصیف و ایجاد واژگانی در مورد هنر مدل سازی دامنه. برای ارائه یک چارچوب مرجع که از طریق آن بتوانیم این فعالیت را توضیح دهیم و همچنین این مهارت را که به سختی آموخته می شود ، آموزش دهیم. این کتاب با شکل گیریش ایده های جدید زیادی به من داده است و اگر حتی افراد باتجربه در مدل سازی مفهومی ، انبوهی از ایده های جدید را از خواندن این کتاب دریافت نکنند، شگفت زده خواهم شد. همچنین بسیاری از چیزهایی را که در طول سال ها آموخته ایم تثبیت می کند. اول، در مدل سازی دامنه، نباید مفاهیم را از پیاده سازی جدا کنید.دوم شما نمی توانید یک مدل مفهومی مفید بدون در نظر گرفتن مسائل پیاده سازی بسازید. اما دلیل اصلی اینکه چرا مفاهیم و پیاده سازی به هم تعلق دارند این است که با ارزش ترین مدل های دامنه دارای  یک زبان فراگیر هستند که متخصصان دامنه و متخصصان فنی را به هم پیوند می دهد.درس دیگری که از این کتاب خواهید گرفت این است که مدل های دامنه ابتدا مدل سازی و سپس اجرا نمی شوند. من رویکرد مرحله‌ای «اول طراحی، سپس ساخت» را رد کرده‌ام. اما تجربه اریک این است که مدل‌های دامنه واقعاً قدرتمند با گذشت زمان تکامل می‌یابند، و حتی با تجربه‌ترین مدل‌سازان متوجه می‌شوند که بهترین ایده‌های خود را پس از انتشار اولیه یک سیستم به دست می‌آورند.فکر می کنم و امیدوارم که این کتاب ، کتابی تأثیرگذار باشد. کتابی که ساختار و انسجام را به حوزه ای بسیار ناپایدار اضافه کند و در عین حال به بسیاری از افراد نحوه استفاده از یک ابزار ارزشمند را آموزش دهد. مدل‌های دامنه می‌توانند تأثیرات بزرگی در کنترل توسعه نرم‌افزار داشته باشند - صرف نظر از زبانی که در آن پیاده‌سازی می‌شوند یا محیطی که در آن قرار دارند.یک نکته نهایی اما مهم. یکی از چیزهایی که بیشتر در مورد این کتاب به آن احترام می گذارم این است که اریک از صحبت کردن در مورد زمان هایی که موفق نبوده است، نمی ترسد. اکثر نویسندگان دوست دارند فضایی ایده آل و همه جانبه را حفظ کنند. اریک این موضوع را روشن می کند که مانند اکثر ما، او هم طعم موفقیت و ناامیدی را چشیده است. نکته مهم این است که او می تواند از هر دو آن ها بیاموزد - و مهمتر از آن برای ما این است که او می تواند درس های خود را منتقل کند.مارتین فولر آوریل ۲۰۰۳مقدمهحداقل بیست سال است که، طراحان پیشرو نرم افزار، مدل‌سازی و طراحی دامنه را جزو موضوعات  حیاتی می‌دانند، با این حال، به طرز شگفت‌انگیزی در مورد آنچه که باید انجام شود یا چگونه آن را انجام دهیم، نوشته‌های کمی وجود دارد. اگرچه هرگز به طور واضح ساختاربندی نشده است، اما فلسفه‌ای به عنوان یک جریان زیرزمینی در جامعه‌ی برنامه‌نویسی شیءگرا پدیدار شده است، فلسفه‌ای که من آن را طراحی هدایت‌شده توسط دامنه (DDD) می‌نامم.ده سال گذشته را صرف توسعه سیستم‌های پیچیده در چندین حوزه تجاری و فنی کرده‌ام. در کارم، بهترین شیوه‌ها را در فرآیند طراحی و توسعه، همانطور که از رهبران توسعه شیءگرا پدیدار شده است، به کار گرفته‌ام. برخی از پروژه‌های من بسیار موفق بودند؛ چند مورد هم شکست خوردند.ویژگی مشترک موفقیت‌ها، یک مدل دامنه‌ی غنی بود که از طریق تکرارهای طراحی تکامل یافت و به بخشی از بافت پروژه تبدیل شد. این کتاب چارچوبی برای تصمیم‌گیری در مورد طراحی و واژگان فنی برای بحث در مورد طراحی دامنه ارائه می‌دهد. این کتاب ترکیبی از بهترین شیوه‌های پذیرفته‌شده به همراه بینش‌ها و تجربیات خودم است. تیم‌های توسعه نرم افزار که با دامنه‌های پیچیده مواجه هستند، می‌توانند از این چارچوب برای رویکرد سیستماتیک به طراحی هدایت‌شده توسط دامنه استفاده کنند.مقایسه سه پروژهسه پروژه به عنوان نمونه‌هایی ، گویا  از اینکه چگونه رویکرد طراحی دامنه می‌تواند بر نتایج توسعه تأثیر بگذارد، در حافظه من برجسته هستند. اگرچه هر سه پروژه ، نرم‌افزار مفیدی را ارائه کردند، اما تنها یک پروژه به اهداف بلندپروازانه خود دست یافت و نرم‌افزار پیچیده‌ای تولید کرد که نیازهای مداوم سازمان به تکامل را برآورده نمود.پروژه اول یک سیستم معاملات مبتنی بر وب بصورت ساده و مفید بود ، که به سرعت از مرحله شروع عبور کرد. توسعه‌دهندگان بدون هیچ برنامه‌ریزی مشخصی پیش می‌رفتند، اما این موضوع مانع آنها نمی‌شد زیرا نرم‌افزارهای ساده را می‌توان با توجه کمی به طراحی نوشت. در نتیجه این موفقیت اولیه، انتظارات را برای توسعه‌های آتی بسیار بالا برد. بعد از اتمام نسخه اولیه از من خواسته شد روی نسخه دوم کار کنم. وقتی نگاهی دقیق انداختم، دیدم که پروژه فاقد یک مدل دامنه یا حتی یک زبان مشترک در پروژه است و گرفتار یک طراحی بدون ساختار شده‌اند. مدیران پروژه با ارزیابی من موافق نبودند و من آن کار را رد کردم. در نتیجه یک سال بعد، مدیران پروژه ، تیم خود را در یک منجلاب ایجاد شده از ساختارنیافتگی پروژه اولیه دیدند  و نتوانستند نسخه دوم را ارائه دهند. اگرچه استفاده آنها از فناوری نمونه بارز نبود، اما منطق کسب و کار بود که بر آنها غلبه کرده بود . اولین انتشار آنها به طور زودرس به یک سیستم قدیمی با نیاز به نگهداری بالا تبدیل شده بود. شکستن این سقف پیچیدگی نیازمند رویکردی جدی‌تر به طراحی منطق دامنه بود.در اوایل کارم، خوشبختانه در پروژه‌ای قرار گرفتم که  موسسین آن به اهمیت  طراحی دامنه تأکید داشتند. این پروژه، به کمک یک طراحی دامنه اولیه با یک موفقیت متوسط ​​شروع شد و یک برنامه کاربردی ساده برای معامله‌گران ارائه داد. اما در این مورد، پس از ارائه نسخه اولیه، توسعه بصورت متوالی دنبال شد. هر تکرار، گزینه‌های جدید هیجان‌انگیزی را برای ادغام و گسترش عملکرد نسخه قبلی باز می‌کرد. تیم توانست با انعطاف‌پذیری و قابلیت‌های در حال گسترش به نیازهای معامله‌گران پاسخ دهد. این مسیر صعودی مستقیماً به یک مدل دامنه دقیق که بارها اصلاح شده و در کد بیان می‌شد تبدیل شد. با کسب اطلاعات جدید تیم از دامنه، مدل عمیق‌تر شد. کیفیت ارتباط نه تنها بین توسعه‌دهندگان بلکه بین توسعه‌دهندگان و متخصصان دامنه نیز بهبود یافت و طراحی، به جای تحمیل بار نگهداری سنگین‌تر، اصلاح و گسترش آن آسان‌تر شد.متاسفانه، پروژه‌ها صرفا با جدی گرفتن مدل‌ها به چنین چرخه موفقی نمی‌رسند. یکی از پروژه‌های گذشته‌ی من با آرزوهای بلندپروازانه برای ساخت یک سیستم سازمانی جهانی برپایه مدل دامنه آغاز شد، اما پس از سال‌ها ناامیدی، اهداف بلند پروازانه خودش رو کمتر کرد و به رویکردهای سنتی رضایت داد.تیم پروژه ابزارهای خوبی داشت و درک درستی از کسب و کار؛ همچنین توجه ویژه‌ای به مدل‌سازی داشتند. اما جداسازی نامناسب نقش‌های توسعه‌دهندگان، مدل‌سازی را از پیاده‌سازی جدا کرد و در نتیجه، طراحی منعکس کننده‌ی تحلیل عمیق در حال انجام نبود. در هر صورت، طراحی اشیاء تجاری با جزئیات کافی برای پشتیبانی از ترکیب آن‌ها در برنامه‌های کاربردی پیچیده به قدر کافی دقیق نبود. تکرارهای مکرر منجر به هیچ بهبودی در کد نشد، زیرا سطوح مهارتی توسعه‌دهندگان یکسان نبود و آن‌ها از مجموعه‌ی غیررسمی سبک و تکنیک‌های لازم برای ایجاد اشیاء مبتنی بر مدل که هم‌زمان به عنوان نرم‌افزار عملیاتی کاربردی باشند، آگاه نبودند. با گذشت ماه‌ها، کار توسعه در پیچیدگی گرفتار شد و تیم ،  چشم‌انداز منسجم خود از سیستم را از دست داد. پس از سال‌ها تلاش، پروژه نرم‌افزاری متوسطی تولید شد، اما تیم از بلندپروازی‌های اولیه‌ی خود دست کشیده بود و به رویکردی سنتی بسنده کرد.</description>
                <category>رحیم قاسمی</category>
                <author>رحیم قاسمی</author>
                <pubDate>Mon, 13 May 2024 14:36:17 +0330</pubDate>
            </item>
                    <item>
                <title>اگر آگهی استخدام راننده ها مثل آگهی استخدام برنامه نویس ها بود!</title>
                <link>https://virgool.io/@enghasemi/%D8%A7%DA%AF%D8%B1-%D8%A2%DA%AF%D9%87%DB%8C-%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-%D8%B1%D8%A7%D9%86%D9%86%D8%AF%D9%87-%D9%87%D8%A7-%D9%85%D8%AB%D9%84-%D8%A2%DA%AF%D9%87%DB%8C-%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3-%D9%87%D8%A7-%D8%A8%D9%88%D8%AF-ggudkehld1gu</link>
                <description>عنوان شغل: رانندهمهارتهای مورد نیاز:رانندگی حرفه ای با خودروهای معمولی،سنگین، و بارکش، اتوبوس و تراکتور،تریلی،قطار،مترو،بیل مکانیکی،کمباین،تانکهای مدرن و تانکهای جنگ جهانی اول و کلیه خودروهای زرهی که در حال حاضر در کشورهای عضو ناتو استفاده میشود.توانایی راندن ماشینهای رالی الزامی است و داشتن مهارت و تجربه با خودروهای فرمول یک امتیاز محسوب میشود.دانش و تجربه در تعمیر موتورهای پیستونی و آشنایی کامل با موتورهای کاربرات و انژکتور و سیستم دنده اتوماتیک و دستی بعلاوه انواع روشهای احتراق چند زمانه وسیستم ای بی اس، ای بی دی،جی پی اسو سیستمهای پخش تولید کننده های عمده خودرو در جهان جزء ملزومات استدر استخدام داشتن تجربه رنگ کاری و صافکاری نکته مثبت تلقی خواهد شد.حقوق و مزایا:دریافت به موقع حقوق وزارت کار در شش ماه اول و سپس افزایش حقوق بنابر تشخیص مدیر همچنین شما ازحق بیمه و ساعات ناهار و اجازه دوست شدن با بقیه راننده ها برخوردار هستید.عکس از وب سایت istok#برنامه_نویسی</description>
                <category>رحیم قاسمی</category>
                <author>رحیم قاسمی</author>
                <pubDate>Fri, 14 Aug 2020 01:42:57 +0430</pubDate>
            </item>
                    <item>
                <title>آیا #هوش_مصنوعی برنامه نویسان را بیکار خواهد کرد؟</title>
                <link>https://virgool.io/dataio/%D8%A2%DB%8C%D8%A7-%D9%87%D9%88%D8%B4%D9%85%D8%B5%D9%86%D9%88%D8%B9%DB%8C-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%D8%A7%D9%86-%D8%B1%D8%A7-%D8%A8%DB%8C%DA%A9%D8%A7%D8%B1-%D8%AE%D9%88%D8%A7%D9%87%D8%AF-%DA%A9%D8%B1%D8%AF-ywiq2e6mfu8h</link>
                <description>تکنولوژی تبدیل طرحی که روی کاغذ کشیده اید به قالب اچ تی ام الاین طرح که در ویدیو زیر مشاهده می کنید مربوط به شرکت مایکروسافت هستشsketch2codehttps://lnkd.in/gASyiGMو با دقت خوبی در حال پیشرفت هستش این سوال رو برای من پیش می آورد آیا بعد از تبدیل طرح کاغذی به قالب اچ تی ام ال آیا هوش مصنوعی نمی تواند برای آن کد نویسی و دیتا بیس ایجاد کند که مطمنا می تواند بلی درست است برنامه نویسی صرفا این موارد نیست تجزیه و تحلیل و خلاقیت و .... و سوال این است آینده برنامه نویسی چطور است نظر شما چیست ؟ https://www.aparat.com/v/H7ObD #برنامه_نویسی #هوش_مصنوعی</description>
                <category>رحیم قاسمی</category>
                <author>رحیم قاسمی</author>
                <pubDate>Fri, 31 Jul 2020 14:16:15 +0430</pubDate>
            </item>
                    <item>
                <title>تاثیر شغل برنامه نویسی بر زندگی من:</title>
                <link>https://virgool.io/coderlife/%D8%AA%D8%A7%D8%AB%DB%8C%D8%B1-%D8%B4%D8%BA%D9%84-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%A8%D8%B1-%D8%B2%D9%86%D8%AF%DA%AF%DB%8C-%D9%85%D9%86-cvev3pn9f6ih</link>
                <description>تاثیر شغل برنامه نویسی بر زندگی من:دیروز دستم خورد استکان از روی میز افتاد شکست اولین چیزی که ذهنم اومدCtrl+zوقتی چیزی رو گم می کنم اولین چیزی که ذهنم میادCtrl+Fهر بار صبح میخوام رختتوابمو یا کارایی روتین و تکراری روزانه رو انجام بدم با خودم میگم کاش میشد یه اسکریپت نوشت و اجراش کرد?وقتی ظهر داشتم ساندویچ میخوردم همش داشتم به لایه های ساندویچم و Mvp و mvc فکر می کردم و درحالی که اروم داشتم تیکه ساندویچمو میجوییدم به آبجکت و ان کپسلیشن و ابسترکشن .... روی ساندویچم فکر می کرد ??وقتی چیزایی تکراری ازم میپرسن دلم میخواد به کش مراجعه کنن?حال ندارم رکوست بفرستم واسه حافظهبعضی از خاطرات رو گاهی وقتا دلم میخوادShift+Delete کنمو این داستان ادامه دارد ....‌.#برنامه_نویسی? #موفقیت #استارتاپ #طراحی_اپلیکیشن #طراحی_سایت? #همپادکو</description>
                <category>رحیم قاسمی</category>
                <author>رحیم قاسمی</author>
                <pubDate>Tue, 21 Jul 2020 23:07:00 +0430</pubDate>
            </item>
                    <item>
                <title>اسکریپت ساده برای دانلود ویدیو و متن از لینکدین</title>
                <link>https://virgool.io/@enghasemi/%D8%A7%D8%B3%DA%A9%D8%B1%DB%8C%D9%BE%D8%AA-%D8%B3%D8%A7%D8%AF%D9%87-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF-%D9%88%DB%8C%D8%AF%DB%8C%D9%88-%D9%88-%D9%85%D8%AA%D9%86-%D8%A7%D8%B2-%D9%84%DB%8C%D9%86%DA%A9%D8%AF%DB%8C%D9%86-nhcsl72o3eri</link>
                <description>با دوتا اسکریپت ساده یه پیچ بسازین تو وبتون و به کاربرانتون خدمات ارائه بدین یکی از مشکلات همیشگی کاربران زمان  کار با لینکدین مشکل دانلود ویدیو ها و کپی متن در داخل اپهمچنین در نسخه جدید وب حتی دانلود ویدیوهم محدود شده است .البته در نسخه وب با نصب دانلود منیجر و .... و یه سری ترفندهای دیگه میشه ویدیو رو هم دانلود کرد که خوب اکثر کاربرای غیر حرفه ای اینم بلد نیستن اما در مورد اپ موبایل که محدودیت کامله و به این راحتی ها نمیشه ویدیو دلخواه و ... رو دانلود کرد .جالبه نرم افزار های دانلودر هم روی گوشی دسترسی به دانلود ویدیو ها رو هم ندارن .اما یک سایتی داریم بنام https://www.keepoffline.com/ شما با کپی لینک ویدیو می تونید ویدیوتون رو دانلود کنید اما اما چشمتون روز بد نبینه اونقدر تبلیغات و پاپ آپ داره که پشیمون میشین وقتی میخوایین ویدیو رو دانلود کنید.خوب پس من دستبکار شدم یک ساعت وقت گذاشتم یه چندتا اسکریپت ساده نوشتم و در اختیار شما قرار میدمتا بتونین هم خودتون کاملترش کنید هم ازش استفاده کنید.نسخه ای که من نوشتم خیلی پرفکت نیست چون یک ساعت وقت گذاشتم اما شما می تونید کاملش کنید:لینک چیزی که نوشتم براتون:https://link.hampadco.irاسکریپت :
    function download_Video() {    var video = document.getElementsByTagName(&#039;video&#039;);      for (var i = 0; i &lt; vids.length; i++) {            .href = video.item(i).src;    }     }    function Copy_Text() {       var Text = document.getElementsByTagName(&#039;context&#039;);         alert&#40;Text.item(1&#41;.textContent);                                 }    function Get_Name() {      var Name_Profile = document.getElementsByTagName(&#039;ProfName&#039;);        alert&#40;Name_Profile&#40;4&#41;.textContent&#41;;
      }    function Get_Profile_Image() {        var Profile_Image= document.getElementsByTagName(&#039;ProfImage&#039;);          .href = Profile_Image.item(1).src;           }</description>
                <category>رحیم قاسمی</category>
                <author>رحیم قاسمی</author>
                <pubDate>Sun, 19 Apr 2020 13:32:11 +0430</pubDate>
            </item>
                    <item>
                <title>وقتی اینترنت یک #برنامه_نویس قطع می شود .</title>
                <link>https://virgool.io/@enghasemi/%D9%88%D9%82%D8%AA%DB%8C-%D8%A7%DB%8C%D9%86%D8%AA%D8%B1%D9%86%D8%AA-%DB%8C%DA%A9-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87%D9%86%D9%88%DB%8C%D8%B3-%D9%82%D8%B7%D8%B9-%D9%85%DB%8C-%D8%B4%D9%88%D8%AF-tadtukkndve8</link>
                <description>وقتی اینترنت یک #برنامه_نویس قطع می شود .این بازی قطع اینترنت گوگل کروم رو مخ بود  برای سرگرمی یکم تغییرش دادم مدت ویدیو 3 دقیقه دستوراتی که باید بعد از inspect  در داخل console  مرورگر بزنیدRunner.instance_.gameOver=function(){};Runner.instance_.setSpeed(100);برای تغییر کاراکتر بازی کافیه عکسی که به صورت بیس 64 اومده رو با عکسی که براتون زیر گذاشتم  به صورت بیس 64 درآورده و با عکس کاراکتر داخل element جایگزین کنید.#برنامه_نویسی https://www.aparat.com/v/0QgVd </description>
                <category>رحیم قاسمی</category>
                <author>رحیم قاسمی</author>
                <pubDate>Fri, 24 Jan 2020 12:04:56 +0330</pubDate>
            </item>
                    <item>
                <title>اگر منتظر #ایده ای ناب برای شروع #کسب_و_کارتان هستید،به نظر من در اشتباهید .</title>
                <link>https://virgool.io/@enghasemi/%D8%A7%DA%AF%D8%B1-%D9%85%D9%86%D8%AA%D8%B8%D8%B1-%D8%A7%DB%8C%D8%AF%D9%87-%D8%A7%DB%8C-%D9%86%D8%A7%D8%A8-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%B4%D8%B1%D9%88%D8%B9-%DA%A9%D8%B3%D8%A8%D9%88%DA%A9%D8%A7%D8%B1%D8%AA%D8%A7%D9%86-%D9%87%D8%B3%D8%AA%DB%8C%D8%AF%D8%A8%D9%87-%D9%86%D8%B8%D8%B1-%D9%85%D9%86-%D8%AF%D8%B1-%D8%A7%D8%B4%D8%AA%D8%A8%D8%A7%D9%87%DB%8C%D8%AF-yscdj2ibfypt</link>
                <description>برای راه اندازی کسب و کار موفق به ایده خاصی نیازی ندارید ؛حتی سودآوری کسب و کارتون ارتباط مستقیم با ایده خاص و  بکر نداره؛ حتی ایده های خاص تر دست و پا گیرترن و کلی باید برای رسیدن به سوددهی  زیر سازی بشه . هر چقدر ایده شما بزرگ و خاص و جدید باشه درصد شکست شما بیشتره ؛  گوگل اولین موتور جستوجوگر نبود . آمازون اولین فروشگاه اینترنتی نبود . مایکروسافت سیستم عاملی که باهاش کارش رو شروع کرد اصلا متعلق به خودش نبود. حتی کلیه استارتاپ های موفق داخلی هم اولین ها نبودند و نیستند. اگر می خواهید یک کسب و کار جدید موفق داشته باشید؛قبل از ایده  باید جذب مشتری رو شروع کنید ؛راه دستیبابی خلاقانه به مشتری رو پیدا کنید مثل بستنی آیس پک  دنبال ایده های خاص نباشد دنبال روش های خاص  ارایه به مشتری و روش های ارایه خلاقانه جدید به مشتری باشید . اگر دنبال کسب و کار موفق هستید؛ کسب و کارهای موفق  حال حاضر رو ببینید و به روش خلاقانه ارائه به مشتری فکر کنید . #استارتاپ #همپاد_کو #موفقیت #برنامه_نویسی</description>
                <category>رحیم قاسمی</category>
                <author>رحیم قاسمی</author>
                <pubDate>Fri, 14 Jun 2019 04:04:47 +0430</pubDate>
            </item>
                    <item>
                <title>پیاده سرباز زندگی</title>
                <link>https://virgool.io/@enghasemi/%D9%BE%DB%8C%D8%A7%D8%AF%D9%87-%D8%B3%D8%B1%D8%A8%D8%A7%D8%B2-%D8%B2%D9%86%D8%AF%DA%AF%DB%8C-m0dkf0teznqc</link>
                <description>&quot;در بازی شطرنج پیاده ضعیف ترین مهره ممکن در بازی است.پیاده ها ماهیتشان مراقبت کردن از دیگران است  پیاده ها همیشه سپر بلای شخصیت های پشت سرخود خواهند بودیک نوع فداکاری قابل تاملدر وجودشان میتوانی نوع پیشرفته ای از حس نترس بودن را لمس کنی حس کمیابی که نامش میشود &quot;نداشتن چیزی برای از دست دادن&quot;پیاده ها تنها مهره هایی هستند که حرکت به چپ و راست برایشان ممنوع استپیاده ها تنها مهره هایی هستند که حرکت رو به عقب برایشان غیر ممکن استبرایشان پرواز و جهشی وجود نداردو همه اینها درکنارهم یعنی اینکه در تقدیر پیاده ها فرار کردنی درکار نیست  یعنی پنهان شدن و دودل بودنی وجود نخواهد داشتتنها یک مسیر رو به جلو وجود دارد با تمام احتمالات خطرناکِ بینهایت اش هرگز نمیتوانی این را بفهمی که آیا قدم بعدی، قدم آخر است یانهوشاید برای همین است که واژه ی ترس بیگانه ترین لغت در ذهن پیاده هاستپیاده ها آهسته و پیوسته حرکت میکنند، درخیلی از جاها تنها میمانندتنهای تنهادرست همان هایی که در اول بازی سپر بلایشان بودی تنهایت میگذارندمیدانی تنها ماندن در میدان جنگ چه حسی دارد؟!در شطرنج یک قانون وجود دارد که در اصلاح نامش را ترفیع پیاده گذاشته اندقانونی که میگوید هر پیاده ای که به خانه آخر صفحه بازی برسدمیتواند به هر مهره ای که دوست دارد تبدیل شودبه هر مهره ای جز شاهمیدانی، بعداز آن راه طولانی و همه ی تهدیدات اشباهمه ناملایمتی هاباهمه تنها ماندن ها با همه سختی ها در آخر میتوانی به آن چیزی تبدیل شوی که دلت میخواهداز ضعیف ترین مهره تبدیل میشوی به ارزشمند ترین مهره بازیو این جوابی است برای تمام تنها ماندن هایت و تمام سختی های این مسیر طولانینمیدانم همه این سرنوشتی که روایتش کردم آدمی را یاد چه چیزهایی می اندازداما برای من همه اینها بینهایت شبیه زندگی استبینهایتمیخواهم همین را بگویم که روزی ما هم از پس این مسیر طولانی برمی آییمروزی که سختی های راه تمام میشودروزی که غم جرات بالا رفتن از سر و کولمان را نخواهد داشتروزی که هوای ابری و غروب روزهای تعطیل دلت را نمیلرزاندروزی که بعد از رفتن مهمان های مورد علاقه ات خلوت بودن خانه دیگر برایت دلگیر جلوه نخواهد کرد. روزی که از پس تمام رنج های زندگی و ملالت های دنیا به خانه ی آخر صفحه بازی میرسیخانه ی آخری که به تو می آموزدچطور ضعیف ترین مهره بازی میتواند روزی به ارزشمندترین مهره ی همان بازی تبدیل شود.</description>
                <category>رحیم قاسمی</category>
                <author>رحیم قاسمی</author>
                <pubDate>Wed, 12 Jun 2019 05:17:53 +0430</pubDate>
            </item>
                    <item>
                <title>آیا فناوری مفهوم عشق رو تغییر داده؟</title>
                <link>https://virgool.io/dataio/%D8%A2%DB%8C%D8%A7-%D9%81%D9%86%D8%A7%D9%88%D8%B1%DB%8C-%D9%85%D9%81%D9%87%D9%88%D9%85-%D8%B9%D8%B4%D9%82-%D8%B1%D9%88-%D8%AA%D8%BA%DB%8C%DB%8C%D8%B1-%D8%AF%D8%A7%D8%AF%D9%87-re1mf4lh8sbx</link>
                <description> شکی نیست که فناوری روش همسریابی ما رو عوض میکنه: ارسال ایمیل و پیامک، ایموجی ها برای بیان احساسات، سایت های همسریابی و شبکه های اجتماعی و شانس انتخاب بین هزار نفر در سایت ها و .... رو فراهم میکنه و  از طرفی باعث تغییر خواسته های ماهم شدن الان افراد دنبال کسایی هستند که بهشون اعتماد کنه و اونا رو محرم بدونه، کسی که اونا رو بخندونه، کسی که براشون وقت کافی بذاره و کسی که از نظر ظاهری جذاب باشه در حالی که قبل ترهاکسی رو می‌خواستن که باهاشون مصاحبت کنه حمایت مالی کنه و بچه داشته باشن ما از اقتصاد تولیدی?به اقتصاد خدماتی?رفتیم ؛  و مفاهیم جدیدی مثل  #فومو مخفف ترس از فرصت های از دست رفته، یا ترس به دست نیاوردن ؛ #ابهام_پایدار: ابهام پایدار وقتی ایجاد میشه که شما به شدت از تنهایی واهمه دارید، اما تمایلی هم ندارید با کسی وارد رابطه‌ی ازدواج بشید؛ #تناقض_انتخاب(حق انتخاب بیشتر و رضایت کمتر)؛ #اضافه_بار_شناختی ظاهرا ما وقتی قدرت انتخاب بین۵ تا ۹ گزینه رو دریافت کنیم هیچکدوم رو انتخاب نمیکنیم و افزایش دوره با هم بودن قبل ازدواج شده  اما با این همه فناوری مدرن قادر به تغییر فرد مورد علاقه‌مون نیست.  تحقیقات زیست شناسی شخصیت نشون میده که ۴ روش تفکر و رفتاری بزرگ در ما تکامل یافته که به سیستم دوپامین، سروتونین، تستوسترون، و استروژن مرتبطه افراد با سیستم #دوپامین کنجکاو، خلاق، خودانگیخته، و پر انرژی هستن اونا به سمت افراد مشابهشون میرن. افراد با سیستم #سروتونین ساده و سنتی و پیرو قوانین هستن، به مسئولین احترام میذارن، مذهبی هستند -- افراد سنتی به سمت افراد سنتی میرن. . در این  دو مورد موارد مشابه ها مجذوب همدیگر میشن در دو مورد بعدی ، متفاوت ها به هم جذب میشن. افراد با سیستم #تستوسترون تحلیلگر، منطقی، رک و قاطع هستند، و به افراد مخالفشون جذب میشن. کسانی که #استروژن بالایی دارند با  مهارت های کلامی و اجتماعی قوی، افراد شهودی، فرهیخته و احساساتین. در نتیجه الگوهای طبیعی در انتخاب همسر وجود داره </description>
                <category>رحیم قاسمی</category>
                <author>رحیم قاسمی</author>
                <pubDate>Sat, 01 Jun 2019 05:57:52 +0430</pubDate>
            </item>
                    <item>
                <title>دعای بعد نماز صبح یک برنامه نویس</title>
                <link>https://virgool.io/@enghasemi/%D8%AF%D8%B9%D8%A7%DB%8C-%D8%A8%D8%B9%D8%AF-%D9%86%D9%85%D8%A7%D8%B2-%D8%B5%D8%A8%D8%AD-%DB%8C%DA%A9-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3-nuiqsgjcpjix</link>
                <description>  خدایا. همه رو آپ تو دیت کن و به ورژن بهتری از خودشون تبدیل کن ؛ یا ستار العیوب باگ های همه رو برای کاربراش بپوشون و برای خودش آشکار کن تا زودتر رفعش کنه . خدایا گره از زبانم بگشا تا این مشتریا بهتر حرف منو بفهمن ?(وَاحْلُلْ عُقْدَهً مِّن لِّسَانِی یَفْقَهُوا قَوْلِی )  خدایا برای تمام کلمات کلیدی صفات خوبت یه گوگل اد وردز بزن برام. (به نظرم جواب خدا :عزیزم سئوتو بهتر کن ؛محتواتو قوی کن ؛کپی رایت و تقلید نکن !! تا همیشه صفحه اول باشی ? ) بارالها یه پروژه ی چاق و چله گیرم بیاد برای بعد تایم کاری شرکت اونم تو تخصص خودم ?. اَللَّهُمَّ ارْزُقنا رِزْقاً حَلاَلاً طَیِّباً مِنْ غَیْرِ کَدٍّ اِسْتَجِب بارالها کمک کن ظرفیت سیستممو ببرم بالا و سرعت پردازشمو افزایش بدم . إِنَّا فَتَحْنَا لَكَ فَتْحًا مُبِينًا ...... بارالها تمام مریضایه؛ من خفن ترینم رو شفا بده و منم به این درد مبتلا نکن .? اللَّهُمَّ اشْفِها بِشِفَائِکَ وَ دَاوِها بِدَوَائِکَ وَ عَافِها بِعَافیَتِک و بلاخره  خدایا کمک کن کش شم (Cash) تو حافظه روزگار اونم بدون بدون محدودیت اکسپایرد ? (مرده انست که نامش به نکویی نبرند ??) </description>
                <category>رحیم قاسمی</category>
                <author>رحیم قاسمی</author>
                <pubDate>Sat, 25 May 2019 12:17:30 +0430</pubDate>
            </item>
                    <item>
                <title>هوش مصنوعی رام نشدنی</title>
                <link>https://virgool.io/dataio/%D9%87%D9%88%D8%B4-%D9%85%D8%B5%D9%86%D9%88%D8%B9%DB%8C-%D8%B1%D8%A7%D9%85-%D9%86%D8%B4%D8%AF%D9%86%DB%8C-hsxu8otwdeq0</link>
                <description> https://www.aparat.com/v/R7QIM امروز وب سایتی رو میخوام بهتون معرفی کنم ؛ که هوش از سرتون میبره ?? وب سایت کپشن بوت متعلق به شرکت مایکروسافته ؛این وب سایت تقریبا همانند انسان می تونه تمام تصاویر رو با  تلرانس خیلی  خوبی درست  تشخیص بده ؛  من به صورت رندوم یک سری عکس رو از نت ذخیره کردم و چک کردم ؛ کاملا منو بهت زده کرد ؛اسامی افراد رو طوری میاره که انگار باهشون بزرگ شده و برای افراد غیر معروفم وضعیت شو میگه برای مثال من عکسی از خودمو زمان خوردن غذا قرار دادم و میگه یه فرد در ستوران پشت میز غذا خوری ??? ویدیو دو دقیقه ای زیر رو حتما از دست ندین ?? اینم ادرس وب سایتش: https://www.captionbot.ai/ #موفقیت #استارتاپ #برنامه_نویسی #هوش_مصنوعی #همپاد_کو</description>
                <category>رحیم قاسمی</category>
                <author>رحیم قاسمی</author>
                <pubDate>Sat, 18 May 2019 01:04:45 +0430</pubDate>
            </item>
                    <item>
                <title>عطر فروش و استاد مذاکره و فروش</title>
                <link>https://virgool.io/bazaryabi/%D8%B9%D8%B7%D8%B1-%D9%81%D8%B1%D9%88%D8%B4-%D9%88-%D8%A7%D8%B3%D8%AA%D8%A7%D8%AF-%D9%85%D8%B0%D8%A7%DA%A9%D8%B1%D9%87-%D9%88-%D9%81%D8%B1%D9%88%D8%B4-jlcsbmanhkw5</link>
                <description>در ادامه‌ی مسیر به یک دستفروش رسیدم که عطر می‌فروخت.هر عطری را که فکر می‌کردم چندصدهزار تومان یا چند میلیون تومان قیمت دارد به قیمت ۱۰ تا ۳۰ هزار تومان می‌فروخت.به او گفتم: خودت می‌دانی که عطر‌هایت اصل نیست؟ گفت: آره. هم من می‌دانم و هم مشتری مي‌داند. من راضی و او راضی است. شما ناراضی هستی؟ گفتم: «من که حرفی نزدم». اما چرا مردم عطر تقلبی می‌خرند؟گفت: عطر که لاستیک ماشین نیست که کیفیتش مهم باشه و بیشتر راه بره! عطر یک حس خوبه. کنارش نشستم و شروع به کار کردیم! چند تا مشتری را راهنمایی کردم. راضی نبود. ازم پرسید:راستی شغلت چیست؟ گفتم: «درس می‌دهم. مذاکره و فروش». کمی فکر کرد و گفت: «مذاکره؟ یعنی با این آمریکایی‌ها حرف می‌زنی؟ ندیدمت تو تلویزیون. فروش؟ تو که فروش اصلاً بلد نیستی!حرصم درآمد. مشتری آمد و یک عطر هوگو باس خواست. قیمتش ۲۰ تومان بود. گفتم: «آقا. ۲۰ تومانی دارد و ۴۵ تومانی هم دارد». مرد پرسید فرقش چیست؟ گفتم: حس شما! وقتی برای ادکلن ۴۵ تومن بدهید، جلوی مردم با احساس بهتری حاضر می‌شید. اما ادکلن ۲۰ تومانی همیشه یادتون میندازه که یک ادکلن تقلبی آنهم از نوع ارزان آن را استفاده کرده‌اید.مرد خندید و یک تراول ۵۰ تومانی گذاشت و عطر را برد.لبخندی زدم و دست روی شانه‌اش گذاشتم و گفتم: «من دستفروشی را می‌فهمم. خوب هم می‌فهمم». حرف عجیبی زد: «برای یک ساعت دستفروشی هزار حقه وجود دارد. اما برای یک عمر دستفروشی، بهتر است کار را راحت‌تر بگیری!». حرفش منطقی بود.  استاد شعبانعلی </description>
                <category>رحیم قاسمی</category>
                <author>رحیم قاسمی</author>
                <pubDate>Thu, 16 May 2019 06:03:13 +0430</pubDate>
            </item>
                    <item>
                <title>برنامه_نویسا تکاور نیستند!!!</title>
                <link>https://virgool.io/@enghasemi/%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87%D9%86%D9%88%DB%8C%D8%B3%D8%A7-%D8%AA%DA%A9%D8%A7%D9%88%D8%B1-%D9%86%DB%8C%D8%B3%D8%AA%D9%86%D8%AF-cey7bxvvp1me</link>
                <description> رژیم های سخت غذایی را فراموش کنید.  تغییرات کوچک، تأثیرات بزرگ  ما برنامه‌نویسان به دلیل اقتضای شغلی زندگی کم تحرکی را تجربه می کنیم.  این موارد رو امروز مربی ورزشیم برام نوشت منم با شما به اشتراک میزارم ? همیشه بطری آب کنار دست خودتان بگذارید دمنوش‌های طبیعی را جایگزین چایی کنید فست فود تا جایی که می تونید نخورید اگه می خورید نکات زیر  رو توجه کنید: پیتزا سبزی بی‌نظیرترین نوع پیتزا است(اگه بشه پیداش  کرد??)  همبرگرها به‌مراتب از سوسیس‌ها و کالباس‌ها بهتر هستند زیرا مواد نگه‌دارنده ندارند  کباب‌ترکی سالم‌ترین ساندویچ‌ها به شمار می‌آید به‌شرط‌ اینکه هنگام سرو به آن‌ها سس مایونز اضافه نشود و بدون خیار شور سرو شود. درمجموع کباب‌ترکی مرغ از کباب‌ترکی گوشت بهتر است. صبحانه بخورین (میدونم بیشتر وقتا دیرتونه یا نمیچسبه ولی واقعا لازمه?) میوه‌های تازه، سبزی‌جات و سالاد برای میان وعده ها فوق العاده هستن اینام جزو رژیم غذایی نیستن ولی ضرورین مونیتورتون رو طوری تنظیم کنین که مستقیم روبرتون باشه قوز نکنین مونیتور مناسب برای خودتون تهیه کنین (صفحه نمابش مات ،دارای وضوح بالا ،قابلیت تنظیم داشته باشه،..)  هر از گاهی از پشت سیستم تون بلند شین وقدم بزنین کفش راحت بپوشین(پا قلب دومم شماست ) به اندازه کافی استراحت کنین. روزانه در صورت امکان مسیری رو پیاده روی کنین . روزای تعطیل بزنین به دل کوه و صحرا یا دوچرخه برونید ورزشم بکنین که شاهکار کردین?? </description>
                <category>رحیم قاسمی</category>
                <author>رحیم قاسمی</author>
                <pubDate>Wed, 15 May 2019 15:11:13 +0430</pubDate>
            </item>
                    <item>
                <title>تو دو ثانیه پروفایل حرفه ای تو باهوش مصنوعی بساز</title>
                <link>https://virgool.io/@enghasemi/%D8%AA%D9%88-%D8%AF%D9%88-%D8%AB%D8%A7%D9%86%DB%8C%D9%87-%D9%BE%D8%B1%D9%88%D9%81%D8%A7%DB%8C%D9%84-%D8%AD%D8%B1%D9%81%D9%87-%D8%A7%DB%8C-%D8%AA%D9%88-%D8%A8%D8%B3%D8%A7%D8%B2-txwzabazgphm</link>
                <description> معرفی یه سایت باحال که به کمک هوش مصنوعی می تونید یه تصویر پروفایل حرفه ای درست کنید ? وب سایت Remove با استفاده از الگوریتم های پردازش تصویر پس زمینه عکستونو با دقت بسیار خوبی حذف میکنه و شما می تونید. برای پس زمینه از رنگ و عکس دلخواهتون استفاده کنید. آموزش استفاده در ویدیو یک دقیقه ای زیر قرار گرفته .  ادرس وب سایتشم https://www.remove.bg آموزش کار با وب سایت  https://www.aparat.com/v/vd3f6  </description>
                <category>رحیم قاسمی</category>
                <author>رحیم قاسمی</author>
                <pubDate>Wed, 15 May 2019 15:06:28 +0430</pubDate>
            </item>
                    <item>
                <title>نقاشی با طعم هوش_مصنوعی</title>
                <link>https://virgool.io/@enghasemi/%D9%86%D9%82%D8%A7%D8%B4%DB%8C-%D8%A8%D8%A7-%D8%B7%D8%B9%D9%85-%D9%87%D9%88%D8%B4%D9%85%D8%B5%D9%86%D9%88%D8%B9%DB%8C-ih1pvrqms21d</link>
                <description>  وقتی تو دفتر مشغول استراحتیم با بچه ها  به کمک این سایت مسابقه نقاشی میدیم و کلی میخندیم ??? در واقع اینطوریه که داور یه چیز خیلی سخت برای رسم میگه و دونفر که مسابقه میدن شروع به رسم میکنن حالا هوش مصنوعی شروع میکنه به شباهت دادن نقاشیا و برات گزینه های مشابه با توجه به درصد شباهت میاره حالا هر کی نقاشیش شبیه تر باشه تو گزینه ها زود میاد و برنده میشه ???? تو ویدیو فقط کشیدن کرگدن منو داشته باشین مطمنا یه انسان نمی تونست حدس بزنه من چی میکشم ?? آدرس وب سایتشم  https://www.autodraw.com  آدرس آموزش دو دقیقه ایشم اینه  https://www.aparat.com/v/5pQF6 </description>
                <category>رحیم قاسمی</category>
                <author>رحیم قاسمی</author>
                <pubDate>Wed, 15 May 2019 15:02:42 +0430</pubDate>
            </item>
                    <item>
                <title>#استارتاپ ها از کجا باید شروع کنند؟؟</title>
                <link>https://virgool.io/@enghasemi/%D8%A7%D8%B3%D8%AA%D8%A7%D8%B1%D8%AA%D8%A7%D9%BE-%D9%87%D8%A7-%D8%A7%D8%B2-%DA%A9%D8%AC%D8%A7-%D8%A8%D8%A7%DB%8C%D8%AF-%D8%B4%D8%B1%D9%88%D8%B9-%DA%A9%D9%86%D9%86%D8%AF-op9m7yqf7isv</link>
                <description>   خدمت سربازی جایی بودیم که هر روز سه ساعت شیرای آبش میومد اونم ساعت ۱ تا ۳ نصف شب ؛ما هم مجبور بودیم برای گرفتن دوش زیر دوش حموم تا پاسی از شب بیدار باشیم و بشکه پلاستیکی تو حیاط رو پر آب کنیم تا فرداش حداقل بتونیم دست و صورت و ظرفامونو بشوریم  ؛ ۴ ماهی میشد و ما کاملا این وضعیت رو پذیرفته و بهش عادت کرده بودیم ؛تا اینکه یه سرباز جدید به قول خودمون آش خور اومد؛سرباز آش خور برعکس ما تحصیل کرده نبود اما شاگرد مکانیک بود؛دو روز که وضعیت آب رو دید شروع به نق زدن کرد و گفت اینطوری نمیشه بچه ها من یه فکری دارم ؛ گفت باید با فرمانده حرف بزنیم و بشکه پلاستیکی حیاط رو ببریم بفروشیم یه بشکه پلاستیکی بزرگتر و چند متر لوله بخریم بیاریم این بشکه رو ببریم بالای پشت بوم بزاریم و ورودی رو وصلش کنیم به  شیر اب و خروجی رو هم به شیر اصلی تا همیشه اب داشته باشیم خلاصه ما کلی اولش خندیدیم و بعدش به فکر فرو رفتیم ولی همین سرباز آش خور تو ۳ روز هم فرمانده رو راضی کرد هم با هزینه خوبی این کار رو انجام دادوما برای همیشه راحت شدیم .  من اونجا بود که به دو تا موضوع پی بردم اینکه چقد دانشگاه و مدرسه قدرت خلاقیت و حل مسئله ما رو پایین آورده و دوم اینکه خیلی از مشکلات برای ما عادت شدن پس نمیتونیم تشخیصش بدیم و راه حل بدیم ؛ استارتاپ ها باید دنبال این مشکلات باشن که در ظاهر وجود ندارن ولی بعد حلش مشخص میشه عجب مشکلی رو سال ها تحمل کردیم ?  </description>
                <category>رحیم قاسمی</category>
                <author>رحیم قاسمی</author>
                <pubDate>Wed, 15 May 2019 14:51:56 +0430</pubDate>
            </item>
                    <item>
                <title>شما نمیتوانید “مردم” را مدیریت کنید اما می توانید “اشخاص” را مدیریت کنید.</title>
                <link>https://virgool.io/@enghasemi/%D8%B4%D9%85%D8%A7-%D9%86%D9%85%DB%8C%D8%AA%D9%88%D8%A7%D9%86%DB%8C%D8%AF-%D9%85%D8%B1%D8%AF%D9%85-%D8%B1%D8%A7-%D9%85%D8%AF%DB%8C%D8%B1%DB%8C%D8%AA-%DA%A9%D9%86%DB%8C%D8%AF-%D8%A7%D9%85%D8%A7-%D9%85%DB%8C-%D8%AA%D9%88%D8%A7%D9%86%DB%8C%D8%AF-%D8%A7%D8%B4%D8%AE%D8%A7%D8%B5-%D8%B1%D8%A7-%D9%85%D8%AF%DB%8C%D8%B1%DB%8C%D8%AA-%DA%A9%D9%86%DB%8C%D8%AF-vcbminszaqcn</link>
                <description> در تاریخ مدیران زیادی بودند که هرگز حتی یک خط از کتابی در مورد مدیریت را هم نخواندند مانند اسکندر کبیر، اما چطور لشکر عظیمی را مدیریت می کردند؟ چطور افراد اطرافشان را مدیریت میکردند؟ احتمالا دلیل موفقیت آنها چیزی بیش از دانشی بود که داشتند… زیرا اکثر آنها حتی سواد خواندن و نوشتن را هم نداشتند. شما نمیتوانید “مردم” را مدیریت کنید اما میتوانید “اشخاص” را مدیریت کنید… بنابراین روشی که برای مدیریت یک شخص استفاده میکنید، شاید برای مدیریت شخص دیگر کارآمد نباشد…  بعضی اشخاص نیاز به توجه زیادی دارند؛ بعضی دیگر اصلا دوست ندارند در مرکز توجه ها باشند. بعضی اشخاص فقط معیارشان پول است؛ بعضی دیگر پول در اولویت چندم شان قرار دارد. بعضی اشخاص نیاز به مشاوره دارند؛ بعضی دیگر فقط نیاز به انگیزه دارند. «شما باید هر فردی را به طریقی که میخواهند مدیریت کنید؛ نه از طریقی که میخواهید.» </description>
                <category>رحیم قاسمی</category>
                <author>رحیم قاسمی</author>
                <pubDate>Wed, 15 May 2019 14:50:35 +0430</pubDate>
            </item>
            </channel>
</rss>