آشنایی با فریم‌ورک پی‌اچ‌پی Slim

فریم ورک Slim

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

Slim یک فریم‌ورک در ابعاد کوچک است که امکانات خوبی را برای پروژه‌هایی با ابعاد کوچک و متوسط در اختیار برنامه‌نویسان قرار می‌دهد.

ویژی‌های فریم‌ورک Slim

  • مسیریابی قدرتمند
    • متدهای استاندارد و سفارشی HTTP
    • پارامترهای مسیریابی با پشتیبانی از Wildcard
    • تغییر مسیر، توقف و رد کردن
    • مسیرهای میان‌افزار
  • نمایش قالب با Viewهای سفارشی
  • برگرداندن پیام‌ها
  • کوکی‌های ایمن با کدگذاری ۲۵۶ بیتی
  • کش کردن http
  • سیستم لاگ با امکان سفارشی‌سازی محل ذخیره
  • خطایابی و پردازش اشکال‌ها
  • معماری Hook و میان‌افزار
  • تنظیمات ساده

Slim برای اجرا به PHP 5.3.0 یا بالاتر نیازمند است
از ویژگی‌های خوب این فریم‌ورک امکان استفاده از Eloquent ORM مخصوص Laravel برای مدیریت پایگاه داده است. برای مشاهده‌ی روش انجام این کار اینجا کلیک کنید.

برای دانلود فریم‌ورک Slim و مشاهده‌ی مستندات اینجا کلیک کنید

ارسال شده در PHP, برنامه‌نویسی, عمومی | دیدگاه‌تان را بنویسید

آشنایی با ۱۲ توزیع مشهور لینوکس

اوبونتو( Ubuntu )

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

مینت( Linux Mint )

این توزیع به طور خاص بهترین گزینه برای تازه‌کارها به شمار می‌رود. مینت ویژگی‌های کابرپسندی در اوبونتو ارائه کرد و GNOME 3 را توسعه داد. ترکیب این دو محیطی فوق‌العاده برای کاربران تازه‌کار و همچنین کاربران قدیمی لینوکس فراهم می‌کند.

فدورا( Fedora )

اگر به دنبال توزیعی حرفه‌ای هستید، فدورا بهترین انتخاب برای شماست.

دبین( Debian )

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

پاپی( Puppy Linux )

این توزیع سبک لینوکس روی سخت‌افزارهای ضعیف یا برای اجرای عملیات خاص مثل جستجوی شبکه، اجرای ماشین مجازی یا بازیابی دیسک سخت استفاده می‌شود.

اوپن سوزه( OpenSUSE )

اوپن سوزه از رابط کاربری KDE به همراه محیط مدیریتی یکپارچه بهره می‌برد. اگر به دنبال کارکردن چند زبانه هستید، این توزیع برای شما مناسب است.

سنت او اس( CentOS )

اگر به دنبال توزیعی حرفه‌ای و سازمانی هستید ولی نمی‌خواهید بهای ردهت( RedHat ) را بپردازید، بهترین گزینه برای شما «سنت او اس» است. این توزیع می‌تواند سرور میل، سرور وب، DNS، DHCP و … را اجرا و پشتیبانی کند.

ردهت( Red Hat Linux )

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

جنتو( Gentoo )

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

دمن والنربل لینوکس( Damn Vulnerable Linux )

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

آرچ لینوکس( Arch Linux )

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

کالی( Kali Linux )

این توزیع بر پایه‌ی دبین توسعه پیدا کرده است و امکان تست نفوذ را فراهم می‌کند. کالی حاوی ابزارهای مختلف نفوذ از جمله وای‌فای، پایگاه داده، و … است. کالی از APT برای مدیریت بسته‌های نرم‌افزاری استفاده می‌کند.
منبع

ارسال شده در عمومی | برچسب‌شده | دیدگاه‌تان را بنویسید

قالب رایگان بخش مدیریت – ۱

قالب رایگان بخش مدیریت امیب ۱

قالب رایگان بخش مدیریت امیب ۱
آزمون شده با فایرفاکس، کروم، اینترنت اکسپلورر
سازگار با استانداردهای HTML5 و CSS3
استفاده از LESS برای طراحی CSS
پشتیبانی از منوهای تو در تو و انیمیشن بدون نیاز به جاوااسکریپت
سازگار با گوشی‌های هوشمند فاقد Mouse Hover
طراحی تخت

برای دریافت قالب اینجا کلیک کنید

ارسال شده در قالب سایت | برچسب‌شده , , | ۵ دیدگاه

استفاده از واحد «درصد» مقابل background-position در CSS

دستور background-position وظیفه دارد تا محل شروع برای تصویر پس‌زمینه‌ی یک عنصر را تغییر دهد. در هنگام طراحی یک سایت واکنش‌گرا یا Responsive با استفاده از تعیین مکان «درصدی» تصویر می‌توان یک پس‌زمینه‌ی Responsive در اختیار داشت. با این حال برای استفاده‌ی صحیح از واحد «درصد» لازم است تا با شیوه‌ی خاص عملکرد آن آشنایی داشته باشیم.

برای شروع به مثال مقابل توجه کنید:

div {
	background-image: url( "amib.jpg" );
	background-repeat: no-repeat;
	background-size: 200%;
	width: 50%;
	background-position: 50% 0;
}

قطعه کد بالا، عنصر را به‌اندازه‌ی «۵۰%» عرض صفحه کوچک می‌کند، تصویر «amib.jpg» را به اندازه‌ی «۲۰۰%» فضای عنصر یا «۱۰۰%» عرض صفحه تغییر اندازه می‌دهد، نقطه‌ی «۵۰%» تصویر را پیدا می‌کند و آن را طوری جابجا می‌کند که این نقطه بر نقطه‌ی «۵۰%» عنصر «div» یک‌جا قرار بگیرند.
با این شرح، مقدار «۰%» تصویر را در منتها الیه سمت چپ عنصر و «۱۰۰%» آن را در منتها الیه سمت راست عنصر قرار خواهند داد.

حال اگر بخواهیم در مورد مثال بالا، عنصر div را در محلی غیر از ابتدا، انتها یا میانه‌ی تصویر قرار دهیم، لازم است تا درصد جابجایی تصویر را به صورت دقیق مشخص کنیم. برای مثال اگر بخواهیم سمت چپ عنصر در محل ۴۰ درصدی عرض صفحه و همچنین تصویر قرار بگیرد محاسبات به این صورت خواهند بود:

div.s1 {
	/*
	100x - 50x = 40
	50x = 40
	x = 40 / 50
	x = 0.8
	*/
	left: 40%;
	background-position: 80% 0;
}
 
div.s2 {
	/*
	100x - 50x = 33.333
	50x = 33.333
	x = 33.333 / 50
	x = 0.66666
	*/
	left: 33.333%;
	background-position: 66.666% 0;
}
ارسال شده در CSS | برچسب‌شده , , | دیدگاه‌تان را بنویسید

آموزش طراحی سایت واکنش گرا( Responsive WebDesign )

طراحی وبسایت واکنش گرا

روز به روز بر تعداد کسانی که از ابزارهای قابل حمل برای دسترسی به اینترنت استفاده می‌کنند افزوده می‌شود. طراحی سایت به گونه‌ای که در هر عرض و طول صفحه قابل استفاده باشد اصطلاحا «طراحی سایت واکنش گرا» یا «Responsive webdesign» نامیده می‌شود.
برای آشنایی بیشتر در مورد طراحی سایت واکنش گرا اینجا کلیک کنید

برای ایجاد یک وبسایت واکنش گرا دانستن چند نکته ضروری است که در این نوشته به اختصار آن‌ها را مرور می‌کنیم.

ادامه‌ی خواندن

ارسال شده در HTML | برچسب‌شده , | ۴۷ دیدگاه

مدیریت تاریخ و زمان در جاوااسکریپت با کمک Moment.js

momentjs
Moment.js نام یک کتابخانه‌ی جاوااسکریپت است. این کتابخانه وظیفه‌ی تحلیل، اعتبارسنجی، مدیریت و نمایش تاریخ و زمان در جاوااسکریپت را بر عهده دارد. از ویژگی‌های مهم این کتابخانه، سازگاری با محیط‌های گوناگون از جمله Node.js و همچنین انواع مرورگرهای متداول به شمار می‌رود.

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

برای استفاده از کتابخانه‌ی Moment.js که از ده‌ها زبان مختلف و همچنین تاریخ هجری شمسی( با استفاده از افزونه‌ی جلالی ) پشتیبانی می‌کند، کافی است فایل اسکریپت آن را دریافت کنید و سپس در سرآمد صفحه‌ی وب خود آن را درج کنید:

<script src="moment.js"></script>

ادامه‌ی خواندن

ارسال شده در برنامه‌نویسی, جاوااسکریپت | برچسب‌شده , | ۴ دیدگاه

پیوند دادن حساب گوگل پلاس با سایت یا وبلاگ برای افزایش رتبه‌ی SEO

SEO - نمایش تصویر نویسنده در کنار نتایج گوگل

توجه: گوگل به تازگی سیستم Authorship یا رتبه‌بندی محتوا بر اساس نویسنده را متوقف کرد. بنابراین نکته‌های گفته شده در این نوشته تاثیر خود در SEO را از دست داده‌اند

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

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

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

قرار دادن پیوند حساب کاربری گوگل پلاس در صفحات سایت یا وبلاگ

برای انجام این کار می‌بایست، در هر صفحه و هر مطلب سایت خود پیوندی به حساب کاربری گوگل پلاس خود قرار بدهید:

<a href="[profile_url]?rel=author">Google</a>

درج پیوند سایت در حساب کاربری گوگل پلاس

اکنون به حساب کاربری خود در گوگل پلاس مراجعه کنید و در سربرگ About بخش Links را بیابید. با اضافه کردن نشانی سایت خود به بخش Contributor to، گوگل شما را به عنوان یکی از نویسندگان سایت پیوند شده، شناسایی خواهد کرد.

انجام این کار علاوه بر اثر مثبتی که روی SEO دارد، سبب می‌شود دوستان شما در گوگل پلاس مطالب ارسالی شما را بالاتر از قبل مشاهده کنند و علاوه بر آن تصویر پروفایل گوگل پلاس شما، در کنار مطالب ارسالی به نمایش در خواهد آمد که خود اثر مثبت دیگری در SEO بر جای می‌گذارد.

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

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

منبع: راهنمای وبمستر گوگل

ارسال شده در HTML, برنامه‌نویسی | برچسب‌شده , | یک دیدگاه

آشنایی با رویدادهای سراسری ajax در jQuery

یکی از ویژگی‌های مفید jQuery در هنگام توسعه‌ی نرم‌افزارهای تحت وب، رویدادهای( event ) سراسری است. با تعریف این رویدادها می‌توانید در هنگام هر فراخوانی ajax در هر بخش از نرم‌افزار، آگاه شوید و عملیات دلخواه مانند نمایش عبارت «loading» یا جلوگیری از بارگزاری مجدد صفحه یا هر عمل متناسب دیگر را به انجام برسانید

رویدادهای سراسری jQuery برای ajax عبارتند از:

.ajaxComplete()

فراخوانی در هنگام پایان عملیات درخواست ajax
مستندات در سایت اصلی

.ajaxError()

فراخوانی در هنگام رویداد خطا در درخواست ajax
مستندات در سایت اصلی

.ajaxSend()

فراخوانی در پیش از ارسال درخواست ajax
مستندات در سایت اصلی

.ajaxStart()

فراخوانی در هنگام نخستین درخواست ajax
مستندات در سایت اصلی

.ajaxStop()

فراخوانی در هنگام به پایان رسیدن تمامی درخواست‌های ajax
مستندات در سایت اصلی

.ajaxSuccess()

فراخوانی در پایان عملیات ajax
مستندات در سایت اصلی

این رویدادها می‌بایست به شیء document پیوست شوند تا jQuery بتواند در هنگام نیاز آن‌ها را فراخوانی کند
در ادامه یک مثال برای نمایش پیام «در حال بارگزاری» به ازای هر درخواست را مشاهده می‌کنید:

<div id="loading">
	در حال بارگزاری
</div>
 
<script>
	$( document ).ajaxStart(function() {
		$( "#loading" ).show();
	} );
 
	$( document ).ajaxComplete(function() {
		$( "#loading" ).hide();
	} );
</script>
 
<script>
	$.ajax( 'http://amib.ir', {
		success: function( data ) {
			alert( data );
		}
	} );
</script>

منبع: مستندات jQuery

ارسال شده در برنامه‌نویسی, جاوااسکریپت | برچسب‌شده , | ۲ دیدگاه

چرا Microsoft SQL Server و چرا MySQL Server ؟

sqlserver-mysql

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

در این نوشته تلاش می‌کنم بخشی از تفاوت‌های قابل توجه میان Microsoft SQL Server و MySQL Server -به عنوان دو گزینه‌ی متداول در نگهداری اطلاعات- را فهرست کنم.

شباهت‌ها

SQL Server و MySQL نرم‌افزارهایی با قدمت بالا و امکانات فراوان هستند. هر یک از این ابزارها ویژگی‌های مشترک بسیاری دارند که در بسیاری از کاربردهای معمول، برتری چندانی در به‌کارگیری بر یکدیگر ندارند.

مجوز استفاده

MySQL دارای نسخه‌ای رایگان و بدون محدودیت برای استفاده‌های متن‌باز و غیرتجاری است. استفاده از این نگارش در حجم داده‌های بالا بدون پرداخت هزینه امکان‌پذیر است. در طرف دیگر، اگرچه SQL Server هم نگارش رایگانی را در اختیار برنامه‌نویسان قرار می‌دهد، ولی برخی محدودیت‌ها و تفاوت‌ها با نگارش حرفه‌ای در آن وجود دارد.

محیط برنامه‌نویسی

سهولت استفاده در به‌کارگیری یکی ابزار می‌تواند سرعت و کیفیت فرآیند توسعه را بهبود دهد و سبب کاهش هزینه‌ها و افزایش توسعه‌پذیری نرم‌افزار بشود. پیوند دیرینه میان PHP و MySQL و در طرف دیگر پیوند محکم میان Visual Studio و SQL Server عامل مهمی در انتخاب ابزار مناسب به شمار می‌روند.

سیستم‌عامل

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

منابع سخت‌افزاری و نرم‌افزاری

MySQL به منابع سخت‌افزاری و نرم‌افزاری محدودی نیاز دارد و در مقایسه با SQL Server هزینه‌ی کمتری را طلب می‌کند. نباید فراموش کرد که منابع سخت‌افزاری ناکافی می‌تواند در عملکرد نرم‌افزار تاثیر منفی بگذارد و علاوه بر افزایش استهلاک، سبب کاهش پایداری اطلاعات بشود.

دسترسی و امنیت داده‌ها

SQL Server از شیوه‌های مختلفی برای شناسایی کاربران استفاده می‌کند. تایید هویت بر اساس کاربران سیستم‌عامل ویندوز و اتصال به Active Directory از ویژگی‌های مختص SQL Server به شمار می‌روند. در طرف مقابل، MySQL تنها با کمک نام کاربری و گذرواژه می‌تواند دسترسی کاربران را محدود کند.
همچنین کدگذاری و حفاظت از اطلاعات در SQL Server در مقایسه با MySQL پیشرفته‌تر طراحی و پیاده‌سازی شده است.

هزینه‌ی نگهداری

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

تعداد کاربران و حجم داده‌ها

امکان مدیریت کاربران در تعداد بالا و در دسترس بودن پایگاه داده در SQL Server شرایط بهتری دارد. همچنین در حجم‌های بسیار زیاد، استفاده از SQL Server در مقایسه با MySQL بیشتر توصیه می‌شود.

ویژگی‌های خاص

علاوه بر استانداردهای تعریف‌شده هر DBMS ویژگی‌های غیراستاندارد مختص به خود را هم دارد. چنانچه قابلیت حمل پایگاه داده از نیازهای سیستم به شمار نیاید، برخی از این ویژگی‌های غیراستاندارد می‌توانند به تنهایی عاملی برای انتخاب یک ابزار و حذف ابزارهای دیگر به شمار آیند. برای مثال پایگاه داده‌ی Oracle این قابلیت را دارد که اطلاعات شما را به هر زمان دلخواه در گذشته برگرداند. و یا MySQL با پشتیبانی از سیستم ذخیره‌سازی MyISAM توانایی دسترسی سریع و فقط خواندنی به اطلاعات را به خوبی در خود جای داده.

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

ارسال شده در برنامه‌نویسی, پایگاه داده | یک دیدگاه

جدول خودکار آژاکس – AMIB AJAX List

لیست آژاکس جاوااسکریپت سازگار با لاراول

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

برای مشاهده‌ی دموی آنلاین، دریافت و مطالعه‌ی مستندات فنی به این صفحه مراجعه کنید

ارسال شده در PHP, برنامه‌نویسی, جاوااسکریپت, لاراول | برچسب‌شده , , , , , | دیدگاه‌تان را بنویسید