Ruby China
  • 社区
  • 招聘
  • Wiki
  • 酷站
  • Gems
  • 注册
  • 登录
Zete
@luikore
高级会员
第 2880 位会员 / 2012-07-16

55 篇帖子 / 3422 条回帖
245 关注者
6 正在关注
32 收藏
GitHub Public Repos
  • triez 140

    fast, efficient, unicode aware HAT trie with prefix / suffix support for Ruby

  • rsec 78

    Parser / Regexp Combinator For Ruby

  • regexp_optimized_union 11

    Regexp.optimized_union(word_list, regexp_options) generates optimized regexp for matching union o...

  • zscan 9

    Improved string scanner

  • stimulus-bind 9

    Enable simple data binding for stimulusjs

  • vscode-hypertab 3

    The Missing Tab Completion for VS Code

  • property-list 1

    Property list (plist) library with all formats support

  • keycap 1

    1.5u keycap for Kailh low profile switch

  • ffi-clang 0

    Ruby FFI bindings for libclang 3.4+.

  • llvm-node 0

    Node LLVM 4.0+ Bindings

More on GitHub
  • 概况
  • 话题
  • 回帖
  • 收藏
  • 正在关注
  • 关注者
  • Ruby 2.4 哈希表 (Hash) 的变化 at 2017年05月30日

    哈希表经常会碰到冲突的问题:两个不同的键值的哈希值碰巧相同了。

    以前的冲突解决办法是,把坑位改成链表,把所有冲突的值用链表串起来

    但在 64 位宽的机器上,一个指针占 8 个字节的空间,链表的空间消耗就比较大了

  • PostgreSQL 在 Mac 上有没有免费好用的客户端? at 2017年03月30日

    多年前收藏了一个 navicat 免费版,差不多够用了...

  • 容器化,你并不需要三个模式 (环境) at 2017年03月19日

    我改了一个文件,reload 它需要的时间是毫秒级的,重启容器就太麻烦了...

  • 邮箱里的一道题目, 有没有好的算法. at 2017年03月17日

    另外一个办法 (其实更简单点...) 是按背包问题的方法做...

  • 邮箱里的一道题目, 有没有好的算法. at 2017年03月17日

    这是个最优化问题,可以用 MILP 解决

    设 Talk input i 的事件段是从 b_i 开始,时长为 L_i

    Lunch 是个特殊事件,可以设 b_0 = 12:00, L_0 = 60min

    对于 Networking event, 可以设 4:00 <= b_n <= 5:00

    我们还可以引入一系列变量 x_ij, 如果 i 事件后如果紧接是 j 事件,那么 x_ij = 1, 否则 x_ij = 0

    那么我们有:

    \sigma_{i}{x_ij} = 1
    \sigma_{j}{x_ij} = 1
    x_ij (b_j - b_i - L_i) >= 0                 (*)
    b_i >= 9:00
    b_i + L_i <= b_n       (都在 networking event 前面)
    binary x_ij
    

    对于式子 (*), 它是非线性的,怎么办呢?

    https://download.aimms.com/aimms/download/manuals/AIMMS3OM_IntegerProgrammingTricks.pdf 里有介绍怎么把它写成线性的

    然后把这些约束都放到 solver 求解,如果出现 subtour (事件排成一个圈), 动态添加一个约束,直到最后得出一个解。

    上面解决了一天内排日程的问题,如果要排很多天怎么办?可以把第二天的 Lunch 和 Networking 都 +24:00, 然后在两天之间塞进一个 Rest 事件解决。

  • Ruby 2.4 哈希表 (Hash) 的变化 at 2017年03月17日

    Open addressing 可以减少 hash 碰撞情况下的内存占用 (不需要海量内存来存指针啦), 少了指针跳转减少 CPU cache miss

    Open addressing 探测下一个可用 slot 的方式叫 probing.

    Pseudo random probing 相比最简单的 linear probing, 可以减少 worst case probing 的遍历 (这种情况叫 primary clustering), 但是也有可能会增加一丢丢 cache miss ...

    对 Ruby 里大量出现的小哈希表来说,基本没影响

    风险是... 不知道会不会带来新的 hashDos...

  • 容器化,你并不需要三个模式 (环境) at 2017年03月17日

    你目的是尽量减少各环境的差别,但是它们还是有区别的

    开发环境的基本需求就是改一点就马上能看到一点效果. 对于 Rails 来说,可以 eager load 然后通过监听文件系统事件来重载对应文件 (就和 webpack 一样), 这样开发环境和生产环境就都能统一到 eager load 了。

    Docker 这一套在 Linux 上开发是最流畅的。但你如果换别的操作系统,在容器里文件系统事件往往比原生事件慢几百倍,甚至还不一定有文件系统事件 ... 在容器开发只能回到 lazy load... 这时不在容器开发反而可以更容易一致...

    我觉得容器更适合做编译型语言的开发,尤其是做不了热重载的语言。而虚拟机语言其实和容器是有不少功能重复的地方的

  • SVG 與 Canvas:如何選擇? at 2017年02月27日

    Canvas 好,写 shader 才能流畅

  • ActionStore - 一步到位的 Like, Follow, Star, Block ... 等动作的解决方案 at 2017年02月10日

    其实用 pg 的 LISTEN / UNLISTEN / NOTIFY 语句做订阅说不定更高效

  • midori 百日记 at 2017年01月17日

    其实现在纯线程可以解决 c10k 了,不过每个线程栈非常小 -- 其实就和 Fiber 相差不多. 我觉得线程是比较容易做对出东西的,但是 Ruby 的线程栈不好做小... 所以在做个能把栈弄小的语言...

  • How to connect Docker to CoreOS in Veertu at 2017年01月12日

    这是个在 Mac 上用 Docker 的方案

    台式机或者虚拟机 linux, 在 Mac 上通过 Veertu 远程执行各种 docker 命令,然后目录通过 sshfs/osxfuse 挂载到 Mac 上

    看起来有点复杂,但其实比官方的 Docker for Mac 坑少...

  • jbuilder vs active_model_serializers at 2017年01月11日

    #20 楼 @huacnlee 缓存 cache(...) { ... } 就好了,也不关模板的事

  • jbuilder vs active_model_serializers at 2017年01月10日

    觉得 jb 更好,那些 dsl 没必要...

  • 网络请求长字符串有没有什么方法压缩? at 2017年01月10日

    最简单的解决办法是:夹沟一下减少些请求量,或者让它不需要返回这么多

  • 实现一个代码补全的思路 at 2017年01月06日

    RubyMine 就是类似这样实现补全的,不过它不用起 pry

  • Window 10 下的开发 Rails at 2017年01月04日

    Docker for Windows 坑也挺多的,例如可执行文件的属性没有啦,git clone 回来的换行符被转了啊之类的

  • 模拟 curl 的请求 sock.gets 很长时间才得到响应,但是 curl 很快就返回结果 at 2016年12月27日

    #2 楼 @tablecell 有区别,close 了 write 但没 close read.

  • 模拟 curl 的请求 sock.gets 很长时间才得到响应,但是 curl 很快就返回结果 at 2016年12月25日

    你可以先 sock.close_write 再读,马上就能读到 EOF.

    不然只能按照 HTTP 协议的,解析响应 header 的 Content-Length 来读。

  • mysql 用 int 值 select varchar 字段,结果查出来了所有结果 at 2016年12月25日

    我给两个简易的解决建议... :

    A: 换 pg B: 换工作

  • APIJson,类似 GraphQL,大家评估一下 at 2016年12月25日

    还有个 JsonAPI, 都不看好

  • [上海] Autodesk 公司招聘 Ruby on Rails 高级工程师 1 名 at 2016年12月06日

    #7 楼 @jasl 现在小朋友都很厉害,打不过 😳

  • [上海] Autodesk 公司招聘 Ruby on Rails 高级工程师 1 名 at 2016年12月06日

    上次招了我,这次给我招同事...

  • Ruby 中读取大文件 at 2016年12月01日

    如果你前面的行不删掉,内存不删掉,那还不如全部一次性读出来...

    mmap 的读取方式其实效率更高,把文件做内存映射,然后操作系统去优化,如果没必要就不会全部读进内存里

  • Rails 配置 Webpack 终极篇 at 2016年11月25日

    能混用的啊

    sass-loader 的选项会直接传给 node-sass, 你需要这两个:

    • functions, 然后在里面添加一个 asset-url 做处理
    • includePaths, 可以指定在哪里找 -- 这个地方你可以把各种 bundle show xxx_gem + '/app/assets/stylesheets' 的结果传给它
  • ruby 的 TCPSocket 用 read/write 不能通信,用 gets/puts 就可以 at 2016年10月31日

    @tablecell 这里你没法用 eof? 去查,因为只要连接没关闭它都还没 eof, 但是作为一个 http 请求,客户端还在等响应,客户端不会现在就关请求的

  • 小菜鸟刷 LeetCode,第一道题就栽了。不过我怀疑是 LeetCode 解释器的问题 at 2016年10月27日

    没问题的呀

  • 这,就是技术人的江湖 at 2016年10月27日

    受宠若惊... 忙起身灌水

  • 不写测试代码 at 2016年10月17日

    可能售后的工资比较便宜...

  • Yarn: A new package manager for JavaScript at 2016年10月13日

    #11 楼 @Saito 可以把这些 small focused module 全部 concat 成一个包,叫 big-focused-module ...

    最理想的包管理应该是支持两种 dependency:

    • 一种是计算出一套相容的 package version, 载源文件
    • 如果实在没法相容,可以选择让某些 package 直接载编译好的而不载入源文件

    但如果一个包有全局副作用,就不能允许它多个版本同时存在了...

  • Teahour.fm 第 17 期发布,访谈嘉宾 @luikore 和 @skandhas at 2016年09月18日

    #51 楼 @flowerwrong 域名应该到期了被人抢注了吧...

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