小编Jes*_*ose的帖子

如何在Scala中处理POJO/JavaBean模式?

就像问题一样.scala是否像Java一样推广它?或者它已经演变成Scala的惯用语?或者它变得无关紧要了?

POJO和JavaBeans含义:

  1. 不带参数的构造函数
  2. 属性是私有的,getter和setter是公共的
  3. getter和setter定义属性,隐藏属性

此外,没有斯卡拉有意见(对不起,我不喜欢用这个词)上使用旧的public,private,protected属性的设计,是有关这个问题的?

scala

16
推荐指数
1
解决办法
8996
查看次数

如何在用户单击框架关闭时终止WxPython应用程序

当我单击主框架的关闭按钮时,应用程序应该关闭.但是我实现它的方式,Segmentation fault当我点击按钮时,它会退出.

我担心安全关闭程序,因为我需要稍后将内容保存到磁盘.

通过关闭按钮终止WxPython应用程序的正确非暴力方法是什么?


这是我实现的程序的"主要"循环:

if __name__ == "__main__":
    app = wx.App(False)
    mf = MainFrame(None, title='Spectrum Checker') #subclasses frame
    mf.register_close_callback( app.Destroy) #what is the apt func?
    app.MainLoop()
Run Code Online (Sandbox Code Playgroud)

以下是如何在以下内容中实现回调MainFrame:

def __init__(self, parent, title):
    ...
    self.Bind(wx.EVT_CLOSE, self._when_closed)

...

def _when_closed(self, event):
if self.__close_callback__:
    self.__close_callback__()
Run Code Online (Sandbox Code Playgroud)

python wxpython

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

用于检测峰宽的鲁棒算法

在此输入图像描述

我问如何以编程方式判断频段@detly使用FWHM(半高全宽),以确定峰的宽度建议.我四处搜索,发现FWHM可用于拟合模型(我实际上是一个门外汉!),特别是高斯模型.具体来说,2.354 * sigma是高斯模型的宽度.

由于存在不良峰值,我正在寻找高斯适合.这张照片中有4个结构良好的峰.然后是"双峰"(虽然两者都很重要)和两个展开峰.他们将证明对天真的FWHM来说是一个不可能的挑战.

你能帮助生成Scip/Numpy峰值的guassian拟合(用于FWHM计算),因为它是x坐标的近似位置吗?如果Guassian是一个糟糕的选择,那么其他一些计划.

python scipy

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

URL安全的UUID,字符数最少

理想情况下,我希望像example.com/resources/äFg4?N??5最小数量的可见字符,但不要介意它们必须在通过HTTP传输之前进行百分比编码.

你能告诉一个方案,它可以有效地将128b UUID编码为最少数量的可见字符,而不会产生具有破坏URL的字符的结果吗?

language-agnostic uuid

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

POS标签性能下降.我可以做一些预热吗?

我正在使用NLTK在Web请求中标记推文.如您所知,Django为每个请求实例化请求处理程序.

我注意到了这一点:对于一个请求(约200条推文),第一条推文需要大约18秒来标记,而所有后续推文需要大约120毫秒来标记.我该怎么做才能加快这个过程?

我可以执行"预热请求",以便为每个请求加载模块数据吗?

class MyRequestHandler(BaseHandler):
    def read(self, request): #this runs for a GET request
        #...in a loop:
            tokens = nltk.word_tokenize( tweet)
            tagged = nltk.pos_tag( tokens)
Run Code Online (Sandbox Code Playgroud)

python nltk

14
推荐指数
3
解决办法
5665
查看次数

Solr:最好的文档,易于使用,稳定的Python API

我想在Python中使用Lucene Solr.似乎有多个API用于此目的.他们似乎遭受了依赖性地狱和稳定性问题,Solr不再使用python绑定了.我找不到任何不熟悉Solr的用户的文档.

我倾向于晒伤而不是pysolr和solrpy是最成熟的.我的评价是否正确?

请为Solr推荐稳定的python绑定,并且具有良好的独立性(不预先假定Solr知识)文档.或者我应该学习如何与"servlet"交互并使用现有文档?

python solr

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

Python:特殊字符给我带来问题(来自PDFminer)

我使用PDFminer的pdf2text将PDF缩减为文本.不幸的是它包含特殊字符.让我显示我的控制台的输出

>>>a=pdf_to_text("ap.pdf")
Run Code Online (Sandbox Code Playgroud)

下面是一个样本,有点截断

>>>a[5000:5500]
'f one architect. Decades ...... but to re\xef\xac\x82ect\none set of design ideas, than to have one that contains many\ngood but independent and uncoordinated ideas.\n1 Joshua Bloch, \xe2\x80\x9cHow to Design a Good API and Why It Matters\xe2\x80\x9d, G......=-3733'
Run Code Online (Sandbox Code Playgroud)

我明白我必须编码

>>>a[5000:5500].encode('utf-8')
Traceback (most recent call last):
  File "<interactive input>", line 1, in <module>
UnicodeDecodeError: 'ascii' codec can't decode byte 0xef in position 237: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)

我搜索了一下并尝试了它们,特别是在python中替换特殊字符.输入来自PDFminer,所以它很难控制(AFAIK).从这个输出中制作正确明文的方法是什么?

我究竟做错了什么?

- 快速修复:将PDFminer的编解码器更改为ascii-但这不是一个持久的解决方案 -

- 为解决方案安排快速修复 …

python

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

如何检查REPL中的隐式/丰富转换和实现的特征

Scala中的一些东西对我来说似乎不透明,例如下面的内容,当to它不是以下的成员函数时Int:

1.to(4)
Run Code Online (Sandbox Code Playgroud)

我可以在没有咨询语言参考的情况下检查导致这种行为(隐式转换或特征或其他)的行为吗?在REPL中也是如此?

如果REPL无法帮助,是否有一些友好的选择?

scala

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

RDBMS可以做什么Neo4j(和图形数据库)不能?

"图形数据库 - 转换 - > RDBMS"

Neo4j网站似乎暗示无论你在RDBMS中做什么,你都可以在Neo4j中做到.

在选择Neo4j作为RDBMS 的替代品之前,我需要回答一些疑问.


我对Neo4j很感兴趣

  • 能够快速修改数据"架构"
  • 能够自然地表达实体而不是关系和规范化
  • ...导致高度表达的代码(优于ORM)

这是一个NoSQL解决方案,我感兴趣的是它的功能,而不是高性能.


问题: Neo4j是否存在任何可能使其不适合作为RDBMS替代品的问题?

我特别关注这些:

  • 我必须在应用程序逻辑中实现任何数据库功能吗?(例如,您必须在应用程序层为少数NoSQL DB实现连接)
  • 字段" 索引 "以允许查找比O(n)更快吗?
  • 如何处理热备份和复制?
  • "更改"架构或让具有不同版本架构的实体共存的任何问题?

database rdbms neo4j nosql graph-databases

11
推荐指数
1
解决办法
2257
查看次数

从控制器重构业务逻辑的良好,惯用的方法

我是Scala和Play的新手; 我写了一个包含业务和表示逻辑的"全部"控制器.我想从控制器中重构业务逻辑.

这就是我的Scala/Play的样子.使用干净的界面从这个控制器重构业务逻辑的好/惯用方法是什么?

object NodeRender extends Controller {
...
def deleteNode(nodeId: Long) = Action { request =>
    //business logic
    val commitDocument = Json.toJson(
    Map(
        "delete" -> Seq( Map( "id" -> toJson( nodeId)))  
    ))
    val commitSend   = Json.stringify( commitDocument)
    val commitParams = Map( "commit" -> "true", "wt" -> "json")
    val headers = Map( "Content-type" -> "application/json")

    val sol = host( "127.0.0.1", 8080)
    val updateReq  = sol / "solr-store" / "collection1" / "update" / "json" <<?
        commitParams <:< headers << commitSend

    val …
Run Code Online (Sandbox Code Playgroud)

scala playframework playframework-2.1

11
推荐指数
1
解决办法
1111
查看次数