erid: LjN8KTAAY
❓ Как стать DevOps-специалистом всего за полгода и увеличить свой доход минимум в 3 раза?
Привет! Я Марсель Ибраев, Senior system engineer в Core42 Cloud и спикер учебного центра Слёрм. Совместно с ребятами из Честного Знака, Лаборатории Касперского, VK и Jetty Cloud мы запускаем новый крутой проект для всех начинающих DevOps-специалистов https://news.1rj.ru/str/devopsupgrade/90
На своем канале собрал фишки, которые помогут:
⚡️ начать наконец свой путь в DevOps;
⚡️ освоить базовые компетенции для DevOps-специалиста;
⚡️ стать Junior DevOps и повысить свою стоимость на рынке труда в 3 раза.
Уже сейчас вы можете забрать бесплатный роадмап по основным компетенциям в девопсе, который поможет вам начать свой карьерный путь.
🔥 Проект ограничен по времени. Залетайте на корабль!
ПОДПИСАТЬСЯ НА КАНАЛ
и забрать роадмап
❓ Как стать DevOps-специалистом всего за полгода и увеличить свой доход минимум в 3 раза?
Привет! Я Марсель Ибраев, Senior system engineer в Core42 Cloud и спикер учебного центра Слёрм. Совместно с ребятами из Честного Знака, Лаборатории Касперского, VK и Jetty Cloud мы запускаем новый крутой проект для всех начинающих DevOps-специалистов https://news.1rj.ru/str/devopsupgrade/90
На своем канале собрал фишки, которые помогут:
⚡️ начать наконец свой путь в DevOps;
⚡️ освоить базовые компетенции для DevOps-специалиста;
⚡️ стать Junior DevOps и повысить свою стоимость на рынке труда в 3 раза.
Уже сейчас вы можете забрать бесплатный роадмап по основным компетенциям в девопсе, который поможет вам начать свой карьерный путь.
🔥 Проект ограничен по времени. Залетайте на корабль!
ПОДПИСАТЬСЯ НА КАНАЛ
и забрать роадмап
😁3❤2👍1
Написание документации является неотъемлемой частью процесса разработки даже относительно небольших проектов. В случае с REST-сервисами вы можете описать их вручную в формате OpenAPI, а можете использовать инструменты документирования, которые автоматизируют часть этого процесса. В одиннадцатом ролике серии речь пойдёт об использовании двух инструментов для автоматического генерирования документации проектов на основе Spring - Spring Restdocs и Springdoc, а в результате вы получите не только описание сервисов, но и swagger-интерфейс для ручного тестирования с поддержкой OAuth/OIDC.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
SC24EP11 Документация REST-сервисов - Разработка проектов со Spring #java #spring #swagger #openapi
Написание документации является неотъемлемой частью процесса разработки даже относительно небольших проектов. В случае с REST-сервисами вы можете описать их вручную в формате OpenAPI, а можете использовать инструменты документирования, которые автоматизируют…
👍9❤4🔥3
Присоединяйтесь к нашему бесплатному курсу и начните увлекательное путешествие в мир Java!
Изучайте основы, создавайте программы, разбирайтесь с методами и анализируйте ошибки в коде. Практика, упражнения и проверочные тесты помогут вам освоить навыки программирования.
🎓 Чему вы научитесь:
— Создавать программы с использованием основных конструкций языка.
— Разделять код на методы для повторного использования.
— Анализировать ошибки в коде с использованием отладочной печати.
💼 Включено в курс:
29 уроков (видео и/или текст), 35 упражнений в тренажере, 95 проверочных тестов + дополнительные материалы.
Вы с нами?😉
Изучайте основы, создавайте программы, разбирайтесь с методами и анализируйте ошибки в коде. Практика, упражнения и проверочные тесты помогут вам освоить навыки программирования.
🎓 Чему вы научитесь:
— Создавать программы с использованием основных конструкций языка.
— Разделять код на методы для повторного использования.
— Анализировать ошибки в коде с использованием отладочной печати.
💼 Включено в курс:
29 уроков (видео и/или текст), 35 упражнений в тренажере, 95 проверочных тестов + дополнительные материалы.
Вы с нами?😉
👍6❤3🔥1😁1
Одинарные и двойные кавычки
Что ты ожидаешь в результате выполнения кода с картинки?
Казалось бы, строка должна возвращать «
Двойные кавычки обрабатывают символы как строки, но одинарные кавычки ведут себя иначе. Они преобразуют символьные операнды (
Что ты ожидаешь в результате выполнения кода с картинки?
Казалось бы, строка должна возвращать «
HaHa», но на самом деле это будет «Ha169».Двойные кавычки обрабатывают символы как строки, но одинарные кавычки ведут себя иначе. Они преобразуют символьные операнды (
'H' и 'a') в целые значения посредством расширения примитивных типов — получается 169.👍23❤6🔥6
Тест по Java от OTUS
Проверь насколько хорошо ты знаешь Java
Ответишь — пройдешь на продвинутый курс «Java Developer. Professional» от OTUS по специальной цене + получишь доступ к записям открытых уроков курса курса🎁 .
👉 ПРОЙТИ ТЕСТ: https://vk.cc/cvUzFk
🎫 А ещё, сейчас действуют скидка в честь дня рождения Otus! Возможна оплата в рассрочку! Предложение ограничено.
Проверь насколько хорошо ты знаешь Java
Ответишь — пройдешь на продвинутый курс «Java Developer. Professional» от OTUS по специальной цене + получишь доступ к записям открытых уроков курса курса🎁 .
👉 ПРОЙТИ ТЕСТ: https://vk.cc/cvUzFk
🎫 А ещё, сейчас действуют скидка в честь дня рождения Otus! Возможна оплата в рассрочку! Предложение ограничено.
Хотите протестировать учебный процесс заранее? Регистрируйтесь на открытый урок «Знакомство с Micronaut» 11 апреля
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru❤4👍4🔥3
Алгоритм Кнута — Морриса — Пратта
Алгоритм КМП осуществляет поиск текста по заданному шаблону. В этом поиске сначала компилируется заданный шаблон. Компилируя шаблон, мы пытаемся найти префикс и суффикс строки шаблона. Это поможет в случае несоответствия — не придётся искать следующее совпадение с начального индекса.
Вместо этого мы пропускаем часть текстовой строки, которую уже сравнили, и начинаем сравнивать следующую. Необходимая часть определяется по префиксу и суффиксу, поэтому известно, какая часть уже прошла проверку и может быть безопасно пропущена.
Алгоритм КМП осуществляет поиск текста по заданному шаблону. В этом поиске сначала компилируется заданный шаблон. Компилируя шаблон, мы пытаемся найти префикс и суффикс строки шаблона. Это поможет в случае несоответствия — не придётся искать следующее совпадение с начального индекса.
Вместо этого мы пропускаем часть текстовой строки, которую уже сравнили, и начинаем сравнивать следующую. Необходимая часть определяется по префиксу и суффиксу, поэтому известно, какая часть уже прошла проверку и может быть безопасно пропущена.
👍30❤6🔥5
Хотите освоить среду выполнения wasm/wasi и запускать серверные приложения без привязки к операционной системе?
Присоединяйтесь к нашему бесплатному уроку «Wasm на сервере для высоконагруженных систем».
Дата: 09.04 в 20:00 мск
На уроке вы узнаете:
- Основы компиляции приложений в WebAssembly из различных технологий разработки: tinygo, emnoscripten, cargo.
- Как использовать Docker и NGINX Unit для публикации ваших wasm-приложений.
- Подключение wasm к envoy и публикация как функций в knative.
- Инструменты отладки и оценки производительности опубликованных wasm-приложений с использованием wzprof.
Не упустите возможность погрузиться в мир WebAssembly и трансформировать свою разработку серверных приложений!
После вебинара можно записаться на курс «Highload Architect» от Otus. Курс доступен для приобретения в рассрочку.
Пройдите короткий тест и начните обучение бесплатно: https://otus.pw/RhIp/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Присоединяйтесь к нашему бесплатному уроку «Wasm на сервере для высоконагруженных систем».
Дата: 09.04 в 20:00 мск
На уроке вы узнаете:
- Основы компиляции приложений в WebAssembly из различных технологий разработки: tinygo, emnoscripten, cargo.
- Как использовать Docker и NGINX Unit для публикации ваших wasm-приложений.
- Подключение wasm к envoy и публикация как функций в knative.
- Инструменты отладки и оценки производительности опубликованных wasm-приложений с использованием wzprof.
Не упустите возможность погрузиться в мир WebAssembly и трансформировать свою разработку серверных приложений!
После вебинара можно записаться на курс «Highload Architect» от Otus. Курс доступен для приобретения в рассрочку.
Пройдите короткий тест и начните обучение бесплатно: https://otus.pw/RhIp/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
❤4👍3🔥2
Мониторинг и администрирование являются важными составляющими процесса эксплуатации разрабатываемых сервисов. В настоящее время для этого существует достаточно большое количество инструментов общего назначения, но в этом ролике автор хотел бы рассказать о специфичном для Spring Boot проекте, который называется Spring Boot Admin. Данный инструмент позволяет реализовать мониторинг проектов на основе Spring Boot, а так же предоставляет инструменты для их администрирования.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
SC24EP12 Мониторинг и администрирование со Spring Boot Admin - Разработка проектов со Spring
Мониторинг и администрирование являются важными составляющими процесса эксплуатации разрабатываемых сервисов. В настоящее время для этого существует достаточно большое количество инструментов общего назначения, но в этом ролике я хотел бы рассказать о специфичном…
❤10👍4🎉2
Forwarded from МТС
Мы решили повторить успех конференции 2023 года и, конечно же, превзойти его 💪
В этом году программа разделена на пять ключевых треков, на которых более 50 ведущих экспертов и лидеров ИТ-сообществ представят свои доклады.
Регистрируйтесь прямо сейчас 🔗
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤2🔥2
100 Java Mistakes and How to Avoid Them (2024) True PDF
Dodge the common mistakes that even senior developers make, take full advantage of static analysis tools, and deliver robust and error-free Java code.
Inside 100 Java Mistakes and How To Avoid Them you will learn how to:
Write better Java programs
Recognize common mistakes during programming
Create fewer bugs and save time for debugging and testing
Get help from static analyzers during programming
Configure static analysis tools to reduce amount of false reports
Extend static analysis tools with custom plugins
Whenever you make a mistake writing Java, it’s almost guaranteed that someone else has made it before! In 100 Java Mistakes and How To Avoid Them you’ll learn about the common and the not-so-common antipatterns, errors, and tricky bits that trip up almost every Java developer.
Dodge the common mistakes that even senior developers make, take full advantage of static analysis tools, and deliver robust and error-free Java code.
Inside 100 Java Mistakes and How To Avoid Them you will learn how to:
Write better Java programs
Recognize common mistakes during programming
Create fewer bugs and save time for debugging and testing
Get help from static analyzers during programming
Configure static analysis tools to reduce amount of false reports
Extend static analysis tools with custom plugins
Whenever you make a mistake writing Java, it’s almost guaranteed that someone else has made it before! In 100 Java Mistakes and How To Avoid Them you’ll learn about the common and the not-so-common antipatterns, errors, and tricky bits that trip up almost every Java developer.
👍17🔥6❤3
Каким будет результат сравнения в следующем коде?
Ответ:
s1 == s2 ? true
s1 == s3 ? false
s1 equals s3 ? true
Вопрос на понимание работы пула строк в Java и на понимание сравнения строк. Разберем детально: Переменная s1 ссылается на строку в пуле уникальных строк в памяти, переменная s2 ссылается на ту же саму строку в пуле уникальных строк, что и переменная s1, первое сравнение будет true, так как s1 и s2 ссылаются на один и тот же объект. Переменная s3 ссылается на новый объект, который не находится в пуле уникальных строк, так как он создан через new, следовательно второе сравнение будет false, так как сравниваем переменные которые ссылаются на на два разных объекта. Третье сравнение будет true, так как мы сравниваем строки посимвольно на эквивалентность через equals, а содержимое данных строк одинаково.
Ответ:
s1 == s2 ? true
s1 == s3 ? false
s1 equals s3 ? true
Вопрос на понимание работы пула строк в Java и на понимание сравнения строк. Разберем детально: Переменная s1 ссылается на строку в пуле уникальных строк в памяти, переменная s2 ссылается на ту же саму строку в пуле уникальных строк, что и переменная s1, первое сравнение будет true, так как s1 и s2 ссылаются на один и тот же объект. Переменная s3 ссылается на новый объект, который не находится в пуле уникальных строк, так как он создан через new, следовательно второе сравнение будет false, так как сравниваем переменные которые ссылаются на на два разных объекта. Третье сравнение будет true, так как мы сравниваем строки посимвольно на эквивалентность через equals, а содержимое данных строк одинаково.
👍37❤6
Расширьте свои навыки в программировании с бесплатным мини-курсом по Java! Научитесь создавать Telegram-ботов, разрабатывать программы для обработки данных и строить чаты на фреймворке Spring. Не упустите шанс изучить основы Java-разработки — начните обучение уже сегодня: 👉 https://epic.st/I-9KQ?erid=2VtzqxFc6Ar
Формат мини-курса отлично подойдёт для обучения из любой точки мира: смотрите видео в удобное время и закрепляйте навыки на практике.
🎁 За время обучения вы получите 5 полезных материалов в подарок, сертификат на скидку 10 000 рублей на любой курс, персональную карьерную консультацию и доступ к изучению английского языка в Skillbox на год.
До встречи на мини-курсе. Старт после регистрации!
Реклама. ЧОУ ДПО «Образовательные технологии «Скилбокс (Коробка навыков)», ИНН: 9704088880
Формат мини-курса отлично подойдёт для обучения из любой точки мира: смотрите видео в удобное время и закрепляйте навыки на практике.
🎁 За время обучения вы получите 5 полезных материалов в подарок, сертификат на скидку 10 000 рублей на любой курс, персональную карьерную консультацию и доступ к изучению английского языка в Skillbox на год.
До встречи на мини-курсе. Старт после регистрации!
Реклама. ЧОУ ДПО «Образовательные технологии «Скилбокс (Коробка навыков)», ИНН: 9704088880
❤6👍2🎅1
new vs valueOf
Старайтесь всегда использовать метод
Все оболочки, кроме чисел с плавающей точкой, от Byte до Long, имеют кэш. По умолчанию этот кэш содержит значения от -128 до 127. Следовательно, если ваше значение попадает в этот диапазон, то значение вернется из кэша. Значение из кэша достается в 3.5 раза быстрее, чем при использовании конструктора, плюс идёт экономия памяти.
Помимо этого, наиболее часто используемые значения могут также быть закэшированы компилятором и виртуальной машиной.
Старайтесь всегда использовать метод
valueOf вместо конструктора в стандартных классах-оболочках примитивных типов, кроме тех случаев, когда вам нужно конкретно выделить память под новое значение. Сейчас объясню, почему.Все оболочки, кроме чисел с плавающей точкой, от Byte до Long, имеют кэш. По умолчанию этот кэш содержит значения от -128 до 127. Следовательно, если ваше значение попадает в этот диапазон, то значение вернется из кэша. Значение из кэша достается в 3.5 раза быстрее, чем при использовании конструктора, плюс идёт экономия памяти.
Помимо этого, наиболее часто используемые значения могут также быть закэшированы компилятором и виртуальной машиной.
👍27❤3🔥3
Forwarded from Яндекс
This media is not supported in your browser
VIEW IN TELEGRAM
«Порог входа не низкий, но он значительно ниже, чем 10–20 лет назад».
«Не страшно, если ваш язык программирования не самый популярный».
«Так начинается почти у всех. Только потом вы начнёте углубляться и разбираться».
Подписывайтесь
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7❤4👍3
От Java к Kotlin (2023) PDF
Книга описывает практические приемы рефакторинга и переноса кода написанных на Java мобильных приложений для Android на язык Kotlin с сохранением совместимости. Приведено подробное сравнение этих двух языков, даны примеры перевода проектов с Java на Kotlin, добавления поддержки Kotlin в сборку Java. Показан переход от классов Java к классам Kotlin, от коллекций Java к коллекциям Kotlin, от объектов JavaBeans к значениям, от статических методов к функциям верхнего уровня. Подробно рассматривается обработка ошибок, приведены практические приемы управления проектами со смешанной кодовой базой. Даны советы по рефакторингу кода и функциональному программированию на Kotlin.
Книга описывает практические приемы рефакторинга и переноса кода написанных на Java мобильных приложений для Android на язык Kotlin с сохранением совместимости. Приведено подробное сравнение этих двух языков, даны примеры перевода проектов с Java на Kotlin, добавления поддержки Kotlin в сборку Java. Показан переход от классов Java к классам Kotlin, от коллекций Java к коллекциям Kotlin, от объектов JavaBeans к значениям, от статических методов к функциям верхнего уровня. Подробно рассматривается обработка ошибок, приведены практические приемы управления проектами со смешанной кодовой базой. Даны советы по рефакторингу кода и функциональному программированию на Kotlin.
👍19❤6🔥2
🔥 Это база с 1700 вопросами с собеседований на Java разработчика. Фишка в том, что просчитана вероятность с которой вопрос буден задан и есть примеры ответов. Теперь можно легко получить оффер, подготовившись к самым популярным вопросам 😏
Telegram
Java | Вопросы собесов
Cайт easyoffer.ru
Реклама @easyoffer_adv
ВП @easyoffer_vp
Тесты t.me/+icUwivvbGOkwNWRi
Задачи t.me/+8eqUTboisnkyZjQy
Вакансии t.me/+4pspF5nDjgM4MjQy
Реклама @easyoffer_adv
ВП @easyoffer_vp
Тесты t.me/+icUwivvbGOkwNWRi
Задачи t.me/+8eqUTboisnkyZjQy
Вакансии t.me/+4pspF5nDjgM4MjQy
😁9❤1☃1🎅1
Java-разработчики, этот пост для вас!
13 апреля, всего за один день, вы можете получить оффер и присоединиться к дружному коллективу AXENIX.
План действий такой:
— до 11 апреля отправьте нам свое резюме через этот сайт
— дождитесь звонка от нашего рекрутера, чтобы получить ответы на все вопросы
— 13 апреля пройдите онлайн-собеседование с экспертами AXENIX
— получите оффер в тот же день!
Вакансии по Java-разработке открыты для кандидатов из городов, где представлены офисы AXENIX (Москва, Тверь, Санкт-Петербург, Ростов-на-Дону, Воронеж, Краснодар), а также специалистов, готовых к переезду.
Подробнее здесь
До встречи!
Реклама. ООО "АКСТИМ". ИНН 7705476338.
13 апреля, всего за один день, вы можете получить оффер и присоединиться к дружному коллективу AXENIX.
План действий такой:
— до 11 апреля отправьте нам свое резюме через этот сайт
— дождитесь звонка от нашего рекрутера, чтобы получить ответы на все вопросы
— 13 апреля пройдите онлайн-собеседование с экспертами AXENIX
— получите оффер в тот же день!
Вакансии по Java-разработке открыты для кандидатов из городов, где представлены офисы AXENIX (Москва, Тверь, Санкт-Петербург, Ростов-на-Дону, Воронеж, Краснодар), а также специалистов, готовых к переезду.
Подробнее здесь
До встречи!
Реклама. ООО "АКСТИМ". ИНН 7705476338.
👍7❤4🔥2🎅1
Как ведут себя конфликтующие импорты?
• Классы текущего пакета доступны без импорта. Если импортируется другой класс, совпадающий с классом-соседом по пакету – сосед перекрывается. Будет использован импортированный класс, без ошибки.
• Если в class-файле существует несколько разных классов с одинаковыми именами, объявленных здесь же или импортированных – это приводит к ошибке компиляции.
• Импортировать один и тот же класс несколько раз допускается. Будет всего лишь warning о неиспользуемом импорте.
• Для статических импортов констант действуют те же правила. Обычные и статические импорты не конфликтуют друг с другом – для выбора достаточно контекста использования.
• Чтобы применять несколько классов/констант с одинаковыми именами в одном файле, придется обойтись без импортов. Нужно будет обращаться по их полным именам, с указанием пакета.
• Классы текущего пакета доступны без импорта. Если импортируется другой класс, совпадающий с классом-соседом по пакету – сосед перекрывается. Будет использован импортированный класс, без ошибки.
• Если в class-файле существует несколько разных классов с одинаковыми именами, объявленных здесь же или импортированных – это приводит к ошибке компиляции.
• Импортировать один и тот же класс несколько раз допускается. Будет всего лишь warning о неиспользуемом импорте.
• Для статических импортов констант действуют те же правила. Обычные и статические импорты не конфликтуют друг с другом – для выбора достаточно контекста использования.
• Чтобы применять несколько классов/констант с одинаковыми именами в одном файле, придется обойтись без импортов. Нужно будет обращаться по их полным именам, с указанием пакета.
👍14❤4
I like techno — подкаст о технологиях в сервисах Яндекса
Запустили подкаст, где специалисты Яндекса говорят о том, как устроены простые приложения в наших гаджетах.
Первый эпизод посвящен технологиям Фудтеха — узнайте, как алгоритмы Еды и Лавки помогают доставлять продукты пользователям, несмотря на погодные условия и другие неопределенности.
Слушать на Яндекс Музыке
Смотреть на Youtube
Запустили подкаст, где специалисты Яндекса говорят о том, как устроены простые приложения в наших гаджетах.
Первый эпизод посвящен технологиям Фудтеха — узнайте, как алгоритмы Еды и Лавки помогают доставлять продукты пользователям, несмотря на погодные условия и другие неопределенности.
Слушать на Яндекс Музыке
Смотреть на Youtube
❤6👍3
Класс LinkedList
Это структура данных в виде связанного списка. C помощью нее можно быстро добавлять элементы, но будет проблематично брать данные по индексу.
У него есть все методы, которые определены в интерфейсах List, Queue, Deque.
addFirst() / offerFirst() — добавляет элемент в начало списка. addLast() / offerLast() — в конец.
removeFirst() / pollFirst() — удаляет первый элемент из начала списка. removeLast() / pollLast() — с конца списка.
getFirst() / peekFirst(); getLast() / peekLast() — возвращает первый/последний элемент списка.
Это структура данных в виде связанного списка. C помощью нее можно быстро добавлять элементы, но будет проблематично брать данные по индексу.
У него есть все методы, которые определены в интерфейсах List, Queue, Deque.
addFirst() / offerFirst() — добавляет элемент в начало списка. addLast() / offerLast() — в конец.
removeFirst() / pollFirst() — удаляет первый элемент из начала списка. removeLast() / pollLast() — с конца списка.
getFirst() / peekFirst(); getLast() / peekLast() — возвращает первый/последний элемент списка.
👍23🔥4❤3