7 чудес разработки
63 subscribers
43 photos
3 videos
12 links
Канал Java разработчика, в котором вы обязательно найдете что-то для себя

Автор: @kignatev
Download Telegram
Пагинация [Ч.1]

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

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

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

Пагинация — это свойство, при котором сервер возвращает не все результаты сразу, а частями, по страницам.


Пагинация решает две важные задачи: 🔩
1️⃣ Улучшение пользовательского опыта. При разбиении данных на части формируется несколько одинаково разделенных страниц, и пользователю легче ориентироваться на какой именно странице был найден понравившийся товар.
2️⃣ Ускорение работы сервера. Ускорение работы сервера достигается за счет передачи пользователю только текущей страницы, что существенно уменьшает объем выборки товаров и ускоряет подбор подходящих вариантов.

А если хотите узнать подробнее, как устроена пагинация изнутри - ставьте 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
82
Пагинация [Ч.2]

🔍 В предыдущем посте вы узнали, что из себя представляет пагинация, а теперь давайте разберемся как она устроена изнутри.

💻 Для примера: мы продолжим работать с каталогом товаров и будем делать различные SQL-запросы для извлечения данных. Рассмотрим две реализации:

1️⃣Использование LIMIT и OFFSET.
Эта реализация является самой популярной. Для извлечения достаточно указать количество необходимых строк — limit, и количество пропускаемых строк — offset. Пример SQL-запроса:
SELECT * FROM catalog
ORDER BY id ASC
LIMIT 100
OFFSET 1000;

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

2️⃣Использование LIMIT и WHERE.
Для оптимизации пагинации можно воспользоваться дополнительной проверкой по сортируемому значению и делать выборку только больше/меньше страницы, которая была показана пользователю.
SELECT * FROM catalog
WHERE id > 1000
ORDER BY id ASC
LIMIT 5;


⭐️Таким образом, мы делаем выборку среди непоказанных страниц. Давайте представим, что мы получили задачу сортировать товары по цене, цена не является уникальным значением. Вследствие описанный выше запрос будет терять данные. Для решения этой задачи нам необходимо дополнительно учитывать уникальное значение, например, id.
SELECT * FROM catalog
WHERE price > 1 OR (price = 1 AND id > 4046)
ORDER BY price ASC, id ASC
LIMIT 5;


В результате двух постов мы разобрались, как устроена пагинация, и если материал был полезен, то обязательно ставьте 🚀
Please open Telegram to view this post
VIEW IN TELEGRAM
511
Музей "ATOM" ⚛️

🔭 На днях посетил нашумевший музей "АТОМ", который открылся на ВДНХ в прошлом году. Музей поражает своими масштабами, ведь его площадь составляет 25000 квадратных метров, а самая нижняя экспозиция располагается на -3 этаже, глубиной 16 метров.

☣️ Сюжетная линия музея начинается с упоминания радиоактивных элементов и плавно переходит к современной атомной промышленности. Здесь представлено более чем 1,7 тысячи экспонатов, среди которых макеты: советских бомб, автомобилей с атомным двигателем, локомотив с ядерным двигателем, первый ледокол и многое другое.

Музей оставил только положительные эмоции и напомнил мировую историю развития атомной физики. Если вам понравился мини-обзор, обязательно ставьте 🔥
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
721
Я — профессионал 🚀

Приветствую всех chill guys🐑 и chill girls🐽

🌎 Если вы, как и я откладываете все на последние дни, то спешу напомнить, что сегодня заканчивается отборочный этап олимпиады: "Я — профессионал". Задания можно выполнить до 23:59, но более подробное расписание можно узнать по ссылке.

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

Желаю всем успехов и новых побед ⭐️
Please open Telegram to view this post
VIEW IN TELEGRAM
4211
Каток культуры и отдыха 🗺

🏒 В начале этой недели выбрались на каток, находящийся в Парке Горького. Ледовое пространство огибает Фигурный фонтан и украшающие аллеи с множеством огоньков. Площадь катка впечатляет, благодаря этому можно менять свой маршрут, не катаясь по кругу.

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

🏟 Каток работает со вторника по воскресенье, с техническими перерывами. Вам будет предложено два временных слота для посещения:
с 10:00 до 15:00 — дневной
с 17:00 до 23:00 — вечерний

P.S
Рюкзаки оставить в камере хранения нельзя 🚫, вам придется выходить с ними на лед. Не совершайте моих ошибок.

🏒 Ставьте реакции и делитесь забавными историями с катков
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
441
🎄 Желаю всем хороших выходных и делюсь с вами новогодней атмосферой в офисе⭐️
Please open Telegram to view this post
VIEW IN TELEGRAM
7👨‍💻22
🎄 Друзья, с Новым Годом! 🎉

Год выдался непростым, но мы с вами справились — код написан, баги побеждены, дедлайны (ну, почти все) закрыты!🐏

Пусть в новом году всё, за что вы беретесь, удается с первого раза, ваши идеи находят поддержку, а результаты всегда радуют! 📈

Желаю вам вдохновения и побольше времени для тех, кто вам дорог. Пусть год будет щедрым на приятные сюрпризы и достижения! 💻

Спасибо, что вы со мной!❤️
В следующем году планирую немного изменить формат и добавить больше и жизни, и контента в канал.❄️
До встречи в 2025 году! 🎆
Please open Telegram to view this post
VIEW IN TELEGRAM
742🐳1
Цели, планы...

❗️ На дворе уже 8 января, а это значит, что пора возвращаться к рабочим будням. За праздничные выходные удалось отдохнуть, проанализировать прошлый год и разобраться с крупными целями на новый.

👀 Ради интереса я решил заглянуть в прошлогодние цели — из 18 было выполнено всего 4. На это есть две причины:
1️⃣ Цели, поставленные на год, даже не похожи на цели — скорее, это важные задачи, которые было бы хорошо сделать.
2️⃣ Как только нагрузка возросла до предела, я перестал заглядывать в список целей и просто решал проблемы по мере наступления дедлайнов.

📊 Поскольку в последнее время я стараюсь работать над собой, и не повторять ошибок, решил адаптировать постановку годовых целей под привычный для меня формат и выделить наиболее важные направления. Делюсь основными тезисами на этот год:
1️⃣ Превратил цели в задачи и разбил их поквартально.
2️⃣ Выделил для себя 10 крупных задач.
3️⃣ Самое важное направление этого года — здоровье.

📣 Я заметил, что многие уделяют целям на год очень много времени: покупают чек-листы и даже курсы. Мне стало интересно, а как другие люди работают с годовыми целями и какую пользу это приносит. Поэтому следом за постом обязательно поделитесь своим мнением в анонимном опросе!
Please open Telegram to view this post
VIEW IN TELEGRAM
32
Что такое cookie? 🍪

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

🐱 Что такое cookie-файлы?
Cookie (куки) — это небольшие файлы, которые хранят информацию о пользователе и его действиях на сайте. Они помогают запоминать важные параметры и настройки, чтобы сделать ваш следующий визит удобнее и подстроить сайт под вас.

🐱 Вот как это работает: когда вы вводите адрес сайта в браузере, он проверяет, есть ли на вашем устройстве файлы cookie, связанные с этим сайтом.
🏷🏷Если такие файлы есть, браузер отправляет их сайту, чтобы тот мог использовать сохранённую информацию о вас.
🏷🏷Если файлов нет, сайт распознаёт вас как нового пользователя и предлагает создать cookie для сохранения данных на будущее.
Это как если бы вы пришли в кафе: если официант вас помнит, он, вероятно, предложит ваш любимый кофе. А если вы в этом кафе впервые, он сначала узнает ваши предпочтения. 🖤

🐱 Какая информация хранится в cookie-файлах?
Каждая система сохраняет свою информацию, которая помогает улучшить пользовательский опыт, и собрать как можно больше информации о ваших действиях. В основном в cookie файлах хранится следующая информация:
➡️Индивидуальные настройки.
➡️Данные авторизации.
➡️Личные данные.
➡️Данные об устройстве.
➡️Информация о действиях.
Чаще всего cookie файлы используют маркетплейсы и интернет-магазины для улучшения рекомендательных систем, предлагающих наиболее подходящие товары каждому пользователю.

🐱 В чем опасность cookie-файлов?
Начнем с того, что cookie это обычный текстовый файл и даже если сайт-злоумышленник напишет вирусную программу в этот файл, то запустить ее будет невозможно. Однако важно оставаться бдительными: не попадайтесь на фишинговые уловки и используйте только проверенные Wi-Fi-сети.

Обязательно ставьте реакции, если информация была полезной 😵
Please open Telegram to view this post
VIEW IN TELEGRAM
1831
Умные заметки 💻

🤓 Я уже давно использую систему GTD (Getting Things Done), которая помогает мне структурировать мысли и эффективно управлять временем. Суть метода проста: все задачи фиксируются в одном месте, разбиваются на подзадачи и поэтапно выполняются. Для этого пользуюсь приложением 📱

⌨️ Несмотря на удобство GTD, иногда бывает тяжело уследить за всем. Расписывать каждую заметку детально — занимает много времени, а порой теряется контекст того, что важно сделать прямо сейчас. Особенно когда заметок становится слишком много.

🎹 Я уже давно имею желание оптимизировать эту систему с помощью AI-ассистента, который будет обрабатывать новую заметку, а также помогать в решении текущих задач.

Как это будет работать?
🔜 Вы добавляете новую заметку, далее AI-ассистент анализируют ее с учетом текущих задачи, разбивает на более мелкие задачи и вносит в нужную группу.
🔜 Умный планировщик смотрит текущую нагрузку, помогает вам спланировать определенный промежуток и помогает вам в достижении целей.

🥳 На мой взгляд, такой функционал сможет убрать неопределенность над трудными и объемными задачами, а также ускорит процесс первичной обработки новой заметки. Если у вас есть мысли или опыт работы с подобными системами, то обязательно делитесь в комментариях!
Please open Telegram to view this post
VIEW IN TELEGRAM
162
Полугодовые итоги

⭐️ Вчера официально закончилась сессия, и впервые за 3.5 года мне удалось закрыться всё на пятёрки! Это значит, что меня ждёт ⬆️повышенная⬆️ стипендия в размере 3285 рублей.

✈️ Этот семестр был непростым: ответственность на работе значительно выросла, а учебные задачи начали занимать ещё больше времени. Балансировать между всем этим оказалось настоящим вызовом, но я справился, и это очень радует.

🕶 Из приятного: наконец-то появилось время регулярно ходить на тренировки — как в зал, так и на хоккей. Это приносит мне огромное удовольствие и помогает оставаться в тонусе.

🔥 В следующем семестре предстоит решить несколько ключевых задач:
💬 Написать диплом
💬 Определиться с направлением магистратуры
💬 Закончить и довести до продакшена сложные задачи на работе
💬 Не забывать о здоровье и регулярно заниматься спортом
И да, я ещё записался на курс по архитектуре ПО, где пока чувствую себя, мягко говоря, не очень умным. 🙊

🖥 Но я уверен, что эти полгода будут полезными, насыщенными и приведут к главной цели — закончить бакалавриат и поступить в магистратуру.

🍿 Если у вас есть опыт обучения в магистратуре или вы определились с направлением поступления, то обязательно делитесь в комментариях!
Please open Telegram to view this post
VIEW IN TELEGRAM
1932
AI-тренажер для прохождения собеседований

⭐️ Недавно Сбер запустил интересный инструмент, который поможет вам прокачать уверенность перед собеседованиями с HR-специалистами.

🤖 Умный тренажер использует технологии Computer Vision для анализа вашей мимики и реакций в реальном времени. Вы сразу поймёте, в какие моменты начинаете нервничать, и получите рекомендации, как можно исправить 🎯

Как это работает:
➡️Тренажёр задаёт вопросы, которые часто встречаются на реальных собеседованиях.
➡️Анализирует ваши эмоции и поведение с помощью ИИ.
➡️Предоставляет персональные советы по улучшению.

Я решил попробовать этот тренажёр сам. Всё заняло около 10 минут, и это напомнило, каково это — проходить собеседование с HR. Вопросы оказались достаточно стандартными, такими, которые обычно задают на первых этапах.

Результаты меня приятно удивили: тренажёр отметил, что я справился без волнения. Конечно, это не заменит реального собеседования, но хочу посоветовать: заранее тренируйтесь перед началом интервью. Это действительно снижает уровень стресса.

Если готов прокачать свои навыки прохождения собеседований — смело переходи по ссылке
Please open Telegram to view this post
VIEW IN TELEGRAM
1744
Как соцсети проверяют, кто вы? 🔑

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

1️⃣ Идентификация — это процесс, при котором пользователь сообщает серверу данные, позволяющие его опознать. Обычно это логин, email или номер телефона.

2️⃣ Аутентификация — подтверждение подлинности пользователя. Приложение проверяет, действительно ли учётная запись принадлежит вам, сверяя введённый пароль, отправляя SMS-код или запрашивая двухфакторную аутентификацию.

3️⃣ Авторизация — после успешной аутентификации сервис определяет ваши права и разрешённые действия. Например, можете ли вы публиковать посты, управлять страницей или только просматривать контент.

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

💻 В следующих постах, я буду разбирать другие базовые термины, будет интересно! 💜
Please open Telegram to view this post
VIEW IN TELEGRAM
354