Forwarded from Книги для программистов
📖 От Кнута до Седжвика: классика алгоритмической литературы
Обзор лучших книг по алгоритмам для программистов всех уровней. От иллюстрированных пособий для начинающих до фундаментальных трудов для экспертов.
🔗 Читать подборку
Обзор лучших книг по алгоритмам для программистов всех уровней. От иллюстрированных пособий для начинающих до фундаментальных трудов для экспертов.
🔗 Читать подборку
👍13🔥4👏4❤2
Слышали про var? Его добавили в Java 10, чтобы облегчить нам жизнь. Но когда его лучше использовать, а когда стоит быть осторожнее?💡
Когда использовать var:
var list = new ArrayList<String>(); // Это список, и это сразу видно
var map = new HashMap<String, List<Integer>>(); // Чисто и просто
А вот где лучше избегать:
var result = process(); // И что за процесс тут?
Итог: var — отличный инструмент, но используйте его с умом. Вопрос к вам: а вы уже используете var в своих проектах? Если да, поделитесь опытом в комментариях! 👇
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22❤3🔥3👏2
CyclicBarrier — это синхронизатор в Java, который позволяет нескольким потокам остановиться и дождаться друг друга в определённой точке (барьере) перед продолжением работы. Он создаётся с фиксированным числом потоков, которые должны достичь барьера, прежде чем все они смогут продолжить выполнение.
Как это работает:
Когда использовать:
▪️ Когда нужно, чтобы несколько потоков координировали свои действия и начинали следующую стадию только после того, как все потоки закончат текущую работу.
▪️ Для выполнения задач, которые разбиты на несколько этапов, где каждый этап должен начаться только после завершения предыдущего всеми потоками.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤🔥3❤2🔥2
Привет, друзья! 👋
Мы готовим статью о самых странных и уникальных дистрибутивах Linux, и нам нужно ваше мнение! 🤔💬
1️⃣ Какой самый необычный дистрибутив Linux вы когда-либо пробовали? Почему он вас удивил?
2️⃣ Есть ли у вас советы для новичков, которые только начинают работать с Linux? 🐧✨
Поделитесь своими идеями в комментариях! Самые интересные идеи и предложения мы обязательно включим в нашу статью. Спасибо за участие! 🙌
Мы готовим статью о самых странных и уникальных дистрибутивах Linux, и нам нужно ваше мнение! 🤔💬
1️⃣ Какой самый необычный дистрибутив Linux вы когда-либо пробовали? Почему он вас удивил?
2️⃣ Есть ли у вас советы для новичков, которые только начинают работать с Linux? 🐧✨
Поделитесь своими идеями в комментариях! Самые интересные идеи и предложения мы обязательно включим в нашу статью. Спасибо за участие! 🙌
👍6❤3🔥3
Forwarded from Библиотека собеса по Java | вопросы с собеседований
— Лямбда-выражения имеют лаконичный синтаксис по сравнению с анонимными классами. Лямбды проще читать и писать, так как они не требуют явного объявления метода, тогда как анонимные классы содержат больше «лишнего» кода.
— Лямбды используются, когда интерфейс имеет один абстрактный метод (функциональные интерфейсы), тогда как анонимные классы могут реализовать несколько методов и применяться для интерфейсов с несколькими методами.
— Лямбды могут быть более эффективными, так как они компилируются в байт-код, который может быть оптимизирован. Анонимные классы обычно компилируются как отдельные классы, что может требовать больше ресурсов.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🔥5👏2❤1
Proxy — это структурный паттерн, который предоставляет объект-заместитель для управления доступом к другому объекту, обеспечивая контроль над его использованием.
Использование:
🔹 Когда необходимо контролировать доступ к ресурсоемким объектам или операциям.
🔹 Для добавления дополнительной функциональности без изменения исходного объекта.
Преимущества:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20🔥6❤3👏1
Привет, друзья! 👋
Мы готовим статью о будущем AI и его влиянии на разработку. Нам важно ваше мнение! 🤖✨
1️⃣ Как вы думаете, AI действительно изменит мир разработки?
2️⃣ Какие плюсы и минусы использования AI в разработке вы видите? 💡
3️⃣ Есть ли у вас примеры успешного применения AI в ваших проектах? 🛠️
Поделитесь своими идеями в комментариях! Самые интересные идеи и предложения мы обязательно включим в нашу статью. Спасибо за участие! 🙌
Мы готовим статью о будущем AI и его влиянии на разработку. Нам важно ваше мнение! 🤖✨
1️⃣ Как вы думаете, AI действительно изменит мир разработки?
2️⃣ Какие плюсы и минусы использования AI в разработке вы видите? 💡
3️⃣ Есть ли у вас примеры успешного применения AI в ваших проектах? 🛠️
Поделитесь своими идеями в комментариях! Самые интересные идеи и предложения мы обязательно включим в нашу статью. Спасибо за участие! 🙌
🔥6👍4❤1😁1
Forwarded from Java jobs — вакансии для java-разработчиков
#дайджест #javadevjob
Вакансии Java разработчиков уровня Junior
▪️Java backend developer
Удаленка. H2O — широкий спектр профессиональных клининговых услуг
Подробнее
▪️Младший разработчик
Санкт-Петербург. Бизнес Технологии — разработкой и внедрением информационных систем для автоматизации
Подробнее
Вакансии Java разработчиков уровня Middle
▪️Java Разработчик
Удаленка. Бизнес-Азимут — аутсорс и аутстаф аналитиков и разработчиков
Подробнее
▪️Backend-разработчик
Удаленка. Корпоративные Коммуникации — коммуникационные услуги на основе собственной платформы
Подробнее
Вакансии Java разработчиков уровня Senior
▪️Разработчик Backend
Удаленка. IT-OTS — IT-аутсорсинг, IT-консалтинг, разработка ПО
Подробнее
▪️Java-разработчик
Удаленка. Точка — финтех-компания
Подробнее
Понравились вакансии?
❤️ — да
🤔 — нет
Вакансии Java разработчиков уровня Junior
▪️Java backend developer
Удаленка. H2O — широкий спектр профессиональных клининговых услуг
Подробнее
▪️Младший разработчик
Санкт-Петербург. Бизнес Технологии — разработкой и внедрением информационных систем для автоматизации
Подробнее
Вакансии Java разработчиков уровня Middle
▪️Java Разработчик
Удаленка. Бизнес-Азимут — аутсорс и аутстаф аналитиков и разработчиков
Подробнее
▪️Backend-разработчик
Удаленка. Корпоративные Коммуникации — коммуникационные услуги на основе собственной платформы
Подробнее
Вакансии Java разработчиков уровня Senior
▪️Разработчик Backend
Удаленка. IT-OTS — IT-аутсорсинг, IT-консалтинг, разработка ПО
Подробнее
▪️Java-разработчик
Удаленка. Точка — финтех-компания
Подробнее
Понравились вакансии?
❤️ — да
🤔 — нет
spb.hh.ru
Вакансия Junior Java backend developer в Санкт-Петербурге, работа в компании H2O (вакансия в архиве c 9 сентября 2024)
Зарплата: от 50000 до 80000 ₽ за месяц. Санкт-Петербург. Требуемый опыт: 1–3 года. Полная занятость. Дата публикации: 08.09.2024.
❤10👍2🔥2😁1
Record — это специальный тип данных, введенный в Java 14 (и стабилизированный в Java 16), который значительно упрощает создание неизменяемых объектов. Который избавляет от необходимости вручную прописывать всю «рутинную» работу по созданию классов с полями, конструктором, геттерами, equals(), hashCode() и toString().
Пример использования Record:
public record Person(String name, int age) {}
Этот код автоматически создаст:
▪️ Конструктор Person(String name, int age)
▪️ Методы доступа name() и age()
▪️ Методы equals(), hashCode() и toString()
Допустим, нужно создать класс для хранения информации о сотруднике:
public class Employee {
private final String name;
private final String position;
private final int salary;
public Employee(String name, String position, int salary) {
this.name = name;
this.position = position;
this.salary = salary;
}
public String getName() {
return name;
}
public String getPosition() {
return position;
}
public int getSalary() {
return salary;
}
@Override
public boolean equals(Object o) { ... }
@Override
public int hashCode() { ... }
@Override
public String toString() { ... }
}
Все это можно заменить одной строкой с использованием Record:
public record Employee(String name, String position, int salary) {}
Варианты использования:
Record не может наследовать другие классы, что может ограничить его применение в некоторых архитектурах.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26🔥7❤4👏1
Forwarded from Библиотека питониста | Python, Django, Flask
🛠️ API-документация без головной боли: ТОП-11 инструментов
Ручное создание документации отнимает много времени и чревато ошибками. Представляем подборку инструментов, которые автоматизируют процесс и помогут вам сосредоточиться на разработке, а не на написании документации.
🔗 Читать статью
Ручное создание документации отнимает много времени и чревато ошибками. Представляем подборку инструментов, которые автоматизируют процесс и помогут вам сосредоточиться на разработке, а не на написании документации.
🔗 Читать статью
👍9❤🔥3🔥2❤1