وب لاگ امیرحسین اسعدی

آنچه یادگرفتم، خواندم و دیدم رو اینجا به اشتراک می‌گذارم
I share what I learned, read and saw

طبقه بندی موضوعی
آخرین نظرات
  • ۸ خرداد ۰۲، ۱۵:۲۲ - احمد صداقت زاده
    عالی

کلمه‌های عبور قوی‌تر

سلام توی این پست قرار بگم چطوری میشه کلمه‌های عبور مون رو قوی‌تر کنیم. داستان از اونجا شروع شد که متوجه شدم یکی از دوستام ایمیلش هک شده و من هم یک سری توصیه کوچیک بهش کردم و بعد اون گفت نه من اینا رو رعایت میکردم و متاسفانه تو حسابم ارز دیجیتال داشتم و اون هم سرقت شده، و تو حرفاش گفت که برای امنیت از فلان برنامه هم استفاده می‌کردم. من هم نزدیک به ۵ سال بود پسورد هامو بروز نکرده بودم. و جدیدا گاهی یک ایمیل اسپم می‌گرفتم که می‌گفت رمز تو این هست. ما رمزتو میدونیم و از وبکمت فیلم ذخیره کردیم و میخوایم بفرستیم به دوستات زودی برای ما انقدر بیت کوین بریز تا فیلما رو پاک کنیم. و من میدونستم که چرت میگن (چون اول هم پسوردی که میگفتن شبیه بود اما خودش نبود دوما اصلا لپتاب من وب‌کم نداره :) جدی نمی گرفتم و به خودم گفتم حالا وقتشه یکم راجع به پسورد بخونم و امنیت حساب هامو ببرم بالا که نتیجش شد این پست در ادامه این نکات رو به صورت تصویری با هم میبینیم.

محیط مجازی در پایتون

فرض کنید شما یک وبسایت با زبان پایتون نوشتین و از دو تا کتابخونه numpy نسخه ۸ و pillow نسخه ۵ استفاده می‌کنید، در حالت عادی میشه انیطوری تشبیه کرد که هر وقت میخواین سایتتون رو اجرا کنید سایتتون کتابدار(شاید این نقش سیتم عامل باشه) رو صدا میزنه و میگه منو وصل کن به کتابخونه numpy و بعدش کارشو انجام میده. حالا فرض کنید شما برای انجام دادن مشق دانشگاه تون لازمه که نسخه ۱۰ numpy رو نصب کنید، حلا که میخوای سایتت ور اجرا کنی وقتی سایتت کتابدار رو صدا میزنه میگه نام پای رو برام بیار همه حرفای این نام پای جدید رو نمی فهمه در نتیجه به خطا بر میخوره.

راه حل چیه؟ شما باید محیط برنامه هاتون رو کپسوله کنید یعنی هر برنامه توی یک اتاق جدا با یک کتاب دار جدا باشه پس من یک اتاق جدید درست میکنم روی درش هم مینویسم سایت من و روش همون نامپای ۸ و پیلو ۵ رو نصب میکنم و سایتمو میندازم اون تو از این به بعد هر بار سایتم رو اجرا کنم اون کتاب دار خودشو داره و کتبادارش هم نامپای نسخه رو براش میاره و کارش راه میفته از طرف دیگه هم یک اتاق دیگه دارم به اسم مشق یادگیری ماشین که اونجا نام پای ۱۰ رو نصب کرده و هر وقت برنامه‌شو اجرا میکنم کتابدار اون اتاق برای برنامه نامپای ۱۰ رو میاره و دیگه این دو برنامه برای هم تداخلی ایجاد نمیکنن.

venv

حالا چطوری میتونه اتاق های جدا داشته باشیم یا به عبارت دیگه برنامه هامون رو کپسوله کنیم؟

برای نصب راهنمای رسمی خودشون رو از این آدرس دنبال کنید

https://virtualenv.pypa.io/en/latest/index.html

حالا که نصب کردین برین اونجا که میخواین پروژه تون رو ایجاد کنید و یک دایرکتوری به اسم پروژتون ایجاد کنید بعد این دستور رو وارد کنید

virtualenv my_mashgh

حالا شما اونجا یک محیط کپسوله ایجاد کردین ولی هنوز داخلش نشدین برای وارد شدن به محیط کپسوله از این دستور استفاده کنید

my_mashgh\Scripts\activate

حالا باید اول دستورات تون این عبارت ظاهر شده باشه (venv) که یعنی دیگه وارد اتاق شدین :) و حالا میتونید هر نسخه از هر کتابخونه ای که دوست دارین رو نصب کنید بدون اینکه به کل سیستم اعمال بشه.

برای خارج شدن هم میتویند این دستور رو اجرا کنید.

my_mashgh\Scripts\deactivate.bat

GIJMIJ

There are some words in scince which they are close in first look but diffenent in meaning in GIJMIJ( in memory of Peyman my BA room mate who always fu*k your mind with this trick) I want to write them and use google to find their one line definition and share it with you.

۱- متغیر چیست؟

به هر چیز قابل اندازه گیری میگن متغیر.

Variables can be objects, events, concepts, etc.—whatever is observable(+).

با یک اسم حرفی مشخص میکنیمش مثل x یا y. لزوما هم نباید مقدار توی x رو بدونیم. مثلا تعداد قندهای توی یک قندون، یا بیشترین دامنه یک سیگنال یا میانگین سن افراد یک جامعه.

اگه قبول داشته باشین حداقل به خودش باید دو مقدار رو بگیره مثلا درست یا غلط چون اگه بخواد به خودش یک مقدار بگیره خوب دیگه تغییر نمیکنه.

متغیرها رو میشه به دو دسته وابسته و مستقل دسته‌بندی کرد:

متغیرهای وابسته مقدارشون به یکسری فاکتور دیگه وابسته هست (تابع، عرض)

متغیرهای مستقل هیچ فاکتوری روی اونا تاثیر نمیگذاره. (متغیر، طول)

پس میشه گفت متغیر مستقل میتونه روی متغیر وابسته تاثیر بگذاره و متغیر وابسته نمیتونه روی متغیر مستقل تاثیر بگذاره.

مثلا توی معادله(ضابطه) y=sin(x) بنظر شما به ترتیب x و y چه نوع متغیرهایی هستن؟ اگه کلاه قرمزی رو دیده باشین شخصیت دیوی کلا همه چی رو چپه میگه مثلا بجای شبتون بخیر میگه شبتون به فنا، دیوی به این سوال این طوری جواب میده میگه x متغیر وابسته و y متغیر مستقل هست.

متغیر تصادفی: کمیتی هست که مقادیر خودش رو به احتمال دریافت می‌کنه.

مثلا میگیم X نتیجه پرتاب سکه هست داریم.

P(X=شیر بیاد) = 0.5

متغیر پیش‌بینی کننده: در تجزیه و تحلیل رگرسیون به متغیری مستقلی میگن که به پیش‌بینی متغیر وابسته کمک می‌کنه. مثلا تو همون مثلا y=sin(x) میشه گفت x یک متغییر پیش‌بینی کننده هست.

متغیر : Variable

متغیر وابسته: Dependent Variable

متغیر مستقل: Independent Variable

متغیر پیش‌بینی کننده: Predictor variable

ترتیب پیشنهادی من برای آشنا شدن شما با آمار در پژوهش:

0- روش علمی چیست؟

۱- متغیر چیست؟

۲- آنالیز چیست

۳- آزمون‌های آماری

۴- آزمون تی تست t-test

۵- تحلیل واریانس ANOVA

نسخه‌های تمیز

به روز رسانی ۱۹ اردیبهشت ۱۴۰۱
احتمالا برای شما هم پیش اومده که با بزرگتر شدن پروژه‌ها و کارهاتون با مدریت کردن نسخه‌ها، کارگروهی و پشتیبان گرفتن از شون کمی مشکل داشته باشین، مثلا اسم فایل تون رو میزارین ali1 نسخه جدیدترشو ali2 یا final1,2,...  بعدش new final یا مثلا اشتباهی زدین یک فولدر از پروژه تون رو پاک کردین و یا فایل‌هایی که توی تلگرام رد بدل کردین زیاد شدن و پیدا کردن نسخه مناسب کمی سخت شده. این فایل‌ها میتونن کدهای برنامه نویسی باشن میتونن یک گزارش باشن یک کتاب یا هرچیزی که نسخه های متفاوتی داره.

یکی به اسم لینوس -Linus Torvalds- برای این کار یک نرم‌افزار کنترل نسخه نوشته به اسم git، دوست عزیزم رضا و من در ترم های آخر کارشناسی زاهدان یک سری آموزش git برای درس آموزش الکترونیکی درست کردیم، خواستم با این پست اون رو با شما به اشتراک بذارم. خیلی ساده و کار راه بنداز گفتیم پس برای کسی خوبه که تا حالا آشنایی نداشته جادی هم در فردارس دوره خوبی داره می‌تونید پس از فیلم‌های مقدماتی ما استفاده کنید. من برای اینکه کدهامو تو ابر ها هم داشته باشم :) اونها رو گاهی در گیتهاب و پروژه های شخصی مو در گیت‌لب (میتونین با تحریم شکن shecan تحریم ها رو دور برنید) نگهداری میکنم اینجوری خیالم از بابت پاک شدنشون راحته و مطمئنم همیشه یک نسخه پشتیبان دارم.

خوب و خوش باشین.

آموزش گیت در آپارات


چند دستور پرکاربرد کمتر دیده شده:

  1. اگر نمیدونستید چه تغییراتی اخیرن دادین به فایلتون کافیه بزنید git diff اون خط هایی که اضافه شده رو با رنگ سبز و شروع + نشون میده و اون خط هایی که حذف شدن رو با رنگ قرمز و شروع با علامت - نشون میده اگر هم خواستین خط هایی که تغییر نکردن رو نشون نده می‌تونید بزنید git diff -U0

یادگرفتنِ یادگرفتنْ

داشتم راجع به آموزش سرچ حرفه‌ای در گوگل اسکالر مطلب میخوندم که فهمیدم اگه توی سرچ تون بخواید فقط توی ژورنال خاصی دنبال مقاله بگرده کافیه اینو به سرچتون اضافه کنید:

search phrase source:journalname

و خب چون مجله(ژورنال) Nature از اون خوباست من هم این کار رو کردم و به این مقاله رسیدم(+). در مقدمه مقاله از دوره Learning How To Learn وبسایت coursera خیلی تعریف کرده بود، و نویسنده‌های مقاله که دقیقا مدرس‌های دوره بودن آدم‌های معتبری بودن و اینطور شد که من تشویق شدم در دوره ثبت‌نام کنم.

در ادامه مطلب خلاصه‌ی دوره و نظرم رو راجع بهش می‌نویسم.

تاریخ آخرین به روز رسانی ۱۹ مهر ( اضافه کردن هفته چهارم)

یه مدتی بود که من از نرم‌افزار Anki برای به خاطر سپردن چیز‌هایی که یاد می‌گیرم استفاده می‌کردم ولی فقط دو سه روز اول خوب بود و بعد یک مدت دیگه از نرم‌افزار زده می‌شدم. تا اینکه فهمیدم شاید بد نباشه how to use anki effectively رو تو یوتیوب سرچ کنم و فهمیدم یک اشکال کار این بوده که من فلش کارت هامو در ساده‌ترین نوع ممکن درست می‌کردم و این باعث خستگی استفاده از اون‌ها می‌شده.

چطور شد که تصمیم گرفتم دوباره از انکی استفاده کنم؟ اینکه امروز با مفهوم space repetition در حوزه یادگیری آشنا شدم، که به موقعش راجع به اون هم مطلب می‌نویسم.

اینکه این یک اپ مربوط به space repetiton  هست.

با من در ادامه مطلب همراه باشین

پس از خرید کیندل چه کنیم؟

این پست قراره مرتبا به روز بشه و چیزایی که یادگرفتم برای استفاده بهتر از کیندلم رو با شما اشتراک بزارم، هر عنوانی هم به ذهنم برسه فعلا می‌نویسم تا بعد راجع بهش توضیح بدم

۱- نصب دیکشنری

اگه شما هم برای فهمیدن لغت‌ها از دیکشنری انگلیسی پیش‌فرض خود کیندل یعنی Oxford استفاده کرده باشین متوجه شدین که گاهی در توضیح یک لغت با لغت دیگه‌ای بر خوردین که معنی شو نمی‌دونین در نتیجه یا باید می‌رفتید اون رو هم نگاه می‌کردین یا اینکه فیلینگی(همینجوری) راجع بهش حدس میزدین، فعلا قبول می‌کردین و رد می‌شدین. اما اگه کمی راجع به دیکشنری ها سرچ کنید متوجه می‌شید که Longman برای غیر انگلیسی زبان‌ها دیشکنری ساده‌تر و بهتری هست که خوب البته به صورت پیش‌فرض روی کیندل نصب نیست.

من اول فکر می‌کردم نصب دیکشنری روی کیندل مثل نصب یک نرم‌افزار توی گنو لینوکس، کمی پیچیده هست ولی جالبه بدون خیلی ساده تره، در حد منتقل کردن فایل. کافیه فایل دیکشنری تون رو که مثلا با فرمت mobi هست رو کپی کنید در دایرکتوری dictioneries داخل کنیدل تون. بعدش برای راحت تر شدن قضیه می‌تونید از قسمت setting این دیکشنری رو به عنوان دیکشنری پیش‌فرض انتخاب کنید. حالا از دیکشنری لانگمن روی کیندل تون لذت ببرین.

به روز رسانی: متوجه شدم کالکشن دیکشنری خود کیندل که تو صحفه home هست یکسری دیکشنری داره و اگه به نت وصل کنید میتونید رایگان دانلود کنید رو دستگاه تون.

۲- ساختن یک کاور

روتین بیدار شدن

وقتی کلمه routine رو جستجو کنید، این رو براتون میاره

a sequence of actions regularly followed

من هم در این پست میخوام راجع به روتین بیدار شدنم بگم، روتین یک سطح بالاتر از عادته، عادت یک کاریه که در طول زمان انجامش میدیم ولی روتین مجموعه عادت‌هایی هست که پشت سرهم تکرار میشن.

یکی از مدرسای کلاس آنلاینم میگفت سال کنکورش هر روز نیم ساعت راه میرفته و به برنامه روزش فکر می‌کرده، منم چون عادت داشتم سه بار در هفته میرفتم دویدن خوشحال شدم و چراغ سبزی بود که روزی نیم ساعت از وقتم رو بدون استرس اینکه وای وقتم هدر رفت برم راه برم، و خوندن درس نظم شخصی در ۱۵ دقیقه توی متمم سبب شد که دیگه هر روز زود بیدارشم برم نون وایی نون تازه بخرم بیام خونه و درسامو شروع کنم.

حالا خیلی وقت من این روتین رو صبح‌ها دارم:

  1. دست و صورتمو میشورم
  2. آیپاد، کیندل یا گوشی مو برمی‌دارم که تو راه بتونم یک درسی رو مرور کنم، پادکست گوش بدم یا پیام‌رسان هامو چک کنم
  3. میرم نونوایی و بر می‌گردم (با اینکه نونوایی هایی نزدیک تری به خونمون هستن ولی من اونی رو انتخاب کردم که رفت و برگشتم نیم ساعت طول بکشه)
  4. قهوه و صبحانه مو آماده میکنم
  5. در حال صبحانه خوردن یک سریال ۲۰ دقیقه‌ای میبینم (امروزها Family Guy)
  6. نون ریزه ها رو میبرم بالکن برای پرنده‌ها و ظرف آبشون رو پر میکنم

چند تا نکته رو هم بخوام اضافه کنم، امروز‌ها با اومدن کرونا به زندگی بخش ۲ و ۳ تقریبا هر یک هفته اتفاق میفته، بعضی وقت‌ها به جای دیدن سریال فیلم‌های مکتب‌خونه رو نگاه میکنم اما همون حدود ۲۰ دقیقه و در آخر غذا دادن به پرنده‌ها خیلی حس خوبیه حتما تجربش کنید بعدها بیشتر راجع به مهمون‌های بالکن خونمون می‌نویسم.

اینم عکس مهمون‌های هر روز من، چندتا گنجشک می‌تونید توی عکس پیدا کنین؟

دنباله دار نئووایز