@prophp7

Страница 635 из 1387
Sergey
22.09.2017
09:52:27
понимание вреда сайд эффектов должно быть просто, как понимание "что не так с goto" и "зачем было придумано структурное программирование"

Борис
22.09.2017
09:52:50
@her_ism https://gist.github.com/fesor/db60b4995880925b720be9c7cf75543f
Не плохая заметка, чтобы люди не думали, что тесты это "вот сейчас натещу все что только можно, и это будет самый ахерительный тест.. и все, завтра мне это уже не нужно будет"

Evgeniy
22.09.2017
09:53:46
Google
Evgeniy
22.09.2017
09:53:53
потом переход на зависимости

но еще есть мутабельный и имутабельный, но да ладно

Борис
22.09.2017
09:54:16
смотри я своими действиями испортил таблицу, у меня есть дамп нормальной таблицы, я ту удалил с бд и хочу импортнуть нормальную таблицу. и получаю вот такую ошибку
Во время импорта можно пользоваться хаком через выключение и включение проверки внешних ключей. Вот тут все написано https://stackoverflow.com/questions/15501673/how-to-temporarily-disable-a-foreign-key-constraint-in-mysql

Evgeniy
22.09.2017
09:56:03
но итого нравиться про то что я ничего не хочу сказать

что все зависит от ситуации и целесообразности

Sergey
22.09.2017
09:56:37
но итого нравиться про то что я ничего не хочу сказать
на самом деле выводы весьма простые - уменьшение количества зависимостей, whole value, более высокий уровень декомпозиции проекта.

а это сложно

очень сложно

особенно когда все привыкли делать сервисы-менеджеры и им норм

Evgeniy
22.09.2017
09:57:19
к сожалению это очень просто, но очень очень сложно объяснить человеку

Sergey
22.09.2017
09:57:38
к сожалению это очень просто, но очень очень сложно объяснить человеку
да, большая часть сложности в том как люди првыкли делать и как учатся делать.

Google
Evgeniy
22.09.2017
09:58:06
тут как раз вопрос понимания и общения

а как ты заметил например у меня иногда ты называешь "потоком сознания" потому что есть иногда беда с донесением мысли

и такая проблема не только у меня

и не только у программистов

простой мой заход чуть чуть с другой стороны идти от приложения к автотестам в виде проверок того что приложение работает так как ожидается

а вот уже как писать тесты зависит от приложения

Evgeniy
22.09.2017
10:01:25
где то надо юнит тесты, где то вместо кучи юнитестов достаточно одного приемочного теста

ведь кого ебет что у тебя куча юнит тестов и все они зеленые, но апи отдает ошибку?

сори за мат

Herman
22.09.2017
10:03:39
не

я ценю своё время

Aleh
22.09.2017
10:04:31
я ценю своё время
Именно поэтому и советую, займет не так много времени как понимание магии кодсепшенп

https://github.com/mkusher/reactphp-co/blob/master/specs/spec.php#L91

Sergey
22.09.2017
10:10:30
я ценю своё время
почему ты не хочешь переходить на php7?

что не так? время? это быстрее чем лепить кастыли с ассертами и проверками

инфраструктурные ограничения? уж не знаю остались ли такие проблемы

юридические ограничения? например "обновляем пыху - надо устраивать аудит"

Google
Sergey
22.09.2017
10:13:58
остались
расскажи, может быть мне пригодится

Herman
22.09.2017
10:14:02
просто не надо эту тему тут поднимать. это бессмысленно

Борис
22.09.2017
10:21:47
бля.... ну ты интригант. Такими фразами заинтересовал 1084 человека. Во всяком случае тех, кто активно читает :) Давай уже, колись. Тебя ж не просят называть имена и явки.... или я чего-то не понимаю

Aleh
22.09.2017
10:22:42
У него кровный уговор с дьяволом, наверное

Dmitriy
22.09.2017
10:25:45
да просто боиться что его зачморят )

Dmitry
22.09.2017
10:26:05
ваще не понял, речь о замене тайпхинтинга на ассерты? как бы разные вещи вообще

Sergey
22.09.2017
10:28:18
ваще не понял, речь о замене тайпхинтинга на ассерты? как бы разные вещи вообще
ну по факту не то что бы разные.... с точки зрения рантайма одно и то же

Dmitry
22.09.2017
10:29:01
ну тайпхинтинг рантайму не особо и нужен

Aleh
22.09.2017
10:29:30
Так тайпхинтинг ж только в рантайме и работает

Алексей
22.09.2017
10:29:48
Дмитрий Maestro
22.09.2017
10:30:03
да

Алексей
22.09.2017
10:30:07
давно я тут таких страстей не видел

Дмитрий Maestro
22.09.2017
10:30:08
не знал про это

Sergey
22.09.2017
10:31:10
ну тайпхинтинг рантайму не особо и нужен
ты с python не перепутал случайно? у php тайпхинтинг работает именно в рантайме. То что он позволяет тебе еще и статически получать инфу о типах - это далеко не все что в похапэ делается

Dmitry
22.09.2017
10:35:25
я о том, что если у тебя в рантайме те ошибки, что позволяет ловить тайпхинтинг... то у тебя большие проблемы разработкой

ассерты же все же валидация данных... испотльзовать их в роли тайпхинтинга, т.е. в роли зищиты от ошибок программиста.. как-то весьма странно

Роман
22.09.2017
10:50:12
как лучше регулярку сделать на описание

https://regex101.com/r/P3FRjt/2/

Google
Dmitry
22.09.2017
10:52:43
а где там <desc> в тексте

Роман
22.09.2017
10:54:22
так desc просто группа

там неважно слово , главное охват

Alexander
22.09.2017
10:55:00
а где там <desc> в тексте
<desc> это named token, нужен для того, чтобы вхождение попало в массив с ключем desc, а не просто с индексом

Dmitry
22.09.2017
10:55:43
а, ну ты сказал "на описание", вот я ухватился

на какое описание нужно то

Eugene
22.09.2017
10:56:44
Други, добрава дня. Есть какие то ограничение для паттерна "цепочка отвественности", например уже больше 15 "звеньев", значит неправильно выбран паттерн?

Роман
22.09.2017
10:57:08
Dmitry
22.09.2017
10:58:45
хм... /<tbody>(.*?)<\/tbody>/s

Роман
22.09.2017
11:05:24
а тут картинки как https://regex101.com/r/mkKZL3/2

у меня за пределы img выходит

Сергей
22.09.2017
11:10:30
Alex
22.09.2017
11:13:51
25к уже долго даже вставка без индекса.

Dmitry
22.09.2017
11:16:44
а тут картинки как https://regex101.com/r/mkKZL3/2
а тебе нужно все картинки? /<img[^>]+big="(?<url>[^"]+)/gsi но это просто все с big

Роман
22.09.2017
11:17:00
все big надо

Dmitry
22.09.2017
11:17:17
ну просто без привязки к ac_container

Роман
22.09.2017
11:17:18
<\w+[^>]*class="ac_container"[^>]*>[^<]*<ul[^>]*>(?<block>.*?)</ul

вот так и дальше как то картинки витянуть

Dmitry
22.09.2017
11:18:04
ты не усложняй, ты пытаешься каждый тег загнать в регулярку, оно тебе не нужно

Google
Dmitry
22.09.2017
11:19:55
если в тебя картинки с big только внутри ac_container, то нафига вообще вводить условие на ac_container, тем более что регулярки плохо работают с деревом, не понимают они его, для них html - плоский текст, т.е. там нет понятия "внутри тега", есть понятие "текст следует за текстом".

Роман
22.09.2017
11:21:55
а если preg_match в preg_match сделать

Dmitry
22.09.2017
11:41:54
И то и другое потив возможности создать невалидное состояние объекта, но применяются в разых целях. И основная цель тайпхинтинга - статанализ, защита от ошибок типов во время разработки. Ассерты же этому ну не очень помогают.

Борис
22.09.2017
11:54:33
И то и другое потив возможности создать невалидное состояние объекта, но применяются в разых целях. И основная цель тайпхинтинга - статанализ, защита от ошибок типов во время разработки. Ассерты же этому ну не очень помогают.
Если ты про подсветку аргументов в IDEA то ты прав. К счастью мало разработчиков пушат код сразу на продакшн, ни разу не запустив локально. Как раз в этот момент (в момент запуска) что тайпхинт, что assert что if (instanceof) для PHP интерпритатора одно и тоже. А если человек по каким-то неведомым причинам не может в PHP7 то пусть ассерты юзает, че нет-то ....

Одно и тоже с точки зрения проверки входящих данных (типов объектов)

Dmitry
22.09.2017
11:56:31
Ну ты понимаешь проблему рантайма, да, там запустить мало ;) нужно еще прогнать именно это место с нужным ветвлением и т.п. Да и в большинстве случаев отвалимся где-то дальше без тайпхинтинга. Т.е. ради только этих целей покрывать методы ассертами... имхо выглядит маразматично

по большому счету... я вот не помню на своей практике какие-то серьезных проблем именно из-за ошибок типов в рантайме, возможно потому что IDE и расстановка phpdoc хинтов везде, где они нужны... Хуже не будет от них, понимаю, так что использую тайпхинтинг, но все же считаю, что 99% полезности - это именно статанализ... хз, может и не прав

Dmitry
22.09.2017
12:14:58
Весьма расплывчато. Я вижу только один вариант - сложный баг связанный с кривым приведением типов (типа строки в int) который дает не фатал, а именно что неверное поведение. Но зная особенности PHP и так это каждый раз перепроверяешь, ну в крайних случаях is_int.

Herman
22.09.2017
12:15:24
практика покажет

я не фанатик, если что отброшу в случае неэффективности

Dmitry
22.09.2017
12:17:30
нет, IDE его видит и подсвечивает ошибки типизации

Страница 635 из 1387