据我了解,之间的差别printf,fprintf,sprintf等功能和vprintf,vfprintf,vsprintf等功能,与他们如何应对函数的参数做.但具体怎么样?有没有理由使用一个而不是另一个?我是否应该总是使用printf,因为在C中看起来更常见,或者是否有合理的理由选择vprintf?
有意义的是像操作系统这样的东西会用C编写.但它有多少,以及什么样的C?我的意思是,在C中,如果你需要一些堆内存,你可以调用malloc.但是,操作系统甚至有堆吗?据我所知,malloc 向操作系统询问内存,然后将其添加到链表,二叉树或其他内容.调用堆栈怎么样?操作系统负责设置其他应用程序使用的所有内容,但它是如何做到的?如果要在C中打开或创建文件,相应的函数会向操作系统询问该文件.所以...那个电话的另一边有什么样的C?或者在内存分配的另一端?
另外,实际上用C编写了多少操作系统?所有的?架构相关代码怎么样?那些更高级别的抽象怎么样?是否用高级语言编写,比如C++?
我的意思是,我只是出于纯粹的好奇而问这个问题.我现在正在下载最新的Linux内核,但这需要永远.我不确定我是否能够遵循代码 - 或者我是否会陷入一个我从未见过的不可避免的复杂网络中.
我经常听说函数式编程解决了许多在程序/命令式编程中难以解决的问题.但我也听说过程序编程自然很擅长的其他一些问题并不是很好.
在我打开关于Haskell的书并深入研究函数式编程之前,我至少想了解一下我能用它的基本概念(在本书的例子之外).那么,函数式编程擅长的是什么呢?它不适合的问题是什么?
到目前为止,我已经得到了一些很好的答案.我迫不及待地开始学习Haskell - 我只需要等到我掌握C :)
函数式编程很棒的原因:
函数式编程困难的领域:
所以,在向我的兄弟演示Chrome浏览器的DOM浏览器时,我不禁注意到Google使用了<font size=-2>标签.
我知道这是一个愚蠢的问题,但从编程的角度来看 - 为什么他们会在Google上使用弃用的标签?是因为它比使用它更小<p class="whatever">,然后为它创建一个样式,或者只是去<p style="font-size: x-small">?
我知道error_reporting(0);,和ini_set('display_errors', false);,但没有出现在WordPress的通知:
注意:第359行/var/www/vhosts/treethink.net/subdomains/parkridge/httpdocs/wp-includes/formatting.php中的数组到字符串转换
它只是出现在WordPress的,而不是在该网站的任何其他页面.
我检查了phpinfo(),一切都已设置,以便不显示错误.为什么这个仍然出现?
以下是生成错误的行:
function wp_check_invalid_utf8( $string, $strip = false ) {
$string = (string) $string;
Run Code Online (Sandbox Code Playgroud)
我确实在wordpress中改变了一些东西,改变了画廊的工作方式.但不是这个函数,我也不认为我改变了对这个函数的任何调用.除了出现的通知,一切似乎都运行得很好,我只需要隐藏这个错误.
我不是数据库专家 - 我真的知道基础知识.我已经为一个小项目选择了SQLAlchemy,我使用的是声明式基本配置,而不是"正常"方式.这种方式似乎更简单.
但是,在设置我的数据库模式时,我意识到我不了解一些数据库关系概念.
如果我之前有多对一的关系,例如作者的文章(每篇文章只能由一位作者撰写),我会author_id在我的articles专栏中添加一个字段.但SQLAlchemy有这个ForeignKey对象,以及与backref kwarg的关系函数,我不知道它有什么意思.
我很害怕找出与中间表的多对多关系(当我需要关于每个关系的额外数据时).
有人可以为我揭开这个神秘面纱吗?现在我正在设置为我的应用程序允许openID auth.所以我有这个:
from __init__ import Base
from sqlalchemy.schema import Column
from sqlalchemy.types import Integer, String
class Users(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
username = Column(String, unique=True)
email = Column(String)
password = Column(String)
salt = Column(String)
class OpenID(Base):
__tablename__ = 'openid'
url = Column(String, primary_key=True)
user_id = #?
Run Code Online (Sandbox Code Playgroud)
我认为?应该替换为Column(Integer, ForeignKey('users.id')),但我不确定 - 我是否需要放入openids = relationship("OpenID", backref="users")Users类?为什么?它有什么作用?什么是backref?
我刚刚开始感受到emacs,但是当我按下返回键时,我很沮丧.我知道如果我按下它会做它,但我不能养成这个习惯.我不能.我需要回击,我讨厌每次重新标记.
我进入选项并发现C模式钩子和C++模式钩子等 - 他们定义了两个键映射(10和13,我记得0A和0D是CR/LF,因为我在组装中经常使用它们) - - 我想,因为一个说" (lambda nil (define-key lisp-mode-map [13] (quote newline-and-indent))"和另一个相同,但(quote newline)相反,我只是把 - 并 - 缩进在它的末尾,并认为它会工作.
但事实并非如此:我设置并保存它,尝试过但无济于事.重启emacs,仍然没有成功.如何缩进我的代码呢?非常疯狂的是,emacs需要一个lisp学位才能根据你的基本需求进行配置.
另外,作为一个侧面问题:如何从剪贴板复制和粘贴?Killing/yanking很方便,除了我讨厌每次我想粘贴到其他地方时都要编辑 - >复制.
- 编辑 -
好吧,我把以下几行放到我的.emacs中并且它有效:
(add-hook 'c-mode-common-hook (lambda ()
(local-set-key (kbd "RET") 'newline-and-indent)))
谢谢您的帮助
如果我通过POST提交禁用的文本字段,结果值将在操作页面上显示什么?
例如,我有:
<table border=0 cellpadding=4 cellspacing=0>
<tr><td>
<input type="checkbox" id="chk_$item"
onClick="javascript:handleClick('$item')">
</td><td>
<input type="text" id="txt_$item" name="addresses[]" value="$item">
</td></tr>
<tr><td>
...etc...
</td></tr>
</table>
Run Code Online (Sandbox Code Playgroud)
在handleClick()JavaScript函数检查,如果chk_$item被选中,如果没有,它会禁用txt_$item文本字段.
当我提交它时,所有文本字段都转到addresses[]PHP脚本中的数组.
但是,如果它被禁用,我可以阻止该字段提交任何内容吗?它会默认执行此操作吗?如果没有,我应该如何改变行为?(我真的不想在他们被禁用时清除这些字段).
我正在使用CodeIgniter运行LAMP环境.我希望能够使用它的URL模式,比如http://localhost/controller/function/ID,但是默认情况下它必须是http://localhost/index.php/controller/function/ID.用户指南说我需要一个.htaccess文件来使前一种风格成为可能,并以此为例:
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
Run Code Online (Sandbox Code Playgroud)
但我不明白这是如何工作的.我应该把.htaccess放在哪里?它必须在服务器根目录中吗?
如果我的服务器上运行了多个站点,该怎么办?我是否必须将其插入/var/www/并根据加载的目录指定条件?或者我可以把它放进去/var/www/site_using_codeigniter/?我不确定如何让这个工作.
如果请求的URL实际上不存在,我是否可以将其设置为仅映射到MVC URL?例如,它http://localhost/articles/2009/some-article-name不是服务器上的目录,因此它将映射到index.php并给予codeigniter,但http://localhost/forum 它将存在于服务器上但不应由codeigniter处理.
我应该用.htaccess文件做的任何其他事情?有什么好看的吗?
我改变了我的配置文件:
$config['index_page'] = ""; //used to be "index.php"
Run Code Online (Sandbox Code Playgroud)
并将其添加到.htaccess文件中:
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
Run Code Online (Sandbox Code Playgroud)
并将其保存在我的站点根目录中(在本例中/var/www/cms/)
我进入了/etc/apache2/conf.d/security(由/etc/apache2/apache2.conf包含)并执行了以下操作:
<Directory />
AllowOverride All #was "none", but this was all commented out
Order Deny,Allow
Deny from all
</Directory>
Run Code Online (Sandbox Code Playgroud)
但它仍然无法正常工作.如果我导航到http://localhost/cms/index.php/hello,它会打印"Hello there",但http://localhost/cms/hello会出现404错误.
想法? …
我从中派生了一个类Exception,基本上是这样的:
class MyException extends Exception {
private $_type;
public function type() {
return $this->_type; //line 74
}
public function __toString() {
include "sometemplate.php";
return "";
}
}
Run Code Online (Sandbox Code Playgroud)
然后,我是MyException这样派生的:
class SpecialException extends MyException {
private $_type = "superspecial";
}
Run Code Online (Sandbox Code Playgroud)
如果我throw new SpecialException("bla")来自一个函数,捕获它,然后去echo $e,那么该__toString函数应该加载一个模板,显示它,然后实际上不返回任何回显.
这基本上就是模板文件中的内容
<div class="<?php echo $this->type(); ?>class">
<p> <?php echo $this->message; ?> </p>
</div>
Run Code Online (Sandbox Code Playgroud)
在我看来,这绝对有用.但是,当抛出异常并尝试显示它时,我收到以下错误:
致命错误:无法访问第74行的C:\ path\to\exceptions.php中的私有属性SpecialException :: $ _ type
任何人都可以解释为什么我违反规则吗?我用这段代码做了一些非常机智的事吗?有没有更惯用的方法来处理这种情况?$_type变量的点是(如图所示)我希望根据捕获的异常类型使用不同的div类.
c ×2
html ×2
php ×2
.htaccess ×1
codeigniter ×1
css ×1
emacs ×1
exception ×1
form-submit ×1
forms ×1
haskell ×1
javascript ×1
kernel ×1
minify ×1
oop ×1
python ×1
sqlalchemy ×1
wordpress ×1