#окр@clockstackwheels
Это проект потребовал несколько месяцев проб и ошибок, но я очень доволен тем, как вышло.
Сначала для организации ящиков хотел взять популярную систему Gridfinity. Это набор спецификаций и генераторов моделей для 3D-печати, предлагающий укладывать на любую плоскость сетку с ячейками 42мм и ставить в неё коробочки, кратные по размерам шагу сетки. Система продумана очень хорошо, потому что коробочки лёгкие, прочные, укладываются в любых комбинациях и штабелируются. А ещё она опенсорсная, и комьюнити круто её развило. Меня смущал только один момент: ряд предметов не требуют вытаскиваемую коробочку. Да, охапку шурупов удобно сложить в такую и доставать целиком. Но, скажем, если у вас в ящике лежит тюбик клея, зачем вам вытаскивать всю конструкцию, в которой он размещается? Вы просто берёте тюбик. Я подумал, что, возможно, смогу придумать систему, в которой коробочки держатся друг за друга, и только иногда их можно сделать вытаскиваемыми, когда такое требуется.
Дальше были десятки дней экспериментов и прототипов. Коробочки с крючками, с защёлками, волнистыми стенками, защёлки на дне, защёлки на боку... Всё это оказывалось хуже, чем Gridfinity: тратило больше пластика и времени печати, а основную цель во многих ситуациях не закрывало.
Тогда я понял, что подходил к задаче вообще не с того угла. Не нужно стараться заменить Gridfinity, она слишком хороша, слишком здорово продумана. Нужно дополнить её, сделать для неё расширение, которое будет добавлять фиксированные секции. И тогда я заменил дно-сетку на платформу с пазами типа «ласточкин хвост». Она спроектирована с той же ячейкой 42мм, можно составить плоскость любого размера, печатая из частей, а в пазы вставляются либо стенки-перегородки, либо посадочные упоры для Gridfinity-коробочек.
В дополнение быстро пришёл к решению, что у стенок можно минимизировать расход пластика, не потеряв прочность, если применить гексагональную сетку. Не просто так пчёлы делают свои соты такой формы.
Как и любая верная инженерная идея, эта сразу оказалась гармоничной и автоматически решила ряд других проблем:
1. Расход пластика там, где не нужно вытаскивать секции, в разы меньше, чем если делать секции коробочками. А создавать сетчатые стенки можно быстро и беспроблемно, потому что печатаются они плашмя, в отличие от стенок стандартных коробочек, которые неизбежно печатаются вертикально.
2. Можно делать секции не прямоугольной формы. И секции такого размера, который превышает область печати принтера.
3. Печатаются одинаковые стенки-перегородки, и из них собирается нужная схема уже под каждый конкретный ящик. Не нужно сначала прикидывать размеры требуемых коробочек.
4. Но в любую секцию ставится стандартная Gridfinity-коробочка заменой целых стенок на половинные и установкой упоров.
5. Стенки или упоры под коробочки автоматически являются и способом соединения участков дна между собой.
Сделал так уже два ящика, и пока во всех вариантах получается удобно. Подшлифую, оформлю и выложу все файлы в опенсорс (главным образом это генератор в формате OpenSCAD).
#diy@clockstackwheels
#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