#окр@clockstackwheels
Это проект потребовал несколько месяцев проб и ошибок, но я очень доволен тем, как вышло.
Сначала для организации ящиков хотел взять популярную систему Gridfinity. Это набор спецификаций и генераторов моделей для 3D-печати, предлагающий укладывать на любую плоскость сетку с ячейками 42мм и ставить в неё коробочки, кратные по размерам шагу сетки. Система продумана очень хорошо, потому что коробочки лёгкие, прочные, укладываются в любых комбинациях и штабелируются. А ещё она опенсорсная, и комьюнити круто её развило. Меня смущал только один момент: ряд предметов не требуют вытаскиваемую коробочку. Да, охапку шурупов удобно сложить в такую и доставать целиком. Но, скажем, если у вас в ящике лежит тюбик клея, зачем вам вытаскивать всю конструкцию, в которой он размещается? Вы просто берёте тюбик. Я подумал, что, возможно, смогу придумать систему, в которой коробочки держатся друг за друга, и только иногда их можно сделать вытаскиваемыми, когда такое требуется.
Дальше были десятки дней экспериментов и прототипов. Коробочки с крючками, с защёлками, волнистыми стенками, защёлки на дне, защёлки на боку... Всё это оказывалось хуже, чем Gridfinity: тратило больше пластика и времени печати, а основную цель во многих ситуациях не закрывало.
Тогда я понял, что подходил к задаче вообще не с того угла. Не нужно стараться заменить Gridfinity, она слишком хороша, слишком здорово продумана. Нужно дополнить её, сделать для неё расширение, которое будет добавлять фиксированные секции. И тогда я заменил дно-сетку на платформу с пазами типа «ласточкин хвост». Она спроектирована с той же ячейкой 42мм, можно составить плоскость любого размера, печатая из частей, а в пазы вставляются либо стенки-перегородки, либо посадочные упоры для Gridfinity-коробочек.
В дополнение быстро пришёл к решению, что у стенок можно минимизировать расход пластика, не потеряв прочность, если применить гексагональную сетку. Не просто так пчёлы делают свои соты такой формы.
Как и любая верная инженерная идея, эта сразу оказалась гармоничной и автоматически решила ряд других проблем:
1. Расход пластика там, где не нужно вытаскивать секции, в разы меньше, чем если делать секции коробочками. А создавать сетчатые стенки можно быстро и беспроблемно, потому что печатаются они плашмя, в отличие от стенок стандартных коробочек, которые неизбежно печатаются вертикально.
2. Можно делать секции не прямоугольной формы. И секции такого размера, который превышает область печати принтера.
3. Печатаются одинаковые стенки-перегородки, и из них собирается нужная схема уже под каждый конкретный ящик. Не нужно сначала прикидывать размеры требуемых коробочек.
4. Но в любую секцию ставится стандартная Gridfinity-коробочка заменой целых стенок на половинные и установкой упоров.
5. Стенки или упоры под коробочки автоматически являются и способом соединения участков дна между собой.
Сделал так уже два ящика, и пока во всех вариантах получается удобно. Подшлифую, оформлю и выложу все файлы в опенсорс (главным образом это генератор в формате OpenSCAD).
#diy@clockstackwheels
👨💻 Attacking MongoDB.
• MongoDB — это кроссплатформенная документо-ориентированная система управления базами данных. Относясь к категории NoSQL, MongoDB отказывается от традиционной таблично-ориентированной структуры реляционных баз данных в пользу JSON-документов с динамическими схемами, что делает интеграцию данных в приложениях более быстрой и простой.
• Поговорим о защищенности MongoDB. На самом деле MongoDB безопасна в использовании, если вы знаете, что искать и как это настраивать.
• Enumeration:
➡Nmap MongoDB Brute Force Attack;
➡Metasploit MongoDB Login Scanner;
➡Shodan Search for MongoDB Instances;
➡Manual MongoDB Interaction via PyMongo;
➡Common MongoDB Commands;
➡Automating MongoDB Enumeration with Nmap.
• Brute Force:
➡MongoDB Login Methods;
➡Checking for MongoDB Authentication Using Nmap;
➡Manual Brute Forcing;
➡Lack of Authentication in MongoDB Instance.
• Disable Unused Network Interfaces;
• Enable Access Control (Authentication);
• Enable SSL/TLS Encryption;
• Disable HTTP Interface;
• Enable Audit Logging:
➡Set Appropriate File Permissions;
➡Disable Unused MongoDB Features;
➡Enable Firewalls and Limit Access to MongoDB Ports.
• Exploiting Default Admin Users;
• Exploiting Misconfigured Role-Based Access Control (RBAC);
• Leveraging File System Access via MongoDB;
• Leveraging MongoDB API and Insecure Bindings;
• Misconfigured Backup Systems.
#MongoDB#devsecops
https://github.com/MongoEngine/django-mongoengine
THIS IS UNSTABLE PROJECT, IF YOU WANT TO USE IT - FIX WHAT YOU NEED
Right now we're targeting to get things working on #Django 1.9
#mongodb
#databases#MongoDB
💼
Learning MongoDB
Get started with MongoDB. Learn how to use this popular nonrelational database to power your full-stack development workflow.
⏳2h 44m
🗣Justin Jenkins
🔗Link
-----
Main channel:@repo_science
Coupons: @freecoupons_reposcience
-----
Awesome MongoDB, a curated list of resources, libraries, tools and applications.
#resources#list#mongodb#database
@thedevs
https://kutt.it/awesome-mongodb
http://mongoengine.readthedocs.io/en/latest/index.html
#MongoEngine is an Object-Document Mapper, written in #Python for working with #MongoDB. To install it, simply run
#Django