<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های خانم نیایش</title>
        <link>https://virgool.io/feed/@niayesh1993</link>
        <description>ریاضیدان سابق ، برنامه نویس حاضر</description>
        <language>fa</language>
        <pubDate>2026-06-07 11:30:08</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/6145/avatar/d3S4Dm.png?height=120&amp;width=120</url>
            <title>خانم نیایش</title>
            <link>https://virgool.io/@niayesh1993</link>
        </image>

                    <item>
                <title>دسترسی همزمان به mutable state ها در کاتلین</title>
                <link>https://virgool.io/@niayesh1993/%D8%AF%D8%B3%D8%AA%D8%B1%D8%B3%DB%8C-%D9%87%D9%85%D8%B2%D9%85%D8%A7%D9%86-%D8%A8%D9%87-mutable-state-%D9%87%D8%A7-%D8%AF%D8%B1-%DA%A9%D8%A7%D8%AA%D9%84%DB%8C%D9%86-kshgo7s55e1t</link>
                <description>خوشبختانه هر توسعه دهنده ای می داند که اجازه دسترسی همزمان به متغیرها کار درستی نیست . اعمال این دسترسی باید به صورت زمانبندی شده (synchronized) انجام شود تا از ایجاد مشکل و پیچیدگی در دیباگ کردن کد جلوگیری شود. تقریبا همه تصویری واضح دارند که متغیر چیست ، اما سردرگمی و سوء تفاهم زیادی درمورد معنای همزمانی در اجرا در این زمینه وجود دارد.به عنوان مثال ، با استفاده از coroutines(مجوز) های کاتلین ، قطعه کد زیر را در نظر بگیرید:val m = mutableMapOf&lt;Int,String&gt;()m[1] = &quot;one&quot; // (1)yield() // or other suspending functionm[2] = &quot;two&quot; // (2)ما یک متغیر m داریم که دو بار تغییر کرده و تابع yield() را که موجب ایجاد وقفه میشود در بین این تغییر ها فراخوانی کردیم . مجوز اجرای این کد پس از خط (1) به حالت تعلیق در می آید و ممکن است در thread دیگری برای اجرای خط (2) از سر گرفته شود. ما به هیچ وجه برای اعمال تغییرات بر روی  متغیر m زمان بندی انجام ندادیم ، در واقع متغیر m همزمان در دو thread مجزا به صورت اشتراکی استفاده میشود. آیا این باعث ایجاد مشکل میشود؟در جواب باید بگویم: خیر. در واقع ، پیاده سازی تابع yield() به منزله یک ایجاد کننده وقفه, کار همزمان سازی(synchronization) را برای ما انجام میدهد تا اطمینان حاصل شود که کد قبل از yield() دقیقا قبل از تابع  اجرا میشود و در نتیجه با اجرای کد بعد از تابع همزمانی ندارد.پس تعریف دسترسی همزمان چیست؟ این کلمه تعریف دقیقی دارد .دو عملیات همزمان هستند اگر ترتیب اجرایی برای انها در نظر گرفته نشده باشد. وقتی کدها را روی دو thread مختلف اجرا می کنیم مهم نیست که زمان واقعی بین دو عملیات چقدر می گذرد. میزان همزمانی از نظر زمان خطی تعریف نشده است. ما می توانیم عملیات (1) و (2) را داشته باشیم که ده ثانیه از هم جدا شده بر روی thread های مختلف انجام می شود و آنها هنوز هم همزمان هستند و باعث ایجاد همه مشکلات می شوند ، مگر اینکه از قبل ترتیب اجرا بین آنها را تعیین کرده باشیم.امااین همزمانی کجا اتفاق می افتد؟ خوب ، وقتی ما یک کد تک رشته ای را می نویسیم ، تمام کدها در یک thread به ترتیب خطی اجرا میشود ، بنابراین کلیه کدها در یک thread مشخص به صورت خط به خط اجرا می شوند ، دروقع پشت سر هم. پس در یک thread  متغیر بدون دسترسی سایر منابع به صورت انحصاری تغییر میکند.در هر حال ، هنگامی که ما thread های مختلفی داریم ، همه عملیات ها در threadهای مختلف همزمان هستند ، مگر اینکه از عملیات همگام سازی استفاده شود. عملیات همگام سازی قبل از ارتباط بین عملیات در thread های مختلف اتفاق می افتد و به ما امکان می دهد mutable state را به صورت متوالی تغییر دهیم .نکته ای که در مورد coroutine ها باید در نظر داشته باشید این است که اگرچه یک coroutine در کاتلین می تواند به صورت چند نخی اجرا شود ، دقیقاً مانند نخ از نقطه نظر mutable state  است. هیچ دو عمل در یک coroutine یکسان نمی تواند همزمان باشد. و درست مانند threadها ، باید از به اشتراک گذاشتن mutable state های  خود در بین coroutine ها خودداری کنید!از به اشتراک گذاشتن mutable state ها در کدنویسی خودداری کنید. هر mutable state  را به یک thread واحد یا یک coroutine  اختصاص دهید.https://proandroiddev.com</description>
                <category>خانم نیایش</category>
                <author>خانم نیایش</author>
                <pubDate>Sun, 01 Mar 2020 15:47:24 +0330</pubDate>
            </item>
                    <item>
                <title>انتقال امن اطلاعات بین API و App</title>
                <link>https://virgool.io/apieco/%D8%A7%D9%86%D8%AA%D9%82%D8%A7%D9%84-%D8%A7%D9%85%D9%86-%D8%A7%D8%B7%D9%84%D8%A7%D8%B9%D8%A7%D8%AA-%D8%A8%DB%8C%D9%86-api-%D9%88-app-d5hx3iikh39u</link>
                <description>چرا باید از JSON Web Tokens استفاده کنیم؟1) احراز هویت: به طور معمول برای استفاده ازJWT  هنگام ورود کاربر به سیستم این کار انجام میشود. احراز هویت به کاربر اجازه ارسال درخواست، دسترسی به خدمات و منابع را میدهد. احراز هویت تنها یک ویژگی است که به طور گسترده در JWT استفاده میشود زیرا سربار کمی دارد و میتوان از آن به آسانی در حوزه های مختلف بهره برد.2) تبادل اطلاعات: JWT یک روش بسیار خوب برای انتقال امن اطلاعات بین محیط های مختلف است زیرا به عنوان مثال با استفاده از کلیدهای عمومی و خصوصی رمزنگاری شده و دارای امضای دیجیتال میباشد در نتیجه شما میتوانید مطمئن باشید چه کسی اطلاعات را برای شما ارسال میکند. علاوه بر این میتوانید بررسی کنید محتوای ارسال شده دستکاری نشده باشد.ساختار JSON Web Token چگونه است؟JWT شامل سه قسمت میباشد که به وسیله ی نقطه ( . ) از هم جدا شده اند:HeaderPayloadSignatureدر نتیجه JWT چیزی شبیه به xxxxx.yyyyy.zzzzz میشود.1) Headerheader معمولا از دو بخش تشکیل شده، نوع و الگوریتم رمزنگاری مورد استفاده.به عنوان مثال:{  &quot;alg&quot;: &quot;HS256&quot;,  &quot;typ&quot;: &quot;JWT&quot;}سپس این شی JSON با استفاده از Base64Url رمزنگاری شده و به عنوان بخش اول ساختار JWT قرار میگیرد.2) Payloadبخش دوم payload است که شامل claim هاست. claim ها اطلاعاتی در مورد موجودیت ها را بیان میکنند(معمولا اطلاعاتی در باره کاربر) و همچنین میتوانند شامل داده های اضافی(metadata) نیز باشند. سه نوع claim وجود دارد، رزرو شده، عمومی و خصوصی.- رزرو شده: این نوع claim ها از پیش تعریف شده و قابل استفاده هستند در حالی که اجباری برای استفاده از آنها وجود ندارد اما توصیه شده که این کار را انجام دهیم مانند iss, exp, sub و ...- عمومی: میتواند به خواست کسانی که از JWT استفاده میکنند تعریف شود. برای جلوگیری از برخورد/تداخل claim های عمومی را باید در IANA JSON Web Token Registry یا در URL همراه با namespace تعریف کرد.- خصوصی: این claim ها به صورت سفارشی برای به اشتراک گذاری اطلاعات بین محیط هایی ایجاد میشود که با هم در مورد آن توافق کرده اند.به عنوان مثال payload میتواند چیزی شبیه به شی زیر باشد:{  &quot;sub&quot;: &quot;1234567890&quot;,  &quot;name&quot;: &quot;John Doe&quot;,  &quot;admin&quot;: true}سپس این شی JSON با استفاده از Base64Url زمزنگاری شده و به عنوان بخش دوم ساختار JWT قرار میگیرد.3) Signatureبرای ایجاد این بخش شما به header و payload کد(رمزنگاری) شده، یک کلید محرمانه و الگوریتم مشخص شده در header احتیاج دارید.به عنوان مثال شما میخواهید از الگوریتم HMAC SHA256 استفاده کنید، signature به صورت زیر خواهد شد:HMACSHA256(  base64UrlEncode(header) + &quot;.&quot; +  base64UrlEncode(payload),  secret)signature به منظور بررسی ارسال کننده JWT استفاده میشود تا از ارسال کننده و اینکه محتوای ارسال شده را بدون تغییر دریافت میکنیم مطمئن باشیم.در نهایت خروجی یک رشته Base64 شده است که در آن سه بخش توضیح داده شده با نقطه از هم تفکیک شده اند. حال میتوان به راحتی در محیط های مختلف از JWT استفاده کرد در حالی که نسبت به استاندارد های XML-based فشرده تر و کوچکتر است.eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ</description>
                <category>خانم نیایش</category>
                <author>خانم نیایش</author>
                <pubDate>Sat, 15 Sep 2018 14:12:09 +0430</pubDate>
            </item>
                    <item>
                <title>راه کارهایی برای نوشتن یک پروپوزال کاری قوی</title>
                <link>https://virgool.io/@niayesh1993/%D8%B1%D8%A7%D9%87-%DA%A9%D8%A7%D8%B1%D9%87%D8%A7%DB%8C%DB%8C-%D8%A8%D8%B1%D8%A7%DB%8C-%D9%86%D9%88%D8%B4%D8%AA%D9%86-%DB%8C%DA%A9-%D9%BE%D8%B1%D9%88%D9%BE%D9%88%D8%B2%D8%A7%D9%84-%DA%A9%D8%A7%D8%B1%DB%8C-%D9%82%D9%88%DB%8C-eyu4sgmsk2ga</link>
                <description> ۱- مقدمه و شروع قوی داشته باشید.برای شروع نوشتن یک پروپوزال همیشه این سوالات را در نظر داشته باشید.«برای تحت تاثیر قرار دادن یک مشتری بالقوه چه کاری می‌توانید انجام دهید؟«چه چیزی پروپوزال شما را نسبت به بقیه متفاوت می‌کند؟»یک مقدمه فریبنده، باعث جلب نظر سریع مشتریان در زمینه همکاری با شما می‌شود. یک شروع خوب و قوی، نشان می‌دهد که شما در مورد کار مورد نظر تحقیق کرده‌اید و می‌توانید کار مشتریان را به خوبی انجام دهید. اگر بتوانید بلافاصله بعد از ارسال درخواست کار توسط مشتریان بالقوه، به آنها دسترسی داشته باشید، شانس شما برای دریافت کار به طور قابل‌توجهی افزایش می‌یابد.اگر شما یک فریلنسر توسعه‌دهنده وب هستید و می‌خواهید برای یک مشتری بالقوه، در زمینه پروژه بازطراحی یک سایت، ایمیلی را ارسال کنید، بهتر است با جمله‌ای مشابه با «۶ مرحله پیشنهادی من برای طراحی یک وب‌سایت جدید و تبلیغاتی» شروع کنید. این جمله، فورا این ذهنیت را برای مشتری به وجود می‌آورد که شما برای استراتژی پیشنهادی خود زمان صرف کرده‌اید و بر روی صنعت و تجارت مشتری مورد نظر نیز تحقیقاتی را انجام داده‌اید.در ایمیل اولیه (حداکثر ۲۰۰ کلمه)، به طور مختصر به هر یک از مراحل پیشنهادی خود اشاره کرده و در ادامه، با اشاره به تجربیات قبلی و نقاط قوت خود در زمینه موقعیت شغلی فعلی، این نکته را گوش‌زد کنید که چگونه این تجربیات و نقاط قوت شما را به گزینه مناسبی برای این کار تبدیل می‌کند.از آنجایی که پروپوزال کاری، نوعی «سخنرانی آسانسوری – Elevator Pitch» است، تشریح دلایل صلاحیت شما برای انجام کار، به منظور بیان بهترین توانایی‌های شما (توانایی‌های مرتبط با کار) ضروری است. همچنین برای دریافت کار، باید اعتماد به نفس خود در زمینه توانایی‌هایتان را بدون هیچ‌گونه غروری منتقل کنید.یک مقدمه و شروع قوی به معنای تعهد شما نسبت به پروژه است. این امر می‌تواند به شکل ایجاد یک چارچوب برای پروژه طراحی سایت یا ارائه پیشنهادات سازنده و مختصر به منظور نشان دادن توجه شما به جزئیات باشد. ۲- نقاط قوت خود را معرفی کنید.مهم نیست برای انجام چه کاری به مشتری بالقوه درخواست می‌دهید، مهم این است که نقاط قوت خود را برای انجام آن کار، متناسب نشان دهید.اگر پروژه افزودن یک ویژگی جدید به یک سایت را مدنظر قرار داده‌اید، در مرحله اول، به مهارت‌های فنی و تجربیات خود اشاره کنید. به مشتریان نشان دهید که کارهای قبلی شما یا نمونه کارهایتان، در راستای ویژگی‌های جدید و عملکردهایی است که آن‌ها به دنبالشان هستند.پروپوزال‌های خود را تا حد ممکن کوتاه بنویسید. از تمرکز بر روی نقاط قوت نامربوط خودداری کنید؛ این کار یک اشتباه رایج محسوب می شود.اشاره به تمام چیزهایی که شما در مورد توسعه وردپرس (WordPress) می دانید و اضافه کردن آنها در پروپوزال خود، باعث رد شدن سریع بسیاری از درخواست‌های شما خواهد شد. منظور این است که اشاره به توانایی‌های عمومی، لزومی ندارد و حتی ممکن است، شانس شما را کاهش دهد. دو یا سه از بهترین ویژگی‌های خود که مرتبط با یک کار مشخص است را به صورت لیست دربیاورید و هر یک را جداگانه توضیح دهید. ۳- سوالات احتمالی را پیش‌بینی کنید و به آن‌ها پاسخ دهید.متاسفانه، همه مشتریان، لیست دقیقی از انتظارات یا سوالات خود در مورد پروژه را ارائه نمی‌کنند. در حالی که توضیحات مبهم در مورد یک پروژه می‌تواند باعث سردرگمی شود، شما باید از این موضوع به عنوان فرصتی برای نشان دادن دانش و تجربه خود استفاده کنید.به عنوان مثال، سوالی که باید در هنگام ارائه درخواست برای یک پروژه جدید از خود بپرسید، این است که «آیا دقیقا چنین کاری را در گذشته انجام داده‌ام». باید قبل از این که مشتری، این سوال را مستقیما از شما بپرسد، شما آن را پیش‌بینی کنید و به آن جواب دهید. برخی از افراد، یک یا دو لینک از کارهای موفقیت‌آمیز خود در گذشته را برای نشان دادن توانایی خود در تکرار نتایج مشابه، در ایمیل‌های ابتدایی قرار می‌دهند.برای پیش‌بینی سوالات احتمالی مشتریان، سعی کنید خود را جای آن‌ها بگذارید. در این مرحله، مشتریان با چه مسائل یا مشکلات ناگفته‌ای می‌توانند مواجه شوند. اگر به دنبال کمک برای بازسازی برند (Rebrand) یک وب‌سایت هستید، به برندسازی‌های نامرتبط موجود، تصاویر یا لوگوهای کم‌کیفیت توجه کافی داشته باشید و اگر برای انجام کار استخدام شدید، به سرعت پیشنهادات خود را ارائه دهید.شما می‌توانید با اشاره به نکاتی از پروژه که ممکن است مشتریان از آن‌ها مطلع نباشند، یک فضای اطمینان برایشان فراهم کنید. اگر مشتریان به دنبال استخدام یک فرد متخصص باشند، ممکن است از چگونگی طراحی ویژگی‌های جدید یک وب‌سایت، انتقال به یک سیستم مدیریت محتوای جدید و یا سفارشی کردن برند سایت، درک کاملی نداشته باشند.هیچ چیز به اندازه ی شنیدن مشکلات موجود و همچنین توصیه‌های مربوط به رفع آن‌ها از یک فریلنسر کارآزموده (کسی که در شرایط مشابه قرار داشته و مشکلات مشابه را حل کرده است)، باعث تسکین خاطر مشتریان بالقوه نمی‌شود. اگر شما سوالات احتمالی و جواب آن‌ها و همچنین تجربه خود را در نظر داشته باشید، بالاتر از دیگر رقبا قرار خواهید گرفت.۴- نمونه‌کارهای مرتبط خود را انتخاب کرده و به آنها اشاره کنید.بگذارید نمونه کارهای شما و تجربیات اثبات‌شده‌تان، به خودی خود گویای صلاحیت شما باشند. اطمینان حاصل کنید که تنها مرتبط‌ترین و بهترین نمونه‌کارها را برای پروپوزال خود انتخاب کرده باشید.مشتریان، مشتاق این هستند که کارهای مشابه پروژه خود را در رزومه کاری شما ببینند. منطقی است که اگر شما کاری دقیقا مشابه با پروژه مد نظر انجام داده باشید، مشتری احساس اطمینان پیدا می‌کند که شما قادر به تکرار یا حتی بهبود نتایج کارهای پیشین خود باشید.چند نمونه کار بسیار خوب را انتخاب کرده و آن‌ها را در ایمیل اولیه و همچنین پروپورزال خود پیوست کنید. در یک یا دو جمله، از نحوه مشارکت خود در کمک به انجام کارهای مشتریان قبلی سخن بگویید.اگر یک فریلنسر تازه‌کار هستید و هیچ نمونه‌کار مرتبطی ندارید، بهترین راه‌حل برای شما، ساخت نمونه‌کار برای خودتان است. یک وب‌سایت نمونه‌کار ایجاد کنید، پست‌های وبلاگی نمونه بنویسید، لوگوی شخصی خود را طراحی کنید و کارهایی از این قبیل را انجام دهید. ۵- از یک طرح ساختاری بصری و جذاب استفاده کنید.تاثیرگذاری اولیه مسئله بسیار مهمی است. از این رو یک پروپوزال کاری برنده، باید از نظر زیبایی‌شناسی و ظاهر، خوش آیند، واضح و سازمان یافته باشد. مشتریان بالقوه، حتی قبل از خواندن پروپوزال شما، تنها با نگاه کردن به آن با محتوای کارتان ارتباط برقرار می‌کنند.بسته به کاری که شما ارائه می‌کنید، ممکن است به چیزی بیشتر از یک فایل ورد ساده برای بیان وضعیت خود نیاز نداشته باشید. اگرچه، برای ارائه خدمات خود، به موارد جذاب‌تری نیز احتیاج دارید.در انتها، با استفاده از یک ابزار طراحی بصری پیشرفته، فرصت ایجاد یک برند شخصی باارزش و ارائه خدمات باکیفیت را به وجود می آورید.به کارگیری این ۵ مرحله به منظور نوشتن پروپوزال کاری خود، تضمین می‌کند که شما برای پیروزی بر رقبای خود، از تمام توانتان استفاده می‌کنید.</description>
                <category>خانم نیایش</category>
                <author>خانم نیایش</author>
                <pubDate>Tue, 14 Aug 2018 11:05:35 +0430</pubDate>
            </item>
                    <item>
                <title>Android Developer Tips</title>
                <link>https://virgool.io/devAndroid/android-developer-tips-iyydy4538clt</link>
                <description>۱-با فریمورک های اندروید آشنا شویدمنظور کد خام اندروید است ! کلاس های اندروید را تجزیه و تحلیل کنید Bug های آن را پیدا کنید برخی از آنها را درست کنید شاید این کار ماه ها زمان ببرد هروقت خسته شدید اندروید را کلا کنار بگذارید !۲-ترس از دست دادن (FOMO) را کنار بگذارید(Fear of Missing Out) یا Fomo تنها باعث گم شدن شما در دنیای برنامه نویسی اندروید می شود اندروید بسیار بزرگ است بسیار ! شما نمی توانید اندروید را به صورت کامل از ابتدا تا انتهای یک ماه یادگیرید حتی دو ماه الی سه ماه نیز کافی نیست هرچقدر که یاد گیرید مشاهده می کنید چیز جدیدتری نیز وجود دارد و هروز چیز جدیدتری نیز اضافه می شود اگر تازه کار هستید ترس از FOMO داشته باشید.۳-کدهای دیگران را بخوانیداغلب برنامه نویسان حوصله خواندن کدهای دیگران را ندارند و سعی می کنند همان چیز را با استفاده از دانش خود پیاده سازی کنند ولی این کار خیلی بیهوده است ولی با این کار شما توسعه دهنده نمی شود توسعه دهنده باید حوصله تمام نشدنی ای داشته باشد. شاید بپرسید چه کدهایی را مطالعه کنیم از کتاب خانه یا پروژه های Open Source شروع کنید روزی حداقل ۳۰ دقیقه کدهای دیگران را خوانده و آنها را تجزیه و تحلیل کنید. کلی ایده به دست میارید !۴-زبان های جدید یاد بگیریدمنظورم یادگیری زبان هایی مثل اسپانیایی یا چینی نیست بلکه زبان های برنامه نویسی جدید است واقعیت عمل این است که شما باید چند زبان برنامه نویسی را مورد مطالعه قرار دهید شاید یک زبان برنامه نویسی جایگزین اندروید شد و این کار باعث می شود ذهن برنامه نویسی پیدا کنید مثلا JavaScript یاد بگرید هرچند که خیلی سخت است اما کاربردی است.۵-الگوهای طراحی (Design Patterns) جاوا را یاد گیریدDesign Patterns یکسری الگوی خاص طراحی هستند که در زمان کار با پروژه و آپدیت پروژه فعلی مورد استفاده قرار می گیرند مثلا زمانی که ۳ نوع Design Patterns مثل Factory , Decorator و Facade را شنیدید بدونید درباره چی در حال بحث هستید ! ۶-بروی پروژه های Open-source مشارکت کنیددر نظر بگیرید پروژه باگی شخصی را از github گرفته و بروی آن کار کرده و خطا های آن را حل کنید یا پروژه های خود را که Bug دارند در Github قرار داده و به دیگران بگویید با شما مشارکت کنند تا بتوانید آن مشکل ها را حل کنید.۷-بروی IDE کار کنیدکاری کنید IDE شما برای شما کار کند و بیشترین حد بازدهی را در زمان کد زنی به شما بدهد اگر از اندروید استودیو استفاده می کنید کلیدهای میابنر آن را یاد گیرید برخی از آنها فوق العاده کاربردی هستند اندروید استودیو از آن چیزی که فکر می کنید قدرتمند تر است.۸-وقت آن است که برنامه خود را به درستی طراحی کنیدطراجی یک معماری درست برای برنامه سخت ترین کار ممکن است ولی یک معماری را یاد بگیرید و در برنامه خود از آن استفاده کنید. مثلا معماری های MVVM یا MVP یا MVC برخی از معماری های اپلیکیشن هستند که می توانید مورد استفاده قرار دهید. ۱۰-کد نویسی تمیز را تمرین کنیدیکی از مواردی باید رعایت شود کد نویسی تمیز است شما باید به گونه ای کد نویسی کنید تا در صورتی که پروژه از شما به شخصی دیگر منتقل شد امکان فهم پروژه به سادگی توسط شما ایجاد شده باشد و نیاز به توضیح دوباره پروژه توسط شما و کدهای شما نباشد.۱۱- کدهای اندروید بیشتری تست کنیدتست کردن یکی از عواملی است که باعث می شود شما در شرایط های مختلف نیاز به تست دوباره یک کد نداشته باشید شاید بگوید من یک کد را قبلا دیدم ولی آن را تست نکرده باشید زمانی که آن را در پروژه استفاده می کنید با کلی خطای عجیب و غریب برخورد می کنید بهترین راه تست کردن از قبل است.۱۲-یاد بگیرید چه گونه از کوتلین استفاده کنیدیکی از زبان هایی که بسیار ساده است و به تازگی وارد اندروید شده است kotlin است و همه جا سخن از کوتلین بر سر زبان هاست و به عنوان زبان رسمی اندروید نیز معرفی شده است هرچند که این زبان تکمیل نشده است ولی خیلی زود در حال توسعه است شاید روزی جاوا کلا از اندروید کنار رفت حتما باید کوتلین را جایگزین آن کنید پس یاد گیرید.۱۳-با توسعه دهندگان دیگر مکاتبه کنیدسعی کنید با برنامه نویسانی که تجربه بیشتری دارند صحبت کنید همیشه آنها چندین قدم از شما جلوتر هستند و راهکاری خیلی خوبی برای مشکل های خیلی بزرگ دارند شاید بتوانند در عرض چند ثانیه مشکلی را که شما چند روز بروی آن فکر کرده اید حل کنند.۱۴- بهترین سیستم را تهیه کنیدتا حد امکان همیشه بهترین سیستم را برای برنامه نویسی اندروید انتخاب کنید اگر دقت کرده باشید اندروید استودیو نیازمند memory فوق العاده بالایی است و تعداد process های آن در ثانیه بسیار زیاد است بهترین سیستم برای برنامه نویسی اندروید بدون شک Mac Book Pro با ۵۱۲ گیگ فضا است اگر یکبار Android Studio را بروی آن اجرا کنید فرق آن را با سیستم های ویندوزی درک خواهید کرد ! </description>
                <category>خانم نیایش</category>
                <author>خانم نیایش</author>
                <pubDate>Thu, 26 Jul 2018 10:48:51 +0430</pubDate>
            </item>
                    <item>
                <title>انگشت اتهام به سمت زنها !</title>
                <link>https://virgool.io/@niayesh1993/%D8%A7%D9%86%DA%AF%D8%B4%D8%AA-%D8%A7%D8%AA%D9%87%D8%A7%D9%85-%D8%A8%D9%87-%D8%B3%D9%85%D8%AA-%D8%B2%D9%86%D9%87%D8%A7-ctqz1nx9wjut</link>
                <description> اگر از آن زنانی باشید که زیاد درباره تبعیض‌های جنسی حرف می‌زنید و به آن واکنش نشان می‌دهید، بعد از مدتی متوجه می‌شوید که از هر ده اظهارنظری که می‌شنوید، یکی از آنها با این دو واژه‌ شروع می‌شود : «بله، اما ….» وقتی زنی به رفتارهای بر‌آمده از جنسیت‌زدگی اعتراض کند، دیگران بیشتر وقت‌ها با یک «بله … اما»ی غلط، نسبت به این آزار‌های جنسی واکنش نشان می‌دهند.  فرقی نمی‌کند موضوع چیست؛ اوضاع بد اقتصادی یا ساختار ظالمانه سیاسی، تبعیض در محیط ‌کار یا آزار و اذیت در مدرسه … همیشه کسی هست که به شیوه «بله، اما» به شما جواب می‌دهد.از نظر این افراد در حقیقت این زن‌ها هستند که خودشان را در معرض آزار و اتهام قرار می‌دهند. پدیده «بله، اما» هر بار که گفت‌وگویی را درباره جنسیت‌زدگی آغاز ‌کنید، تکرار می‌شود. شاید شما هم به این نتیجه رسیده باشید که بهتر است در یک موقعیت مناسب به این «بله … اما» جواب بدهید. موقعیت مناسب همین حالاست که باید مسئولیت اجتماعی‌مان را نسبت به جنسیت‌زدگی برعهده بگیریم.«بله، اما وقتی زنی دامن خیلی کوتاه می‌پوشد یعنی خودش می‌خواهد.»اولین ایراد این شیوه بحث این است که با یک پیش‌فرض، همه مردها را حیواناتی توصیف می‌کند که هیچ‌ کنترلی روی تمایلات‌شان ندارند و نمی‌توانند به زنی که یک جور خاصی لباس پوشیده تعرض نکنند.اما خطای دوم این است که با واقعیت‌ها تطابق ندارد. یعنی با این استدلال، بسیاری از قربانیان خشونت‌های جنسی خودشان متجاوز هستند. برای رد کردن این استدلال کافی است بگویید: «مگر رابطه جنسی تصادفی است و به یک تکه لباس بند است؟»بر اساس تحقیقات یک مؤسسه خیریه که درباره تجاوز کار می‌کند، همه مردم و به ویژه زنان و دختران در هر سن و رده‌ای، از هر فرهنگی، با هر نوع توانایی و گرایش جنسی و از هر نژاد و با هر باوری،  مورد تعرض جنسی قرار می‌گیرند. جذابیت جنسی قربانی، علت اصلی تجاوز و آزار جنسی نیست. تجاوز یک عمل خشونت‌آمیز است نه یک عمل جنسی. اما خطای سوم این نوع استدلال چیست؟ اینکه زنان حق دارند و می‌توانند هر طور که دوست دارند لباس بپوشند؛ بدون ترس از اینکه مورد تعرض جنسی قرار بگیرند. ایجاد مانع و حد واندازه برای لباس پوشیدن آنها تحقیرآمیز است.  «بله، اما زن‌ها که بچه‌دار می‌شوند، سر کار نمی‌آیند. چرا شرکت یا مؤسسه باید هزینه آن را بپردازد؟»عجیب است که در سال ۲۰۱۴ هنوز هم باید درباره این موضوع حرف بزنیم، اما بعضی از مردم بارداری را یک دوره و تفریح خودخواهانه برای زنان می‌دانند که هزینه‌هایش را کارفرما پرداخت می‌کند. استدلال آنها این است که از یک بنگاه اقتصادی کوچک  نمی‌شود انتظار داشت که از تبعات اقتصادی بارداری خودخواهانه یک زن در دوران بحران اقتصادی آسیب نبیند. مشکل این استدلال این است که ـ خلاف باورهای عمومی- در بخشی از روند بارداری مردها هم دخیل هستند و البته خود زنان هم برای این نه ماه تعطیلات خیلی خوشحال نیستند. در هر حال آنها ادامه دهنده نژاد انسان هستند. پس غیرمنطقی نیست که از جامعه به ویژه از مؤسسه‌های اقتصادی و محیط‌های کاری انتظار داشته باشیم هزینه‌های مالی آن را بپردازند.  «بله، اما این زن‌ها همان‌هایی هستند که برای مجلاتی که شما نقدشان می‌کنید می‌نویسند یا آنها را می‌خرند.»این همان موقعیت مرغ و تخم‌مرغ است. ما دخترانی به دنیا می‌آوریم که در پنج سالگی نگران شکل بدن خودشان هستند و در هفت سالگی، یک‌چهارم آنها برای کم کردن وزن تلاش می‌کنند. دخترانی تربیت می‌کنیم که جامعه آنها را با  زنان لاغر و ظریف، بلوند با پاهایی بلند، پوستی نرم و سینه‌هایی بزرگ بمباران می‌کند؛ جامعه‌ای که به زنان القا می‌کند که ارزش‌های زنانه بر ظاهرشان استوار است. اما آنها را برای خریدن مجله‌هایی که به آنها وعده داده راه و روش لاغر کردن را یادشان می‌دهد، پوست‌شان را نرم می‌کند و ظاهرشان را بهتر می‌کند، مسخره می‌کنیم.تنها زمانی که فرهنگ تغییر کند ـ فرهنگ به معنای نوع رفتار ما نسبت به زن‌ها و انتظاراتی که در آن رشد می‌کنندـ می‌توانیم انتظار داشته باشیم که عرضه و تقاضا در رسانه‌ها تغییر کند.«بله، اما دخترها خودشان هیچ علاقه‌ای به مباحث علمی ندارند.»یک بچه می‌آورید، بزرگش می‌کنید و مدام با تأکید به او می‌گویید که فقط باید به موضوعات خاصی علاقه‌مند باشد. بعد در ۱۵ سالگی یا بیشتر از او می‌پرسید دوست داری چه ‌چیزی یاد بگیری و بخوانی؟ وقتی جوابش را می‌شنوید، با هیجان فریاد می‌زنید که بله! عرف اجتماعی درست می‌گفت ـ دخترها هیچ علاقه‌‌ای به ریاضیات و علوم طبیعی ندارند. «بله، اما خود زن‌ها در زندگی انتخاب متفاوتی دارند.»معمولاً به شواهد عدم تعادل جنسی در موقعیت‌های بالای کسب و کار حمله می‌شود اما مشکل این نوع استدلال این است که در همین مرحله متوقف می‌شود و به آن نمی‌پردازد. موضوع این نیست که زنان، خانواده را به جای کار «انتخاب» می‌کنند بلکه موضوع قرار گرفتن در موقعیت انتخاب نادرست است، آن هم در حالی که مردها می‌توانند با وجود بچه از شغل‌های بلندپروازانه خود لذت ببرند، بدون اینکه خودشان را وقف بچه‌ها کنند.بله، زن‌ها ممکن است بچه داشتن را انتخاب کنند اما آنها ساختار این جامعه را که گزینه‌های کمی برای مرخصی مشترک والدین، ساعت‌های کاری قابل تغییر و پرستاری بچه دارد انتخاب نکرده‌اند. این گزینه‌ها آنقدر کافی و در دسترس نیستند که زن‌ها بتوانند بدون نگرانی از به خطر افتادن موقعیت شغلی‌شان، آنها را انتخاب کنند.برگرفته ازبخشی از نوشته لارا بیتس گاردین</description>
                <category>خانم نیایش</category>
                <author>خانم نیایش</author>
                <pubDate>Sun, 22 Apr 2018 20:16:53 +0430</pubDate>
            </item>
                    <item>
                <title>.چرا باید دفترچه خاطرات داشت؟</title>
                <link>https://virgool.io/@niayesh1993/%DA%86%D8%B1%D8%A7-%D8%A8%D8%A7%DB%8C%D8%AF-%D8%AF%D9%81%D8%AA%D8%B1%DA%86%D9%87-%D8%AE%D8%A7%D8%B7%D8%B1%D8%A7%D8%AA-%D8%AF%D8%A7%D8%B4%D8%AA-b2xmuw9y7i3l</link>
                <description> چند وقت پیش، دفترچه ی خاطرات عموی پدرم را دیدم. در سال1932 ،او از یکی از روستاهای کوچک سویس به پاریس مهاجرت کرد تا شانس خودش را در فیلم سازی امتحان کند. در آگوست 1941 ،دو ماه پس از اشغال پاریس، نوشته بود»همه مطمئن اند آلمانی ها تا آخر سال اینجا را ترک میکنند. حتا افسران شان هم به امن این اطمینان را داده اند. انگلستان هم به سرعت فرانسه سقوط خواهد کرد و ما مجددا زندگی پاریسی خودمان را از سر می گیریم، البته به عنوان بخشی از خاک آلمان.« اما این اشغال چهار سال طول کشید. در کتاب های تاریخی که امروز نوشته می شوند اشغال فرانسه به دست آلمانی ها بخشی از یک برنامه نظامی نشان داده میشود. امروز که به ماجرا نگاه میکنیم به نظر ادامه ی جنگ محتمل ترین سناریو بوده است. چرا؟ چون تحت تاثیر خطای بازنگری قرار گرفته ایم. خطای بازنگری از متداولترین خطاهاست. میتوان آن را به درستی پدیده ی »من به تو گفته بودم« نامید؛ وقتی به گذشته نگاه میکنیم؛ همه چیز واضح و اجتناب ناپذیر به نظر می رسد. وقتی مدیر عاملی به خاطر خوش اقبالیاش به موفقیت دست یابد، با نگاه به گذشته احتمال موفقیت خود را بسیار بیشتر از احتمال واقعی آن ارزیابی خواهد کرد. پس چرا خطای بازنگری خطرناک است؟ خب، برای این که ما توانایی پیشبینی خود را دست باال بگیریم و بیش از حد به دانش خود اعتماد کنیم و در نتیجه ریسک های زیادی را بپذیریم. این فقط محدود به موضوعات جهانی نمیشود؛ »شنیده ای؟سیلوا و کریس از هم جدا شدند. معلوم بود آخرش این طور میشود؛خیلی با هم فرق داشتند.« یا »بیش از حد شبیه هم بودند« یا حتا »به ندرت همدیگر را میدیدند«. غلبه بر خطای بازنگری ساده نیست. مطالعات نشان داده انسانهایی که از این موضوع آگاه اند درست به اندازه دیگران اسیرش می شوند. پس متاسفانه باید به شما بگویم با خواندن این فصل وقت خودتان را تلف نکنید.  اگر هنوز هم همراه من هستی، یک توصیه پایانی دارم که بیش از این که یک تجربه حرفهای باشد یک تجربه شخصی است؛ خاطراتت را بنویس. پیشبینی های خودت را یادداشت کن، آن هم دربارهی تغییرات سیاسی، شغل خودت، وزنت، بازار بورس و... سپس گاهی یادداشت های خودت را با وقایع بیرونی مقایسه کن. از این که چه پیشگوی ضعیفی هستی، شگفت زده خواهی شد. برگرفته از کتاب هنر شفاف اندیشیدن.</description>
                <category>خانم نیایش</category>
                <author>خانم نیایش</author>
                <pubDate>Mon, 16 Apr 2018 10:02:55 +0430</pubDate>
            </item>
            </channel>
</rss>