JavaStart @javastarttech Channel on Telegram

JavaStart

@javastarttech


Учи Java вместе с нами!
Наша платформа с курсом - https://javastart.tech
Ютуб с обучающими видео - https://www.youtube.com/@javastart_tech

JavaStart (Russian)

Добро пожаловать в канал JavaStart! Если вы хотите научиться программировать на Java, то вы попали по адресу. Наш канал предлагает уникальные курсы по изучению Java, которые помогут вам освоить этот профессиональный язык программирования. Мы предоставляем доступ к нашей платформе с курсами по Java, которые разработаны специально для тех, кто только начинает свой путь в программировании. На нашем YouTube канале также можно найти обучающие видео, которые помогут вам более гоще понять принципы работы Java. Присоединяйтесь к нам и начните свое увлекательное путешествие в мир программирования с JavaStart!

JavaStart

20 Nov, 15:56


JavaStart. Подписаться

JavaStart

19 Nov, 15:16


SQL, базы данных. Часть 6.

Реляционная база данных — это пространство, в котором связанную информацию хранят в нескольких таблицах. При этом есть возможность запрашивать информацию в нескольких таблицах одновременно.

А теперь о том же самом, но простым языком. Допустим бизнесмен желает видеть информацию о продажах своего товара. Для этого можно настроить электронную таблицу в «Excel» со всей информацией, которую надо отслеживать, в виде отдельных столбцов:

– номер заказа;
– дата;
– сумма к оплате;
– номер накладной;
– имя клиента, адрес и телефон.

Эта сработает, когда заказ от покупателя всего один. А когда их несколько или десятки, сотни?

Если продолжать вносить сведения в таблицу Excel, обнаружится, что одинаковая информация (имя, адрес и номер телефона) хранятся в нескольких строках электронной таблицы. Так появляются избыточные данные.

По мере роста бизнеса и увеличения количества отслеживаемых заказов эти избыточные данные будут занимать место, снизят эффективность этой примитивной системы отслеживания продаж.

Также можно столкнуться с проблемами с целостностью данных. Например, нет гарантии, что каждое поле будут заполнять правильным типом информации или что имя и адрес будут вводить каждый раз одинаково.

С реляционной базой таких проблем не будет. Можно настроить две таблицы: одну — для заказов, вторую — для клиентов.

Таблица «клиенты» будет включать уникальный идентификационный номер для каждого, а также имя, адрес и номер телефона, которые уже отслеживают.

Таблица «заказы» будет включать номер заказа, дату, сумму к оплате, номер накладной. А вместо отдельного поля для каждого элемента данных о заказчике будет столбец для «идентификатора клиента».

Это позволит получить всю информацию о клиенте для любого конкретного заказа, но благодаря SQL нужно сохранить ее только один раз, а не выводить повторно для каждого отдельного заказа.

JavaStart. Подписаться

JavaStart

15 Nov, 09:47


JavaStart. Подписаться

JavaStart

14 Nov, 15:38


SQL, базы данных. Часть 5.

Аббревиатура SQL расшифровывается как Structured Query Language (язык структурированных запросов). Это своеобразный язык, предназначенный для того, чтобы извлекать конкретную информацию из баз данных (database) и оперировать с этой информацией. Другими словами, это язык баз данных.

Если вы до сих пор не поняли, как используются базы данных в повседневной жизни, предлагаю несколько примеров:

– телефонный справочник;
– учет сотрудников организации;
– учет преподавателей и их расписания в вузах;
– регистратура в больнице или другом учреждении.

Зачем нужен SQL?

Большинство компаний хранят свои сведения в базах данных. Представьте любой крупный онлайн магазин. И такие компании используют хотя бы одну из баз данных (например, MySQL, PostgreSQL, Microsoft SQL Server, MariaDB и др.) и со всеми ими можно взаимодействовать на языке SQL.

Независимо от того, какой язык программирования используют для реализации процессов в компании (Java, Python, C, C++), SQL все равно нужен для того, чтобы извлекать необходимую информацию из базы данных.

Основные преимущества SQL:

– точность — можно не хранить избыточные данные;

– гибкость — даже самые сложные запросы легко выполнить;

– масштабируемость — с одной БД могут работать множество пользователей;

– безопасность — доступ к данным в таблицах есть только у определенных пользователей.

JavaStart. Подписаться

JavaStart

12 Nov, 17:27


JavaStart. Подписаться

JavaStart

11 Nov, 15:49


SQL, базы данных. Часть 4.

Что такое система управления базами данных (СУБД)?

Система управления базами данных (СУБД) — это комплексное программное обеспечение, которое необходимо для управления БД. Говоря простыми словами, она представляет собой интерфейс между самой БД и пользователями.

СУБД дает возможность получать и обновлять информацию, управлять ее упорядочиванием и оптимизацией. Она также позволяет пользователю следить за производительностью, настраивать, выполнять резервное копирование и восстановление БД.

Наиболее популярным программным обеспечением для баз данных (СУБД) являются:

– MySQL;
– PostgreSQL;
– Oracle Database;
– Microsoft Access;
– Microsoft SQL Server;
– FileMaker Pro;
– dBASE.

Широкое применение получила MySQL — реляционная система управления базами данных с открытым кодом на основе языка SQL. Ее используют AirBnb, Facebook, Twitter, Uber, LinkedIn, YouTube и другие известные компании.

JavaStart. Подписаться

JavaStart

09 Nov, 19:36


JavaStart. Подписаться

JavaStart

06 Nov, 16:25


SQL, базы данных. Часть 3.

Виды баз данных.

В наши дни существует десятки типов баз данных. Наиболее популярными из них можно назвать:

– Реляционные.
Получили распространение в 1980-х годах, элементы в этой БД организованы в виде набора таблиц со строками и столбцами. Обеспечивают наиболее эффективный доступ к систематизированным данным.

– Объектно-ориентированные.
Как и в объектно-ориентированном программировании (ООП), данные в этом типе БД представлены в форме объекта.

– Хранилище данных.
Предназначаются для быстрого анализа и выполнения запросов.

– Распределенные.
Состоят из двух и более файлов, которые находятся в разных узлах. Могут храниться на нескольких компьютерах в пределах одного физического места или распределяться по различным сетям.

– Графовые.
Хранят данные в контексте сущностей и связей между ними.

– Иерархические.
Представление баз данных здесь происходит в древовидной структуре.

– Нереляционные.
С их помощью обрабатываются и хранятся слабоструктурированные и неструктурированные данные.

– Аналитические.
Подходят для большого количества операций, выполняемых различными пользователями.

Благодаря развитию информационных технологий относительно недавно появились такие виды баз данных, как:

– автономные;
– облачные;
– с открытым исходным кодом;
– документные (JSON);
– многомодельные.

JavaStart. Подписаться

JavaStart

05 Nov, 17:32


JavaStart. Подписаться

JavaStart

04 Nov, 14:46


JavaStart. Подписаться

JavaStart

03 Nov, 13:45


SQL, базы данных. Часть 2.

Отличие баз данных от электронных таблиц.

Как и электронные таблицы вроде Microsoft Excel или Google Таблиц, базы данных предлагают пользователям удобные способы хранения информации.

Но отличия между ними имеются и заключаются они:

– в способе хранения и обработки;
– в объеме хранения;
– в полномочиях доступа к данным.

Изначально электронные таблицы создавались для одного или нескольких пользователей, которым не предстоит выполнять сложные расчеты и оперировать большим количеством информации.

Базы данных предназначены для хранения огромных объемов информации и позволяют пользователям получать доступ к нужным данным за доли секунд!

JavaStart. Подписаться

JavaStart

01 Nov, 15:39


Какой будет результат выполнения данного кода?

JavaStart. Подписаться

JavaStart

30 Oct, 15:53


SQL, базы данных. Часть 1.

Поговорим о SQL и базах данных, это одна из самых важных областей в мире backend разработки, независимо на каком языке написан проект (java и др.). Вопросы по SQL и базам данных всегда задают на собеседованиях на Java разработчика, причем как синьорам, там и джунам!

База данных (БД) — это организованная структура, которая предназначается для хранения, обработки и изменения большого количества информации.

Вы можете и не подозревать, но на самом деле вы пользуетесь ими почти каждый день. Как только вы собираетесь найти нужную информацию в поисковой системе, вы прибегаете к помощи баз данных.

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

Если вводимые логин и пароль не совпадают с тем, что уже хранится в БД, система выдаст ошибку и попросит снова ввести данные для авторизации.

Зачем нужны базы данных?

Современные базы хранят огромное количество данных, поддерживают большое количество запросов и часто дают почти моментальный ответ на них.

Перед БД ставятся вызовы, позволяющие повысить их производительность. Вот некоторые из них:

– оперирование возросшим объемом данных;
– обеспечение безопасности информации;
– удовлетворение потребностей компаний;
– обслуживание БД.

JavaStart. Подписаться

JavaStart

29 Oct, 15:49


JavaStart. Подписаться

JavaStart

24 Oct, 15:08


JavaStart. Подписаться

JavaStart

23 Oct, 16:29


Stream API в Java. Часть 11.

Stream в Java дает разработчикам удобные инструменты для обработки данных в коллекциях.

Методы позволяют проще обрабатывать объекты и писать меньше кода. Это так называемый “синтаксический сахар”.

Чтобы научиться работать эффективно с Java Stream API рекомендую просто практиковаться и в скором времени это станет для вас легко!

Раздел Stream API в Java несомненно встречается на собеседованиях на позиции Java Junior и Middle разработчиков. Поэтому разбираться в этом разделе нужно.

JavaStart. Подписаться

JavaStart

21 Oct, 16:26


JavaStart. Подписаться

JavaStart

20 Oct, 14:25


Ответ к задаче про сравнение строк:

Первое, что нужно отметить, что тут сравниваются не значения строк, а ссылки на строки. Поэтому IDE подчёркивает все равенства и предлагает правильный вариант сравнения значений строк через “equals”.

s1 и s2 это один и тот же объект, так как в Java есть пул строк, и для s2 не создается новый объект, так как в пуле уже есть строка с таким же значением.
А вот s3 создаётся через new и в пул строк не попадает. Поэтому s1 и s3 - это разные объекты, поэтому сравнение вернёт false.
s4 будет гарантированно из пула, так как вызван метод intern.
s5 работает аналогично s2.

Выводы:
1) Сравнивая объекты через == , можно не всегда получить то, что ожидаешь, поэтому лучше этого не делать и использовать метод equals. Сравнивая через ==, вы должны знать что делаете.
2) Если IDE подчёркивает код, стоит обратить на это внимание, скорее всего у вас проблемы в коде.
3) Метод intern() перед созданием объекта String смотрит, есть ли этот объект в пуле стрингов и возвращает его. Иначе создается новый объект в пуле.

JavaStart. Подписаться

JavaStart

19 Oct, 16:11


Что напечатает код?

JavaStart. Подписаться

JavaStart

18 Oct, 15:19


Stream API в Java. Часть 10.

Посмотрим несколько примеров работы сортирующих методов Stream API.

Используем ту же коллекцию строк, что и выше —
Stream.of("f10", "f15", "f2", "f4", "f4").

Единственное отличие — теперь в нем появился дубликат.

Первая задача — отсортировать строки в алфавитном порядке и добавить их в массив:

collection.stream().sorted().collect(Collectors.toList());
// [f2, f4, f4, f10, f15]

А вот чуть более интересное задание — нужно выполнить сортировку в обратном алфавитному порядке и удалить дубликаты. В массиве должны оказаться только уникальные значения:

collection.stream().sorted(String::compareTo).distinct().collect(Collectors.toList());

Здесь мы используем не только .sorted() для сортировки, но и метод .distinct() для удаления неуникальных значений при обработке коллекции.

Задачи по сортировке стримов в Java часто встречаются на собеседованиях не только на позицию Junior разработчиков, но даже и на позицию Middle!

👩‍💻 Наш практический курс Java–разработчика

JavaStart. Подписаться

JavaStart

16 Oct, 15:23


JavaStart. Подписаться

JavaStart

15 Oct, 16:13


Stream API в Java. Часть 9.

Давайте поиграемся с методами .min() и .max().

Пусть у нас будет коллекция строк вида Arrays.asList("f10", "f15", "f2", "f4").
Нужно найти самый маленький элемент:

collection.stream().min(String::compareTo).get()
// f2

Метод compareTo() – это метод, который есть у каждого объекта типа String.

С максимальным значением тоже все очень просто:

collection.stream().max(String::compareTo).get()
// f15

👩‍💻 Наш практический курс Java–разработчика

JavaStart. Подписаться

JavaStart

14 Oct, 15:49


JavaStart. Подписаться

JavaStart

13 Oct, 14:59


Stream API в Java. Часть 8.

Подробнее изучите метод .collect(). Он позволяет гибко управлять преобразованием значений в разные типы: коллекции, массивы, map. Делается это благодаря статистическим методам Collectors.

Вот несколько интересных примеров:

toList — стрим приводится к списку;

toCollection — получаем коллекцию;

toSet — получаем множество;

toConcurrentMap, toMap — если нужен map;

summingInt, summingDouble, summingLong — если требуется получить сумму чисел;

averagingInt, averagingDouble, averagingLong — если хотите вернуть среднее значение;

groupingBy — если необходимо разбить коллекцию на части.

Это не все статистические методы Collectors. Другие возможности с подробным описанием смотрите в документации. Помимо тех Collectors, которые определены в документации, можно использовать собственноручно созданные, кастомные варианты)

👩‍💻 Наш практический курс Java–разработчика

JavaStart. Подписаться

JavaStart

10 Oct, 15:20


Краткий гайд для прохождения интервью на любую позицию

JavaStart. Подписаться

JavaStart

09 Oct, 17:08


Stream API в Java. Часть 7.

После того как мы поработали с нашим стримом (или потоком) каких-либо элементов (стрим списка любых кастомных моделей Java, например, класс Car или просто список строк или объектов Integer) нужно завершить эту работу с помощью терминального оператора.

Перечислим часто встречающиеся Терминальные операторы стримов в Java.

👩‍💻 Наш практический курс Java–разработчика

JavaStart. Подписаться

JavaStart

08 Oct, 15:18


Stream API в Java. Часть 6.

В Stream API Java пока мы не вызвали терминальный метод, ничего не происходит. Все потому, что конвейерные методы ленятся (они lazy). Это значит, что они обрабатывают данные и ждут команды, чтобы передать их терминальному методу.

Перечислим часто встречающиеся Конвейерные (или Промежуточные) операторы стримов.

👩‍💻 Наш практический курс Java–разработчика

JavaStart. Подписаться

JavaStart

29 Sep, 07:53


JavaStart. Подписаться

JavaStart

23 Sep, 16:34


👆Объяснение к задаче выше:

Сначала создаётся список целых чисел из массива 1, 2, 3, 4, 5.

Затем этот список превращается в поток данных (Stream).

Далее выполняется фильтрация, оставляя только чётные числа (остаток при делении на 2 равен нулю).

Затем происходит преобразование каждого элемента потока в примитивный тип int, используя метод mapToInt().

Наконец, выполняется операция суммирования всех элементов потока с помощью метода sum().

В результате мы получаем сумму чётных чисел в списке, равную 6.

👩‍💻 Наш практический курс Java–разработчика

JavaStart. Подписаться

JavaStart

22 Sep, 16:03


Какой будет результат работы следующей программы, используя Stream API Java?

JavaStart. Подписаться

1,085

subscribers

735

photos

22

videos