Clojure实现的简单短网址服务(Compojure、Ring、Korma库演示样例)

用clojure写了一个简单的短网址服务(一半抄自《Clojure 编程》)。在那基础上增加了数据库,来持久化数据。

功能

用Get方法缩短一个网址:

然后在短网址列表就能够查看了,

接下来訪问那一长串地址就能够通过:

浏览器重定向:

代码剪影

url路由部分:

用korma库,通过id查询到对应的url:

这里的urls是先前定义的一个entity,entity就是对数据库一个表的描写叙述:

很多其它代码见github:

请猛戳:

短网址逻辑,路由部分

Korma数据库处理

时间: 2024-10-01 20:24:14

Clojure实现的简单短网址服务(Compojure、Ring、Korma库演示样例)的相关文章

短网址服务设计

短网址服务设计 背景 短网址服务,用来将输入的一个长网址转换为一个短网址(比如附录中的案例),当用户请求这个短网址时,服务查询出真实的url; 设计这么一个短网址服务,需要考虑哪些点? 数据结构 首先,需要考虑短网址应该如何存储,使用一个key-value结构就可以: key是生成的短网址,具有唯一性: value为原始真实网址: 算法 计算短网址的算法可以很简单,短网址与原始网址就只存在一个映射关系. 从1开始递增来映射每一个网址: 1个位上可以使用26位字母+10个数字,即36进制: 当然,

最近做了一个短网址服务 di81.com

最近做了一个短网址服务:   di81.com 项目中有一处需求,需要把长网址缩为短网址,把结果通过短信.微信等渠道推送给客户.刚开始直接使用网上现成的开放服务,然后在某个周末突然手痒想自己动手实现一个别具特色的长网址(文本)缩短服务. 由于以前做过socket服务,对数据包的封装排列还有些印象,因此,短网址服务我第一反应是先设计数据的存储格式,我这里没有采用数据库,而是使用2个文件来实现: Url.db存储用户提交的长网址文本,Url.idx  存储数据索引,记录每次提交数据的位置(Begin

百度短网址服务

百度短网址服务api文档 String shareUrl = "http://www.baidu.com/"; RestTemplate template = new RestTemplate(); //百度短地址服务 String url = "http://dwz.cn/create.php"; LinkedMultiValueMap<String, Object> parts = new LinkedMultiValueMap<String,

最简单的视音频播放演示样例4:Direct3D播放RGB(通过Texture)

===================================================== 最简单的视音频播放演示样例系列文章列表: 最简单的视音频播放演示样例1:总述 最简单的视音频播放演示样例2:GDI播放YUV, RGB 最简单的视音频播放演示样例3:Direct3D播放YUV,RGB(通过Surface) 最简单的视音频播放演示样例4:Direct3D播放RGB(通过Texture) 最简单的视音频播放演示样例5:OpenGL播放RGB/YUV 最简单的视音频播放演示样例

展示C代码覆盖率的gcovr工具简单介绍及相关命令使用演示样例

(本人正在參加2015博客之星评选,诚邀你来投票,谢谢:username=zhouzxi">http://vote.blog.csdn.net/blogstar2015/candidate?username=zhouzxi) 近期,由于要展示某项目的单元測试的代码覆盖率.我无意间在网上找到了gcovr工具.使用之后,认为这个工具相当的不错,于是便写下这篇文章,可供相关的开发者參考. 简而言之,gcovr是一个将单元測试中的代码覆盖率以多种方式(包含列表方式.XML文件方式.HTML网页方式

一则简单演示样例看Oracle的“无私”健壮性

Oracle的强大之处就在于他能总帮助让你选择正确的运行计划,即使你给了它错误的指示. 实验: 1. 创建測试表: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYmlzYWw=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" > 收集统计信息: 创建B树索引: 2. 运行select id from tbl_plan;查看它的运行计划: 由于创建了

[hadoop系列]Pig的安装和简单演示样例

inkfish原创,请勿商业性质转载,转载请注明来源(http://blog.csdn.net/inkfish ).(来源:http://blog.csdn.net/inkfish) Pig是Yahoo!捐献给Apache的一个项目,眼下还在Apache孵化器(incubator)阶段,眼下版本号是v0.5.0.Pig是一个基于Hadoop的大规模数据分析平台,它提供的SQL-like语言叫Pig Latin,该语言的编译器会把类SQL的数据分析请求转换为一系列经过优化处理的MapReduce运

最简单的视音频播放演示样例7:SDL2播放RGB/YUV

===================================================== 最简单的视音频播放演示样例系列文章列表: 最简单的视音频播放演示样例1:总述 最简单的视音频播放演示样例2:GDI播放YUV, RGB 最简单的视音频播放演示样例3:Direct3D播放YUV,RGB(通过Surface) 最简单的视音频播放演示样例4:Direct3D播放RGB(通过Texture) 最简单的视音频播放演示样例5:OpenGL播放RGB/YUV 最简单的视音频播放演示样例

JBoss 系列九十六:JBoss MSC - 简介及一个简单演示样例

什么是 JBoss MSC JBoss MSC 即 JBoss Modular Service Container,是第三代 JBoss 产品 JBoss 7和WildFfly的内核,JBoss MSC 替换了之前的 JMX Kernel 和 MicroContainer,它主要特定能够总结例如以下三点: 高并发容器(A highly concurrent state machine) 无多相位,设计简单(No multiple phases, much simpler) 不依赖 JMX 和 J