Раз у вас сфера коммуникаций, то написать что-нибудь типа передатчик-приёмник, не знаю. multi-producer / multi-consumer, либо подсчитать кол-во уникальных сообщений в этом же источнике, не имея памяти. Ну или возьмите ваш реальный функционал из работающей системы, сильно абстрагируйте его и попросите реализовать какую-нибудь метрику по этой абстракции. И математично, и реально.
Вынести апдейт полей за условие, картинку обновлять отдельным запросом. Лучше конечно собирать запрос по отдельности и выполнить единожды собранный динамически запрос уже в конце.
git rebase -i
В открывшемся редакторе на все коммиты кроме одного ставите s (squash) и они все объединятся в один.
А вообще забудьте про переписывание истории. Все что было сделано в таком же виде и должно оставаться. Красота дерева коммитов никому не несет никакой пользы, а вот blame на нужной строяке после переписывания вами истории уже будет указывать не на реальный коммит в котором была сделана правка, а на коммит в котором вы переписали историю. Rebase злая штука. Merge наше всё. А главное просто и понятно.
Локально это скорее вопрос к IDE и сниппетам. IDE понимают на каком языке файл и предлагают соответствующие сниппеты, поэтому можно продублировать сниппет с одинаковым названием, например, "слайдер" для трёх языков и вставить все эти три кода в три соответствующих файла - js, css, html.
- What Every Programmer Should Know about Memory - это так, чтобы вы знали, как машина ездит, прежде чем стать автомехаником.
А вообще: Технопарк от mail.ru в виде видео-лекций покрывает очень много и досконально в разных областях: https://tech-mail.ru/pages/index/
Перечитайте ответы на все подобные вопросы про муки бедных ребят, которые последние гроши отдают за макбук и пытаются найти оправдание у мнения большинства. Там нет ни одного дельного совета, потому что "что выбрать?" - очень субъективный вопрос.
"Заметна ли будет разница в работе" - нет, потому что, когда человек работает за одним ноутом, ему, собственно, до фени, что фотошоп открывался на 500мс дольше.
У вас задача - сделать очередной сайт. Вы спрашиваете - какой фреймворк выбрать? При том, что фреймворков для создания сайтов - уйма. На каком основании вам советуют те или иные фреймворки - непонятно, люди ничего конкретно не знают про вашу задачу, ничего конкретно не знают про вас, а советуют. Вы же не хотите следовать за чужим некомпетентным мнениям? Выберите сами, почитайте в чём разница между фреймворками.
Если данные читаются часто, то они точно будут лежать в буфере postgres. Если у вас статический контент, который вы просто забираете по ключу, то разницы с Redis не будет никакой почти, больше времени коннект происходит, чем выборка данных.
Так кто вы, новичЕк или новичОк? А методы pAblic или pUblic?
"Как преобразовать (вынести) View из контроллера в модель?" - это как сделать из неправильного ещё более неправильное. Вьюхи должен вызывать контроллер, а не модель, и данные из моделей в них должен передавать контроллер. А вообще, посмотрите как делают нормальные люди, например, во фреймворках - вот CI делает так: https://github.com/bcit-ci/CodeIgniter/blob/develo...
Вот и ответ сразу нашёлся из логов - чёрным по белому и написано, что отказано в доступе. Проверяйте права на доступ юзеру веб-сервера к файлу ci/system/core/CodeIgniter.php. Скорее всего на .php файлах не стоят флаги на исполнение. Типа chmod +x следует попробовать на них сделать.
Если долго мучаться, то ST вполне подойдёт как текстовый редактор для создания сайтов и web приложений. Его гибкая система билдов позволяет автоматизировать деплой файлов, компиляцию и т.д.
Тем не менее, получить из него IDE с дебаггером, нормальным автокомплитом вряд ли получится, если мы говорим о компилируемых языках.
Зависит от ваших желаний, вдруг у вас клик по одной кнопке совершают только девочки, а клик по другой - только мальчики. Тогда их в две группы для ремаркетинга и надо разбить. Ну и как бы одного пикселя достаточно, чтобы дать понять что данный юзер выполнил действие.
При регистрации пользователя и при каждом логине генерим пару ключей из пароля для ассиметричного шифрования (pub, priv), по заданному алгоритму. Таким образом даже при смене браузера мы снова получаем тот же pub и priv из пароля. При этом, владелец сервера имеет только pub для аутентификации пользователя (просто сравнивая два публичных ключа на сервере и на клиенте) и для шифрования, из него невозможно получить priv.
Далее, всю инфу шифруем (хоть на клиенте, хоть на сервере) с помощью pub и расшифровываем на клиенте с помощью priv.