• C++14 имеет достаточно фич, что бы забыть о PHP?

    @SBKarr

    Если сильно интересно - писать сайты можно и на C, и на С++

    В моих проектах используется Apache HTTPD + интересующие модули + контентный модуль, написанный на C++ (правда, от ++ там только объекты с наследованием, никаких шаблонов, а тем более stl и boost, просто объектная семантика удобнее структур от C)

    Apache HTTPD уже имеет на борту солидный набор полезных вещей (гуглить Apache Portable Runtime), недостатки исправляются тоннами хороших и доступных библиотек (curl, imagemagick, openssl, да что угодно из мира C/C++, хоть V8 + toc++ для генерации биндингов и у вас свой скриптуемый жабаскриптом сервер)

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

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

    Сборка построена на makefile, которые замечательно понимает любая IDE, что есть на линуксе. Сборка инкрементальная, как положено, компиляция при активной работе над фичей меньше секунды. Отладка через GDB (тоже замечательно воспринимается IDE). Компиляция + деплой + запуск с одного сочетания клавиш занимает меньше секунды.

    Рабочие версии выкатываются через примитивный CI (gitolite + hooks), сервер сам собирает, сам устанавливает. Выкатывание так же занимает от 5 до 10 секунд (на сервере всё пересобирается полностью, ну и качеству связи не последняя роль отведена).

    Веб-морды собираются на бутстрапе (хотя недавно верстальщики распробовали SemanticUI и порадовались), сердце веб-морды - AngularJS.

    А как же индексация, спросят знакомые с SEO люди? PhantomJS + простейший скрипт решают эту проблему. Когда приходит робот за полным индексом, сервера конечно не очень довольны, но вполне себе стоят и работают без заметных тормозов (0.1 мс против 1.5 мс, при среднем пинге пользователей в 150мс)

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

    Ответ написан
    Комментировать
  • Способы решения проблемы indoor навигации в iOS?

    @SBKarr

    В API предусмотрена возможность попросить пользователя включить Bluetooth (что можно сделать при первом запуске приложения [[CBCentralManager alloc] initWithDelegate:self queue:nil options:@{CBCentralManagerOptionShowPowerAlertKey:[NSNumber numberWithBool:NO]}

    Источник:

    Ответ написан