网上有足够的关于HTML5的信息(以及stackoverflow),但现在我对"最佳实践"感到好奇.section/headers/article之类的标签是新的,每个人对于何时/何地使用这些标签都有不同的看法.那么你们怎么看待以下布局和代码?

1 <!doctype html>
2 <head>
3 <title>Website</title>
4 </head>
5
6 <body>
7 <section>
8 <header>
9 <div id="logo"></div>
10 <div id="language"></div>
11 </header>
12
13 <nav>
14 <ul>
15 <li>menu 1</li>
16 <li>menu 2</li>
17 <li>menu 3</li>
18 <li>menu 4</li>
19 <li>menu 5</li>
20 </ul>
21 </nav>
22
23 <div id="main">
24 <div id="main-left">
25 <article>
26 <header><h1>This is a title</h1></header>
27
28 <p>Lorem ipsum dolor sit amet, consectetur
29 adipiscing elit. Quisque semper, leo eget</p>
30
31 …Run Code Online (Sandbox Code Playgroud) 在HTML5中,我知道<nav>可以在页面的标头<header>元素内部或外部使用 .对于同时具有辅助和主导航的网站,将辅助导航作为<nav>标头<header>元素内的元素包含主导航作为<nav>标头<header>元素外部的元素似乎很常见.但是,如果网站缺少辅助导航,则通常将主导航<nav>包含在标头<header>元素内的元素中.
如果我遵循这些示例,我的内容结构将基于包含或排除辅助导航.这引入了内容和风格之间的耦合,感觉不必要和不自然.
是否有更好的方法,以便我不会<header>根据包含或排除辅助导航将主导航从内部移动到标头元素外部?
<header>
<nav>
<!-- Secondary Navigation inside <header> -->
<ul>
<li></li>
</ul>
</nav>
<h1>Website Title</h1>
</header>
<nav>
<!-- Main Navigation outside <header> -->
<ul>
<li></li>
</ul>
</nav>
Run Code Online (Sandbox Code Playgroud)
OnlineDegrees.org是一个遵循上述模式的示例网站.

<header>
<h1>Website Title</h1>
<nav>
<!-- Main Navigation inside <header> -->
<ul>
<li></li>
</ul>
</nav>
</header>
Run Code Online (Sandbox Code Playgroud)
Keyzo.co.uk是一个遵循上述模式的示例网站.

Bruce Lawson和Remy Sharp介绍的HTML5有关于这个主题的说法:
标题还可以包含导航.这对于站点范围的导航非常有用,尤其是在模板驱动的站点上,整个
<header> …
我是gevents和greenlets的新手.我找到了一些关于如何使用它们的好文档,但是没有一个能让我证明我应该如何以及何时使用greenlets!
我不确定的是,如果它们基本上是共同惯例,它们如何为我们提供并发性.
我知道当对端的套接字关闭时会抛出损坏的管道错误.
但是,在我的测试中,我注意到当对等方关闭时,此方立即发送"发送"呼叫并不总是导致管道错误.
例如:
在对等端关闭套接字后(我通过调用close来尝试干净关闭,并且通过查杀对等体也尝试异常关闭),如果我尝试发送40个字节,那么我没有得到破坏的管道,但是,如果我尝试发送40000字节然后它立即给出损坏的管道错误.
究竟是什么原因导致管道断裂并且可以预测它的行为?
是否有一个备忘单或维基页面将hg命令与git命令相关联,反之亦然?
我想知道两个原因:首先,我希望能够将git-speak 1转换为Mercurial,其次我想要了解类似声音命令之间的微妙差异(例如,hg pull和git pull) .
1个案例:git push origin :refs/heads/foo
假设我set -x在脚本"a.sh"中执行,并调用另一个脚本"b.sh".
是否可以让"b.sh"继承"a.sh"中的-x选项?
我想从IMAP4服务器获取整个消息.在python docs中,如果发现这段代码有效:
>>> t, data = M.fetch('1', '(RFC822)')
>>> body = data[0][1]
Run Code Online (Sandbox Code Playgroud)
我想知道我是否总能相信数据[0] [1]返回消息正文.当我运行'RFC822.SIZE'时,我只有一个字符串而不是一个元组.
我已经浏览了rfc1730,但我无法找出'RFC822'的正确响应结构.从imaplib文档中判断获取结果结构也很困难.
这是我在获取时获得的内容RFC822:
('OK', [('1 (RFC822 {858569}', 'body of the message', ')')])
Run Code Online (Sandbox Code Playgroud)
但当RFC822.SIZE我拿到我的时候:
('OK', ['1 (RFC822.SIZE 847403)'])
Run Code Online (Sandbox Code Playgroud)
我该如何正确处理数据[0]列表?我可以相信,当它是一个元组列表时,元组恰好有3个部分而第二部分是有效负载吗?
也许你知道imap4的更好的库?
我使用python的socket.py来创建到ftp-server的连接.现在我想重置连接(发送RST标志)并监听ftp-server的响应.(使用socket.send('','R')的FYI不起作用,因为OS发送FIN标志而不是RST.)
我在我的脚本中使用argparse.ArgumentParser(),我想显示我的脚本的pydoc描述作为argparse的' - help'选项的一部分.
一种可能的解决方案是使用ArgumentParser 的formatter_class或description属性来配置帮助的显示.但在这种情况下,我们需要在内部使用'pydoc'命令来获取描述.
我们还有其他方法(可能是优雅的)吗?
我的配置缩进了四个空格,我想保留它.偶尔(例如在Makefile中)我想输入一个文字TAB字符.
当我在该实例中点击制表符或空格时,如何强制IntelliJ-IDE输入制表符或空格?