@libreware · Post #928 · 20.04.2021 г., 08:36
Supabase Open source Firebase alternative https://github.com/supabase/supabase #supabase#Firebase#alternatives
Hashtags
TGINSIGHT SIMILAR POSTS
Изходен канал @clockstackwheels · Post #721 · 26.12
Почему я люблю языки с сильной системой типов, проверяемой статическим анализом кода — хорошо написанная программа является своей собственной спецификацией и позволяет выражать через язык программирования законы существования предметной области. Когда-то давно я писал на ActionScript. Там была система типов, но вот десериализация JSON'ов по-умолчанию была в какой-то общий Object, к полям которого нужно было обращаться ["по_строковому_имени"]. В один момент мне потребовалось написать что-то на C#, который я совсем не знал, я стал гуглить, как десериализовать JSON, и с удивлением обнаружил кучу советов заранее объявить класс со всеми нужными полями и десериализовать в него. "Какой ужас!", — подумал я тогда, — "Это же дико неудобно! А если я не знаю полей JSON? А если их много? Отвратительный язык!" Теперь то я прекрасно понимаю, что JSON это контракт, и что правильная десериализация только такая и должна быть, и что в хорошем API в одном поле никогда не бывает данных принципиально разных типов, и так далее. Нет, если вы набиваете вечерами пет-проект или сидите бессонную ночь на хакатоне, нет ничего плохого в том, чтобы взять простой язык с динамическими типами вроде JavaScript или Python, не требующий описывать данные. Но вот в энтерпрайзе, особенно когда над одним проектом работает много людей (а бывает это очень часто) — хорошее использование системы типов убережёт разработчиков от огромного количества ошибок, будет бить их по рукам, когда они пытаются сделать что-то не то, и будет подсказывать, когда они не уверены в чём-то. С помощью статической типизации можно на уровне кода обозначить правила, по которым ведёт себя предметная область вашей программы в реальном мире. Разработчику не только будет сложно их нарушить, но он ещё и станет узнавать какие-то вещи, которые мог не знать раньше. Например, если мы делаем медицинскую CRM, и больница заводит новых пациентов только тогда, когда знает их группу крови, мы можем объявить тип "Пациент" (или, если точнее, "Карта пациента") и запретить создавать экземпляры этого типа, не передав в конструктор группу крови (которая, в свою очередь, тоже является типом, вероятнее всего ValueObject'ом). Если новый программист пришёл в проект, он, во-первых, не сможет записать в БД некорректную карту пациента. Понятно, мы не учитываем случаи, когда новый программист переделывает модели предметной области — это будет хорошо видно на кодревью. А, во-вторых, даже если ему никто не сказал, что пациенты должны быть с группой крови, он узнает это из кода. И уже будет понимать, что в тех процессах реальной жизни, которые он описывает кодом, карта пациента создаётся только при наличии группы крови. А, значит, нужно искать какой-то способ сначала эту группу крови получить, и только потом создавать карту. Программирование моделирует реальный процесс. В настоящей работе даже на языках с типами, конечно, без должного контроля можно написать что угодно. Нужна управленческая воля, компетентность руководства, понимание опасности техдолга, в идеале отдельные должности для архитекторов, опытные лиды и старшие разработчики. Но когда всё это есть, можно отсекать много проблем ещё на старте и проще погружать новичков. #dev
Hashtags
Търсене: #supabase
@libreware · Post #928 · 20.04.2021 г., 08:36
Supabase Open source Firebase alternative https://github.com/supabase/supabase #supabase#Firebase#alternatives
Hashtags
@AppPie · Post #2503 · 02.09.2025 г., 10:03
#Apps Midday:为自由职业者与独立创业者打造的开源商业操作系统 Midday 是一款专为个体经营者设计的一体化商业管理工具。它将时间追踪、发票(即将推出)、智能财务匹配和安全文件存储等核心功能整合到一个设计精良的系统中,旨在取代繁杂的工具组合,提高运营效率。 核心功能亮点 - 时间追踪 (Time Tracking): 内置实时项目时间追踪功能,帮助用户清晰了解时间花费,提升生产力。 - 魔法收件箱 (Magic Inbox): 能够自动识别收到的发票或收据,并将其与正确的交易进行匹配,极大地简化了财务整理的复杂度。 - 智能助手 (Assistant): 提供定制化的财务状况分析,帮助用户理解支出模式、削减成本,并快速找到所需文件。 - 保险库 (Vault): 为合同、协议等重要文件提供一个安全、集中的存储位置,方便随时访问。 - 无缝导出: 可以轻松地将财务数据打包成 CSV 文件,方便与会计师对接。 现代化的技术架构 Midday 的背后是一个非常现代化的技术栈。它采用 Bun 作为运行时,基于 Next.js、React 和 TypeScript 构建,并深度整合 Supabase 作为其后端即服务(BaaS)。此外,项目还计划通过 Tauri 和 Expo 支持桌面和移动端应用,真正实现跨平台体验。其后端服务广泛利用了如 Plaid、Mistral、Gemini 等先进的第三方服务,构建了一个强大的自动化和智能化引擎。 开源许可证 该项目采用 AGPL-3.0 许可证,主要面向非商业用途。任何涉及商业用途或需要付费支持的部署,都需要联系开发团队获取商业许可。 #GitHub#OpenSource#Nextjs#Supabase#Saas 📮 频道 @AppPie
@githubtrending · Post #15580 · 23.03.2026 г., 11:30
#go#cli#database#database_management#dbms#environment#local#postgres#postgresql#supabase Supabase CLI lets you run Supabase locally, manage database migrations, deploy functions, generate types from your schema, and make secure API calls. Install easily via npm (`npm i supabase --save-dev`), Homebrew, Scoop, or binaries for any OS, then run `supabase init` and `supabase start` to launch your full stack with local URLs and keys. This benefits you by speeding up development, testing changes offline without cloud costs, ensuring type safety, and simplifying CI/CD for reliable deploys. https://github.com/supabase/cli
@githubtrending · Post #15349 · 20.12.2025 г., 12:30
#python#ai#bug_detection#code_audit#code_quality#code_review#developer_tools#devsecops#google_gemini#llm#react#sast#security_scanner#supabase#typescript#vite#vulnerability_scanner#xai **DeepAudit** is an AI-powered code audit tool using multi-agent collaboration to deeply scan projects for vulnerabilities like SQL injection, XSS, and path traversal. Import code from GitHub/GitLab or paste snippets; agents plan, analyze with RAG knowledge, and verify issues via secure Docker sandbox PoCs, generating PDF reports with fix suggestions. Deploy easily with one Docker command, supports local Ollama models for privacy, and cuts traditional tools' high false positives. **You benefit** by automating secure audits like a pro hacker—saving time, reducing errors, ensuring real exploits are caught, and speeding safe releases without manual hassle. https://github.com/lintsinghua/DeepAudit