VIP همه چیز درباره برنامه نویسی

وضعیت
موضوع بسته شده است.

☾♔TALAYEH_A♔☽

کاربر نگاه دانلود
کاربر نگاه دانلود
عضویت
2017/05/18
ارسالی ها
35,488
امتیاز واکنش
104,218
امتیاز
1,376
برنامه‌ ریزی پروژه به سبک اجایل


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

تیم هایی که برای توسعه ی نرم‌افزار از مدل اجایل استفاده می کنند، برنامه ی زمانبندی تحویل نرم‌افزار را به یکسری بازه های زمانی دو تا چهار هفته‌ای تقسیم‌بندی می‌کنند که تحت عنوان Iteration (ایتریشن) به معنی «تکرار» شناخته می شوند که در هر یک از این بازه ها، بخشی از پروژه که تکمیل شده و قابل استفاده است در اختیار مشتری قرار می‌گیرد (ایتریشن در مدل اسکرام تحت عنوان Sprint شناخته می شود.)

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

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

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

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

یوزر استوری
وقتی که نیاز به توسعه ی یک نرم‌افزار احساس شود، در مدل اجایل -برخلاف روش‌های سنتی- توصیفی کوتاه از کل پروژه نوشته شده که تحت عنوان User Story شناخته می شود. به عبارت دیگر، یوزر استوری توصیفی کوتاه از نیازمندی های پروژه است که حداقل می بایست دربرگیرنده ی عنوان، نوع کاربر، نیازهای کاربر و در نهایت ارزش افزوده ای که برای کاربر ایجاد می‌گردد باشد.

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

نکته
برای یوزر استوری هایی که خیلی بزرگ و پیچیده هستند که نمی‌توان آن‌ها را در قالب یک ایتریشن یا اسپرینت عملی ساخت، برخی تیم های اجایل از مفهومی تحت عنوان Epics استفاده می‌کنند که یک یورز استوری جامع است که دربرگیرنده ی چندین یوزر استوری زیرشاخه ی مرتبط با یکدیگر است.
به خاطر داشته باشید
تیم های توسعه ی نرم افزاری به سبک اجایل ملزم به استفاده از یوزر استوری نیستند اما از آنجا که این تکه کاغذها، بسیاری خلاصه اما در عین حال مفید هستند، بسیاری از تیم های توسعه ی اجایل تمایل به استفاده از آن‌ها نشان داده اند. به هر حال، یوزر استوری تنها راه مشخص سازی یک پروژه ی نرم افزاری نیست و شما می‌توانید در قالب هر ساختاری که تمایل داشته باشید، اقدام به مشخص سازی نیازهای یک پروژه نمایید.
برآورد پروژه
مدیر پروژه این وظیفه را دارا است تا ببیند که آیا کارهایی که قرار است در هر فاز یا ایتریشن انجام شود با زمان در نظر گرفته شده همخوانی دارد یا خیر که این کار از طریق مفهومی تحت عنوان Point (پوینت) به معنی «نقطه» صورت می گیرد. به عبارت دیگر، پوینت رویکردی برای برآورد پروژه از بعد زمان، پیچیدگی و اندازه است. کارهای ساده‌ای که در زمان کوتاهی به انجام می‌رسند پوینتی معادل با 1 می‌گیرند اما هرچه کارها پیچیده‌تر و زمانبرتر می شوند، می بایست پوینت های بزرگ‌تری -مثلا ۳ یا ۴- به آن‌ها اختصاص داد.

برای مشخص شدن بیشتر و بهتر مفهوم پوینت ها در مدل اجایل، می‌توان سایز تی شرت هایی که می پوشیم را در نظر بگیریم. برای تی شرت ها اندازه هایی همچون Small, Medium, Large و Extra-large در نظر گرفته می‌شود و می‌بینیم که این واحد اندازه‌گیری اگرچه که خیلی دقیق نیست، اما به عنوان یک واحد اندازه‌گیری مرسوم برای تی شرت ها درآمده و هم از طرف شرکت های سازنده و هم از طرف مصرف کنندگان مورد تأیید قرار گرفته است. در مدل اجایل هم دقیقاً قضیه ی پوینت ها به همین صورت است. اصلاً نیازی نیست تا دقیقاً مشخص کنیم که پوینت 1 معادل با چقدر حجم کار، سادگی و پیچیدگی است بلکه پوینت ها را می‌توان کاملاً توافقی با مد نظر قرار دادن نظرات تک تک اعضای تیم مشخص کرد.

سرعت اجرای پروژه
در پایان هر ایتریشن، اعضای تیم می بایست کارهای انجام شده را مشخص کنند و ببینند که کارهای انجام شده چند پوینتی بوده اند. پوینت های کارهای انجام شده را جمع کرده و نتیجه ی نهایی معادل است با سرعت انجام پروژه توسط آن تیم. به عبارت دیگر، اگر تیمی در ایتریشن اول اقدام به تکمیل یورز استوری هایی با 15 امتیاز و در ایتریشن دوم اقدام به تکمیل یورز استوری هایی با 25 امتیاز کرده است، سرعت انجام پروژه معادل است با جمع امتیازها (40) تقسیم بر تعداد ایتریشن ها (2) که می‌شود 20. با مشخص شدن سرعت انجام پروژه توسط اعضای تیم، به مراتب راحت‌تر می‌توان سیاست گذاری ادامه ی پروژه را انجام داد و فازهای پروژه را به گونه‌ای تنظیم کرد که اعضای تیم از ضرب العجل های مشخص شده عقب نمانند.

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

- توسعه ی نرم‌افزار تست-محور یا TDD
- ابزارهای تست پروژه یا Unit Test

جالب است بدانید که وقتی که این دو روش تست پروژه در کنار یکدیگر مورد استفاده قرار گیرند، بهترین نتیجه ی ممکن به دست خواهد آمد که متضمن Bug-free بودن پروژه خواهد بود یا حداقل احتمال وجود باگ را به مراتب کاهش می دهد. در روش TDD که مخفف واژگان Test-Driven Development است، توسعه‌ دهنده پیش از آن که شروع به کدنویسی پروژه ی خود کند، ابتدا می بایست یک برنامه ی کوچک تست کننده بنویسد که وظیفه ی این برنامه آن است که برنامه‌ای که توسعه‌ دهنده قرار است در آینده بنویسد را تست کند. پس از نوشتن تست، توسعه‌ دهنده شروع به نوشتن سورس کد اصلی برنامه می‌کند که می بایست حتماً از سد آن تست عبور کند تا بتوان مهر تایید روی آن زد.

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

دیپلویمت نرم‌افزار
پیش از Deployment (دیپلویمت) به معنی «استقرار» یا بهتر بگوییم انتشار نرم افزار، می بایست تغییرات مورد نیاز در سورس کد، فایل‌های کانفیگ، تغییر اسکمای دیتابیس (منظور از Schema ساختار جداول دیتابیس است) و … اعمال شده و مجدد پروژه را تست کرد و پس از آن که اطمینان حاصل کردیم که همه چیز به خوبی کار می کند، می بایست اقدام به دیپلویمت نرم‌افزار کنیم.

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

در این جلسه، می بایست تا حد ممکن بازخوردها را یادداشت کرده و در صورت نیاز، این احتمال وجود دارد تا یوزر استوری های جدید ایجاد شوند تا کمی و کاستی های پروژه را پوشش دهند. این یوزر استوری های جدید می‌توانند قابلیت‌های جدیدی باشند و یا در ارتباط با اعمال تغییراتی در قابلیت‌های قبلی باشند. سپس این یوزر استوری های جدید می بایست اولویت بندی شده و بر اساس درجه ی اهمیت، در دستور کار قرار گیرند.
 
  • پیشنهادات
  • ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    آشنایی با مدل های اجایل


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

    Scrum
    اسکرام معروف ترین مدل توسعه ی نرم افزاری به سبک اجایل است. به طور خلاصه، در این مدل هر تغییری که در پروژه اعمال می‌شود برگرفته از تجربیات اعضای تیم است و تئوری در آن محلی از اعراب ندارد! در اسکرام چهار مولفه وجود دارند که عبارتند از:
    Product Backlog: لیستی کامل و جامع از نیازمندی های پروژه
    Spring Backlog: لیستی از نیازمندی ها و کارهایی که در هر فاز می بایست به انجام برسند.
    Burndown Charts: نمودارهایی از پیشرفت انجام پروژه در هر اسپرینت
    Shippable Functionality: محصول نهایی قابل استفاده که نیازهای مشتری را برآورده می سازد.

    XP
    مدل Extreme Programming که به صورت خلاصه XP خوانده می شود، نوع دیگری از توسعه ی نرم افزاری به سبک اجایل است که در این مدل تمرکز اصلی روی میزان رضایتمندی مشتری است. در این مدل، هر زمانی که مشتری درخواست جدید داشته باشد، اعضای تیم با روی گشوده درخواست وی را پذیرفته و تبدیل به کد می کنند.

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

    پیش از این هم در مورد TDD صحبت کردیم. در مدل ایکس پی، اعضای تیم به نوشتن تست برای کدهای خود ایمان داشته و پیش از شروع کار، اقدام به نوشتن Unit Test های اصولی و اثربخش می کنند. چیز دیگری که در مدل ایکس پی به وضوح مشاهده می شود، مفهومی است تحت عنوان Pair Programming. منظور از این اصطلاح این است که دو برنامه نویس در کنار یکدیگر شروع به کار کردن می کنند. یکی کدنویسی می‌کند و دیگری به کدهای همکارش نگاه می‌کند و در صورتی که نظری در مورد بهتر شدن کد داشت، به همکارش اعلام می کند.

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

    Lean Programming
    مدل برنامه نویسی Lean که معادل فارسی آن «ناب» است ریشه در فرهنگ ژاپنی دارد. در دهه ی 1940 در ژاپن، شرکت کوچکی به نام Toyota وجود داشت که می‌خواست شروع به تولید خودرو برای نیاز داخلی این کشور کند اما این امکان را نداشت تا سرمایه ی هنگفتی برای خرید تجهیزات بخواباند. مدیران این شرکت با مد نظر قرار دادن مشتریان سوپرمارکت ها، دیدند که مشتریان چگونه در سوپرمارکت ها صرفاً اقدام به خرید مایحتاج خود می‌کنند چرا که این اطمینان خاطر را داند که هر موقع چیزی نیاز داشتند -مثلا پنیر- به سادگی می‌توانند به سوپرمارکت رفته و به اندازه ی نیاز خود خرید کنند.

    با این مشاهدات، مدیران تویوتا مفهومی تحت عنوان JIT که مخفف واژگان Just in Time است را ابداع کردند. به عبارت دیگر، تویوتا برای تولید خودروهای خود اصلاً نیازی به دپو کردن لوازم ساخت خودرو در انبارهایش نداشت و به اندازه ی تولید روزانه ی خود قطعات تهیه می‌کردند که در نتیجه این کار منجر به کاهش هزینه‌ در فضا، ماشین آلات، نیروی کار و … گشت. به عبارت دیگر، Just in Time یا «در زمان نیاز» به چیزی، اقدام به خرید آن می کردند.

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

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    آشنایی با مفهوم مجوزهای انتشار نرم‌افزار


    برخی توسعه دهندگان یا بهتر بگوییم شرکت های تولید کننده ی محصولات نرم افزاری هستند که محصولات خود را به صورت پولی در اختیار کاربران قرار می دهند. مسلماً سورس کد چنین نرم افزارهایی بسته بوده، سایر توسعه دهندگان به آن دسترسی نداشته و هرگونه سوء‌ استفاده از چنین نرم افزارهایی پیگرد قانونی دارد اما زمانی که می‌خواهیم نرم‌افزار خود را اپن سورس کنیم، پای یکسری License (لایسنس) یا «مجوز» ها به میان می‌آید که آگاهی برنامه نویسان مبتدی از این لایسنس ها خالی از لطف نیست که در این فصل قصد داریم معروف ترین آن‌ها را مورد بررسی قرار دهیم.

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

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

    زمانی که ریچارد استالمن در سال 1984 شروع به کار روی پروژه ی GNU برای ساخت یک سیستم عامل آزاد کرد، وی تأکید داشت که نرم‌افزار می بایست مابین توسعه دهندگان، مهندسین و کاربرانش به راحتی به اشتراک گذاشته شود و ایشان نیز می بایست این امکان را داشته باشند تا در بهبود آن مشارکت کنند.

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

    متن باز یا آزاد؛ مسأله این است!
    معادل فارسی Open Source متن باز و معادل فارسی Free آزاد است و ما در این فصل متن باز و آزاد را معادل یکدیگر قلمداد می‌کنیم اما از آنجا که واژه ی Free در زبان انگلیسی به غیر از آزاد، به معنی «رایگان» نیز هست، ممکن است برنامه نویسان مبتدی به اشتباه بیفتند. لذا ما از معادل اپن سورس بیشتر استفاده خواهیم کرد.

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

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

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

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

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

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    آشنایی با انواع لایسنس های نرم افزارهای متن باز


    GNU General Public License
    این لایسنس که به طور خلاصه GPL خوانده می شود، معروف ترین لایسنس اپن سورس است که توسط مؤسسه ی FSF برای پروژه ی GNU یا همان سیستم عامل متن باز آقای استالمن ابداع شد. این لایسنس برای کرنل لینوکس هم مورد استفاده قرار می گیرد. از جمله ویژگی‌های این لایسنس می‌توان به کپیلفت قوی، عدم اجازه داشتن توسعه‌دهنده به منظور اقدام با سایر لایسنس ها و ملزم کردن توسعه‌دهنده به انتشار پروژه ی خود تحت جی پی ال است. در حال حاضر، دو نسخه از جی پی ال وجود دارد که تحت عناوین v2 و v3 شناخته می شوند. نسخه ی ۳ در سال ۲۰۰۷ ریلیس شد که در آن بسیاری از نقاط ضعف نسخه ی ۲ که در سال ۱۹۹۱ منتشر شده بود رفع گردیده است.

    MIT
    لایسنس ام آی تی یکی از لایسنس های خیلی دست و دلباز است که این امکان را به توسعه‌دهنده می‌دهد مادامی که پیام کپی رایت را نگاه دارد، از نرم افزارهایی تحت این لایسنس هرگونه که خواست استفاده کند. از جمله پروژه های معروفی که تحت این لایسنس منتشر شده‌اند می‌توان به فریم ورک Rubu on Rails, jQuery و Node.js اشاره کرد.

    Apache License 2.0
    این لایسنس توسط مؤسسه ی Apache Software Foundation برای وب سرور آپاچی که در فصول گذشته با آن آشنا شدیم ابداع گردید. همچون لایسنس ام آی تی، این لایسنس بسیار سهل گیر است و پروژه هایی که تحت این لایسنس باشند برای هر هدفی قابل استفاده اند. از جمله ویژگی‌های لایسنس آپاچی می بایست به این نکته اشاره کرد که در هر فایلی، می بایست کپی رایت، پتنت، نشان تجاری و سایر توضیحات توسعه ی دهنده ی اصلی حفظ شود. علاوه بر این، هر فایلی که تغییر می باید می بایست شامل متن تغییرات اعمال شده باشد. اگر پروژه ای که تحت لایسنس آپاچی است را مورد استفاده قرار دادیم و این پروژه دارای یک فایل NOTICE یا «توجه» بود، این فایل تحت هر شرایطی می بایست در پروژه ی جدید حفظ گردد.

    Artistic License
    این لایسنس تاحدودی شبیه به ام آی تی است و اصلی‌ترین تفاوتی که با لایسنی MIT دارد این است که هرگونه تغییری که در سورس کد صورت گیرد، به وضوح می بایست نوشته شود. این لایسنس عمدتا در جامعه ی برنامه نویسان Perl مورد استفاده قرار می گیرد.

    Eclipse Public License
    این لایسنس که تحت عنوان EPL خوانده می‌شود توسط مؤسسه ی اکلیپس و برای IDE این مؤسسه ابداع شده است.

    Mozilla Public License
    MPL برای مؤسسه موزیلا -موسسه ای که مرورگر فایرفاکس را به دنیا عرضه کرده است- می باشد.

    Common Development and Distribution License
    CDDL لایسنس اختصاصی شرکت اوراکل است که تا حد زیادی شبیه به MPL است. پروژه هایی همچون نرم‌افزار NetBeans و OpenSolaris شرکت اوراکل تحت این لایسنس به بازار عرضه شده اند.
     

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    درآمدی بر بهینه سازی برای موتورهای جستجو یا سئو


    حضور در دنیای آنلاین بدون آشنایی با مفهومی همچون سئو، مسلماً حضوری غیرحرفه ای خواهد بود. SEO که هم مخفف واژگان Search Engine Optimization به معنی «بهینه سازی سایت برای موتورهای جستجو» و هم واژگان Search Engine Optimizer به معنی «کارشناس بهینه سازی برای موتورهای جستجو» است به فرایندی گفته می‌شود که بتوان از آن طریق کاربران موتورهای جستجو را به سمت سایت، پرتال یا وب اپلیکیشن خود هدایت کرد (البته توجه داشته باشیم که معنی بهینه سازی برای موتورهای جستجو نسبت به معنی دوم به مراتب رایج تر است.)

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

    علاوه بر کیفیت، کمیت ترافیک هم از اهمیت بسزایی برخوردار است. در‌ واقع، هرچه تعداد کاربران بیشتری از سمت موتورهای جستجو به سمت سایتمان ارجاع داده شود، این به معنی ویزیتور بیشتر و بالتبع سود بیشتر است (البته در اینجا منظور از سود صرفاً سود مالی نیست!)

    سئو چگونه کار می کند؟
    موتورهای جستجویی همچون گوگل، بینگ، یاهو و … را می‌توان همچون سایت‌هایی تلقی کرد که فضایی دارند برای سؤال پرسیدن که پس از وارد کردن عبارت مد نظر و زدن دکمه ی اینتر، این سایت لیست بلند بالایی از نتایج را در اختیارمان قرار می دهد. چنین ایده ای کاملاً درست است اما آیا تا به حال با خود فکر کرده‌اید که وقتی دکمه ی اینتر را فشار می دهید، پشت پرده چه اتفاقاتی رخ می دهد.

    واقعیت امر این است که گوگل -یا هر موتور جستجوی دیگری- دارای روبات هایی است که در وب گشت زنی می‌کنند و هر محتوایی که بیابند را در دیتابیس های موتور جستجو ذخیره می‌کند که به این کار اصطلاحاً Crawling یا «خزیدن» گفته می شود. ربات گوگل که مسئول این کار است Googlebot نام دارد که صفحات جدید یا صفحاتی که آپدیت شده اند را شناسایی می کند. ربات های گوگل بر اساس الگوریتم های خاصی مشخص می کنند که چه سایت هایی، هر چند وقت یکبار و چه تعداد صفحه از آن ها می بایست بررسی شود.

    Googlebot تک تک صفحاتی که روبات ها یافته اند را مورد بررسی قرار می دهد تا ببیند که چه واژگان و در کجای صفحه از سایت قرار گرفته اند. در ضمن، بررسی می کند ببیند که چگالی این واژگان چقدر است؛ مثلا در سایت سکان آکادمی چند بار عبارت «آموزش برنامه نویسی» تکرار شده است. علاوه بر این، چیزهایی همچون تگ های عنوان، توضیحات متا و غیره نیز در این مرحله بررسی می شوند که به این مرحله از کار Indexing (ایندکسینگ) گفته می شود.

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

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

    بخشی که در بالا به آن اشاره شد، SE از SEO بود اما حال نوبت به بررسی O که مخفف Optimization به معنی «بهینه سازی» است می رسد. بهینه سازی هم به فرایندی گفته می‌شود که از آن طریق وب مسترها اقدام به تولید محتوایی می‌کنند که از دید موتورهای جستجو ارزشمند تلقی شده و بالتبع در نتایج جستجوی کاربران موتورهای جستجو در جایگاه بالاتری قرار می گیرند.

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

    سئوی کلاه سفید یا سئوی کلاه سیاه؟
    فرایند بهینه سازی سایت برای موتورهای جستجو را می توان به دو دسته ی کلی تقسیم بندی کرد: Whitehat SEO و Blackhat SEO. همان طور که از نام این دو دسته بندی مشخص است، منظور از Whitehat SEO بهینه سازی به سبک اصولی، قانونی و حرفه ای آن است که مورد تایید موتورهای جستجو است و در مقابل بهینه سازی به سبک Blackhat SEO قرار دارد که به راه کارهایی اشاره دارد که نتایج زود بازده ای در بر دارند اما شدیدا توسط موتورهای جستجو منع می شوند و صددرصد توسط موتورهای جستجو مشمول جریمه می شوند که این جریمه گاهی مساوی است با حذف کامل سایت از نتایج پیشنهادی موتور جستجو. به عبارت دیگر، مرگ آنلاین!

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

    در صورتی که قصد دارید به صورت حرفه ای با SEO آشنا شوید، توصیه می کنیم در دوره ی آموزش سئو در سکان آکادمی شرکت کنید اما چنانچه صرفا می خواهید یک آشنایی ضمنی با این مبحث مهم داشته باشید، در ادامه ی این فصل با سکان آکادمی همراه باشید.
     

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    معیارهای انتخاب یک اس ایی او


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

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

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

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

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

    در استخدام یک SEO همواره نکات زیر را مد نظر داشته باشید:
    - هیچ فردی در یک مدت زمان مشخص نمی‌تواند جایگاه اول گوگل را برای یکسری کلیدواژگان تضمین کند. پس اگر کسی این ادعا را کرد که مثلا ظرف مدت یک ماه کلیدواژه ی «کلاس کنکور» را برایتان به جایگاه اول گوگل می آورد، این ادعا اصلا صحت نخواهد داشت چرا که سئو یک فرایند آهسته و پیوسته و تاحدودی زمان بر است.

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

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

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

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    آشنایی با آدا لاویس اولین برنامه نویس زن جهان


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

    آدا لاولیس به عنوان اولین برنامه نویس تاریخ و پیشگام در رایانش مدرن و از آن مهم تر، اولین برنامه نویس زن جهان شناخته می شود. او در تاریخ 10 دسامبر سال 1815 میلادی در بریتانیا به دنیا آمد و در سن 17 سالگی با «ماشین تحلیلی» چارلز ببیج آشنا شد و در نهایت در سال 1842 با مفهومی که امروزه آن را برنامه نویسی کامپیوتری می نامیم، درگیر شد. جالب است بدانید که آدا یک نابغه ی ریاضی بود و این ویژگی را از مادرش به ارث بـرده بود. چارلز ببیج به او لقب "جادوگر اعداد" را داده بود. آدا فرزند شاعر معروف انگلیسی، لرد بایرن بود. او توانایی در علوم فلسفی را از پدر و ریاضیات را از مادر به ارث بـرده بود. لاولیس شیوه ی تفکر خود را "علوم شاعرانه" نامیده بود که از طریق آن مفاهیم ریاضی را با استعاره و تشبیهات، تشریح می کرد.

    آدا لاولیس در سن 12 سالگی پرواز پرندگان را مورد بررسی قرار داده بود و توانسته بود موادی را بررسی کند که می توانستند به عنوان بال های مصنوعی به کار گرفته شوند. او در سن 13 سالگی شروع به نوشتن نتایج تحیقاتش درباره ی پرواز کرد و آن را Flyology که معنی تحت الفظی آن «پرواز شناسی» می شود نامید. اما مادرش مانع کار او شد چرا که موجب شده بود آدا از خواندن درس هایش غفلت کند. البته با توجه به نبوغی که داشت، اگر به تحقیقاتش در این زمینه ادامه می داد، می توانست برادران رایت را پشت سر بگذارد.

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

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

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

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    برنامه نویسان تاثیر گذار دنیا


    اساساً می‌توان گفت که در عصر فناوری گروهی از مخلوقاتی که تاثیرشان غیر قابل انکار است برنامه نویسان هستند و در این میان برخی از ایشان را می‌توان نام برد که تأثیر گذاری دوچندانی نسبت به سایر برنامه نویسان در پیشرفت علم و فناوری داشته‌اند که در ادامه با برخی از تاثیرگذار ترین آن ها آشنا خواهیم شد.

    دنیس ریچی: دنیس مک‌ آلیستر ریچی یکی از دانشمندان آمریکایی علوم کامپیوتری است که در شکل‌گیری عصر دیجیتال بسیار تأثیر گذار بوده است. او خالق زبان برنامه نویسی C و یکی از بنیانگذاران سیستم عامل یونیکس است. ایشان در سال 1999 موفق به کسب مدال ملی فناوری از دست رئیس جمهور وقت -بیل کلینتون- شد و وی خود را در سال 2007 بازنشست کرد.

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

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

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

    آندرس هایلسبرگ: آقای هایلسبرگ یک مهندس نرم‌افزار دانمارکی است که در توسعه و طراحی چندین زبان برنامه نویسی مشهور و ابزارهای توسعه نرم‌افزار مشارکت داشته است. او به عنوان خالق اصلی زبان برنامه نویسی سی شارپ محسوب می شود. علاوه بر این، آقای آندرس هایلسبرگ مؤلف Turbo Pascal و طراح اصلی زبان برنامه نویسی دلفی نیز می باشد. وی در حال حاضر در شرکت بزرگ مایکروسافت به عنوان مدیر اصلی دپارتمان توسعه زبان سی شارپ و همچنین برنامه نویس اصلی TypeScript می باشد.

    تیم برنرز لی: آقای تیم برنرز لی که تحت عنوان TimBL شناخته می‌شود یک دانشمند انگلیسی است که وی را خالق World Wide Web یا همان شبکه جهانی می دانند. او در سال 1989 یک پروپوزال در زمینه سیستم مدیریت داده‌ها ارائه داد و توانست اولین ارتباط موفق مابین سرورها را از طریق اینترنت برقرار سازد. او در حال حاضر به عنوان مدیر کنسرسیوم شبکه جهانی یا همان W3C محسوب می گردد.

    برایان کرنیگان: برایان ویلسون کرنیگان یک دانشمند کانادایی در زمینه علوم کامپیوتری است که در آزمایشگاه‌های بل در کنار طراحان سیستم عامل یونیکس، دنیس ریچی و کن تامپسون، کار کرده و همچنین در توسعه این سیستم عامل نقش بسزایی داشته است. علاوه بر این، او یکی از توسعه دهندگان زبان‌های AWK و AMPL نیز می باشد. شهرت وی زمانی دو چندان شد که او در کنار دنیس ریچی اقدام به تألیف کتابی در زمینه آموزش زبان برنامه نویسی C نمود.

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

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

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

    برندان ایچ: برندان ایچ در سال 1961 در ایالات متحده ی آمریکا به دنیا آمد. آنچه آقای ایچ را بیش از هر چیز دیگری بر سر زبان‌ها انداخته، طراحی زبان برنامه نویسی JavaScript و تاسیس بنیاد موزیلا و مدیرعاملی این بنیاد بوده است. وی دارای لیسانس رشته ی ریاضیات و علوم کامپیوتری از دانشگاه سانتا کلارا بوده و مقطع فوق لیسانس را در سال 1985 از دانشگاه ایلینویز اخذ کرد.
    وی پس از کسب تجربه در چندین شرکت مختلف، در نهایت در شرکت Netscape در ماه آوریل 1995 مشغول به کار شد که پس از مدتی از وی خواسته شد تا یک زبان برنامه نویسی برای مرورگر نت اسکیپ ابداع کند و او هم توانست تا زبان مد نظر را صرفاً طی 10 روز آماده سازد که Mocha نام داشت که بعداً به LiveScript تغییر نام داد و در نهایت در ماه سپتامبر سال 1995 به JavaScript تغییر نام پیدا کرد. آقای ایچ در اوایل سال 1998 به عنوان یکی از دو مؤسس اصلی پروژه ی موزیلا، نقش تأثیر گذار خود را در دنیای وب و اینترنت دوچندان کرد.

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

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    آشنایی با سایت های آموزش برنامه نویسی غیر فارسی


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

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

    codcademy.com
    کد آکادمی در سال 2011 توسط دو برادر به نام های رایان و زک با هدف ایجاد نگاهی نو به بحث آموزش راه اندازی شد. به گفته خود مدیران این سایت "تیم کد آکادمی خود را متعهد کرده است تا بهترین تجربه آموزش آنلاین را برای کاربران ایجاد نماید." زبان های JavaScript، PHP، HTML، CSS، Python، Ruby و تعدادی API و بسیار دوره ی آموزشی دیگر در این سایت در محیطی کاملاً تعاملی آموزش داده می شوند و همین مسئله منجر به یادگیری عمقی تر دانشجویان می گردد. منظور از محیط تعاملی این است که کاربرد در حین یادگیری مطالب آموزشی در همان لحظه می تواند در این سایت کدهای فرا گرفته شده را وارد کرده و خروجی آن را مشاهده نماید.

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

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

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

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

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

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

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

    MOOC که مخفف واژگان Massive Open Online Courses به معنی دوره های آموزشی آنلاین آزاد به صورت گسترده است، به جوامع آنلاین اطلاق می‌شود که در آن واحد تعداد زیادی دانشجویان را تحت آموزش قرار می‌دهند که دو تا از معروف ترین آن‌ها سایت های Courseera و Udacity است.

    khanacademy.org
    خان آکادمی در سال 2006 توسط سلمان خان تاسیس شد. سلمان خان از پدری بنگلادشی و مادری هندی در امریکا متولد شد. او در سه رشته ریاضیات، مهندسی برق و علوم کامپیوتر از دانشگاه MIT فارغ التحصیل شد. شعار سلمان خان در Khan Academy ارائه "آموزش های با کیفیت در سراسر دنیا برای افرادی با زبان های مختلف" است. دوره های آموزشی این آکادمی طیف گسترده ای از علوم را شامل می شود که از آن جمله می توان ریاضیات، فیزیک، شیمی، زیست، تاریخ و ... اشاره نمود.

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

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

    tutsplus.com
    به گفته مدیران این سایت، هدف از راه اندازی این سایت تبدیل شدن به یک پایگاه آنلاین برای فراگیری مهارت های پول ساز می باشد. سایت tutsplus.com در سال 2007 کار خود را با ارائه یکسری دوره های آموزشی فتوشاپ آغاز کرد و اکنون با داشتن بیش از 10 سایت زیرمجموعه، به ارائه آموزش در طیف گسترده ای از مهارت های مرتبط با تکنولوژی و طراحی می پردازد.

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

    teamtreehouse.com
    این سایت با برگزاری دوره های آموزشی مختلف در زمینه طراحی وب، توسعه اپلیکیشن اندروید و اپل، زبان های برنامه نویسی Ruby، Ruby on Rail، PHP و JavaScript و حتی دوره های مرتبط با تجارت و کارآفرینی و بسیاری دوره های دیگر به صورت کاملاً ویدیویی توانسته خود را به عنوان یکی از منابع معتبر در زمینه آموزش فناوری مبدل سازد.

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

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

    codeschool.com
    یکی دیگر از وب سایت های آموزشی در زمینه برنامه نویسی Code School نام دارد که آموزش های آن در حوزه هایی همچون HTML/CSS، JavaScript، Ruby و ios و ... دسته بندی می شوند. اگرچه بسیاری از دوره های این وب سایت رایگان است اما برخی دوره های خاص نیاز به پرداخت شهریه دارد. علاوه بر دوره های آموزشی مقدماتی Code School برای برنامه نویسان مبتدی، دوره های برنامه نویسی پیشرفته هم برای برنامه نویسان باتجربه تر هم در نظر گرفته شده است.

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



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

    scratch.mit.edu
    اسکرچ یک زبان برنامه نویسی است که توسط دانشمندان دانشگاه MIT امریکا طراحی شده است. هدف از طراحی این زبان برنامه نویسی، آموزش اصول برنامه نویسی، حل مسائل و تفکر انتقادی به کودکان 8 تا 16 ساله است. علاوه بر کودکانی که در این گروه سنی قرار دارند، بزرگسالانی که هیچ تجربه برنامه نویسی هم نداشته باشند می توانند از این زبان برنامه نویسی برای آشنایی با اصول برنامه نویسی استفاده کنند و به صورت کاملاً بصری به ساخت انیمیشن، داستان سرایی، بازی و ... بپردازند. لازم به ذکر است که در سکان آکادمی نیز زبان برنامه نویسی اسکرچ محبوب تدریس می شود که به صورت کاملاً رایگان و به صورت آموزش ویدیویی در اختیار علاقمندان قرار گرفته است.

    sqlzoo.net
    از جمله وب سایت های آموزشی رایگان در زمینه پایگاه داده SQL وب سایت SQLZoo است. زبان SQL صرفاً به منظور ذخیره سازی اطلاعات در پایگاه داده و فراخوانی اطلاعاتی که از قبل در پایگاه داده به ثبت رسیده اند مورد استفاده قرار می گیرد. با استفاده از دوره های آموزشی این سایت از طریق یک رابط گرافیکی تعاملی، به سادگی می توانید با دستورات مختلف این زبان آشنا شوید.

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

    codeavengers.com
    سایت Code Avengers با ارائه آموزش های با کیفیت در زمینه HTML 5، CSS 3 و JavaScript و ... فرصتی را فراهم می آورد تا کاربرانی که در مورد ورود به حوزه برنامه نویسی مردد هستند به برنامه نویسی بسیار علاقه مند شوند. نکته جالب در ارتباط با دوره های آموزشی این سایت این است که آموزش ها در قالبی بسیار سرگرم کننده ارائه شده اند و در پایان هر ماژول آموزشی هم بازی کوچکی ترتیب داده شده است تا خستگی کاربر کاملاً رفع شود.

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

    lynda.com
    سایت لیندا یکی از زیرشاخته های شبکه ی اجتماعی لینکدین است که به عنوان یکی از مرجع های تراز اول آموزش آنلاین محسوب می شود. از جمله دوره های آموزشی این سایت می توان به کسب و کار، طراحی، برنامه نویسی و ... اشاره کرد که توسط اساتید برجسته تالیف شده اند. لازم به ذکر است که به منظور استفاده از سرویس های آموزشی این سایت، نیاز به ثبت نام و پرداخت شهریه خواهید داشت.

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

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

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

    codecourse.com
    سایت کدکورس یکی دیگر از سایت های فعال در زمینه ی آموزش اصول طراحی وب است که پیش از این phpacademy نام داشت. آموزش های این سایت ویدیویی بوده اما به منظور استفاده از سرفصل های کامل آموزشی، می بایست شهریه پرداخت کرد.

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

    codementor.io
    از جمله دوره های آموزشی این سایت می توان به آموزش زبان های روبی، جاوا اسکریپت، سی شارپ، فریم ورک Ruby on Rails، توسعه ی اپلیکیشن های iOS و Android، فریم ورک AngularJS و ... اشاره کرد. به گفته ی خود این سایت "خواه یک برنامه نویس مبتدی باشید که به دنبال معلم خصوصی می گردید خواه یک مهندس باتجربه که در پی کسب تجربیات بیشتر است، Codementor شما را به هدفتان خواهد رساند."

    thenewboston.com
    سایت The New Boston یکی دیگر از سایت های غیر انتفاعی بسیار ارزشمند است که آموزش های متنوعی -از برنامه نویی گرفته تا ریاضیات و غیره- را به صورت ویدیویی در اختیار علاقمندان قرار می دهد.

    gotoandlearn.com
    سایت Go to And Learn جزو سایت هایی است که در زمینه ی ارائه ی آموزش های فلش، توسعه ی گیم، اچ تی ام ال نسخه ی 5، جاوا اسکریپت و ... فعال است که آموزش هایی به صورت ویدیویی و رایگان در اختیار علاقمندان قرار می دهد.

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

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

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

    teachingtree.co
    این سایت به صورت کاملا رایگان اصول طراحی سایت، برنامه نویسی، الگوریتم، هوش مصنوعی، یادگیری ماشینی، گرافیک و انیمیشن و ... را در اختیار علاقمندان قرار می دهد.

    code.org
    سایت code توسط دو برادر ایرانی به نام های هادی و علی پرتوی در سال 2013 تحت عنوان یک موسسه ی آموزشی غیر انتفاعی تاسیس شد که هدفش ارتقاء دانش برنامه نویسی بین کودکان و سایر علاقمندان است. یکی از اهداف ارزشمند این دو برادر این است تا بدون در نظر گرفتن رنگ، نژاد و ملیت دانش آموزان، دسترسی به منابع آموزشی علوم کامپیوتری را برای ایشان میسر سازند. مدیران این سایت اعتقاد دارند که آموزش علوم کامپیوتری می بایست به عنوان بخشی از دروس مدارس -به خصوص مقاطع ابتدایی- درآید. به علاوه، این سایت حاوی لینک به سایر منابع آموزشی نیز هست که علاوه بر بچه ها، بزرگسال ها نیز می‌توانند برای شروع برنامه نویسی از آن‌ها استفاده نمایند.

    علاوه بر این، سایت code.org مبتکر چیزی است تحت عنوان Hour of Code که از آن طریق، مدارس و موسسات آموزشی شرکت کننده می توانند در یک ساعت آموزش برنامه نویسی، دانش آموزان را با علوم کامپیوتری به خصوص اصول برنامه نویسی و مزیت های آن آشنا سازند.

    hackdesign.org
    درست است که بخش عمده‌ای از یک ایده ی نرم افزاری بک اند یا منطق آن نرم‌افزار است اما این در حالی است که طراحی نیز به عنوان بخش لایفنک یک نرم‌افزار است چه بسا ایده یی خوب اما با طراحی بد به راحتی شکست بخورد! سایت Hack Design یکسری درس‌های مرتبط با طراحی که توسط طراحان تراز اول دنیا تألیف شده‌اند -از طراحان فیسبوک گرفته تا دراپ باکس، گوگل و غیره- را از طریق ایمیل به صورت هفتگی در اختیار دانشجویان قرار می‌دهد که شامل مقالات برای کسب دانش و تکالیفی برای کسب تجربه اند. این مقالات شامل تایپوگرافی، طراحی محصول، رابط کاربری، نمونه سازی اولیه و بسیاری مباحث جالب دیگر هستند (باز هم یادآور می‌شویم که منظور از Frond-end رابط کاربری و به طور کلی ظاهر یک سایت یا اپلیکیشن است در صورتی که Back-end به منطق حاکم بر این نرم‌افزار یا اپلیکیشن دلالت دارد.)

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

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

    stackoverflow
    سایت Stackoverflow در سال 2008 تاسیس شد که صرفاً پس از گذشت چند سال به محبوبیتی جهانی در میان توسعه دهندگان و برنامه نویسان کشورهای مختلف جهان قرار گرفت. به طور خلاصه، این سایت به عنوان بهترین مکانی است که برنامه نویسان می‌توانند به سؤال و جواب در مورد برنامه نویسی و طراحی سایت بپردازند. اگر قصد ورود به دنیای برنامه نویسی را دارید، بدون شک این سایت یکی از دوستان نزدیک شما خواهد شد!

    w3.org
    این سایت متعلق به کنسرسیوم شبکه ی جهانی وب (www) است که یک مجمع بین المللی می باشد که مدیریت شبکه ی جهانی وب را بر عهده دارد. این سایت نیز آموزش هایی در زمینه ی فناوری های وب همچون زبان های اچ تی ام ال، سی اس اس، اکس ام ال، استانداردهای وب و ... منتشر می نماید.

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

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    آشنایی با سایت های آموزش برنامه نویسی فارسی زبان


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

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

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

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

    quicklearn.ir
    اگر علاقه مند به برنامه نویسی اندروید هستید، سایت کوئیک لرن به شما یادگیری زبان برنامه نویسی Basic4Android را پیشنهاد می کند. سایت کویک لرن اولین سایتی بوده که این محیط برنامه نویسی را معرفی کرد و طی سال های گذشته، کمک به افراد بیشماری از طریق این محیط برنامه نویسی کرده تا بتوانند وارد حوزه ی برنامه نویس اندروید شده و شروع به کسب درآمد کنند. یادگیری بیسیک4اندروید نسبت به محیط های برنامه نویسی دیگر خیلی ساده تر بوده اما در عین حال سعی شده تا از قدرت برنامه نویسی شما چیزی کم نگردد. به گفته این سایت "خیلی از برنامه های منتشرشده در بازار با این زبان محبوب و توسط کاربران کویک لرن نوشته شده اند."

    esfandune.ir
    سایت اسفندونه یکی از سایت های فعال در زمینه ی آموزش تکنولوژی های وب و موبایل است که از جمله آموزش های این سایت می توان به آموزش برنامه نویسی اندروید، زبان برنامه نویسی پی اچ پی، برنامه نویسی ویندوز فون، آموزش سی شارپ و ... نام برد.

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

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

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

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

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

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

    برخی موضوعات مشابه

    بالا