Ruby China
  • Topics
  • 招聘
  • Wiki
  • 酷站
  • Gems
  • Sign Up
  • Sign In
谢文威
@vincent
VIP
NO. 332 / 2011-11-29

薄荷科技
上海
25 Topics / 529 Replies
111 Followers
6 Following
16 Favorites
写优雅的程序,做一个优雅的人
GitHub Public Repos
  • redis_scanner 85

    RedisScanner is a tiny tool for scanning redis's keys and creating statistic information.

  • sneakers_packer 53

    Microservice communication, job message, event broadcast and remote procedure call based on Rabbi...

  • migrate-ssdb2pika 5

    迁移 SSDB 到 Redis/Pika 工具集,Ruby 实现

  • grpc_for_rails 3

    Make grpc server and client easy for rails project.

  • gruf 1

    gRPC Ruby Framework

  • wechat 1

    API, command and message handling for WeChat in Rails

  • my-slides 1

    my slides for sharing

  • sneakers 1

    A fast background processing framework for Ruby and RabbitMQ

  • capistrano-sneakers 1

    Sneakers support for Capistrano

  • shortme 1

    Yet Another URL Shortening Service in Golang

More on GitHub
  • Overview
  • Topics
  • Replies
  • Favorites
  • Following
  • Followers
  • 《Ruby 快与慢》的 slides at November 04, 2014

    #9 楼 @Victor 对的,这是我觉得这次表现不好的一大原因,topic 想兼顾太多东西,结果每一点都是泛泛而谈,还不如就里面的两三个点详细展开,比如复杂 Rails 项目模块化的实践,如何克服 Ruby GIL 限制的实践。

  • 《Ruby 快与慢》的 slides at November 04, 2014

    #4 楼 @cisolarix 是啊,如何进行复杂 Rails 项目的模块化,本身就可以做一个大 topic 了,时间受限,没法展开,也许今后可以分享一下薄荷这方面实践的经验教训。

  • 《Ruby 快与慢》的 slides at November 04, 2014

    #2 楼 @springwq 招啊,欢迎哦

  • RubyConf 吐槽贴 at November 02, 2014

    #12 楼 @flypiggys #1 楼 @JackyGuo 真的抱歉!主题没有选好,也没有讲好,让大家失望了。

  • RubyConf China 2014 参会指南 at November 01, 2014

    #23 楼 @seoaqua 抱歉,我这个主题有意偏向初学者,所以可能有一些观点和做法已经非常熟悉了。

  • Teahour #64: Ruby 的快和慢 - 采访薄荷网 CTO Vincent at October 22, 2014

    #9 楼 @xiaoronglv #10 楼 @meeasyhappy #11 楼 @nowherekai 哈哈,还有很多没有提到的内容~~

  • ruby uri invalid byte sequence in UTF-8 求解 at October 08, 2014

    因为 "http://www.baidu.com/xEA\xE6" 包含了非法的 utf-8 字符

    str = "http://www.baidu.com/xEA\xE6"
    str.valid_encoding?  # => false
    

    解决办法,先把 str 中得非法 utf-8 字符替换掉,比如替换成 ?

    for i in (0...str.size)
      unless str[i].valid_encoding?
        str[i] = "?"
      end
    end
    str.valid_encoding?  # => true
    

    enjoy!

  • [上海] 薄荷诚聘 Ruby 工程师 2~3 名 Change the women Change the world at September 28, 2014

    #38 楼 @lithium4010 看到你做的应用,不错,回头聊一聊,哈

  • [上海] Strikingly 团队诚聘前后端工程师,实习也可 (周六团队开放日等你来) at September 26, 2014

    @dfguo cool! 一定要抽空拜访一下。

  • 编写 Ruby 的 C 扩展 at September 22, 2014

    👍

  • [上海] 薄荷诚聘 Ruby 工程师 2~3 名 Change the women Change the world at September 22, 2014

    招聘还在进行中,欢迎自荐或推荐,哈~

  • [上海][2014年9月20日] 搬了新办公室,这周六 Strikingly 开放日 at September 19, 2014

    👍

  • [上海] 薄荷诚聘 Ruby 工程师 2~3 名 Change the women Change the world at September 17, 2014

    #24 楼 @feitian124 哈,很棒!男人减肥不易!

  • [上海] 薄荷诚聘 Ruby 工程师 2~3 名 Change the women Change the world at September 15, 2014

    #22 楼 @holin #23 楼 @emanon #25 楼 @meeasyhappy 最主要是业务扩展了,薄荷的业务是比较重后端的,所以后端的工程师需求比较大。当然也有人员流动,但是在正常范围。

  • [上海] 薄荷诚聘 Ruby 工程师 2~3 名 Change the women Change the world at September 15, 2014

    #19 楼 @waitingaminute 薄荷是一个改变美女,造就美女的地方,薄荷的美女真的很多啊,员工或是用户,很多的美女~~~

  • 我用 Sketch 做的简历和其它临摹. at September 15, 2014

    @ichord 有没有兴趣来上海发展呢?

  • [上海] 薄荷诚聘 Ruby 工程师 2~3 名 Change the women Change the world at September 12, 2014

    #16 楼 @yukang 去了深圳了?

  • [上海] 薄荷诚聘 Ruby 工程师 2~3 名 Change the women Change the world at September 11, 2014

    #3 楼 @xiaoronglv #2 楼 @mingyuan0715 一个老中医,一个老西医,中西合璧,哈哈 薄荷的团队,都是非常 NICE,非常热心的人,下面是 部分同事的 Blog

    • @xiaoronglv http://mednoter.com/
    • @mingyuan0715 http://www.xinshengyin.com/
    • @storm_zhang http://stormzhang.github.io/
    • @teddy_1004 http://teddy1004.github.io/
    • @vincent http://xiewenwei.github.io/

    想和他们一起结对,一起享受 coding 的乐趣吗?那就赶快来吧~~

  • [上海] 薄荷诚聘 Ruby 工程师 2~3 名 Change the women Change the world at September 10, 2014

    更多关于公司和团队的信息,也可看看以前的招聘贴 https://ruby-china.org/topics/13680

  • [上海] 七周七语言之 Ruby -2014年8月16日 at August 20, 2014

    #116 楼 @gene_wu 我的放到 slideshare 上了,http://www.slideshare.net/vincent253/love-ruby

  • [上海] 七周七语言之 Ruby -2014年8月16日 at August 18, 2014

    #109 楼 @quakewang #107 楼 @iBachue @Tony612 @gene_wu 强!第五题你要是用一行来解决的话,大家会崩溃的~~~

  • [上海] 七周七语言之 Ruby -2014年8月16日 at August 17, 2014

    #104 楼 @iBachue @Tony612 @gene_wu 听课的人有几个做出来了呢? @gene_wu 讲得很棒,哈!

  • [上海] 七周七语言之 Ruby -2014年8月16日 at August 17, 2014

    @iBachue 第 5 题挺有意思,赞一个!对 Ruby 新手很有挑战,对 Ruby 老手也不见得那么轻松,需要熟悉元编程一些知识,建议大家都做一做,练练手,嘿嘿

  • Ruby module 疑问? at August 13, 2014

    #1 楼 @Justin #3 楼 @sevk #4 楼 @awking

    准确的说,::A::B 才是绝对路径,A::B 和 B 都是相对的。 程序在解析时,当遇到常量后 A 或 B 都是常量(模块),根据常量的查找规则找到对应的常量。 如果想了解常量查找路径,这篇文章讲得最清楚 Everything you ever wanted to know about constant lookup in Ruby http://cirw.in/blog/constant-lookup

    我以前也遇到过常量查找的困惑,可以看看这个帖子 https://ruby-china.org/topics/4777 。

  • 数据库报错,请高手帮忙! at August 07, 2014
    def self.find_account_money
      users = self.select("id, name, (#{Account.select("SUM(money)").group("user_id").where("accounts.user_id = users.id").to_sql}) AS user_money")
      users
    end
    

    这个写法太丑陋了,错误的本质是硬凑 sql 导致语法错误了。 完全可以通过

    user_accounts = Account.select("user_id, sum(money) as user_money").group("user_id")
    

    得到你想要的分组汇总数据。

    如果想用 count,可以这样

    # 全部 user count
    User.count
    # 有 money 的 user count
    Account.count(:user_id, distinct: true)
    
  • 一张图理解 Git 对象模型 at July 30, 2014

    因为公司里要做 Git 的技术交流分享,所以这段时间仔细研究了 Git 背后的原理,原本我打算写一篇详细介绍 Git 对象模型机制的文章的,忽然发现 @xiaoronglv 已经写了,而且写的相当不错,我也就懒得再写了,哈哈。

    我把原先准备的一些素材发一下吧,理论的东西小荣的文章已经讲了不少,我就上一个鲜活的项目例子吧。

    一个纯研究演示 Git 对象模型的项目,项目在 https://github.com/xiewenwei/dig-git,总共有 5 次 commit(包括一次 merge),都是很简单的内容,我们可以仔细观察一下每一 commit 之后 Git 对象模型图,以此分析 Git 存储的原理。

    • 1. 首次提交,提交一个简单的文件 a.txt,commit 之后的图如下:

    如图所示,生成了 3 个对象,一个 commit 对象,一个 tree 对象,一个 blob 对象。图上蓝底是 commit 对象,灰底的是 tree 对象,白底的是 blob 对象,每个对象节点的标题是对象的 key (SHA 摘要) 缩略表示。 对于 commit 对象,tree 内容表示这个 commit 对应根目录的 tree 对象,parent 表示父 commit 节点,通常 commit 只有一个父节点,也可能没有(首次提交时 parent 为空),也可能有多个(合并节点),commit 对象还保存了 commit message 等信息。 对于 tree 对象,里面的内容包含了文件名,文件对应的 blob 对象的 key,或者是目录名和目录对应 tree 对象的 key。 对于 blob 对象,表示一个实际文件对象的内容,但不包括文件名,文件名是在 tree 对象里存的。

    这个图怎么得到的呢?主要是两个命令:

    • 通过 git log 命令获取最新 commit 的 key
    • 通过 git cat-file -p <object key> 获取 key 对应 object 的内容,根据 object 里的内容,继续探索,就可以访问到所有关联 object.

      1. 第 2 次提交,修改了 a.txt 文件:

    因为 a.txt 文件已经修改,生成了一个新的 blob 对象,tree 对象和 commit 对象。如图所示,commit 对象之间是有关联的,新提交的 commit 对象的 parent 是上一次提交的 commit 对象。

    • 3. 第 3 次提交,这次已稍微复杂一点,增加一个新文件 b.txt,一个新目录 lib,lib 里增加一个文件 c.txt

    如图所示,目录是有一个 tree 对象表示的,里面的内容指明了目录包含的文件或子目录。

    • 4. 第 4 次提交,这次弄出一个新的分支 test1,并且在新分支中做了一次 commit

    0c5ca 对应的 commit 对象就是生成的分支 test1 中的。分支在 Git 中是一个非常轻量化的操作,建立分支甚至都不增加新的对象。

    • 5. 第 5 次提交,这次涉及到一个合并操作,图已经变得比较复杂了

    def18 就是合并后的 commit 对象。合并生成了一个新的 commit,这个 commit 的 parent 有两个,指向合并的两个原分支对应的 commit 上。

    抱歉没有写得很详细,恐怕需要自己参照例子试试一看看,搞明白这些图,也就能搞明白整个 Git 对象模型机制了。

  • [上海] 七周七语言之 Ruby -2014年8月16日 at July 28, 2014

    #2 楼 @gene_wu 哈,我非常乐意提供帮助啊,微信里联系你吧

  • [上海][2014年7月20日] 2014 年 7 月 周末聚会 (需报名) at July 22, 2014

    #79 楼 @gene_wu 已经上传了 ppt,我新开了一个帖子 https://ruby-china.org/topics/20620 slideshare 的网址 http://www.slideshare.net/vincent253/redis-37221509

  • [上海][2014年7月20日] 2014 年 7 月 周末聚会 (需报名) at July 22, 2014

    #79 楼 @gene_wu 哈哈,可以,稍等一下,面试题也可以公布,今后再换新的题目好了

  • 为什么我从 MongoDB 迁移到 PostgreSQL at July 20, 2014

    珍爱生命,远离 mongodb

  • Prev
  • 1
  • 2
  • …
  • 6
  • 7
  • 8
  • 9
  • 10
  • …
  • 16
  • 17
  • Next
关于 / RubyConf / Ruby 镜像 / RubyGems 镜像 / 活跃会员 / 组织 / API / 贡献者
由众多爱好者共同维护的 Ruby 中文社区,本站使用 Homeland 构建,并采用 Docker 部署。
服务器由 赞助 CDN 由 赞助
iOS 客户端 / Android 客户端 简体中文 / English