Flask Web 开发【 Chapter 3 】模板

【Chapter 3】模板

模板是一个包含响应文本的文件,其中个包含用站位变量表示的动态部分,其具体值只在请求的上下文中才能知道。

渲染是一个使用真实值替换变量,在返回最终得到的响应字符串的过程。

Jinja2 是一个强大模板引擎用来渲染模板。

3.1 Jinja2 模板引擎

3.1.1 渲染模板

默认情况下,Flask 在程序文件夹中的 templates 子文件夹中寻找模板。在下一个 hello.py 版本中,要把前面定义的模板保存在 templates 文件夹中,并分别命名为 index.html 和 user.html。

templates\index.html

Hello World

templates\user.html

{# {{ name }} 表示一种变量,模板中的占位符 #}

Hello,{{ name }}!

hello.py:渲染模板


from flask import Flask,render_template


# 1.初始化 Flask 对象
app = Flask(__name__)
# manager = Manager(app)



# 2. 设置路由和视图函数
@app.route('/')
def index():
    # return '

Hello World!

' return render_template('index.html') @app.route('/user/') def user(name): # return '

Hello,%s!

' % name return render_template('user.html',name=name) # 3.启动服务 if __name__ == '__main__': app.run(debug=True) # manager.run()

Flask 提供的 render_template 函数吧 Jinja2 模板引擎集成到了程序中。render_template 函数的第一个参数是模板的文件名,随后的参数都是键值对,表示模板中变量对应的真实值。在这段代码中,第二个参数收到一个名为 name 的变量。

3.1.2 变量

Jinja2 能识别所有类型的变量,甚至是一些复杂的类型,例如列表、字典和对象。

Jinja2 可以使用过滤器修改变量,过滤器名添加在变量名之后,中间使用竖线分割。

例如,下述模板以首字母大写形式显示变量 name 的值:

Hello,{{ name|capitalize }}

Jinja2 变量过滤器

Flask Web 开发【 Chapter 3 】模板_第1张图片

safe 过滤器,默认情况下,出于安全考虑,Jinja2 会转义所有变量。

例 如,如果一个变量的值为 '

Hello

',Jinja2 会将其渲染成 '

Hello',浏览器能显示这个 h1 元素,但不会进行解释。很多情况下需要显示变量中存储 的 HTML 代码,这时就可使用 safe 过滤器。

3.1.3 控制结构

在模板中使用条件控制语句:

{% if user %}
    Hello,{{ user }}!
{% else %}
    Hello,Stranger!
{% endif %}

在模板中渲染一组元素,使用 for 循环实现:

    {% for comment in comments %}
  • {{ comment }}
  • {% endfor %}

Jinja2 还支持宏 。宏类似 python 代码中的函数

{% macro render_comment(comment) %}
    
  • {{ render_comment(comment) }}
  • {% endmacro %}
      {% for comment in comments %} {{ render_comment(comment) }} {% endfor %}

    为了重复使用宏,我们可以将其保存在单独的文件中,然后在需要使用的模板中导入:

    {% import 'macros.html' as macros %}
    
      {% for comment in comments %} {{ macros.render_comment(comment) }} {% endfor %}

    需要在多处重复使用的模板代码片段可以写入单独的文件,再包含在所有模板中,以避免重复:

    {% include 'comment.html' %}
    

    另一种重复使用代码的强大方式是模板继承,它类似于 Python 代码中的类继承。首先,创 \建一个名为 base.html 的基模板:

    
    
    
        
        {% block title %}{% endblock %} - My Application 
        {% endblock %}
    
    
        {% block body %}
        {% endblock %}
    
    
    

    block 标签定义的元素可在衍生模板中修改。在本例中,我们定义了名为 head、title 和 body 的块。注意,title 包含在 head 中。下面这个示例是基模板的衍生模板:

    {% extends "base.html" %}
    {% block title %}Index{% endblock %}
    {% block head %}
        {{ super() }}
        
    {% endblock %}
    {% block body %}
        

    Hello,World

    {% endblock %}

    extends 指令声明这个模板衍生自 base.html。在 extends 指令之后,基模板中的 3 个块被重新定义,模板引擎会将其插入适当的位置。注意新定义的 head 块,在基模板中其内容不是空的,所以使用 super() 获取原来的内容。

    3.2 使用 Flask-Bootstrap 集成 Twiitter Bootstrap

    Bootstrap 是 Twitter 开发的一个开源框架,它提供的用户界面组 件可用于创建整洁且具有吸引力的网页,而且这些网页还能兼容所有现代 Web 浏览器。

    要想在程序中集成 Bootstrap,显然要对模板做所有必要的改动。不过,更简单的方法是使用一个名为 Flask-Bootstrap 的 Flask 扩展,简化集成的过程。Flask-Bootstrap 使用 pip 安装:

    (venv) C:\Users\76152\Desktop\PyProjects\flask\flasky>pip install flask-bootstrap
    

    hello.py 初始化 Flask-Bootstrap

    from flask_bootstrap import Bootstrap
    #...
    #初始化 Flask-Bootstrap
    bootstrap = Bootstrap(app)
    

    初始化 Flask-Bootstrap 之后,就可以在程序中使用一个包含所有 Bootstrap 文件的基模板。 这个模板利用 Jinja2 的模板继承机制,让程序扩展一个具有基本页面结构的基模板,其中就有用来引入 Bootstrap 的元素。

    templates/user.html:使用 Flask-Bootstrap 的模板

    
    {% extends "bootstrap/base.html" %}
    
    {% block title %}Flasky{% endblock %}
    
    {% block navbar %}
        
    {% endblock %}
    
    {% block conntent %}
        
    {% endblock %}

    Jinja2 中的 extends 指令从Flask-Bootstrap 中导入bootstrap/base.html,从而实现模板继承。Flask-Bootstrap 中的基模板提供了一个网页框架,引入了 Bootstrap 中的所有 CSS 和 JavaScript 文件。

    基模板中定义了可在衍生模板中重定义的块。block 和 endblock 指令定义的块中的内容可 添加到基模板中。

    上面这个 user.html 模板定义了3 个块,分别名为 title、navbar 和 content。这些块都是基模板提供的,可在衍生模板中重新定义。title 块的作用很明显,其中的内容会出现在渲染后的 HTML 文档头部,放在 标签中。navbar 和 content 这两个块分别表示页面中的导航条和主体内容。</p> <p>在这个模板中,navbar 块使用 Bootstrap 组件定义了一个简单的导航条。content 块中有个 <div> 容器,其中包含一个页面头部。之前版本的模板中的欢迎信息,现在就放在这个页面头部。改动之后效果如下:</p> <div class="image-package"> <div class="image-container" style="max-width: 700px; max-height: 394px;"> <div class="image-view"> <a href="http://img.e-com-net.com/image/info10/0a7bab8e690040738d22762ce7ff2823.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info10/0a7bab8e690040738d22762ce7ff2823.jpg" width="650" height="243" alt="Flask Web 开发【 Chapter 3 】模板_第2张图片" style="border:1px solid black;"></a> </div> </div> <div class="image-caption"></div> </div> <p>Flask-Bootstrap 的 base.html 模板还定义了很多其他块,都可在衍生模板中使用。</p> <div class="image-package"> <div class="image-container" style="max-width: 565px; max-height: 585px;"> <div class="image-view"> <a href="http://img.e-com-net.com/image/info10/1735bc4158874ddba3a22f9f1af83cce.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info10/1735bc4158874ddba3a22f9f1af83cce.jpg" width="565" height="585" alt="Flask Web 开发【 Chapter 3 】模板_第3张图片" style="border:1px solid black;"></a> </div> </div> <div class="image-caption"> Flask-Bootstrap基模板中定义的块 </div> </div> <p>表中的很多块都是 Flask-Bootstrap 自用的,如果直接重定义可能会导致一些问题。例 如,Bootstrap 所需的文件在 styles 和 scripts 块中声明。如果程序需要向已经有内容的块 中添加新内容,必须使用 Jinja2 提供的 super() 函数。例如,如果要在衍生模板中添加新 的 JavaScript 文件,需要这么定义 scripts 块:</p> <pre><code>{% block scripts %} {{ super() }} <script type="text/javascript" src="my-script.js"></script> {% endblock %} </code></pre> <h4>3.3 自定义错误页面</h4> <p>如果你在浏览器的地址栏中输入了不可用的路由,那么会显示一个状态码为 404 的错误页 面。现在这个错误页面太简陋、平庸,而且样式和使用了 Bootstrap 的页面不一致。</p> <p>最常见的错误代码有 两个:404,客户端请求未知页面或路由时显示;500,有未处理的异常时显示。</p> <p><strong>hello.py:自定义错误页面</strong></p> <pre><code>@app.errorhandler(404) def page_not_found(e): return render_template('404.html'),404 @app.errorhandler(500) def page_not_found(e): return render_template('500.html'),500 </code></pre> <p>和视图函数一样,错误处理程序也会返回响应。它们还返回与该错误对应的数字状态码。</p> <p>错误处理程序中引用的模板也需要编写。这些模板应该和常规页面使用相同的布局,因此 要有一个导航条和显示错误消息的页面头部。<br> 编写这些模板最直观的方法是复制 templates/user.html,分别创建 templates/404.html 和 templates/500.html,然后把这两个文件中的页面头部元素改为相应的错误消息。</p> <p><strong>templates/base.html:包含导航条的程序基模板</strong></p> <pre><code>{% extends "bootstrap/base.html" %} {% block title %}Flasky{% endblock %} {% block navbar %} <div class="navbar navbar-inverse" role="navigation"> <div class="container"> <div class="navbar-header"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand" href="/">Flasky</a></div> <div class="navbar-collapse collapse"> <ul class="nav navbar-nav"> <li><a href="/">Home</a></li> </ul> </div> </div> </div> {% endblock %} {% block content %} <div class="container"> {% block page_content %}{% endblock %} </div> {% endblock %} </code></pre> <p>这个模板的 content 块中只有一个 <div> 容器,其中包含了一个名为 page_content 的新的 空块,块中的内容由衍生模板定义。</p> <p>现在,<strong>程序使用的模板继承自这个模板</strong>,而不直接继承自 Flask-Bootstrap 的基模板。通过 继承 templates/base.html 模板编写自定义的 404 错误页面很简单。</p> <p><strong>404.html</strong></p> <pre><code>{% extends "base.html" %} {% block title %}Flasky - Page Not Found{% endblock %} {% block page_content %} <div class="page-header"> <h1>Not Found</h1> </div> {% endblock %} </code></pre> <p><strong>继承 base.html 简化后的 user.html</strong></p> <pre><code>{% extends "base.html" %} {% block title %}Flasky{% endblock %} {% block page_content %} <div class="page-header"> <h1>Hello,{{ name|capitalize }}!</h1> </div> {% endblock %} </code></pre> <h4>3.4 链接</h4> <p>任何具有多个路由的程序都需要可以连接不同页面的链接,例如导航条。</p> <p>在模板中直接编写简单路由的 URL 链接不难,但对于包含可变部分的动态路由,在模板中构建正确的 URL 就很困难。而且,直接编写 URL 会对代码中定义的路由产生不必要的依赖关系。如果重新定义路由,模板中的链接可能会失效。</p> <p>为了避免这些问题,Flask 提供了 url_for() 辅助函数,它可以使用程序 URL 映射中保存 的信息生成 URL。</p> <p>url_for() 函数最简单的用法是以视图函数名(或者 app.add_url_route() 定义路由时使用 的端点名)作为参数,返回对应的URL。例如,在当前版本的 hello.py 程序中调用 url_ for('index') 得到的结果是 /。调用 url_for('index', _external=True) 返回的则是绝对地址,在这个示例中是 http://localhost:5000/。</p> <p>生成连接程序内不同路由的链接时,使用相对地址就足够了。如果要生成在 浏览器之外使用的链接,则必须使用绝对地址,例如在电子邮件中发送的 链接。</p> <p>使用 url_for() 生成动态地址时,将动态部分作为关键字参数传入。例如,url_for ('user', name='john', _external=True) 的返回结果是 http://localhost:5000/user/john。</p> <p>传入 url_for() 的关键字参数不仅限于动态路由中的参数。函数能将任何额外参数添加到 查询字符串中。例如,url_for('index', page=2) 的返回结果是 /?page=2。</p> <h4>3.5 静态文件</h4> <p>Web 程序不是仅由 Python 代码和模板组成。大多数程序还会使用静态文件,例如 HTML 代码中引用的图片、JavaScript 源码文件和 CSS。</p> <p>默认设置下,Flask 在程序根目录中名为 static 的子目录中寻找静态文件。如果需要,可在 static 文件夹中使用子文件夹存放文件。服务器收到前面那个 URL 后,会生成一个响应,包含文件系统中 static/css/styles.css 文件的内容。</p> <pre><code>{% block head %} {{ super() }} <link rel="shortcut icon" href="{{ url_for('static',filename='favicon.ico') }}" type="image/x-icon"> <link rel="icon" href="{{ url_for('static',filename='favicon.ico') }}" type="image/x-icon"> {% endblock %} </code></pre> <h4>3.6 使用 Flask-Moment 本地化日期和时间</h4> <p>服务器需要统一时间单位,这和用户所在的地理位置无关,所以一般使用协调世界时 (Coordinated Universal Time,UTC)。不过用户看到 UTC 格式的时间会感到困惑,他们更希望看到当地时间,而且采用当地惯用的格式。</p> <p>要想在服务器上只使用 UTC 时间,一个优雅的解决方案是,把时间单位发送给 Web 浏览 器,转换成当地时间,然后渲染。Web 浏览器可以更好地完成这一任务,因为它能获取用 户电脑中的时区和区域设置。</p> <p>有一个使用JavaScript 开发的优秀客户端开源代码库,名为 [moment.js](http://momentjs. com/),它可以在浏览器中渲染日期和时间。Flask-Moment 是一个Flask 程序扩展,能把 moment.js 集成到 Jinja2 模板中。</p> <pre><code>(venv) C:\Users\76152\Desktop\PyProjects\flask\Myflasky>pip install flask-moment </code></pre> <p>hello.py 初始化 Flask-Moment</p> <pre><code>from flask_moment import Moment #初始化 Flask-Moment moment = Moment(app) </code></pre> <p>base.html 引入 moment.js 库</p> <pre><code>{% block scripts %} {{ super() }} {{ moment.include_moment() }} {% endblock %} </code></pre> <p>hello.py 加入一个 datetime 变量</p> <pre><code>from datetime import datetime def index(): # return '<h1>Hello World!<h1>' return render_template('index.html', current_time = datetime.utcnow()) </code></pre> <p>修改 index.html: 使用 Flask-Moment 渲染时间戳</p> <pre><code>{% extends "base.html" %} {% block title %}Flasky{% endblock %} {% block page_content %} <div class="page-header"> <h1>Hello World!</h1> </div> <p>The local date and time is {{ moment(current_time).format('LLL') }}.</p> <p>That was {{ moment(current_time).fromNow(refresh=True) }}.</p> {% endblock %} </code></pre> <p>format('LLL') 根据客户端电脑中的时区和区域设置渲染日期和时间。参数决定了渲染的方式,'L' 到 'LLLL' 分别对应不同的复杂度。format() 函数还可接受自定义的格式说明符。</p> <p>第二行中的 fromNow() 渲染相对时间戳,而且会随着时间的推移自动刷新显示的时间。这 个时间戳最开始显示为“a few seconds ago”,但指定 refresh 参数后,其内容会随着时间的推移而更新。如果一直待在这个页面,几分钟后,会看到显示的文本变成“a minute ago”“ 2 minutes ago”等。</p> <p>最终效果:</p> <div class="image-package"> <div class="image-container" style="max-width: 700px; max-height: 506px;"> <div class="image-view"> <a href="http://img.e-com-net.com/image/info10/c56213ae2c314118b237775371103f87.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info10/c56213ae2c314118b237775371103f87.jpg" width="650" height="171" alt="Flask Web 开发【 Chapter 3 】模板_第4张图片" style="border:1px solid black;"></a> </div> </div> <div class="image-caption"></div> </div> <p>几分钟后</p> <div class="image-package"> <div class="image-container" style="max-width: 700px; max-height: 528px;"> <div class="image-view"> <a href="http://img.e-com-net.com/image/info10/d3a9b1a543514c9aa839b1725047491f.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info10/d3a9b1a543514c9aa839b1725047491f.jpg" width="650" height="179" alt="Flask Web 开发【 Chapter 3 】模板_第5张图片" style="border:1px solid black;"></a> </div> </div> <div class="image-caption"></div> </div> </article> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1179420516444852224"></div> <script type="text/javascript" src="/views/front/js/chanyan.js"></script> <!-- 文章页-底部 动态广告位 --> <div class="youdao-fixed-ad" id="detail_ad_bottom"></div> </div> <div class="col-md-3"> <div class="row" id="ad"> <!-- 文章页-右侧1 动态广告位 --> <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_1"> </div> </div> <!-- 文章页-右侧2 动态广告位 --> <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_2"></div> </div> <!-- 文章页-右侧3 动态广告位 --> <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_3"></div> </div> </div> </div> </div> </div> </div> <div class="container"> <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(Flask Web 开发【 Chapter 3 】模板)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1947292655432036352.htm" title="信息学奥赛初赛天天练-27-CSP-J2022阅读程序位运算、数据类型范围、进制转换攻略" target="_blank">信息学奥赛初赛天天练-27-CSP-J2022阅读程序位运算、数据类型范围、进制转换攻略</a> <span class="text-muted">ya888g</span> <a class="tag" taget="_blank" href="/search/%E4%BF%A1%E6%81%AF%E5%AD%A6%E5%A5%A5%E8%B5%9B%E5%88%9D%E8%B5%9B/1.htm">信息学奥赛初赛</a><a class="tag" taget="_blank" href="/search/%E4%BF%A1%E6%81%AF%E5%AD%A6%E5%A5%A5%E8%B5%9B/1.htm">信息学奥赛</a><a class="tag" taget="_blank" href="/search/%E4%BD%8D%E8%BF%90%E7%AE%97/1.htm">位运算</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B%E8%8C%83%E5%9B%B4/1.htm">数据类型范围</a><a class="tag" taget="_blank" href="/search/%E8%BF%9B%E5%88%B6%E8%BD%AC%E6%8D%A2/1.htm">进制转换</a> <div>PDF文档公众号回复关键字:202406122022CSP-J阅读程序1阅读程序(判断题1.5分选择题3分共计40分)01#include0203usingnamespacestd;0405intmain()06{07unsignedshortx,y;08cin>>x>>y;09x=(x|x<<2)&0x33;10x=(x|x<<1)&0x55;11y=(y|y<<2)&0x33;12y=(y|y</div> </li> <li><a href="/article/1947291899882696704.htm" title="0315_算法22级1班实验2(递归分治策略)" target="_blank">0315_算法22级1班实验2(递归分治策略)</a> <span class="text-muted"></span> <div>目录ProblemA众数问题题目描述输入输出样例输入样例输出思路分析代码实现思路优化ProblemB半数集问题题目描述输入输出样例输入样例输出思路分析代码实现ProblemC查找数组拐点题目描述输入输出样例输入样例输出思路分析代码实现思路优化ProblemA众数问题题目描述所谓众数,就是对于给定的含有N个元素的多重集合,每个元素在S中出现次数最多的成为该元素的重数,多重集合S重的重数最大的元素成为</div> </li> <li><a href="/article/1947291899463266304.htm" title="0301_算法22级1班实验1" target="_blank">0301_算法22级1班实验1</a> <span class="text-muted"></span> <div>目录ProblemA统计数字问题1.题目描述2.思路分析3.代码实现ProblemB字典序问题1.题目描述2.思路分析3.代码实现ProblemC最多约数问题1.题目描述2.思路分析3.代码实现ProblemA统计数字问题1.题目描述题目描述问题描述:一本书的页码从自然数1开始顺序编码直到自然数n。书的页码按照通常的习惯编排,每个页码都不含多余的前导数字0。例如,第6页用数字6表示,而不是06或0</div> </li> <li><a href="/article/1947291143909732352.htm" title=".NET 8 中的 KeyedService" target="_blank">.NET 8 中的 KeyedService</a> <span class="text-muted">步、步、为营</span> <a class="tag" taget="_blank" href="/search/.net/1.htm">.net</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a> <div>.NET8中的KeyedService:新特性解析与使用示例一、引言在.NET8的Preview7版本中,引入了KeyedService支持。这一特性为开发者提供了按名称(name)获取服务的便利,在某些场景下,开发者无需再自行创建工厂类来管理服务。接下来,我们将深入探讨KeyedService的使用方法、特殊情况以及存在的一些问题。二、基本使用示例1.简单示例代码varserviceCollec</div> </li> <li><a href="/article/1947290844897800192.htm" title="三七粉" target="_blank">三七粉</a> <span class="text-muted">Annie大讲堂</span> <div>三七是个什么药材?三七到底有什么作用?什么样的人可以长期服用三七粉?具体怎么服用?用多少?今天用来给大家做一个基本的科普。三七为五茄科植物人参三七的根。夏末、秋初开花前、或冬季种子成熟后采收。选生长3~7年以上者,挖取根部,去净泥土,剪除细根及茎基,晒至半干,反复搓揉,然后晒干。很多人都知道三七是伤科要药,止血而不留瘀,著名的云南白药里就有三七。三七,又名参三七,田七。功能化瘀止血,活血定痛。生品</div> </li> <li><a href="/article/1947290717747474432.htm" title="【中艺平台】唐浩铭【全球艺术家编码6633】作品雅赏(20201229)" target="_blank">【中艺平台】唐浩铭【全球艺术家编码6633】作品雅赏(20201229)</a> <span class="text-muted">大师之道</span> <div>现为中学生的唐浩铭,从小具有很强的绘画天赋。他对色彩和线条有着异于常人的敏感,对大千世界专注于物象的特征与细节。他从小生活在南国的深圳,城市的环境,动物园的各种鸟兽鱼虫草木都是他描绘的对象。丰富的想象力是他创作的原动力。唐浩铭在观察到自然物的原形时,往往将自己的童真心灵相通,营造一个新的,抽象艺术图形,一个令人新喜的画面。在经过多年的专业学习后,培养起他对绘画的浓厚兴趣,绘画技巧有了很大的提升。他</div> </li> <li><a href="/article/1947289884410572800.htm" title="机器人运动学仿真软件:RobWork_(10).C++编程基础" target="_blank">机器人运动学仿真软件:RobWork_(10).C++编程基础</a> <span class="text-muted">kkchenjj</span> <a class="tag" taget="_blank" href="/search/%E6%9C%BA%E5%99%A8%E4%BA%BA%E4%BB%BF%E7%9C%9F/1.htm">机器人仿真</a><a class="tag" taget="_blank" href="/search/%E6%9C%BA%E5%99%A8%E4%BA%BA/1.htm">机器人</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%9C%BA%E5%99%A8%E4%BA%BA%E4%BB%BF%E7%9C%9F/1.htm">机器人仿真</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/%E6%A8%A1%E6%8B%9F%E4%BB%BF%E7%9C%9F/1.htm">模拟仿真</a> <div>C++编程基础1.C++语言简介C++是一种静态类型的、编译式的通用编程语言,它支持过程化、面向对象和泛型编程。C++由丹麦计算机科学家BjarneStroustrup在1980年代初期在贝尔实验室开发,是C语言的扩展。C++具有高效性、灵活性和广泛的适用性,特别是在系统软件、应用软件、高性能服务器和客户端应用程序的开发中。</div> </li> <li><a href="/article/1947289003124387840.htm" title="2014年最具人气国外WORDPRESS主题" target="_blank">2014年最具人气国外WORDPRESS主题</a> <span class="text-muted">weixin_34355715</span> <a class="tag" taget="_blank" href="/search/php/1.htm">php</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/ux/1.htm">ux</a><a class="tag" taget="_blank" href="/search/ViewUI/1.htm">ViewUI</a> <div>在国外,WrodPress这个博客系统极为受欢迎,使用WordPress来建站可以降低很多成本,另外还能以十分便宜的价格获得一个漂亮的WP网站模板。今天向大家分享来自Themeforest2014年最具人气的高级WrodPress主题,这些主题无论是设计还是技术上,都是目前最新最流行的。比如CSS3、扁平化、响应式设计、全屏视频背景、视差滚动特效等等。本次分享的WP主题实用性非常不错,流行的设计+</div> </li> <li><a href="/article/1947288875881787392.htm" title="SQLite3中级篇(C/C++编程接口)源代码解析" target="_blank">SQLite3中级篇(C/C++编程接口)源代码解析</a> <span class="text-muted">坑货两只</span> <div>本文还有配套的精品资源,点击获取简介:SQLite3是一种嵌入式数据库引擎,特别适用于C和C++开发的项目。本源代码示例深入探讨了SQLite3的C/C++编程接口,包括数据库连接管理、SQL语句执行、预编译语句、参数绑定、错误处理、事务处理、游标和结果集、数据库版本管理以及安全性和并发性。通过具体实现和实例,帮助开发者有效使用SQLite3API进行高效的数据库操作。1.SQLite3API概述</div> </li> <li><a href="/article/1947288876297023488.htm" title="C/C++语言函数查询大全:中文版手册" target="_blank">C/C++语言函数查询大全:中文版手册</a> <span class="text-muted">关然</span> <div>本文还有配套的精品资源,点击获取简介:本资源为C语言和C++编程语言提供了详尽的函数查询手册,旨在帮助开发者高效地查找和理解函数用法。其中包含了C语言的基础函数及其用法,以及C++的面向对象编程支持和标准库。手册以CHM格式提供,方便快速搜索和查看。同时介绍了C语言与C++的联系与区别,强调了面向对象和过程化编程的不同,以及两者结合使用的场景。对于不同经验层次的开发者,这些手册都是提升编程技能和日</div> </li> <li><a href="/article/1947288876703870976.htm" title=".NET 9 RC 2正式发布" target="_blank">.NET 9 RC 2正式发布</a> <span class="text-muted">li dream</span> <a class="tag" taget="_blank" href="/search/.net/1.htm">.net</a> <div>距离最终版本还有一个月的时间,Microsoft已经交付了.NET9的第二个也是最后一个候选版本。.NET团队在公告帖子中写道[1],“当我们为11月的.NET9正式发布(GA)版本做准备时,我们正在对性能、稳定性和任何其他优化进行最后的润色,使其成为.NET9的最佳版本。.NET9ReleaseCandidate2包含在上线许可证中,因此您在生产应用程序中使用它时可以获得支持。我们鼓励开发人员今</div> </li> <li><a href="/article/1947288246153179136.htm" title="黑客?设计师?" target="_blank">黑客?设计师?</a> <span class="text-muted"></span> <div>二十年前,最好的程序员是一个能够将整个应用程序拟合到64KB的.COM文件,那些能够将小的可怜的80386玩转到极致的人就是当时的编程大师。那是因为在二十年前电脑非常昂贵而编程极其廉价。那是真正的“黑客精神”的时代。那个时代已经终结。由于市场的完完全全的本末倒置,在今天黑客精神再无生存之地。今天,电脑越发廉价,设计师日益珍贵。当代码可读性的远比其性能重要的时候,“开发者精神”的末日已然来临。价格V</div> </li> <li><a href="/article/1947287616474902528.htm" title=".NET 9 RC1 正式发布" target="_blank">.NET 9 RC1 正式发布</a> <span class="text-muted">dotNET跨平台</span> <a class="tag" taget="_blank" href="/search/.net/1.htm">.net</a> <div>.NET9RC1是.NET9的第一个候选发布版本(ReleaseCandidate),标志着该版本接近最终发布。这次更新包括增强的WebSocketAPI、新的压缩选项、高级SignalR跟踪以及.NETMAUI的更新,以改善文本对齐等。在文章还宣布了.NETConf2024的日期,将于2024年11月12日至14日举行,庆祝.NET9的发布,具体详见:https://devblogs.micro</div> </li> <li><a href="/article/1947287490196992000.htm" title="MYOJ_8515:CSP初赛题单4:计算机软件" target="_blank">MYOJ_8515:CSP初赛题单4:计算机软件</a> <span class="text-muted">Jayfeather松鸦羽_sch</span> <a class="tag" taget="_blank" href="/search/CSP%E5%88%9D%E8%B5%9B%E9%A2%98%E7%9B%AE/1.htm">CSP初赛题目</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a> <div>更多初赛题单请参见题目整理CSP初赛题目整理题单,谢谢。题目描述1.[J-2015-3]操作系统的作用是()。A.把源程序译成目标程序B.便于进行数据管理C.控制和管理系统资源D.实现硬件之间的连接答案:C解析:操作系统(OperatingSystem,简称OS)是管理计算机硬件与软件资源的系统软件,其主要功能包括:处理器管理(CPU调度)内存管理(分配和回收内存)设备管理(管理输入/输出设备)文</div> </li> <li><a href="/article/1947287237620199424.htm" title="在 Conda 中删除环境及所有安装的库" target="_blank">在 Conda 中删除环境及所有安装的库</a> <span class="text-muted">Studying 开龙wu</span> <a class="tag" taget="_blank" href="/search/conda/1.htm">conda</a> <div>注意事项1.删除环境前确保你没有在该环境中运行任何程序。2.删除操作是不可逆的,所有该环境中的包和配置都会被永久删除。3.如果你想保留环境的配置信息,可以在删除前使用condaenvexport>environment.yml导出环境配置。关于requirements.txt和environment.yaml文件使用介绍详情可参考以往文章,争对机器学习和深度学习里Python项目开发管理项目依赖的</div> </li> <li><a href="/article/1947287172142919680.htm" title="2023-03-22" target="_blank">2023-03-22</a> <span class="text-muted">小郭不会打篮球</span> <div>3.21笔记一、定位作用:显示定在所有其他元素之上、可以让元素在浏览器中任意位置。a标准流块级元素独占一行→垂直布局行内元素/行内块元素一行显示多个→水平布局b浮动可以让原本垂直布局的块级元素变成水平布局c定位可以让元素自由的摆放在网页的任意位置一般用于盒子之间的层叠情况1、属性名:position静态定位:static相对定位:relative绝对定位:absolute固定定位:fixed向下移</div> </li> <li><a href="/article/1947286733158674432.htm" title="You have a Server Component that imports next/router. Use next/navigation instead" target="_blank">You have a Server Component that imports next/router. Use next/navigation instead</a> <span class="text-muted">啃火龙果的兔子</span> <a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a> <div>解决Next.js13+中“Usenext/navigationinsteadofnext/router”的问题在Next.js13及更高版本中,AppRouter引入了新的导航系统,需要使用next/navigation替代传统的next/router。以下是完整的解决方案:1.理解新旧路由的区别特性next/router(PagesRouter)next/navigation(AppRoute</div> </li> <li><a href="/article/1947286480909037568.htm" title="Rovo Dev CLI Windows 安装与使用指南" target="_blank">Rovo Dev CLI Windows 安装与使用指南</a> <span class="text-muted">执剑走天涯xp</span> <a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a> <div>RovoDevCLIWindows安装与使用指南(修订版)前提条件与准备工作1.Atlassian账号注册访问注册页面:AtlassianAIInnovation注册这里我使用的是Google账号登录2.安装必备软件Git(必需组件)GitforWindows官方下载VisualStudioCode(推荐终端环境)VSCode官方下载3.管理员启用RovoDevAgents需组织管理员在Atlas</div> </li> <li><a href="/article/1947286480049205248.htm" title="在 Ubuntu 中配置 Samba 实现「特定用户可写,其他用户只读」的共享目录" target="_blank">在 Ubuntu 中配置 Samba 实现「特定用户可写,其他用户只读」的共享目录</a> <span class="text-muted">执剑走天涯xp</span> <a class="tag" taget="_blank" href="/search/ubuntu/1.htm">ubuntu</a><a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a> <div>需求目标所有认证用户可访问Samba共享目录/path/to/home;**仅特定用户(如developer)**拥有写权限;其他用户仅允许读取;禁止匿名访问。配置步骤1.设置文件系统权限将目录/home3/guest的所有权设为developer用户和所属组,并设置权限:sudochown-Rdeveloper:developer/path/to/homesudochmod-R755/path/</div> </li> <li><a href="/article/1947286352965988352.htm" title="nextjs学习笔记" target="_blank">nextjs学习笔记</a> <span class="text-muted">ainuo5213</span> <a class="tag" taget="_blank" href="/search/web%E5%89%8D%E7%AB%AF%E6%A1%86%E6%9E%B6%E5%AD%A6%E4%B9%A0/1.htm">web前端框架学习</a><a class="tag" taget="_blank" href="/search/next/1.htm">next</a><a class="tag" taget="_blank" href="/search/react/1.htm">react</a><a class="tag" taget="_blank" href="/search/react%E6%9C%8D%E5%8A%A1%E7%AB%AF%E6%B8%B2%E6%9F%93/1.htm">react服务端渲染</a><a class="tag" taget="_blank" href="/search/next%E5%85%A5%E9%97%A8/1.htm">next入门</a> <div>  由于本人最近在学习jocky老师的React16.8+Next.js+Koa2开发Github全栈项目关于react的服务端重构项目,然后跟着老师的视频做笔记,记录下自己的所学知识。目录结构pages(必需):pages目录是nextjs中最终要的一个目录,这个目录的每一个文件都会对应到每一个页面,可以根据地址栏的路由进行跳转。若pages下的js文件在一个目录下,那么nextjs默认会将这个</div> </li> <li><a href="/article/1947286353716768768.htm" title="next.js 如何实现动态路由?" target="_blank">next.js 如何实现动态路由?</a> <span class="text-muted"></span> <div>在Next.js12中,动态路由和参数传递主要通过文件系统路由(File-systemRouting)实现。以下是详细步骤和示例:一、创建动态路由‌文件命名规则‌在pages目录下创建文件名用[参数名].js格式的文件,例如:pages/posts/[id].js//单个参数pages/[category]/[id].js//多段参数‌匹配的URL示例‌/posts/123→id:'123'/ne</div> </li> <li><a href="/article/1947285136416501760.htm" title="渭南7家正规亲子鉴定中心办理地址大全(附2024年鉴定攻略)" target="_blank">渭南7家正规亲子鉴定中心办理地址大全(附2024年鉴定攻略)</a> <span class="text-muted">国医基因周主任</span> <div>渭南市不仅以其独特的地理风貌和丰富的文化传统著称,也因其提供的亲子鉴定服务而受到广泛关注。为了协助市民和家庭找到值得信赖的亲子鉴定中心,我们特别搜集并整理了2024年渭南市7家正规亲子鉴定中心的详细地址,并提供了一份实用的鉴定指南。以下是对这些中心的全面介绍和相关攻略。渭南7家正规亲子鉴定中心办理地址大全1、渭南市国医基因亲子鉴定中心渭南市亲子鉴定中心地址:渭南市临渭区胜利大街35号咨询范围:个人</div> </li> <li><a href="/article/1947285137796427776.htm" title="【一张图背论语】Day 029| 为政第二 | 2.13 子贡问君子" target="_blank">【一张图背论语】Day 029| 为政第二 | 2.13 子贡问君子</a> <span class="text-muted">Heger_四维脑图</span> <div>子贡问君子。子曰:“先行其言而后从之。”子贡问怎样才能做一个君子。孔子说:对于你要说的话,先实行了,然后说出来。在孔子的弟子中,子贡在“言语”一科中,这也说明了子贡本人在言辞方面是比较擅长的。子贡虽然善辩,但是也有言多失礼的地方。孔子在此处的这番言论,意在教育子贡,说得再好都不如做得好更让人信服,这也是孔子“因材施教”的典例。</div> </li> <li><a href="/article/1947285091633917952.htm" title="计算机毕业设计Python+uniapp校园兼职系统小程序(小程序+源码+LW)" target="_blank">计算机毕业设计Python+uniapp校园兼职系统小程序(小程序+源码+LW)</a> <span class="text-muted">Python毕设源码程序高学长</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E8%AF%BE%E7%A8%8B%E8%AE%BE%E8%AE%A1/1.htm">课程设计</a><a class="tag" taget="_blank" href="/search/uni-app/1.htm">uni-app</a> <div>计算机毕业设计Python+uniapp校园兼职系统小程序(小程序+源码+LW)该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程项目运行环境配置:Pychram社区版+python3.7.7+Mysql5.7+uni+HBuilderX+listpip+Navicat11+Django+nodejs。项目技术:django+python+UNI等等组成,B/S模式+pychram管理</div> </li> <li><a href="/article/1947285092057542656.htm" title="Python-Django毕业设计养老院老人日常生活管理系统(程序+Lw)" target="_blank">Python-Django毕业设计养老院老人日常生活管理系统(程序+Lw)</a> <span class="text-muted">Python计算机毕设程序源码_</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/django/1.htm">django</a><a class="tag" taget="_blank" href="/search/%E8%AF%BE%E7%A8%8B%E8%AE%BE%E8%AE%A1/1.htm">课程设计</a> <div>该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程项目运行环境配置:Pychram社区版+python3.7.7+Mysql5.7+HBuilderX+listpip+Navicat11+Django+nodejs。项目技术:django+python+Vue等等组成,B/S模式+pychram管理等等。环境需要1.运行环境:最好是python3.7.7,我们在这个版本上开发的。其他版</div> </li> <li><a href="/article/1947284713353834496.htm" title="Java程序设计笔记" target="_blank">Java程序设计笔记</a> <span class="text-muted">是程序蜂啊</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>Java程序设计目录Java程序设计第一章java语言开发环境1.1工具篇1.2Eclipse调整字体第三章Java基础3.1java基本数据类型3.2关键字与标识符3.3常数3.4变量3.5.数据类型转换3.6由键盘输入数据4.1顺序结构4.2分支语句5.1什么是数组5.2数组赋值:5.3一维数组5.4二维数组6.1类的基本概念6.2定义类6.3对象的创建与使用6.4参数的传递第七章java语言</div> </li> <li><a href="/article/1947284622958194688.htm" title="《缱绻天堂》:第3集:时间尽头" target="_blank">《缱绻天堂》:第3集:时间尽头</a> <span class="text-muted">郭星池</span> <div>第3集:时间尽头三个小时之前,我接到囧三的电话,他在信号那端哭得像个傻狗,我气急败坏。他抽抽噎噎老半天才说清楚——你没了。什么叫没了?没了就是死了…不存在了…永远消失了…你个傻货!囧三哭得更凶了,他在电话那头不停的骂着,我下意识回了句:你他妈才傻货!然后就什么也听不见了,脑子里只剩下那句——没了就是死了,永远消失了……我忘了自己到底有多久没哭过了,15年了,我仍然记得那个夏天,在那个偏僻的小城里,</div> </li> <li><a href="/article/1947283731937030144.htm" title="1.1分钟了解Jocelynapp不让提出曝光!别再被洗脑了赶紧止损" target="_blank">1.1分钟了解Jocelynapp不让提出曝光!别再被洗脑了赶紧止损</a> <span class="text-muted">最新曝光29</span> <div>1.JocelynAPP在平台不能提现怎么办?2.JocelynAPP这个软件靠谱可信吗?3.JocelynAPP在软件做任务被骗?4.JocelynAPP软件app无法登录?5.JocelynAPP平台是真的吗?6.JocelynAPP被骗无法提现,操作失误!7.JocelynAPP平台是騙局吗?8.JocelynAPP被骗无法出金如何维护自己的合法权益!希望看到这篇文章的人可以及时止损;请及时</div> </li> <li><a href="/article/1947283600982470656.htm" title="预售工作一周小结" target="_blank">预售工作一周小结</a> <span class="text-muted">小西FineYoga梵音瑜伽</span> <div>12-13号两天的培训,我清晰了解了梵音的整个发展历程;更清晰预售工作性质以及如何更好的做好预售工作;信息量之大,跨度广,我吸收并不多,希望多跟几次教授的培训,会有不一样的启发!教授是个非常有魅力的天生演讲者,风趣幽默,肢体语言表情丰富,特别有感染力。有着独到的眼光和超强的学习能力,他会从各行各业中取其精华去其糟粕,从每一期预售中不停的去总结,分析,判断,不停优化预售方案14号开始由李白店长带领我</div> </li> <li><a href="/article/1947283579457302528.htm" title="Javascript 平行四边形周长计算程序(Program for Circumference of a Parallelogram)" target="_blank">Javascript 平行四边形周长计算程序(Program for Circumference of a Parallelogram)</a> <span class="text-muted"></span> <div>给定平行四边形的边,计算周长。示例:输入:a=10,b=8输出:36.00输入:a=25.12,b=20.4输出:91.04平行四边形的对边长度相等且平行。两角相等,但不一定为90度。平行四边形的周长可以计算为两条相邻边之和,每条边乘以2。计算平行四边形周长的公式:(2*a)+(2*b)//JavascriptProgramtocalculatethe//CircumferenceofaParal</div> </li> <li><a href="/article/62.htm" title="关于旗正规则引擎下载页面需要弹窗保存到本地目录的问题" target="_blank">关于旗正规则引擎下载页面需要弹窗保存到本地目录的问题</a> <span class="text-muted">何必如此</span> <a class="tag" taget="_blank" href="/search/jsp/1.htm">jsp</a><a class="tag" taget="_blank" href="/search/%E8%B6%85%E9%93%BE%E6%8E%A5/1.htm">超链接</a><a class="tag" taget="_blank" href="/search/%E6%96%87%E4%BB%B6%E4%B8%8B%E8%BD%BD/1.htm">文件下载</a><a class="tag" taget="_blank" href="/search/%E7%AA%97%E5%8F%A3/1.htm">窗口</a> <div>生成下载页面是需要选择“录入提交页面”,生成之后默认的下载页面<a>标签超链接为:<a href="<%=root_stimage%>stimage/image.jsp?filename=<%=strfile234%>&attachname=<%=java.net.URLEncoder.encode(file234filesourc</div> </li> <li><a href="/article/189.htm" title="【Spark九十八】Standalone Cluster Mode下的资源调度源代码分析" target="_blank">【Spark九十八】Standalone Cluster Mode下的资源调度源代码分析</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/cluster/1.htm">cluster</a> <div>在分析源代码之前,首先对Standalone Cluster Mode的资源调度有一个基本的认识: 首先,运行一个Application需要Driver进程和一组Executor进程。在Standalone Cluster Mode下,Driver和Executor都是在Master的监护下给Worker发消息创建(Driver进程和Executor进程都需要分配内存和CPU,这就需要Maste</div> </li> <li><a href="/article/316.htm" title="linux上独立安装部署spark" target="_blank">linux上独立安装部署spark</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E8%A3%85/1.htm">安装</a><a class="tag" taget="_blank" href="/search/spark/1.htm">spark</a><a class="tag" taget="_blank" href="/search/1.4/1.htm">1.4</a><a class="tag" taget="_blank" href="/search/%E9%83%A8%E7%BD%B2/1.htm">部署</a> <div>下面讲一下linux上安装spark,以 Standalone Mode 安装   1)首先安装JDK   下载JDK:jdk-7u79-linux-x64.tar.gz  ,版本是1.7以上都行,解压 tar -zxvf jdk-7u79-linux-x64.tar.gz     然后配置 ~/.bashrc&nb</div> </li> <li><a href="/article/443.htm" title="Java 字节码之解析一" target="_blank">Java 字节码之解析一</a> <span class="text-muted">周凡杨</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%AD%97%E8%8A%82%E7%A0%81/1.htm">字节码</a><a class="tag" taget="_blank" href="/search/javap/1.htm">javap</a> <div>    一: Java 字节代码的组织形式   类文件 {     OxCAFEBABE ,小版本号,大版本号,常量池大小,常量池数组,访问控制标记,当前类信息,父类信息,实现的接口个数,实现的接口信息数组,域个数,域信息数组,方法个数,方法信息数组,属性个数,属性信息数组 } &nbs</div> </li> <li><a href="/article/570.htm" title="java各种小工具代码" target="_blank">java各种小工具代码</a> <span class="text-muted">g21121</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>1.数组转换成List import java.util.Arrays; Arrays.asList(Object[] obj); 2.判断一个String型是否有值 import org.springframework.util.StringUtils; if (StringUtils.hasText(str)) 3.判断一个List是否有值 import org.spring</div> </li> <li><a href="/article/697.htm" title="加快FineReport报表设计的几个心得体会" target="_blank">加快FineReport报表设计的几个心得体会</a> <span class="text-muted">老A不折腾</span> <a class="tag" taget="_blank" href="/search/finereport/1.htm">finereport</a> <div>一、从远程服务器大批量取数进行表样设计时,最好按“列顺序”取一个“空的SQL语句”,这样可提高设计速度。否则每次设计时模板均要从远程读取数据,速度相当慢!! 二、找一个富文本编辑软件(如NOTEPAD+)编辑SQL语句,这样会很好地检查语法。有时候带参数较多检查语法复杂时,结合FineReport中生成的日志,再找一个第三方数据库访问软件(如PL/SQL)进行数据检索,可以很快定位语法错误。 </div> </li> <li><a href="/article/824.htm" title="mysql linux启动与停止" target="_blank">mysql linux启动与停止</a> <span class="text-muted">墙头上一根草</span> <div>如何启动/停止/重启MySQL一、启动方式1、使用 service 启动:service mysqld start2、使用 mysqld 脚本启动:/etc/inint.d/mysqld start3、使用 safe_mysqld 启动:safe_mysqld&二、停止1、使用 service 启动:service mysqld stop2、使用 mysqld 脚本启动:/etc/inin</div> </li> <li><a href="/article/951.htm" title="Spring中事务管理浅谈" target="_blank">Spring中事务管理浅谈</a> <span class="text-muted">aijuans</span> <a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/%E4%BA%8B%E5%8A%A1%E7%AE%A1%E7%90%86/1.htm">事务管理</a> <div> Spring中事务管理浅谈 By Tony Jiang@2012-1-20 Spring中对事务的声明式管理 拿一个XML举例 [html]  view plain copy print ? <?xml version="1.0" encoding="UTF-8"?>&nb</div> </li> <li><a href="/article/1078.htm" title="php中隐形字符65279(utf-8的BOM头)问题" target="_blank">php中隐形字符65279(utf-8的BOM头)问题</a> <span class="text-muted">alxw4616</span> <div>php中隐形字符65279(utf-8的BOM头)问题 今天遇到一个问题. php输出JSON 前端在解析时发生问题:parsererror.   调试: 1.仔细对比字符串发现字符串拼写正确.怀疑是 非打印字符的问题. 2.逐一将字符串还原为unicode编码. 发现在字符串头的位置出现了一个 65279的非打印字符.        </div> </li> <li><a href="/article/1205.htm" title="调用对象是否需要传递对象(初学者一定要注意这个问题)" target="_blank">调用对象是否需要传递对象(初学者一定要注意这个问题)</a> <span class="text-muted">百合不是茶</span> <a class="tag" taget="_blank" href="/search/%E5%AF%B9%E8%B1%A1%E7%9A%84%E4%BC%A0%E9%80%92%E4%B8%8E%E8%B0%83%E7%94%A8%E6%8A%80%E5%B7%A7/1.htm">对象的传递与调用技巧</a> <div>    类和对象的简单的复习,在做项目的过程中有时候不知道怎样来调用类创建的对象,简单的几个类可以看清楚,一般在项目中创建十几个类往往就不知道怎么来看   为了以后能够看清楚,现在来回顾一下类和对象的创建,对象的调用和传递(前面写过一篇)   类和对象的基础概念:   JAVA中万事万物都是类 类有字段(属性),方法,嵌套类和嵌套接</div> </li> <li><a href="/article/1332.htm" title="JDK1.5 AtomicLong实例" target="_blank">JDK1.5 AtomicLong实例</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/thread/1.htm">thread</a><a class="tag" taget="_blank" href="/search/java%E5%A4%9A%E7%BA%BF%E7%A8%8B/1.htm">java多线程</a><a class="tag" taget="_blank" href="/search/AtomicLong/1.htm">AtomicLong</a> <div>JDK1.5 AtomicLong实例 类 AtomicLong 可以用原子方式更新的 long 值。有关原子变量属性的描述,请参阅 java.util.concurrent.atomic 包规范。AtomicLong 可用在应用程序中(如以原子方式增加的序列号),并且不能用于替换 Long。但是,此类确实扩展了 Number,允许那些处理基于数字类的工具和实用工具进行统一访问。  </div> </li> <li><a href="/article/1459.htm" title="自定义的RPC的Java实现" target="_blank">自定义的RPC的Java实现</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/rpc/1.htm">rpc</a> <div>        网上看到纯java实现的RPC,很不错。         RPC的全名Remote Process Call,即远程过程调用。使用RPC,可以像使用本地的程序一样使用远程服务器上的程序。下面是一个简单的RPC 调用实例,从中可以看到RPC如何</div> </li> <li><a href="/article/1586.htm" title="【RPC框架Hessian一】Hessian RPC Hello World" target="_blank">【RPC框架Hessian一】Hessian RPC Hello World</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/Hello+world/1.htm">Hello world</a> <div>什么是Hessian The Hessian binary web service protocol makes web services usable without requiring a large framework, and without learning yet another alphabet soup of protocols. Because it is a binary p</div> </li> <li><a href="/article/1713.htm" title="【Spark九十五】Spark Shell操作Spark SQL" target="_blank">【Spark九十五】Spark Shell操作Spark SQL</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/shell/1.htm">shell</a> <div>在Spark Shell上,通过创建HiveContext可以直接进行Hive操作   1. 操作Hive中已存在的表   [hadoop@hadoop bin]$ ./spark-shell Spark assembly has been built with Hive, including Datanucleus jars on classpath Welcom</div> </li> <li><a href="/article/1840.htm" title="F5 往header加入客户端的ip" target="_blank">F5 往header加入客户端的ip</a> <span class="text-muted">ronin47</span> <div>when HTTP_RESPONSE {if {[HTTP::is_redirect]}{         HTTP::header replace Location [string map {:port/ /} [HTTP::header value Location]]HTTP::header replace Lo</div> </li> <li><a href="/article/1967.htm" title="java-61-在数组中,数字减去它右边(注意是右边)的数字得到一个数对之差. 求所有数对之差的最大值。例如在数组{2, 4, 1, 16, 7, 5," target="_blank">java-61-在数组中,数字减去它右边(注意是右边)的数字得到一个数对之差. 求所有数对之差的最大值。例如在数组{2, 4, 1, 16, 7, 5,</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>思路来自: http://zhedahht.blog.163.com/blog/static/2541117420116135376632/ 写了个java版的 public class GreatestLeftRightDiff { /** * Q61.在数组中,数字减去它右边(注意是右边)的数字得到一个数对之差。 * 求所有数对之差的最大值。例如在数组</div> </li> <li><a href="/article/2094.htm" title="mongoDB 索引" target="_blank">mongoDB 索引</a> <span class="text-muted">开窍的石头</span> <a class="tag" taget="_blank" href="/search/mongoDB%E7%B4%A2%E5%BC%95/1.htm">mongoDB索引</a> <div>在这一节中我们讲讲在mongo中如何创建索引       得到当前查询的索引信息      db.user.find(_id:12).explain();        cursor: basicCoursor 指的是没有索引  &</div> </li> <li><a href="/article/2221.htm" title="[硬件和系统]迎峰度夏" target="_blank">[硬件和系统]迎峰度夏</a> <span class="text-muted">comsci</span> <a class="tag" taget="_blank" href="/search/%E7%B3%BB%E7%BB%9F/1.htm">系统</a> <div>  从这几天的气温来看,今年夏天的高温天气可能会维持在一个比较长的时间内    所以,从现在开始准备渡过炎热的夏天。。。。    每间房屋要有一个落地电风扇,一个空调(空调的功率和房间的面积有密切的关系)    坐的,躺的地方要有凉垫,床上要有凉席       电脑的机箱</div> </li> <li><a href="/article/2348.htm" title="基于ThinkPHP开发的公司官网" target="_blank">基于ThinkPHP开发的公司官网</a> <span class="text-muted">cuiyadll</span> <a class="tag" taget="_blank" href="/search/%E8%A1%8C%E4%B8%9A%E7%B3%BB%E7%BB%9F/1.htm">行业系统</a> <div>后端基于ThinkPHP,前端基于jQuery和BootstrapCo.MZ 企业系统 轻量级企业网站管理系统 运行环境:PHP5.3+, MySQL5.0 系统预览 系统下载:http://www.tecmz.com 预览地址:http://co.tecmz.com 各种设备自适应 响应式的网站设计能够对用户产生友好度,并且对于</div> </li> <li><a href="/article/2475.htm" title="Transaction and redelivery in JMS (JMS的事务和失败消息重发机制)" target="_blank">Transaction and redelivery in JMS (JMS的事务和失败消息重发机制)</a> <span class="text-muted">darrenzhu</span> <a class="tag" taget="_blank" href="/search/jms/1.htm">jms</a><a class="tag" taget="_blank" href="/search/%E4%BA%8B%E5%8A%A1/1.htm">事务</a><a class="tag" taget="_blank" href="/search/%E6%89%BF%E8%AE%A4/1.htm">承认</a><a class="tag" taget="_blank" href="/search/MQ/1.htm">MQ</a><a class="tag" taget="_blank" href="/search/acknowledge/1.htm">acknowledge</a> <div>JMS Message Delivery Reliability and Acknowledgement Patterns http://wso2.com/library/articles/2013/01/jms-message-delivery-reliability-acknowledgement-patterns/ Transaction and redelivery in </div> </li> <li><a href="/article/2602.htm" title="Centos添加硬盘完全教程" target="_blank">Centos添加硬盘完全教程</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/centos/1.htm">centos</a><a class="tag" taget="_blank" href="/search/hardware/1.htm">hardware</a> <div>Linux的硬盘识别: sda        表示第1块SCSI硬盘 hda       表示第1块IDE硬盘 scd0      表示第1个USB光驱 一般使用“fdisk -l”命</div> </li> <li><a href="/article/2729.htm" title="yii2 restful web服务路由" target="_blank">yii2 restful web服务路由</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a><a class="tag" taget="_blank" href="/search/yii2/1.htm">yii2</a> <div>路由 随着资源和控制器类准备,您可以使用URL如 http://localhost/index.php?r=user/create访问资源,类似于你可以用正常的Web应用程序做法。 在实践中,你通常要用美观的URL并采取有优势的HTTP动词。 例如,请求POST /users意味着访问user/create动作。 这可以很容易地通过配置urlManager应用程序组件来完成 如下所示</div> </li> <li><a href="/article/2856.htm" title="MongoDB查询(4)——游标和分页[八]" target="_blank">MongoDB查询(4)——游标和分页[八]</a> <span class="text-muted">eksliang</span> <a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a><a class="tag" taget="_blank" href="/search/MongoDB%E6%B8%B8%E6%A0%87/1.htm">MongoDB游标</a><a class="tag" taget="_blank" href="/search/MongoDB%E6%B7%B1%E5%88%86%E9%A1%B5/1.htm">MongoDB深分页</a> <div>转载请出自出处:http://eksliang.iteye.com/blog/2177567 一、游标         数据库使用游标返回find的执行结果。客户端对游标的实现通常能够对最终结果进行有效控制,从shell中定义一个游标非常简单,就是将查询结果分配给一个变量(用var声明的变量就是局部变量),便创建了一个游标,如下所示: > var </div> </li> <li><a href="/article/2983.htm" title="Activity的四种启动模式和onNewIntent()" target="_blank">Activity的四种启动模式和onNewIntent()</a> <span class="text-muted">gundumw100</span> <a class="tag" taget="_blank" href="/search/android/1.htm">android</a> <div>Android中Activity启动模式详解   在Android中每个界面都是一个Activity,切换界面操作其实是多个不同Activity之间的实例化操作。在Android中Activity的启动模式决定了Activity的启动运行方式。   Android总Activity的启动模式分为四种: Activity启动模式设置: <acti</div> </li> <li><a href="/article/3110.htm" title="攻城狮送女友的CSS3生日蛋糕" target="_blank">攻城狮送女友的CSS3生日蛋糕</a> <span class="text-muted">ini</span> <a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/html5/1.htm">html5</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a><a class="tag" taget="_blank" href="/search/css3/1.htm">css3</a> <div>在线预览:http://keleyi.com/keleyi/phtml/html5/29.htm   代码如下:   <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>攻城狮送女友的CSS3生日蛋糕-柯乐义<</div> </li> <li><a href="/article/3237.htm" title="读源码学Servlet(1)GenericServlet 源码分析" target="_blank">读源码学Servlet(1)GenericServlet 源码分析</a> <span class="text-muted">jzinfo</span> <a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a><a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/servlet/1.htm">servlet</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%BA%94%E7%94%A8/1.htm">网络应用</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%8D%8F%E8%AE%AE/1.htm">网络协议</a> <div>Servlet API的核心就是javax.servlet.Servlet接口,所有的Servlet 类(抽象的或者自己写的)都必须实现这个接口。在Servlet接口中定义了5个方法,其中有3个方法是由Servlet 容器在Servlet的生命周期的不同阶段来调用的特定方法。     先看javax.servlet.servlet接口源码:  package </div> </li> <li><a href="/article/3364.htm" title="JAVA进阶:VO(DTO)与PO(DAO)之间的转换" target="_blank">JAVA进阶:VO(DTO)与PO(DAO)之间的转换</a> <span class="text-muted">snoopy7713</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/VO/1.htm">VO</a><a class="tag" taget="_blank" href="/search/Hibernate/1.htm">Hibernate</a><a class="tag" taget="_blank" href="/search/po/1.htm">po</a> <div>  PO即 Persistence Object  VO即 Value Object  VO和PO的主要区别在于:  VO是独立的Java Object。  PO是由Hibernate纳入其实体容器(Entity Map)的对象,它代表了与数据库中某条记录对应的Hibernate实体,PO的变化在事务提交时将反应到实际数据库中。  实际上,这个VO被用作Data Transfer </div> </li> <li><a href="/article/3491.htm" title="mongodb group by date 聚合查询日期 统计每天数据(信息量)" target="_blank">mongodb group by date 聚合查询日期 统计每天数据(信息量)</a> <span class="text-muted">qiaolevip</span> <a class="tag" taget="_blank" href="/search/%E6%AF%8F%E5%A4%A9%E8%BF%9B%E6%AD%A5%E4%B8%80%E7%82%B9%E7%82%B9/1.htm">每天进步一点点</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0%E6%B0%B8%E6%97%A0%E6%AD%A2%E5%A2%83/1.htm">学习永无止境</a><a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a><a class="tag" taget="_blank" href="/search/%E7%BA%B5%E8%A7%82%E5%8D%83%E8%B1%A1/1.htm">纵观千象</a> <div>/* 1 */ { "_id" : ObjectId("557ac1e2153c43c320393d9d"), "msgType" : "text", "sendTime" : ISODate("2015-06-12T11:26:26.000Z")</div> </li> <li><a href="/article/3618.htm" title="java之18天 常用的类(一)" target="_blank">java之18天 常用的类(一)</a> <span class="text-muted">Luob.</span> <a class="tag" taget="_blank" href="/search/Math/1.htm">Math</a><a class="tag" taget="_blank" href="/search/Date/1.htm">Date</a><a class="tag" taget="_blank" href="/search/System/1.htm">System</a><a class="tag" taget="_blank" href="/search/Runtime/1.htm">Runtime</a><a class="tag" taget="_blank" href="/search/Rundom/1.htm">Rundom</a> <div>System类 import java.util.Properties; /** * System: * out:标准输出,默认是控制台 * in:标准输入,默认是键盘 * * 描述系统的一些信息 * 获取系统的属性信息:Properties getProperties(); * * * */ public class Sy</div> </li> <li><a href="/article/3745.htm" title="maven" target="_blank">maven</a> <span class="text-muted">wuai</span> <a class="tag" taget="_blank" href="/search/maven/1.htm">maven</a> <div>1、安装maven:解压缩、添加M2_HOME、添加环境变量path 2、创建maven_home文件夹,创建项目mvn_ch01,在其下面建立src、pom.xml,在src下面简历main、test、main下面建立java文件夹 3、编写类,在java文件夹下面依照类的包逐层创建文件夹,将此类放入最后一级文件夹 4、进入mvn_ch01 4.1、mvn compile ,执行后会在</div> </li> </ul> </div> </div> </div> <div> <div class="container"> <div class="indexes"> <strong>按字母分类:</strong> <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a> </div> </div> </div> <footer id="footer" class="mb30 mt30"> <div class="container"> <div class="footBglm"> <a target="_blank" href="/">首页</a> - <a target="_blank" href="/custom/about.htm">关于我们</a> - <a target="_blank" href="/search/Java/1.htm">站内搜索</a> - <a target="_blank" href="/sitemap.txt">Sitemap</a> - <a target="_blank" href="/custom/delete.htm">侵权投诉</a> </div> <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved. <!-- <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>--> </div> </div> </footer> <!-- 代码高亮 --> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script> <link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/> <script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script> </body> </html>