小编kol*_*rie的帖子

Python 2.5上选择模块的问题

我在Python 2.5中有一个监听beanstalk队列的应用程序.它在我测试的所有机器上都能正常工作,除了我新购买的MacBook Pro.

在那台计算机上,当我尝试运行它时,我收到此错误:

Traceback (most recent call last):
  File "jobs.py", line 181, in <module>
    Jobs().start()
  File "jobs.py", line 154, in start
    self.jobQueue = Queue()
  File "src/utils/queue.py", line 16, in __init__
    self.connection = serverconn.ServerConn(self.server, self.port)
  File "src/beanstalk/serverconn.py", line 25, in __init__
    self.poller = select.poll()
AttributeError: 'module' object has no attribute 'poll'
Run Code Online (Sandbox Code Playgroud)

serverconn.py具有以下导入:

import socket, select
Run Code Online (Sandbox Code Playgroud)

当我尝试从命令行运行它时,它也会失败:

Python 2.5.1 (r251:54863, Jul 23 2008, 11:00:16) 
[GCC 4.0.1 (Apple Inc. build 5465)] on darwin
Type "help", "copyright", "credits" or "license" for more information. …
Run Code Online (Sandbox Code Playgroud)

python macos beanstalkd

3
推荐指数
1
解决办法
3653
查看次数

阻止给定地理位置的访问

阻止来自地理位置的用户访问Web可用应用程序的最可靠方法是什么?

我知道IP与地理定位有关,我也知道最天真的方法是获取HTTP请求头IP地址并从那里获取它.

很明显,像所描述的那样天真的方法非常容易绕过,特别是使用Proxies或VPN.

所以问题是:是否有100%可靠的方法来确定网络用户地理位置?如果没有,有哪些可用选项以及它们各自的优缺点是什么?

language-agnostic networking geolocation

3
推荐指数
1
解决办法
613
查看次数

Linux独立可执行代

我是一名具有Java,Ruby,Python和其他高级/动态语言背景的程序员.我面临一个问题,我需要编写一个Linux可执行文件代码(对于64和可能还有32位操作系统)并且这些语言似乎都不适合这个任务,因为我最终也必须分发运行时.

我真的不能写出不错的C代码,所以我想请教一个好的高级语言,它支持套接字通信和进程生成,可以产生C中间代码或独立的Linux可执行文件.

linux programming-languages

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

具有基本身份验证的HTTPS客户端的C/C++库

您是否建议在线使用任何好的库或示例来实现可以使用基本身份验证连接到网站的HTTPS客户端?这是为了在linux服务器上运行.

任何指针都有帮助.

更新:关于一致libcurl的问题 - 它是否默认捆绑在Debian,Ubuntu,Gentoo,Slackware,RedHat和Arch等主要发行版中?

c c++ linux https basic-authentication

3
推荐指数
1
解决办法
7264
查看次数

使用Backbone.js加载模型关系

我正在使用Rails REST后端编写我的第一个Backbone.js应用程序,令我困惑的一件事是模型之间的关系.

这个应用程序,我写会TicketClient为榜样.我也设置了两个TicketsClients集合.

事实证明我有几千个客户,我不想将它们加载到内存中,相反,当机票引用时,我想懒洋洋地加载客户.

我尝试过一种非常天真的方法,显然不起作用,因为Model#fetch()方法是异步的.

这是我目前为止的Ticket模型(在CoffeeScript中):

class Deputy.Models.Ticket extends Backbone.Model

    initialize: ->
        @fetchClient()

    fetchClient: ->
        @client = new Deputy.Models.Client()
        @client.set id: @get('userid')
        @client.fetch()

    clientName: ->
        first = @client.get('firstname')
        last = @client.get('lastname')
        "#{first} #{last}"
Run Code Online (Sandbox Code Playgroud)

可以想象,该clientName()函数始终返回"undefined undefined",因为在调用时fetch没有返回.

处理这种数据关系的正确方法是什么?请注意,我不介意你退后一步,说我使用了错误的方法并建议我做一些事情.

任何指针,文章或任何其他内容将不胜感激.

rest model ruby-on-rails relationship backbone.js

3
推荐指数
1
解决办法
430
查看次数

制作div使用容器中的所有可用空间

我有这个容器div有两个元素:

<div id="container">
    <div id="right">Some, list, of, words, that, I, use</div>
    <div id="left">Person Name</div>
</div>?
Run Code Online (Sandbox Code Playgroud)

我想让#right div占用#left div 留下的空间并隐藏溢出.

另请注意,#left div宽度是可变的.

到目前为止我想出了这个css:

#container {
    width: 250px;
    border: 1px solid black;
    padding: 10px;
}

#left {
    white-space: nowrap;
    border: 1px dotted #ccc;
    display: inline;
}

#right {
    text-overflow: ellipsis;
    overflow: hidden;
    border: 1px dotted #ddd;
    white-space: nowrap;
    display: inline;
    float: right;
}
Run Code Online (Sandbox Code Playgroud)

#right div仍会显示所有文本并最终显示在以下行中,如下所示:

样本结果

我玩#right div不浮动,添加width: 100%但似乎没有任何工作......

有谁知道我怎么能让两个显示在同一行,但让#right div隐藏其溢出?

jsFiddle链接:http://jsfiddle.net/y4xnx/13/ …

html css

3
推荐指数
1
解决办法
672
查看次数

在Ruby中模仿AES_ENCRYPT和AES_DECRYPT函数

我需要模仿MySQL在使用内置函数AES_ENCRYPT()和AES_DECRYPT()加密和解密字符串时所做的事情.

我已经阅读了几篇博文,显然MySQL使用AES 128位加密来实现这些功能.最重要的是,由于此加密需要16位密钥,因此MySQL会使用x0字符(\ 0s)填充字符串,直到它的大小为16位.

从MySQL源代码中的C算法在这里被发现.

现在我需要复制MySQL在Rails应用程序中所做的事情,但我尝试过的每一件事都不起作用.

这是一种复制我得到的行为的方法:

1)创建一个新的Rails应用程序

rails encryption-test
cd encryption-test
Run Code Online (Sandbox Code Playgroud)

2)创建一个新的脚手架

script/generate scaffold user name:string password:binary
Run Code Online (Sandbox Code Playgroud)

3)编辑config/database.yml并添加测试MySQL数据库

development:
    adapter: mysql
    host: localhost
    database: test
    user: <<user>>
    password: <<password>>
Run Code Online (Sandbox Code Playgroud)

4)运行迁移

rake db:migrate
Run Code Online (Sandbox Code Playgroud)

5)进入控制台,创建用户并从MySQL查询更新其密码

script/console
Loading development environment (Rails 2.2.2)
>> User.create(:name => "John Doe")
>> key = "82pjd12398JKBSDIGUSisahdoahOUASDHsdapdjqwjeASIduAsdh078asdASD087asdADSsdjhA7809asdajhADSs"
>> ActiveRecord::Base.connection.execute("UPDATE users SET password = AES_ENCRYPT('password', '#{key}') WHERE name='John Doe'")
Run Code Online (Sandbox Code Playgroud)

这就是我被卡住的地方.如果我试图解密它,使用MySQL它的工作原理:

>> loaded_user = User.find_by_sql("SELECT AES_DECRYPT(password, '#{key}') AS password FROM users WHERE id=1").first
>> loaded_user['password']
=> "password"
Run Code Online (Sandbox Code Playgroud)

但是,如果我尝试使用OpenSSL库,我无法使其工作: …

ruby encryption openssl aes

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

直接从命令行运行可执行文件和在Linux中运行cron作业有什么区别?

我有这个可执行文件,它在远程服务器上查询命令,在本地机器上执行它,并将stdout(也可能是stderr)从它返回给服务器.

如果从命令行(作为root)调用,这个可执行文件运行得很好,但是我发现当cron作业自动执行时,某些命令失败了.

在安排使用crontab定期运行此可执行文件时,我应该期待在环境(用户,标准输入,标准输出等)方面有什么区别?

谢谢!

language-agnostic linux cron

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

用Devise登录后奇怪的重定向

我有这个应用程序,我使用Devise,登录后,用户被重定向到带有路径的空白页面/users/sign_in.user.

为什么Devise会重定向到这条路?这是我得到的日志条目:

Started POST "/users/sign_in.user" for 127.0.0.1 at 2011-11-10 15:56:03 -0200
  Processing by Users::SessionsController#create as 
  Parameters: {"utf8"=>"?", "authenticity_token"=>"ukqyLFgApCSybuIlVynPwj/xgdI/WuHLxoFxOsY4wgQ=", "user"=>{"email"=>"felipe.coury@gmail.com", "password"=>"[FILTERED]", "remember_me"=>"0"}, "commit"=>"Entrar"}
  User Load (1.8ms)  SELECT `users`.* FROM `users` WHERE `users`.`email` = 'felipe.coury@gmail.com' LIMIT 1
   (0.2ms)  BEGIN
   (1.0ms)  UPDATE `users` SET `last_sign_in_at` = '2011-11-09 18:47:04', `current_sign_in_at` = '2011-11-10 17:56:04', `sign_in_count` = 14, `updated_at` = '2011-11-10 17:56:04' WHERE `users`.`id` = 1
   (0.3ms)  COMMIT
Completed 406 Not Acceptable in 112ms
Run Code Online (Sandbox Code Playgroud)

这是我的完整routes.rb档案:

MyApp::Application.routes.draw do
  root :to => "site#home"
  match …
Run Code Online (Sandbox Code Playgroud)

devise ruby-on-rails-3

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

Chrome 使用 tabindex="-1" 突出显示一个 div

我正在使用一个<div tabindex="-1">在我的 HTML 上注入 a 的 React 组件。然后,每次单击内部对象时,它都会在元素上添加一个蓝色边框,如下例所示:

https://jsfiddle.net/zdtw7uq0/

是否可以删除此边框?

html css google-chrome tabindex

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

隐藏用Python编写的电子邮件模板系统的实现细节

我正在编写一个应用程序,其中一个功能是允许用户使用Markdown语法编写电子邮件模板.

除格式化外,用户必须能够使用占位符来处理在运行时被替换的几个变量.

这个目前的工作方式非常简单:模板有Pythonic%(var)的占位符,我在应用Markdown2格式之前用字典替换它们.

事实证明,这个系统的最终用户将是一个精通技术的用户,我不想让每个人都明白它是用Python编写的.

这不是我不喜欢Python ......我实际上认为Python是完成这项工作的完美工具,我只是不想向用户公开它(即使它是用Java编写的,也希望相同,Perl ,Ruby或其他任何东西).

因此,我想问一下您认为哪些是为用户公开占位符的最佳方式的见解:

  1. 你认为最好的占位符格式是什么(想象为$ {var},$(var)或#{var})?

  2. 替换这些占位符的最佳方法是什么?

我使用正则表达式来改变 - 例如 - $ {var}到%(var)s然后应用常规的Python模板替换,但我不确定这是最好的方法.

如果你这样做,如果你能指出我那个正则表达式的草稿,那将是非常好的.

谢谢!

更新:用户指出使用完整的模板系统,但我认为这可能不值得,因为我需要的是占位符替换:我不会有循环或类似的东西.

最后更新:我此时选择不使用任何模板引擎.我选择使用更简单的string.Template方法(正如hyperboreean的评论所指出的那样).事实是,我不喜欢选择解决方案,因为将来某个时候可能需要解决方案.我将把所有这些建议保留在我的袖子上,如果在应用程序的生命周期中明确需要它们提供的一个或多个功能,我将重新审视这个想法.现在,我真的觉得这太过分了.拥有完整的模板,最终用户可以根据自己的需要进行编辑,至少在我看来,更多的麻烦而不是受益.尽管如此,感觉更好的是我没有意识到我没有沿着这条道路前进的原因,而只是没有研究任何东西并选择它.

非常感谢所有的输入.

python email formatting templates

0
推荐指数
1
解决办法
363
查看次数

将JSON解析为结构

当我们使用常规键值格式时,我已成功将JSON解析为结构.

但是,我如何解析这样的JSON:

{
  "count": 2,
  "results": [{ key: "workspaces", id: "10" }, { key: "workspaces", id: "11" }],
  "workspaces": {
    "10": {
      id: "10",
      title: "some project",
      participant_ids: ["2", "6"],
      primary_counterpart_id: "6"
    },
    "11": {
      id: "11",
      title: "another project",
      participant_ids: ["2", "8"],
      primary_counterpart_id: "8"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

如果workspaces未提前定义该部分的键,而是保留工作区ID?

我最初的结构是:

type WorkspaceRequest struct {
    Count      int64       `json:"count"`
    Workspaces []Workspace `json:"workspaces"`
}

type Workspace struct {
    Title string `json:"title"`
}
Run Code Online (Sandbox Code Playgroud)

如何从显示的JSON中获取工作区列表?

parsing json go

0
推荐指数
1
解决办法
96
查看次数