Monday, September 21, 2020

چطور یک استراتژی بازاریابی دیجیتال طراحی کنیم؟

 


۱) پرسونای خریداران خود را بسازید

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

 

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

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

 

روش نوشتن استراتژی دیجیتال مارکتینگ

اطلاعات کیفی یا روانشناسی

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

گام دوم چالش: مخاطب شما برای برقراری ارتباط با شما (خرید و استفاده از محصول) با چه مشکلاتی روبرو است؟ ربسک های معامله با شما چیست؟ و …
گام سوم علاقه مندی ها: مخاطب شما به چه موضوعاتی علاقه مند است؟ (این علاقه باید حول کسب و کار شما باشد) برای مثال اگر شما مدیر یک برند مد و فشن هستید باید بدانید که آیا مخاطبان جامعه هدف شما به دنبال موضوعات تناسب اندام هستند یا خیر؟

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

 

اطلاعات کمی یا دموگرافیک

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

 


نمونه پرسونا برای یک برند پوشاک مردانه

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


۲) ایجاد برنامه تولید محتوا

داشتن برنامه و استراتژی تولید محتوا یکی از ارکان مهم استراتژی بازاریابی دیجیتال می‌باشد برنامه تولید محتوا به طور خلاصه باید شامل موارد زیر باشد:

  • عنوان
  • هدف
  • ساختار
  • رسانه معرفی و تبلیغ

این برنامه باید با توجه به پرسونا مخاطب نوشته، در رسانه ای که او حضور دارد منتشر و بعد از رسیدن به اتمام برنامه توسط ابزارهای مناسب، بازدهی آن سنجیده شود.

 

استراتژی دیجیتال مارکتینگ

۳) بررسی و انتخاب کانال های بازاریابی دیجیتال

ما باید با توجه به هدف خود، بودجه والبته جامعه هدف (پرسونا مرحله ۱) رسانه ایده آل برای تدوین کمپین های تبلیغاتی خود را انتخاب کنید. این رسانه ها خود به سه دسته اصلی تقسیم می‌شوند:

رسانه‌های شخصی

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

 

رسانه‌های اکتسابی

این رسانه‌ها به عبارت ساده‌تر به همان بازاریابی دهان به دهان، روابط عمومی وهر تبلیغی که برای آن هزینه نکرده‌اید اشاره می‌کند. شما می‌توانید برای مثال از طریق اشاراتی در مطبوعات (ستون تحلیلی، خبرسازی و…)، نقدهای مثبت و یا افرادی که محتوای شما را به اشتراک می‌گذارند رسانه‌های اکتسابی بدست آورید. گاهی فقط با خبرسازی در یک روزنامه یا قرار دادن یک خبر در یک شبکه اجتماعی، رسانه‌های اکتسابی زیادی به دست شما می‌آیند.

 

رسانه‌های پولی

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

 

۴) اهداف و ابزارهای دیجیتال مورد نیاز را بشناسید

اهداف استراتژی بازاریابی شما باید جز اهداف اساسی و مهم کسب و کار شما باشد. برای مثال شما برای بهبود سالیانه فروش تا ۱۰٪ برنامه ریزی می کنید که میزان تولید محتوا در ماه را تا ۵٪ ارتقاء دهید.
هدف اصلی هرچه که باشد شما باید قادر باشید آن را اندازه گیری و مدیریت کنید، اینکه استراتژی شما چه بازدهی داشته است؟ چه تدابیری می‌توانست تاثیر آن را بهبود ببخشد؟ و … از جمله مواردی است که باید با ابزارهای تحلیل داده بررسی و پس از آنالیز در مورد آن تصمیم گیری شود.

جمع بندی برنامه و استراتژی بازاریابی دیجیتال

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

Saturday, September 19, 2020

پایتون چیست و برای چه کسانی مناسب است؟

پایتون چیست؟

پایتون یک زبان برنامه نویسی عمومی است – این بدان معناست که برخلاف HTML ،CSS و JavaScript ، از این زبان می‌توان به غیر از توسعه وب برای انواع دیگر برنامه نویسی و توسعه نرم افزار نیز استفاده کرد.

پایتون می‌تواند برای مواردی مانند:

۱. بک اند توسعه برنامه وب و تلفن همراه (یا سمت سرور)

۲. برنامه دسک تاپ و توسعه نرم افزار

۳. پردازش داده های بزرگ و انجام محاسبات ریاضی

۴. نوشتن اسکریپت های سیستم (ایجاد دستورالعمل هایی که به سیستم رایانه ای می‌گوید “کاری” انجام دهد)

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

 

پایتون برای چه کسانی خوب است؟

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

کد چاپ

این کد برای چنین عملکرد ساده‌ای زیادی طولانی است.

اکنون نگاهی به همان تمرین نوشته شده در کد پایتون بیندازید:

hello world

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

۱. رمزگذارهای آغازین

۲. توسعه دهندگان وب و برنامه‌های تلفن همراه

۳. مهندسین نرم افزار

۴. دانشمندان داده

و هر کس دیگری که برنامه نویسی کامپیوتر کار می‌کند یا در مورد آن یاد می‌گیرد! 

Monday, September 14, 2020

اصطلاحات ضروری در مسیر یادگیری برنامه نویسی اندروید

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

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

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

کیت توسعه نرم افزاری (SDK)

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

نکته:
 پس قبل از شروع هر کاری نیاز است تا شما SDK اندروید را بر روی سیستم خود نصب کرده و با استفاده از ابزارهای موجود ایده خود را پیاده سازی کنید.

نکته۲: شما به عنوان برنامه نویس اندروید اگر قصد دارید از جاوا استفاده کنید باید کیت Java Development Kit یا همان JDK را دانلود کنید برای این مهم شما می توانید از توسعه دهندگان گوگل و یا سایت جاوا اقدام به این کار کنید. (در حال حاضر شما با مفهوم JDK نیز آشنا شدید.)

 

کیت توسعه بومی(NDK)

کیت توسعه بومی یا Native Development Kit، به برنامه نویسان و کاربران این اجازه را می‌دهد که کدهایی که به زبان C و ++C نوشته شده است را در اپلیکیشن خود اجرا کنند.
لازم به ذکر است که NDK در حال حاضر زیر مجموعه SDK بوده و برنامه نویس، هنگام نصب اندروید استودیو (در ادامه به آن می‌پردازیم) و SDK، نرم افزارها و ابزارهای مختلفی را نیز همزمان تصب می‌کند.
نکته: مهم ترین ویژگی NDK در اپلیکیشن های مالتی مدیا می‌باشد چرا که برنامه نویس می‌تواند از این طریق سرعت اجرای برنامه را بهشکل قابل توجهی بهبود ببخشد.

 

Gradle

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

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

 

مفاهیم جاوا اندروید

شناسه اپلیکیشن اندروید (Manifest)

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

 

نام بسته (Package name)

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

 

وب سرویس یا API

وب سرویس یا Application Programming Interface یک مرز مشترک بین دو سرویس و سیستم مجزا از هم می باشد. API در اصل کدی است که توسط برنامه نویسان نوشته شده و به دیگر برنامه ها این اجازه را می‌دهد تا بتوانند به آن متصل شده و با آن تعامل کنند.
برای اینکه کمی این مفهوم برای شما ملموس تر شود آن را با یک مثال پیگیری می‌کنم. بر فرض مثال اپلیکیشنی با یک API مشخص برنامه نویسی می‌شود این بدان معنی است که این برنامه در گوشی اندروید با یک ورژن خاص فقط اجرا می‌شود. به زبان ساده ورژنی که ما در زبان عام از آن برای اندروید یاد می‌کنیم مثلا اندروید ۱۰ در زبان برنامه نویسی به شکل API بیان می‌شود.
نکته: API در اندروید وابسته به SDK می باشد.

 

مفاهیم MinSdkVersion و TargetSdkVersion

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

اصول برنامه نویسی اندروید

Activity

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

۱) Class
۲) Xml

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

 

Emulator

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

اگر دقت داشته باشید تقریبا تمام طراحان اپلیکیشن دو مانیتور پیش روی خود دارند و یک مانیتور را کاملا به بخش emulator اختصاص داده اند.

نکته: از بهترین برنامه های شبیه ساز که سرعت قابل قبولی داشته و به ما دستگاه های مختلفی برای تست اپلیکیشن را ارائه می‌دهد می‌توان به genymotion اشاره کرد.
اندروید استودیو نیز این ویژگی را در پکیج خود دارد اما سرعت و قدرت genymotion بسیار بیشتر از شبیه ساز گوگل می‌باشد.

 

Android studio و eclipse

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

در android studio خطایابی و رفع آن آسان تر است.
طراحی رابط کاربری در android studio بسیار راحت تر است.
در محیط android studio بررسی منابع مصرفی رم و پردازنده بسیار کامل است.
و …
نکته: البته لازم به ذکر است که شما برای استفاده و به اصطلاح ران کردن android studio بر روی سیستم خود باید سیستمی قدرتمند با ویژگی های سخت افزاری بالایی داشته باشید.

 


Sunday, September 13, 2020

مزایای اندروید استودیو

 


۱. کدنویسی سریع

اجرای فوری: هر تغییر در کد رو در آنی از واحد اعمال می‌کنه بدون اینکه نیاز داشته باشید اپلیکیشنتون رو دوباره راه‌اندازی کنید و یا اون‌رو مورد بازسازی (Rebuild) قرار بدید. این موجب سریع‌تر شدن فرآیند ساخت اپلیکیشنتون می‌شه.

 

ویرایشگر کد هوشمند: با این امکان، توسعه‌ی اپلیکیشن خیلی سریع‌تر می‌شه. وقتی دارید کدتون رو می‌نویسید، ویرایشگر با توجه به تحلیل و بررسی کدتون به شما لیستی از پیشنهادات پیشرفته‌ای ارائه می‌ده. تنها با فشردن کلید Tab می‌تونید هر کدومشون رو که می‌خواید سریعا توی کدتون وارد کنید!

 

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

 

۲. حس اطمینان از کدنویسی

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

 

Lintelligence: این قابلیت به شما کمک می‌کنه خیلی از مشکلات اجرایی، امنیتی و یا صحیح بودن کد رو با یک پیدا کنید. حدود ۲۸۰ Lint check وجود داره که می‌تونه به شما کمک کنه یک اپلیکیشن بی‌نقص بنویسید.

 

۳. ایجاد ساخت (Build) بدون محدودیت

سیستم ساخت‌های بسیار مناسب: این سیستم برای راحتی کاربران، بسیار منعطف طراحی شده. IDE همینطور، به شما سیستم مدیریت وابستگی اتوماسیون و پیکربندی ساخت‌های قابل تنظیم رو نیز ارائه می‌ده. کد‌های اندروید می‌تونن به منظور در بر گرفتن کتابخانه‌ها وساخت‌های محلی به کار گرفته بشن. این مسئله می‌تونه ساخت اپ‌‌های رو راحت‌تر کنه.

 

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

 

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


 

۴. اپلیکیشن‌های غنی و متصل

پشتیبانی از C++ و NDK: درست مثل هر زبون برنامه‌نویسی دیگه‌ای، اینجا هم توسعه‌ی C/C++ پشتیبانی می‌شه. توی این محیط حتی این امکان هستش که بتونید سینتکس‌های مربوط به C/C++ رو بررسی و یا بازنویسی (Refactor) کنید. حتی این قابلیت وجود داره که بتونید CMake و اسکریپت‌های مبتنی بر NDK رو بدون ایجاد هیچ تغییری توی IDE اجرا کنید.

 

وجود سیستم Firebase و Cloud به صورت ادغام‌شده: این IDE یک دستیار Firebase هم داره. این دستیار به شما کمک می‌کنه Firebase رو به اپلیکیشن متصل کنید. به وسیله‌ی اون می‌تونید قابلیت‌هایی مثل احراز هویت و نوتیفیکیشن رو داخل محیط بررسی کنید. هم‌چنین با Google Cloud هم ادغام شده که در مجموع یک روش کامل برای ساختن اپلیکیشن فراهم می‌کنه.

 

۵. راحتی استفاده

ویرایشگر چیدمان (Layout): برای زمانی که در XML مشغول به توسعه هستید، یک ویرایشگر Drag and drop فراهم شده این فرآیند رو آسون‌تر می‌کنه.

 

بررسی APK: تحلیلگر APK موجود قابلیت این رو داره که از تمومی محتوای داخل APK شما رو بررسی کنه. همچنین می‌تونه سایز هر مولفه (Component) رو هم نمایش بده. می‌تونید به راحتی مشکلات فایل‌های DEX رو مشاهده کنید و همینطور دو APK رو با هم مقایسه کنین.

 

استودیوی دارایی‌های بُرداری: به کمک این می‌تونین از بازه‌ی بزرگی از تصاویر استفاده کنین. یک دایرکتوری به خصوص برای نگه‌داری تصاویر فراهم شده و همچنین می‌تونید یک فایل SVD یا PSD رو هم ادغام‌سازی کنین.

 

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

Tuesday, September 8, 2020

چهار مرحله یادگیری جاوا اسکریپت

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

فاز نوزاد

فاز کودک

مرحله نوجوان

مرحله بزرگسالان

بگذارید هر مرحله را به طور خلاصه مرور کنیم تا بفهمید کجا هستید و کجا باید انرژی خود را متمرکز کنید.

 

فاز  نوزاد

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

 

فاز کودک

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

 

در این مرحله، بر روش‌های یادگیری تمرکز کنید که توسط DOM به شما ارائه شده است. درباره انتخاب عناصر، پیمایشDOM ، افزودن و حذف موارد ازDOM ، تغییر سبک‌ها و کلاس‌ها بدانید. سعی کنید چیزهای ساده ای مثل آکاردئون درست کنید. حتی ممکن است با کلیک روی یک دکمه یک منو نشان داده شود. در ابتدا کپی پیست کردن اشکالی ندارد، اما مطمئن شوید که مولفه component خود را از ابتدا بنویسید تا مکانیک اصلی آن را بفهمید.

 

مرحله نوجوان

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

 

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

 

مرحله بزرگسالان

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

 

در اینجا، شما چند گزینه دارید:

آموزش جاوا اسکریپت

می‌توانید یک چارچوب (frontend) مانند Angular ،Vue  یا React یاد بگیرید.

می‌توانید Node را یاد بگیرید و یک backend بسازید.

می‌توانید حتی عمیق تر به JavaScript بروید.

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

 

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

 

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

 

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

 

نتیجه گیری:

در اینجا ما یک نقشه راه برای شما تعریف کردیم که یادگیری جاوا اسکریپت برای شما ساده‌تر و سریع‌تر باشد و از سردرگمی در بیایید. جاوا اسکریپ یک زبان مفسری سطح بالا است که به شما امکان برنامه‌نویسی سمت سرور (Server Side) را می‌دهد و می‌توانید با آن اپلیکیشن‌های موبایل، بازی و .. ایجاد کنید.

مهمترین تجربیات من در خصوص آموزش یادگیری ماشین

 


الف) برخی از اصول پایتون را یاد بگیرید .(زمان مورد نیاز 4-3 ماه)

این که دقیقا چه زبانی باشد چندان مهم نیست. می تواند R ، Java ، Python ، و یا هرچیزی باشد. آنچه مهم است انتخاب یکی از زبان ها و چسبیدن به آن است! اگر می خواهید به یادگیری ماشین کاربردی وارد شوید ، یادگیری کد اجباری است.
یک دوره پایه را از طریق اینترنت انتخاب کرده و طی چند ماه با اراده و مستمر آموزش آن را دنبال کنید.نیاز نیست در آن زبان حرفه ای شوید . البته امتیاز بیشتر را زمانی گرفته اید که همزمان به آموزش علوم داده هم بپردازید. DataCamp برای این کار عالی است. اگرچه در بعضی مواقع سخت خواهد بود اما پیشنهاد من به شما یادگیری یک زبان برنامه نویسی مانند پایتون در راستای Data Science و همزمان با آن میباشد.

ب) وقتی آماده نیستید، کارها را شروع کنید.

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

حرف زدن یک کودک 3 ساله را در نظر بگیرید. کلمات را دائما بیان میکند و منظور خود را میرساند اما نه تلفظ درستی دارد نه ساختار جمله و نه دستور زبان را صحیح بیان میکند. .ولی در نهایت زبان مادری را به طور کامل خواهد آموخت …

پ) منابع زیادی برای یادگیری وجود دارد مراقب باشید سردرگم نشوید .


همه روزه دوره های زیادی درخصوص یادگیری ماشین برگزار می شود.که معمولا اکثر آنها عالی هستند و پیدا کردن یک دوره بی ارزش به ندرت رخ میدهد.اما از آنجا که منابع بسیاری وجود دارند، انتخاب آن ها جهت آموزش یادگیری ماشین دشوار است.
این موضوع دام دیگری است که می تواند شما را عقب نگه دارد.برای تحقیق بیشتر در این مورد ، من مدرک کارشناسی ارشد AI خود را نیز تهیه کردم .  هیچ کس به اندازه خودتان نمیتواند تشخیص دهد کدام منبع یادگیری مناسب شما خواهد بود ولی به عنوان سرآمد ، سه منبعی که بیشتر با آنچه که من همه روزه انجام می دهم مطابقت دارد ، کتابهای یادگیری ماشین Hands-On ، دوره یادگیری ماشین fastai و علم داده کاربردی با دوره Python در Coursera است. پس بهتر است پس از تجربه چند ماه کار با پایتون، این موارد را علامت گذاری و از آن ها استفاده کنید.

ت)دنبال کردن تحقیقات لازم است ولی اگر نتوانید از آن ها استفاده کنید بیهوده اند …

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

ث)هر روز کمی تمرین کنید.

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

ج) به خاطر ندانستن چیزی ، خود را سرزنش نکنید 


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


ازدید من روند یادگیری ماشین به این صورت است :
سال اول: شما بسیاری ازچیزها را نمیدانید.
سال دوم: شما بهترازسال گذشته هستید اما احساس میکنید بیشترازقبل نیاز به آموختن دارید. زیرا می دانید که تا چه اندازه نمی دانید!
سال سوم: آغوشتان را برای دنیایی از نادانسته ها بگشایید !
پس آیا سرزنش خود برای عدم اطلاع از چیزی به شما برای یادگیری بیشتر کمکی خواهد کرد؟
“هرگز”
یادگیری چیز جدید زمان بر بوده و درپروسه یادگیری هر روز، روز اول خواهد بود.

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

Sunday, September 6, 2020

بک اند چیست و چه کاربردی دارد؟

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

بک اند “Backend” عموما از سه بخش تشکیل می شود: یک سرور، یک برنامه و یک پایگاه داده‌ها (دیتا بیس).
اگر به عنوان مثال قصد خرید وسیله‌ای از یک وب‌سایت را داشته باشید، سایت را باز می‌کنید و با فرات‌اند تعامل می‌کنید. زمانی که شما اطلاعاتی نظیر ادرس وارد می‌کنید، سایت اطلاعات شمارا در پایگاه داده‌ی خود ذخیره می‌کند. تمام اطلاعاتی که وارد کردید در سرور باقی می‌ماند و اگر شما بعدها با همان حساب کاربری وارد سایت شوید می‌توانید تمام اطلاعات سفارشات و ادرس‌هایی که وارد کردید را مشاهده کنید.

 

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

تکنولوژی های بک اند عموما شامل زبانهای برنامه نویسی مانند PHP ،Ruby ،Python و غیره می‌باشند. همچنین برای اینکه این تکنولوژی ها آسان تر نیز شوند گاهی از فریم ورک هایی مانند Ruby on Rails، Cake PHP و … برای سرعت دادن به توسعه برنامه استفاده می شود.
بسیاری از افرادی که به تازگی وارد این شاخه کاری می‌شوند، بسیار کلماتی مانند وردپرس، جوملا، دروپال و … را می‌شنوند. به عنوان مثال وردپرس یک مثال بسیار خوب برای کارکرد فرانت اند و بک اند با هم می باشد. چرا که وردپرس بر اساس یک فریم ورک کد باز بر اساس زبان برنامه نویسی PHP به سادگی بر روی یک سرور به همراه دیتابیس قابل نصب می‌باشد و سپس طراحان عملکردها و ظاهر سایت را با استفاده از کدنویسی متناسب نیاز تغییر می‌دهند.