معرفی crashlytics

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

اجازه بدید اول مشکل رو مطرح کنم و بعد بریم سراغ این سولوشن معرکه که کاریه از تیم توسعه توییتر. اگر برنامه‌نویس اندروید (یا iOS. این سولوشن برای هر دو پلتفورم معرفی شده) باشید، احتمالا یکی دوتا چیز شما رو خیلی اذیت کرده. اول اینکه هر دفعه که ماژول یا بخش جدیدی به نرم‌افزارتون اضافه میکنید باید یه APK بگیرید و برای کارفرما، مدیر پروژه، مدیر محصول، بقیه برنامه‌نویسها، تست ‌کننده‌ها، یا کلا هر کسی که درگیر پیشروی پروژه و تست کردنشه بفرستید. احتمالا اینجوری عمل میکنید که APK رو به همراه کمی توضیحات ایمیل میکنید یا میذارید دراپ باکس یا تو حالت رو مخ ترش تلگرام میکنید. بعد میشینید منتظر نظرات اونا و گزارش خطاهای احتمالی. مشکل دوم هم وقتی پیش میاد که گزارش خطا میگیرید. تو اینجور مواقع احتمالا جملاتی میشنوید مثل: اومدم لاگین کنم کرش کرد! یا “اصن باز نمیشه!” و حالا تازه نوبت شما میشه که جملاتشون رو رمزگشایی کنید و بفهمید ایراد کار از کجا بوده.

ادامه این نوشته

۲ نظر

کتابخونه ConnectivityChecker

اگر اپلیکیشن اندرویدی‌ای نوشته باشید که تو انجام بعضی کارهاش به اینترنت نیاز داشته، حتما اینجوری عمل کردید که قبل از هر ارتباطی با اینترنت، اتصال به اینترنت رو چک کردید و اگر کاربر به اینترنت وصل نبود احتمالا بهش یه پیغام رو نشون دادید.

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

برای استفاده از این کتابخونه کافیه که یک آبجکت از کلاس ConnectionChecker بسازید. بعد با استفاده از متد doIfConnected میتونید کارهای مربوط به اینترنت رو انجام بدید. برای استفاده از این متد باید بهش یک شی از جنس اینترفیس Doable بدید. اگر گوشی به اینترنت متصل باشه، متد doIfConnected این آبجکت اجرا میشه. و اگر گوشی به اینترنت متصل نباشه AlertDialog نشون داده میشه.

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

از کلاس ConnectionChecker میتونید به دو شیوه آبجکت بسازید. مدل اول تنها دو آرگومان میگیره، Context و Activity. بعد از اینکه آبجکت رو ساختید تنها کافیه که برای انجام تسک‌های اینترنتی از متد doIfConnected استفاده کنید. این متد یک شی از جنس اینترفیس Doable به عنوان آرگومان میگیره و اگر گوشی به اینترنت متصل باشه متد doTask اون رو اجرا میکنه.

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

۳ نظر

چجوری برنامه‌نویسی iOS یاد بگیرم؟

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

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

ادامه این نوشته

۶ نظر

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

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

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

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

ادامه این نوشته

۲ نظر

دلیل سه ماه ننوشتنم

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

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

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

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

یک نظر

لایبرری چیه و نحوه استفاده ازش چجوریه؟

سلام آرش

لایبرری چیه و نحوه استفاده ازش چجوریه؟

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

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

library (1)

ادامه این نوشته

۹ نظر

هتل‌های کپسولی؛ راهی برای فرار از ترافیک

خاطرم هست سالهای پیش که کلاس زبان میرفتم، تو کتاب Interchange مطلبی در مورد نوعی خاصی از هتل که تو ژاپن رایجه نوشته بود. هتلهایی با نام Capsule Hotel یا همون هتل کپسولی.

اگر این اسم رو تو گوگل جست‌و‌جو کنید، با این تعریف رو به رو میشید:

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

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

ادامه این نوشته

یک نظر

معرفی کتاب: گتسبی بزرگ

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

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

ادامه این نوشته

یک نظر

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

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

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

data_science_question

ادامه این نوشته

نظر بدید

معرفی کتاب: دروغگویی روی مبل

بنا به دلایلی تاریخش رو دقیق یادم مونده. ۲۳مهر ماه، روز شنبه بود که بعد از یه روز سخت و پراسترس داشتم تو خیابون انقلاب به سمت خونه قدم میزدم. با هندزفری توی گوش و دستهای توی جیب به ویترین کتابفروشی ها نگاه میکردم و به روز سختی که پشت سر گذاشته بودم فکر میکردم. تو همین حال بودم که دیدم سرتاسر ویترین کتابفروشی انتشارات جیحون اختصاص داده شده به کتابی با جلد سفید. خب ظاهر ماجرا نشون میداد که کتابی جدید چاپ شده. کنجکاو شدم و جلوتر رفتم تا بتونم اسم کتاب رو بخونم: دروغگویی روی مبل. چشمم رو آوردم پایینتر تا اسم نویسنده رو هم بخونم: اروین د یالوم!

9786007221167

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

ادامه این نوشته

۶ نظر
android application Google I/O HomeBrew ImageMagick Material Design mobile PogressBar RecyclerView splash TEDxKish ux آموزش اندروید الوین تافلر اندروید اپلیکیشن برنامه نویسی برنامه نویسی اندروید برنامه‌نویسی برنامه‌نویسی اندروید تداکس کیش تعمیر تغییر سایز عکس با ترمینال خلاصه کتاب دانش داده دانشگاه دانشگاه ایده‌آل دزد دیتا ساینس رشته مهندسی کامپیوتر ریکامندرسیستم سیستم‌های توصیه‌گر فری‌لنس لپتاپ متریال دیزاین معرفی کتاب موج سوم نوار پیشرفت همایش هوش مصنوعی ُجزیره کیش کار کسب و کار یادگیری عمیق یادگیری ماشین