小编Ram*_*ues的帖子

何时不在javascript中使用"严格模式"?

我发现这篇文章 - 在JavaScript中做什么"使用严格"做什么,背后的原因是什么?

我在这里理解的是我应该use strict 永远.

但我想知道,如果确实如此,那么使用"严格模式"总是更好,那么它甚至不会存在,因为它将是一种默认行为.

所以我搜索了ECMAScript第6版的定义,发现它是很多情况下的默认值.

相关官方文档关于严格模式

可以使用无限制或严格模式语法和语义来处理ECMAScript脚本语法单元.在以下情况下,代码被解释为严格模式代码:

G lobal代码是严格模式代码,如果它以包含Use Strict Directive的指令序言开头(见14.1.1).

中号 odule代码始终是严格模式代码.

一个ClassDeclaration或ClassExpression的LL部分是严格模式的代码.

E val代码是严格模式代码,如果它以包含Use Strict Directive的Directive Prologue开头,或者对eval的调用是严格模式代码中包含的直接eval(见12.3.4.1).

˚F结代码是严格模式的代码,如果相关联的FunctionDeclaration,FunctionExpression,GeneratorDeclaration,GeneratorExpression,MethodDefinition,或ArrowFunction包含在严格模式代码,或者如果产生该函数的[[ECMAScriptCode]]内部槽的值的代码开始于一个指令包含使用严格指令的序言.

˚F被作为参数传递给内置的功能和发电机的构造提供油膏代码是严格模式代码,如果最后一个参数是一个字符串,在处理时是用含有使用严格的指令一个指令序章开头的函数体.

非严格模式代码的ECMAScript代码称为非严格 代码.

那么,何时使用非严格代码是一个不错的选择?

提前致谢.

javascript ecma

22
推荐指数
2
解决办法
6802
查看次数

Rails 7.1 升级后如何修复“未知枚举属性”?

您好,我有这个公司模型,具有以下枚举,适用于 Rails < 7.1

class Company < ApplicationRecord

  enum auth_type: {
    password: 'password',
    magic_link: 'magic_link',
    google: 'google',
    microsoft: 'microsoft',
    saml: 'saml',
    workos: 'workos',
    developer: 'developer'
  }, _prefix: :auth_by

end
Run Code Online (Sandbox Code Playgroud)

一旦我尝试升级到 Rails 7.1,它就会停止工作,因为它破坏了 CI 上已有的迁移,并出现以下错误:

Unknown enum attribute 'auth_type' for Company
/home/runner/work/clearyapp/clearyapp/vendor/bundle/ruby/3.2.0/gems/activerecord-7.1.0/lib/active_record/enum.rb:174:in `block in load_schema!'
Run Code Online (Sandbox Code Playgroud)

我看到这个错误引发是在 7.1 中添加的https://my.diffend.io/gems/activerecord/7.0.8/7.1.0/page/26#d2h-285143-749

我不明白的是,如果错误没有告诉我任何有用的信息,我应该如何修复它。这是一个已知的枚举属性=/

有谁知道如何修复它?

ruby enums ruby-on-rails ruby-on-rails-7

9
推荐指数
1
解决办法
1665
查看次数

Sonar + Jenkins - 无法确定数据库方言

我安装了Sonar,我已经通过命令行使用了sonarrunner并且工作正常,但是当我尝试与Jenkins集成时,自动进程失败并出现以下错误,有人知道如何解决这个问题吗?

[default] $ C:\sonarqube-4.0\sonar-runner-2.3\bin\sonar-runner.bat -Dsonar.jdbc.driver=org.postgresql.Driver -Dsonar.jdbc.url=sonar.jdbc.url=jdbc:postgresql://10.2.1.5/sonarqube ******** ******** -Dsonar.host.url=http://localhost:9000 ******** ******** "-Dsonar.projectBaseDir=C:\Program Files (x86)\Jenkins\jobs\Project\workspace\default"
C:\sonarqube-4.0\sonar-runner-2.3
SonarQube Runner 2.3
Java 1.7.0_25 Oracle Corporation (64-bit)
Windows 7 6.1 amd64
INFO: Runner configuration file: C:\sonarqube-4.0\sonar-runner-2.3\conf\sonar-runner.properties
INFO: Project configuration file: NONE
INFO: Default locale: "pt_BR", source code encoding: "windows-1252" (analysis is platform dependent)
INFO: Work directory: C:\Program Files (x86)\Jenkins\jobs\Project\workspace\default\.sonar
INFO: SonarQube Server 4.0
16:21:06.107 INFO  - Load batch settings
16:21:08.700 INFO  - User cache: C:\.sonar\cache
16:21:08.734 INFO  - Install plugins
16:21:13.244 INFO  - Install …
Run Code Online (Sandbox Code Playgroud)

jenkins jenkins-plugins sonar-runner sonarqube

6
推荐指数
1
解决办法
3708
查看次数

如何在ruby中重构长字符串行的最佳方法?

我有一行像这样的代码

"#{envelope_quantity} - envelope #{Budget::util_name(envelope_size)} #{Budget::util_name(envelope_paper)} #{Budget::util_name(envelope_color)} #{Budget::util_name(envelope_grammage)} #{Budget::util_name(envelope_model)} #{Budget::util_name(envelope_print)}"
Run Code Online (Sandbox Code Playgroud)

太长了,读起来很糟糕,这就是为什么RuboCop用它的Metrics :: LineLength警告我的原因.

我想重构它不是一个长队.

我知道有很多方法可以做到这一点,但我想知道哪一个是红宝石风格专家的预期.

当我需要一个空字符串时,如果它是nil,则需要静态方法util_name来防止nil.

def self.util_name(value)
  return '' if value.nil?
  value.name
end
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails ruby-on-rails-4 ruby-style-guide

4
推荐指数
2
解决办法
2250
查看次数

如何为单个方法在SPRING DATA中将FlushMode设置为COMMIT

我想使一个方法在没有FlushMode.ALWAYS的情况下运行。

因此,我需要setFlushMode(FlushMode.COMMIT)但我不知道该怎么做,并且我开始认为使用spring数据是不可能的。

我试图自动连接SessionFactory并执行此操作

sessionFactory.getCurrentSession().setFlushMode(FlushMode.COMMIT);
Run Code Online (Sandbox Code Playgroud)

但是我得到这个错误

No qualifying bean of type [org.hibernate.SessionFactory] found for dependency...
Run Code Online (Sandbox Code Playgroud)

我了解到我无法自动为会话工厂装配连线,所以我不能使用那种设置刷新模式的方式。

那我的问题是

有没有一种方法可以使用spring数据为单个方法设置冲洗模式?怎么样?

java spring spring-mvc spring-data

4
推荐指数
1
解决办法
2305
查看次数

没有这样的文件或目录@ rb_sysopen-tmp / pids / puma.pid

我正在尝试启动puma,但是在最后一步,它失败了:

16:38:09 web.1  | /home/ramonpm/.rvm/gems/ruby-2.2.7/gems/puma-3.9.1/lib/puma/launcher.rb:130:in `initialize': No such file or directory @ rb_sysopen - tmp/pids/puma.pid (Errno::ENOENT)
16:38:09 web.1  |   from /home/ramonpm/.rvm/gems/ruby-2.2.7/gems/puma-3.9.1/lib/puma/launcher.rb:130:in `open'
16:38:09 web.1  |   from /home/ramonpm/.rvm/gems/ruby-2.2.7/gems/puma-3.9.1/lib/puma/launcher.rb:130:in `write_pid'
16:38:09 web.1  |   from /home/ramonpm/.rvm/gems/ruby-2.2.7/gems/puma-3.9.1/lib/puma/launcher.rb:103:in `write_state'
16:38:09 web.1  |   from /home/ramonpm/.rvm/gems/ruby-2.2.7/gems/puma-3.9.1/lib/puma/single.rb:92:in `run'
16:38:09 web.1  |   from /home/ramonpm/.rvm/gems/ruby-2.2.7/gems/puma-3.9.1/lib/puma/launcher.rb:174:in `run'
16:38:09 web.1  |   from /home/ramonpm/.rvm/gems/ruby-2.2.7/gems/puma-3.9.1/lib/puma/cli.rb:77:in `run'
16:38:09 web.1  |   from /home/ramonpm/.rvm/gems/ruby-2.2.7/gems/puma-3.9.1/bin/puma:10:in `<top (required)>'
16:38:09 web.1  |   from /home/ramonpm/.rvm/gems/ruby-2.2.7/bin/puma:23:in `load'
16:38:09 web.1  |   from /home/ramonpm/.rvm/gems/ruby-2.2.7/bin/puma:23:in `<main>'
16:38:09 web.1  |   from /home/ramonpm/.rvm/gems/ruby-2.2.7/bin/ruby_executable_hooks:15:in `eval'
16:38:09 web.1  | …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails puma

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