- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
// https://youtu.be/KdZ4HF1SrFs?t=4473
// про питоновский for
for x in 1, 5, 2, 4, 3
print(x**2)
//> написать это в две строки у вас не получится
for(struct {size_t cnt; int arr[5];} i = {0, {1,5,2,4,3}}; i.cnt < sizeof(i.arr)/sizeof(i.arr[0]); ++i.cnt )
printf("%d ", (int)(pow(i.arr[i.cnt], 2) + 0.5) );
пофиксил
Еще немного пофиксил. Теперь должно быть норм
Что-то долговато компилируется эта крестопараша, в отличии от сишки. Поэтому я за Си
Тут посоны писали for~each для препроцессора.
Там один интереснейший трюк показан.
то она разберется на аргументы не как '{a, b}', '{c, d}', '{e, f}'
а как '{a', 'b}', '{c', 'd}', '{e', 'f}'
Там эта проблема решается?
- JS был настолько нестерпим, что для него это дело уже наладили (CoffeeScript, TypeScript, ECMAScript2016,17,18,..., тонны питушни).
- C тоже был нестерпим, в какую-то сиштушню компилируют Haskell.
Когда для удобной конструкции нужен пердолинг с макросами и шаблонами, но C++ всё ещё не получается выкинуть из-за полезных фич и легаси, нужна компиляция языка с нормальным синтаксисом в C++.
Кроме ASD77 кто-нибудь сделал что-то полезное для C++?
js — сишка вёба.
К тому же их дополнительно урезают. С до С--.
js до asm.js
https://godbolt.org/z/ht_3qm вот я вроде уже почти портировал. Надо реализовать хуйню, которая б считала аргументы
Скажем, если будет фигня типа
{123, "ffft"}, {123}, 4, 666
то надо чтоб было 4 аргумента.
Можно реализовать это на крестопарашных констэкспрах, распарсивая стрингифицированные аргументы.
Собственно, вот почти корректная реализация: https://govnokod.ru/26703
В каждай строчке толка точки после буквы Ы
https://www.anekdot.ru/id/-10047486/
Мне даже мрак-осы не нужны. Zero-terminated — Тайная сила Сишки.
Надо так:
Чтобы for each в Сишечке работал и массив мог аргументом передаваться как std::array.
https://godbolt.org/z/oT394dvPW
https://godbolt.org/z/PczaE5PvM
Сишка — возможности безграничны.
Последовательность нашёл тут:
https://oeis.org/A073743
1, 5, 2, 4, 3 — это несколько десятичных цифр ch(1) = (e + 1/e)/2.
0.00007 вычел для остановки цикла, потому что дальше следует семёрка.
Даже залип на пару минут в непонимании что это за хуйня.
https://oeis.org/search?q=1,5,2,4,3
Но их вычислять труднее, чем гиперболический косинус.
https://oeis.org/A077623
Всё-равно недостаточно упорото
https://oeis.org/A077623
https://oeis.org/A021660
https://oeis.org/A121224
https://oeis.org/A171819
Глядите, как это будет элегантно и красиво на нормальном функциональном языке:
https://ideone.com/5D8fmk
«Нельзяграм» и «Мордокнига» у меня через «goodbyeDPI» работают.
А я думал, что его вообще закрыли...
inb4: родина Гилтера
https://www.onlinegdb.com/
+ https://www.codechef.com/ide
+ http://codepad.org/
+ https://coliru.stacked-crooked.com/
+ https://cppinsights.io/
+ https://godbolt.org/
+ https://rextester.com/
+ https://tio.run/
+ https://www.tutorialspoint.com/codingground.htm
+ https://wandbox.org/
Условно работающие:
~ http://ideone.com/ — блокировка по IP (трассировка обрывается где-то в Европе).
Дохлые ссылки:
- https://www.compileonline.com/ — сменилось назначение
- https://code.hackerearth.com/ — сменилось назначение
- liveworkspace.org — домен разделегирован
Кстати, «tio.run» блокировали в РФ, когда воевали с «Телегой». Сейчас этот сервис доступен.
И чОрная темя, я от него теук
Смотрим хостера... AS42503 Oktawave S. A., Польша. Сайт https://oktawave.com/ в РФ недоступен.
v=spf1 a/28 ptr:okta.ideone.com ip4:176.119.34.219 ip4:195.149.198.213 ip4:176.119.32.229 ip4:176.119.32.41 ip4:213.192.104.210 include:mailgun.org ~all
Все перечисленные айпишники, кроме последнего, принадлежат Oktawave. Последний — Technical University of Gdansk, Academic Computer Center TASK.
https://www.govnokod.ru/28087#comment768280
Матлалаб
«Я в одну строчку, я в джве строчки».
А у серьёзных парней десятки строк!
https://ideone.com/BDy6be
Как и фабрика для фабрик.
За отдельную плату наша команда готова их реализовать.
И потом, данные надо хранить в Oracle, работать с ним через Hibernate, а само приложение должно иметь манифест для разворота на IBM WebSphere
Опять же, я не вижу ни одной диаграммы
Нравится ли вам внятно излагать концепции, чтобы питухи их понимали?
Или вы любите нахуевертить всё, сохранить у себя в голове, а другие потом пусть по коду посмотрят?
Почему я постоянно вижу наплевательное отношение к докам со стороны больлшинства питузов?
Потому сама мысль что-то внятно описать вызывает у них бугурт: у них малость каша в голове, и мозг сопротивляется
"fix"
"."
"/"
Иногда в один коммит влазит пять-шесть небольших issue, и тогда я пишу "fixing bugs".
Иногда только кусочек одной, большой задачи, и тогда я пишу "work in progress".
Когда через месяц меня просять черипикнуть коммиты в релизный бранч, я объясняю, что собирался релизнуть их в следующей версии, и пускай пока в мастере полежат.
Ревью я тоже делаю из таких коммитов. Пускай питух получит ревью с меседжем "bug fixed", и сам разбирается. Я не обязан ему помогать
У меня есть папочка на сетевой шаре, я туда код переписываю по сети, и теку.
Конфликтов не бывает, потому что мы с коллегами разные части системы правим обычно
Один раз было так, что часть файлов переписалась, а часть нет (место кончилось), ну у меня бекап трехдневный был на флешке (я всегда переписываю раз в недельку), я с него и восстановил
Именно потому я за "rotoeb.php".
У нас полиси такое, что нельзя без ревью (ну только в мастер за пару месяцев до релиза можно).
А тесты всегда писать трудно (потому что большинство архитектур -- говно, и тестами их не покрыть), но нужно. Когда через год тебе надо будет поменять одну строчку, ты проклянеш себя за отсутствие тестов
Конечно, автор кода должен делать тест
нехуй коммитить код без тестов.
И надо писать доки, чтобы понять как тестировать код не куря его.
Потому что тесты (какие есть) прошли.
А как ты добавил флажок в функцию, не понимая, что она делает?
Вдруг ты сделал её неконсистентной?
Скажем, была функция для продажи свиней.
Ты добавил параметр "количество сосков", но потом показалось, что функция хряков тоже продает, и теперь код стал говном
Или ты понимаешь, но в код не вникал?
А завтра я захочу продать молочных поросят, и добавлю параметр специфичный для молочного поросенка. Знаешь, как Дядя Фёдор, Матроскин и Шарик письмо писали?
В идеальном мире у кода должны быть оунеры, которые могут такую вот микроархитектуру продумывать: как лучше передать какой параметр куда, может лучше вообще отдельную функцию слделать и пр
А то будет дизайн комитетом
Если вы добавили в шарповый метод параметр со значением по умолчанию, то по факту вы проебали ABI:
У этих двух методов разная сигнатура (void Oink(), void Oink(int)), поэтому если вы запушите такое только с апдейтом минорной версии, то скомпилированное под предыдущую версию сломается к хуям: если вы сделали такое в библиотеке А, от которой зависит библиотека Б, которую потребляет проект В, то нугет подтянет свежую версию А и уже не совместимую с ней Б. При том что с точки зрения семантики и в ситуации, когда нет промежуточных зависимостей, не поменялось ничего.
У тебя будет сырцовая ковместимость, но не бинарная
Иными словами, API не поменяется, а ABI -- да
>Oink
oh hi kuya!
а так да
> "."
> "fix"
Всегда так делаю. Потом правда их squashy и пишу понятный текст.
ну, так я тоже делаю. У себя в веточке я могу какать кверх ногами, как мишки гамми, а на публиное обозрение свой срам всё таки лучше не выставлять
Хотя обманывать не буду. Парочку комитов вроде "fix" у меня по неосторожности попадали в общую репу за последние пару лет.
Я тоже. Поскольку обычно документацию и комментарии никто не читает.
Вызывают как получится, а потом удивляются почему вызов работает не так как они ожидали.
Это сильно демотивирует чтобы писать длинные описания.
Если ты пишешь на перле в vim или на сишке в borland C++ 3.1 IDE, то у тебя просто выбора нет, кроме как документацию почитать.
А если ты C#/ЙАЖА питушок, то ты к сожалению нажал точечку в IDE, и выбрал один из подходящих методов.
Иногда до смешного доходит
--Я использовал $FOO
--А ты знаешь про $SOME_BASIC_KNOWLEDGE_ABOUT_FOO
--Не, я тупо скопировал пример, и у меня заработало
Ну или хотя бы тесты…
Брата, бабку и дядьев -
Боря стал теперь манул,
Боря ловит воробьев.
std::span на Сишке.
https://govnokod.ru/28292#comment781440
Извините, не удержался.
Полное описание занимает четыре тома, но основные принципы таковы:
* Делайте хорошо
* Ориентируйтесь на потребности бизнеса
* Используйте фидбек пользователей
* Автоматизируйте
* Работайте итеративно
Думаю, организовать курсы, и разобгатеть
Если вы не используете TUBF 1.12 в своей работе, то вы теряете деньги!
* не делайте плохо
Написано же как делать
https://www.kernel.org/doc/html/v4.10/process/submitting-patches.html#describe-your-changes
Е
https://www.moscowtimes.ru/2022/07/26/vmesto-ikea-rossiyanam-predlozhat-mebel-iz-kolonii-a22642
Коллеги пишут, что будет представлено две модели стульев