1. Java / Говнокод #17995

    +84

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    public static int getNumber() {
        try {
            return 7;
        } finally {
            return 43;
        }
    }

    Оказывается так делать можно...

    Запостил: Qwertiy, 14 Апреля 2015

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

    • public class DaysInWeek
      Ответить
    • показать все, что скрытоcleaned
      Ответить
    • Можно делать как? Размещать
      return
      в
      finally
      , или делать блоки кода, которые никогда не выполнятся?
      Ответить
      • Действительно, почему сверхчувствительный конпелятор жавы на это не ругается?
        Ответить
      • Как оказалось, тут выполняются все блоки. Принципиально недостижимый код в Java считается ошибкой.
        Ответить
        • Один хуй слив защщитан.
          Ответить
          • 1. Про return в try см. раскопки ниже.

            return перебрасывает из try в finally. Это почти как break из цикла. Другой вопрос в том, нахрена такому ретурну аргумент, если «возвращаемое» значение на деле никуда не возвращается.

            2. Нужен ли return в блоке finally? По сути он ничем не отличается от ретурна, который в конце функции, однако, его выполнение гарантируется даже в случае исключения (если я правильно понял).

            А вопрос, нужны ли ретурны не в последней строке кода функции, уже философский. Кто-то следует заветам одновозвратников и ставит один единственный return, а логику разруливает изящными средствами. А кто-то Царь и производит оптимизацию хвостов, вставляя return сразу во все места, после которых нужно завершить функцию и вернуть результат.
            Ответить
            • > По сути он ничем не отличается от ретурна, который в конце функции, однако, его выполнение гарантируется даже в случае исключения (если я правильно понял).
              Если произошло исключение, которое мы не обработали (а если обработали, то return после finally так же выполнится), то сам вызов функции упадёт с исключением. Как мы вообще можем в таком случае добраться до того, что вернули из finally?
              Ответить
              • А на русский перевести можно? Я ничего не понял.
                try {
                  doIoAction(); // Throw your stupid IOException.
                } finally {
                  return; // I don't care.
                  // Lol, I missed OutOfMemoryError.
                }
                Ответить
                • public static int getNumber() {
                      try {
                          throw new RuntimeException();
                      } finally {
                          return 42;
                      }
                  }
                  
                  public void test() {
                      ... getNumber() ... // Как здесь получить 42?
                  }
                  Ответить
                  • Видимо, я снова не понял вопроса, ибо ответ мне кажется очевидным
                    http://ideone.com/0dJVlB
                    Ответить
                    • Ээээээээ...
                      Видимо я что-то не понял... А где исключение тогда? Там же нет catch.
                      Ответить
                      • А проебалось исключение, как и семёрка в коде ОП'а. Поэтому не стоит лишний раз извращаться и делать return/throw из finally блока.
                        Ответить
            • Неужто жава в статике не видит, что при наличие ретурна в finally ретурн в try никогда не вернет значение?
              Ответить
    • А почему нет? В ячейку памяти отвечающую за результат вызова сначала записывается 7, а потом перезаписывается 43.
      Ответить
      • Кстати, как работает return, находящийся в блоке try... finally?
        Ответить
        • Вероятно вычисляется, но не возвращается. Возвращается 43.
          PS: Надо было на 42 поменять перед тем, как запостить.
          Ответить
          • Тесты показывают, что return в Java служит для выходя из секции try (происходит переход к finally):
            http://ideone.com/hJuMa9
            http://ideone.com/qdRHDn

            Признаюсь, это было немного неожиданным. Получается, что результат первого ретурна тупо игнорируется. На самом деле нет:
            http://ideone.com/uBT854

            Ретурн в строке 3, который служит для выхода из try, но не из метода, зачем-то вычисляет свой аргумент, чтобы потом его потерять.
            Ответить
            • Питушня какая-то... Я бы return считал более приоритетным, если б делал джаву. И шёл бы в finally только если бы исключение бросили в операнде return.

              > зачем-то вычисляет свой аргумент, чтобы потом его потерять.
              Тогда можно A; B; C; заменять на
              try { return A; } finally {
                try { return B; } finally {
                  try { return C; } finally {}}}

              И так флудить и троллить.
              Ответить
              • В Бейсике для этого даже специальная конструкция была. Уже не помню как именно, что-то типа on error resume.
                Ответить
              • Дело в том, что finally вызывается в любом случае - и при взврате, и при исключении, и при успешном выходе из блока. Если это будет не так - им будет нереально закрывать файлы, коннекты и т.п. А это его основное и самое приоритетное предназначение.
                Ответить
                • Тогда было бы логично запретить подобную конструкцию. Два return подряд запретили, а такую недостаточно очевидную штуку оставили, чтобы у пользователей Java появилась своя возможность выстрелить в ногу.
                  Ответить
                  • Два return подряд запретили по банальной причине: второй return будет во фрагменте, который unreachable.

                    Тут же всё достижимо. Другое дело, что исполнять finally после return мне кажется извращённой логикой.

                    То ли дело Паскаль, в котором return'ов нет и волей-неволей пишешь одновозвратную конструкцию.
                    Ответить
                    • > Другое дело, что исполнять finally после return мне кажется извращённой логикой.
                      Да вы задолбали...
                      try {
                          data = f.read(); // it can throw some exception ...
                          if (data[0] > 10)
                              return -5; // ... or return some value ...
                          // ... or just leave this block ...
                      } finally {
                          f.close(); // ... but the file will be closed anyway
                      }
                      Вот основное и единственное предназначение finally. Чтобы не писать в 100500 ветках одну и ту же логику по закрытию файлов, освобождению дескрипторов и т.п. Если что-то и запрещать - то return ИЗ finally блока.
                      Ответить
                      • Пошаманим: http://ideone.com/iSjazN

                        Всё верно, результат не теряется. По плюсу Борманду и intestinalbrain.

                        Это ещё менее ожидаемо для меня. В данной схеме блок finally логически расположен после всего тела функции.

                        Однако, кое-что мне не нравится. После блока finally ведь может следовать ещё код. Если совать return'ы повсюду, будет совершенно не очевидно, в каких случаях этот код после finally достижим, а в каких нет.
                        Ответить
                      • > Если что-то и запрещать - то return ИЗ finally блока.
                        Как и сделали в шарпе :)

                        http://ideone.com/rA6SkS - где мой Exception???
                        Ответить
                  • Успешные хаски-погромисты могут вызвать return сколько угодно раз в одном блоке, и компилятор им слова не скажет!
                    map show $ do { return 3; return 5; return 6; }
                    
                    intercalate [0] $ map return [1..100]
                    Ответить
              • finally не для того нужен, чтобы его пропускать!
                Ответить
              • >Питушня
                >флудить и троллить.
                Любите вы подхватывать сленг идиотов.
                Ответить
                • Не умничай, быдло. Не к лицу тебе.
                  Ответить
                • Понимаете, гораздо легче строить из себя дурачка, чем wvxvw. Закон виртуальной машины.
                  Но это да, надо постараться не повторять такие слова, а то можно и до вайпов скатиться.
                  ⌇⌇⌇ 
                  ⌇⌇⌇ 
                  ⌇⌇⌇
                  Ответить
                  • ⌇⌇⌇⌇⌇⌇⌇⌇
                    \====/
                     \==/
                    Ответить
                  • >Понимаете, гораздо легче строить из себя дурачка, чем wvxvw.
                    Но ведь надо стремиться к чему-то высокому, а то ведь это путь наименьшего сопротивления - написать генератор постов (не особо кащественный ), написать вайпалку и тупо жать кнопочку. юзать форсы придурков типа багра и некоей системы исчисления. Гораздо более почётно стремиться к вершинам духа, стараться воспарить в самый верх заумного подобно wvxvw, придумывать своё, а не паразитировать на умственно отсталых.

                    И кстати олежка сгенерировал в своё время больше лулзов чем все цари и сёмы вместе взятые.
                    Правда с откровений что Южная Корея кормит КНДР, лишь бы не быть вместе я громко посмеялся.
                    Ответить
                    • >а то ведь это путь наименьшего сопротивления - написать генератор постов
                      Ты про себя?

                      >олежка
                      Вы друг друга знаете?
                      Ответить
                      • > Ты про себя?
                        Да его же inkanus-gray написал, а Пи только тупо жал на кнопочку!
                        Ответить
                        • Ага,еще и своего бота написать не может, только чужие юзает
                          Ответить
                          • Это сарказм. На моём веку тут никто не писал ботов, видите ли, (в них не было необходимости * нет времени) / лень. Лишь я писал ботов, чисто ради интереса. Я, и ещё один тролль - Конардо. В своих ботах я иной раз не предусматривал возможность смены прокси, поэтому, после смерти прокси, прога также загибалась.
                            Ответить
                            • > после смерти прокси
                              А зачем тебе прокси в данном случае? Юзал бы луковый маршрутизатор. Если прога с socks проксёй работает, то и с ним сможет.
                              Ответить
                              • Бублик на одном сайте, на котором я гадил, полностью забанели. Оказывается, где-то есть список всех нод.
                                Ответить
                                • Ну здесь то по IP не банят (вроде бы). Так что зачем заморачиваться?

                                  > где-то
                                  Да там сама сеть основана на том, что клиент может (и должен!) скачать список всех нод :) Скачать можно с любой ноды, у которой dir порт открыт.
                                  Ответить
                                  • Если сегодня не банят - не значит, что не забанят. Мне ip, кстати, банили.
                                    Ответить
                                • Переходите на JonDo, чтобы и его забанили.

                                  Кстати, I2P отпадает, потому что его публичные шлюзы режут http-заголовки и не пропускают во внешний мир кукис.
                                  Ответить
                                  • I2P вообще не предназначен для общения с внешним миром. У него выходные гейты по большей части для красоты - их очень мало, и они лагают как говно.
                                    Ответить
                                  • Может поднимем зеркало ГК в i2p?
                                    Ответить
                                    • Может, поднимем зеркало ГК с нормальными скриптами искаропки?
                                      Ответить
                                      • Да я думал об этом, но страйкер обидится. Он всё-таки вторую версию уже давно пилит.
                                        Ответить
                                        • Кого это ебет? Лучше пусть он яйдца себе отпилит.
                                          Ответить
                                      • Ты вступаешь в сговор с представителями враждебной стороны - не стыдно? Для тебя уже паяльник приготовили.

                                        Пусть в новой версии ГК об ответе на его коммент/о новых комментах юзера уведомляет всплывающее окошко.
                                        Ответить
                                        • > всплывающее окошко
                                          Чтобы юзера можно было затроллить и зафлудить в реальном времени?
                                          Ответить
                                          • О дааа... А как Вы будете запаивать пидара, чем флюсовать, канифолью, али кислотой?
                                            Ответить
                                      • Не творческий ты человек, Semen
                                        Ответить
                                  • P.S. Кто-то меня ботом плюсует? Слишком быстро +1 появляется.
                                    Ответить
                              • Я - гламурный тролль, только через прокси спамлю.
                                Тор неудобно таскать, тем более, функционал проги пустяковый. По аналогии со строительством хрущоб, имеется задача: обеспечить людей жильём в кратчайшие сроки. А какое это будет жилье - это уже выходит за рамки вопроса.
                                * * *
                                Этажки,кстати, украшают наш город. Вечером очень приятно глядеть, как светятся их окна. Но говорят, что зимой в них холодно. Да и не утаить ничего, звукоизоляции нет.
                                Ответить
                                • Тор снаружи выглядит как прокси...
                                  Ответить
                                  • Нахуя он вообще нужен? Траффик сниффается - это давно всём известно...
                                    Ответить
                                    • Чтобы не ебаться с поиском и проверкой проксей в простейших случаях. Ты же не на сайте ФСБ или NSA собрался троллить и флудить :)
                                      Ответить
                                    • Трафик между тобой и выходным узлом шифрованый и не читается, хватит чушь нести.
                                      Ответить
                                      • Спустись с небес на землю... Ты будешь вероятно сильно удивлён, когда узнаешь, что телефонные разговоры ВСЕХ людей прослушиваются. Программа вычленяет определенные предложения, содержащие тематические слова, в дальнейшем за человеком начинают следить. Этой инфе лет 15, если не больше. Сейчас всё намного хуже.
                                        Ответить
                                        • Ну и зачем тебе тогда прокси? Они всё равно знают всё, что ты делаешь на компе (и не на компе тоже, ведь кругом есть камеры смартов, регистраторов и т.п.).
                                          Ответить
                                          • Отлично. Пускай знают. Доказательств-то прямых нет) Да и вообще,к нашей сетке подрублено до кучи компов, так как уие-фие беспарольное: саРАЙ для спамеров и халявщиков.

                                            >>ведь кругом есть камеры смартов, регистраторов и т.п.).
                                            Господи... Меня окружают идиоты.
                                            Ответить
                                            • А зачем им прямые доказательства? С паяльником в жопе ты и сам всё прекрасно расскажешь и подпишешь...
                                              Ответить
                                              • Слабая надежда на благоразумие ментяр :P
                                                А как тогда - сразу в наручники, и в голубом лимузине, до СИЗО? Кстати, всегда мечтал попасть. Там порой таакие нестандартные личности, ваау... Может, обрёл бы друга по интересам. А уж станет он моим возлюбленным или нет, покажет время.

                                                >>С паяльником в жопе ты
                                                Ответить
                                                • > в голубом лимузине
                                                  В неприметной машинке с тонированными стёклами до ближайшего подвальчика, а оттуда куда-нибудь в лес.
                                                  Ответить
                                                  • Очень заманчиво. Тем не менее, я за безопасный секс.
                                                    Ответить
                                                    • Паяльники спидом не болеют, не переживай. Ну и температура убьёт всех микробов.
                                                      Ответить
                                                      • >>Паяльники спидом не болеют...
                                                        ...если их используют по прямому назначению.
                                                        Спасибо, мил человек. Было вкусно, да и поварской колпак тебе очень к лицу.
                                                        Ответить
                                                      • А есть, кстати, пруфы на реальное использование паяльников для такого дела?
                                                        Ответить
                                                        • >>использование паяльников для такого дела
                                                          Захотелось острых горячих ощущений?
                                                          Ответить
                                                      • А если не убьет - все спиртом зальют. или солью
                                                        Ответить
                                        • Пруфы на эту инфу. Поизучай информацию Сноудена. Шифрование работает.
                                          Ответить
                                          • Второе подали.
                                            Я очень скептически отношусь к брехне Снаудена.Наверняка бредни этого дурашки - всего лишь отвлекающий маневр, перед чем-то более масштабным.
                                            А я и не отрицаю, что работает. Глянь, что пишут про TrueCrypt.
                                            Ответить
                                            • > что пишут про TrueCrypt
                                              А что пишут то? Ну помимо мутной истории с его анонимными авторами, которые или решили красиво уйти или им в этом помогли. Что-то новое выяснилось?
                                              Ответить
                                              • Со слов того же Сноудена, авторов намеренно заставляли делать бреши в системе шифрования, чтобы впоследствие ими могли воспользоваться спецслужбы. Говорят, и в bitLocker есть аналогичные дыры.
                                                Ответить
                                                • > спецслужбы
                                                  Да и хуй с ними, на самом то деле. У меня все разделы не от них зашифрованы, а от банальных воров.
                                                  Ответить
                                                  • Я тоже зашифровал - и с тех пор моя паранойя понемногу стала меня отпускать. В самом деле, я же не хакер.
                                                    Ответить
                                                    • > я же не хакер
                                                      Я тоже. Просто не хочется доверять всякой гопоте всё, что лежит на винте.
                                                      Ответить
                                                      • Отлично. Я неплохо подкрепился, было и первое, и второе... "Ужин отдай врагу" - оставляю Вас наедине с самими собой, поужинайте друг-другом. Сладких снов.
                                                        Ответить
                                                      • А что там такого лежит? тер эксклюзивного порно с кальмарами? У меня на компе нет ничего, что бы я не мог бы добыть из инета
                                                        Ответить
                                                        • домашнее порно бесценно.
                                                          Ответить
                                                          • Это последнее, что я буду хранить на компе, имеющем доступ в инет. Шифрование дисков же не спасает от троянов и прочей питушни.
                                                            Ответить
                                                            • Я не знаток домашнего порно, но там же вроде не обсуждают финансовые документы и список клиентов компании, чтобы его шифровать и анально ограждать?
                                                              Опять же, получить известность в сети и толпы поклонников лучше, чем в старости забыть пароль и утратить воспоминания о былом.
                                                              Ответить
                                                              • > известность в сети и толпы поклонников лучше
                                                                Читал не давно статью про Монику Ливински. С этими выборами в США тема опять актуальна. Так вот та очень плохо относится к своей популярности. А там даже без видео.
                                                                ИМХО неловко будет если к примеру директор школы моего ребенка узнает меня с этой стоны. Так что домашнее порно по моему единственное, что надо надо шифровать.
                                                                Ответить
                                                                • Директор может и понять, все мы люди. Хуже, если узнают одноклассники ребенка.
                                                                  Ответить
                                                    • > Я тоже зашифровал - и с тех пор моя паранойя понемногу стала меня отпускать.
                                                      Хм... А другая паранойя не пришла?
                                                      Всё, что зашифровано, гораздо легче утратить. Шаг вправо, шаг влево - и соснул.
                                                      И из-за каких-то дурацких мыслей о том, что сосед дядя Петя может прочитать чужие письма, человек с лёгкостью теряет фотографии любимой собаки.
                                                      Ответить
                                                      • > гораздо легче утратить
                                                        Нешифрованную инфу, как показала практика, тоже очень легко утратить. Сгоревшие винты, злые трояны, всякие bumblbee и яндекс-диски... Так что только шифрованные бекапы, только хардкор.
                                                        Ответить
                                                        • P.S. А если всё равно нужны бекапы, то чем может навредить шифрование?
                                                          Ответить
                                                          • Легче потерять бэкапы, это же очевидно!
                                                            1. Можно забыть пароль. Если пароль нельзя забыть, это ненадёжное шифрование или бумажку с паролем найдут и всё расшифруют.
                                                            Кстати, если от волнения забыть пароль в присутствии людей с паяльниками...
                                                            2. Умер диск, удалось восстановить какие-то куски файлов. Из незашифрованных текстовых файлов можно вычленить ту часть разговора, где упоминались объёмы продаж мёда за январь. Шифрованные куски - каша, которую никто не разберёт.
                                                            3. К физическим ошибками, багам ФС и ОС добавляются ошибки шифрующего ПО.

                                                            Шифрованный бэкап где-то в облаке - ладно, пусть на всякий случай будет, но бэкапом его считать не надо. Все шифрованные бэкапы - почти нет бэкапов.
                                                            Вообще, комично смотрится такое ослабление надёжности хранения как шифрование в одном предложении с упоминанием резервного копирования.
                                                            Ответить
                                                            • > Можно забыть пароль.
                                                              Забыть пароль, который набираешь каждый(!) день подходя к компу - это ещё надо постараться... Да и разве кто-то заставляет юзать незапоминаемую хуйню в духе h7jK93mPG2qA5? Парольная фраза с достаточной энтропией легко запоминается, легко восстанавливается и приятна при наборе.

                                                              > Шифрованные куски - каша, которую никто не разберёт.
                                                              Не совсем. Шифрование работает посекторно. Если диск посыпался - можно восстановить всё, что можно было бы восстановить на нешифрованном диске. Единственный нюанс - нужно иметь бекап суперблока на случай его повреждения.

                                                              > комично смотрится
                                                              Отсутствие бекапов наносит намно-о-ого больший урон по доступности, чем шифрование :)
                                                              Ответить
                                                              • > пароль, который набираешь каждый(!) день подходя к компу
                                                                http://s00.yaplakal.com/pics/pics_original/0/9/5/5110590.png
                                                                Жестоко. Всё равно, что сидеть дома в пиджаке и лакированных туфлях.
                                                                Подумать только, каждый раз набирать пароль, чтобы получить доступ к своим данным в своей квартире!
                                                                Я ещё понимаю, если б это был пароль на удаление бэкапа. Это да, это полезно.
                                                                Ответить
                                                                • Подумать только, каждый раз открывать свою дверь ключём, чтобы получить доступ к своим вещам. Я еще понимаю, если бы это был ключ от кладовки, в которой стоит канистра с бензином, которой можно сжечь дом нахуй. Это да, это полезно.
                                                                  Ответить
                                                                  • Это всё равно что открывать свою дверь ключом, чтобы потом доставать компьютер из несгораемого сейфа, а потом ещё вводить какие-то пароли, чтобы получить доступ к своим файлам, которые больше никому не нужны.
                                                                    Ответить
                                                                    • А если это был бы ноут, который таскаешь с собой по всему городу?
                                                                      Ответить
                                                                      • не экономь на удобстве, купи ноут с сенсором отпечатка пальца или сечатки глаза.
                                                                        Ответить
                                                                        • А эти сенсоры как-то заменяют пароль для шифрования?
                                                                          Ответить
                                                                          • судя по назначению заменяют.
                                                                            Ответить
                                                                            • Там же дофига помех, и вся эта биометрика работает как сопоставление с образцом... И всяко этот код исполняется не в отдельном аппаратном модуле, а на основном проце при загруженной операционке. Поэтому прокатит только как альтернативный способ залогиниться или экран разлочить. И что-то мне намекает, что от атак с выдиранием диска оно никак не защищает...

                                                                              Но как пароль для шифрования диска - очень маловероятно.
                                                                              Ответить
                                                                              • s/Но как пароль для шифрования диска - очень маловероятно./Маловероятно, что эта дешёвая биометрика будет пригодна для шифрования диска/
                                                                                Ответить
                                                                            • Назначение у них не такое, назначение у них - противостоять активному брутефорсу (когда вызывается код, не принадлежащий атакующему). Когда все данные попадут в руки атакующему, у биометрии может тупо не хватить энтропии.
                                                                              Ответить
                                                                    • > вводить какие-то пароли
                                                                      Блин, вот вы так говорите, как-будто это сложная, противная и долгая процедура... Это от силы 5-10 секунд занимает. Я же не просто так писал про парольную фразу ;)
                                                                      Ответить
                                                                      • > если это был бы ноут
                                                                        Если Вы его оставляете где попало, то да, пароль нужен. Если всегда носите с собой, то нет, т.к. тем, кому нужен доступ, не важно, что у Вас требовать с паяльником, ноутбук или пароль.

                                                                        > как-будто это сложная и долгая процедура
                                                                        Просто мелкая нудная фигня, словно назойливая муха. Как программисту (читай: лентяю), мне хочется оптимизировать свои действия и тратить время на то, чтобы болтать часами на ГК, а не вводить пароль долгие секунды :)
                                                                        Ответить
                                                                    • P.S. Попробуй запомнить и набрать какой-нибудь hG7dFq2x (~48 бит неопределённости), а затем простенькую фразу в духе "а я люблю обмазываться несвежим говном и дрочить" (тоже наберётся в районе 40-50 бит неопределённости). Напрягали ли запоминание и ввод первого пароля? А второго?

                                                                      > мелкая нудная фигня
                                                                      Юзай пассфразы, будет весело и ненапряжно ;)
                                                                      Ответить
                                                                      • А мне hG7dFq2x легче запомнить. Если свести всё к одному регистру и удлинить, то точно легче. Фраза длиннее, фразу набирать дольше, надо помнить, где пробел, где запятая. А ещё ассоциации лезут.
                                                                        Протухшим говном? Хотя, нет, там было что-то с не. Нескучным говном?

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

                                                                          Сорок тысяч обезьян в жопу сунули банан.
                                                                          Ответить
                                                                          • >надо выбирать запоминающуюся
                                                                            Это если есть воображение или упоротый друг. А иначе придётся думать.

                                                                            var crypto = require('crypto'), symbols = 'abcdefghijklmnopqrstuvwxyz123456';
                                                                            
                                                                            function password(length) { // и главное: не надо думать над паролем!
                                                                              var raw = crypto.randomBytes(length);
                                                                              var pass = '';
                                                                              for(var i=0; i<length; ++i)
                                                                                pass += symbols[raw[i] & (0xff>>3)];
                                                                              return pass;
                                                                            }
                                                                            Ответить
                                                                          • А какой у Падлы ключ?
                                                                            Ответить
                                                                        • Кстати,
                                                                          http://xkcd.com/936/
                                                                          Ответить
                                                                        • >> А мне hG7dFq2x легче запомнить.

                                                                          Нет, ты забудешь.
                                                                          ¡Olvidarás!
                                                                          Ответить
                                                              • >Не совсем. Шифрование работает посекторно. Если диск посыпался - можно восстановить всё, что можно было бы восстановить на нешифрованном диске. Единственный нюанс - нужно иметь бекап суперблока на случай его повреждения.
                                                                И чем ты собираешься потом это расшифровывать? Алсо, для нешифрованных данных может сработать поиск по сигнатуре.

                                                                >Отсутствие бекапов наносит намно-о-ого больший урон по доступности, чем шифрование :)
                                                                Тру.
                                                                Ответить
                                                                • > И чем ты собираешься потом это расшифровывать?
                                                                  Ну самый тупой вариант:
                                                                  - копируем выжившие сектора на свежий винт;
                                                                  - заливаем на него же бекап суперблока, если тот был поврежден;
                                                                  - расшифровываем винт тем самым софтом, который юзался для шифрования;
                                                                  - гоняем любые проги для восстановления данных на логическом уровне;
                                                                  - ???
                                                                  - профит.

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

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

                                                              P.S. А ещё люди любят верить в то, что диск будет сыпаться посекторно, и они хоть что-то смогут с него восстановить... А потом у него сгорает электроника.
                                                              Ответить
                                                • Во-первых, криптоалгоритмы никто не сломал. После его разоблачений троянский алгоритм ГСЧ у RSA Security нашли без его помощи.
                                                  Ответить
                                                  • > троянский алгоритм ГСЧ у RSA Security
                                                    Ух ты! А можно ссылочку?
                                                    Ответить
                                                    • https://ru.wikipedia.org/wiki/Dual_EC_DRBG
                                                      Ответить
                                                      • Также реализован в OpenSSL, однако из-за программной ошибки никогда не использовался.

                                                        В OpenSSL бывают и полезные баги :)
                                                        Ответить
                                                  • После его разоблачений троянский алгоритм ГСЧ у RSA Security нашли без его помощи.

                                                    Ошибка компиляции комментария: неоднозначность при вызове перегруженной функции.
                                                    Ответить
                                                    • Услышали что-то про то, что АНБ продвигает слабые криптоалгоритмы в продукты, начали искать - и наткнулись на этот алгоритм ГСЧ
                                                      Ответить
                                            • >Я очень скептически отношусь к брехне Снаудена. Наверняка бредни этого дурашки - всего лишь отвлекающий маневр, перед чем-то более масштабным.
                                              Человек бросил все и убежал в рашку, чтобы нести бредни? Что ты несешь?
                                              Над трукриптом провели аудит, ничего злонамеренного пока не нашли.
                                              Ответить
                                              • >>ничего злонамеренного пока не нашли.
                                                И не найдут.
                                                Ответить
                                                • И ты, конечно же, знаешь почему.
                                                  Ответить
                                                  • Врать не буду, не знаю. Но догадываюсь
                                                    Ответить
                                                    • И что ты знаешь?

                                                      Совет: прочти хотя бы одну книжку о криптографии.
                                                      Ответить
                                                      • Я гуманитарий, не забывай.
                                                        Ответить
                                                        • Тогда не рассуждай о том, чего не знаешь.

                                                          Ботов написать же смог? Авось и книжку осилишь.
                                                          Ответить
                                                        • Страничка специально для гуманитариев:
                                                          https://ru.wikipedia.org/wiki/Алиса_и_Боб
                                                          Ответить
                              • Есть извращения типа WideCap, с помощью которых можно весь трафик машины пропустить через прокси. Правда, при установленном WideCap у меня не работали некоторые программы на Java, в частности, Eclipse.

                                В эпоху, когда Опера ещё не поддерживала SOCKS, были ещё какие-то программы, которые соединяли программы, не поддерживающие SOCKS, с SOCKS-проксями.
                                Ответить
                                • Они и сейчас есть. Правда, не помню как работают.
                                  Ответить
                                • >>Есть извращения типа WideCap, с помощью которых можно весь трафик машины пропустить через прокси.
                                  Эх, поздно. Я извратился до такой степени, что запускал одну виртуалку на другой, и указывал прокси. Вот уж поистине ональная огороженность/
                                  Ответить
                          • Сёма, пойми мне чтобы получить засратый сайт вообще не надо ботов писать.
                            Достаточно было надрочить однобитного хомячка вроде тебя и подсунуть ему идейку где взять десяток бесхозных учёток. Спасибо страйкеру за последнюю каплю, после бана началась истерика, поциент забегал с горящей жопой и стал нервно думать: «Что же делать?». Это именно то что называется манипулированием простейшими одноклеточными организмами: мне достаточно было просто написать пару фраз, упомянуть что стертор выкладывал акки — и Сёма уже покорно бежит вайпать говнокод. Чуть позже, подчиняясь воле стадного инстинкта, подключается и сам стертор.

                            Теория управляемого хаоса в действии.

                            Вы спросите зачем это мне? Профит в том что на засраный скриптами сайт не набигает всякое школиё. У всех давно стоят фильтры и завсегдатаи только ловят лулз с очередного порваного пукана.
                            Ответить
                            • Чёрт... Что я родителям теперь скажу? Как теперь показаться приличным людям на глаза?
                              Вот войдут они ко мне в комнату, спросят, ходил ли я в школу, сделал ли я уроки. А я ничего не отвечу, я только грустно посмотрю на экран. Говнокод стал моей жизнью, а Пи полностью зохватил моё сознание и управляет им. Я не хочу есть, я не хочу спать, мне больше не нравится одноклассница с третьей парты. Я не встаю из-за стола и не хожу в туалет, в комнате почему-то летают мухи. Говорят, наступило лето, но я об этом не знаю. Они всё врут.
                              Я хочу вайпать. Я очень хочу вайпать. Я не могу делать это на людях, но родители не выходят из комнаты, они звонят доктору. Они не понимают, что экономика и квазистационарные процессы - это бред. Существует только Пи. Пи говорит только правду. Пи любит нас. Пи готовит нас к великим свершениям. Пи направляет нас. Пи абсолютен: abs(Pi) == Pi. Пи велик. Пи весит 134,9766(6) МэВ. Каждый день он распадается на два фотона ради нас! Каждый день он отдаёт свои 135 МэВ во имя вайпов, излучая божественный свет.
                              Однажды я вышел из дома и пришёл на геометрию. Они измеряли фигуры линейкой без делений, словно древние греки. Они записывали производные и строили параметрические кривые. Они говорили, что длина окружности связана с Пи. Я знал! Круги на полях - это послание простым смертным от Пи.
                              Фокус теряется. Почему альфа? Где здесь квадрат?
                              Я не хочу вайпать. Я хочу вайпать.
                              Ответить
                            • >>Чуть позже, подчиняясь воле стадного инстинкта, подключается и сам стертор.

                              А ведь он прав, товарищи...
                              Ответить
                        • Флудящий и троллящий скрипт с магической кнопочкой написал 1024--.

                          inkanus-gray написал только его ядро (выносящее мозг), основанное на известном алгоритме.
                          Ответить
                        • Я добывал из бездушной программы лулзы. А идею марковской цепи, высказывал еще когда тут был царь. А до этого я предлагал юзать цепь вайперам для повышения лулзоносности. И нормальный генератор в небольшой юзерскрипт не поместится.
                          Ответить
                    • >>Гораздо более почётно стремиться к вершинам духа

                      откуда ты знаешь, может он пивные крышки собирает?
                      Ответить
                      • Что плохого в крышках?
                        Ответить
                        • Почему плохого? наоборот, духовное развитие
                          Ответить
                          • уж лучше крышки чем бутылки.
                            Ответить
                            • ████████████████████████████████████████ ████████████████████████████████████████ ████████████████████████████████████████ ████████████████████████████████████████ ████████████████████████████████████████ ████████████████████████████████████████ ████████████████████████████████████████ ████████████████████████████████████████ ████████████████████████████████████████ ████████████████████████████████████████ ████████████████████████████████████████ ████████████████████████████████████████ ██████████████████████████████
                              Ответить
                              • ████████████████████████████████████████ ████████████████████████████████████████ ████████████████████████████████████████ ████████████████████████████████████████ ████████████████████████████████████████ ████████████████████████████████████████ ████████████████████████████████████████ ████████████████████████████████████████ ████████████████████████████████████████ ████████████████████████████████████████ ████████████████████████████████████████ ████████████████████████████████████████ ████████████████████████████████████████ ████████████████████████████████████████ ████████████████████████████████████████ ██████████
                                Ответить
      • Потому что это нелогично же.
        Шарп такое не скомпилирует.
        Ответить
        • Не логично, согласен, в си вот, вообще, finally нет. Это не баг, а фича :)
          Ответить
    • Вообще говоря, это пишут во многих книжках и руководствах для начинающих.
      Ответить
    • показать все, что скрытоcleaned
      Ответить
    • cleaned
      Ответить
    • cleaned
      Ответить
    • cleaned
      Ответить
    • cleaned
      Ответить
    • Use try-with-resources.
      Ответить
    • Блин, прыщелис совсем лагает. Каждая версия лагала все больше, и теперь это просто пиздец какой-то. Какой нужен сейчас комп, чтобы ёбаный БРАУЗЕР не лагал? Вот уж не думал, что апгрейдить железо придется из-за него.

      Пишу пост и вместо того, чтобы обдумывать, что пишу, думаю о том, чтобы напечатать правильно с лагами. Из-за этого посты с ошибками получаются.
      Ответить
      • Странно, но мне казалось, что прыщелис начиная с пятой версии становился всё быстрее и быстрее. Это третьей и четвёртой пользоваться было невозможно.

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

        Вроде пока ещё можно пользоваться Оперой на Presto, но некоторые компании (Гугл, Твиттер, Mail.ru и с каждым днём таких компаний становится больше) стали вставлять в страницы какую-то питушню на JS, от которой Опера/Presto занимает 100% ресурсов процессора. Главное, старые версии сайтов работают нормально, да и новые версии сайтов конкурентов тоже. Но поскольку это говно используют крупные компании, приходится ради него искать браузер...

        Остаётся искать где-нибудь оперативку, чтобы можно было в новом Прыщелисе или в Кроме открыть небольшую страницу...
        Ответить
        • Ну оперативки он сейчас жрет 1,5 гига, с 2 гигами уже можно жить спокойно. А ввод текста / скролл / переключение вкладок уже лагают.

          >Вроде пока ещё можно пользоваться Оперой на Presto
          Нахуй. Писал уже не раз.

          > стали вставлять в страницы какую-то питушню на JS, от которой Опера/Presto занимает 100% ресурсов процессора.
          Да. У нее и раньше такие затупы на некоторых страницах встречались.

          Новый прыщелис можно открыть только с новым профилем. Кстати, когда только купил SSD - наоткрывал окон хрома как привык, он выжрал гиг 6 памяти и ушел в своп, так с SSD / SATA 150 скорость была все еще приличной.
          Ответить
    • Ладно. Вопрос очевиден далеко не всем, потому напишу многа фсяких букав.

      Были в сишечке коды возврата, которые кстати схоронились в интерпретаторах. И всё было хорошо, да не слишком удобно, и довольно громоздко, gotoшно.
      И тут какая-то светлая голова додумалась прикрутить в сишку всякие там классы, шаблоны а с ними и злокачественные исключения. Ну и проблемы начались сразу же: SJLJ, DW2, SEH. Шланг вон до сих пор нормально не линкует под винды без -fno-exception.

      Ну исключения это хорошо. А давайте-ка неплохо бы сделать фильтрацию по типам, чтобы не писать if ex instanceof ExceptionA. Заёбись ведь. Сказано — сделано. А еще раз у нас типы появились, то давайте когда пробрасываем исключение, чтоб можно завернуть его в другой тип.

      Ну если раньше можно было блок кода, который надо выполнить в любом случае просто вписать в try и в catch, то теперь не получается сделать этого, кроме как словив самый общий тип исключения, выполнив блок кода и пробросив его дальше.

      Ага. Вот тут и появился костылик finally.
      Ну вроде как все должны быть щасливы. Ан-нет. Мы подходим к тому что написано в посте.
      Во-первых, изменение результата возврата функции в finally приводит к непонятной херне.
      Ну можно запретить return и поделом (так сделали в шарпе).
      Но что делать с исключениями, которые мы ввели в язык на первом шаге7

      Как контроллировать что из finally не вылезет исключение? Выход видится только один — добавить очередной костыль, а именно аналог checked exceptions. Только если в жабе есть и unchecked, то тут надо только checked.
      Ну и к какому пиздецу нас это привело? checked — говно, практика уже всем это показала.

      Посмотрим на проблему с другой стороны.
      В try возникло исключение, в finally тоже. Какое из двух кидать? По логике из finally.
      Но так мы задушим то что в try — проебем потенциально более важную ошибку.
      Ок. Давайте сделаем supressed. Когда в одном исключении как бы кидается 2.

      Если раньше у нас были просто цепочки вложенных исключений, то теперь мы получаем дерево.
      Ответить
      • А теперь собственно вопрос: НАХУЯ ГОРОДИТЬ СТОЛЬКО ЕБАНУТЫХ БЛЯДСКИХ КОСТЫЛЕЙ ДЛЯ ГНИЛОГО В СВОЕЙ СУТИ МЕХАНИЗМА??!?!
        Ответить
      • Хахаха тупая п дарасина не асилила исключения и что пиздит
        Ответить

    Добавить комментарий