嗯这种长长的请求通过 rack 总归是会有些性能不好的,或者用 nginx-upload-module 解决吧
不错哇,虽然这 API 和 angular-ui-router 差不多...
对对对,就是 libsquash
memory-fs 是 https://github.com/webpack/memory-fs , 不过明显没有 libsquash 牛逼
@psvr 这个编译是不是也用一个类似 memory-fs 的东西来 mock 路径?
只对眼瞎的人有好处... 滚一下就看不清滚哪里去了
为了找到重复的字符,很容易想到
(\w).*\1
但是如果某字符出现了 3 次 4 次怎么办?让它匹配最后两次重现就能保证不数重复了
(\w)(?!.*\1.*\1).*\1
我们在用这个正则 count 的时候,最后一个 \1
前面的 .*
包含了其他重现字符的话就会漏掉,那么改成 lookahead 就可以了
(\w)(?=(?!.*\1.*\1).*\1)
在 docker 里装带编译的 npm 包比较不爽。很多都要 node-gyp, 然后 gyp 你知道的还要装 python 这个依赖链下来 image 就变得相当大了
而 gn 是 cxx 的,如果全都换成 gn 可以小而且快不少
这个问题好解决,让 DB 调用一下 row_to_json()
就可以了...
推荐本地编译 assets 然后上传...
我也用了很久 vim, 但现在人老了眼睛不行了 查找不会高亮跳一跳就找不到,滚动不平滑就不知道滚到哪里去了
spacemacs 倒是平滑的
最近也有想换到 spacevim, 但是 macvim 依然不支持 pixel by pixel scroll https://github.com/macvim-dev/macvim/issues/273 难过
你可以用 client.escape
http://www.rubydoc.info/github/brianmario/mysql2/file/README.md#Usage
另外我不知道你的 telegram bot 会否调用 listen() 多次... 如果你也不知道就最好防御性的保证一下...
你看这段代码,如果 str
里带有单引号,简单就出一个错,如果 str
是 "'; drop database ...;"
就注入攻击啦
client = Mysql2::Client.new(:host => "127.0.0.1",
:username => "root",
:password => "XuHefeng",
:database => "javlibrary")
result = client.query("SELECT * FROM video WHERE video.license='#{str}'")
if result.size == 0
client.close
return javlibrary_get(str)
end
出错后,client.close
就不执行了 (后面也同样), 随着时间的推移就会越来越多连接咯
从你的 log 看感觉每个对象都有产生新查询... 我以前用这玩意的时候,也经常自信的觉得 eager load 了,但结果还是会产生 sql 查询,得一步一步的断着找...
不是我的,是 https://github.com/tmm1/ripper-tags
我只是用它代替 ctags 而已
我在 textmate 写了个用 ripper-tags 的自动完成,就几十行代码,所以还是用 textmate ...
磁盘存储和 all in memory 差个数量级也没啥呀
真正想做下去的话,可能得先给数据库增加个列存储引擎先...
这个坑就有点深了... 直接用 redshift 存比较容易...
得看下 sql log, 有可能关联对象还是查了一遍
感觉很 nb 啊,期待哈
现在 Node 也支持这个了... https://www.npmjs.com/package/sql-template-strings
应该没有...
除非你特意写个 included 的 hook 去做检查
我也做过一个把全路由编译成一个 oniguruma 正则,不过这么巨大的正则处理 capture 比较 tricky, 映射到参数的部分只能靠 C API 完成。当然 oniguruma 不是 DFA, 是 DFA 的话就没那么强大的 feature 啦。
现在在做一个 lexer, 用它实现路由更优雅点,类似 awk 的写法,最终能根据情况选择并成一个 DFA 或者类 pikevm... 说回来 mustermann 应该就够快了,路由那点损耗其实很少... 都是白费劲
我猜猜:Erlang 版 linq to sql? 路由能编成一个 DFA?
不过有些 image 没 bash ...
感觉 Dockerfile 已经生成了目录,但是 Dockerfile 没指定 volume, 然后 docker-compose 指定 volume 就把外面的无目录同步进去... 杯具了
这个有时还和操作系统或者缓存有关... 是比较坑的...
记不清了,好像五六年前杭州一次 Ruby Tuesday 见到他讲了 Python ...
好久没见你了!内牛满面
还是 Ruby 更短...
1.upto(100){|i| puts %w[FizzBuzz][i % 15] || %w[Fizz][i % 3] || %w[Buzz][i % 5] || i }
极限是 50 字符完成,留给大家做作业...
可以试试系统的 drop_caches
echo 3 > /proc/sys/vm/drop_caches
1: 释放 pagecache 2: dentries, inodes