- 83
- 1 114 964
Sergey Arkhipov Java Tutorials
Germany
Приєднався 16 сер 2013
Всем привет!
На этом канале я регулярно публикую разборы разных алгоритмов и приемов Java и Android разработки.
Основная цель - поделиться тем, что мне кажется наиболее полезным и интересным.
Стараюсь постоянно повышать качество подачи и информативность материала.
Если мои ролики были вам полезны, значит моя задача выполнена!)
Появились вопросы или хотите увидеть разбор какой-то темы на канале - не стесняйтесь писать комментариях.
Вместе поднимем отечественную IT индустрию!)
На этом канале я регулярно публикую разборы разных алгоритмов и приемов Java и Android разработки.
Основная цель - поделиться тем, что мне кажется наиболее полезным и интересным.
Стараюсь постоянно повышать качество подачи и информативность материала.
Если мои ролики были вам полезны, значит моя задача выполнена!)
Появились вопросы или хотите увидеть разбор какой-то темы на канале - не стесняйтесь писать комментариях.
Вместе поднимем отечественную IT индустрию!)
Java. Задачка с собеседования.
Разбор задачи которую мне пришлось как-то решать на собеседовании. Интервьюер хотел таким образом проверить, что я могу что-то внятное накодить в условиях собеседования)
Поддержать канал на Boosty:
boosty.to/arhitutorials
Поддержать канал💰:
yoomoney.ru/to/410018856244871
Наш чатик в Telegram:
t.me/ArhiTutorials
Музыка с финальной заставки за авторством:
Karl Casey @ White Bat Audio
Поддержать канал на Boosty:
boosty.to/arhitutorials
Поддержать канал💰:
yoomoney.ru/to/410018856244871
Наш чатик в Telegram:
t.me/ArhiTutorials
Музыка с финальной заставки за авторством:
Karl Casey @ White Bat Audio
Переглядів: 3 164
Відео
Java. Рекурсия и цикл.
Переглядів 1,7 тис.3 місяці тому
В видео рассматривается рекурсия как аналог цикла. Показано, как можно использовать хвостовую рекурсию в функциональных языках программирования. Поддержать канал на Boosty: boosty.to/arhitutorials Поддержать канал💰: yoomoney.ru/to/410018856244871 Наш чатик в Telegram: t.me/ArhiTutorials Упомянутый ролик на ExtremeCode: ua-cam.com/video/IMYUt2SFCnM/v-deo.html Музыка с финальной заставки за автор...
Особенности работы Android приложений. Фоновая работа внутри процесса.
Переглядів 1,5 тис.5 місяців тому
Данное видео создано для формирования у начинающих Android-разработчиков практического понимания, как выполняется фоновая работа внутри процесса Android приложения, и какую роль в этом играют компоненты Activity и Service. Поддержать канал на Boosty: boosty.to/arhitutorials Наш чатик в Telegram: t.me/ArhiTutorials #arhitutorialsjava #ityoutubersru
RxJava. Неформальное введение.
Переглядів 6 тис.9 місяців тому
В данном видео я рассказываю, что такое RxJava. Для пояснения использую аналогию со Stream API, и примеры использования. Исходный код для примеров тут: github.com/Arhiser/java_tutorials/tree/master/src/ru/arhiser/rxjava Поддержать канал на Boosty: boosty.to/arhitutorials Наш чатик в Telegram: t.me/ArhiTutorials #arhitutorialsjava #ityoutubersru
Java. Enum на примерах.
Переглядів 9 тис.11 місяців тому
В данном видео я рассказываю о Enum в языке программирования Java. Показываю разные варианты применения Enum на примерах. Поддержать канал на Boosty: boosty.to/arhitutorials Наш чатик в Telegram: t.me/ArhiTutorials #arhitutorialsjava #ityoutubersru
Java. Bogosort. Случайная сортировка.
Переглядів 2,1 тис.Рік тому
Специальный первоапрельский выпуск. Рассматриваем алгоритм случайной сортировки, с целью практического применения ;) Поддержать канал на Boosty: boosty.to/arhitutorials Наш чатик в Telegram: t.me/ArhiTutorials Исходники: github.com/Arhiser/java_tutorials/blob/master/src/ru/arhiser/sort/bogo/Main.java Оглавление по алгоритмам: github.com/Arhiser/java_tutorials/blob/master/README.md Упоминаемые с...
Java. Для чего нужен Optional?
Переглядів 12 тис.Рік тому
В этом видео рассказывается, когда и почему следует применять Optional при разработке на языке программирования Java. Поддержать канал на Boosty: boosty.to/arhitutorials Наш чатик в Telegram: t.me/ArhiTutorials #arhitutorialsjava #ityoutubersru
Java. Распараллеливаем вычисления на пуле потоков.
Переглядів 6 тис.Рік тому
Разбираемся, как можно по простому ускорить вычисления с помощью параллельного выполнения на пуле потоков. Исходные коды: github.com/Arhiser/java_tutorials/tree/master/src/ru/arhiser/multithreading/parallel2 Поддержать канал на Boosty: boosty.to/arhitutorials Наш чатик в Telegram: t.me/ArhiTutorials #arhitutorialsjava #ityoutubersru
Java. Разбираемся с монадами.
Переглядів 10 тис.Рік тому
В этом видео я объясняю на примерах монады, и какая польза от них для Java разработчика. Разбираем что такое монады, как они устроены и для чего применяются. Упор делается на практическую сторону вопроса. Исходные коды: github.com/Arhiser/java_tutorials/tree/master/src/ru/arhiser/funcops/monad Поддержать канал на Boosty: boosty.to/arhitutorials Наш чатик в Telegram: t.me/ArhiTutorials #arhituto...
Java. Dithering. Алгоритм генерации черно-белых изображений.
Переглядів 3,2 тис.Рік тому
В этом видео я рассказываю о генерации изображений, которые состоят только из двух цветов - черного и белого. Разбираем соответствующий алгоритм на языке программирования Java. Исходные коды: github.com/Arhiser/java_tutorials/blob/master/src/ru/arhiser/dithering/Main.java Класс Utils: github.com/Arhiser/java_tutorials/blob/master/src/ru/arhiser/Utils.java Изображения из видео можно найти тут: g...
Java. Fluent Interface.
Переглядів 5 тис.Рік тому
В этом видео разговор идет о таком приеме в разработке, как Fluent Interface. Это когда вызовы методов объекта объединяются в цепочку. На примерах показываются варианты использования данного приема, и как его написать на языке программирования Java. Поддержать канал на Boosty: boosty.to/arhitutorials Наша группа в Telegram: t.me/ArhiTutorials #ArhiTutorialsJava #ityoutubersru
Java. Системы счисления. Алгоритм перевода в произвольную систему счисления.
Переглядів 5 тис.2 роки тому
В данном видео рассматривается устройство позиционных систем счисления. Реализуется на языке программирования Java алгоритм, позволяющий генерировать представление целого числа в любой произвольной системе счисления. Стать спонсором канала: ua-cam.com/channels/Akz1bYTFyaNa9oTFtOscCg.htmljoin Поддержать канал💰: yoomoney.ru/to/410018856244871 Исходники: github.com/Arhiser/java_tutorials/blob/mast...
Как устроен Android и его приложения.
Переглядів 19 тис.2 роки тому
В данном видео я рассказываю о том, как работает мобильная ОС Android, и как устроены ее приложения. Рассматриваются компоненты и механизмы лежащие в основе работы мобильных приложений для Android. Стать спонсором канала: ua-cam.com/channels/Akz1bYTFyaNa9oTFtOscCg.htmljoin Поддержать канал💰: yoomoney.ru/to/410018856244871 00:00 - Введение 00:22 - Устройство Android 01:50 - Виртуальная машина Da...
Java. Сортировка расческой. От пузырька до расчески.
Переглядів 5 тис.2 роки тому
В этом видео разбирается алгоритм сортировки расческой. Показывается, что алгоритм сортировки расческой является обобщением идеи сортировки пузырьком. Стать спонсором канала: ua-cam.com/channels/Akz1bYTFyaNa9oTFtOscCg.htmljoin Исходники: github.com/Arhiser/java_tutorials/tree/master/src/ru/arhiser/sort/comb Оглавление по алгоритмам: github.com/Arhiser/java_tutorials/blob/master/README.md #ArhiT...
Java. Проблема с null. Null safety.
Переглядів 10 тис.2 роки тому
В этом видео я рассказываю о проблеме с null в языке программирования Java, из-за которой возникает печально известное NullPointerExeption. Даю некоторые рекомендации по организации кода для борьбы с этой проблемой и повышения надежности работы программ.
Код для визуализации алгоритмов сортировки на Java. Обзор.
Переглядів 3,9 тис.2 роки тому
Код для визуализации алгоритмов сортировки на Java. Обзор.
Уровни профессионального развития разработчика: Junior, Middle, Senior.
Переглядів 6 тис.2 роки тому
Уровни профессионального развития разработчика: Junior, Middle, Senior.
Java. Многопоточность. Как устроить Deadlock.
Переглядів 9 тис.2 роки тому
Java. Многопоточность. Как устроить Deadlock.
О процессе обучения программированию.
Переглядів 7 тис.2 роки тому
О процессе обучения программированию.
Java. Задача о рюкзаке. Динамическое программирование.
Переглядів 17 тис.2 роки тому
Java. Задача о рюкзаке. Динамическое программирование.
Размышления об архитектуре. Борьба со сложностью.
Переглядів 2,3 тис.2 роки тому
Размышления об архитектуре. Борьба со сложностью.
Android. Пишем приложение - живые обои.
Переглядів 4,5 тис.2 роки тому
Android. Пишем приложение - живые обои.
Java. Алгоритм генерации фрактального шума.
Переглядів 4,1 тис.2 роки тому
Java. Алгоритм генерации фрактального шума.
Java. Об Iterator и Iterable c примерами.
Переглядів 24 тис.2 роки тому
Java. Об Iterator и Iterable c примерами.
Android. Работаем с камерой через CameraX.
Переглядів 9 тис.2 роки тому
Android. Работаем с камерой через CameraX.
Java. Представление отрицательных чисел. Преобразование цветной фотографии в черно-белую.
Переглядів 3,6 тис.2 роки тому
Java. Представление отрицательных чисел. Преобразование цветной фотографии в черно-белую.
Android. Пишем приложение - будильник.
Переглядів 30 тис.2 роки тому
Android. Пишем приложение - будильник.
IDEA. Горячие клавиши и эффективная работа для начинающих.
Переглядів 7 тис.2 роки тому
IDEA. Горячие клавиши и эффективная работа для начинающих.
spasibo!!!!!
За первые 6 минут разобрался. С удовольствием досмотрел. Очень понятно обьяснил. Спасибо!
Дерево состоит из деревьев или из нод?
Спасибо тебе, добрый человек
спасибо
Получается, что wildcards нужны как раз для того, чтобы обойти свойство инвариантности у производных классов от классов с использованием параметризованных типов (дженериков). Если я правильно это понял
Спасибо
Теперь это уже на trainee спрашивают)
а что за число 31 в функции хешкод?
Нужно простое число, чтоб получилась хорошая хэш-функция. Это связано со свойствами простых чисел.
int[] nums = {99, -10, 100123, 18, -978, 5623, 463, -9, 287, 49}; int a, b, t; int size; size = 10; System.out.print("Исходный массив:"); for(int i = 0; i < size; i++) { System.out.print(" " + nums[i]); } System.out.println(); // Пузырьковая сортировка for(a=1; a < size; a++) { for(b=size - 1; b >= a; b--) { if(nums[b - 1] > nums[b]) { t = nums[b-1]; nums[b-1] = nums[b]; nums[b] = t; } } } System.out.print("Отсортированный массив:"); for(int i = 0; i < size; i++) { System.out.print(" " + nums[i]); } System.out.println(); Вот по книге Герберта Шилдта
Спасибо Сергей! Узнал много нового 👍
Сергей, большая вам благодарность! Вы очень четко, последовательно и понятно объясняете материал! Успехов вам во всем!
было бы хорошо увидеть примеры одного и того же элементарного приложения, написанного в трех разных стилях, потому что на словах не очень понятно
никого не смущает while в while и соответственно сложность n^2?
Не жалко потратить время и настрочить комментарий) Спасибо, очень полезное и приятное видео.
Серега, обожаю твои уроки! Все на высшем уровне. Так это получается такой алгоритм работает, когда мы на Windows нажимаем "Сжать файл"???
Скорее всего не совсем такой. Этих алгоритмов много, под каждую задачу можно подобрать подходящий.
@@arhitutorials спасибо, Серёга. Ты ТОП!
Отличное видео. Спасибо за доступное и понятное объяснение!
Спасибо!
Спасибо Сергей
Большое спасибо Сергей. Очень приятная музыка на фоне, идеально для изучения алгоритмов.
Классное видео , спасибо !
Никакого сжатия строки не получилось, для исходной строки вы действительно рассчитываете РАЗМЕР строки в битах, а для "сжатой" строки просто выводите количество символов методом length(), но не считаете размер в битах! Грубая ошибка!
Хорошо.
о.... , автор знает толк в извращениях...
Супер Лайк +++
И каждый разработчик считает что его приложение особенное в итоге куча фона весит которое жрёт все ресурсы, а вот это бесит что процессы не убиваться когда их нужно убрать
ошибка. во всех циклах д.б. i * i <= number
Спасибо за наглядность.
Если применить рекурсию для подстрок в скобках, было бы лучше и понятнее. А, кстати, где же здесь рекурсия, объявленная в названии видео?
цикл for следует ограничить text - sample, что бы не гонять лишние инструкции в цикле while
Если в массиве окажется элемент со значением Integer.MAX_VALUE, алгоритм задачку не решит. Решение не годится для практической реализации.
00:50 сам линукс это только ядро и есть, то о чём вы говорите называется ОС, например GNU/Linux, Debian, Yocto, OpenWRT и т.д., Android в том числе.