- 1
Объясните, зачем нужен docker-compose
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
Объясните, зачем нужен docker-compose
Есть же Dockerfile, туда можно поставить всё, что нужно сразу, а не плодить кучу контейнеров, которые нужно связать
guest6 09.02.2021 09:41 # +1
Fike 09.02.2021 10:41 # 0
* что тоже не совсем верно. Один контейнер - один сервис, если ему надо плодить дочерние процессы, то в общем-то никаких проблем с этим нет.
Мистер Хэнки 09.02.2021 11:37 # 0
bormand 09.02.2021 12:45 # 0
Как что-то хорошее. Один хер большая часть функционала ляжет если каждого сервиса по одной штуке.
JloJle4Ka 09.02.2021 12:55 # 0
bormand 09.02.2021 13:15 # 0
bormand 09.02.2021 12:57 # +1
Fike 09.02.2021 13:06 # 0
bormand 09.02.2021 13:16 # +1
Получается недовиртуалка с недопрыщами.
Fike 09.02.2021 13:50 # +1
2) не завезли - я хз в каком вы там году https://www.packer.io/docs/builders/docker
bormand 09.02.2021 14:15 # 0
С мелкими образами этой проблемы нет, ты можешь обновить или заморозить любой из них.
Fike 09.02.2021 15:19 # 0
bormand 09.02.2021 15:30 # 0
Fike 09.02.2021 16:12 # 0
вообще смотря что надо. докер легковесней, из виртуалки сложней выпругнуть и никакой ебли с зашаренными ресурсами (хоть dentries вспомнить)
vistefan 09.02.2021 17:00 # 0
vistefan 09.02.2021 16:36 # 0
FROM суперговно:1.0
Конфигу подбросил, версию зафиксировал, сидишь молишься, что не протухнут никакие ключи и не помрут ссылки на докерхабовском докерфайле. Ну как и всегда, просто доверяешь разрабам, хуле.
А если тебе надо дохуя чего — то у тебя будет раздутый докерфайл форкнутый от непонятно чего, чего-нибудь базового куда всё доставлять будешь руками.
Вывод: четыре контейнера с докерфайлами в одну строчку лучше, чем один с докерфайлом в километр (зависимости, хуё-моё, не дай бог make прямо там же)
Если нужно зеркалить все зависимости для продакшена, то можно и поебаться, но имхо даже если всё вручную собирать, всё равно лучше побить на контейнеры, /green модульность — это всегда хорошо.
Fike 09.02.2021 17:01 # 0
Увы, но иначе никак. Что ты там с хаба качаешь - хуй знает, выдал ты dnsmasq cap net admin, а там жук усатый весь твой нетворк слушает, таракан-оборотень.
Впрочем, с виртуалками ровно та же история.
vistefan 09.02.2021 17:04 # 0
Fike 09.02.2021 17:31 # +1
Короче, говно, блядь, нельзя без ебли короче, мартин алексеевич, заводим говнодевопс.ру
YpaHeLI_ 09.02.2021 15:32 # 0
Почему при второй конкатенации программа не падает?
Я же из скоупа main передал объект в другой скоуп, и переместил его, почему уник_указатель sn продолжает держать объект, ведь я его обратно не вернул? По идее же move конструктор должен очистить его.
YpaHeLI_ 09.02.2021 15:39 # 0
И вывелось бы:
1
2
JloJle4Ka 09.02.2021 15:40 # 0
YpaHeLI_ 09.02.2021 15:45 # 0
bormand 09.02.2021 15:41 # 0
Не забывай, что std::move() нихуя не делает. Это просто каст такой.
YpaHeLI_ 09.02.2021 15:44 # 0
Ну так у меня что получается, два уникальных указателя на один объект в какой то промежуток времени ссылаются?
bormand 09.02.2021 15:46 # 0
З.Ы. Не пойму зачем тебе тут rvalue ссылка, обычная точно так же отработала бы.
YpaHeLI_ 09.02.2021 15:52 # 0
Наверное, когда сами вызываем конструктор или оператор призваивания?
j123123 09.02.2021 15:56 # 0
bormand 09.02.2021 16:01 # 0
Если вызывающему коду не похуй и он продолжает дёргать методы -- код написан криво.
Desktop 09.02.2021 16:08 # 0
bormand 09.02.2021 16:11 # 0
bormand 09.02.2021 16:12 # 0
- неопределённом состоянии, пригодном для разрушения
+ неопределённом но валидном состоянии
Т.е. таки можно туда что-то потом присвоить или позвать reset. Но на то, что там лежит до этого момента, корректной проге должно быть похуй.
j123123 09.02.2021 16:13 # 0
https://doc.rust-lang.org/book/ch04-02-references-and-borrowing.html
> In languages with pointers, it’s easy to erroneously create a dangling pointer, a pointer that references a location in memory that may have been given to someone else, by freeing some memory while preserving a pointer to that memory. In Rust, by contrast, the compiler guarantees that references will never be dangling references: if you have a reference to some data, the compiler will ensure that the data will not go out of scope before the reference to the data does.
bormand 09.02.2021 16:14 # 0
j123123 09.02.2021 16:17 # 0
Desktop 09.02.2021 16:20 # 0
- внутри каждой функции?
j123123 09.02.2021 16:21 # 0
bormand 09.02.2021 16:24 # +1
Тут попытались это немного формализовать.
Fike 09.02.2021 16:26 # 0
j123123 09.02.2021 17:04 # 0
bormand 09.02.2021 17:21 # 0
Там же куча оверхеда и фиксированный набор ячеек... Остаётся ждать пока появится дешёвая технология для печати ASIC'ов.
j123123 09.02.2021 19:15 # +1
bormand 09.02.2021 21:14 # 0
При установке же. И потом можно реюзать пока не выбросишь.
vistefan 09.02.2021 16:53 # 0
guest6 04.09.2023 17:15 # 0
В С++ создать указывающую ни на что ссылку тоже нельзя: ссылок на nullptr не бывает. А указатель бывает, конечно.
В расте указатели бывают только в unsafe коде, а в обычном есть только ссылки.
Правда, в плюсах ты можешь почистить память, и получить болтающуюуся ссылку, а в расте тебе не дадут так сделать
vistefan 09.02.2021 16:21 # +1
Desktop 04.09.2023 17:36 # 0
guest6 04.09.2023 18:13 # 0
*ta-daaa*
rotoeb gaming
you play for what you pay
в нормальном формате
guest6 04.09.2023 20:15 # 0
https://www.php.net/manual/ru/ds-priorityqueue.jsonserialize.php
ropuJIJIa 04.09.2023 20:23 # 0
guest6 04.09.2023 20:24 # 0
ropuJIJIa 04.09.2023 20:29 # 0
Т. е. при добавлении нового класса в проект тебе не нужно переписывать функцию json_encode.
guest6 04.09.2023 20:32 # 0
Как обобщенная коллекция вообще может что-либо сериализовать, если она не знает, что лежит внутри?
ropuJIJIa 04.09.2023 20:45 # 0
guest6 04.09.2023 20:47 # 0
ropuJIJIa 04.09.2023 20:46 # 0
Почему он сейчас повсюду?
guest6 04.09.2023 20:52 # 0
JSON имеет смысл только в одном случае: когда ты пишшеь на JavaScript, и у тебя и так всё тормозит и тебе пофиг.
Desktop 04.09.2023 20:56 # +1
или ты мне щас опять будешь рассказывать про непревзойдённые бинарные протоколы?
guest6 04.09.2023 20:58 # 0
>непревзойдённые
Ну да, всего в 5К раз разница. Копейки. Пренебречь. Вальсируем
Desktop 04.09.2023 20:59 # 0
> Почему не XML или не TOML?
> в 5К раз разница
– citation needed
guest6 04.09.2023 21:01 # 0
Питухи впиндюрили в класс для коллекции метод для сериализации в JSON. Я и спрашиваю: почему в JSON-то? Перформанс тут не причем, это чисто вопрос говнокода.
>– citation needed
Я там дал ссылочку сверху, посмотри
Desktop 04.09.2023 21:10 # 0
Incorrect Java code generation. uint8 generates int instead of byte
Incorrect type returned from table string getter
flat_buffers.dart putFloat64 is wrong
Flatbuffer typescript ulong types are wrong
[Dart, master] Enum named "value" causes variable name conflict
CMake build error in win10 WSL
flatc does not like quoted strings for paths that include spaces etc. that then end in a \
ЗАТО БЫСТРО
guest6 04.09.2023 21:11 # 0
>быстро
ну ты понел.
>typescript
>быстро
слушайте, ну прекращайте давайте
>dart
ого! А с поддержкой эйфории как там дела??
Desktop 04.09.2023 21:19 # 0
guest6 04.09.2023 21:48 # 0
откуда цифры?
>запариваться
"запариваться" это вручную парсить какое-то бессхемное говно. Даже в обычных protobuf (у которых сотни тыщ пользователей, и вылизанные тулы) есть прокси-классы
Desktop 04.09.2023 21:54 # 0
приведи десять реальных примеров проектов, где жсон это боттлнек
> вручную парсить
– не знаю, у меня всё машина парсит, попробуй себе компьютер купить
ты как обычно из всех проблем в computer science выбрал едва ли не самую незначительную и доебался, как дон кихот. поражаюсь этой твоей способности! энергию бы да в правильное русло
guest6 04.09.2023 21:59 # 0
Приведи пять реальных примеров когда пузырёк тормозит.
>>– не знаю, у меня всё машина парсит, попробуй себе компьютер купить
Ты троллишь, или ты реально не понял, чем
хуже чем
?
Desktop 04.09.2023 22:00 # 0
– ясно, слился, ну
> foo.getString("bar")
– это в какой хуйне так писать-то надо? у нормальных людей жсон тоже сразу в модели маппится
guest6 04.09.2023 22:02 # 0
Ты задал тупой вопрос, и я попробовал провести аналогию, чтобы ты осознал тупость вопроса. К сожалению, ты её не осознал.
> нормальных людей жсон тоже сразу в модели маппится
А откуда эти модели берутся?
Desktop 04.09.2023 22:04 # 0
> А откуда эти модели берутся?
– угадай.
кстати, возможно ты не в курсе о существовании swagger...
guest6 04.09.2023 22:08 # 0
>кстати, возможно ты не в курсе о существовании swagger...
вот этот https://github.com/swagger-api/swagger-core/issues ?
То-есть мне нужны какие-то дополнительные тулы? и чем это лучше protobuf кроме того, то тормозит?
Desktop 04.09.2023 22:19 # 0
– которое ты при этом не в состоянии опровергнуть, хе-хе
> мне нужны какие-то дополнительные тулы?
– нет, не нужны, но ты можешь их использовать. в отличие от протобафа, трифта, авро, графкл, где, что повар дал, то и кушайте
ладно, заебал. давай лучше вот это обсирать:
https://www.apollographql.com/docs/apollo-server/performance/apq
guest6 04.09.2023 22:25 # 0
Бремя доказательства лежит на утверждающем
>нет, не нужны, но ты можешь их использовать.
как же я тогда получу модель?
>лучше вот это обсирать:
давай, начинай
я всегда готов что угодно обосрать
Desktop 04.09.2023 22:28 # 0
– угу, бремя доказательства, что json это боттлнек
> начинай
– ребята поняли, что жсон в жсон это не очень обезжиренный творог, и придумали кэширование через хэширование
guest6 07.09.2023 19:08 # 0
guest6 04.09.2023 22:22 # +1
Смотри, если у меня алгоритм за O(n^3), то пузырьковая сортировка какого-то говна до или после сложность не изменит. Если поменяешь пузырька на qsort, то говно так и останется за O(n^3). Так зачем заморачиваться, и переписывать?
А если у меня алго за O(n*log(n)), то пузырёк катастрофически всё испортит. Здесь имеет смысл использовать быструю сортировку. А ещё, может быть, упороться в структуре хранения (например, по возможности, сортировать инты вместо строк), если это будет заметно на общем перформансе.
Так же и с JS-оном. Зачем что-то оптимизировать, если трансфер через него занимает меньше 1% процессорного времени?
Конечно, если это ядро прыщей, то этот 1% стоит свеч. Но в большинстве случаев — нет.
Desktop 04.09.2023 21:58 # 0
– 775 открытых issues на гх. ещё вылизывать и вылизывать.
не, я понимаю, что в произвольном парсере жсона тоже можно говна найти (привет, яббл), но не в такой же БЛЯДЬ концентрации
guest6 04.09.2023 21:59 # 0
ты тличашеь protobuf от flatbuffers?
Desktop 04.09.2023 22:01 # 0
https://github.com/protocolbuffers/protobuf/issues
guest6 04.09.2023 22:04 # 0
guest6 04.09.2023 21:59 # 0
В том и преимущество JSON, что для него не обязательна схема (кроме go).
Хочешь — хуярь схему и автогенерацию классов. Хочешь хуярь говно на JS, PHP, Python.
Зачем мне схема, если мне нужно отправить в запросе JSON определенного формата? Мне даже не нужно его парсить.
Я всеми руками за Protobuf, если что. Но не все его используют.
Desktop 04.09.2023 22:02 # 0
получится, правда, жсон в жсоне, но зато цель же достигнута, правда?
Desktop 04.09.2023 21:20 # 0
– кстати, на твоём месте я бы вкусил REBOL-а
guest6 04.09.2023 20:38 # 0
https://www.php.net/manual/ru/ds-set.sum.php ?
итераторы и лямбды не осилили?
ropuJIJIa 04.09.2023 20:44 # 0
guest6 04.09.2023 20:49 # 0
Почему в плюсах еще двадцать пять лет назад сделали итераторы у вектора и листа и всякие `std::accumulate`?
Мы как-бы выносим за скобки зачем вообще такой вербозный монстр скриптоговну
ISO 05.09.2023 19:24 # 0
...и все двадцать пять лет плюются от этой монструозной, неудобной и невыносимо вербозной поебени.
Настолько плюются, что аж придумали целую новую стандартную либу «ranges», которая вроде как решает проблемы старых алгоритмов на итераторах, но всё ещё пиздец какая недоделанная хрень.
> find это вдруг методы сета?
Справедливости ради, переопределять «find» для сета богоугодно, чтобы искать за логарифм/константу, а не обобщённо за линейное время.
guest6 05.09.2023 19:27 # 0
что ты скажешь про
https://www.php.net/manual/ru/ds-set.sum.php
?
ropuJIJIa 04.09.2023 20:31 # 0
guest6 04.09.2023 20:35 # 0
Подобные петушни нужно реализовывать явно. По уму это сделано в C++ и Rust.
Мыхомакаки копируют глупости из ЯЖИ
ISO 05.09.2023 19:27 # 0
По уму это сделано в нормальных языках (см. «Haskell typeclasses») и пародиях на нормальные языки (см. «Scala implicits», «Scala typeclasses»). В ржавом трейты тоже вроде нормально сделали, но я не вникал; а вот в крестах это хоть и терпимо (точно лучше, чем ебучий Object с пачкой методов), но всё равно вербозно и криво.
guest6 05.09.2023 19:30 # 0
ISO 05.09.2023 19:48 # 0
1) Не имеют нормальных требований, прописанных в коде. Какие методы нужно реализовать для компаратора в std::sort? Догадайся, ёпта! Тебе даже код стандартной либы мало поможет, потому что в самом std::sort там просто «class _Pr», а копаться дальше — занятие не для слабонервных.
2) Передаются строго вручную. И создаются тоже.
3) Никак не стандартизированы и не посыпаны никаким сахаром, так что каждый либодел придумывает что-то своё.
По сравнению с нормальными языками — это срань и каменный век (но, конечно, не настолько срань, как методы в Object и/или говноIJsonSerializable).
ISO 05.09.2023 19:49 # 0
Soul_re@ver 05.09.2023 19:53 # +1
Да не, в стандарте можно посмотреть, он же так легко читается. И стоит всего 23к рублей.
guest6 05.09.2023 20:05 # 0
>но, конечно, не настолько срань, как методы в Object и/или говноIJsonSerializable
ну так))))) А я о чем
ISO 05.09.2023 20:30 # 0
Вот в этом и проблема, да. В классе должно быть только то, что необходимо классу для выполнения его задачи (единственной). Всяческие конструкторы копирования, операторы сравнения, hashCode, wait и прочая срань — это грубейшее нарушение «SRP» и говнокод. В нормальных языках такого нет (таки почитай про тайпклассы в «Хаскелле» — это как раз то, с чего обезьяны слизывают трейты/имплиситы/etc.). Любая функциональность, выходящая за рамки единственной ответственности типа, выносится в отдельный тайпкласс — тоже имеющий свою единственную ответственность.
При этом примечательно, что больше всех орут про «SOLID» люди, у которых любой объект обязан реализовывать в себе hashCode() и прочую срань.
Desktop 05.09.2023 20:34 # 0
/green
guest6 05.09.2023 20:36 # +1
Сначала Хаскелль
Потом Плюсы (ну и Раст)
Потом долго-долго никого нет
Потом Джава
Потом мужики коробочки клеют
Потом "ПХП"