Позавчера начался крутой замес на GitHub, и вчера продолжался весь день.
Есть такая очень популярная JS-библиотека Vue. Реально миллионы проектов в мире её юзают. У неё есть консольная утилита vue/cli, у которой несколько зависимостей. И автор одной из таких зависимостей встроил к себе в пакет код со скриншота.
Там с помощью кодирования по принципу Base64 скрыто намерение проверить IP-адрес пользователя, и, если он из России или Беларуси, то стереть все файлы у него на компьютере, заменив их содержимое на символ ❤️. Такой вот протест.
Сообщество довольно быстро это обнаружило. И — я редко видел такое единение душ — китайцы, американцы, турки, даже, кажется, один немец — куча иностранцев закидала этого разработчика ссаными тряпками (сам он из США). Все его попытки оправдаться заминусили, отправили жалобу в npm и оперативно удалили пакет, а самого автора обозначали не заслуживающим доверия.
Вообще, open-source разработка это коммунизм. И люди, которые ей занимаются, нередко придерживаются космополитических и до некоторой степени анархических взглядов. Среди них есть противники государств в целом, как способа организации общества, и у них очень хорошие (хотя и несколько наивные) аргументы на этот счёт. Ну и они совершенно точно умеют отделять действия властей от действий и решений обычных граждан. А ещё разработчики в основном довольно умные люди, с логикой и критическим мышлением. Почему-то никто из американцев не испугался, что у репозитория ухудшится репутация за отказ саботировать русских. Даже наоборот: они резко критиковали деструктивные по отношению к обычным пользователям действия и заканселили чувака, который эти действия предпринял. То есть делали совершенно не то, что делают корпорации и крупные руководители в тех же странах.
Представьте себе: обычные люди думают не так и хотят делать не то, что руководители. Кто бы мог подумать.
#dev
#java
The Model Context Protocol (MCP) Java SDK helps developers connect AI models with tools and data sources using a standardized interface. It supports both synchronous and asynchronous communication, making it flexible for different applications. The SDK includes features like tool management, logging, and multiple transport options, which simplify interactions between AI systems and external tools. This benefits users by providing a consistent way to integrate AI with various data sources, reducing the complexity of managing multiple connectors for different tools.
https://github.com/modelcontextprotocol/java-sdk
#java
BookLore is a self-hosted web app that helps you organize, manage, and read your personal book collection easily. You can sort books into libraries and shelves, automatically get book details from sources like Goodreads, and track your reading progress on PDFs and eBooks with a built-in reader. It supports multiple users with separate accounts and secure login options, so everyone can manage their own books without mixing collections. You can upload many books at once, share books by email (great for Kindle users), and browse books via compatible reading apps. This gives you full control over your digital library with a clean, modern interface and continuous updates[1][2][5].
https://github.com/adityachandelgit/BookLore
JSpecify — стандартизация Java-аннотаций для статического анализа кода и взаимодействия между языками JVM.
Если вы знакомы с Java или изучали исходный код, то одним из решений проблемы null является использование аннотаций nullability. Однако реализаций таких аннотаций много: JetBrains, Android Jetpack, Spring, Uber и другие создали свои версии.
Решений очень много, и возникла проблема выбора и поддержки. Хотелось бы иметь стандарт в Java, но договориться не удалось.
Консорциум компаний и команд из Google, JetBrains, Meta, Kotlin, Android, Spring, PMD, Sonar, EISOP и других объединился и создал единый стандарт, который обязуются поддерживать в своих решениях.
JSpecify 1.0 сосредоточен на nullability и содержит четыре аннотации: @NonNull, @Nullable, @NullMarked, @NullUnmarked.
Интеграция уже началась в библиотеки Jetpack Android и Kotlin.
#java
Java Backend
1 - dars. Kirish
- JVM, JRE, JDK
- Java qanday ishlaydi?
- O‘zgaruvchilar
- Maʼlumot turlari
- Kommentariyalar
- Chiqarish
Mentor : Hasan Po‘latov
#java
👉@ummat_uchun_dasturlash