Я хочу попасть в команду C ++ на работе. Их работа заключается в написании CGI на C ++ (главным образом, но не ограничиваясь ими). Я знаю базовый C ++. Читая список на C ++ book guide вопрос о SO, я получил три книги от друга (у меня фактически была первая).
Я хотел бы знать, есть ли какие-либо проекты или идеи, которые вы можете сказать мне, которые я могу реализовать, чтобы я стал лучше в этом.
Настройка мне нужна. У меня есть Macbook и личный дерьмовый сервер Ubuntu dev. Я могу при необходимости загрузить bootcamp для установки любой ОС.
Не могли бы вы также дать мне несколько советов о том, как начать писать CGI (или любой учебник)?
Большое спасибо.
AJ
Позвольте мне добавить в ваш список материала для чтения; C++ FAQ Lite — абсолютно лучший ресурс для изучения тонкостей C++. Это полезно как в качестве справочника для старых таймеров, так и в качестве введения для новичков. Я настоятельно рекомендую прочитать как можно больше и попробовать небольшие примеры, демонстрирующие каждую упомянутую функцию, прежде чем присоединиться к реальному проекту.
Как только вы освоитесь с языком, я бы порекомендовал заглянуть на Github и посмотреть, нет ли там проектов C++, которым нужна помощь. Что касается изображений, созданных компьютером, или общего интерфейса шлюза, оба они не зависят от языка. Они могут быть написаны на любом языке программирования, хотя разные языки программирования будут иметь разные существующие библиотеки для их обработки. Я предлагаю вам прочитать эту тему, чтобы лучше понять стандарт/алгоритмы (в зависимости от того, какой из двух вы имели в виду). Как только вы лучше познакомитесь с предметом, вы сможете лучше понять документацию соответствующих библиотек.
Что касается среды разработки, я считаю, что Ubuntu проще всего настроить, потому что почти всю настройку можно свести к серии команд apt-get install
. Например:
sudo apt-get install build-essential
Независимо от того, какую ОС вы используете, вы, вероятно, захотите создавать и запускать свой код в предсказуемой, воспроизводимой среде.Я также должен отметить, что среда, в которой вы разрабатываете, не обязательно должна быть такой же, как та, в которой вы фактически создаете и запускаете свой код. Например, вы можете написать весь свой код на Mac OS X, но собрать и выполнить свой код в контейнере Docker, который запускает экземпляр Ubuntu с предустановленной, воспроизводимой конфигурацией сборки/запуска.
Что касается ресурсов для реализации CGI в C++ (и для другого кода), пожалуйста, ознакомьтесь со страницей ресурсов C++ на моем веб-сайте. В нем перечислены несколько инструментов для работы в сети, компьютерной графики и других задач C++, а также библиотеки общего назначения, такие как Boost и Qt.
ответ на заголовок вопроса :) при условии, что C++03
С веб-сайта Bjarnes:
2. Принципы и практика использования C++ (Должен дать представление о коротких программах/проектах)
3. Изучение и преподавание C++
И да, если вам нужно хорошо изучить C++, найдите рядом хорошего рецензента. Держите под рукой копию соответствующего стандарта (open-std.org)
Прочитайте книгу «Эффективный C++» Скотта Мейерса. Это превосходно и даст вам хороший совет о лучших практиках и вещах, которых следует избегать.
Лучший способ стать лучше в C++ — это... писать код на C++. Начните с простого трассировщика лучей без каких-либо внешних зависимостей (просто запишите вывод в файл PPM).
Используйте это, когда у вас будет больше опыта. Вернитесь назад, проведите рефакторинг кода, добавьте более сложные функции, сторонние библиотеки (например, напишите вывод в формате JPEG, начните использовать биты усиления, такие как интеллектуальные указатели).
Промыть, повторить.