验证用户输入的IP有效的最佳方法是什么?它以字符串形式出现.
我刚刚开始使用外键第一次使用外键,我想知道是否有一个标准的命名方案可用于它们?
鉴于这些表格:
task (id, userid, title)
note (id, taskid, userid, note);
user (id, name)
Run Code Online (Sandbox Code Playgroud)
任务具有Notes,任务由用户拥有,用户拥有Notes.
在这种情况下如何命名三个外键?或者,它甚至是否重要?
更新:这个问题是关于外键名称,而不是字段名称!
出于调试目的,我需要以递归方式在目录中搜索以UTF-8字节顺序标记(BOM)开头的所有文件.我目前的解决方案是一个简单的shell脚本:
find -type f |
while read file
do
if [ "`head -c 3 -- "$file"`" == $'\xef\xbb\xbf' ]
then
echo "found BOM in: $file"
fi
done
Run Code Online (Sandbox Code Playgroud)
或者,如果您喜欢简短,不可读的单行:
find -type f|while read file;do [ "`head -c3 -- "$file"`" == $'\xef\xbb\xbf' ] && echo "found BOM in: $file";done
Run Code Online (Sandbox Code Playgroud)
它不适用于包含换行符的文件名,但无论如何都不会出现这样的文件.
是否有更短或更优雅的解决方案?
文本编辑器是否有任何有趣的文本编辑器或宏?
我们将在Sinatra开发一个小API应用程序.有哪些身份验证选项可用于保护API调用?
我一直看到像这样检查的代码
if (IsGood == false)
{
DoSomething();
}
Run Code Online (Sandbox Code Playgroud)
或这个
if (IsGood == true)
{
DoSomething();
}
Run Code Online (Sandbox Code Playgroud)
我讨厌这种语法,并始终使用以下语法.
if (IsGood)
{
DoSomething();
}
Run Code Online (Sandbox Code Playgroud)
要么
if (!IsGood)
{
DoSomething();
}
Run Code Online (Sandbox Code Playgroud)
有没有理由使用' == true
'或' == false
'?
这是一个可读性的东西吗?人们只是不了解布尔变量?
另外,这两者之间是否有任何性能差异?
我的程序根据要求生成相对简单的PDF文档,但是我遇到了unicode字符的麻烦,比如汉字或奇数数学符号.要在PDF中编写普通字符串,请将其放在括号中:
(something)
Run Code Online (Sandbox Code Playgroud)
还可以选择使用八进制代码转义字符:
(\527)
Run Code Online (Sandbox Code Playgroud)
但这最多只能达到512个字符.你如何编码或逃避更高的字符?我已经看到了对字节流和十六进制编码字符串的引用,但我读过的所有引用似乎都不愿意告诉我如何实际执行它.
编辑:或者,指向一个好的Java PDF库,它将为我完成这项工作.我正在使用的是gnujpdf的一个版本(我修复了几个错误,因为原作者似乎已经破解了),这允许你针对AWT图形界面进行编程,理想情况下,任何替换应该做相同.
替代方案似乎是HTML - > PDF,或基于段落和方框的编程模型,感觉非常像HTML.iText是后者的一个例子.这意味着重写我现有的代码,我不相信他们会给我相同的灵活性.
编辑2:我之前没有意识到,但iText库有一个Graphics2D API,似乎完美地处理unicode,所以这就是我将要使用的.虽然它不是问题的答案,但它解决了我的问题.
编辑3: iText对我很有用.我想这一教训是,当面对一些看起来毫无意义的困难时,找一个比你更了解它的人.
在跨平台的c/c ++项目(Win32,Linux,OSX)中,我需要使用*printf函数来打印一些size_t类型的变量.在某些环境中,size_t是8个字节,而在其他环境中它们是4.在glibc上我有%zd,在Win32上我可以使用%Id.有一种优雅的方式来处理这个问题吗?
我有一个用Java编写的服务器软件,可以在Windows和OS X上运行.(它不是在服务器上运行,而只是普通用户的PC - 类似于torrent客户端.)我希望软件发出信号在操作系统处于活动状态时保持机器处于唤醒状态(防止其进入睡眠模式).
当然我不希望有一个跨平台的解决方案,但我希望有一些非常小的C程序/脚本,我的应用程序可以产生,以通知操作系统保持清醒.
有任何想法吗?
我currentyl对如何在PHP中对包含UTF-8编码字符串的数组进行排序没有任何线索.该阵列来自LDAP服务器,因此通过数据库排序(没有问题)是没有解决方案.以下不适用于我的Windows开发机器(虽然我认为这至少应该是一个可能的解决方案):
$array=array('Birnen', 'Äpfel', 'Ungetüme', 'Apfel', 'Ungetiere', 'Österreich');
$oldLocal=setlocale(LC_COLLATE, "0");
var_dump(setlocale(LC_COLLATE, 'German_Germany.65001'));
usort($array, 'strcoll');
var_dump(setlocale(LC_COLLATE, $oldLocal));
var_dump($array);
Run Code Online (Sandbox Code Playgroud)
输出是:
string(20) "German_Germany.65001"
string(1) "C"
array(6) {
[0]=>
string(6) "Birnen"
[1]=>
string(9) "Ungetiere"
[2]=>
string(6) "Äpfel"
[3]=>
string(5) "Apfel"
[4]=>
string(9) "Ungetüme"
[5]=>
string(11) "Österreich"
}
Run Code Online (Sandbox Code Playgroud)
这完全是胡说八道.使用1252作为代码页setlocale()
给出了另一个输出,但仍然是一个明显错误的输出:
string(19) "German_Germany.1252"
string(1) "C"
array(6) {
[0]=>
string(11) "Österreich"
[1]=>
string(6) "Äpfel"
[2]=>
string(5) "Apfel"
[3]=>
string(6) "Birnen"
[4]=>
string(9) "Ungetüme"
[5]=>
string(9) "Ungetiere"
}
Run Code Online (Sandbox Code Playgroud)
有没有办法用UTF-8字符串区域设置识别数组?
刚才注意到这似乎是PHP上的问题,因为de_DE.utf8
用作locale 的相同代码段可以在Linux机器上运行.不过,这个特定于Windows的问题的解决方案会很好......
如何在C Windows程序中将代码页设置为UTF-8?
我有一个第三方库,使用fopen打开文件.我可以使用wcstombs将我的Unicode文件名转换为当前代码页,但是如果用户的文件名在代码页之外有一个字符,则会中断.
理想情况下,我只需调用_setmbcp(65001)将代码页设置为UTF-8,但_setmbcp的MSDN文档声明不支持UTF-8.
我怎么能绕过这个?
utf-8 ×4
c ×2
php ×2
unicode ×2
windows ×2
api ×1
arrays ×1
boolean ×1
c++ ×1
database ×1
foreign-keys ×1
ip-address ×1
java ×1
macos ×1
networking ×1
not-operator ×1
pdf ×1
printf ×1
python ×1
shell ×1
sinatra ×1
size-t ×1
sorting ×1
text-editor ×1
validation ×1
winapi ×1