小编fny*_*fny的帖子

yarn.lock和npm的package-lock有什么区别?

我不小心npm install在一个使用Yarn的项目中运行,并注意到npm创建了一个package-lock.json文件.

我知道Yarn的受欢迎程度部分是因为它使用了一个锁定文件来产生比npm更可靠和确定性的依赖安装,而npm只有一段时间只有一个残缺的收缩包装功能,但现在我不知道该怎么做这个npm lockfile业务以及是否有任何令人信服的继续使用纱线.

因此,在纱线与收缩包裹的StackOverflow上先前Q和A的精神中,我问以下问题:

  • 在可靠性方面,两个包管理器之间是否存在实质性差异?
  • 如果没有,除了"更多表情符号"之外,还有任何令人信服的理由继续使用Yarn吗?

node.js npm yarnpkg

34
推荐指数
1
解决办法
6189
查看次数

使用ActiveRecord冒泡嵌套事务失败

我在服务对象中有一个方法,它组成应该包含在事务中的操作.其中一些操作也包含在事务中.例如:

class PostCreator
   def create
      ActiveRecord::Base.transaction do
        post.do_this
        post.do_that
        user.do_more(post, other_stuff)
      end
   end
 end

 def Post
   def do_this
     transaction do; ...; end
   end
 end
Run Code Online (Sandbox Code Playgroud)

我需要任何嵌套的失败一直到顶部,但我不确定如何实现这一点,嵌套事务上的ActiveRecord文档似乎没有提供解决方案.来自文档:

# Standard nesting

User.transaction do
  User.create(username: 'Kotori')
  User.transaction do
    User.create(username: 'Nemu')
    raise ActiveRecord::Rollback    #  This won't bubble up:
                                    #  _Both_ users will still be created.
  end
end

# Nesting with `requires_new: true` on the nested transaction

User.transaction do
  User.create(username: 'Kotori')
  User.transaction(requires_new: true) do
    User.create(username: 'Nemu')
    raise ActiveRecord::Rollback    #  This won't bubble up either …
Run Code Online (Sandbox Code Playgroud)

activerecord ruby-on-rails

24
推荐指数
2
解决办法
4794
查看次数

如何打开承诺的类型

说我有以下代码:

async promiseOne() {
  return 1
} // => Promise<number>

const promisedOne = promiseOne()

typeof promisedOne // => Promised<number>
Run Code Online (Sandbox Code Playgroud)

我将如何提取承诺结果的类型(在这个简化的情况下是一个数字),因为它是自己的类型?

typescript

24
推荐指数
5
解决办法
3136
查看次数

在Rails中保存后添加到属性的奇怪字节

我们遇到了一个疯狂的错误,在保存电子邮件时,看似随机的字节大约有90%的时间被添加到电子邮件字段.以下是可能发生的情况的示例:

From params: 'user@example.com'
Before validate: 'user@example.com'
After validate: 'user@example.com'
Before save: 'user@example.com'
Value in object after save: 'user@example.com'
Retrieve record just created by id, and fetch id: 'user@example.com\u007f'

哎呀\u007f(UTF-8删除字符!!!)来自哪里?!这是迄今为止最常见的垃圾.以下列出了一些其他有时出现的有效字节序列:

r\u007f
U\u007f
a\u007f
#m$\u007f

有时我得到完全垃圾比特,由于PG::CharacterNotInRepertoire错误,我无法判断是否有比这些更多的字节:

0xde 0x4d
0xf6 0x7f
0xbc
0xe3 0x6c 0x24
Run Code Online (Sandbox Code Playgroud)

鉴于PG::CharacterNotInRepertoire发生的错误,我假设这是在保存值之前的某个地方发生的,但是在我的应用程序代码范围之外.

请注意,对于用户的任何其他字段,这是奇怪的.

以下是当前触及电子邮件地址的所有回调:

  • #strip!#downcase!在验证之前
  • 使用正则表达式进行格式验证 \A[A-Za-z0-9._%+-]+@(?:[A-Za-z0-9-]+\.)+[A-Za-z]{2,20}\z

一些应用信息:

  • Ruby v2.2.0
  • Rails v4.1.8
  • Postgres v9.3.2
  • PG v0.17.1

ruby postgresql ruby-on-rails utf-8

15
推荐指数
1
解决办法
1847
查看次数

将PG :: Result转换为Active Record模型

pg-ruby 允许您一次性向数据库发送多个查询,这有助于最大限度地减少对数据库的访问次数:

results = []
conn.send_query('QUERY1;QUERY2;QUERY3')
conn.block
while result = conn.get_result
  results << result
end
Run Code Online (Sandbox Code Playgroud)

鉴于对于result我已经知道的Active Record模型,将结果转换为模型的适当方法是什么?现在我正在做以下事情:

fields = result.fields
models = result.values.map { |value_set| 
  Model.new(Hash[fields.zip(value_set)])
}
Run Code Online (Sandbox Code Playgroud)

该方法的问题在于,每个Active Record对象看起来都不是#persisted?因为它们已经被实例化了.new.

ruby ruby-on-rails rails-activerecord

13
推荐指数
1
解决办法
2868
查看次数

"缺少主机链接!" 对于Devise

我安装了Devise,每当我尝试创建一个帐户时,事情似乎都会停止.

完整错误如下:

Missing host to link to! Please provide :host parameter or set default_url_options[:host]

我在develop.rb块中有以下代码.我已经尝试过,有没有添加smtp配置.

config.action_mailer.default_url_options = { :host => 'localhost' }  
config.action_mailer.delivery_method = :smtp
...
Run Code Online (Sandbox Code Playgroud)

我的定义host不正确吗?

ruby-on-rails devise

12
推荐指数
1
解决办法
1万
查看次数

LaTeX页脚中的Y页X.

有没有办法在LaTeX中使用花式页面样式动态获取Y的Page X,还是需要其他一些包?

latex

10
推荐指数
1
解决办法
2万
查看次数

重置IRB控制台

一个人如何去说再见所有的常量,对象和定义等等一个irb会话恢复到一个干净的石板?通过" in ",我的意思是不操纵子句.

ruby console

10
推荐指数
1
解决办法
6965
查看次数

大多数JVM是否为未使用的方法分配内存?

假设我们有以下课程:

class DoubleOhSeven {
  public static void doSomethingClassy();
  public static void neverDoThisClassy();
}

class Dude {
  public void doSomething();
  public void neverDoThis();
}

public class Party {
  public static void main(String[] args){
    DoubleOhSeven.doSomething();
    Dude guy = new Dude;
    guy.doSomething();
  }
}
Run Code Online (Sandbox Code Playgroud)

当然,所有方法都将编译成各自的.class:未使用的静态/实例方法在运行时占用内存吗?未使用的继承或导入方法怎么样?

java jvm jvm-hotspot

10
推荐指数
1
解决办法
612
查看次数

获取非常大的文件的MD5校验和

我编写了一个脚本,它读取目录中的所有文件,并为每个文件返回md5哈希值.但是,它不会为相当大的文件呈现任何内容.我假设解释器为最大处理时间设置了一些值,并且由于获取此值需要很长时间,因此它只是跳到其他文件.无论如何通过PHP获取大文件的md5校验和?如果没有,是否可以通过cpanel的chron工作完成?我在那里试了一下,但似乎我的md5sum命令似乎没有被处理过:我从未收到过带有哈希的电子邮件.这是我已经写过的PHP.对于合理大小的文件,这是一个非常简单的代码和工作文件:

function md5_dir($dir) {
    if (is_dir($dir)) {
        if ($dh = opendir($dir)) {
            while (($file = readdir($dh)) !== false) {
                echo nl2br($file . "\n" . md5_file($file) . "\n\n");
            }
            closedir($dh);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

php hash checksum md5

8
推荐指数
2
解决办法
2万
查看次数