Skip to content

آخرین مطالب

۲۸
اسفند

NUploadFile یک ‌Behavior برای ساده تر کردن آپلود فایل در Yii

سلام

یک behavior برای yii نوشتم که کار خودمو حداقل برای هندل کردن آپلود فایل راحت کرده. امیدوارم به درد شما هم بخوره

می تونید این کلاس رو از github دانلود کنید. همچنین راهنمای استفاده از این کلاس هم در github موجوده.

 

خوب دوست عزیزم شایان خواسته بود که در مورد extension و behavior در yii توضیح بدم که منم قول داده بودم این پست رو ویرایش کنم و یه توضیح مختصری در این باره بدم.

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

توی yii همه کلاسها از CComponent به یک نحوی ارث بری کردن. یعنی در واقع یک جور component هستن که شامل event ها , behavior ها و property ها هستن.

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

در واقع می شه گفت که خود behavior و widget و validator و … هم یه جورایی extension هستن. در واقع برای استفاده از کلاسها و widget ها و behavior دیگران یا همون ۳rd party باید اونا رو تو دایرکتوری extension کپی کنیم و استفاده کنیم.

یه اصطلاح دیگه ای هم هست به اسم module . ماژولها زیربرنامه هایی هستن برای برنامه اصلیمون که خودشون شامل Controller و Model و …. هستن. مثلا یک نرم افزاری داریم که این نرم افزار زیر سیستم هاش فروم و ویکی و … هستن. که این فروم و ویکی میشن module.

 

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

۲۹
دی

استفاده از socks در ترمینال لینوکس

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

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

خوب برای نصب طبق معمول تو ترمینال زدم

$ sudo pacman -S proxychains

خوب با اجرای دستور بالا دیدم که proxychains تو مخازن اصلی آرچ موجود نیست. ولی از اونجایی که توی AUR از شیر مرغ تا جون آدمیزاد پیدا میشه، اصلا جای نگرانی نبود.

$ yaourt proxychains

و بله از اونجایی که تو AUR همه چیز پیدا میشه proxychains  رو هم تونستم اونجا پیدا کنم و بدون دردسر نصبش کنم.

 

همونجور که تو عکس میبینید با زدن گزینه ۱،  شروع میکنه به دانلود و نصب proxychains. البته چون من بعد از نصب این عکسو گرفتم جلوی اسمش زده installed.

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

/etc/proxychains.conf

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

# proxychains.conf  VER 3.1
#
#        HTTP, SOCKS4, SOCKS5 tunneling proxifier with DNS.
#	

# The option below identifies how the ProxyList is treated.
# only one option should be uncommented at time,
# otherwise the last appearing option will be accepted
#
#dynamic_chain
#
# Dynamic - Each connection will be done via chained proxies
# all proxies chained in the order as they appear in the list
# at least one proxy must be online to play in chain
# (dead proxies are skipped)
# otherwise EINTR is returned to the app
#
strict_chain
#
# Strict - Each connection will be done via chained proxies
# all proxies chained in the order as they appear in the list
# all proxies must be online to play in chain
# otherwise EINTR is returned to the app
#
#random_chain
#
# Random - Each connection will be done via random proxy
# (or proxy chain, see  chain_len) from the list.
# this option is good to test your IDS :) 

# Make sense only if random_chain
#chain_len = 2

# Quiet mode (no output from library)
#quiet_mode

# Proxy DNS requests - no leak for DNS data
proxy_dns 

# Some timeouts in milliseconds
tcp_read_time_out 15000
tcp_connect_time_out 8000

# ProxyList format
#       type  host  port [user pass]
#       (values separated by 'tab' or 'blank')
#
#
#        Examples:
#
#            	socks5	192.168.67.78	1080	lamer	secret
#		http	192.168.89.3	8080	justu	hidden
#	 	socks4	192.168.1.49	1080
#	        http	192.168.39.93	8080
#
#
#       proxy types: http, socks4, socks5
#        ( auth types supported: "basic"-http  "user/pass"-socks )
#
[ProxyList]
# add proxy here ...

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

socks5	server_ip port

خوب برای اینکه برنامه مون رو از طریق پروکسی اجرا کنیم کافیه اسم برنامه رو به عنوان پارامتر به proxychains بدیم، به طور مثال من می خوام youtube-dl رو از طریق پ ر و ک س ی اجرا کنم کافیه تو ترمینال بنویسم

$ proxychains youtube-dl video_url

به همین راحتی!
امیدوارم مفید بوده باشه.

۲۴
آذر

internationalization و localization در yii

i18n که خلاصه شده Internationalization است ( بین حرف i تا n تعداد حروفی که وجود دارد ۱۸ کاراکتر است به همین دلیل Internationalization را اختصارا i18n می نویسند) پروسه طراحی نرم افزار به روشی است که بدون نیاز به تغییر در هسته نرم افزار بتوان آنرا بین المللی کرد.

L10n که خلاصه شده Localization است ( بین حرف l تا n تعداد حروفی که وجود دارد ۱۰ کاراکتر است به همین دلیل Localization را اختصارا L10n می نویسند) به پروسه وفق دادن برنامه با مناطق جغرافیایی مختلف و ترجمه متون نرم افزار به زیانهای مختلف گفته می شود.

خوب حالا که با این مفاهیم آشنا شدیم بریم یه سر به yii بزنیم ببینم چطور میشه این مفاهیم رو تو yii پیاده سازی کرد.

ادامه مطلبRead more

۲۷
آبان

IE Developer Toolbar

فکر می‌کنم اکثر برنامه نویسایی که کار وب می کنن با Firebug یا Developer Tools کروم کار کرده باشن یا حداقل اسمشو شنیده باشن. ابزارهایی که به طراحان وب کمک میکنن تا بتونن با بررسی کدهاشون و تغییر در کدهای css و html به صورت بلادرنگ ( Real-Time ) به خواسته هاشون برسن.

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

خوب مرورگرهای firefox و chrome و opera ابزارهایی رو برنامه نویسان دارن و تنها مرورگری که این کمبود توش حس میشه مرورگر IE هستش. ادامه مطلبRead more

۲۰
آبان

شروع وبلاگ نویسی

سلام

این وبلاگ رو راه انداختم تا درباره چیزایی که می دونم و یا یاد میگیرم بنویسم تا هم یه جایی باشه برای خودم که مطالبی رو که میدونم رو یک جا دسته بندی کنم و هم اینکه با بقیه به اشتراک بزارم. بیشتر هم در مورد php, yii, jquery و در کل تکنولوژی های وب تصمیم گرفتم بنویسم.