http4s client 学习笔记

实践Scala的时候需要用Http Client,找到这篇Comparing Scala’s HTTP client librariesscalaj-http用起来最顺手,就在项目中用上了,但是后来发现scalaj-http不支持PATCH,而文章作者提到的Newman已经很久没有更新了,spray-client依赖于akkaplay-ws本身的目标用户很大部分是play的用户。所以最后的选择是使用Java实现的OKHttp

在寻找称手的Http Client的时候也找到过http4s,但是http4s的文档花了很大的篇幅介绍如何用http4s构建Http Server,在介绍http4s的client时只介绍了如何发起一个HTTP GET请求。便没有细看。前段时间在Scala China的微信群里面讨论HTTP Client时,hepin提到可以试试http4s,于是翻了源码,学习了一下http4s的简单使用。http4s的文档实在简陋,故而记录如下:

Scala and Maven

构建Scala的工程常用sbt,sbt固然灵活,功能强大,却也难以精通,且在国内使用往往遇到网络不畅通的情况。虽然可以使用Repox公服和Coursier加速,却也浪费程序员们宝贵的时间。

Maven虽然死板,在各大公司中应用却较为广泛,而且极有可能公司的发布系统只支持Maven。另外Maven也有Scala的插件,Scala生态系统中的杀手级应用Spark实际上也从sbt切换到了Maven。使用Maven解析各种依赖也比sbt要快一些,所以掌握使用Maven构建Scala工程非常有必要。

本文主要介绍Scala的Maven插件以及一些小技巧。

scala-graph by example (0) visualization

Graph Theory should be illustrated.

I’m starting to learn scala-graph by example. In each post, I will post the sample code and the generated pictures.

The following code shows how to creat a graph, calculate the shortest path of two nodes and export the particular graph with a highlighted path to dot format.

Scala入门之工具篇

我初次接触Scala时,由于对Scala相关的工具不够熟悉,学习的效率低下。所以本文主要介绍Scala编程所必备的工具。一般而言,我们接触一门编程语言,都需要接触这门语言的编译器、REPL、构建工具、集成开发环境、文档(当然,因语言而异,编译器和REPL并不是每个语言都有的)。

Cytoscape插件开发小结

前段时间接了一个 parttime job,是给生命学院的老师开发一个 Cytoscape 的插件。本文做个简单的技术总结,所有的细节都基于 Cytoscape3.3.0,阅读时请注意版本号。