Всё уходит в онлайн, да.
Показаны сообщения с ярлыком java. Показать все сообщения
Показаны сообщения с ярлыком java. Показать все сообщения
пятница, 24 апреля 2020 г.
Сказки про Шенанду
Сегодня между делом послушал довольно длинный трек про GC в Java и про Shenandoah:
пятница, 23 марта 2018 г.
Метки времени обманчивы
Несколько времени назад Oracle NetBeans стал называться Apache NetBeans. Под это дело, для знакомства, я решил его собрать из исходников. Когда-то давно я так уже делал, но протоколов не сохранилось.
В итоге ant отрапортовал мне, что:
Total time: 5742 minutes 15 seconds
Что, конечно же, должно возбудить сомнения, на каком железе я это собирал. Pentium I? На самом деле, конечно же, обман кроется в том, как считалось время. Дело в том, что я не собирал NetBeans непрерывно. Обычно, в течении рабочей недели, я пробуждаю компьютер на 15-20 минут для решения каких-то повседневных задач. Частенько он вообще находится в состоянии даже анабиоза (он же hibernate).
Одним словом по календарю, может, и прошло целых четыре дня. А по факту... кто ж его знает, наверное, порядка полутора часов.
Примерно так же и работает теория относительности.
В итоге ant отрапортовал мне, что:
Total time: 5742 minutes 15 seconds
Что, конечно же, должно возбудить сомнения, на каком железе я это собирал. Pentium I? На самом деле, конечно же, обман кроется в том, как считалось время. Дело в том, что я не собирал NetBeans непрерывно. Обычно, в течении рабочей недели, я пробуждаю компьютер на 15-20 минут для решения каких-то повседневных задач. Частенько он вообще находится в состоянии даже анабиоза (он же hibernate).
Одним словом по календарю, может, и прошло целых четыре дня. А по факту... кто ж его знает, наверное, порядка полутора часов.
Примерно так же и работает теория относительности.
среда, 9 марта 2016 г.
пятница, 26 февраля 2016 г.
JetBrains C++ минус
По итогам JetBrains C++ Night - впечатление от мероприятия осталось странное, что я и вынес в
заголовок.
Собственно, так или иначе C++ в продуктах JetBrains было посвящено только одно выступление - "Виртуозное использование юнит-тестирования в CLion" - да и то опосредованно: был явный перекос в сторону фреймворка от Google (Test и Mock), а сами возможности CLion и та самая виртуозность остались за кадром. Впрочем, было можно заметить, что CLion унаследовал от платформы IDEA достаточно пристойную юзабилити. По крайней мере, в написания юнит-тестов для упомянутого фреймворка и элементов управления проектом (использование только CMake аудиторию несколько обескуражило, но это, в принципе, можно пережить). Предполагаю, что люди, которые работают над CLion, как минимум думают в процессе своей работы. Тут ведь такое дело: если IDEA была написана на самой же IDEA, что сильно улучшало и ускоряло процесс разработки, то вот с CLion ситуация "как у всех", в смысле вряд ли CLion написан на C++ и потому нужны заметные потусторонние усилия, чтобы у команды было концентрированное понимание, а как вообще мы программируем в несферических условиях не в вакууме.
Само же мероприятие началось с "Оптимизация ReSharper C++". Тут вообще всё сложно. Понятно, что в среднем присутствовавшая публика так или иначе заинтересована в том, чтобы писать код на C++
(В качестве отступления. Если и были товарищи, которые только ещё думают в сторону C++ или пока только пытаются делать что-то осмысленное и может даже боевое,то должны после этого вообще перестать так думать, ибо зачем нужен настолько сложный язык программирования, который в свою очередь требует сложных и дорогих инструментов для достижения сравнимой эффективности, скажем, с Java или .Net? Проще сразув управдомы на Java
и вообще уже мозг не морщить никогда.),
но далеко не всем интересны глубинные проблемы ReSharper C++ по работе с кодом на C++ же. По мне со времён Together C++ (а это, на минуточку, лет 10-15 как) мало что изменилось в этом смысле, разве что дельту парни из JetBrains поэффективнее научились пересчитывать,.. но тут задачи у продуктов отличные друг от друга (Together не был классической средой разработки, там можно было сэкономить кое в чём). А вот информации и примеров того, что (возможно) ReSharper C++ делает лучше или по-другому относительно той же Visual Studio категорически не хватило. Зато примеры гаденьких плюсовых фрагментов были хороши. Интересно, как с этим справляется CLion? - ибо докладчик нерешительно упомянул, что у продуктов кодовая база разная.
Вишенкой на торте показался третий и последний по счёту доклад про HPC (high performance computing). Хорош и по форме и по содержанию, так что в итоге вопросов к докладчику можно сказать не возникло вообще. Но и опять, на мой взгляд, несколько мимо ожидаемого по двум причинам. Во-первых, и C++ и JetBrains остались далеко за сценой. Во-вторых, HPC в представленных измерениях это такие вычисления, которые или надо ухитриться выполнить быстрее конкурентов, или очень надо завершить до момента кончины этой вселенной. Не то чтобы я прямо считал это каким-то маргинальным направлением, ноя так считаю
что-то мне подсказывает, что подобными вещами с воодушевлением
занимаются очень и очень немногие. Основное поверье "давайте
мы сейчас поставим Hadoop и кучу серверов и всё станет хорошо" вытравить из народных масс просто так не получится. А более приземлённые HPC... ну, какие-то
практические штуки, как-то: уложить в real time какую-то могучую
цифровую обработку сигналов, добавить в существующую систему
кучу дополнительного функционала не поломав время отклика требуют и размышлений не таких глобальных и инструментов поприземлённее. Можно сидеть и профилировать код, поискав
какие-то способы по-другому разбросать нагрузку по ядрам, подвигать
память между быстрыми и медленныеми банками, купить новую железку (если
клиент платит), где ядер/мегагерц/памяти побольше, или есть железная реализация нужного конвейера (скажем, быстрое
преобразование фурье) или поискать закатившиеся под ковёр полезные интринсики от вендора. Вот
где влияние правильной софтины для разработчика недооценить невозможно. Это я к тому, что в докладе смешались два разных направления за один час времени, и это немного порвало контекст.
Да, и что хочу сказать: так вот, сподвигся на то, чтобы наконец заглянуть в опции C/C++ компилятора для VS - а там есть готовые опции для распараллеливания кода. А я и не думал!
Собственно, так или иначе C++ в продуктах JetBrains было посвящено только одно выступление - "Виртуозное использование юнит-тестирования в CLion" - да и то опосредованно: был явный перекос в сторону фреймворка от Google (Test и Mock), а сами возможности CLion и та самая виртуозность остались за кадром. Впрочем, было можно заметить, что CLion унаследовал от платформы IDEA достаточно пристойную юзабилити. По крайней мере, в написания юнит-тестов для упомянутого фреймворка и элементов управления проектом (использование только CMake аудиторию несколько обескуражило, но это, в принципе, можно пережить). Предполагаю, что люди, которые работают над CLion, как минимум думают в процессе своей работы. Тут ведь такое дело: если IDEA была написана на самой же IDEA, что сильно улучшало и ускоряло процесс разработки, то вот с CLion ситуация "как у всех", в смысле вряд ли CLion написан на C++ и потому нужны заметные потусторонние усилия, чтобы у команды было концентрированное понимание, а как вообще мы программируем в несферических условиях не в вакууме.
Само же мероприятие началось с "Оптимизация ReSharper C++". Тут вообще всё сложно. Понятно, что в среднем присутствовавшая публика так или иначе заинтересована в том, чтобы писать код на C++
(В качестве отступления. Если и были товарищи, которые только ещё думают в сторону C++ или пока только пытаются делать что-то осмысленное и может даже боевое,то должны после этого вообще перестать так думать, ибо зачем нужен настолько сложный язык программирования, который в свою очередь требует сложных и дорогих инструментов для достижения сравнимой эффективности, скажем, с Java или .Net? Проще сразу
но далеко не всем интересны глубинные проблемы ReSharper C++ по работе с кодом на C++ же. По мне со времён Together C++ (а это, на минуточку, лет 10-15 как) мало что изменилось в этом смысле, разве что дельту парни из JetBrains поэффективнее научились пересчитывать,.. но тут задачи у продуктов отличные друг от друга (Together не был классической средой разработки, там можно было сэкономить кое в чём). А вот информации и примеров того, что (возможно) ReSharper C++ делает лучше или по-другому относительно той же Visual Studio категорически не хватило. Зато примеры гаденьких плюсовых фрагментов были хороши. Интересно, как с этим справляется CLion? - ибо докладчик нерешительно упомянул, что у продуктов кодовая база разная.
Вишенкой на торте показался третий и последний по счёту доклад про HPC (high performance computing). Хорош и по форме и по содержанию, так что в итоге вопросов к докладчику можно сказать не возникло вообще. Но и опять, на мой взгляд, несколько мимо ожидаемого по двум причинам. Во-первых, и C++ и JetBrains остались далеко за сценой. Во-вторых, HPC в представленных измерениях это такие вычисления, которые или надо ухитриться выполнить быстрее конкурентов, или очень надо завершить до момента кончины этой вселенной. Не то чтобы я прямо считал это каким-то маргинальным направлением, но
Да, и что хочу сказать: так вот, сподвигся на то, чтобы наконец заглянуть в опции C/C++ компилятора для VS - а там есть готовые опции для распараллеливания кода. А я и не думал!
четверг, 26 марта 2015 г.
среда, 19 ноября 2014 г.
среда, 8 октября 2014 г.
Лёня
Заинтересовался CMS на Java (ещё интересны до сих пор CMS на Python, но на Django я уже смотрел довольно давно, даже сваял кое-что когда-то). Выкопал Apache Lenya. Нет, ну надо же! - без танцев с бубном не собрать, хотя сам продукт выглядит очень даже ничего:
- надо патчить Cocoon, в той версии, что можно скачать с архивом Lenya используются тайные ходы в Java (а именно: com.sun.image.*), которые нынче просто удалены из Java, я поначалу поправил сам, но потом нашёл проверенный патч в самом коконе;
- чтобы собрать с 1.7 или 1.8 надо явно указывать target и source опции для build.sh;
- нужно подправить sitemap для капчи
Запустил. Работает. Внутри себя использует Jetty, но где-то писали, что можно прикрутить и Tomcat.
- надо патчить Cocoon, в той версии, что можно скачать с архивом Lenya используются тайные ходы в Java (а именно: com.sun.image.*), которые нынче просто удалены из Java, я поначалу поправил сам, но потом нашёл проверенный патч в самом коконе;
- чтобы собрать с 1.7 или 1.8 надо явно указывать target и source опции для build.sh;
- нужно подправить sitemap для капчи
Запустил. Работает. Внутри себя использует Jetty, но где-то писали, что можно прикрутить и Tomcat.
вторник, 13 мая 2014 г.
Век живи
Про пул констант: Многие знают, что в каждом .class-файле есть замечательная структура
данных, которая называется пулом констант. Но далеко не каждый
Java-разработчик, глядя на исходник, сможет даже примерно оценить,
сколько констант будет создано в пуле.
Вообще о таком никогда не думал. Вот оно что,.. выясняется.
Вообще о таком никогда не думал. Вот оно что,.. выясняется.
четверг, 1 мая 2014 г.
Я русский не выучил...
Перечитываю книжку Блоха про Java. Переводчик книги явно страдал от недостатка грамотности: вся книга набита повелительным "пишити" вместо нейтрально-предположительного "пишете".
И да, слово перезагрузка режет глаз (это про функции).
среда, 19 марта 2014 г.
пятница, 7 февраля 2014 г.
вторник, 14 января 2014 г.
И ведь умный же дядька
Я вот (примазавшись, изображая специалиста:) согласен. Особенно, про NetBeans.
Джеймс Гослинг (James Gosling), создатель языка Java, оценил состояние развития технологий Sun Microsystems, спустя пять лет с момента их перехода в руки Oracle:
Джеймс Гослинг (James Gosling), создатель языка Java, оценил состояние развития технологий Sun Microsystems, спустя пять лет с момента их перехода в руки Oracle:
- Состоянию Solaris поставлена оценка в единицу с минусом (индекс качества F-), так как проект оказался практически мёртв, отчасти из-за завышенной стоимости лицензии.
- Java поставлена оценка 4+ (B+). Java находится в неожиданно хорошем состоянии, за исключением некоторых моментов, связанных с отношением к проблемам с безопасностью.
- MySQL поставлена оценка 3 (C), так как проект пока остаётся на плаву, но не продвигается и быстро теряет свои позиции, вытесняемый сторонними форками и NoSQL-решениями.
- В отношении SPARC оценка не поставлена, так как проблемы наблюдались ещё до поглощения Sun;
- GlassFish поставлена оценка 4- (B-), проект продолжает развиваться, но сильно не продвигается.
- NetBeans IDE поставлена оценка 4- (B-), проект продолжает развиваться, появляется поддержка новых технологий и API, но потенциал NetBeans по влиянию на сообщество явно недооценен Oracle.
понедельник, 13 января 2014 г.
четверг, 26 декабря 2013 г.
Простенький лайфхак
Один из способов доустановить себе необходимый джентльменский набор dev пакетов, это взять себе пару-тройку крупный проектов и попробовать сконфигурировать их. Доставить то, на что они ругаются и - voila! С высокой степенью вероятности потом будет куда как проще жить.
Это я по поводу статьи Hack OpenJDK with NetBeans IDE.
Решил, раз уж всё равно последнее время сам кода для души не пишу, так хоть посмотреть, что люди делают...
Это я по поводу статьи Hack OpenJDK with NetBeans IDE.
Решил, раз уж всё равно последнее время сам кода для души не пишу, так хоть посмотреть, что люди делают...
вторник, 24 декабря 2013 г.
Programming stuff: Критика книги Боба Мартина "Принципы, паттерны и м...
Programming stuff: Критика книги Боба Мартина "Принципы, паттерны и м...: Поскольку камрады выразили желание увидеть в одном месте все комментарии к столь известной и уважаемой книге, как "Принципы, паттерны...
Мне показалось интересным. Особенно в свете того, что у нас писания этого дядьки Боба превращают в священную корову.
Мне показалось интересным. Особенно в свете того, что у нас писания этого дядьки Боба превращают в священную корову.
среда, 11 декабря 2013 г.
вторник, 12 ноября 2013 г.
Всякие джавские фокусы
На тему хитростей и некоего инструмента по имени FindBugs. Стоит ли говорить, что ничего из этого я не знал:)
четверг, 3 октября 2013 г.
Очень хорошо, надо взять на заметку
#shitihavetodo when System.exit(1) is not enough: if (Math.random() < 0.1) { // crash the effing VM UnsafeHolder.U.getAddress(0); }
— Aleksey Shipilev (@shipilev) October 3, 2013
понедельник, 12 августа 2013 г.
среда, 24 июля 2013 г.
Так говорит Кармак
Android Java development is fairly pleasant today. Native development not so much, but it looks like it probably will be in another year.
— John Carmack (@ID_AA_Carmack) July 23, 2013
Подписаться на:
Сообщения (Atom)
Спутник взлетает. Первая ступень отработала.
И, кажется, неплохо: Посмотрим, что будет когда отработает вторая.
-
Арт-группа «Явь» нарисовала на одной из стен петербургских зданий граффити со Стивеном Хокингом : Неизвестно только где.
-
(я взял отсюда , только английские, без перевода) It’s more fun to be a pirate than to join the navy. [1982] Do you want to spend the re...