Pull to refresh
7
0
Виталий @olivera507224

Разработчик серверного ПО

Send message

Именно так я всегда и пишу, даже в голову не приходило, что наличие скобок в данном случае никак не влияет на очерёдность выполнения.

Да, поглядел, судя по приоритету операторов (https://www.php.net/manual/ru/language.operators.precedence.php) код валидный, и сперва произойдёт проверка на тип, а уже потом отрицание логического типа. Но как же это, чёрт возьми, сильно путает! Особенно отсутствие пробела между восклицательным знаком и именем переменной.

if (!$node instanceof Node)

Это валидный код? Спрашиваю, потому что я вижу в этой записи попытку проверить, является ли булево значение экземпляром класса Node.

Хм, отличное объяснение, но только для тех, кто уже знаком с реляционным БД.

Ну, технически никто не запрещает, имеют право. Главное чтобы это было хорошо задокументировано.

С добрым утром. Мне бы тоже хотелось увидеть их заявления "о том, что украина как народ и страна должны быть уничтожены".

Для быстрой работы с вашими проектами я использую Project Manager.

На этом моменте я немного напрягся :)

Если бы канал был не буферизованный, то горутина, в которой происходит отправка результата в канал, была бы вынуждена дожидаться, пока значение, отправленное ею в канал, будет прочитано. Это потенциальный дедлок как минимум. О том, что лавинообразное создание таких горутин может привести у OOM, я и не говорю.

Поэтому да - если горутина, отправляющая в канал, должна ждать, когда из канала кто-то прочитает, то однозначно нужно использовать небуферизованный канал. Когда же горутина может отправить в канал и дальше себе работать - стоит создавать буферизованные каналы.

Самое сложное в SOLID - это вспомнить расшифровку аббревиатуры.

Но n-0 == n, что на 1 превышает максимальный индекс в коллекции. Зачем так делать?

Для получения результата так или иначе ты должен заблокировать основной поток. В примере автора просто нет имитации выполнения полезных действий между запуском задачи и получением из неё результата, поэтому кажется что пример максимально высосан из пальца.

Разве прерывание родительского контекста не вызывает прерывания всех его дочерних контекстов?

А мне нравится пхп. Я когда пишу на нём, представляю что он как этакий гопник с тупой мордой и замашками зэка, который вырос и наконец остепенился, устроился на работу и даже успешно торгует на бирже. Но замашки зэка никуда не делись.

go vet ткнёт носом в строку с затенением.

Попроси человека, который десять лет пишет на пхп с использованием Symfony, написать небольшое приложение-API на го хотя бы с использованием Gin, и можно запасаться попкорном. Symfony - комбайн, в то время как Gin - просто серп, позволяющий не рвать зерно руками.

С тезисом, что поначалу собственный код на Го кажется уродливым убожеством, полностью соглашусь. Добавлю только, что спустя четыре года работы на языке полюбить его я смог, а вот писать на нём код, который мне нравится визуально, так и не сумел.

1
23 ...

Information

Rating
4,382-nd
Location
Железнодорожный (Московск.), Москва и Московская обл., Россия
Date of birth
Registered
Activity

Specialization

Backend Developer, Fullstack Developer
Senior
SQL
PostgreSQL
Python
Linux
Docker
.NET Core
Golang
Tarantool
ClickHouse
Fastapi