可能有2个问题合二为一.我想知道如何在Ex模式下引用寄存器.
例如,我正在编辑一个文件,我想保存文件,并附加一个时间戳(或者只是真正的日期戳).
我知道我可以使用以下命令将寄存器设置为shell命令输出的值:
:let @a = system("date +\"%Y-%m-%d\"")
Run Code Online (Sandbox Code Playgroud)
有没有取消引用该寄存器并将其值插入Ex命令?就像是:
:w testfile.<value of "a register>
Run Code Online (Sandbox Code Playgroud)
复制到系统剪贴板并粘贴会很不错,但是在将来以其他命令为基础以更通用/更方式的方式执行它会很好.
试图了解Plug,特别是Plug.Router.从文档(http://hexdocs.pm/plug/Plug.Router.html).从规范插件有一个init函数,在初始化时调用以传入选项,但那些似乎在定义的路由中不可用.
没有可用选项的原因是什么,是否有允许它的模式?
好的,所以标题有点复杂.这基本上是一个最大的每组类型的问题,但我不能为我的生活弄明白.
我有一个表user_stats:
------------------+---------+---------------------------------------------------------
id | bigint | not null default nextval('user_stats_id_seq'::regclass)
user_id | bigint | not null
datestamp | integer | not null
post_count | integer |
friends_count | integer |
favourites_count | integer |
Indexes:
"user_stats_pk" PRIMARY KEY, btree (id)
"user_stats_datestamp_index" btree (datestamp)
"user_stats_user_id_index" btree (user_id)
Foreign-key constraints:
"user_user_stats_fk" FOREIGN KEY (user_id) REFERENCES user_info(id)
Run Code Online (Sandbox Code Playgroud)
我想通过最新的日期戳获取每个id的统计数据.这是一个很大的表,在41m行的附近,所以我创建了一个user_id的临时表,last_date使用:
CREATE TEMP TABLE id_max_date AS
(SELECT user_id, MAX(datestamp) AS date FROM user_stats GROUP BY user_id);
Run Code Online (Sandbox Code Playgroud)
问题是,日期戳不是唯一的,因为一天内可以有超过1个统计更新(应该是一个真正的时间戳,但设计这个的人是一个白痴,而且目前还有太多数据要回溯).因此,当我执行JOIN时,一些ID有多行:
SELECT user_stats.user_id, user_stats.datestamp, user_stats.post_count,
user_stats.friends_count, user_stats.favorites_count
FROM id_max_date …
Run Code Online (Sandbox Code Playgroud) 寻找与 Postgres 的 Distinct On 类似的功能。
有一组文档 {user_id, current_status, date},其中状态只是文本,日期是日期。仍处于将我的头围绕 mongo 并了解做事的最佳方式的早期阶段。
mapreduce 会是这里最好的解决方案,map 发出所有信息,reduce 保留最新的记录,还是有一个内置的解决方案而不拉出先生?
我在我们的一个仪表板系统上有一个很长的数据库查询,我想缓存,因为结果不需要实时准确,但可以从缓存中提供"足够接近"的值.
我想在没有用户等待的情况下这样做.我正在寻找使用类似的东西
Rails.cache.write('my_val', 'val', :expires_in => 60.minutes)
Run Code Online (Sandbox Code Playgroud)
存储此值,但我不相信它提供了我想要的确切功能.我想打个电话
Rails.fetch('my_val') { create a background task to update my_val; return expired my_val}
Run Code Online (Sandbox Code Playgroud)
似乎my_val在缓存过期后会从缓存中删除.有没有办法访问这个过期的值或可能启用此功能的另一种内置机制?
谢谢.
在我最新的 rails 项目中开始使用 sass,特别是 bootstrap-sass gem 来获得所有 twitter bootstrappy 的优点。
是否可以引用已经定义的变量?供应商/assets/stylesheets/bootstrap/_variables.scss
文件包含颜色声明。
$blue: #049cdb !default;
$blueDark: #0064cd !default;
$green: #46a546 !default;
$red: #9d261d !default;
Run Code Online (Sandbox Code Playgroud)
我是否需要在我的基本application.css.scss
文件的顶部重新定义这些,或者我可以导入/引用变量文件吗?我尝试了几种这样的方法:
$bodyBackground: $black;
@import 'bootstrap'
Run Code Online (Sandbox Code Playgroud)
但是, undefined variable 出错了$black
。
阅读文档似乎这可能是不可能的,但似乎很多人已经能够将更复杂的功能击败到pythons lambda函数中.
我正在利用scapy库来创建数据包.特别是这个问题是关于ConditionalField,它带有一个字段和一个比较函数,如果比较为真,该字段只被添加到数据包,但我需要进行2次比较.
只有一个检查的示例,这适用:
ConditionalField(XShortField("chksum",None),lambda pkt:pkt.chksumpresent==1)
Run Code Online (Sandbox Code Playgroud)
我想要的是:
ConditionalField(XShortField("chksum",None),lambda pkt:pkt.chksumpresent==1 or (lamba pkt:pkt.special == 1))
Run Code Online (Sandbox Code Playgroud)
这没有给出预期的结果.有没有办法做到这一点?
我对这个术语100%肯定,对于rails世界来说仍然相对较新,所以请原谅,如果我与猴子补丁相距太远,那么在这种情况下可能不适用.
我正在使用一个延长缩短网址的宝石LongURL.默认情况下,gem使用longurl.org,但我们每天推送几十万个网址,并认为每个人都可以在内部提供该服务.我只需要更改2个常量来指向我自己的url.
module LongURL
ShortURLMatchRegexp = /http:\/\/[\/\-_.a-z0-9]+/im
# Urls for longurl
EndPoint = URI.parse("http://api.longurl.org/v1/expand")
ServiceEndPoint = URI.parse("http://api.longurl.org/v1/services")
end
Run Code Online (Sandbox Code Playgroud)
看起来似乎没有这么小的变化值得分叉,什么是好的,轨道惯用的?,做这样的小改动的方法?
谢谢