جاوا اسکریپت زبانی تکرشتهای است، به این معنا که تنها یک کار را در یک زمان میتواند انجام دهد. این ویژگی میتواند منجر به مشکلاتی در مدیریت عملیات ناهمگام (asynchronous operations) شود؛ عملیاتی که زمانبر هستند و نمیتوانند فوراً نتیجه را برگردانند، مانند درخواستهای شبکه، دسترسی به پایگاه داده، یا خواندن و نوشتن فایل. در گذشته، برای مدیریت اینگونه عملیات از Callback و Promise استفاده میشد. اما با معرفی async و await در ES2017، جاوا اسکریپت ابزارهای قدرتمندتری برای نوشتن کدهای ناهمگام به روشی خواناتر و مشابه کدهای همگام (synchronous) فراهم کرد.
معرفی ابزار valgrind برای شناسایی نشت حافظه
مقدمه
نشت حافظه یکی از مشکلات رایج و پنهان در برنامهنویسی است که میتواند منجر به کاهش کارایی، ناپایداری و حتی از کار افتادن کامل برنامه شود. در زبانهای برنامهنویسی مانند C و C++ که مدیریت حافظه به عهده برنامهنویس است، احتمال وقوع نشت حافظه به مراتب بیشتر است. ابزارهای مختلفی برای شناسایی و رفع این مشکل توسعه یافتهاند که یکی از قدرتمندترین و پرکاربردترین آنها، Valgrind است.
ساخت بازی Bricks با PyGame
مقدمه
بازی Bricks، که با نامهایی مانند Breakout یا Arkanoid نیز شناخته میشود، یک بازی کلاسیک آرکید است که هدف اصلی در آن شکستن تمام آجرها در بالای صفحه با استفاده از یک توپ و یک پدل (تخته) است. پدل توسط بازیکن کنترل میشود تا توپ را به سمت بالا برگرداند و از افتادن آن به پایین صفحه جلوگیری کند. ساخت این بازی با استفاده از کتابخانه PyGame در پایتون یک پروژه عالی برای یادگیری مفاهیم پایه توسعه بازیهای دوبعدی است. در این مقاله به صورت جامع به مراحل و مفاهیم کلیدی برای ساخت این بازی میپردازیم.
کلمات کلیدی auto و decltype در C++
کلمات کلیدی auto و decltype در C++ ابزارهای قدرتمندی برای استنتاج نوع در زمان کامپایل هستند. این ویژگیها، که از C++11 به بعد معرفی شدهاند، به برنامهنویسان کمک میکنند تا کدهای انعطافپذیرتر و قابل نگهداریتری بنویسند.
مقدمهای بر بازی سازی با کتابخانه PyGame
صنعت بازیهای ویدیویی یکی از پویاترین و جذابترین حوزههای فناوری است که هر روز شاهد نوآوریها و خلاقیتهای بیشماری در آن هستیم. برای بسیاری از علاقهمندان به این حوزه، رویای ساخت بازیهای خودشان همواره در ذهنشان وجود داشته است. خوشبختانه، با ظهور کتابخانهها و ابزارهای مختلف، ورود به دنیای بازیسازی دیگر نیازمند دانش تخصصی و پیچیده در سطح موتورهای بازی تجاری نیست.
یکی از بهترین گزینهها برای شروع یادگیری بازیسازی، به ویژه برای کسانی که با زبان برنامهنویسی پایتون آشنا هستند، کتابخانه قدرتمند و در عین حال سادهی PyGame است. PyGame مجموعهای از ماژولهای پایتون است که برای ساخت بازیهای دو بعدی طراحی شده و امکاناتی نظیر مدیریت پنجره، دریافت ورودی کاربر، رسم اشکال و تصاویر، پخش صدا و موسیقی، و مدیریت برخورد اشیاء را در اختیار توسعهدهندگان قرار میدهد.
این مقاله به عنوان یک مقدمه جامع، شما را با مفاهیم و اصول اولیه بازیسازی با استفاده از کتابخانه PyGame آشنا خواهد کرد. ما در این مسیر، از نصب و راهاندازی کتابخانه گرفته تا پیادهسازی عناصر اساسی یک بازی ساده، قدم به قدم پیش خواهیم رفت.
بسط لیست، چندتایی یا دیکشنری و استفاده از آنها به عنوان ورودی توابع در پایتون
بسیاری اوقات پیش میآید که ما قصد فراخوانی تابعی را داریم و ورودیهای این تابع در یک لیست، چندتایی یا دیکشنری قرار دارند. ابتداییترین کار ممکن جداکردن تک تک عناصر و دادن آنها به عنوان ورودی به تابع است. ولی میتوان با استفاده از عملگرهای * و ** کار را سادهتر کرد. در این نوشته با نحوه استفاده از این عملگرها آشنا خواهیم شد.
ادامه خواندن “بسط لیست، چندتایی یا دیکشنری و استفاده از آنها به عنوان ورودی توابع در پایتون”
توابع ابتدایی مربوط به آمار در numpy
در این نوشته با توابع ابتدایی مربوط به آمار آشنا خواهیم شد. این توابع عبارت اند از حداقل، حداکثر، متوسط، انحراف معیار، واریانس، همبستگی متقابل، کووارینس و غیره. کتابخانه numpy در زبان برنامهنویسی پایتون این توابع را در اختیار ما قرار داده است.
دستورات where و argwhere در پایتون
در این نوشته به معرفی دو دستور where و argwhere از کتابخانه numpy پرداخته خواهد شد. این دو دستور اگر درست و به جا استفاده شوند میتوانند موجب خوانایی کدها شده و سرعت برنامهنویسی ما را نیز افزایش دهند. با مثالها گوناگون نحوه استفاده از این دو تابع توصیف خواهد شد.
گیتهاب چیست و چگونه میتوان از آن استفاده کرد؟
در این نوشته به توصیف یکی از مشهورترین سرویسهای میزبانی سیستم کنترل نسخه گیت یعنی گیتهاب پرداخته خواهد شد. گیتهاب که از سال ۲۰۰۷ شروع به ارائه خدمات کرده است، در حال حاضر محبوبترین و پر کاربرترین ارائه دهنده سرویس میزبانی گیت میباشد. لازم به ذکر است گیت یک نرم افزار کنترل نسخه و بازنگری و مدیریت کد میباشد. این نرم افزار ابتدا برای توسعه سیستم عامل لینوکس توسط لینوس تروالدز طراحی گردید ولی به مرور زمان مورد اقبال عمومی قرار گرفت و الهام بخش بسیاری از پروژههای دیگر گردید.
ادامه خواندن “گیتهاب چیست و چگونه میتوان از آن استفاده کرد؟”