آموزش برنامه نویسی از مبتدی تا پیشرفته

۴ مطلب با کلمه‌ی کلیدی «استفاده از thread ها در برنامه نویسی اندروید» ثبت شده است

قاتلان تیم کاری و راه‌های فرار!

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

با این حال هنوز که هنوز است، تیم‌های کاری در رسیدن به اهدافشان ناموفق‌اند. بر این اساس، پروفسور «کارلوس رودریگز لویزما» لیست زیر را پیشنهاد می‌دهد که شامل ۱۰ مورد از بزرگ‌ترین مسببان عدم موفقیت تیم‌ها و راهکارهایی برای پرهیز از آن‌هاست: 

کمبود اعتماد
یکی از کلیدهای موفقیت تیم کاری سطح بالای اعتماد است، اما این اعتماد با گذشت زمان و کار زیاد تیمی آرایش خود را از دست می‌دهد. برای غلبه بر این چالش مدیر می‌تواند از «اعتماد سریع» استفاده کند:
  طوری رفتار کنید که انگار هنوز اعتماد وجود دارد. 
  همان اول کار شور و شوق زیادی نسبت به ایده‌ها ابراز کنید و به این ترتیب نشان دهید پروژه به‌خوبی پیش می‌رود.
  قابل پیش‌بینی باشید. افزایش اطمینان بین اعضای تیم اعتماد را بالا می‌برد.

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

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

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

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

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

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

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


منبع:shanbemag

۲۳ فروردين ۹۵ ، ۱۲:۳۰ ۰ نظر موافقین ۰ مخالفین ۰

دوره های رایگان برنامه نویسی اندروید در محیط زامارین با دات نت

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

در اینجا به شرح ۵ دلیل جهت استفاده از زامارین برای توسعه برنامه های Android و Ios می پردازم

  1. یادگیری سریع (Less to learn)  : برای تبدیل شدن به یک برنامه نویس موبایل نیازمند یادگیری مسائل زیادی همچون  چرخه عمر فرایندها ، هنجارهای UI ، اطلاعاتی در مورد SDK و مسائل غیره زیادی می باشیم  به همین علت  اضافه کردن یک زبان برنامه نویسی جدید به لیست زبانهای ما بسیار وقت گیر می باشد و با چالش های زیادی همراه است اگر شما تجربه کار با سی شارپ دانت را داشته باشد براحتی میتوانید از امکانات در طراحی برنامه موبایل خود در کمترین زمان ممکن بپردازید و این یعنی پیمودن راه با سرعت بسیار بیشتر. ویا حتی شما یه توسعه دهنده دانت نیستید هم زامارین این امکان را به شما میدهد تا در سریعترین زمان بتوانید برنامه خود را برای سیتم عامل های Andriod یا Ios بنویسید بدونه اینکه نیاز داشته باشید وقت خود را صرف یادگیری هر کدام  از برنامه ها و شرایط ویژه محیط هر کدام کنید و این  از قابلیتهای برنامه های چندسکویی (cross-platform) می باشد. با استفاده از زامارین شما فقط نیاز به دانستن یک زبان برنامه نویسی و یک هسته که مجموعه ای از کلاس های دو سیستم عامل خواهید داشت و این یعنی صرف زمان کمتر.
  2. بدون محدودیت (No limits) : این یکی از جالبترین ویژگی های Xamarin می باشد که شما را مجبور به امتحان این اشتراک ها نخواهد کرد و شما در طراحی و توسعه برنامه های انروید همان حس و حال طراحی برنامه اندروید را خواهید داشت و هم در طراحی برنامه های Ios همان حس و حال . بعضی از ابزار نرم افزارهای چندسکویی تلاش زیادی جهت مخفی نمودن ویژگی های دیگر پلتفرما می کنند که این حس و حال را به برنامه های خارجی منتقل نسازند ولی Xamarin کاری غیر از این را انجام می دهد و این است که زامارین پذیرای ویژگی های منحصر به فرد هر پلتفرم است و این یعنی یه حس جدید که هر برنامه نویسی جهت رهایی از تکرار و حس های تکراری به آن نیاز خواهد داشت. علاوه بر کلاسهای استاندارد دات نت شامل کلاسهای خاص ios  و کلاس های خاص سیستم هامل اندروید می باشد که هر کدام خصوصیات منحصر به  فرد خاص خود را دارا می باشد. ترکیبی از کلاس های دانت و کلاسهای منحصر به فرد پلتفرم خاص اجازه می هد تا برنامه های کاربری با استفاده از ویژگی های خاص آن پلتفرم به اشتراک گذاشته شود و این یعنی همه چیز در دسترس شما و میتوانید برنامه های خود را بدونه هیچ محدودیتی نسبت به آن پلتفرم ایجاد نمایید.
  3. انتقال سریع تر به بازار (Faster time-to-market) : ابزار زامارین این اجازه را به ما میدهد که یک بار منطق برنامه خود را پیاده و برای هر نوع پلتفرمی شامل (اندروید ، آی او اس ، ویندوزفون)  به اشتراک بگذاریم و این کار و مقایسه در محیط های بومی (native) یک بار در محیط جاوا برای پلتفرم اندروید و یک بار در محیط Objective-C برای آی او اس انجام می گیرد و بر عهده native ها می باشد. به عبارت ساده تر با استفاده از محیط توسعه محلی هر پلتفرم مستلزم نوشتن کدهای مربوط به آن پلتفرم می باشد و این یعنی نوشتن کدهای بیشتر. در حالی Xamarin این امکان را میدهد تا وقت خود را صرف ساخت ویژگی های برنامه خود کنیم و از نوشتتن کدهای بیشتر پرهیز کنیم و این یعنی زمان سریع تر در رسیدن به هدف و انتشار برنامه. توجه داشته باشد در مورد مسئله انتقال سریع تر به بازار زامارین قطعآ زمان را کاهش خواهد داد اما این تصور برای شما بوجود نیاید که زمان طراحی به نصف خواهد رسید بلکه باید یک سری کد و UI برای تک تک پلتفرمهای خاص برای تعامل همراه با ویژگی های منحصر به فرد آن پلتفرم ایجاد شود.
  4. اشکالات کمتر (Fewer bugs) : یکی از اولین دلایل استفاده از زامارین این است که این ابزار باعث بوجود آمدن اشکالات کمتر خواهد شد و این دلیل سریع تر فراهم شدن زمان انتقال برنامه به بازار است . به عنوان قاعده کلی در برنامه نویسی یادمان باشد هر چقدر کد کمتری بنویسیم به خطای کمتری برخورد خواهیم کرد و خطایابی کمتر صرفه جویی در زمان است. زامارین نیز با ارائه ابزارهای خطایابی در جهت کاهش خطا گام برداشته است و دیگر نیاز به نوشتن دو مجموعه از آزمون تست که تا حد زیادی تکراری می باشد نخواهیم بود ما میتوانیم یک واحد و مجموعه کاملتر وجامع تر از کدهای اعتبار سنجی برای هر دو سیستم عمل داشته باشیم.
  5. برای شروع یادگیری زامارین بر روی این لینک کلیک کنید
۲۲ فروردين ۹۵ ، ۱۲:۰۳ ۰ نظر موافقین ۰ مخالفین ۰

۹ مهارت که برای رسیدن به موفقیت باید توسعه داده شوند

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

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

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

“برای ارتباط مؤثر باید بدانیم که درک همگی ما در رویارویی با جهان متفاوت است و باید از این موضوع به عنوان راهنمایی برای برقراری ارتباط با دیگران بهره ببریم.” -تونی رابینز

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

۳- استدلال
این مورد اهمیت بسیاری دارد. در رویارویی با مشکلات، باید آن را ریشه‌یابی کنید و این راهی مؤثر برای کنترل مشکلات است. اگر دارای مهارت‌های استدلالی باشید و در انجام آن خوب عمل کنید، به نوعی دارایی شرکت محسوب می‌شوید.

۴- سواد تکنولوژیکی
اکثر مشاغل نیازمند این مورد برای کارمندان خود هستند. برخی از مشاغل کاملا بر اساس تکنولوژی بنا شده‌اند در حالیکه تعدادی تنها برای مدیریت کارهایشان نیازمند آن هستند. در هر صورت هر کسب‌وکاری از کامپیوتر استفاده می‌کند. بنابراین مهم است مقدماتی را در مورد کامپیوتر و تکنولوژی بدانید که بدون آن پیدا کردن شغل در محیط کسب‌وکار سخت خواهد بود.

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

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

۷- انعطاف‌پذیری
سازگاری به معنای مدیریت محیط‌های کاری مختلف و تعامل با وظایف و شرایط متفاوت است. انعطاف‌پذیر بودن به این معناست که شما به هنگام تغییر یا افزایش مسئولیت‌ها می‌توانید به خوبی آن‌ها را مدیریت کنید.

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

۹- مدیریت خشم
لازم است که به خاطر خودتان و نه تنها برای شرکت و همکارانتان بدانید چگونه خشم‌تان را مدیریت کنید. فرض کنید که کارمندی با کم‌کاری یا اختلال در نظم محیط کاری و یا هر دلیل دیگری شما را عصبی کند. نباید دچار استرس شوید یا فریاد بکشید. برای سلامتی‌تان خوب نیست، از طرف دیگر شما مسئول به هم زدن جو محیط کار هستید که مطلوب هیچکس نیست.

“نگه داشتن عصبانیت مانند گرفتن یک ذغال داغ و پرت کردن آن به سمت شخصی دیگر است؛ شما کسی هستید که خواهید سوخت.” -بودا

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


منبع:پونیشا

۲۲ فروردين ۹۵ ، ۱۱:۵۶ ۰ نظر موافقین ۰ مخالفین ۰

برنامه نویسی پیشرفته اندروید جلسه سیزدهم (تغییر خودکار تصویر پس زمینه لایه )

  به نام خدا,در این جلسه می خواهیم با Thread ها در قالب یک برنامه اندرویدی اشنا بشیم.در این مبحث باهم اقدام به ساخت یک برنامه تغییر اتوماتیک تغییر پس زمینه لایه اصلی برنامه خواهیم پرداخت.که بر اساس زمان بندی که انجام خواهیم داد تصویر پس زمینه لایه رو به صورت خودکار تغییر خواهد کرد.در ابتدا توضیحات در مورد Thread ها داشته باشیم تا دوستانی که در سطح مبتدی اموزش ها رو دنبال میکنند بیشتر با این ابزار اشنا بشوند.




۰۹ اسفند ۹۳ ، ۱۸:۲۷ ۰ نظر موافقین ۰ مخالفین ۰