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

    +75

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    import java.lang.reflect.Field; 
    
    public class Main {
        public static void main(String[] args) throws Exception {
            Class cache = Integer.class.getDeclaredClasses()[0];
            Field c = cache.getDeclaredField("cache");
            c.setAccessible(true);
            Integer[] array = (Integer[]) c.get(cache);
            array[132] = array[133];
    
            System.out.printf("%d",2 + 2);
        }
    }

    Джаважды джва равно пять

    http://ideone.com/1Ap0wW

    Запостил: TarasB, 25 Июня 2014

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

    • И даже четыре равно пяти: http://ideone.com/CjtOWp
      Ответить
    • рефлексия ебаная?
      Ответить
    • за неоправданное использование setAccessible - в карцер на 5 суток

      а то вдруг дети увидят польется говно ща "ааа, дырявая жаба!", а это просто Тарас стал жабу изучать, открыл для себя рефлексию.
      Ответить
      • > неоправданное
        Как это неоправданное? Без него же не поменяешь кеш Integer'ов. Так что setAccessible() применено по назначению.
        Ответить
        • дык пользы 0, вред один.
          я понимаю, если бы это было использовано для какого-нибудь DI там...
          Ответить
          • В тестах может понадобиться. "Замокать" приватный метод, например.
            Ответить
        • по назначению. Как вентилятор для говна
          Ответить
        • А если серьезно - рефлексия - это автомат с загнутым дулом. можно конечно эффективно стрельнуть за угл, но, в основном, попадаешь себе в голову
          Ответить
      • > Тарас стал жабу изучать
        Через тернии к звездам. Через крестоблядство в жабоблядство.
        Ответить
        • настоящая блядь должна уметь всё
          Ответить
        • а потом и функциАнальная проституция
          Ответить
        • в крестоблядстве есть рефлексия? :)
          Ответить
          • если и есть, то крестоблядская....
            Ответить
          • Есть довольно убогое RTTI. Ну и в том же кьюти есть подобие рефлексии, запиленное через внешний парсер-генератор.
            Ответить
      • Ну вообще я не считаю этот пример минусом жабы. Это примерно то же, что и всякие саботажи в крестах, то твм поменяют, то константу, сделать так можно только специально.
        Ответить
        • >я не считаю этот пример минусом жабы.
          А у меня есть отлинчый пример про числа
          Угадайте, что напечатает этот код:
          TreeSet<Number> t=new TreeSet<>();
          	t.add(0);
          	t.add(1L);
                  System.out.println(t);

          http://ideone.com/gfm7J9

          wvxvw, который говорил об "уг. полиморфизме" тоже должно понравиться.
          Ответить
          • Жесть. я так понимаю Numbers общий класс для всех числовых типов?
            Ответить
            • Само собой. Integer и Long его наследуют.
              Всего 1 символ поменять:
              http://ideone.com/i5kvbo
              Ответить
          • Программа сравнила несравнимое и будет завершена?
            Ответить
            • Ну подсмотрел же в ответ! Или компильнул?
              С equals-то можно сравнивать любые типы, HashSet is ok. Тем более оба Numbers.
              Ответить
              • > Ну подсмотрел же в ответ!
                Ну да, на ideone подсмотрел бектрейс.
                Ответить
                • А зачем тогда спрашивать, как бы угадывая ответ?
                  >Программа сравнила несравнимое и будет завершена?
                  Ответить
                  • > А зачем тогда спрашивать, как бы угадывая ответ?
                    Чтобы сделать вид, что я догадался до этого сам.
                    Ответить
                    • Даже самооценку не даете борманду поднять, сволочи
                      Ответить
      • >ща "ааа, дырявая жаба!"
        Ну там SecurityManager быстро запретит подобную херню.
        Ответить
    • http://ideone.com/ELDR2D
      Ответить
      • Ну вот и найдена замена сишкоблядским макросам.
        #define true false
        Ответить
    • Баян времен JDK 1.4 (когда этот самый кеш появился). Тарас как всегда идёт в ногу со временем.
      Ответить
      • По-моему прикол не столько в кеше, сколько в уг. полиморфизме и плохих решениях, вызваных либо ленью, либо похуизмом, либо дальновидностью миддл-менеджеров, которые судя по всему этот язык и создавали. Вот зачем нужно было узаконить в языке непонятную херню с которой ни один метод ни одного объекта (а кроме методов-то и нет ничего) работать не может.
        Ответить
        • > Вот зачем нужно было узаконить в языке непонятную херню с которой ни один метод ни одного объекта (а кроме методов-то и нет ничего) работать не может.
          О какой именно херне идет речь?
          Ответить
          • Наверное о херне, которой если ткнуть куда не надо, получается полная херня. Видимо предлагает запретить ружья, чтобы не стреляли в ноги, вместо обучения ТБ.
            Ответить
          • Интеджеры, которые не-объекты и не типа никакого - на которых нельзя специализировать метод, ни "семейный" полиморфизм не построить.
            Ответить
        • >и плохих решениях, вызваных либо ленью, либо похуизмом, либо дальновидностью миддл-менеджеров
          По факту плохих решений и лени Java работает на порядки быстрее CL.
          Ответить
          • CL - это Common Lisp? Если да, то это утверждение просто пиздеж :) Не работает быстрее, и уж точно не на порядок. Порядок, это хотя бы один десятичный разряд, даже по самым нескромным тестам там разница в 3-4 раза или в ту или в другую сторону.
            Более того, запомни, а лучше запиши: языки не могут быть быстрее или медленнее друг друга, у них нет такого понятия, как скорость языка. Быстрее могут быть конкретные реализации на конкретных задачах. Если мы будем сравнивать Аллегро с его длинной арифметикой - там любая существующая реализация Явы останется далеко позади. Если мы будем сравнивать какие-нибудь проблемы, где выгодно динамический подход / нет возможности решить типы во время компиляции - у Явы есть все шансы проиграть, но если мы будем сравнивать какие-нибудь хорошо реализованые в Яве фишки, типа тех же коллекций, то вполне вероятно, что выиграет Ява.
            При чем, опять же, если какой-нибудь из Лиспов не поленится запилить аналогичную реализацию таких структур данных, то этого преимущества не будет.
            Лиспы традиционно лучше компилируются в минималистичные наборы инструкций, типа для РИСК процессоров, я не уверен что то же самое верно для Явы. CCL очень быстро работает на АРМах - а как там Ява?
            Ответить
            • > на АРМах - а как там Ява?
              На АРМах ведроид (Dalvik и теперь ART).

              А как у Лиспов кода на высоком уровне - например, в Java возможна такая штука: http://www.azulsystems.com/blog/cliff/2010-04-08-inline-caches-and-call-site-optimization
              Ответить
              • Ага, только у АРМ есть... интересная фича. По блату можно Яву быстро выполнить, там она может быть прямо зашита в железо, но если без блата - то будет меееедленно.

                По поводу вопроса: Лиспы совсем по-другому компилируются. Компилятор может и заинлайнить вообще вызов метода, не просто статическим его сделать.
                Но, опять же, ссылка не имеет отношения к Яве. Она про работу конкретного компилятора. С этой точки зрения никакой разницы между Лиспом и Явой нет. Они тут оба не при делах.
                Ответить
                • >Лиспы совсем по-другому компилируются. Компилятор может и заинлайнить вообще вызов метода, не просто статическим его сделать.

                  HotSpot так не умеет. Инлайн методов - это недоступное никому кроме лисперов чудо.
                  Ответить
                  • У явы есть определенные обязательства по поводу информации, которую нужно предоставлять в рантайме. Это, как правило, становится серьезным препядствием для инлайна (предположим, в заинлайненом коде случилась ошибка - как объяснить программисту, где она произошла?). В Лиспе - если ошбика в макросе, то, с одной сторны, можно долго убиваться о том, что ее не найти, но с другой стороны, никто не запрещает компилятору заинлайнить больше.

                    Упоминание о РИСК наборе инструкций и ЦИСК к тому, что нужно сравнивать сравнимые вещи. Арлекин, например, написали замечательные компиляторы для процессоров Моторолы с РИСК инструкциями, но не писали компиляторы для ЦИСК. В Лисп машинах некоторые базисные функции Мак Лиспа были зашиты в железо, так же как Ява на АРМ или были даже какие-то реализации Питона в железе - если мы будем это сравнивать с интерпретацией или эмуляцией, то конечно разница будет большой. Т.е. такое сравнение не имеет смысла.
                    Ответить
                    • > Это, как правило, становится серьезным препядствием для инлайна
                      Не становится. Инлайнятся даже виртуальные методы.
                      И крестокомпиляторам ни исключения, ни всякие RTTI не мешают инлайнить.

                      >предположим, в заинлайненом коде случилась ошибка
                      Если инфа о стектрейсе не юзается, а thrower и catcher заинлайнились вместо, то try-catch компилируется в goto.
                      Если fillInStackTrace юзается происходит деоптимизация и откат к интерпретации кода.
                      Ответить
                      • Телл ас моар. А я говорю, что становятся, потому что знаю, будем дальше мерятся?
                        Какой стак-трейс. Если заинлайнили, то фреймы на стеке тоже другие будут. О чем же и речь.

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

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

                              Вся теория о проблеме инлайна основана на предположении:
                              >предположим, в заинлайненом коде случилась ошибка

                              А теперь вопрос. Нужна ли высокая скорость исполнения коду в котором постоянно случаются ошибки?
                              Ответить
                        • > т.как разработчик все-равно не видит в редакторе таблицу виртуальных методов. Там как раз очень удобно инлайнить
                          Лолшто? Как это их "очень удобно инлайнить", если они виртуальные, то бишь полиморфные?
                          На этапе компиляции кода практически невозможно сказать какой метод выполнится.
                          Ответить
                          • Проблема инлайна - рассказать разработчику о том, где произошла ошибка в его коде. Если у разработчика этого кода никогда и не было - то всем пофиг.
                            Но чтобы это понять нужно сначала попробовать подебажить Лисп, а еще лучше - МЛ / ОКамл, или Хаскель. Без опыта это не объяснить.
                            Ответить
                            • >Проблема инлайна - рассказать разработчику о том, где произошла ошибка в его коде.
                              Я спрашивал совсем не это. Я спрашивал, каким образом "очень удобно" можно заинлайнить виртуальный метод?

                              >Но чтобы это понять нужно сначала попробовать подебажить Лисп, а еще лучше - МЛ / ОКамл, или Хаскель. Без опыта это не объяснить.
                              Причем тут дебаг лиспа, окамла и хаскеля?
                              Ответить
                              • Его удобно инлайнить потому, что не нужно хранить никакой отладочной информации. Всем похуй где был витруальный метод, и был ли вообще. Разработчика интересует ошибка в конкретном методе.

                                При том, что об этом тут речь уже на протяжении десятка постов - о чем же и спрашивал. Вместо того, чтобы отвечать, не сочти за труд, прочитай уже полученые ответы.
                                Ответить
                          • > На этапе компиляции кода практически невозможно сказать какой метод выполнится.
                            Опять же, пиздеж :) Практически всегда можно, очень редко когда нельзя (нужно чтобы код откуда-то извне загружался или что-то такое), компиляторы Лиспа как-правило разруливают это, более того, если не могут разрулить, то, например, в том же SBCL будут предупреждения от компилятора.
                            Ответить
                            • >Опять же, пиздеж :) Практически всегда можно, очень редко когда нельзя
                              Какой виртуальный метод будет вызван определяется строго в рантайме. В этом главная суть подобных методов.
                              Вот есть мультиметод, как заранее определить какой код будет вызван?
                              Ответить
                              • Нет. Если компилятор может доказать, что метод будет вызван с каким-то конкретным типом данных, то он его может заменить конкретным методом. Более того, так происходит очень часто.
                                Но для того, чтобы это понять нужно хотя бы раз это увидеть. А для того, чтобы это увидеть, нужно хотя бы раз скомпилировать програму на языке в котором это происходит более наглядно. Например, Лисп и SBCL - и поэксперементировать с (declare (type ...)) и посмотреть, что получится.
                                Ответить
                                • >Нет. Если компилятор может доказать, что метод будет вызван с каким-то конкретным типом данных
                                  Если сможет. А если не сможет? Если мы в коде используем полиморфизм с разными типами объектов - это ведь главная суть и польза виртуальных методов.

                                  Ответьте на один простой вопрос - диспатч женерик методов в CLOS происходит в рантайме или в компайл-тайме?
                                  Ответить
                                  • В Лиспе нет такого понятия "рантайм". Там есть разное время компиляции:
                                    - :compile-toplevel
                                    - :load-toplevel
                                    - :execute

                                    Искать ли конкретный метод, или не искать и на каком этапе зависит от разработчика и возможности найти этот метод. Если разработчик настаивает, что нужно выбрать какой-то конкретный метод, то он может даже запороть програму и получить сегфолт потому, что был выбран неправильный метод. А может согласиться на то, что правильный метод будет найден во время компиляции / загрузки / выполнения.
                                    Ответить
                                    • > время компиляции:
                                      >- :execute
                                      Всё понятно.
                                      Ответить
                                      • >- :е
                                        грустный хохол
                                        Ответить
                                      • Что понятно-то? Поделись. Я вот уверен, что нихрена не понятно.
                                        Ответить
                                        • >Что понятно-то? Поделись.
                                          Вот вы любитель изъебнуться с терминологией. С таким подходом лисп абсолютно все проверки и расчёты будет производить в компайл-тайме - идеальный язык!
                                          Хотя execution, то есть исполнение созвучно рантайму.
                                          Жаба тоже компилирует в рантайме (да и не только жаба, а всё что имеет JIT), формально и даже фактически JIT тоже можно считать этапом компиляции. Компиляции байт-кода в нативный код, однако программист уже никакого участия не принимает и обратной связи с компилятором нету.
                                          Ответить
            • На армах жаба хорошо себя чувствует. Регистров у RISC обычно больше, чем у CISC, да и все нужные команды на месте.

              Кстати, некоторые армы умеют в аппаратное ускорение жабы. Х.з. правда, чего именно они там ускоряют, я не изучал.
              Ответить
              • Я же специально привел АРМ как пример: один язык, но если по-блату, и Ява-машине разрешили пользоваться инструкциями "специально для Явы" - тогда все замечательно, а если не разрешили (OpenJDK) - тогда жопа.
                Казалось бы, один и тот же язык, как жеж так то ли быстрый, то ли медленный?
                Ответить
              • Там есть несколько режимов, например, сокращённый набор команд или набор команд jazelle, в котором процессор умеет исполнять байт-код джавы. Не является "ускорением", строго говоря.По моему мнению, разумеется. Викижопия утверждает, что является.
                Ответить
            • >разрешили пользоваться инструкциями "специально для Явы"
              Можно поподробнее какие это инструкции "специально для Явы"?
              Ответить
              • Недостатки явы измеряем в десятичных порядках, а достоинства - в двоичных. Получаем профит ;)
                Ответить
              • Такие как "Работай БЫЫЫСТРО, блеадь!"
                Ответить
            • >минималистичные наборы инструкций, типа для РИСК процессоров, я не уверен что то же самое верно для Явы
              Ява абсолютна не совместима с RISC-процессорами, очевидно же.
              Ответить
      • JDK 1.8: ничего не изменилось.
        Ответить
        • P.S. Вот тут пишут, что в девятке (которую отменили) запретили так делать, но всё равно можно сломать:
          https://itnan.ru/post.php?c=1&p=328120

          Как работает в JDK 11+, не в курсе.
          Ответить
    • Кстати, кто объяснит как это работает?
      Ответить
      • Формат не знает, что у него за аргумент, и вынужден кастовать в Object, а из Object перегрузка + выбирает уже Integer, ну и поскольку в кеше уже не тот интежер, то получается конфузно.
        Ответить
      • Как выше правильно пишет wvxvw, нельзя просто так взять и передать int в формат, сначала он забоксится в Integer а затем кастанется в Object. Автобоксинг int'а в Integer () делает Integer.valueOf(). А тот, оптимизации ради, берет Integer'ы от -128 до 127 (вроде бы?) из заранее заготовленного кеша, который Тарас в этом коде и запорол, засунув пятерку в слот для четверки.
        Ответить
        • Остается вопрос - можно ли так в шарпике? Как узнаю, отпишусь
          Ответить
          • Ну литералы строк через unsafe портили. Где-то тут на ГК был пример. Насчет кеша целых чисел - х.з., его там может просто не быть.
            Ответить
            • через ансейв можно все попортить. Даже девственную деву
              Ответить
          • Очень интересно, буду ждать.
            Ответить
            • не, нихуя так нельзя - кэша нету. Вообще логично что нету - нет специального обьектного инта как в жабе
              Ответить
              • Т.е. в шарпе нельзя передать инт как объект?
                Ответить
                • можно. но напрямую в обьект. нет специального обьектного инта (аналога Integer в java)
                  Ответить
        • Возник страшный вопрос - в жабе нельзя кастонуть Integer в object?
          Ответить
          • Integer - можно. int напрямую - нет, ибо он сначала превратится в Integer, и только потом кастанется.
            Ответить
            • А Integer это тупо класс с один полем типа int и сахарком доступа к нему?
              Ответить
              • Да. Ну ещё в него понапиханы методы конвертации типа parseInt, valueOf и toString.

                А до Java 5 и сахарка не было.
                Ответить
                • То бишь было прям Integer.GetValue()?
                  Ответить
                  • cleaned
                    Ответить
                    • ну... 6 см в диаметре... а как ты узнал?
                      Ответить
                      • cleaned
                        Ответить
                        • Че, уже набрался опыта? Маша научилась?
                          Ответить
                          • cleaned
                            Ответить
                            • Ты делфиеб или пидорас? Целуй пипиську страуструпа
                              Ответить
                              • cleaned
                                Ответить
                              • > Целуй пипиську страуструпа
                                Весело. (относительно шести последних сообщений)

                                Господа! Ну вроде бы образованные люди же...
                                Кто хочет спамить и троллить - выбирайте тему поинтереснее, чем пи-пи-писечки. О перфомансе что-ли поспорьте, об обёртках и неприкрытых системных вызовах. Хотя бы эпиграммы пишите...

                                Не может зваться программистом
                                Мой собеседник-идиот:
                                Его программу гонят в бсод
                                Не только мерзостную висту.
                                Ответить
                                • Фу, у меня очепятка, которая влияет на восприятие и убивает смысл. А пока писал, читал на автомате правильно:
                                  Не может зваться программистом
                                  Мой собеседник-идиот:
                                  Его программы гонят в бсод
                                  Не только мерзостную висту.
                                  Ответить
                                  • > которая влияет на восприятие
                                    Да ну, воспринимаются два варианта - "программы" и "виста". Второй вариант отбрасываем, т.к. программы из-за мерзостной висты в бсод не падают. Все однозначно и понятно ;)
                                    Ответить
                                • Я растревожил не на шутку
                                  Беспозвоночную змею
                                  И та, лишившись в миг рассудка,
                                  На пони кинулась мою
                                  Ответить
                              • > делфиеб
                                > Целуй пипиську страуструпа
                                Предлагаешь ему переучиться на кресты?
                                Ответить
                                • да вы что, господа, я ж пародировал тесака. Не видели что ли про "целуй пипиську?"

                                  Это все исключительно в пародийных целях
                                  Ответить
                                  • > тесака
                                    А кто это? Какой-то авторитет?
                                    Ответить
                                    • Ну такой лысый дядя, который педофилов ловил раньше.

                                      http://www.youtube.com/watch?v=nHYBB6VLW5c
                                      Ответить
                                      • cleaned
                                        Ответить
                                        • Педофилофил.
                                          Ответить
                                          • cleaned
                                            Ответить
                                            • > Комменты опять пошли "стенкой"...
                                              Поставь мой юзерскрипт чтобы смотреть, кто кому отвечает и чтобы я мог спиздить твой пароль и писать всякий бред от твоего имени ;)
                                              Ответить
                                              • cleaned
                                                Ответить
                                                • > а рулоны я не люблю
                                                  Тогда можно написать свой прокси сервер, который будет из http://govnokod.ru/css/style.css?v=4 вырезать
                                                  div.entry-comments ul .hcomment ul .hcomment ul .hcomment ul .hcomment ul .hcomment ul .hcomment ul .hcomment ul .hcomment ul .hcomment ul .hcomment ul .hcomment ul .hcomment ul .hcomment ul .hcomment ul .hcomment ul
                                                  {
                                                  	margin-left: 0;
                                                  }
                                                  Ответить
                                                  • я уже давно отрубил через stylebot
                                                    Ответить
                                                  • cleaned
                                                    Ответить
                                                    • Но css легче. А кто - не знаю. Хотя, спасибо всем, кто писал этот сайт и принимал участие в этом.
                                                      Ответить
                                                      • http://download.hdd.tomsk.ru/preview/kezismao.jpg
                                                        http://download.hdd.tomsk.ru/preview/sxcrzkfw.jpg
                                                        Вот так у меня ГК выглядит
                                                        Ответить
                                                        • Тема "консолечка, бггг"?
                                                          Ответить
                                                        • Вырвиглазненько, ещё и структура HTML через оттенки пробивается. Я бы к такому долго привыкал.

                                                          А у меня комментарии все одной ширины, которая зависит только от исходной ширины поста. (где-то дядя Дефекейт показывал, как это выглядит)
                                                          Ответить
                                                          • > Вырвиглазненько
                                                            +1. Глаза вытекают. Куда столько контраста?

                                                            У мну вот так: http://rghost.ru/56610551.view
                                                            Ответить
                                                            • Мне наоборот нравится, глаза не устают. Видимо у всех глаза разные)
                                                              Ответить
                                                              • У меня просто яркость моника всегда на нуле. Поэтому белый цвет глаза не выжигает.

                                                                А если я смотрю на чужой моник с 80-90% яркости - у меня уже минут через 10 глаза слезиться и болеть начинают :(
                                                                Ответить
                                                              • Я вот не могу читать длиннотексты белыми буквами на чёрном фоне. Консоль могу, маны могу, от сайтов глаза моментально устают, приходится ломать стили.
                                                                Ответить
                                                                • Дык в консоли не белые буквы по-умолчанию, а серенькие! Белыми на черном и там невозможно читать.
                                                                  Ответить
                                                                • Чорный дизайн я бы сверстал примерно так: http://rghost.ru/56610940.view

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

                                                                      > Черный фон тоже не айс.
                                                                      Ну это дело привычки. В той же консольке годно смотрится.
                                                                      Ответить
                                                                    • Вот как-то так лучше же? http://rghost.ru/56611644.view
                                                                      Ответить
                                                                      • Я вообще + - на коменты выпилил - не плюсую и не минусую - моя совесть чиста
                                                                        Ответить
                                                                        • > Я вообще + - на коменты выпилил
                                                                          Эта галочка тоже есть в моём юзерскрипте. Только она заодно и саму цифру убирает.

                                                                          Поставь, поиграйся. Исходники открыты, лицензия свободная ;)
                                                                          Ответить
                                                                          • не скорее интересно как все это работает. Ссыль дай
                                                                            Ответить
                                                                            • https://github.com/bormand/govnokod-board
                                                                              Ответить
                                                                              • Буду разбираться как написать свой домик из грязи)

                                                                                в JS полный профан
                                                                                Ответить
                                                                                • > в JS полный профан
                                                                                  Аналогично, если чо ;) В резюме совесть не позволит вписать "знание javascript".
                                                                                  Ответить
                                                                                  • О, я в резюме писал что знаю С# и F#, сишку, basic, Ruby с рельсами, OCaml, Delphi, Python, Erlang, Haskell на уровне новичка) Когда сказал про хаски на меня посмотрели как на бога. Я аж смутился (потому что нихера не знаю его если совсем честно )
                                                                                    Ответить
                                                                                    • Не надо писать такой огромный список... Не поверят ;)
                                                                                      Ответить
                                                                                      • ну так я в первый раз - молод, горяч...

                                                                                        вообще не нужно писать то, что к должности не относится - а то еще отправят херней заниматься
                                                                                        Ответить
                                                                                    • Тогда можно было написать "увлечения: пишу на досуге программы-полиглоты".
                                                                                      Какое-нибудь sqr x = x * x покрывает как минимум 3 упомянутых языка.
                                                                                      Ответить
                                                                              • >https://github.com/bormand/govnokod-board

                                                                                А куда оно делось?
                                                                                Ответить
                                                                          • > в моём юзерскрипте
                                                                            Я себе свой запилил, пока только добавил сверху индикатор комментариев на странице и копию пагинатора, чтобы каждый раз не крутить вниз.
                                                                            Здорово сокращает время на поиск новых комментариев.
                                                                            Ответить
                                                                            • > Здорово сокращает время на поиск новых комментариев.
                                                                              Эм, а я делаю так: все свежие комменты лежат в стоке. Тыкаем средней кнопкой на все новые комменты... и всё. На каждой открывшейся странице они внизу (за счет сортировки), и она уже проскроллена как раз к концу. Надо только чуть-чуть вверх покрутить, если много насрали.
                                                                              Ответить
                                                                              • > Тыкаем средней кнопкой на все новые комменты...
                                                                                У меня Ctrl+клик вручную, всё никак не автоматизирую это дело.

                                                                                Чёрт, только сейчас пришла в голову мысль: можно ж по комментариям перемещаться в хронологическом порядке! Надо будет добавить в свой юзерскрипт.
                                                                                Ответить
                                                                      • cleaned
                                                                        Ответить
                                                                        • Ты мне напомнил мужика, который на городской площади орет "покайтесь! грядет Апокалипсис!"
                                                                          Ответить
                                                                        • > Лучше последовать его примеру.
                                                                          Да из меня дизайнер как из медведя пианист ;) Еще, имхо, подчеркивания на ссылках мешают, привлекая лишнее внимание.

                                                                          http://rghost.ru/56611951.view

                                                                          P.S. Сорри за минус, я тыкал в него правой кнопкой, чтобы исследовать элемент, а он понял это как клик :(
                                                                          Ответить
                                                                          • cleaned
                                                                            Ответить
                                                                          • Поздно.... Слишком поздно....

                                                                            Добро пожаловать в клуб ненависти Стертора
                                                                            Ответить
                                                                            • > Добро пожаловать в клуб ненависти Стертора
                                                                              А за что мне его ненавидеть?
                                                                              Ответить
                                                                              • Ты не понял. Это он тебя будет ненавидеть. А ты расслабься и получай удовольствие)
                                                                                Ответить
                                                                                • > Это он тебя будет ненавидеть.
                                                                                  Почему в будущем времени? Ты пропустил какие тут были холивары и вайпы минусами? :)

                                                                                  А сейчас стертор очень даже адекватен и спокоен.
                                                                                  Ответить
                                                                                  • cleaned
                                                                                    Ответить
                                                                                  • Я ту наскоками - может и упустил чего
                                                                                    Ответить
                                                                                    • Серия 1. Борманд ханжа. Во всех серия этого мексиканского сериала были сняты по следующему сценарию. Появлялся конярдо, который постил какую то хуйню с понятным только ему смыслом. Группа Ананимусов минусовала его. Под заключении появлялся сетор с фразой Конярдо класс, Борманд ханжа далее минусовал всех кто отписался в посте. Занавес. И так 100500 серий. Пока конярдо не накопил денег не снял проститутку сперма отхлынула из мозга. И теперь он пишет стихи где то на литературных ресурсах. В общих чертах как то так.
                                                                                      Ответить
                                                                                      • Хм, конярдо похож на .... меня. Может это я из будущего?
                                                                                        Ответить
                                                                                        • > Может это я из будущего?
                                                                                          Из параллельной вселенной.
                                                                                          Ответить
                                                                                          • после просмотра 5 сезонов доктора не могу отрицать такой возможности
                                                                                            Ответить
                                                                                            • > после просмотра 5 сезонов доктора
                                                                                              Что за доктор? Хаус?
                                                                                              Ответить
                                                                                            • > доктора
                                                                                              Аааа! Я Догадался! Ты посмотрел пять сезонов доктора Айболита!
                                                                                              Ответить
                                                                            • cleaned
                                                                              Ответить
                                                                              • cleaned
                                                                                Ответить
                                                                                • cleaned
                                                                                  Ответить
                                                                                  • Все что тебя касается,
                                                                                    Все что меня касается...
                                                                                    Ответить
                                                                                • Рискну предположить, что кто-то не очень одобряет того, что ты перепутал ГК со своим блевничком вкумтактике.
                                                                                  Ответить
                                                                                  • cleaned
                                                                                    Ответить
                                                                                    • У меня вот музыкальное образование - я же не засираю всякими Шостаковичами
                                                                                      Ответить
                                                                                      • cleaned
                                                                                        Ответить
                                                                                        • За такое в приличном обществе бьют подсвечниками. Я допускаю, что вкусы у всех могут различаться, но лично меня седьмая симфония пробрала.
                                                                                          Ответить
                                                                  • Вы таки наталкиваете меня на эксперименты
                                                                    Ответить
                                                            • О, у Вас вроде бы решена проблема непрочитанных сообщений из-за их сортировки.
                                                              Я так и не придумал, что же делать, если я случайно перезагружу страницу с непрочитанными новыми комментариями или кто-то понапишет новых комментариев, пока я пишу свой.
                                                              Ответить
                                                              • > О, у Вас вроде бы решена проблема непрочитанных сообщений из-за их сортировки.
                                                                Да, новые комменты всегда внизу, а при наведении на >>237623 всплывает окошко с соотв. комментом (как на бордах). Ради этого скрипт и мутился (ну и ради лулзов в духе "все анонимы").
                                                                Ответить
                • cleaned
                  Ответить
    • Новая версия:
      import java.lang.reflect.Field; 
      
      public class Main {
          public static void main(String[] args) throws Exception {
              Class usf = Class.forName("sun.misc.Unsafe");
              Field unsafeField = usf.getDeclaredField("theUnsafe");
              unsafeField.setAccessible(true);
              sun.misc.Unsafe unsafe = (sun.misc.Unsafe)unsafeField.get(null);
      //        Class cache = Class.forName("java.lang.Integer$IntegerCache");
              Class cache = Integer.class.getDeclaredClasses()[0];
              Field c = cache.getDeclaredField("cache");
              Integer[] array = (Integer[])unsafe.getObject(unsafe.staticFieldBase(c), unsafe.staticFieldOffset(c));
      
              array[132] = array[133];
      
              System.out.printf("%d",2 + 2);
          }
      }


      https://ideone.com/1g4aEK

      У кого есть возможность, проверьте в новых JRE.
      Ответить
      • Как это вообще работает? Мы устанавливаем setAccessible(true) для поля "theUnsafe" объекта "sun.misc.Unsafe", а в результате устанавливается setAccessible(true) для поля "cache" объекта "java.lang.Integer$IntegerCache".

        Почему атрибут скопировался с поля "theUnsafe" в поле "cache"?
        Ответить
    • Что бы вы поменяли, если бы могли вернуть ся в 25 Июня 2014?
      Ответить

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