Dub 是一个开源的链接缩短器,具有内置分析功能+免费定制域名。使用 Vercel Edge Functions 和Upstash Redis构建。
以下是 Dub 提供的一些开箱即用的功能:
内置分析
Dub 为你的链接提供强大的分析仪表板,包括地理位置、设备和浏览器信息。
自定义域
你可以在 Dub 上轻松配置自定义域 - 只需将 A/CNAME record 添加到你的 DNS 提供商即可。这是基于 Vercel Domains API 构建的。
你可以部署你自己的Dub托管版本,以获得更大的隐私和控制。只需点击链接,就可以在Vercel部署一个随时可用的Dub版本。
技术栈:
影响传递给编译器与链接器的壳选项.所有设置都是可选的.可用$环境变量,自身用$$表示.不匹配预定义的,就用环境变量. 依赖 //=== "dub.sdl" ... dependency "vibe-d" version="~>0.9.5" dependency "localdep" path="../localdep" optional=true default=true dependency
DUB软件包根文件夹应包含有构建/部署元信息的dub.sdl(或dub.json)文件.忽略未知设置. 简单示例: //dub.sdl可包含注释,请尽量简洁! name "我的" description "示例" authors "呀" homepage "http://myproject.example.com" license "mit" dependency "vibe-d" version
dub命令选项: 省略命令,则为run,--用于分割选项. 取包或包元数据时http_proxy为环境变量设置. dub -a x86 --compiler dmd,x86架构下用dmd编译器 一般命令: -h 选项 解释 --help 显示一般命令帮助 --root= 操作的根目录 --registry= 解析依赖时搜索的网径,默认为dub注册项,或类似mvn+http://localhost:
{ "name": "rps-explosion", "dependencies": { "jsoniopipe": "~>0.1.3", "enet-d": "~>0.0.1", "raylib-d": "~>3.1.0" }, "libs": ["enet", "raylib", "ws2_32", "winmm"
toolchainRequirements dmd="no" gdc="no" // only allow ldc buildType "release" { dflags "-Oz" } 构建类型与配置,用-b,配置来定义软件选项.用-c 构建类型与优化标志/检查边界等编译器标志有关, dub用基本构建类型,配置也可修改.b/c是正交关系.构建用-b,配置用-c.
我用dub编译druntime,简直是瞬间就编译好了,是不是太吓人了. 编译这个标准库,主要是改一下目录.不然人家找不到一些函数,因为可能有最新的函数. DFLAGS="-I%@P%\..\..\src\phobos" "-Ik:\d2\druntime\src" "-I%@P%\..\..\src\druntime\import" 改一下导入顺序.记住加-I,否则,老是瞎搞. dub的好处,就是
如果依赖仓库有问题,可以这样让dub强制用本地仓库: 1,分叉git仓库 2,在/path/to/the_package处复制本地克隆. 3,让Dub知道: dub add-local /path/to/the_package 4,让Dub忽略已配置的发布标签,因此会看到当前更改的效果: dub add-override the_package * /path/to/the_package 现
原文 // build.d import dub; void build(Builder* builder) { builder.target_type = .exe; builder.target_name = "game"; auto config = builder.create_configuration("config_a"); config.(..
原文 如何使用bindbc-sfml? 我在我的Linux系统上安装了它,没有使用加载器和静态SFML.我只是使用apt-get和dub.我按顺序做了以下操作: sudo apt-get install libsfml-dev libcsfml-dev dub init dsfml bindbc-sfml cd dsfml 编辑dub.json并添加: "libs": [ "cs
以前,我使用下面的动态链接在我的应用程序中启动一个想要的页面 然而,这有一个缺点,对于没有安装我的应用程序的用户。对于没有安装我的应用程序的用户,这是当他点击链接时发生的情况 转到Google Play商店 安装应用程序。 启动应用程序。将转到应用程序的第一页,而不是在“深度链接”中指定的所需页面。 后来,我意识到Firebase动态链接可以解决我的问题。如果我使用下面的URL,一切正常。 对于第
在Facebook上发布链接时,在设置开放图元标记(例如og:title、og:image)后,它成功地显示了我想要的链接预览。然而,在使用bit.ly缩短链接后,当我将其发布到Facebook上时,链接预览变成“301永久移动”,没有图像。我对tinyurl也有同样的看法,我是否应该在这里添加任何特定的标签?我尝试过使用共享调试器刷新,重新爬网,尝试使用http和https迭代url,结果与短u
短信设置 后台-设置-消息管理 系统支持短信接口为阿里云短信和凌凯短信(具体资费可询相关官方网站) 阿里云短信配置 可参考教程阿里云短息配置 凌凯短信配置 可参考教程凌凯短信配置
问题内容: 将芹菜文件表明,这是一个坏主意,有任务等待的其他任务的结果。但建议的解决方案(见“好”的标题)离开是可喜爱的东西。具体来说,没有明确的方法可以将子任务的结果返回给调用者(同样,这很丑陋)。 那么,有什么方法可以“链接”工作,以便呼叫者获得最终工作的结果?例如,使用示例: 或者,可以返回Result实例吗?例如: 这样就可以通过简单的方法检索链中“最终”工作的结果: 问题答案: 您可以用
主要内容:1.短链组成,2.Path 的生成目前在很多场景下,都需要短链,尤其是涉及到一些 URL 下发的逻辑。之前做小马 AI 课的业务时,销售通过短信下发的链接就是一个短链。为什么需要短链呢?考虑到一个 URL 上有 path、query 等参数,各种参数拼接在一起就成了一个长的字符串。 1.短链组成 ,协议可以直接忽略。域名是必须的(废话),并且足够短,否则的话就变成了长的短链(挺傻的)。最后 path 的部分才是关键,看起来是一个由
问题内容: 我不是在问什么合适的链接语法,我知道它可能是这样的: 但是,我真的很想了解它的内部工作,据我所知,链接是与其他著名框架相比的优势之一,但是对于像我这样的新手程序员来说,这是很多抽象的东西,我敢肯定在那里可以提供一个解释,让我了解链接的工作方式。 谢谢! 问题答案: 如果您的对象具有某些方法,并且每个方法都返回带有方法的对象,则只需从返回的对象中调用一个方法。