Как стать автором
Обновить
547
0.3

Довожу здравый смысл до абсурда

Отправить сообщение

А чем у вас кафедра отличается от департамента? И откуда вообще кафедра на предприятии?

Как по мне, так слишком много воды в тексте и слишком мало конкретики. В частности, вы совершенно не раскрыли непосредственно содержание программы доподготовки (кстати, почему до-?). Кроме того, это стажировка или доподготовка? Много слов в кучу, а структуры в итоге не получается...

Не знаю, как в России, а в Европе уже кислоту, а тем более азотную, просто не купить частному лицу :(

Даже банальной перекиси нет...

Ещё раз, если кто-то хочет нарушать закон (особенно любопытно, что даже не в своих личных интересах) и делать ставки на то, что его не поймают, то флаг ему в руки, миру нужны Буратины :)

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

Вы смешиваете понятия.

  1. Иски по защите интеллектуальной собственности не так уж и редки, и зачастую с монументальными суммами. Чем мельче контора, тем меньше вероятность попасть на такой иск, но всё равно нулевой она не будет. См. про бизнес-риски, как правильно сказал @funca.

  2. Работник несёт ответственность. Не напрямую перед судом / клиентом, но перед работодателем. Если по вине работника какой-нибудь ремонтной конторы клиенту будет нанесён ущерб, то отвечать перед клиентом будет контора. Что не означает, что работник имеет полное право творить что ни попадя.

  3. Если какая-нибудь контора, даже самая маленькая, попадёт на деньги по иску о нарушении интеллектуальной собственности, то с вероятностью 100% она нагнёт того, кто её нарушил. То есть, даже если работотадель забивает на лицензии, это вообще не повод рядовому разработчику делать так же.

    Если же разработчик сам себе строит западню, пусть и маловероятную, то он сам себе Буратино.

Да, суд накажет не конкретного разработчика, а компанию, но это не освобождает разработчика от ответственности перед работодателем.

Тот факт, что к забору прислонен чей-то велосипед, не означает, что я могу свободно на него сесть и поехать. Любой более-менее опытный разработчик (тот, чей код идёт в прод) должен иметь базовые знания об IPR.

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

И тот факт, что какая-то библиотека распространяется под GPL, не означает, что она распространяется только под GPL. Я регулярно вижу кастомные лицензии на софт, разработчики часто продают специальные лицензии для включения своего софта в закрытые коммерческие сборки.

Я не утверждаю, что код винампа чист, но одного факта наличия какого-то файла в репе недостаточно для утверждения обратного. Вот пример очень популярной библиотеки, исходный код которой доступен под AGPL, что не мешает ей активно продаваться.

ха, слушаю этого дядю, и прямо выясняется, что мы с ним говорим просто одними словами:

and last, but not least: please, please, please, please, measure that cost

Спасибо за ссылку :)

Ну именно поэтому я и говорю, что полезно иногда проверять :)

Zero cost возможен благодаря оптимизирующему компилятору, который очень сильный, но очень близорукий. Его нужно направлять.

Современное программирование - это (экспериментальная) ч0рная магия. Чисто умозрительно можно мало что утверждать с полной уверенностью, теперь нужно экспериментировать и замерять.

конкретный пример на всякий случай: https://godbolt.org/z/s6vh1K

На самом деле, результат не является удивительным, поскольку современный C++ это zero-cost abstraction (но лишний раз убедиться на практике - это всегда хорошо).

Например, я здесь же на хабре предлагал использовать в качестве циклов конструкции не вида for (int i=0; i<n; i++), а питонообразные вещи типа for (int a: range(n)) или for (auto [u, v]: zip(arra, arrb)).

И да, они ни разу не медленнее стандартного цикла, поскольку оптимизирующий компилятор радостно выбрасывает всё лишнее. Что здорово, поскольку можно писать всё более и более человекочитаемый код, не жертвуя производительностью!

А, да, ещё удобно в тех же самых github actions, которые у вас есть, делать CI, нехай компилит и гоняет тесты само на всех платформах!

Ой, я таких слов не знаю. Я про то, что если ваша библиотека зависит от другой, как вы её включите? git submodule? cmake fetch? просто поставите шелл скриптом?

Кстати, ещё не хватает юнит тестов в проекте :)

Какой-нибудь catch2 отлично работает в связке с cmake

Стартовый гайд симпатичный, но добавлю чуть-чуть про сборку. На мой вкус, не хватает двух вещей: внешний пример того, как другие могут включать вашу библиотеку, и (важно) механизма включения ваших собственных зависимостей.

Ну и лично мне не нравятся кастомные шелл-скрипты, они и от ОС зависят, да и вообще нестандартно, вряд ли мне захочется разбираться с чужим build.sh

Когда вы видите std::, это в целом говорит про то, что это часть стандартной библиотеки. С чем именно вы хотите ознакомиться? Вот, например, документация на std::array. Реализация есть во всех основных компиляторах, и в интеле, и в микрософтном, и в кланге, и в гцц.

Мини-квест в офисе

А, вижу ниже, что вы про "оценку сверху", но это уж больно далеко от данной фразы.

Из всех авторских статей с рейтингом +30 (которых за месяц было опубликовано 110 штук) лишь 47 были опубликованы участниками ППА.

А как вы узнали, кто участвует в ППА? У меня, например, лычки подходящие, но в ППА я не участвую..

С вырожденными случаями не надо бороться вручную. Для этого придумали SOS.

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

1
23 ...

Информация

В рейтинге
2 212-й
Зарегистрирован
Активность