Задать вопрос
  • Существуют ли курсы с "арендной" моделью?

    Есть. Тот же JavaRush, например, имеет подписочную модель.
    Ну и при оплате через рассрочку или даже всей суммы целиком - тебя никто не запрещает отказаться от курса и запросить возврат суммы за недополученные уроки.
    Ответ написан
    2 комментария
  • Что не так с кавычками в bash?

    saboteur_kiev
    @saboteur_kiev Куратор тега bash
    software engineer
    Перед тем как выполнить любую команду происходит parameter expansion
    Поэтому если выполнить команду
    find . -name a*
    и в каталоге есть файлы a1, a2 и a3, то баш проведет expansion и на самом деле попытается выполниться команда
    find . -name a1 a2 a3
    что будет синтаксической ошибкой, так как непонятно что такое a2 и a3

    А если написать так:
    find . -name "a*"
    то параметр "a*" уже отправится именно в find и он его распарсит согласно всем правилам wildcard в линукс

    P.S. это касается выполнения любой команды. Просто в find . -name люди чаще всего попадаются.
    А так можно поэксперементировать на
    echo a*
    echo "a*"
    Ответ написан
    Комментировать
  • Почему Doom портируют куда только можно?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Doom - это была одна из первых игр где была реализована в полной мере техника BSP (Binary-Space-Partition). Это позволяло в реальном времени очень быстро сортировать и рендерить полигоны без привлечения Z-Buffer. (Рендеринг был чисто прогарммный. На то время еще не было ускорителей 3Д графики и видеокарточка умела только отображать память на экран. ) Игра не была по настоящему трехмерной. А только рализовывала 1 этаж. Рендерить надо было только пол и потолок. Для каждой точки где стоял персонаж. И наклонных горизонтальных поверхностей в ней не было как раз по этой причине. Ее называли 2.5-мерной игрой. Было также много идей оптимизации вычислений. Например вместо вещественных чисел - целые 32х битные с fixed point.

    В скобках замечу что это был 1993 год и на дворе было царство Intel 286/386. Это были машины с тактовой частотой меньше ваших телефонов (Pentium только только релизнулся и еще ни у кого не был). И трехмерный Doom был прорывом. На моем тогда еще 386SX от подтормаживал но играть было можно. И со звуком для SoundBlaster. И конечно это было лучше чем Wolfenstein.

    Аналогичное было реализовано в Duke Nukem 3d. Но Дюк был менее популярен ИМХО. Были и масса других 3д игр в жанке RPG но они были не такие динамичные. Походовые в основном.

    Вобщем сегодня если вы гейм-дев то вам желательно хотя-бы ознакомиться с техниками оптимизации которые были в Doom. Можно почитать и про Quake но это просто развитие идеи BSP деревьев для полного 3D с 5 или 6 степенями свободы. Еще можно почитать про реализацию игры Esctatica. Там не на полигонах а на шариках или эллипсах реализована игровая графика. Тоже интересно.

    UPD: Заменил MMORPG на RPG.
    Ответ написан
    6 комментариев
  • Что делать с кросс-компиляцией на gcc?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    apt-get install gcc-aarch64-linux-gnu

    после этой команды команда dpkg -L gcc-aarch64-linux-gnu покажет тебе содержимое пакета, откуда ты узнаешь, что имя компилятора -- aarch64-linux-gnu-gcc
    Ответ написан
    1 комментарий
  • Как реализовать Алгоритм Брезенхэма?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Брезенхем не использует вещественные числа. В этом его суть. Вещественные появляются просто в ходе доказательства его правильности. Но сама реализация - только на целых числах.
    Ответ написан
    4 комментария
  • Может кто-нибудь дать реальную задачу на которой можно применить ООП?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    https://habr.com/ru/post/87205/
    читайте ООП в общем то делалось для удобства, как и паттерны
    Ответ написан
    Комментировать
  • Зачем нужны корневые сертификаты?

    CityCat4
    @CityCat4 Куратор тега Цифровые сертификаты
    Дома с переломом ноги
    Вся система PKI - она иерархична и построена на доверии. Больше ни на чем. Только на доверии, которое достаточно один раз обмануть, чтобы перестать доверять системе в целом.

    Есть некое множество контор, которые выпускают SSL-сертификаты. Они не самые лучшие и не самые правильные, просто однажды они собрались и решили замутить бизнес. Почему все доверяют им? Да просто потому что до недавнего времени не было поводов их обвинить в мошенничестве - там все в порядке (было) с "внутренней полицией", которая нарушителей выкидывала нафиг с пляжа.
    Ну и - самое главное - все доверяют им, потому что их корневые сертификаты размещены в хранилищах корневых сертификатов у Windows и Mozilla (Google использует хранилище Windows).

    И все

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

    Пока ребята не решили выстрелить себе в ногу, прекратив выпуск сертификатов в зонах .ru/.su/.by/.рф просто по политическим мотивам. Их право - частный бизнес - он такой частный бизнес. Но тут все резко как-то вспомнили, что все "мировые удостоверяющие центры" вовсе нифига не мировые, а просто кучка самозванцев.

    И будут у нас скоро госСA, госсертификаты, госбраузеры и все прочее в порядке импортозамещения.

    Теперь о том, как проверяется валидность сертификата. А проверяется она очень просто - если сертификат выпущен CA, который находится в списке доверенных - он валидный.

    ВСЕ!

    Ты можешь развернуть свой CA, поместить его сертификат в хранилище корневых у себя на компе - и все сертификаты, выпущенные им - для тебя - станут валидными. Выпускай хоть для vk.com, хоть для whitehouse.gov.

    И вот именно поэтому все так боятся поместить в хранилище корневых сертификат от какого-нибудь госСA - потому что все сертификаты, выпущенные им система будет считать валидными! Она не делает разницы между сертификатом от Thawte и от "Товарищ Майор Inc." - она примет сертификат и от того, и от того. А товарищ майор, получив возможность выпускать сертификаты, валидные в Вашей системе, будет выпускать их на ходу и подсовывать их вместо "настоящих", получая доступ к сессионным ключам и таким образом расшифровывая https-трафик (что собственно Fiddler и делает)
    Ответ написан
    8 комментариев
  • Зачем нужны корневые сертификаты?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Кажется, что вся эта конструкция держится на том, что тот единственный корневой (?) сертификат, которым подписаны все остальные, есть только у удостоверяющего центра.
    Именно. Система держится на доверии к УЦ.

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

    И сразу второй вопрос: почему какой-нибудь Fiddler, который устанавливает в систему свой корневой сертификат вообще работает?
    Без установки своего корневого сертификата Fiddler не сможет перехватывать https-трафик. Тот, кто ставит себе Fiddler, должен понимать, что в системе возникает уязвимость.
    Ответ написан
    2 комментария
  • Зачем нужны корневые сертификаты?

    vesper-bot
    @vesper-bot
    Любитель файрволлов
    Ну начнем с того, что корневых сертификатов приличное множество. Не один, и не один десяток даже. Пример:
    624e91669b7e4193133731.png
    64 штуки. И сертификат, подписанный любым из них, система считает доверенным. Это, собственно, и причина, почему боятся получить дополнительный корневой сертификат - заранее не знаешь, у кого есть возможность подписи с его помощью, и отличить сертификат, подписанный новым добавленным корневым (транзитивно или нет), можно только после того, как ты его получишь, при этом большинство программ не позволяют пользователю заблокировать соединение, установленное с использованием доверенного сертификата. То есть, вначале тебя с ним поимеют, потом тебе вычищать последствия.
    Fiddler точно так же устанавливает свежесозданный (это важно, новая пара ключей, которых ни у кого нет) корневой сертификат тебе в доверенные корни, и использует его, чтобы на лету генерировать сертификаты для каждого сайта, куда ты ломишься, подсовывая их браузеру, чтобы тот не вякал, а сам выполняя роль man-in-the-middle.
    Вопрос доверия имеющимся "корням" остается на совести администратора системы (то есть вас), при этом по сети могут прилетать обновления списка корневых сертификатов, после которых опять нужно проверять хранилище на случай появления нежелательных для вас корневых сертификатов.
    Ответ написан
    1 комментарий
  • Зачем нужны корневые сертификаты?

    15432
    @15432
    Системный программист ^_^
    Fiddler перехватывает подключение, создает "промежуточный сайт", с тем же именем который и подписан левым сертификатом. Так он может видеть все пересылаемые данные и HTTPS перестает быть безопасным.

    Потому все и боятся левых сертификатов, чтобы локально или на уровне провайдера ваш трафик / пароли / данные карт / переписку не прослушивали.
    Ответ написан
    1 комментарий
  • Как/чем обработать фото лица человека, чтобы оно оставалось ясным для людей, но по нему стало невозможно искать аккаунт в соцсетях?

    AgentSmith
    @AgentSmith
    Это мой правильный ответ на твой вопрос
    Самый действенный способ - не выкладывать свои фото в соцсети.
    Проверено на себе. Работает.
    Ответ написан
    2 комментария
  • Что почитать про парсинг?

    BadCats
    @BadCats
    К ответу datka - как к реальному и чисто прикладному - добавлю, что еще можно углубиться в теория формальных языков, грамматики (как работают компилятор, интерпретаторы) - что, возможно, позволит писать более универсальный код - не так сильно привязанный к верстке страницы - т.к можно пытаться анализировать html/xml - на уровне токенов и лексем, даже с кастомными классами и атрибутами для элементов. Но это очень сложная область и возможно, что "овчинка выделки не стоит".
    Ответ написан
    Комментировать
  • Как понять PlatformIO?

    profesor08
    @profesor08
    Написали расширения для VS Code, написали некоторый универсальный фреймворк для разработки. На первый взгляд выглядит неплохо.

    А на ООП можно писать, сделай врапер и пользуйся.
    Ответ написан
    Комментировать
  • Как понять PlatformIO?

    @RockindDemon
    platformio это, во-первых, всё-таки фреймворк. Он задаёт общий формат описания и структуру проекта для микроконтроллеров, умея инсталлировать тулчейны и собирать проекты под разные конфигурации. И наподобие cmake он умеет генерировать файлы проектов для работы в различных IDE.

    Во-вторых, это ещё и плагин к vscode (можно использовать и без vscode, через командную строку).

    Вещь приятная и удобная в использовании, мне нравится.
    Ответ написан
    Комментировать
  • Как именовать булевские "флаги"?

    longclaps
    @longclaps
    Весело у вас )
    Флаг DISABLE, буде он принят, будет явно указывать то, что он обрамляет легаси-код. Придёт новый программист в команду, прочтёт вот это моё предыдущее предложение, и будет не заглядывая в историю коммитов понимать, что про заенабленые фичи можно спрашивать у коллег, а задизабленые придётся разгребать самому (
    Ответ написан
    Комментировать
  • Что делать с include-ами?

    terrier
    @terrier
    Ну, в C++ так не делают.
    Вставлять результаты дефайнов в "#include" явно запрещено, хотя, может быть, было бы и полезно.
    Если вам это действительно сильно нужно - используйте предварительную кодогенерацию, пройтись скриптом по исходникам и подменить какой-нибудь "$placeholder$" на определенную some_const_name должно быть несложно.

    Правильно ли я понимаю, что препроцессор никто и никогда не будет развивать и, видимо, вскоре от него откажутся?

    Нет, пока жив C++, жив и препроцессор.
    Ответ написан
    1 комментарий
  • Какие стратегии повышения зарплаты существуют?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    А вот я добавлю к отличному ответу Сергей Горностаев.

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

    2.
    От чего вообще зависит "щедрость" руководства? Есть ли какие-то причины, которые могут заставить руководителей "среднего" звена усиленно экономить бабло? Какие цели обычно преследуют руководители?
    Зависит от того: сколько будет стоить тебя заменить для компании на такого же (или лучше) специалиста и сколько времени на это потребуется?

    Т.е., итог таков: насколько ты уникален для компании на данный момент времени, чтобы давать тебе ту ЗП, которую ты просишь на данный момент, и всегда нужно знать конкурентов (и наладить контакты заранее), куда можно перейти на более высокую ЗП (в случае, если не удастся договориться на текущем рабочем месте).
    Ответ написан
    Комментировать
  • Какие стратегии повышения зарплаты существуют?

    Jump
    @Jump
    Системный администратор со стажем.
    От чего вообще зависит "щедрость" руководства?
    Никакой щедрости нет и быть не может.
    Тут вопрос в целесообразности.
    Если платить мало - уйдет паразит, если платить много, это может быть невыгодно, да и расслабляют большие зарплаты.

    В общем идет поиск оптимальной (с точки зрения руководителя зарплаты) чтобы и не ушел работник и чтобы не слишком дорого обходился.
    А в цифрах все зависит от конкретной ситуации.

    Есть ли какие-то причины, которые могут заставить руководителей "среднего" звена усиленно экономить бабло?
    Разумеется. Вы же не думаете что у компании неограниченное количество денег?
    Сколько бы денег не было - тысяча рублей или миллиард долларов, это сумма ограниченная, и ее нужно тратить экономно.
    Решать куда выгодней потратить больше, а куда меньше. Меньше платить разработчику - больше останется на другие цели - например на закупку оборудования, выплаты владельцам, или на погашение займов.
    Самая большая ошибка, это считать, что если компания крупная и у компании много денег, значит и платить она может неограниченно много.
    Если компания большая то у нее очень много статей расходов и расходы огромные.
    Поэтому зачастую намного выгоднее выгнать зажравшегося работника и взять нового. Но зависит от конкретной ситуации.

    Я не являюсь руководителем, и не знаю точного ответа.
    Да это не сложно.
    Представьте что вы наняли человека починить сантехнику, поклеить плитку в кухне, или выбираете провайдера для подключению к интернету. Сколько вы будете ему платить?
    Так же думает и руководитель.
    Ответ написан
    3 комментария