Вот тут, кстати, интересный момент. Получается после этого jailbreak для установки программ, которые не пропускает apple уже не нужен (f.lux на пример)?
Я и сам не доволен, но разве бывает как-то по другому? Неужели кто-то умеет выпускать продукты быстро (в определенные сроки), сразу качественно и со всем набором «must have» фич? На мой взгляд это из области фантастики.
Потому что bolk не прав. Зависит от того, что значит «запроса к пхп». Изначально все зависит от реализации, может быть в статических полях константы — и мы всегда увидим одинаковые значения. Вероятно вопрос в том, сохраняются ли значения между разными запросами вида: запрос — php отработал — ответ, тогда нет, не сохранятся. А если php запущен, как демон, то сохранятся.
Так что вопрос идиотский и ответ на него тоже не понятный.
Так, а почему не наоборот? Почему у администрации нельзя просто отключить защиту, а во всех компьютерных классах оставить не тронутой, продукт же на школьников заточен, а не взрослых людей.
А я, как человек, перешедший на query builder-ы c Doctrine ORM во многом согласен с доводами из статьи. Автор в целом прав, в том, что lazy-load данных из базы — ключевая концепция. Eager-load не проработан на столько же, возможно потому что это сложнее, или по другой причине, но нет возможности сгенерировать два запроса, вместо N вида:
SELECT * FROM users u WHERE u.foo = bar;
SELECT * FROM posts p JOIN users u ON u.id = p.user_id WHERE u.foo = bar; // или IN(id1, id2, ...)
Ладно, у нас есть мощный query builder, попробуем сами такое сделать. Ан нет, во всяком случае в версии 2.4. Сущности не свяжутся и Identity Map становится бессмысленной, тк она не работает.
Также с Identity Map был косяк, из-за которого пришлось форкать доктрину в одном из проектов — не работал DateTime в качестве primary key. Банально отсутствовал метод, который привел бы DateTime к строке и добавлять в ядро это не хотели, предложили заменить DateTime на свой, я честно старался сделать это, но через пару часов так ничего и не вышло.
На мой взгляд вашу проблему лучше решать с помощью готовых инструментов, обернув plumber, или аналог, в if. А использовать NODE_ENV, или ENABLE_PLUMBER — это уже вам решать.
(async function start_thread() {
const result = await getNextTask();
console.log(`got ${result} from promise`);
})();
async function getNextTask(){
return new Promise(resolve => resolve(5))
}
// этот код эквивалентен
log(await (await foo()));
// этому
foo().then(r => r).then(r => log(r));
И да, все async-функции возвращают промис, как результат работы, by design.
В итоге вы можете сколько угодно менять систему сборки, разработчики вашей команды, которым они чужды могут даже об этом не знать, запуская npm start каждый раз после git pull.
var gulp = require('gulp');
var _if = require('gulp-if');
var env = process.env.NODE_ENV || 'development';
var production = env === 'production';
gulp.task('less', function () {
gulp.src('less/*.less')
.pipe(_if(!production, plumber()))
.pipe(less())
});
Вот пример:
Так что вопрос идиотский и ответ на него тоже не понятный.
Ладно, у нас есть мощный query builder, попробуем сами такое сделать. Ан нет, во всяком случае в версии 2.4. Сущности не свяжутся и Identity Map становится бессмысленной, тк она не работает.
Также с Identity Map был косяк, из-за которого пришлось форкать доктрину в одном из проектов — не работал DateTime в качестве primary key. Банально отсутствовал метод, который привел бы DateTime к строке и добавлять в ядро это не хотели, предложили заменить DateTime на свой, я честно старался сделать это, но через пару часов так ничего и не вышло.
Этот код вполне рабочий:
И да, все async-функции возвращают промис, как результат работы, by design.
В итоге вы можете сколько угодно менять систему сборки, разработчики вашей команды, которым они чужды могут даже об этом не знать, запуская
npm startкаждый раз послеgit pull.оО
await ожидает промис, а промис не может зарезолвить промис, таким образом что делает этот код?
Чего очень сильно не хватает в webpack.
toogleFilterищите control, если его можно было просто передать?Статья о библиотеке на хабре