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. На стороне ноды - проверяйте его наличие, правильность и уже дальше обрабатывайте.
uvelichitel
Если честно не совсем понял, что вы мне пытаетесь доказать))
nil - это нулевой адрес памяти.
var foo []uint8 равен nil по той причине, что у слайса нет внутреннего массива, на который он указывает. Точнее есть, но это нулевой адрес памяти.
[]uint8{} - вот это слайс с инициализированным внутренним массивом, именно по этой причине его внутренний указатель не равен nil
uvelichitel
А что вы ожидали? Slice внутри - это указатель на массив + длинна и емкость. Кроме того null у Golang нету.
По сути new([4]uint8)[:] значит: создать массив из четырех uint8 со значениями по умолчанию 0, на его основе создать срез и вернуть переменной slice
Skid Raw
> учусь на 5 курсе на программиста, а знания в программировании равны нулю
> Мне нравится программировать, как не нравится больше ничего - я пытаюсь научиться этому
Либо я чего не понимаю, либо тут явное противоречие
> Если у вас есть какие то методики, как бороться с прокрастинацией, или как мотивировать себя к учёбе - делитесь!
> Хочешь себя мотивировать - не вопрос: поставь себе реальную цель с четко оговоренными сроками. Например сделать такой-то софт за 2 месяца. Поспорь с девушкой, другом, родителями (не важно, с кем угодно): если за этот период на сделаешь - отдаешь 2к$ наличными.
Конкретная методика
> На основании чего вы сделали подобные выводы?
На основании ваших же слов. Единственное "за" программирование:
>> Мне нравится программировать, как не нравится больше ничего
Вы не говорите, что хотите этим на хлеб с маслом зарабатывать, вы не говорите, что хотите сделать какой-то проект, вам это просто нравится. Это примерно тоже самое, что говорить: я хочу быть строителем, потому что люблю забивать гвозди, правда меня от этого дела иногда ВК отвлекает.
Проблема в том, что программирование - не есть сама цель. Программистам нравится не сам факт клацанья по клавишам (это ~10% потраченного времени), а решение логических задач, получение результата, разные новые штуки поковырять, и т.д.
Если вдаваться в экзотику можно тот же файл держать в ramfs, технически он будет в оперативке, но это не самая лучшая идея.
RAM за счет скорости не гарантирует сохранности. Элементарный сбой электричества - и все данных нет. Именно по этому в оперативке держат быстрые данные, которые в любой момент спокойно можно потерять.