Category: Ruby

  • PostGIS笔记(下)

    PostGIS笔记(上) PostGIS笔记(中) 上篇说了为什么用Geography,这篇具体讲怎么取“范围n米以内的数据”。 Rails里运行Migration,建Portal Model,以下是Schema t.geography “lonlat”, limit: {:srid=>4326, :type=>”point”, :geography=>true}, null: false t.datetime “created_at”, null: false t.datetime “updated_at”, null: false t.index [“lonlat”], name: “index_parks_on_lonlat”, using: :gist 距离东京站1km内所有的portals ST_Distance float ST_Distance(geography gg1, geography gg2, boolean use_spheroid); SELECT id, name FROM portals WHERE ST_Distance(lonlat, ST_GeogFromText(‘POINT(139.767052 35.681167)’)) < 1000; ST_DWithin boolean ST_DWithin(geography gg1, geography gg2, double precision…

  • PostGIS笔记(中)

    PostGIS笔记(上) PostGIS笔记(下) Rails 和 PostgreSQL 的连接、postGIS 的 安装之类就都不赘述了。 PostgreSQL里postGIS安装好之后,就可以开始配置Rails这边了:

  • postGIS笔记(上)

    PostGIS笔记(中) PostGIS笔记(下) 好久没写博客,来扯淡一下。 2月~4月参与了一个游戏app的backend开发,基本上就是写API给app调用。 除了组里规定的严打不动的得用rails以外,这次项目自由度很大。 先简单介绍一下游戏功能: 把全日本10w左右的公园当portal,用户打开app可以看到附近当portal,到了portal范围内就可以玩游戏抓snoopy。 这次server要做的事情就是不停接受app的polling request,看用户附近是否有公园portal。 组里做过LBS的人不多,leader很早之前做过一次,推荐我用Geohash,并警告我说可能数据库压力会很大。 于是开发前准备阶段便搜了些相关资料。 结果发现Geohash相关gem都几乎没有在更新维护,便开始怀疑Geohash是否可行。 偶尔在infoQ和RubyChina发现了一些中文文章,谈到LBS的解决方案,其中包括:

  • sinatra/activerecord/grape小试

    以下是最近今天学习sinatra等框架的使用笔记。 sinatra 参考文档 http://www.sinatrarb.com/intro.html 个人感觉类似Spring MVC,主要学习了 URL映射 参数 静态文件 模板处理(ERB) 变量传递

  • [Rails]报告批改网站

    简单来说,就是一个模仿lang8的网站。自己想要了解自己实现的话要花多久。实际上确实花了很久,特别是批改网站核心的批改页面。 代码在这里 https://github.com/xnnyygn/report8

  • [Rails]壁纸推荐网站

    简单来说就是一次ITEM CF的尝试。不过壁纸本身的管理也花了不少时间,ITEM CF是最后才做的…… 源代码在这里 https://github.com/xnnyygn/get-wallpaper 上面第一行是推荐,第二行是最新的,第三行是热度最高的。 所谓ITEM CF推荐就是根据人得到相似的物品,然后推荐给你。 热度最高是按照下载次数来的。 这些都是在网站日常操作中得到数据,然后通过推荐计算得到的。

  • [ruby script]ping hosts and sort latency

    脚本的目的是ping多个主机地址,排序ping的平均延时,用来看看现在的网络环境连接哪台服务器比较快。 使用方法是 $ ruby ping-servers.rb foo.com bar.com baz.com $ cat server-list.txt | xargs ruby ping-servers.rb 第一行是直接输入所有主机地址,后面一个是从一个文件中输入所有主机地址。假如输入alipay,taobao和etao。结果如下