Вы бы стали заниматься у ментора без гарантий трудоустройства?
Anonymous Poll
48%
Да, я хочу изучить Java, остальное потом! 🙂
16%
Да, я уверен в своей самостоятельности ✌️
16%
Не знаю, сейчас на рынке тряска, тут хоть какие-то гарантии 🤷♀️
19%
Нет! Java можно изучить и самостоятельно, весь смысл в гарантиях! 😠
👍1
Есть предложение встретиться завтра в 16:00 по МСК на лайвкодинг!
Будем изучать дальнейшее тестирование в Spring - Как тестировать API.
Будем изучать дальнейшее тестирование в Spring - Как тестировать API.
Anonymous Poll
34%
О! Я приду! 👌
17%
Я хотел(а) б, но не могу)((( 🤷♀️
45%
Я посмотрю в записи! ❤️
3%
Нет, мне это не интересно 👎
👍5
Всем привет! 👋
Приглашаю всех желающих сегодня собраться в Яндекс.Телемост в 16:00 по МСК!
В этот раз мы продолжим рассматривать тестирование в Spring.
Приходите, это хороший шанс позадавать вопросы🧑💻
Как всегда жду всех! 🫡
Приглашаю всех желающих сегодня собраться в Яндекс.Телемост в 16:00 по МСК!
В этот раз мы продолжим рассматривать тестирование в Spring.
Приходите, это хороший шанс позадавать вопросы
Как всегда жду всех! 🫡
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Ян Райчман (10 августа 1911) — английский инженер, внёсший важный вклад в разработку электронных вычислительных машин (в частности — трубчатой памяти «Selectron» для проекта Дж. фон Неймана)
1937 — Клод Шеннон защитил магистерскую диссертацию
10 августа 1937 года Клод Шеннон подал магистерскую работу «Символьный анализ релейно-переключательных цепей» в MIT — один из основополагающих трудов, положивших теоретическую основу цифровых вычислений и теории информации.
1937 — Патент на электрогитару (Rickenbacker “Frying Pan”)
Патент № 2 089 171 зарегистрирован 10 августа 1937 года, что символически стало началом электроники в музыкальной технике — косвенно влиятельной в развитии цифрового звука и технологий музыкального I/O
#Biography #Birth_Date #Events #10Августа
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Молчаливые разработчики ломают проект быстрее, чем баги.
Представь - ты уже в команде.
На дейли предложили новый паттерн разработки который априори должен все улучшить.
Но ты точно знаешь, что это не сработает, так как ты вчера это пробовал в пет-проекте.
И ты промолчал, потому что "ну, я же джун, что я понимаю"? Или "они же специалисты им виднее, зачем я буду спорить?".
И через неделю команда всё переделывает с нуля...
Так вот, молчание — это не "мир в команде".
Это приглашение к ошибке.
А умение спорить — это один из важнейших навыков в разработке, особенно в командных проектах.
🔴 Почему конфликты не всегда зло
В психологии есть понятие когнитивный конфликт (cognitive conflict) — это когда люди спорят о идеях, подходах и решениях, а не о том, "кто дурак".
Важно понимать, что даже начинающий джун тоже может что-то предложить. Возможно даже глупость. Но само умение высказываться, формулировать доводы, уметь принимать и воспринимать чужую точку зрения - вот что важно.
Исследования показывают, что такие споры:
Повышают качество решений
Ускоряют поиск оптимального подхода
Помогают видеть проблему под разными углами
А вот эмоциональный конфликт (affective conflict) — это уже про личные обиды, сарказм и переход на личности.
Он действительно убивает команду.
🔴 Почему это особенно важно в разработке
В Agile-командах решения часто принимаются на лету, и от твоей способности спорить грамотно зависит:
Будет ли проект работать через месяц
Или вы перепишете половину кода, потому что ты знал, что это не работает так, но постеснялся сказать.
Кроме того, в IT очень легко спрятаться за ноутбуком и не влезать в дискуссии. Но тогда твой вклад будет минимальным, даже если ты реально видишь лучшее решение.
Некоторых останавливает и неуверенность, даже если точно знают что решение верное. Потому что порицание за неверное решение пройдет мимо как и поощрение.
🔴 Как спорить так, чтобы не сгорели мосты
Отделяй идею от человека😔
Говори «Подход X не подходит, потому что…», а не "Ты написал ерунду".
Это снижает вероятность перехода в эмоциональный конфликт.
Используй вопросы вместо утверждений😉
Вместо «Это плохо» → "А что если попробовать так? Какие риски?"
Подкрепляй примерами или данными🤓
В IT спор выигрывает не громкость голоса, а аргумент в виде теста, логов или статистики.
Не бойся быть в меньшинстве💪
Исследования показывают, что даже одиночное несогласие может улучшить итоговое решение группы.
🔴 Почему этот soft skill один из важнейших?
Он напрямую влияет на качество кода и архитектуры.
Он делает тебя заметным и ценным участником.
Он помогает избегать тихих катастроф, когда "все согласились, а проект рухнул".
В команде разработчиков побеждает не тот, кто всегда прав, а тот, кто умеет спорить так, что выигрывает команда, проект и бизнес.
Понравилась статья - поделись с другом, позови его на канал и будет тебе моя благодарность 🤝
😎
#motivation
Представь - ты уже в команде.
На дейли предложили новый паттерн разработки который априори должен все улучшить.
Но ты точно знаешь, что это не сработает, так как ты вчера это пробовал в пет-проекте.
И ты промолчал, потому что "ну, я же джун, что я понимаю"? Или "они же специалисты им виднее, зачем я буду спорить?".
И через неделю команда всё переделывает с нуля...
Так вот, молчание — это не "мир в команде".
Это приглашение к ошибке.
А умение спорить — это один из важнейших навыков в разработке, особенно в командных проектах.
В психологии есть понятие когнитивный конфликт (cognitive conflict) — это когда люди спорят о идеях, подходах и решениях, а не о том, "кто дурак".
Важно понимать, что даже начинающий джун тоже может что-то предложить. Возможно даже глупость. Но само умение высказываться, формулировать доводы, уметь принимать и воспринимать чужую точку зрения - вот что важно.
Исследования показывают, что такие споры:
Повышают качество решений
Ускоряют поиск оптимального подхода
Помогают видеть проблему под разными углами
А вот эмоциональный конфликт (affective conflict) — это уже про личные обиды, сарказм и переход на личности.
Он действительно убивает команду.
В Agile-командах решения часто принимаются на лету, и от твоей способности спорить грамотно зависит:
Будет ли проект работать через месяц
Или вы перепишете половину кода, потому что ты знал, что это не работает так, но постеснялся сказать.
Кроме того, в IT очень легко спрятаться за ноутбуком и не влезать в дискуссии. Но тогда твой вклад будет минимальным, даже если ты реально видишь лучшее решение.
Некоторых останавливает и неуверенность, даже если точно знают что решение верное. Потому что порицание за неверное решение пройдет мимо как и поощрение.
Отделяй идею от человека
Говори «Подход X не подходит, потому что…», а не "Ты написал ерунду".
Это снижает вероятность перехода в эмоциональный конфликт.
Используй вопросы вместо утверждений
Вместо «Это плохо» → "А что если попробовать так? Какие риски?"
Подкрепляй примерами или данными
В IT спор выигрывает не громкость голоса, а аргумент в виде теста, логов или статистики.
Не бойся быть в меньшинстве
Исследования показывают, что даже одиночное несогласие может улучшить итоговое решение группы.
Он напрямую влияет на качество кода и архитектуры.
Он делает тебя заметным и ценным участником.
Он помогает избегать тихих катастроф, когда "все согласились, а проект рухнул".
В команде разработчиков побеждает не тот, кто всегда прав, а тот, кто умеет спорить так, что выигрывает команда, проект и бизнес.
#motivation
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥3
В целом ребят встреча прошла почти успешно))) Пока не пришел человек - гнида и все не испортил)
Спасибо тем кто пришел, весьма благодарен. Но еще довольно много хотел Вам рассказать((( Поэтому в свободное время я запишу все это и выложу обязательно.
Спасибо тем кто пришел, весьма благодарен. Но еще довольно много хотел Вам рассказать((( Поэтому в свободное время я запишу все это и выложу обязательно.
И обращаясь к "человеку" который это делает - я не понимаю зачем? Чего ты добиваешься? Я и так делаю все это бесплатно, стараясь дать многим что знаю, а еще и мешать... Я не понимаю. Это не просто гниль, это болезнь и жаль что такое дерьмо находится в нашем канале(((
🤓3
Сти́вен Гэ́ри (Стив) Во́зняк (англ. Stephen Gary (Steve) Wozniak; род. 11 августа 1950, Сан-Хосе, США) — род. 11 августа 1950. Сооснователь Apple; спроектировал Apple I и Apple II, которые задали стандарт для персональных компьютеров конца 1970-х.
Том Килберн (Tom Kilburn 11 августа 1921 г. – 17 января 2001 г.) — Британский учёный-инженер, один из разработчиков первых электронных ЭВМ (включая Manchester Baby) и соавтор памяти Williams–Kilburn; ключевая фигура ранней вычислительной техники.
В 2021 и 2023 годах
Samsung представила свои новейшие складные смартфоны, умные часы и планшеты. Эти мероприятия привлекли внимание глобального ИТ-сообщества благодаря инновациям в дизайне и функциональности устройств. Например, в 2023 году были представлены Galaxy Z Fold 5 и Z Flip 5, которые стали важным шагом в развитии складных технологий.
#Biography #Birth_Date #Events #11Августа
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Раздел 4: Управляющие конструкции
Глава 2: Циклы
while / do-while в Java
Циклы в Java позволяют выполнять блок кода несколько раз, что полезно для повторяющихся задач, таких как обработка данных или ожидание ввода пользователя. В этом уроке мы разберем два типа циклов: while и do-while. Они используются, когда количество итераций неизвестно заранее и зависит от условия.
1. Цикл while
1.1. Синтаксис
Цикл while проверяет условие перед каждой итерацией. Если условие истинно (true), код внутри цикла выполняется. Если ложно (false), выполнение переходит к следующей строке после цикла.
1.2. Как работает
Проверяется условие.
Если условие истинно, выполняется блок кода.
После выполнения блока кода условие проверяется снова.
Если условие ложно, цикл завершается, и выполнение продолжается после цикла.
1.3. Примеры
Простой счетчик
Суммирование чисел до ввода 0
Цикл с несколькими условиями
Бесконечный цикл
1.4. Особенности
Проверка условия: Условие проверяется перед выполнением блока кода, поэтому цикл может не выполниться ни разу, если условие изначально ложно.
Обновление переменных: Необходимо обновлять переменные внутри цикла, чтобы условие в конечном итоге стало ложным.
Использование: Подходит для задач, где количество итераций неизвестно, например, чтение данных до конца файла или ожидание ввода пользователя.
2. Цикл do-while
2.1. Синтаксис
Цикл do-while выполняет блок кода хотя бы один раз, а затем проверяет условие. Если условие истинно, цикл продолжается.
2.2. Как работает
Выполняется блок кода.
Проверяется условие.
Если условие истинно, выполнение возвращается к блоку кода.
Если условие ложно, цикл завершается.
#Java #для_новичков #beginner #while #do_while
Глава 2: Циклы
while / do-while в Java
Циклы в Java позволяют выполнять блок кода несколько раз, что полезно для повторяющихся задач, таких как обработка данных или ожидание ввода пользователя. В этом уроке мы разберем два типа циклов: while и do-while. Они используются, когда количество итераций неизвестно заранее и зависит от условия.
1. Цикл while
1.1. Синтаксис
Цикл while проверяет условие перед каждой итерацией. Если условие истинно (true), код внутри цикла выполняется. Если ложно (false), выполнение переходит к следующей строке после цикла.
while (условие) {
// Код, который выполняется, если условие истинно
}
Условие: Выражение, возвращающее boolean (true или false).
Блок кода: Выполняется, пока условие истинно.
1.2. Как работает
Проверяется условие.
Если условие истинно, выполняется блок кода.
После выполнения блока кода условие проверяется снова.
Если условие ложно, цикл завершается, и выполнение продолжается после цикла.
1.3. Примеры
Простой счетчик
int i = 1;
while (i <= 5) {
System.out.println("Число: " + i);
i++;
}
Вывод:
Число: 1
Число: 2
Число: 3
Число: 4
Число: 5
Объяснение: Цикл начинается с i = 1. Пока i <= 5, печатается значение i, и i увеличивается на 1. Когда i становится 6, условие становится ложным, и цикл завершается.
Суммирование чисел до ввода 0
import java.util.Scanner;
Scanner scanner = new Scanner(System.in);
int sum = 0;
int number;
System.out.println("Введите числа для суммирования (0 для завершения):");
number = scanner.nextInt();
while (number != 0) {
sum += number;
number = scanner.nextInt();
}
System.out.println("Сумма: " + sum);
Объяснение: Пользователь вводит числа, которые добавляются к sum, пока не введет 0. Цикл while проверяет number != 0 перед добавлением.
Цикл с несколькими условиями
int x = 10;
int limit = 20;
while (x > 0 && x < limit) {
System.out.println("x = " + x);
x--;
}
Вывод:
x = 10
x = 9
x = 8
...
x = 1
Объяснение: Цикл выполняется, пока выполняются оба условия: x > 0 и x < limit. Числа печатаются от 10 до 1.
Бесконечный цикл
int i = 0;
while (true) {
System.out.println("Итерация: " + i);
i++;
if (i >= 3) {
break; // Выход из цикла
}
}
Вывод:
Итерация: 0
Итерация: 1
Итерация: 2
Объяснение: Условие true делает цикл бесконечным, но break прерывает его, когда i достигает 3.
1.4. Особенности
Проверка условия: Условие проверяется перед выполнением блока кода, поэтому цикл может не выполниться ни разу, если условие изначально ложно.
Обновление переменных: Необходимо обновлять переменные внутри цикла, чтобы условие в конечном итоге стало ложным.
Использование: Подходит для задач, где количество итераций неизвестно, например, чтение данных до конца файла или ожидание ввода пользователя.
2. Цикл do-while
2.1. Синтаксис
Цикл do-while выполняет блок кода хотя бы один раз, а затем проверяет условие. Если условие истинно, цикл продолжается.
do {
// Код, который выполняется хотя бы один раз
} while (условие);
Условие: Выражение, возвращающее boolean.
Блок кода: Выполняется перед проверкой условия.
2.2. Как работает
Выполняется блок кода.
Проверяется условие.
Если условие истинно, выполнение возвращается к блоку кода.
Если условие ложно, цикл завершается.
#Java #для_новичков #beginner #while #do_while
👍4
2.3. Примеры
Простой счетчик
Выполнение при ложном условии
Меню с вводом пользователя
2.4. Особенности
Гарантированное выполнение: Блок кода выполняется хотя бы один раз, даже если условие ложно.
Использование: Подходит для задач, где нужно выполнить действие хотя бы раз, например, отображение меню или запрос ввода.
3. Правильное применение
3.1. Лучшие практики
Используйте фигурные скобки {}:
Обновляйте переменные:
Убедитесь, что переменные в условии изменяются, чтобы избежать бесконечных циклов.
Проверяйте на null:
Используйте понятные имена:
Например, counter вместо i делает код понятнее.
Избегайте бесконечных циклов:
3.2. Распространенные ошибки
Неправильный выбор цикла:
Использование do-while, когда while лучше, или наоборот.
Сложные условия:
4. Работа под капотом
4.1. Компиляция в байт-код
Цикл while:
Компилируется в инструкции if и goto. Условие проверяется перед выполнением, и если оно истинно, JVM переходит к блоку кода.
Пример байт-кода (упрощенно):
Цикл do-while:
Блок кода выполняется сначала, затем проверяется условие с помощью if и goto.
Пример байт-кода:
4.2. Память и стек
Стек операндов: Условие цикла вычисляется в стеке операндов JVM.
Стек вызовов: Локальные переменные цикла (например, i) хранятся в стеке вызовов.
Куча: Если в цикле создаются объекты (например, new String()), они хранятся в куче.
4.3. Оптимизация в JVM
JIT-компиляция: JVM может оптимизировать циклы, встраивая их в машинный код для повышения производительности.
Короткое замыкание: Если условие содержит логические операторы (&&, ||), JVM пропускает ненужные вычисления.
Удаление пустых циклов: Если цикл не выполняет полезной работы, JIT-компилятор может его убрать.
4.4. Ошибки в памяти
Бесконечные циклы: Могут переполнить стек или кучу, если создаются объекты.
NullPointerException: Работа с объектами без проверки на null в условии.
#Java #для_новичков #beginner #while #do_while
Простой счетчик
int i = 1;
do {
System.out.println("Число: " + i);
i++;
} while (i <= 5);
Вывод:
Число: 1
Число: 2
Число: 3
Число: 4
Число: 5
Объяснение: Блок кода выполняется, затем проверяется i <= 5. Цикл продолжается, пока условие истинно.
Выполнение при ложном условии
int i = 6;
do {
System.out.println("Это выполнится один раз");
} while (i <= 5);
Вывод: Это выполнится один раз
Объяснение: Блок кода выполняется один раз, даже если условие i <= 5 изначально ложно.
Меню с вводом пользователя
import java.util.Scanner;
Scanner scanner = new Scanner(System.in);
String input;
do {
System.out.print("Введите команду (или 'quit' для выхода): ");
input = scanner.nextLine();
System.out.println("Вы ввели: " + input);
} while (!input.equalsIgnoreCase("quit"));
Объяснение: Пользователь вводит команды, пока не введет "quit". Цикл гарантирует, что запрос появится хотя бы один раз.
2.4. Особенности
Гарантированное выполнение: Блок кода выполняется хотя бы один раз, даже если условие ложно.
Использование: Подходит для задач, где нужно выполнить действие хотя бы раз, например, отображение меню или запрос ввода.
3. Правильное применение
3.1. Лучшие практики
Используйте фигурные скобки {}:
Даже для одной строки, чтобы избежать ошибок и улучшить читаемость.// Плохо: без скобок
while (i < 5)
System.out.println(i++);
// Хорошо: со скобками
while (i < 5) {
System.out.println(i++);
}
Обновляйте переменные:
Убедитесь, что переменные в условии изменяются, чтобы избежать бесконечных циклов.
Проверяйте на null:
Если работаете с объектами, проверяйте их на null, чтобы избежать NullPointerException.String input = null;
while (input != null && !input.isEmpty()) {
// Обработка ввода
}
Используйте понятные имена:
Например, counter вместо i делает код понятнее.
Избегайте бесконечных циклов:
Если используете while (true), добавьте break для выхода.while (true) {
if (условие) break;
}
3.2. Распространенные ошибки
Забыть обновить переменную:int i = 1;
while (i <= 5) {
System.out.println(i); // Бесконечный цикл, так как i не увеличивается
}
Неправильный выбор цикла:
Использование do-while, когда while лучше, или наоборот.
Сложные условия:
Слишком сложные условия затрудняют чтение. Разбивайте их на переменные.
// Плохо
while (x > 0 && y < 10 && z != null && z.isValid()) {}
// Хорошо
boolean isValid = x > 0 && y < 10 && z != null && z.isValid();
while (isValid) {}
4. Работа под капотом
4.1. Компиляция в байт-код
Цикл while:
Компилируется в инструкции if и goto. Условие проверяется перед выполнением, и если оно истинно, JVM переходит к блоку кода.
Пример байт-кода (упрощенно):
while (i < 5) {
i++;
}
Байт-код:iload i
bipush 5
if_icmpge end
iinc i, 1
goto loop
end:
Цикл do-while:
Блок кода выполняется сначала, затем проверяется условие с помощью if и goto.
Пример байт-кода:
do {
i++;
} while (i < 5);
Байт-код:loop:
iinc i, 1
iload i
bipush 5
if_icmplt loop
4.2. Память и стек
Стек операндов: Условие цикла вычисляется в стеке операндов JVM.
Стек вызовов: Локальные переменные цикла (например, i) хранятся в стеке вызовов.
Куча: Если в цикле создаются объекты (например, new String()), они хранятся в куче.
4.3. Оптимизация в JVM
JIT-компиляция: JVM может оптимизировать циклы, встраивая их в машинный код для повышения производительности.
Короткое замыкание: Если условие содержит логические операторы (&&, ||), JVM пропускает ненужные вычисления.
Удаление пустых циклов: Если цикл не выполняет полезной работы, JIT-компилятор может его убрать.
4.4. Ошибки в памяти
Бесконечные циклы: Могут переполнить стек или кучу, если создаются объекты.
NullPointerException: Работа с объектами без проверки на null в условии.
String s = null;
while (s.length() > 0) { // Ошибка: NullPointerException
}
#Java #для_новичков #beginner #while #do_while
👍3
Тестирование в Spring
2. Модульные тесты через TDD в Spring. Tестирование REST API.
Серия видео посвященная тестированию всего и вся в Spring.
Что мы рассмотрели:
🔵 как написать тест контроллера через TDD
🔵 узнали как частично поднимать контекст для тестирования API
🔵 логику тестирования исходящих запросов
🔵 варианты написания параметризированных тестов
Ссылка на Youtube
Ссылка на Рутьюб
Ссылка на GitHub - жду ваших звезд☺️
Смотрите, ставьте лайки, подписывайтесь на каналы!✌️
2. Модульные тесты через TDD в Spring. Tестирование REST API.
Серия видео посвященная тестированию всего и вся в Spring.
Что мы рассмотрели:
Ссылка на Youtube
Ссылка на Рутьюб
Ссылка на GitHub - жду ваших звезд
Смотрите, ставьте лайки, подписывайтесь на каналы!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Что выведет код?
#Tasks
public class Task110825 {
public static void main(String[] args) {
int i = 0;
while (i++ < 5) {
System.out.print(i + " ");
if (i == 3) {
i += 2;
}
}
}
}
#Tasks
👍1
👍2
Forwarded from ChatRoom (Java for Beginner) (Первожрец Java)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥3
Что такое ConcurrentSkipListMap? 🤓
Ответ:
ConcurrentSkipListMap — потокобезопасная реализация NavigableMap, использующая структуру skip-list для хранения упорядоченных ключей.
Пример:
ConcurrentSkipListMap<Integer, String> map = new ConcurrentSkipListMap<>();
map.put(2, "Two");
map.put(1, "One");
System.out.println(map.firstKey()); // 1
Подходит для многопоточных приложений с упорядоченными данными.
#собеседование
Ответ:
Пример:
ConcurrentSkipListMap<Integer, String> map = new ConcurrentSkipListMap<>();
map.put(2, "Two");
map.put(1, "One");
System.out.println(map.firstKey()); // 1
Подходит для многопоточных приложений с упорядоченными данными.
#собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯1
Дороти Элизабет Деннинг (урождённая Роблинг, родилась 12 августа 1945 года) — американский исследователь в области информационной безопасности, известный своими системами контроля доступа на основе решётчатой архитектуры (LBAC), системами обнаружения вторжений (IDS) и другими инновациями в области кибербезопасности. Она опубликовала четыре книги и более 200 статей. В 2012 году она была включена в Национальный зал славы кибербезопасности , а сейчас является почётным профессором кафедры анализа обороны Военно-морской аспирантуры.
Мануэла Мария Велозо (родилась 12 августа 1957 г.) — руководитель отдела исследований искусственного интеллекта JP Morgan и почётный профессор Университета Герберта А. Саймона в Школе компьютерных наук Университета Карнеги — Меллона, где ранее она возглавляла кафедру машинного обучения. До 2014 года она была президентом Ассоциации содействия развитию искусственного интеллекта (AAAI), а также соучредителем и бывшим президентом Федерации RoboCup. Является международным экспертом в области искусственного интеллекта и робототехники.
1960 год — США запустили Echo-1A, первый в истории коммуникационный спутник, осуществляющий ретрансляцию радиосигналов и сделавший огромный шаг в развитии спутниковой связи.
1962 — СССР запустил «Восток 4» с космонавтом Павлом Поповичем, впервые два пилотируемых корабля находились в космосе одновременно; они осуществили радиосвязь и сблизились на расстояние около 6,5 км.
1981 — IBM представила и начала продажи первого массового персонального компьютера IBM PC (модель 5150), что стало ключевым рубежом в истории вычислительной техники.
#Biography #Birth_Date #Events #12Августа
Please open Telegram to view this post
VIEW IN TELEGRAM
Wikipedia
Dorothy E. Denning
American information security researcher
👍1