• #11 楼 @sandy_xu 很实用,另外最后一个 Ctrl-C 可能会停止了程序,不考虑新起一行的话,可以换成 Ctrl-E + Ctrl-U

  • #6 楼 @chenge 目录的问题,好像社区现在打开的 pr 正在弄,自己手动搞一个不美观,还是算了

  • #5 楼 @chenge 噢噢,同意你说的。我是直接官方恢复模式上的最新 macOS Sierra, 坑是有点多,主要集中在 Brew 这里,所以建议新系统没升级的还是等一年稳定了再用比较好。不过 EI Capitan 现在应该稳定了。

  • #3 楼 @chenge 分屏是 EI Capitan 出的特性

  • 继续关注这个话题,想知道仅仅代码写的好的人,在国内都怎么样了😳

  • @jasl 好像还没到 5 个赞啊,谢谢管理员加精🙏. 不过希望大家也能分享一下啊😍 😍

  • rails test 报错, 关于 sqlite3 at 2016年12月05日

    谢谢,升级版本试过,还是不行。禁用 spring 这个也不想用,看 issue 最后最后面有人又报了这个问题,复现了好像。整不好的话还是换个数据库了

    更新:

    昨天弄错了,升级 gem 版本了,升级本地 sqlite, 然后 gem 连接新版本重新安装有效了:

    brew install sqlite
    gem uninstall sqlite3
    gem install sqlite3 -- --with-sqlite3-dir=/usr/local/Cellar/sqlite/3.1x/
    
  • #16 楼 @qinix

    Docker 如何使用 binding.pry

    binding.pry 这类需要终端和进程状态变化的调试操作,要使用有点违背 Docker 单进程的意图,但也可以实现。我的具体做法是在 docker-compose.yml 或 Dockerfile 中修改 CMD 入口,换一个一直运行的 0 号进程,然后 exec 进入终端,此时的程序终端跟一般状态无异 (已经不依赖 Rails 进程了), 之后启动 Rails 进程,就可以修改代码,进行终端调试了。

    开发体验不好,但是分使用场景

    你说的很对,docker 给 Rails 开发带来的体验是不好,甚至对于刚接触的人,因为有一个单进程的限制,会觉得没有虚拟机方便,但是这是对后端需要一些高级调试的人来说。现在假如有一个需求,一个系统有多个部分,需要前端,后端以及一些底层运算成员组成,对于前端和底层运算成员,他们没必要本地实现一套 Rails 环境,他们并不关心这个,这里可以用虚拟机来实现,但是虚拟机即使是 vagrant 没有像 Dockerfile 这样使环境完全透明的东西,运维修改起环境没有 docker 方便。

    而对于 Rails 后端人员,可以用 Docker 运行前端的一套 node 项目和底层运算成员的一些 Maven 项目,而对于自己的 Rails 项目,如果开发调试不够用了,也可以直接使用本地环境代替,这时候的操作只需要暴露 Node 和其他需要组件的端口,这里实际上可以理解为将其他不关心的系统封装成一个 app 来跑,而这些 app 由 Docker Compose 来管理。当然,后端对于 Rails 环境也是需要的,当环境依赖需要修改时,可以很方便本地在 Docker 中测试好,之后上传新的 Dockerfile, 在下个版本时,让其他工程师一并得到更新。虽然这种需求量不是很多,但用起来就舍不得放了。

    生产环境

    楼主还是小白,没有接触到 swarm 多机部署😂 我现在应用到生产环境,益处主要是统一了环境,没有了曾经阿里云运行良好,然后其他云跑不起来的问题。最后,Docker Compose 是很不成熟。

  • 这个试试先清楚 log 日志,然后复现报错后,再看看日志里发生了什么

  • #8 楼 @small_fish__ 嗯嗯,好的好的

  • 暂时看,是测试环境下,你修改的 User.first 仍然取到了 fixture 里的 little 用户

    然后用 111111 测试,返回了成功,但这个是 http 请求成功,就是说此时密码错误了

  • #2 楼 @matrixbirds 谢谢

    #3 楼 @kgen #4 楼 @embbnux 好的好的,一下又有该学习的东东。

    另外 embbnux 我可一直偷偷关注着你啊😀

  • 统一账户管理平台 at 2016年11月15日

    #11 楼 @rainchen 我上面 #8 楼 有解释过了,不知道自己是不是对 openid 理解不对

  • 统一账户管理平台 at 2016年11月14日

    #8 楼 @cn_boris 我才疏学浅,这东西怎么像一个 oauth 联盟一样,给大家授权制定了一个标准,回到最初,还是会变成要挑选哪个 oauth 提供商的的问题 (因为他统一的不是服务商,而是标准)

  • 统一账户管理平台 at 2016年11月13日

    #5 楼 @hging 现在很多产品就是这样,oauth 完成登录,但产品自己也有独立的密码,敏感操作要求验证产品内部设置的密码,这样折中了下安全和便利的问题。

    所以这个有一套用户系统不影响这个构想的实现吧。

  • 统一账户管理平台 at 2016年11月12日

    #3 楼 @hging 是这样。

    可是按现在趋势,可以说破解了程序员的 GitHub 账号,很多技术社区账号也破了; 盗了 qq 或微博账号,很多网站也能进了。

    区别只是现在有很多公司在做这件事。

  • 统一账户管理平台 at 2016年11月12日

    #1 楼 @Rei 我刚搜了一下,他好像为了安全做了很多妥协,原本就不多用户,还增加了初始复杂度,然后没人买账了

  • 第一个截图报错,我之前遇到过,最后是换另一种方式安装 Ruby 解决的 (当时是 rbenv -> RVM)

  • #22 楼 @pengedy 谢谢建议。

  • Ruby China 2016 纪念拉链帽衫 at 2016年11月06日

    我机智的改小了一码😁

  • #10 楼 @jasl

    不会吧,Retina 高分屏都会这样啊,没实际用过,这个倒不知道😂

    #11 楼 @ywjno

    恩,以后固定了可以考虑

  • #1 楼 @jasl #3 楼 @darkbaby123 #6 楼 @chinakr

    好的谢谢。接口的问题也得考虑; 另外的确每一代新更新保留上一代只是过渡,以前好像也是这么干的。

    #2 楼 @lgn21st

    是先观望比较好。另外让你想要换黑苹果的点有哪些呢?

    #7 楼 @nyrf

    我和你一样觉得 13 寸方便。

  • #9 楼 @embbnux 最近在弄部署,Docker Compose 是有挺多不如意的地方,不过暂时没有找到更好组织这些镜像容器的方案(似乎可以用 makefile,但手动管理命令成本也高,而且以后不好跟着官方升级),所以先用着吧。

    用 Cap 多机部署是挺方便的,适用场景的工具用着也行吧。

  • 另外,因为 Rails 容器正常运行,需要连接 DB 容器并执行 Migrate 操作。

    这里是不是应该在所有容器启动之后,再配合 GitLab-CI 这类持续部署工具做接下来的步骤?

    因为运用了 Docker 完全封装了环境和源码,很多观念跟 Cap/Mina 工具不一致,是不是应该更换成 GitLab-CI 或 Jenkins 了?

  • # 后台运行redis容器
    docker run --name app_redis -d redis
    # 后台运行postgres容器, 指定用户名密码
    docker run --name app_postgres -e POSTGRES_PASSWORD=password -e POSTGRES_USER=user -e POSTGRES_DB=app_db -d postgres
    # 后台运行app容器, 环境变量使用.env.docker文件传入, 映射容器的8080端口到本地的8080端口
    docker run --env-file ./.env.docker --link app_redis:redis --link app_postgres:postgres -v /var/www/public/uploads:/app/public/public -v /var/log/app:/app/log --name app_web -p 127.0.0.1:8080:8080 -d embbnux/app
    # 上传assets文件到cdn
    # docker run --env-file ./.env.docker --link app_redis:redis --link app_postgres:postgres --name app_assets --rm embbnux/app rake cdn:upload_assets
    # 运行sidekiq容器
    docker run --env-file ./.env.docker --link app_redis:redis --link app_postgres:postgres -v /var/www/public/uploads:/app/public/public -v /var/log/app:/app/log --name app_sidekiq -d embbnux/app bundle exec sidekiq -C config/sidekiq.yml
    

    这些docker run ...的操作可以组织到 docker-compose.yml 配置文件里,通过 Docker Compose 来管理各个容器的衔接和配置,会不会显得更方便一点?

  • RubyConf China 2016 视频 at 2016年10月28日

    亚飞的演讲很不错,但是视频跟 PPT 不同步啊

  • RubyConf China 2016 视频 at 2016年10月28日

    现在社区工作各种规范,给管理员点个赞!👍

  • Ruby China 2016 纪念拉链帽衫 at 2016年10月25日

    #38 楼 @cqcn1991 我只知道这两个颜色显胖 😅

  • 下单了

  • #19 楼 @rina 恩恩,从开始学习文档,到完成这个 Demo.