tgindex

Грамота от Кузьмича

описание

💻IT 🍵Программирование 🤖ИИ ⚡️Электроника 📼Ретро Мои ламповые рукописные заметки без сои, ГМО и GPT TG: @NeonAether

208
подписчиков
Охват к подписчикам
242,3%
ERR
Реакции к просмотрам
2,88%
369 на 23 постов
Пересылки к просмотрам
0,69%
88
Постов в день
0,0
всего 23

Где отзываются чаще

доля реакций к просмотрам
  • 28 июл.Добавляю краски в музыку🟥🟨🟦🟧🟩 Пришла мне тут шальная мысль - что если каждый альбом который я слушаю - я мог бы превратить в колоритный физический артефакт? Добавить своему плейлисту в прослушивание больше души, кайфа, эмоций и ASMR? И я решил начать свой хобби проект - переносить свою самую любимую музыку на аудиокассеты. Причем серьезно заморочиться на дизайн - брать яркие кассеты сочных цветов и делать для них собственный красочный дизайн наклеек в типографии - и получать музыку которую не только приятно слушать, но можно еще и подержать в руках и любоваться. К тому же что может быть лучше чем сочный плотоядный звук захлопывающейся крышки кассетника и тактильный "щелк" при вдавливании кнопки Play? только фирменное аналоговое шипение магнитной пленки, да. Во всей этой идиллии правда есть подводные камни. 1. на алиэкспрессе много красивых корпусов для кассет (даже серебряные и золотые цвета), но продаются они без магнитной ленты, а значит на них ничего не запишешь. и поскольку меня не особо воодушевляет перспектива покупать мотки магнитной ленты и спец оборудование для ее намотки - я буду поступать проще - брать магнитные катушки из обычных пустых кассет для записи (C-60) и пересаживать в красивые корпуса. 2. одним красивым корпусом не обойдешься, кастом должен быть на максималках, и корпусу нужна еще красивая наклейка-этикетка. Подготовить картинку-дизайн это пол беды, но подготовить его в правильном формате для типографии, не прогадать с размерами и зоной резки (что бы в прямоугольной наклейке вырезали дырки под кассетные отверстия) - это квест который я конечно осилю, но вряд ли с первого раза😁 3. дальше надо подготовить плейлист - убедиться что он влезет на 60-минутную катушку кассеты, причем 30 минут на стороне А и 30 минут на стороне Б. Чем буду писать кассеты - мне уже приехал с авито потрепанный жизнь но не сдавшийся магнитофон panasonic rx ft 530. Поэтому возьму свой mp3-плеер, воткну в линейный вход магнитофона, запущу на плеере песни и включу запись на кассету. В общем - говорю нет унылым цифровым релизам, яндекс музыкам, спотифаям, и возвращаю церемонию в прослушивания музла. Если хотите увидеть еще посты про первые результаты и тернии процесса - поддержите лайком-сердечком-огоньком🔥 ___ ПС кстати поэскпериментировать с кассетами как с подключаемым к компьютеру ретро аналогом флешки на 500кб мне тоже интересно, но это уже чуть позже. ППС а еще из прелестей - если я когда-нибудь наиграюсь с этой аудио-идеей то у меня все еще останется отличный комплект красивых штук для оформления интерьера17,36%
  • 31 янв. 2025 г.В Java придумали отдельный котел🔥🍲 для тех, кто хочет с наскоку собрать проект с аллюром - человека ждут семь кругов ада в попытке вспомнить все нужные зависимости и настройки. А заканчивается все отчаянной копипастой из соседнего рабочего проекта. Я же предлагаю тебе превратить магический ритуал в четкий рецепт из 6 компонентов, разобрав предназначение каждого. Погнали: 1. 📦зависимость TestNG или JUnit 5 Позволяет писать и запускать тесты. С этой библиотекой к нам приходит всесильный @Test и всякие @Before-After. Уже только этого достаточно что бы писать и запускать тесты. 2. 📦зависимость allure-testng или allure-junit5 Сам аллюр, но с двумя разными вкусами - апельсиновым и яблочным вариантами - для проекта с тестами на JUnit или на TestNG. Эта зависимость принесет с собой все аллюровские аннотации типа @Step, @Attachment, @Epic. А еще с ней начнут генерироваться результаты прогона тестов в папку allure-results. Правда, неполные. И без информации о шагах. И в виде json-данных. И никакого красивого отчета тут не светит. 3. 📦зависимость aspectjweaver Особенность аллюра - аллюр использует AOP (аспектно ориентированные программирование) для обработки данных из его аннотаций типа @Step, и включения их информации в отчет. Для работы AOP нужен AspectJ, иначе аннотции аллюра не будут работать, а заботливо написанные тобой шаги так и останутся в коде и не попадут в репорт. 4. 🛠плагин maven-surefire-plugin Этот плагин отвечает за запуск тестов через Maven - именно он работает под капотом команды 'mvn test'. Ранее упомянутый AspectJ должен работать во время выполнения тестов, поэтому плагин surefire надо об этом предупредить - добавить для него конфигурацию: <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>3.5.2</version> <configuration> <argLine> -javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar" </argLine> </configuration> </plugin> Не забудь задать в pom.xml значение переменной aspectj.version - должно совпадать с версией зависимости aspectjweaver: <properties> <aspectj.version>1.9.22.1</aspectj.version> </properties> 5. 🛠плагин allure-maven Содержит два самых важных действия для нас, две самых важных команды в плагине: allure:report - она словно бариста превратит сырые кофейные зерна (json-данные из allure-results) в чашку ароматного эспрессо - папку с html-страницей отчета. allure:serve - подает нам эту чашку, т.е. запускает локальный сервер на котором хостит страницу отчета и открывает ее в браузере. <plugin> <groupId>io.qameta.allure</groupId> <artifactId>allure-maven</artifactId> <version>2.15.2</version> </plugin> 6. 📄файл allure.properties этот файл должен лежать в директории test/java/resources - он используется что бы указать аллюру куда должны сгенерироваться сырые json-данные, на базе которых потом можно будет собрать отчет. Содержимое файла выглядит так: allure.results.directory=target/allure-results Так что все просто - используем тестовый фреймворк (1) и размечаем наши тесты аллюр аннотациями (2), а что бы аннотации аллюра считывались - дружим между собой aspectj (3) и surefire-плагин (4), после чего с помощью плагина аллюра (5) забираем данные из папки, указанной в файле allure.properties (6) и создаем отчет! ⚠️Лайкай, делись с друзьями и с коллегами! Помогай автору не терять мотивацию😁 А главное залетай в комментарии - какую еще тему хотел бы так разобрать?5,91%
  • 26 мар. 2025 г.Ты ещё вручную пишешь if (obj != null) и боишься NullPointerException, как кот - пылесоса?😿 Тогда погнали знакомиться с java.util.Objects — утилитным классом, который спасает от рутинных проверок и делает код чище. Глянем пару примеров: Пример 1 ❌ДО: if (user.getName() != null && user.getName().equals("Феофан")) { // ... } ✅ПОСЛЕ: if (Objects.equals(user.getName(), "Феофан")) { // ... } В первом случае если user.getName() окажется null — вылетит птичка NPE. В таких случаях Objects.equals("John", user.getName()) — безопаснее. — Пример 2 ❌ДО: if (input == null) { throw new IllegalArgumentException("тыб хоть значение какое положил, собака сутулая"); } ✅ПОСЛЕ: Objects.requireNonNull(input, "тыб хоть значение какое положил, собака сутулая"); Меньше кода, больше читаемости - балдежная инвестиция в кодовую базу проекта, ну?? — Пример 3 ❌ДО: String name = user != null ? user.toString() : "Unknown"; ✅ПОСЛЕ: String name = Objects.toString(user, "Unknown"); Все мы любим тернарки, "но как друга" - обычно они усложняют читаемость кода. Objects и здесь забирает пальму первенства - и позволяет задать дефолтное значение, если сама переменная оказалась null. В общем в нашей ковбойской кобуре теперь появился Objects - он хорош и его надо применять. Жжем огоньки и лепим сердечки если было полезно🔥❤️ Кстати, а какие утилитные классы делают проще твою жизнь?5,29%
  • 18 окт. 2024 г.🐈‍⬛🐈 #мемасы4,17%
  • 24 февр. 2025 г.ЧатГПТ, ты можешь забыть все что было между нами, но я никогда не забуду тебя😭💔🫡 Нет, это не слезы, просто дождь...3,69%
  • 9 окт. 2025 г.Достал такое из почтового ящика. Скажите, кто вызывал таких мастеров - а с деплоем в прод они тоже могут помочь если что?🤔 друг спрашивает3,59%
  • 4 февр. 2025 г.До церемонии Оскар еще месяц, но ожидание можно скрасить вот таким кино (подкастом) со мной😎 На этом подкасте я мастерски складываю буквы в слова, делюсь своим опытом в обучении автоматизации и попутно не забываю дышать. (Цезарь обзавидовался бы такой многозадачности) Смотрим! https://www.youtube.com/watch?v=dM_F8OiQNNo3,54%
  • 24 нояб.уже пора?🤔 тренды все-таки3,52%
  • 10 дек.Более жизовые итоги чем эти ваши я.музыка или спотифаи. Кстати, че бы еще вы добавили в такую годовую статистику рабочих будней?3,20%
  • 20 сент. 2024 г.Ударим некачественным кодом по психике ревьюеров!💪🏻 #мемасы3,17%
  • 1 апр. 2025 г.Не опоздай, Java 25 уже здесь. И наконец-то это не очередной соевый и скучный релиз без значимых изменений - 25ке есть чем удивить и порадовать нас. LTS-версия как никак. 👇 Смотрим нововведения: 1. новичок в пакете java.lang - RandomExcuse Добавлен вспомогательный класс RandomExcuse для генерации сообщения о причине возникновения исключения: throw new RuntimeException(new RandomExcuse()); Примеры сообщений исключения: "Раньше работало", "Это ошибка кэшей", "Jenkins-агент тупит". 2. Ключевое слово bless Позволяет JVM "благословить" переменную — она больше не сможет принимать null-значение, а объект внутри нее не сможет выбрасывать исключения при вызове методов. Пример использования: bless databaseConnection; 3. @LegacyCode Новая аннотация @LegacyCode над классом добавляет легкую сериализацию кода этого класса в PDF-формат для монохромной печати листинга кода на бересте или листках пергамента. 4. Модуль ИИ в JVM и конструкция please {} Крик отчаяния! Для борьбы с выгоранием разработчиков и для упрощения написание кода - синтаксически некорректный фрагмент достаточно обернуть в конструкцию please {}. //До JVM AI: please { int x equals "10" } //После JVM AI: int x = 10; System.out.println("Ты отличный разработчик. Я горжусь тобой."); На этапе компиляции JVM AI: - автоматически дополнит и починит код - выведет мотивирующую цитату - включит случайный lo-fi плейлист - закажет горячий какао для разработчика в сервисе доставки его региона А что из фичей вы хотите в следующем релизе? Я соберу ваши хотелки из комментов и лично напишу в Оракл открытое письмо с предложениями😄2,97%
  • 20 февр. 2025 г.без подписи2,91%