<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های مهدی سادات حسینی</title>
        <link>https://virgool.io/feed/@asamasach</link>
        <description>هم بنیان گذار ویراساد، به دنبال استفاده از هوش مصنوعی در تولید</description>
        <language>fa</language>
        <pubDate>2026-06-16 12:24:33</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/92943/avatar/jzJTrs.png?height=120&amp;width=120</url>
            <title>مهدی سادات حسینی</title>
            <link>https://virgool.io/@asamasach</link>
        </image>

                    <item>
                <title>سواد هوش مصنوعی</title>
                <link>https://virgool.io/@asamasach/%D8%B3%D9%88%D8%A7%D8%AF-%D9%87%D9%88%D8%B4-%D9%85%D8%B5%D9%86%D9%88%D8%B9%DB%8C-z7wrksry57ig</link>
                <description>تجربه برخورد های مشابه پس اجرای هوش مصنوعی باعث شد که مفهومی به اسم سواد هوش مصنوعی برام واضح شه، این مفهوم به صورت چهار بخشی تقسیم می کنم:هوش مصنوعی چی هست و چی نیست، مرز بین وهم و واقعیتهوش مصنوعی سوپروایزد در مقابل آنسوپروایزدداده تمیز و داده کثیفمفهوم احتمالات در هوش مصنوعی، مثبت کاذب و منفی کاذب چیست و چرا مهم استدر حقیقت ما هنوز چیزی به اسم هوش مصنوعی به معنی واقعی نداریم، ما ماشین هایی داریم که با سرعت بالا و بر حسب مجموعه داده های اختراع شده توسط بشر تاکنون آموزش داده شده اند و میدوند هر شی با چه احتمالی قراره در پاسخ به یک نیاز ظاهر بشه، هرچقدر این احتمال بهتر تشخیص بدن و دقت بالاتری داشته باشند ما بهشون میگیم هوش برتر، اثبات این موضوع اینه که مثل مغز انسان، سرعت ضرب در رقم های پایین زیاد هست و در رقم های بالا کم، مثلا شما به سرعت 2*9 را میگین 18 ولی در ضرب 328734*8366 به راحتی نمیتونین خروجی بگین، همین مشکل در مدل های زبانی و هوش مصنوعی فعلی نیز وجود داره و باعث میشه شما پیش خودتون بگین مگه این قرار نبود خیلی خفن باشه (یک چیزی توی مایه های معجزه) پس چرا توی ضرب عادی هم مونده؟ در حقیقت هوش مصنوعی برای یادگیری این ضرب ها از روش زیر استفاده می کنه 1*2=2 و 1*1=1 و 1*3=3 و...، این مدل یادگیری که به صورت لوک آپ تیبل نیز گفته میشه در رقم های بالا محدودیت داره و نیاز به یک جدول کامل از تمام ضرب ها هست تا بدونه ضرب یک عدد در عدد دیگر چی میشهآیا این به این معنی که هوش مصنوعی بدرد نمیخوره؟ خیر، این به این معنی که هوش مصنوعی نیاز به مکمل داره داخل کارهاش تا بتونه کارشو انجام بده (بعدا به ام سی پی اشاره هایی خواهیم کرد) و اینکه هوش مصنوعی قرار نیست جای انسان بگیره یا جای همه چی بگیره، اون اومده که فقط به کارها سرعت بدهما دو مدل یادگیری ماشین داریم، سوپروایزد و آنسوپروایزد که به معنی اینه که آیا انسان در طول فرایند آموزش (ترین) بر روند آموزش نظارت انجام داده و بهش متا دیتا اضافه کرده یا خیر، به طور مثال اگر من یک مدل پردازش تصویر ایجاد کنم و بهش یاد بدم که فلان شکل احتمالا یک خطای از نوع الف هست و بهمان شکل یک خطا از نوع ب، این مدل به صورت نظارت شده داره آموزش میبینه، و اگر من هیچ متا دیتایی به هوش مصنوعی ندم و صرفا بهش بگم این دیتا ها و خودت تصمیم بگیر چجوری اینارو دسته بندی کنی به این مدل میگن غیرنظارتی و آنسوپروایزد، انتظار از هوش مصنوعی به گونه ای که همه کار خودش انجام بده بیشتر یک نوع وهن هست تا واقعیت، در این مورد هدف از آموزش هوش مصنوعی اینه که علم شمارو به ماشین منتقل کنیم و سرعت شناسایی بالاتر ببریم، بعدا به روند های آموزش و دسته بندی هاشون اشاره می کنمهوش مصنوعی بر عکس انسان معمولا به صورت چند ورودی نیست، به طور مثال انسان که کنار یک ماشین ایستاده و یهو یک بوی سوختگی به مشامش میرسه و سریعا سر خودشو به ماشین نزدیک می کنه تا صدا رو بهتر بشنوه و همچنین نشانه های دود بهتر ببینه با سیستم هوش مصنوعی که صرفا یک عکس از یک سمت سیستم میبینه در شناخت تفاوت هایی داره، طبیعتا اطلاع از کانتکس اطراف باعث میشه در شرایط برابر انسان تشخیص بهتری نسبت به هوش مصنوعی داشته باشه، در اینجا خیلی اهمیت داشتن داده تمیز بالاس، همچنین در زمانی که دیتا به سیستم هوش مصنوعی یاد داده میشه، این موضوع مهم هست که در ورودی دادن داده ها به سیستم با نهایت وسواس عمل کنیم تا هوش مصنوعی هم به همان نسبت خروجی مناسبی به ما بدهدفرق داده های قطعی با داده های احتمالی در این هست که داده های احتمالی شامل مواردی هستند که مثلا یک شی سالم به صورت خراب تشخیص داده یا بالعکس یک شی خراب به شکل سالم تشخیص داده است، این موضوع در نگاه اول برای خیلی از افراد تا زمانی که به صورت عملی تاثیر این نتایج در خروجی کار نبینن قابل فهم نیست، یکی از بزرگترین ریسک های مدل های هوش مصنوعی، تصمیم درست نگرفتن در این زمینه است، در این مورد به تفصیل توضیح میدم </description>
                <category>مهدی سادات حسینی</category>
                <author>مهدی سادات حسینی</author>
                <pubDate>Thu, 19 Jun 2025 19:35:43 +0330</pubDate>
            </item>
                    <item>
                <title>پردازش تصویر صنعت بطری و جار با مانیتیت</title>
                <link>https://virgool.io/@asamasach/%D9%BE%D8%B1%D8%AF%D8%A7%D8%B2%D8%B4-%D8%AA%D8%B5%D9%88%DB%8C%D8%B1-%D8%B5%D9%86%D8%B9%D8%AA-%D8%A8%D8%B7%D8%B1%DB%8C-%D9%88-%D8%AC%D8%A7%D8%B1-%D8%A8%D8%A7-%D9%85%D8%A7%D9%86%DB%8C%D8%AA%DB%8C%D8%AA-twnpjculdkbk</link>
                <description>خطوط تولید بطری و جار در حال حاضر جز مصرف کنندگان اصلی خدمات کنترل کیفیت بصری هستند، دلیل اصلی این موضوع اهمیت کیفیت شیشه در خطوط تولید مصرف کننده نهایی آن، یعنی پرکنندگان (دارویی، نوشیدنی های گازدار و مربا و ترشی و...) است و تیراژ بالای تولید در عین اهمیت کیفیت هر کدام به دلیل استاندارد های غذایی دارویی باعث می شود استفاده همزمان از کنترل کیفیت توسط ماشین و انسان اجتناب ناپذیر باشدتعدد تولید و مواردی که منجر به ترکیدگی یا هدر رفت مایع پر کننده می شود با استفاده از سیستم بینایی ماشین دیده شده و حذف می گردندکنترل کیفیت عیوب دهانه: دهانه بطری جایی هست که تشتک نصب و یا با دهان تماس مستقیم دارد، دو عیب عمده داشتن پلیسه یا شکستگی در دهانه بطری و یا تعقر تحدب در رینگ دهانه که باعث عملکرد نامناسب تشتک و نشت گاز می شود، خود من زمانی به دلیل شکستگی لبه دهانه دچار پارگی لب شدمشکستگی لبه دهانهاهمیت طرح پروفایل دهانهایرادات بدنه: در زمان دمیدن هوا در پلانجر در واحد آی اس، ممکن است ضخامت بدنه در نواحی به طور غیر معمول کم یا زیاد شود، این ضخامت کم میتواند منجر به استرس های سطحی شده و کیفیت تولید را کاهش دهد یا اجبارا منجر به هزینه بیشتر برای ماده اولیه شود، همچنین در مواردی به دلیل وجود ناخالصی در ماده اولیه، اجسام خارجی نیز در بدنه قرار می گیرد و یا به دلیل عدم تنظیم درست قالب، پلیسه در قالب هستانواع آلودگی خارجی و پلیسه در بدنهایرادات مرتبط با کف: بعضا به دلیل جایگذاری بد قالب و یا عدم فشار مناسب در زمان اعمال هوا در شیشه دچار خرابی در کف بطری می گردد، همچنین بعضا با استفاده از شماره قالب حک شده در انتهای قالب میتوان قالب های خراب را قبل از بارگیری در پالتایزر از خط خارج نمودشماره قالب و ایرادات انتهایی بطریبا استفاده از بینایی ماشین تمامی این ایرادات شناسایی و به صورت شیشه مشکوک از خط خارج می گردد، ادامه دارد...</description>
                <category>مهدی سادات حسینی</category>
                <author>مهدی سادات حسینی</author>
                <pubDate>Thu, 19 Jun 2025 14:32:47 +0330</pubDate>
            </item>
                    <item>
                <title>چرا استارتاپ ها باید از کلمه &quot;هوش مصنوعی&quot; دوری کنند؟</title>
                <link>https://virgool.io/@asamasach/%DA%86%D8%B1%D8%A7-%D8%A7%D8%B3%D8%AA%D8%A7%D8%B1%D8%AA%D8%A7%D9%BE-%D9%87%D8%A7-%D8%A8%D8%A7%DB%8C%D8%AF-%D8%A7%D8%B2-%DA%A9%D9%84%D9%85%D9%87-%D9%87%D9%88%D8%B4-%D9%85%D8%B5%D9%86%D9%88%D8%B9%DB%8C-%D8%AF%D9%88%D8%B1%DB%8C-%DA%A9%D9%86%D9%86%D8%AF-xs07wempuuc2</link>
                <description>نوشته پیش رو صرفا یک تجربه شخصی هستش و لزومی به رعایت توسط همه نداره،تقریبا 6 سال پیش بود که ما ویراساد تاسیس کردیم و تلاش کردیم با استفاده از ابزارهای هوش مصنوعی کمک کنیم خطوط تولید بهره ور تر و با کیفیت تر شن، در این مسیر تجربیاتی بسیار جالبی کسب کردیم که باعث شد بخوام این تجربیات به اشتراک بذارم، بعد از مطالعه پست محمدرضا شعبانعلی در زمینه لامبورگینی در خیابان‌های تهران | درباره عرضه سهام استارتاپ‌ها در بورس ایران و محدودیت‌های برون‌زاد  تصمیم گرفتم این نوشته بنویسم و منتشر کنمنوآوری دوقلوی پیش بینی ناپذیریه، در مسیر نوآوری به شدت شرایط پیش بینی پذیر نیست، قبل از قدم گذاشن در مسیر نواوری حتما یک سوال کنید: اگر شرایط به گونه ای میخواهم پیش نرود چه راهی در پیشم است، چه چیزی ممکن است از دست دهم، چه شرایطی در حال حاضر دارم که ممکن است به صورت یک  تهدید برای من شود؟ آیا اگر بیماری همه گیر بیاید، آیا اگر جنگ شود، آیا اگر محصول در مدت چند سال به  پرداکت مارکت فیت نرسد هنوز هم میتوانم ادامه دهم؟ بین ریسک پذیری و بی مهابا کار کردن مرز باریکی هستش که میتونه منجر به ناراحتی زیاد بشهدنیا بسیار پیش بینی ناپذیر تر از اونی هست که بتونه روند انجام یک پروژه درک کنه، تقریبا روزانه به گونه های مختلف تحت تاثیر مدیران، ذی نفعان، نیرو های سنتی و... قرار میگیرین که نیاز به مدیریت داره، تقریبا میشه گفت در شرایط کشوری مثل ایران خیلی ها فهم فرایند توسعه را دارند ولی قدرت انجامش خیر، پس حتما محصولات باید به گونه ای باشه که در مدت زمان کوتاهی به نتیجه خوبی برسه، که جلوتر بیشتر توضیح میدممحصولاتی که جدا از تکنولوژی نیازمند تغییر فرهنگ و یا شرایط موجود هستند، نیازمند سرمایه گذاری عظیمی جهت جا اندازی این فرهنگ جدید هستند، استارتاپ های مثل اسنپ و تپسی به پشتوانه سرمایه گذاری عظیم مالی، هزینه کردن برای جا اندازی فرهنگ تاکسی اینترنتی و دادن سوبسید های مختلف تونستند که فرهنگ  تاکسی اینترنتی را جا بندازن، تکنولوژی یک سمت استارتاپ و تحمیل فرهنگ جدید سوی دیگر استارتاپ است، حتما ارزیابی کاملی از استارتاپ های مشابه باید انجام بشه تا در صورت نیاز به سرمایه در نظر گرفته شهدو رکن موفقیت استارتاپ یک محصول و دوم کانال توزیع، تعداد زیادی از استارتاپ ها بر روی رکن اول بسیار زمان میگذارند و از رکن دوم غافل میشن یا کوچیک میشمارن، ندونستن رکن دوم شمارو به باتلاق ارتباط مستقیم با مصرف کننده نهایی میبره که تولید و توزیع کاملا وابسته به شما می کنه، فرایند های عملیاتی توزیع و پشتیبانی مرتبط میتونه یک استارتاپ زمین بزنه یا به عرش برسونهدر مورد ایران حقیقتی که وجود داره، فرهنگ مصرف کننده به شدت محتاط گونه و با توقعات زیاد هستش، به گونه ای که بعضا شمارو به تعجب هم وا میداره، این فرهنگ در مقابل فرهنگ پرداخت به شدت نامنظم و بدون برنامه و بعضا بد قولی های مرتبط میتونه استارتاپ شمارو به زمین بزنه، اگر برای پرداخت حقوق شش ماه آینده کارکنان وابسته به پرداخت هر کدام از مشتریان هستین، احتمال اینکه با تنوع مشکلات مالی مرتبط به زمین بخورین بسیار زیاده، و تقریبا اگر کار استارتاپی خاصی دارین انجام میدین، از روز اول در نظر داشته باشین که وصول مطالبات در ایران بخشی از فرایند های زمان بر و انرژی بر این سیستم هست، امکان داره حتی وصول نشه، خودتوتو از قبل برای این موضوع اماده کنینرضایت مشتری به معنی بردگی آن ها نیست، تعداد زیادی از اشتباهات ما سرویس دهی بیش از حد به بعضی از مشتریان بود که حتی به ضرر خود مشتری نیز خواهد بود، تا حد امکان تعریف سطح خدمات و کیفیت محصولات از قبل تعریف و تایید کنیددر بیزینس های بی تو بی، به طور معمول مدیران میانی با شما ارتباط میگیرند، مدیران میانی به دلیل جایگاه امکان پرداخت در حد تلاش و کیفیت خدمات شمارو ندارند، و در نقطه مقابل ملزم به اعمال فشار های مختلف به شما هستند، این فشار ها و عدم پرداخت ها باعث میشن که استارتاپ های نواروانه به شدت از این لایه واسط ضرر ببینند، همچنین مدیر میانی نیز به دلیل شرایط شغلی امکان انتقال شرایط به مدیر بالاتر را ندارد و ریسک پذیری مرتبط برایشان قابل تحمل نیست، بر حسب تجربه سال ها، تا حد امکان با مدیران اصلی و رده بالا ارتباط بگیرین، آنها ابزار پاداش و مدیریت بالاتری دارند که به همکاری متقابل منجر میشهدر فرایند نواوری به این حقیقت توجه کنین که دوگانه ویتامین/مسکن در ایران جایی نداره، کشور ایران در طول ادوار تاریخی خود همیشه به مسکن نیاز بیشتری داشته تا ویتامین، تولید ویتامین منجر به رکود فروش شما در شرایط سخت و یا جایگزینی راحت شما با روش های مشابه میشه، به طور مثال، بیشترین فروش محصولات پردازش تصویر ما در شرکت هایی بوده که ارزیابی کیفیت توسط اپراتور امکان پذیر نبوده یا به سختی امکان پذیر بوده، با توجه به قیمت نامتناسب نیروی انسانی در مقابل کشور های دیگر، جایگزینی هرگونه اتوماسیون با نیروی انسانی در ایران منطقی هستش پس تا حد امکان مسکن بسازینهر محصولی تعدادی محصول جانبی نیز دارد، مانند پردازش تصویر در لحظه برای کنترل کیفیت و ارزیابی تاریخچه و تحلیل آن، به طور معمول اولویت به همین ترتیب محصول/محصول جانبی می باشد، تلاش برای فروش ایرپاد به طور جداگانه از محصول به صورت یک محصول جدا سخت تر از فروش یک آیفون و یک ایرپاد استبپذیرین که دلاری قیمت دادن در کشور های تورمی کار سختی هستش و تورم نیز روزانه به دنبال شما هست،  با پذیرش این حتی بعد از امضای قرارداد تا دریافت  پول روزانه ارزش پول شما کم میشه، نگاهتون به سمت ارزش افرینی باشه تا بتونین بیزینس در بلند مدت نگه دارینبرعکس خیلی از کشور ها تجربه ما میگه شرکت ها ترجیح میدن چیزی بخرن تا اینکه اجراش کنند، مگر اینکه فاصله اجاره تا خرید خیلی زیاد باشه، تا حد امکان در استیج های اولیه استارتاپ به فکر اجاره نباشینکار بر روی استارتاپ نیازمند ذهن به نسبت آروم و تا حد امکان مطمئنی هستش، اگر درگیر اجاره خونه هستین یا نیازمند پول استارتاپ هستین تا از پس امورات خود بربیان، توصیه اکید من یک مدت کارمندی و یا کار به صورت خدماتی جهت تهیه نیاز های اولیه هستش، هیچی به اندازه مایحتاج ادم از لحاظ ذهنی درگیر نمیکنهپارتنرشیپ ابزار قوی کنترل و ارائه خدمات و محصولات به مشتریان احتمالی هست، بیشترین میزان فروش ما از طریق پارتنر ها به دست اومده که به خوبی نشون دهنده این موضوع هستماموریت اصلی بیزینس خود رو تعریف کنید و سپس تصمیم به استفاده از ابزار بگیرین، به طور مثال ماموریت ما بهبود کیفیت و بهره وری هستش، سپس استفاده از متد های هوش مصنوعی برای این موضوع، این مورد به شما کمک می کنه در مواجه به افراد جدید به طور دقیق بدونین نیازمندی مشتری شما چیست، و اگر میتونین کمکشون کنین باهاشون ارتباط بگیرینهوش مصنوعی مانند یک نقاشی هست، تا زمانی که کشیده نشده کسی درکی ازش نداره، به طور معمول مدیران صاحبان کسب و کار و توسعه دهندگان ایده های در ذهن دارند که میتونه باعث شه ماموریت بیزینس شما از انجام کار به یک نمایشگاه تبدیل بشه، تا حد امکان از کلمه هوش مصنوعی استفاده نشه چونکه میتونه باعث شه هرکسی بر حسب فهم خودش انتظاراتی داشته باشه که منجر به خرابی کار شما بشهارزش بنیادی خود رو به وضوح مشخص کنید یا اگر نمیدونین سعی کنید هر روز گوشه هایی از کار خودتونو حذف کنید تا ارزش پیشنهادی مشخص شه، این ارزش پیشنهادی مثل طلا ارزشمنده و اضافه کردن هرگونه مس و نقره و... به افزایش رضایت مشتری منجر نمیشه، ارزش پیشنهادی ساده و گویا نگه دارین</description>
                <category>مهدی سادات حسینی</category>
                <author>مهدی سادات حسینی</author>
                <pubDate>Tue, 17 Jun 2025 18:07:51 +0330</pubDate>
            </item>
                    <item>
                <title>مانیتیت و کاربرد هوش مصنوعی در خط تولید</title>
                <link>https://virgool.io/@asamasach/%D9%85%D8%A7%D9%86%DB%8C%D8%AA%DB%8C%D8%AA-%D9%88-%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%AE%D8%B7-%D8%AA%D9%88%D9%84%DB%8C%D8%AF-zzwffuiwqakh</link>
                <description>با مانیتورینگ، بهره وری ببریم بالا، خرابی بیاریم پایین!صنعت نرم افزار در کارخانه ها از زمانی که من شروع کردم هنوز که هنوزه درگیر چیزهای قدیمی هست، هنوز نیازه یک اپراتور باشه، یک فردی باشه که بیاد یک نرم افزار قدیمی و اپدیت کنه و داده سازی بخش جدایی ناپذیر نرم افزار ها شده، گذشت و گذشت تا نرم افزار ها و سخت افزارهای خارجی وارد شده به ایران دیدم و اینبار مشکل به صورت نصب و راه اندازی یک موجودیت جدید و سخت خودشو نشون داد، از اون روز یک هدف ست کردیم:&quot;چجوری میشه با کمترین میزان دخالت و با دم دستی ترین ابزار های ممکن به کارخونه ها کمک کنیم تا درک بهتری از کف خط تولید داشته باشند، جوری که چیزهای مهم به چشم بیاداینجوری شد که به سراغ دوربین رفتیم و از اونور سعی کردیم نرم افزارهایی که تهیه می کنیم ساده و بدون احتیاج به کد نویسی باشه، هنوزم خیلی راه هست تا به اون نتیجه عالی برسه ولی این ی شروعه که ارزش ادامه دادن داره.مانیتیت برای کارخونه هایی که نه اونقدر بزرگن که تیم ای تیشون از کل تیم نرم افزار ما بزرگتره و خودشون هزاران ابزار دارن و با اون حجم ابزار و نیرو میتونن داده ها رو کنترل کنن، نه اونقدر کوچیک که استفاده از داده براشون به نسبت دغدغه های روزمره کوچیک باشه، ی جایی که دارن تلاش می کنن با چیزهایی که هست خروجی بهتر و بهتر و رقابت پذیرتر کنن و توی بازار سردربیارن.توی این راه هرجا کمکی باشه که ما بتونیم کمک کنیم می کنیم و هرجا احساس کنیم نیاز به توسعه بیشتری هست براشون انجام میدیم، با هدف اینکه 10 برابر ارزش براشون ایجاد کنیم.شماهم اگر دوست دارین به صنایع کمک کنید میتونین مارو بهشون معرفی کنید شاید همین الان دنبالش نباشن ولی ی روزی مطمئنا دنبالش خواهند بود.</description>
                <category>مهدی سادات حسینی</category>
                <author>مهدی سادات حسینی</author>
                <pubDate>Sat, 26 Aug 2023 17:50:59 +0330</pubDate>
            </item>
                    <item>
                <title>چرا از دانشگاه متنفرم...</title>
                <link>https://virgool.io/@asamasach/%DA%86%D8%B1%D8%A7-%D8%A7%D8%B2-%D8%AF%D8%A7%D9%86%D8%B4%DA%AF%D8%A7%D9%87-%D9%85%D8%AA%D9%86%D9%81%D8%B1%D9%85-yj3zebvieybc</link>
                <description>برای خرید زمینی به بنگاه املاک مراجعه کرده بودیم، از صاحب بنگاه که بنگاه بزرگی بود پرسیدم چی شد وارد این صنعت شدی؟ خلاصه جواب این بود که در کارخانه تولید لوله کار می کرده و برای ارتقا به او قول دادند که اگر تحصیل کند با دریافت مدرک کارشناسی، پست بهتری در کارخانه به او می دن، قصه کوتاه با سختی فراوان همزمانی تحصیل و کار بالاخره مدرک می گیره و به مدیر مربوط مراجعه می کنه که طبق قول پست بهتری بدن، مدیر در جواب به او می گه درس خوندی؟ اشتباه کردی! ما اینجا به یک کارگر ساده نیاز داریم! شما الان از این کارخانه هم زیادتری، یا برگرد سر کارت و یا اخراجی که بحث بالا میگیره و فرد به خاطر مشاجره با مدیر اخراج میشه، با تغییر مسیر همیشگیش و جداشدن از دانشگاه و درس، تصمیم میگیره ببینه بازار چی نیاز داره و اونو وارد شه که موفق هم میشهشما رو نمی دونم، ولی من از بچگی سوگولی مدرسه بودم، نمراتم همیشه بالا بود، و یا شاگرد اول بودم یا شاگرد دوم، دلیلشم کمال گرایی بی نهایت هرکس در رسیدن به بهترینسال ها گذشت تا مدرسه تموم شد، اخیش راحت شدم، باید برم دانشگاه و با کوله باری که از مدرسه دارم، دانشگاه هم خراش بدم و بعدش دنیا رو تحت سلطه بگیرم و به همه کمک کنم و کلی پول بیاد و...(که تا اینجا کاملا صاف شدم و هیچ کدوم حتی نزدیک هم نشد :) )سال ها بعد: در وضعیت بغرنج، رها شده بین مشکلات فراوان و از همه مهم تر سرخوردگی از مسیر رفته، مشکلات رد میشن، رنج ها فراموش میشن، اما کلنجار رفتن با سرخوردگی مثل خوره هر روز با ماست، دوس داشتم از این تجربه بنویسم و بزارم بقیه هم بخونن، شاید از این طریق آینده افراد دیگه ای تکامل بهتری داشته باشه1- صحنه اول: رقابت برای رفتن به دانشگاهتوی دنیا هیچ دو فردی کاملا یکسان نیستن، طبیعت رقابت فقط برای بقا معنی داره، اما آیا بردن این رقابت تضمین کننده آیندس؟ته سیستم آموزشی استاد دانشگاه شدنه، (1 درصد) اما چرا تقریبا همه جوان هایی که ما میشناسیم خودشو درگیر رقابتی می کنن که اصلا توانایی اون ها داخلش این رقابت تعریف نشده، هنر محاسبه انتگرال کارشناسی و معادلات ماکسول توی ارشد به طور دقیق کدوم نیاز از تمام شرکت کننده هارو برطرف می کنه؟ این استرس مصنوعی چرا ایجاد شده و چرا چون خیلی ها کنکور میدن ما هم باید به دانشگاه بریم؟ آیا ما توی این مسیر ساخته شدیم؟ آیا واقعا راه دیگه ای هم هست؟ اگر این مسیر انتخاب کنیم چه مسیر های دیگه ای از خودمون گرفتیم؟ آیا گرفتن مدرک کمکی به مسیر من می کنه؟ آیا واقعا (وجدانا) بررسی کرده ایم؟ آیا این تصمیم منه یا تصمیم خانواده؟ آیا حداقل در طول مسیر رفتن به دانشگاه مسیر های خروج هم بررسی کرده ایم؟ چگونه می تونیم بررسی کنیم آیا مفید بوده یا نه؟ آیا از آدم هایی که در دانشگاه ملاقات می کنیم خوشحالیم یا ناراحت؟ آیا روزانه با هزاران اهمال کاری مواجه ایم؟ اگر متوجه اهمال کاری شدیم این نشونه چیه؟، چه مسیر دیگه ای در نظر گرفته ایم؟ آیا اگر برای سربازی رفته ایم (نسخه ایران) هزینه 2 سال سربازی + 2 سال مسیر اصلی و حداقل 4 سال کارشناسی را  را مقایسه کرده ایم؟ نگاه انتقادی ما به این مسیر و جواب های آن چگونه بوده؟ آیا متوجه شده ایم آزمون های آزمایشی، کتاب های کمک آموزشی، برنامه ریزی کنکور و تحصیل و... صرفا ایده بیزینسیه که من کنکوری  و سختی بی فایده کنکور و آینده بدون قطعیت درونش ماده اولیه اس و سود حداکثری در تکرارپذیری، غیرقابل دسترسی و انتقال ریسک به من دانش آموزه؟ تفکر در این زمینه سخته، چون خود من هیچ تفکری در این زمینه نکردم و صرفا چون درسم خوب بود و مسیر باکلاس تری می دیدم واردش شدم، یا با خودم فکر می کردم بهترین بازدهی من در این مسیر اتفاق خواهد افتاد، من بعد از یک دوره کارشناسی برق و یک دوره ارشد مهندسی پزشکی اینجام تا بگم برای اینکه بعد از این همه سال، این همه تمرین و این همه استرس کمترین بهره برای من بوده :) 2- صحنه دوم: وارد شدن به دانشگاهدرون دانشگاه چیزی نیست جز صحنه های زیر:تیپیکال یک زندگی دانشجویی عادیدویدن برای رسیدن به کلاس 7:30 صبح، پاس کردن درس های لازم برای یک دهه پیش و فراموش کردن هر درس دیر یا زود، نشستن روی صندلی سفت دانشگاه و التماس خدا کردن برای پاس کردن درس هایی که در حال حاضر بهشون هیچ نیازی نداری، مانند تشنه ای که بهش طلا دادن در صورتی که نیازش یک بطری آب، و بالاتر از همه در همه بخش های اون مدت هم خودت خودتو مقصر می دونی، هم مدیریت دانشگاه تو رو، من اینجام تا بگم تو مشکلی نداری، فقط جای درستی نیستی (اینو با قطعیت می گم)3- صحنه سوم: خارج از شدن از دانشگاهاکنون تو تونستی معادلات ماکسول یاد بگیری، در مورد تزت که در مورد بررسی اثر بخشی فاکتور فلان بر روی عامل بهمان تحقیق کنی و با دونستن اینکه کلا 2 نفر(خودت، شاید کمی استادت) تزتو خوندن، نوشته ای به جهان بدی که نیازی از دنیا برطرف نمیکنه(بیایم در مورد 99 درصد عادی فکر کنیم نه مقالات دانشمند فلان که اتفاقا دانشگاه نقطه زندگیشه)، تبریک می گم تو فقط دارای یک برگه ای که اثبات می کنه تو یک سری دروس گذروندی که نمی تونه به دیگران ثابت کنه چقدر توانمندی داریخداروشکر انسان ها پول را اختراع کردند تا مفهوم مصالحه برای همه جا بیوفته، من پول کمتری دارم و نمیتوانم اخرین مدل ماشین 2021 را بخرم، اما به بودجه ام نگاه می کنم و متناسب با بودجه و حالا دریافت اعتباراتی که بعدا باید پس بدهم تصمیم میگیرم بهترین حالت ممکن را پیاده کنم،تا زمانی که شما در دانشگاه هستید، هزینه ای که استاد برای مشکلات و هزینه های زندگی شما میپردازه صفر است و چه بسا بدتر، اگر شما توی دانشگاه بیشتر بمونید سود بیشتری برای دانشگاه و استاد دارید، وقتی من هزینه ای نمیپردازم، بالاترین حد هزینه را برای طرف مقابل پیاده می کنم، این یک اصل سادس، در این حالت من با طرح مسایل فضایی و غیرواقعی تمام سعیمو می کنم کاستی و ناکاملی تورو به خودت گوشزد کنم، چرخه کاملا ماشینی و به صورت کارخانه ای، که خلاف ذات انسانه، و در نهایت چیزی که تحویل میده، یک فردی که بعد از 4 سال تلاش، با واقعیت جامعه، کار، پول مواجه میشه و ممکنه سرخورده شه و تازه مسیر شروع میشهنمودار مدرک تحصیلی به نسبت ثروتمندی در امریکا و بالتبع با توجه به مشابهت در ایران4- پشت صحنه: چه کنم اگر نمیدونستم ایا واقعا این کاری هست که میخوام یا نه؟خیلی سادس: اول از همه اینکه خودتون باشید و از اینکه خودتون هستید ناراحت یا ناامید نباشید، اگر نسبت به چیزی حس بدی دارین، با پیدا کردن اون چیزی که درونش حس خوبی دارین و ممکنه روی ایندتون تاثیر بزاره به طبیعت خودتون کمک کنیددر وهله بعد یادتون نره بیشترین سرمایه که در دانشگاه جذب می کنید آشنایی با هم سن و سالتون و مسیر های همکاری اینده ای که از این طریق کشف می کنید، هستش هرچقدر میتونید روابط بیافرینید( ترجیحا روابط با جنس مخالف رو قاطی همه نوع رابطه نکنید)، یادتون نره اطرافیانتون ادمن و رابطه بد باهاشون براتون فایده ای نداره،انتقال حس رقابت در زندگی اینده کمکی نمی کنه چون تنها رقیب شما در اینده خود شمایید، با قمار روی انجام پروژه و تکالیف به صورت فردی و تمرین نکردن کار جمعی،یادگیری نحوه درست همکاری و کار تیمی خودتون به خطر نیندازین اساتید برای چند نسل قبل از شمان و جز تعداد معدودی که بینش بزرگی دارن، ما بقی فقط ترمز راه شما هستند، اگر در مدت تحصیل (8 ترم به عنوان نمونه) فارغ التحصیل نمیشید، قطعا این مسیر مسیر شما نیست، با انصراف به موقع، زمان و هزینه کمتری از خودتون و اطرافیانتون هدر بدید، یادتون باشه توی 8 ترم شما به اندازه کافی از دانشگاه بدست اوردید، تا می تونید در انجمن های مختلف عضو بشین و فعال باشین، هنر جمع پذیری و فعالیت های ترویجی اصلا دست کم نگیرید، تا میتونید تکون بخورید، با رفتن و کنجکاوی های مختلف برای یادگیرتون زمان بخریدکتاب بخونیدلیستی از کتاب های خوب میتونید از گودرید بردارید و منظم مطالعه کنیدبرای رضای خدا انگلیسی یاد بگیرید! چه بسیار افراد توانمندی که چون در دایره زبان مادری مانده اند توانایی رشد و توسعه خودشونو سقف دادندبیرون از دانشگاه حتما با افراد مختلف ارتباط برقرار کنید، یادتون نره هرچقدر بیشتر تعامل با دنیای واقعی داشته باشین، در اینده زندگی راحتتری خواهید داشتحتما حتما حتما یک کار پاره وقت پیدا کنید، دوستان پول چیزی نیست جز یک قول، قول اینکه من نیازی از تو برطرف می کنم و تو قول میدی به وسیله یک کاغذ بعدا یک نفر نیازی از من برطرف می کنه، این کار میتونه کار توی کافه باشه، به هیچ وجه فکر نکنید کار بی کلاسه، بازار کار بی کلاس نداره، نیازی که برطرف می کنید و پولی که در ازاش می گیرید تجربه بسیار خوبیه،در تجربه قناعت نکنید، شدیدا حریص باشین، حرص برای سن دانشجو باعث رشده، ولی در درامد حتما قانع باشید!ادبیات مالی یاد بگیرین، اینکه سرمایه گذاری واقعی چگونه است، چه بسیار کسانی که بدون دانستن سرمایه گذاری واقعی، روی دارایی هاشون قمار کردندو هر 6 هفته از خودتون بازخورد بگیرین، یادتون باشه، اگر با کندن گودال خودتونو توی چاه انداختین اولین قدم اینه که دست از کندن بردارید!کلاب هاوس و وی چت در کمتر از یکسال به 50 میلیون کاربر رسیدند، در قرن فعلی چهارسال زمان زیادیه، با وسواس عمرتونو خرج کنیندنبال اسپارکتون باشید :)، 90 درصدتون اسپارکتون تماما با دانشگاه یک جهت نیستمن نرفتن به دانشگاه تایید یا رفتن به دانشگاه نهی نمی کنم، صرفا با اون 80 درصدی که مطمئنم مثل خودمن همراهی می کنم و امیدوارم بهترین تصمیم برای عمرتون بگیرید(هرچند معمولا اینجوری نیست ولی حداقل  می تونین کمترین تاسف داشته باشین :) )</description>
                <category>مهدی سادات حسینی</category>
                <author>مهدی سادات حسینی</author>
                <pubDate>Sun, 06 Jun 2021 16:37:01 +0430</pubDate>
            </item>
                    <item>
                <title>هیدروپونیک تجربه ای جالب از ساختن و کاشتن</title>
                <link>https://virgool.io/virasad/%D9%87%DB%8C%D8%AF%D8%B1%D9%88%D9%BE%D9%88%D9%86%DB%8C%DA%A9-%D8%AA%D8%AC%D8%B1%D8%A8%D9%87-%D8%A7%DB%8C-%D8%AC%D8%A7%D9%84%D8%A8-%D8%A7%D8%B2-%D8%B3%D8%A7%D8%AE%D8%AA%D9%86-%D9%88-%DA%A9%D8%A7%D8%B4%D8%AA%D9%86-nwekwxyfmold</link>
                <description>سال ها کشاورزی از نزدیک دیدم و همیشه کشاورزی برام جذاب بود، کشاورزی آرامش بخش ترین فعالیتی بود که در عمرم انجام دادم، مسیر زندگی به من همیشه سریعتر و سریعتر بودن توصیه می کرد، اما کشاورزی با یاد دادن صبوری و آرام کردن، یاد داد چه هنگام صبر کمک کنندس، مدت ها بود که برام سوال بود: چجوری میشه مسیر کشاورزی جدید تست کنم، تست با ساخت هیدروپونیک ساده شروع کردیم، و گفتم تا فرصت هست ساختشو به اشتراک بزارم، شاید تجربه دلنشین من برای کس دیگه ای هم دلنشین بود.مواد لازم:لوله پولیکا از این گنده ها ( توی ابزار فروشی ها یا سایت های اینترنتی قابل یافتن هستن، می تونین قطر های 80 یا 100 میلی متر استفاده کنین و برای اتصالات کوچکتر از سایز 60 استفاده کنین) زانو ( دوتا سایز لوله بزرگتون و دوتا سایز لوله کوچیکتون)تبدیل غیر هم مرکز ( دوتا)صافی پلاستیکی ( یا لیوان یکبار مصرف، برای نگهداری محل گیاه ها به تعدادی که دوست دارید)پمپ آب کوچیک و لوله انتقالش( من از این پمپ استفاده کردم) چسب PVCلیکا درشت به عنوان بستر ( من از این لیکا استفاده کردم)ی مقدار پارچه ( به نظرم ملانژ جنس خوبیه، میتونن از تیشرت قدیمی هاتون استفاده کنین :))ی جانونی یا طرف پلاستیکی بزرگکامل شدش :)لوله های بزرگ تون رو میتونید به وسیله گردبر به صورت تمیز برش بزنید، اگر مثل من گردبر دم دست ندارید، لوله رو از محلی که میخواین سوراخ کنین،از قبل علامت گذاری کنین، بعد اون قسمت های علامت زده شده رو به ترتیب گرم کنین و با کارد برش بزنین، بعد با آرامش (این آرامش خیلی مهمه :) ) زانو هارو کاملا چسب بزنین ( کم چسب نزنین، نشتی آب میده، زیادم نزنین کم میارین آخرش) هم داخل هم بیرون، و در آخر هل بدین داخل همدیگه تا کامل جا بره، حتما یادتون باشه هر قطعه که چسب زدین، بزارین کامل کامل ی چند ساعت حداقل بمونه که محکم بشه، وگرنه تکون خوردنشون توی چسب کاری بعدی، باعث نشتی آب میشه، سمتی که پمپ آب هست یکم باید بالاتر از سر دیگه باشه تا آب جریان داشته باشه، بعد که همه قطعات توی هم چسبونیدن، بزارین کامل خشک شه ( عجله کنید، نشتی آب میده و زحماتتون به هدر میره :) ) پمپ مثل شکل زیر متصل کنین، منبع تغذیه پیشنهادی من برای این ارتفاع 5 ولته، پس با ی شارژ موبایل هم میتونین پمپ روشن کنین، (به شرط اینکه شارژرش حداقل 2 آمپر بده) و در نهایت برای محکم کاری می تونین ی فیلتر هم برای پمپ طراحی کنین تا هدر رفت نداشته باشین، سعی کنین نور از جایی وارد سیستمتون نشه، و برای اطمینان مثل من میتونین یکم پودر ضد قارچ ( در حد نصف قاشق چایخوری) داخل آب بریزید. برای ساخت محل رشد گیاه ها هم میتونین سبد هارو سوراخ کنین، ی رشته پارچه بریده شده ازش رد کنید و رو و زیرش لیکا بریزید، بعدا که بذرهاتون جوونه زد، بذر های جوونه زده رو بزارید لای این پارچه هاپمپ و لیکا و پارچهپمپ لازم نیست همیشه روشن باشه، مثلا به ازای هر نیم ساعت روشن بودن، 2 ساعت خاموش بزارید، اینجوری عمرش خیلی زیاد تر خواهد بود(من فعلا 24/7 روشن گذاشتمشون)، در مورد آب و محلول هیدروپونیک هم متناسب با گیاهتون باید از درصد های مختلف استفاده کنین، مواظبت از PH - دمای آب - پمپ جدی بگیرین که ی وقت مشکل پیش نیاد.فعلا که بین گیاه ها ساده ترین برای هیدروپونیک کاهو هست و ماهم کاهو تست کردیم و طی 15 روز به این حد رسیدن:کاهو، آرامش و لذت کار جدیدویرگول برای پست هایی که #پیک_زمین دارن طی پویشی درخت می کاره، ما هم این پست منتشر می کنیم و اولین کسی هستیم که با کاشت کاهو درخت ثمر دادیم :)</description>
                <category>مهدی سادات حسینی</category>
                <author>مهدی سادات حسینی</author>
                <pubDate>Fri, 02 Apr 2021 17:35:49 +0430</pubDate>
            </item>
                    <item>
                <title>مولانا و مصیبت کنترل چند متغیره!</title>
                <link>https://virgool.io/@asamasach/%D9%85%D9%88%D9%84%D8%A7%D9%86%D8%A7-%D9%88-%D9%85%D8%B5%DB%8C%D8%A8%D8%AA-%DA%A9%D9%86%D8%AA%D8%B1%D9%84-%DA%86%D9%86%D8%AF-%D9%85%D8%AA%D8%BA%DB%8C%D8%B1%D9%87-eo9lj9cc19ot</link>
                <description>شعری از مولانا هست که خیلی جالبه، برای آدم های کمالگرا، کنترلگر، تمامیت خواه و... نوشته شده و واقعا چقدر عاقلانه اس، دو بیتی از اونو اینجا نوشتم:هر لحظه که تسلیمم در کارگه تقدیر آرامتر از آهو بی باکتر از شیرمهر لحظه که می کوشم در کار کنم تدبیر رنج از پی رنج آید ، زنجیر پی زنجیروقتی تعداد بعد های یک مساله زیاد میشه، تمامی فاکتور های اون مساله بیشتر و بیشتر میشه، از کنترل کردن تا آشوب و...، مفهوم مهمی هست به نام مصیبت ابعاد (curse of dimensionality)، وقتی ما میخوایم همزمان فاکتور های زیادی دخیل کنیم و همه ابعاد و جوانب موضوع رو بسنجیم و کنترل کنیم این اتفاق میوفتهسال ها فکر این بود که هرچقدر بتونیم پارامتر های بیشتری کنترل کنیم، میتونیم سیستم رام تری داشته باشیم، تا اینکه اتفاقاتی مثل رند کردن یک عدد اعشاری خیلی هارو به مفهومی به اسم آشوب آشنا کرد، و طی زمان فهمیدند، خیلی وقتا بزاریم خیلی از پارمتر ها آزاد باشن و ما سعی کنیم فقط تمرکزمون رو روی ی پارامتر بزاریم که باعث علمی به نام کاهش بعد شد، خیلی وقتا خیلی از ماها سعی می کنیم پارامتر های زیادی رو کنترل کنیم، همه جوانب کار بسنجیم و خیلی چیزارو کنترل می کنیم، بررسی می کنیم، تحلیل می کنیم و فیدبک می گیریم و تصور می کنیم بعد از اون با خیال راحت میشینیم ی گوشه و از فوائدش بهره مند میشیم!اما اتفاقی که میوفته اینه که زهی خیال باطل :)، اصن چی فکر می کردم چی شد! (به یاد اون دوستم که دقیقا قبل از کرونا ی رستوران زد و حساب همه جوانب کرده بود!!!)توی کتاب دینی دبیرستان مفهومی به اسم توکل برای بچه ها بیان می کردن، مفهومی که همین مطلب منتقل می کرد، به جای اینکه همه چیز رو بخواید تحت کنترل دربیارید، سعی کنیم یک بعد کار دست بگیرید و بقیه ابعاد رو به نیروی ماورایی بسپرید، خیلی از آدم ها از این قدرت تعریف کرده اند و مقدار زیادی از موفقیتشون رو به این موضوع پیوند زدندو نشون دادند، کاهش سطح کنترل گری خیلی وقتا باعث پیشرفت توی کارمون میشه، من تصورم از این موضوع ی همچین چیزیه:خیلی وقتا فاصله واقعی ما تا مطلوب دست ما نیست، چون همه عوامل نمیشه کنترل کردبه چی میخوام برسم؟ به نظرم مولانا بهتر بهش رسیده، مولانا هم اوایل شخصیت کنترلگرتری داشته تا اواخر :) و فکر می کنم میخواد مفهوم رضایت با مفهوم رسیدن در یک راستا قرار بده، بعضی وقتا باید از خیلی چیزا ها گذشت، و سعی کرد که برای رسیدن به اون نقطه مطلوب از همه چی نزنیم و دومین موضوع اینکه باور داشته باشیم، ما انسانیم نه ماشین رسیدن به نقاط مطلوب :) و اثبات شده، هرچقدر هرچقدر هرچقدر کنترلگر تر باشید، توی سیستم های غیرخطی مثل جهان فعلی ما، نتیجه ای که میگیرید ممکنه بسیار وابسته به فاکتور های بیرونی باشه، توی ی زمینه تلاش کنید،حول نقطه کارتون خطی سازی کنید بکوشید همه چی اوکی شه، ولی رضایت از زندگی خودتونو فدای رسیدن نکنید، چون اگر نرسید، هیچکسی نمیتونه جلوی خود تخریبی شمارو بگیره، قبول کنید شما یک ادم مانند میلیارد ها آدم دیگه توی ی جهان کاملا غیرمنطقی، غیرخطی و پیچیده اید :) اما فرصت اینو دارید که حول نقاط زندگیتون خطی سازی کنید، حساب و کتابش با خودتون (اگر تونستید بکنید :) )پی نوشت: در کامنت ها و در شبکه های اجتماعی مختلف گفته شده شعر برای آقای معینی کرمانشاهی یا جلال الدین بلخی و... هستش، با توجه به اینکه هدف از پست بیان موضوع دیگری بود در حال حاضر تغییری در پست نمیدم و امیدوارم این اشتباه سهوی رو ندید بگیرین :)https://vrgl.ir/wKHXG</description>
                <category>مهدی سادات حسینی</category>
                <author>مهدی سادات حسینی</author>
                <pubDate>Sat, 12 Dec 2020 00:04:06 +0330</pubDate>
            </item>
                    <item>
                <title>چرا ویرگول دوس دارم :)</title>
                <link>https://virgool.io/@asamasach/%DA%86%D8%B1%D8%A7-%D9%88%DB%8C%D8%B1%DA%AF%D9%88%D9%84-%D8%AF%D9%88%D8%B3-%D8%AF%D8%A7%D8%B1%D9%85-kkbulvb5ux3y</link>
                <description>هیچ شبکه اجتماعی به اندازه ویرگول ارزش نداره آدم وقت خودشو براش بزاره، ی لیستی درست کردم از ویژگی های مثبت ویرگول، که طبق اون اصل که اگر خوبی و یا بدی دیدی که ممکنه به دیگران هم برسه، به همه بگو، اینجا میگم:1- ویرگول شبکه اجتماعی محتوا محوره، اگر به احتمال به جای شانس اعتقاد داشته باشید، خواهید فهمید، شانس شما جایی بالا میره که احتمالش بالا باشه (از پشت متن نمیتونم منظورمو برسونم :) باید از نزدیک بگم از روی لحن)، وقتی به دنبال محتوای خوبید باید جایی برید که محتوای خوب هستش، قطعا تلگرام ویژگی های مثبتی داره ( کلی امکانات) و یا توییتر باحاله، ولی  SNR اشون خیلی کوچیکه ( Signal to Noise ratio نسبت اطلاعات بدرد بخور به نویزی که میاد) مثلا هر کس با 140 کارکتر ته تهش بتونه ی خبر برسونه،هیچ وقت نمیتونه ی مقاله بزرگ بنویسه، یا توی تلگرام در حال خوندن ی چیزی، با کلیک روی هایپر لینک میرید به کانال گیز میز، کاری ندارم کانال گیز میز خوبه یا بد، ولی میدونم اگر به دنبال ی مقاله علمی هستید، قطعا توی گیز میز نمیتونید پیداش کنید، باید توی جای دیگه دنبالش باشید، نسبت حواس پرتی روی این نسخه ساده ویرگول هم کمتره که خوشبختانه که از هنر طراحاش دراومده که به less is more اعتقاد درستی دارن2- ویرگول نسخه ایرانی شده مدیوم هستش، شاید همه بگن خوب بریم مدیوم بخونیم، قطعا انگلیسیش بهتره :)) اما نه، اشتباه نکنید، شما فقط نمیخواید بخونید برای خوندن، شما آدمید و دوس دارید اطرافیانتون درک کنید، قطعا وقتی ما توی ایران توی ی محیط خاص و تقریبا لوکالیم، باید ادم های این محیط بشناسیم و دغدغه هاشونو و مشکلاتی که قبلا داشتنم ببینیم، هیچ وقت برای کسی مثل دیود هادسن، معضلی مثل سربازی دولوپر مطرح نبوده، اما توی همین ایران افرادی مثل علی آجودانیان و حامد زیدآبادی از چالش های این معضل نوشتن، و یا چالش های مرتبط با راه اندازی سرویس هایی که در ایران تحریمه و یا مورد خود تحریمی قرار گرفته، یا حتی pivot کردن هیچ وقت به اندازه این نوشته مسعود حسن زاده برام جذاب و قابل درک نبوده،قبول کنیم یا نکنیم این چالش ها مختص کسری از افراد جهانه، نه همه افراد جهان، توی ویرگول فرصت بیشتری برای آشنایی با این چالش ها دارید3- بار اولی که فهمیدم انتشارات چه امکاناتی میتونه داشته باشه، با ذوق زدگی با هر کدوم از دوستام صحبت می کردم، میگفتم ی مجموعه جدیدی به اسم ویرگول هست با این امکانات، ازش استفاده کنید و منم اد کنید، و یا بچه های تیم مجبور می کردم که توی ویرگول بنویسن، اون اتفاقات هنوزم برای من جذابن و امیدوارم این ویرگول همین مسیر فعلی خودشو ادامه بده4- توی ایران برای طبقات پایین، ناامید بودن ساده ترین انتخابه، ولی وقتی پلتفرمی مثل ویرگول میاد وسط، به همه افراد نسبت برابری برای نمایش دادن توانایی هاشون میده برای کسی توی آمریکا یا کانادا، مشکلات یک  ایرانی همونقدر غیرقابل درکه که گرسنگی یک کودک سومالیایی، بعله ویرگول امکاناتی برای افزایش بازدید داره که باید باشه تا این سیستم بتونه هزینه های خودشو دربیاره، اما اینکه کسی سرش درد کنه که به جای هزاران کار ساده تر، مسیر سخت تری مثل توسعه نرم افزار اینگونه در پیش بگیره، به اندازه کافی جذاب هست.5- ویرگول توی تهران نیست! اصفهانه، این نشون میده توانایی دنیای آی تی چقدر میتونه بزرگ باشه، و وقتی ی تیم بخوان ی کاری کنن، می کنن!،ویرگول کلی آدم از سرتاسر ایران با هم آشنا کرده، و این چقدر میتونه قشنگ باشه،(بعله، کلی شبکه اجتماعی داریم که اینکارو می کنه، ولی زاویه دید ویرگول برای امثال یکی مثل من قشنگتره)من به شخصه آخرین بازدیدم از اینستاگرام و فیسبوک به 2 الی 3 سال قبل برمیگرده، ولی ویرگول منو مجاب کرد نه تنها محتوای یک شبکه اجتماعی بخونم، بلکه توش بنویسم، نوشتن برای آدم های درونگرا، نیازمند هزاران دلیله تا اتفاق بیوفته، من ازشون تشکر می کنم ( از این اموجی های فایو :)</description>
                <category>مهدی سادات حسینی</category>
                <author>مهدی سادات حسینی</author>
                <pubDate>Thu, 03 Dec 2020 15:12:10 +0330</pubDate>
            </item>
                    <item>
                <title>شروع ساده با Apache Airflow</title>
                <link>https://virgool.io/virasad/%D8%B4%D8%B1%D9%88%D8%B9-%D8%B3%D8%A7%D8%AF%D9%87-%D8%A8%D8%A7-apache-airflow-onybgm8kuped</link>
                <description>آپاچی ایرفلو دوست داشتنی :)وقتی تصمیم به خودکار سازی اجرای برنامه های مختلف و تکرارپذیر داشته باشید و ساده ترین راه ایجاد یک دستور در cronjob هستید، اما وقتی کم کم و طی زمان تعداد جاب ها و شرایط مختلف آن افزایش می یابد، مدیریت و بررسی جاب های مختلف سخت و در مواردی غیر ممکن خواهد شد در این زمان استفاده از آپاچی airflow توصیه می شود :)، به خصوص برای تیم های داده، که راه اندازی پایپلاین ها، ETL ها و... موضوع حیاتی هستش، ایرفلو به صورت خالص پایتونیه و برای همین کار باهاش راحته، برای شروع روش نصب و راه اندازی ایرفلو به وارد کردن دستورات زیر شروع می کنیم:export AIRFLOW_HOME=~/airflow
pip install apache-airflow
airflow initdbairflow webserver -p 8080 &amp;airflow scheduler &amp;با انجام این دستورات، رابط کاربری گرافیکی ایرفلو بر روی پورت 8080 و اسکجلر ایرفلو راه اندازی می شوند و میتوانید بر روی پورت 8080 رابط کاربری را ببینید:رابط کاربری ایرفلوبرای شروع به کار بهتر است از طریق آموزش های خود سایت ایرفلو نسبت به نحوه نوشتن تسک ها آشنایی کافی داشته باشیم، اما برای شروع کد تستی به شکل زیر در نظر می گیریم:ابتدا تسک اول انجام شود، سپس تسک دوم در صورت موفقیت تسک اول و در نهایت تسک های سوم و چهارم مستقلا در صورت موفقیت تسک دومدر مسیر:~/airflow/dags/فایل پایتونی با نام simple_bash.py با محتوای زیر ایجاد می کنیم:from datetime import timedelta
# The DAG object; we&#039;ll need this to instantiate a DAG
from airflow import DAG
# Operators; we need this to operate!
from airflow.operators.bash_operator import BashOperator
from airflow.utils.dates import days_ago

default_args = {
    &#039;owner&#039;: &#039;airflow&#039;,
    &#039;depends_on_past&#039;: False,
    &#039;start_date&#039;: days_ago(2),
    &#039;email&#039;: [&#039;airflow@example.com&#039;],
    &#039;email_on_failure&#039;: False,
    &#039;email_on_retry&#039;: False,
    &#039;retries&#039;: 1,
    &#039;retry_delay&#039;: timedelta(minutes=5),
}
dag = DAG(
    &#039;simple_bash&#039;,
    default_args=default_args,
    description=&#039;A simple bash DAG&#039;,
    schedule_interval=timedelta(days=1),
)

t1 = BashOperator(
    task_id=&#039;echo1&#039;,
    bash_command=&#039;echo &amp;quotsimple task! by dag&amp;quot &#039;,
    dag=dag,
)

t2 = BashOperator(
    task_id=&#039;echo2&#039;,
    bash_command=&#039;echo &amp;quotsimple task! by dag second step&amp;quot &#039;,
    dag=dag,
)

t3 = BashOperator(
    task_id=&#039;echo3&#039;,
    bash_command=&#039;echo &amp;quotsimple task! by dag third step&amp;quot &#039;,
    dag=dag,
)

t4 = BashOperator(
    task_id=&#039;echo4&#039;,
    bash_command=&#039;echo &amp;quotsimple task! by dag fourth step, concurrent&amp;quot &#039;,
    dag=dag,
)

t1 &gt;&gt; t2 &gt;&gt; [t3,t4] # declare dependencies between tasksو در نهایت با بررسی مسیر و استفاده از دستور زیر لیست دگ هارو خواهیم دید:airflow list_dagsهمونجور که مشخصه، simple_bash که دگ ایجاد شده توسط ماست در لیست قرار داره.سپس از طریق رابط گرافیکی، simple_bash را روشن می کنیم:و حالا از طریق graph view می تونیم خروجی کار رو ببینیم:فلو اجرایی مورد نظر ماانجام دادن تسک های بیشتر و کارهای بیشتر و اسکجل کردن نیز با همین مسیر امکان پذیره و برای داکیومنت های بیشتر سایت آپاچی ایرفلو پیشنهاد میشه.</description>
                <category>مهدی سادات حسینی</category>
                <author>مهدی سادات حسینی</author>
                <pubDate>Mon, 28 Sep 2020 12:31:49 +0330</pubDate>
            </item>
                    <item>
                <title>جبر یا اختیار،آشوب شروع و غایت در زندگی</title>
                <link>https://virgool.io/@asamasach/%D8%AC%D8%A8%D8%B1-%DB%8C%D8%A7-%D8%A7%D8%AE%D8%AA%DB%8C%D8%A7%D8%B1%D8%A2%D8%B4%D9%88%D8%A8-%D8%B4%D8%B1%D9%88%D8%B9-%D9%88-%D8%BA%D8%A7%DB%8C%D8%AA-%D8%AF%D8%B1-%D8%B2%D9%86%D8%AF%DA%AF%DB%8C-ljvcjgkop71w</link>
                <description>ماها توی زندگی تابع جبریم یا انتخاب؟ ساده ترین حالت بررسی عملکرد تابع لجستیک آشوبی در جاهای مختلف زندگیمونه، تابع لجستیک یک تابع مشهوره که توی سیستم های طبیعی زیاده و یکی از اون سیستم های طبیعی ماییم :) تابع به صورت زیر:Xn+1=r*Xn*(1-Xn)              each new X calculated by this equationهر حالت جدیدی از حالت قبلیش توسط این فرمول تعریف میشه و طی زمان این حالت میتونه به سمت یک جاذب پایدار بره یا کلا به سمت بی نهایت بره، ما شرایط این تابع برای r در محدوده 1 تا 4 بررسی می کنیم، چون فقط در این مقادیر نهایت حالت داخل یک محدوده معین قرار می گیره. پس بقیه r ها و بقیه حالت های بی نهایت در نظر نمیگیرم و فقط محدود میشیم به حالت های که نهایت های محدود دارن، البته این نهایت محدود به معنی پایداری نیست، ممکنه نوسان داشته باشه، در این حالت متناسب با مقدار r حالت نهایی به سمت خاصی ممکنه پایدار بشه یا در محدوده خاصی نوسان کنه اگر به این نمودار نگاه کنیم:نمودار بایفورکیشن بر اساس مقادیر مختلف r که حالت های مختلف غایی یک سیستم را نشان می دهد منبعبخش های مختلف نمودار رو به این صورت تقسیم می کنم:حالت های ممکن برای همه ماها بر اساس نمودار بایفورکیشن تابع لجستیکلت ممکن بر اساس انتخاب rانتخاب آر دست آدمه به نظر خیلی ها:دسته اول: در لحظه زندگی کن های سخت نگیر کسایی ان که آر اون ها بین صفر و یکه، صفر کسیه که هیچگونه کاری نمیکنه، هیچگونه کاری نداره، انتخاب کرده نباشه و ساده ترین روش و مدل زندگی رو انتخاب کنه، با انتخاب صفر، غایت هم صفر خواهد بود، شاید انتخاب کسی باشه، بهش خرده ای نیست؛ بعضی هم میدونن صفر بده ولی عددی بین صفر تا یک انتخاب می کنن، چندتا تلاش می کنن ولی ناخوداگاه توی چند تکرار خاص به صفر برمیگرده، فرقی نمیکنه نزدیک صفر باشه یا نزدیک یک، فقط توی مدت زمان برگشت به صفر فرق می کنه، ولی در هر صورت غایتشون صفره، مثل کسی که کاری شروع می کنه، ولی اونقدر براش زحمت نمیکشه، و انتظار داره به حد مناسبی بدون زحمت کافی برسه که قطعا نمیرسه، فرقش مثل هواپیماییه که بالش و موتورش مشکل داره، هرچقدرم بالابره، در نهایت به زمین بر میگرده، چون موتور و بالش به اندازه کافی قوی نیست. کافیه بود اون آدم یک اپسیلون آر بالاتری از یک انتخاب می کرد. تا غایتش به عددی غیر از صفر بره.دسته دوم: منطق گراهای برنامه ریزکسایی ان که آر بین یک تا سه رو انتخاب می کنن، یک تصمیم عاقلانه که مقدار غایی به یک منها یک تقسیم بر آر میرسونه، که همون اوایل افزایش آر تاثیر خودشو به بهترین شکل نشون میده و مقدار غایی با شیب خوبی افزایش پیدا می کنه، باعث پیشرفت آدماس و توی زنگوله گوسی آدم هارو توی موقعیت های بهتری قرار بده، ی چیزی حول میانگین و بیشتر از اون، اینجا در موردش بیشتر گفتم قبلا، اما منتهی بخشی از دنیا که توی زنگوله گوسی میگنجه؛ مثل کسی که میخواد استاد دانشگاه بشه، با درست درس خوندن، تلاش شب و روز برای کنکور، کارشناسی، ارشد، تز دکترا، مقاله نویسی و مصاحبه مناسب، از استادیار تا دانشیار و استاد تمام، همه توی ی مسیر مشخص ولی با شدت بالا، با تلاش مناسب، هرچقدر تلاش بیشتر نتیجه بهتر، ولی واقع بین اگر باشیم، بحثی مثل شهرت به معنی عامش و یا درآمد، رابطه مناسبی باهاش نداره، و شاید از اون حالت صفر دور باشه، اما تا آمال خیلی از آدم ها فاصله زیادی داره.دسته سوم: فعالین ریسک پذیرکسایی که آر بین 3 تا حدود 3.5 انتخاب می کنن، اینا کسایی ان که ریسک می کنن، تلاششون در کنار ریسکشون اضافه می کنن، در اینجا همونجور که روی نمودار مشخصه، مقدار غایی بین دو مقدار نوسان می کنه، حالا این مقدار غایی توی هر لحظه بر چه اساس ممکنه عوض شه؟ جواب اینه: مقدار اولیه؛ممکنه دو نفر همزمان شروع به یک کاری و مثلا توی بحث راه اندازی یک بیزینس، یکی توی ی موقعیت مشابه، توانمندی مالی بالاتری داشته باشه که باعث شه توی شاخه بالایی قرار بگیره و یکی دیگه توی بزنگاه به مشکل بخوره و توی شاخه پایین تر بره، ریسک پذیری این آدم ها تماما متناسب با توانمندی و یا هنرشون نیست، ممکنه ی نفر با ی سری توانمندی کمتر از ی دسته دومی، توی زمان کمتری به نتایج بهتری برسه، و این دلیلی بر تماما باهوش تر، هنرمندتر و یا هر چیز دیگری نسبت به دسته دوم نیست، خیلی از افرادی که بیزینسشون با بحرانی مثل کرونا رو به رو شد و به یکی از این دو شاخه پرت شدن، بیشتر از توانایی، شانس باهاشون همراه بوده یا نبوده، مثل کسب و کاری که محتوای آموزشی آنلاین تولید می کرد و دقیقا قبل از بحران کرونا شروع به کار کرد و یا رستوران لوکسی که با بهترین امکانات ساخته شد و افتتاحیه اش به زمان بحران کرونا خورد، قطعا سطح اعتماد به نفس شاخه بالاتر، به همان نسبت بالاتر و سطح رضایت شاخه پایینتر به نسبت ریسک در جایی قرار می گیره که حتی ممکنه نسبت به ی دسته دومی در ناحیه پایینتری قرار بگیره.دسته چهارم: یونیکورن های جهان برخالیو اما دسته چهارمی ها، یونیکورن ها :)، کسایی که آر هایی حدودا بالاتر از 3.4 انتخاب می کنن و ورای هر گونه ریسک، کاملا رفتار تصادفی در انتظارشونه، اگر ویژگی های بهترین کارآفرین های جهان بررسی کنید، دقیقا به همون صفاتی برخورد می کنید که بخش زیادی از جامعه زندانیان تشکیل میده، صفاتی مثل جسارت خارق العاده، ریسک پذیری بسیار بالا، خودرایی و...، دلیل شناخته شدن سلبریتی های زیاد بدون هیچ هنر یا یوتیوب بلاگر ها دقیقا همینه و در مقابل، افراد زیادی داریم که سعی کردن با یوتیوب بلاگر شدن، به همون شهرت و محبوبیتی برسن که خیلی های دیگه رسیدن، اما در واقعیت تعداد کسایی که یوتیوب بلاگر مشهور شدن خیلی خیلی خیلی کمتر از تمام کسایی ان که کل زندگی و زمان و انرژی و پولشونو خرج این موضوع کردن،شاید کسایی که سعی کردن توی مسترالمپیا شرکت کنن و باعث شدن باشگاه دارای دسته دوم به مراتب سطح رضایت بالاتری داشته باشن تا خودشون نمونه ای از این دسته باشن، اینجا جایی که توزیع نرمال دیگه معنی نداره، اینجا جایی که توزیع برخالی میاد و دقیقا اینجا جایی که نظم مورد تصور 99.99 درصد ادم ها کاملا وارو میشه، وارد شدن به این دسته کاملا به مقدار اولیه وابستس، ی رفتار کاملا آشوب گونه، که دهمین رقم اعشار توی مقدار اولیه، میتونه کاملا نقطه پایانی جا به جا کنه :)تاثیر مقدار اولیه با رقم های اعشار کوچیک بر روی غایت سیستماین تماما تصمیم خود ماست که کدوم دسته رو انتخاب کنیم، برای هر کسی مسیر متفاوتی درسته و قرار نیست همه ته ریسک پذیری باشن تا موفق باشن و یا در مقابل هرکسی که سخت نگرفت و به سبک خودش ولی برای خودش زندگی کرد ناموفقه، مسیر زندگی هرکس برای خودشه و نه یک فرمول از پیش تعیین شده، به همین دلیل خوندن زندگی نامه افراد موفق توصیه نمیشه! :) به جاش سرگذشت آدم های شکست خورده هم بخونید، شاید مشابهت های زیادی ببینید، ( بسیار دوستان ما که به بازار سرمایه وارد شدن و با شاخه بالایی اعتماد به نفس کاذب پیدا کردن و به شاخه پایینی رفتن ) یا به قول بارباسی توی کتاب فرمول موفقیت فقط وابسته به بهره وری نیست، به تصور دیگران از ماست، و در کل اگر آدمی هستید که معنی ریسک به واقع ندید، سعی کنید وارد دسته سوم و چهارم نشید، و در مقابل، اگر آدم ریسک پذیری هستید، خودتون به آر های کوچیک راضی نکنید، زمین بازی شما آر بزرگتری میطلبه و از شاخه پایین بودن نترسید، برای روحیه، ی شاخه پایین ولی با انتخاب خودتون بهتره تا ی پایدار به جاذب :) درسته به نظر میاد ما تماما توی نتیجه و غایت اختیار نداریم، ولی توی انتخاب بازه آر مون به نظر مختار میایم و این اون چیزیه که شعرای قائل به جبر توی دسته اول میچسبونه. اختیاری که جبر به همراه خودش میاره و جبری که به دنبال اختیار و به دور از انتخاب ماست. این موسیقی هم همینجوری به خاطر مشابهت اسمی میذارم اینجا، شبیه موسیقی متن فیلم Babel هم هست :)) https://www.aparat.com/v/xNX2r </description>
                <category>مهدی سادات حسینی</category>
                <author>مهدی سادات حسینی</author>
                <pubDate>Mon, 28 Sep 2020 00:43:08 +0330</pubDate>
            </item>
                    <item>
                <title>مسیر پیشنهادی ساده مهندسی داده Data Engineer</title>
                <link>https://virgool.io/virasad/%D9%85%D8%B3%DB%8C%D8%B1-%D9%BE%DB%8C%D8%B4%D9%86%D9%87%D8%A7%D8%AF%DB%8C-%D8%B3%D8%A7%D8%AF%D9%87-%D9%85%D9%87%D9%86%D8%AF%D8%B3%DB%8C-%D8%AF%D8%A7%D8%AF%D9%87-data-engineer-sm9qxfhby0cn</link>
                <description>بازهم پیشنهاد و بازهم باید بهتر و بهتر بشهوقتی صحبت از داده میشه، معمولا همه چی حول یک دیتاساینتیست می چرخه، تمام تصور بچه ها از دیتا، حول انسانیه که داره با داده ها کار می کنه، جدیدترین روش های کار با داده رو پیدا می کنه، مدل های پیچیده ریاضیاتی میسازه و با ساختن کد های خفن، باعث میشه از داده های خام، داده های باارزشی به دست بیاد، در کل این نوع نگاه کامل نیست و یک مهندس داده کاری فراتر از اینا انجام میده،یک مهندس داده باعث میشه اون ایده ها و ارزش های افزوده حول مسائل داده به دنیای واقعی و به طور عملی در مقیاس مناسبی اجرایی بشهپس یک سری تفاوت ها بین دیتاساینتیست و دیتا اینجیر هست که باید در نظر گرفته بشه.در اینجا من یک مسیر پیشنهادی برای یک مهندس داده را پیشنهاد دادم، این مسیر متناسب با نیاز هر شرکت و مجموعه میتونه متفاوت باشه و قسمت هایی از اون بزرگتر و قسمت هایی از اون کوچیکتر باشه، برای همین سعی کنید بیشتر از اینکه بخواید توی همه این زمینه ها اوستا بشید، از همه اشون یک دیدی داشته باشید و متناسب با نیاز، بخش هایی رو بهتر و قوی تر کار کنید. به طور کل یادگیری لینوکس و گیت به همه فعالین عرصه نرم افزار توصیه می شه :) و خواهش میشه که همیشه زمانی رو برای داکیومنت نویسی و تست جدا بگذارید، در کل اجرای بخش های مختلف این سیستم نیازمند تلاش و یادگیری چند بارس، و سعی کنید تا حد امکان از ابزار های آماده استفاده کنید و خوبی ها و بدی هاشونو بشناسید، مثلا برای ETL نویسی، شما هم میتونید کد بزنید هم از ابزارهای آماده استفاده کنید، سعی کنید منطق ابزارهارو یاد بگیرید تا با استفاده بهینه ازشون، زمانتون ذخیره بشه و در بخش های دیگه بتونید در صورت نیاز کد های اختصاصی توسعه بدید. بازهم پذیرای پیشنهادات شما هستم و در طی زمان این نوشته رو به روز خواهیم کرد :)</description>
                <category>مهدی سادات حسینی</category>
                <author>مهدی سادات حسینی</author>
                <pubDate>Sat, 26 Sep 2020 12:02:38 +0330</pubDate>
            </item>
                    <item>
                <title>اتصال گیت لب رانر gitlab-runner</title>
                <link>https://virgool.io/virasad/%D8%A7%D8%AA%D8%B5%D8%A7%D9%84-%DA%AF%DB%8C%D8%AA-%D9%84%D8%A8-%D8%B1%D8%A7%D9%86%D8%B1-gitlab-runner-om8umz8mjp28</link>
                <description>اجرای CI-CD بر روی گیت لبرانر به عنوان ایجنت اجرای فرآیند های  CI-CD به صورت پیشفرض درون gitlab.com به صورت اشتراکی گذاشته شده و برای اجرای فرآیند های مختلف می توان از آن ها استفاده نمود، ولی بعضی زمان ها سرعت بیلد و اختصاصی بودن رانر ها برای ما مهم میشه، در این جور مواقع بهتر هستش که رانر اختصاصی خودمون را راه بندازیم:اول از همه داخل گیت خودمون میریم و در بخش CI/CD توکن لازم برای اجرای رانر در اختیار بگیریم:رفتن به بخش CI/CD قسمت رانرکپی کردن آدرس گیت لب و توکنپیشنهاد من استفاده از گیت لب رانر بر بستر داکر هستش که میتونیم به راحتی فرآیند نصب و اجرا را ادامه بدیم: docker run -d --name gitlab-runner --restart always \ -v /srv/gitlab-runner/config:/etc/gitlab-runner \ -v /var/run/docker.sock:/var/run/docker.sock \     gitlab/gitlab-runner:latestبا این دستور یک کانتینر گیت لب رانر اجرا می کنیم و سپس باید رانر را به گیت لب متصل کنیم:docker run --rm -it -v /srv/gitlab-runner/config:/etc/gitlab-runner gitlab/gitlab-runner registerبا اجرای این دستور به صورت تعاملی چندین سوال از شما پرسیده می شود، مانند URL ( به http/https دقت شود!) و Secret Token که در قسمت قبل کپی کرده ایم و نام رانر و اگر تگ خاصی برای اجرای آن مد نظر دارید نام گذاری کنید. با وارد کردن این اطلاعات، گیت لب رانر شما به صورت موفقیت آمیز به گیت لب شما متصل شده و در قسمت CI/CD runner اضافه خواهد شد:پاسخ به سوالات نصب رانربرای تکمیل کار به تنظیمات گیت لب بخش تنظیمات رانر میریم:کلیک بر روی تنظیمات رانرچک مارک هادر بخش تنظیمات ریپوزیتوری shared runner رو غیر فعال کنیم و در نهایت به ریپوزیتوری بریم و یک فایل جدید درست کنیم و از گزینه های بالا گزینه template برای فایل پایپلاین خودمون انتخاب کنیم و برای شروع تست خودمون ی فایل پایپلاین bash می سازیم:فایل پایپلاین .gitlab-ci.ymlبه صورت پیش فرض با پوش کردن این فایل چون تغییری بر روی برنچ مستر اتفاق میوفته، سیستم autodevops گیت لب با استفاده از رانری که در دسترس داره شروع به بیلد پروژه می کنه و اگر شما روی علامت running کلیک کنید، لاگ رانر را خواهید دید:اگر با پیام passed رو به رو شدید، تبریک می گم :)) شما گیت لب رانر به گیت خودتون به طور موفقیت آمیزی متصل کردید :)</description>
                <category>مهدی سادات حسینی</category>
                <author>مهدی سادات حسینی</author>
                <pubDate>Sat, 19 Sep 2020 15:38:32 +0430</pubDate>
            </item>
                    <item>
                <title>با مانیتور دما و رطوبت، یک بابای ریموت برای کولر بسازیم!</title>
                <link>https://virgool.io/gartex/%D8%A8%D8%A7-%D9%85%D8%A7%D9%86%DB%8C%D8%AA%D9%88%D8%B1-%D8%AF%D9%85%D8%A7-%D9%88-%D8%B1%D8%B7%D9%88%D8%A8%D8%AA-%DB%8C%DA%A9-%D8%A8%D8%A7%D8%A8%D8%A7%DB%8C-%D8%B1%DB%8C%D9%85%D9%88%D8%AA-%D8%A8%D8%B1%D8%A7%DB%8C-%DA%A9%D9%88%D9%84%D8%B1-%D8%A8%D8%B3%D8%A7%D8%B2%DB%8C%D9%85-bhzht6oynvas</link>
                <description>توی خونه ما کولر زیاده، و قاعدتا وقتی کولر زیاده، حساسیت روی روشن و خاموش بودنشون توسط بابا هم زیاده، چجوری میشه به بابا کمک کرد که بتونه همه کولر هارو چک کنه؟ :))کسی می دونه چرا همه جای جهان باباها حساسن به کولر؟خیلی راحت، کافیه دما و رطوبت یک جارو مانیتور کنیم تا ببینیم کی روشن میشه، خوب چجوری میشه مانیتور کرد؟1- ی واچر سخت افزاری میخوایم که با سنسور دما و رطوبت مقادیر بگیره2- ی پنل نرم افزاری میخوایم که داده هارو آنلاین نشون بدهبرای سخت افزار که چهار تا چیز لازم داریم:ی دونه NodeMCU، ی دونه DHT11، ی دونه منبع تغذیه 5 ولت، ی مقدار سیم برای اتصال این ها به هماول سنسور رطوبت و دمای DHT11:کلا کاری که این سنسور می کنه اینکه از طریق ی پرتکل ساده سریال دما و رطوبت رو ارسال می کنه و خروجیشو به پایه GPIO2 نود وصل می کنیم:نقشه مدار کار سمت سخت افزارمون تمومه تقریبا، و اگر ی شارژر میکرویو اس بی (اندرویدی :)) ) به نود وصل کنیم تمامسمت نرم افزار: ی اینترنت میخوایمچون تا اخر گرما خیلی نمونده ی ایمیل میزنیم به gartex.ir.ad@gmail.com و میگیم با ما ی واچر سخت افزاری داریم و لازمه مانیتورش کنیم، ی ساب دامنه برای ما بسازن و ی پنل و ی ای دی و ی سکرت کی بهمون اختصاص بدن، ی دونش برای 2 ماه رایگانه :)اونا هم به ما در جواب ی ای دی و ی سکرت کی و ی پنل بر روی وب میدنحالا برای اینکه بتونیم داده بدیم باید با اردینو ی کد بنویسیم که داده هارو از طریق اینترنت به سرور های گارتکس بفرسته:#include &lt;DHT.h&gt;
#include &lt;Arduino.h&gt;
#include &lt;ESP8266WiFi.h&gt;
#include &lt;ESP8266WiFiMulti.h&gt;
#include &lt;ESP8266WebServer.h&gt;
#include &lt;ESP8266mDNS.h&gt;
#include &lt;ESP8266HTTPClient.h&gt;
#include &lt;WiFiClient.h&gt;
#include &lt;Wire.h&gt;#define DHTPIN 2
#define DHTTYPE    DHT11 
DHT dht(DHTPIN, DHTTYPE);uint32_t delayMS;ESP8266WiFiMulti WiFiMulti;
//WiFi.hostname(&amp;quotesp_moisture_watcher_v1&amp;quot);
void setup() {
  dht.begin();
  Serial.begin(115200);  
  for (uint8_t t = 4; t &gt; 0; t--) {
    Serial.printf(&amp;quot[SETUP] WAIT %d...\n&amp;quot, t);
    Serial.flush();
    delay(1000);
  }
  WiFi.mode(WIFI_STA);
  WiFiMulti.addAP(&amp;quotssid&amp;quot, &amp;quotpass&amp;quot);   // یوزر و پسورد وای فای محلتون بزنید
}void loop() {
  // wait for WiFi connection
  if ((WiFiMulti.run() == WL_CONNECTED)) {
    WiFiClient client;
    HTTPClient http;    
    float h = dht.readHumidity();
    String y = String(h);
    float t = dht.readTemperature();
    String x = String(t);
    String z = String(&amp;quot-&amp;quot);
    Serial.print(&amp;quot\n&amp;quot + x + &amp;quot\n&amp;quot + y + &amp;quot\n&amp;quot + z + &amp;quot\n&amp;quot);
    String url = String(&amp;quothttp://api0.gartex.ir/id=W*******_key=************_v0=&amp;quot + x + &amp;quot_v1=&amp;quot + y + &amp;quot_v2=&amp;quot + z + &amp;quot_v3=esp_hum&amp;quot); // ای دی و سکرت کی که از گارتکس گرفتید رو اینجا بزنید

    Serial.print(&amp;quot[HTTP] begin...\n&amp;quot);
    if (http.begin(client, url)) {  // HTTP
      Serial.print(&amp;quot[HTTP] GET...\n&amp;quot);
      // start connection and send HTTP header
      int httpCode = http.GET();
      // httpCode will be negative on error
      if (httpCode &gt; 0) {
        // HTTP header has been send and Server response header has been handled
        Serial.printf(&amp;quot[HTTP] GET... code: %d\n&amp;quot, httpCode);
        // file found at server
        if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) {
          String payload = http.getString();
          Serial.println(payload);
        }
      } else {
        Serial.printf(&amp;quot[HTTP] GET... failed, error: %s\n&amp;quot, http.errorToString(httpCode).c_str());
      }

      http.end();
    } else {
      Serial.printf(&amp;quot[HTTP} Unable to connect\n&amp;quot);
    }
  }

  delay(5000);
}این کد از طریق ی سیم میکرو یو اس بی روی نود ام سی یو اپلود کنید، بزاریدش جلوی کانال کولر و بعد به پنل نرم افزاری که گارتکس داده برید:ساب دامنه اختصاصی و پنل دما و رطوبت بابا :))خوب همونطور که می بینید هر 5 ثانیه ی داده جدید برای سرور ارسال میشه و از طریق پنل می تونیم ببینیم دما و رطوبت آنلاین در چه وضعی هستشحالا به نظرتون بابا از کجا بفهمه کی کولر روشن شده؟ :)) توی این پنل مشخصه البته :)))برای اینکه بهتر باشه و سیم کشی ها بیرون نباشه من ی جعبه خالی اداپتور پیدا کردم و ی شارژر و بقیه چیزارو گذاشتم توش که راحت داخل پریز برقم بره :)) شمام میتونید هرجور دوس داری بسازینش :)واچر سخت افزاری نهایی من :)توی قسمت های بعد سراغ دغدغه های مامانا هم میریم، گلدون ها ;)</description>
                <category>مهدی سادات حسینی</category>
                <author>مهدی سادات حسینی</author>
                <pubDate>Tue, 25 Aug 2020 10:45:25 +0430</pubDate>
            </item>
                    <item>
                <title>راه اندازی سرویس NodeJS+Mongo+Minio بر بستر داکر</title>
                <link>https://virgool.io/virasad/%D8%B1%D8%A7%D9%87-%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%DB%8C-%D8%B3%D8%B1%D9%88%DB%8C%D8%B3-nodejsmongominio-%D8%A8%D8%B1-%D8%A8%D8%B3%D8%AA%D8%B1-%D8%AF%D8%A7%DA%A9%D8%B1-a5foyoekcmta</link>
                <description>دیاگرام مورد استفاده ماخیلی از اپلیکیشن هایی که در بخش R&amp;D توسعه داده می شوند بر بستر معروف mongo, node استوار شده اند، و خیلی وقتا استفاده از PaaS ها برای استقرار این استک مورد توصیه هستش، در این پروژه ما سعی کردیم اپلیکیشن های js که توسط بچه ها توسعه داده می شه رو روی یک سروری تستی که داریم بالا بیاریم و سعی کنیم با استفاده از swarm اسکیل لازم رو انجام بدیم و لود بالانس نیز داشته باشیم. زیر ساخت برنامه نوشته شده بر اساس پایگاه داده mongo ، فایل استوریج minio، اپلیکیشن node، و لود بالانسر traefik نوشته شده است، اولین قدم نوشتن یک داکر فایل Dockerfile برای اپلیکیشن نود خودمان می باشد:FROM node:12
COPY ./jana /usr/src/app
WORKDIR /usr/src/app
RUN npm install
EXPOSE 3000
CMD [ &amp;quotnpm&amp;quot, &amp;quotstart&amp;quot ]در مرحله بعد نوشتن داکر کامپوز فایل برای پروژه خودمون هستش که سرویس های لازم را بالا بیاره که به صورت زیر می نویسیم:version: &#039;3.8&#039;
services:
  minio:
    image: minio/minio:latest
    volumes:
      - minio_data_1:/data1
    expose:
      - &amp;quot9000&amp;quot
    environment:
      MINIO_ACCESS_KEY: $MINIO_ACCESS_KEY
      MINIO_SECRET_KEY: $MINIO_SECRET_KEY
    command: server /data1
    healthcheck:
      test: [&amp;quotCMD&amp;quot, &amp;quotcurl&amp;quot, &amp;quot-f&amp;quot, &amp;quothttp://localhost:9000/minio/health/live&amp;quot]
      interval: 30s
      timeout: 20s
      retries: 3
    restart: always
    networks:
      - jana

  mongo:
    image: mongo
    restart: always
    environment:
      MONGO_INITDB_ROOT_USERNAME: $MONGO_USERNAME
      MONGO_INITDB_ROOT_PASSWORD: $MONGO_PASSWORD
      MONGO_INITDB_DATABASE: $MONGO_DATABASE
    ports:
      - &amp;quot27017&amp;quot
    volumes:
      - mongodb_data_container:/data/db
    networks:
      - jana
  
  nodejs:
    build:
      context: ./node
      dockerfile: Dockerfile
    image: nodejs
    restart: unless-stopped
    env_file: .env
    environment:
      - MONGO_USERNAME=$MONGO_USERNAME
      - MONGO_PASSWORD=$MONGO_PASSWORD
      - MONGO_HOSTNAME=$MONGO_HOSTNAME
      - MONGO_PORT=$MONGO_PORT
      - MONGO_DATABASE=$MONGO_DATABASE
      - NODE_ENV=$NODE_ENV 
    expose:
      - &amp;quot3000&amp;quot
    volumes:
      - ./node:/home/node/app
      - node_modules:/home/node/app/node_modules

    labels:
      - &amp;quottraefik.enable=true&amp;quot
      - &amp;quottraefik.http.routers.nodejs.rule=Host(`localhost`)&amp;quot
    networks:
      - jana

  traefik:
    image: &amp;quottraefik:v2.2&amp;quot
    container_name: &amp;quottraefik&amp;quot
    command:
      #- &amp;quot--log.level=DEBUG&amp;quot
      - &amp;quot--api.insecure=true&amp;quot
      - &amp;quot--providers.docker=true&amp;quot
      - &amp;quot--providers.docker.exposedbydefault=false&amp;quot
      - &amp;quot--entrypoints.web.address=:80&amp;quot
    ports:
      - &amp;quot8080:80&amp;quot
      - &amp;quot8088:8080&amp;quot
    volumes:
      - &amp;quot/var/run/docker.sock:/var/run/docker.sock:ro&amp;quot
    networks:
      - jana

volumes:

  mongodb_data_container:
  minio_data_1:
  node_modules:

networks:
  jana:
    driver: bridgeو با توجه به پروژه مقادیر وریبل هایی که در کامپوز فایل نوشته ایم را در فایل env. اضافه می کنیم:MONGO_USERNAME=mamad
MONGO_PASSWORD=mamadian
MONGO_HOSTNAME=mongo
MONGO_DATABASE=mamad-app
MONGO_PORT=27017
NODE_ENV=staging
MINIO_ACCESS_KEY=&#039;my_secure_access_key_for_mamad&#039;
MINIO_SECRET_KEY=&#039;my_secure_secret_key_for_mamad&#039;در مورد سرویس ترافیک در پست های قبلی صحبت کرده ایم و فایل های مرتبط با اپلیکیشن را در دایرکتوری node/jana کلون می کنیم و حالا برای اینکه فایل ما کار کنه کافیه دستور زیر رو بزنیم:docker-compose up -d --scale nodejs=2این دستور داکر کامپوز ما را بالا میاره و از سرویس نود دو کانتینر بالا میاره که به ما در بالانس لود کمک خواهد کرد:docker psکانتینتر های بالا اومده :)با توجه به اینکه قبلا بر روی سرور nginx نصب شده بود، برای سرویس دادن به افراد بر روی یک ساب دامنه برای nginx یک کانفیگ فایل مینویسیم:  server { # simple reverse-proxy
    listen       80;
    server_name  proj.address.ir www.proj.address.ir;
    location / {
      proxy_pass      http://localhost:8080;
    }
  }و در پوشه /etc/nginx/conf.d قرار می دهیم (از site-available site-enabled بعدا استفاده خواهیم کرد)دستور زیر را میزنیم:nginx -tخروجی مطلوب دستورو در نهایت با دستور:nginx -s relaodسرویس انجینکس را ریلود می کنیم.اکنون اگر در DNS ساب دامنه مورد نظر بر روی آی پی پابلیک سرور ست شده باشد، با زدن proj.address.ir در مرورگر خروجی کار خود را خواهیم دید :)</description>
                <category>مهدی سادات حسینی</category>
                <author>مهدی سادات حسینی</author>
                <pubDate>Sun, 23 Aug 2020 15:04:01 +0430</pubDate>
            </item>
                    <item>
                <title>نصب minikube بر روی CentOS</title>
                <link>https://virgool.io/virasad/%D9%86%D8%B5%D8%A8-minikube-%D8%A8%D8%B1-%D8%B1%D9%88%DB%8C-centos-edqexb8xc78j</link>
                <description>راه اندازی مینی کیوببرای شروع کار با کوبرنتیز بهتر است برای یادگیری از minikube استفاده کنیم، سایت هایی مانند play-k8s و edx و plural و katacode امکاناتی برای استفاده از کوبرنتیز در اختیار شما قرار می دهد، ما با توجه به بررسی در محیط واقعی تصمیم به نصب در محیط cent os گرفته ایم، برای این منظور سرور cent os با حداقل کانفیگ 4 گیگابایت رم، 3 کور سی پی یو و حداقل هارد در نظر می گیریم. و به سرور ssh میزنیم:ssh root@&lt;server-ip&gt;ابتدا پکیج های سرور را آپدیت می کنیم:yum update -yسپس پکیج های زیر را نصب می کنیم:yum install epel-release -yyum install git wget yum-utils -yبرای ادامه داکر را بر روی سرور نصب می کنیم:sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.reposudo yum install docker-ce docker-ce-cli containerd.io -ysudo systemctl start dockerبرای اینکه ما در ایران هستیم و با مشکلات تحریم از سمت شرکت های آمریکایی مواجه ایم، پیشنهاد ما انجام دو کار زیر هستش:1- تغییر DNS ها از طریق شکن:echo &amp;quotDNS1=185.51.200.2&amp;quot &gt;&gt; /etc/sysconfig/network-scripts/ifcfg-eth0
echo &amp;quotDNS2=178.22.122.100&amp;quot &gt;&gt; /etc/sysconfig/network-scripts/ifcfg-eth0
sudo systemctl restart networkچک شود که به غیر از DNS1 , DNS2  دی ان اسی دیگری وجود نداشته باشد.2- تغییر مسیر تنظیمات مینی کیوب بعد از نصب آن: minikube config set iso-url https://cncf.ir/iso/minikube-v1.0.0.isoنصب مینی کیوب روش 1:curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 \chmod +x minikubesudo mkdir -p /usr/local/bin/sudo install minikube /usr/local/bin/نصب مینی کیوب روش 2:cat &lt;&lt;EOF &gt; /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg
https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOFyum install -y kubectl در نهایت با دستور:minikube start driver=dockerمینی کیوب را راه اندازی می کنیم:نتیجه اجرای مینی کیوب</description>
                <category>مهدی سادات حسینی</category>
                <author>مهدی سادات حسینی</author>
                <pubDate>Tue, 18 Aug 2020 11:30:37 +0430</pubDate>
            </item>
                    <item>
                <title>بستن کمربند برای شروع کوبرنتیز</title>
                <link>https://virgool.io/mobit-eng/%D8%A8%D8%B3%D8%AA%D9%86-%DA%A9%D9%85%D8%B1%D8%A8%D9%86%D8%AF-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%B4%D8%B1%D9%88%D8%B9-%DA%A9%D9%88%D8%A8%D8%B1%D9%86%D8%AA%DB%8C%D8%B2-uahssff5yfp8</link>
                <description>تعریف ساده پاد-رپلیکا ست و دیپلویمنتبرای شروع یادگیری کوبرنتیز چندین کار پیشنهاد میشه:1- آماده سازی IDE:من به شخصه برای ادیتور، visual studio را پیشنهاد می کنم، بعد از نصب وی اس کد، برای کار با کوبرنتیز باید با فایل های YAML آشنا باشید، و افزونه های زیر را برای کار راحتتر با آن نصب کنید:نصب این سه افزونه پیشنهاد می شود.2- نصب minikube:برای نصب مینی کیوب می تونید از این لینک مینی کیوب منتاسب با سیستم عامل خودتونو نصب کنید.بعد از نصب یا دستورminikube start
# for testing:
kubectl get podsمینی کوبه خودوتونو راه بندازید و حواستون باشه برای اینکه به مشکلات تحریم نخورید، حتما یا از شکن یا VPN روی سیستم خودتون استفاده کنید.3- شروع ایجاد یک فایل پاد:برای شروع درون وی اس کد یک فایل pod.yml می سازیم و با تایپ کردن kind: P از لیست پیشنهادی کوبرنتیز را انتخاب می کنیم:و به طور اتوماتیک تمپلیت کوبرنتیز ساده ساخته خواهد شد، بعد از ساخته شدن، به صورت زیر فایل را تغییر می دهیم:apiVersion: v1kind: Podmetadata:  name: nginx  labels:    name: mypodspec:  containers:  - name: nainxcontainer    image: nginx:latest    resources:      limits:        memory: &amp;quot128Mi&amp;quot        cpu: &amp;quot500m&amp;quot    ports:      - containerPort: 80بعد از ذخیره با دستور:cd &lt;working dir&gt;kubectl create -f pod.ymlپاد خود را می سازیم و برای بررسی وضعیت پاد ساخته شده با دستور:kubectl get podsنتیجه ساخت خود را می بینیم.</description>
                <category>مهدی سادات حسینی</category>
                <author>مهدی سادات حسینی</author>
                <pubDate>Sat, 15 Aug 2020 13:52:04 +0430</pubDate>
            </item>
                    <item>
                <title>شروع با traefik و flask</title>
                <link>https://virgool.io/mobit-eng/%D8%B4%D8%B1%D9%88%D8%B9-%D8%A8%D8%A7-traefik-%D9%88-flask-urszjnpnqe5y</link>
                <description>ساده ترین شروع ممکن و اولین ریکوئست از سمت کلاینت :))در حالت کلی استفاده از لودبالانسر های مثل nginx , haproxy رو تست کرده بودیم، برای تست امروز به سراغ ابزار جدیدتر traefik توسعه داده شده توسط Golang می ریم و برای شروع یک سرویس ساده فلسک که بر روی پورت 5000 ایمیج خود ریسپانس سلام میده رو داخل یک کد پایتون server.py توسعه میدیم:from flask import Flask, make_response, jsonify
app = Flask(__name__)
@app.route(&amp;quot/&amp;quot)
def user_service_hello():
    return make_response(jsonify(
        {
            &amp;quotmsg&amp;quot: &amp;quotHello my friend :)&amp;quot
        }
    ), 200)ی فایل requirements.txt هم لازمه که داخلش پکیج پایتونمونو بنویسیم: flaskبرای ادامه برای کدمون یک داکر فایل Dockerfile می نویسیم و در کنار فایل پایتون ذخیره می کنیم:FROM python:3-alpine
RUN mkdir /app
COPY . /app
WORKDIR /app
RUN pip install -r requirements.txt
ENV FLASK_APP server.py
CMD [&amp;quotflask&amp;quot, &amp;quotrun&amp;quot, &amp;quot--host&amp;quot, &amp;quot0.0.0.0&amp;quot, &amp;quot--port&amp;quot, &amp;quot5000&amp;quot, &amp;quot--with-threads&amp;quot]حالا سرور خودمونو بیلد کنیم و نتیجه رو روی http://localhost:5000/ ببینیمبرای مرحله بعد سرویس traefik رو لازم داریم و سعی می کنیم متناسب با نیاز خودمون برای اپلیکیشنمون ی داکر کامپوز فایل بنویسیم:version: &#039;3&#039;services:  flask-service:    build:      context: ./flask    image: flask-service    environment:      - FLASK_APP=server.py    ports:      - &amp;quot5000&amp;quot    networks:      - net    labels:      - &amp;quottraefik.http.routers.flask.rule=Host(`localhost`)&amp;quot  reverse-proxy:    image: traefik:v2.2    # Enables the web UI and tells Traefik to listen to docker    command: --api.insecure=true --providers.docker    volumes:      # So that Traefik can listen to the Docker events      - /var/run/docker.sock:/var/run/docker.sock:ro    ports:      - &amp;quot80:80&amp;quot      # The Web UI (enabled by --api.insecure=true)      - &amp;quot8080:8080&amp;quot    networks:      - net    depends_on:      - flask-servicenetworks:  net:    driver: bridgeبا اجرای این کد، دو سرویس فلسک و ترافیک بالا خواهند اومد که پورت 80 ماشین به پورت 80 ترافیک متصله که باعث میشه درخواست های سمت سرور سمت ترافیک بیاد و چون به وسیله لیبل تعریف کردیم ترافیک درخواست هارو سمت فلسک ببریم، درخواست های / برای دامنه localhost به سمت فلسک منتقل خواهد شد برای اجرا در محیط ترمینال در مسیر پروژه دستور زیر را می زنیم:docker-compose up -dو در مرورگر localhost را وارد می کنیم:حالا به قابلیت خیلی خوب ترافیک در لودبالانس کردن سرویس ها برمیگردیم و با دستور زیر از سرویس فلسک 5 کانتینتر بالا میاریم: docker-compose up -d --scale flask-service=5اکنون اگر دستور docker ps را بزنیم، خواهیم دید از سرویس فلسک 5 سرویس بالا آمده:5 flask services و برای بررسی آن در محیط گرافیکی در مرورگر localhost:8080 را وارد می کنیم تا وارد محیط گرافیکی ترافیک شویم:سرویس ترافیک به زیبایی 5 کانتینتر را لودبالانس نموده است :))لینک پروژه در گیت هاب</description>
                <category>مهدی سادات حسینی</category>
                <author>مهدی سادات حسینی</author>
                <pubDate>Wed, 12 Aug 2020 13:47:36 +0430</pubDate>
            </item>
                    <item>
                <title>مسیر پیشنهادی ساده برای شروع یادگیری دواپس DevOps</title>
                <link>https://virgool.io/virasad/%D9%85%D8%B3%DB%8C%D8%B1-%D9%BE%DB%8C%D8%B4%D9%86%D9%87%D8%A7%D8%AF%DB%8C-%D8%B3%D8%A7%D8%AF%D9%87-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%B4%D8%B1%D9%88%D8%B9-%DB%8C%D8%A7%D8%AF%DA%AF%DB%8C%D8%B1%DB%8C-%D8%AF%D9%88%D8%A7%D9%BE%D8%B3-devops-lwsfn8erv0mh</link>
                <description>این حاصل ی پیشنهاده فقط طی زمان باید بهتر و بهتر شهوقتی صحبت از دواپس می باشد، استفاده از آن در سیستم های استارتاپی در هاله ای از ابهام هستش :)، اما به عنوان کسی که معجزه دواپس از نزدیک دیده، به خصوص برای سیستم های استارتاپی با تغییرات بالا، راه اندازی یک سیستم اینفینت دواپس، به همه کمک می کنه نسبت به فرآیند استقرار پیوسته نرم افزار و ابزارها و تکنولوژی هایی که به دست می آید دید داشته باشند و خیلی از مسائلی که ممکنه در طول مسیر باهاش برخورد کنند، با ی راه حل دم دستی حل بشه، روزی که در مبیت پیشنهاد راه اندازی این سیستم و استقرار آن دریافت شد، نحوه آموزش اون و تربیت افراد متخصص دغدغه ای بود که تیم در خودش می دید، با بررسی بیشترین ابزارهای مورد استفاده و به طور کل مفاهیم دواپس مسیری را طراحی کردیم و به شور گذاشتیم که البته نیازمند بازبینی دوستای دواپسی دیگه هم هست، این مسیر ما با راه اندازی یک اپلیکیشن ساده گو یا پایتون و کار با لینوکس و گیت و سیستم های توزیع بار و وب سرور ها شروع خواهیم کرد و با اجرای ابزارهای کانتیرایز و پرویژنینگ و کانفیگ منجنمینت و ابزارهای توسعه و استقرار پیوسته ادامه خواهیم داد و با استفاده از ابزار های مانیتورینگ و لاگ منجنمیت سیستم فیدبک دواپس را کامل خواهیم کرد، توسعه این مسیر توسط بچه های تیم مبیت و بررسی مشکلات و چالش ها، به کمک در توسعه این مسیر و یافتن بهترین راهکارها کمک خواهد کرد، خوشحال می شیم اگر نظراتتونو در مورد توسعه و استقرار دواپس بشنویم :)</description>
                <category>مهدی سادات حسینی</category>
                <author>مهدی سادات حسینی</author>
                <pubDate>Tue, 11 Aug 2020 13:06:20 +0430</pubDate>
            </item>
                    <item>
                <title>مشتق گیری یا انتگرال گیری؟</title>
                <link>https://virgool.io/@asamasach/%D9%85%D8%B4%D8%AA%D9%82-%DA%AF%DB%8C%D8%B1%DB%8C-%DB%8C%D8%A7-%D8%A7%D9%86%D8%AA%DA%AF%D8%B1%D8%A7%D9%84-%DA%AF%DB%8C%D8%B1%DB%8C-hniskotdozsw</link>
                <description>تو زندگی کدومید؟تابع لجستیک و مشتقشدر مقابل با اتفاقات ما میتونیم دو مدل باشیم، مشتق گیر و انتگرال گیر (البته مورد سومی هم هست اصن مهم نیست هیچی براش :) )  مشتق گیر ها به اتفاقات زندگی حساسن. با کوچکترین اتفاقی واکنش نشون میدن، حتی شدیدتر از خود اتفاق، بعضی جاها مثلا خیلی سریع ناراحت میشن از ی اتفاق (زودرنج ها) ولی در عوض با کوچکترین شادی به شدت خوشحال میشن(در لحظه زندگی کن ها)، خیلی خوبی داره مگر اونجایی که زندگی فرد خیلی بالا و پایین داشته باشه. اونجاس که مخرب میشه و حال فرد  میره به سمت ناپایداری، چه کسایی بیشترین حال میبرن از مشتق گیر بودن؟ به نظرم کسایی که دغدغه خاصی برای بودن توی هرم مازلو ندارن. اتفاقا به نفعشونه مشتق گیر باشن، هم افزایی که ایجاد میشه براشون خیلی خوبه، انتخاب می کنن هیجان داشته باشن، برن صخره نوردی، بالن سواری، موشک فرستادن به فضااز اونور انتگرال گیر هارو داریم، کسایی که بهترین اتفاق دنیا به همون اندازه براشون خوشبختی میاره (بی تفاوت ها و بی ذوق ها:) ) که بدترین اتفاق دنیا میتونه ناراحتشون کنه (خونسرد ها). شاید طی زمان رو به کم و زیاد باشن، اما بعد از سال ها تغییراتشون تازه نشون داده میشه، اینم خوبیش اینه که جنبه منفی دنیا خیلی روشون تاثیر نداره، و البته سطح لذتشونم اونقدر بالا نیست، عملا و غیر عملا انتگرال گبر بودن سیستم به سمت پایداری میبره، انبار دار 25 ساله شرکت راه اهن توی ایستگاه سیریز وسط بیابون، نه غم داره امریکا موشک زد، نه دوست داره با هزارتا نهاد برای راه انداختن ی بیزینس سر و کله بزنه، نشستن براشون بهترین اتفاق دنیاس :) همه اینارو بزاریم کنار هم، برای من نشونه ی جامعه سر زنده مشتق گیر بودنهنگاه که می کنم میبینم توی جامعه سال ها به ما یاد میدادن سر سنگین باشید، حساس نباشید، به زندگی تون عادت کنید و فضیلت می دونستن اگر کسی قیافش خونسرد بود و نتیجه اش برای من ی جامعه به دنبال ثبات و خموده و به دنبال پایداری، اما این روزا خیلی به دنبال مشتق گیرها هستم. چون با ی اغتشاش، تغییرات زیادی هم توی خودشون هم توی اطرافشون ایجاد می کنن. دنبال اون دوست مشتق گیرمم. -تشاد</description>
                <category>مهدی سادات حسینی</category>
                <author>مهدی سادات حسینی</author>
                <pubDate>Thu, 04 Jun 2020 11:57:50 +0430</pubDate>
            </item>
                    <item>
                <title>ایجاد وب سرویس با رزبری پای، LEMP استک محلی</title>
                <link>https://virgool.io/takesize/%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF-%D9%88%D8%A8-%D8%B3%D8%B1%D9%88%DB%8C%D8%B3-%D8%A8%D8%A7-%D8%B1%D8%B2%D8%A8%D8%B1%DB%8C-%D9%BE%D8%A7%DB%8C-lemp-%D8%A7%D8%B3%D8%AA%DA%A9-%D9%85%D8%AD%D9%84%DB%8C-o8ir1gjvmnka</link>
                <description>شروع اتفاق از اونجا بود که وقتی توی بخش بررسی و تفکیک انبار نیاز بود که تعدادی کالا چک بشه، به خاطر اینکه همیشه مجبور بودیم به خود سایت تیک سایز مراجعه کنیم، سرعت اینترنت باعث می شد بارگذاری عکس ها و محتواها زیادی طول بکشه، گفتیم چه کاریه، ی وب سرویس محلی میاریم بالا که ی نسخه آینه ای از سایت اصلیمون باشه، فکر کردیم چیکار کنیم ی وب سرویس محلی داشته باشیم، ی راه این بود که سیستم خودمون به صورت لوکال هاست روش وب سرور بالا بیاریم، اما دسترسی ها همیشه امکان پذیر نیست چون ممکنه بخوام لپ تاپمو خاموش کنیم، یا کسی بخواد روی موبایل کار کنه که اصن کاری به وب سرور و این جور چیزای کامپیوتری نداشته باشه :))) با توجه به اینکه سرور های لوکال ما هم در همه جا در دسترس نبود، نیاز داشتیم وب سرویس همراه داشته باشیم ی جورایی :))رو آوردیم به ی کامپیوتر ساده اما با کیفیت به اسم رزبری پای، روش سرویس هارو ران کردیم و در نهایت اگر ی باتری لیتیوم یونی هم بهش اضافه کنیم، میتونیم با استفاده از خاصیت اکسس پوینتش، همه جا با خودمون ی وب سرور تقریبا همزمان داشته باشیم. شروع از اینجا کردیم که چه چیزهایی لازم داریم:1- رزبری پای2- مموری کارت3- فلش یو اس بی با حجم خوب برای پشتیبان گیری از داده ها4- ی روز وقت اضافهما حصل تلاش ما برای داشتن یک وب سرور لوکال همراه :)خلاصه بخوایم بگیم به وسیله ی نرم افزار تولید کننده مموری های بوتیبل مثل etcher، ی نسخه از cent os 7arm روش ریختیم، وب سرویس nginx و php و mariadb (که بهش میگن LEMP stack) رو روش بالا آوردیم، همزمان ی فلش یو اس بی هم تبدیل کردیم به محل ذخیره سازی فایل های حجیم سایت مثل عکس هایی که هر روز اضافه میشه، و با تنظیم اکسس پوینت رزبری پای، همه میتونن بهش وصل شن که باعث میشه با زدن ای پی لوکال خود رزبری روی مرورگرهاشون، بتونن خیلی سریع سایت لود شده ببیننی جورایی دنگ فنگ زیاد داشت، چون cent os arm ی خورده پکیج هاش با cent os arch فرق می کنهاگر دوست داشتید توضیحات کامل مسیر اجرایی این پست رو در آینده میذارم...</description>
                <category>مهدی سادات حسینی</category>
                <author>مهدی سادات حسینی</author>
                <pubDate>Sun, 31 May 2020 20:55:56 +0430</pubDate>
            </item>
            </channel>
</rss>