5 идей проектов для практики программирования


Оглавление (нажмите, чтобы открыть):

Идеи для учебных проектов по веб-программированию

Автор: Павел Волынцев · Published 11.02.2020 · Updated 08.06.2020

Знания без практики — это как книга по плаванию в рюкзаке тонущего. Вроде книга есть, а не помогла. Так же и с программированием — нужно применять знания на практике, то только тему для практики иногда очень трудно выбрать.

Соискателя на вакансию веб-разработчика обязательно спросят — в каких проектах ты участвовал? Если соискатель уже имеет опыт работы, то он, конечно сошлётся на него. А если опыта нет, то подойдёт любой учебный проект. Сам учебный проект работодателю не нужен. Ему нужен факт того, что соискатель на практике сталкивался с реальными проблемами веб-разработки, которые выходят за рамки статей, книг и курсов по программированию.

Итак, надо выбрать идею и …

Вопрос на CodeProject Need ideas for a pet project от 2011 года:

Мне нужна идея программы. Мне нужен учебный проект только обучения, чтобы тренироваться в программировании. Я имею в виду создание чего-то, для чего требуются база данных, веб и куча других фишек в языках программирования. Нет ли у вас идеи, которой вам не жалко поделиться со мной? Что-нибудь, что вы уже сделали или над чем сейчас работаете?

В мире сотни тысяч разнообразных веб-проектов. С чего бы начал сам, будь я в начале пути сегодня?

  • Я бы попробовал повторить (клонировать) существующий проект. Я учился бы на чужом примере, что всегда проще. Смотрел и повторял.
  • Я бы помог кому-нибудь улучшить его проект. Сделал мир ярче и добрее. Это моя профессиональная цель.
  • Я бы придумал новую уникальную идею. И организовал стартап. И разбогател.

1. Если ты готов мастерить велосипеды и повторять чужие решения

Есть 100-страничная книга с описанием 200 идей для своих программ и проектов, по десяти категориям, разного уровня сложности.
The Programmers Idea Book – 200 Software Project Ideas And Tips To Developing Them

  • 200 идей программных проектов для разного уровня знаний
  • 10 категорий проектов
  • 100 страниц
  • Подсказки по каждому проекту
  • Для любого языка программирования
  • Настолько понятны, что можно начать за минуту

(Это из рекламного анонса книги)

Выдержка из книги, очень краткая, на английском языке: Martyr2’S Mega Project Ideas List! (на входе проверяется капча). Напиши в комментариях, если нужен перевод на русский язык.

Не хочется начинать проект c нуля? Тогда подключись к существующему.

2. Если ты готов помочь кому-нибудь с его проектом

Найди проект с открытым исходным кодом (open-source project), предпочтительно один из тех, которым ты пользуешься, или который нравится тебе по отзывам — и начни добавлять в него свои улучшения (patches, pull requests). Как бонус, ты получишь опыт совместной распределённой работы (remote collaboration) над проектом — очень пригодится в работе. Кроме того, факт принятых изменений в проект является значительным преимуществом перед другими кандидатами при устройстве на работу. То, что твоё улучшение принято, показывает, что ты разобрался в коде, решил новую проблему или оптимизировал существующее решение, а также понятно и аккуратно оформил свой код (code style).

Советую для учебных целей искать проекты именно с открытым кодом, потому что в них выше качество решений, а также на них можно ставить ссылки в своём резюме. Если не можешь определиться — напиши мне, разберёмся вместе.

Не хочется делать сто тысяч первый клон чужих решений? Тогда придумай новый уникальный проект.

3. Если тебе нужна свежая идея для проекта

Давай подумаем вместе. Напиши мне, контакты тут

OtherMedia

Информация должна принадлежать людям

5 идей проектов для практики программирования

Многим нравится писать код для себя, но иногда не хватает идей. Предлагаем 5 вариантов проектов для практики программирования.

1. Бэкенд на Node.js с GraphQL

GraphQL – это язык описания запросов для клиент-серверных приложений, он позиционируется как альтернатива REST API. Если вам часто приходится обрабатывать массивы данных, на его изучение точно стоит потратить время.

Этот курс поможет освоиться с GraphQL:

2. Терминальная утилита для практики программирования

Механика работы приложения в терминале проста: вы даете входные данные и получаете данные на выходе. Начните с написания чего-то маленького, несколько идей для примера:

  • Запросить имя пользователя, обработать (например, развернуть) и вернуть результат.
  • Показывать математические выражения и получать от пользователя решение.

Здесь можно ознакомиться с основами написания приложений для терминала на JavaScript.

3. Десктопное приложение на Electron

Electron позволяет создавать десктопные приложения на основе web-технологий. Вы используете для создания логики и интерфейса привычные инструменты, вроде HTML, CSS и JavaScript, а на выходе получаете программу, которую можно запустить как нативное приложение.

Некоторые известные ПО созданы на основе Electron, среди них Visual Studio Code, Slack и Webtorrent.io.

Опять же, начните с малого, познакомьтесь с фреймворком, а только потом переписывайте что-то из своих старых веб-приложений для использования в настольной системе.

4. Клон Интсаграма

Инстаграм – не самое простое приложение, и воссоздание его архитектуры многому вас научит. Вот некоторые вещи, которые вы постигните в процессе:

  • Создание сложных сеток (попробуйте сделать все только с помощью CSS).
  • Обработка большого количества разнообразных данных от пользователей и API.
  • Создание сложных приложений, уже показавших себя в реальном мире.

5. Визуализация данных с помощью D3.js

D3 расшифровывается как Data-Driven-Documents, и сейчас это одна из самых используемых библиотек для построения графиков.

Попробуйте визуализировать набор данных с помощью D3. Для примера можно взять один из бесплатных датасетов с GitHub.

Восемь проектов для развития навыков разработчика

Несколько простых проектов для развития навыков, необходимых в разработке веб и мобильных приложений.

Нельзя натренировать мускулы, просто читая о тренировках. Вам нужно ходить в спортивный зал и часами заниматься там. Также и отличным разработчиком можно стать только с практикой. Представляем вашему вниманию восемь отличных проектов, чтобы прокачать свои программистские мускулы.

Цель — создать каждое приложение при помощи любого стека технологий, который вы предпочитаете.

Проект 1 — клон Trello

Чему вы научитесь, создавая клон Trello:

  • Роутинг.
  • Drag and drop.
  • Создание новых объектов (досок, списков, карт).
  • Управление входными данными и их валидация.
  • Сторона клиента: использование локального хранилища, сохранение данных в локальное хранилище, чтение данных из локального хранилища.
  • Сторона сервера: использование баз данных, сохранение данных в базу, чтение данных из базы.

Вот репозиторий с примером, сделанным при помощи React и Redux.

Проект 2 — панель управления пользователями

Это простое базовое CRUD-приложение. Чему вы научитесь:

  • Создание и управление пользователями.
  • Взаимодействие с базой данных — создание, чтение, редактирование, удаление пользователей.
  • Оценка входных данных и работа с формами.

Проект 3 — Трекер криптовалют (нативное приложение)

Для создания приложения можно использовать Swift, Objective-C, React Native, Java или Kotlin. Чему вы научитесь:

  • Как работают нативные приложения.
  • Получение данных из API.
  • Как работает нативная разметка.
  • Как работает мобильный симулятор.

Используйте этот API. Если вам интересно, как я это сделал, вы можете почитать туториал.

Проект 4 — установите собственную конфигурацию webpack с нуля

Это не совсем приложение, но очень полезно понять, как работает веб-пакет. Он перестанет быть для вас черным ящиком, а станет мощным инструментом.

  • Компиляция es7 в es5.
  • Компиляция jsx в js или vue в js (вы узнаете о загрузчиках).
  • Установка webpack dev server и перезагрузка hot module (используйте vue-cli и create-react-app).
  • Создание готовой к продакшну сборки и её развертывание при помощи Heroku, now.sh или GitHub.
  • Установка препроцессора, чтобы провести компиляцию в css — scss, less, stylus.
  • Использование изображений и svg в webpack.

Вот отличный ресурс для начинающих.

Проект 5 — клон Hacker News

Каждый уже создал свою версию Hacker News, не будьте исключением. Что вы узнаете:

  • Взаимодействие с API Hacker News.
  • Создание одностраничных приложений.
  • Применение функций просмотра комментариев и профилей.
  • Роутинг.

Проект 6 — приложение со списком дел

Серьезно? Еще один todo-менеджер? Да, это отличный способ изучить основы. Сначала попытайтесь сделать приложение при помощи только JavaScript, а потом — при помощи любимого фреймворка или библиотеки.

Чему вы научитесь:

  • Создание новых задач.
  • Валидация полей.
  • Фильтрация задач (завершенные, активные, все). Используйте функции filter и reduce.
  • Понимание основ JavaScript.

Проект 7 — сортируемый drag and drop список

Это полезно для понимания Drag and Drop API, который поможет вам создавать сложные приложения. Чему вы научитесь:

  • Drag and Drop API.
  • Создание интересных интерфейсов.

Проект 8 — клон мессенджера (нативное приложение)

Чему вы научитесь:

  • Веб-сокеты (мгновенные сообщения).
  • Принцип работы нативных приложений.
  • Принцип работы нативной разметки.
  • Роутинг в нативных приложениях

18 open source проектов для практики программирования

Geekbrains составил подборку open source проектов, которые помогут усовершенствовать свои навыки в программировании

Пакет программного обеспечения для работы с медицинскими изображениями. 3D Slicer доступен на нескольких платформах, в числе которых Windows, Linux и OS X.

Инструмент, который позволяет распределять обработку больших массивов данных по кластерам компьютеров с помощью простых моделей программирования.

Популярный пакет ПО для работы с текстом, создания электронных таблиц, презентаций, графики, баз данных и т.д. Полностью открытый процесс разработки означает, что кто угодно может сообщать об ошибках, запрашивать новые возможности или улучшать программное обеспечение. Он написан в международном open standard формате, поэтому воспринимает файлы из других открытых офисных программных пакетов.

Coder (для Raspberry Pi)

Экспериментальный проект для Raspberry Pi, созданный небольшой группой сотрудников Google в Нью-Йорке. Это бесплатная часть ПО, которое превращает Raspberry Pi в простой личный веб-сервер и веб-среду для разработки — только то, что нужно для крафта HTML, CSS, Javascript, когда вы учитесь программировать. Установка для начала работы займет не больше десяти минут.

Платформа для управления контентом, на которой работают миллионы веб-сайтов и приложений.

Менеджер для работы с медиаданными, предназначенный для создания больших централизованных медиа-библиотек.

Свободная операционная система типа 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 и каковы правила его использования, нужно посмотреть его лицензию. Обычно полный ее текст находится непосредственно в коде.

Идеи для программирования

Дубликаты не найдены

есть одна идея. такой себе «словообразователь». с помощью словаря и перебора слов придумывать новые слова и словосочетания с возможностью, например, голосования, рейтинга, добавления тэгов по темам. то есть в словаре сколько там, 40 тыс слов? вот , а перебором получится дофига и больше и голосовать типа «смешно», «не бывает такого», «интересно». примеры можете придумать сами самые разные чтобы не поднимать эту тему узко. может получатся слова которые уже существуют, может что-то новое. может открытие получится сделать или бизнес построить благодаря этому. понятненько?

Нет программ написанных на одном языке, обычно пишут на нескольких языках, но в комплекте используется язык с++. Аваст, Майкрософт офис, Касперский и таких программ где используется с++ миллионы! Что не скажешь об с#. Для сведения программы написанные на с# будут работать в основном на машинах где есть .NEt т.е. видноус машины. А программы написанные с использованием с++ или чистый с буду работать везде. Будь то линукс, будь то виндоус, будь то мас, кстати iOS использует язык программирования Objective c, где применяются основы того же с++. Так что с++ полезная вещь, а сейчас вышла 11я версия этого языка, где можно использовать тоже самое что и в с шарпе.

C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к C++.
Переняв многое от своих предшественников — языков C++, Delphi, Модула, Smalltalk и в особенности Java — С#, опираясь на практику их использования, исключает некоторые модели, зарекомендовавшие себя как проблематичные при разработке программных систем, например, C# в отличие от C++ не поддерживает множественное наследование классов (между тем допускается множественное наследование интерфейсов).

�� 5 идей проектов для практики программирования. #[email protected]

Многим нравится писать код для себя, но иногда не хватает идей. Предлагаем 5 вариантов проектов для практики программирования.

Мастер Йода рекомендует:  Как использовать отчеты по источникам трафика в Google Analytics, чтобы узнать, откуда приходят поль

5 идей проектов для практики программирования | Библиотека программиста

Многим нравится писать код для себя, но иногда не хватает идей. Предлагаем 5 вариантов проектов для практики программирования. 1. Бэкенд на Node.js с GraphQL

Комментарии (23)

Ilya Zvyagin

Ну все идеи сплошь дурацкие.

Ilya Zvyagin

Вы бы не генерировали контент только чтобы что опубликовать, канал был бы много лучше. Иногда есть что-то хорошее, но 80% — просто какой-то шлак.

Ilya Zvyagin

А то «многим нравится писать для себя, и он такой взял и написал клон Инстаграма, ну, просто что для себя, главное, много интересного, нового для себя найдет в этом проекте»

Михаил Бойбородин

Вот кстати вопрос в студию. Кто-нибудь в курсе есть ли сейчас разработки по генерации уровней с помощью нейросети? Когда игра во время прохождения начинает подстраиваться под стиль игры пользователя.

Илья Якубовский

Михаил, процедурное генерирование с помощью нейросетей? Интересная задумка

Леонид Крылов

Михаил, Тут много вопросов по поводу обучения этой нейросети и в чем именно будет преимущество такого подхода над обычными алгоритмами. Теоретически, такое возможно. Но зачем? И готовы ли будут пользователи обучать это чудо природы.

Антон Завьялов

Михаил, нейросети так не работают.

Влад Иванов

Ilya, сделай свой сайт, создай игру, новую операционную систему (или хотя бы переделай имеющиеся), напиши онлайн бота психолога, запоминающего каждого собеседника и ведущего с ним беседы в пределах круга его интересов, создание собственного эффективного интернет поисковика без рекламы и гибкими фильтрами, создание своей защиты от рекламы на любых платформах (приставки и телефоны на андроиде и т.д.), обучающие программы — кладезь для творчества (необязательно даже писать их с нуля, можно просто взять и модифицировать уже существую идею, как чаще всего так и поступают) — творчество ограничивается лишь самим творцом и у каждого он свой, окружающие могут дать тебе лишь направление — остальное дело твоих усилий.

Роман Назаров

напишите свой ls или cat как в линуксе

Влад Иванов

Mikhail, как вы это себе представляете (не сарказм, просто действительно интересно)? Если человек левша и любит спускаться вниз, то будет бегать по уровням только по спирали вниз? Или же наоборот по спирали вверх в одну сторону. Любишь бегать подольше -лабиринты подлинней, если нет — то покороче. Нравятся большие пространства и укрытия, то создастся бесконечная генерация случайных препятствий(укрытий) в чистом поле? Это же будет ужас — давать человеку все что он желает, игра будет до невозможности скучна. А ленивый игрок вообще в комнате сидеть останется и на стенки смотреть и иногда злой нпс к нему в дверь забегать будет. Существующая на данный момент техника лишь инструмент, люди ограниченны в самовыражении и весьма редко могут сказать чего конкретно они желают. Вопрос слишком общий. Нейросеть все же обучается что-то делать эффективней по заданным критериям, но с конечным уровнем обучения. Людей-то не обучишь сразу делать все как тебе требуется, даже достаточно умных, пока не объяснишь конкретно, что и как делать требуется, а нейросети тем более.

Дмитрий Владимирович

Как клон инстограмма создать?

Михаил Бойбородин

Влад, Мне кажется в таком случае можно делать наоборот. Если игрок всегда сидит на месте генерируются обвалы. Много прыгает — потолки. Нашел любимую базуку — получи резист к этому оружию у НПС. Хочешь выиграть — совершенствуй стратегию, никогда не используй протоптанные дорожки.

Михаил Бойбородин

Леонид, Если сделать игру онлайн то нейросеть всегда будет учится. Преимущество над основными алгоритмами в саморазвитии мира.

Андрей Грицай

Дмитрий, позавчера под андроид делал, по англоязычному курсу, но там слишком упрощено — вход/регистрация, отправка фото, всё. С использованием сервера Parse

Леонид Крылов

Михаил, то что вы описали выше не имеет отношение к нейросети. И выглядит довольно спорным решением. Я бы вам порекомендовал изучить сначала типы современных ИИ, как выстраивается модель обучения и тп. Стремление к развитию это классно, но вы не в ту степь завернули. Даже если вы подберете модель, ох, сколько дерьмеца хлебнут ваши игроки в процессен сотен тысяч иттераций для обучения. А уж саморазвитие мира, так это вообще науч поп, а не современный ии) сечас ии хорошо если отличит вашего игрока от картошки.

Михаил Бойбородин

Леонид, Тысячи итераций будут до момента релиза с игроками-учителями. Согласен, что обучение может занять годы. Я лишь подал идею для светлых умов. Рано или поздно найдется тот, кто начнет. Это лишь дело времени.

Влад Иванов

Mikhail, можете описать, как вы себе представляете ее обучение на крайних личностях с учетом их психологических особенностей : абсолютно ленивых игроках (дабы не сбежали после первого же усиления), очень упорных игроков (когда им давать продвигаться дальше, ибо даже самый целеустремленный и терпеливый человек имеет свои ограничения, после которых он разобьет компьютер и проклянет навсегда слишком сложную игру). Вот даже будучи человеком как решить универсально эту задачу, если не работать с каждыми индивидуально? Вася ленивый и не тщеславный — ему убивать кого-то в играх не особо то и хочется, просто зашел с друзьями пообщаться и вместе провести время. А тут заходит Петя, очень активный, упорный и неудовлетворенный жизнью молодой человек, полный энергии, готовый убивать все, что движется. Убили Васю — ну и ладно, все равно игра мне не очень нравилась и выходит. Убили Петю, но его это только раззадорило, и он еще часа 3 пытается отомстить. Как решить эту задачу в условиях онлайн игры? Для кого создавать лучшие условия? Если облегчить игру, то лишишься Пети, ибо слишком легко, а убивать Васю 1 кнопкой, пока он сообразит повернуться слишком легко (если игра с пвп режимом). В случае совместного прохождения, Петя навызывает столько тяжелых условий, что Вася убежит из игры после 5 минут. Это только вопросы ситуаций с игроками, а есть и сюжеты. Какую концовку предоставить игроку? Победителя (всеобщее признание, слава, богатство и девочки), проигравшего( Диабло 1) — некоторые любят и проигрывать. Или дать альтернативу в виде своего домика и семьи, судьбы солдата защитника мира, вора-авантюриста, злобного захватчика и угнетателя (перевернутый герой также весьма популярен, если убрать общественное мнение), барда рассказывающего разные истории, героя-любовника, ревнивого мужа-собственника. (И это истории только для мужского пола). Для женщин существует альтернативная золотая жила. Героиня попирающая общественную мораль и делающая все что пожелает. Если оживить все женские фантазии из их ограниченного современной моралью и законами сознания — может получиться нечто совершенно новое. Девушка может убивать, но это мелко и примитивно. Как насчет влюбить в себя 2 индивидов, заставить их сражаться друг с другом, обещая свое сердце то одному, то другому, пока 1 не убьет другого (тоже банально). А если добавить 3 персонажа, который вероломно убьет победителя и останется с героиней. Или же героиня резко исчезает, дожидается пока, нужный индивид устроится в жизни, найдет себе пасию, заведет детей. И тут появляется главная героиня, влюбляет в себя, заставляет индивида уничтожить свою семью и детей, самыми различными методами, а затем снова бросает его. И бравирует затем перед ним своей новой семьей и детьми, а его использует в качестве любовника, не скрывая при этом отношений с главой текущей семьи. И это не считая вариаций, когда девушка сама захочет насильно заставлять быть с собой парней (если сделать онлайн, то очень много современных парней мечтают о такой бой бабе). Вариации женского насилия в семье, когда девушка избивает парня за всякое (не прибрался, не так посмотрел, слишком громко разговаривал). Ладно, что-то слишком уж расписал сильно. Работы вал, даже конкретной и скриптованной, а волшебная нейросеть за тебя все это не сделает, даже во много раз упрощенной для пользователя игре. Идеалов нет в жизни, только в голове. Конкретней вопросы в общем расписывать надо, непонятно иначе.

Михаил Бойбородин

Влад, Этот коммент и отражает то, почему в таком генерируемом мире нужна нейросеть. Мы не знаем куда приведет такая генерация , слишком много факторов и неизвестных. С этим не справятся классические алгоритмы. А нейросеть справится. Часть игроков несомненно отпадет как не подпадающие под усредненный вариант решения функции на данный момент. Но всегда придется чем-то жертвовать. Создание такой игры на столько невероятный проект, что оценивать его финал не представляется возможным, ведь его создатель шагает в ту область где еще не бывала «нога» человека. В 2007 году был очень похожий проект Second Life — это скорее не игра а онлайн платформа со встроенным языком программирования. Внутри невероятного мира есть области от военных до порнографических. Мир рисовали и кодили сами игроки прямо изнутри в зонах под названием Песочницы (что потом перенял MineCraft). Игроки со слабым интеллектом или отсутствием фантазии не выживали там и пары дней. Но занятие мог найти каждый, от романтичных девочек до социофобных кодеров. Мир рос с невероятной скоростью (по 20к игроков онлайн) Это было реализовано более 10 лет назад на куда более отсталом железе чем сейчас. Сейчас это можно реализовать на совершенно новом уровне.

Влад Иванов

Mikhail, вопрос в железе. Архитектура на данный момент поддерживает только конкретные вещи, причем в очень упрощенном виде. В СМИ нейросеть — магическое всемогущая программа, которая сможет развиваться вплоть до порабощения человечества, но это очень далеко от истинны. Это всего лишь инструмент автоматизации, не более того. Люди до коммунизма дорасти еще не могут и совместно начать разрабатывать передовые энергетические технологии, а тут волшебная сеть сама все научится делать, какой ей смысл, ради чего? Люди не знают ради чего живут в большинстве случаев. Тут даже вопрос больше в деньгах. Игра должна приносить деньги, одинокий задрот будет приносить деньги постоянно, но таких очень мало. А вот проходные игрули с красивыми девочками, убийствами, псевдоумными загадками и т.д. (игра на низменных чувствах людей) , легко делаются, мало требуют усилий и не заставляют игрока особо задумываться при расставании с деньгами. И самое главное — ни в коем случае нельзя делать игры, реально развивающие людей, иначе человек начнет задумываться и пытаться развивать общество, требовать перемен к лучшему, занимать активную жизненную и общественную позицию, объединяться в своих побуждениях к развитию. Second Life удовлетворяет все темные стороны участников в ней, чтобы они не начали выплескивать свою энергию на изменение мироустройства в целом. И не стоит забывать о девиантах (людях творящих порицаемые обществом поступки (убийцы(в играх разрешены, потому что в случае войны или локальных конфликтов необходимы люди, готовые на убийство (но детей (если это не какое-то там всемирное воплощение зла или монстр под прикрытием) и женщин (мирных, а не вооруженных) все же убивать нельзя, еще могут пригодиться), насильники (основа общества, просто кому-то можно, а кому-то запрещено, тем более насилие с помощью обстоятельств, никто почему-то не замечает), педофилы, зоофилы (реальные, а не переодетые в костюмы или фуррилюбы — ) и прочие необычные личности (хотя по мне они просто порождение нашего общества — не более того, издержки общественной морали), несмотря на то, что они есть, контент для них не создается и запрещается даже в Second life. Весь контент в этой игре генерируют в итоге люди (Причем с учетом общественной морали и законов). Вы слишком переоцениваете возможности нейросетей и их актуальность в играх. Проще создать псевдонейросеть (обычный фиксированный алгоритм усиления условий в зависимости от уровня игрока). Вам всего-то надо усиливать монстров в пределах человеческий возможностей, создавать фиктивно умные условия выполнения задач обычной перегрузкой ваших умственных возможностей — это легко реализуется, главное не переборщить. И все — рекламируем это дело, как нейросеть самообучающаяся и люди будут в это верить. А писать под каждого индивида нейросеть и ждать пока она дорастет до его возможностей слишком дорого (чисто по времени, даже если её изобретут) и не нужно. А в условиях онлайн игр это вообще просто изобретение велосипеда будет. Только нейросеть приспособит мир к хардкорщикам, как зайдут нубы — и что ей делать? Перемешивать нубов с хардкорщиками? А захотят ли опытные люди тратить свое время на нубов? А выдержит ли оборудование столько разных и индивидуальных условий для каждого игрока? Даже если представить, что такая сеть будет создана, использование в играх бессмысленно в таком ключе. Если сможешь создать такую сеть, которая сможет угадывать абсолютно все желания людей, то игры тебе станут попросту не интересны.

Как лечится кризис начинающего программиста?

Чтобы научиться программировать, нужно программировать. В любом деле акцент должен быть на практический опыт. С теорий разве что доклады да рефераты писать 🙂

Если программировать нечего, значит оно вам сейчас не нужно. Зачем зря себя мучить.

Если не хватает инструментов, сделайте их. Программировать точно научитесь.

Если не хватает знаний языка программирования, то учитесь задавать правильные вопросы. А для неправильных существуют формы по программированию, спрашивайте.

Если идеи сложные, делите их на небольшие части (проекты, классы, методы) и реализовывайте каждую часть отдельно. Невозможного нет. Даже если задача является для вас невозможной, она может быть реализована, если её разбить на небольшие фрагменты.

Если не знаете, что и как делать, делайте как получится. Потом все само завертится, станет понятно, в каком направлении следует развиваться.

Не стесняйтесь использовать чужие решения. Копирование и подражание – неотъемлемый процесс обучения.

Постоянно ищите лучшие варианты сделать то, что было сделано вчера.

Не переставайте думать о коде. Постарайтесь сделайте так, чтобы и он о вас думал. 🙂

Чем себя мотивировать, зависит от того, зачем вы пошли в программисты. Задайте себе этот вопрос и в ответе найдется мотивация. Если нет, то видимо стоит заняться тем, что ближе. Процесс получения образование, если идет без особых проблем, лучше довести до конца, даже если выбор профессии сделан неверный.
Если же вы хотите найти себя в программировании, то пробуйте, пробуйте и еще раз пробуйте. Сфер деятельности, где можно, в той или иной степени, использовать программирование, много.

Господин начинающий, у Вас извращенный подход к программированию в целом.
Программа — это способ более эффективно решить какую-то задачу. способ достижения какой-то заданной цели с меньшим количеством ресурсов.

Возьмем, как пример, тот же бух.учет на предприятии. Как Вы думаете, почему 1С Бухгалтерия так широко распространилась в РФ и СНГ? Эта программа позволяет бухгалтеру в 2-3 клика мышки сформировать отчет для регулятора(ФНС, ПФР и т.д.), вместо того чтобы человеку сидеть руками искать платежные поручения, вычислять налоги и т.п. Софт просто подтягивает выписку из банка, анализирует ее и выдает готовую для печати бумажку, что экономит бухгалтеру сильно много времени. Расчет заплатанный налогов и отчеты в соц.фонды это вообще красота — 8 кликов мышкой и все готово 🙂

Что я описал выше? Это способ решения одной конкретной задачи с гораздо меньшим количеством ресурсов, в данном случае — времени. Эта программа экономит время на подготовку бумаг, на расчеты сумм налогов, снижает вероятность ошибки и т.д. Это ее основная ценность, которую несут ее создатели обществу

И вот, далее Вы для себя определитесь, какая Ваша основная цель? Какой Ваш основной посыл обществу?

Личной мой посыл — «Я помогаю людям экономить: время, деньги, нервы и т.д.».

Как я это делаю?
У меня сначала был маленький интернет-магазин по продаже катализаторов для бензина(в поиск «кондиционеры метала для а/м»). При соблюдении определенных условий, расход топлива на малометражках снижался от 20% до 45%
Вторым моим проектам было небольшое мобильное приложение для отслеживания хода исполнительного производства в ФССП(для взыскательней, уже сдохло). Мне и моим знакомым(не юристы) это экономило достаточно много времени на ругань с приставами, чего они должны делать и т.д. Кто сталкивался с этой службой должен знать эффективность и оперативность их работы, особенно в регионах.
Сейчас я пишу небольшой конструктор сайтов, который поможет одной дружественной мне веб-студии сильно оптимизировать процесс создания низкобюджетных сайтов визиток

Мастер Йода рекомендует:  Как полюбить тестирование ПО и зачем это делать

К чему я все здесь это пишу? Я пытаюсь донести до Вас, что нет Вам смысла учить программирование на какой бы то ни было языке ради самого программирования. Нет смысла Вам учить алгоритмы, структуры, паттерны и т.д. ради их самих.

Когда Вы пишите программу Вы должны понимать с какой целью Вы ее пишите. Сможет ли ее написание приблизить Вас хотя бы на пару сотых процента к осуществлению Вашей цели, будет ли это укладываться в Ваш посыл обществу. Осознайте это чисто для себя, не нужно это где-то писать.

Если говорить о чисто практических инструментах(функции стандартной библиотеки, фреймворки и т.д.). Лично я могу считать себя профессионалом в какой бы то ни было технологии, ни когда я прочитал 1-2 книги и/или написал 1,5 задачи оттуда же. С таким уровнем я не могу сказать что я знаю язык/технологию в принципе, просто знаком — да, но я ее не знаю. Считать себя профессионалом я могу после того как решу не менее сотни задач, используя эту технологию и написал не менее 1 млн строк кода, именно написал, а не сгенерировал rake/gii/artisan или чем-то там еще.

Вам же я желаю не останавливаться, развивайтесь. Мастерство приходит с опытом.

Коллекция идей стартапов под программирование и технику (+ Бонус)

Стартапы под программирование

1. JS аналог PHP библиотек для работы с строками, математикой, массивами

2. Программа для генерации макета вышивки крестом

3. Приложение переводящее видео с веб камеры в кода фильма Матрица

4. Сборник реализаций интересных алгоритмов на всех популярных ЯП

5. Сборник шаблонов моделей движения персонажа в игровм мире

6. Русифицированный компилируемый язык программирования

7. Порт C++ библиотеки для работы с аудио и видео данными на веб языке PHP

8. Встроенный inline PHP ассемблер

9. Язык программирования с логическими скинами

10. Программа создания никнеймов

12.07.2020, 10:36

Списки стартапов
Привет, подскажите пожалуйста, кто знает какие есть списки для стартапов?По примеру angellist,f6s.

Переход под программирование под убунтой
Добрый день! Имею некоторый опыт программирования в среде Qt под виндой. Часто слышал, что.

PHP Разработка сайтов, порталов, стартапов НЕ на CMS, дешево, качественно
Добрый день. Моё предложение: Разработка нестандартных сайтов, порталов Если Вам нужно.

Оцените технику
Здравствуйте! Оцените пожалуйста за сколько можно продать все вместе. Системный блок + Монитор +.

Продам дешёвую технику
http://s49.***********/i126/1109/54/793944f2fcc8.jpg Продаем электронику за 20% от рыночной цены.

12.07.2020, 10:38 [ТС] 2

12. Светомузыкальное приложение для устройств на базе Android
описание_отсутствует

13. Android приложение подбора цвета краски
описание_отсутствует

14. Игра в которой игровой мир управляется языком программирования
описание_отсутствует

15. Программа моделирующая и визуализирующая водопровод
описание_отсутствует

16. Программа моделирующая отношения отдельно взятого общества людей
описание_отсутствует

17. Android приложение реализующее Bluetooth, Wi-Fi, ЗЧ сети

18. Open Source скринсейвер с эффектом «Код Матрицы»
описание_отсутствует

19. Open Source скринсейвер аквариума с маленькими[!] рыбками
описание_отсутствует

20. Программа моделирующая и визуализирующая механическую логику
описание_отсутствует

21. Программа конвертирующая текст программы в микро[!] блок-схемы

22. Библиотека различных способов передвижения графического спрайта
описание_отсутствует


23. Android приложение создающее эффект глушения звука

24. Программа переводящая изображение монитора в стиль pixelart
описание_отсутствует

25. Реализация алгоритма генерации случайных чисел заданной степени случайности

26. Android приложение реализующее эффект зеркала

27. Android приложение полностю заменяющее отрывной календарь
описание_отсутствует

28. Android приложение реализующее ф-ю «Корзина»
описание_отсутствует

29. Библиотека перевода чисел любого формата в текстовый аналог
описание_отсутствует

30. Математическая библиотка для работы со сверх большими числами
описание_отсутствует

31. Android приложение реализующее ф-ю черного списка телефонных номеров

32. Android приложение реализующее ф-ю телефонного авто ответчика

33. Приложение реализующее по-компонентное движение графического спрайта

34. Программа переводящая текст в звуковой код азбуки Морзе
описание_отсутствует

35. Программа создания конструкций с деталей Lego

36. Программа отображающая мировые часы с эффектом ночи на карте Мира
описание_отсутствует

37. Программа упрощения математических формул
описание_отсутствует

38. Безпилотник в котором веб камера имеет обратную связ со шлемом оператора

39. Универсальное зарядное устройство

40. Сервис отливки корпусов электронных устройств с доставкой по почте

41. Сервис печати электронных чипов на заказ

42. Сервис по продаже форм для литья линз методом замораживания воды

43. Футурологический диджейский пульт

12.07.2020, 10:39 [ТС] 3

45. Само программируемая детская игрушка робот

46. Современный GameBoy в ретро корпусе с USB интерфесом

47. Устройство для персонального компьютера с набором датчиков

48. Износостойкая сумка для нотбука с водо отталкивающим эффектом

49. Расширяемый одночиповый ноутбук с монохромным экраном

50. Настольная[!] новогодяя ёлка синхронизируемая с ПК
описание_отсутствует

12.07.2020, 10:43 [ТС] 4

51. Стрелочные часы для математиков с разметкой числом Pi
описание_отсутствует

52. Электронные часы для программистов с битовой индикацией времени

53. Широкополосный чип-радиоприемник для мобильных устройств на базе Android
описание_отсутствует

54. Ноутбук с белым либо бледно-желтым цветом подсветки клавиатуры
описание_отсутствует

55. Ноутбук с двумя сенсорными экранами без механической клавиатуры

56. Предотвращение автоматического включения динамика при отключении наушников
описание_отсутствует

57. Маленькие[!] динамики большой мощности с металической диафрагмой в ноутбуке
описание_отсутствует

58. Большая школьная/университетская сенсорная электронна доска со своей ОС
описание_отсутствует

59. Оптико-механический сверхизносостойкий регулятор

60. Сервис печати важной информации на металических перфокартах в виде книги
описание_отсутствует

61. Простейший мобильный телефон «Бабушко-фон»
описание_отсутствует

62. Устройство создающее на поверхности физически шрифт Брайля
описание_отсутствует

63. Реализация идеи передачи информации по одно-двух проводным кабелям связи
описание_отсутствует

64. Высоко надежные коннекторы формата коаксиального разема ТВ кабеля в смартфонах
описание_отсутствует

65. Одночиповый карманный компьютер с монохромным экраном
описание_отсутствует

66. Глобальное оснащение всех устройств Bluetooth интерфейсом для синхронизации с ПК
описание_отсутствует

67. Сервис печати обоев с авторским рисунком
описание_отсутствует

68. Сервис печати авторских рисунков на поверхности фарворовых чашек
описание_отсутствует

69. Сферический аудио излучатель
описание_отсутствует

70. Наручные либо настенные часы с 24 часовой градацией на один оборот
описание_отсутствует

71. Внешняя квартирная метео станция синхронизируемая с ПК
описание_отсутствует

72. Наклейки со спец символами для клавиатуры
описание_отсутствует

73. Внешний стереоскопический телескоп с обратной связью со шлемом оператора
описание_отсутствует

Направления для перспективных исследований (Бонус )

74. Корректная светомузыкальная библиотека

75. Математическое и программное исследование шахматного дерева
описание_отсутствует

76. Работа над созданием поправок в алгоритмах визуализации 3D моделей
описание_отсутствует


(c) 2020, tolimadokara

Добавлено через 2 минуты
Набор полезных утилит для операционной системы

. Функция отображения схожести файлов в процетном значении
. Табличный, веб-подобный менеджер сортировки файлов
. Программа для снятия кода цвета пикселя с экрана
. Программа управления курсором мыши с клавиатуры
. Монитор количества перезагрузок и длительности сессий работы на ПК
. Программа аппаратного отключения питания монитора
. Регулятор громкости по текстовым шаблонам
. Реализация иерархически вложенных полос прокрутки и ползунков

Нужна идея для дипломного проекта

Здравствуйте уважаемые, буду краток. Мне на послезавтра необходимо определиться с идеей для дипломного проекта. Пишу на Delphi(по программе), Python(отсебятина), времени предостаточно и для изучения других языков программирования(проект сдавать в мае). Почему на послезавтра? Дабы была фора в три месяца, плюс выбирать унылые темы из списка(где сплошные приложения с БД сделанной в MS Access) ну очень не хочется. Буду признателен если вы предложите интересные идеи. Это может быть практически любое прикладное ПО, средней(по меркам студента) сложности.

trollface

hello world было уже, не?

Я знал, что подобных комментариев не избежать. В любом случае благодарю за «этакое» внимание к теме, за то что не смогли пройти мимо. В следующий раз хотелось бы, прочитать что-то более дельное.

Delphi какой версии? Боюсь, что написанием еще одной версии блокнота ты препода не впечатлишь. С другой стороны, если будешь писать с активным использованием модуля winAPI, преподаватель может не понять. Но я бы рискнул.

А напиши почтовый клиент? Как мысля?

Разве прикладное ПО катит в качестве диплома? А как же научное исследование и все такое?

Напиши сервер БД (тут можно прикрутить какое-нибудь математическое исследование) или компилятор (тут исследование теории текстового анализа и еще много чего). Естественно, ты не будешь первопроходцем в этом, но в дипломе это и не требуется.

Хочу чтобы вы сделали программу. Суть такова: кроссплатформенный электронный кульман для 2d черчения в векторе. Не САПР, не рисовалку, не клон автокада, а банальный электронный кульман, чтобы можно было чертить по координатам, расставлять размеры, подписи и штриховку. Привязки набегают. Можно сохранятся в svg и экспортировать в pdf. Я уже дждва года жду такую программу.

Мне на послезавтра необходимо определиться с идеей для дипломного проекта

Или защитить его? ☺

А чем QCad не устраивает?

Delphi 7. Да написание простого блокнота с форматированием текста слишком простая задача. Я и раньше использовал winAPI, даже на лабораторных, меня еще смущает привязка к платформе, хотелось бы получить опыт в написании кроссплатформенного ПО. Подумывал о потовом клиенте, как запасной вариант, вполне неплохо. Подожду еще идей.

времени предостаточно и для изучения других языков программирования(проект сдавать в мае)

боюсь у меня для тебя плохие новости)

Прикладное ПО отлично подходит, преподаватель как ребенок, если я вам расскажу какой дипломный проект он принял на «5», удивитесь. Спасибо, идею возьму на заметку.

В мае следующего года, да.

Возьми какой-то холиварный вопрос и проведи нормальное исследование.

Лично мне интересно было бы сравнение Java и C++, в частности:
— Вопросы быстродействия. Возьми алгоритмы из книги Кнута, проверь их на каждом языке. Напиши простенькую GUI программу, проверь отзывчивость.
— Многострадальные утечки памяти. Есть гипотеза, что если пользоваться в С++ библиотекой шаблонов STL, то утечек памяти не будет вообще. А в книге «Искусство программирования на С++» говорится, что и без STL сборщик мусора написать несложно — проверь.
— Проверь библиотеку шаблонов C++ (STL) и Java. Есть гипотеза о том, что в Java наглядней. Сравни их возможности, скорость работы.

(to be continued)

— Кроссплатформенность. Есть гипотеза, что если изначально правильно писать программу, то C++ программу можно будет легко скомпилировать под почти любую платформу. Есть гипотеза о том, что в Java не совсем кросс-платформенна и сложные программы все равно требуют адаптацию под конкретные платформы.
— Какие есть отличия в синтаксисе языков и что это дает а) с точки зрения скорости обучения языку б) наглядности кода б) (еще один) ВОЗМОЖНОСТИ написания наглядного кода (тут люди и по-русски пишут так, что парсер ломается, но это проблемы людей, а не языка).
и т. п.

Просто надоели эти холивары без нормальных фактов. В лучшем случае диалог сводится к «А так в C++ можно?» — «Зачем так если можно получить то же, но по-другому!» — «Аааа, видишь, нельзя!» или «А C++ может вот так. » — «Это дико частный случай и встречается в 1% случаев» — «Ааа, видишь, нельзя!».

Как вариант, возьму на заметку.

Да всем устраивает. Просто это другая весовая категория (или претензия на нее). Хочется как sketchup, только для 2d черчения. Чтобы ничего лишнего.

По-моему, там ничего лишнего нет. И разобраться легко (это вам не автокад, в котором черт ногу сломит).

Серьезная тема, да. Требующая серьезного подхода и большого количества времени, преподаватель не оценит, уверен на 102% с 2-х процентной погрешностью.

Боюсь, настоящего кроссплатформенного приложения на Delphi просто не получится. Дело не в тебе, а в компиляторе.

А насчет почтового клиента ты все-таки подумай. Написать почтовый клиент — фигня. А вот написать нормальную систему фильтрации спама — это да, это задачка.

А насчет почтового клиента ты все-таки подумай. Написать почтовый клиент — фигня. А вот написать нормальную систему фильтрации спама — это да, это задачка.

А зачем в клиенте антиспам?

pokerface

а какой ответ ты хотел если сам написал «Пишу на Delphi» на LORе ?8)

а без шуток — главное чтоб у тя эти «другие языки программирования» твой препод принял «к зачёту».:-)

а так-то тем дофига.

Это уж слишком для дипломной работы. Тут мало того, что работы непочатый край, так еще и нужно довольно много ЯП знать на приличном уровне.

Может вы и правы. У меня от одинаковых интерфейсов уже глаз замылился, двадцать лет прогресса, а все то же: здравствуй командная строка, здравствуйте панели с сотнями кнопочек, привет свойства на треть экрана. Некоторые предпочитают в inkscape рисовать себе сараи, чем смотреть на десятки этих монструозных клонов.

для учебных целей норм. ТС послушает ml-class и nlp-class и получится годный диплом

Я же написал, что Delphi меня не ограничивает, в случае необходимости могу учить и другой язык.

Как бы тебе ответить, чтоб не обидеть.
Видишь-ли, не все однако пользуются бесплатными сервасами типо mail.ru, где антиспам по умолчанию включен. Да и там, после фильтров, ты получаешь нежелательные рассылки. Так что проблема весьма актуальная.

Зря вы так на командную строку: это очень удобная штука, если нужно много чертить (как минимум — вводим координаты, как максимум — еще и команды пишем). Да и клавосочетания играют роль. Менюшку можно вообще не трогать.

Адекватный, ведь я же написал, что пишу на Delphi, только потому что, это единственный язык который изучается на протяжении всех курсов, по программе. Писать разрешается на любом языке, использовать любую СУБД(если понадобиться).

Верю. Но по себе знаю, что учить gcc после Delphi ой как трудно. Вроде и ООП знаешь и размерности и структуры, но самая трудность мышление перестроить. Если делфа в случае неудачного кода или незакрытых дескрипторов подсказывает, то си не будет. Не знаю. Я бы посоветовал писать на том языке, который лучше знаешь. Плевать, что Delphi уже не кошерный, тебе не нобелевскую премию а всего-лишь диплом сдавать.

Как бы тебе ответить, чтоб не обидеть.

Видишь-ли, не все однако пользуются бесплатными сервасами типо mail.ru, где антиспам по умолчанию включен. Да и там, после фильтров, ты получаешь нежелательные рассылки. Так что проблема весьма актуальная.

В разные времена у меня были почтовые аккаунты на множестве серверов, обычно корпоративных. Я ни разу не видел, чтобы там не было антиспама. Но пользовался/пользуюсь в основном веб-мордами, почтовые клиенты видел лишь мельком.

Но зачем пользоваться говеными небесплатными сервисами?

необходимо определиться с идеей для дипломного проекта


Знакомые банки есть? Могу предложить мега-тему 😉

Плеер напиши. На делфи.

Догадываюсь о какой идее идет речь, ну это тоже является запасным планом, но с таким же успехом, я мог бы выбрать уже готовую тему у преподавателя.

Это важные и нужные функции, только для них командная строка не нужна. Все можно в диалоги запихать. Да и не вяжется такое с простой векторной чертилкой.

Догадываюсь о какой идее идет речь

И о чем же ты догадываешься?

Учет банковских операций и подобные приложения для бухгалтеров

Учет банковских операций и подобные приложения для бухгалтеров

Ну коли сплошные БД на аксесе, то, наверное, можно выбрать что-то из списков на Google Summer of Code.

А если конкретно, то можете взять язычок, у которого нет бэкэнда по LLVM и запилить.

Диалоги не нужны в данном случае: их бритвой Оккама вырезать надо.

В таком случае, хотелось бы узнать, что за «мега» идея, да.

В данном случае ничего не нужно вообще, кроме поля для ввода. А диалог рядом с указателем удобнее. Бритвой нужно полоснуть по «командной» строке, которая не командует (или которой никто не командует).

Знакомые банки есть? Могу предложить мега-тему 😉

Читаем. Просвящаемся. Офигеваем. Доп. инф. можно получить на форуме ГНИВЦ и Банкир.ру. После чего делаем:

1. Парсер и валидатор этого безобразия.

2. Парсер и генератор бинарного формата ARJ32 (LZ77 в аржеском варианте хачить не потребуется, ввиду специфики шифрования файлы сообщений не сжимаются).

3. Спецшифровалку на основе библиотек Verba-OW.

4. Хранилище переданных/полученных сообщений.

5. Средства организации документооборота как внешнего (подтверждения, ответные сообщения), так и внутреннего (внутренняя отчетность в рамках конкретной организации).

Мастер Йода рекомендует:  Адаптивные изображения 5 трюков CSS для экономии времени

7. Красивые отчетики.

Суть токова. Берешь неизвестный преподам йезыг продукционного вывода на правилах (например, CLIPS, похож на LISP скобачками, есть зайчатки ООП), обзываешь дипломный «Экспертная система по подбору компьютерных комплектующих на основе нечеткой логики», например. (Месяца на понять что там к чему хватит) Для порядку опрашиваешь предполагаемую ЦА на предмет их эмпирических методов подбора этих самых комплектующих исходя из бюджета и предложения рынка в уездном городе N в пятнцу вечером. Ведро системы пишешь на CLIPS, благо он кроссплатформенный — отлажаться можно и в линупсе. Дадашыт с прайсом компонентов утягиваешь с сайта магазина, например (метод конверсии в базу для ведра твоей как бы системы — на усмотрение. Впроть до искусственной генерации с /dev/urandom и словарем торговых марок и аббревиатур на входе) Козью^WМорду потом для сдачи можно прикрутить хоть на Delphi (чтоб преподам было знакомо), а «для души» — на питоне, или вообще, например, веб-морду. Щедро рассыпаешь в пояснилке слова вроде «правила продукционного вывода», «дерево решений», «метод центра масс», «нечеткая логика». В конец пихаешь экономобоснование, подсчитанное по хитрой формуле из советской литературы по советсткому же(лол) софтоынтерпрайзу (главное побольше поправочных коэффициентов — на количество человеко-часов, на НИОКР, на ТУ, на ТЗ, на войну, на мор, на гусиную херню), копипасту норм САНПИН для работы с ИС и ВТ и прочую «защиту труда» и распечатку сорцов ядра на CLIPS (чем больше скобочек — тем лучше :)). Полчаса выносишь моск комиссии и председателю этими бла-бла-бла по поводу, показывая красивые слайдики в поверпойнте с проектора и «демо» интерфейса на Delphi — профит.

Чему его учить? Или зачем? Вы компилятор с языком не путаете?

Весьма недурно, красочно описано, спасибо. Как вариант, надо обдумать.

Всем, кто в теме.

Но значително лучше рассказать, про то, какие сферы из области человеческой жизнедеятельности тебе интересны помимо. На дипломный проект по чистому программированию/прямых смежных областях ты не тянешь.

Не болтайте ерундой

Мне на послезавтра необходимо определиться с идеей для дипломного проекта

А что преподаватель темы не предложил или как всегда «ой это что-то сложное, можно я сам что-нибудь придумаю»? 90% тем «придуманных» студентами — лажа полная.

Идеи для проектов для практики навыков программирования. Под определённые языки

Создание проекта в VisualStudio

После установки Visual Studio можно приступать к созданию первого проекта. В Visual Studio редко когда требуется начинать с пустого файла и добавления в него кода C#. (Разумеется, возможность создания пустого проекта приложения существует. Это нужно, если действительно возникла потребность в написании кода с нуля, либо при создании решения, которое должно содержать в себе несколько проектов.)

Вместо этого, необходимо просто указать Visual Studio, проект какого типа должен быть создан, и среда автоматически сгенерирует файлы и код C#, образующие соответствующий указанному типу проекта каркас. Далее останется добавить в этот каркас собственный код.

Давайте создадим консольное приложение, выбрав в меню File (Файл) пункт New — Project (Создать — Проект):

Как можно увидеть на рисунке, в Visual Studio поддерживается возможность выбора версии.NET Framework (2.0, 3.x или 4.0), для которой должно создаваться приложение, с помощью раскрывающегося списка, отображаемого в правом верхнем углу диалогового окна New Project (Новый проект).

Утилита Solution Explorer (Обозреватель решений) , доступная через меню View (Вид), позволяет просматривать набор всех файлов с содержимым и ссылаемых сборок, которые входят в состав текущего проекта:

Обратите внимание, что внутри папки References (Ссылки) в окне Solution Explorer отображается список всех сборок, на которые в проекте были добавлены ссылки. В зависимости от типа выбираемого проекта и целевой версии.NET Framework, этот список выглядит по-разному.

Добавление ссылок на внешние сборки

Если необходимо сослаться на дополнительные сборки, щелкните на папке References правой кнопкой мыши и выберите в контекстном меню пункт Add Reference (Добавить ссылку) . После этого откроется диалоговое окно, позволяющее выбрать желаемые сборки (в Visual Studio это аналог параметра /reference в компиляторе командной строки). На вкладке Assemblies этого окна, показанной на рисунке, отображается список наиболее часто используемых сборок.NET; на вкладке Browse (Обзор) предоставляется возможность найти сборки.NET, которые находятся на жестком диске; на вкладке Recent (Недавние) приводится перечень сборок, на которые часто добавлялись ссылки в других проектах:

Просмотр свойств проекта

И, наконец, напоследок важно обратить внимание на наличие в окне утилиты Solution Explorer пиктограммы Properties (Свойства). Двойной щелчок на ней приводит к открытию редактора конфигурации проекта, окно которого называется Project Properties (Свойства проекта):

В этом окне можно устанавливать различные параметры безопасности, назначать сборке надежное имя, развертывать приложение, вставлять необходимые для приложения ресурсы и конфигурировать события, которые должны происходить перед и после компиляции сборки.

Утилита Object Browser

В Visual Studio доступна еще одна утилита для изучения множества сборок, на которые имеются ссылки в текущем проекте. Называется эта утилита Object Browser (Браузер объектов) и получить к ней доступ можно через меню View. После открытия ее окна останется просто выбрать сборку, которую требуется изучить:

Отличие проектов от решений

Одной из важных вещей, которые необходимо понимать, является понимание разницы между проектом и решением:

Под проектом (project) понимается набор всех файлов исходного кода и ресурсов, которые будут компилироваться в единственную сборку (или в ряде случаев — в единственный модуль). Например, проектом может быть библиотека классов или приложение Windows с графическим пользовательским интерфейсом.

Под решением (solution) понимается набор всех проектов, которые будут образовывать определенный программный пакет (приложение).

Обучение программированию начинается с маленьких шагов. Понятно, что для начала нужно изучить синтаксис и концепцию выбранного языка. Но не менее важным является и оттачивание мастерства в составлении алгоритмов и решении программистских задач. В этой статье перечислены ресурсы, на которых собраны всевозможные задачи и идеи для собственных проектов.

Здесь можно найти список из более чем 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 задач для повышения вашей эффективности в данных языках.

Я хочу попасть в команду С++ на работе. Их задача — писать CGI на С++ (главным образом, но не ограничиваясь ими). Я знаю базовый С++. Чтение списка в С++ book guide вопрос о том, что у меня есть три книги от друга (у меня на самом деле был первый).

  • Язык программирования С++ — Bjarne Stroustrup — для справки
  • С++ Шаблоны Полное руководство — Дэвид Вандевоорде/Николай М. Йосуттис
  • Современный дизайн С++ — Андрей Александреску

Я хотел бы знать, есть ли какие-либо проекты или идеи, которые вы можете мне сказать, что я могу реализовать, чтобы мне стало лучше.

Настройка, в которой я нуждаюсь. У меня есть Macbook и личная дрянная Ubuntu dev серверная машина. Я могу bootcamp установить любую ОС, если это необходимо.

Можете ли вы также дать мне несколько советов о том, как начать писать CGI (или любой учебник)?

Позвольте мне добавить к вашему списку материал для чтения; С++ FAQ Lite — это самый лучший ресурс для изучения входов и выходов С++. Это полезно как в качестве ссылки для старых таймеров, так и в качестве введения для новичков. Я бы настоятельно рекомендовал прочесть столько, сколько вы можете, и попробуйте небольшие примеры, демонстрирующие каждую функцию, упомянутую перед присоединением к реальному проекту.

Как только вы почувствуете себя немного комфортно на этом языке, я бы рекомендовал взглянуть на Github и посмотреть, есть ли проекты на С++ , которые нуждаются в некоторой помощи. Что касается образов, созданных компьютером или общего интерфейса шлюза, оба эти языка являются агностиками. Они могут быть написаны на любом языке программирования, хотя разные языки программирования будут иметь разные существующие библиотеки для их обработки. Я предлагаю вам прочитать по этому вопросу, чтобы лучше понять стандарт/алгоритмы (в зависимости от того, из какого из двух вы имели ввиду). После того, как вы более знакомы с предметом, вы должны лучше понять документацию соответствующих библиотек.

Что касается среды разработки, я нахожу, что Ubuntu является самым простым в настройке, потому что почти вся настройка может быть сведена к серии команд apt-get install . Например:

Sudo apt-get install build-essential

Независимо от того, какую ОС вы используете, вы, вероятно, захотите создать и запустить свой код в предсказуемой, воспроизводимой среде. Я должен также указать, что окружающая среда, которую вы разрабатываете, не обязательно должна быть такой же, как та, на которой вы действительно строите и запускаете свой код. Например, вы можете написать весь свой код в Mac OS X, но создайте и выполните свой код в контейнере Docker , который запускает Экземпляр Ubuntu с предустановленной, воспроизводимой конфигурацией сборки/запуска.

С точки зрения ресурсов для реализации CGI в С++ (и для другого кода), пожалуйста, просмотрите страницу

Лучший способ стать лучше на С++ — это писать код на С++. Начните с простого raytracer без каких-либо внешних зависимостей (просто напишите вывод в файл PPM).

  • Я думаю, что это довольно интересная проблема и позволит вам начать работу с ядром языка,
  • Отсутствие зависимостей уменьшит отвлекающие факторы с потенциально сложными сторонними библиотечными идиомами, которые вы еще не можете оценить и раздражающими вещами, такими как библиотеки и ссылки. Кроме того, у вас будет меньше причуд на С++ в вашем лице.

Постройте это, когда у вас будет больше опыта. Вернитесь назад, отредактируйте свой код, добавьте более сложные функции, сторонние библиотеки (например, напишите выходной файл JPEG, начните использовать бит boost, например, умные указатели).

ответьте на заголовок вопроса:), предполагая С++ 03

И да, у вас хороший рецензент на вашей стороне, если вам нужно изучить хороший С++. Сохраните копию соответствующего стандартного файла (open-std.org)

С помощью 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 и каковы правила его использования, нужно посмотреть его лицензию . Обычно полный ее текст находится непосредственно в коде.

Добавить комментарий