Ruby China
  • Topics
  • 招聘
  • Wiki
  • 酷站
  • Gems
  • Sign Up
  • Sign In
大庆
@daqing
VIP
NO. 101 / 2011-11-15

92 Topics / 622 Replies
42 Followers
19 Following
95 Favorites
世界是一片等待开荒的荒地
GitHub Public Repos
  • rabel 650

    An open-source web forum built on the Ruby on Rails framework.

  • blumine 98

    An Easy-to-use project management tool (no longer maintained....)

  • china_pay 56

    A simple payment abstraction library for china payment gateways

  • airway 44

    Full-stack API framework written in Go, inspired by Ruby on Rails.

  • gpt-translator 25

    Translate markdown files using GPT-4 model

  • aeolus 7

    PHP framework for productive Web development

  • goargs 5

    A Utility tool to replace xargs, written in Go.

  • gomigrate 1

    Database schema migration tool written in Go

  • rails7-sogou 1

    Rails 7 实战教程之《从零开发搜狗网站》源代码

  • rename 1

    A rename utility written in Go

More on GitHub
  • Overview
  • Topics
  • Replies
  • Favorites
  • Following
  • Followers
  • [介绍我的新 Gem] 范蠡:实现复杂业务逻辑的一种新方式 at May 06, 2017

    并不一定放在 initializer 下面,也可以放到 app/business/registry.rb里面

  • [介绍我的新 Gem] 范蠡:实现复杂业务逻辑的一种新方式 at May 06, 2017

    其实我这个就是 service 啊,只是没有用 XXXService来命名。而是用了动词 + 名词的方式。

  • [介绍我的新 Gem] 范蠡:实现复杂业务逻辑的一种新方式 at May 06, 2017

    那对于这类需求,有没有不是意大利面条的写法?

  • [介绍我的新 Gem] 范蠡:实现复杂业务逻辑的一种新方式 at May 06, 2017
    class CreateUser
      def perform(args)
        user = User.create!(args)
    
        [SendWelcomeEmail, GiveCouponIfXmas, GiveInitialCash].each do |clazz|
          clazz.(args)
        end
      end
    end
    

    从职责的角度,“创建用户”这个业务逻辑,不应该关心是否要“发邮件”“发优惠券”等职责。所以,这个代码,让 CreateUser 有了多个职责,违反了“单一职责原则”。

    另外,还违反了 Open/closed principle。因为我要想在用户注册之后,加入更多逻辑的话,使用我的设计,只需要修改 config/initializer/business.rb 里面的配置,不需要修改 CreateUser的 perform() 方法。而你的例子,必须去修改 perform() 方法的实现。

  • [介绍我的新 Gem] 范蠡:实现复杂业务逻辑的一种新方式 at May 06, 2017

    你那样写,就把依赖写死了,不方便进行单元测试,而且违反了“单一职责”原则

  • [介绍我的新 Gem] 范蠡:实现复杂业务逻辑的一种新方式 at May 06, 2017

    是的,受到 wisper 启发

  • [介绍我的新 Gem] 范蠡:实现复杂业务逻辑的一种新方式 at May 05, 2017

    改成 .call 呢?

  • 用 Docker Compose 搭建 Rails 开发环境 at April 26, 2017

    我们生产环境用了 rancher

  • 说我最近关注 Crystal 的感受 at April 18, 2017

    Erlang 里面,进程就是对象啊,Erlang 里面的 OOP,就是面向进程编程。

  • Ruby China 也是个上百万数据的网站哦! at April 14, 2017

    好棒!

  • 说我最近关注 Crystal 的感受 at April 14, 2017

    Scala 搞的过于复杂了

  • 说我最近关注 Crystal 的感受 at April 14, 2017

    一直觉得原生 erlang 挺好的,所以 elixir 一直没尝试。go 和 crystal 都尝试了,都很喜欢。

  • 团队聊天工具,大家都用什么?Hipchat? 企业微信?还是 QQ? at April 10, 2017

    目前就我们公司在用吧

  • 团队聊天工具,大家都用什么?Hipchat? 企业微信?还是 QQ? at March 27, 2017

    在济南上班了,没有创业

  • 今天在本地安装了 Homeland,遇到两个问题 at March 22, 2017

    Cool!

  • 今天在本地安装了 Homeland,遇到两个问题 at March 18, 2017

    我的是 3000 端口。现在的问题就是图片不存在。

  • 今天在本地安装了 Homeland,遇到两个问题 at March 17, 2017

    主要是我想修改一些代码,加入自定义的功能,用 docker 安装就不方便了。

  • 今天在本地安装了 Homeland,遇到两个问题 at March 17, 2017

    好的,明白

  • 在 NoPoint 发帖,依然会上首页? at March 17, 2017

    @huacnlee NoPoint 是特殊的名字约定吗?

  • 今天在本地安装了 Homeland,遇到两个问题 at March 17, 2017

    还有一个问题:怎么调整导航栏链接的顺序?,比如让头条在最前面?

  • 今天在本地安装了 Homeland,遇到两个问题 at March 17, 2017

    这个生成 letter_avatars 的代码在哪里?

  • 今天在本地安装了 Homeland,遇到两个问题 at March 17, 2017

    我看了一下 public/system 那个目录,没有 64.png 这个文件

  • 今天在本地安装了 Homeland,遇到两个问题 at March 17, 2017

    以下是 log

    Started GET "/system/letter_avatars/2/D/149_114_207/64.png" for ::1 at 2017-03-17 21:38:50 +0800
    Processing by HomeController#error_404 as PNG
      Parameters: {"path"=>"system/letter_avatars/2/D/149_114_207/64"}
       (1.0ms)  SELECT COUNT(*) FROM "new_notifications" WHERE "new_notifications"."user_id" = 2 AND "new_notifications"."read_at" IS NULL
    DEPRECATION WARNING: `:nothing` option is deprecated and will be removed in Rails 5.1. Use `head` method to respond with empty response body. (called from block (2 levels) in render_optional_error_file at /Users/daqing/v8os/products/homeland/app/controllers/application_controller.rb:73)
      Rendering text template
      Rendered text template (0.0ms)
    Completed 404 Not Found in 7ms (Views: 1.1ms | ActiveRecord: 1.0ms)
    
  • 今天在本地安装了 Homeland,遇到两个问题 at March 17, 2017

    那个 PR 我看了,按照上面说的修改就好了。我用的是 ES 5

  • 今天在本地安装了 Homeland,遇到两个问题 at March 17, 2017

    还遇到一个问题:

    新注册的用户,小头像显示不出来:

  • 今天在本地安装了 Homeland,遇到两个问题 at March 17, 2017

    对啊,但是似乎有 bug,代码我还没详细看。

  • 容器化,你并不需要三个模式 (环境) at March 16, 2017

    我们现在都是在容器中跑 Rails,依然是用 RAILS_ENV 环境变量来指定运行环境。

  • [北京][2017年3月25日 周六] Ruby 聚会 at March 14, 2017

    是啊,你现在在哪?

  • [北京][2017年3月25日 周六] Ruby 聚会 at March 11, 2017

    现在在济南

  • [北京][2017年3月25日 周六] Ruby 聚会 at March 11, 2017

    离开北京好多年

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