我正在使用iTerm2 + Tmux + Vim。
这是我的点文件:https ://bitbucket.org/furion/dotfiles/src
我遇到的问题是,在Tmux会话中打开Vim时,C-s绑定不起作用。
当我仅在常规iTerm2会话中运行Vim时,C-s工作正常。由于我经常使用此击键,因此它实在令人沮丧。
此外,此问题仅在OSX上存在。在我的Arch盒子上,无论是否使用Tmux,一切正常。
编辑:我已经禁用了控制流:
bind -r '\C-s'
stty -ixon
stty stop undef
Run Code Online (Sandbox Code Playgroud)
此问题仅在OSX上。另外,它仅在OSX上的Tmux下。没有Tmux没问题。在带有或不带Tmux的Arch Linux上,没有问题。
我上周开始学习Ruby,今天我开始学习Rails,所以请耐心等待.我看到Rails带有生成器,允许您生成模型/控制器甚至模型+控制器+视图包作为"脚手架".这就是我感兴趣的.
但是,我有一个问题.如何设置列的数据库选项?
例如.要生成用户表,我会这样做:
rails g scaffold users uuid:binary name:string email:string password:binary registered_on:date number:integer default:string
Run Code Online (Sandbox Code Playgroud)
现在如果我是完整性怪物并且不仅仅在模型/控制器中进行验证,而且想要进行数据库级别限制,那该怎么办呢?如果我想email最多50个字符,并且number自动递增,并且所有字段都不允许为NULL并且default字段必须具有默认值'foo',该怎么办?有没有办法将这些要求传递给发电机命令?
我知道可以在rake db:migrate中使用的.rb文件中设置这些选项,但是使用1命令传递值会更容易.
好的,我有这个Ruby脚本应该包含在许多Rails应用程序中.所以我不想把它分解成碎片并将它塞进一个特定的应用程序,但宁愿将它保存在一个部分并让Rails应用程序加载它.该脚本主要来自模型,邮件程序和很少的控制器.
因此,如果我的脚本是tools.rb,我应该把它放在Rails文件树中的哪个位置以及我应该如何/在我的Rails应用程序中包含它?该脚本还附带YAML文件.
这是我第二天学习Rails,所以请耐心等待.
我想定义一个http.Client自动将表单值附加到所有 GET/POST 请求的方法。
我天真地尝试实现http.RoundTripper从另一个库复制/粘贴使用这种技术来修改每个请求的标头。
type Transport struct {
// Transport is the HTTP transport to use when making requests.
// It will default to http.DefaultTransport if nil.
// (It should never be an oauth.Transport.)
Transport http.RoundTripper
}
// Client returns an *http.Client that makes OAuth-authenticated requests.
func (t *Transport) Client() *http.Client {
return &http.Client{Transport: t}
}
func (t *Transport) transport() http.RoundTripper {
if t.Transport != nil {
return t.Transport
}
return http.DefaultTransport
}
func (t *Transport) …Run Code Online (Sandbox Code Playgroud) 我试图从XML中获取一些属性值,但没有成功. http://play.golang.org/p/a5IqjbH3DV
谁能发现我做错了什么?
假设我在包中有一个包github.com/user/foo:
foo/
main.go (package main)
bar/
bar.go (package bar)
Run Code Online (Sandbox Code Playgroud)
现在,bar.go我想在内部使用导出类型main.go.
package main
type FooBar struct {}
Run Code Online (Sandbox Code Playgroud)
如果我试图import "github.com/user/foo"让循环导入不允许错误.有没有办法做到这一点,除了创建自己的回购bar,我不想要.
我有一个关于URL Dispatch或Traversal的初学者问题.我想要做的是使用Mako渲染器渲染我的观点.所以我有这个文件夹/ includes /所有的html和css和javascript.这是我的金字塔主要代码:
from pyramid.config import Configurator
def main(global_config, **settings):
config = Configurator(settings=settings)
config.add_static_view('includes', 'includes', cache_max_age=3600)
config.add_renderer(".html", "pyramid.mako_templating.renderer_factory")
config.add_route('home', '/')
config.scan()
return config.make_wsgi_app()
Run Code Online (Sandbox Code Playgroud)
这些是我的看法:
@view_config(route_name='home', renderer='index.html')
def my_view(request):
return {'name':'Netherdrake'}
@view_config(name = 'login', renderer='login.html')
def login(request):
return {'name':'Netherdrake'}
Run Code Online (Sandbox Code Playgroud)
问题是,当我访问ip:port/login网站工作正常,但当我尝试ip:port/login/css,javascript和图像不起作用.原因是,我的绝对路径无效.
这是我的login.html片段(真的是mako模板)而没有/登录时:
<link href="includes/css/twitter/bootstrap.css" rel="stylesheet">
<link href="includes/css/base.css" rel="stylesheet">
<link href="includes/css/twitter/responsive.css" rel="stylesheet">
<link href="includes/css/jquery-ui-1.8.23.custom.css" rel="stylesheet">
<script src="includes/js/plugins/modernizr.custom.32549.js"></script>
Run Code Online (Sandbox Code Playgroud)
在这里,我正在登录/路径(在这种情况下网站被破坏,没有css,图像,js ......):
<link href="includes/css/twitter/bootstrap.css" rel="stylesheet">
<link href="includes/css/base.css" rel="stylesheet">
<link href="includes/css/twitter/responsive.css" rel="stylesheet">
<link href="includes/css/jquery-ui-1.8.23.custom.css" rel="stylesheet">
<script src="includes/js/plugins/modernizr.custom.32549.js"></script>
Run Code Online (Sandbox Code Playgroud)
login.html也在/包含.
我如何解决这个问题,并使其在两条路径下工作,有无斜线?我尝试了几个和url调度,两个问题都是一样的.
为了满足我的需要,我在Go中做了一个小小的黑客,用动态标志运行第三方可执行文件(这取决于服务器设置和一些硬件规格,每台机器上每次都不同).
我正在使用一些简洁的库来帮助我找出Go可执行文件所在的路径.第三方二进制文件与Go one在同一文件夹中.
path, err := osext.ExecutableFolder()
if err != nil {
log.Fatal(err)
}
path += "3rdparty.exe"
Run Code Online (Sandbox Code Playgroud)
我运行fmt的Sprintf方法,将路径和标志放入名为Command的单个字符串中.
我试着像这样调用它:
out, err := exec.Command(Command).Output()
if err != nil {
fmt.Println("Command execution failed:", err)
}
Run Code Online (Sandbox Code Playgroud)
然而,错误不是零.我无法复制vmware的错误(设置窗口只是为了编译和测试),但它是这样的:
Command execution failed: "C:\\PATH\\TO\\3rdparty.exe --flags-omitted" file does not exist
但是,当我复制C:\\PATH\\TO\\3rdparty.exe --flags-omitted到cmd时,它运行得很好.
有任何想法吗?
好吧,所以我创建了这个小函数,允许我将字符串变成32个字符的乘数,但是当我使用String .replace时,我得到了一些非常非常奇怪的错误.因为它让我拉扯我的头发,你们可以看一看,看看我错过了什么.
Variables:
self.blockSize = 32
self.interrupt = '$^EnD#Block^$'
self.filler = '#'
Functions:
def pad(self, data):
joint1 = ''.join([data, self.interrupt])
joint2 = self.filler * ((self.blockSize - len(joint1)) % self.blockSize)
return ''.join([joint1, joint2])
def unpad(self, data):
data = str(data).rstrip(self.interrupt)
return data.replace(self.filler, '')
Call:
p = e.pad('this is not a very good idea yo')
print(p)
print(e.unpad(p))
Output:
Jans-MacBook-Pro:test2 jan$ ../../bin/python3 data.py
this is not a very good idea yo123$^EnD#Block^$################
this is not a very good idea yo123
Jans-MacBook-Pro:test2 jan$ ../../bin/python3 data.py
this …Run Code Online (Sandbox Code Playgroud) 假设我有这个查询:
SELECT * FROM 'users' WHERE ( username = 'foo' OR email = 'bar' )
Run Code Online (Sandbox Code Playgroud)
如何使用,查询使用?标记而不是直接传递值.例如.
SELECT * FROM 'users' WHERE ( username = ? OR email = ? ...
Run Code Online (Sandbox Code Playgroud)
并且如果可能的话,在WHERE()子句中指定输入.
编辑:我刚刚读过某个地方使用的?查询中的标记可以提高性能并有助于sql注入.这就是我在这里要做的.
我刚刚发现有些人倾向于将其重新映射:到;Vim中(因为;它仅用于搜索,并且:一直使用,而不是一直按下Shift很棒).
编辑(忘了显示我做了什么):
nnoremap ; :
nnoremap : ;
Run Code Online (Sandbox Code Playgroud)
我试过了,我喜欢它.但是,它确实带来了价格.这有点打破我的配置,例如:
map <leader>G mG:Git!
Run Code Online (Sandbox Code Playgroud)
像上面看到的命令不再有效.
所以我的问题是,对于那些重新映射分号的人来说,解决这个问题的方法是什么?我应该只通过xmodmap 重新映射:并;在系统级别上吗?
决定: 最终,为了保持一致性,我决定在系统级重新映射冒号和分号.