X

همه چیز ولی هیچ چیز






 
شاهزاده را با خوراک دنبال کنید اگر رنگ تیره‌ی زمینه شما را هنگام خواندن مطالب ناراحت می کند می‌توانید روی view که کنار عنوان هر مطلب است کلیک کنید تا مطالب را با زمینه‌ی سفید ببینید. توجه کنید که این گزینه در مرورگر‌های قدیمی مثل Internet Explorer 6 کار نمی‌کند.
اگر مطالب این وبلاگ را دوست دارید و آن را دنبال می کنید به شما پیشنهاد می‌کنم این کار را با استفاده از خوراک انجام دهید تا درکنار اطلاع سریع از به‌روز رسانی وبلاگ بدون مراجعه به وبلاگ مطالب را بخوانید. از طرفی می‌توانید این وبلاگ را با پست الکترونیک دنبال کنید.
انتشار hiphop php توسط facebookview

روز گذشته facebook کامپایلری به عنوان hiphop php معرفی کرد که کد‌های php را به C++ تبدیل و کد تولید شده را با استفاده از gcc کامپایل می‌کند. از آن جایی که php یک زبان script نویسی است، برنامه نویسی با آن ساده و سریع اما سرعت اجرای آن نسبت به زبان‌هایی مانند C++/C کم‌تر است. فیسبوک از سال ۲۰۰۷ قصد بالا بردن سرعت اجرای php را داشته است و وصله‌هایی نیز برای zend آماده و ارسال کرده بود اما نتیجه‌ی لازم حاصل نشده بود و قصد بازنویسی با زبان‌های دیگر را داشته است اما با توجه به پیچیدگی و سرعت پیشرفت این کار انجام نشد.

فیسبوک اولین جایی نیست که قصد انجام این کار را داشته است. هم اکنون ابزار‌هایی برای تبدیل php به زبان‌هایی مثل C و Java وجود دارد؛ همین طور استفاده از ابزار‌هایی مانند eAccelerator برای cache کردن کد‌های تولید شده توسط Zend قبل از ارسال به ماشین مجازی باعث بالا بردن سرعت اجرای php می‌شود. اما تولید این ابزار توسط facebook و استفاده از آن به مدت ۶ماه و کم شدن ۵۰ درصدی بار سرور‌ها، دلیلی برای پروژه‌های enterprise خواهد بود تا از php استفاده کنند. این ابزار سادگی php در یادگیری، نوشتن و خواندن را با سرعت اجرای native code همراه خواهد کرد. hiphop php به زودی در github قرار خواهد گرفت.

نویسنده: بهروز |  پیوند | ۲ نظر | موضوع: برنامه نویسی، پی اچ پی - php
تایید افزونه انتقال وبلاگ توسط موزیلاview

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

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

لازم به توضیح است که این افزونه تا به حال بیش‌تر از ۱۶۵۰۰ بار دریافت شده است و از نسخه‌ی ۱.۵.۱ درخواست های دریافت افزونه از این سایت به سایت رسمی موزیلا بازتاب می‌شود. برای توضیحات بیش‌تر به مقاله‌ی وب۳ و برای دریافت افزونه به این صفحه مراجعه کنید.

نویسنده: بهروز |  پیوند | ۱۷ نظر | موضوع: برنامه نویسی، حرف های خودم، وبلاگستان
ساخت مخزن gitview

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

در مرحله‌ی نخست شما باید ابزار کار رو نصب کنین که شامل Apache و git هست. البته Apache باید ماژول dav رو داشته باشه که اگه ندارید نصب کنین. همین طور برای اینکه بتونین تنظیمات رو روی سرور عمال کنین نیاز به دسترسی به SSH روی سرور دارید.
توضیح: روی دبیان و بچه‌هاش (شامل اوبونتو) dav به همراه Apache نصب می‌شه. شما باید اونو فعال کنین که توضیح خواهم داد.

۱. یه مخزن خالی روی سرور درست کنین:
cd /var/www
mkdir my-git-repo.git
cd my-git-repo.git
git --bare init

۲. این پوشه و محتویاتش رو به کاربری که Apache با اون اجرا می‌شه اختصاص بدین. توی دبیان و خانواده‌ش این کاربر www-data و توی ردهت و خوانواده‌ش www هست. ممکنه لازم باشه این کار رو با کاربر ریشه انجام بدین یا اگه به کاربر ریشه دسترسی ندارین  با استفاده از sudo انجام بدین.
chown -R www-data.www-data .توضیح: اینجا من گروه رو هم عوض می‌کنم اما می‌تونین  گروه دلخواه رو جایگزین کنین برای این کار به عنوان  مثال می‌تونین کاربر رو www-data و گروه رو behrooz  به این شکل اختصاص بدین:
chown -R www-data.behrooz

۳. نوبت رسید به فعال کردن dav وdav_lock و dav_fs برای این کار روی دبیان و خانواده‌ش می‌تونین این کار رو با دستور
a2enmod dav dav_lock dav_fsانجام بدین اما برای ردهت و خانواده‌ش  باید خودتون فایل تنظیمات apache رو دست کاری کنین. نخست با LoadModule باید ۳ ماٰژول مورد نیاز رو بارگذاری و سپس با استفاده از AddModule آن‌ها را فعال کنید.

خوب می‌تونیم تنظیمات لازم رو انجام بدیم. این تنظیمات مربوط رو توی فایل مربوط به هاست مورد نظر قرار بدید.
توضیح: این فایل با تنظیمات اولیه روی یک دبیان در مسیر
/etc/apache2/sites-available/default قرار دارد. شما باید این تنظیمات را داخل <VirtualHost> اضافه کنید
<Location /my-git-repo.git>
DAV on
AuthType Basic
AuthName "Git"
AuthUserFile /etc/apache2/passwd.git
Require valid-user
</Location>
می‌شه گفت همه چیز مشخصه جر فایل passwd.git این همون فایلی هستش که شما کاربر‌ها و کلمه‌ی عبور لازم برای استفاده از مخزن رو توش تعریف می‌کنین.
توضیح: اگه این فایل رو می‌خواین جایی قرار بدین که می‌شه از وب بهش دسترسی داشت بهتره اسمش رو htpasswd. بگذارین

به این شکل می‌تونین این فایل رو ایجاد کنین:
htpasswd -c /etc/apache2/passwd.git <user>خوب به جای <user> نام‌کاربری که می‌خوان رو قرار می‌دین مثل behrooz و اون c- هم کار ساختن (create) رو انجام می‌ده پس فقط دفعه‌ی اول نیازه. با اجرای این دستور ازتون یک کلمه‌ی عبور هم درخواست می‌کنه که این کلمه‌ی عبور به کاربری که ساختین اختصاص پیدا می‌کنه آدرس این فایل هم هر جایی که بخواین می‌تونه باشه و به هر تعداد که نیازه می‌تونبن کاربر بهش اضافه کنین.
توضیح
: می‌تونین با استفاده از یک پایگاه داده کاربر و کلمه‌ی عبور رو تعریف کنین. که اینطوری حتی می‌شه راهی برای مدیریت کاربر‌ها هم ایجاد کرد.

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

۴. تا اینجا تنظیمات سرور تموم شده و نوبت می‌رسه به تنظیمات لازم برای کلاینت git. برای اینکه برای هر بار استفاده از مخزن لازم نباشه نام‌کاربری و کلمه‌ی عبور وارد کنید فایل netrc. رو در پوشه‌ی خانگی خود درست کنید و محتوای آن را با این مقادیر پر کنید (یادتون نره که باید دسترسی خواندن این فایل را از دیگران بگیرید):
machine <servername>
login <username>
password <password>
از اون جایی که همه چیز مشخصه بیش‌تر توضیح نمی‌دم. سپس باید دستور زیر رو اجرا کنین
curl --netrc --location -v http://<username>@<servername>/my-git-repo.git/HEADحتما شما یه مخزن git دارید که می‌خواهید آن را با دیگران به اشتراک بگذارید. به مخزن خود رفته و مخزن جدید را به عنوان یک مخزن راه دور به آن اضافه کنید:
git config remote.upload.url http://<username>@<servername>/my-git-repo.git/من اینجا اسمش رو گذاشتم upload اما هر چیز دیگه‌ای می‌تونین استفاده کنین. این اسمی خواهد بود که شما برای استفاده‌ی راحت‌تر ازش استفاده می‌کنید.

۵. کار تمام شد. حالا نوبت آن است که مخزن جدید را پر کنید. پس به مخزن خود رفته و دستور زیر را جرا کنید:
git push upload master

من بعد از این کار با یه مشکل مواجه شدم و اونم این بود که نمی‌تونستم از این مخزنی که ساختم نمونه (clone) بگیرم. برای حل این مشکل هم این کار رو روی سرور انجام دادم:
cd my-git-repo.git
git update-server-info
chown -R www-data.www-data .

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

نویسنده: بهروز |  پیوند | یک نظر | موضوع: برنامه نویسی
scroll [up]
scroll [down]