С помощью open source проектов можно усовершенствовать свои навыки, исправляя чужие ошибки и создавая что-то новое. Можно найти проект, который будет полезен и для собственного бизнеса, например, в медицине или e-commerce. Кроме того, как практикующие программисты, один из лучших способов мотивировать себя на занятия программированием - это работа с open source проектами. Специально для читателей блога Geekbrains мы собрали список таких проектов из разных сфер деятельности:
Пакет программного обеспечения для работы с медицинскими изображениями. 3D Slicer доступен на нескольких платформах, в числе которых Windows, Linux и OS X.
Инструмент, который позволяет распределять обработку больших массивов данных по кластерам компьютеров с помощью простых моделей программирования.
Популярный пакет программного обеспечения для работы с текстом, создания электронных таблиц, презентаций, графики, баз данных и т.д. Полностью открытый процесс разработки означает, что кто угодно может сообщать об ошибках, запрашивать новые возможности или улучшать программное обеспечение. Он написан в международном open standard формате, поэтому воспринимает файлы из других открытых офисных программных пакетов.
Платформа для управления контентом, на которой работают миллионы веб-сайтов и приложений.
Менеджер для работы с медиаданными, предназначенный для создания больших централизованных медиа-библиотек.
Свободная операционная система типа Unix.
Офисный пакет для совместной разработки с функционалом, как у Microsoft Office или OpenOffice.org.
Система для создания курсов. Бесплатное веб-приложение, которое преподаватели могут использовать для создания эффективных Интернет-сайтов для обучения. Moodle стала очень популярной среди педагогов по всему миру в качестве инструмента для создания динамических веб-сайтов для своих студентов.
ПО для создания и управления обучающим аудио и видео контентом.
Мультиплатформенная система управления корпоративным контентом написанная на Java. Работает с несколькими базами данных (в том числе MySQL, Oracle, PostgreSQL, SQLLite, и другие), а также поддерживает несколько методов аутентификации.
Софт для создания частных и общественных облаков.
Сервис позволяет создавать опросы и делиться с контактами на сайте. Удобный способ собирать данные для их последующего анализа.
DICOM-сервер для здравоохранения и медицинских исследований. Предназначен для облегчения управления данными медицинских изображений. Хороший инструмент для автоматизации медицинских задач визуализации, специфических для каждого медучреждения.
Проект создан силами Open Source сообщества и предназначен для обеспечения лучших решений для предприятий с помощью бизнес аналитики.
Основные области применения:
- создание отчетов
- анализ
- сбор Данных
- платформа бизнес-аналитики
Java™ разработчики могут использовать компоненты проекта для быстрого создания собственных решений для бизнес аналитики.
Модульная open source система управления цифровыми данными.
Бесплатный софт для e-commerce.
Библиотека для быстрого фильтрования и сортировки больших коллекций - до 100000 элементов в браузере.
Языки c open source
Язык программирования с открытым исходным кодом и среда разработки для людей, которые хотят создавать изображения и анимацию.
R - открытый язык программирования и программная среда для статистических расчетов и графики. Язык R широко используется среди статистов для разработки статистического программного обеспечения и анализа данных.
Где найти больше open source проектов?
Один из самых крупных веб-сервисов для совместной разработки IT-проектов. Абсолютно бесплатен для open source проектов. Девиз сервиса “Social coding” можно перевести, как “Кодим вместе”.
Предназначен популяризовать open source проекты. С помощью инструментов, которые там предоставлены, разработчики создали мощное программное обеспечение в более чем 430,000 проектах; на ресурсе более 3,7 млн зарегистрированных пользователей. Популярный каталог объединяет более 41,8 млн клиентов с проектами open source и обслуживает более 4800000 скачиваний в день.
Цель Fossdroid - продвигать open source приложения на Android с помощью проекта F-Droid. Fossdroid берет свои данные из F-Droid и организует приложения в порядке, похожем на Google Play, с возможностью просмотра их по популярности.
Как узнать является ли ПО open source и каковы правила его использования?
Необходимо понимать, что не все open source проекты могут быть использованы в коммерческих целях или свободно модифицированы.Чтобы узнать, является ли ПО open source и каковы правила его использования, нужно посмотреть его лицензию . Обычно полный ее текст находится непосредственно в коде.
Обучение программированию начинается с маленьких шагов. Понятно, что для начала нужно изучить синтаксис и концепцию выбранного языка. Но не менее важным является и оттачивание мастерства в составлении алгоритмов и решении программистских задач. В этой статье перечислены ресурсы, на которых собраны всевозможные задачи и идеи для собственных проектов.
Здесь можно найти список из более чем 100 идей для проектов , которые вы можете реализовать. Список предназначен для Python, но идеи можно выполнить и в других языках. В нём есть и не совсем серьёзные проекты, и хорошие упражнения для практики. Список крайне рекомендуется к ознакомлению и выполнению новичкам.
А здесь вы найдёте список из 49 клонов игр , которые вы можете написать. Выбор зависит от уровня сложности.
Хотите создать что-то новое? Посмотрите Idea Machine и The Internet Wishlist , где люди публикуют свои пожелания по программам, которые они хотели бы увидеть.
Если хотите практических упражнений, то пройдитесь по данному списку сайтов/ресурсов:
Общие упражнения:
- Project Euler содержит более 500 математических задач (на теорию чисел, числовых систем и пр.), которые нужно решить, используя программирование (на любом языке).
- Code Abbey хранит более 200 задач по программированию. За решения 125 из них выдают сертификат, чем мотивируют многих студентов.
- Rosalind – это ещё один сайт наподобие Project Euler, который предоставляет на выбор более 200 задач по биоинформатике.
- Codingbat.com дарит упражнения по Java и Python, как для новичков, так и для продвинутых программистов.
- codegolf.stackexchange.com – сайт, на котором публикуют и обсуждают программистские головоломки.
- Ruby Quiz – серия головоломок, в которых вас просят написать короткие программы различной сложности. Исходные решения описаны на Ruby, но их можно реализовать на любом языке.
- - подборка задач на логику и программирование, к каждой есть подробный разбор решения.
Задачи из олимпиад по программированию:
- UVa Online Judge – коллекция из сотен задач с олимпиад по программированию, с онлайн-системой проверки решений.
- TopCoder содержит сложные задачи на алгоритмы, собранные годами с разных соревнований. Также несколько раз в месяц проводит олимпиады по программированию.
- CodeForces похож на TopCoder, но содержит больше задач на соревнованиях и несколько особых фишек, включая «виртуальные соревнования».
- Timus – то же, что и UVA. Содержит задачи с последних соревнований (мирового и регионального уровня).
- SPOJ – похож на UVA, с огромным числом языков программирования на выбор.
- USACO содержит несколько задач на алгоритмы с руководством по их решению.
Под определённые языки:
- Для Prolog, Lisp и подобных языков посетите P-99 и L-99 , наборы из 99 задач для повышения вашей эффективности в данных языках.
Последнее обновление: 31.10.2015
Вначале подключим скомпилированную в прошлой теме библиотеку классов. Для этого в главном проекте BankApplication нажмем на пункт References правой кнопкой мыши и в появившемся меню выберем пункт Add Reference... :
Затем в появившемся окне отметим пункт BankLibrary, который будет представлять нашу библиотеку классов, и нажмем на OK.
Теперь изменим файл Program.cs в главном проекте следующим образом:
Using System;
using BankLibrary;
namespace BankApplication
{
class Program
{
static void Main(string args)
{
Bank
В начале файла подключается библиотека:
Using BankLibrary;
В методе Main создается объект Bank, который типизирован классом Account и через который мы будем взаимодействовать с объектами Account.
В цикле while выводится список команд, который должен выбрать пользователь. После выбора одной из них в конструкции switch выполняется соответствующая команда. Каждая команда представляет получения ввода от пользователя, его преобразование с помощью класса Convert и передача аргументов методам объекта Bank.
Каждая итерация цикла while соответствует одном дню, поэтому в конце цикла вызывается метод bank.CalculatePercentage() , который увеличивает у объектов Account счетчик дней и производит начисление процентов.
В итоге получится следующая программа, имитирующая работу банка и взаимодействие с пользователем.