>фреймворках (кохана) около 500к строк кода...
1. Знакомый тебе фреймворк уже устарел моральна, смирись с этим. Забудь его и переходи на что-то из 21-го века: Symfony, Zend, Laravel, Yii.
2. Какая разница сколько памяти занимает фреймворк? Даже 20 мб, что с того? PHP - stateless язык, от фремворка используется часть на запрос и при этом если даже сотая (хотя я сильно сомневаюсь) - это только на один запрос!
Прими за исходную: php код не тормозит (конечно если написан не глупым человеком), основное время выполнения - это запросы к внешним ресурсам: к БД, к поисковым движкам, внешние curl запросы, логгирование в файлы (а не через udp например в тот же logstash).
В общем не экономь на спичках, это плохо закончится.
key-value СУБД: redis например. Средствами чистого php - никак, это state-less язык. Можно конечно посмотреть в сторону сохранения в xcache, но нужно себя готовить к тому, что эти данные пропадут в любой момент.
Если вдаваться в экзотику можно тот же файл держать в ramfs, технически он будет в оперативке, но это не самая лучшая идея.
RAM за счет скорости не гарантирует сохранности. Элементарный сбой электричества - и все данных нет. Именно по этому в оперативке держат быстрые данные, которые в любой момент спокойно можно потерять.
lexaxaxa
> СУБД написана на С.С++---> следовательно с++ использует те самые драйвера.
Не позорься)) Если не знаешь о чем говоришь - лучше не говори. Что на счет ElasticSearch (Java), InfluxDB (Golang), Oracle (Java), KDB+ (pure C).
Еще раз. Все равно на чем БД написана, на php ты вот ни как не сделаешь лучше. Что php, что C/C++, что NodeJS, да что угодно для работы с файловой системой использует драфвера этой самой файловой системы. А они обычно на pure C, или asm-е пишутся.
> все таки СУБД перво-наперво работает с жестким диском...а все остальное это для того чтоб снизить побочный эффект медленного доступа к диску.
Вместо этого предлагаешь использовать файлик, который живет в абстрактном вакууме. Еще раз - БД для данных - это может стать вопросом только в случае невероятно узких юзкейсов, например шардированная система пользовательских переписок под нагрузкой в N GBit/s, содержащая M Tb данных может не справляться при волновом обновлении истории на всех шардах. Тут действительно может потребоваться даже свою БД писать.
Я напомню: каждый процесс на php жестко ограничен по памяти, что будешь делать, когда файл станет ббольше порога?)) Увеличишь лимит, в 1 прекрасный момент на твоем сервисе сможет работать только 1 человек
> Да...забыл отметить - в учебных целях нужно обойтись без БД).
В учебных целях можно и без компьютера обойтись, по старинке на бумажке.
> И вобще есть сомнения, что БД эффективнее чем работа с файлами напрямую при отсутствии сложного поиска.
Самоуверенности вам не занимать)) Вы сможете написать полнотекстовый поиск целиком на php, который не сожерт у вас всю оперативку?))
> Разве что БД применяет кэширование в памать.
БД разруливает на порядки больше кейсов. Что на счет конкурентной записи?
> БД же использует работу с файлами C/C++ правильно?
БД взаимодействует с файлами через драфвера файловой системы конкретной ОС, php тоже.
> просто для Node нужно знание сетевого администратора linux....
На тмао же уровне, что и у php, только проще. Тот же apache/nginx/lighttpd/что там у вас поднимать не нужно.
> пока нет времени на его приобретение)
Покупать бесплатное? Зачем?
> С установкой да. А со списком? Вроде package.json для ноды или requirements.txt для питона.
Возможно я кощунство скажу, но это не нужно. Пакет определяет свои зависимости, у него все они внешние. При этом даже не важно, зависимость часть текущего проекта, или нет.
@perry__utkonoss
Вы любую еду кушаете только одним прибором?))
> Но что касается систематики информации, не очень удобный вариант.
Так уж устроен мир, представления у информации абсолютно разные, по этому единый интерфейс для произвольной информации возможен, но это уже связано с нейро-интерфейсами.
А на данный момент вы ищите то, чего нет.
@Elizavetta
TL и PM это принципиально разные вещи)) TL-ом не каждый программист может стать, PM - тем более. Тут не достаточно навыков программирования, это должен быть реальный опыт разработки, обычно 5+ лет.
Задачи TL и PM сходятся только управлении приоритетами задач. В остальном - это разные роли.
Например в задачи TL еще входит: контроль качества кодовой базы (code review), построение архитектуры, определение стека используемых технологий, обучение команды...
PM же отвечает за построение процесса работы, коммуникацию с соседними отделами, коммуникацию с Product Owner...
Безусловно, иногда TL делает работу PM, иногда на оборот, но это скорее исключения, чем правило.
@imperiumcat
> 1. изучение джавы доставляет удовольствие, это отличная гимнастика для ума.
Да не вопрос))
> 2. всегда казалось правильным понимать хотя бы в общих чертах что происходит на всех этапах проекта.
Для общих черт - пообщайтесь с программистами, они вам расскажут то, что необходимо знать для текущего проекта.
Перечитал, вам тоже рекомендую.
> Подскажите как по ajax, передать что нибудь в node?
С клиентской стороны абсолютно не важно, на чем написан сервер, будь то на node / php / ruby / golang / python / java, да на чем угодно.
Посему передать аяксом, или web-сокетами, или flash-sockets и чем угодно.
Если вопрос в том, как обработать аякс запрос на nodejs:
Передавайте ваши данные в конкретном POST поле, например sessionData на конкретный адрес, например //site.com/setSession. На стороне ноды - проверяйте его наличие, правильность и уже дальше обрабатывайте.
В контексте ЗП - почему нет?))