چگونه سطح دسترسی فایل‌ها را به کمک گیت به حالت اولیه برگردانیم

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

ادامه را بخوانید

ایجاد mappingهای پیش‌فرض برای ایندکس‌ها در الاستیک‌سرچ

الاستیک سرچ یک موتور جست‌جوی رایگان و قدرتمند هست که قابلیت‌های بسیاری داره و میشه از اون در موارد زیادی استفاده کرد با کمی سرچ می‌تونید با کاربرد‌های مختلف اون آشنا بشید.
الاستیک برای اینکه بتونه داکیومنت‌هارو درون خودش نگه داره و بدونه که چجوری باید درون اون‌ها جست‌وجو کنه نیازمند یک mapping هست که توسط مدیر سیستم ایجاد میشه. این mapping مشخص میکنه که کدوم فیلد چه کاربردی داره، نوعش چی هست و چجوری باید index بشه، اصلا index بشه یا نه، چجوری آنالیز بشه، اینکه در سرچ کلی نقش داشته باشه یا نه و … . هر مجموعه‌ای که به الاستیک اضافه میشه (الاستیک این مجموعه‌ها رو index نامگذاری میکنه) باید دارای یک مپ باشه تا الاستیک بدونه که چجوری باید با داکیومنت(داده)های درون اون برخورد کنه. پس یعنی شما موظف هستید که پیش از اضافه کردن داده به index یک mapping برای اون index بسازید.

ادامه را بخوانید

نصب و راه‌اندازی کاساندرا روی دو سرور

کاساندرا یک دیتابیس Distribute هست که توسط بنیاد آپاچی داره گسترش پیدا می‌کنه، ویژگی‌های خوبی داره از جمله اینکه واسط راحتی برای برقراری ارتباط داره، cql شبیه sql هست و به همون راحتی. اینجا نمی‌خوام خوبی و بدی کاساندرا رو بگم اینجا قراره باهم ببینیم چجوری میشه با کاساندرا یک کلاستر ایجاد کرد.
برای اینکه بتونیم نصب کاساندرا روی دو سرور رو شبیه‌سازی کنیم،نیاز به یک centOs روی VirtualBox داریم که از اون بعنوان سرور دوم استفاده کنیم،سرور اول هم همون سیستم‌عامل خودمون هست(البته میشه چندتا کاساندرا رو روی سیستم عامل خودمون اجرا کنیم و کانفیگ کنیم، این راهی بود که من انتخاب کردم). همچنین برای اینکه centOs هم به اینترنت متصل باشه و هم بتونم با یک IP مشخص با اون ارتباط برقرار کنیم توی تنظیمات شبکه VirtualBox آداپتور اول رو بصورت NAT و آداپتور دوم رو بصورت Host Only تنظیم می‌کنیم، اولی برای اتصال به اینترنت و دومی برای دسترسی استفاده میشه.

ادامه را بخوانید

Atom Packages

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

ادامه را بخوانید

Let's Encrypt Postfix and Dovecot

اگه شما صاحب کسب و کار هستید یا حتی یک سرور شخصی دارید و هنوز گواهینامه ssl معتبر ندارید حتما به let's encrypt سر بزنید و یک گواهینامه ssl متعبر برای دامنه خودتون بگیرید. اگر میل سرور هم راه انداختید و میخواید که از گواهینامه‌ای که گرفتید برای اون استفاده کنید، این پست برای شماست، اگه میل سرور ندارید روی این لینک کلیک کنید و برید ببینید lets encrypt چیه.

ادامه را بخوانید

تنظیمات لازم برای پشتیبانی بیش از ۶۴کیلو اشاره‌گر در اندروید

فایل apk نرم‌افزارهای اندروید حاوی فایل ایندکسی به فرم Dalvik Executable هستند که این فایل حاوی کدهای کمپایل شده مورد نیاز برای اجرای برنامه است. این فرمت حداکثر میتواند تعداد 65,536 متود را آدرس دهی کند که این متودها حاوی شامل متودهای خود اندروید، کتابخانه‌های استفاده شده در برنامه و کدهای خود شماست، به بیان کامپیوتری برنامه‌های اندروید میتوانند تعداد 64K متود را آدرس‌دهی کنند. (برای یک سیستم عامل توی دنیای امروز کمی شرم‌آور بنظر میرسه، هرچند همین 64K خودش عدد بزرگی هست)
بلا بلا بلا بلا - بیاید فرض کنیم کلی حرف دیگه که می‌تونید براحتی از منبع این پست پیدا کنید رو من اینجا گفتم - خب حالا نکته اینجاست که اگه واقعا بیشتر از 64K متود داشتیم چه گلی باید به سرمون بگیریم؟

ادامه را بخوانید

OSX Fix there is no connected camera

No Camera Connected

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

ادامه را بخوانید

ایجاد صف ارسال برای پیام‌ها در SwiftMailer

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

ادامه را بخوانید

Testing memcached with telnet

fdf تجربه کار با داکر و memcached تجربه جالبی بود، برای اینکه بتونم کانتینر memcached رو تست کنم رفتم سراغ telnet و از اون کمک گرفتم تا ی کلید توی سرور memcached ایجاد کنم و اونو بخونم. اگر فرض کنیم سرور memcached در آدرس 192.168.99.100 روی پرت 11211 یعنی پورت پیشفرض خودش ران هست.

ادامه را بخوانید

چاپ سطر جدید روی آخرین سطر چاپ شده

اگه با ترمینال سروکار داشته باشید حتما برنامه‌هایی رو دیدی که خروجی رو بصورت یک سطر ولی پویا به کاربر نشون میدن. برای مثال curl، axel و … خروجی رو توی یک سطر نمایش ‌میدن. ولی سوال اینجاست که چجوری؟
پیش از اینکه بریم سراغ چگونه انجام دادن این کار اجازه بدید سوالی رو مطرح کنم. تا حالا شده بخواید یک فایل متنی رو توی برنامه خودتون بخونید سطر به سطر جدا کنید ولی استفاده از \n مشکلتون رو حل نکرده باشه و بعد از جستجو یا دانسته‌های قبلی \r رو هم استفاده بکنید؟ (البته من اینجا کاری ندارم که این کی پیش میاد و چرا ولی اگه با ویندوز کار کرده باشید احتمال زیاد با این مشکل روبرو شدید)
خب اگه این اتفاق براتون افتاده یا می‌دونید که \rچیکار می‌کنه شما خودتون قبلا راه حل سوال اولمون (اینکه چجوری میشه یک سطر رو پاک و چاپ کرد) رو بلدید.

ادامه را بخوانید