如果我使用sudo运行shell脚本,如何获得正确的$ USER?
我在Mac安装包中将它们作为postinstall脚本运行,在那里它们被自动sudo-ed,但我需要使用用户名做一些事情.
但是,$ HOME是正确的.不优雅的方法是从主路径中提取名称,但我想知道是否有一种自然的方法来做到这一点.
我不能影响调用脚本的方式,因为它是安装程序内的自动调用.
我正在看看Go,看起来很有前途.我试图弄清楚如何获得go结构的大小,例如类似的东西
type Coord3d struct {
X, Y, Z int64
}
Run Code Online (Sandbox Code Playgroud)
当然我知道它是24个字节,但我想以编程方式知道它...
你有什么想法怎么做?
我想得到偏移量
在vim中,从文件的开头开始.我在python中这样做,所以提示如何使用vim的python脚本编写将非常有帮助.
我之前使用过vim.current ..来编写脚本,但它使用的是行和列,而不是一般的偏移量.
我是否必须计算所有先前行长度+当前行的数量,还是有更简单的方法?
你知道任何有特别有趣/写得好的单元测试的开放软件项目吗?
编写单元测试通常对我来说很奇怪,因为它似乎太随机,太密集,稀疏,...阅读一些真实世界的例子(而不是书籍,库示例代码等)会很棒.
我必须维护Access 2003 VBA代码的一部分,这不是我的主要编程语言,虽然我非常擅长做常规的东西,但我仍然希望有一个纯语言语法规范..它只是保存与阅读大量愚蠢的教程相比,这些教训很多,告诉我什么是for循环.
VBA语法上是否有任何资源?我很乐意让它尽可能正式,可能像BNF.我找不到官方的规格.
我想连接到远程MySQL主机(带rake db:create
),但Rails总是认为它是本地的.Database.yml使用以下配置:
defaults: &defaults
encoding: unicode
adapter: mysql
username: <username>
password: *************
port: 3306
host: <remote ip address>
development:
<<: *defaults
database: <db name>
test: &test
<<: *defaults
database: <db name>
production:
<<: *defaults
database: <db name>
Run Code Online (Sandbox Code Playgroud)
在数据库上尝试任何操作时总是会出现此错误:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Run Code Online (Sandbox Code Playgroud)
只要我使用本地数据库(即没有主机/端口部分),配置就可以工作.连接到远程MySQL服务器与给定的细节工作正常.
什么是错误的任何想法?
编辑:问题只发生rake:db:create
,其他任务工作 - 错误消息真的很误导.
我正在寻找有关如何共同发布第一个开源项目源的技术部分的文档,特别是C/C++,Java,Python中的库密集型内容.
举个例子,如果我使用像Netbeans这样的IDE和像Xerces-C和Boost这样的各种库构建一个C++项目,我想了解一下这些问题:
这是在我自己的环境之外为这样的流程组织构建过程的最常用工具,更重要的是
我如何以"普遍完成"的方式学习它们?我使用了许多开源项目,当然可以读取构建代码(makefile和配置选项等),但这并没有告诉我如何实现这些目标,重要的细节是什么以及通常预期的内容.
是否存在特定语言(如提到的那些)类似于部署的"编码风格"指导?是否有开源项目有关于此的指导原则?
在部署源代码时(而不是使用apt/port/etc的软件包,可以解决依赖关系),部署库依赖项的典型方法是什么?
我知道我可以阅读所有联机帮助页和所有文档,但我想了解"约定"以及它们是如何实现和预期的,而不是所有可能的技术选项.
我在另一个stackoverflow帖子上找到了这个,它很好,但不是很具体:http: //producingoss.com/en/producingoss.html
我想知道一个'正常'的内部连接是否会导致MySQL查询中的执行性能更高,而不是简单的查询,其中列出所有表,然后使用'和t1.t2id = t2.id'等连接它们.
假设我正在使用模板化的类,其中包含以下内容:
template <class T>
class MyClass
Run Code Online (Sandbox Code Playgroud)
我想使用T的命名空间中的元素,例如T可以是字符串,我想使用
T::const_iterator myIterator;
Run Code Online (Sandbox Code Playgroud)
...或类似的东西.我如何实现这一目标?可能,它要么不可能,要么非常简单,但我不知道.
谢谢你的回答!
除了使用带有调试器的完全集成的IDE(如Eclipse)之外,还有什么小工具可以实现这个目的:
它不需要抛光,甚至不是绝对稳定的,它可以是像wx这样的小部件库的内省示例代码.平台独立会很好(不是PyObjC程序,或类似的东西在Windows上).
有任何想法吗 ?
编辑:是的,我知道pdb,但我正在寻找所有当前对象的图形树.
不过,这里有一个很好的介绍如何使用pdb(在这种情况下在Django中): pdb + Django
假设我知道我的一些C/CPP文件包含某些标题 - 除了猜测之外,是否有任何可靠的信息来说明我必须链接哪些库?
例如,如果我有类似的东西
#include "foo.h"
Run Code Online (Sandbox Code Playgroud)
并希望找到
libfoo_abcdef_123.so
Run Code Online (Sandbox Code Playgroud)
有没有"最佳实践"如何做到这一点,在哪里可以看?
我正在尝试使用Nim Posix库,特别是文件系统统计信息:
http://nim-lang.org/docs/posix.html#Stat
从我对其他Nim模块的测试中,导入和使用应该像这样工作:
import posix
var stats: Stat
stat("/", stats)
echo stats.st_blksize
Run Code Online (Sandbox Code Playgroud)
但编译器给了我一个
Error: undeclared identifier: 'Stat'
Run Code Online (Sandbox Code Playgroud)
编译时是否需要添加一些手动包含,或者我是否遗漏了导入的内容?
我正在为工作环境构建一个部署,并使用Inno Setup进行部署.我将其他安装程序包装在一个Inno-exe-File中.它与其他exe安装程序一起正常工作,但在MSI安装程序方面失败了.
我不知道是否有任何一般性问题,但它完全忽略了我与MSI exe的文件关联(它在Explorer中工作正常,关联是可以的).
有任何想法吗 ?可能有一些普遍的问题..
c++ ×3
mysql ×2
python ×2
bnf ×1
build ×1
c ×1
class ×1
database ×1
debugging ×1
deployment ×1
go ×1
header ×1
include ×1
inno-setup ×1
installer ×1
join ×1
linker ×1
namespaces ×1
nim-lang ×1
offset ×1
open-source ×1
performance ×1
shell ×1
sizeof ×1
struct ×1
sudo ×1
syntax ×1
templates ×1
unit-testing ×1
unix ×1
vba ×1
vim ×1
windows ×1