完全不需要去办公室。
极狐公司的投资方包括 GitLab 公司,具体可以参考这篇文章 https://mp.weixin.qq.com/s/jgBXL9bJlv7pFkCDMPbRHg
错略的讲,IO 密集的用 Thread 就够了,如果发现 CPU 的单核成了瓶颈,切换到 Ractor. 如果是 CPU 密集的,选 Ractor.
想请教一下关于市场部门的临时需求,跟业务的主线需求有分歧的时候,怎么编排代码会比较好?
在 rails5.2 里可以这样写:
# ...
module ClassMethods
def search_by_game_name(name)
puts "search_by_game_name(#{name})"
end
end
# ...
或者
# ...
class_methods do
def search_by_game_name(name)
puts "search_by_game_name(#{name})"
end
end
# ...
如果只是混入实例方法的话,普通的模块就够用了,就算被引入的模块有多层 include 也没关系。 如果要考虑 extend, 而且还涉及多个层次的模块,这才是 Concern 的用武之地。
原来如此,感谢!!!
@liukun_lk @IChou 谢谢讲解 !!!
请问有木有办法写成一句话呢?不占用额外的方法名
大家都是成年人,有自己的判断和选择。
可以讨论问题,不要 judge 别人,谢谢。
上海
笔记一则:
class Gear
# 车轮的抽象数据结构
Wheel = Struct.new(:rim, :tire)
# 整理输入数据
def wheelify(data)
data.collect do |per|
Wheel.new(per[0], per[1])
end
end
attr_reader :wheels
def initialize(data)
@wheels = wheelify data
end
def diameters
wheels.collect { |wheel| diameter wheel }
end
# 计算车轮直径
def diameter(wheel)
wheel.rim + (wheel.tire * 2)
end
end
input = [
[622, 20],
[622, 23],
[559, 30],
[559, 40],
]
p Gear.new(input).diameters
=begin
此时的 Wheel 还没有必要单独抽出来, 用 Struct 是一个方便当下又面向未来的方法.
依赖行为而不依赖数据: 使用存取器而不是直接操作实例变量.
隐藏具体的数据结构: 将输入数据的格式处理单独封装, 将无语义的数据索引转化为有语义的属性值.
=end
不好意思,我一开始对 proc 的上下文理解错了。这样就明白了
def func(array, &block)
v = 1
array.each do |ele|
block.call(ele)
end
end
fruits = ["banana", "apple", "pear"]
v = 2
func(fruits) do |f|
return (p v) if f=="pear"
# next if f=="pear"
puts "i like" + f.capitalize
end
=begin
i likeBanana
i likeApple
2
main.rb:22:in `block in <main>': unexpected return (LocalJumpError)
=end
之前读相关内容做的笔记 https://ruby-china.org/topics/34062
当年毕业季的时候也做过类似的产品 😂😂😂 结果爆款大卖,无人定制 🌚
def func(array, &block)
array.each do |ele|
block.call(ele)
end
end
fruits = ["banana", "apple", "pear"]
func(fruits) do |f|
# return if f=="pear"
next if f=="pear"
puts "i like" + f.capitalize
end
请教各位,如果使用注释里的 return 的写法,就报 unexpected return (LocalJumpError)
, 怎么解释呢?
同一个 session 周期内,token 是不变的
max_bottom_edge = (ARGV[0].chomp.to_i rescue 3)
# only support for odd number
if max_bottom_edge & 1 == 0
max_bottom_edge += 1
end
level = (max_bottom_edge +1) / 2
for i in 1..level
# spaces
(level-i).times do
print(" ")
end
(i*2-1).times do
print("*")
end
print("\n")
end
=begin
$ ruby main.rb 29
*
***
*****
*******
*********
***********
*************
***************
*****************
*******************
*********************
***********************
*************************
***************************
*****************************
=end
网站有一个 welcome 页面,是独立设计的,跟其他页面差别很大,我是这样做的:
在 assets/javascript
中新建 welcome.js
,
在 application.js
按需引入
添加预处理配置:config/initializers/assets.rb
Rails.application.config.assets.precompile += %w( welcome.js welcome.css )
``
哦哦,谢谢。之前确实不知道这个样式,现在改成这样了:
$("#create_tube").click(function () {
$("#create_tube .fa-plus").addClass("fa-pulse");
$(this).addClass("disabled"); //with CSS: pointer-events: none;
});
上面提到的问题:给 html 加 disabled 属性,点击收不到请求,请问这个怎么解释?
楼主能不能帮忙解释一下最近币值和美股的联动关系?
将这个方案迁移应用到终身责任制的领域会不会更有效,比如建筑施工,比如司法判定,比如历史档案,比如上市公司财务。
在不考虑成本的情况下,如果把每个人的言行都上链,世界会更好吗?或许不会。
赞,已下单
您好,请问: 按楼主说的情况,第三方的 JS 写入 Cookie, 被限制到那个第三方的 domain 下面,请求自己的页面是不携带这些写入信息的吧. 为什么还会出现楼主说的问题呢?
数字习惯每四位分隔一次,如何用 number_to_currency 实现这个功能呢?
在用户数据入库前就 html_escape 会不会更好呢? 毕竟处理输入时会格外注意这些,而且处理输入的频次要远远低于处理展示的频次
👍 👍 👍 就是看这本书入的门
楼主最后一段有笔误,应该是 created_at.localtime.to_s(:db)
.
我的做法是在数据库统一使用 UTC 时间,在 ApplicationController 的时候根据 cookie 里的值给 I18n 和 Time.zone 赋值。
拼写多了个 l
, 是 squish!
用上线了做简历,美观又方便 ❤ 感谢感谢