All posts by ‌A1Gard

اول از همه کوچک ترین عضو مجموعه 4xmen بنده حقیر هستم. در ثانی یک توسعه دهنده هستم زمینه های تخصصی کارم :‌ Delphi, PHP, C++ ,Python, JavaScript, Unity game engine, C#, asm و علاقه مند به لینوکس، RCE ، کریپتوگرافی هستم. تا الان حضرت حق اینا رو به ما داده و هر وقت که بخواد ازمون میگیره دست خودشه. یا حق، با حق، تا حق

معرفی یونیت x4 دلفی Delphi

به نام دانای بر حق

 

همیشه یه سری توابع وجود دارد که من زیاد استفاده می کنم ازشون تو هر پروژه ای میام تعریف می کنم داستان میشه

آخرین بار تصمیم گرفتم که هر چی رو از یه مدتی به بعد نوشتم یه یونیتش کنم (ولی همه اش نیست) و استفاده کنم و به نظرم این یونیت به درد شما هم بخوره این یونیت رو همراه یونیت شمسی رو زیاد استفاده می کنم.

 

اما حالا توابع و کلاس های این یونیت رو معرفی می کنیم که اگر نیاز شد استفاده فرمایید و در نظر دارم مدام آپدیتش کنم:

 

مشخصات کلی:

 

  1. add SetRegValue functionadd TAssoc class for TAssocitive array in delphi
  2. add GetAppDir function
  3. add GetOSType function
  4. add GetOSName function
  5. add GetOSDetail function
  6. add FatalError procedure
  7. add Explode string
  8. add Implode string
  9. add Base64Encode function
  10. add Base64Decde
  11. DrawXMLFromADO
  12. DrawXMLFromDBX
  13. add SetRegValue function
  14. add GetRegValue function
  15. add IsAppStartUp function
  16. add SetAppStartUp function
  17. add UnsetAppStartUP function

اطلاعات بیشتر

اجرای برنامه در سطح دسترسی root در lazarus

به نام دانای برحق

مقدمه

شاید اگر شما با لینوکس و دلفی با هم کار کردید سراغ لازاروس هم رفته باشید این پلنگ مظلوم خوب با برنامه نویس های دلفی راه میادش با وجود لنگ زدن بازم سعی می کنه هواتو داشته باشه اما مسائله ای تو لینوکس وجو داره که توی ویندوز هم بخشی از بدل زده شده تو لینوکس دسترسی برنامه ها دو حالت هستش حالت کاربر عادی یا کاربر root یا ریشه که دسترسی کامل رو سیستم داره.
همین حالت تقریبا همون معادل run as admin در ویندوز هست اما با تفاوت های فاحش که اینجا جای بحث نیست.

 

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

موارد مورد استفاده :

یونیت (ها):

 Process

 

تابع (ها) :

 GetUserDir , RunCommand

سایر موارد

 Application class, gksu app

نحوه run شدن برنامه در حالت دسترسی root :

روی فرمتون دوبار کلیک کنید تا رویداد FormCreate برای ویرایش نمایش داده شود سپس کد زیر رو داخل کپی کنید:

اطلاعات بیشتر

چند عکس زمینه در زمینه برنامه نویسی و Geek 2

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

Try it

اگر هنوز شکست نخورده ای مشخص است چیز جدیدی رو امتحان نکرده ای ( شکست های متوالی و بی پایان یکی از ارکان RCE  و برنامه نویس هست)

Trust this computer - By PCbots  به رایانه اعتماد کن او دوست توست

programmer Wallapaper by xmdommx, Posted by pcbotsبدون شرح بازم قضیه قهوه

Programmers never die HD Wallpaper

برنامه نویس ها هرگزاطلاعات بیشتر

solving shortcut work in non-latin java appsحل مشکل فارسی shortcut ها در زبان های غیر لاتین – ubuntu

به نام دانای بر حق

 

این مقاله به علت عدم وجود نمونه انگلیسی در نوع خودش به دو زبان مطرح میشه:

 

keyboard-wallpaper_1112201491

abstract and solving problem

In the some Linux same as Ubuntu we have some problem with non-latin language layout shortcuts, for example for save Ctrl+S not work on other layout now one package can be solving this problem now download and install it and enjoy:

اطلاعات بیشتر

چند عکس زمینه در زمینه برنامه نویسی و Geek

شرح

 

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

 

حالا من حدوداً ۳۰ تا عکس با مضمون برنامه نویسی در نظر گرفتم که شاید wallpaper خوبی برای شما باشد:

 

Programming while true Wallpaper

حلقه نا متناهی while

s

geek یعنی خوره نه به اون معنای بدش این هم نماد geek ها یعنی خراج از جنسیت خلاصه شده

Programming wallpaper by pcbots

برنامه نویسان میتوانند دنیای جدیدی رو بسازند

اطلاعات بیشتر

چطوری لینوکسی بشیم | بالاخره منم لینوکسی شدم

به نام دانای بر حق

مقدمه

ابتدا این یادداشت به درد اونایی میخوره که به این تصمیم رسیدن که بیان سمت لینوکس حالا میخوان شروع کن چون من هیچ استدلالی رو برای لینوکسی شدن تو این یادداشت مطرح نمی کنم. چون اینجا کلی فک زدم نا سلامتی هوای عمه ام 😀
یکی از چیز هایی که اولش باهاش درگیر بودم این بودش که چطور بیام سمت لینوکس خداییش جون کندیم [ اعصابمون پاره شد : )] تو این راه و حداقل ۳ بار کل هاردم رو یک پارچه کردم اطلاعاتم پریده و همه اینا از نا آگاهی بوده.

خب حالا گام به گام با هم میریم جلو تاتی تاتی 😀

linuxkit_primary-100028443-gallery

گام اول – دانلود لینوکس مورد نظر

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

بهترین توزیع های سال ۲۰۱۴
بهترین توزیع های سال ۲۰۱۵

خب حالا مختارید نسخه ۳۲ یا ۶۴ را نصب کنید من خودم به شخصه نسخه ۳۲ بیت استفاده می کنم چرا که بهتر هستش نگار رم بالاتون هم نباشید نسخه ۳۲ بیت اکثر توزیع ها خصوصا بر پایه های debian تا 64 گیگ رم رو  با PAE (Physical Address Extension)  ساپورت می کند بسیار  و نسخه های ۳۲ بیتی برنامه های بهتری داره باز صلاح اطلاعات بیشتر

topten یا ده توزیع برتر لینوکس در سال 2015 – Linux

به نام دانای بر حق

 

ما در انتهای هر سال سعی می کنیم برترین های سال رو مشخص کنیم و اما امسال با ده توزیع برتر لینوکس در خدمت شما هستیم.

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

زیبا ترین لینوکس در سال 2015 : elementary OS

 

این توزیع به عنوان زیبا ترین نسخه لینوکس امسال شناخته شده است اما من پیشنهاد می کنم نصب نکنید روی توزیع خودتون چرا که با unity تداخل داشت و من رو اذیت کرد.

 

elementary-OS

ام این نسخه برای کسانی علاقه به max osx  دارن نسخه جالبی هستش چون استاندارد ها بر اساس این سیستم عامل چیده شده است و حس خوبی برای کاربرانی که میخوان از مک به linux سویچ کند رو داره.

 

این توزیع دارای نسخه live برای آزمایش و امتحان است.

 

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

 

 

 

بهترین نسخه برای کابران شخصی یا همون desktop

 

رقابت اصلی در امسال ما بین ubuntu و openSUSE بودش که قابل توجه هستش که openSUSE گو سبقت رو ربود و نسخه برتر امسال رو در desktop ها به خودش اختصاص داد و باید عرض کنم openSUSE تحت نسخه fedora عرضه میشه و برای debian کار ها زیاد خوشایند نیست.

 

مهمترین ویژگی ان نسخه که باعث برتریش شدش نصب برنامه های third-party با یک کلیک در این نسخه می باشد.

اطلاعات بیشتر

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

به نام دانای بر حق

 

یکی از مسائل روز مرزه در دنیای و وبگردی امنیتی میباشد، و یکی از مسائل برای شرکت های بزرگ حفظ امنیت کاربران آن می باشد که میتواند منجر به مسدود شدن یک وبسایت شود، وبسایت ها معمولا به دو دلیل این مسدود میشود دلیل اول اسکریپت ها و یا فایل های مبتلا بر روی سرور و دلیل دوم در فهرست سیاه یا blacklist ایمیل ها قرار گرفتن.

 

حال ممکن است وبسایت شما به یکی از دلایل بالا یا به درست یا اشتباه توسط یک آنتی ویروس و یا گوگل مسدود شده باشد نشانه های مسدود توسط آنتی ویروس که مشخص است و نشانه های مسدودی توسط گوگل به یک صفحه این چنینی برخورد می کنید:

 

 

blocked-website

چگونه متوجه شویم سایت ما مسدود شده:

 

اکنون من چندین سایت معرفی می کنم که میتوانید توسط آنها متوجه این موضوع شوید:

اطلاعات بیشتر

راهندازی یک وب سرور با استفاده از php, MySQL, apache و ftp

به نام دانای بر حق

 

مقدمه

 

قدرتمند ترین ،رایج ترین و به صرفه ترین وب سرور های دنیا تشکیل شده از مثلث جادویی php – mysql -apache هست، که هر سه open source  و cross plat-form هستند یعنی وابسته به سیستم عامل خاصی نیستند، اما از اونجایی که پیش از این در مباحث قبلی بحث کردیم centos قوی تری توزیع لینوکس برای راهنداری وب سرور می باشد حال ما در این یادداشت باهم یک سرور که شامل موارد زیر میشود را راهندازی خواهیم کرد:  بله شامله : )

 

php-mysql

  • Apache 2.2.15
  • MySQL 5.5.34
  • PHP 5.5.4
  • pure-ftpd finall

این  آموزش شامل centos 5.x و   centos 6.x  ورژن های 32 و 64 بیت میباشد

 

 

ماژول هایی که نصب خواهند شد:

اطلاعات بیشتر

nodejs – آموزش نصب nodejs برای روی توزیع های لینوکس Ubuntu , CentOS

به نام دانای بر حق

 

مقدمه

 

یکی مسائلی که امروزه خیلی گریبانگیر دنیای وب هستش بحث real-time هستش که خیلی در نظر توسعه دهنده های وب برجسته  شده برنامه های real-time برنامه هایی هستند که به رخداد ها و رویداد های مورد نظر پاسخ لحظه میدهند به این صورت هستش شما در زمانی که نیاز به ارسال یا دریافت اطلاعات از سمت سرور یا کاربر دارین سعی در بقراری ارتباط می کنین نه مثل اون روش قدیمی که تند تند طبق یه زمانی هی ajax بزنین سمت سرور تا ببنین آیا پاسخی دریافت کردید یا خیر و هر بار این ارتباط قطع و مجددا وصل شود کار به این صورت هست که سرور و کلاینت همیشه به هم وصل هستن و در مواقع نیاز ارتباط برقرار می شود.

 

node-js-logo

 

آموزش نصب

 

Ubuntu

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

 

۱. ترمینال رو باز کنید.

۲. دستورات زیر روش واردش کنید:

 

به همین سادگی نصب شد : )          ; )

 

CentOS

دوم بریم سراغ س centos رایج ترین توزیع لینوکس برای سرور ها که برای این کار دستورات زیر  رو در SSH خود اطلاعات بیشتر

معرفی NetBeans قوی ترین IDE برای PHP و طراحی وب

به نام یگانه دانای هستی

 

مقدمه

 

ارسال این مقاله ممکنه چالش برانگیز باشه چرا که اولین مخالف فک کنم بچه های خوده Xmen باشند و با این موافق نباشند که NetBeans قوی ترین IDE برای PHP هستش اما ما دلایل خودمون رو قد می کنیم و ببینیم به این نتیجه میرسیم که NetBeans بهترین انتخاب برای برنامه نویسان هستش یا خیر.

 

NetBeans چیست؟

 

NetBeans یعنی «شبکه لوبیا ها» در نوع خودش جالب هستش این نقل و قول و این اسم گذاری اما نت بینز یه IDE فوق العاده برای حداقل برنامه نویسان وب هستش. اول یه شاره کوچیک کنیم IDE یعنی integrated development environment هستش یعنی محیط توسعه یک پارچه که از وظایف آن استاندارد سازی کد ها و جلوگیری از خطا و افزایش سرعت کدنویسی هستش که نت بنیز به نظرم همه اینا رو با هم داره. اما بحث ما در مورد نسخه جاوا ی اون و … نیست.  که در حال حاضر آخرین نسخه آن 8.0.2 می باشد.

 

netbeans

 

ویژگی های کلیدی

 

  • اولین و مهم ترین ویژگی  کلیدی NetBeans این هستش که Open Source هستش و توسعه اش هرگز قرار نیست متوقف شود.
  • ویژگی کلیدی بعدی این هستش که cross platform هستش یعنی برای یکی مثل من که از هر سه سیستم عامل Windows ، Linux و Mac استفاده می کنم حضور داره داخل همه سیستم عامل ها ولی بزرگترین مشکلی که داره این هستش که داخل MacOSX اشکالات فراوانی داره
  • ویژگی کلیدی بعدی گستردگی در امکاناتش هستش که توسط Plugin هایی که برای بوجود آمده میادش.
  • ویژگی کلیدی بعدی انعطاف پذیری بی نظیرش هستش
  • و از کلید های میانبر فوق العاده اش نمیشه گذشت
  • شعور و هوش مصنوعی بالا در تشخیص ها

 

چطور NetBeans ای شویم؟

 

برای این که بخوایم بیایم سمت NetBeans اول باید JDK رو روی سیستمتوناطلاعات بیشتر

آپدیت هسته ویندوز بعد از 9 سال در ویندوز 10 کمی در مورد این چگونگی تکامل این ویندوز

مقدمه

 

انتشار ویندوزی به نام ویندوز 10 همه رو شگفت زده کرد البته اول به دلیل نام گذاری عجیب غریب مایکروسافت که یهو از روی 8.1 سویچ کرده روی 10 البته این مسائله که ویندوزی به نام 8.1 وجود نداره و فقط تغییرات بوده رو در ادامه توضیح میدیم ولی این نام گذاری در نوع خودش کم نظیر  بود و در جایگاه دوم این که عرضه این نسخه برعکس نسخه های قبلی که گرون تر از قبل می کرد رایگان برای مدتی در نظر گرفت و مورد بعدی که من مستند نخوندم ولی بارها شنیدم که میگفتن که ویندوز 10 آخرین نسخه ویندوز خواهد بود در آخرین چیزی که منو شگفت زده کرد آپدیت هسته ویندوز برای منی که به معماریش دقت می کنم شگفت زده ام کرد علت رو میگم وگرنه منگول نیستم 😀

 

442994-windows-10

تاریخچه ای از ویندوز از نگاه من

(این قسمت در قالب خاطره مقدمه ای هست برای ادامه یادداشت)

 

در زمانی که ویندوز xp رو نصب می کردیم کلی حال می کردیم یه بار رفتم پیش یکی از دوستام دیدم روی سیستم یه ویندوز خیلی خیلی خوشگل ( البته برای اون موقع) هستش گفتم اسمش چیه این؟ با غرور تمام گفت: LongHorn…

واااای هنوز نمیتونم فراموش کنم چقدر حسرت نصب این ویندوز توی دلم موند و چقدر دنبالش گشتم، آخه اون موقع سیستمم کشش نداشت ( گرافیک ۶۴ مگ و اینا میخواست) و بعدش دیگه ویستا اومده بودش و ماجرا پیش رفت.

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

اما متاسفانه در یک حرکت جالب لانگ هورن رو تو نطفه خفه کرد و در نهایت اشتباه جدید رو مرتکب شد اونم این بودش به کاربری ویندوز فکر نکرد فقط ظاهرش رو ساخت یعنی همون خروس قندی داد دست دنیا که اسمش Vista بودش ولی هرگز توجه دنیا به آن جلب نشد، و مهم ترین دلیل هاش چیزی به ناماطلاعات بیشتر

DatePicker و تقویم – یونیت تاریخ هجری شمسی – دلفی و لازاروس

به نام دانای برحق

مقدمه

یکی از چیز هایی که هر برنامه نویس ایرانی بالاخره با اون بخورد خواهد و کرده قطعاً تقویم هجری شمسی و یا تبدیل تاریخ میلادی به شمسی می باشد و یونیت ها و کد هایی تو این زمینه وجود دارند که گاهی مطمئن و گاه غیر مطمئن هستند. و البته رفیق صمیمی و استاد عزیزم مبین جان پارسی دیت ParsiDate رو حرفی واسه گفتن نذاشتن ولی خوب خالی از لطف نیست منم یکی از کارهای open source خودم رو اینجا قرار بدم دوستان لذت ببرند.

 

یونیت PDate

این یوینت جزو دقیق ترین یونیت های هستش که میتونین پیدا کنید تقریبا از سال 2009-2010 دارم باهاش کار می کنم و ارتقاش میدم و هرگز خطایی درش نبوده تو تبدیل ها خب حالا از امکانات این یونیت براتون بگم:

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

اما کامپوننت تقویم در دلفی لازاروس

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

تصویری از محیط کامپوننت

screenاطلاعات بیشتر

آموزش نحوه نوشتن یک ربات bot برای Telegram

به نام دانای بر حق

مقدمه

با این که من خودم مخالف ۱۰۰٪ این تکنولوژی هایی هستم که هر روز زندگی بشر رو بیشتر به پوچی نزدیک می کنه ولی خب بد نیستش که از نظر فنی بیایم و به این موضوع نگاهی بندازیم همونجوری که میدونین تلگرام یه شبکه ای هستش شبیه وایبر منتهی با حذف یه سری محدودیت ها که وایبر داره محبوب تر شده و با داشتن ربات ها متمایز شده از سایر شبکات دیگر، ما در این آموزش در مورد نحوه راهندازی یک ربات صحبت می کنیم ما تک تک api ها رو معرفی نمیکنیم یک ربات  رو تعریف می کنیم  از ۰ تا ۱۰۰ اما تا حد زیادیش رو میگم بقیه با شما شاید هم یک آموزش تکمیلی در این مورد ارسال کردیم.

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

پیش فرض ها

اول از همه شما باید به سیستم عامل خودتون تسلط داشته دارید ( من تو آموزش از لینوکس توزیع ubuntu استفاده می کنم و به شما هم همین os رو پیشنهاد می کنم.) .

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

سوم تسلط به یک زبان وب و نوشتن یک ربات برای پرسش و پاسخ ( ضروری نیست)

دانلود و نصب

ابتدا پایتون روی سیستمتون نصب کنین اگر لینوکسی هستید نصب شده است نگران نباشید البته نسخه 2.x نه 3

سپس python pip رو نصب کنید در اوبنتو با دستور زیر:

سپس کتابخانه telegram bot رو با Pip نصب کنید به شکل زیر:

سپس git را نصب کنید در Ubuntu به شکل زیر:

در نهایت میریم به پوشه مشخص مثل desktop بعد یه همزاد یا همون clone از ربات اطلاعات بیشتر

درآمدی بر Design Pattern – الگوهای طراحی

به نام دانای بر حق

Design Pattern چیست؟

در مهندسی نرم افزار، الگوی طراحی نرم افزاری تعدادی راحل های تکراری برای مشکلاتی هستند که معمولا در طراحی نرم افزار اتفاق میوفتند، یک الگوی طراحی، طراحی را متوقف نمی کند،اما میتواند آن را مستقیم وارد کد های خود کنید.این یک توضیح و یا نمونه است برای اینکه متوجه شوید چطور مشکل خود را حل کنید اما میتوانید از راه حل‌های متخلف استفاده کنید.

 

استفاده از Design Pattern

الگوهای طراحی میتوانند همراه با نمونه‌های تست شده به توسعه شما سرعت ببخشند، همانند نمونه‌های توسعه پایدار و ثابت شده. طراحی مؤثر یک نرم‌افزار با توجه به موضوع آنکه ممکن است تا لحظه آخر ساختار آن دیده نشود،استفاده از الگوهای طراحی کمک می‌کند تا از ظرافت هایی که ممکن است باعث مشکلات عمده شود جلوگیری شود و کد ها خوانایی بیشتری برای سایر برنامه نویسان و آشنایان با الگو وجود داشته باشد.

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

علاوه بر این، الگوهای طراحی به توسعه دهندگان اجازه این را میدهد که تا با «استفهام خوب» و دانستن نام های تعامل نرم‌افزار ارتباط برقرار کنند. الگو های طراحی مشترک میتواند موجب صرفه جویی در وقت و طراحی قوی تری نسبت به طرح های تک منظوره میشود.

 

الگوهای طراحی تکوینی ( ایجادی)

این دسته طرح های همگی مربوط نمونه سازی از کلاس‌ها میشوند،این الگوها بیشتر میتواند به دو بخش:

‍۱) الگو های class-creation

۲) الگوهای object-creational

تقسیم شود.

زمانی که class-creation سعی در ارث بری می کن بر روی فرآیند نمونه سازی تأثیر گذار است.

الگوی object-creation از نمایندگان برای انجام و به سرانجام رساندن کار خوداطلاعات بیشتر

افزودن یک متغییر environment در لینوکس

به نام دانای بر حق

سلام شاید مطلبی که داریم در موردش صحبت کنیم خیلی سخیف به نظر بیادش و بگین مبحثی در حد اندازه xmen نبودش اما خوب خیلی مواقع به کار میادش و ممکنه کسانی به زبان پارسی در این مسائله مشکل داشته باشند. رو همین حساب به عنوان یک یادداشت ما اضافه کردیم.

اما environment var چیست؟

متغییر های environment رو بخوایم خلاصه وار بگیم و به زبان ساده متغییر هایی هستند که در سراسر سیستم عامل قابل دسترسی هستند و یکی از اون ها که خیلی از بقیه مهم تر هستش متغییر PATH هستش که در سه سیستم عامل معروف برای desktop یعنی ویندوز ، لینوکس و مک یکی هستند. و حال مثلا شما میخواین یه فایل اجرایی رو در همه جای سیستم داشته باشین و بهش دسترسی داشته باشین شما باید آدرس اون فایل رو به قاعده خود سیستم عامل انتهای env path اضافه کنید تا مشخص شود و قابل دسترسی از همه جا باشد.

افزودن و تغییر یک متغییر environment در لینوکس

در سیستم عامل  لینوکس این کار ساده تر از ویندوز هستش ضمن این که این روش برای MAC OSX هم قابل پیاده سازی هستش چرا که بنیان این سیستم عامل نیز از یونیکس هستش 😉 خب اگر از mac استفاده می کنید به جای برنامه nano از vim استفاده کنید همین.

حال برای دیدن تمام متغییر های سطح environment ابتدا دستور زیر رو تو ترمینال بزنین تا براتون داخل ترمینال فایل با قابلیت ویرایش باز شود:

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

Screenshot from 2015-05-03 22:35:39

متغییر PATH$ در اینجا برای ما مهم هستش ، ما فرض کنیم کهاطلاعات بیشتر

طراحی صفحات واکنش گرا rtl در Twitter Bootstrap

تویتر بوت استرپ چیست؟

بوت‌استرپ مجموعه‌ای از ابزارهای رایگان برای ساخت وب سایت‌ها و برنامه‌های وب است. بوت‌استرپ شامل تمپلت‌های طراحی اچ‌تی‌ام‌ال و سی‌اس‌اس محور برای typography، فرمها، دکمه‌ها، نمودارها، اجزاء راهبری و دیگر اجزاء رابط کاربری و الحاقات اختیاری (JavaScript Extensions)، می‌باشد. بوت‌استرپ محبوب ترین پروژه در GitHub است که توسط NASA و MSNBC و دیگر سایتهای مطرح استفاده شده است.

تاریخچه

بوت‌استرپ از دل یکی از پروژه‌های تویتر، که برای توسعه آنالیز داخلی و ابزارهای مدیریت بود، بیرون آمد. در مقطعی از انجام پروژه از کتابخانه‌های مختلفی برای توسعه رابط کاربری استفاده شد، که منجر به عدم ثبات و زحمات زیاد برای نگهداری و توسعه شد. اولین گسترش پروژه تحت شرایط واقعی در زمان اولین Hackweek تویتر اتفاق افتاد. در آگوست سال ۲۰۱۱ تویتر اولین نسخه بوت‌استرپ را به صورت متن‌باز منتشر کرد.

 

قابلیت ها

بوت‌استرپ پشتیبانی نسبتاً ناقصی از HTML 5 و CSS 3 دارد، اما با تمامی مرورگرهای عمده سازگار است. از نسخه ۲٫۰، بوت‌استرپ از طراحی واکنش گرا (Responsive design) نیز پشتیبانی می‌کند. این بدان معنی است که طراحی گرافیکی صفحات وب به طور داینامیک با خصوصیات دستگاه مورد استفاده (کامپیوتر، تبلت و موبایل) تطبیق پیدا می‌کنند.

 

patch راست به چپ

از آنجایی که بوت استرپ توسط اشخاصی توسعه و پشتیبانی می شود که اصالت آنها  زبان های چپ به راست ltr می باشد، و برایشان اهمیت ندارد که صاحبان زبان های راست به چپ rtl چه کار می کنند شما یا می بایستی یه فریم ورک دیگر که پشتیبان زبان های راست به چپ را ساپورت کند انتخاب کنید و یا باید از روش های دیگر استفاده کنید تا مشکل رو بر طرف کنید.

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

برای دانلود این بسته به سایت github مراجعه کنید تا همیشه آخرین ورژنش را از اطلاعات بیشتر

عجایب هفتگانه زبان php – در ساختار و کدنویسی

به نام دانای بر حق

اولین یادداشت ۹۴ رو میزنم به افتخار همه اساتید xmen که ما شاگردشون هستیم، می خوایم در مورد 7 مورد از عجایبی که در زبان php وجود داره صحبت کنیم که برای کسایی که با زبان های دیگه دارن کار می کنند شاید بسیار عجیب باشه.

مقدمه

البته که php علاوه بر عشق یه زبان تحت وب نیز هست ; ) ,  باید به این مورد توجه کرد که php خیلی راه دست هستش و با هیچ زبان دیگه ای نمی تونین مقایسه اش کنین حتی Python من خودم اگر بخوام یه برنامه رو جدا از پلت فرمش بنویسم ۱۰۰٪ پایتون رو انتخاب می کنم چون خیلی راه دست هست و هلو برو تو گلو ولی خوب PHP واقعا یه چیز دیگه است چون اصلا این بچه مظلومه و بلد نیست به کد نویسش سخت بگیره و اذیتش کنه D :  , حالا اینا رو بی خیال شیم بیایم کمی در مورد ساختار این زبان صحبت کنیم چرا که برخی از این عجایب به ساختار این زبان بستگی داره، خب php عزیز یه زبان برنامه نویسی نیست یه زبان اسکریپت نویسی تحت وب هستش هستش که در تقریبا اکثر سیستم عامل های معروف قابل اجراست، حالا این یعنی چی یعنی این که کد های PHP هرگز کامپایل نمیشوند مثل یه برنامه دلفی و فقط و فقط تفسیر میشود، تفاوتی اصلی از اونجا ناشی میشود که وقتی کدی کامپایل میشود اطلاعت نامی و و متنی آن تقریبا از بین میره و فقط آدرس کلاس ها و توابع در برنامه باقی میماند ، اما چون در PHP همچین کاری نمیشه همه چیز به قوت خود باقی هستش که شما لذت ببرید و بعضی جاها هم حرص بخورید که مجبورید اصل سورس کد رو تحویل مشتری عزیز بدین : )

عجب اول – تعریف متغییر و آرایه

چیزی که اول هر برنامه نویسی رو متعجب می کنه این هستش که php چرا تعریف متغییر ندارد!؟ واقعا چرا؟ چراشو نمیدونم ولی خیلی خوبه که نداره شما رو درگیر کد نویسی می کنه نه قواعد سخت گیرانه خودش برای راحتی خودش برنامه نویس رو ناراحت نمی کنه، و نکته بعدی این که از   Associative array هم پشتیبانی می کنه که این خیلی خوبه و اما توضیحات:

تعریف یه متغییر در php :

ببین ما فقط کافی نسبت بدی خودش نوعش هم مشخص می کنه : )

تعریف آرایه :

در خط اول ما به شرایط تعریف کردیم و در قسمت دوم با هر کلیدی دوست داشتیم آرایه رو تعریف کردیم بینیم که بعد از کلید ۰ و ۱ ما 99 استفاده کردیم و مشکل هم نیست

تعریف آرایه Associative (آرایه هایی که به جای عدد از حروف و اعداد به عنوان کلید استفاده می کند)

تازه یکیش هم دو بعدیه دیدی چقدر ساده اس بعد بگین php بده اَسپ ( asp ) خوبه : )

عجب دوم – شناخت زمان

در php یه عجب خیلی خفن وجود داره این که خیلی ساده هر زمانی رو بهش بگی میفهمه مثلا ازش بپرسی من کلاس اول کی املا رو صفر شدم و از بابام کتک خوردم بهت میگه باور کن ; )

میگی نه نگاه کن یه تابع داریم به نام strtotime یعنی تبدیل رشته به زمان باید قبل از این به یه چیزی توجه داشت اونم این که تو php از timestamp استفاده میشه یعنی زمان همیشه یه عدد بزرگ هستش که اون عدد برمیگرده تا شما باهاش کار کنید. این مثلا این شکلی هست1427614759 و تعداد ثانیه هایی که از این اولین لحظه1970/01/01 گذشته رو نشون میده پس ما این عدد رو مدام نیاز داریم حالا ببینم چطور اطلاعات بیشتر

رمزنگاری و hash در جاوا اسکریپت

به نام دانای بر حق

 

مقدمه

یکی از مسائلی که کاربرد های امنیتی زیادی داره استفاده از سیستم های های رمزنگاری و hash و حتی encoding هستش، خب حالا یکی از مسائلی که میشه بهش اشاره کرد این هستش که جاوا اسکریپت یکی از زبان های خانواده اسکریپت هاس همونطور که از اسمش پیداس و اما یه تفاوت خیلی مهم بین javascript  و سایر زبان های اسکریپت نویسی دیگر مثل php و python هستش اونم این هستش که js یه زبان سمت کاربر هستش یعنی قسمت های کد اون در سمت رایانه های سرور اجرا نمیشود و بر روی سیستم بازدید کننده های وب اجرا میشود و اما یه نکته اساسی هستش که جاوااسکریپت هم در تشخیص داده های دودوی یا باینری ضعیف عمل میکنه واسه همین  پیاده سازی hash ها و encryption ها سخت هستش.

 

معرفی کتابخونه crypto js

یک کتابخونه قوی در زمینه hash و رمزنگاری و حتی کدگذاری در انباری کد های گوگل یافت میشود که توسطاطلاعات بیشتر

آموزش shell code نویسی در لینوکس – Linux قسمت دوم

به نام دانای بر حق

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

تحریک bash با فایل و اجرا دستور در آن

اول باید بگیم فایل هایی با پسوند sh میتونه این کار رو انجام بده و حالا این فایل sh رو چطور بنویسیم باز هم از رفتن به سمت خرابکاری امتناع می کنیم تا و یه سری دستور ساده در نظر میگیریم خب دستور  اولی که در نظر می گیریم برنامه xampp اگر به صورت اجرای خودکار یا سرویس نباشد در لینوکس بعد از روشن شدن سیستم میبایستی xampp رو استارت کنید و حتی میتونید با دستور ریستارت از اول اجراش کنید برای این کار باید دستور زیر رو در ترمینال وارد کنید:

خب حالا ما برای بسته بندی و اجرا این کد در bash راه خیلی سختی در پیش نداریم با ۳ تا حرکت ردیفش می کنیم هول نکنین 😀

خب حرکت اول یه text editor رو باز کنین و به نام xampp-restart.sh مثلا در دستکتاپ خودتون وارد کنید

حرکت دوم این کد رو توش paste کنید و دوباره ذخیره کنید:اطلاعات بیشتر