刚醒悟过来你们说的可能是 kv 与 kv 间隔的逗号而不是数组里的逗号。
space
选项不知道是文档没写好还是代码没写好,我看了下 ruby 逻辑,目前是只对 :
生效的。
https://github.com/ruby/ruby/blob/ruby_2_5/ext/json/generator/generator.c#L923
看 github 代码 state->space
只是 append 到 object_delim2 (:),没有 append 到 object_delim (,) 和 array_delim (,) 。
ruby 确实没有提供选项可以把 [1,2,3]
=> [1, 2, 3]
,有个 array_nl
不过会在方括号内侧也加上空格:
irb(main):004:0> JSON.generate({ "key": [1, 2, 3] }, ascii_only: true, space: ' ')
"{\"key\": [1,2,3]}"
irb(main):005:0> JSON.generate({ "key": [1, 2, 3] }, ascii_only: true, space: ' ', array_nl: ' ')
"{\"key\": [ 1, 2, 3 ]}"
这样与 python 结果还是不一样。
gsub(',', ', ')
是个简单可行的办法,前提是不考虑对内容本身自带 ,
的影响。
list1.each do |a|
next if list2.any?{ |b| a.include?(b) }
# 后续操作
end
@Rei 的方法可以
irb(main):032:0> Digest::SHA256.hexdigest JSON.generate({ "key": '爱你' }, ascii_only: true, space: ' ')
"981727d14419aedca58b2e719b4a9ff94cf20ef91e02c9cd22e7ee6f5744f630"
loop do
key = generate_unique_key
break key if db_not_exists?(key)
end
简单粗暴
通常渠道不是申请后经同意才安装么?
有想法可以在 ruby issues 提交 proposal https://bugs.ruby-lang.org/issues
开源中国不是在深圳吗?
清华的可能是基于 gem mirror 的全量镜像 https://github.com/tuna/issues/issues/41
xmind 就是一个典型的脑图工具,简单好用,macos 用 xmind zen/2020 版本纵享丝滑。对于新项目设计 model 结构还是很方便的。对于历史项目导入 sql 结构这部分倒是没有研究过。另外 xmind 不支持团队协作编辑。
drawerd 对标的更像是 https://processon.com 。
setapp 是个好东西,可惜只有 xmind 8,没有 xmind zen。setapp 如果用到其中五个以上应用一般都值回订阅费用了。https://setapp.com/apps
建议多抓鱼回收,省事。回收价格一般在定价的一两折,以及有些书不收。
概括起来其实就三点 (ST = Bar.singleton_class):
Bar extend Foo
把 Foo
放在了 Bar.singleton_class.ancestors
里ST.class_variables
在 2.6 遍历 ST
和 ST.ancestors
ST.class_variables
在 2.7 遍历 Bar
和 Bar.ancestors
Ruby 2.7.0 修改了 A.singleton_class.class_variables
的逻辑。我针对类变量查找做了些研究,总结较长,单独发了一个帖子在 https://ruby-china.org/topics/39628
源码没排版好。缩进错乱的 Python 代码是没有生命的。
试了下单独搜索“服”或“务”字皆可重现
试试在有网络的环境上使用 rbenv gem install 完,然后把整个 ~/.rbenv 目录复制过去。我自己没这样处理过,不知道 build native extension 的 gem 会不会有问题。
最好的方法当然是接上网络。
排版不兼容,可能用了带自定义语法的 markdown 编辑器
@jonathanforley97 No offence, but how do you get to do site advertisting at here?
没留意到是 buster,你把 printf 那行的 stretch 全部替换成 buster 试试
试试在 apt-get update 前修改为国内的 debian mirror:
RUN cp /etc/apt/sources.list /etc/apt/sources.list.backup
RUN printf "deb http://mirrors.aliyun.com/debian stretch main \ndeb http://mirrors.aliyun.com/debian stretch-updates main \ndeb http://mirrors.aliyun.com/debian-security stretch/updates main\n" | cat - /etc/apt/sources.list.backup > /etc/apt/sources.list
以上代码未在 docker 测试,仅供参考思路
在 names.each 内原位移除 names 元素 X 会导致下一个元素 Y 位置发生前移而导致元素 Y 被跳过,ruby 对这种场景不会提示错误。
例一里 王八 被 reject! 后,王九 成了 x[0] ,李大 成了 x[1],所以 王八 之后的下次循环处理的是 李大 ,王九 被保留下来。
例二里看起来正确是因为 delete 2 后跳过了 3 刚好又处理到 4,所以 2 和 4 都被删除了。如果用 [1, 2, 4, 3, 5] 测试,结果会是 [1,4,3,5] 。
一个可行的写法是 illegit_surnames = ['王', '李']; names.reject! { |x| illegit_surnames.include?(x[0]) }
PG 获取一年的开始可以用 date_trunc('year', now())
,应该是没有 date
函数。
线上环境跟开发环境最好用同样的数据库,避免掉类似的兼容性问题
这个站内搜索基于 Elasticsearch 做的。参考 PR: https://github.com/ruby-china/homeland/pull/531/files
汉语或者英语都没问题,两种语言都有过远程协作经验
searchkick 集成和使用比较简单
把 Gemfile 里的 rails 改成 5.2,然后 bundle update rails,应该会出错,根据出错信息再修改相关 gem 的版本,继续 bundle update,继续修改,如此继续……
看了下 sqlserver gem 的 6-0-dev 分支是 draft 状态,也好几个月没更新了,不知道是不是可用的代码
目前想找有中国成员的团队
谢谢,已投。
这种场景一般是 fork gem 然后做一些针对性修复以使得 gem 可以应用在新版 rails,或许顺便还可以给 gem 提个 pull request。另外降级 rails 可能会导致其他较新的 gem 出问题。
如果确实要降级,可以先修改 Gemfile 里的版本号,然后试试 bundle update rails,再然后针对出现的依赖错误一个个的修改。
如果期望掌控任务相关的所有数据,redmine 还是个好选择。不然的话考虑 teambition/trello 等第三方服务,不用自己维护,功能也更齐全,缺点就是项目多了想导出数据自行备份不方便