Value class в Kotlin
8:39
7 ай бұрын
SequencedMap в Java 21
9:55
7 ай бұрын
Пікірлер
@user-ju7xj3qu6k
@user-ju7xj3qu6k 5 күн бұрын
В конечном счете дело в точности, но в неочевидном ее аспекте. Дело не числе разрядов, а в системе счисления. Финансисты имеют дело с десятичными дробями, а в двоичном представлении, например 5 или 10 копеек -- бесконечные дроби.
@dishc532
@dishc532 12 күн бұрын
я бы обсудил с командой какой формат использовать - yaml или xml. Поскольку ямл в связи со своей развернутостью становится очень нечитабельным с объемом датасетов. XML в результате намного компактнее как оказалось
@maratmurtuzaliev4745
@maratmurtuzaliev4745 17 күн бұрын
Ctrl+Y для быстрого удаления текущей строки или выделенных строк
@bari9631
@bari9631 23 күн бұрын
практически совершенное видео
@Gidropoljb
@Gidropoljb 26 күн бұрын
Также в TreeMap можно задать свой порядок сортировки с помощью интерфесов Comparable или Comparator
@devmark
@devmark 25 күн бұрын
Верно, спасибо за дополнение!
@user-hm6ye8tv8l
@user-hm6ye8tv8l 28 күн бұрын
Друг, у тебя не все IDE видно
@devmark
@devmark 25 күн бұрын
Да, ещё не до конца освоился с форматом shorts так как записываю с ноута.
@sergeiTk
@sergeiTk Ай бұрын
Супер!
@sergeiTk
@sergeiTk Ай бұрын
Супер!
@winter-lb7id
@winter-lb7id Ай бұрын
Что означает var document :Document ? у моего document нет никаких методов ((
@devmark
@devmark Ай бұрын
Это просто сокращение от Document document. Проверьте, что вы импортируете класс именно из библиотеки jsoup.
@winter-lb7id
@winter-lb7id Ай бұрын
@@devmark удалил :Document - заработало. По сути обычный html , но не интуитивно понятно по синтаксису
@Alexdee1983
@Alexdee1983 Ай бұрын
Понравилось как автор преподносит материал, просто и понятно
@user-br4gt7xu2j
@user-br4gt7xu2j Ай бұрын
круто! делай еще, жаль, что нельзя дополнителмный лайк поставить за хорошую музыку на фоне
@devmark
@devmark Ай бұрын
Спасибо! Любые комментарии под видео также приветствуются)
@blavodbatman
@blavodbatman Ай бұрын
Я правильно понимаю, что если не добавлять кастомные типы, а в схеме указать price: String!, birthDate: String!, то запрос тоже отработает корректно?
@devmark
@devmark Ай бұрын
В принципе большинство типов данных можно передавать строкой. Но тогда потребуется делать дополнительный парсинг. А в варианте с кастомными типами все работает автоматически.
@blavodbatman
@blavodbatman Ай бұрын
@@devmark Это я к тому, что если нужно просто на фронте показать пользователю результат как есть, то технически можно всё, кроме id и объектов, объявлять в схеме String, а GraphQL уже под капотом сам сделает что-то типа toString() для полей, не являющихся строкой. А вот если нужно получить данные и что-то с ними сделать, то кастомные типы - must have.
@anjelomanoranjan
@anjelomanoranjan 2 ай бұрын
Спасибо! Ты ТОП!
@rolandswamp
@rolandswamp 2 ай бұрын
красавчик
@eduardklygunov1412
@eduardklygunov1412 2 ай бұрын
Вот это возвращение неожиданное ) Я хоть и все что было в видно давно знаю, но все равно было интересно посмотреть, спасибо
@devmark
@devmark 2 ай бұрын
Да я вроде никуда и не уходил)
@AndreyOtryaskin
@AndreyOtryaskin 2 ай бұрын
Дружище, я наткнулся на тебя как-то случайно и подписался. У тебя очень хороший канал. Не бросай его только.
@devmark
@devmark 2 ай бұрын
Спасибо!
@pashahous
@pashahous 2 ай бұрын
Спасибо, хорошо преподнесли инфу.
@anjelomanoranjan
@anjelomanoranjan 2 ай бұрын
Ты ТОП! Благодарю!
@max96169
@max96169 2 ай бұрын
Интересно почему TreeSet типизированный типом без имплементации Comparable выдает ошибку только в рантайме? Это же жутко не удобно и опасно.
@devmark
@devmark 2 ай бұрын
У меня такой же вопрос возник, когда я изучал эту тему)
@vano20230
@vano20230 2 ай бұрын
классное видео, спс)
@BogdanRaspletin
@BogdanRaspletin 3 ай бұрын
С первого раза всё понял! Подача очень хорошая
@jhvjhbkjn6050
@jhvjhbkjn6050 3 ай бұрын
почему у меня нет выбора spring initialiser? У меня только spring boot... Как сделать?
@devmark
@devmark 3 ай бұрын
А какая у вас версия Idea? Community или Ultimate?
@anjelomanoranjan
@anjelomanoranjan 3 ай бұрын
Блестательное объяснение. Я правильно понял, что: 1) left & right мы могли бы назвать first & last? 2) Если у нас дан массив {1 2 3 4 5 6 7 8 9}, то left = 1, right = 9, а middle = 5. И когда мы двигаем границу диапазона вправо или влево, то мы переходим от 1 к 2 и от 2 к 3 если сдвигаем границу вправо, и наоборот, от 9 к 8 и от 8 к 7 если сдвигаем границу влево?
@devmark
@devmark 3 ай бұрын
1) да 2) когда мы двигаем границу, то мы всегда отталкиваемся от middle, т.е. от 5 в вашем примере. и если искомое число меньше 5, то ставим right = 4. если искомое число больше 5, то ставим left = 6. То есть всегда выбираем ту половину, где потенциально может быть искомое число, т.к. массив отсортирован.
@anjelomanoranjan
@anjelomanoranjan 3 ай бұрын
@@devmark спасибо.
@anjelomanoranjan
@anjelomanoranjan 3 ай бұрын
Крутое видео! Благодарю! Жду новые видео по Java
@devmark
@devmark 3 ай бұрын
Спасибо)
@senpai_san777
@senpai_san777 3 ай бұрын
здравствуйте, а что насчет queue?
@devmark
@devmark 3 ай бұрын
В продолжение темы коллекций, у меня на канале есть видео, которое так и называется: "Очередь и стек".
@senpai_san777
@senpai_san777 3 ай бұрын
@@devmark спасибо увидел
@user-te9hf7qs1y
@user-te9hf7qs1y 3 ай бұрын
какова внутренняя архитектура Spring Events? есть ли какая-то ограниченная емкость этого очереди между Pub и Listener? продолжает ли заниматься основной поток или после отправки Event обработка происходит в отдельном потоке? Хотелось бы подробнее рассмотреть эти вопросы
@iKorvik
@iKorvik 3 ай бұрын
Не всегда вместо итератор можно использовать forEach, без использования итератора нельзя модифицировать коллекцию во время её обхода.
@BornToNight
@BornToNight 3 ай бұрын
Как решить проблему, если у нас 100 экземпляров приложения? Тогда будет выполняться куда чаще данный метод.
@devmark
@devmark 3 ай бұрын
Ддя этого можно использовать shedlock - библиотеку для синхронизации шедулеров через бд
@BornToNight
@BornToNight 3 ай бұрын
@@devmark Я вот такое решение нашёл. @Scheduled(initialDelay = 1000, fixedDelay = 3000) fun myFun() { if (lock.tryLock()) { try { doWork() } finally { lock.unlock() } } }
@user-ru7di1lg9r
@user-ru7di1lg9r 3 ай бұрын
Про все рассказал кроме темы
@virus8727
@virus8727 4 ай бұрын
а это java core? я все учу учу.... думал это все ещё синтаксис.... ))))
@devmark
@devmark 4 ай бұрын
Это не синтаксис, но это базовые интерфейсы стандартной библиотеки Java. На них основана вся работа с коллекциями.
@virus8727
@virus8727 4 ай бұрын
Да я с питона переучиваюсь, и для меня все синтаксис🤣🤣🤣
@raznye_sovety
@raznye_sovety 4 ай бұрын
Огромное спасибо!
@pashadjoystick
@pashadjoystick 4 ай бұрын
можете не продолжать - я понял что блогеров начинает коробить как чертей на вертеле и они начинают наговаривать слова пытаясь объяснить необъятные методы джавы выполняющие такие мощные вычисления как 2+2. джава всегда была немного странная но спринг её ушатал окончательно
@devmark
@devmark 4 ай бұрын
Скрипты и простые вычисления - это не сегмент Java. У неё своя ниша - серверные приложения и корпоративный сегмент. Джава и спринг прекрасно подходят для крупных проектов, над которыми одновременно работают десятки, а то и сотни разработчиков. Например, благодаря строгой типизации вы можете легко проводить рефакторинги в автоматическом режиме и не бояться, что где-то что-то забыли поправить - это проконтролирует компилятор.
@forsidekhan5405
@forsidekhan5405 4 ай бұрын
Уоу! Полезно, спасибо! Лайкосик, подпесуля! Сделай продолжение!
@ogyct
@ogyct 4 ай бұрын
В последнее время редко пишу что-то на джаве/спринге, поэтому с удовольствием смотрю такие видео, чтобы освежить в памяти какие-то знания. Спасибо! Позволю себе сделать несколько замечаний к коду. Для даты и времени я бы использовал Instant, или любой другой класс с тайм зоной. Постоянно вижу, как люди про это забывают и обжигаются. Для ДТО наверное имеет смысл использовать дата класс. Для идшников в дб я бы использовал тип Лонг. Велика вероятность, что строк в БД будет больше, чем вмещает в себя Инт. Всё это вроде как мелочи, но в долгую могут сыграть решающую роль в жизнеспособности проекта.
@devmark
@devmark 4 ай бұрын
Для dto я вроде бы всегда и везде использую data-классы. В отличие от JPA-сущностей (там их нельзя использовать по техническим причинам). Тип int позволяет хранить более 2 миллиардов записей, на практике я пока ещё не сталкивался с переполнением, но в каких-то особых случаях long был бы оправдан. А в целом ваши замечания более чем справедливы для реальных проектов! Я сознательно упрощаю примеры, чтобы сосредоточить внимание зрителей на ключевых моментах и не уходить в сторону.
@sergeyushakov8614
@sergeyushakov8614 Ай бұрын
Во-первых присоединяюсь к благодарностям :) Всё действительно получилось познавательно и компактно. Также присоединяюсь к рекомендации про Instant, иначе приключений почти наверняка не избежать. И ещё хочу добавить, что если заранее известно, что под капотом PostgreSQL и Hibernate, и никакой другой экзотики не ожидается, то вряд ли имеет смысл ограничивать себя функциональностью CrudRepository. Работать всё конечно будет, но в реальной жизни вместо метода save() может быть практичнее saveAndFlush(), который доступен начиная с JpaRepository. И который гарантирует однозначную идентификацию источника ошибки при обращении к базе, если сохранений по ходу транзакции было несколько. Понятно, что тема может оказаться холиварная, и всё же... :)
@theprada3646
@theprada3646 4 ай бұрын
начал читать книгу spring в действии, там на сайте spring io скачал архив, потом поставил maven(я еще даже не знаю, что это такое), но Intelij Idea не видит этот maven😢 помогите пожалуйста
@user-cw5sb9qo8j
@user-cw5sb9qo8j 4 ай бұрын
Прям вах вах, и голос спокойный приятно слушать, и все по делу!)
@sani4051992
@sani4051992 4 ай бұрын
Видео - бомба. Спасибо! И коментаторам тоже)
@bodythanks
@bodythanks 4 ай бұрын
wc -l filename.txt
@devmark
@devmark 4 ай бұрын
Спасибо! Добавил эту команду в шпаргалку devmark.ru/article/linux-useful-commands
@MgsMen
@MgsMen 4 ай бұрын
Отлично, как раз искал JDBC и Kotlin. Спасиб. На данный момент уникальный контент. Да и автор очень толковый
@shnikel7780
@shnikel7780 5 ай бұрын
Вы чудесно и очень понятным языком преподносите материал! Пишу конспекты под ваши видео. Подскажите пожалуйста есть ли у вас видео в котором объясняется HashTable?
@devmark
@devmark 5 ай бұрын
Спасибо! Про HashTable у меня видео нет, т.к. эта коллекция наряду с Vector считается устаревшей и в настоящее время почти не используется. Вместо неё надо использовать Map.
@shnikel7780
@shnikel7780 4 ай бұрын
@@devmark спасибо за ответ!
@shnikel7780
@shnikel7780 5 ай бұрын
Подскажите, в каких кейсах на практике используют коллецию очередь?
@devmark
@devmark 5 ай бұрын
При реализации электронной очереди) Ну или если вам нужно выполнить какие-то задачи (сгенерировать документ, например), но не в реальном времени.
@OlgaGalanina
@OlgaGalanina 5 ай бұрын
А это какой язык?
@devmark
@devmark 5 ай бұрын
Это Java
@loam
@loam 5 ай бұрын
Европа и Азия - это не отдельные континенты. Это части света. А расположены они на одном континенте - Евразия
@devmark
@devmark 5 ай бұрын
Спасибо за уточнение!
@st0nedcreature17
@st0nedcreature17 5 ай бұрын
Жаль, не то, что я искал. Как импортировать в пустой проект в датагрип скачанную постгрес базу?
@devmark
@devmark 5 ай бұрын
Датагрип - это не сама база, а клиент к ней. Поэтому "импортировать базу" в него нельзя. В него можно импортировать или создать настройку подключения к БД. А у вас, как я понимаю, скачан бэкап базы. Поэтому вначале вам этот бэкап надо где-то развернуть (например, локально), а потом уже подключаться.
@st0nedcreature17
@st0nedcreature17 5 ай бұрын
@@devmark понятно, спасибо. Я понял, что это клиент, я просто с БД не работал никогда, у меня вся работа только на уровне тестирования фронта и бэка была, я дальше не заходил, а тут всё оказалось сложнее малость, чем я ожидал).
@mustFLEXboi
@mustFLEXboi 5 ай бұрын
На собесе спросили. Благодаря видео все понял. Особо в принципе и не сложно если понимать как под капотом спринга кешируется и проксируется
@user-zd3qw7le5c
@user-zd3qw7le5c 5 ай бұрын
скажите пожалста . . . как сделать отображение РАЗВЕРНУТОГО МЕНЮ как у вас ?????? . . . у меня оно по умолчание свернуто . . . чтобы развернуть нужно постоянно щелкать
@devmark
@devmark 5 ай бұрын
Какое меню вы имеете в виду?
@user-zd3qw7le5c
@user-zd3qw7le5c 5 ай бұрын
@@devmark я имел в виду ГЛАВНОЕ МЕНЮ . . . уже разобрался - в настойках нужно скорректировть
@dimaisaev8232
@dimaisaev8232 5 ай бұрын
Очень плохое видео для новичков в алгоритмах, абсолютно ничего не объясняется. Но для того, чтобы освежить в памяти, для тех, кто и так знает - норм
@godzosioda
@godzosioda 6 ай бұрын
Спасибо за много нового-полезного, продолжай делать видео!
@evgeniiminikeev9331
@evgeniiminikeev9331 6 ай бұрын
Спасибо за видео!
@mikhailkarpovdev
@mikhailkarpovdev 6 ай бұрын
Разве linenumberreader не расширяет bufferedreader? Зачем нужна лишняя промежуточная обертка?
@devmark
@devmark 6 ай бұрын
Да, вы правы! Действительно расширяет и в явном виде буферизация тут не нужна. Поправил статью devmark.ru/article/line-count-in-text-file