Saturday, September 5, 2020

فرانت اند چیست؟

 

فرانت اند (Frontend) چیست؟

برای توضیح فرات‌اند نیز، مانند بک‌اند، از معنای لغوی آن شروع می‌کنیم. Front در زبان انگلیسی به معنای جلو/پیش می‌باشد. در طراحی سایت فرات اند به آن بخشی گفته می‌شود که توسط کاربر قابل مشاهده است و با آن تعامل ایجاد می‌کند. فرانت اند کدهای غیر قابل فهم برای کاربران را در قالب ظاهری گرافیکی و بصری به آن‌ها نمایش می‌دهد تا استفاده از بخش‌های مختلف سایت برایشان ساده‌تر شود. در این بخش فرم‌های ورودی اطلاعات، صداها، تصاویر، ویدیوها و به صورت کلی هر چیز دیگری که برای کاربر قابل درک باشد، قرار می‌گیرد.
فرانت اند “Frontend” معمولا از دو بخش تشکیل می شود: طراحی سایت و توسعه فرانت‌اند وب.
در بخش طراحی وب، طراحان با نرم افزار‌های گرافیکی مانند فتوشاپ یا آدوبی ایکس‌دی ظاهر سایت را طراحی می‌کنند. اما بخش توسعه رابط کاربری مربوط به پیاده‌سازی ظاهر سایت در قالب کدهای HTML ،CSS و JavaScript است. زبان‌های برنامه‌نویسی که در فرانت به کار می‌روند، سمت کاربر یا Client Side می‌باشند. بنابراین کدهای نوشته شده در فرانت در مرورگر کاربر پردازش و اجرا می‌شوند. یعنی کاربر به‌راحتی به این کدها دسترسی مستقیم دارد و می‌تواند آن‌ها را مشاهده کند. فرانت‌اند با بخش بک‌اند (Backend) در ارتباط  دارد.

 

در گذشته اگر کسی از توسعه صحبت می‌کرد، عموما مربوط به بخش بک اند “Backend” بود، اما در سال‌های اخیر این موضوع بسیار تغییر کرده است و نیاز داریم میان کسی که سایت را در نرم افزاری‌های گرافیکی طراحی می‌کند و کسی که آن‌ها را تبدیل به کدهای HTML و CSS می‌کند، تفاوت قائل شویم. این موضوع زمانی که طراحان به سوی استفاده از جاوا اسکریپ و JQuery روی آوردند بسیار جدی‌تر شد.

Wednesday, September 2, 2020

طراحی وب با برنامه نویسی آن چه تفاوتی دارد؟

 اغلب افراد متاسفانه درک درستی از تفاوت مفاهیم طراحی سایت و برنامه نویسی سایت ندارند و این موضوع متاسفانه در بین کارفرماها نیز بارها دیده شده است.

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

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

آموزش طراحی و برنامه نویسی سایت

 

برای آموزش طراحی و برنامه نویسی سایت از کجا شروع کنم؟

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

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


Tuesday, September 1, 2020

یادگیری ماشین را از کجا باید شروع کرد؟

 


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


از tom درس مهمی را آموختم. این که که هیچ کتابی نمی تواند شما را آموزش دهد. درعوض تحقیقات سرگرم کننده ودر عین حال بسیار آموزنده است.
او سخت تر از هر کسی که من ملاقات کرده بودم کارو تحقیق می کرد و این درس اثر بزرگی بر من گذاشت و از آن زمان تا کنون با من ماند.
پس از اخذ مدرک دکترا ، من در اواخر سال 1989 به IBM Watson Research در نیویورک پیوستم ، جایی که آنها نتوانستند تشخیص دهند که یک محقق ماشین لرنینگ برای چه کاری مناسب است بنابراین مرا به یک گروه روباتیک تازه تشکیل بردند. من هیچ زمینه ای در این حیطه نداشتم و هرگزیک ربات را برنامه نویسی نکرده بودم.

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

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


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

Monday, August 31, 2020

آشنایی با کتابخانه جانگو در پایتون

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

Django نسبت به Rails و node.js سر و صدای کمتری در دنیای برنامه نویسی ایجاد کرد اما این به معنی این نیست که برنامه نویسان و شرکت های مطرح از آن استفاده نکنند. Django از سیستم های اصلی راه اندازی سایت های بزرگی مثل اینستاگرام و پینترست است و فیسبوک نیز از آن در پروژه های مختلف بهره می‌برد.

کتابخانه Django در پایتون

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

مزایای استفاده از فریم ورک Django چیست؟

سرعت بسیار بالا:

کتابخانه Django برای آن طراحی شده است که توسعه دهندگان وب بتوانند در کم ترین زمان ممکن مفاهیم را به برنامه تبدیل کنند.

ابزارهای کارآمد:

کتابخانه Django دارای ده ها ابزار اضافی ست و شما می توانید برای انجام وظایف خود در توسعه وب سایت از آن ها استفاده کنید. جانگو از تأیید هویت کاربر، مدیریت محتوا، نقشه سایت، خوراک RSS و بسیاری کارهای دیگر پشتیبانی می کند.

ویژگی کتابخانه django

محیط ایمن و مطمئن:

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

مقیاس پذیری بالا:

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

جامع بودن:

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



چطور Django را بیاموزیم

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


 

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

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

که مستنداتی که تیم توسعه این کتابخانه تهیه و تدوین کرده اند بسیار بی نظیر و مناسب است.
جمع بندی

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

منبع: https://amanjacademy.com/comprehensive-guide-to-the-django-library-in-python-language/

Sunday, August 30, 2020

انواع روش های سئو سایت چیست؟

 



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

شما همچنین ممکن است اصطلاحات سئو داخلی (On-page SEO) و سئو خارجی (Off-page SEO) را شنیده باشید. این اصطلاحات به موضوع تلاش بهینه‌سازی شما اشاره می‌کنند.

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

 

سئو داخلی (On-page SEO)

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

 

در این مرحله موارد زیر بررسی خواهند شد:

طراحی قالب ( عدم وجود خطا های احتمالی در کد نویسی )

عدم استفاده از Inline css

بررسی استاندارد بودن url و نحوه ی آدرس دهی صفحات وب

بهینه بودن محتوا

استاندارد بود میزان استفاده از کلمات کلیدی در محتوای هر صفحه

بهینه نمودن title صفحات داخلی و صفحه ی اصلی

بررسی متا تگ های استفاده شده

استاندارد سازی لینک های داخلی

بهینه سازی تصاویر و …

 

سئو خارجی (Off-page SEO)

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

 

برخی از روش‌هایی که برای سئو سایت off page استفاده می‌شوند، عبارتند از:

دریافت لینک‌های معتبر از وب‌سایت‌های ارزشمند و مرتبط با موضوع سایت

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

به اشتراک گذاری مطالب و مقالات سودمند سایت با کاربران اینترنتی

Saturday, August 29, 2020

زیرشاخه های بازاریابی دیجیتال

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

تبلیغات

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

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


بازاریابی شبکه های اجتماعی

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

بازاریابی محتوا

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

یکی دیگر از اشتباهات رایجی که من در فضای مارکتینگ با آن مواجه شده ام مقایسه اشتباه و حتی یکسان دانستن بازاریابی محتوا و تبلیغات می‌باشد:

تبلیغات در بازاریابی دیجیتال

باهم نگاهی به تفاوت های اصلی بازاریابی محتوا و تبلیغات بیاندازیم:

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



سئو یا بهینه سازی موتورهای جستجو

سئو (SE0) مخفف کلمه Search Engine Optimization بوده و به مجموعه فعالیت هایی اطلاق می‌شود که موجب شده یک صفحه از وبسایت تحت جستجوی یک کلمه کلیدی خاص در صفحات بالای گوگل قرار بگیرد و جایگاه و رتبه مناسبی داشته باشد. اما این رتبه بالا چه فایده ای برای کسب و کار دارد؟ اگر سئو سایت شما خوب باشد و بتواند در کلمات کلیدی پرسرچ رتبه خوبی را به خود اختصاص دهد، کاربران پس از جستجو از صفحه سایت شما برای رفع نیاز خود استفاده می‌کنند اینجاست که شما قدم اول را برداشته و کاربر وارد قیف بازاریابی شما شده است. حالا با تولید محتوای مناسب، دیزاین جذاب و بهبود تجربه کاربری و تکنیک های مارکتینگ، شما می توانید این کاربر را به سایت خود جذب کرده و جدا از گرفتن نرخ تبدیل مناسب، او را به صفحه فروش خود هدایت کنید.

سئو در بازاریابی دیجیتال

  موضوع سئو که در مقالات بعدی بسیار به آن خواهیم پرداخت به دو زیرشاخه اصلی off-page SEO و on-page SEO تقسیم شده که در ادامه به توضیح مختصر هرکدام میپردازیم:

    • سئو خارجی یا off-page SEO

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

    • سئو داخلی یا on-page SEO

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

ایمیل مارکتینگ

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


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

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

نکته: بازاریابی ایمیلی البته می تواند به عنوان یکی از ابزارها و روش های بازاریابی محتوایی نیز مطرح شود چرا که هدف این روش نیز اغلب بهبود رابطه با مشتری می باشد.

 

جمع بندی

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

ممکن است برای شما سوال پیش بیاید که یک دیجیتال مارکتر به تمام ابزار و روش های بازاریابی فوق مسلط است؟  باید به شما بگویم خیر!

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

آیا از تمام این ابزار باید استفاده شود؟ خیر!

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

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

Wednesday, August 26, 2020

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

 

گام اول: یادگیری و آشنایی با زبان برنامه نویسی (جاوا)

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

یکی از پیش نیاز های یادگیری برنامه نویسی اندروید آشنایی با مفاهیم شی گرایی (که در ادامه به آن خواهیم پرداخت) می‌باشد. جاوا ذاتا یک زبان شی گرا بوده و شما در آن به جای درگیر شدن با توابع و متغیرهای نه چندان آسان به صورت مستقیم با OBJECTها در ارتباط خواهید بود.
مزیت کدنویسی به روش شی گرا چیست؟
در این روش مدیریت و نگهداری کدها برای شما بسیار راحت تر بوده و زمان کدنویسی شما نیز به طرز چشم گیری کاهش پیدا می کند. همچنین شما می‌توانید از کدهای خود در پروژه های دیگر نیز استفاده کرده و حجم کار خود را به شکل قابل توجهی باز کاهش دهید.
در این قسمت شما همچنین باید با مفاهیم مشترک در تمام زبان های برنامه نویسی که شامل موارد زیر است آشنا شوید:

آرایه ها
متغیر ها
توابع
شی ها و کلاس ها
حلقه ها
متدها و …

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

 

گام دوم: آشنایی با شئ گرایی و دک عمیق نسبت به آن

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

یعنی چه …

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

 

گام سوم: تکمیل دانش جاوا با تمرکز بر قوانین شی گرایی

در این قسمت شما باید با مهم ترین ویژگی های شئ گرایی که شامل موارد زیر است آشنا شوید:

وراثت (Inheritance)
چندریختی (Polymorphism)
انتزاع یا تجرید (Abstraction)
کپسوله سازی (Encapsulation)
Java Statics
Java Interface
InnerClass and NestedClass
Java Generics

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

 

گام چهارم: طراحی رابط کاربری و material design compounent

در گذشته مبحث UI خیلی در برنامه نویسی اندروید مطرح نبود ولی با پیشرفت تکنولوژی و گسترش برنامه ها در تمامی زمینه ها و در نتیجه بالارفتن رقابت در حوزه اپلیکیشن های اندروید این موضوع جایگاه خودش را در حوزه برنامه نویسی اپلیکیشن ها نیز پیدا کرد .
ممکن است که این سوال برای شما پیش بیاید که UI چیست؟

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

کار با Contained, Outline , Text Button
کار با Floating Action Button
کار با نوار ابزار (Toolbar)
افزودن منو به نوار ابزار (Popup menu items)
سفارشی سازی نوار ابزار
آیکن ها در نوار ابزار
اضافه کردن Click and Action Listener به نوار ابزار
گرفتن ورودی از کاربر TextInputLayout
استفاده از تمامی ویژگی های ویو ها
ساخت شمارشگر کاراکتر
آشنایی با Navigation Drawer
ساخت و اضافه کردن آیتم
تکمیل و نمایش
سفارشی سازی Navigation Drawer

 

گام پنجم: کار با لیست ها و نمایش لیستی اطلاعات

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


در این بخش شما باید با موارد زیر به طور کامل آشنا شوید:

استفاده از ListView
آشنایی با Recyclerview
ساخت Recyclerview
آشنایی با مفهوم Adapter برای لیست ها
ساخت CardView
سفارشی سازی CardView
نحوه استفاده از CardView
حذف و اضافه کردن آیتم ها
انیمیشن در RecyclerView
تکنیک های افزایش سرعت RecyclerView

 

گام ششم: آشنایی با ذخیره سازی

اندروید قابلیت این را دارد تا داده های اپلیکیشن را در سیستم هایی نظیر فایل ذخیره سازی کند. در اصل برنامه های اندرویدی به ازای هر اپلیکیشن یک پوشه data/application package ایجاد می‌کنند.
اندروید برای ذخیره سازی داده ها در سیستم به طور معمول از روش های زیر پیروی می‌کند:

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

Preferences: اندروید به شما همچنین این امکان را می‌دهدتا اطلاعات مربوط به تنظیمات انتخابی را به صورت کلید-مقدار ذخیره سازی کنید.

SQLite database: در این روش شما می توانید نمونه یا نسخه های موجود از دیتابیس SQLlite که حامل اطلاعات اپلیکیشن است را در سیستم فایل ذخیره کنید.

فرایند ذخیره سازی در جاوا

این موارد کلیتی از فرایند ذخیره سازی در جاوا می باشد اما شما باید در این قسمت به مباحث زیر با تمرین مسلط شوید:

استفاده Shared Preferences
آشنایی با SQLiteOpenHelper
پیاده سازی دیتابیس Sqlite
ایجاد جداول و لیست های مختلف
آشنایی با نرم افزارهای مدیریت Sqlite
افزودن اطلاعات به دیتابیس
ویرایش اطلاعات در دیتابیس
حذف اطلاعات از دیتابیس
نمایش اطلاعات از دیتابیس
آموزش کار با Room Architecture Component
انجام تمام عملیات های کار با داده در Room

 

گام هفتم: اتصال به سرور در برنامه نویسی اندروید

در این بخش شما باید با مفهوم Api، سرور، کلاینت، نحوه کار پروتوکل ها، ارتباط با سرورها آشنا شده و پس از آن به یادگیری جزییات زیر بپردازید:

آشنایی مفاهیم در RestApi
آشنایی با داده های جی سان (Json Data Format)
Get Request
Post Request
MultiPart and Json Body
تبدیل جی سان به مدل های جاوا
استفاده از کتابخانه ‌ GSON
استفاده از کتابخانه Retrofit و انجام تمامی درخواست ها

 

گام هشتم: آشنایی با سرویس ها در اندروید

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

مفهوم Thread یا نخ
مفهوم پردازش Process
مفهوم Worker, Main Thread
آشنایی با BoundService
آشنایی با IntentServices
استفاده از WorkerManger Architecture Component
اضافه کردن workerManager به اپلیکیشن
کنترل ورودی و خروجی WorkerManager
کنترل انجام کارهای به صورت زنجیره ایی (Chain your work)
کنترل وضعیت کارهای درحال انجام (background task status)
انجام کار در شرایط خاص (Work Constraints)

 

گام نهم: کار با کتابخانه های کاربردی

در این بخش شما باید با کتابخانه های زیر آشنا شوید ( در مقالات بعدی حتما در مورد بهترین کتابخانه های اندروید با شما صحبت کرده و به بررسی هر یک خواهیم پرداخت.)

Glide
Gson
Calligraphy
ImageSlider
io.realm
بعد از آن مباحث زیر نیز باید مورد توجه شما قرار بگیرد:
کار با نمودار ها به صورت اجمالی MpChart
کار با نقشه به صروت اجمالی MapBox
پرداخت انلاین Zarinpal
Chrome Custom Tab
DataBinding

 

جمع بندی

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