یوشا آل ایوب

دست نوشته ها و تجربیات شخصی

یوشا آل ایوب

دست نوشته ها و تجربیات شخصی

دکتر مصطفی چمران: می گویند تقوا از تخصص لازمتر است، آنرا می پذیرم، اما می گویم: آنکس که تخصص ندارد و کاری را می پذیرد، بی تقواست!

تبلیغات
Blog.ir بلاگ، رسانه متخصصین و اهل قلم، استفاده آسان از امکانات وبلاگ نویسی حرفه‌ای، در محیطی نوین، امن و پایدار bayanbox.ir صندوق بیان - تجربه‌ای متفاوت در نشر و نگهداری فایل‌ها، ۳ گیگا بایت فضای پیشرفته رایگان Bayan.ir - بیان، پیشرو در فناوری‌های فضای مجازی ایران

 

دیاگرام اتصال و سلسله مراتب کتابخانه JDBC
 

برای بزرگنمایی کلیک کنید.

 

۰ نظر ۹۷/۱۰/۱۵
یوشا آل ایوب

 

برای بزرگنمایی کلیک کنید

PHP skills, back-end developer skills, مهارت های برنامه نویس PHP، roadmap, مهارت های برنامه نویس، programming skills

 

۳ نظر ۹۷/۰۹/۱۱
یوشا آل ایوب

 

در ادامه مقاله قبلیم که شماره دو "نکات و اصول مهم در برنامه نویسی PHP" بود، در این مقاله شماره سه همین موضوع رو ارائه میدم...

 

1- جهت پشتیبانی از ارث بری چندگانه در PHP میتونید توسط trait ها اون رو شبیه سازی کنید.

trait PHP
{
   public function printPHP()
   {
      echo 'PHP ';
   }
}
trait Java
{
   public function printJava()
   {
      echo 'Java ';
   }
}
trait PHPJava
{
   use PHP, Java;
}
class ProgrammingLanguages
{
   use PHPJava;
}

 

2- اگر در حین کار با Composer یا PHPUnit با خطای module openssl is already installed on Unknown in line 0 مواجه شدید، کافیه اکستنشن openssl رو در PHP.ini غیرفعال کنید:

ویندوز
;extension=php_openssl.dll

لینوکس
;extension=php_openssl.so

۱ نظر ۹۷/۰۸/۱۹
یوشا آل ایوب

(برای بزرگنمایی کلیک کنید)

ُSlackware Linux wallpaper تصویر اصلی این wallpaper مطعلق به من نیست

            Slackware Linux wallpaper                                                                 

 
۰ نظر موافقین ۱ مخالفین ۰ ۹۷/۰۸/۰۵
یوشا آل ایوب

در ادامه مقاله قبلیم که شماره پنج "نکات و اصول مهم در برنامه نویسی Java/Android" بود، در این مقاله شماره شش همین موضوع رو ارائه میدم...

 

1- بهتره همیشه شماتیک :file رو در کلاس WebView رو مسدود کنید.

کلاس WebView قابلیت نمایش صفحات وب در داخل اکتیویتی رو فراهم میکنه، و از اونجایی که دیگر برنامه ها قادرن Intent URI به WebView ایجاد شده بفرستن، پس این امکان رو هم دارن تا بتونن فایل یا آدرس URI آلوده رو در دستگاه بارگذاری کنن...

راه حل:

String _intentUrl = getIntent().getStringExtra("http://blog.ir");

if (!_intentUrl.startsWith("file:"))
{
   loadUrl = _intentUrl;
}

 

2- از انجایی که همه برنامه ها قادرن محتوای logcat رو read کنن، هرگز اطلاعات حساس رو برای دیباگ Log نکنید، مخصوصاً درخواستها و پاسخهای HTTP رو.

 

3- اگر در حین بازکردن برنامه Eclipse با خطای Java was started but returned exit code 13 مواجه شدید، این یعنی مثلاً Java 64bit نصب کردید، درصورتی که Eclipse تون 32bit هستش. یا Java 32bit نصب کردید، درصورتی که Eclipse تون 64bit هستش.

بنابراین باید معماری هردو یکی باشه... مثلاًً هردو 32bit یا هردو 64bit باشن.

نکته: در صورت حل نشدن مشکل با نصب معماری مناسب، فایل eclipse.ini رو که در کنار فایل اجرایی Eclipse تون هست رو باز کنید و بدنبال واژه –vm بگردید... بعد در زیر این واژه مسیر نصب شده Java رو جایگزینش کنید...

و یا برنامه Eclipse رو باز کنید و به مسیر Menu -> Prefecences -> Java -> Installed JREs برید و مسیرنصب شده Java رو بهش بدید...

۱ نظر ۹۷/۰۷/۰۹
یوشا آل ایوب

۹۷/۰۶/۲۳
یوشا آل ایوب

 

1- همیشه از تابع mysql_tquery() بجای mysql_query() استفاده کنید. تابع mysql_tquery از نوع multi-thread هستش و میزان وقفه/lag در سرور رو بسیار کاهش میده. (عملیات رو بین Thread ها تقسیم میکنه)

 

2- درصورتی که از سیستم های ضد hack/cheat استفاده می کنید، همیشه EnableStuntBonusForAll رو 0 قرار بدید.

در غیراینصورت سرور کاربر رو هکر قلمداد میکنه.

 

3- توسط پلاگین crashdetect میتونید crash های سرور رو ردیابی کنید.

https://github.com/Zeex/samp-plugin-crashdetect

نکته: برای استفاده از این پلاگین در ویندوز، مطعمن بشید که VC++ runtime 2010 - VC10 نگارش x86 و x64 رو نصب دارید.

 

4- همیشه دستورات AddPlayerClass() رو در مختصات مناسب و قابل دسترس تنظیم کنید تا در صورت بروز باگ یا مشکلات شبکه ای(packet lost) کاربر به موقعیت مناسبی teleport بشه.

۲ نظر ۹۷/۰۵/۲۲
یوشا آل ایوب

 

💡مقایسه سرعت الگوریتم binary search مقابل الگوریتم linear search برای آرایه های مرتب شده(sorted)

(برای آرایه های عددی سنگین)

 

$needle = range(1, 500000);

 

❌ Linear search algorithm

function search(array $numbers, $needle)
{
   $_totalItems = count($numbers);

   for ($i = 0; $i < $_totalItems; $i ++)
   {
      if ($numbers[$i] === $needle)
      {
         return TRUE;
      }
   }

   return FALSE;
}

📊 نتیجه(ms)
0.031199932098389
0.031199932098389
0.031199932098389
0.031199932098389
0.031199932098389
0.031199932098389
0.031200170516968
0.031200170516968
0.046799898147583
0.046800851821899

 


✅ Binary search algorithm

function search(array $numbers, $needle)
{
   $_low = 0;
   $_high = count($numbers) - 1;

   while ($_low <= $_high)
   {
      $_middle = (int) (($_low + $_high) / 2);
      if ($numbers[$_middle] > $needle)
      {
         $_high = $_middle - 1;
      }
      else if ($numbers[$_middle] < $needle)
      {
         $_low = $_middle + 1;
      }
      else
      {
         return TRUE;
      }
   }

   return FALSE;
}

📊 نتیجه(ms)
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0

 

x64 Hardware
32bit OS
PHP 5.6 CLI

کد از کتاب "PHP 7 Data Structures and Algorithms"

۰ نظر ۹۷/۰۵/۰۲
یوشا آل ایوب

در Java چندین کلاس برای نوشتن و خواندن ورودی و فایلهای متنی وجود داره... اما کدام کلاس مناسبتره، کدام سریعتره و کدام نیازهای کاربر رو برطرف میکنه؟

 

  • کلاس BufferedReader

برای خواندن ورودی/فایل stream بصورت خط به خط از نوع string.

دارای بیش از 20 متد public داخلی.

پشتیبانی از متد close() برای بستن file handle.

توانایی خواندن ورودی از System.in (یا stdin)

این کلاس thread-safe هست. (میتوان BufferedReader رو در بین thread ها share کرد)

دارای حافظه buffer با سایز 8 کیلوبایت.

میتواند کلاس FileReader و InputStreamReader رو بعنوان reader در سازنده دریافت کند.

این کلاس synchronized هست.

پیاده سازی شده در JDK 1.1 و جدیدتر.

دارای کمترین system calls و کاملاً بهینه.

در صورت وقوع استثنا IOException اونرو throw میکنه.

عدم پشتیبانی از Encoding بصورت مستقیم.

زیر مجموعه پکیج java.io.

دارای پرفورمنس بالا نسبت به کلاسهای Scanner و FileReader.

توانایی خواندن ورودی فقط با نوع string.

مناسب برای محیط های multi-thread.

مناسب برای خواندن متن/ورودی طولانی بصورت string و خط به خط. (مثل فایلهای log, books)

 

  • کلاس Scanner

برای خواندن ورودی/فایل بصورت parse کردن داده های نوع primitive. (مثل int, long, double, string)

دارای بیش از 60 متد public داخلی.

پشتیبانی از متد close() برای بستن file handle.

توانایی خواندن ورودی از System.in (یا stdin)

این کلاس thread-safe نیست. (نمیتوان Scanner رو در بین thread ها share کرد)

دارای حافظه buffer با سایز 1 کیلوبایت.

میتواند کلاس FileReader و BufferedReader رو بعنوان reader در سازنده دریافت کند.

این کلاس synchronized نیست.

پیاده سازی شده در JDK 1.5 و جدیدتر.

دارای system calls پایین و تقریباً بهینه.

در صورت وقوع استثنا IOException اونرو مخفی میکنه.

عدم پشتیبانی از Encoding بصورت مستقیم.

زیر مجموعه پکیج java.util.

دارای پرفورمنس پایین نسبت به کلاسهای BufferedReader و FileReader.

توانایی خواندن ورودی با نوع int, long, string, float...

به دلیل استفاده از regular expression حافظه/CPU بیشتری نسبت به کلاس BufferedReader مصرف میکنه.

مناسب برای خواندن متن/ورودی و parse کردنش توسط delimiter. (مثل فایلهای xml, ini, config, json)

 

  • کلاس FileReader

برای خواندن فقط فایل از نوع string.

دارای 20 متد public داخلی.

پشتیبانی از متد close() برای بستن file handle.

عدم توانایی خواندن ورودی از System.in (یا stdin)

بدون قابلیت buffer.

پیاده سازی شده در JDK 1.1 و جدیدتر.

دارای بیشترین system calls و بسیار کند.

در صورت وقوع استثنا IOException اونرو throw میکنه.

عدم پشتیبانی از Encoding. (درواقع پیشفرض platform رو استفاده میکنه)

زیر مجموعه پکیج java.io.

دارای پرفورمنس بسیار پایین نسبت به کلاسهای Scanner و BufferedReader.

توانایی خواندن ورودی فقط با نوع string.

بهتر است بصورت مستقیم استفاده نشود.

۲ نظر ۹۷/۰۴/۱۶
یوشا آل ایوب

۱- موسسه ی آماری معتبر پیو اعلام‌ می کند اکثریت‌ قاطع آتئیست ها (۹۲ درصدشان) از همجنسگرایی حمایت می کنند همچنین ۸۷ درصد آتئیست ها از سقط جنین قانونی حمایت می کنند:

http://www.pewresearch.org/fact-tank/2016/06/01/10-facts-about-atheists/


۲- بارناگروپ هم اعلام می کند که آتئیست ها تمایل بیشتری به رفتارهای زشت جنسی  و ارتباط جنسی برقرار کردن با همجنس (همجنسگرایی و دوجنسگرایی) دارند!

http://www.barna.com/barna-update/article/5-barna-update/58-practical-outcomes-replace-biblical-principles-as-the-moral-standard


۳- احتمال اینکه افراد لزبین، گی، دوجنسگرا و ترنس ها آتئیست باشند بیش از سایر افراد است.   

https://www.ga*ystarnews.com/article/lgbt-people-more-likely-be-atheist-straights170613/


4- بنیانگذار حکومت آتئیستی _کمونیستی شوروی یعنی لنین یک‌ همجنسباز بوده است و با کمونیست دیگری بنام گریگوری زینوویف روابط جنسی داشته است، این‌ فرد در دوران استالین اعدام شد:

http://www.youtube.com/watch?v=bEzejRkT78A&feature=youtu.be

 

5- ریچارد داوکینز همانند آتئیست های ایرانی گمان‌می کند همجنسگرایی یک‌مسئله ی ژنتیکی است همچنین او در کتاب ژن خودخواهش به مسئله ی جبر ژنتیکی تاکید دارد، درواقع اتئیست های ایرانی و داوکینز با طرفداری از ایده ی غیر علمی ژنتیکی بودن همجنسگرایی میخواهند بگویند چون همجنسگرایی ژنتیکی است پس باید عمل شنیع همجنسبازی درتمام جوامع آزاد شود

http://anglicansamizdat.wordpress.com/2010/04/26/richard-dawkins-explains-how-the-ga*y-gene-was-preserved/

 

6- فرانک کامنی یکی از مهمترین شخصیتهای جنبش حقوق همجنسگرایان در آمریکا بود. در سال ۱۹۵۷ کامنی از سمت خود در ارتش آمریکا به دلیل همجنس‌گرا بودن اخراج شد، اولین‌باری که بحث آزاد سازی همجنسبازی مطرح شده است توسط این شخص آتئیست بوده است! همچنین با نفوذ وی بوده که APA همجنسگرایی را از لیست اختلال های روانی خارج کرده است.

 

این مطلب در ویکی پدیای انگلیسی هم به چشم می خورد و جای هیچ شکی باقی نمی ماند که این آتئیست ها بوده اند که تمام‌تلاششان را کرده اند تا این عمل شنیع را توجیه و عادی سازی کنند! البته همچنان هم آتئیست ها تمام تلاششان را می کنند تا این عمل زشت را عادی جلوه دهند...


He also worked to remove the classification of homo3xuality as a mental disorder from the American Psychiatric Association's Diagnostic and Statistical Manual of Mental Disorders.
https://en.m.wikipedia.org/wiki/Frank_Kameny

 

منبع: http://instagram.com/_u/naghde_elhad

۱ نظر ۹۷/۰۳/۱۱
یوشا آل ایوب