Виталий @olivera507224
Разработчик серверного ПО
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
"Ходячие болтуны" не дадут соврать.
Именно так я всегда и пишу, даже в голову не приходило, что наличие скобок в данном случае никак не влияет на очерёдность выполнения.
Да, поглядел, судя по приоритету операторов (https://www.php.net/manual/ru/language.operators.precedence.php) код валидный, и сперва произойдёт проверка на тип, а уже потом отрицание логического типа. Но как же это, чёрт возьми, сильно путает! Особенно отсутствие пробела между восклицательным знаком и именем переменной.
Это валидный код? Спрашиваю, потому что я вижу в этой записи попытку проверить, является ли булево значение экземпляром класса Node.
Хм, отличное объяснение, но только для тех, кто уже знаком с реляционным БД.
Ну, технически никто не запрещает, имеют право. Главное чтобы это было хорошо задокументировано.
С добрым утром. Мне бы тоже хотелось увидеть их заявления "о том, что украина как народ и страна должны быть уничтожены".
На этом моменте я немного напрягся :)
Если бы канал был не буферизованный, то горутина, в которой происходит отправка результата в канал, была бы вынуждена дожидаться, пока значение, отправленное ею в канал, будет прочитано. Это потенциальный дедлок как минимум. О том, что лавинообразное создание таких горутин может привести у OOM, я и не говорю.
Поэтому да - если горутина, отправляющая в канал, должна ждать, когда из канала кто-то прочитает, то однозначно нужно использовать небуферизованный канал. Когда же горутина может отправить в канал и дальше себе работать - стоит создавать буферизованные каналы.
Я вот читаю твои комменты, и у меня вопрос назрел. Ты же троллишь, да?)
Самое сложное в SOLID - это вспомнить расшифровку аббревиатуры.
Но n-0 == n, что на 1 превышает максимальный индекс в коллекции. Зачем так делать?
Для получения результата так или иначе ты должен заблокировать основной поток. В примере автора просто нет имитации выполнения полезных действий между запуском задачи и получением из неё результата, поэтому кажется что пример максимально высосан из пальца.
Разве прерывание родительского контекста не вызывает прерывания всех его дочерних контекстов?
А мне нравится пхп. Я когда пишу на нём, представляю что он как этакий гопник с тупой мордой и замашками зэка, который вырос и наконец остепенился, устроился на работу и даже успешно торгует на бирже. Но замашки зэка никуда не делись.
И это великолепно.
Ага, понимаю, кодинг по расчёту :)
go vet ткнёт носом в строку с затенением.
Попроси человека, который десять лет пишет на пхп с использованием Symfony, написать небольшое приложение-API на го хотя бы с использованием Gin, и можно запасаться попкорном. Symfony - комбайн, в то время как Gin - просто серп, позволяющий не рвать зерно руками.
С тезисом, что поначалу собственный код на Го кажется уродливым убожеством, полностью соглашусь. Добавлю только, что спустя четыре года работы на языке полюбить его я смог, а вот писать на нём код, который мне нравится визуально, так и не сумел.