第三章Django by example

创建自定义的模版标签

自定义的模板标签 主要用于在每一个页面上都需要来显示,这样就方便了使用,而不需要在每一个views函数中render。
django提供了以下函数以简单的方式创建自己的模板标签:

  • simple_tag(简单标签):处理数据并返回一个字符串(string)
  • inclusion_tag(包含标签):处理数据并返回一个渲染过的模板(template)
  • assignment_tag(分配标签):处理数据并在上下文(context)中设置一个变量(variable)
    进入blog 应用文件夹:
blog/
    __init__.py
    models.py
    ...
    templatetags/        #新创建文件夹,设置成python packages
        __init__.py
        blog_tags.py

simple_tag的使用在blog_tags中键入代码

from django import template  # 导入django中的模板文件

from  blog.models import Post

register = template.Library()  # 注册


@register.simple_tag #使用装饰器函数定义此函数为一个简单标签(tag)并注册它
def total_posts():
    return Post.objects.all().count() #返回字符串

Django将会使用这个函数名作为标签(tag)名。如果你想使用别的名字来注册这个标签(tag),你可以指定装饰器的name属性,比如@register.simple_tag(name='my_tag')。

在模板中使用方法

{%load blog_tags %} #加载 blog_tags文件
  

This is my blog. I've written {% total_posts %} posts so far.

#使用{% total_posts %}模板变量,返回一个字符串

inclusion_tag的使用:在blog_tags文件中键入

@register.inclusion_tag('blog/post/latest_post.html')  # 必须指定渲染的模板是哪个
def show_latest_tag(count=5):
  latest_posts = Post.objects.all().order_by('-publish')[:count]
  return {'latest_posts': latest_posts}  # 必须返回一个字典
在指定渲染的html中

在base.html中增加,注:可以通过传入可选的评论数量值来使用显示,类似{% show_latest_posts 3 %}。




assigment_tag的使用
分配标签(assignment tag)类似简单标签(simple tags)但是他们将结果存储在给予的变量中。

from django.db.models import Count

@register.assignment_tag
def get_most_commented_posts(count=5):
    return Post.published.annotate(
                total_comments=Count('comments')
            ).order_by('-total_comments')[:count]
为Post模型中的每一个实例添加total_comments字段,此字段计算Comment模型中关联别名comments中的数量,再进行order_by排序

这个查询集(QuerySet)使用annotate()函数,为了进行聚合查询,使用了Count聚合函数。我们构建了一个查询集(QuerySet),聚合了每一个帖子的评论总数并保存在total_comments字段中,接着我们通过这个字段对查询集(QuerySet)进行排序。我们还提供了一个可选的count变量,通过给定的值来限制返回的帖子数量。
除了Count以外,Django还提供了不少聚合函数,例如Avg,Max,Min,Sum.你可以在 https://docs.djangoproject.com/en/1.8/topics/db/aggregation/ 页面读到更多关于聚合方法的信息。
在base.html中侧边栏添加

Most commented posts

{% get_most_commented_posts as most_commented_posts %}

使用分配模板标签(assignment template tags)的方法是{% template_tag as variable %}。对于我们的模板标签(template tag)来说,我们使用{% get_most_commented_posts as most_commented_posts %}。 这样,我们可以存储这个模板标签(template tag)返回的结果到一个新的名为most_commented_posts变量中。之后,我们就可以用一个无序列表(unordered list)显示返回的帖子。


创建自定义的模板过滤器(template filters)

创建一个自定义的过滤器(filter),可以在我们的blog帖子中使用markdown语法,然后在模板(template)中将帖子内容转变为HTML。Markdown是一种非常容易使用的文本格式化语法并且它可以转变为HTML。
1.先安装markdown

pip3 install markdown

编辑blog_tags文件

from django.utils.safestring import mark_safe
import markdown

@register.filter(name='markdown')
def markdown_format(text):
    return mark_safe(markdown.markdown(text))
设定了过滤器,并名字为'markdown',为了避免与模板名起冲突,过滤函数取名为markdown_format,使用mark_safe来标记结果,正常情况下django不会依赖任何html代码并转义,除非mark_safe。

在templates中使用

{% load blog_tags %}
{{ post.body|markdown}}
#{{ post.body|truncateword:300|linebreaks }}
{{ post.body|truncateword_html:30 }}#truncateword_html过滤器(filter)会在一定数量的单词后截断字符串,避免没有关闭的HTML标签(tags)。

为你的站点添加一个站点地图(sitemap)

Django自带一个站点地图(sitemap)框架,允许你为你的站点动态生成站点地图(sitemap)。一个站点地图(sitemap)是一个xml文件,它会告诉搜索引擎你的网站中存在的页面,它们的关联和它们更新的频率。使用站点地图(sitemap),你可以帮助网络爬虫(crawlers)来对你的网站内容进行索引和标记。

Django站点地图(sitemap)框架依赖django.contrib.sites模块,这个模块允许你将对象和正在你项目运行的特殊网址关联起来。当你想用一个单独Django项目运行多个网站时,这是非常方便的。

SITE_ID = 1 #添加
# Application definition
INSTALLED_APPS = (
# ...
'django.contrib.sites',#添加
'django.contrib.sitemaps',#添加
)

创建表python3 manage.py makemigrations
python3 manage.py migrate

sites应用现在已经在数据库中进行了同步。现在,在你的blog应用目录下创建一个新的文件命名为sitemaps.py

from django.contrib.sitemaps import Sitemap

from .models import Post


class PostSitmap(Sitemap):  # 通过继承Sitemap类可以创建一个自定义的站点地图
    changefrep = 'weekly'  # 页面修改频率
    priority = '0,9'  # 网站中的关联性(优先级)

    def items(self):
        return Post.objects.all()  # items()方法返回了在这个站点地图(sitemap)中所包含对象的查询集(QuerySet)

    def lastmod(self,obj):
        return obj.publish  # lastmode方法接收items()返回的每一个对象并且返回对象的最后修改时间

可以在Django的官方文档 https://docs.djangoproject.com/en/1.8/ref/contrib/sitemaps/ 页面中获取更多的站点地图(sitemap)参考

在主urls文件中新增

from django.contrib.sitemaps.views import sitemap#导入sitemap视图
from blog.sitemaps import PostSitmap #导入自定义的sitemap类

sitemaps = {
    'posts':PostSitmap
}

urlpatterns = [
    url(r'^admin/', include(admin.site.urls)),
    url(r'^blog/', include('blog.urls', namespace='blog', app_name='blog')),
    url(r'^sitemap\.xml$', sitemap, {'sitemaps': sitemaps}, name='django.contrib.sitemaps.views.sitemap'),#新增
]

打开http://127.0.0.1:8000/sitemap.xml显示xml

为你的blog帖子创建feeds

Django有一个内置的syndication feed框架,就像用sites框架创建站点地图(sitemap)一样,使用类似的方式(manner),你可以动态(dynamically)生成RSS或者Atom feeds。

在blog应用的目录下创建一个新文件命名为feeds.py。添加如下代码:

from django.contrib.syndication.views import Feed  # 从django.普通.联合.视图 导入Feed类
from django.template.defaultfilters import truncatewords  # 导入 truncatechars

from .models import Post


class LatestPostsFeed(Feed):
    title = 'My blog'  # 标题
    link = '/blog/'  # 连接
    description = 'New posts of my Blog'  # 描述

    def items(self):
        return Post.objects.all()[:5]  # 返回前5个

    def item_title(self, item):
        return item.title  # 返回对象的title

    def item_description(self, item):  # 返回描述
        return truncatewords(item.body, 30)  # 文章的前30个单词

首先,我们继承了syndication框架的Feed类创建了一个子类。其中的title,link,description属性各自对应RSS中的,<link>,<description>元素。</p> <p>items()方法返回包含在feed中的对象。我们只给这个feed取回最新五个已发布的帖子。item_title()和item_description()方法接受items()返回的每个对象然后返回每个item各自的标题和描述信息。我们使用内置的truncatewords模板过滤器(template filter)构建帖子的描述信息并只保留最前面的30个单词。</p> <p>现在,编辑blog应用下的urls.py文件,导入你刚创建的LatestPostsFeed,在新的URL模式(pattern)中实例化feed:</p> <pre><code class="python">from .feeds import LatestPostsFeed urlpatterns = [ # ... url(r'^feed/$', LatestPostsFeed(), name='post_feed'), ] </code></pre> <p>在浏览器中转到 http://127.0.0.1:8000/blog/feed/ 。你会看到最新的5个blog帖子的RSS feedincluding:</p> <p>最后一步是在blog的侧边栏(sitebar)添加一个feed订阅(subscription)链接。打开blog/base.html模板(template),在侧边栏(sitebar)的div中的帖子总数下添加如下代码:</p> <pre><code class="python"><p><a href="{% url "blog:post_feed" %}">Subscribe to my RSS feed</a></p> </code></pre> <hr> <p>学习来源于夜夜月翻译的django by example</p> </article> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1243625731951546368"></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">你可能感兴趣的:(第三章Django by example)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1950200414989250560.htm" title="面试必考题:Android Binder 机制详解" target="_blank">面试必考题:Android Binder 机制详解</a> <span class="text-muted">大模型大数据攻城狮</span> <a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/binder/1.htm">binder</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/react/1.htm">react</a><a class="tag" taget="_blank" href="/search/native/1.htm">native</a><a class="tag" taget="_blank" href="/search/kotlin/1.htm">kotlin</a><a class="tag" taget="_blank" href="/search/dalvik/1.htm">dalvik</a><a class="tag" taget="_blank" href="/search/retrofit/1.htm">retrofit</a> <div>目录第一章:Binder的基本概念什么是Binder?多角度解读Binder第二章:Binder的工作机制Binder的整体流程服务注册:从零到有的第一步服务查询:找到目标的“地图”服务调用:请求与响应的旅程Binder驱动的幕后功劳为什么Binder这么快?第三章:Binder在系统架构中的角色Activity:界面背后的通信枢纽Binder的角色实例分析Service:后台任务的跨进程支柱Bi</div> </li> <li><a href="/article/1950187554129113088.htm" title="Django学习笔记(一)" target="_blank">Django学习笔记(一)</a> <span class="text-muted"></span> <div>学习视频为:pythondjangoweb框架开发入门全套视频教程一、安装pipinstalldjango==****检查是否安装成功django.get_version()二、django新建项目操作1、新建一个项目django-adminstartprojectproject_name2、新建APPcdproject_namedjango-adminstartappApp注:一个project</div> </li> <li><a href="/article/1950169526440095744.htm" title="从零到一:打造基于GigaChat AI的艺术创作平台 | 笙囧同学的全栈开发实战" target="_blank">从零到一:打造基于GigaChat AI的艺术创作平台 | 笙囧同学的全栈开发实战</a> <span class="text-muted"></span> <div>作者简介:笙囧同学,中科院计算机大模型方向硕士,全栈开发爱好者联系方式:3251736703@qq.com各大平台账号:笙囧同学座右铭:偷懒是人生进步的阶梯前言在AI技术飞速发展的今天,如何将前沿的大模型技术与实际应用相结合,一直是我们开发者关注的焦点。今天,笙囧同学将带大家从零开始,构建一个基于GigaChatAI的艺术创作平台,实现React前端+Django后端的完整全栈解决方案。这不仅仅是</div> </li> <li><a href="/article/1950137857754591232.htm" title="4D卓越团队-习书C3" target="_blank">4D卓越团队-习书C3</a> <span class="text-muted">林晔0302</span> <div>第三章4D系统-----神奇坐标的诞生一诞生背景:1物理学背景简化的二乘二矩阵,坐标系;2荣格1905年发表的人的性格发展理论;词汇参考MBTI指标坐标轴X:作出决策是用情感还是逻辑坐标轴Y:获取信息是靠直觉还是感觉。五感:视觉听觉嗅觉味觉触觉占70%二4D系统分析领导力领导者特征四维度:情感与直觉----绿色培养型情感与感觉---黄色包容型逻辑与直觉---蓝色展望型逻辑与感觉--橙色指导型三4D</div> </li> <li><a href="/article/1950100186747432960.htm" title="Python 中的 JWT 认证:从生成到验证的完整指南" target="_blank">Python 中的 JWT 认证:从生成到验证的完整指南</a> <span class="text-muted">盛夏绽放</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</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%9C%89%E9%97%AE%E5%BF%85%E7%AD%94/1.htm">有问必答</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a> <div>文章目录Python中的JWT认证:从生成到验证的完整指南一、JWT是什么?为什么需要它?传统session与JWT对比二、JWT的结构解析三、Python中实现JWT1.安装PyJWT包2.生成JWT3.验证JWT4.错误处理大全四、高级应用场景1.双令牌系统(Access+Refresh)详细说明表格:异常处理补充表:2.与FastAPI/Django集成五、安全最佳实践六、性能优化技巧算法性</div> </li> <li><a href="/article/1950077375941242880.htm" title="python3中,pycharm中怎么连接数据库" target="_blank">python3中,pycharm中怎么连接数据库</a> <span class="text-muted">weixin_33736832</span> <a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E5%B7%A5%E5%85%B7/1.htm">开发工具</a> <div>因为python3现在还不能直接连接数据库,所有如果想连接,就只能通过以下方法:在APP中的,__init__.py中,添加以下代码就可以:importpymysqlpymysql.install_as_MySQLdb()当然前提是,那就的在setting.py中连接数据库添加所连接的mysql数据库的详细信息,如下:DATABASES={'default':{'ENGINE':'django.d</div> </li> <li><a href="/article/1950052911954325504.htm" title="万字解析:从 C 语言到初阶数据结构" target="_blank">万字解析:从 C 语言到初阶数据结构</a> <span class="text-muted">Aurora-silas</span> <a class="tag" taget="_blank" href="/search/c%E8%AF%AD%E8%A8%80/1.htm">c语言</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/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>目录万字解析:从C语言到初阶数据结构前言第一章:C语言初识与环境搭建C语言的历史与影响开发工具介绍第一个程序HelloWorld第二章:变量、数据类型与运算符基本数据类型常量与变量命名规范运算符与表达式趣味小练习:BMI计算器第三章:输入输出与格式化printf输出格式详解scanf输入用法与常见问题小项目:自我介绍程序第四章:流程控制if/else条件判断switch语句循环结构小练习:乘法口诀</div> </li> <li><a href="/article/1950044592334237696.htm" title="常见4种主流ORM介绍与基本使用(Peewee ORM、Django ORM、SQLAlchemy ORM、Tortoise ORM)" target="_blank">常见4种主流ORM介绍与基本使用(Peewee ORM、Django ORM、SQLAlchemy ORM、Tortoise ORM)</a> <span class="text-muted">ACERT333</span> <a class="tag" taget="_blank" href="/search/python%E5%90%8E%E7%AB%AF%E5%BC%80%E5%8F%91%E7%AC%94%E8%AE%B0/1.htm">python后端开发笔记</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a><a class="tag" taget="_blank" href="/search/django/1.htm">django</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a><a class="tag" taget="_blank" href="/search/ORM/1.htm">ORM</a> <div>ORM对象关系映射(ObjectRelationalMapping,简称ORM)是一种程序设计技术,用于在面向对象编程语言和关系数据库之间进行数据转换。ORM的核心思想是通过创建一个“虚拟对象数据库”,使开发者可以使用面向对象的方式操作数据库,而不需要直接编写复杂的SQL语句。基本原理:ORM的基本原理是将数据库中的表映射为编程语言中的类,将表中的记录映射为类的实例,将表中的字段映射为类的属性。通</div> </li> <li><a href="/article/1950026055511240704.htm" title="django 按照外键排序" target="_blank">django 按照外键排序</a> <span class="text-muted">计算机辅助工程</span> <a class="tag" taget="_blank" href="/search/django/1.htm">django</a><a class="tag" taget="_blank" href="/search/sqlite/1.htm">sqlite</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a> <div>在Django中,使用外键(ForeignKey)进行排序是一种常见的需求,特别是在处理数据库关系时,如用户和订单之间的关系(一个用户有多个订单)。下面是如何在使用DjangoORM时进行基于外键的排序。定义模型首先,确保你的模型已经正确定义了ForeignKey关系。例如,我们有两个模型:User和Order,其中Order模型通过外键关联到User模型。fromdjango.dbimportm</div> </li> <li><a href="/article/1950014869000482816.htm" title="[LeetCode 169/229] Majority Element I/II (easy / medium)" target="_blank">[LeetCode 169/229] Majority Element I/II (easy / medium)</a> <span class="text-muted">灰睛眼蓝</span> <div>LeetCode169IGivenanarrayofsizen,findthemajorityelement.Themajorityelementistheelementthatappearsmorethan⌊n/2⌋times.Youmayassumethatthearrayisnon-emptyandthemajorityelementalwaysexistinthearray.Example</div> </li> <li><a href="/article/1950013701042008064.htm" title="Linux DNS解析3 -- DNS解析代理配置使用" target="_blank">Linux DNS解析3 -- DNS解析代理配置使用</a> <span class="text-muted">Ray Song</span> <a class="tag" taget="_blank" href="/search/9./1.htm">9.</a><a class="tag" taget="_blank" href="/search/%E8%AE%B0%E5%BD%95%E6%94%B6%E8%97%8F/1.htm">记录收藏</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/DNS%E8%A7%A3%E6%9E%90/1.htm">DNS解析</a><a class="tag" taget="_blank" href="/search/DNS%E4%BB%A3%E7%90%86/1.htm">DNS代理</a> <div>当网关设备配置了/etc/hosts文件时,确实可以为终端设备提供自定义DNS解析功能,但具体效果取决于网关的DNS代理服务配置。下面详细解释其工作原理和限制:一、/etc/hosts文件的作用/etc/hosts是本地静态域名解析文件,格式为:IP地址域名1域名2...例如:192.168.1.100www.example.comexample.com当系统(或DNS代理服务)收到域名解析请求时</div> </li> <li><a href="/article/1950004872845783040.htm" title="[JAVAEE] Thymeleaf 基本语法: form相关标签" target="_blank">[JAVAEE] Thymeleaf 基本语法: form相关标签</a> <span class="text-muted">CN-Dust</span> <a class="tag" taget="_blank" href="/search/JAVA/1.htm">JAVA</a><a class="tag" taget="_blank" href="/search/EE/1.htm">EE</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/java-ee/1.htm">java-ee</a> <div>th:action指定表单提交地址th:value给value属性赋值th:field能自动生成id、name和value属性form表单示例运行结果更改数据点击保存控制器代码:TestController.javapackagecom.example.demo.controller;importcom.example.demo.bean.Student;importorg.springframe</div> </li> <li><a href="/article/1949996167626551296.htm" title="Thymeleaf语法大全:30个实用示例" target="_blank">Thymeleaf语法大全:30个实用示例</a> <span class="text-muted">bemyrunningdog</span> <a class="tag" taget="_blank" href="/search/thymeleaf/1.htm">thymeleaf</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</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/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>Thymeleaf语法示例大全下面是一些实用的Thymeleaf语法示例,帮助您更好地理解和使用Thymeleaf:1.基本变量输出用户名:默认用户名欢迎,[[${user.name}]]!邮箱:user@example.com2.条件判断管理员用户账户未激活管理员编辑普通用户3.循环迭代用户名称序号名称邮箱奇数行偶数行4.链接和URL产品列表查看详情5.表单处理用户名邮箱角色普通用户管理员编辑保</div> </li> <li><a href="/article/1949969940853354496.htm" title="面向现代数据湖仓的开放表格式对比分析:Iceberg、Hudi、Delta Lake与Paimon" target="_blank">面向现代数据湖仓的开放表格式对比分析:Iceberg、Hudi、Delta Lake与Paimon</a> <span class="text-muted">piekill</span> <a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE%E5%B9%B3%E5%8F%B0/1.htm">大数据平台</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a><a class="tag" taget="_blank" href="/search/spark/1.htm">spark</a><a class="tag" taget="_blank" href="/search/flink/1.htm">flink</a><a class="tag" taget="_blank" href="/search/big/1.htm">big</a><a class="tag" taget="_blank" href="/search/data/1.htm">data</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E4%BB%93%E5%BA%93/1.htm">数据仓库</a> <div>文章目录第一章数据湖的演进:从存储到事务型平台1.1前湖仓时代:ApacheHive的局限性1.2湖仓一体的范式转移第二章架构深度剖析2.1ApacheIceberg:以元数据为中心的设计2.2ApacheHudi:流式优先、时间轴驱动的架构2.3DeltaLake:以事务日志为唯一真相源2.4ApachePaimon:面向实时湖仓的LSM树架构第三章核心能力对比分析3.1事务性与并发控制3.2数</div> </li> <li><a href="/article/1949963886362947584.htm" title="Python,Go, C ++开发升学宝典APP" target="_blank">Python,Go, C ++开发升学宝典APP</a> <span class="text-muted"></span> <div>为了开发一个高效、可扩展的“升学宝典”APP,结合Python、Go和C++的优势,以下是技术架构设计和实现方案:###一、整体技术架构```mermaidgraphLRA[移动端]-->B[Go网关]B-->C[Python微服务]B-->D[C++微服务]C-->E[MySQL]D-->F[Redis]```###二、技术栈分工1.**Python(Django/FastAPI)**-核心业务</div> </li> <li><a href="/article/1949963000672743424.htm" title="Python, C ++开发冷冻食品供应链管理app" target="_blank">Python, C ++开发冷冻食品供应链管理app</a> <span class="text-muted">Geeker-2025</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a> <div>开发一款用于**冷冻食品供应链管理**的App,结合Python和C++的优势,可以实现高效的后端数据处理、实时的供应链监控以及用户友好的前端界面。以下是一个详细的开发方案,涵盖技术选型、功能模块、开发步骤等内容。##技术选型###后端(Python)-**编程语言**:Python-**Web框架**:Django或Flask-**数据库**:PostgreSQL或MySQL-**实时通信**:</div> </li> <li><a href="/article/1949951787150667776.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/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>(一)上机并运行下面程序,看看会出现什么问题?packagecase1;classExample1{staticvoidmethod(){inta=0;intb=10/a;}publicstaticvoidmain(String[]args){method();}}分析程序出错的原因?Method函数方法中a的值为零,作为除数时发生异常修改程序使之能够正常运行。packagecase1;class</div> </li> <li><a href="/article/1949945858665541632.htm" title="Python爬虫【五十八章】Python数据清洗与分析全攻略:从Pandas到深度学习的异常检测进阶" target="_blank">Python爬虫【五十八章】Python数据清洗与分析全攻略:从Pandas到深度学习的异常检测进阶</a> <span class="text-muted">程序员_CLUB</span> <a class="tag" taget="_blank" href="/search/Python%E5%85%A5%E9%97%A8%E5%88%B0%E8%BF%9B%E9%98%B6/1.htm">Python入门到进阶</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/pandas/1.htm">pandas</a> <div>目录背景与需求分析第一章:结构化数据清洗实战(Pandas核心技法)1.1数据去重策略矩阵1.2智能缺失值处理体系第二章:深度学习异常检测进阶2.1自动编码器异常检测(时序数据)2.2图神经网络异常检测(关系型数据)第三章:综合案例实战案例1:金融交易反欺诈系统案例2:工业传感器异常检测第四章:性能优化与工程实践4.1大数据处理加速技巧4.2模型部署方案第五章:方法论总结与展望5.1方法论框架5.</div> </li> <li><a href="/article/1949922787426627584.htm" title="Python学习——Django模型——表关系" target="_blank">Python学习——Django模型——表关系</a> <span class="text-muted"></span> <div>关系型数据库最强大之处在于“关系”,表和表之间是有关联的,表之间的关系有一对一,一对多,多对多。1.1一对一学生和档案之间属于一对一,学生表和档案表就是一对一关系,学生表是主表,档案表是从表。从表中有一个外键和学生表关联,并且要求外键取值唯一,对应关键字为:OneToOneField#创建模型classStudent(models.Model):sno=models.CharField(max_l</div> </li> <li><a href="/article/1949921400315768832.htm" title="django_4数据库2——表外键" target="_blank">django_4数据库2——表外键</a> <span class="text-muted">daduryi</span> <div>表关系:manytoonemanytomanyonetoonemanytoone记录是如何创建出来的?先创建one,在在创建many,创建时加入ForeignKeyfromdjango.dbimportmodels#Createyourmodelshere.classEnter(models):name=models.CharField(max_length=30)def__str__(self)</div> </li> <li><a href="/article/1949920642568613888.htm" title="Django笔记——操作数据库(ORM)第五节" target="_blank">Django笔记——操作数据库(ORM)第五节</a> <span class="text-muted">俺的图图呢?</span> <a class="tag" taget="_blank" href="/search/Django/1.htm">Django</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/django/1.htm">django</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a> <div>Django学习之操作数据库操作数据库——ORM模型中外键和表关系一、外键外键是数据库设计中的一个核心概念,用于确保数据的完整性和一致性。在Django中,ForeignKey用于定义两个模型之间的一对多关系。例如,一个创作者可以发表多篇文章,但每篇文章只能有一个作者。外键字段应该设置在表示“多”的一方的模型中,即一对多关系中的“多”侧,此处为文章侧。类定义:classForeignKey(to,</div> </li> <li><a href="/article/1949920643394891776.htm" title="(八)Django学习——常用的查询数据的方法以及查询条件;常用的字段类型映射关系" target="_blank">(八)Django学习——常用的查询数据的方法以及查询条件;常用的字段类型映射关系</a> <span class="text-muted">2401_84562659</span> <a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E5%91%98/1.htm">程序员</a><a class="tag" taget="_blank" href="/search/django/1.htm">django</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a> <div>================================================================================================(1)常用的字段类型映射关系:(2)常用的字段类型:IntegerField:整型,映射到数据库中的int类型。CharField:字符类型,映射到数据库中的varchar类型,通过max_length指定最</div> </li> <li><a href="/article/1949920644271501312.htm" title="Django 科普介绍:从入门到了解其核心魅力" target="_blank">Django 科普介绍:从入门到了解其核心魅力</a> <span class="text-muted"></span> <div>在当今的Web开发领域,有许多优秀的框架助力开发者高效构建应用,而Django便是其中极具影响力的一员。作为一个高级PythonWeb框架,它以“电池已包含”的理念著称,为开发者提供了丰富的工具和功能,让Web开发变得更加简单、高效且安全。接下来,我们就详细了解一下Django。什么是Django?Django是一个基于Python的开源Web应用框架,于2005年首次发布。它遵循MVC(Mode</div> </li> <li><a href="/article/1949918876514971648.htm" title="Django 批量操作终极指南:update_or_create 与 bulk_create 详解" target="_blank">Django 批量操作终极指南:update_or_create 与 bulk_create 详解</a> <span class="text-muted">Yant224</span> <a class="tag" taget="_blank" href="/search/Django/1.htm">Django</a><a class="tag" taget="_blank" href="/search/V2/1.htm">V2</a><a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/%E7%AC%AC2%E7%AB%A0/1.htm">第2章</a><a class="tag" taget="_blank" href="/search/%E6%A8%A1%E5%9E%8B/1.htm">模型</a><a class="tag" taget="_blank" href="/search/django/1.htm">django</a><a class="tag" taget="_blank" href="/search/ORM/1.htm">ORM</a><a class="tag" taget="_blank" href="/search/%E6%89%B9%E9%87%8F%E6%93%8D%E4%BD%9C/1.htm">批量操作</a><a class="tag" taget="_blank" href="/search/update__create/1.htm">update__create</a><a class="tag" taget="_blank" href="/search/bulk_create/1.htm">bulk_create</a> <div>Django批量操作终极指南:update_or_create与bulk_create详解一、update_or_create:智能更新或创建1.核心功能update_or_create方法用于在单个原子操作中:查找匹配指定条件的记录如果存在则更新如果不存在则创建新记录2.方法签名Model.objects.update_or_create(defaults=None,#更新/创建的字段值crea</div> </li> <li><a href="/article/1949918877861343232.htm" title="Django ORM bulk_create MySQL 冲突处理深度解析:`bulk_create` 替代方案与最佳实践" target="_blank">Django ORM bulk_create MySQL 冲突处理深度解析:`bulk_create` 替代方案与最佳实践</a> <span class="text-muted"></span> <div>MySQL不直接支持bulk_create的ignore_conflicts和update_conflicts参数。这些功能是PostgreSQL和SQLite特有的扩展。下面我将详细解释MySQL中的替代方案:一、MySQL不支持冲突处理参数的原因技术限制SQL标准差异:PostgreSQL/SQLite使用ONCONFLICT子句MySQL使用ONDUPLICATEKEYUPDATE语法不兼容</div> </li> <li><a href="/article/1949916105153769472.htm" title="系统性的《Django & AI编程结合:从入门到精通》指南" target="_blank">系统性的《Django & AI编程结合:从入门到精通》指南</a> <span class="text-muted">AI编程员</span> <a class="tag" taget="_blank" href="/search/001AI%E4%BC%A0%E7%BB%9F%EF%BC%86%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80/1.htm">001AI传统&编程语言</a><a class="tag" taget="_blank" href="/search/002AI%E7%BC%96%E7%A8%8B%E5%B7%A5%E5%85%B7%E6%B1%87%E6%80%BB/1.htm">002AI编程工具汇总</a><a class="tag" taget="_blank" href="/search/003AI%E7%BC%96%E7%A8%8B%E4%BD%9C%E5%93%81%E6%B1%87%E6%80%BB/1.htm">003AI编程作品汇总</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%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/django/1.htm">django</a><a class="tag" taget="_blank" href="/search/AI%E7%BC%96%E7%A8%8B/1.htm">AI编程</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a> <div>以下是一篇系统性的《Django&AI编程结合:从入门到精通》指南,共分20大章节,超过2.5万字,涵盖基础开发、AI集成、经典案例和完整项目实战。第一章:Django基础与环境搭建1.1开发环境配置#创建虚拟环境python-mvenvmyenvsourcemyenv/bin/activate#安装Djangopipinstalldjango==4.2django-adminstartproje</div> </li> <li><a href="/article/1949896296491970560.htm" title="Markdown 结合Typora 基础使用 —— 数学公式(4)" target="_blank">Markdown 结合Typora 基础使用 —— 数学公式(4)</a> <span class="text-muted">Miachel_Z</span> <a class="tag" taget="_blank" href="/search/markdown/1.htm">markdown</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%AD%A6%E4%B9%A0/1.htm">学习</a> <div>一.使用的软件软件版本说明:使用软件:Typorav1.9.5使用方法:推荐参考以下教程(由CSDN大佬整理)教程地址(Markdown实战)上期内容&项目地址推荐阅读:Markdown结合Typora基础使用(1)Markdown结合Typora基础使用(2)Markdown结合Typora基础使用——数学公式(3)源码仓库地址:GitHub:Markdown-Examples本章文件名:mar</div> </li> <li><a href="/article/1949880666971762688.htm" title="读书笔记《心灵书写》" target="_blank">读书笔记《心灵书写》</a> <span class="text-muted">霹雳婉儿的小屋</span> <div>第三章《用书写觉察内心深处的需求》10《六个写作练习,让你与过去的自己和解》看着他们的第一次和最后一次,我感受到了他们在那一刻的心情,也知道那些不同凡响的第一次和最后一次给他们的整个人生带来了多么大的影响。他们写完后陷入了不同的情绪状态,彼此读出来的时候,他们有的声音哽咽,有的痛哭不止,有的激动发抖,有的把本子撕掉……不管如何,他们都在书写时回到了那个重要时刻,在那里和过去的自己重逢,疗愈脆弱的自</div> </li> <li><a href="/article/1949869816080822272.htm" title="mysql存储报错:“Incorrect string value: ‘\\xF0\\x9F\\x98\\x80\\xF0\\x9F...‘ for column" target="_blank">mysql存储报错:“Incorrect string value: ‘\\xF0\\x9F\\x98\\x80\\xF0\\x9F...‘ for column</a> <span class="text-muted"></span> <div>django.db.utils.OperationalError:(1366,“Incorrectstringvalue:‘\xF0\x9F\x98\x80\xF0\x9F…’forcolumn‘corpus’atrow1”)报错如上,原因是存储内容里涉及了表情符号,如:,属四字节数据,而默认的utf8字符集违法处理4字节的数据。解决方式1.修改相应表字段的字符集为utf8mb64navicat或</div> </li> <li><a href="/article/1949848491786301440.htm" title="Spring AI 实战:第六章、Spring AI源码浅析之一山可容二虎" target="_blank">Spring AI 实战:第六章、Spring AI源码浅析之一山可容二虎</a> <span class="text-muted">liaokailin</span> <a class="tag" taget="_blank" href="/search/Spring/1.htm">Spring</a><a class="tag" taget="_blank" href="/search/AI/1.htm">AI</a><a class="tag" taget="_blank" href="/search/%E5%AE%9E%E6%88%98/1.htm">实战</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>目录(如果文章对您有一丢丢输入,请点赞、收藏、转发吧~)源码开篇、大模型时代:我们正站在浪潮之巅第一章、SpringAI入门之DeepSeek调用第二章、SpringAI提示词之玩转AI占卜的艺术第三章、SpringAI结构化输出之告别杂乱无章第四章、SpringAI多模态之看图说话第五</div> </li> <li><a href="/article/24.htm" title="tomcat基础与部署发布" target="_blank">tomcat基础与部署发布</a> <span class="text-muted">暗黑小菠萝</span> <a class="tag" taget="_blank" href="/search/Tomcat+java+web/1.htm">Tomcat java web</a> <div>从51cto搬家了,以后会更新在这里方便自己查看。 做项目一直用tomcat,都是配置到eclipse中使用,这几天有时间整理一下使用心得,有一些自己配置遇到的细节问题。 Tomcat:一个Servlets和JSP页面的容器,以提供网站服务。 一、Tomcat安装     安装方式:①运行.exe安装包      &n</div> </li> <li><a href="/article/151.htm" title="网站架构发展的过程" target="_blank">网站架构发展的过程</a> <span class="text-muted">ayaoxinchao</span> <a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/%E5%BA%94%E7%94%A8%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">应用服务器</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%AB%99%E6%9E%B6%E6%9E%84/1.htm">网站架构</a> <div>1.初始阶段网站架构:应用程序、数据库、文件等资源在同一个服务器上 2.应用服务和数据服务分离:应用服务器、数据库服务器、文件服务器 3.使用缓存改善网站性能:为应用服务器提供本地缓存,但受限于应用服务器的内存容量,可以使用专门的缓存服务器,提供分布式缓存服务器架构 4.使用应用服务器集群改善网站的并发处理能力:使用负载均衡调度服务器,将来自客户端浏览器的访问请求分发到应用服务器集群中的任何</div> </li> <li><a href="/article/278.htm" title="[信息与安全]数据库的备份问题" target="_blank">[信息与安全]数据库的备份问题</a> <span class="text-muted">comsci</span> <a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a> <div>       如果你们建设的信息系统是采用中心-分支的模式,那么这里有一个问题   如果你的数据来自中心数据库,那么中心数据库如果出现故障,你的分支机构的数据如何保证安全呢?    是否应该在这种信息系统结构的基础上进行改造,容许分支机构的信息系统也备份一个中心数据库的文件呢?  &n</div> </li> <li><a href="/article/405.htm" title="使用maven tomcat plugin插件debug关联源代码" target="_blank">使用maven tomcat plugin插件debug关联源代码</a> <span class="text-muted">商人shang</span> <a class="tag" taget="_blank" href="/search/maven/1.htm">maven</a><a class="tag" taget="_blank" href="/search/debug/1.htm">debug</a><a class="tag" taget="_blank" href="/search/%E6%9F%A5%E7%9C%8B%E6%BA%90%E7%A0%81/1.htm">查看源码</a><a class="tag" taget="_blank" href="/search/tomcat-plugin/1.htm">tomcat-plugin</a> <div>*首先需要配置好'''maven-tomcat7-plugin''',参见[[Maven开发Web项目]]的'''Tomcat'''部分。 *配置好后,在[[Eclipse]]中打开'''Debug Configurations'''界面,在'''Maven Build'''项下新建当前工程的调试。在'''Main'''选项卡中点击'''Browse Workspace...'''选择需要开发的</div> </li> <li><a href="/article/532.htm" title="大访问量高并发" target="_blank">大访问量高并发</a> <span class="text-muted">oloz</span> <a class="tag" taget="_blank" href="/search/%E5%A4%A7%E8%AE%BF%E9%97%AE%E9%87%8F%E9%AB%98%E5%B9%B6%E5%8F%91/1.htm">大访问量高并发</a> <div>大访问量高并发的网站主要压力还是在于数据库的操作上,尽量避免频繁的请求数据库。下面简 要列出几点解决方案: 01、优化你的代码和查询语句,合理使用索引 02、使用缓存技术例如memcache、ecache将不经常变化的数据放入缓存之中 03、采用服务器集群、负载均衡分担大访问量高并发压力 04、数据读写分离 05、合理选用框架,合理架构(推荐分布式架构)。 </div> </li> <li><a href="/article/659.htm" title="cache 服务器" target="_blank">cache 服务器</a> <span class="text-muted">小猪猪08</span> <a class="tag" taget="_blank" href="/search/cache/1.htm">cache</a> <div>Cache   即高速缓存.那么cache是怎么样提高系统性能与运行速度呢?是不是在任何情况下用cache都能提高性能?是不是cache用的越多就越好呢?我在近期开发的项目中有所体会,写下来当作总结也希望能跟大家一起探讨探讨,有错误的地方希望大家批评指正。   1.Cache   是怎么样工作的?   Cache   是分配在服务器上</div> </li> <li><a href="/article/786.htm" title="mysql存储过程" target="_blank">mysql存储过程</a> <span class="text-muted">香水浓</span> <a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a> <div>Description:插入大量测试数据 use xmpl; drop procedure if exists mockup_test_data_sp; create procedure mockup_test_data_sp( in number_of_records int ) begin declare cnt int; declare name varch</div> </li> <li><a href="/article/913.htm" title="CSS的class、id、css文件名的常用命名规则" target="_blank">CSS的class、id、css文件名的常用命名规则</a> <span class="text-muted">agevs</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/UI/1.htm">UI</a><a class="tag" taget="_blank" href="/search/%E6%A1%86%E6%9E%B6/1.htm">框架</a><a class="tag" taget="_blank" href="/search/Ajax/1.htm">Ajax</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a> <div>  CSS的class、id、css文件名的常用命名规则     (一)常用的CSS命名规则   头:header   内容:content/container   尾:footer   导航:nav   侧栏:sidebar   栏目:column   页面外围控制整体布局宽度:wrapper   左右中:left right </div> </li> <li><a href="/article/1040.htm" title="全局数据源" target="_blank">全局数据源</a> <span class="text-muted">AILIKES</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/jdbc/1.htm">jdbc</a><a class="tag" taget="_blank" href="/search/JNDI/1.htm">JNDI</a> <div>实验目的:为了研究两个项目同时访问一个全局数据源的时候是创建了一个数据源对象,还是创建了两个数据源对象。 1:将diuid和mysql驱动包(druid-1.0.2.jar和mysql-connector-java-5.1.15.jar)copy至%TOMCAT_HOME%/lib下;2:配置数据源,将JNDI在%TOMCAT_HOME%/conf/context.xml中配置好,格式如下:&l</div> </li> <li><a href="/article/1167.htm" title="MYSQL的随机查询的实现方法" target="_blank">MYSQL的随机查询的实现方法</a> <span class="text-muted">baalwolf</span> <a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a> <div>MYSQL的随机抽取实现方法。举个例子,要从tablename表中随机提取一条记录,大家一般的写法就是:SELECT * FROM tablename ORDER BY RAND() LIMIT 1。但是,后来我查了一下MYSQL的官方手册,里面针对RAND()的提示大概意思就是,在ORDER BY从句里面不能使用RAND()函数,因为这样会导致数据列被多次扫描。但是在MYSQL 3.23版本中,</div> </li> <li><a href="/article/1294.htm" title="JAVA的getBytes()方法" target="_blank">JAVA的getBytes()方法</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/eclipse/1.htm">eclipse</a><a class="tag" taget="_blank" href="/search/unix/1.htm">unix</a><a class="tag" taget="_blank" href="/search/OS/1.htm">OS</a> <div>    在Java中,String的getBytes()方法是得到一个操作系统默认的编码格式的字节数组。这个表示在不同OS下,返回的东西不一样!      String.getBytes(String decode)方法会根据指定的decode编码返回某字符串在该编码下的byte数组表示,如: byte[] b_gbk = "</div> </li> <li><a href="/article/1421.htm" title="AngularJS中操作Cookies" target="_blank">AngularJS中操作Cookies</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/AngularJS/1.htm">AngularJS</a><a class="tag" taget="_blank" href="/search/Cookies/1.htm">Cookies</a> <div>        如果你的应用足够大、足够复杂,那么你很快就会遇到这样一咱种情况:你需要在客户端存储一些状态信息,这些状态信息是跨session(会话)的。你可能还记得利用document.cookie接口直接操作纯文本cookie的痛苦经历。         幸运的是,这种方式已经一去不复返了,在所有现代浏览器中几乎</div> </li> <li><a href="/article/1548.htm" title="[Maven学习笔记五]Maven聚合和继承特性" target="_blank">[Maven学习笔记五]Maven聚合和继承特性</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/maven/1.htm">maven</a> <div>Maven聚合   在实际的项目中,一个项目通常会划分为多个模块,为了说明问题,以用户登陆这个小web应用为例。通常一个web应用分为三个模块: 1. 模型和数据持久化层user-core, 2. 业务逻辑层user-service以 3. web展现层user-web, user-service依赖于user-core user-web依赖于user-core和use</div> </li> <li><a href="/article/1675.htm" title="【JVM七】JVM知识点总结" target="_blank">【JVM七】JVM知识点总结</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a> <div>  1. JVM运行模式 1.1 JVM运行时分为-server和-client两种模式,在32位机器上只有client模式的JVM。通常,64位的JVM默认都是使用server模式,因为server模式的JVM虽然启动慢点,但是,在运行过程,JVM会尽可能的进行优化 1.2 JVM分为三种字节码解释执行方式:mixed mode, interpret mode以及compiler </div> </li> <li><a href="/article/1802.htm" title="linux下查看nginx、apache、mysql、php的编译参数" target="_blank">linux下查看nginx、apache、mysql、php的编译参数</a> <span class="text-muted">ronin47</span> <div>在linux平台下的应用,最流行的莫过于nginx、apache、mysql、php几个。而这几个常用的应用,在手工编译完以后,在其他一些情况下(如:新增模块),往往想要查看当初都使用了那些参数进行的编译。这时候就可以利用以下方法查看。 1、nginx [root@361way ~]# /App/nginx/sbin/nginx -V nginx: nginx version: nginx/</div> </li> <li><a href="/article/1929.htm" title="unity中运用Resources.Load的方法?" target="_blank">unity中运用Resources.Load的方法?</a> <span class="text-muted">brotherlamp</span> <a class="tag" taget="_blank" href="/search/unity%E8%A7%86%E9%A2%91/1.htm">unity视频</a><a class="tag" taget="_blank" href="/search/unity%E8%B5%84%E6%96%99/1.htm">unity资料</a><a class="tag" taget="_blank" href="/search/unity%E8%87%AA%E5%AD%A6/1.htm">unity自学</a><a class="tag" taget="_blank" href="/search/unity/1.htm">unity</a><a class="tag" taget="_blank" href="/search/unity%E6%95%99%E7%A8%8B/1.htm">unity教程</a> <div>问:unity中运用Resources.Load的方法? 答:Resources.Load是unity本地动态加载资本所用的方法,也即是你想动态加载的时分才用到它,比方枪弹,特效,某些实时替换的图像什么的,主张此文件夹不要放太多东西,在打包的时分,它会独自把里边的一切东西都会集打包到一同,不论里边有没有你用的东西,所以大多数资本应该是自个建文件放置 1、unity实时替换的物体即是依据环境条件</div> </li> <li><a href="/article/2056.htm" title="线段树-入门" target="_blank">线段树-入门</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E7%BA%BF%E6%AE%B5%E6%A0%91/1.htm">线段树</a> <div> /** * 线段树入门 * 问题:已知线段[2,5] [4,6] [0,7];求点2,4,7分别出现了多少次 * 以下代码建立的线段树用链表来保存,且树的叶子结点类似[i,i] * * 参考链接:http://hi.baidu.com/semluhiigubbqvq/item/be736a33a8864789f4e4ad18 * @author lijinna</div> </li> <li><a href="/article/2183.htm" title="全选与反选" target="_blank">全选与反选</a> <span class="text-muted">chicony</span> <a class="tag" taget="_blank" href="/search/%E5%85%A8%E9%80%89/1.htm">全选</a> <div>  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>全选与反选</title> </div> </li> <li><a href="/article/2310.htm" title="vim一些简单记录" target="_blank">vim一些简单记录</a> <span class="text-muted">chenchao051</span> <a class="tag" taget="_blank" href="/search/vim/1.htm">vim</a> <div>mac在/usr/share/vim/vimrc linux在/etc/vimrc   1、问:后退键不能删除数据,不能往后退怎么办?       答:在vimrc中加入set backspace=2   2、问:如何控制tab键的缩进?       答:在vimrc中加入set tabstop=4 (任何</div> </li> <li><a href="/article/2437.htm" title="Sublime Text 快捷键" target="_blank">Sublime Text 快捷键</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/%E5%BF%AB%E6%8D%B7%E9%94%AE/1.htm">快捷键</a><a class="tag" taget="_blank" href="/search/sublime/1.htm">sublime</a> <div>[size=large][/size]Sublime Text快捷键:Ctrl+Shift+P:打开命令面板Ctrl+P:搜索项目中的文件Ctrl+G:跳转到第几行Ctrl+W:关闭当前打开文件Ctrl+Shift+W:关闭所有打开文件Ctrl+Shift+V:粘贴并格式化Ctrl+D:选择单词,重复可增加选择下一个相同的单词Ctrl+L:选择行,重复可依次增加选择下一行Ctrl+Shift+L:</div> </li> <li><a href="/article/2564.htm" title="php 引用(&)详解" target="_blank">php 引用(&)详解</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a> <div>在PHP 中引用的意思是:不同的名字访问同一个变量内容. 与C语言中的指针是有差别的.C语言中的指针里面存储的是变量的内容在内存中存放的地址 变量的引用 PHP 的引用允许你用两个变量来指向同一个内容  复制代码代码如下: <?  $a="ABC";  $b =&$a;  echo</div> </li> <li><a href="/article/2691.htm" title="SVN中trunk,branches,tags用法详解" target="_blank">SVN中trunk,branches,tags用法详解</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/SVN/1.htm">SVN</a> <div>Subversion有一个很标准的目录结构,是这样的。比如项目是proj,svn地址为svn://proj/,那么标准的svn布局是svn://proj/|+-trunk+-branches+-tags这是一个标准的布局,trunk为主开发目录,branches为分支开发目录,tags为tag存档目录(不允许修改)。但是具体这几个目录应该如何使用,svn并没有明确的规范,更多的还是用户自己的习惯。</div> </li> <li><a href="/article/2818.htm" title="对软件设计的思考" target="_blank">对软件设计的思考</a> <span class="text-muted">e200702084</span> <a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/ssh/1.htm">ssh</a><a class="tag" taget="_blank" href="/search/%E6%B4%BB%E5%8A%A8/1.htm">活动</a> <div>软件设计的宏观与微观    软件开发是一种高智商的开发活动。一个优秀的软件设计人员不仅要从宏观上把握软件之间的开发,也要从微观上把握软件之间的开发。宏观上,可以应用面向对象设计,采用流行的SSH架构,采用web层,业务逻辑层,持久层分层架构。采用设计模式提供系统的健壮性和可维护性。微观上,对于一个类,甚至方法的调用,从计算机的角度模拟程序的运行情况。了解内存分配,参数传</div> </li> <li><a href="/article/2945.htm" title="同步、异步、阻塞、非阻塞" target="_blank">同步、异步、阻塞、非阻塞</a> <span class="text-muted">geeksun</span> <a class="tag" taget="_blank" href="/search/%E9%9D%9E%E9%98%BB%E5%A1%9E/1.htm">非阻塞</a> <div>同步、异步、阻塞、非阻塞这几个概念有时有点混淆,在此文试图解释一下。   同步:发出方法调用后,当没有返回结果,当前线程会一直在等待(阻塞)状态。 场景:打电话,营业厅窗口办业务、B/S架构的http请求-响应模式。   异步:方法调用后不立即返回结果,调用结果通过状态、通知或回调通知方法调用者或接收者。异步方法调用后,当前线程不会阻塞,会继续执行其他任务。 实现:</div> </li> <li><a href="/article/3072.htm" title="Reverse SSH Tunnel 反向打洞實錄" target="_blank">Reverse SSH Tunnel 反向打洞實錄</a> <span class="text-muted">hongtoushizi</span> <a class="tag" taget="_blank" href="/search/ssh/1.htm">ssh</a> <div>實際的操作步驟: # 首先,在客戶那理的機器下指令連回我們自己的 Server,並設定自己 Server 上的 12345 port 會對應到幾器上的 SSH port ssh -NfR 12345:localhost:22 fred@myhost.com # 然後在 myhost 的機器上連自己的 12345 port,就可以連回在客戶那的機器 ssh localhost -p 1</div> </li> <li><a href="/article/3199.htm" title="Hibernate中的缓存" target="_blank">Hibernate中的缓存</a> <span class="text-muted">Josh_Persistence</span> <a class="tag" taget="_blank" href="/search/%E4%B8%80%E7%BA%A7%E7%BC%93%E5%AD%98/1.htm">一级缓存</a><a class="tag" taget="_blank" href="/search/Hiberante%E7%BC%93%E5%AD%98/1.htm">Hiberante缓存</a><a class="tag" taget="_blank" href="/search/%E6%9F%A5%E8%AF%A2%E7%BC%93%E5%AD%98/1.htm">查询缓存</a><a class="tag" taget="_blank" href="/search/%E4%BA%8C%E7%BA%A7%E7%BC%93%E5%AD%98/1.htm">二级缓存</a> <div>Hibernate中的缓存   一、Hiberante中常见的三大缓存:一级缓存,二级缓存和查询缓存。 Hibernate中提供了两级Cache,第一级别的缓存是Session级别的缓存,它是属于事务范围的缓存。这一级别的缓存是由hibernate管理的,一般情况下无需进行干预;第二级别的缓存是SessionFactory级别的缓存,它是属于进程范围或群集范围的缓存。这一级别的缓存</div> </li> <li><a href="/article/3326.htm" title="对象关系行为模式之延迟加载" target="_blank">对象关系行为模式之延迟加载</a> <span class="text-muted">home198979</span> <a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/%E5%BB%B6%E8%BF%9F%E5%8A%A0%E8%BD%BD/1.htm">延迟加载</a> <div>形象化设计模式实战     HELLO!架构   一、概念 Lazy Load:一个对象,它虽然不包含所需要的所有数据,但是知道怎么获取这些数据。 延迟加载貌似很简单,就是在数据需要时再从数据库获取,减少数据库的消耗。但这其中还是有不少技巧的。     二、实现延迟加载 实现Lazy Load主要有四种方法:延迟初始化、虚</div> </li> <li><a href="/article/3453.htm" title="xml 验证" target="_blank">xml 验证</a> <span class="text-muted">pengfeicao521</span> <a class="tag" taget="_blank" href="/search/xml/1.htm">xml</a><a class="tag" taget="_blank" href="/search/xml%E8%A7%A3%E6%9E%90/1.htm">xml解析</a> <div>有些字符,xml不能识别,用jdom或者dom4j解析的时候就报错 public static void testPattern() { // 含有非法字符的串 String str =       "Jamey&#52828;&#01;&#02;&#209;&#1282</div> </li> <li><a href="/article/3580.htm" title="div设置半透明效果" target="_blank">div设置半透明效果</a> <span class="text-muted">spjich</span> <a class="tag" taget="_blank" href="/search/css/1.htm">css</a><a class="tag" taget="_blank" href="/search/%E5%8D%8A%E9%80%8F%E6%98%8E/1.htm">半透明</a> <div>为div设置如下样式:   div{filter:alpha(Opacity=80);-moz-opacity:0.5;opacity: 0.5;}        说明: 1、filter:对win IE设置半透明滤镜效果,filter:alpha(Opacity=80)代表该对象80%半透明,火狐浏览器不认2、-moz-opaci</div> </li> <li><a href="/article/3707.htm" title="你真的了解单例模式么?" target="_blank">你真的了解单例模式么?</a> <span class="text-muted">w574240966</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%8D%95%E4%BE%8B/1.htm">单例</a><a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a><a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a> <div>    单例模式,很多初学者认为单例模式很简单,并且认为自己已经掌握了这种设计模式。但事实上,你真的了解单例模式了么。   一,单例模式的5中写法。(回字的四种写法,哈哈。)     1,懒汉式           (1)线程不安全的懒汉式 public cla</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>