آرشیو اردیبهشت ماه 1401

مقالات طراحي اپليكيشن

آینده با Machine Learning

۱۱ بازديد
Machine learning (ML) فرآیندی میباشد که کامپیوتر را توانمند می‌سازد طراحی اپلیکیشن اندروید کاری را اجرا دهد که به صراحت گفته نشده میباشد چه کاری را اجرا دهد. از این رو ML نقش اصلی در تشکیل داد ماشین‌هایی که حقیقت را شعور نمایند را بر عهده گرفته میباشد. با فعال‌سازی Sophia، ربات هوش تصنعی که به وسیله Hanson robotics پیشرفته میباشد، شگفت‌زده می‌شویم که به وسیله این اشخاص هوشمند چقدر به دستیبابی به توفیق‌های رفیعتر مجاورت هستیم.
چنانچه به بعدی machine learning در 10 سال آجل فکر می کنید، در مکان قابل قبولی می باشید. بیایید برویم آغاز کنیم.
وضع و اوضاع کنونی
ML با ساخت روشی که بتوان علم را از دسته داده‌های والا بی نیاز ایجاد کرد، خطاهای اپ‌نویسی را نگه داشت و از اشتباهات منطقی پرهیز کرد، برای سیستم‌های آجل یه خرده غامض‌خیس گردیده است. با به کار گیری از کادر‌ورک BigData در اپ‌های مهم، الگوریتم‌های هوشمند فعلا میتوانند این ریپازیتوری‌های والا از داده‌های استاتیک و داینامیک را به فعالیت گرفته و به صورت مداوم سعی آن را خاطر بگیرند و بهبود دهند.
در همین سال، کارشناسان ML از انتزاع و عقیده‌پردازی بدور گردیده‌اند و بر روی اپ‌های تجاری هوش تصنعی و مصنوعی به وسیله machine learning و معنی Deep Learning تمرکز دارا هستند. در عرصه عملی، ML به صورت بزرگ در نگهداری‌های بهداشتی پیش‌گیری‌کننده، پزشکی، بانکی، مالی، بازاریابی و رسانه‌ای اجرا گردیده‌است.
با دقت به بسط ML در پنج سال پیشین، جلو رفتن آن به‌این زودی‌ها نماید نخواهد شد.
گسترش‌های ML
فی مابین توسعه و گسترش‌های اصلی ML، گوگل به تازگی پروژه Tensorflow ی machine learning خویش را open source نموده است. مایکروسافت CNTK را open source کرده، Baidu، PaddlePaddle را نشر داده و آمازون اعلام نموده است که MXNet را در پلت‌هیبت AWS ML نو خویش سوار نموده است. از طرف دیگر، فیسبوک عمدتا از بسط دو قاب‌ورک Deep Learning: Torch و Caffe نگهبانی می‌نماید. گوگل همینطور از Keras فوق‌العاده پیروز پناه می‌نماید.
این مفاد بر این ایده تمرکز دارااست که الگوریتم‌ها و machine learning برای دوران فرصت وقت گیر میخواهند در دنیای فناوری داده ها مانور دهند. تقاضا برای machine learning بیشتر گردیده‌است و پلت‌هیبت‌ها در درحال حاضر کارکشته‌خیس شدن می‌باشند.
ارتقا
در چندین سال آینده، نرم افزار‌های هوش تصنعی و مصنوعی اشاعه بیشتری پیدا می‌نمایند و عموم نسبت به ماشین‌ها تایید بیشتری دارا هستند. به این ترتیب تمامی ارائه‌دهندگان خدمت بایستی به طور دورازشوخی هم دشوار‌افزار خویش (ذخیره‌سازی، بک‌آپ، توان محاسبات، و غیره) و هم نرم افزار (خدمت‌ها، کانال‌ها، کانال‌های تک کاره، و غیره) را ارتقا دهند.
ما شاهد رونق در به کار گیری از machine learning در اپلیکیشن‌های گوشی، سیستم‌های تشخیص تصویر، اپلیکیشن‌های تشخیص سرمشق، ابزارهای فیلترینگ، رباتیک و غیره هستیم. پژوهشگران فعلا در تلاشند تا فعالیت کردن با ماشین‌هایی را پیشرفت دهند که پردازش ظریف مغز آدم را دنبال می‌نمایند. در‌صورتی‌که ما هر گره و کانال عصبی مغزمان را نقشه‌برداری کرده و داده‌ها را به آن بدهیم، سیستم بایستی کارکشته به پردازش داده‌هایی مثل مغز آدم باشد.
این معنا را محاسبات شناختی می‌نامند. از این رو سیستم‌های محاسبات شناختی از تشخیص سر مشق، پردازش لهجه طبیعی، داده‌کاوی استعمال می‌نمایند تا از روش روند مغز آدم یادگرفتن دهند. این سیستم‌ها با غرض آخری‌شان که یک دستگاه هوش تصنعی و مصنوعی حساس و فهم و شعور کننده احساسات میباشد، بایستی در سال‌های آجل اعتنا متعددی را به خویش جلب نمایند.

برای تبدیل شدن به توسعه‌دهنده Front End در سال 2020 این نکات را باید بدانید

۱۰ بازديد
برای تبدیل شدن به پیشرفت‌دهنده Front End در طراحی اپلیکیشن اندروید سال 2020 این نکات را بایستی بدانید
آیا تا به اکنون به اینترنت‌تارنما گزینه عشق و علاقه خویش نگاه کرده‌اید و شگفت‌زده گردیده‌اید که چرا به این‌شیوه پباده سازی گردیده، چرا طریق سعی دکمه‌ها هنگامی که روی آن ها کلیک میکنید به‌این شکل میباشد، یا این که هر بخش دیگر از وب سایت را چشم‌اید و با خویش تامل کرده‌اید "متعجبم، چطور این‌ها اینقدر بغرنج میباشند؟"، یا این که "کاش اینجانب هم می‌توانستم این فعالیت را اجرا دهم". بهتر مجموع این خصوصیت‌های قابل مشاهده تارنما از روش گسترش Front End ایفا می‌گردد و اشخاصی که از آنها استعمال می‌نمایند، توسعه و گسترش‌دهنده Front End نامیده میگردند.
گسترش‌دهندگان Front End بیشترین تقاضای فعالیت را دارا هستند و به همین عامل فارغ از آنان نمی‌توانیم از وب لذت ببریم. در اینجا یک تعریف و تمجید مختصر از گسترش Front End بیان شده میباشد.
بسط Front End چیست؟
در حالی که ساخت وب سایت طرز‌ای برای ظواهر اینترنت‌تارنما میباشد، توسعه و گسترش Front End طریق پیاده‌سازی آن پباده سازی در اینترنت میباشد.
پس، گسترش‌دهنده Front-End چه کسی است؟
بسط‌دهنده اینترنت Front-End فردی میباشد که طراحی وب سایت را از روش گویش‌های کدنویسی مانند HTML، CSS و JavaScript پیاده‌سازی می‌نماید. اگرچه این آیتم معمول وجود ندارد، البته برخی اوقات گسترش‌دهندگان front end "بسط‌دهندگان سمت کلاینت" نیز نامیده می شوند که آن ها را از پیشرفت‌دهندگان back end که شغل های پشت صحنه مثل دیتابیس را ایفا میدهند متمایز می‌نماید. در‌صورتی‌که به هر سایتی راز بزنید، می توانید فعالیت پیشرفت‌دهنده front end را در هر جایی ملاحظه کنید.
در‌این نوشته‌علمی بعضا از مهارت‌های مهم که توسعه و گسترش دهندگان اینترنت front end در شغل خویش به کار گیری می‌نمایند را نظارت می کنیم.
پیشرفت‌دهندگان Front-End از چه مهارت‌هایی به کار گیری می‌نمایند؟
توسعه و گسترش‌دهندگان اینترنت Front-End از سه گویش نرم افزار‌نویسی اساسی برای کد گذاری اینترنت‌وب سایت و طرح ریزی‌های اینترنت ساخت و ساز گردیده به وسیله طراحان اینترنت استعمال می‌نمایند:
HTML
CSS
JavaScript
 کدی که آنها می‌نویسند در مرورگر استفاده کننده انجام می گردد (کد بسط‌دهنده back end در اینترنت سرور ایفا میگردد). بسط‌دهنده Front-End مسئول ظواهر وبسایت میباشد، همینطور وظیفه باور از نبود نادرست و باگ‌ها در نصیب front end را داراست و همینطور باور نتایج می‌نماید که طرح به شکلی که قرار میباشد در پلت‌هیبت‌ها و مرورگرهای متفاوت نمایان خواهد شد، پباده سازی گردیده است.
در‌حالتی که این موردها اول را به خیر حافظه گرفته و بر آن ها مسلط گردید، مطمئنا به یک توسعه و گسترش‌دهنده front end عالی و خوب تبدیل می شوید!
شما آغاز با مهارت‌هایی مثل HTML و CSS استارت می کنید، بعد از آن به مهارت‌های توسعه یافته‌تری مانند بسط اینترنت ریسپانسیو و جاوااسکریپت میروید.
HTML و CSS
HTML و CSS مهم‌ترین موادتشکیل دهنده خالق کدنویسی اینترنت میباشند. سوای این دو گزینه، نمی‌توانید یک طراحی وب سایت‌وب سایت ساخت و ساز نمایید، و آحاد آنچه که در غایت با آن رو به رو خواهید شد، یک متن معمولی فرمت‌نشده در ورقه میباشد. شما حتی نمی‌توانید فارغ از HTML تصاویر را به شیت اضافه فرمائید!
پیش از اینکه در هر مسیر شغلی توسعه و گسترش اینترنت قرار بگیرید، بایستی بر روی رمز گذاری با HTML و CSS اشراف داشته باشید. خبر عالی این میباشد که استحصال علم کافی در هریک از این‌ها صرفا در پهنا یک سری هفته قابل اجرا میباشد.
 علم HTML و CSS به تنهایی به شما قابلیت و امکان ساخت اینترنت‌وب سایت‌های اصلی را می دهد.
جاوااسکریپت
جاوااسکریپت به شما قابلیت و امکان می دهد قابلیت و امکان‌های بیشتری به اینترنت‌وب سایت خویش اضافه نمائید، و میتوانید بخش اعظمی از اپلیکیشن‌های مهم اینترنت را با استعمال از HTML و CSS و جاوااسکریپت (به اختصار JS) تولید فرمائید. در ابتدایی‌ترین سطح، JS برای ساخت و ساز و در دست گرفتن مواقعی مانند نقشه‌هایی که در طی حقیقی و واقعی آپ تو دیت می شوند، فیلم‌های تعاملی و بازی‌های آنلاین به کار گیری میگردد. تارنما‌هایی مانند Pinterest شدیدا از جاوااسکریپت به کارگیری می‌نمایند تا استعمال از رابط کاربری آن ها سهل وآسان خواهد شد (این حقیقت که هر توشه که چیزی را پین می کنید برگه مجددا بارگیری نمی شود، به لطف جاوااسکریپت میباشد).
جاوااسکریپت همینطور یکی‌از دوست داستنی‌ترین گویش‌های اپلیکیشن‌نویسی در دنیا میباشد، بدین ترتیب صرف لحاظ از نرم افزار‌های شغلی شما، برای یادگیری فوق‌العاده گران بها میباشد.
jQuery
جی‌کوئری یک کتابخانه جاوااسکریپت میباشد؛ گروه‌ای از افزونه‌ها و پلاگین‌ها که توسعه و گسترش با جاوااسکریپت را سریع‌خیس و سهل‌خیس می‌سازد. عوض این که همگی چیز را از آغاز رمز گذاری فرمایید، جی‌کوئری به پیشرفت‌دهنده front end اذن می دهد تا عنصرها فراهم را به پروژه بیفزاید، بعد از آن در شکل ضرورت می توانید آن را سفارشی نمائید (یکی‌از دلایل اساسی جاوااسکریپت). شما میتوانید از جی‌کوئری برای مواقعی مانند تایمرهای شمارش معکوس، کامل شدن هیبت‌های کاوش به طور خود کار، و حتی تهیه دوباره اتومات و تغییر و تحول اندازه طرح‌های گرید به کار گیری نمائید.
قاب‌ورک‌های جاواسکریپت
کادر‌ورک‌های JS (مشمول AngularJS، Backbone، Ember و ReactJS) یک ساختار مهیا به کد جاوااسکریپت شما میدهند. اگرچه چهار گزینه مذکور دوست داستنی‌ترین کادر‌ورک‌ها در لیست‌های شغلی می‌باشند، البته گونه های مختلفی از کادر‌ورک‌های جاوااسکریپت برای نیازهای گوناگون وجود دارااست. این کادر‌ورک‌ها حقیقتا به بسط سرعت میبخشند و می توانند با کتابخانه‌هایی مانند جی‌کوئری گزینه استعمال قرار گیرند تا ترازو کدنویسی از آغاز را به دستکم برسانند.
قاب‌ورک‌های Front End
CSS و کادر‌ورک‌های front end (دوستداشتنی‌ترین کادر‌ورک front end بوت‌استرپ میباشد) برای CSS به عبارتی کاری را جاری ساختن می دهد که JS Frameworkها برای جاوااسکریپت ایفا می دهند: آنان برای رمز گذاری سریع‌خیس نقطه پریدن شما می باشند. اکثر عمل‌های مرتبط با گسترش front end انتظار دارا‌هستند که شما با طرز عمل و به کار گیری از این قاب‌ورک‌ها آشنا باشید.
تجربیات عمل با پیش‌پردازنده‌های CSS
پیش‌پردازنده‌ها عنصر دیگری میباشد که بسط‌دهنده front end قادر است برای سرعت بخشیدن به کد گذاری CSS به کارگیری نماید. پیش‌پردازنده CSS قابلیت و امکان‌های اضافه‌ای را به CSS اضافه می‌نماید تا CSS را مقیاس‌پذیر نگه داشته و شغل با آن را ریلکس‌خیس سازد. کد شما‌را پیش از تکثیر در اینترنت‌تارنما‌تان پردازش کرده و آن را به CSS ای که به خیر فرمت گردیده و با مرورگر سازگار میباشد تبدیل می‌نماید. SASS و LESS دو پیش‌پردازنده‌ای می باشند که بسیار آیتم تقاضا هستند.
شغل با خدمت‌های RESTful و APIs
REST مخفف Representational State Transfer میباشد، که یک معماری مدل میباشد که رابطه کانال در اینترنت را معمولی می‌نماید و خدمت‌های RESTful و APIs آن گروه از خدمت‌های اینترنت میباشند که به معماری REST پایبند میباشند.
شاید این قضیه به حیث غامض و فنی بیاید، البته دسته بی آلایش‌ای از راهبرد‌ها و طریق‌ها میباشد که انتظارات را تهیه و تنظیم می‌نماید تا بدانید به چه شکل می توانید با یک اینترنت خدمت رابطه برقرار فرمائید. آنها همینطور منجر میگردند که اینترنت خدمت تلاش خوب و مقیاس‌بندی بهتری داشته باشد، با باور بیشتری شغل نماید و تغییر و تحول و اصلاح آن آسوده‌خیس خواهد شد.
ریسپانسیو بودن و پباده سازی گوشی
امروزه اشخاص متعددی از روش دستگاه گوشی خویش به وب دسترسی دارا هستند، به این ترتیب مکان تعجب وجود ندارد که مهارت‌های پباده سازی تلفن همراه و ریسپانسیو بودن برای کارفرمایان بسیار اصلی میباشد. پباده سازی ریسپانسیو بدین مضمون‌ میباشد که طرح تارنما (و برخی اوقات همت و محتوا) بر پایه ی اندازه برگه و دستگاهی که فرد از آن به کارگیری می‌نماید تغییر‌و تحول ‌نماید.
پباده سازی تلفن همراه می تواند دربرگیرنده پباده سازی ریسپانسیو باشد، البته همینطور دربرگیرنده ساخت‌و‌ساز پباده سازی‌های خاص گوشی میباشد. گه گاه تجارب‌ای که شما میخواهید استفاده کننده هنگام بازدید از تارنما شما از روش رایانه داشته باشد،‌ تماما متعدد از آن چیزی باشد که می خواهید هنگام بازدید از تلفن هوشمند ببیند و دراین مورد منطقی میباشد که وب سایت گوشی تماما مختلف باشد.
بسط Cross-Browser
مرورگرهای امروزی در اکران اینترنت‌وبسایت‌ها تماما بهتر کار می‌نمایند، البته هنوز در طریق تعبیر و تفسیر کد در پشت صحنه اختلاف وجود داراست. تاهنگامیکه همگی مرورگرهای امروزی به خیر با همگی استانداردهای اینترنت شغل نکنند، درک کردن اینکه چطور آنان را بسازیم تا به روش‌ای که ما میخواهیم بر روی همگی مرورگرها عمل نمایند یک مهارت اصلی میباشد. این به عبارتی چیزی میباشد که پیشرفت cross-browser در باب آن میباشد.
سیستم‌های رئیس محتوا و پلت‌هیبت‌های بیزنس الکترونیکی
نسبتاً همگی اینترنت‌وب سایت‌ها بر روی سیستم مدیر محتوا (CMS) تشکیل‌شده‌اند. پلت‌هیبت‌های بیزنس الکترونیکی نوع خاصی از CMS می‌باشند. دوست داستنی‌ترین CMS در سراسر دنیا وردپرس میباشد که در پشت میلیون‌ها اینترنت‌وب سایت قراردارد.
دیگر CMSهای محبوبی که وجود دارااست مشمول Joomla، Drupal و Magento میباشد. اگرچه پی بردن این مورد ها به اندازه وردپرس گزینه تقاضا وجود ندارد، البته می تواند میان کمپانی‌هایی که از این سیستم‌ها به کار گیری می‌نمایند، یک مزیت برای محسوب گردد.
آزمایش و دیباگ کردن
این حقیقت معاش برای بسط‌دهنده اینترنت front end میباشد: باگ‌ها چهره می دهند. شناخت با پروسه آزمایش و دیباگ کردن امری حیاتی میباشد.
Unit testing فرایند آزمایش بلوک‌های غیر وابسته سورس کد میباشد (شیوه نامه‌هایی که می گوید یک وبسایت بایستی چطور عمل نماید) و قاب‌ورک‌های Unit testing نحوه و ساختار خاصی را برای ایفا این شغل ارائه میدهند (برای هر گویش اپلیکیشن‌نویسی مورد ها مختلفی وجود دارااست).
نوع دیگر آزمایش، UI testing میباشد، که acceptance testing، browser testing و functional testing نیز نامیده میشود، جایی که شما پژوهش میکنید تا مطمئن گردید اینترنت‌وب سایت در زمان عملیاتی که استفاده کننده اجرا میدهد، آن طور که بایستی خلق می‌نماید. می توانید آزمایش‌هایی بنویسید که بعداز اعمال اقدامی در‌پی چیزهایی مثل یک HTML خاص در ورقه بگردد، مانند اعتقادوباور از اینکه درصورتی که استفاده کننده فراموش کرد یک فیلد لازم هیبت را مالامال نماید، پیغام غلط بر روی کاغذ نمایان خواهد شد.
دیباگینگ به آسانی تمامی باگ‌ها را پیدا می‌نماید. کمپانی‌های متعدد از فرآیندهای یه خرده متعدد برای این فعالیت به کار گیری می‌نمایند، البته در حالتی که از یکی‌از آن ها به کار گیری کرده باشید، به آسانی میتوانید با موردها دیگر نیز عمل نمائید.
مهارت حل مسأله
در حالتی‌که یک چیز وجود داشته باشد که کلیه توسعه و گسترش‌دهندگان front end می بایست آن را بلد باشند، مهارت خوب حل مسأله میباشد. از اینکه بدانید به چه شکل می‌قدرت به شایسته ترین صورت یک طرح را پیاده‌سازی کرد، تا رفع باگ‌هایی که وجود دارا‌هستند، و اینکه متوجه گردید چطور کد front end خویش را بنویسید که با کد backend هماهنگ باشد. تمام پیشرفت درباره‌ی حل خلاقانه مسأله میباشد.
حال شما فراهم می باشید که به یک گسترش‌دهنده Front End تبدیل گردید، البته مرحله بعد از آن چیست؟
در شرایطی‌که به‌این سود رسیدید که گسترش اینترنت Front End برایتان جذاب میباشد، احتمالا از خویش می پرسید بایستی از کجا آغاز نمائید.
در صورتی‌که میخواهید تحت عنوان بسط‌دهنده Front End شغل نمایید البته نمی‌دانید که مهارت‌های مورد نیاز را از کجا دستیابی فرمایید، در مکان قابل قبولی می باشید! شما میتوانید از یادگرفتن‌ بدون پول HTML و CSS استارت نمائید.
در‌این مسیر میتوانید محور محکمی برای حصول به فعالیت توسعه و گسترش‌دهنده‌ای که در ادامه آن میباشید، به دست آورید. شما با مهارت‌هایی مانند HTML و CSS استارت خواهید کرد، آن‌گاه به مهارت‌های توسعه یافته‌تری مانند توسعه و گسترش اینترنت ریسپانسیو، جاوااسکریپت، و غیره می روید.

کار با API در اپلیکیشن اندروید

۱۰ بازديد
امروز میخواهیم به شما فراگیری بدهیم طراحی اپلیکیشن اندروید که چه‌گونه با API در نرم افزار اندروید خویش در تعامل باشید
خب در اولِ فعالیت ما یک متغیر از نوع لیست و یک
Request network نیاز داریم
private HashMap api_all = new HashMap<>();
private RequestNetwork api;
private RequestNetwork.RequestListener _api_request_listener;
خب در کد های بالا هردو آنان را تعریف و تمجید کردیم درحال حاضر می بایست گزینش کنیم که در صورتی‌که مشکلی وجود نداشت و درخواست با توفیق به API ابلاغ شد سود JSON را در یک متغیر مپ که با اسم api_all تعریف و تمجید کردیم ذخیره نماید
private void initialize(Bundle _savedInstanceState) { api = new RequestNetwork(this); _api_request_listener = new RequestNetwork.RequestListener() { @Override public void onResponse(String _param1, String _param2) { final String _tag = _param1; final String _response = _param2;
api_all = new Gson().fromJson(_response, new TypeToken>(){}.getType()); }
در کد های بالا آحاد فیض json را ذخیره کردیم یعنی هنگامی درخواست ابلاغ شد فیض در متغیر لیست ذخیره می‌شود .
اکنون بایستی درخواست را به API ارسال کنیم
این کد را در شیت مهم قرار می دهیم تا همین که نرم افزار گشوده شد درخواست ارسال گردد
private void initializeLogic() {
api.startRequestNetwork(RequestNetworkController.GET, "https://api.com", "", _api_request_listener);
}
در کد بالا درخواست را ارسال کردیم ، تا الان به طور بی نقص توانستیم به API درخواست ارسال کنیم و فیض را ذخیره کنیم
اینک خاطر می‌گیریم که به چه شکل داده ها را که در متغیر api_all قرار دادیم را دستیابی کنیم
(داده ها مانندِ : یک آرایه ، یک حرفه ، یک آبجکت .... )
private String query = "";
خب در کد بالا آغاز یک متغیر ساخت کردیم با اسم query که آبجکت متبوع رو درین متغیر دستیابی کنیم
query = api_all.get("person1").toString();
در کد بالا متغیر query را موازی کردیم با یک آبجکت person1 این آبجکت از به عبارتی فیض json میباشد که در متغیر api_all ذخیره کرده ایم
کد بالا فقط یک نمونه بود شما می‌توانید هر آبجکتی که در فولدر JSON به دست آورده اید را به صورت بالا در هر کجا که می‌خواهید از متغیر مپ آیتم نظرتان که سود را در آن ذخیره کردید به دست آورید
امیدوارم به دردتان خورده باشد
برنده و موفق باشید .

چند وب سایت برتر برای برنامه نویسان، توسعه دهندگان و تولیدکنندگان

۱۱ بازديد
دنیای آنلاین شایسته ترین جای برای اپلیکیشن‌نویسان طراحی اپلیکیشن اندروید میباشد. اپلیکیشن‌نویسان و پیشرفت‌دهندگان می توانند از روش برخی اینترنت‌تارنما‌ها هم از منابع آموزشی به کارگیری نمایند و هم از آنها برای امداد به یافتن ایرادات، ساخت‌و‌ساز رزومه، همیاری با دیگر گسترش‌دهندگان و غیره به کار گیری نمایند. در‌این نوشته‌علمی قصد داریم تا شایسته ترین اینترنت‌وبسایت‌ها را به شما معرفی کنیم.
StackExchange
کلیه Stack Overflow و Ask Ubuntu را که بخشی از کانال StackExchange میباشند، می‌شناسند. ولی ده ها وب سایت دیگر درشبکه StackExchange وجود دارااست که به علم ها کامپیوتر و اپلیکیشن نویسی تخصیص یافته اند. برخی از وب سایت های آیتم عشق و علاقه ما:
Software Engineering
Code Review
Database Administrators
چرا از StackExchange استعمال میگردد؟
● ارتقای مهارت های مهندسی اپ
● یاری به دیگر بسط دهندگان با پاسخ دادن به سوالات آن ها
● نشانه دادن مهارت هایتان توسط پیوند دادن حساب StackExchange خویش در رزومه یا این که تارنما وابسته به خودتان
GitHub
GitHub نیازی به معرفی برای گسترش دهندگان اپ ندارد. GitHub محیطی در وب میباشد که در آن پروژه های منبع گشوده (open source) تشکیل‌شده اند.
چرا از GitHub به کار گیری می‌گردد؟
● به اشتراک گذاری کدهای خویش با بقیه نقاط عالم
● شرکت کردن در پروژه های منبع گشوده ( open source)
● ساخت وب سایت های بدون پول با به کار گیری از صفحه ها GitHub، یک پروفایل بهتر GitHub قادر است زمان های شغلی خوب ساخت و ساز نماید
DevDocs
DevDocs یک نرم‌افزار منبع گشوده تک برگه ای میباشد که به شما این قابلیت و امکان را میدهد که مستندات همگی گویش ها و قاب‌ورک‌های نرم‌افزار نویسی دوستداشتنی را کاوش نمائید.
چرا از DevDocs استعمال میشود؟
● سریعترین رویه برای جستجوی مستندات
● آفلاین فعالیت می نماید. محیطی برای جستجوی همگی سندها
Hacker News
Hacker News اینترنت سایتی میباشد که در آن اشخاص لینک و پیوند ها را ارسال می نمایند و در خصوص آنان دعوا های جالبی می نمایند. بیشتر مفاد ارسالی مرتبط با Silicon Valley، ایجاد اشتغال و فناوری میباشد.
چرا از Hacker News استعمال میشود؟
● برای آپ دیت نگه داشتن Silicon Valley و اکوسیستم تکنولوژی آمریکا
● محلی برای بحثهای با باکیفیت و مطلوب
diff.blog
diff.blog یک نویسنده وب لاگ مهندسی برنامه میباشد. این وبسایت پست های هزار بلاگ مهندسی و بلاگ های گسترش دهنده را عده می نماید.
چرا از diff.blog به کار گیری میشود؟
● میتوانید بلاگ های مهندسی شرکتهای فناوری و بسط دهندگان را از سراسر وب دنبال فرمائید
● در حالتی که وبلاگی راجع به مهندسی نرم‌افزار دارید، می‌توانید آن را در diff.blogقرار دهید تا مخاطبان متعددی به دست آورید
Udemy
Udemy یکی اصلی ترین سایت های آموزشی در دنیا میباشد. حدوداً درهر سوژه مربوط به فناوری دارنده آموزشهای فوق العاده میباشد.
چرا از Udemy به کار گیری می‌شود؟
● برای یادگیری مهارت های نو
DigitalOcean
DigitalOcean یک ارائه دهنده هاستینگ میباشد که در آن میتوانید سرورها، مقر های داده و غیره را هاست نمائید. این وبسایت دربین بسط دهندگان بسیار دوست داستنی میباشد.
چرا از DigitalOcean به کارگیری میشود؟
● برای هنگامی که روی پروژه فردی خودکار میکنید و میخواهید همگی چیز را تا حد ممکن معمولی نگه دارید و دنبال یک رابط کاربری راحت می‌باشید
IndieHackers
IndieHackers عده ای از گسترش دهندگان و کارآفرینان میباشد که فارغ از گردآوری پول سعی بر ساخت موسسه ها اینترنتی سودآور دارا هستند.
چرا از IndieHackers به کار گیری میگردد؟
● تعامل با کسانی که در هم اکنون تشکیل داد یا این که تولید شرکتهای اینترنتی برنده می‌باشند
Resumake
Resumake یک وبسایت منبع گشوده میباشد که به شما یاری می نماید که سوابق کاری برای درخواست مشاغل مهندسی برنامه بسازید.
چرا از Resumake استعمال می‌گردد؟
● تشکیل داد رزومه بهتر که به راحتی آیتم به کارگیری قرار گیرد
● رزومه را به طور PDF، Latex و JSON صادرمی نماید تا نوبت آینده مایحتاج نباشد از آغاز آغاز فرمایید
Leetcode
Leetcode اینترنت سایتی میباشد که به شما برای رای زنی های مهندسی اپ یاری می نماید.
چرا از Leetcode به کارگیری می گردد؟
● تمرین ایرادات کدنویسی که در طی گفتگو های مهندسی اپ پرسیده می گردد
● استحضار از تجربه گفت‌و‌گو های اشخاص
Glassdoor
Glassdoor اینترنت سایتی میباشد که نیروی کار موسسات خویش را در آن تحقیق می نمایند.
چرا از Glassdoor استعمال می گردد؟
● پی بردن اینکه فعالیت در کمپانی چه‌گونه میباشد
● فهمیدن حقوق و دستمزد کارگر شرکت های
ProductHunt
ProductHuntوب سایتی میباشد که گسترش دهندگان و شرکتهای، وبسایت ها، نرم افزار ها و… را که جدیداً ساخته اند در آن فعال سازی می نمایند.
چرا از ProductHunt به کارگیری میشود؟
● اگاهی از پروژه هایی که استارت به عمل می نمایند
● فعال سازی وبسایت یا این که طرحی که خودتان ساخته اید
امید‌واریم از این نوشته‌ی علمی لذت برده باشید.

RabbitMQ چیست ؟ چرا از آن استفاده کنیم ؟

۹ بازديد
با توسعه و گسترش عالم ، عموم راه‌حل های بر طرف کردن طراحی اپلیکیشن اندروید نیاز هاشون رو بیشتر از مدام سمت نرم افزار های قابل انعطاف افزاری می‌بینند . در مجموع ، تکنولوژی داره روز آپدیت توسعه میکنه و عموم دارا‌هستند به سمت به کار گیری از تکنولوژی برای برطرف کردن نیاز ها و مشکلاتشون فی مابین و بقول معلم مدائنی ، این فرمان سوای ما برنامه نویسان غیر ممکنه
RabbitMQ چیست ؟ چرا از آن استعمال کنیم ؟
با توسعه و گسترش عالم ، عموم چاره های بر طرف کردن نیاز هاشون رو بیشتر از مدام سمت نرم‌افزار های قابل انعطاف افزاری می‌بینند . کلاً ، تکنولوژی داره روز آپدیت بسط میکنه و عموم دارا هستند به سمت به کارگیری از تکنولوژی برای برطرف کردن نیاز ها و مشکلاتشون فی مابین و بقول معلم مدائنی ، این فرمان سوای ما برنامه نویسان غیر ممکنه
لذا با این شرایط ما برنامه نویسان ، احتیاج داریم که نرم افزار های خودمون رو بروز کنیم تا یه وقت توی این سیل اپ ها و تکنولوژی ها ، اپ ما جا مثال
RabbitMq یک کدام از اون سیستم هایی میباشد که ما نیاز داریم توی پباده سازی اپ های مقیاس تعالی و قابل گسترش از اون به کار گیری کنیم .
RabbitMQ سیستمی می باشد که تحت عنوان Message-Broker یا این که جابجایی دهنده پیام میان سیستم های متفاوت فعالیت میکنه که با به کارگیری از اون میتونیم پیام ها رو صف بندی کنیم و در میان سیستم های گوناگون جابجایی بدیم .
ما قادر خواهیم بود با استعمال از RabbitMQ در بین سیستم های متفاوت با سرور های متعدد و حتی لهجه های اپ نویسی متفاوت رابطه برقرار کنیم و پیام هایی که محتوا آن ها برخی پوشه ، داده ها ، اطلاعات و خیلی چیز های دیگه می‌باشند رو ارسال کنیم و اینطوری اپلیکیشن ما میتونه بروز باشه و این یعنی تکنولوژی .
در‌پی با بعضی اصطلاحات و مفاهیم در RabbitMQ آشنا میشویم .

چالش‌های احتمالی در فرآیند توسعه برنامه React Native

۱۳ بازديد
یکی بحران‌های این کادر‌ورک، تعلق به پیشرفت‌دهندگان نرم افزار‌هایnative میباشد، طراحی اپلیکیشن اندروید به ویژه هنگام عکس العمل با فرآیندهای محاسباتی هنگفت و بغرنج. بحران دیگر، و خیر محدودیت، این میباشد که‌این قاب‌ورک از threadهای برابر یا این که پردازش چندگانه نگهبانی نمی‌نماید. براین اساس هنگام اجرای چند پردازش با هم، همت نرم‌افزار کاهش مییابد.
همینطور لایه‌های انتزاعی (abstraction layers) در React Native محدودیت‌های خاصی دارا هستند. آنان متعلق به خدمت‌ها و کتابخانه‌های دیگر می باشند. یافتن باگ‌ها در لایه‌های انتزاعی تماما سخت میباشد. براین اساس حل آنان نیز فرصت‌بر میباشد. معضل دیگر هنگام به کار گیری از این کادر‌ورک در هنگام استقرار (deploy کردن) iOS میباشد، چون آزمایش نرم‌افزار‌های آیفون در هر خدمت آزمایش دیگری به جز Apple’s Testflight حقیقتا آزاردهنده میباشد.
با وجود این بحران‌ها، React Native آیتم خیر و خوبی برای خدمت‌های توسعه و گسترش نرم‌افزار‌های React Native جهت تایپ کردن نرم‌افزار‌های کارکشته رندر گردیده به طور native میباشد. خلال این، توسعه و گسترش‌دهندگان با سابقه به خیر میتوانند از پس این معضل‌ها بر آیند، در حالی که یک پیشرفت‌دهنده جدید‌فعالیت یا این که با مهارت معدود مشکلات بیشتری را مرتکب می شود.
براین اساس، برای ساخت‌و‌ساز یک فرآورده پایانی بی‌عیب و نقص، به ویژه برای توسعه و گسترش‌دهندگان نو ضروری میباشد که از این ایرادات با خبر باشند. پس بگذارید یک نگاه اجمالی به خطاها احتمالی که قادر است در طول ساخت اپ‌های React Native از آن ها اجتناب گردد، بیاندازیم.

تابعی که یکی از پارامترهای خود را تغییر می‌دهد

۱۰ بازديد
زمانی تابعی را فراخوانی میکنیم که یک پوینتر را طراحی اپلیکیشن اندروید تحت عنوان پارامتر میگیرد، انتظار داریم که متغیر ما تغییر و تحول داده گردد. در شرایطی‌که شما متغیر را در تابع خویش تغییر و تحول نمی‌دهید، پس احتمالا نباید از پوینتر به کارگیری فرمایید.
2. کوشش خوب
در صورتی حرفه‌ای داشته باشید که مشمول یک کتاب داستان بی نقص در یاد باشد، اسکن کردن این متغیر هر توشه که به یک تابع نو ارسال می گردد، کاری بسیار گران میباشد. ممکن میباشد باارزش باشد که به مکان این فعالیت یک پوینتر را ارسال فرمایید، که منجر صرفه‌جویی در پردازنده و یاد میشود. با این هم اکنون اجرا این عمل به قمیت خوانا بودن میباشد، براین اساس صرفا در شکل ضرورت این باصرفه‌سازی را جاری ساختن دهید.
3. به مورد Nil نیاز دارید
بعضی وقت ها یک تابع می بایست بداند که مقدار یک چیزی چیست، همینطور می بایست وجود یا این که خلا آن را بداند. معمولا هنگام تلاوت JSON از این به کارگیری میکنیم تا بدانیم فیلدی وجود داراست یا این که نه. به عنوان مثال در حالتی که یک شیء JSON باشد:
{ "name": "qvault" } ----> *name: "qvault"
{ "name": "" } ----------> *name: ""
{} ----------------------> *name: nil
عده‌بندی
این‌ها برخی از موردها کلی برای به کارگیری از پوینترها در کدتان میباشد. در صورتی‌که مطمئن نیستید و مقدار ساده به خیر و خوبی فعالیت می‌نماید، سفارش میکنیم از پوینتر به کار گیری نکنید. یوینترها ابزار مفیدی می باشند البته به راحتی می توانند سبب به اشکالات نا مطلوب یا این که کد غیر قابل تلاوت شوند.
اگر که بدین لهجه دوست داستنی و بعدی‌دار عشق‌مند میباشید، می توانید برای استارت از یادگرفتن بدون‌پول لهجه GO از صفر آغاز فرمایید، و بعد از آن برای توسعه یافته شدن از یادگرفتن لهجه نرم‌افزار‌نویسی GO به کار گیری نمائید.

چند مهارتی که باید برای تبدیل شدن به یک توسعه‌دهنده برجسته بدانید

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

استفاده از خلاقیت در محتوا

۱۲ بازديد
به فرض نمونه، در صورتیکه یک فرد شصت ساله خواننده مقاله ها طراحی اپلیکیشن اندروید شما باشد، چه انتظار دارید که کلماتی که در سطح توییتر و اینستاگرام میشود را فهم و شعور نماید؟ اما خوشبختانه امروزه وب به نحوی کبیر گردیده‌است که در تمامی مقاطع، اشخاص می توانند متن دلخواه خویش را بخوانند و از این جهت مشکلی بابت این گزینه وجود ندارد.
ولی شما فرض را بر این بگیرید که یک فرد بزرگسال، نهinstagram داراست و خیر توییتر، هم اکنون چطور می بایست آن کلمه ها را فهم نماید؟
مطالب آموزشی ساخت فرمایید
اولیه چیزی که بایستی برای ابتکار عمل در محتوا در لحاظ بگیرید، این میباشد که جمعیت خویش را بشناسید.
مشاهده کنید که چه عده ای وارد وبسایت شما میشوند و قصد دارا هستند تا چه کارهایی اعمال دهند. آیا جمعیت شما با فضای وب مانند اینستاگرام، telegram، توییتر و... آشنا می باشند؟
چنانچه تارنما شما مطالب آموزشی ساخت می‌نماید، آیا حقیقتا آحاد اشخاصی که در وبسایت می باشند، تخصص ما یحتاج را در اجرا دادن آن عمل را دارا هستند؟

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

۱۱ بازديد
یکی مباحث مهمی که در پروژه‌های اپ‌های تجاری به آن دقت می گردد، طراحی اپلیکیشن اندروید سوژه ارزش میباشد. ارزش پارامتری میباشد که ممکن میباشد ما در پروژه‌هایمان از مخاطب درخواست کنیم. با اعتنا به اینکه در مرزوبوم ما اکثر ارزش‌ها پول هایی می باشند که از بها 1000 تومان بیشترند، ما مستلزم یک جداکننده هزار هستیم. در اپلیکیشن نیز ما به اینگونه چیزی نیاز داریم تا احتمال خطای ما و مخاطب کمتر گردد.
یکی‌از مباحث مهمی که در پروژه‌های اپلیکیشن‌های تجاری به آن دقت میشود، سوژه ارزش میباشد. ارزش پارامتری میباشد که ممکن میباشد ما در پروژه‌هایمان از استفاده کننده درخواست کنیم. با اعتنا به اینکه در مرزوبوم ما اکثر ارزش‌ها پول هایی میباشند که از ارزش 1000 تومان بیشترند، ما مستلزم یک جداکننده هزار هستیم. در اپ نیز ما به اینگونه چیزی نیاز داریم تا احتمال خطای ما و استفاده کننده کمتر گردد. در‌این فراگیری به شما خاطر خواهم بخشید چه‌طور برای تکست‌جعبه ها و یا این که دیگر ابزارها همانند لیبل‌ها و متن ها، جداکننده هزار قرار دهید تا سه رقم سه رقم جداگانه شوند.
اضافه کردن جداکننده هزار برای تکست‌جعبه
برای اضافه کردن جداکننده به تکست‌جعبه کافیست کد پایین را در اتفاق افتاد تغییر تحول متن (TextChanged) تکست‌جعبه قرار دهید تا در طی تایپ در تکست‌جعبه، جداکننده هزار نیز قرار داده گردد.
private void textBox1_TextChanged(object sender, EventArgs e)
{
if (textBox1.Text == "" || textBox1.Text == "0") return;
decimal price;
price = decimal.Parse(textBox1.Text, System.Globalization.NumberStyles.Currency);
textBox1.Text = price.ToString("#,#");
textBox1.SelectionStart = textBox1.Text.Length;
}
بجای textBox1 اسم تکست‌جعبه خویش را قرار دهید.
بعضا مواقع مورد نیاز میباشد ما از عدد داخل تکست‌جعبه بعنوان یک کدام از پارامتر‌های عددی جدول در خزانه‌اطلاعاتی به کار گیری کنیم، و از آن‌جا که اضافه کردن جداکننده هزار عددمان را تبدیل به حرفه می‌نماید، مورد نیاز میباشد از سیاق Replace استعمال شود.
به عنوان مثال:
Class class=new Class();
class.digit=int.Parse(textBox1.Text.Replace(",",""));
در نمونه بالا، کلاس ذهنی ما، یک پراپرتی به اسم digit (عدد) داراست که مقدار این پراپرتی مبنی بر عدد باطن textBox1 (تکست‌جعبه شماره 1) جای‌دارد. در فیض برای بیرون کردن متن تکست‌جعبه از موقعیت فن‌ای به عددی کافیست از روال Replace به کارگیری کنیم.