Set GOOS for gopls in Vim/Neovim

I use Neovim to develop my Go project on macOS, but my project only run on Linux Machines, so I need to use to some Linux specific packages like https://pkg.go.dev/golang.org/x/sys@v0.10.0/unix. Here the issue is: I can’t jump to the definition of xxx_linux.go files, because the GOOS environment variable is set to “darwin” on macOS. vim.g.GOOS = "linux" can set the GOOS in neovim, but it not works for me, since the GoTest function of vim-go will not function properly.
Read more →

近期面试经历总结。

经过一波密集面试, 终于拿到心仪的offer, 于这周入职。 终于下定决心离开厦门,来到了帝都。其实自己都说不清为啥, 就是凭着一腔热血,趁着年轻多见见世面。 这次远程+现场面试应该有10家,大小公司都有, 感觉除了头条都能拿到offer, 就是钱的区别。 除了头条面试变态, 其他公司套路差不多,包括滴滴,百度,链家,陌陌等。一些常用技术+简单数据结构/算法。我猜主要看上家公司背景吧,非小公司出来的技术不太差一般都会要。 我刚好属于不会吹的那种, 更好的做法是提前准备好说辞, 包括工作中遇到的哪些挑战, 自己做了哪些牛逼的事。哎,在我看来平时的工作也没啥挑战, 都能轻松完成。 其实仔细想想, 还是平时总结的不够, 时间长了就忘了。换位思考下, 如果说不出遇到的挑战, 面试官可能以为你做的事情比较边缘或简单,甚至怀疑你的技术。 总之就是平时做好总结, 面试时大胆的吹出来。 这里列出一些知识点,如果掌握了这些基本上除头条外的国内互联网公司都能搞定了。 头条的话感觉需要补充各种计算机基础知识(如操作系统, 网络等)和刷一遍leecode。另外剑指offer一定要过一遍!

Read more →

从SAE迁移到DaoCloud

原以为SAE一万的豆子可以用很久,结果最近变相收费,云豆耗光,只好撤离。
话说最近两年国内新出了好多开发者服务提供商:Coding,DaoCloud,LeanCloud等,造福广大开发者,真是大赞。所以这次就选择了DaoCloud(每个月有免费额度),顺便实践把Daocker。

Read more →

beego项目部署脚本

  准备上线用beego写的一个小项目,在vultr开了个日本节点,注册送50刀,免费用两个月,哈哈。
  之前还真没部署过编译型语言项目(Java白学了),也没去折腾capistrano了。参考beego的文档撸了个简单脚本,先凑合用吧。
  

Read more →

(译)在laravel 4 中使用配置

原文地址:http://culttt.com/2014/04/07/working-configuration-laravel-4/ 第一次翻译,难免粗糙,欢迎指正!

配置设置是在各种web应用中我们不得不处理的事。主流得web应用至少要配置数据库,但是通常要配置大量得第三方服务
我觉得如果你研究过不同得框架,你会发现不同web应用用各自不同的方法管理配置信息。我接触的开发者也经常用他们自己的方法管理配置。
在这周得教程中,我将介绍怎样在Laravel项目中处理配置信息。我以前得一些教程也介绍过如果使用配置,但我觉得这是个大家都需要的问题,所以值得再写篇文章。

Read more →

mondrian教程

终于做完mondrian的小项目,先将遇到了一些问题和经验记下来。

1. 支持中文

在web.xml中添加过滤如下:

Read more →

使用log4j在Mondrian中输出日志

最近在帮女朋友做毕设,一个基于Mondrian的小项目。写完聚合表后竟然查询速度还是很慢,遂决定打印出日志追踪sql以查看是否真用到了聚合表。 Mondrian是带有log4j的,只是没有配置。现将配置步骤写下。

Read more →

Google Maps Android API v2配置教程

其实官方文档已经说的很详细了,英文不佳者可能会有点捉急。 注:开发环境Eclipse

1.安装和配置Google Play services SDK 在eclipse中打开Android SDK Manager,下载Extras中的Google Play services 右键项目》Properties》Android  点击add按钮添加google-play-service-lib  (不要勾选Is Library)

2.在manifest添加 Google Play services version:添加以下代码到Application下

Read more →

Go 多个goroutinue顺序打印数字

一. 10个goroutinue顺序打印0-9 # 常规的做法是用10个channel来挨个控制,其实可以用原子包实现,相当于加锁 func printInOrder() { wg := sync.WaitGroup{} var curr int32 for i := int32(0); i < 10; i++ { wg.Add(1) go func(num int32) { defer wg.Done() for { if n := atomic.LoadInt32(&curr); n == num { fmt.Println(num) atomic.AddInt32(&curr, 1) break } time.Sleep(time.Nanosecond) } }(i) } wg.Wait() } 二. 两个goroutinue分别打印奇偶数 # 同上,还是用原子包 func printMix() { wg := sync.WaitGroup{} var curr int32 wg.Add(2) go func() { defer wg.Done() for curr < 10 { if n := atomic.
Read more →