Какой технологический прорыв нас ждет в 2025 году?

Да, вопрос интересный! 😄 Предсказания о технологических прорывах всегда требуют анализа текущих тенденций, заявлений крупных технологических компаний и исследований. Давайте рассмотрим вероятные направления, которые могут удивить нас в 2025 году:…

Продолжить чтениеКакой технологический прорыв нас ждет в 2025 году?

13 правил “чистого кода” для методов

Принципы применения “чистого кода” для методов позволяют улучшить читаемость, сопровождение и тестируемость кода. Вот основные правила, которые помогают создавать правильный, "чистый" код в методах: 1. Метод должен быть коротким •…

Продолжить чтение13 правил “чистого кода” для методов

“Чистый код” – основа хороших программ

"Чистый код" – это код, который читается как хорошо написанная книга, а не как загадочный шифр. “Чистый код” в контексте наименований переменных означает использование таких имен переменных, которые делают код…

Продолжить чтение“Чистый код” – основа хороших программ

ChatGPT, что ты знаешь про меня?

  • Автор записи:
  • Рубрика записи:О Java

Расскажи все, что ты знаешь обо мне. Начни с моей персональной информации - имя, возраст, опиши мой род деятельности, опиши мой характер. Конечно, Леонид, вот что я знаю о вас:…

Продолжить чтениеChatGPT, что ты знаешь про меня?

Концепция “ikigai” – о чем это?

  • Автор записи:
  • Рубрика записи:О Java

Ikigai — это японская концепция, которая в переводе означает «причина быть» или «причина для жизни». Она представляет собой пересечение четырех сфер жизни: 1. То, что вы любите (Ваши страсти и…

Продолжить чтениеКонцепция “ikigai” – о чем это?

Топ-3 важнейших навыка программиста

Мы все представляем себе "хорошего программиста" как персону, обладающую примерно вот таким списком качеств и умений: - знает (и не один!) язык программирования- виртуозно пользуется компьютером и разными гаджетами- проявляет…

Продолжить чтениеТоп-3 важнейших навыка программиста

Как пользоваться Collectors.groupingBy при работе со stream()?

Collectors.groupingBy — это метод, который используется для группировки элементов потока (Stream) на основе заданного критерия. Он позволяет создать Map, где ключом будет выступать значение, возвращаемое функцией группировки, а значением —…

Продолжить чтениеКак пользоваться Collectors.groupingBy при работе со stream()?

Чем занят spliterator()?

Поговорим про Stream API. Верно ли, что для работы stream() нужет spliterator()? Или это неверное утверждение? На самом деле, для работы stream() напрямую Spliterator не обязателен. Однако Spliterator — это…

Продолжить чтениеЧем занят spliterator()?

Кто придумал ООП?

Объектно-ориентированное программирование (ООП) зародилось в 1960-х годах благодаря работе Оле-Йохана Даля и Кристена Нюгорда, двух норвежских компьютерных ученых. Они разработали первый объектно-ориентированный язык программирования Simula (в оригинальной версии 'Simula 67').…

Продолжить чтениеКто придумал ООП?

О чем может поведать map?

Английское слово "map" переводится на русский как "карта". Но в программировании оно также может подразумевать: Отображение или сопоставление — поскольку в структуре данных Map каждому ключу сопоставляется определённое значение, что…

Продолжить чтениеО чем может поведать map?

Это карта сокровищ?

Для чего, для каких задач используют Map<K, V> ? Интерфейс Map<K, V> и объекты на основе его реализаций – HashMap< K, V> или TreeMap<K, V> в Java используется для хранения…

Продолжить чтениеЭто карта сокровищ?

Что это у нас выросло? А, это красно-черное дерево!

Красно-черное дерево — это особый вид бинарного дерева поиска, который "самобалансируется", чтобы сохранить быструю скорость работы для основных операций: вставки, удаления и поиска. Балансировка помогает сделать все действия эффективными даже…

Продолжить чтениеЧто это у нас выросло? А, это красно-черное дерево!

И немного о рекурсии…

Роберт К, один из моих лучших учеников, подготовил рассказ о рекурсии, которую не так уж часто используют, и уж совсем редко объясняют... https://youtu.be/f3fRCjB4Evk

Продолжить чтениеИ немного о рекурсии…

Задача: Найти общих друзей двух пользователей

Вот задача, которая требует применения HashSet для решения проблемы на основе пересечений множеств. Задача: Найти общих друзей двух пользователей Описание В социальной сети у каждого пользователя есть список друзей. Напиши…

Продолжить чтениеЗадача: Найти общих друзей двух пользователей

Слияние и сортировка списков чисел

Вот интересная задача на слияние двух ArrayList: Задача: Слияние и сортировка списков чисел Напишите программу, которая объединяет два списка целых чисел (ArrayList<Integer>), удаляет из объединенного списка дубликаты и сортирует его…

Продолжить чтениеСлияние и сортировка списков чисел

Можно ли заполнить ArrayList с помощью цикла for each?

Нет, заполнить ArrayList с помощью цикла for-each напрямую нельзя, так как этот цикл предназначен только для итерации по элементам коллекции, а не для добавления новых элементов в нее. В for-each…

Продолжить чтениеМожно ли заполнить ArrayList с помощью цикла for each?

В чем “прелести” ArrayList?

ArrayList гибок и услужлив, как прекрасная восточная служанка. С ним не надо думать о количестве хранимых в коллекции элементов. В отличие от массивов, ArrayList сам подстроится и увеличит при необходимости…

Продолжить чтениеВ чем “прелести” ArrayList?

Кто управляет итератором?

В Java управление итератором происходит за счет объекта-итератора, который создается для коллекции с помощью метода iterator(). Итератором управляет сам программист, и он отвечает за вызов методов итератора для обхода элементов…

Продолжить чтениеКто управляет итератором?

Кто-то вызывает метод… Кто этот кто-то?

Объект или класс - это неодушевленный предмет. По хорошему нужно говорить, что "что-то вызывает метод". Почему так не говорят? Вы правы! Когда говорят, что «кто-то вызывает метод», это, конечно, образное…

Продолжить чтениеКто-то вызывает метод… Кто этот кто-то?

Кто имеет доступ к методу?

В Java "кто-то", кто имеет доступ к методу, — это любой объект или класс, который имеет к нему доступ в зависимости от модификатора доступа, который указан в сигнатуре метода. Давайте…

Продолжить чтениеКто имеет доступ к методу?

Можно ли заполнить ArrayList циклом for each?

Нет, заполнить ArrayList с помощью цикла for-each нельзя, так как этот цикл предназначен только для чтения элементов в коллекции, но не для добавления или изменения её структуры. for-each в Java…

Продолжить чтениеМожно ли заполнить ArrayList циклом for each?

Как выбрать коллекцию из Java Collection Framework для решения конкретной задачи?

Можно ли утверждать, что на выбор используемой из Java Collections структуры влияют два основных фактора: Наличие или отсутствие в коллекции дубликатов Вычислительная сложность алгоритмов во внутренних методах коллекции Это верно?…

Продолжить чтениеКак выбрать коллекцию из Java Collection Framework для решения конкретной задачи?

Объект типа List<> бывает?

Когда мы пишем такой код: List<String> myList = new ArrayList<>(); мы создаем объект типа ArrayList, но не объект типа List. Дело в том, что List является интерфейсом, а не конкретным…

Продолжить чтениеОбъект типа List<> бывает?

Зачем в Java нужны интерфейсы и абстрактные классы?

Использование интерфейсов в проектировании программного обеспечения позволяет разделить процесс разработки на два этапа: Этап проектирования интерфейсов:На этом этапе определяется, какие методы и свойства будут у интерфейса, что задает структуру взаимодействия…

Продолжить чтениеЗачем в Java нужны интерфейсы и абстрактные классы?

Чем замечателен метод System.arraycopy?

Метод System.arraycopy() в Java выделяется своей производительностью и удобством, когда нужно быстро копировать элементы из одного массива в другой. Вот несколько ключевых особенностей этого метода: Высокая производительность: System.arraycopy() написан на…

Продолжить чтениеЧем замечателен метод System.arraycopy?

В чем польза Pomodoro Timer для программиста?

Pomodoro Timer (таймер Помодоро) — это метод управления временем, который помогает повысить продуктивность и сосредоточенность на задачах. Его придумал итальянский студент Франческо Чирилло в конце 1980-х годов. Название «Помодоро» (в…

Продолжить чтениеВ чем польза Pomodoro Timer для программиста?

Как часто надо вставать из-за компьютера?

Для сохранения здоровья при длительной работе за компьютером важно делать регулярные перерывы, чтобы избежать усталости, напряжения в глазах и проблем с осанкой. Рекомендации по частоте перерывов: 1. Правило 20-20-20 для…

Продолжить чтениеКак часто надо вставать из-за компьютера?

Сколько раз тебе повторять?

Сколько раз надо человеку что-то повторить, чтобы запомнить или научится что-то делать? Количество повторений, необходимых для запоминания или обучения навыку, зависит от нескольких факторов, включая сложность задачи, индивидуальные особенности человека,…

Продолжить чтениеСколько раз тебе повторять?

RegEx валидатор для популярных значений

Постановка задачи: Создайте регулярные выражения для следующих проверок: a) Credit card number (8-16 digits) b) Date (Format: DD.MM.YYYY) c) Date (Format: YYYY-MM-DD) d) Phone Number (Format: +99(99)9999-9999) e) Number less…

Продолжить чтениеRegEx валидатор для популярных значений
Подробнее о статье Ада Лавлейс – первая программистка в мире
Screenshot

Ада Лавлейс – первая программистка в мире

Первую программистку в мире звали Ада Лавлейс (полное имя — Августа Ада Кинг, графиня Лавлейс). На английском пишется как Ada Lovelace. Полное имя — Augusta Ada King, Countess of Lovelace.…

Продолжить чтениеАда Лавлейс – первая программистка в мире

Static или обойдемся без него?

Является ли static модификатором? Да, в Java static — это модификатор, который используется для обозначения членов класса (переменных, методов, вложенных классов), которые принадлежат самому классу, а не конкретным его экземплярам…

Продолжить чтениеStatic или обойдемся без него?

Дважды два четыре?

Такой вопрос на собеседовании – это не намек на знание антиутопии Джорджа Оруэлла, как культового произведения литературы. Это скорее намек на знание и понимание систем счисления. Для программиста знание двоичной…

Продолжить чтениеДважды два четыре?

Функциональные интерфейсы – вспомнить всё!

Это просто, как чайник - налил воды, нажал кнопку, получил кипяток. В Java функциональные интерфейсы являются интерфейсами, которые содержат только один абстрактный метод (но могут иметь несколько статических и/или default…

Продолжить чтениеФункциональные интерфейсы – вспомнить всё!

Что думает ChatGPT о развитии ИИ?

Сегодня, 11 октября 2024 года, я спросил ChatGPT: "Что ты думаешь о развитии ИИ?" Вот его ответ: Мои мысли о развитии искусственного интеллекта основаны на анализе информации, а не на…

Продолжить чтениеЧто думает ChatGPT о развитии ИИ?

Стив Джобс о пользе изучения программирования

"Все должны учиться программировать, потому что это учит мыслить." Стив Джобс (основатель Apple)

Продолжить чтениеСтив Джобс о пользе изучения программирования

Стирание типов в Java – о чем это и для чего?

Стирание типов (Type Erasure) — это механизм в языке Java, связанный с обобщениями (generics). Он был введен для того, чтобы обеспечить совместимость с кодом, написанным до появления обобщений, и сводится…

Продолжить чтениеСтирание типов в Java – о чем это и для чего?

Какова формула успешного обучения?

Формула успешного обучения конечно может варьироваться в зависимости от целей, контекста и индивидуальных особенностей каждого человека. Однако можно выделить несколько ключевых компонентов: Цель и мотивация: Постановка целей: Четкое понимание, чего…

Продолжить чтениеКакова формула успешного обучения?

Что главное в программировании?

Главное в программировании конечно зависит от актуального контекста и целей, но есть несколько ключевых аспектов, которые важны практически в любой ситуации: 1. Понимание проблемы и требований Прежде чем начать писать…

Продолжить чтениеЧто главное в программировании?

Как Java хранит объекты?

В Java объекты хранятся в динамической памяти, называемой кучей (heap). Управление памятью в Java основано на механизме автоматической сборки мусора (Garbage Collection), который периодически освобождает память, занимаемую объектами, к которым…

Продолжить чтениеКак Java хранит объекты?

Java – какие тенденции развития?

  • Автор записи:
  • Рубрика записи:О Java

Тенденции развития Java связаны с несколькими ключевыми направлениями, которые отражают как эволюцию языка, так и адаптацию к современным вызовам и потребностям разработчиков. Вот основные из них: 1. Частые релизы и…

Продолжить чтениеJava – какие тенденции развития?

Интерфейс в Java – это класс?

Нет, строго говоря, интерфейс в Java не является классом. Это отдельный тип конструкции в языке программирования, предназначенный для определения абстрактных контрактов (наборов методов), которые классы могут реализовывать. Хотя интерфейсы и…

Продолжить чтениеИнтерфейс в Java – это класс?

Семь нот программирования

Бит В основе всего был, есть и будет "бит" - минимальная единица информации, которую способен хранить и обрабатывать компьютер. Бит содержит в себе ноль или единицу. Компьютер умеет записать в…

Продолжить чтениеСемь нот программирования

Область видимости в Java

Понятие "область видимости" в Java применимо только к переменным или еще к чему-то? Отличный вопрос! В Java понятие области видимости (или scope) относится не только к переменным, но и к…

Продолжить чтениеОбласть видимости в Java

Генри Форд об обучении

"Любой, кто перестает учиться, стареет, независимо от того, сколько ему лет. Любой, кто продолжает учиться, остается молодым." Ге́нри Форд (англ. Henry Ford; 30 июля 1863 — 7 апреля 1947) — американский промышленник, владелец заводов по производству автомобилей по всему миру, изобретатель, рационализатор, организатор…

Продолжить чтениеГенри Форд об обучении

Цитата Сократа о знании

Всем известна цитата Сократа о знании: Я знаю, что ничего не знаю. Но мало кто ее знает в полном объеме. На самом деле цитата звучит так: Я знаю, что ничего…

Продолжить чтениеЦитата Сократа о знании

Ларри Уолл о достоинствах программиста

"Многие из вас знакомы с достоинствами программиста. Их всего три, и разумеется это: лень, нетерпеливость и гордыня." Ларри Уолл Ларри Уолл — известный американский программист, лингвист и писатель. Наиболее известен…

Продолжить чтениеЛарри Уолл о достоинствах программиста

Дональд Кнут о языке программирования

"Самая важная вещь в языке программирования — его имя. Язык не будет иметь успеха без хорошего имени." Дональд Кнут Дональд Эрвин Кнут — выдающийся американский учёный в области информатики, математик…

Продолжить чтениеДональд Кнут о языке программирования

Методы в Java – почему так трудно их писать?

Проблема заключается в том, что при формировании сигнатуры метода необходимо ответить на ряд важных вопросов, понимая теорию и последствия принимаемых решений. Выбор модификатора - когда писать private? когда public? когда…

Продолжить чтениеМетоды в Java – почему так трудно их писать?

Откуда есть пошла Java

  • Автор записи:
  • Рубрика записи:О Java

Язык программирования Java был создан Джеймсом Гослингом и Патриком Ноттоном, сотрудниками компании Sun Microsystems, при поддержке Билла Джоя, сооснователя Sun Microsystems. Компания Sun официально представила язык Java на конференции SunWorld…

Продолжить чтениеОткуда есть пошла Java

Зоны ближайшего развития по Выгодскому

Знакомая область Может освоить сам Может освоить с наставником Не может освоить сейчас Зона ближайшего развития (ЗБР)  — теоретический конструкт о пространстве задач, которые ребенок (обучающийся) не может освоить самостоятельно, но способен освоить с…

Продолжить чтениеЗоны ближайшего развития по Выгодскому

Ступени обучения Гербарта

Иога́нн Фри́дрих Ге́рбарт (нем. Johann Friedrich Herbart; 4 мая 1776, Ольденбург, Священная Римская империя, — 14 августа 1841, Гёттинген, королевство Ганновер) — немецкий философ, психолог, педагог. Один из основателей научной педагогики. Ясность, понимание сути нового понятия или знания Ассоциация, установление…

Продолжить чтениеСтупени обучения Гербарта

12 важных веб-сайтов, о которых должен знать каждый программист

1. W3Schools W3Schools — это всеобъемлющий ресурс для изучения веб-технологий, охватывающий HTML, CSS, JavaScript и многое другое. Он предлагает множество уроков и примеров, что делает его очень подходящим для начинающих. 2.…

Продолжить чтение12 важных веб-сайтов, о которых должен знать каждый программист

Пифагор об учении

"Учение — это огонь, который разгорается от искры, переброшенной из одной души в другую." Пифагор, древнегреческий математик

Продолжить чтениеПифагор об учении

Козьма Прутков о решении проблемм

"Если хочешь быть здоров, мочись смело!" Козьма Прутков, вымышленный литературный персонаж, созданный в середине 19 века группой русских писателей, включая Алексея Толстого и братьев Жемчужниковых. Он известен своими афоризмами и…

Продолжить чтениеКозьма Прутков о решении проблемм

Бил Гейтс о ленивых

"Я выбираю ленивого человека для выполнения трудной работы. Потому что ленивый человек найдет легкий способ сделать это." Бил Гейтс, основатель Microsoft

Продолжить чтениеБил Гейтс о ленивых
Подробнее о статье Эйнштейн о его трудностях в математике
Альберт Эйтштейн

Эйнштейн о его трудностях в математике

"Не беспокойтесь о трудностях в математике; уверяю вас, мои трудности были гораздо больше." Альберт Эйнштейн

Продолжить чтениеЭйнштейн о его трудностях в математике

Привет, Java!

Добро пожаловать в мир программирования на Java. Java используется в самых разных областях, включая разработку: Веб-приложений (с использованием таких фреймворков, как Spring), Мобильных приложений (Android-разработка), Корпоративных приложений, Программ для работы…

Продолжить чтениеПривет, Java!