✍️ Как написать отличную документацию: 2 впечатляющих примера с открытым исходным кодом
Хорошая документация экономит время, привлекает контрибьюторов и пользователей. Мы рассмотрим два open-source проекта с образцовой документацией, на которые стоит равняться каждому разработчику.
👉 Читать статью
👉 Зеркало
Хорошая документация экономит время, привлекает контрибьюторов и пользователей. Мы рассмотрим два open-source проекта с образцовой документацией, на которые стоит равняться каждому разработчику.
👉 Читать статью
👉 Зеркало
#дайджест перед выходными для джавистов
✅ slick v3.5.0 — через полтора года после последнего стабильного релиза выпустили новую версию с поддержкой Scala 3
✅ Flavors of shared state in Cats Effect — статья о введении в Shared States. Начинается с простых изоляций на уровне Ref, а заканчивается более продвинутым реальным примером использования с Middleware и IOLocal
✅ Jox 0.1 — virtual-thread friendly каналы для Java
✅ Имплиситы и тайпклассы в Scala — статья будет интересна для начинающих скалистов и по сути является немного переработанным конспектом лекции
✅ Священный грааль GitHub Actions — как автоматизировать создание нативного образа GraalVM с помощью GitHub Actions
✅ slick v3.5.0 — через полтора года после последнего стабильного релиза выпустили новую версию с поддержкой Scala 3
✅ Flavors of shared state in Cats Effect — статья о введении в Shared States. Начинается с простых изоляций на уровне Ref, а заканчивается более продвинутым реальным примером использования с Middleware и IOLocal
✅ Jox 0.1 — virtual-thread friendly каналы для Java
✅ Имплиситы и тайпклассы в Scala — статья будет интересна для начинающих скалистов и по сути является немного переработанным конспектом лекции
✅ Священный грааль GitHub Actions — как автоматизировать создание нативного образа GraalVM с помощью GitHub Actions
Forwarded from Библиотека питониста | Python, Django, Flask
💬 Как изменился ваш информационный пузырь за год?
Помните свои информационные предпочтения год назад? Многое изменилось! Социальные сети, мессенджеры, YouTube, подкасты — все эти каналы ежедневно борются за наше внимание. У каждого из нас за год сформировался свой уникальный информационный рацион. Пройдите наш опрос и расскажите, как изменились ваши вкусы в медиапотреблении.
👉 Пройти опрос
Опрос займёт у вас примерно 4 минуты.
Помните свои информационные предпочтения год назад? Многое изменилось! Социальные сети, мессенджеры, YouTube, подкасты — все эти каналы ежедневно борются за наше внимание. У каждого из нас за год сформировался свой уникальный информационный рацион. Пройдите наш опрос и расскажите, как изменились ваши вкусы в медиапотреблении.
👉 Пройти опрос
Опрос займёт у вас примерно 4 минуты.
Forwarded from Библиотека шарписта | C#, F#, .NET, ASP.NET
🙅♂️ Дискриминация на работе: в чем проявляется и что делать, если вы с ней столкнулись
Дискриминация в IT — серьезная проблема, с которой сталкиваются до 40% работников. Как распознать притеснения по возрасту, инвалидности или семейному положению и отстоять свои права?
👉 Читать статью
Дискриминация в IT — серьезная проблема, с которой сталкиваются до 40% работников. Как распознать притеснения по возрасту, инвалидности или семейному положению и отстоять свои права?
👉 Читать статью
Forwarded from Библиотека собеса по Java | вопросы с собеседований
Какие методы класса 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(): возвращает массив файлов и подкаталогов, которые находятся в определенном каталоге.
Наиболее используемые методы класса 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(): возвращает массив файлов и подкаталогов, которые находятся в определенном каталоге.
Forwarded from Библиотека шарписта | C#, F#, .NET, ASP.NET
🤺 Искусство оскорблять: как поставить коллегу на место и отбить желание работать над проектом
Многие люди не умеют грамотно критиковать работы коллег. Эта статья научит вас наносить сокрушительные словесные удары и ставить на место любого оппонента.
🔗 Читать статью
🔗 Зеркало
Многие люди не умеют грамотно критиковать работы коллег. Эта статья научит вас наносить сокрушительные словесные удары и ставить на место любого оппонента.
🔗 Читать статью
🔗 Зеркало
🧑💻 Как я входил в IT: опыт подписчиков «Библиотеки программиста»
Недавно мы провели опрос среди наших читателей, и сделали несколько интересных открытий, которые пригодятся всем, кто решил войти в ИТ в 2024 году.
👉 Читать результаты опроса
Недавно мы провели опрос среди наших читателей, и сделали несколько интересных открытий, которые пригодятся всем, кто решил войти в ИТ в 2024 году.
👉 Читать результаты опроса
Очередной #дайджест для джавистов
✳️ Ziverge Youtube — записи докладов с Functional Scala 2023
✳️ Если IDEA не работает можно ли писать на Kotlin в Vim? — обсуждаются очередные сложности с IDEA, поддержку Kotlin в текстовых редакторах, JVM на webassembly и что деплой Лямбд в AWS может оказаться совсем не тривиальной задачей
✳️ Secret — библиотека с реализацией переменных с lifetime для различных секретов во избежание утечки информации
✳️ Jar Jar Abrams — плагин sbt, который облегчает жизнь библиотекописарям и позволяет скрывать транзитивные зависимости путем их переупаковки и включения как части текущей библиотеки
✳️ JEP 454: Foreign Function & Memory API — завершается работа над API внешних функций и памяти, улучшая производительность и пользовательский опыт разработчиков
✳️ Ziverge Youtube — записи докладов с Functional Scala 2023
✳️ Если IDEA не работает можно ли писать на Kotlin в Vim? — обсуждаются очередные сложности с IDEA, поддержку Kotlin в текстовых редакторах, JVM на webassembly и что деплой Лямбд в AWS может оказаться совсем не тривиальной задачей
✳️ Secret — библиотека с реализацией переменных с lifetime для различных секретов во избежание утечки информации
✳️ Jar Jar Abrams — плагин sbt, который облегчает жизнь библиотекописарям и позволяет скрывать транзитивные зависимости путем их переупаковки и включения как части текущей библиотеки
✳️ JEP 454: Foreign Function & Memory API — завершается работа над API внешних функций и памяти, улучшая производительность и пользовательский опыт разработчиков
Forwarded from Библиотека задач по Java | тесты, код, задания
SoftReference
SoftReference (мягкая ссылка) — это класс, который представляет собой ссылку на объект, который может быть удален сборщиком мусора (GC) в любой момент, если память нужна для других объектов.
Принцип работы:
— Создание: SoftReference создается с помощью конструктора, который принимает ссылку на объект.
— Доступ к объекту: Для доступа к объекту, на который ссылается SoftReference, используется метод get().
— Очистка: GC может очистить SoftReference в любой момент, если память нужна для других объектов.
Когда использовать SoftReference:
— Кэширование: SoftReference можно использовать для реализации кэшей, где важно сохранить объекты в памяти, если это возможно, но не обязательно.
— Сохранение метаданных: SoftReference можно использовать для хранения метаданных об объектах, которые не являются критичными для работы приложения.
SoftReference (мягкая ссылка) — это класс, который представляет собой ссылку на объект, который может быть удален сборщиком мусора (GC) в любой момент, если память нужна для других объектов.
Принцип работы:
— Создание: SoftReference создается с помощью конструктора, который принимает ссылку на объект.
— Доступ к объекту: Для доступа к объекту, на который ссылается SoftReference, используется метод get().
— Очистка: GC может очистить SoftReference в любой момент, если память нужна для других объектов.
Когда использовать SoftReference:
— Кэширование: SoftReference можно использовать для реализации кэшей, где важно сохранить объекты в памяти, если это возможно, но не обязательно.
— Сохранение метаданных: SoftReference можно использовать для хранения метаданных об объектах, которые не являются критичными для работы приложения.
ScalaIO FR
Доклады с недавней конференции. Часть докладов на французском, но среди англоязычных спикеров мелькают знакомые в scala-коммьюнити имена.
#мероприятия
Доклады с недавней конференции. Часть докладов на французском, но среди англоязычных спикеров мелькают знакомые в scala-коммьюнити имена.
#мероприятия
FairSemaphore
Это класс, реализующий семафор, который обеспечивает справедливое распределение разрешений между потоками. Это означает, что потоки, ожидающие разрешения, будут получать его в порядке очереди, а не в случайном порядке.
В примере на картинке два потока будут пытаться получить доступ к ресурсу, который защищен с помощью FairSemaphore. Потоки будут получать доступ к ресурсу по очереди, а не в случайном порядке.
Это класс, реализующий семафор, который обеспечивает справедливое распределение разрешений между потоками. Это означает, что потоки, ожидающие разрешения, будут получать его в порядке очереди, а не в случайном порядке.
В примере на картинке два потока будут пытаться получить доступ к ресурсу, который защищен с помощью FairSemaphore. Потоки будут получать доступ к ресурсу по очереди, а не в случайном порядке.
Forwarded from Книги для джавистов | Java
📚Learn Java with Projects: A concise practical guide to learning everything a Java professional really needs to know (2023)
✍️Автор: Dr Seán Kennedy
📃Страниц: 602
Главы составлены таким образом, чтобы сосредоточиться на темах, которые действительно важны в реальных рабочих ситуациях. По мере продвижения вы будете изучать более сложные темы, включая создание собственных общих типов и потоков. Эта книга не просто рассказывает о теории — она показывает, как все работает, на примере маленьких проектов, которые в итоге складываются в один большой проект.
Что внутри:
🔸Получите четкое представление об основах Java, таких как примитивные типы, операторы, область видимости, условные операторы, циклы, исключения и массивы
🔸Освоите конструкции ООП, такие как классы, объекты, перечисления, интерфейсы и записи
🔸Развить глубокое понимание принципов ООП, таких как полиморфизм, наследование и инкапсуляция
🔸Углубиться в продвинутые темы дженериков, коллекций, лямбд, потоков и параллелизма
Скачать книгу
✍️Автор: Dr Seán Kennedy
📃Страниц: 602
Главы составлены таким образом, чтобы сосредоточиться на темах, которые действительно важны в реальных рабочих ситуациях. По мере продвижения вы будете изучать более сложные темы, включая создание собственных общих типов и потоков. Эта книга не просто рассказывает о теории — она показывает, как все работает, на примере маленьких проектов, которые в итоге складываются в один большой проект.
Что внутри:
🔸Получите четкое представление об основах Java, таких как примитивные типы, операторы, область видимости, условные операторы, циклы, исключения и массивы
🔸Освоите конструкции ООП, такие как классы, объекты, перечисления, интерфейсы и записи
🔸Развить глубокое понимание принципов ООП, таких как полиморфизм, наследование и инкапсуляция
🔸Углубиться в продвинутые темы дженериков, коллекций, лямбд, потоков и параллелизма
Скачать книгу
Хардкорный курс по математике для тех, кто правда любит математику!
Начать с вводных занятий можно здесь, ответив всего на 4 вопроса – https://proglib.io/w/3e093096
Что вас ждет:
– Вводный урок от CPO курса
– Лекции с преподавателями ВМК МГУ по темам: теория множеств, непрерывность функции, основные формулы комбинаторики, матрицы и операции над ними, градиентный спуск
– Практические задания для закрепления материала и ссылки на дополнительные материалы.
⚡️ Переходите и начинайте учиться уже сегодня – https://proglib.io/w/3e093096
Начать с вводных занятий можно здесь, ответив всего на 4 вопроса – https://proglib.io/w/3e093096
Что вас ждет:
– Вводный урок от CPO курса
– Лекции с преподавателями ВМК МГУ по темам: теория множеств, непрерывность функции, основные формулы комбинаторики, матрицы и операции над ними, градиентный спуск
– Практические задания для закрепления материала и ссылки на дополнительные материалы.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Библиотека задач по Java | тесты, код, задания
Какой метод должен быть переопределен классом, реализующим интерфейс Runnable для выполнения задачи в отдельном потоке?
Anonymous Quiz
5%
int run()
4%
boolean run()
12%
void run(int priority)
80%
void run()
#дайджест перед выходными
❎ Java для домохозяек — логика разбора сообщений внутри Telegram бота
❎ Улучшение моей распределенной системы с помощью Scala 3 — гарантии согласованности и фоновые задачи
❎ Настройка сервиса аутентификации OpenAM и шлюза авторизации OpenIG для защиты приложений — как настроить централизованную аутентификацию через сервис аутентификации на Open Access Manager (OpenAM) и доступ к приложению через шлюз авторизации Open Identity Gateway (OpenIG)
❎ JEP 456: Unnamed Variables & Patterns — позволяет заменять подчеркиванием переменные и шаблоны, которые вы не собираетесь использовать
❎ Книга «Frontend Development with Javafx and Kotlin: Build State-Of-The-Art Kotlin GUI Applications» — книга знакомит с JavaFX, как технологией фронтенда и использует Kotlin вместо Java для кодирования программных артефактов, чтобы повысить выразительность и сопровождаемость кода
❎ Java для домохозяек — логика разбора сообщений внутри Telegram бота
❎ Улучшение моей распределенной системы с помощью Scala 3 — гарантии согласованности и фоновые задачи
❎ Настройка сервиса аутентификации OpenAM и шлюза авторизации OpenIG для защиты приложений — как настроить централизованную аутентификацию через сервис аутентификации на Open Access Manager (OpenAM) и доступ к приложению через шлюз авторизации Open Identity Gateway (OpenIG)
❎ JEP 456: Unnamed Variables & Patterns — позволяет заменять подчеркиванием переменные и шаблоны, которые вы не собираетесь использовать
❎ Книга «Frontend Development with Javafx and Kotlin: Build State-Of-The-Art Kotlin GUI Applications» — книга знакомит с JavaFX, как технологией фронтенда и использует Kotlin вместо Java для кодирования программных артефактов, чтобы повысить выразительность и сопровождаемость кода
PathIterator
Это интерфейс в Java, который позволяет объектам, реализующим интерфейс Shape, возвращать геометрию своей границы, позволяя вызывающему объекту получать путь этой границы по одному сегменту за раз.
Основные возможности PathIterator:
👉 PathIterator позволяет перебирать сегменты пути объекта Shape по одному.
👉 Для каждого сегмента PathIterator может предоставить информацию о его типе (например, линия, кривая Безье), координатах и других атрибутах.
👉 PathIterator может использоваться для преобразования пути объекта Shape, например, для его масштабирования, поворота или перемещения.
Это интерфейс в Java, который позволяет объектам, реализующим интерфейс Shape, возвращать геометрию своей границы, позволяя вызывающему объекту получать путь этой границы по одному сегменту за раз.
Основные возможности PathIterator:
👉 PathIterator позволяет перебирать сегменты пути объекта Shape по одному.
👉 Для каждого сегмента PathIterator может предоставить информацию о его типе (например, линия, кривая Безье), координатах и других атрибутах.
👉 PathIterator может использоваться для преобразования пути объекта Shape, например, для его масштабирования, поворота или перемещения.
Forwarded from Библиотека собеса по Java | вопросы с собеседований
Jackson
Jackson — это популярная библиотека Java для сериализации и десериализации объектов Java в различные текстовые форматы, такие как JSON, XML, YAML и CSV.
Jackson имеет простой и понятный API, что делает его доступным для начинающих разработчиков. Он работает очень быстро, что делает его идеальным выбором для высокопроизводительных приложений.
Jackson поддерживает широкий спектр функций и возможностей, что позволяет настроить его под ваши конкретные нужды. А также его можно расширить с помощью модулей для поддержки дополнительных форматов данных и функций.
Jackson — это популярная библиотека Java для сериализации и десериализации объектов Java в различные текстовые форматы, такие как JSON, XML, YAML и CSV.
Jackson имеет простой и понятный API, что делает его доступным для начинающих разработчиков. Он работает очень быстро, что делает его идеальным выбором для высокопроизводительных приложений.
Jackson поддерживает широкий спектр функций и возможностей, что позволяет настроить его под ваши конкретные нужды. А также его можно расширить с помощью модулей для поддержки дополнительных форматов данных и функций.