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

طبقه بندی موضوعی
۲۱
ارديبهشت

اگر بخواهیم فایلی رو مثلا "file1.txt" از یک مخزن در github حذف کنیم:

از دستور git rm به این صورت استفاده میکنیم.

git rm file1.txt
git commit -m "remove file1.txt"

و برای حذف یک دایرکتوری و فایل های داخلش :

git rm -r directory

و اگر بخواهیم فقط از مخزن حذف بشه و نه کلا از filesystem :

git rm --cached file1.txt

و در آخر تغییرات رو به مخزن ریموت push میکنیم.

git push origin master  

  • younes RayanFar
۱۸
ارديبهشت

در مثال های مستندات JmonkeyEngine در بخش ( Hello Picking) در مورد انتخاب یک geometry با موس چیز هایی گفته شده .....

اما کامل نیست و در یک مورد نیاز واقعی برای من کارایی نداشت، بیشتر اوقات هر مدل از بیشتر از یک geometry تشکیل شده است (مثلا مدل من از چند قسمت دست ،سر ، مو ، لباس ، بدن ، پا ، پوتین و غیره تشکیل شده که هر کدام یک geo در نظر گرفته میشود).و همچنین لازم بود به controller آن دسترسی داشته باشم که فقط والد تمام این ها این کنترلر را داشت نه فرزندان .

پس باید به spatial دسترسی پیدا می کردم  که والد تمام اجزای بدن مدل بود، برای اینکار geo ها را به سمت بالا در سلسله مراتب پدر فرزندی مرور میکنیم تا به یک برابری برسیم .(من برای هر چیز یک داده ی کلید مقدار ثبت میکنم مثلا id و npc را به مدل سربازهایی که توسط کامپیوتر کنترل میشوند نسبت می دهم تا بتوانم در یک حلقه بررسی کنم مورد انتخابی یک مدل از نوع npc است یا نه ؟بعد یک متد از کنترلر را اجرا میکنم تا رفتار مناسب داشته باشد ....)

  • younes RayanFar
۲۸
فروردين

نام کتاب : jMonkeyEngine 3.0 Cookbook - Rickard Eden.pdf

نویسنده: Rickard Edén

ناشر :Packt Publishing Ltd

زبان : eng

حجم : دو و نیم مگ - 615 صفحه

لینک دانلود

پ ن : وقتی امکانی برای خرید آسان وجود نداره مجبورم از راه غیر اخلاقی بدست بیارمش. پس دانلود کنید ، پرینت بگیرید و لذت ببرید. 

شاید این کتاب (jMonkeyEngine 3.0 Beginner's Guide.pdf) رو هم دوست داشته باشید بخونید.

  • younes RayanFar
۲۷
فروردين

با استفاده از عملگر باقی مانده ی تقسیم (%):

همون طور که در ریاضیات عددی زوج است که باقی مانده ی تقسیم اش بر دو ، صفر باشد. پس به عنوان یک روش با استفاده از % زوج بودن عددی را تعیین میکنیم:

boolean is_even = (n % 2 == 0);

تعیین زوج و فرد با استفاده از عملیات بیتی و عملگر بیتی &:

برای این کار ما به آخرین رقم از مقدار باینری عدد نیاز داریم که با and کردن آن با یک به دست می آید. به این صورت:

number & 1

اگر حاصل یک باشد، عدد فرد است و اگر صفر باشد، عدد زوج است.

برای مثال :

1-پنج فرد است پس: 

0000 0101 & 0000 0001 = 0000 0001

2- و شش زوج است:

0000 0110 & 0000 0001 = 0000 0000

و نمونه کد جاوا :

if( (number&1) == 0){
      system.out.println("even");
   }else{
        system.out.println("odd");
      }

در زیر کاپوت :

همان طور که میدانید عملگر منطقی and (&) دو مقدار دودویی با طول مساوی دریافت کرده و بر روی هر جفت بیت متناظر، عملیات عطف منطقی را انجام می‌دهد. نتیجه وقتی ۱ می‌شود که اولین بیت و دومین بیت هر دو با هم ۱ باشند، در غیر این صورت صفر خواهد بود.

جدول زیر را در نظر بگیرید:

20 21 22 23 24 25 26 27 28 29
1 2 4 8 16 32 64 128 256 512

دو به توان هر عدد صحیح غیر منفی و صفر ، همیشه زوج خواهد بود. (نمی دونم صفر مثبته یا منفی؟)

کمترین ارزش را سمت راست ترین رقم خواهد داشت. و مقدار آن در صورت صحیح بودن یک خواهد بود.

عدد یک در مبنای دو برابر با یک است و به سمت چپ تمامی ارقام صفر خواهند بود و این هیچ تاثیری بر ارزش عدد ندارد. (00000001) .

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

به عبارتی دیگر عطف منطقی با عدد یک، باعث میشود تمام ارقام عدد مورد آزمایش به غیر از آخرین رقم صفر شود و اگر رقم آخر یک باشد نتیجه یک می شود و فرد بودن عدد مورد آزمایش را نتیجه میدهد.

  • younes RayanFar
۲۱
فروردين

تجربه ی زبان پایتون برای من زیاد جالب نبود. تا این که groovy رو کشف کردم. تنها مشکلی که داشت نصاب ناکارامدش بود که متغییر محیطی Groovy_home رو درست ست نمیکنه. سنگین تر بودم اگر فایل زیپ اش رو دانلود میکردم و بعد از آنزیپ متغییر ها رو دستی تنظیم میکردم(نمیدونم کار به این سادگی چه نیازی به installer داره اصلا ؟! ).

چرا groovy  برای من جالبه؟

1-چون نوع متغییر ها رو میتونم مشخص کنم یا با کلمه ی کلیدی def این کار رو به زمان کامپایل بسپارم. در نتیجه کد های کوتاه تری خواهم داشت.

2- چون براکت ها در این زبان وجود دارند و بودن سمی کالن در پایان هر statement اختیاری است. در نتیجه خوانایی رو فدای کوتاهی نکردند ....

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

  • younes RayanFar