Skip to main content
مونو‌پاد مورد نظر

اندی پیش برادرم یک مونوپاد خرید کرد که به دلیل استفاده نادرست، مونوپاد خراب شد اما ریموت بلوتوثی مونوپاد سالم ماند و به دست من افتاد. بنده هم این فکر به ذهنم خطور کرد که از این ریموت ۳ کلیده به عنوان ریموت بلوتوثی لپ‌تاپ استفاده کنم. بعد از روشن کردن ریموت و اتصال لپ‌تاپ بهش متوجه شدم که ریموت به عنوان یک کیبورد عمل می‌کند. با نوشتن یک برنامه ساده به زبان سی و خواندن داده از /dev/eventX (فراموش کردم کدام eventX بود) متوجه شدم که هر کلید چه کدی دارد:

  • کلید + با کد ۱۱۵
  • کلید – با کد ۱۱۴
  • کلید شات یا دوربین به عنوان دو کلید عمل می‌کند. یعنی زمانی که آن‌را فشار می‌دهید دو کد می‌فرستد که به ترتیب ۲۸ و ۱۱۵ هستند.
بیشتر بخوانید

امروز، دوشنبه ۲ اسفند ۱۴۰۰،‌ جلسه دوم گروه نرم‌افزار آزاد هرمزگان را با حضور نویسنده این مطلب داشتیم و به پیشنهاد یکی از اعضا، یک بازی جالب کردیم: «به صورت چرخشی در یک دایره هرکس میبایست نام یک ماژول پایتونی، توکار یا غیر تو‌کار،‌ بگوید. نام ماژول‌ها روی تابلو نوشته می‌شود و کسی حق تکرار اسم یک ماژول را ندارد. کسی که ظرف مدت زمان ۳۰ ثانیه نتوانست اسمی پیدا کند، از بازی خارج می‌شود و آخرین نفر باقی مانده در بازی برنده است». روشن است که در بازی حق جستجو کردن، نوشتن یا امثالهم را نداشتیم!

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

بنده در دانشگاه هرمزگان دستیار تدریس یا حل التمرین(TA) برنامه‌سازی پیشرفته هستم. ضمن تصحیح پروژه دانشجویان به اشتباهاتی درست(!) در کد هایشان برخوردم. قسمت درست کد‌ها این می‌باشد که «کار» می‌کنند اما به روش درست پایتون نوشته نشده‌اند.

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

به صورت کلی، جنگو و django-admin تلاش می‌کنند با پیاده‌سازی پیش‌فرض‌هایی که مناسب هستند زندگی توسعه‌دهنده را آسان‌تر کنند. در نتیجه یک توسعه دهنده قادر خواهد بود تا یک اپلیکیشن را در زمان بسیار کمی بالا بیاورد. اما او مجبور است به اکثر پیش‌فرض‌ها بچسبد. البته سفارشی‌سازی ممکن است اما اغلب تغییر پیش‌فرض‌ها نیازمند فهمی درست از اتفاقاتی است که پشت صحنه می‌افتد که می‌تواند وقت‌گیر و نیازمند مهارت باشد.

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

یکی از ترفند های کدزنی که برنامه‌نویسان حرفه‌ای معمولا از آن استفاده می‌کنند استفاده از or و and به جای شرط است. بله درست متوجه شدید، به جای شرط. این ترفند ممکن است باعث شود تا کد شما خوانا نباشد و حتی توصیه شده نیست ولی ترفند به شدت جذابی‌ست که می‌تواند در خلاصه نویسی کد تاثیر زیادی داشته باشد. این روش در بسیاری زبان ها مانند C, JavaScript, Python و … کاربرد دارد. پس با ما همراه باشید تا این تکنیک زیبا و جذاب را یاد بگیرید.

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

در نسخه ۳.۱۰ پایتون یک ویژگی جدید و جالب به زبان اضافه شده است: pattern matching. اگر با سوئیچ‌کیس(switch-case) در زبان‌های سی و سی‌پلاس‌پلاس کار کرده‌اید، پترن‌مچینگ یک نسخه پیشرفته‌تر از switch-case مي‌باشد. در پست «از سوییچ‌کیس تا پترن‌مچینگ» از روزبه شریف‌نسب می‌توانید در مورد این ساختار‌ها در زبان‌های مختلف و تاریخچه آن‌ها بخوانید.

بیشتر بخوانید
help(int)

کلاس int در پایتون که بعضا آن را با تابع اشتباه می‌گیرند،برای تبدیل یک متغیر با نوعی جز نوع عدد صحیح به عدد صحیح کاربرد دارد. شما می‌توانید با استفاده از int در پایتون یک رشته(string) یا یک عدد اعشاری(float) را به عدد صحیح تبدیل کنید.

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

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

int my_cool_array[3] = {1, 2, 3};

در پایتون چیزی به اسم آرایه نداریم. خود زبان به صورت ذاتی(منظورم builtin یا توکار هست) چند نوع مخزن دارد که این‌جا من در مورد چهار مورد از آن‌ها برایتان می‌نویسم.

بر خلاف آرایه‌ها در سی که تنها می‌توانند داده‌هایی از یک نوع را در خود نگه دارند، لیست،توپل(تاپل) دیکشنری و مجموعه در پایتون هر کدام می‌توانند هم‌زمان داده‌هایی با نوع‌هایی مختلف را درون خود داشته باشند.

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