بررسی فایل های deb و مفهوم نصب برنامه در لینوکس

لینک مستقیم یوتیوب

درود دوستان. توی این ویدیو ساختار فایل های deb یا پکیج های دبیان در گنو لینوکس رو مورد بررسی قرار دادیم و با مفهوم نصب برنامه ها در گنو لینوکس آشنا شدیم.

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

شبیه سازی session hijacking با استفاده از xss

ویدیو روی یوتیوب قرار داره. در نتیجه برای مشاهده فیلتر شکن میخواید :). لینک مستقیم یوتیوب

درود. توی این ویدیو به بررسی حمله های session hijacking میپردازیم و یکیشونو شبیه سازی میکنیم. و از همه مهم تر میفهمیم که ساده ترین آسیب پذیری های xss در سایت ها میتونن خیلی مشکل ساز باشن.

امیدوارم خوشتون اومده باشه 🙂

پروژه کوچیک بازی مربع های رنگی با جاوا اسکریپت

بیکاری در قرنطینه به آدم فشار میاره 🙂

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

گاهی اوقات بازسازی چیز هایی که قبلا نوشته شده به آدم چیزای زیادی یاد میده.

سورس کد: https://gitlab.com/parsampsh/color_square_game

بازی کنید!

حل معمای ریاضی بز و گاو و گوسپند با برنامه نویسی پایتون

سلام دوستان. امروز ی معما ی ریاضی برام فرستادن که برام جالب بود. ی برنامه به زبان پایتون نوشتم که معما رو حل میکنه :).

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

اولین کامیت commit لینوکس linux

دیروز داشتم توی ریپوزیتوری گیتهاب لینوکس گشت میزدم که ی موضوعی ذهنمو مشغول کرد. اونم این بود که چرا خود لینوس توروالدز توی اوایل لیست contributor ها نیست.

بعد گفتم این چه حرفیه, خوب معلومه که نباید اون اولا باشه. چون لینوس گیت رو بعداز لینوکس ساخته. پس قاعدتا بخش زیادیش قبل ظهور گیت نوشته شده. درنتیجه همون بخش زیاد رو در قالب یدونه کامیت زده.

اینجوری شد که به فکرم رسید برم و اولین کامیت لینوکس رو ببینم. توی ریپوی گیت هابش گشتم و رسیدم به اولین کامیت:

https://github.com/torvalds/linux/commit/1da177e4c3f41524e886b7f1b8a0c1fc7321cac2

جالب بود برام. لینوس توی توضیحات این کامیت نوشته:

Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.

که ترجمش میشه:

 
ساخت اولیه مخزن git. من با تاریخ کامل زحمت نمی کشم ،
حتی اگر ما آن را داشته باشیم. ما می توانیم یک کنایه "تاریخی" جداگانه ایجاد کنیم
اگر بخواهیم بعداً بایگانی کنیم و در ضمن
3.2 گیگابایت هنگام وارد کردن به git - فضایی که تازه کار را آغاز می کند
روزهای گیت غیرمعمول پیچیده است ، وقتی زیرساخت های خوبی نداریم
 ترجمه درب و داغون از گوگل ترنسلیت خنگ :)

یعنی پایه و کد اولیه لینوکس توی تاریخ گیت نیست 🙂 که به گفته لینوس 3.2 گیگابایت درقالب یک کامیت در ریپو قرار گرفته!

که این درباره لینوکس موضیع جالبیه.

نصب بازی ماینکرفت minecraft رو لینوکس linux

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

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

اول از همه باید برنامه لانچر(launcher) ماینکرفت رو که واسه لینوکس هم نسخه داره دانلود کنیم که اسمش skaia launcher هست.

برای دانلودش برید به لینک زیر و لینک سوم رو دانلود کنید:

https://dl.skaia.us/41709617736994

حالا ی فایل زیپ بهتون داده که آنزیپش کنین و توش ی پوشه هست به اسم “Mac and Linux” که داخلش ی فایل هست با پسوند .jar این فایلیه که ما نیاز داریم.

قبل از هر کاری باید جاوا رو توی لینوکستون نصب کنین چون همونطوری که میدونید ماینکرفت با جاوا نوشته شده و برای اجراش نیاز به جاوا دارید.

برای نصب جاوا(jre و jdk) توی ترمینال دستور زیر رو بزنید(من اینجا از apt استفاده کردم. شما هر پکیج منیجر دیگه ای که دارید رو بزنید):

sudo apt install default-jre default-jdk

حالا جاوا نصب شده و نوبت اجرای فایل jar لانچرمونه:

chmod +x Skaia_launcher.jar

java -jar Skaia_launcher.jar

دقت کنید که ممکنه فایلی که شما گرفتید اسمش متفاوت باشه همونو بزنید.

حالا لانچر میاد بالا:

تو این کادر ی username برای خودتون انتخاب کنید. بعد save username رو بزنید و بعد play.

حالا لانچر میاد بالا و ی دکمه هست که نوشته Play اونو بزنید و ماینکرفت رو اول دانلود میکنه که یکم طول میکشه و بعد ماینکرفت اجرا میشه(دقعات بعدی دانلود نمیخواد)

تبریک میگم! ماینکرفت رو روی لینوکس نصب کردیم! برید حالشو ببرید 🙂

نکته مهم: شاید بخواید یک ورژن خواص از ماینکرفت رو بازی کنید, برای اینکار از همین صفحه گزینه edit profile رو بزنید و گزینه Allow Use of old alphha minecraft verions رو تیک بزیند و از اون لیست ورژن مورد نظرتون رو انتخاب کنید و بعد save profile رو بزنید:

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

راستی ی نکته دیگم هست اونم اینه که اگر روی لینوکس 32 بیت میخواین نصب کنین ماینکرفت رو باید از ورژن 1.12 یا پایین تر استفاده کنین چون ورژن های بالاتر از این لینوکس 32 بیت رو ساپورت نمیکنن

امیدوارم از این مطلب خوشتون اومده باشه دوستان 🙂

کریستال چیست؟

سلام دوستان. تصمیم دارم این پست رو جهت معرفی و آشنایی شما با فریمورک php کریستال بنویسم.

به تازگی یک فریمورک php نوشتم که اسمش crystal یا crystalphp هست. که آقای جادی هم توی وبلاگشون در این پست زحمت کشیدن و معرفی اش کردن. در واقع هدف من از نوشتن کریستال یک فریمورک بسیار ساده و بسیار سبک و در عین حال سریع و قوی بوده. که بر پایه معماری mvc نوشته شده. قطعا php کار ها با یکی از فریمورک های php مثل laravel آشنایی دارن. قطعا کریستال در حد laravel نیست اما حتما میدانید که پروژه های لاراولی بسیار حجیم هستند. و درواقع اکثر فریمورک های پی اچ پی وابستگی های زیادی به دیگر کتابخانه ها دارند. نمیتوان گفت crystal از غول هایی مثل symfony یا laravel بهتر است. اما مزایایی هم نسبت به آنها دارد.

برای مثال اصولا در حال حاضر کریستال وابستگی ای به کتابخانه های دیگر پی اچ پی ندارد(شاید در آینده پیدا کند). و حجم یک پروژه کریستالی یک الی دو مگابایت است. کریستال از سادگی بسیار جذابی برخوردار است. در واقع سادگی این فریمورک یکی از اهداف من است. کریستال بر خلاف فریمورک های دیگر مثل لاراول که ساختار پوشه بندی مبهمی دارند یا ساختار namespace هایشان کمی سخت است, بسیار ساده است. هم از نظر ساختار پوشه بندی پروژه و هم از نظر ساختار namespace بسیار ساده است. هرچند باز هم تکرار میکنم حداقل در حال حاضر به قدرت و توان لاراول یا سیمفونی نیست اما از دیگر فریمورک ها هم کمتر نیست و اگر یک بار امتحانش کنید ضرر نمیکنید 🙂

کریستال بر پایه composer نوشته شده و در نتیجه میتوانید هر کتابخانه ای را به پروژه تان اضافه کنید.

برای ساخت یک پروژه جدید کریستالی با composer باید به این شکل عمل کنید:

composer create-project crystalphp/project projectname $

با این دستور پروژه جدید ساخته میشود و میتوانید از کریستال لذت ببرید!

و همچنین لینک های git:

GitLab: https://gitlab.com/crystalphp

خودم به شخصه طرفدار gitlab هستم اما به هر حال github هم نیاز میشه 🙂:

GitHub: https://github.com/crystalphp

سخن آخر

این فریمورک هنوز اول های راهه و قطعا به خوبی بقیه نیست. اما در طی زمان میتونه بهتر بشه. اما هر تکنولوژی ای کاربرد خودشو داره. ولی در کل میتونید کریستال رو ی جاهایی برای بعضی پروژه ها استفاده کنید.

میتونید مستندات کریستال رو توی این اینک مشاهده کنید.

و اگر این فریمورک مورد استقبال قرار بگیره وبسایت هم براش میزنم.

امیدوارم ی روزی این فریمورک هم مثل بقیه خوب بشه.

ممنون از اینکه مطالعه کردید 🙂

سلام دنیا :)

سلام! این اولین پست من بعداز راه اندازی وبلاگم هست. هدفم از راه اندازی این وبلاگ اشتراک گذاری دانشم(هر چند زیاد نیست) هست. من برنامه نویس و توسعه دهنده وب هستم که میتونید رزومه ام رو در این لینک مشاهده کنید.

امیدوارم بتونم از امروز مطالب مفیدی در این سایت قرار بدم.