![Aleksandr Azimut](/img/default-banner.jpg)
- Видео 160
- Просмотров 138 193
Aleksandr Azimut
Эстония
Добавлен 19 окт 2011
ITMO diploma. 21+ years of experience in software development. I speak Java, Python, JavaScript, PHP, MongoDB, MySQL and other technologies. On my channel:
-Review of new technologies and IT trends.
-Lessons on Java, Python, JavaScript, PHP and other programming languages.
-Analysis of popular frameworks, libraries and tools.
-Secrets of optimizing code and increasing productivity.
-Answers to your questions in the comments.
-I share my experience in developing personal projects.
Subscribe to the channel, there is a lot of useful information on IT!
-Review of new technologies and IT trends.
-Lessons on Java, Python, JavaScript, PHP and other programming languages.
-Analysis of popular frameworks, libraries and tools.
-Secrets of optimizing code and increasing productivity.
-Answers to your questions in the comments.
-I share my experience in developing personal projects.
Subscribe to the channel, there is a lot of useful information on IT!
ИИ vs разРАБОТА. Оптимизм.
Мой взгляд на роль ИИ в разработке.
Записал и понимаю что записал далеко не все размышления, но все они - производные от изложенного в ролике.
Записал и понимаю что записал далеко не все размышления, но все они - производные от изложенного в ролике.
Просмотров: 224
Видео
Java - хиты в дорогу #2. 60 вопросов по Java.
Просмотров 4603 месяца назад
#java #review #javainterviewquestions #javainterviewquestionsandanswers Для: - прослушивания в пути - обучения во сне )) - подготовки к собесам по Java. wav - drive.google.com/file/d/1YYjLCHM9dr0azsMjY6ACopM21e9HW4cZ/view?usp=sharing 00:00 61. Arrays.asList() 00:59 62. StreamAPI методы 01:55 63. var 02:46 64. Немодифицируемый список 03:43 65. Как запустить поток? 04:38 66. Записать файл на диск...
Java - хиты в дорогу. 60 вопросов по Java.
Просмотров 9914 месяца назад
Java - хиты в дорогу. 60 вопросов по Java.
Выбор между ArrayList и LinkedList
Просмотров 1 тыс.8 месяцев назад
Выбор между ArrayList и LinkedList
Java 21 новые возможности: Виртуальные потоки. Перевод.
Просмотров 3,5 тыс.8 месяцев назад
Java 21 новые возможности: Виртуальные потоки. Перевод.
Как в JPA использовать AUTO_INCREMENT в MySQL?
Просмотров 44411 месяцев назад
Как в JPA использовать AUTO_INCREMENT в MySQL?
Spring Cloud интеграция с внешним Rest API
Просмотров 1,2 тыс.Год назад
Spring Cloud интеграция с внешним Rest API
Java. Шифруем данные для открытой передачи.
Просмотров 1,1 тыс.Год назад
Java. Шифруем данные для открытой передачи.
Рисуем звук. Почувствуй себя нейросетью. Java, Guice
Просмотров 1,1 тыс.2 года назад
Рисуем звук. Почувствуй себя нейросетью. Java, Guice
Диспетчерская на базе Spring и Kafka. Полный курс.
Просмотров 12 тыс.2 года назад
Диспетчерская на базе Spring и Kafka. Полный курс.
Spring Security, Формы регистрации и аутентицикации.
Просмотров 6 тыс.2 года назад
Spring Security, Формы регистрации и аутентицикации.
Инструменты разработчика: Intellij IDEA
Просмотров 4513 года назад
Инструменты разработчика: Intellij IDEA
SpringBoot + WebSocket Fullstack. Мелим муку - многопоточность Java.
Просмотров 4,6 тыс.3 года назад
SpringBoot WebSocket Fullstack. Мелим муку - многопоточность Java.
Два SpringBoot проекта за час: Web и Reactive.
Просмотров 3,6 тыс.3 года назад
Два SpringBoot проекта за час: Web и Reactive.
Какой умный человек ❤
спасибо! еще хотела отметить этому чуваку подходит ваш голос😊
Если честно вариант так себе, большой риск коллизий из-за случайных совпадений произведения стрингов с большим размером чем указан на видео
очень полезный материал. Даже уже давно работая со всем этим , какие то моменты со временем уходят из головы. Смотря эти маленькие видео все вспоминаю)) . Коротко, понятно, интересно!
О, кто-то перевел этого типа на русский. А то я пересмотрел все его видосы в оригинале)))
приветствую. спасибо за видос, а есть тхт файл вопрос-ответ?
Спасибо
Уже 10 ночей подряд не могу дослушать, засыпаю минут через 10, лучше чем музыка для сна)
Странно, что постоянно говорят о замене программистов, но очень мало говорят о замене тестировщиков и других смежных профессий. Замену программистам верится слабо, особенно когда речь идет об энтерпрайз проектах. Ведь это большие системы и доверять это все какому-то AI рискованно.
Все просто. 1. Тесты все чаще становятся частью программирования. 2. Крупные компании постепенно уходят от отладки продуктов до "идеального" состояния. Это сильно тормозит разработку и тестирование ниш. Ну и автотесты - уже по сути программирование. Так что и о них речь.
В одной лодке сидим)
@@azimutjava про автотесты да, а что думаете насчет мануального?)
Вернусь к основной мысли - бояться замены человека на ИИ - нет смысла. Это уже реальность. И этот инструмент (ИИ) рынок проглотит цкеликом. Следующая индустрия вырастает уже поверх ИИ, интегрироваа его как инструмент. Вы вероятно даже не заметите за шквалом задач этого перехода. Другое дело если базовой компетенции у вас не хватит чтобы пережить "качку" - вот тогда проблема. Поэтому обучение - ваш спасательный круг. И даже не столько обучение - сколько элементарное любопытство.
И помните! ИИ не защитит вас от медведя в лесу. И если медведь нападет - ИИ даст вам мудрый совет. Так что укрепляйте базовые навыки. Любопыство - один из них.
Очень понравилось, жду третью часть, спасибо за перевод, приятно слушать!
Здравствуйте. Спасибо за видео. Хотел бы спросить вопрос. Работали ли Вы с .Net платформой. Если да, то как Вы считаете, что лучше для бекенда : Java + Spring framework или С# и платформа .Net? Благодарю заранее )
Чтобы работать с .Net - нет опыта. Но это и не важно. Если проект для себя - попробуйте Rust, похоже что безопасность памяти - это новый тренд. Если бизнес - то не важно какой язык. Все равно переписывать будете.
@@azimutjava А Как относитесь к Котлину? Используете ли его на продакшене в новых проектах вместо джавы?
Не приходилось. Отношусь спокойно. Если пригодится - переформатируюсь. Для своих поделок использовать не планирую. Сегодня)
Сейчас я честно говоря, больше переживаю за виденье проекта. Зверинец технологий огромен, но в результате важны - декомпозиция кода, разбитие на домены, тесты, swagger, гит и ci/cd. И быстрее выбрасывать мвп в доступ. Тогда можно спокойно развивать проект.
@@azimutjava Работа Лида : )
Печально, но если бы не известное имя, на работу его бы никуда не взяли изза возраста, не смотря на знания
Эйджизм как он есть. Но есть мнение что 1С спецы общаются с бухгалтерами в основном и сейчас очень востребованны. Вроде как и не то ИТ что мы понимаем, но архинужное и важное. Так что думаю Жозе с легкостью бы освоил этот язык и обрел востребованность (будь в том необходимость).
Спасибо!
Я как не из мира it -Что-то про недвижимость и it
Квартирный вопрос во всех мирах актуален)
Вообще свэг. Еще упомяну есть 5 прокси в жаве. Static,Dynamc,cglib,AspectJ, javaasist
Спойлерите))
На собесе попался на такой вопрос про отличия компонента от конфигуратора. Смог ответить только на первую часть вопроса про стереотипные аннотации. Но зато теперь понимаю в чем разница. А расскажите пожалуйста про проксирование в спринге и про библиотеки прокси отдельным шортом. И про кеширвание запросов)
У меня 2 вопроса: 1. Это всё тот же дядька с кружкой джава, или это ваш собственный проект в его стиле?😂 2. Он сказал, что Бин создаётся в @Configuration, а если создаёшь Бин в @Component классе, то можно попасть в циклическую зависимость. Не совсем понял про что он, что это за ситуация такая может быть?
1. Это уже я. 2. по документации спринг рекомендует объявлять бины как можно раньше, например в конфигурации. И если у вас замес из компонент и бинов - повод задуматься то ли вы делаете.
И пример циклической зависимости. Класс А (бин x) -> класс Б (бин y). Случится если вы в Б инжектите x, а в A инжектите y. А если вы используете бин только в своем классе - вы уверенны что вам нужен бин?
Блин устал править. Целый навык укладывать объяснение в комменты.
Проще сказать- граждане, держите бины в конфигурационных классах. Если это не так - то либо у вас что то крутое/старое, либо не правильное.
Спасибо за творчество! Кратко, емко и понятно
Имба, продолжай дальше, пожалуйста
Александр, спасибо большое за видео. Я Вас всегда буду поддерживать. Вы один из лучших разработчиков.
Александр, спасибо за видео, было очень интересно вас послушать С нетерпением жду новых видео)
Про валидацию через конструктор интересная тема, жаль не рассказал. Я вот иногда так делаю, но на проекте не разрешают, говорят мол, что класс не должен брать на себя эту функцию. Интересно услышать мнение на этот счёт
Ох! Как раз думаю наоборот. Книгу Егора Бугаенко предлагаю почитать) Элегантные объекты вроде. После неё голова переворачивается, интересна в прочтении)) И введение record в джава - говорит о том что валидация в конструкторе верный паттерн.
Я правильно его понял. Если я делаю через статический метод .newHashMap(20). То я гарантированно получу хешмапу каждый бакет которой будет вмещать20 нод? Если я делаю через конструктор = new HashMap(20), то я получу мапу на 20 бакетов, глубина бакетов при этом будет неизвестна?
Глубина (количество элементов в ноде/бакете) тут ни причём. Здесь речь о распределении Node в массиве по горизонтали. После вычисления хеша - значение кладется в определнное место в массиве нод. Если это место занято - варианта 2: квадратичное хранение (в глубину баккета) или вторая хеш-функция!=0 для смещения. Поскольку в java нет никакой гарантии наличия второй хеш-функции - используется loadfactor чтобы смещать позицию и избегать коллизий.
Полностью поддерживаю! 👍
Шикарно. Спасибо.
Защитное === защищённое === копирование вглубину
Как зовут человека пьющего кофе?
Жозе Помар. Найдете его на канале @java
@@azimutjava спасибо вам, а то я подумал что он Джошуа Блох
И правда, похож.
Спасибо! Замечательный формат )
Крутой мужик.
Спасибо!!!)
Кто этот человек?
Жозе Помар. Если вы не про меня спрашиваете) Жозе ведет интересные рубрики на канале @java в YT. Мне зашло как он доносит вещи, делюсь с вами.
@@azimutjava Спасибо за ответ. Это очень полезно 👍
Шикарно!!! 😊
120й закончен, так что вторая 60-ка скора будет.
Супер полезно. Спасибо
Спасибо за демонстрацию работы Kafka! На мой взгляд, бизнес-логика получилась очень сложная (возможно, из-за того, что было решено затянуть часть фронта на бэк, но не уверен). Где-то до середины написания модуля office еще удавалось все это удерживать в голове, а потом сдался и просто переписывал код, пытаясь разобраться только в частях, связанных с кафкой.
Согласен. Да и фронт наверное не стоит описывать в ролике с беком.
Классный контент. Мне как новичку очень полезная информация. Многое подчернул для себя🔥🔥🔥🔥🔥
Красота.
Полезная инфа. Выкладывай еще. Спасибо! )
Еще конструкторы без параметров можно сделать приватными чтобы не было возможности интсанса. Обычно делают для утилитных классов. Плюс конструктор без параметров нужен для класса сущности для работой с БД. В конструкторах также можно применять оператор return чтобы гарантировать безопасную инициализацию обьекта с нужными параметрами
Верно. Приватный конструктор в видео про immutable вроде рассматривался.
А про return в качестве гарантии - не встречал на практике, или не понял подход.
@@azimutjava сори видимо не так написал, своими словами. Есть допустим Класс кошки с 3 параметрами, int age, string name, bool isHomeless. В конструкторе проверяем параметр isHomeles, если true тогда this.isHomeless = issHomeless; return...В остальных случаях инициализируемся со всеми параметрами
@@mustFLEXboi Ох, я бы не стал. Очень зависит от последующих правок. Можно конечно. Кроме того вы вероятнее выйдете с null полями в дальнейшую работу, обрекая себя на дробоение логики по null. Но если мы просто говорим о возможностях конструктора то да, так можно.
@@azimutjava аааа ну да совсем забыл там придется костыли вставлять и как то миновать null придавая дефолтные значения полям типо 0, или "empty". Но все равно прикольно что так можно делать и только в специфических ситуациях
Что же делать с терминологией если я объявил конструктор без параметров в классе?!🤔🤔🤔
Ничего, переходите к следующему классу. Лысый конструктор, конструктор без переменных - все равны перед компилятором.
А когда допустим на сервере принудительно останавливаешь консольное приложение через ctrl+c это получается будет вызываться метод stop у потоков?
Ну нет конечно) Приходит злой папа, дергает из розетки вашу приставку и ваши "я не сохранился" нагружаются табу на "поиграть" на все выходные.
@@azimutjava 😁😁😁 щас бы прод уронить
40:22 оговорка, ибо в начале верно было, фактори не структурный, а порождающий. Я не душный)
А для чего это вообще нужно? Какой смысл не совсем ясно? Впервые обнаружил этот интерфейс когда стрингу под капотом глядел
Используется при сортировке объектов через коллекции/map. Плюс при в некоторых структурах на этапе добавления новых элементов через comporator идёт автоматическое упорядочивание элементов. Вообщем, штука нужная и не просто так появилась.
Это же супер формат!
Ключевое слово статик позволяет определять свойства и методы, соотнесенные непосредственно с классом.
Наверное "непосредственно" - не совсем. Есть наследование ещё. Но в целом - да.
Нормально так голову прогрел =)
Статик пренадлежит классу самому
По идее, размер boolean должен равняться единице адресуемого адресного пространства, то есть один байт.
Да, так и есть. 1 бит под значение, остальное - под хедер оставлено
Можно ли считать что анатация видима при указании retention Class или Runtime?
Да. На этапе компиляции (class), во время работы (runtime). Но не и там и там. Признаться сам думал что можно массив policy-видимости указать, но нет. Интересно даже - почему.
блиин я думал insstanceof
Почему конкатенация лучше, чем через StringBuilder с помощью add объединять строки? В первом же случае меньше производительность будет
В одном из следующих роликов озвучено, да и в доках видел что конкатенация через плюс под капотом уже реализована через StringBuilder. Но и эта штука уже переоптиммзирована, поскольку String теперь не массив char, а массив byte.
proftrud.ru/box/52 - здесь вы можете тоже прочесть про char/byte
@@azimutjava уже посмотрел, спасибо