@kfll ffi
的问题好像已经合并了。https://github.com/ffi/ffi/pull/843
“粘包”是一个不存在的概念。提出这个概念的人肯定没有理解 TCP。send
不表示把数据作为一个包发出去了,receive
也不表示接收到的一定是一个包。开发者需要自己定义包格式以及解析规则,正好 Protocol Buffers 把这些事都做好了,直接用就好了。
我见过有人为了解决所谓的“粘包”问题,每次 send
之后都来一次 sleep
,以此保证另一端 receive
的时候不会受到多于一个包的数据,显然这是一种非常蠢的做法。之所以用这么蠢的做法,是因为脑子里臆想了一个更蠢的“粘包”概念。
报名
前一段时间正好遇到了这个问题,当时没深入研究,原来是这样的。
production 环境的 assets:precompile
会压缩 JavaScript 代码,压缩代码用的 Uglify 需要解析代码,Uglify 目前还不支持 ES2015 语法,所以就出错了。
本地运行正常是因为 development 环境的 assets:precompile
不会压缩代码。相关的配置是下面这一行代码。
# Compress JavaScripts and CSS.
config.assets.js_compressor = :uglifier
我把 node_modules
加入 linked_dirs
,没遇到什么问题。
LINKED_DIRS = %w(
data
log
tmp/pids tmp/cache tmp/sockets
vendor/assets/bower_components
node_modules
)
set :linked_dirs, fetch(:linked_dirs, []).push(*LINKED_DIRS)
https://github.com/httprb/http 用过这个写爬虫,遇到两个问题:
RestClient
和 Faraday
都有日志功能,可以把实际发送的请求写到日志中,可以检查请求的格式、参数是否正确。net/http
解决的。不知道有没有遇到类似问题的同学,欢迎分享解决方案。
#5 楼 @piecehealth 还是这个最简单,终于找到了类似 Python python -m SimpleHTTPServer
的等价命令。不过那个 -run
总有一种黑魔法的感觉,-r un
简写成 -run
会让初学者迷惑吧。
% ping gems.ruby-china.org ➜
PING 12f7b4-0.ca.1251971244.clb.myqcloud.com (45.113.69.41): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2
Request timeout for icmp_seq 3
Request timeout for icmp_seq 4
Request timeout for icmp_seq 5
Request timeout for icmp_seq 6
Request timeout for icmp_seq 7
Request timeout for icmp_seq 8
Request timeout for icmp_seq 9
^C
--- 12f7b4-0.ca.1251971244.clb.myqcloud.com ping statistics ---
11 packets transmitted, 0 packets received, 100.0% packet loss
上海长城宽带,ping
都不通,但是 https://gems.ruby-china.org/
可以勉强打开。这种情况应该是联系长城宽带还是联系腾讯云,哪种方案更容易解决问题?
helper 里面的那些方法本意是在 View 层使用的。可能 Rails 觉得这种情况下写法的便利性更优先,于是就把避免命名冲突的责任交个程序员自己了。
gsub
会修改 $2
,那么你在 gsub
之前用一个变量把 $2
保存下来不就好了。String#match
或 Regex#match
会好得多。
``` ruby
DATA.each do |line |
match_data = line.match /(\d+,\d+)\s+(.*)/
number = match_data[1].gsub(",", "")
file = match_data[2]puts "#{file}\t#{number}" end
- `9.chr` 这种写法还真没见过, `"\t"` 不好吗?`puts` 的输出结果每个参数都是单独一行,这样的格式是你真正想要的?
- 这个问题貌似压根就不需要用正则表达式,用 `String#split` 不就好了。
除了 ActiveRecord 的保留字,有时和 Ruby 的方法重名也会有问题。原来遇到过字段名是 format
,结果貌似和 Kernel#format 方法冲突了。
七牛云携手专注于图像识别技术的图普科技推出了图片鉴黄服务(nrop)
,这鉴黄服务的名字真别致。
'porn'.reverse
#30 楼 @MrPasserby 你这个链接要登录以后才能看,要登录就要先注册,要注册貌似要答题,不知道现在是不是这样。
( ゜- ゜) つロ 乾杯~
#7 楼 @chairy11 simple_form_fancy_uploads 提供的功能是如果对应的属性是 CarrierWave 上传的图片那么显示出来。simple_form_fancier_uploads
要与 simple_form_fancy_uploads
一起用,提供上传前预览的功能。好吧,那个其实是我前几天写的,如果你不想多引入一个 gem 那就把这段代码复制吧。
$(document).on('ready page:load', function() {
$('input[type=file]').change(function() {
previewImage(this);
});
var previewImage = function(input) {
var files = input.files;
if (files && files[0]) {
var image = files[0];
var fileReader = new FileReader();
fileReader.onload = function(event) {
var dataURL = event.target.result;
var imageTag = $(input).parent().find('img');
if (imageTag.length == 0) {
imageTag = $('<img>');
imageTag.insertBefore($(input));
}
if (!imageTag.attr('width')) {
imageTag.attr('width', '100%');
}
imageTag.attr('src', dataURL);
};
fileReader.readAsDataURL(image);
}
};
});
simple_form_fancy_uploads
这个 gem 实现你问题二中代码的功能。然后再用引入 simple_form_fancier_uploads
这个 gem 实现上传前预览图片。
https://github.com/teeceepee/simple_form_fancier_uploads
蚊香也分好多种啊。
蚊香的驱蚊原理就是靠毒性,既然那么在意毒性,推荐使用无毒无味、人畜无害、风流倜傥、绝对蚊子第一选择的 我
,保证睡得安心,睡得放心,无效全额退人。
感谢分享。这下纸质版可以安心当垫子了。
DHH 在将 ActionCable 时举了一个例子,貌似都是些奇怪的邮件。
点了下 Pick One,出来一道在二维矩阵中查找的,有了思路准备写的时候发现不支持 Ruby,换了道题,还是没有 Ruby 的,第三次才找到一道支持 Ruby 的。
因为小拇指按 ctrl 太多导致 XXX 病
,用小指指根或者直接用手掌按 Ctrl 键什么病也没有。