طراحی سایت | برنامه نویسی

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

طراحی سایت | برنامه نویسی

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

۱۲۷ مطلب در مرداد ۱۳۹۸ ثبت شده است

۰۳مرداد

زمان آن فرا رسیده است تا مهارت های برنامه نویسی خود را بهبود ببخشید. بیایید این کار را با هم انجام دهیم! در حرفه های دیگر شاید اهداف آسانی وجود داشته باشد که با رسیدن به آنها بتوان در آن حرفه بهتر شد.

betterprogrammer

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

اما باید بگویم که اکثر مردم میخواهند قابلیت های خود را بهبود ببخشند ولی نمیدانند دقیقا از چه راهی این کار را انجام دهند. در این جا من به 6 روش مهمی اشاره خواهم کرد که میتواند به عنوان نقشه راهی مهارت های برنامه نویسی شما را بهبود ببخشد. این روش ها حاصل کار و تلاش 35 ساله من در صنعت کامپیوتر است.

1.برای خودتان یادآوری کنید که چه مقدار باید یاد بگیریم

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

2.ثابت کردن خود به دیگران را متوقف کنید

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

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

3.برنامه شما کار میکند!! اینجا جایی نیست که متوقف شوید ، اینجا جایی است که باید شروع کنید

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

حالا این فرایند بهتر شدن نرم افزار به چه معناست؟ میتوان به این صورت بهتر شدن را تعریف کرد :

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

4.سه بار بنویسید

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

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

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

5.مطالعه کنید. تا میتوانید کدهای مختلف را مطالعه کنید

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

6.به جای یاد گیری ابزار ها بر روی تکنیک ها تکیه کنید

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

منبع: لرن سورس


شهربانو دوستی
۰۳مرداد

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

پایتون

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

1.پایتون شبیه زبان رسمی برای برقراری ارتباط است

پایتون

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

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

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

2.پایتون مستندات کافی دارد

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

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

به جز مستندات، آموزش های بسیاری برای زبان پایتون وجود دارد که می توانید از آنها استفاده کنید. یکی از این قسمت ها  Python Tutor است. مواد آموزشی دیگری هم در این سایت وجود دارد که میتواند به برنامه نویسان تازه کار کمک زیادی بکند. مستندات و آموزشها همیشه نقش یک پشتیبان را برای شما دارند.

3.پایتون دارای یک کتابخانه غنی است

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

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

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

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

4.پایتون همراه یک IDLE کامل است

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

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

5.پایتون از Metaprogramming پشتیبانی میکند

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

Metaclass به برنامه نویسان اجازه می دهد تا خواص چندین کلاس را تنها با کار بر روی یک کلاس سفارشی سازی کنند. شما لازم نیست جداگانه به سراغ هر کلاس بروید. این مورد باعث می شود برنامه نویسی شی گرا در Python بسیار ساده تر باشد.

6.تخصیص ها چندگانه

بعضی از برنامه نویس ها آن را به عنوان tuple unpacking میشناسند. این ویژگی خاصی است که به برنامه نویس امکان می دهد همزمان چندین متغیر را در یک خط از کد تعریف و مقدار دهی کند. این کار باعث میشود ساده تر و سریع تر چندین متغیر را تخصیص دهیم.

نتیجه

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

منبع: لرن سورس


شهربانو دوستی
۰۳مرداد

هر ساله، GitHub گزارش "Octoverse" خود را منتشر می کند که شامل محبوب ترین زبان های برنامه نویسی در میان کاربران سایت، موضوعات محبوب و اغلب پروژه های سورس باز و غیره است.

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

The-fastest-growing-programming-languages

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

براساس این روند، زبانهای برنامه نویسی مانند TypeScript، Kotlin و Rust در سال جاری رشد سریعی را تجربه کرده اند. در بین این زبان ها کاتلین صدر نشین است.

تعدادی کسانی که از زبان HCL استفاده کرده اند در مقایسه با سال 2017 دو برابر افزایش یافته اند. علاوه بر این، پایتون، یکی دیگر از زبان های محبوب در پروژه های یادگیری ماشین، مقام هشتم را در این فهرست کسب کرده است. پایتون در مقایسه با سال قبل، 1.5 برابر بیشتر استفاده شده است.

در زیر سریع ترین زبان های برنامه نویسی در حال رشد بر اساس GitHub لیست شده اند :

ردیف زبان سرعت رشد
1 Kotlin 2.6X
2 HCL 2.2X
3 TypeScript 1.9X
4 PowerShell 1.7X
5 Rust 1.7X
6 CMake 1.6X
7 Go 1.5X
8 Python 1.5X
9 Groovy 1.4X
10 SQLPL 1.4X

 

منبع لرن سورس

شهربانو دوستی
۰۳مرداد

اصطلاح PHP (ایجاد شده توسط Rasmus Lerdorf در سال 1994) مخفف عبارت Preprocessor Hypertext است. حالا منظور این عبارت چیست؟ این یک زبان است که برای مدیریت داده ها در سرور استفاده می شود. به عنوان مثال، شما می خواهید یک وب سایت یا وبلاگ ایجاد کنید. بنابراین برای انجام این کار، شما باید از یک شرکتی که شامل تعدادی توسعه دهنده است بخواهید که برروی وب سایت شما کار کنند.

php

هر شرکت IT (اطلاعات و فناوری) اساسا دارای دو نوع توسعه دهنده است.توسعه دهندگان front-end و توسعه دهندگان back-end . بخش جلویی وبسایت (سمت کاربر) عمدتا توسط طراح ساخته میشود که دانش کاملی از HTML، CSS، جاوا اسکریپت و برخی از فریمورک هایی مانند بوت استرپ و جی کوئری و ... دارد.

بخش پشتی (سمت سرور - نامرئی برای مشتری) توسط  توسعه دهنده ای انجام می شود که دارای مهارت های عالی در زبان های برنامه نویسی مانند ++PHP، C#، C  و Python و غیره است.

اما این زبان چرا این ایجاد شد؟

php

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

یا هر زمان که یک کاربر یک فرم برای شغل یا پذیرش را پر می کند، وبسایت دقیقا می داند چطور باید با آن داده ها را پردازش کند تا نتیجه مناسب را به کاربر منتقل کند. همه این ها توسط زبان های سمت سرور انجام میشود.

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

ویژگی های PHP

همانطور که همه ما می دانیم PHP یکی از محبوب ترین زبان های برنامه نویسی در جهان است. این زبان همچنین  ویژگی های فوق العاده ای را نیز ارائه می دهد. بنابراین در اینجا برخی از ویژگی های کلیدی آن را لیست می کنیم :

  • سادگی - این زبان نسبتا ساده بوده و استفاده از آن آسان هست. این زبان بیشترین محبویبت را در استفاده به عنوان زبان سمت سرور دارد.
  • سریع - این زبان کاملا سریع است چون زبانی مفسری است و نیازی به کامپایل شدن ندارد. این زبان سریعتر از سایر زبانهای برنامه نویسی مانند ASP و JSP است.
  • بستر مستقل - این زبان مستقل است. شما می توانید کد PHP را بر روی هر پلت فرم (سیستم عامل) بدون توجه به تغییرات سخت افزاری اجرا کنید.
  • منبع باز - منبع باز بودن این زبان بدان معنی است که شما نیازی به پرداخت هزینه برای استفاده از این زبان ندارید.
  • حساس به حروف بزرگ و کوچک - در زمان اعلان متغیر، پی اچ پی به نسبت به حروف بزرگ و کوچک حساس است. اما در نوشتن کلمات کلیدی مانند if، else، while، echo تفاوتی در استفاده از حروف بزرگ و کوچک وجود ندارد.
  • نظارت لحظه ای و گزارش  خطاها - این زبان به کاربران اجازه میدهد نظارت لحظه ای بر روی برنامه داشته باشند. این زبان میتواند در گزارش خطا ها نیز بسیار کارا عمل کند. 

 

منبع: لرن سورس


شهربانو دوستی
۰۳مرداد

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

اگر شما اندروید را دوست دارید و میخواهید اپلیکیشنی با آن ایجاد کنید، زبان برنامه نویسی Kotlin انتخاب خوبی برای شما خواهد بود. به نظر می رسد که این زبان امروزه به یکی از رقبای سرسخت زبان  "Java" تبدیل شده است. اگر به گذشته برگردیم، زبان جاوا تنها زبان مورد نظر برای ایجاد برنامه های اندرویدی بود. و این بیشتر به دلیل ویژگی های این زبان و همچنین میزان محبوبیت آن بود.

kotlin

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

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

اما بیایید اول ببینیم این زبان چه تعریفی از خود ارائه میدهد.

Kotlin یک زبان برنامه نویسی statically typed است و این بدان معنی است که نوع متغیر های خود را در زمان کامپایل مشخص میکند. این زبان بر روی ماشین مجازی جاوا اجرا می شود و همچنین می تواند به شکل سورس کد جاوا اسکریپت کامپایل شود و یا از زیرساخت کامپایلر LLVM استفاده کند. توسعه اولیه این زبان توسط یک تیم برنامه نویسی به نام JetBrains در سنت پترزبورگ، روسیه انجام شده است.

چرا این زبان ایجاد شد؟

man

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

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

ویژگی های زبان برنامه نویسی کاتلین

feacher

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

  • سورس باز بودن - این زبان یک زبان برنامه نویسی منبع باز است. همچنین دارای ابزاری به نام one-click است که به برنامه نویس امکان می دهد کد های فعلی جاوا را به به سادگی به کاتلین تبدیل کند.
  • قابلیت همکاری - قابلیت همکاری گسترده با جاوا بسیاری از توسعه دهندگان را جذب می کند و آنها را مجبور به یادگیری کاتلین می کند. زبان کاتلین بر روی ماشین مجازی جاوا که با عنوان JVM شناخته میشود اجرا می شود.
  • توابع Extension - میتوان توابعی را بدون تغییر در سورس کد کلاس ها ، به آنها اضافه کنیم. این توابع در زبان های برنامه نویسی با عنوان توابع Extension شناخته میشوند.
  • کد کمتر - کاتلین دارای ویژگی های هوشمندی نیز هست. برای مثال اگر چیزی در کد نویسی فراموش کنید، آن را به صورت خودکار تکمیل می کند. به طور خلاصه، شما باید درباره کد باقی مانده نگران نباشید.
  • جذاب تر - با استفاده از کاتلین میتوان اپلیکیشن های اندرویدی جذاب تری نسبت به جاوا نوشت. در کاتلین، می توانید کد های واضح تر و موثرتری بنویسید که اشکالات کمتری دارند.

اپلیکیشن هایی که با این زبان نوشته شده اند

app

Pinterest - این سرویس محبوب اشتراک گذاری تصویر و خدمات رسانه های اجتماعی اکنون از کاتلین به جای جاوا استفاده می کند. چیزی که ممکن است به نظر شما کمی شگفت انگیز به نظر برسد این است که "Kotlin" در چنین برنامه ی محبوبی با این همه کاربر، حتی قبل از اینکه گوگل اولین پشتیبانی از این زبان را اعلام کرد، مورد استفاده قرار گرفته است.

Coursera - برخی از شما ممکن است در مورد این سرویس آنلاین چیز هایی بدانید. Coursera دوره های آنلاین برگزار شده توسط برخی از دانشگاه ها و موسسات مشهور مانند استنفورد و ییل را ارائه می دهد . این سرویس آنلاین نیز از زبان کاتلین استفاده میکند.

Trello - این برنامه در حال حاضر متعلق به Atlassian است.Trello یک برنامه مدیریت شناخته شده پروژه است.  آنها برای برنامه اندروید خود در فروشگاه play store از کاتلین استفاده کرده اند. این یک نشانه خوب است؛ آنها همچنین کد جاوا خود را با kotlin جایگزین کردند.

Basecamp3 - برنامه تجاری معروف Basecamp3 کد نویسی خود را نیز با کاتلین انجام داده است . این برنامه به کسب و کارهای کوچک کمک می کند تا رشد کنند. این برنامه به طور کامل در کاتلین نوشته شده است و توسعه دهندگان آن ادعا می کنند که این تغییر باعث افزایش درآمد سازمان شان میشود.

بنابراین، استفاده ی برنامه ها و وب سایت های محبوب از این زبان، میتواند خود دلیلی برای قدرتمند بودن این زبان باشد.

منابع مختلف برای یادگیری برنامه نویسی کاتلین

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

بنابراین در اینجا برخی از بهترین منابع آنلاین موجود را فهرست میکنیم :

منبع لرن سورس


شهربانو دوستی
۰۳مرداد

آیا زمانی وجود داشته است که در آن به خودتان گفته باشید :  "من می خواهم یاد بگیرم که چگونه از Angular استفاده کنم" و  یا "من می خواهم Ruby on Rails را یاد بگیرم!". من می دانم که تقریبا هر روز این احساس را دارم. با توجه به سرعت تغییرات در فناوری و آمدن پی در پی زبان ها، کتابخانه ها و استانداردهای جدید، به روز بودن با این تغییرات کار را برای ما کمی مشکل کرده است .

Fast

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

حتی ممکن است شما ساعت ها برای مشاهده فیلم های آموزشی صرف کنید و به خودتان بگویید: «بله، این درست است. به نظر میرسد یادگیری این زبان خیلی ساده باشد» و سپس به ویرایشگر خود بروید و کار را به یک پروژه خالی آغاز کنید.

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

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

با هدف نهایی که در ذهن دارید شروع کنید

"هنگامی که یک هدف را برای خودتان تعیین میکنید، آن چیزی را انجام میدهید که به آن نیاز دارید" - جانی ون زانت

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

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

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

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

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

ابزارهای خود را انتخاب کنید

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

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

مبانی را بیاموزید

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

بهترین راه برای شروع یادگیری چیزی است که ابتدا با کوچکترین و ساده ترین کارها انجام شود. در این مرحله در بیشتر موارد، برنامه مورد نظر ما برنامه چاپ Hello، World در خروجی خواهد بود. 

علی اکنون میداند باید از چه ابزار هایی برای ساخت وب سایت خود استفاده کند و میداند هدفش چیست و میتواند یاد گیری خود را شروع کند. با توجه به این که او هیچ چیزی از جاوا اسکریپت و Node.js نمیداند باید یادگیری خود را با ساخت یک پروژه ساده این تکنولوژی ها آغاز کند. با این کار ذهن علی می آموزد چطور باید از این تکنولوژی ها استفاده کند.

سوالات خود را بپرسید

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

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


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

منبع: لرن سورس


شهربانو دوستی
۰۳مرداد

اخیرا چند سوال از من پرسیده شده است که معنای دقیق "quality code" و یا به عبارتی دیگر کد با کیفیت چیست. این سوال مرا واداشت چند روزی در مورد کتاب هایی که خوانده ام و درس هایی که از شکست هایم آموخته ام ، فکر کنم. و البته توانستم پاسخ این سوال را بدست آورم.

اگر شما انتظار دارید این مقاله شامل یک سری قانون های منظم برای رسیدن به کد با کیفیت باشد، ممکن است نا امیدتان کنم. زیرا به نظر من رسیدن به کدی با کیفیت نیاز به تمرین و تجربه دارد و انقدر هم ساده نیست. با این حال من گام هایی را در این مقاله مطرح میکنم که میتواند راه درست را به شما نشان دهد.

quelitycode

برای نوشتن یک نرم افزار با کیفیت چه چیزی را باید بدانید؟

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

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

آن چیزی که که شما برایش کد نویسی نمیکنید مهمتر از چیزی است که برایش کد نویسی میکنید

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

هدفی را برای خودتان مشخص کنید

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

شخصی را به عنوان کاربر برنامه خود در نظر بگیرید

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

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

تا جایی که ممکن است ساختار نرم افزار و یا برنامه خود را به جزئیات کوچکتری تقیسم کنید

روش Agile همه ما را ناکارمد کرده است. این یک مفهموم عالی است ولی شرکت های بزرگ آن را خراب کرده اند. قبل از آن روشWaterfall یک روش پیشنهادی برای توسعه نرم‌افزار در دهه ۱۹۹۰ بود که منجر به این امر شد که تا سال ها نیازمندی های زیادی برای آن تعریف شود. اما زمانی که کاربران شروع به کار با سیستم ها کردند دیگر استفاده از آن حس نشد.

سپس Agile به همراه این باور آمد که نرم افزار باید توسط تیم های چند رسانه ای در قسمت های کوچک طراحی و ساخته شود و به محض تکمیل شدن به کاربران تحویل داده شود.مدیریت به این سمت رفت که دوره های دو روزه Agile. " دیگر به نیازمندیها نیازی ندارید به طراحی نیازی ندارید فقط و فقط Agile."

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

تست کنید ، تا میتوانید تست کنید

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

هرچه بررسی هایتان بیشتر، بهتر !!!

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

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

منبع: لرن سورس


شهربانو دوستی