1.5, Аноним (5), 22:35, 06/12/2018 [ответить] [﹢﹢﹢] [ · · · ]
| +14 +/– |
> Прекращена поддержка платформы BeOS.
То ли у них был человек, все эти годы поддерживающий версию для BeOS не смотря ни на что, и тогда хочется пожать ему руку, то ли они только сейчас поняли, что BeOS никто в реальности не поддерживает, а у них нигде это не отмечено.
PS. В идеале они бы заменили BeOS на HaikuOS, а то воз который год всё там же https://github.com/php/php-src/pull/2697
| |
1.9, Аноним (9), 23:06, 06/12/2018 [ответить] [﹢﹢﹢] [ · · · ]
| +21 +/– |
Язык весьма неплохой. В каждой функции есть своя изюминка. Например, при помощи file_exists() можно не только проверить существование файла, но и начать выполнять код, заботливо предоставленный третьей стороной. Удобная фича, рекомендую.
Если в вашем языке функция проверки существования файла не способна запускать код, просьба меня не беспокоить.
| |
|
2.10, Аноним (10), 23:14, 06/12/2018 [^] [^^] [^^^] [ответить]
| +5 +/– |
То ли дело хипстота, помешанная на магии современных ЯП и фреймворков, не позволяющих бедолагам стрелять себе в ногу даже если захотят.
| |
|
3.29, Аноним (29), 02:45, 07/12/2018 [^] [^^] [^^^] [ответить]
| +2 +/– |
Обидно оказаться с револьвером, когда у кого-то пулемёт на турели.
| |
|
4.44, Онаним (?), 09:29, 07/12/2018 [^] [^^] [^^^] [ответить]
| +2 +/– |
Да ладно, в хипстерских поделках там сам рантайм обычно просто косая кирпичная кладка из говнозависимостей, подтянутых с говнореп, которые мейнтейнятся непонятно кем и непонятно как до первого залетевшего дятла. По сравнению с этим пых - эталон простоты, если композером не баловаться.
| |
|
|
2.31, ъ (?), 03:20, 07/12/2018 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Например, при помощи file_exists() можно не только проверить существование файла, но и начать выполнять код, заботливо предоставленный третьей стороной.
Пример можно?
| |
|
|
4.63, blblblblbl (?), 11:35, 07/12/2018 [^] [^^] [^^^] [ответить]
| +2 +/– |
> First, an attacker must be able to plant a crafted Phar file on the targeted web server.
уже смешно
новоявленные секурные спецы оправдывают своё существование и пытаются рассказать, зачем нести деньги им, а не кому-то другому
| |
4.65, Ilya Indigo (ok), 11:45, 07/12/2018 [^] [^^] [^^^] [ответить]
| –1 +/– |
Вы хоть сами прочитали этот бред?
Это из той же оперы как вирус для линукса для запуска которого нужно пропатчить ядро определённой версии нужным патчем.
| |
4.71, ъ (?), 12:17, 07/12/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
> 30 секунд в гугле
> include($_GET['file'])
А, ну примерно такой глубины кульхацкерской мысли я и ждал.
| |
|
|
4.77, blblblblbl (?), 13:05, 07/12/2018 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Уязвимость вызвана отсутствием проверки поступающих от пользователя данных
это всё, что нужно знать
| |
|
|
2.64, Ilya Indigo (ok), 11:39, 07/12/2018 [^] [^^] [^^^] [ответить]
| –1 +/– |
> file_exists()
1 file_exists() - бесполезная ф-ия, так как не проверяет доступен ли файл может он существует, но него прав нет?
2 is_readable() - когда нужно подключить или вывести,
is_writable() - когда нужно изменить или удалить.
3 /tmp или иное место заданное в конфиге для этого должно быть с noexec флагом, в fstab, это ясно как день!
4 Ну и, естественно, записывая файл, вы должны указать ему нужные права (0600|0640|0660) БЕЗ бита выполнения.
Это я знал ещё 10 лет назад когда говносайты на Джумле писал.
Как тут выполнить файл через file_exists() можно - ума не приложу!
| |
|
3.70, fi (ok), 12:13, 07/12/2018 [^] [^^] [^^^] [ответить]
| +/– |
> file_exists() - бесполезная
ну не скажи - если файл используется для синхронизации - тот же lock
и в шеле постоянно такие проверки делаются.
| |
|
|
5.82, SenaIVV (?), 13:32, 07/12/2018 [^] [^^] [^^^] [ответить]
| +/– |
Лет 10 точно использую кэш для сайтов, самая первая строка любого урла на любом моем сайте file_exists(файл в кэше на основании текущих переменных урла из .htaccess)
И далее уже сразу require_once(файлкэша) exit()
или пошло выполнение кода, который запросит все данные страницы и затем отдаст в браузер, ну и запишет в файл кэша это всё.
Любая отличная от file_exist функция при многотысячных тестах, выполняется медленнее, чтобы проверить существоваание файла кэша на диске.Включая прямое подключение файла с генерацией кода по ошибке.
| |
|
6.83, blblblblbl (?), 13:36, 07/12/2018 [^] [^^] [^^^] [ответить]
| –1 +/– |
мало запросов значит, ибо file_exists при инвалидации не атомарен и можно нарваться на dog pile при генерации нового кеша
| |
|
7.84, SenaIVV (?), 13:41, 07/12/2018 [^] [^^] [^^^] [ответить]
| +/– |
Абсолютно никак такое не получить. Файл просто накроется новым параллельным кодом последнего пишущего, до момента следующей валидации. Говорю же - делал многтысячные тесты, включая параллельную нагрузку - все гуд, самое быстрое решение на текущий момент, НЕТ НИЧЕГО БЫСТРЕЕ!
| |
|
|
9.88, SenaIVV (?), 14:06, 07/12/2018 [^] [^^] [^^^] [ответить] | +/– | Если писать кэш одной строкой, один раз для файла, то без разницы сколько конкур... большой текст свёрнут, показать | |
|
|
|
|
|
|
|
|
|
18.136, Онаним (?), 01:09, 08/12/2018 [^] [^^] [^^^] [ответить] | +/– | Для обхода конкуренции с ридерами и предотвращения рейсов сделана хитрость лок-... большой текст свёрнут, показать | |
|
|
|
|
|
|
|
|
|
|
|
|
6.97, Ilya Indigo (ok), 15:02, 07/12/2018 [^] [^^] [^^^] [ответить]
| +/– |
> И далее уже сразу require_once(файлкэша) exit()
Если уж дело идёт про скорость, то require_once() - это костыль рукожопов, который нафиг не нужен нормальным программистам, а выполняется он медленнее чем require().
> Любая отличная от file_exist функция при многотысячных тестах, выполняется медленнее,
Логично, что проверка на существование и на доступность для чтения медленнее проверки только на существование. А без проверки вообще ещё быстрее будет!
Если у Вас, конечно, не оффтопик, то Вы получите ошибку, если окажется что файл существует, но он не доступен для чтения.
| |
|
7.102, SenaIVV (?), 15:23, 07/12/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
Нет, у меня такой ситуации не может быть, что файл есть, но не доступен для чтения - в этом и смысл и скорость конкурентной записи.
На счет require_once - если нет совпадающих пространств имен, одинакова скорость.
У меня нет таких пространств. Просто по привычке осталось с самых азов еще, всегда инклюдить и запрашивать исполнение через гарантию отсутствия дублей функций.
В самом начале такие коды были, что без этого было никуда :)
| |
7.104, SenaIVV (?), 15:30, 07/12/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
И, кстати, на счет скорости проверки наличия - не все так очевидно. Я до теста считал, что прямое включение без проверки наличия файла и код в обработчике ошибок - быстрее (без кэширования, первый запрос такого типа отрабатывает быстрее, чем первая проверка наличия файла). Но при повторном вызове, file_exists сразу начинает выигрывать.
| |
|
|
5.85, blblblblbl (?), 13:51, 07/12/2018 [^] [^^] [^^^] [ответить]
| +/– |
flock не панацея
нужно делать pid-файл через fopen x+ и проверять статус процесса, если файл существует
| |
|
|
7.98, blblblblbl (?), 15:07, 07/12/2018 [^] [^^] [^^^] [ответить]
| +/– |
это уже детали реализации, можно и через mv, смотря что делается, новый tmp тоже надо лочить и писать правильно
| |
7.99, blblblblbl (?), 15:09, 07/12/2018 [^] [^^] [^^^] [ответить]
| +/– |
т.е. если делаешь демона, то симлинк тут никаким боком, в остальном страдать версионностью можно разными способами :)
| |
|
|
5.124, fi (ok), 18:12, 07/12/2018 [^] [^^] [^^^] [ответить]
| +/– |
> используйте flock:
Это только если вы тоже хотите его юзать, но есть часто используемая технология флагов путем создание пустых файлов.
| |
|
|
3.78, blblblblbl (?), 13:07, 07/12/2018 [^] [^^] [^^^] [ответить]
| +/– |
Эксплоит работает, но ровно в одном случае: данные от юзера не фильтруются и используются напрямую.
| |
|
4.108, Ilya Indigo (ok), 16:04, 07/12/2018 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Эксплоит работает, но ровно в одном случае: данные от юзера не фильтруются
> и используются напрямую.
Понятно, это как новость от супер-пупер антивирусной компании найден супер-пупер троян под Linux!
Но как бы невзначай, для работы трояна требуются root привилегии. :-)
| |
|
3.111, пох (?), 16:48, 07/12/2018 [^] [^^] [^^^] [ответить]
| –1 +/– |
> file_exists() - бесполезная ф-ия, так как не проверяет доступен ли файл может он существует,
> но него прав нет?
откуда в нормальной системе возьмется такой файл? В том месте, где появляются какие-то файлы, доступные php? (к тому же *тебе* может и не нужны на него права - может это просто статическая картинка, ее открывает веб-сервер,а не скрипт на php)
> is_readable() - когда нужно подключить или вывести,
полагаю, он точно так же исполняет подсунутый phar.
> /tmp или иное место заданное в конфиге для этого должно быть с noexec флагом
милый ребенок, ты вообще хоть что-нибудь понял в описанном эксплойте, кроме "у меня этого не может быть, я же умный и начитанный"?
| |
|
|
1.11, Аноним (11), 23:15, 06/12/2018 [ответить] [﹢﹢﹢] [ · · · ]
| +8 +/– |
> Прекращена поддержка платформы BeOS
Не ожидал от них такой подлости! Прямо удар в спину!
| |
1.12, Аноним (12), 23:28, 06/12/2018 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> При вызове функций и методов теперь допускается оставление запятых в конце списка аргументов, например, "unset($foo, $bar, $baz,)";
Но зачем?
| |
|
2.14, КГБ СССР (?), 23:32, 06/12/2018 [^] [^^] [^^^] [ответить]
| +/– |
>> При вызове функций и методов теперь допускается оставление запятых в конце списка аргументов, например, "unset($foo, $bar, $baz,)";
> Но зачем?
Возможно, через ЭТО уже кто-то как-то зловредничал.
| |
2.15, Аноним (15), 23:38, 06/12/2018 [^] [^^] [^^^] [ответить]
| +10 +/– |
unset(
$very_long_name,
$very_very_long_name,
$very_very_very_long_name,
// $very_very_very_very_long_name
);
для того
| |
2.17, Антон (??), 23:53, 06/12/2018 [^] [^^] [^^^] [ответить]
| –1 +/– |
слизали с js, хотя может в js тоже взяли откуда то.
На самом деле довольно удобно, можно комментить ненужное и добавление параметра влечет изменение одной строки в гит, а не двух.
| |
|
3.18, Q2W (?), 00:11, 07/12/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
В perl'е это уже кучу лет можно.
Просто супер удобно!
| |
|
4.42, Антон (??), 09:18, 07/12/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
мне этого сильно не хватает в SQL. Я уже задолбался эту последнуюю запятую ставить и удалять
| |
|
|
2.87, SenaIVV (?), 13:56, 07/12/2018 [^] [^^] [^^^] [ответить]
| +/– |
Это как раз-таки самое нужное, а то я давно устал уже при динамических строках массивов удалять последний символ запятой(при чем разными с..а функциями для utf-8 и windows-1251).
| |
|
1.19, Ilya Indigo (ok), 00:22, 07/12/2018 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
> При сборке с опцией configure --with-password-argon2 в функциях password_hash()...
Да сдалась 300 лет эта убогая ф-ия для идиотов, в которой ещё заботливо запретили использовать свою соль!
Лучше бы в hash_hmac() алгоритмы bcrypt и argon2(i|id|d) завезли.
А так всё равно приходится пароли алгоритмом sha3-512 хешировать. :-(
А так ничего сильно полезного пока не увидел, но и нарушающего совместимость тоже.
P.S. Прошёл уже год а документация по sodium всё также отсутствует даже на английском.
https://secure.php.net/manual/en/book.sodium.php
| |
|
|
3.46, Ilya Indigo (ok), 09:32, 07/12/2018 [^] [^^] [^^^] [ответить]
| –1 +/– |
Особенная, состоящая из статической и динамической части, при этом статическая хранится в конфиге, а динамическая берётся из id и время регистрации, которые запрещено менять в БД, а главное только я знаю как готовить хэш, и только я знаю как его проверять! А я всегда точно знаю, каким алгоритмом он будет создан и обязательно будет проверен, а также точно какой длины он будет!
password_hash()/password_verify() предполагает что соль с параметрами всегда хранится с хешем, и алгоритм, соль и параметры мало того что всем известны, так ещё он всегда готовится и проверяется одинокого и password_verify() можно скормить вообще любой валидный хэш подсунув его вместо хэша требуемого пользователя!
Такого мне не нужно, кушайте сами!
| |
|
4.55, Аноним (55), 10:42, 07/12/2018 [^] [^^] [^^^] [ответить]
| +3 +/– |
> а главное только я знаю как готовить хэш, и только я знаю как его проверять
Security by obscurity? Спец, без сомнения!
| |
|
|
6.68, blblblblbl (?), 12:02, 07/12/2018 [^] [^^] [^^^] [ответить]
| +/– |
> 1 НЕТ! Без динамической части соль бесполезна, для генерации нужна и соль и данные из БД для каждого пользователя!
> 2 Для password_hash()/password_verify() здравствуй генерация новых паролей By Design!
1. зачем тогда статический кусок? без него это такой же хеш: динамическая соль + алгоритм хеша
2. с чего вдруг? тут перегенерация только если база утекла и то не так страшно, т.к. секретного алгоритма нет, а хеши достаточно стойкие.
> Если он получил доступ к ssh, то тут, конечно, уже ничего не поможет.
А если это админ-обиженка?
Все алгоритмы на руках, прикопает до поры.
Ну и если кто-то со стороны ходит по базе как у себя дома, то уже всё плохо.
| |
|
|
6.100, blblblblbl (?), 15:20, 07/12/2018 [^] [^^] [^^^] [ответить]
| +/– |
какова вероятность коллизии у bcrypt с blowfish или argon2?
тупой брутфорс на видеокарте на 4 порядка медленнее, чем у того же sha512
в конце-концов выяснилось, что защищается от подмены хеша в базе, чтоб не дать залогиниться потом под паролем для этого хеша
| |
|
7.105, Sw00p akaJerom (?), 15:38, 07/12/2018 [^] [^^] [^^^] [ответить]
| +/– |
> какова вероятность коллизии у bcrypt с blowfish или argon2?
ровно такая же как и md5, все зависит от битности.
> тупой брутфорс на видеокарте на 4 порядка медленнее, чем у того же
> sha512
от чего зависит эта "медленность" ?
> в конце-концов выяснилось, что защищается от подмены хеша в базе, чтоб не
> дать залогиниться потом под паролем для этого хеша
что имелось тут ввиду я не понял
| |
|
|
|
|
|
2.26, blblblblbl (?), 01:21, 07/12/2018 [^] [^^] [^^^] [ответить]
| +/– |
> Лучше бы в hash_hmac() алгоритмы bcrypt и argon2(i|id|d) завезли.
ну если так надо, берёшь С и завозишь пулл-реквестом
> А так всё равно приходится пароли алгоритмом sha3-512 хешировать. :-(
зачем?
| |
|
3.49, Ilya Indigo (ok), 09:42, 07/12/2018 [^] [^^] [^^^] [ответить]
| +/– |
> ну если так надо, берёшь С и завозишь пулл-реквестом
Трачу от недели до месяца на разбор всех тонкостей как это делается, реквестю, и в лучшем случае посылаюсь сразу, мол для паролей жрите password_hash()/password_verify() а hash_hmac вообще совсем для другого предназначен, а в худшем мой реквест просто будет висеть мёртвым грузом.
Бывало, может не месяц, но достаточное кол-во времени тратил на SR а меинтайнер с подобными объяснениями их отклонял.
Не так уж часто, кол-во принятых гораздо больше, но уже чую за что можно взяться, а что будет простой тратой времени.
> зачем?
Затем, что в отсутствии возможности использовать bcrypt и argon2(i|d|id), sha3-512 остаётся самым надёжным алгоритм для хэша пароля.
| |
|
|
3.51, Ilya Indigo (ok), 09:45, 07/12/2018 [^] [^^] [^^^] [ответить]
| +/– |
И что?
Внимание
Эта опция была объявлена устаревшей начиная с PHP 7.0.0. Рекомендуется использовать автоматически генерируемую соль.
| |
|
|
1.39, Аноним (39), 08:00, 07/12/2018 [ответить] [﹢﹢﹢] [ · · · ]
| +4 +/– |
В целом, PHP стал похож на нормальный язык. В него бы ещё объектно-ориентированные примитивные типы и коллекции, да перегрузку операторов и можно жить.
| |
|
2.43, nobody (??), 09:23, 07/12/2018 [^] [^^] [^^^] [ответить]
| –1 +/– |
Боюсь, что поезд ушёл. Ещё и оставив за собой огромный шлейф "былой славы"
| |
|
3.52, Аноним (52), 10:09, 07/12/2018 [^] [^^] [^^^] [ответить]
| +/– |
Затем, чтобы можно было сделать так $someArray-> и увидеть все методы для работы с массивами, а не гуглить их каждый раз.
Плюс есть надежда, что новые методы для работы с типами будут вменяемыми, а не как сейчас, когда одни функции принимают данные первым параметром, другие - вторым, одни чистые, другие - меняют состояние, одни внезапно преобразуют строковые ключи ассоциативного массива в числа, если они похожи на них, и работают с ними как с индексами, другие считают, что строка "0" - пустая.
| |
|
|
1.53, Попугай Кеша (?), 10:25, 07/12/2018 [ответить] [﹢﹢﹢] [ · · · ]
| –3 +/– |
Все-то я согласен с вами. И все правильно пишите. PHP плохой, PHP ужасный, функция проверки наличия файла может запускать чужой код.
И я вас понимаю. Как разработчик.
Но вот звоню я другу (друг делает проекты для частников и не только).
И спрашиваю: "Как дела, на чем пишите проекты?". На PHP - отвечает. Почему, интересуюсь? А он - "Ну ты понимаешь, на рынке PHP-разработчиков пруд пруди, платить им много не надо, можно быстро взять человека и доучить с улицы, что сделать нужно". Далее нужно где-то разворачивать. Nginx есть у всех, либо Apache. И любой полуобразованный админ может либо знаком с ними, либо знает как разворачивать. В общем, в любом захолустье знают про PHP как разрабы, так и админы. И искать долго не надо никого. И платить мало. Выгодно, в общем!
Так что я с ним соглашусь. Для малого-среднего бизнеса это выгодно. Вот такой "народный" язык программирования получается. Это и не хорошо, и не плохо. Это данность.
А в фирмах крупных, конечно, где бабки на бюджеты пилятся и осваиваются, там можно и Java взять на бекенд, или вашу эту хипстоту - Go/Ruby/Rust, хотите - C#.
А народ - а народ оставьте в покое. Пусть пишет на своем PHPю
| |
|
2.57, blblblblbl (?), 10:58, 07/12/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
Всякие расплодившиеся курсы программирования говорят, что "можно быстро взять человека и доучить с улицы" питону и гошечке.
| |
|
3.58, Andrey Mitrofanov (?), 11:01, 07/12/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Всякие расплодившиеся курсы программирования говорят, что "можно быстро взять человека
> и доучить с улицы" питону и гошечке.
Нет. Расплодившиеся курсы говорят, что "человеки с улицы" таки _покупают_ распложившиеся курсы.
Про "можно научить" оное не говорит, ни-ни.
| |
3.59, Попугай Кеша (?), 11:02, 07/12/2018 [^] [^^] [^^^] [ответить]
| +2 +/– |
Есть спрос - есть предложение.
Да, можно. Если загрузить человека несложной работой - например, верстать по шаблону (даже без знания CSS, на фреймворке) landing-страницы или как это сейчас модно - спецпроекты (какую-нибудь страницу, посвященную событию в городе, или фирме, или в год хомяка например).
Правильно. Человека обучают HTML-ю за неделю. Вкачивают базу по PHP еще за одну неделю. И вот он может идти за 50-60 тысяч фигачить лендинги в фирмешку "Рога и копыта" у которой такой работы завались. Через год такого спеца начинают вкачивать в JS, и вот он уже "front-end джуниор"!
| |
|
4.81, blblblblbl (?), 13:31, 07/12/2018 [^] [^^] [^^^] [ответить]
| +/– |
> Вкачивают базу по PHP
какой такой php, везде только и видно питон, го и жс :)
скоро, очень скоро там будет много макак, это уже заметно, вся илитность на хайпе пропала
| |
|
|
|
1.67, DmA (??), 11:51, 07/12/2018 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
тут скорей всего быстрота нужна разработки для клиента, PHP позволяет выстрелить в ногу, если клиент так хочет. О конечной стоимости владения своим сайтом клиент не сильно задумывается. Поэтому PHP -быстрее и дешевле
| |
|
2.69, Попугай Кеша (?), 12:10, 07/12/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
Сравните сложность настройки сервера на PHP + цену за сервер с поддержкой PHP в месяц/год со сложностью настройки сервера на Java (ну или Ruby, Python, Go, что хотите) + цену за сервер на Java (или что хотите), например.
Почему-то эти факторы наши многоуважаемые друзья-разработчики не учитывают.
Сколько времени у вас уйдет? А время = деньги в мире бизнеса.
| |
|
3.80, blblblblbl (?), 13:27, 07/12/2018 [^] [^^] [^^^] [ответить]
| –1 +/– |
Разницы между настройкой nginx + php-fpm или nginx + python(ruby, go) нет, всё это делается за одно и то же время, виртуалка нужна и там, и там и за те же деньги.
| |
|
|
5.114, пох (?), 16:56, 07/12/2018 [^] [^^] [^^^] [ответить]
| +/– |
скажу так - те, кто его используют, могли бы свою единственную страничку с телефоном разместить в гуглосайтах и не тратить деньги.
но, поскольку не знают об их существовании - все еще платят макакам. Впрочем, недорого.
| |
|
|
5.123, blblblblbl (?), 18:11, 07/12/2018 [^] [^^] [^^^] [ответить]
| +/– |
хз, у меня своего софта на джаве нет :)
а вот эластик с полпинка заводится, стильно, модно, молодёжно
| |
|
|
|
2.113, пох (?), 16:54, 07/12/2018 [^] [^^] [^^^] [ответить]
| +/– |
грошовому клиенту нет необходимости задумываться о "конечной стоимости" - его сайт вместе с его лавочкой (сайт иногда даже позже, если за хостинг заплачено на год вперед) через полтора года перестает существовать вместе с децльным бизнесом.
меня больше удивляет, зачем крупные лавки используют какие-то другие технологии - тот же vtb, с его привычкой раз в год менять сайт (целиком, не то чтобы что-то по мелочи, а вообще абсолютно другой и вид, и использование, и снова все приходится искать хз где и натыкаться на глюки где попало) - от найма разработчиков подешевле явно бы выиграл.
| |
|
3.125, blblblblbl (?), 18:12, 07/12/2018 [^] [^^] [^^^] [ответить]
| +/– |
это ж осваивание бюджета, ты что =)
других причин постоянно передылывать сайт нет
как ещё честному манагеру денег потырить
| |
|
4.138, пох (?), 23:24, 08/12/2018 [^] [^^] [^^^] [ответить]
| +/– |
> это ж осваивание бюджета, ты что =)
> других причин постоянно передылывать сайт нет
> как ещё честному манагеру денег потырить
а, точно - а поскольку менеджер каждый раз разный, то и карманная контора, выигрывающая конкурс, каждый раз новая, и, разумеется, старый сайт весь неправильный, немодный, не молодежный, надо все-все-все переделать (а на деле - "хз, я в первый раз этот фреймворк вижу, фронтенд тоже на незнакомом мне...да нунахрен в этом копаться, давайте сделаем на нашем обычном матерьяле, плевать что пользователям заново привыкать")
| |
|
|
|
|
2.126, Аноним (126), 18:17, 07/12/2018 [^] [^^] [^^^] [ответить]
| –1 +/– |
У меня вот в компании только недавно подняли минимальную версию до 5.6 для выпускаемого продукта.
Противные шареды не желают обновляться, противные клиенты не хотят в этом разбираться - грустные разработчики снова и снова лепят костыли на 5.6.
| |
|
3.139, пох (?), 23:24, 08/12/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Противные шареды не желают обновляться, противные клиенты не хотят в этом разбираться
> - грустные разработчики снова и снова лепят костыли на 5.6.
а так ведь хочется обмазаться свеженьким!
| |
|
|
1.79, Аноним (116), 13:24, 07/12/2018 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Прелесть PHP - в его монолитном рантайме, в котором есть почти всё, что нужно для разработки, и которому в общем случае не нужны 100500 дополнительных файлов с 100500 классов в 3 строчки для реализации задач. Впрочем, любители сделать для языка с динамической сборкой 100500 таковых всё равно живы, и то, что у них в итоге на выходе получается глючная тормозящая блоатварь - не удивительно.
| |
|
|
3.141, нах (?), 09:42, 11/12/2018 [^] [^^] [^^^] [ответить]
| +/– |
ой, прекрасно, еще и getimagesize ВНЕЗАПНО исполняет код ;-)
| |
|
|
1.137, Аноним (137), 22:52, 08/12/2018 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Если пых переписать на Rust, то он станет хипсторским и его перестанут называть устаревшим! А еще безопасность будет!
| |
|
2.140, нах (?), 09:40, 11/12/2018 [^] [^^] [^^^] [ответить]
| –2 +/– |
предлагаю делать форк!
Если что, CoC я уже готов закоммитить. С вас readme.md!
Задачи для следующей версии - список разработчиков к которым необходимо обращаться "Оно".
| |
|
|