高性能自托管照片和视频备份解决方案 | immich
深入了解Redis的所有内容。 涵盖各种Redis拓扑、数据持久性和进程分叉

Redis(“ RE mote DI ctionary Service ”)是一个开源的键值对数据库服务器。Redis 最准确的描述是,一个数据结构服务器。Redis 的这种特殊性质导致了它在开发人员中的流行和采用。

首先,Redis 是一个内存数据库,用作另一个“真实”数据库(如 MySQL 或 PostgreSQL)前面的缓存,以帮助提高应用程序性能。它利用内存的速度并减轻中央应用程序数据库的负载:

不经常更改且经常被请求的数据
任务关键性较低且经常发展的数据。

但是,对于许多用例,Redis 提供了足够的保证,可以将其用作成熟的主数据库。再加上 Redis 插件及其各种高可用性 (HA) 设置,Redis 作为数据库对于某些场景和工作负载变得非常有用。

另一个重要方面是 Redis 模糊了缓存和数据存储之间的界限。这里要理解的重要一点是,读取和操作内存中的数据比使用 SSD 或 HDD 的传统数据存储中的任何可能的速度都要快得多。

Redis Explained
Sprig: Template functions for Go templates

Go 语言自带模板语言,但模板函数并不多。而Sprig是一个提供100多个常用模板函数的库。它的灵感来自于 Twig 和各种 JavaScript 库(例如 underscore.js)中的模板函数。

用法
模板开发人员:请使用Sprig的函数文档获取超过100个可用模板函数的详细说明和代码片段。

Go 开发人员:如果想将Sprig作为库包含在程序中,可以在GoDoc.org上找到API文档。

对于标准用法,点此阅读
GoBypassAV,整理了基于 Go 的 16 种 API 免杀测试、8 种加密测试、反沙盒测试、编译混淆、加壳、资源修改等免杀技术,并搜集汇总了一些资料和工具。

项目地址 | #工具
用Go语言写的一款PDF文件对比工具:pdf-diff。

可用于追踪、对比不同 PDF 版本间的差异。像 Git 一样,让你更好的了解 PDF 内容变更情况。

項目地址 | #工具
开源技术教程:《线性代数的艺术》,主要针对 MIT 教授 Gilbert Strang 的《Linear Algebra for Everyone》教程提供了图形注释,让知识更易于吸收理解。

项目地址 | #教程
WhatsApp 克隆项目:What's App Clone Project,实现了较为完善的聊天 UI 组件、实时消息系统,满足可重用性、并行构建等开发设计理念。

主要演示的技术功能如下:

- 使用 Jetpack Compose 实现整个 UI 元素;
- 使用 Hilt 和 AppStartup 等 Jetpack 库实现 Android 架构组件;
- 使用 Kotlin 协程执行后台任务;
- 将聊天系统与 Stream Chat SDK 集成以进行实时事件处理。

项目地址
用Rust编写一个JavaScript编译器

JavaScript、Rust 和编译器都很难学,因此作者想将这三者结合起来,挑战自己,用 Rust 编写一个 JavaScript 编译器。

项目地址 | 阅读指南 | 阅读教程 | #教程
一个好玩的开源项目:《河图脚本语言》专为 Flutter 打造的轻量型嵌入式脚本语言

河图是一个专为 Flutter 打造的轻量型嵌入式脚本语言。它用纯 Dart 写成,因此可以非常轻易的嵌入 Flutter APP,和你的现有代码交互。开发这个语言的主要目的是为了实现 APP 动态布局、对已经发布的程序进行轻量级热更新、以及游戏程序的脚本框架等等在 Flutter 中受限制的语言能力。

目前已经有一些框架为了相似的目的而存在,例如可以动态调用 Lua 语言的Lua Dardo,可以根据 Json 生成界面的Flutter Fair,等等。还有一些如 KrakenMXFlutter 等方案试图完全将 Flutter APP 前端化。这些方案大多都极为笨重(依托于 V8 等 Javascript 引擎)。并且需要开发者维护一整套胶水方案来达到目的。而河图脚本语言的目的则是为了以最小代价实现类似的目的:只需要导入一个库 + 一行代码即可动态化。

快速上手 | 在线版本 | Github
《白话区块链》专栏作者写了一篇关于区块链的硬核文章:《万字长文 - 我眼中区块链各个赛道正在演进的技术趋势》,阐述了公链、DeFi、NFT、存储、GemaFi五大赛道的现状深度分析和未来趋势推演。

然后有人把该文做了一个思维导图,以便对这5个赛道进行逻辑梳理。有兴趣的可以去看。

文章地址 | 原作者 | 导图原图 | 导图作者 | #区块链
成为一名顶尖专家除了联系10000个小时之外,还需要以下几个条件:1. Repeated attempts with feedback 2. Regular environment 3. Timely feedback 4. Deliberate Practice at the edge of chaos. 第一个是有机会能够不断地练习,并且练习的时候能够获得反馈

Twitter原贴
Back to Top