Ruby China
  • 社区
  • 招聘
  • Wiki
  • 酷站
  • Gems
  • 注册
  • 登录
Whyme Lyu
@5long
高级会员
第 2970 位会员 / 2012-07-22

[email protected]
Unemployed
北京
10 篇帖子 / 283 条回帖
10 关注者
0 正在关注
0 收藏
Huh?
GitHub Public Repos
  • forwardable 45

    Porting Ruby's Forwardable module to Python

  • dotfiles 19

    not needed

  • p3wm 16

    Three-way merge .pacnew file

  • pytest-vim-compiler 8

    :compiler pytest for Vim

  • blive 7

    Utilities for BiliBili live streaming service

  • imdi.nvim 4

    Input Method DBus Integration for Neovim

  • is-arch-broken 3

  • 5long.github.io 2

    Blog

  • ouey 1

  • tldr 0

    📚 Collaborative cheatsheets for console commands

More on GitHub
  • 概况
  • 话题
  • 回帖
  • 收藏
  • 正在关注
  • 关注者
  • centos yum intall 为什么会安装 i386 和 x86_64 两种类型的包? at 2012年10月04日

    执行一下 arch 命令,看看输出结果是什么。因为 64bit 的硬件上也可以跑 32bit 的系统。可能是装系统的时候不小心装错了。

    另外 yum install 装东西时的命令和输出可以贴一下吗?最好能贴到这里:https://gist.github.com/ 而不是直接贴到回复里。

  • 请教一个困扰我很久的问题. (有关 shell 下快捷键 rebinding) at 2012年10月01日

    看 man 3 readline, 可以把配置写在 ~/.inputrc 里。这样所有使用 readline 的 repl 都可以享受之。

    我只写了很少的配置,重点还是为了启用 edit-mode vi: https://github.com/5long/dotfiles/blob/master/inputrc

  • 如何初始化一个二维数组? at 2012年09月20日

    #8 楼 @lgn21st

    row, col, val = 8, 8, 0
    Array.new(row * col){val}.each_slice(col).to_a
    

    免去变量助记,也是一行。

  • 如何初始化一个二维数组? at 2012年09月19日
    require 'matrix'
    m = Matrix.zero(8).to_a
    

    之前的 Matrix.build 在 1.8 还没有。

  • 如何初始化一个二维数组? at 2012年09月19日
    require 'matrix'
    m = Matrix.build(8, 8){0}.to_a
    
  • 求助一下 at 2012年09月19日

    完整看了一下 pull request 的讨论,对方的意思是说:测试与文档是被 merge 的必要条件,而非充分条件。目前看来恐怕连提议被采纳的机会都不大,因为提倡的用法是 Rails.env.test?... 所以在确认可能 merge 之前连文档都懒得写。- -

  • 请教一则 Rails uniqueness validates 的问题 at 2012年09月18日

    文档里有这个:http://guides.rubyonrails.org/active_record_validations_callbacks.html#using-a-symbol-with-if-and-unless

    不过这个业务逻辑看上去有些奇怪,确定不是陷入了这种境地么:http://mywiki.wooledge.org/XyProblem

  • 关于 version 1.9 之后废弃了 String 类的 grep 实例方法后的如何实现相同功能 at 2012年09月18日

    String#match 也可以接受 block 参数。http://ruby-doc.org/core-1.9.3/String.html#method-i-match

  • 一个困扰很久有关 Linux 下 Emacs 和 输入法 的问题. at 2012年09月17日

    #16 楼 @zw963

    Archlinux 对 32bit/64bit 库并存的支持还不错,我直接启用 Arch 官方的 multilib repo, 装上 Skype 就能用。

    至于 ~/.xinitrc 和 ~/.profile: 有些登录管理器 (GDM) 会去读 ~/.profile, 但 Slim 目前不会,需要你显式地去 source 加载。

  • 一个困扰很久有关 Linux 下 Emacs 和 输入法 的问题. at 2012年09月17日

    我不是很确定这个问题跟我遇到的是否一样... 我之前在 Skype 里没法启动输入法,后来发现是因为 Skype 没法从拿到输入法配置 (亦即,不知道 ibus 的存在)

    这些环境变量要在登录到 X 环境的主进程设置~ 我用的 X 登录管理器是 [Slim], 登录时默认会执行 ~/.xinitrc, 然后在 ~/.xinitrc 的开头要把环境变量设定好,再启动 window manager 就好。~/.xinitrc 的简单结构如下:

    # 先设置环境变量
    export GTK_IM_MODULE=ibus
    export QT_IM_MODULE=ibus # Skype 是个 qt app.
    export XMODIFIER="@im=ibus"
    
    ibus-daemon -xrRd # 启动输入法框架的 daemon
    # 顺便启动其它需要在登录时启动的应用, 比如 xcompmgr
    openbox-session # 真正启动 wm/de
    

    接下来再启动的进程都会从 openbox-session 进程继承环境变量,就能读到这个配置了。

    放在 ~/.bashrc 里是不行的。尽管 ~/.xinitrc 是 bash 脚本,但这个文件被登录管理器执行时并不是交互式地启动 bash, 那么 bash 就不会加载这个文件。所以在 ~/.bashrc 里设置的环境变量就只对桌面环境里启动的 terminal 有效,也就需要在 terminal 里再启动 Skype 才能读到 ~/.bashrc 里设置的环境变量。

    供参考。

    [slim]: https://wiki.archlinux.org/index.php/Slim

  • 你們的開發環境是怎麼樣的? 我感覺很混亂。 at 2012年09月16日

    先说无关于项目的:

    • 一个 Terminal 只开 tmux, 这个 terminal 用 WinKey + ` 可以随时呼出
      • SSH 进 Vagrant 搭建的开发环境
        • SSH 进去之后也是一个 tmux...
      • weechat
      • 按需增减 tmux window.
    • 聊天工具,团队沟通用~ {4}
    • Thunderbird {5}
    • 1-3 个浏览器用来刷页面测试,~按业务需要来开。优先级是:
      • Chromium {3}
      • Chrome {2}
      • Firefox {1}
    • 若干 Windoz 虚拟机用来测浏览器兼容性...... {7}{8}{9}

    前面的 {n} 表示应用所处虚拟桌面的位置,WinKey + 1-9 用来切换虚拟桌面~ 每个虚拟桌面上放固定的应用,完成固定的任务,这样也就可以养成习惯了。

    注意 5 和 6 比较难按到,所以 5 放 email client, 自然抑制拖延症; 6 不放东西 (因为最难按...)

    呼出 terminal 时处于"写代码模式", 隐藏时处于"其他模式". 嗯我是典型的 Vim 中毒。

    进入写代码模式就依赖 tmux 在应用间切换,属于项目特有的应用都在虚拟机的 tmux 里。按照 window 顺序:

    • 垂直分割的 Vim
      • 需要用 Git 等工具的时候 Ctrl-Z, 严肃地考虑装 fugitive.vim
    • 一个 tmux window 也是垂直分割
      • 一个用来重启服务之类的
      • 一个专门看服务器日志
    • 然后按需增减 tmux window

    大致这样。其实也很复杂,只比 lz 的少了两类切换:

    • 开 3 个浏览器,所以 Ctrl + 1-9 肯定够用
    • 不需要考虑在同个桌面内切换多个应用 -- 因为一个桌面只有一个...
    • tmux 切换 window 相当于 lz 的 iTerm 切换 tab, 扯平。

    最近有在考虑尝试 tmuxinator, 而不是总要"按需增减 window"

    EDIT: 修正嵌套列表层级~

  • Emacs 24 使用 GTK+ 经常会死机 (你们是怎么解决的?) at 2012年09月10日

    #14 楼 @zw963 awesome 是个完整的 tiling wm 而不是你期望的独立于 wm 的小工具。

    http://dwm.suckless.org/ 这个应该是依赖最少的 tiling wm 了吧...

  • 单独开贴收集下还在坚持被 Emacs 和 Linux 蹂躏的 `古董'们 at 2012年09月06日

    Archlinux 用户一枚~

  • 建议把这个小贴士去掉吧. at 2012年09月01日

    其实我真心希望支持 mac 的同学能列出类似这种贴近主题 (亦即 Ruby / Rails) 的例子来:

    http://yehudakatz.com/2012/06/05/tokaido-status-update-implementation-details/
    http://railsinstaller.org/

  • RubyConfChina 2012 预热帖 at 2012年09月01日

    拜托一定要录视频 - -

  • [北京][2012年09月01日] Ruby 活动公告 at 2012年09月01日

    犯懒了没去 - - 只能自己默默喝啤酒了。

    话说上次聚会最后的喝酒合影还没拿到。

  • 关于 sinatra 路由问题 at 2012年08月23日

    文档里有:http://www.sinatrarb.com/intro.html#Passing

  • 多台服务器同步配置文件 at 2012年08月21日

    这个领域叫配置管理,专门做运维的会比较熟悉。

    CFEngine, Puppet 和 Chef 是比较流行的选择。不过这些工具都要求自己搭建中央服务器,然后所有受控的机器主动去 pull。不符合 lz 期望的 push 架构 (如果我对 通过ssh同步 的揣测正确的话)。

    Puppet 和 Chef 也可以不用这种架构 (puppet apply 和 chef-solo),不过看上去似乎不是"地道"的用法。

    当然现在市面上也有 push 架构的 CM 工具出现:http://palletops.com/ http://www.nico.schottelius.org/software/cdist/

  • 谁说 Ubuntu 好用? at 2012年08月20日

    实在没时间就别折腾了。回到 windows/mac 下面用这个吧:http://railsinstaller.org/

  • 请问 jekyll 服务器搭建 at 2012年08月19日

    --auto 是自动的没错。但 jekyll --server 估计不是为生产环境所设计的。不然应该不会写死使用 WEBrick.

    lz 想达到的目的是不是"本地只看 markdown 语法正确,不预览 html, rsync到服务器之后让服务器生成 html"? 简单的方案是每次更新之后临时 ssh 上去跑一下 jekyll --no-server --no-auto 就好。

    稍微复杂一点的话,在服务器端也用 git clone 拿到一份代码,然后编辑服务器端仓库里的 .git/config 文件,按照 git help config 里的说明改一下 receive.denyCurrentBranch 配置,允许你从本地 push 到这个 remote 用来部署。然后再写个 git post-update hook 去跑 jekyll. 这样用起来就类似 github pages 了。

    EDIT: 调整用词

  • Rails 适合做 Linux 系统管理方面的系统吗? at 2012年08月16日

    如果你需要实现的功能大致等同于"ssh 到机器上执行事先定义好的常见的任务", 那么不妨看看 Capistrano: https://github.com/capistrano/capistrano

    假如只是自己做着练手,无所谓适合与否,慢慢折腾就是了。

  • [北京][2012年08月11日] Ruby 活动公告 + 媒体资料 + 小结 at 2012年08月02日

    居然掉到第 3 页了... 我不是很确定在这个社区对“纯顶”的态度如何,不过这种实效性太强,对社区又太重要的帖子是不是有必要固定放到稍微显眼的位置上 (现有的右侧那个置顶就算了...)

  • [北京][2012年08月11日] Ruby 活动公告 + 媒体资料 + 小结 at 2012年08月01日

    报名。

  • rails 中继承过来的 controller 中的有些 action 需要屏蔽,怎么做? at 2012年07月22日

    @kikyous 文档里有 http://guides.rubyonrails.org/routing.html#restricting-the-routes-created

  • Rails.vim 高效使用指南 at 2012年07月22日

    以前没觉得 rails.vim 有什么大用,浏览文件一路 Command-T 了事 - - 经历了大一点的项目之后感觉还是有必要准备一些特定于 framework 的技巧。很感谢 LZ 按照使用经验挑常用的介绍~

    注释/反注释代码我用的是 tComment. 它提供的gc 和 gC 命令支持用 motion 来指定需要处理的文本范围。跟内置的 d 命令等用起来一个感觉。不妨试试。当然如果你习惯先进入 Visual Mode 选取代码然后再下命令,tComment 也是支持的。

    再 nitpick 一个:C 命令的作用相当于 D 然后再按 A. 文中所描述的行为应该是 cc 或者 S.

  • Rails.vim 高效使用指南 at 2012年07月22日

    把标识标题的 #### 后面加个空格吧 - - 有些 Markdown Parser 比较宽松所以有时依然能正常显示。

  • Rails 项目部署太复杂,或许可以搞个一站式的软件,直接快速部署 at 2012年07月22日

    我来稍微解释一下 Vagrant 方案吧。[是 Vagrant 不是 vargrant]

    简单说 Vagrant 是个 VirtualBox CLI Wrapper. 它负责导入 Virtualbox 镜像 (需要符合 Vagrant 的基本要求,包括装好 Puppet & Chef 等,称之为 Basebox), 然后驱动 Puppet/Chef/Shell 来在虚拟机里搭建环境。这里所使用的 Puppet/Chef 代码可以跟生产环境所使用的代码复用,在生产环境是不用这个东西的。@huacnlee

    这里实际搭建环境的工作还是由 Puppet/Chef 来完成,属于偏运维的知识,学学无妨。

    @Peter Basebox 的系统可以自己构建时任意选择,也可以拿社区提供的来用: http://www.vagrantbox.es/ 你看到的 Ubuntu 10.04 应该是官方文档的范例,实际具体支持的系统可以看这里: https://github.com/mitchellh/vagrant/tree/1-0-stable/lib/vagrant/guest

    如果不是资源实在紧张,虚拟机可以避免维护者去趟"抹平若干系统不一致"这趟混水。缺点就是要下载的东西实在有点多,照顾入门新手的话可能人家很快就没耐性了。

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