seniorjavist | Unsorted

Telegram-канал seniorjavist - Senior Java Developer

-

Изучаем Java. По вопросам сотрудничества: @seniorvladislav

Subscribe to a channel

Senior Java Developer

🔥Незаменимый инструмент для автоматизации тестирования на Java

👉Освойте его на бесплатном открытом уроке «Возможности тестирования через Spring Contract Testing» от OTUS.

📖На вебинаре вы вместе с опытным экспертом познакомитесь с возможностями тестирования через Spring Contract Testing и получите ответы на любые свои вопросы по теме.

📆Занятие пройдёт 31 января в 20:00 мск и будет приурочено к старту курса «Java QA Engineer. Professional». Доступна рассрочка на обучение!

💪Пройдите бесплатный тест прямо сейчас, чтобы занять место на открытом уроке и получить запись: Пройти тест

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963. erid: LjN8K3iQd

Читать полностью…

Senior Java Developer

Какие классы позволяют ускорить чтение/запись за счет использования буфера?

BufferedInputStream(InputStream in)/ BufferedInputStream(InputStream in, int size),
BufferedOutputStream(OutputStream out)/BufferedOutputStream(OutputStream out, int size),
BufferedReader(Reader r)/BufferedReader(Reader in, int sz),
BufferedWriter(Writer out)/BufferedWriter(Writer out, int sz)

Читать полностью…

Senior Java Developer

Какие методы класса File вы знаете?

Наиболее используемые методы класса File:
boolean createNewFile(): делает попытку создать новый файл;
boolean delete(): делает попытку удалить каталог или файл;
boolean mkdir(): делает попытку создать новый каталог;
boolean renameTo(File dest): делает попытку переименовать файл или каталог;
boolean exists(): проверяет, существует ли файл или каталог;
String getAbsolutePath(): возвращает абсолютный путь для пути, переданного в конструктор объекта;
String getName(): возвращает краткое имя файла или каталога;
String getParent(): возвращает имя родительского каталога;
boolean isDirectory(): возвращает значение true, если по указанному пути располагается каталог;
boolean isFile(): возвращает значение true, если по указанному пути находится файл;
boolean isHidden(): возвращает значение true, если каталог или файл являются скрытыми;
long length(): возвращает размер файла в байтах;
long lastModified(): возвращает время последнего изменения файла или каталога;
String[] list(): возвращает массив файлов и подкаталогов, которые находятся в определенном каталоге;
File[] listFiles(): возвращает массив файлов и подкаталогов, которые находятся в определенном каталоге.

Читать полностью…

Senior Java Developer

Алгоритм Кнута – Морриса – Пратта

Алгоритм КМП осуществляет поиск текста по заданному шаблону. В этом поиске сначала компилируется заданный шаблон. Компилируя шаблон, мы пытаемся найти префикс и суффикс строки шаблона. Это поможет в случае несоответствия – не придётся искать следующее совпадение с начального индекса.

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

#для_продвинутых

Читать полностью…

Senior Java Developer

Процедурное программирование

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

В Java процедуры реализуются с помощью методов. Методы в Java объявляются внутри классов и могут выполнять определенные действия или возвращать результаты. Они могут принимать аргументы и иметь локальные переменные.

#для_продвинутых

Читать полностью…

Senior Java Developer

Как используется класс Future?

Класс Future является частью пакета java.util.concurrent, и он используется для представления результата асинхронной операции или задачи, которая выполняется в фоновом потоке. Future позволяет вам управлять и получать результаты выполнения задачи в будущем, даже если она еще не завершилась.

#для_начинающих

Читать полностью…

Senior Java Developer

Прокачайте Java-скилы c Холдингом Т1! 💙 🚀

➕ Если вы уже более года работаете Java-разработчиком и хотите освоить новые перспективы для развития внутри профессии, то Открытые школы Холдинга Т1 для вас!

Мы поможем вам улучшить свои навыки и пригласим лучших в нашу команду!

В программе интенсива: 
🔹 Spring Core
🔹 Очереди, брокеры сообщений

Как это работает:
🔹 подать заявку на сайте 
🔹 пройти входное тестирование
🔹достаточно 8 часов в неделю: 4 часа на вебинары и 4 часа на практические задания
🔹всё онлайн и без отрыва от работы

Продолжительность - 1 месяц, стартуем уже в январе.🎓

🌟 Подавайте заявку до 24 января!

Реклама. ООО "ГК "ИННОТЕХ". ИНН 9703073496.

Читать полностью…

Senior Java Developer

Как пройти собеседование в компанию мечты? ☄️

26 января проведем техническое собеседование на позицию Senior Java Developer в «Цифровые Привычки», 350.000₽+

В прямом эфире:

Разберем реальное CV;
Обсудим, на что обращают внимание рекрутеры, а на что — интервьюеры;
Расскажем о частых ошибках на собеседовании и как не допустить их.

А после эфира поделимся чек-листом, который поможет учесть все требования 2024 года при подготовке к собеседованию.

Интервьюер – Роберт Мазипов. Java Architect с опытом программирования на Java 4 года. Преподаватель на курсе Senior Java Developer.

Больше — в прямом эфире!
Регистрация по ссылке: https://clck.ru/386FBo

Реклама. ООО "Платформа непрерывного обучения" ИНН 7839405924
erid: 2VtzqxDo2UE

Читать полностью…

Senior Java Developer

Оptimistic locking

optimistic locking — это стратегия контроля параллельного доступа к ресурсам или данным, которая позволяет не блокировать ресурсы в течение длительного времени. Она основывается на предположении, что конфликты при доступе к данным встречаются редко, и поэтому вместо того чтобы заблокировать ресурс целиком на протяжении операции, она позволяет нескольким потокам или процессам работать с данными параллельно.

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

#для_продвинутых

Читать полностью…

Senior Java Developer

Параллельная редукция

Параллельная редукция в Java — это процесс сокращения (редукции) коллекции элементов с использованием параллельных вычислений. В Java для этого можно использовать параллельные потоки и функциональные интерфейсы, такие как reduce(), collect() и stream().

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

#для_продвинутых

Читать полностью…

Senior Java Developer

Старт подготовительного курса по Java-разработке.

Когда: уже 25 января.

Даем: 62 урока с практикой в браузере, 3 онлайн вебинара и 1 сессию лайвкодинга с практикующим разработчиком.

Получаем: крепкие знания базы языка, умение понимать код и первую программу на Java, написанную вместе с наставником.

Всего 990 ₽ и ваше жгучее желание начать. Приходите с любым бэкграундом: нам не важны возраст, пол, образование и текущая профессия.

Запишитесь прямо сейчас!

Реклама. ООО "ХЕКСЛЕТ РУС". ИНН 7325174845. erid:LjN8KLsLZ

Читать полностью…

Senior Java Developer

Быстрый офер в Яндекс для бэкенд-разработчиков

Мечтали о возможности самим выбрать команду, в которой будете работать? Приходите в Яндекс за офером! На мероприятии по быстрому найму через MultiTrack 27–28 января можно получить приглашение за два дня, несколько недель поработать в трёх разных командах, а затем выбрать проект, с которым свяжете будущее.

План простой: до 24 января решите задачи в Контесте, 27 января пройдите две технические секции, а 28-го получите офер и знакомьтесь с командами. Мы ждём бэкендеров на C++, Python, Java и Go, которые занимаются коммерческой разработкой больше пяти лет.

Регистрируйтесь и приходите!

Читать полностью…

Senior Java Developer

В Java 21 собираются реализовать сопоставление с образцом – так, глядишь, я снова на этот язык перейду

Выпуск Java 21 состоялся 19 сентября 2023 года. В этой версии поддерживаются паттерны записи в switch-блоках и выражениях. Такой синтаксис выглядит монументально (как минимум, по меркам Java).

Смотреть статью

Читать полностью…

Senior Java Developer

Ссылочные типы

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

#для_начинающих

Читать полностью…

Senior Java Developer

☄️ 17 января в 18:00 состоится бесплатный вебинар от HeadBridge!

«Обработка тысяч одновременных записей и обеспечение согласованности данных»


• Разберем уровни изоляции транзакций
• Физический состав работы с базой данных
• Locks: pessimistic, optimistic & advisory

Рассмотрим потенциальные проблемы при работе со связкой java->database. Выполним тысячи апдейтов над одними и теми же строками и покажем наиболее распространенные подходы для достижения согласованности и производительности.

Ведущий: Роман Оборин, Senior Software Engineer
Опыт программирования на Java — 6 лет (Tesco, BNP paribas, Natera)

💖Скорее регистрируйся: https://bit.ly/headbridge

Реклама. ООО "Платформа непрерывного обучения"
erid: 2VtzqwKs6n9, ИНН 7839405924

Читать полностью…

Senior Java Developer

Узнаем размер каталога с помощью Java

Размер файлов в Java можно получить с помощью класса File. Встроенная функция 'fileName.length()' используется для определения размера файла в байтах.

Каталог может содержать N файлов, для расчета размера каталога требуется суммирование размеров всех файлов.

Подробнее можно посмотреть здесь.

Читать полностью…

Senior Java Developer

Какой параметр запуска JVM используется для контроля размера стека потока?

-Xss

Читать полностью…

Senior Java Developer

Как эффективно обрабатывать данные в высоконагруженных проектах?

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

На вебинаре разберём:
- применение асинхронной обработки;
- архитектуру прототипа;
- узкие места прототипа.

📅 Занятие пройдёт 15 февраля в 20:00 мск и будет приурочено к старту курса «Highload Architect». Доступна рассрочка на обучение!

🌐 Для бесплатного участия регистрируйтесь прямо сейчас: https://otus.pw/kRx6/?erid=LjN8K3xwh

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

Читать полностью…

Senior Java Developer

Финтех-команда, разрабатывающая передовую брокерскую платформу, ищет Senior Java Developer. Мы выводим нашего брокера на новый уровень и создаём решения, способные выдержать любую нагрузку и обеспечить доступность сервиса миллионам клиентов. Мы не поддерживаем legacy и полностью переосмысливаем все старые процессы 💻

Тебе необходимо будет писать красивый и эффективный код, разрабатывать архитектуру, писать unit-тесты.

Что мы ждём от кандидата:

•опыт от 3-х лет;
•Java 8+;
•знание Spring Framework, XML/JSON;
•опыт написания unit-тестов, k8s/OpenShift;
•опыт работы с реляционными БД.

Большим преимуществом будет, если вы понимаете, как устроен бизнес глобальных рынков.

Откликайся на вакансию по ссылке 👌

Реклама. Рекламодатель ПАО Сбербанк

Читать полностью…

Senior Java Developer

Заходят как-то прогер, девопс и тестировщик в канал IT База Знаний...

А там:

😉 крутое IT-сообщество, с которым хочется расти;
материалы и туториалы, рассказанные доступным языком, необходимые для повышения квалификации и профессионализма;
🤩 актуальные новости и юмор из мира высоких технологий, чтобы быть в курсе последних событий.

Подписывайся на канал для программистов без снобизма!🥳

/channel/+OfLXANl7ARdkOTQy

Читать полностью…

Senior Java Developer

Фильтрация

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

В Java фильтрация может быть выполнена с использованием метода filter() из класса java.util.stream.Stream. Метод filter() принимает предикат (функцию, которая возвращает true или false в зависимости от того, удовлетворяет ли элемент критерию) и возвращает новый Stream, содержащий только те элементы, которые удовлетворяют критерию.

#для_продвинутых

Читать полностью…

Senior Java Developer

Преобразование файла в строку

В нашем первом примере мы используем встроенный пакет файлов Java 1.11+. Этот метод работает с Java 1.11+.

Также рассмотрим еще один вариант преобразования, а именно использование встроенного пакета Streams Java 1.8+.

Читать полностью…

Senior Java Developer

Memory Model

Memory Model (модель памяти) в Java определяет взаимодействие потоков с разделяемой памятью. Она гарантирует видимость изменений в памяти и порядок операций.

Java Memory Model (JMM) устанавливает правила для этого взаимодействия. JMM обеспечивает видимость изменений через синхронизацию и волатильные переменные. Она также определяет порядок операций и гарантирует атомарность для некоторых операций.

#для_продвинутых

Читать полностью…

Senior Java Developer

5 февраля Слёрм запускает курс по 1С в формате потока. Учат и разработчиков, и тех, кто поддерживает 1С на предприятии.

Подробная программа и форма для записи по ссылке.

Это комплексный курс, который сочетает в себе современный нескучный подход к обучению и больше количество практических заданий!

Курс идет 6 недель в формате потока:
Все задания и итоговый проект проверяют спикеры курса и готовят подробное код-ревью.
На время потока будет создан чат. В нём вы сможете задать любой вопрос по разработке на 1С и оперативно получить ответ.
На протяжении курса вы будете разрабатывать мобильное приложение на платформе «1С: Предприятие» и интегрировать сервисы API. 

➡️ Ждем вас!

Реклама. ООО «Слёрм» г. Лиски, ОГРН 1193668020545 Erid: 2VtzqvCvipW

Читать полностью…

Senior Java Developer

Буферизованные потоки

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

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

#для_продвинутых

Читать полностью…

Senior Java Developer

Условия в блокировках

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

Условия могут использоваться для предотвращения "голодания" некоторых потоков или для более эффективного управления блокировками.

Читать полностью…

Senior Java Developer

Взаимная блокировка потоков

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

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

#для_продвинутых

Читать полностью…

Senior Java Developer

Думаешь, что программирование это про код?

В 2024 году пишут код даже 10-летние, а еще лучше нейронки. Самый ценный навык разработчика — это умение быстро обучаться и развитиваться. Чем быстрее ты начинаешь применять новые знания, тем ценнее ты на рынке. А чтобы быть в топе, учиться нужно всегда.

Для этого всего-то нужно:
~ ходить на митапы
~ читать блоги БигТеха
~ общаться с сильном комьюнити
~ следить за новинками из мира IT

Чтобы собрать все эти ресурсы требуются года, куда легче читать канал XOR. Здесь команда разработчиков постоянно следит за трендами, делится опытом и упрощает жизнь.

Подпишись, стать 10х-программистом проще, чем кажется: @xor_journal

Читать полностью…

Senior Java Developer

Сортировка Шелла

Если простыми словами, то сортировка Шелла это алгоритм сортировки массива, который улучшает производительность сортировки вставками.

Он основан на сравнении элементов, находящихся не только рядом, но и на определенном расстоянии друг от друга.

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

#для_продвинутых

Читать полностью…

Senior Java Developer

Переопределение методов в классах наследниках

В Java можно переопределить методы в классах-наследниках с помощью ключевого слова @Override. Переопределение метода позволяет изменить его реализацию в подклассе, сохраняя при этом сигнатуру (имя, типы параметров и возвращаемое значение) метода из суперкласса.

Обратите внимание на использование аннотации @Override перед переопределенным методом в классе Subclass. Это помогает компилятору обнаружить ошибки, если вы случайно ошиблись в сигнатуре метода или не переопределили метод правильно.

#для_продвинутых

Читать полностью…
Subscribe to a channel