July 18, 2022
July 21, 2022
4 часа годноты. не пугайтесь объема, оно того стоит. ну и благо есть таймкоды и ускорение видео
https://youtu.be/lq4TKfc-Ot4
https://youtu.be/lq4TKfc-Ot4
August 22, 2022
Forwarded from 23derevo (18+)
JIRA —> ДЖЫРА
Так вышло, что в нашей лавке я крайний за JIRA. На мне все апдейты, автоматизация бизнес-процессов, тысячи строк кода на Groovy и все прочие удовольствия. Сейчас у нас лицензия действующая, но в апреле 2023 года она протухнет, и её наверняка нам не продлят. Поэтому я вчера пошёл у разных ребят выяснять, кто как эту проблему решает, кто на что переезжает.
Выяснилось, что в основном, проблему не решают никак. Хрен с вами, подумал я. Пойду поспрашиваю, что там у больших российских банков. Уж эти-то точно что-то придумали: написали своё, взяли оперсорс или перешли на что-то отечественное типа Яндекс.Трекера.
В общем, за сутки я пообщался с людьми из трёх крупных (Топ 10) российских банков. И знаете что?
1. Те, у кого серверная лицензия истекает в 2023 году (On Premise — JIRA Server или JIRA Data Center), — пока ничего не делают. Всё равно в феврале 2023 года у JIRA Server наступит End Of Life, там и будут думать. Мы, кстати, тоже из таких.
2. У кого лицензия на JIRA Server или JIRA Data Center уже закончилась или вот-вот закончится — просто нашли в интернете кряк, хакнули джиру, и теперь у них бессрочная лицензия.
3. У кого джира была в клауде — перенесли всё на свои сервера. Лицензию на эти сервера поставили крякнутую.
Такое вот нынче импортозамещение.
Так вышло, что в нашей лавке я крайний за JIRA. На мне все апдейты, автоматизация бизнес-процессов, тысячи строк кода на Groovy и все прочие удовольствия. Сейчас у нас лицензия действующая, но в апреле 2023 года она протухнет, и её наверняка нам не продлят. Поэтому я вчера пошёл у разных ребят выяснять, кто как эту проблему решает, кто на что переезжает.
Выяснилось, что в основном, проблему не решают никак. Хрен с вами, подумал я. Пойду поспрашиваю, что там у больших российских банков. Уж эти-то точно что-то придумали: написали своё, взяли оперсорс или перешли на что-то отечественное типа Яндекс.Трекера.
В общем, за сутки я пообщался с людьми из трёх крупных (Топ 10) российских банков. И знаете что?
1. Те, у кого серверная лицензия истекает в 2023 году (On Premise — JIRA Server или JIRA Data Center), — пока ничего не делают. Всё равно в феврале 2023 года у JIRA Server наступит End Of Life, там и будут думать. Мы, кстати, тоже из таких.
2. У кого лицензия на JIRA Server или JIRA Data Center уже закончилась или вот-вот закончится — просто нашли в интернете кряк, хакнули джиру, и теперь у них бессрочная лицензия.
3. У кого джира была в клауде — перенесли всё на свои сервера. Лицензию на эти сервера поставили крякнутую.
Такое вот нынче импортозамещение.
August 30, 2022
Какой таск менеджер используете?
Anonymous Poll
71%
Jira
5%
Trello
5%
Yandex Tracker
4%
Redmine
15%
Другой
August 30, 2022
рубрика "нерегулярные заметки"
Как удалить все локальные ветки #Git
Как удалить все локальные ветки #Git
git branch --merged | grep -v \* | xargs git branch -D
September 19, 2022
September 22, 2022
Forwarded from microJUG (Zheka Kozlov)
🤯 Данный код является валидным кодом на Java 19+ и компилируется.
Почему так:
1. Первый When – это имя класса.
2. Второй when – имя переменной (имеет тип When).
3. Третий when – это новое ключевое слово в Java 19, которое является контекстно-зависимым.
4. Четвёртый when – это имя переменной, которая была объявлена (см. пункт 2).
5. Пятый when() – метод класса When, возвращающий boolean.
6. Шестой when() – метод текущего класса.
#java19
Почему так:
2. Второй when – имя переменной (имеет тип When).
3. Третий when – это новое ключевое слово в Java 19, которое является контекстно-зависимым.
4. Четвёртый when – это имя переменной, которая была объявлена (см. пункт 2).
5. Пятый when() – метод класса When, возвращающий boolean.
6. Шестой when() – метод текущего класса.
October 10, 2022
Forwarded from Java Memes → АйТи мемес
Анонимная джава-перепись. Кто где?
Anonymous Poll
53%
В РФ
20%
В СНГ
15%
В Европе
12%
В других странах
October 12, 2022
October 25, 2022
https://www.youtube.com/watch?v=Au3z_kQd9QY
Предложения Брайана Гётца, которые упростят вход для начинающих джавистов.
1. Безымянные классы (весь файл кроме импортов по сути описание некого класса)
2. Упрощение сигнатуры метода main. модификаторы (public static), входные аргументы (String[] args) - опциональны
3. Автоматический импорт некоторых статических методов из jdk (println, readln).
Все это приведет к тому, что ребята, которые только учатся программировать, не офигеют от написания самой простой программы на Java, а постепенно смогут изучать концепты.
Предложения Брайана Гётца, которые упростят вход для начинающих джавистов.
1. Безымянные классы (весь файл кроме импортов по сути описание некого класса)
2. Упрощение сигнатуры метода main. модификаторы (public static), входные аргументы (String[] args) - опциональны
3. Автоматический импорт некоторых статических методов из jdk (println, readln).
Все это приведет к тому, что ребята, которые только учатся программировать, не офигеют от написания самой простой программы на Java, а постепенно смогут изучать концепты.
November 2, 2022
Параметризированные тесты в JUnit 5
https://www.arhohuttunen.com/junit-5-parameterized-tests/
#junit #tests
https://www.arhohuttunen.com/junit-5-parameterized-tests/
#junit #tests
Code With Arho
A More Practical Guide to JUnit 5 Parameterized Tests | Code With Arho
Learn how to write JUnit 5 parameterized tests. Learn answers to some of the most asked questions about parameterized tests.
November 16, 2022
November 22, 2022
Что выведет код ниже?
Anonymous Quiz
20%
null
44%
test
11%
С вероятностью 1/16 выведет test, с 15/16 - null
16%
Вылетит ConcurrentModificationException
8%
Зависит от конкретной JDK
December 20, 2022
December 20, 2022
Ответ: "test"
Способ вычисления хэша map, set, list - это часть контракта соответствующих интерфейсов. Каждая реализация должна использовать формулу, указанную в контракте. Поэтому поведение будет общим для всех JDK.
Посмотрим теперь, какой же контракт и конкретные формулы для подсчета хеша у мапы.
"The hash code of a map is defined to be the sum of the hash codes of each entry in the map's entrySet() view."
Посмотрим, как вычисляется хешкод у Map.Entry:
"The hash code of a map entry e is defined to be:
(e.getKey()==null ? 0 : e.getKey().hashCode()) ^
(e.getValue()==null ? 0 : e.getValue().hashCode())"
Зная это, мы можем посчитать хешкод нашей мапы: он будет равен 0. Почему? Так как у единственной Map.Entry совпадают значения ключа и значения, то их хешкоды будут совпадать, а значит хешкод Map.Entry будет равен 0 (XOR двух одинаковых чисел дает всегда 0).
После добавления второго Map.Entry хешкод останется равным 0, так как там тоже совпадают значения ключа и значения. Повезло, повезло.
В итоге при вызове метод get будет искать Map.Entry в нужном бакете и, встретив нужную ноду, вызовет equals, который вернет true, так как при вставке значение ключа не копируется, и он будет отображать все изменения, которые с ним происходили.
Естественно, изменять ключ после вставки в HashMap крайне не рекомендуется, иначе потом можно его не найти. Но в данном конкретном случае нам повезло, что хешкод не изменился.
Способ вычисления хэша map, set, list - это часть контракта соответствующих интерфейсов. Каждая реализация должна использовать формулу, указанную в контракте. Поэтому поведение будет общим для всех JDK.
Посмотрим теперь, какой же контракт и конкретные формулы для подсчета хеша у мапы.
"The hash code of a map is defined to be the sum of the hash codes of each entry in the map's entrySet() view."
Посмотрим, как вычисляется хешкод у Map.Entry:
"The hash code of a map entry e is defined to be:
(e.getKey()==null ? 0 : e.getKey().hashCode()) ^
(e.getValue()==null ? 0 : e.getValue().hashCode())"
Зная это, мы можем посчитать хешкод нашей мапы: он будет равен 0. Почему? Так как у единственной Map.Entry совпадают значения ключа и значения, то их хешкоды будут совпадать, а значит хешкод Map.Entry будет равен 0 (XOR двух одинаковых чисел дает всегда 0).
После добавления второго Map.Entry хешкод останется равным 0, так как там тоже совпадают значения ключа и значения. Повезло, повезло.
В итоге при вызове метод get будет искать Map.Entry в нужном бакете и, встретив нужную ноду, вызовет equals, который вернет true, так как при вставке значение ключа не копируется, и он будет отображать все изменения, которые с ним происходили.
Естественно, изменять ключ после вставки в HashMap крайне не рекомендуется, иначе потом можно его не найти. Но в данном конкретном случае нам повезло, что хешкод не изменился.
December 20, 2022
Наконец-то! Теперь в новой версии IntelliJ IDEA после открытия проекта не нужно ждать две недели пока он проиндексируется.
Ещё JetBrains улучшили новый интерфейс. Например, есть комппактный режим, который будет полезен для тех, кто прогает за маленькими экранами. Плюс добавили ускоренный импорт Maven-проектов, фоновые проверки коммитов и прочие приятности
Ещё JetBrains улучшили новый интерфейс. Например, есть комппактный режим, который будет полезен для тех, кто прогает за маленькими экранами. Плюс добавили ускоренный импорт Maven-проектов, фоновые проверки коммитов и прочие приятности
April 18, 2023
April 30, 2023
Forwarded from Mobile Developer (Алексей Гладков)
Пс, там на канале у Kotlin вышли все видео с KotlinConf!
https://www.youtube.com/@Kotlin/videos
Срочно бежим смотреть
https://www.youtube.com/@Kotlin/videos
Срочно бежим смотреть
May 4, 2023
May 15, 2023
Forwarded from Технологический Болт Генона
Рылся тут у себя, обнаружил футболку раритетную.
Периода приблизительно этого
https://web.archive.org/web/20070630041521/http://developers.sun.com/
Периода приблизительно этого
https://web.archive.org/web/20070630041521/http://developers.sun.com/
August 10, 2023
August 25, 2023
Forwarded from Продакты не нужны
30 до 30
Худшее, что медиа сделали для нашего поколения - рейтинг Форбса «30 under 30». И даже пофиг, что значитальная часть участников там - скам. Главное зло, которое он сотворил - убил самооценку куче людей. Теперь если ты после 30 не великий предприниматель, не изобрел лекарство от чего-нибудь и не сделал миллионы, то ты - лох.
Это несправедливо, потому что жизнь - величайший рандом. И то, что кому-то удалось раньше вытащить счастливый билет, не делает этого везунчика лучше остальных. У людей из списка Форбса нет каких-то сверх способностей, секретных знаний или природного таланта. Им просто повезло раньше. Я могу это с уверенностью утверждать как человек, который в 23 уже был директором по продукту в главном онлайн-кинотеатре страны.
Ну ок, кому-то повезло раньше. Давайте теперь еще уничтожим самооценку тем, кому и так нужно больше энтузиазма, чтобы достичь успеха. Подчеркнем, что это не просто люди, добившиеся успеха, а люди добившиеся успеха раньше, чем ты, лошара.
Поэтому дружище, если ты думаешь почему все вокруг такие умные и успешные, а ты - нет, то помни, что это рандом. Продолжай делать то, что делаешь, не оглядываясь на шум.
Вот попади я в этот рейтинг, было бы другое дело.
Худшее, что медиа сделали для нашего поколения - рейтинг Форбса «30 under 30». И даже пофиг, что значитальная часть участников там - скам. Главное зло, которое он сотворил - убил самооценку куче людей. Теперь если ты после 30 не великий предприниматель, не изобрел лекарство от чего-нибудь и не сделал миллионы, то ты - лох.
Это несправедливо, потому что жизнь - величайший рандом. И то, что кому-то удалось раньше вытащить счастливый билет, не делает этого везунчика лучше остальных. У людей из списка Форбса нет каких-то сверх способностей, секретных знаний или природного таланта. Им просто повезло раньше. Я могу это с уверенностью утверждать как человек, который в 23 уже был директором по продукту в главном онлайн-кинотеатре страны.
Ну ок, кому-то повезло раньше. Давайте теперь еще уничтожим самооценку тем, кому и так нужно больше энтузиазма, чтобы достичь успеха. Подчеркнем, что это не просто люди, добившиеся успеха, а люди добившиеся успеха раньше, чем ты, лошара.
Поэтому дружище, если ты думаешь почему все вокруг такие умные и успешные, а ты - нет, то помни, что это рандом. Продолжай делать то, что делаешь, не оглядываясь на шум.
Вот попади я в этот рейтинг, было бы другое дело.
October 1, 2023
October 16, 2023
у меня в юности был компьютерный стол, в котором клавиатура задвигалась под столешницу. и надоедало постоянно выдвигать её. делаешь домашку, кто-то написал, нужно выдвинуть клаву чтобы ответить, отвечаешь, задвигаешь, решаешь дальше свои уравнения, потом опять звук аськи, выдвигаешь… короч ещё в школьное время пришлось скачать stamin’у на комп, чтобы научиться печатать вслепую
October 16, 2023
Коллега рассказал ещё, что есть Клавиатура Двора — англоязычная раскладка, которая более эффективная за счёт того, самые популярные буквы расположены удобно и так, что руки чередуются как можно чаще
Wikipedia
Клавиатура Дворака
раскладка для набора английских символов, альтернатива QWERTY
October 16, 2023
В общем, кому хочется научиться печатать вслепую, рекомендую тренажер Stamina и «Соло на клавиатуре». Мне кажется, что это крутой навык. Успехов!
October 16, 2023
March 19, 2024
gitignore для java и maven проектов
простенький gitignore для мелких проектов, чтобы был всегда под рукой
#git
простенький gitignore для мелких проектов, чтобы был всегда под рукой
# Intellij
.idea/
*.iml
*.iws
# Maven
log/
target/
#git
March 20, 2024
Я чего раньше-то так редко писал. Это потому что у меня выгорание было и ощущение, что ничего нового и полезного не расскажу вам. Многие и так умнее меня, так ещё и успевали развиваться, пока я на одном месте сидел. Ещё и голос в голове говорил - зачем писать то, что все и так знают или могут загуглить?
Но сейчас пришёл к мысли, что читать будут те, кому интересно. А кому неинтересно - отпишутся.
Я когда-то задрал планку, сейчас наоборот хочу её опустить. В канале не будет инсайдов, обучений, марафонов, историй успеха. Скорее это будут заметки для себя же самого.
p.s.: добавил лайки. дизлайков и комментариев не будет, я слишком чувствителен к критике.
Но сейчас пришёл к мысли, что читать будут те, кому интересно. А кому неинтересно - отпишутся.
Я когда-то задрал планку, сейчас наоборот хочу её опустить. В канале не будет инсайдов, обучений, марафонов, историй успеха. Скорее это будут заметки для себя же самого.
p.s.: добавил лайки. дизлайков и комментариев не будет, я слишком чувствителен к критике.
March 20, 2024
March 28, 2024
March 28, 2024
March 28, 2024
March 28, 2024
March 29, 2024
Спасибо за вчерашние комментарии, обратную связь, идеи, искренний интерес. Рад видеть среди читателей адекватных людей, заинтересованных, зачастую вежливых и дружелюбных!
Очень рад отпискам от канала. В общем-то, последние посты были на это и нацелены.
Для меня важно делиться мыслями именно с приятными людьми, лояльными читателями, которые не ждут ежедневного вау-контента и «пользы»
Очень рад отпискам от канала. В общем-то, последние посты были на это и нацелены.
Для меня важно делиться мыслями именно с приятными людьми, лояльными читателями, которые не ждут ежедневного вау-контента и «пользы»
March 30, 2024
Гайз, перечислите сходу все методы класса Object? 🧐
Anonymous Poll
39%
Да
41%
Нет
20%
см. результаты
April 4, 2024
Отзыв оффера
Недавно ходил по собеседованиям (рынок РФ). Понравилась вакансия - крупная компания пилит свой новый продукт, прошёл тех собес - не супер гладко, но приятные впечатления остались, отправил свою анкету для сб, всё норм, на следующий день прислали оффер, по деньгам как просил. Договорились, что беру неделю на раздумья. И в этот же день вечером эйчар пишет: «могу набрать? срочно». Говорит пришли новые руководители и решили поменять стек, поэтому найм заморожен. Сорян, так бывает. Можем предложить другую команду, но собес надо пройти заново.
Новый собес я конечно же не проходил. Себя успокоил тем, что видать в компании не гладко с процессами и в целом мне повезло. Но всё равно неприятно.
Были у кого-то похожие приколы?
Недавно ходил по собеседованиям (рынок РФ). Понравилась вакансия - крупная компания пилит свой новый продукт, прошёл тех собес - не супер гладко, но приятные впечатления остались, отправил свою анкету для сб, всё норм, на следующий день прислали оффер, по деньгам как просил. Договорились, что беру неделю на раздумья. И в этот же день вечером эйчар пишет: «могу набрать? срочно». Говорит пришли новые руководители и решили поменять стек, поэтому найм заморожен. Сорян, так бывает. Можем предложить другую команду, но собес надо пройти заново.
Новый собес я конечно же не проходил. Себя успокоил тем, что видать в компании не гладко с процессами и в целом мне повезло. Но всё равно неприятно.
Были у кого-то похожие приколы?
April 5, 2024