小编sco*_*ski的帖子

uwsgi中工人和流程的区别

我正在努力小心并理解我的nginx配置中的每个设置.我见过一个配置示例,其中包含:

workers = 8
processes = 10
Run Code Online (Sandbox Code Playgroud)

但是uWSGI文档似乎没有区别.他们是同义词吗?如果是这样,这会导致此配置不正确吗?

uwsgi

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

使用setuptools创建python可执行文件

我有一个小的python应用程序,我想将其制作成类UNIX系统的可下载/可安装的可执行文件.我的印象是,setuptools将是实现这一目标的最佳方式,但不知何故,这似乎不是一项常见的任务.

我的目录结构如下所示:

myappname/
|-- setup.py
|-- myappname/
|   |-- __init__.py
|   |-- myappname.py
|   |-- src/
|      |-- __init__.py
|      |-- mainclassfile.py
|      |-- morepython/
|         |-- __init__.py
|         |-- extrapython1.py
|         |-- extrapython2.py
Run Code Online (Sandbox Code Playgroud)

包含的文件if __name__ == "__main__": 是myappname.py.这个文件在顶部有一行import src.mainclassfile.

下载后,我希望用户能够执行以下操作:

$ python setup.py build
$ python setup.py install
Run Code Online (Sandbox Code Playgroud)

然后它将是一个已安装的可执行文件,它们可以从命令行的任何位置调用:

$ myappname arg1 arg2
Run Code Online (Sandbox Code Playgroud)

我的setup.py的重要部分如下:

from setuptools import setup, find_packages
setup(
  name='code2flow',
  scripts=['myappname/myappname.py'],
  package_dir={'myappname': 'myappname'},
  packages=find_packages(),
  )
Run Code Online (Sandbox Code Playgroud)

当前状态

通过运行:

$ sudo python setup.py install
Run Code Online (Sandbox Code Playgroud)

然后在一个新的shell中: …

python unix egg setuptools

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

如何从命令行调用Graphviz GUI?

我正在寻找一种方法从命令行在GUI Graphviz查看器中打开DOT文件(.gz或.dot).所以,如果我运行如下:

$ graphviz my_dot_file.gz 
Run Code Online (Sandbox Code Playgroud)

它应该使用所选文件打开Graphviz程序.不知何故,对于这个简单的任务,我的谷歌搜索失败了...

我在Mac OSX Mountain Lion上

macos graphviz

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

替代Levenshtein距离为前缀/后缀

我有一个大城市数据库,它是从许多不同来源编译而来的.我正试图找到一种方法,可以根据城市名称轻松发现重复项.天真的答案是使用levenshtein距离.然而,城市的问题在于它们通常具有前缀和后缀,这些前缀和后缀对于它们所在的国家而言是共同的.

例如:

Boulleville对阵Boscherville

这些几乎肯定是不同的城市.然而,因为它们都以"ville"结尾(并且都以"Bo"开头),所以它们具有相当小的Levenstein距离.

*我正在寻找一种字符串距离算法,该算法考虑到字符的位置,通过将单词中间的字母加权高于单词末尾的字母来最小化前缀和后缀的影响.*

我本可以自己写一些东西,但我觉得很难相信没有人发表过合适的算法.

algorithm string-algorithm levenshtein-distance

7
推荐指数
1
解决办法
1619
查看次数

检查sqlalchemy表是否为空

我需要知道任何给定的 sqlalchemy 表 (sqlalchemy.schema.Table) 是否正好有 0 行。我有很多表,每个表都有很多行,并且必须在启动时为所有这些表运行,因此我正在寻找从运行时角度执行此操作的最有效方法。所以,只是做一个计数不是我想要的。如果更改任何内容,则数据库为 PostgreSQL

postgresql sqlalchemy

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

UITeGestureRecognizer与UISearchBar

我的主ViewController上有一个UISearchBar.在这个搜索栏下面是一张地图,所以我想我需要第二个专门用于搜索的ViewController.

我目前的方法是在我的主ViewController上的搜索栏中添加一个uitapgesturerecognizer,这样当用户点击搜索栏时,它们就会被无缝重定向到第二个视图.

我的代码:

UITapGestureRecognizer *singleFingerTap =
[[UITapGestureRecognizer alloc] initWithTarget:self
                                                     action:@selector(segueToSearch:)];

[searchBar addGestureRecognizer:singleFingerTap];
Run Code Online (Sandbox Code Playgroud)

- (IBAction)segueToSearch:(id)sender {
    NSLog(@"about to segue");
    }
Run Code Online (Sandbox Code Playgroud)

当我这样做时,这singleFingerTap.numberOfTapsRequired = 2很有用,但显然我希望它能够轻松一下.

我的方法是否有效,如果是的话有什么问题,还是有其他方法可以做到这一点?

cocoa-touch objective-c ios

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

searchBarCancelButtonClicked popToRootViewControllerAnimated

我有两个视图,一个是根viewController,另一个是搜索viewController.当我在搜索viewController中单击UISearchBar上的cancel时,我想要回到根viewController.我有这个代码:

-(void)searchBarCancelButtonClicked:(UISearchBar *)searchBar {
    [self.navigationController popToRootViewControllerAnimated:YES];
    }
Run Code Online (Sandbox Code Playgroud)

但是当我点击取消时,我收到此错误:

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'search contents navigation controller must not change between -setActive:YES and -setActive:NO'
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?[self.navigationController popToRootViewControllerAnimated:YES];我的搜索视图的其他区域的工作.

cocoa-touch objective-c ios

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

在viewDidAppear之前以编程方式定位UIView

我有两个UIViews.第一个包含可变数量的UIButton,可能会溢出two rows.第二个需要定位在第一个之下.

我已经阅读了很多这样的帖子:如何定位UIView?

不幸的是,如果您在viewDidAppear:方法中或之后调用它们,这些似乎只能起作用.这意味着我的视图加载和元素正确定位之间的时间很短.

我怎样才能优雅地解决这个问题?

编辑1:这是一个简单的方法,我正在使用adjust view2向下

-(void)adjustView:(UIView *)view down:(int)down{
    CGRect frame = view.frame;
    frame.origin.y = frame.origin.y + down;
    view.frame = frame;
    }
Run Code Online (Sandbox Code Playgroud)

编辑2:这就像我如何添加我的按钮,调整我的第一个视图,以及计算下一个需要下降的距离

- (void)addButtonsToView:(NSArray *)buttonStrings {
    //To correctly position
    float previousTagsWidth = 0.0;
    self.adjustDown = 0.0;

    for (NSString *str in buttonStrings) {      
        UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
        [button setTitle:str forState:(UIControlState)UIControlStateNormal];

        CGSize size = [str sizeWithFont:TAG_FONT];
        if (previousTagsWidth + size.width > 300) {
            previousTagsWidth = 0;
            self.adjustDown += size.height+10;
            }

        button.frame = CGRectMake(previousTagsWidth, self.adjustDown, …
Run Code Online (Sandbox Code Playgroud)

cocoa-touch objective-c ios

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