تو برنامه نویسی AVR ساختن یه فلاشر هشتایی عین Hello world میمونه و اکثر tutorial ها اولین پروژه شون همینه! منم در آینده نزدیک از همین پروژه شروع می کنم ولی برای شروع باید چنتا نرم افزار رو نصب و راه اندازی کرد. با ما همراه باشید که کلی کار داریم!
تو برنامه نویسی AVR ساختن یه فلاشر هشتایی عین Hello world میمونه و اکثر tutorial ها اولین پروژه شون همینه! منم در آینده نزدیک از همین پروژه شروع می کنم ولی برای شروع باید چنتا نرم افزار رو نصب و راه اندازی کرد. با ما همراه باشید که کلی کار داریم!
همونطور که پیش تر در پستی با گذاشتن مطالبی در حوضه میکروکنترلر AVR موافقت شد با این پست مطالب با این موضوع را شروع می کنم.
همون طور که قبلا هم نقل قول کردم میکروکنترلر ها در واقع دسته ای از تراشه های IC هستند که امکان برنامه نویسی و کنترل مدارات الکتریکی رو به ما می دهند. این تراشه ها درواقع چیزی شبیه به یک رایانه در ابعاد بسیار کوچک هستند که درون خود دارای بخش هایی مانند CPU, RAM, ROM و چند نوع حافظه هستند. این تراشه های از خانواده های مخلف و با معماری ها و ویژگی ها مختلفی هستند که به جرئت میشه گفته خانواده AVR بهترین و پرکاربرد ترین خانواده این دسته از تراشه ها هستند. در ادامه کمی بیشتر در مورد AVR ها آشنا خواهیم شد.
Virtual Private Network پدیده ای نسبتا پیچیده در شبکه هست و می تونید با سرچ تو گوگل بیشتر در موردش بدونید ولی مردم اکثرا اون رو فقط به عنوان یک ابزار برای رفع محدودیت شبکه می شناسن. در واقع VPN ها کاربرد ها و پیچیدگی های خیلی بیشتری نسبت به رفع محدودیت داره.
فکر می کنم منظور از پروژه های تجاری به اندازه ی کافی روشن باشه؛ منظور پروژه هایی هستند که توسعه دهندگان می خواهند به نحوی از آن کسب درآمد بکنند. موضوع این مطلب یک بحث بین من و آقای کریمی زاده بود!
همین اول باید بگم طبق بحثی که با دوستان (DotMan و FKZ) داشتم در نهایت به این نتیجه رسیدیم که اگر به دنبال فروش نرم افزار خود هستید نمی توانید آن را متن باز کنید. اما روش های دیگری هم برای پول در آوردن از پروژه های متن باز هست.
طی یک اتفاق متوجه شدم که سیستم عامل اوبونتویم (Ubuntu mate 16.04) کاملا نا امن هست!
از اونجایی که من از دو سیستم عامل روی سیستمم استفاده می کنم از یک بوت لودر گراب (Grub boot loader) استفاده می کنم که در منوی بوت یک گزینه به نام:
Ubuntu GNU/Linux, with Linux 3.8.0-26-generic (recovery mode)
وجود داره. طی یک اتفاق مجبور شدم به این گزینه یک سری بزنم که به گزینه ی "Drop to root shell prompt" بر خوردم. کنجکاو شدم ببینم تا چه حد دسترسی بهم میده رفتم توش و نوشتم passwd [my-username]
که دیدم ازم رمز جدید می خواد. طبق روال عادی رمز رو وارد کردم و قبول شد، ریبوت (Reboot) کردم و دیدم رمز عوض شد. به همین سادگی رمز عوض شد بدون این که ازم رمز قبلی رو بپرسه. البته که من هنوز تو استفاده از لینوکس تازه واردم ولی خیلی ساده رمزش شکسته شد.
حالا اگر شما هم از بوت لودر استفاده می کنید مراقب باشید چون حداقل یک مرحله هکر هایی که دسترسی فیزیکی دارند رو جلو انداختین!!
اگر می خواهید اطلاعات خود را به صورت دلخواه همانند بالا در مشخصات ویندوز وارد کنید این مطلب را دنبال کنید
در روزگاری که همه جا صحبت از این بیماری ناخوانده یعنی کرونا (Covid-19) هست ما هم کمی به این موضوع از بعد رسانه ای می پردازیم.
در این روز ها بازار شایعات از همیشه داغ تر است و حتی برخی شایعات می توانند از خود این ویروس هم برای جان ما خطرناک تر باشند! شایعاتی که هر کدام به دلایلی، به طور کل غیر انسانی، در شبکه های مجازی دست به دست می شوند و خواه و نا خواه به دست ما می رسند. البته که موضوعات مطرح شده در این مطلب، تنها اصول ساده ای، از سواد رسانه ای هستند؛ که در نظر داشتن آن ها حتی می توانند در مقابله با جنگ رسانه ای یا جنگ نرم هم کمک کننده باشد.
def controllInput(func:callable, prompt = '>'): while True: try: inputValue = input(prompt) value = func(inputValue) if type(value) == bool: if value: return inputValue; else: print('!!INVALID INPUT!!') else: return value, inputValue except: print('!!INVALID INPUT!!') a = controllInput(str.isdigit, 'digit: ') print(a, type(a)) b = controllInput(int, 'int: ')[0] print(b, type(b)) c = controllInput(str.isalpha, 'alpha: ') print(c, type(c)) d = controllInput(lambda x: x.isalpha() and len(x)==5, '5 alpha:') print(d, type(d))
از آنجا که به تازگی دارم پایتون کار می کنم می خواستم تا به هسته اندروید تبلتم پایتون رو اضافه کنم تا بتونم براش اسکریپت پایتونی هم بنویسم. پس جست و جو کردم تا چطور می تونم این کار رو انجام بدم؛ تا این که یافتم چطور می تونم پایتون 3.4.2 رو به اندروید اضافه کنم. البته برای استفاده از پایتون بر روی اندروید راه های دیگری مانند استفاده از برنامه QPython هم هست که به روت هم فکر نکنم نیاز باشه ولی در این جا شما می تونید کد ها و اسکریپت ها را از شل اجرا کنید و حتی اسکریپت هایی برای سیستم بنویسید که به سادگی اجرا می شوند.
قبل از هر چیز باید بگم که این دستورالعمل نیاز به دسترسی روت داره و طبق گفته ی منبع فقط روی پردازشگر های ARM جواب میده. من این کار رو انجام دادم و به خوبی روی تبلت سامسونگ به مدل GT-P3100 جواب داد. استفاده از ARM هم برای سادگی کار پیشنهاد می شه که البته میشه از یک terminal emulator برای اندروید هم استفاده کرد.
در سی شارپ شما می توانید نوع (type) ها را در قالب یک متغییر برگرداند و جا به جا کرد. این نوع ها می توانند انواع متغیر ها و یا کلاس ها و در کل هر شئ موجود باشند. به طور مثال اگر کلاس های مشتقی دارید می تواند کلاس پایه و تمامی کلاس های مشتق را به گونه ای بنویسید که توع خود را در غالب یک متغیر اعلام کنند