ساخت یک اینترفیس تحت وب برای کارهای سیستمی با php و python

یکشنبه, مرداد ۲۴م, ۱۳۸۹ | php, python, اموزشی, لینوکس | ۱ نظر

مدتها پیش مقاله ای نوشته بودم در باب اجرای دستورات خط فرمان درphp تو اون اشاره کرده بودم که در php توابعی وجود داره که میشه دستورات سیستمی مثل ls,pwd,.. رو اجرا کرد .
اما امروز بر اون شدم که با راهنمایی های استادم، اقای مقدم یه رابط کاربری تحت وب برای کارهای سیستمی بسازم!
اول رفتم سراغ php که مثلا بلدمش!و از اونجایی که حسو حال ساختن فرم ورود اطلاعات رو نداشتم از سایت http://www.phpform.org استفاده کردم و یه اینترفیس برای یه دیوار اتش ساده ساختم به شکل زیر:

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

› ادامه مطلب

  • Share/Bookmark

برچسبها: , ,

مقاله آشنایی با فریم ورک CodeIgniter ارائه شده در همایش سراسری لمپ در ایران :: زنجان

شنبه, مرداد ۱۶م, ۱۳۸۹ | code igniter, اموزشی | ۲ نظر

خوب از آقای نبی زاده اجازه گرفتم قبل از اینکه رو سایت اصلی همایش  http://www.conference.phpdevelopers.ir مقاله ها آپلود بشن من مقاله خودمو رو وبلاگم منتشر کنم!

بهرحال یه پستم یه پسته!

خلاصه تو این همایش فرصتی شد تا در مورد قالب کاری فعلیم که همون code igniter هست مقاله بنویسم  ، و سعی کردم مقاله یه جوری باشه که بشه به عنوان مرجع اولیه و وسیله آشنایی استفاده کرد ازش!

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

فهرست

  • مقدمه
  • CodeIgniter چیست؟
  • CI برای چه کسانی هست؟
  • معرفی کوتاه MVC
  • روند اجرای برنامه (Application Flow Chart )
  • آدرس‌های اینترنتی در کد اگنایتر(Code Igniter URLS)

بخش‌های آدرس (URI Segment )

حذف فایل ایندکس از آدرس (Removing the index.Php file )

اضافه کردن پسوند به آدرس(Adding a URL Suffix )

Enabling Query String

  • کنتـرل کننده ­ها (controller)

پاس دادن مقادیر uri به توابع( Passing URI segment to your funition )

Remapping

توابع خصوصی (Private function )

مشخص کردن سازنده کلاس (Class constructors )

اسامی رزرو شده در توابع(Reserved Function Name)

  • Views
  • کتابخانه‌ها (Libraries )
  • کمک کننده ها (Helper Files )

توسعه کمک کننده ها (Extending Helper )

پیشوند خود را برای کمک کننده ها انتخاب کنید(Setting your own prefix )

Using code igniter library

  • Plugins

Loading a Plugin

  • فایل تنظیمات شخصی (Custom Config File )
  • Language File

ساختن فایل­های زبان

Loading a Language File

  • مباحث مرتبط به کار با پایگاه داده در CI

وصل شدن به دیتابیس

Automatically connection

Manually connection

Models

ساختار Model ها

Loading a model

وصل شدن به پایگاه داده در یک مدل

آشنایی با ابزار Scaffolding

انجام عملیات CRUD در CI

Active Record Class

SELECT

INSERT

UPDATE

DELETE

  • Web page caching

کش چگونه کار می کند؟

فعال سازی کش

Deleting Caches

  • اجرای یک مثال عملی در CI

دستورات نصب CI

ایجاد صفحه درج اطلاعات

ایجاد صفحه خواندن اطلاعات

ایجاد صفحه حذف مطالب

  • کد های مثال

مقدمه

سالهاست php در ایران یک زبان شناخته شده برای طراحی وب است اما متاسفانه قالب‌های کاری (framework ) آن در ایران شناخته شده نیستند و بعضا ما شاهد مقایسه‌های اشتباه بین ASP.NET که یه زبان طراحی وب بعلاوه یک قالب کاری هست، با زبان php بدون هیچ کدام از قالب‌های کاریش هستیم . این نشان دهنده تصور قالب در اکثر دانشگاهیان ما هست.

در این نوشته سعی دارم یکی از ساده‌ترین و سریعترین قالب‌های کاری php را معرفی کنم و آن چیزی نیس جز Code Igniter

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

در جای جای این نوشته از مستندات خود Code Igniter به صورت ترجمه آزاد استفاده شده و در قسمت‌هایی از تجارب شخصیم استفاده کردم ،بدیهی است برای اطلاعات بیشتر و آشنایایی با دیگر مباحث این قالب توصیه می‌شود حتماً از مستندات رسمی آن استفاده شود :

http://codeigniter.com/user_guide/

به امید اینکه این مقاله گامی کوچک در فرهنگ سازی در مورد قالب‌های کاری آزاد باشد.

همچنین توجه به این نکته را لازم میدانم که فرض ما بر تسلط خواننده بر php و html و آشنایی کوچکی با مفاهیمی چون قالب کاری ، MVC و ORM است.


دانلود مقاله آشنایی با code igniter

  • Share/Bookmark

برچسبها: , ,

عکس های همایش سراسری لمپ در ایران :: زنجان

جمعه, مرداد ۱۵م, ۱۳۸۹ | لینوکس, گروه کاربران لینوکس زنجان | ۵ نظر

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

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

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

میشه یه گزارش کامل نوشت ولی فعلا دوست دارم عکس ها رو آپلود کنم ، اما قبلش یه انتقاد بکنم از دید ایرانیا که وقتی یه چیزی میبینن ، رو تمام چیزهایی که از اون نوع میبینن خط میکشن بدون اینکه واقعیتو ببینن! حالا منظورم چیه؟ اینه که این تو همایش مسئول خاصی نیومد، جز آقای شهامی مدیرکل دفتر فناوری اطلاعات استانداری که خودشون اسباب این همایشو فراهم کردن و تو این چند روزه با ما بودن و حتی خود بچه ها دیدن که با ما شام و ناهار میخوردن تو خوابگاه میومدن حتی دنت های بچه ها رو میخوندنو یه ری اکشن قشنگ نشون میدادن! من شاهد بودن یکی دنت کرد که رابط کمه و برق نداریم، ایشون شارژر نوت بوکشو کشید به دوستم گفت اینو رابط رو بده به آقایی که دنبال شارژره!!!و خیلی چیزهای دیگه ، ولی خدا شاهده نه جیره خور استانداریم ، نه از مسئولا تعریف میکنم نه آقای شهامی وبلاگ منو چک میکنه ولی واقعا تو این چند روز ذهنیت من عوض شد.شاید هر ۳۰۰ سال یه بار یه همچین مسئولی یه جا تو ایران پیدا میشه ولی خواهشا، آقایون/ خانوما، قبل از اینکه بخواهید یه چیزیو دنت کنیدوشخصیت یکی رو ببرین زیر سوال، خوب اون آدمو بشناسین.

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

  • Share/Bookmark

برچسبها: , ,

معرفی Irssi

سه شنبه, مرداد ۵م, ۱۳۸۹ | اموزشی, لینوکس | ۱ نظر

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

امروز دوس دارم با یه نرم افزار لینوکسی که تو خط فرمان کار میکنه و کلاینت (سرویس گیرنده! ) IRC هست آشناتون کنم و طی این آشنایی با مباحث زیر روبرو میشیم:

  • irc چیست
  • دستورات irc
  • آشنایی با دستورات اولیه Irssi
  • نام های مستعار خود را بسازید
  • اجرای برنامه ها و چاپ خروجی آنها از داخل irssi
  • به کاربرانی که به شما msg/ میدهند بگویید نیستید
  • کارهای تکراری را در irssi خودکار کنید
  • چند ترفند برای مقابله با افراد/کانالهای شلوغ
  • تهیه گزارش از لاگهای irssi
  • برای irssi خود برنامه بنویسیم

irssi

› ادامه مطلب

  • Share/Bookmark

برچسبها: , ,

خاطرات من از گردهمایی و سمینار «اوبونتو نصب شد، حالا چه کنم؟»

جمعه, تیر ۲۵م, ۱۳۸۹ | دل نوشته, لینوکس | ۱۲ نظر

خوب دیروز ۲۴ تیر ۱۳۸۹ برای اولین بار این افتخار نصیب من شد تا در جشن اوبونتویی ها حاضر بشم .

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

مسلما به گفته اونهایی که در جشن های قبلی امده بودن این جشن به خوبی جشن های قبلی نبود .

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

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

پ . ن : اکثر سرویس دهنده های عکس ،  درست بالا نیومدن مثل پیکاسا و فیلکر! برا همین مجبور شدم اینجا اپلود کنم برای دیدن عکس ها با سایز واقعی و گرفتنشون اینجا رو کلیک کنید.

  • Share/Bookmark

تغییر صفحه اول زنجان لاگ و یه نمه گیک بازی :D

دوشنبه, خرداد ۱۷م, ۱۳۸۹ | لینوکس, گروه کاربران لینوکس زنجان | ۸ نظر

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

ولی من معمولا دوس دارم تو هر کاری چیزای نویی یاد بگیرم بنابر این این صفحه رو table less طراحی کردم و مقداری هم از css3 و html5 استفاده کردم!

قبل از هر چی جلوی کسایی که با ie میان رو گرفتم ! چون مثلا این صفحه کابران لینوکس استان زنجان و حتی اگر رو ویندوزن باید با یه چیز درس حسابی بیان!

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

کافیه به صفحه اصلی سایت زنجان لاگ برید : www.zanjanlug.org

و بعد در این صفحه روی دکمه L صفحه کلیدتون بزنید ! اوپس ! اره یه پنجره باز میشه !

حالا برای دیدن امکانات باید دستوراتو بدونید :

  • free the fish معادل  دستور در ران گنوم عمل میکنه!
  • zanjanlug بدون شرح
  • music آهنگ مورد علاقه اپن سورسیاس
  • video کلیپی جالب و کوتاه از رهبر اپن سورسیا
  • terminal یه محیط شبیه سازی شده از ترمینال یونیکس برای مصارف آموزشی

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

در آینده دستوراتی به دستورات فوق اضافه میشه و البته این صفحه از نظر سرعت و کدها باید بهینه شه.

امیدوارم لذت ببرین ;)

پ . ن : از narcissu برای در آدرس آهنگ و ویدیو ممنونم.

  • Share/Bookmark

معرفی پروژه ی جدیدم: رقیبی کوچیک برای choqok دوست داشتنی (آیلین خانم!)

یکشنبه, اردیبهشت ۲۶م, ۱۳۸۹ | php, تکنولوژِ های جدید | ۸ نظر

آقا شما نمیدونی من از روزی کهChoqok رو ریختم چقدر بهش وابسته شدم. واقعا دم مهرداد مومنی گرم.

قبل از اینکه من متنم رو شروع کنم نمیدونم چرا اینقدر عنوان و جمله اولم به نظرم اشنا میاد ;)

داستان از جایی شروع شد که من برای حل تمارین دانشگاهیم باید میرفتم ویندوز ولی دیدم من معتاد ادینتیکا و چغوک شدم! از اون ورم اینا رو ویندوز پورت نشدن و من یه طراح ساده وب بیش نیستم !

بنا بر این بقدر معرفت  آستینارو زدم بالا و با xul بخوانید زول که همان تکنولوژی ایست که باهاش فایر فاکسو تاندربیردو سانگ بیردو … را نوشتن یه کلاینت بسیار ساده ایتدایی نوشتم! و البته هسته اصلی اون بر پایه php هست! خوبیه فعلیشم اینه که این هسته اصلی رو سایت اصلی خودتون نصب میشه و راحت از هر جور ف / ی / ل / ت / ر / ی رد میشه و به توییتر و ایدنتیکا وصل میشه و این چیزی که با xul نوشتم یه رابط کاربری یا interface برا همونه! اسمشو گزاشتم آیلین که یه اسم ترکیه و به معنای فر وغ و درخشش . فکرای بدم نکنید اسم برادرزاده منه که هنوز یه سالشم نشده و چون ایشون بسیار کوچیکو نازن ماشالله ،  ما هم به همین قصد کوچیکو ناز بودن و اسم ترکی بودن اسم برناممونو آیلین گزاشتیم.

هدف از زدن این پست اینه که ببینم این برنامه شخصی برای شما چقدر جالبه و اگه یه هم چین چیز مینیمالی میخواستین چه امکاناتی ازش انتظار داشتین؟

در زیر عکسشو زمینه میکنم که در لینوکس به صورت stand alon هست و در ویندوز به صورت add-on فایرفوکس:

چند تا سوال من :

کلا نظرتون راجه به این ایده صد بار پیاده شده چیه؟

دوست دارین افزونه فایرفوکس باشه یا یه برنامه مستقل؟

چه امکاناتی از یه همچیمن چیزی انتظار دارین مثلا من یه چیزی که از چغوک میخوام هیستوری دنتامه که ندارتشون !

و در نهایت بهتر نیس اینو همون به صورت یه پروژه شخصی نگر دارم؟ آیا شما اصلا بهش احتیاج دارین؟

پ . ن : اون روز کل زمانم رفت رو این برنامه نتونستم برم ویندوز تمرینامو انجام بدم! دست آقای بهروز شعبانیم درد نکنه! دادا همیشه با راهنمایی هاش بمن خیلی کمک کرده.

  • Share/Bookmark

برچسبها: , , , ,

MyFavoriteCMS

سه شنبه, اردیبهشت ۲۱م, ۱۳۸۹ | MyFavoriteCMS, code igniter | ۵ نظر

خوب بلاخره وقتش رسید!

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

من فریم ورک code igniter رو از عید شروع کردم و سعی کردم تمام مستندات خود سایتشو بخونم و بعضی از فیلم های آموزشی شو ببینم و پیاده کنم در بین این کارا به این فکر افتادم چرا نباید با یه تیر چند تا نشون بزنم؟

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

بنابراین پروژه حاصل این یکو نیم ماه اوقات فراغت منه و امیدوارم مفید واقع شه:

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

http://github.com/pesarkhobeee/MyFavoriteCMS


برای راه اندازی این وب سایت در مرحله اول با کمک گزینه import برنامه phpmyadmin فایل localhost.sql را باز کرده تا دیتابیس و تمام جداول ساخته شوند.

در مرحله دوم:
MyFavoriteCMS/system/application/config/database.php
فایل فوق الذکر را باز کرده و بنا به تنظیمات دیتابیستان این فایل را ویرایش کنید
و در مرحله آخر:
MyFavoriteCMS/system/application/config/config.php
را هم باز کرده و متغییر
$config['base_url']
را بنا به آدرس فعلی سایتتان تنظیم کنید.

توجه:
برای ورود به قسمت مدیریت از نام کاربری test@test.com و رمزعبور test استفاده کنید.

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

http://www.pitm.net/cms

از آنجایی که این سایت منطبق با الگوی mvc طراحی شده ایت پس فایلهای صفحات را میتوانید از مسیرهای زیر مشاهده نمایید:

MyFavoriteCMS/system/application/controllers

MyFavoriteCMS/system/application/views

MyFavoriteCMS/system/application/models

توضیحات بیشتر:

› ادامه مطلب

  • Share/Bookmark

برچسبها: , ,

نقل و نبات شماره نه (tips & tricks) (ساختار وب اپلیکیشن های مشهور وب )

سه شنبه, اردیبهشت ۲۱م, ۱۳۸۹ | code igniter, tips & tricks, نقل و نبات | بدون نظر

در تحقیقاتم راجه به code igniter به ساختار چند وب اپلیکیشن مشهور وب بر خوردم و مناسب دیدم اونها رو اینجا اپلود کنم.

codeigniter

symfony:

symfony

wordpress:

wordpress

zend:

zend-blog-db-horcakephp

cake

منبع:

http://douglasmiranda.wordpress.com/2009/03/25/includes-frameworks-php-utilizando-mvc

  • Share/Bookmark

برچسبها: , , , , ,

نقل و نبات شماره هشت (tips & tricks) ( Git )

سه شنبه, اردیبهشت ۱۴م, ۱۳۸۹ | tips & tricks, نقل و نبات | بدون نظر

چند روزه حتی نقل و نباتم ننوشتم چون کارایی که دستم بود رو تموم کردم و روی پروژه های اپن سورس خودم فوکوس کردم و دوستی نوشته بود که برای استخدام در یک شرکت خوب باید تجربه خوبی داشت و تجربه خوب هم در یک شرکت خوب بدست میاد!پس چطور میشه این دور باطلو شکست؟با فعالیت در پروژه های اپن سورس بله دوستان امروز توفقی اجباری شد تا بلاخره با سیستم های کنترل سورس و مخصوصا Git اشنا بشم!

اما Git چیه؟

Git is…

Git is a free & open source, distributed version control system designed to handle everything from small to very large projects with speed and efficiency.

از اونجایی که نه حس داستان سرایی دارم  نه توان فنیشو همینو بگم که بهترین راه مدیریت کد ها و کار گروهی روی اونها و محافظت از اونها و گزارش گیری از تغییرات و … همین سیستم های کنترل کد مثل svn و git هستند!

در راستای آشنایی بیشتر دعوت میکنم نوشته آقای فرهادی رو مطالعه بفرمایید:

مقایسه‌ی Git با Subversion

والا اگه نبود اینترنت و این دوستان مجازیمون با این وضع آموزش اکادمیک و اوضاع شرکت های شهرستان ها فکر نمیکنم با یه همچین تکنولوژی هایی اشنا میشدیم ! در همین راستا دعوت میکنم از سایت اصلی برنامه git که دارای داکیومنتای کاملی دیدن کنید :

http://www.git-scm.com/

اما اگه بخواهید از این فناوری استفاده کنید دو راه دارین یا تو خونه یا شرکتتون یه مخزن git بسازید که یه مقاله در این زمینه از آقای بهروز شعبانی یا همون دادای لینوکس اف ام خودمون هست :

ساخت مخزن git

و یا بیایین از سایتهایی که به صورت جهانی این خدمات رو + امکانات بیشتر مثل ویکی و … برای پروژه هاتون فراهم میکنن استفاده کنید مثل:

http://gitorious.org/

http://github.com/

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

من رفتم سایت github و یه اکانت برا خودم ساختم چون در اونجا تعدادی از استادان مجازی منم هستن و یه خورده انگلیسی دوره دبرستانو به کار انداختمو  یه پروژه تعریف کردم اما در کار با اون چند تا نکته داره که در کمک های خود سایتم آمده اول

SSH key بود که میتونید برای ساخت و تنظیمش از این صفحه کمک بگیرین:

http://help.github.com/linux-key-setup/

که تو همون دستور اصلی

$ ssh-keygen -t rsa -C "yourmailaddress@yourmailserver.com"

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

Creating and Commiting

$ cd (project-directory)
$ git init
$ (add some files)
$ git add .
$ git commit -m 'Initial commit'

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

Git for the lazy

و واقعا هم برا ماهاست ! فقط من به دستور العمل های فسمت start اش دستور

 git push origin master

رو هم اضافه کردم تا کارهایی که در لوکالهاست انجام دادم به سرور منتقل بشن !
پ . ن : امیدوارم شما زودتر از من برید سراغ این چون میفهمید که تاحالا چقدر عزاب بی خودی تو مدیریت پروژه هاتون کشیدین!
پ . ن . ۲ : تو کسایی که میشناسم فکر کنم مهرداد مومنی از همه بیشتر راجع به git نوشته :

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

چطور یک شاخه(branch) را از یک مخزن دور(remote) حذف کنیم!؟ (Git)

Qt و Gitorous یک گام بزرگ به جلو

پ . ن . ۳ :

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

  • Share/Bookmark

برچسبها: , , , ,

StatPress

Visits today: 16 top browser: Firefox 3 users online: 0

جستجو