Куча говна / Говнокод #26949 Ссылка на оригинал

0

  1. 1
IT Оффтоп #60

#32: https://govnokod.ru/26440 https://govnokod.xyz/_26440
#33: https://govnokod.ru/26449 https://govnokod.xyz/_26449
#34: https://govnokod.ru/26456 https://govnokod.xyz/_26456
#35: https://govnokod.ru/26463 https://govnokod.xyz/_26463
#36: https://govnokod.ru/26508 https://govnokod.xyz/_26508
#37: https://govnokod.ru/26524 https://govnokod.xyz/_26524
#38: https://govnokod.ru/26539 https://govnokod.xyz/_26539
#39: https://govnokod.ru/26556 https://govnokod.xyz/_26556
#40: https://govnokod.ru/26568 https://govnokod.xyz/_26568
#41: https://govnokod.ru/26589 https://govnokod.xyz/_26589
#42: https://govnokod.ru/26600 https://govnokod.xyz/_26600
#43: https://govnokod.ru/26604 https://govnokod.xyz/_26604
#44: https://govnokod.ru/26627 https://govnokod.xyz/_26627
#45: https://govnokod.ru/26635 https://govnokod.xyz/_26635
#46: (vanished) https://govnokod.xyz/_26646
#46: (vanished) https://govnokod.xyz/_26654
#47: https://govnokod.ru/26671 https://govnokod.xyz/_26671
#48: https://govnokod.ru/26707 https://govnokod.xyz/_26707
#49: https://govnokod.ru/26750 https://govnokod.xyz/_26750
#49: https://govnokod.ru/26776 https://govnokod.xyz/_26776
#50: https://govnokod.ru/26804 https://govnokod.xyz/_26804
#51: https://govnokod.ru/26809 https://govnokod.xyz/_26809
#52: https://govnokod.ru/26817 https://govnokod.xyz/_26817
#53: https://govnokod.ru/26833 https://govnokod.xyz/_26833
#54: https://govnokod.ru/26840 https://govnokod.xyz/_26840
#55: https://govnokod.ru/26844 https://govnokod.xyz/_26844
#56: https://govnokod.ru/26862 https://govnokod.xyz/_26862
#57: https://govnokod.ru/26890 https://govnokod.xyz/_26890
#58: https://govnokod.ru/26916 https://govnokod.xyz/_26916
#59: https://govnokod.ru/26934 https://govnokod.xyz/_26934

Запостил: nepeKamHblu_nemyx nepeKamHblu_nemyx, (Updated )

Комментарии (500) RSS

  • Добрый вечер.

    Этот оффтоп сгенерирован автоматически.

    Индекс оффтопов: https://index.gcode.space/.
    Зеркала Говнокода и полезные ресурсы:
    * https://govnokod.xyz/ (альтернативный Говнокод)
    * https://gcode.space/ (read-only зеркало Говнокода)
    * @GovnokodBot в «Telegram»
    * https://vorec.space/ (глоссарий Говнокода)
    Ответить
    • да тащемто любой современный мощный IDE: что VisualStudio, что Intellij (Android Studio сделана на Intellij)
      Ответить
    • ахахахахахах
      ща пол интернета варнингами засрет
      Ответить
          • На шаред хостинге есть выбор какой "PHP" использовать. Или он минорную версию имеет право без предупреждения обновлять?
            Ответить
            • минроную может и может
              мажорную вряд-ли конечно, если он не идиот, но я не уверен точно
              Ответить
              • Шаред хостинг может обновить 5.3.19 до 5.3.20 или 7.3.21 до 7.3.22.

                5.3 до 5.4 или 7.3 до 7.4 никто обновлять не будет, потому что половина сайтов вообще работать не будет. Админы не настолько дураки.
                Ответить
                  • Любой шаред хостинг с cgi-bin. Лет двадцать назад вообще любой такое позволял.

                    Обычно туда ложили скриптеца с перлом в шебанге, и чмодили (+x) его. Но ничто не мешало покласть туды бинаря.

                    Правда, нужно было знать версию libstdc++ наверное, бо хуй знает, чо там с ABI.
                    Ответить
                    • Докажи, что к этому утверждению можно применять квантор общности.
                      Ответить
                        • У меня есть подозрение, что доступ к cgi-bin сейчас дают не все шаред хостинги. По крайней мере, видел хостинги, у которых cgi-bin в документации не упоминался. В зоне видимости была только директория htdocs (или типа того), а у некоторых ещё lib (в которую можно кидать интерпретируемые скрипты).

                          Если cgi-bin нет в пределах видимости, то что делать? Попробовать позвать функцию system из «PHP»?
                          Ответить
                          • ну ищи тогда хостинг с CGI. Обычно там будет написино "cgi скрипты, perl"

                            > Попробовать позвать функцию system из «PHP»?

                            Я ХЗ как они это настраивают, но на их месте, я бы запретил ставить +x у файлов, а то и вовсе запретил бы их на уровне прикрутки файловой системы

                            Если у тебя нет CGI, то зачем тебе это?

                            С другой стороны, админы могут и лажануться. Проверь
                            Ответить
    • блять после твоей ссылки мне этот хуй начал в рекомендацях появляться я уже наверное 7 его видео посмотрел а они длинные пиздец
      Ответить
    • надо подписать коммит торвальдсом завтра на работе
      Ответить
          • Ну а как они должны были это сделать? Многие же просто зеркало на гитхабе держат или мёржат коммиты у себя и потом заливают на гитхаб. Не заставлять же всех всё подряд сначала через гуйню регаться как контрибьютор.

            Ну и если я ядро форкнул - там реально есть коммиты торвальдса.
            Ответить
            • Добавить предупреждающий значок для неподписанных коммитов тех пользователей, которые себе в настройках добавили публичный ключ. «(!) Этот коммит не подписан, возможно, пользователь его не совершал».
              Ответить
              • Лучше тогда ссылки на профили убрать да и всё. Пусть будут только у тех, кто пушит. Они то проверены.
                Ответить
              • > добавили публичный ключ

                Ну вот добавил я ключ ради одного важного проекта. Мне теперь вообще всё подряд подписывать, даже в петпроджектах которые нахуй никому не сдались? Иначе я не я?

                Имхо, надо просто людям вбивать с детства простую истину - нельзя доверять всему, что на заборе написано. Если нет явного пруфа.
                Ответить
                • «Гитхаб» может подтвердить твои коммиты безо всяких подписей, ему для этого достаточно сверить почту в коммите и почту того юзера, который этот коммит ему пушит. Проблема случается только тогда, когда ты с юзера с почтой bormand@example.com пушишь коммиты с почтой linux@torvalds.xyz. Собственно, для этих ситуаций и нужна (сложные проблемы вроде миграции VCS не рассматриваем) подпись коммитов.

                  Сейчас же «Гитхаб» в том проекте пишет «[Торвальдс] Committed to this repository in the past month», что есть пиздёж. Пиздёж в UI — это плохо.
                  Ответить
                  • Кстати так ведь и скрытые емейлы спалить можно. Создать репу с тыщей участников. А гитхаб покажет их профили если они есть.
                    Ответить
                    • А 67 тысяч участников в репе этот ваш «Гитхаб» потянет?
                      Ответить
                    • Не уверен, кстати, что он со скрытой почтой будет палить емейл. Там же скрытным юзерам просто выдаётся фейковая почта вида «github-username@github.com» (или подобная), по которой «Гитхаб» и устанавливает авторство коммитов.
                      Ответить
                        • Звучит как «чел с трибуны утверждает». Поэтому вопрос: зачем он залез на х-р?
                          Ответить
        • Дык зачем подделывать php, если ты можешь просто в конфиг любое мыло вписать и коммитить им?
          Ответить
    • всё так

      причем к С можно добавить ++
      Ответить
    • Если согласитесь сделать татуировку на видном месте, что тона вроде "Я - KDEраст и горжусь этим" дадим надбавку к окладу (накинем пару тысяч).
      Ответить
  • В ведроиде по умолчанию отключён опечаточник? Заметил, что пользователи ипхонов пишут без опечаток и с большой буквы, а андроидов - как попало.
    Ответить
      • Проблема в том, что чистый «Андроид» бывает, пожалуй, только на планшетах. А на смартфонах каждый производитель старается впихнуть свою клаву и со своими дефолтными настройками.
        Ответить
            • Самая заебатая марка

              Если ты купишь устройство со сборкой вендора, то так и будешь сидеть на четвертом андроиде 10 лет
              а нексус пиксель будет обновляца
              Ответить
              • пиксели кстати называют айфонами от мира android из-за длительных циклов поддержки
                Ответить
                • Поддержка айфона заключается в том, что через год ты приходишь, и говоришь "у меня стала плохо держать батарейка", а тебе говорят: "мы баатерейки не меняем, гарантия кончилась, можем продать вам точно такой же по точно такой же цене")

                  но про софт ты прав: обновлять ios можно долго
                  Ответить
  • Вопрос к питонистам.

    Есть 2 пакета. В одном либа точена, во втором сосноль для неё дрочена. Как идиоматично из второго поюзать первый?
    Ответить
    • Guido views running scripts within a package as an anti-pattern.

      А, ну ок, т.е. так не делают.
      Ответить
      • да, скрипт лучше иметь на верхнем уровне
        и импортить можешь по полному пути
        Ответить
        • > на верхнем уровне

          Спасибо. Получается, что питон добавляет каталог с главным скриптом в path, поэтому абсолютные импорты работают только если он в корне проекта. А относительные импорты в главном скрипте в принципе никогда не работают (у главного скрипта в __name__ фигня).
          Ответить
          • абсолютные импорты всгеда считаются от sys.path.
            Если ты туда явно добавишь верхний уровень, то вероятно можешь и по полному импортировать, но это ебля

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

            Кстати, хочешь, чтобы консоль автоматически находилась, если установлена на интерпретатор или виртуалэнв?

            Используй
            https://packaging.python.org/guides/creating-and-discovering-plugins/
            Ответить
            • О, круто, т.е. он сам создаст враппер для моего скрипта во время установки пакета? И судя по доке тогда скрипт может быть не только в корне, с sys.path враппер сам разберётся.
              Ответить
              • Ты про "console_scripts" ?*

                Я сам не пробовал, но судя по тому, что овердохуя пакетов на pypi имеет запускалку (virtualenv, django, flask, jupyter, pytest, to name few) и все они как-то на прыщах имеют sh с шебангом в нужный питон, а на винде .exe (ну вероятно импортирующие нужный .dll?) это работает.

                *
                https://python-packaging.readthedocs.io/en/latest/command-line-scripts.html

                [quote]
                Setuptools will generate a standalone script ‘shim’ which imports your module and calls the registered function.
                [/quote]
                Ответить
                • А ты не это имел в виду под "консоль сама находилась"?
                  Ответить
                  • я имел ввиду API для поиска плагинов.

                    Типа ты можешь написать несколько консолей
                    * терминально/коснольную
                    * вебовскую например
                    * гуйную (ну тут 10050 фреймворков есть для этого)
                    * сетевую телнетную например

                    и зарегистрировать их как плагины. И твой скрипт бы находил их, и спрашивал пользователя какую косноль он хочет

                    И я мог бы написать плагин с поддержкой еще одной консоли не трогая твой код
                    Ответить
                    • А, да не, у меня банальный коммандлайн интерфейс для либы. Регистрации в console_scripts должно хватить.

                      Но механика с плагинами прикольная, да.
                      Ответить
                        • Аргпарс. Про клик я знаю, но тащить либу ради пары аргументов влом.
                          Ответить
                            • У меня своя идеологическая проблема - я не люблю цеплять сторонние либы ради мелочей, которые и так на десяток строчек.

                              А статью я не понял, если честно. Челу не нравится, что либа позволяет добавлять аргументы не задумываясь над UX и в итоге получается неудобная хуйня? Сомнительный аргумент, если честно.
                              Ответить
                              • >цеплять сторонние либы ради мелочей
                                хуясе мелочь: интерфейс командной строки)

                                >хуйня
                                ну да, примерно.

                                Командлайн интерфейс надо продумывать, а не хуяк-хуяк, иначе будет по степени удобства как какойнить netsh или dism)
                                Ответить
                                • > интерфейс командной строки

                                  Ну оно и на аргпарсе не сильно длиннее, если честно. Просто с аргпарсом всё централизованно а в клике эта портянка размазана по самим функциям.
                                  Ответить
                                  • воот) и сообсно о том и статья в некотором смысле

                                    Это же Арминовская поделка, как и фласк: там тоже функции декораторами
                                    Ответить
    • Не понимаю вопрос. Сосноль зависит от точеной либы. Ты просто импортируешь из второй первую и течешь.
      Ответить
  • Кто-то вообще здесь участвует в «конференциях», или может быть даже выступает? Пиздит и задаёт вопросы после? Или хуйня всё?
    Ответить
    • Мне лень, я слишком асоциален для этого.

      Туда же в основном катаются чтобы поболтать в перерывах и после конфы. А сами доклады можно и в записи посмотреть.
      Ответить
  • Вопрос попался на SO:

    Why is reading lines from stdin much slower in C++ than Python?

    (в 10 раз)

    Крестобляди соснули )))
    Ответить
  • Сайт ФСБ доступен только по HTTP без шифрования, по HTTPS нет связи.

    Для отправки оперативной информации они предлагают установить свой софт:
    https://i.imgur.com/ThSsTUM.png

    ФСБ не доверяет браузерному TLS?
    Ответить
    • А с чего бы ФСБ доверять тафту например, или верисайну?

      ЦРУ тоже Ростелекому не доверяет, и правильно делает

      А зачем тебе сайт фсб? Хочешь на нас настучать?
      Ответить
      • >> А зачем тебе сайт фсб?

        Хочу узнать, какие технологии они используют. Если они не доверяют HTTPS, это жжж неспроста. Вдруг нас наёбывают, что HTTPS надёжен, а на самом деле в нём есть дырка, через которую наш трафик спокойно слушают? Стали бы внедрять СОРМ, если бы через неё ничего нельзя было бы прослушать?
        Ответить
        • Эм, дык всё просто. Даже если с алгоритмами всё ок (а с ними, скорее всего, всё ок), то корень доверия во всех популярных осях и браузерах контролируется потенциальным противником. Поэтому зачем создавать иллюзию безопасности и вешать https?

          А насчёт СОРМа - ну список айпишек/доменов тоже полезная инфа, даже если без контента.
          Ответить
        • Дело не в прослушать, а в том, что ЦРУ может заставить американкую компанию CA выдать серт на левого чела, и потом спуфнуть сайт, и ты ему сольешь и карту укреплений советской
          Ответить
          • Кстати, а как сейчас узнать, оригинальный сайт ФСБ передо мной или спуфнутый?
            Ответить
              • Ладно, обобщим.

                Как узнать, оригинальный сайт %SITENAME% передо мной или спуфнутый?
                Ответить
                • Юзать https. При условии, что ты доверяешь центру сертификации, который выдал ему серт.
                  Ответить
                • А вообще, за спуфанье гос ресурсов вроде можно присесть на бутылку.
                  Ответить
                  • Кстати, тут оказалось, что kremlin.ru тоже https принципиально не использует. Они тоже надеются на бутылку?
                    Ответить
                    • Да наверное. А какой вред тебе могут нанести эти сайты, если их спуфнут? Там же просто публичная инфа в рид-онли.

                      Это ж не банк и не говнокодик.
                      Ответить
                      • А спуфнутый говнокодик может навредить тем, что спиздят мой пороль?

                        Кстати, если заходишь в интернеты с публичного «Wi-Fi», который требует логина, то пока не залогинишься, он любые http-сайты редиректит на форму входа. Если я попытаюсь открыть kremlin.ru, а вместо него увижу форму входа провайдера, то можно настучать, что провайдер спуфнул госрерурс?
                        Ответить
                        • Конечно.
                          Инканусу все верят и доверяют. Вдруг ты начнёшь хуйню писать и сливать дезинформацию?
                          Ответить
                          • хуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйняхуйня
                            Ответить
                • Попингуй и сравни TTFB до какого-нибудь лёгкого ресурса вроде фавиконки с пингом. Если первое меньше второго — покупай шапочку из фольги.
                  Ответить
    • А твой браузер поддерживает гостовые алгоритмы в тлс?

      Ебаная автозамена в Андроеде
      Ответить
      • А что, gost понапридумывал алгоритмов, которые используются в тсл? Какой скилл )))
        Ответить
          • ну сейчас лучше стало, конечно

            а 15 лет назад было очень лулзово
            Ответить
            • Всё равно, от их графических интерфейсов веет какой-то инфантильностью. Эти яркие цвета, эта нарочитая кругленькость и толстенькость форм... Как будто доморощенный дизайнер только дорвался до своей первой задачи и решил сразу раскрыть весь свой "потенциал".
              Ответить
              • Это правда.

                Все таки самые крутые дизигнеры редко работают в опенсурсе: они скорее в каком-нить эппле кучкуются
                Ответить
                • Вот кстати да, хороших программистов в опенсурсе полно. А дизайнеров почему-то очень мало.
                  Ответить
                  • Ну изначально опенсурс двигали программисты, причем совсем не ориентированные не UI, как ты понимаешь:) Иксы в прыщи-то завезли в середине нулевых, через 10 лет после мака.
                    Причем прыщи с TWM там какимнить, KDE еще вроде тогда не было

                    Чего там делать дизайнерам, если там и UI кривой, и адоб не работает, и время от времени нужно с чем-то пирдолица.
                    Ответить
                  • >"Вот кстати да, хороших программистов в опенсурсе полно."

                    Но пользуются все почему-то "Windows" и "macOS", а не "Linux"/"UNIX"; "Photoshop", а не "GIMP"; "Final Cut Pro", а не "Shotcut". Странно...
                    Ответить
                    • особенно на серверах

                      не, ну хуёвые программисты в опенсерсе тоже бывают, тут ты прав. Лердорф там, например, или Видениус.. те еще пидары
                      Ответить
                      • Кстати, MAKAKA, напиши чего не хватает, чтобы пользоваться хузом?
                        Ответить
                        • Поддержки картинок. Чтобы ссылки с графическими расширениями файлов превращались в фоточки.
                          Ответить
                        • ссылок не хватает

                          а так-то я ит ам и там
                          Ответить
                      • Мы сейчас обсуждаем продукты массового потребления. Будем честны: в основном opensource-говно крутится среди узкого круга идейных дрочеров на какую-то "свободу" (в ущерб качеству и стабильности). Те же, кто ценит своё время и нервишки, выбирают платное и закрытое ПО, ибо идеологи халявы достойных аналогов так и не предложили.
                        Ответить
                        • ротоёб, это всё было уже обсуждено миллиарды раз на всяких околокомпутерных форумах.. срачи на тему винудос версус линукс в интернетике ведутся со второй половины 90-х
                          Ответить
                          • У кого из ОБЫЧНЫХ пользователей установлена "Ubuntu"? Не программистов, не системных администраторов, а именно простых Васянов-заводчан и домохозяек.
                            Ответить
                            • на работе бывает установлена. Вроде Приватбанк перешел на линукс.

                              Но там заводчане не выбирают ос: чего им админ поставил, то и работает
                              Ответить
                              • Могли бы выбирать - выбрали бы "Windows". Или компьютер с "macOS".
                                Даже Владимир Владимирович Путин, который, казалось бы, должен максимально ограждать себя от закрытых и потенциально шпионских программ (тем более западного производства), сидит на "Windows". Единственное - он придумал себе преднамеренное отставание по времени, чтобы все западные технологии слежения относительно него устаревали (долгое время использовал "Windows XP", и только недавно перешёл на "Windows 7").
                                Ответить
                        • >Гутманс
                          гугл грит, это Мужская парикмахерская №1

                          >Сураски
                          гугл грит это Клиника Ихилов в Израиле (Сураски)

                          >Стогов
                          вот тут хз, но ничего хорошего конечно там нету
                          Ответить
                          • Это классика! Это знать надо, если ты изучал «PHP».
                            Ответить
                              • >дебычи
                                вбил в гугл

                                Перевод "de biche" на русский biche
                                олень лань овечка олененок пташка
                                Ответить
    • а как я знаю, что я скачаю настоящую программу, а не хакерскую поделку?
      Ответить
      • Позвонишь в ФСБ и сверишь хеши с товарищем майором.
        Ответить
        • а кроме шуток?

          Яб на их месте в МФЦ выдавал бы флешку с прогой
          Ответить
          • Ну, скорее всего, вместе с токеном для ЭЦП можно получить и набор сертов и браузер с поддержкой госта (или что там у них за прога?).
            Ответить
            • хаха, не всё так просто
              чтобы работали гостовые алгоритмы, тебе в системе нужен криптопровайдер (типа криптопро цсп или випнет цсп) с соответствующим апи

              и да, иногда лицензию на криптопровайдер поставляют вместе с токеном, но только у меня хуй знает но не заработало
              Ответить
              • криптопровайдеры с реализацией гостового алгоритма требуют лицензии? ФСБ типа лицензию купило?
                Ответить
                • Ну они там стоят копейки, если не серверная версия. Серверная версия пиздец дорогая была...
                  Ответить
              • Были кстати прикольные зелёные рутокены, у которых вся криптография на борту. А снаружи нужен был только плагин к браузеру. Их закопали походу, дорого?
                Ответить
                • такие пластиковые полупрозрачные хуйни на usb? ты предлагаешь их всем выдавать?)
                  Ответить
                  • Эм, ну если ты хочешь подписать официальное обращение в ФСБ, то как ты это сделаешь без токена и серта, выданного кошерным УЦ?
                    Ответить
                      • Ну для официального документооборота есть требования к хранению ключей. И обычно в этих требованиях указан защищённый носитель, т.е. токен.

                        Т.е. хранить приватный ключ на компе не положено.
                        Ответить
                        • тогда понятно

                          Это логично, так как у меня на компе стопудово ботнет или еще какая нито хуита
                          Ответить
  • Кто-то по памяти может отличить operator++() от operator++(int)?

    Вечно забываю, кто из них кто. Приходится гуглить. Благо очень редко нужно.
    Ответить
    • пре и пост вроде, но я не помню точно
      Ответить
      • > не помню точно

        Угу, пиздец интуитивный дизайн.

        Кстати, в современных крестах, наверное, сделали бы std::prefix и std::postfix фейковым параметром вместо сраного int'а.
        Ответить
        • зачем воще парамтер? почему не назвать семантически вместо ++?
          фейковый параметре же в любом случае говно, не?

          ну и да: кто из них пост, а кто пре -- я не помню конечно
          Ответить
          • Если назвать сёмантически, то это уже будет питон а не кресты.

            Писать operator,(), operator[]() и operator()() ведь гораздо веселее, чем operator comma(), operator index() и operator call().
            Ответить
              • Ну если только два четыре оператора переименовывать - неконсистентно будет. Надо все тогда уж.
                Ответить
              • Как различать i++ от ++i тоже нихуя не очевидно. Просто все привыкли.
                Ответить
                • Да не, тут то всё интуитивно. Если ты живёшь в стране, где пишут слева направо.

                  i++ - вернуть i, а затем сделать ++
                  ++i - сделать ++, а затем вернуть i

                  А вот operator ++ (int) как бы намекает своей записью на ++int. Но хуй там.
                  Ответить
        • Это дух сишки: убрали «лишние» слова. Например, в сишке не стали вводить слово «function», а об объявлении функции нужно догадываться по скобочкам. В крестах пошли дальше, сделав объявление лямбды таким же неочевидным.
          Ответить
          • слово "function" не нужно
            как и слово "lambda", "variable" итд
            Ответить
            • Ну тогда не нойте, что постинкремент от преинкремента трудно отличить.
              Ответить
              • экскременты отличить легко

                а поди пойми кто тут экскремент, а кто эксперемент: ++() и ++(int)
                Ответить
    • А я вот недавно думал, что должен ++(int) возвращать: изменённый объект или старый?
      Ответить
      • Я даже не пытаюсь думать в этом случае, логики тут нет, проще загуглить или спеку открыть.
        Ответить
      • вот тебе мнемоика: скобки как бы наполняются интом. Сначала они пустые, а потом полные.
        Потому без инта у тебя pre, а с нитом -- post.

        или наоборот...
        Ответить
  • Петухи, представим такую ситуацию:
    У вас база данных внезапно стала кушать много CPU и захлёбывается. Продакшену плохо. Ваши действия?
    Ответить
          • А если у тебя реплика занимает весь сервер, который полностью под завязку (а раньше кушало половину, например).
            Ответить
            • дядя, я маску на улице нашел
              я овню только одну реляционную бд и в подобных проблем у меня не возникало
              Ответить
    • оптимизировать запросы, профилировать, узкие места растачивать, матвьюхи подкостыливать на сложных запросах, индексы где-то дополнительные сделать на правильный набор колонок

      много цпу (надеюсь, не путаешь с ио-лоад) = много хеш джойнов, сортов и агрегатов
      Ответить
      • Я же говорю, внезапно, за 5 минут. Нужно срочно чинить. Будешь искать как запросы оптимизировать и колонки менять, переписывая код?
        Ответить
        • матвьюхи на то и матвьюхи, чтобы относительно охуительно наживо все сделать

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

          в постгресе с матвьюхами не так заебись, конечно

          > внезапно, за 5 минут
          и чо
          как будто она самопочинится и больше никогда-никогда такого не случится, поэтому делать ничего не надо?
          Ответить
          • >в постгресе с матвьюхами не так заебись, конечно
            их когда-то вроде надо было перегенерить явно, или уже не надо?
            Ответить
            • они настолько ни о чем, что я забил и никогда не юзаю в пг
              не слежу как там двигается в новых версиях, но вроде, пока всё ещё не збс

              в оракле есть фаст рефреш, а это уже полдела по ускорению джойнов
              Ответить
              • в любом случае, вот мы и пришли к стадии ДЕНОРМАЛИЗАЦИИ нормализованной бд
                Ответить
              • Я не знаток оракла, но помню, что в ms-sql 2005 уже были материализованные вьюхи, и они вроде бы сами обновлялись, то есть база понимала, от чего они зависят, и как-то их пересчитывала (может быть это замедляло insert/update, не знаю).

                Мы тогда угорали над mysqlщиккми, которые вручную делали денормализованные копии данных, чтобы быстрее делать селекты..


                зы: оказывается, правильно помню

                "One difference is that SQL Server’s indexed views are always kept up to date. if a view’s base tables are modified, then the view’s indexes are also kept up to date in the same atomic transaction."
                Только они Indexed views
                Ответить
    • Посмотреть в лог. Вроде там самые тяжёлые запросы можно залогировать. А дальше уже подумать, откуда они взялись и что с этим делать.
      Ответить
    • 1. включить логи для долгих запросов
      2. найти долгие
      3. сделать им explain

      а дальше всё зависит от конкретной субд
      Ответить
      • Ну посмотрел ты эти долгие запросы, ну да - долгие, раньше то как-то работало. Дальше что?
        Ответить
        • Ну если там миллионы запросов на одно и то же - возможно тебя специально или случайно ддоснули. Я в подобной ситуации просто забанил айпишник этого пидора и всё прошло.
          Ответить
          • нормальная субд может сама кешировать результаты селектов, если она знает, что состояние не менялось, а использовались только иммутабельные и стабильные функции
            Ответить
            • Это правда. Но миллион одинаковых запросов всё равно плохо: даже если СУБД тебе сразу выдаст ответ из кеша из памяти, то потом ORM будет пыхтеть заворачивая это всё в объекты, например
              Ответить
        • а дальше explain. Обычно бывает понятно, почему они долгие.

          например, ты джойнился без индекса с другой таблицей, в которой было 2 записи
          А тут внезапно их стало 9500000 там

          бывает еще N+1.
          Когда у тебя кол-во запросов растет в зависимости от кол-ва записей
          Пока их мало -- всё летает
          А потом внезапно бум, и все лежит

          Это надо срочно чиинить!
          Ответить
        • я регулярно обсираю PHP, MySQL и JavaScript сидя на сайте, который на них написан
          Ответить
          • Да тут весь стек, начиная от транзисторов и заканчивая джаваскриптом уже обосрали...
            Ответить
            • про тразнисторы не сказу, но интел -- переусложненное говно же, не?
              нахуя иметь процессор, половина возможностей которого не используется?
              Ответить
              • Нахуя покупать машину и использовать спидометр наполовину?
                Ответить
                • Скорость можно сравнить с частотой. Раз в год тебе нужно ехать по максимуму. С частотой так же.
                  Но я не о частоте.
                  Я о, например, 16 и 32 битных режимах, о хардваном переключении контекста, о сегментах, даже об i/o (ну кому оно особо надо?)


                  И вот я уверен, что какое-то кол-во инструкций реально не используется. Нет?

                  А ты не согласен? Скажешь, у интела чистый и логичный дизайн без легаси и костылей?
                  Ответить
      • Вот уйдёшь в монастырь, а потом монахи узнают что "тыж программист", и будешь им настраивать телефоны да ноуты.
        Ответить
        • Я и так это иногда делаю) Недавно как раз знакомый притащил комп с prescott четвертым пнем, и мы ему туда пхали купленный на авито q9500 йоркфилд, и комп стал вполне юзабельный, а так бы отправился на помойку.

          А к тебе такое не носят?
          Ответить
          • О, тот комп таки завёлся после апгрейда? Грац!

            В прошлом городе носили, а сейчас особо и некому.
            Ответить
            • Завелся) Пришлось обновить биос. Для этого пришлось флешку переформатнуть на fat32: биос не умел exfat. После втыкивания памяти он тупил некоторое время и перезагружался (видимо биос подбирал частоту памяти? или хз что), но в итоге вполне живой.
              Ответить
      • Json в СУБД это охуенно, например. Только слабые духом опираются на первую нормальную форму
        Ответить
        • Однако же сама идея напоминает необычное использование обычных вещей, просто видимо это та ситуакция, когда practicality beats purity.

          Видел ссылку про ms-sql? Как тебе идея отправлять email средствами СУБД?
          Ответить
          • Ну годная идея же. А то вечно все ебут мозг как отправить емейл посреди транзакции и как потом при откате сделать вид, что его не было.
            Ответить
            • Да, это удобно. Оно не сразу шлется, а ставится в очередь в базе, так что rollback его откатит. Кроме того, DBA может сам себе отчеты слать
              Можно даже the message may include a query result set, file attachments, or both.
              Ответить
            • Какой анскил ))) У нас в "mnesia" в транзакции было мета-поле для ивентов, куда юзер мог что угодно атомарно эмитить; лог транзакций на лету писался в "Kafka"; потом из топика доверенные процессы-фильтры извлекали разные типы ивентов (в т.ч. про "надо бы послать email"), и запускали уже какую угодно бизнес-логику.
              Ответить
          • Не то чтобы это был необходимый запас для поездки, но если начал собирать дурь, становится трудно остановиться.
            Ответить
    • If it's a funny comment, use the 🙂 reaction, don't fill up my fucking feed with this bullshit

      Fuck you


      КИБЕРБУЛЛА ИСПОЛЬЗУЕТ ЗАКЛИНАНИЕ РЕПЛАЙ ТУ ОЛЛ
      Ответить
  • > Австралиец осуждён за майнинг криптовалюты на суперкомпьютере
    > По оценкам следствия, Кху удалось добыть около $6,8 тыс. в криптовалюте — Ethereum и Monero. При этом в полиции подсчитали, что ущерб от использования суперкомпьютера для майнинга составил $55,4 тысячи.

    Какой майнинг )))
    Ответить
  • Почему "Алиэкспресс" такое ебучее прыщавое корявое тормозящее неработающее говно? На каждый клик в приложении вылазит один и тот же баннер, хуй знает как его убрать. Восстановление пароля - через пизду https://imgur.com/a/gJjrcpt (5 минут грузилась эта страничка).
    Ответить
    • Потому что это классический китайский дизайн. Зайди на любой узкоглазый сайт — увидишь всё то же самое, только зачастую ещё хуже.
      Ответить
    • Скоро все сайты будут такими. Просто поменяй комп на более мощный.
      Ответить
    • пхп: но если сесть на это кресло -- острый угол впивается в жопу
      продавец: можно подумать, в других креслах не так
      покупатель: а вы видели другие кресла?
      продавец: пока такой необходимости не было
      Ответить
  • Недавно встретил вопрос: является ли возможность кинуть исключение нарушением принципа Лисков?

    Что думаете, питухи?
    Ответить
    • Какое именно исключение? Говно в духе
      class Ptica {
      public:
          virtual FlyResult fly() { /*...*/ }
      };
      
      class Kurica : public Ptica {
      public:
          virtual FlyResult fly() override { throw NotImplementedError(); }
      }

      — определённо является.
      Ответить
      • там не уточнялось

        я так и ответил, что всё окей до тех пор, пока родители и наследники срут одними и теми же исключениями
        Ответить
    • Сама по себе возможность ничего не нарушает, исключения эквивалентны возврату Either<Result, Exception>.

      По принципу Лисков ты не должен кидать чего-то, что не мог кинуть базовый класс. И если он мог кинуть что угодно - то ты тоже можешь.

      Жопа начинается когда интерфейс обещал чего-то не кидать, а тебе в реализации это кинуть надо. И любой джавист на это налетал...
      Ответить
    • Кстати, спасибо что напомнил про Лисков, годная тема. Я тут как раз вопросы сочиняю.
      Ответить
      • > Я тут как раз вопросы сочиняю.
        Тоже в бизнесмены подался?
        Ответить
          • зачем пэхэпешнику солид? у них там single file responsibility да и хватит

            да и вообще мемоизация лучших практик при помощи зазубривания аббревиатур это такое, на мой взгляд
            Ответить
            • > при помощи зазубривания аббревиатур

              А надо при помощи тыканья носом на ревью? Ну серьёзно, это ж не какие-то там сраные паттерны, которые могут не пригодиться, это довольно общие принципы.
              Ответить
              • хз. зазубривание solid'а по википедии не отменяет потенциального тыканья носом на ревью.

                я ж не говорю, что описанные принципы какие-то неправильные

                > сраные паттерны, которые могут не пригодиться
                - не соглашусь, если нормально писать, то паттерны пригодятся так же, как и солид
                Ответить
                  • да та же стратегия

                    а про визитор ты и сам рассказывал вроде
                    Ответить
                      • Фасад абстрактной фабрики билдеров абстрактных фабрик стратегий синглтонов.
                        Ответить
                        • Модель представления параметризуется абстрактной фабрикой стратегий посредством инъекции зависимостей
                          Ответить
                          • Если у тебя инъекция зависимостей есть, нафиг тебе сдались абстрактные фабрики стратегий?

                            Или стратегия здесь выбирается динамически, для каждого случая отдельно? Поэтому представление получает не конкретный инстанс стратегии, а фабрику?
                            Ответить
              • > single file responsibility
                Это у Конардо вроде так. Один файл для админки, один для гостевой книги
                Ответить
          • Вопрос на синьора звучал бы "как завалить миддла с одного вопроса"?
            Ответить
            • как отличить мидла от синора?

              почему вообще всего три градации?
              Ответить
              • это элементарно уотсн
                если откликается на { Вы случайно не PHP Middle ? }, значит это мидл, а если на { Вы случайно не PHP Senior ? }, то сеньор
                Ответить
                • А если серьезно? У тебя вот есть такие градации в проекте?
                  Ответить
                  • есть, зарплаты же разные, под зарплаты составляется штатное расписание с должностями, под должности нужны должностные инструкции и СОУТ на каждое рабочее место каждой должности
                    ну и при осмечивании проекта можно и по средней по больнице, конечно, посчитать, а можно по градациям

                    но это больше к вопросу о личном росте сотрудника, он же ведь не хочет быть "Младшим программистом" много лет?
                    Ответить
                    • Младший программист,
                      Мальчик молодой.
                      Все хотят поворцевать с тобой
                      Ответить
                  • сениор отличается от миддла главным образом тем, что он заботится о продукте, а не о проставлении галочек выполнения на тасках, и потому способен заглянуть дальше по необходимой для будущего архитектуре
                    Ответить
            • Мидлов же обычно зондеркоманда из разрабов и лида опционально с менеджером собеседует
              Там можно и самому по себе обосраться
              Ответить
      • > Я тут как раз вопросы сочиняю.
        для кого?

        Вот тебе мой любимый вопрос для джунов про говноооп: можно ли квадрат наследовать от прямоугольника?
        Ответить
    • То ли дело классы в "Coq". Соответствие принципу Лисков для любого инстанса нужно доказать.
      Ответить
      • Кому всрался "Coq"? На этом говне хоть примитивную контакт форму можно сделать?
        Ответить
    • Если это исключение часть бизнес логики, то да, разумеется. Клиент не ждал исключения, а оно прилетело
      Если это типичный рантайм, то он откуда угодно может вылетить.
      Ответить
      • щетаю что в бизнес-логике вообще не должно быть исключений, у нас же цель не программу сломать, а сообщить юзеру что так нельзя
        Ответить
        • >щетаю что в бизнес-логике вообще не должно быть исключений,
          Расскажи это джавапитушкам с их Checked exceptions
          Ответить
  • Почему в «Windows» можно скопировать картинку и вставить в письмо в браузер, а в «MacOS» - нет?
    Ответить
        • Скорее, злость. Питухи намизюзали API, понаделали какой-то магии, и у меня всё не работает
          Ответить
      • Подари мне, Анри Руссо,
        своё детское колесо!
        Подари, молодой Пикассо,
        треугольное колесо!
        Мой любимый, любимый Ван Гог,
        подари провансальский звонок!
        Раму мне одолжи, Сера.
        Остальное лежит в сарае.
        Ответить
    • Поколение даунов, для которых всё упрощают до предела. "ВКонтакте" превратился в "VK", "Хабрахабр" - в "Хабр", "Сбербанк" - в "Сбер"... Ждём появления платёжной системы "ЯД", что ли...
      Ответить
        • –— Я потеряла сумку. Куда мне обратиться?
          —– Спросите в ЖОПе.
          –— Где?
          —– В железнодородном отделе полиции.
          –— Это где же вас таким сокращениям научили?
          —– В ПИЗДе.
          –— Где?
          —– В правительственном институте защиты демократии.
          Ответить
          • Ты давно художественный университет Йоханнесбурга окончил?
            Ответить
          • НИИОМТПЛАБОПАРМБЕТЖЕЛБЕТРАБСБОРМОНИМОНКОН ОТДТЕХСТРО

            Научно-исследовательская лаборатория операций по армированию бетона и железобетонных работ по сооружению сборно-монолитных и монолитных конструкций отдела технологии строительно-монтажного управления Академии строительства и архитектуры СССР
            Ответить
  • Миру грозит дефицит бананов.

    Нехватку плодов России, странам Европы и Ближнего Востока предрекают из-за извержения вулкана в Эквадоре.

    https://news.mail.ru/economics/43486610
    Ответить
    • Для резидентов "Говнокода" это хороший повод перейти на огурцы и получить фейерверк новых ощущений от доселе неведомых пупырышек.
      Ответить
  • Давайте течь от «Nemerle».
    def title = "Programming language authors";
    def authors = ["Anders Hejlsberg", "Simon Peyton-Jones"];
        
    // 'xml' - macro from Nemerle.Xml.Macro library which alows to inline XML literals into the nemerle-code
    def html = xml <#
      <html>
        <head>
          <title>$title</title>
        </head>
        <body>
          <ul $when(authors.Any())>
            <li $foreach(author in authors)>$author</li>
          </ul>
        </body>
      </html>
    #>
    Trace.Assert(html.GetType().Equals(typeof(XElement)));
    WriteLine(html.GetType());
    Ответить
    • хороший статически типизированный язык под хорошую платформу, с хорошим паттерн матчингом

      ну а макросы воще огонь, да
      Ответить
    • >"Nemerle — гибридный язык высокого уровня со статической типизацией"

      Сразу на хуй.
      Ответить
      • ну кстати да, отсутствие в языке ротоёбов это тоже плюс
        Ответить
        • Значит, если я возьмусь допиливать проект на «Немерле», мне не придётся разгребать код, написанный ротоёбами?
          Ответить
          • именно.

            В то время как любой код на ПХП написан "ротоёбами"
            Ответить
          • у тебя не выйдет допиливать проект на Немерле

            знаешь, почему?
            Ответить
            • Потому что таких проектов менее одного?

              Кстати, я хочу потечь от F#. читал как-то про него, и увложнился.
              Мне нравятся статически типизированные кросс платформенные функицональные языки
              Ответить
              • /// A mutable binding.  This is required to be able to mutate the value of 'otherNumber'.
                let mutable otherNumber = 2
                
                printfn "'otherNumber' is %d" otherNumber
                
                // When mutating a value, use '<-' to assign a new value.
                //
                // Note that '=' is not the same as this.  '=' is used to test equality.
                otherNumber <- otherNumber + 1


                В таких погремушках можно и увязнуть
                Ответить
                • а что не так?

                  мутабельность это зло

                  чем меньше мутабельности -- тем стабильнее софт
                  Ответить
                      • ну т.е. хуйня полная

                        а то можно сказать, что "иммутабельность это для внимательных программистов"
                        Ответить
                        • нет
                          иммутабельность это как раз для простых смертных
                          а вот разное поведение оператора это так себе конечно

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

                          * Хотя Мац думает с точностью до наоброт
                          Ответить
                          • Я тебе могу сказать, что простых смертных не ебёт никакая "иммутабельность". Нормальные пацыки используют "array" и текут.
                            Ответить