小编Kha*_*tor的帖子

使用Cookie获取API

我正在尝试使用新的Fetch API但是遇到了Cookie问题.具体来说,在成功登录后,将来的请求中会有一个Cookie标头,但是Fetch似乎忽略了这些标头,而我使用Fetch发出的所有请求都是未经授权的.

是因为Fetch还没有准备好,或者Fetch不能与Cookies一起使用?

我用Webpack构建我的应用程序.我也在React Native中使用Fetch,它没有相同的问题.

cookies fetch-api

173
推荐指数
5
解决办法
13万
查看次数

Rails 4中的LEFT OUTER JOIN

我有3个型号:

class Student < ActiveRecord::Base
  has_many :student_enrollments, dependent: :destroy
  has_many :courses, through: :student_enrollments
end

class Course < ActiveRecord::Base   
    has_many :student_enrollments, dependent: :destroy
    has_many :students, through: :student_enrollments
end

class StudentEnrollment < ActiveRecord::Base
    belongs_to :student
    belongs_to :course
end
Run Code Online (Sandbox Code Playgroud)

我希望查询Courses表中的课程列表,这些课程在StudentEnrollments表中与特定学生相关联.

我发现也许Left Join是要走的路,但似乎rails中的join()只接受一个表作为参数.我认为可以做我想要的SQL查询是:

SELECT *
FROM Courses c LEFT JOIN StudentEnrollment se ON c.id = se.course_id
WHERE se.id IS NULL AND se.student_id = <SOME_STUDENT_ID_VALUE> and c.active = true
Run Code Online (Sandbox Code Playgroud)

如何以Rails 4方式执行此查询?

任何输入都表示赞赏.

sql ruby-on-rails mysql2 ruby-on-rails-4 rails-activerecord

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

使用ElasticSearch同步postgreSql数据

最后,我希望为PostgreSql中的数据提供可扩展的搜索解决方案.我的发现指出我使用Logstash将写入事件从Postgres发送到ElasticSearch,但是我还没有找到可用的解决方案.我发现的解决方案涉及使用jdbc-input 在一个时间间隔内查询Postgres中的所有数据,并且不捕获删除事件.

我认为这是一个常见的用例,所以我希望你们能与我分享你的经验,或者给我一些指导.

postgresql elasticsearch logstash

20
推荐指数
3
解决办法
8447
查看次数

嵌套函数是否有效?

在Scala或Lua等编程语言中,我们可以定义嵌套函数,如

function factorial(n)
  function _fac(n, acc)
    if n == 0 then
      return acc
    else
      return _fac(n-1, acc * n)
    end
  end

  return _fac(n, 1)
end
Run Code Online (Sandbox Code Playgroud)

这种方法是否会导致效率低下,因为每次调用外部函数时都会定义或创建嵌套函数实例?

lua functional-programming scala

18
推荐指数
3
解决办法
2795
查看次数

如何在Slack中使用Hubot

这似乎是一个愚蠢的问题.

我已经将Hubot部署到Heroku并根据Slack设置了这条指令给出的配置.但是我不知道Hubot是否应该出现在我的团队中.我可以通过REST发布消息,日志显示收到消息.

如果Hubot成为团队中的成员,我可以直接发送消息或者我遗漏了什么?

heroku hubot slack-api

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

无法在JRE 8中加载字体

我无法从JRE 8中的S3 Inputstream加载字体.如果系统安装了JRE 7,JDK 7甚至JDK 8,我就没有问题.

val fontInputStream = s3Client.getObject(bucketName, objectKey).getObjectContent

val customFont = Font.createFont(Font.TRUETYPE_FONT, fontInputStream).deriveFont(Font.TRUETYPE_FONT, 20F)
Run Code Online (Sandbox Code Playgroud)

我得到的错误是

Exception in thread "main" java.io.IOException: Problem reading font data.
        at java.awt.Font.createFont0(Font.java:1000)
        at java.awt.Font.createFont(Font.java:877)
        at Main$.delayedEndpoint$Main$1(Main.scala:31)
        at Main$delayedInit$body.apply(Main.scala:11)
        at scala.Function0$class.apply$mcV$sp(Function0.scala:40)
        at scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:12)
        at scala.App$$anonfun$main$1.apply(App.scala:76)
        at scala.App$$anonfun$main$1.apply(App.scala:76)
        at scala.collection.immutable.List.foreach(List.scala:381)
        at scala.collection.generic.TraversableForwarder$class.foreach(TraversableForwarder.scala:35)
        at scala.App$class.main(App.scala:76)
        at Main$.main(Main.scala:11)
        at Main.main(Main.scala)
Run Code Online (Sandbox Code Playgroud)

我试图将输入流加载到临时文件,但它没有帮助.我还尝试直接从本地文件加载字体,但是我在获取字体元数据时遇到了不同的错误.这是错误日志.

Exception in thread "main" java.lang.NullPointerException
        at sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1264)
        at sun.awt.FontConfiguration.readFontConfigFile(FontConfiguration.java:219)
        at sun.awt.FontConfiguration.init(FontConfiguration.java:107)
        at sun.awt.X11FontManager.createFontConfiguration(X11FontManager.java:776)
        at sun.font.SunFontManager$2.run(SunFontManager.java:431)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.font.SunFontManager.<init>(SunFontManager.java:376)
        at sun.awt.X11FontManager.<init>(X11FontManager.java:57)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at …
Run Code Online (Sandbox Code Playgroud)

java fonts awt java-8

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

查询GraphQL中的枚举值

假设我有这样的模型

class Order(models.Model):
    STATES = [
        (1, 'Initiate'),
        (2, "Brief"),
        (3, "Planning"),
        (4, "Price Negotiate"),
        (5, "Executing"),
        (6, "Pending"),
        (7, "Completed"),
        (8, "Canceled"),
        (9, "Failed"),
        (10, "Paid"),
    ]

    state = models.PositiveSmallIntegerField(
        choices=STATES,
        default=1
    )
Run Code Online (Sandbox Code Playgroud)

当我将这个模型与其Graphene对象类型的伴侣配对时

class OrderNode(graphene_django.DjangoObjectType):
    class Meta:
        model = Order
        interfaces = (relay.Node,)
Run Code Online (Sandbox Code Playgroud)

OrderState!创建具有名称的枚举类型.

我很关心

  1. 我如何查询枚举
  2. 如何使用Apollo客户端管理React中的枚举

对于第一个问题,我有这个问题

{
  customer(id: "Q3VzdG9tZXJOb2RlOjE=") {
    name
    orders {
      edges {
        node {
          state
        }
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

它给了我一个像A_1和的奇怪的状态值A_2.我期待它给我一些有意义的价值,比如"Initiate".如何获得kv对enum的值?

对于第二个问题,如果我想向用户提供此枚举的可能值列表,我该怎么办?

django graphql graphene-python react-apollo

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

Scala Play开发工作流程(IDE)

对于那里的所有scala开发人员,您是否可以共享日常开发工作的工作流程,特别是如果您使用Play2?

由于Scala提供的所有很酷的功能,我非常渴望跳过Scala和Play来完成我未来的项目.然而,我发现Play中的开发一直是一个痛苦的问题,我发现它不再具有生产力.最初我使用Eclipse Luna,而且我经常得到误报错误.我试着清理并重新编译.有时错误消失了,稍后又回来了.我甚至没有自动导入; 我必须手动查找包,而不是有一个列表包可供选择.

我仍然相信Scala是我尝试的下一个最好的东西,所以我用Scala插件获得了IDEA14 Ultimate.我认为事情会好得多,但同样,我也得到了误报错误突出显示(来自Eclipse中的错误消息).甚至简单的函数,如Action,或Ok报告的错误.当我开始使用像Slick这样的库时,我的文件全是红色的.

目前是否有任何解决方法可以让Eclipse或IDEA14与Play配合使用?我很感激任何意见.

scala版本:2.11.4 java版本:1.8

eclipse scala playframework-2.0 intellij-14

5
推荐指数
1
解决办法
246
查看次数

如何在Play框架中使用RequireJS优化器?

正如所宣传的那样,rjs在Play中可以

确保从jsdelivr CDN自动引用从WebJar中引用的任何JavaScript资源.此外,如果找到任何.min.js文件,那么将使用该文件代替.js.这里的另一个好处是你的html不需要改变!

但是,我似乎无法让任何一个工作.

  1. 我尝试在生产模式下运行我的Play应用程序,我的所有webjar javascripts仍被引用为本地.
  2. 我没有看到.min生产中使用的javascript文件的版本.
  3. 我不能让依赖注入在生产模式下工作.例如,当我想像jquery我这样注入我的代码时

    define(['jquery'],function($){'use strict'; console.log($.grep); return {sum:function(a,b){return a + b;}};});

我可以让它在开发模式下正常工作,但在生产模式下,rjs失败的说法

[info] Error: ENOENT, no such file or directory '/Users/khanguyen/Desktop/rjsdemo/target/web/rjs/build/js/jquery.js'
[info] In module tree:
[info]     main
[info]       app
[info] 
[info] Error: Error: ENOENT, no such file or directory '/Users/khanguyen/Desktop/rjsdemo/target/web/rjs/build/js/jquery.js'
[info] In module tree:
[info]     main
[info]       app
[info] 
[info]     at Error (native)
Run Code Online (Sandbox Code Playgroud)

显然它正在查看jQuery的错误位置,尽管Webjar生成了配置设置

requirejs.config({"paths":{"jquery":["/webjars/jquery/1.11.1/jquery","jquery"]},"shim":{"jquery":{"exports":"$"}},"packages":[]})    }
Run Code Online (Sandbox Code Playgroud)

拥有正确的位置jquery.

我正在使用Play 2.4.0,pipelineStages := Seq(rjs, digest)在build.sbt中使用setup.

请告诉我哪里弄错了. …

requirejs webjars requirejs-optimizer playframework-2.4

5
推荐指数
1
解决办法
1225
查看次数

具有唯一索引的MongoDB批量插入

假设我有一个我要插入的文档列表.

文件结构如下

{
  url: string,
  visited: boolean
}
Run Code Online (Sandbox Code Playgroud)

我在url密钥上有一个唯一的索引.

当我插入文档时,如果找到1个重复,则整个操作被中止.

有没有办法我仍然可以使用批量插入,它会插入所有不重复的文件?

作为一种解决方法,我必须逐个插入文档,我担心插入开销会对性能产生影响.

mongodb mongodb-query

5
推荐指数
1
解决办法
1670
查看次数