小编ram*_*jan的帖子

你怎么只推动你的一些本地git提交?

假设我有5个本地提交.我想只将其中的2个推送到集中式仓库(使用SVN风格的工作流程).我该怎么做呢?

这不起作用:

git checkout HEAD~3  #set head to three commits ago
git push #attempt push from that head
Run Code Online (Sandbox Code Playgroud)

最终推动所有5个本地提交.

我想我可以执行git reset来实际撤消我的提交,然后是git stash然后是git push - 但我已经编写了提交消息并组织了文件,我不想重做它们.

我的感觉是,推送或重置的一些标志会起作用.

如果它有帮助,这是我的git配置

[ramanujan:~/myrepo/.git]$cat config 
[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
[remote "origin"]
        url = ssh://server/git/myrepo.git
        fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
        remote = origin
        merge = refs/heads/master
Run Code Online (Sandbox Code Playgroud)

git version-control

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

PostgreSQL的隐藏功能

我很惊讶这还没有发布.你在Postgres知道的任何有趣的技巧?晦涩的配置选项和缩放/执行技巧特别受欢迎.

我相信我们可以在相应的MySQL线程上击败9条评论:)

database postgresql rdbms postgresql-9.3

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

SQLite性能基准 - 为什么:内存:这么慢......只有磁盘的1.5倍速度?

为什么:内存:在sqlite中这么慢?

我一直试图看看使用内存中的sqlite和基于磁盘的sqlite是否有任何性能改进.基本上我想交换启动时间和内存来获得非常快速的查询,这些查询在应用程序过程中没有遇到磁盘.

但是,以下基准测试只能提高1.5倍的速度.在这里,我正在生成1M行随机数据并将其加载到同一个表的磁盘和基于内存的版本中.然后我在两个dbs上运行随机查询,返回大小约为300k的集合.我预计基于内存的版本要快得多,但如上所述,我只能获得1.5倍的加速.

我尝试了几种其他大小的dbs和查询集; 内存:优势似乎上升为行的分贝数增加了.我不确定为什么优势如此之小,尽管我有一些假设:

  • 使用的表格不够大(在行中):内存:一个巨大的赢家
  • 更多的连接/表将使:内存:优势更明显
  • 在连接或操作系统级别进行某种缓存,以便以某种方式访问​​先前的结果,从而破坏基准测试
  • 有一种隐藏的磁盘访问正在进行,我没有看到(我还没有尝试过lsof,但我确实关闭了PRAGMAs用于日记)

我在这里做错了吗?关于原因的任何想法:内存:不会产生几乎即时的查找?这是基准:

==> sqlite_memory_vs_disk_benchmark.py <==

#!/usr/bin/env python
"""Attempt to see whether :memory: offers significant performance benefits.

"""
import os
import time
import sqlite3
import numpy as np

def load_mat(conn,mat):
    c = conn.cursor()

    #Try to avoid hitting disk, trading safety for speed.
    #http://stackoverflow.com/questions/304393
    c.execute('PRAGMA temp_store=MEMORY;')
    c.execute('PRAGMA journal_mode=MEMORY;')

    # Make a demo table
    c.execute('create table if not exists demo (id1 int, id2 int, val real);')
    c.execute('create index id1_index on demo …
Run Code Online (Sandbox Code Playgroud)

python database memory sqlite benchmarking

48
推荐指数
5
解决办法
4万
查看次数

在Cython中进行列表/词典的习惯方法?

我的问题:我发现使用原始C++使用STL映射和向量处理大型数据集通常可以比使用Cython更快(并且内存占用更少).

我认为这部分速度惩罚是由于使用Python列表和dicts,并且可能有一些技巧在Cython中使用较少的数据结构.例如,这个页面(http://wiki.cython.org/tutorials/numpy)展示了如何通过预定义ND数组的大小和类型,在Cython中非常快速地生成numpy数组.

问题:有没有办法用list/dicts做类似的事情,例如通过大致说明你希望在它们中有多少元素或(键,值)对?也就是说,在Cython中是否存在将列表/ dicts转换为(快速)数据结构的惯用方法?

如果不是,我想我只需要用C++编写它并包装在Cython导入中.

c c++ python cython

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

如何在Haskell中使用Bounded类型类定义具有浮点范围的类型?

由于违反了minBound和maxBound,我预计以下代码会因类型错误而失败.但是,正如您所看到的,它会在没有标记错误的情况下通过.

{-# OPTIONS_GHC -XTypeSynonymInstances #-}
module Main where

type Probability = Float
instance Bounded Probability where
    minBound = 0.0
    maxBound = 1.0

testout :: Float -> Probability
testout xx = xx + 1.0

main = do
  putStrLn $ show $ testout 0.5
  putStrLn $ show $ testout (-1.5)
  putStrLn $ show $ testout 1.5
Run Code Online (Sandbox Code Playgroud)

在序曲中我得到了这个

*Main> :type (testout 0.5)
(testout 0.5) :: Probability
Run Code Online (Sandbox Code Playgroud)

在提示我得到这个:

[~/test]$runhaskell demo.hs
1.5
-0.5
2.5
Run Code Online (Sandbox Code Playgroud)

很明显,我没有正确宣布有限,我确信我在语法上做错了.谷歌关于有界类型类没有太多简单的东西,所以任何帮助都会非常感激.

haskell types typeclass

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

你的.conkerorrc是什么样的?

Conkeror改变了我浏览网页的方式:它基本上是Emacs + Firefox,在.conkerrorc中使用基于javascript的配置而不是.emacs中的elisp配置.

多年来,我通过从其他人那里得到一点点零碎,建立了一个庞大的.emacs自定义库.我刚刚开始使用Conkeror,但事实上它使用JS(比Elisp广为人知)必须意味着那里有一些惊人的东西.

小心分享你的作品?我对与Django(或其他动态网页)生成的页面进行良好交互的内容特别感兴趣.

例如,我喜欢基于Conkeror的动作录制器,它允许我浏览网站并查找错误,然后立即保存并提交操作序列作为错误报告,只需一次按键.通过包含复制错误所需的JS动作,它将成为最终的测试工具 - 甚至比Selenium更好,因为它将完全由键盘驱动.

javascript emacs firefox configuration conkeror

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

如何在Javascript对象中找到隐藏的属性/方法?

我想通过此函数的泛化自动确定给定Javascript对象中的所有属性(包括隐藏的属性):

function keys(obj) {
    var ll = [];
    for(var pp in obj) {
        ll.push(pp);
    }
    return ll;
}
Run Code Online (Sandbox Code Playgroud)

这适用于用户定义的对象,但许多内置程序都失败了:

repl> keys({"a":10,"b":2});  // ["a","b"]
repl> keys(Math) // returns nothing!
Run Code Online (Sandbox Code Playgroud)

基本上,我想编写Python的dir()和help()的等价物,它们在探索新对象时非常有用.

我的理解是只有内置对象具有隐藏属性(用户代码显然不能设置"可枚举"属性直到HTML5),因此一种可能性是简单地将Math,String等属性硬编码为dir()等价物(使用这里的列表).但有更好的方法吗?

编辑:好的,到目前为止我看到的最佳答案是在这个帖子上.你不能用你自己的JS代码轻松做到这一点,但最好的办法是在Chrome的开发者工具(Chrome - > View - > Developer - > Developer Tools)中使用console.dir.运行console.dir(Math)并单击三角形向下钻取以列出所有方法.这对于大多数交互/发现工作来说已经足够好了(你真的不需要在运行时这样做).

javascript python hidden introspection

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