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

1dd

ادامه …

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

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

گوگل توی همایش IO امسال ORM خودشو به اسم Room برای اندروید معرفی کرد. این ORM یه قسمت از پازل Architecture Components هست که شامل LiveData , ViewModel و … میشه. در ادامه نحوه‌ی استفاده شو توضیح میدم. ادامه …

آدم هر چقدر از مظلومیت برنامه‌نویسای اندروید بگه، کم گفته. حداقل یک روز کامل درگیر این بودم که چرا اکتیویتی پخش کننده‌ی ویدیو توو برنامه‌ام، موقع چرخش گوشی دوباره از اول ساخته میشه😐.  وقتی مشکل رو حل کردم، به سه دلیل تصمیم گرفتم که داستانش رو کامل بنویسم: ۱- با گفتنِ رنجی که کشیدم، آروم‌تر بشم😃 ۲- شاید به برنامه‌نویس‌های تازه‌کار کمک کنه که در مواجهه با مشکلات چیکار کنند ۳- اگر در آینده کسی همین مشکل منو داشت، بتونه با خوندن این پست درستش کنه.

ادامه …

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

telegram

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

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

برای عضویت روی لینک زیر کلیک کنید.

https://t.me/aoveissi

بعد از صحبتی که در مورد یه سری لینک مفید با آقای طحانی داشتم، موضوع این پست به ذهنم رسید. وقتی که از بیشتر افراد میپرسی “چرا لازمه بقیه‌ی دولوپرها رو بشناسیم؟” جواب میدن چون باعث میشه بتونیم پروژه‌های بیشتری بگیریم و درآمدمون رو افزایش بدیم.  در این مورد شکی نیست، اما من توی این پست میخوام از بُعد دیگه‌ای به این سوال جواب بدم. میخوام در مورد تاثیر این شناخت روی بالا بردن دانش برنامه‌نویسی حرف بزنم و از راه‌هایی که خودم برای آشنایی با بقیه استفاده میکنم صحبت کنم.

b

ادامه …

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

بحران نرم افزار چیست؟

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

علائم بحران نرم افزار چیست؟

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

ادامه …

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

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