4. Реальные производственные кейсы
Кейc 1: мобильная и web-версия используют разные наборы полей
Мобильный клиент получает минимум данных.
Web — максимум.
Кейc 2: переиспользование структуры пользователя
Все блоки страницы используют одну структуру.
CRM-интерфейсы любят такое.
Кейc 3: миграции схемы через директивы
Старая модель:
Frontend получает предупреждение в IDE — никаких тайных поломок.
Кейc 4: сложные фильтры в одном запросе
Переменные:
#Java #middle #GraphQL #Query
Кейc 1: мобильная и web-версия используют разные наборы полей
query User(
$id: ID!,
$isMobile: Boolean!
) {
user(id: $id) {
name
avatar @skip(if: $isMobile)
posts @include(if: $isMobile) {
title
}
}
}
Мобильный клиент получает минимум данных.
Web — максимум.
Кейc 2: переиспользование структуры пользователя
fragment UserCard on User {
id
name
avatar
}
query PageData {
recommendedUsers { ...UserCard }
recentVisitors { ...UserCard }
followers { ...UserCard }
}Все блоки страницы используют одну структуру.
CRM-интерфейсы любят такое.
Кейc 3: миграции схемы через директивы
Старая модель:
username @deprecated(reason: "Use 'login' instead")
Frontend получает предупреждение в IDE — никаких тайных поломок.
Кейc 4: сложные фильтры в одном запросе
query FilterPosts($filter: PostFilter!) {
posts(filter: $filter) {
id
title
}
}Переменные:
{
"filter": {
"authorId": 1,
"tags": ["graphql", "java"],
"minLikes": 10
}
}#Java #middle #GraphQL #Query
👍2
Что выведет код?
#Tasks
public class Task211125 {
public static void main(String[] args) {
String s1 = "hello";
String s2 = "he" + "llo";
String s3 = "he";
String s4 = "llo";
String s5 = s3 + s4;
System.out.println(s1 == s2);
System.out.println(s1 == s5);
System.out.println(s1.equals(s5));
final String s6 = "he";
final String s7 = "llo";
String s8 = s6 + s7;
System.out.println(s1 == s8);
}
}#Tasks
👍1
Варианты ответа:
Anonymous Quiz
15%
true false true false
25%
true false true true
40%
true true true true
20%
false true true true
😱1
Вопрос с собеседований
Для чего используется CompletableFuture.anyOf()🤓
Ответ:
anyOf() запускает несколько асинхронных задач и завершается, как только выполнится любая.
Полезно, когда важен первый успешный результат.
Метод упрощает конкурентную работу, но требует аккуратного управления исключениями и понимания поведения оставшихся задач.
#собеседование
Для чего используется CompletableFuture.anyOf()
Ответ:
Полезно, когда важен первый успешный результат.
Метод упрощает конкурентную работу, но требует аккуратного управления исключениями и понимания поведения оставшихся задач.
#собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
История IT-технологий сегодня — 22 ноября
ℹ️ Кто родился в этот день
Джеффри Дэвид Ульман (родился 22 ноября 1942 года) — американский теоретик информатики; автор классических учебников по компиляторам, теории вычислимости и базам данных, лауреат крупных наград в CS.
Википедия
Расмус Лердорф (дат. Rasmus Lerdorf; р. 22 ноября 1968) — датский программист, ныне живущий в Канаде, написавший в 1994 году набор скриптов на C, обрабатывающих шаблоны HTML-документов, позже воплотившийся в интерпретатор языка сценариев PHP, с помощью которого можно было решать различные задачи веб-приложений, включая не шаблонное создание сайтов для различных целей и направлений.
🌐 Знаковые события
1911 — лётчик Д. М. Сокольцов осуществил радиопередачу с самолёта на землю.
#Biography #Birth_Date #Events #22Ноября
Джеффри Дэвид Ульман (родился 22 ноября 1942 года) — американский теоретик информатики; автор классических учебников по компиляторам, теории вычислимости и базам данных, лауреат крупных наград в CS.
Википедия
Расмус Лердорф (дат. Rasmus Lerdorf; р. 22 ноября 1968) — датский программист, ныне живущий в Канаде, написавший в 1994 году набор скриптов на C, обрабатывающих шаблоны HTML-документов, позже воплотившийся в интерпретатор языка сценариев PHP, с помощью которого можно было решать различные задачи веб-приложений, включая не шаблонное создание сайтов для различных целей и направлений.
1911 — лётчик Д. М. Сокольцов осуществил радиопередачу с самолёта на землю.
#Biography #Birth_Date #Events #22Ноября
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
С 15.11 по 21.11
Предыдущий пост(с 08.11 по 14.11)
Воскресный мотивационный пост:
Не было мотивации
Запись встреч/видео:
JOOQ. Взаимодействуй с БД по-новому.
Обучающие статьи:
Java:
Коллекции в Java
Глава 2. List — списки в Java
Интерфейс List и его особенности
Глава 5. Map — отображения (словари)
Практика: В «Библиотеке» создать Map<String, Book> для быстрого поиска книги по названию.
GraphQL
Определение схемы в GraphQL (SDL)
Запросы и мутации в GraphQL
Фрагменты, директивы и переменные
Полезные статьи и видео:
Как написать приложение на JavaFX: гид для начинающих
MapStruct: как безобидный метод портит весь маппинг
Как и всегда, задачи можно найти под тегом - #Tasks, вопросы с собеседований - #собеседование
Предыдущий пост(с 08.11 по 14.11)
Воскресный мотивационный пост:
Не было мотивации
Запись встреч/видео:
JOOQ. Взаимодействуй с БД по-новому.
Обучающие статьи:
Java:
Коллекции в Java
Глава 2. List — списки в Java
Интерфейс List и его особенности
Глава 5. Map — отображения (словари)
Практика: В «Библиотеке» создать Map<String, Book> для быстрого поиска книги по названию.
GraphQL
Определение схемы в GraphQL (SDL)
Запросы и мутации в GraphQL
Фрагменты, директивы и переменные
Полезные статьи и видео:
Как написать приложение на JavaFX: гид для начинающих
MapStruct: как безобидный метод портит весь маппинг
Как и всегда, задачи можно найти под тегом - #Tasks, вопросы с собеседований - #собеседование
👍3
История IT-технологий сегодня — 23 ноября
ℹ️ Кто родился в этот день
Абхай Бхушан ( произношение на хинди: [əbʰəj bʰuːʂəɳː] ; родился 23 ноября 1944 г.) — индийский компьютерный учёный; автор оригинальной спецификации FTP и ряда ранних RFC для ARPANET/Интернета.
Магнус Даниэль Стенберг (23 ноября 1970) — шведский разработчик; создатель и ведущий разработчик проекта cURL, инструмента для работы с сетевыми протоколами, широко используемого в инфраструктуре.
🌐 Знаковые события
1924 — состоялась первая широковещательная передача Московского радио. Начало регулярного радиовещания в СССР.
Комментарий: Всего 100 лет назад... Только появилось радио, а теперь роботы, космос и интернет... Что будет еще через 100 лет?
#Biography #Birth_Date #Events #23Ноября
Абхай Бхушан ( произношение на хинди: [əbʰəj bʰuːʂəɳː] ; родился 23 ноября 1944 г.) — индийский компьютерный учёный; автор оригинальной спецификации FTP и ряда ранних RFC для ARPANET/Интернета.
Магнус Даниэль Стенберг (23 ноября 1970) — шведский разработчик; создатель и ведущий разработчик проекта cURL, инструмента для работы с сетевыми протоколами, широко используемого в инфраструктуре.
1924 — состоялась первая широковещательная передача Московского радио. Начало регулярного радиовещания в СССР.
Комментарий: Всего 100 лет назад... Только появилось радио, а теперь роботы, космос и интернет... Что будет еще через 100 лет?
#Biography #Birth_Date #Events #23Ноября
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Кем ты видишь себя в будущем в IT?
Сегодня в IT идёт каждый второй.
Кто-то по моде.
Кто-то за деньгами.
Но вот о чём почти никто не думает:
Кем ты хочешь стать через 5–10 лет?
И хочешь ли ты этого вообще?
Давайте об этом сегодня и поразмышляем.
Разработчик - это фундамент
Как бы банально ни звучало: разработчик - это основа IT.
Если убрать программистов, то рухнет всё: сервисы, приложения, бэкенды, интерфейсы - всё.
Но спустя годы работы некоторым становится тесно.
Кто-то устает просто решать таски.
Кому-то хочется больше влияния, кому-то — меньше рутины, кому-то — новых вызовов.
Куда можно расти дальше
1. Individual Contributor (IC): разработчик
Джун → мидл → сеньор → ведущий.
Ты пишешь код, решаешь сложные задачи, драйвишь качество.
Глубина и ширина.
Это путь для тех, кто любит и хочет продолжать создавать что-то своими руками.
2. Архитектор / системный инженер
От решения отдельных модулей - к проектированию больших систем.
Минимум строчек кода, больше схем, интеграций, рисков, компромиссов.
Тут ты уже не пишешь программу.
Ты формируешь её скелет, основу, генерируешь понимание как все это будет работать в связке, давая свою компетенцию и гарантии.
3. Тимлид (People Manager)
Тут код - уже не главное.
Главное - люди, процессы, сроки, коммуникация.
Мотивировать.
Помогать расти.
Разруливать конфликты.
Закрывать найм.
Ты превращаешься из разработчика в того, кто рулит и организует процесс разработки.
4. Техлид / Tech Lead
Эта позиция позволяет сохранить контроль над кодом, при этом руководя его написанием.
Ты остаёшься технически сильным, но получаешь влияние на команду.
Твоя зона: архитектура, ревью, стандарты, координация технического направления.
Без HR-функций, но с высокой ответственностью за качество.
5. Продуктовый путь (PM, Product Engineer)
Переход, от как запрограммировать - к а зачем это вообще нужно?
Пользовательские кейсы, метрики, ценность, гипотезы.
Ты становишься человеком, который превращает код в продукт, а не в набор функций.
А надо ли тебе это?
Когда приходит возможность выбирать - этот вопрос основной.
С одной стороны:
спокойная работа разработчиком, задачи, PR-ы, ревью, новые фреймворки и старое доброе легаси.
С другой:
рост, новые роли, новые риски, новые деньги.
Не каждому хочется руководить людьми.
Не каждый хочет отвечать за архитектуру.
Не всем нужен стресс, планирование, ответственность.
Кому-то достаточно закрывать таски и вечером залипать в сериалы 😂
И это тоже нормально.
Выбор есть у каждого.
Но решать придётся самому — трезво взвесив, чего ты реально хочешь.
Если статья зашла — поделись с другом и позови его на канал.
А мне — плюсик к карме 🤝😎
😎
#motivation
Сегодня в IT идёт каждый второй.
Кто-то по моде.
Кто-то за деньгами.
Но вот о чём почти никто не думает:
Кем ты хочешь стать через 5–10 лет?
И хочешь ли ты этого вообще?
Давайте об этом сегодня и поразмышляем.
Разработчик - это фундамент
Как бы банально ни звучало: разработчик - это основа IT.
Если убрать программистов, то рухнет всё: сервисы, приложения, бэкенды, интерфейсы - всё.
Но спустя годы работы некоторым становится тесно.
Кто-то устает просто решать таски.
Кому-то хочется больше влияния, кому-то — меньше рутины, кому-то — новых вызовов.
Куда можно расти дальше
1. Individual Contributor (IC): разработчик
Джун → мидл → сеньор → ведущий.
Ты пишешь код, решаешь сложные задачи, драйвишь качество.
Глубина и ширина.
Это путь для тех, кто любит и хочет продолжать создавать что-то своими руками.
2. Архитектор / системный инженер
От решения отдельных модулей - к проектированию больших систем.
Минимум строчек кода, больше схем, интеграций, рисков, компромиссов.
Тут ты уже не пишешь программу.
Ты формируешь её скелет, основу, генерируешь понимание как все это будет работать в связке, давая свою компетенцию и гарантии.
3. Тимлид (People Manager)
Тут код - уже не главное.
Главное - люди, процессы, сроки, коммуникация.
Мотивировать.
Помогать расти.
Разруливать конфликты.
Закрывать найм.
Ты превращаешься из разработчика в того, кто рулит и организует процесс разработки.
4. Техлид / Tech Lead
Эта позиция позволяет сохранить контроль над кодом, при этом руководя его написанием.
Ты остаёшься технически сильным, но получаешь влияние на команду.
Твоя зона: архитектура, ревью, стандарты, координация технического направления.
Без HR-функций, но с высокой ответственностью за качество.
5. Продуктовый путь (PM, Product Engineer)
Переход, от как запрограммировать - к а зачем это вообще нужно?
Пользовательские кейсы, метрики, ценность, гипотезы.
Ты становишься человеком, который превращает код в продукт, а не в набор функций.
А надо ли тебе это?
Когда приходит возможность выбирать - этот вопрос основной.
С одной стороны:
спокойная работа разработчиком, задачи, PR-ы, ревью, новые фреймворки и старое доброе легаси.
С другой:
рост, новые роли, новые риски, новые деньги.
Не каждому хочется руководить людьми.
Не каждый хочет отвечать за архитектуру.
Не всем нужен стресс, планирование, ответственность.
Кому-то достаточно закрывать таски и вечером залипать в сериалы 😂
И это тоже нормально.
Выбор есть у каждого.
Но решать придётся самому — трезво взвесив, чего ты реально хочешь.
Если статья зашла — поделись с другом и позови его на канал.
А мне — плюсик к карме 🤝😎
#motivation
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4