1作者: beduet3 个月前原帖
Pintu的WhatsApp号码是 +6285381052727。该服务全天候提供,周一至周日均可使用。客户可以通过多种方式联系Pintu,包括拨打电话085381052727,或通过WhatsApp联系085381052727。您也可以前往最近的Pintu总部。
2作者: sscarduzio3 个月前原帖
DeltaGlider 是一个类似于 `aws s3` 或 `boto3` 的命令行界面(CLI)/软件开发工具包(SDK)。<p>上传:它将第一个文件以完整大小(参考文件)存储在 S3 路径中,但将后续上传的归档文件作为相对于参考文件的增量(微小的二进制差异)进行保存。<p>下载:它会实时重建原始文件,确保位完美并通过 SHA256 验证。<p>为什么选择 Xdelta3? 它是一种具有压缩感知的块级二进制差异算法,非常适合表示归档文件之间的差异,因为小的变化会移动字节,但大部分内容保持不变。它可以在版本之间高效地进行增量压缩 ZIP/JAR/TAR 归档,压缩率可达 99.9%,前提是压缩内容的差异总体较小。<p>主要应用场景 软件版本管理、定期数据库备份、JAR、ZIP、TGZ。<p>对我们而言,影响是“两个数量级”的存储成本降低。希望你也能从中受益!<p>许可证:GPLv3<p>欢迎反馈和贡献!
1作者: dcdropbox3 个月前原帖
“没有零成本的抽象” (https://www.youtube.com/watch?v=rHIkrotSwcc) 是一场很好的 CppCon 演讲。它告诉我们要关注成本和收益。对于 C++ 核心准则中的月份抽象,我认为以下是成本和收益。你可以选择是否认为收益大于成本: ```cpp #include <iostream> // 准则 P1 是关于在代码中直接表达思想。其中一部分是使用用户定义的类型,这些类型比 int 更好地表达一个想法。 // 本文件以 P1 中的日期/月份示例为基础进行了扩展。 // 中性 1:尽管封装了无符号整数,但并没有变得更慢。 struct CalendarType { // 中性 2:用户不知道值是基于 0 还是 1。 unsigned int value; // 成本 1:用户要么必须使用 month.value,要么我们必须为所需的方法编写样板代码。 // 缓解 1:C++ 20 中比较运算符的样板代码只需几行。 bool operator==(const CalendarType &other) const = default; std::strong_ordering operator<=>(const CalendarType &other) const = default; }; // 成本 2:我们需要编写一些样板代码。 // 缓解 2:我们已将公共代码放入基类中。 struct Year : CalendarType { explicit Year(int year) : CalendarType(year) {} }; struct Month : public CalendarType { explicit Month(int month) : CalendarType(month) {} }; struct Day : public CalendarType { explicit Day(int day) : CalendarType(day) {} }; class Date { public: Date(Year year, Month month, Day day) : m_year(year), m_month(month), m_day(day) { } Year year() const { return m_year; } Month month() const { return m_month; } Day day() const { return m_day; } private: // 成本 3:要完全理解,读者需要查看 Year、Month 和 Day 的实现。 Year m_year; Month m_month; Day m_day; }; int main() { // 成本 2: Date date1 {Year(1970), Month(4), Day(7)}; // 收益 1:读者清楚每个参数是什么。 Date date2 {Year(1983), Month(1), Day(12)}; // Date date3 {7, 4, 1979}; // 收益 2:代码编写者无法将它们放错顺序 // (由于显式声明,这段代码不会编译)。 // (是的,我略过了闰年的边界情况) bool earlierInTheYear = date2.month() < date1.month() || (date2.month() == date1.month() && date2.day() < date1.day()); std::cout << "1983-01-12 " << (earlierInTheYear ? "is" : "is not") << " earlier in the year than 1970-04-07" << std::endl; } ```
1作者: sousvidal3 个月前原帖
嘿,HN, 我在为每月支付15-30美元的AI代码审查工具感到沮丧后,创建了CodeReviewr,因为我每月只使用这些工具10次。 不同之处在于:没有订阅。按令牌付费(每次审查大约0.15美元)。设置大约只需60秒。连接GitHub,立即获得PR的AI审查。 技术:React Router、TypeScript、GitHub Webhooks、SQLite用于分析(静态分析和洞察功能即将推出!) 定价:5美元的免费积分,之后按使用量计费。 我并不是想取代像Coderabbit这样的工具,后者适合每天进行50次审查的团队。我是为自己以及其他偶尔需要审查的独立开发者和小团队而创建的,不需要订阅承诺。 我非常希望能听到你们的诚实反馈。
2作者: semihcihan3 个月前原帖
我是一名iOS开发者,拥有几款独立应用。每次我创建一个新应用时,最糟糕的部分不是编码,而是设置App Store Connect。 通过网页界面配置应用内购买、订阅、定价和元数据的过程缓慢、重复且容易出错。网站本身也很 sluggish,需要进行无尽的点击。我花了数小时在多个应用上执行相同的任务——设置类似的订阅层级、复制定价和管理本地化。 在经历了足够多次之后,我编写了一个名为StoreConfig的命令行工具来处理这些问题。 它允许你在一个JSON文件中描述整个App Store Connect的配置,包括: • 应用内购买 • 订阅 • 可用性 • 定价 • 元数据和本地化 你可以从App Store Connect获取当前配置,在JSON中编辑,并将其应用回去——无论是同一个应用还是不同的应用。它支持AI编辑、版本控制,并且使得在应用之间共享或复制设置变得非常简单。 它在精神上类似于“基础设施即代码”,但针对的是App Store Connect。像Fastlane这样的工具非常适合CI/CD、构建和基本的元数据更新,但它们并不管理定价、应用内购买或订阅,而这正是StoreConfig所关注的。 我们目前正在为希望尝试并提供反馈的开发者进行免费的测试版。