Asp.Net MVC4.0 官方教程 入门指南之三--添加一个视图

在本节中,您需要修改HelloWorldController类,从而使用视图模板文件,干净优雅的封装生成返回到客户端浏览器HTML的过程。

您将创建一个视图模板文件,其中使用了ASP.NET MVC 3所引入的Razor视图引擎。Razor视图模板文件使用.cshtml文件扩展名,并提供了一个优雅的方式来使用C#语言创建所要输出的HTML。用Razor编写一个视图模板文件时,将所需的字符和键盘敲击数量降到了最低,并实现了快速,流畅的编码工作流程。

当前在控制器类中的Index方法返回了一个硬编码的字符串。更改Index方法返回一个View对象,如下面的示例代码:

 public ActionResult Index()
 {
    return View();
 }

上面的Index方法使用一个视图模板来生成一个HTML返回给浏览器。控制器的方法(也被称为action method(操作方法) ),如上面的Index方法,一般返回一个ActionResult(或从ActionResult所继承的类型),而不是原始的类型,如字符串。

在该项目中,您可以使用的Index方法来添加一个视图模板。要做到这一点,在Index方法中单击鼠标右键,然后单击“ 添加视图“

出现添加视图对话框。保留缺省值,并单击添加按钮

您可以在解决方案资源管理器中看到MvcMovie\Views\HelloWorld 文件夹和已被创建的MvcMovie\View\HelloWorld\Index.cshtml文件:

下图显示了已被创建的Index.cshtml文件:

@{
    ViewBag.Title = "Index";
}

Index

标签后面添加以下HTML:

从我们的视图模板里返回!

完整的MvcMovie\HelloWorld\Index.cshtml文件如下所示。

@{     ViewBag.Title = "Index";   }  

Index

  

从我们的视图模板里返回!

运行程序,访问HellWorld控制器http://localhost:5279/HelloWorld/。控制器里的Index方法并没有做很多工作,仅仅是执行 return View()语句,指定使用模板文件来响应浏览器请求。因为你没有指定使用的模板文件名称,ASP.NET MVC默认使用\Views\HelloWorld目录下的Index.cshtml视图文件。

看上去很不错。然而,注意浏览器标题栏“Index- 我的 ASP.NET MVC 应用程序”,以及页面顶部一个大号的链接“将你的徽标放置在此处”。链接下方是注册和登录链接,再往下是主页、关于和联系方式的页面链接。让我们来修改这些。

修改视图页和布局页

首先,你想修改页面顶部的标题“将你的徽标放置在此处”。该文本在每个页面中通用。虽然出现在应用的每一个页面,实际上在项目中只定义了一次,。在解决方案资源管理器中定位到/Views/Shared目录下,打开 _Layout.cshtml文件。该文件称为布局页,共享为外壳,被所有其他页面使用。

布局模板使你指定特定的HTML容器来布局整个站点,在一处定义,在站点多个页面应用。找到@RenderBody()行。RenderBody是一个你创建的视图页面中的占位符,在布局页面中断行。例如,如果你选择“关于”链接,\Home\About.cshtml 视图在RenderBody方法中呈现。

在布局模板中修改站点标题行,由“将你的徽标放置在此处”改为“MVC 电影”。

class="float-left">class="site-title">@Html.ActionLink("MVC 电影", "Index", "Home")

使用以下标记替换标题内容:

</span><span class="pln">@ViewBag.Title - 电影应用程序</span><span class="tag">

运行程序,并注意现在显示是“MVC 电影”。点击“关于”链接,你会发现该页面同样显示“MVC 电影”。我们在布局模板中改变一次,站点中所有页面都会变更为新的标题。

 
现在,让我们来修改Index视图的标题。

打开MvcMovie\Views\HelloWorld\Index.cshtml文件。里面有两处地方需要修改:首先,在浏览器标题栏显示的文本,其次是在二级标题(

元素)处。你可以将两处修改稍微不同,以便能区分出哪个地方分别对应应用程序的哪个部分。

@{
    ViewBag.Title = "首页";
}

我的首页

代码通过设置ViewBagTitle属性来指明HTML标题的显示内容。如果你查看布局模板的源码,你会注意到模板在元素中使用该值作为 <code><head>的一部分。使用<code>ViewBag,你可以容易地在视图模板和布局文件间传递其他参数。</code></code></code></p> <p>运行程序,浏览 <em>http://localhost:xx/HelloWorld</em>。你会发现浏览页面的标题、一级标题、二级标题已经发生改变(如果在浏览器中看不到改变,那么可能你看到的是缓存内容,使用Ctrl+F5强制浏览器从服务器加载数据到客户端)。浏览器标题由两部分组成,首先是我们在Index.cshtml视图模板里设置的<code>ViewBag.Title,然后是在布局文件中设置的“-电影应用程序”。</code></p> <p>同时注意<em>Index.cshtml</em>视图模板文件内容是如何与 <em>_Layout.cshtml</em>视图模板合并,形成单一的HTML响应返回给浏览器。布局模板使修改应用到你的应用程序所有页面变得容易。</p> <p>上面例子中我们很少一点数据是硬编码。此MVC应用程序有视图,并且你已经创建了控制器,但是还没有模型。很快,我们将涉及如何创建数据库并从中取得模型数据。</p> <p><span style="font-size:15px;"><strong> 从控制器传递数据到视图</strong></span></p> <p>在我们创建数据库并谈论模型之前,让我们先谈论下从控制器传递信息到视图。控制器类被调用来响应输入网址请求。在控制器类中编写代码,处理浏览器输入请求,从数据库获取数据,并且决定什么类型的响应被发回浏览请求。来自控制器的视图模板被用于生成和格式化HTML响应给浏览器。</p> <p>控制器负责提供需要的任何数据或对象给视图模板来生成响应给浏览器。最佳实践是:视图模板不应该处理业务逻辑或者直接与数据库发生交互。视图模板应该仅仅处理控制器提供给它的数据。保持关系的隔离,有助于使你的代码干净、可测试和易于维护。</p> <p>目前,<code>HelloWorldController类中的<code>Welcome</code>方法是用name和num参数,直接输出值到浏览器。让我们改变控制器,使用视图模板来替代控制器使用字符串响应请求。视图模板将生产一个动态响应,意味着你需要传递一个视图模板可访问的<code>ViewBag</code>对象。</code></p> <p>返回到 the <em>HelloWorldController.cs</em>文件,修改<code>Welcome</code>方法,为ViewBag对象增加Message和Num值。ViewBag是一个动态对象,意味着你可以放任何你想放的东西进去;该对象在你放什么进去之前,没有定义的属性。ASP.NET MVC 模型绑定机制自动将地址栏查询字符串中的命名参数映射到你的方法中的参数。完整的<em>HelloWorldController.cs如下图所示:</em> </p> <div class="cnblogs_code"> <pre> <span style="color:#0000ff;">public</span> ActionResult Welcome(<span style="color:#0000ff;">string</span> message, <span style="color:#0000ff;">int</span> num = <span style="color:#800080;">1</span><span style="color:#000000;">) { ViewBag.Message </span>= <span style="color:#000000;"> message; ViewBag.Num </span>=<span style="color:#000000;"> num; </span><span style="color:#0000ff;">return</span><span style="color:#000000;"> View(); } </span></pre> </div> <p>现在包含数据的ViewBag对象将被自动传递到视图。</p> <p>接下来,你需要一个Welcome视图模板。在生成菜单中,选择生成MVCMovie来确保该工程被编译。</p> <p>然后在Welcome方法中右键单击,选择添加视图,保持默认,添加。</p> <p>将<em>Welcome.cshtml</em>文件中的<h2>Welcome</h2>替换为以下内容</p> <div class="cnblogs_code"> <pre><ul><span style="color:#000000;"> @for (</span><span style="color:#0000ff;">int</span> i = <span style="color:#800080;">0</span>; i < ViewBag.Num; i++<span style="color:#000000;">) { </span><li>@ViewBag.Message</li><span style="color:#000000;"> } </span></ul></pre> </div> <p>运行查看效果。</p> <p>现在数据通过模型绑定从地址栏传递给控制器。控制器将数据打包放进ViewBag对象,并将该对象传递给视图。视图将数据显示为HTML给用户。</p> <p>在上面这个例子中,我们使用ViewBag对象从控制器传递数据到视图。稍后的学习中,我们将使用视图模型来传递数据。相对于ViewBag方式,视图模型方式传递数据更加优秀</p> <p>这是一种方式的模型,但不是数据库方式。让我们来学习和创建电影的数据库。</p> <p> </p> <p><strong><br class="Apple-interchange-newline">本教程所有文章导航</strong></p> <p>本系列共10篇文章,翻译自Asp.Net MVC4 官方教程,由于本系列文章言简意赅,篇幅适中,从一个示例开始讲解,全文最终完成了一个管理影片的小系统,非常适合新手入门Asp.Net MVC4,并由此开始开发工作。</p> <p>原文供9篇文章,译者将其中第6篇拆成了2篇</p> <p>1. Asp.Net MVC4 入门介绍</p> <p>· 原文地址:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/intro-to-aspnet-mvc-4</p> <p>· 译文地址:http://www.cnblogs.com/seawaving/archive/2012/12/03/2800210.html</p> <p>2. 添加一个控制器</p> <p>· 原文地址:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-controller</p> <p>· 译文地址:http://www.cnblogs.com/seawaving/archive/2012/12/04/2801949.html</p> <p>3. 添加一个视图</p> <p>· 原文地址:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-view</p> <p>· 译文地址:http://www.cnblogs.com/seawaving/archive/2012/12/04/2801988.html</p> <p>4. 添加一个模型</p> <p>· 原文地址:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-model</p> <p>· 译文地址:http://www.cnblogs.com/seawaving/archive/2012/12/05/2803012.html</p> <p>5. 从控制器访问数据模型</p> <p>· 原文地址:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/accessing-your-models-data-from-a-controller</p> <p>· 译文地址:http://www.cnblogs.com/seawaving/archive/2012/12/05/2803429.html</p> <p>6. 查看Edit方法和Edit视图</p> <p>· 原文地址:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/examining-the-edit-methods-and-edit-view</p> <p>· 译文地址:http://www.cnblogs.com/seawaving/archive/2012/12/05/2804100.html</p> <p>       http://www.cnblogs.com/seawaving/archive/2012/12/06/2804590.html</p> <p>7. 为Movie模型和库表添加字段</p> <p>· 原文地址:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-new-field-to-the-movie-model-and-table</p> <p>· 译文地址:http://www.cnblogs.com/seawaving/archive/2012/12/06/2805401.html</p> <p>8. 为模型添加验证</p> <p>· 原文地址:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-validation-to-the-model</p> <p>· 译文地址:http://www.cnblogs.com/seawaving/archive/2012/12/06/2806322.html</p> <p>9. 查看Detail和Delete方法</p> <p>· 原文地址:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/examining-the-details-and-delete-methods</p> <p>· 译文地址:http://www.cnblogs.com/seawaving/archive/2012/12/10/2811064.html</p> </div> <p>转载于:https://www.cnblogs.com/seawaving/archive/2012/12/04/2801988.html</p> </div> </div> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1274545168330014720"></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">你可能感兴趣的:(Asp.Net MVC4.0 官方教程 入门指南之三--添加一个视图)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1903986677349675008.htm" title="C++函数返回多个值:结构体、tuple" target="_blank">C++函数返回多个值:结构体、tuple</a> <span class="text-muted">@you_123</span> <a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a> <div>C++函数一般可以返回一个值,但是在使用中常常需要一个函数返回多个值,因此可以使用结构体或tuple来进行实现。注意看代码里的注释!!!1.使用结构体返回多个值实现步骤:1.先定义一个结构体2.准备我们要实现的函数(需要返回多个值)3.在要实现的函数内调用结构体返回多个值4.使用函数返回结果代码示例:step1:定义结构体structPointStruct{floatwithout_floor;i</div> </li> <li><a href="/article/1903985039922753536.htm" title="什么是Spring Boot?它在Java后端开发中的作用是什么?" target="_blank">什么是Spring Boot?它在Java后端开发中的作用是什么?</a> <span class="text-muted">破碎的天堂鸟</span> <a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0%E6%95%99%E7%A8%8B/1.htm">学习教程</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/boot/1.htm">boot</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a> <div>什么是SpringBoot?SpringBoot是由Pivotal团队开发的一个基于Spring框架的快速开发框架,旨在简化Spring应用的初始搭建和开发流程。其核心理念是“约定优于配置”(ConventionoverConfiguration),通过默认配置和自动化机制,使开发者能够快速构建独立的、生产级别的应用程序。以下是其核心定义与特点:基于Spring的扩展与优化SpringBoot并非</div> </li> <li><a href="/article/1903984536014876672.htm" title="绘图更新~" target="_blank">绘图更新~</a> <span class="text-muted">饼干帅成渣</span> <a class="tag" taget="_blank" href="/search/%E6%B0%B4%E6%B0%B4%E6%B0%B4%E6%B0%B4%E6%B0%B4%E6%B0%B4%E6%B0%B4%E6%B0%B4%E6%B0%B4%E6%B0%B4%E6%B0%B4%E6%B0%B4%E6%B0%B4%E6%B0%B4%E6%B0%B4/1.htm">水水水水水水水水水水水水水水水</a> <div>最近正在添加平行四边形,作者正在用仅剩不多的数学才能计算,所以会更新很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢很慢,敬请谅解~~~</div> </li> <li><a href="/article/1903984029644943360.htm" title="庖丁解java(一篇文章学java)" target="_blank">庖丁解java(一篇文章学java)</a> <span class="text-muted">庖丁解java</span> <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><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/boot/1.htm">boot</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a> <div>(大家不用收藏这篇文章,因为这篇文章会经常更新,也就是删除后重发)一篇文章学java,这是我滴一个执念...当然,真一篇文章就写完java基础,java架构,java业务实现,java业务扩展,根本不可能.所以,这篇文章,就是一个索引,索什么呢?请看下文...关于决定开始写博文的介绍(一切故事的起点源于这一次反省)中小技术公司的软扩展(微服务扩展是否有必要?)-CSDN博客SpringCloud(</div> </li> <li><a href="/article/1903984031461076992.htm" title="给美国客户设计的一个24V5A反激式开关电源_光耦TL431环路补偿_极点_零点" target="_blank">给美国客户设计的一个24V5A反激式开关电源_光耦TL431环路补偿_极点_零点</a> <span class="text-muted">巾帼嵌入式</span> <a class="tag" taget="_blank" href="/search/%E8%87%AA%E5%8A%A8%E6%8E%A7%E5%88%B6/1.htm">自动控制</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%85%B3%E7%94%B5%E6%BA%90/1.htm">开关电源</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%85%B3%E7%94%B5%E6%BA%90/1.htm">开关电源</a> <div>电源设计其实并不难,一个是变压器,一个是环路补偿,EMI相关问题看当地标准首先是变压器然后是环路补偿fc8.265k,推断此位置增益0.0db,相位裕度55度,系统稳定</div> </li> <li><a href="/article/1903983903245398016.htm" title="Hamcrest的介绍以及在项目中的实际应用" target="_blank">Hamcrest的介绍以及在项目中的实际应用</a> <span class="text-muted">噔噔噔噔@</span> <a class="tag" taget="_blank" href="/search/%E8%BD%AF%E4%BB%B6%E6%B5%8B%E8%AF%95%E5%9F%BA%E7%A1%80%E5%8F%8A%E5%B7%A5%E5%85%B7%E5%88%86%E4%BA%AB/1.htm">软件测试基础及工具分享</a><a class="tag" taget="_blank" href="/search/%E8%BD%AF%E4%BB%B6%E6%B5%8B%E8%AF%95%E9%9D%A2%E8%AF%95%E9%A2%98%E4%B8%93%E6%A0%8F/1.htm">软件测试面试题专栏</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/Hamcrest/1.htm">Hamcrest</a><a class="tag" taget="_blank" href="/search/%E5%8D%95%E5%85%83%E6%B5%8B%E8%AF%95/1.htm">单元测试</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E5%85%B6%E4%BB%96/1.htm">其他</a> <div>Hamcrest是一个用于编写声明式、可读性强的匹配器(Matcher)的框架,通常与JUnit等测试框架结合使用,用于验证测试结果。它提供了丰富的匹配器库,可以帮助开发者编写更清晰、更灵活的测试断言。Hamcrest的核心特点声明式语法:Hamcrest的匹配器语法更接近自然语言,易于阅读和理解。可组合性:匹配器可以组合使用,构建复杂的断言逻辑。丰富的匹配器库:提供了大量内置匹配器,支持对象、集</div> </li> <li><a href="/article/1903983902607863808.htm" title="c++测试题" target="_blank">c++测试题</a> <span class="text-muted">Helibo44</span> <a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>题目A题目描述:给定两个非负整数A和B,以字符串形式输入,计算A*B的结果,并以字符串形式输出。输入的整数长度不超过1000位。输入格式:第一行,包含一个字符串A。第二行,包含一个字符串B。输出格式:输出一个字符串,表示A×B的结果。样例:输入:123456输出:56088样例解释:123*456=56088。题目B题目描述:给定一个主字符串S和一个模式字符串T,在主字符串中找到所有模式字符串的出</div> </li> <li><a href="/article/1903983524050956288.htm" title="第十二届蓝桥杯C++青少年组中/高级组省赛2021年真题解析" target="_blank">第十二届蓝桥杯C++青少年组中/高级组省赛2021年真题解析</a> <span class="text-muted">码农StayUp</span> <a class="tag" taget="_blank" href="/search/C%2B%2B%E8%93%9D%E6%A1%A5%E6%9D%AF%E9%9D%92%E5%B0%91%E5%B9%B4%E7%BB%84%E7%9C%9F%E9%A2%98%E8%A7%A3%E6%9E%90/1.htm">C++蓝桥杯青少年组真题解析</a><a class="tag" taget="_blank" href="/search/%E8%93%9D%E6%A1%A5%E6%9D%AF/1.htm">蓝桥杯</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a> <div>一、单选题第1题下列符号中哪个在C++中表示行注释()。A:!B:#C:]D://答案:D在C++中,行注释的表示方式是使用双斜杠//。行注释是指从双斜杠开始直到该行的末尾,所有内容都会被编译器忽略,不会被编译和执行。第2题每个C++程序都必须有且仅有一个()A:函数B:预处理命令C:主函数D:语句答案:C每个C++程序都必须有且仅有一个主函数。第3题下列字特串中不可以用作C++变量名称的是()A</div> </li> <li><a href="/article/1903981380652560384.htm" title="网络地址转换(NAT):原理、类型与应用" target="_blank">网络地址转换(NAT):原理、类型与应用</a> <span class="text-muted">憨堡包^—^</span> <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/%E7%BD%91%E7%BB%9C/1.htm">网络</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a> <div>一、什么是NATNAT(NetworkAddressTranslation,网络地址转换)是一种将一个IP地址空间的地址转换为另一个地址空间的地址的技术。它最初是为了缓解IPv4地址不足的问题而设计的。在互联网环境中,NAT允许一个组织使用私有IP地址(如192.168.x.x、10.x.x.x等)来管理其内部网络,而只在需要与外部网络通信时,才将这些私有地址转换为合法的公网IP地址。二、NAT的</div> </li> <li><a href="/article/1903981125915701248.htm" title="吐血整理 python最全习题100道(含答案)持续更新题目,建议收藏!" target="_blank">吐血整理 python最全习题100道(含答案)持续更新题目,建议收藏!</a> <span class="text-muted">Bejpse</span> <a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0%E8%B7%AF%E7%BA%BF/1.htm">学习路线</a><a class="tag" taget="_blank" href="/search/%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4/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%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/pycharm/1.htm">pycharm</a><a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a><a class="tag" taget="_blank" href="/search/java-ee/1.htm">java-ee</a> <div>最近为了提升python水平,在网上找到了python习题,然后根据自己对于python的掌握,整理出来了答案,如果小伙伴们有更好的实现方式,可以下面留言大家一起讨论哦~已知一个字符串为“hello_world_yoyo”,如何得到一个队列[“hello”,”world”,”yoyo”]test=‘hello_world_yoyo’使用split函数,分割字符串,并且将数据转换成列表类型print</div> </li> <li><a href="/article/1903980622125264896.htm" title="密码学,算法在人工智能的实战利用" target="_blank">密码学,算法在人工智能的实战利用</a> <span class="text-muted">china—hbaby</span> <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/%E5%AF%86%E7%A0%81%E5%AD%A6/1.htm">密码学</a> <div>在人工智能(AI)的快速发展中,数据安全和隐私保护成为了核心议题。密码学,作为保护信息安全的基石,其在AI领域的应用显得尤为重要。本文将探讨密码学在AI中的利用,并提供一些代码示例来展示其实际应用。密码学的概述即常用加密方式密码学(Cryptography)是数学和计算机科学的一个分支,它涉及保护信息的安全性和隐私性。密码学的主要目标是确保信息在传输过程中不被未授权的第三方读取或篡改,以及确保信息</div> </li> <li><a href="/article/1903980368319541248.htm" title="力扣算法ing(30 / 100)" target="_blank">力扣算法ing(30 / 100)</a> <span class="text-muted">菥菥爱嘻嘻</span> <a class="tag" taget="_blank" href="/search/%E5%B0%8F%E7%99%BD%E5%AD%A6%E4%B9%A0%E7%AE%97%E6%B3%95/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/leetcode/1.htm">leetcode</a><a class="tag" taget="_blank" href="/search/typescript/1.htm">typescript</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a> <div>3.1719.删除链表的倒数第n个结点给你一个链表,删除链表的倒数第n个结点,并且返回链表的头结点。示例1:输入:head=[1,2,3,4,5],n=2输出:[1,2,3,5]示例2:输入:head=[1],n=1输出:[]示例3:输入:head=[1,2],n=1输出:[1]删除指定的节点,给出头节点逆转链表,寻找第n个,删除不行不行,逆转录又要反转回去后面我想到了一个解决办法:利用数组计算总</div> </li> <li><a href="/article/1903980239692820480.htm" title="ts之变量声明以及语法细节,ts小白初学ing" target="_blank">ts之变量声明以及语法细节,ts小白初学ing</a> <span class="text-muted">菥菥爱嘻嘻</span> <a class="tag" taget="_blank" href="/search/%E5%B0%8F%E7%99%BD%E5%AD%A6%E4%B9%A0ts/1.htm">小白学习ts</a><a class="tag" taget="_blank" href="/search/typescript/1.htm">typescript</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>TypeScript用js编写的项目虽然开发很快,但是维护是成本很高,而且js不报错啊啊啊啊啊!!!以js为基础进行扩展的给变量赋予了类型语法、实战(ts+vue3)TypeScript是JavaScript的一个超集,支持ECMAScript6标准(ES6教程)。TypeScript由微软开发的自由和开源的编程语言,在JavaScript的基础上增加了静态类型检查的超集。TypeScript设计</div> </li> <li><a href="/article/1903980237595668480.htm" title="Node.js 如何发布一个 NPM 包——详细教程" target="_blank">Node.js 如何发布一个 NPM 包——详细教程</a> <span class="text-muted">还是鼠鼠</span> <a class="tag" taget="_blank" href="/search/node.js/1.htm">node.js</a><a class="tag" taget="_blank" href="/search/npm/1.htm">npm</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/node.js/1.htm">node.js</a><a class="tag" taget="_blank" href="/search/vscode/1.htm">vscode</a> <div>在本文中,我将带大家一步步学习如何创建并发布一个NPM包,帮助开发者理解整个流程,并能顺利将自己的JavaScript库发布到NPM上供他人使用。1.安装Node.js和npm在开始之前,请确保你的电脑上已经安装了Node.js和npm(Node.js自带npm)。你可以在终端(Windows用户请使用cmd或PowerShell)输入以下命令检查是否已安装:node-vnpm-v如果出现版本号,</div> </li> <li><a href="/article/1903979859571437568.htm" title="做代理仓建议使用海外仓系统吗?" target="_blank">做代理仓建议使用海外仓系统吗?</a> <span class="text-muted">易境通</span> <a class="tag" taget="_blank" href="/search/%E6%B5%B7%E5%A4%96%E4%BB%93%E7%B3%BB%E7%BB%9F/1.htm">海外仓系统</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a> <div>日益繁荣的跨境电商市场吸引了许多货代企业想要参与其中,却苦于没有经验、缺乏充裕资金和人力资源。而代理仓模式为企业提供了低成本、高灵活性的解决方案,能够有效降低门槛,快速响应市场需求。无需大量的资金、资源、人力投入,即可快速入局海外仓市场。此时,使用一个拥有代理功能的海外仓系统,可以有效简化代理账号和价格设置、客户信息管理,以及财务对账等多个环节流程,大大降低企业的操作难度,帮助企业全面提升管理效率</div> </li> <li><a href="/article/1903978852259000320.htm" title="【C/C++】在排序数组中查找元素的第一个和最后一个位置(leetcode T34)" target="_blank">【C/C++】在排序数组中查找元素的第一个和最后一个位置(leetcode T34)</a> <span class="text-muted">勇士小蓝0727</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/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/leetcode/1.htm">leetcode</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/%E7%AE%97%E6%B3%95/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/%E8%93%9D%E6%A1%A5%E6%9D%AF/1.htm">蓝桥杯</a> <div>核心考点:法一双指针法;法二二分查找法题目描述:给你一个按照非递减顺序排列的整数数组nums,和一个目标值target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值target,返回[-1,-1]。你必须设计并实现时间复杂度为O(logn)的算法解决此问题。(示例见文末)答案详解:方法一:双指针法vectorsearchRange(vector&nums,inttarge</div> </li> <li><a href="/article/1903978725817511936.htm" title="深入探讨Spring MVC:原理、架构与实践" target="_blank">深入探讨Spring MVC:原理、架构与实践</a> <span class="text-muted">luckilyil</span> <a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E6%A1%86%E6%9E%B6/1.htm">开发框架</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/mvc/1.htm">mvc</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a> <div>SpringMVC原理与架构解析1.SpringMVC概述SpringMVC是Spring框架中的一个模块,专注于实现Web应用的MVC设计模式。它通过将应用逻辑分为模型(Model)、视图(View)和控制器(Controller),使得开发人员能够清晰地组织代码,提高开发效率和可维护性。2.SpringMVC的核心组件SpringMVC的核心组件包括:DispatcherServlet:作为前</div> </li> <li><a href="/article/1903977592696926208.htm" title="AI密码学" target="_blank">AI密码学</a> <span class="text-muted">饼干帅成渣</span> <a class="tag" taget="_blank" href="/search/%E5%AF%86%E7%A0%81%E5%AD%A6/1.htm">密码学</a> <div>嗯,用户给了一个需要破译的密码文档:“Uifqjhjtpouifusff.”,提示是用字母往前推移1的凯撒密码。首先,我得确认自己是否正确理解提示。凯撒密码通常是将字母按照一定位移来替换,这里的提示是往前推1位,也就是每个字母变成它在字母表中的前一个字母。比如,A变成Z,B变成A,依此类推。不过有时候可能会有不同的解释,比如是否包括空格和标点,不过这里文档中的句子看起来都是字母和空格,没有标点,所</div> </li> <li><a href="/article/1903975955119009792.htm" title="双缓冲基本原理" target="_blank">双缓冲基本原理</a> <span class="text-muted">xjtuse_mal</span> <a class="tag" taget="_blank" href="/search/%E5%9B%BE%E5%BD%A2/1.htm">图形</a> <div>双缓冲的原理可以这样形象的理解:把电脑屏幕看作一块黑板。首先我们在内存环境中建立一个“虚拟“的黑板,然后在这块黑板上绘制复杂的图形,等图形全部绘制完毕的时候,再一次性的把内存中绘制好的图形“拷贝”到另一块黑板(屏幕)上。采取这种方法可以提高绘图速度,极大的改善绘图效果。例如在OnDraw()函数中可以如下所述实现双缓冲,其主要步骤分为四步:CPenPen;Pen.CreatePen(PS_INSI</div> </li> <li><a href="/article/1903975954376617984.htm" title="【人工智能时代】-人工智能发展史:1900~2023" target="_blank">【人工智能时代】-人工智能发展史:1900~2023</a> <span class="text-muted">xiaoli8748_软件开发</span> <a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD%E6%97%B6%E4%BB%A3/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/%E6%90%9C%E7%B4%A2%E5%BC%95%E6%93%8E/1.htm">搜索引擎</a> <div>第一阶段:人工智能发展历史:1900-19591909年西班牙工程师LeonardoTorresyQuevedo发明了“Occultus”,这是一个可以自动执行国际象棋对弈的机器,预示了未来的计算智能。</div> </li> <li><a href="/article/1903975953747472384.htm" title="双缓冲机制(Double Buffering)快速接收处理串口接收到的大量数据帧" target="_blank">双缓冲机制(Double Buffering)快速接收处理串口接收到的大量数据帧</a> <span class="text-muted">wys99999</span> <a class="tag" taget="_blank" href="/search/%E5%8D%95%E7%89%87%E6%9C%BA/1.htm">单片机</a><a class="tag" taget="_blank" href="/search/stm32/1.htm">stm32</a> <div>这种方式通常称为双缓冲机制(DoubleBuffering),也被称为Ping-Pong缓冲。在嵌入式系统中,双缓冲机制常用于高效处理连续数据流,例如串口接收、DMA数据传输等。原理双缓冲机制的核心思想是使用两个缓冲区(数组)轮流接收和处理数据。具体流程如下:数据接收阶段:当一个缓冲区正在接收数据时,另一个缓冲区可以被处理。切换缓冲区:当接收缓冲区填满后,立即切换到另一个空闲缓冲区进行数据接收,同</div> </li> <li><a href="/article/1903975323632988160.htm" title="CSS基础知识" target="_blank">CSS基础知识</a> <span class="text-muted">Toreme</span> <a class="tag" taget="_blank" href="/search/css/1.htm">css</a><a class="tag" taget="_blank" href="/search/css3/1.htm">css3</a><a class="tag" taget="_blank" href="/search/html/1.htm">html</a> <div>基础教程使用css和不使用比较不使用css不使用css给每一个单元格加上背景颜色就需要给每一个td元素加上bgcolor属性使用css使用css给每一个单元格加上背景颜色,只需要在最前面写一段css代码,所有的单元格都有背景颜色了,这是一种分层设计的思想,css把和颜色,大小位置等信息剥离到不同的td有不同的背景色选择器语法css的语法selector{property:value;}即选择器{属</div> </li> <li><a href="/article/1903974943679377408.htm" title="【TypeScript学习】TypeScript基础学习总结二" target="_blank">【TypeScript学习】TypeScript基础学习总结二</a> <span class="text-muted">JAMJAM_NoName</span> <a class="tag" taget="_blank" href="/search/typescript/1.htm">typescript</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>主要记录ts中的类、接口与泛型1.类无论是在哪种语言中,类都是面向对象编程(OOP)的一个主要实现方式。能够实现代码更加灵活,更具有结构化。类作用都是提供一个模板,通过类可以创建多个具有相同结构的对象。//类的定义,与对象的声明classStudent{id:stringname:stringage:numberconstructor(id:string,name:string,age:numbe</div> </li> <li><a href="/article/1903974438806810624.htm" title="每日面试题-假设有一个 1G 大的 HashMap,此时用户请求过来刚好触发它的扩容,会怎样?让你改造下 HashMap 的实现该怎样优化?" target="_blank">每日面试题-假设有一个 1G 大的 HashMap,此时用户请求过来刚好触发它的扩容,会怎样?让你改造下 HashMap 的实现该怎样优化?</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%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>一、原理解析:HashMap扩容机制的核心问题当HashMap的size>capacity*loadFactor时触发扩容(默认负载因子0.75)。扩容流程如下:创建新数组:容量翻倍(newCap=oldCap{privateNode[]oldTable;privateNode[]newTable;privatevolatileintmigrationIndex=0;//迁移进度指针publicv</div> </li> <li><a href="/article/1903974439314321408.htm" title="每日算法题-Nim 游戏 - 台阶" target="_blank">每日算法题-Nim 游戏 - 台阶</a> <span class="text-muted">晚夜微雨问海棠呀</span> <a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E6%B8%B8%E6%88%8F/1.htm">游戏</a> <div>给定一个台阶数n,玩家每次可以选择跳跃1到m个台阶,最后一个台阶到达者获胜。假设两位玩家都采取最优策略,判断先手玩家是否会获胜。输入格式一行包含两个整数n和m(1≤n,m≤10^9)。输出格式如果先手玩家能获胜,输出"Yes";否则输出"No"。n,m=map(int,input().split())ifnm时,若n%(m+1)≠0,先手可以通过策略使剩余台阶数变为(m+1)的倍数,将必败态转移给</div> </li> <li><a href="/article/1903973680954798080.htm" title="量子化学仿真软件:Quantum Espresso_(7).ph.x模块使用" target="_blank">量子化学仿真软件:Quantum Espresso_(7).ph.x模块使用</a> <span class="text-muted">kkchenjj</span> <a class="tag" taget="_blank" href="/search/%E5%88%86%E5%AD%90%E5%8A%A8%E5%8A%9B%E5%AD%A62/1.htm">分子动力学2</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E5%AD%90%E5%8A%A8%E5%8A%9B%E5%AD%A6/1.htm">分子动力学</a><a class="tag" taget="_blank" href="/search/%E4%BB%BF%E7%9C%9F%E6%A8%A1%E6%8B%9F/1.htm">仿真模拟</a><a class="tag" taget="_blank" href="/search/%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/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>ph.x模块使用1.ph.x模块概述ph.x是QuantumEspresso软件套件中的一个重要模块,用于计算材料的声子谱和相关的物理性质,如热导率、热膨胀系数等。声子是晶格振动的量子化模式,对理解材料的热力学性质、电输运性质以及光学性质至关重要。ph.x模块基于密度泛函微扰理论(DensityFunctionalPerturbationTheory,DFPT)进行计算,能够高效地处理周期性固体系</div> </li> <li><a href="/article/1903972040726081536.htm" title="c++介绍进程和线程区别" target="_blank">c++介绍进程和线程区别</a> <span class="text-muted">此刻我在家里喂猪呢</span> <a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a> <div>进程是程序运行的实例,是操作系统分配的资源的基本单位,每个进程有自己独立的地址空间,数据,代码段,相互独立。特点:独立性:进程之间的资源相互独立,一个进程的崩溃不会影响其他进程。资源分配单位:每个进程有独立的内存空间,文件句柄,全局变量。进程间通信复杂:由于进程之间相互独立,进程通信需要额外的进制(如管道,消息队列,信号号,信号量,共享内存等)。进程切换开销大:切换进程时,操作系统要保存和恢复寄存</div> </li> <li><a href="/article/1903971914255233024.htm" title="c++介绍进程间的通信一" target="_blank">c++介绍进程间的通信一</a> <span class="text-muted">此刻我在家里喂猪呢</span> <a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a> <div>进程的数据空间是独立的,私有的,不能相互访问,但是某些情况下进程之间需要通信来实现某些功能和交换数据。1.数据的传:一个进程需要将它的数据发送给另一个进程。2.共享数据:多个进程要操作共享数据,一个进程对数据修改,别的进程会立即看到。3.通知事件:一个进程需要向另一个或者一组进程发送消息,通知它们发生某种事件(如进程退出)。4.进程控制:一个进程需要控制另一个进程的运行。进程的通信分为六种。1道:</div> </li> <li><a href="/article/1903971157833478144.htm" title="如何设计一个高可用的 Seata 集群?" target="_blank">如何设计一个高可用的 Seata 集群?</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/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/boot/1.htm">boot</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/cloud/1.htm">cloud</a><a class="tag" taget="_blank" href="/search/%E5%BE%AE%E6%9C%8D%E5%8A%A1/1.htm">微服务</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a> <div>——从零搭建永不宕机的分布式事务协调系统一、为什么需要高可用Seata集群?在分布式系统中,事务协调器TC是全局事务的“大脑”。一旦TC单点故障:灾难性后果:所有进行中的全局事务将卡死,业务完全不可用数据不一致风险:已提交的事务可能无法完成最终提交或回滚因此,构建高可用Seata集群是生产环境的必选项!二、Seata高可用架构设计核心要点1.TC集群化部署多节点部署:至少部署3个TC实例(奇数节点</div> </li> <li><a href="/article/1903970021751713792.htm" title="前端技术学习记录:react+dvajs+ant design实现暴走计算器的页面重构(二)" target="_blank">前端技术学习记录:react+dvajs+ant design实现暴走计算器的页面重构(二)</a> <span class="text-muted">大泡泡糖</span> <a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0%E8%AE%B0%E5%BD%95/1.htm">学习记录</a><a class="tag" taget="_blank" href="/search/reactjs/1.htm">reactjs</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/git/1.htm">git</a><a class="tag" taget="_blank" href="/search/webstorm/1.htm">webstorm</a> <div>前端技术学习记录:react+dvajs+antdesign实现暴走计算器的页面重构(二)前言定义Modelconnect起来更新state拥抱变化主题切换更换页面获取当前设备类型编写武学选择前言www定义Model完成UI后,现在开始处理数据和逻辑。dva通过model的概念把一个领域的模型管理起来,包含同步更新state的reducers,处理异步逻辑的effects,订阅数据源的subscr</div> </li> <li><a href="/article/117.htm" title="Algorithm" target="_blank">Algorithm</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/Algorithm/1.htm">Algorithm</a> <div>冒泡排序 public static void sort(Integer[] param) { for (int i = param.length - 1; i > 0; i--) { for (int j = 0; j < i; j++) { int current = param[j]; int next = param[j + 1];</div> </li> <li><a href="/article/244.htm" title="mongoDB 复杂查询表达式" target="_blank">mongoDB 复杂查询表达式</a> <span class="text-muted">开窍的石头</span> <a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a> <div>1:count    Pg: db.user.find().count();    统计多少条数据 2:不等于$ne    Pg: db.user.find({_id:{$ne:3}},{name:1,sex:1,_id:0});    查询id不等于3的数据。 3:大于$gt $gte(大于等于) &n</div> </li> <li><a href="/article/371.htm" title="Jboss Java heap space异常解决方法, jboss OutOfMemoryError : PermGen space" target="_blank">Jboss Java heap space异常解决方法, jboss OutOfMemoryError : PermGen space</a> <span class="text-muted">0624chenhong</span> <a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a><a class="tag" taget="_blank" href="/search/jboss/1.htm">jboss</a> <div>转自 http://blog.csdn.net/zou274/article/details/5552630 解决办法: window->preferences->java->installed jres->edit jre 把default vm arguments 的参数设为-Xms64m -Xmx512m ----------------</div> </li> <li><a href="/article/498.htm" title="文件上传 下载 解析 相对路径" target="_blank">文件上传 下载 解析 相对路径</a> <span class="text-muted">不懂事的小屁孩</span> <a class="tag" taget="_blank" href="/search/%E6%96%87%E4%BB%B6%E4%B8%8A%E4%BC%A0/1.htm">文件上传</a> <div>有点坑吧,弄这么一个简单的东西弄了一天多,身边还有大神指导着,网上各种百度着。 下面总结一下遇到的问题: 文件上传,在页面上传的时候,不要想着去操作绝对路径,浏览器会对客户端的信息进行保护,避免用户信息收到攻击。 在上传图片,或者文件时,使用form表单来操作。 前台通过form表单传输一个流到后台,而不是ajax传递参数到后台,代码如下: <form action=&</div> </li> <li><a href="/article/625.htm" title="怎么实现qq空间批量点赞" target="_blank">怎么实现qq空间批量点赞</a> <span class="text-muted">换个号韩国红果果</span> <a class="tag" taget="_blank" href="/search/qq/1.htm">qq</a> <div>纯粹为了好玩!! 逻辑很简单 1 打开浏览器console;输入以下代码。 先上添加赞的代码 var tools={}; //添加所有赞 function init(){ document.body.scrollTop=10000; setTimeout(function(){document.body.scrollTop=0;},2000);//加</div> </li> <li><a href="/article/752.htm" title="判断是否为中文" target="_blank">判断是否为中文</a> <span class="text-muted">灵静志远</span> <a class="tag" taget="_blank" href="/search/%E4%B8%AD%E6%96%87/1.htm">中文</a> <div>方法一: public class Zhidao { public static void main(String args[]) { String s = "sdf灭礌 kjl d{';\fdsjlk是"; int n=0; for(int i=0; i<s.length(); i++) { n = (int)s.charAt(i); if((</div> </li> <li><a href="/article/879.htm" title="一个电话面试后总结" target="_blank">一个电话面试后总结</a> <span class="text-muted">a-john</span> <a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a> <div>今天,接了一个电话面试,对于还是初学者的我来说,紧张了半天。 面试的问题分了层次,对于一类问题,由简到难。自己觉得回答不好的地方作了一下总结:   在谈到集合类的时候,举几个常用的集合类,想都没想,直接说了list,map。   然后对list和map分别举几个类型:   list方面:ArrayList,LinkedList。在谈到他们的区别时,愣住了</div> </li> <li><a href="/article/1006.htm" title="MSSQL中Escape转义的使用" target="_blank">MSSQL中Escape转义的使用</a> <span class="text-muted">aijuans</span> <a class="tag" taget="_blank" href="/search/MSSQL/1.htm">MSSQL</a> <div>IF OBJECT_ID('tempdb..#ABC') is not null drop table tempdb..#ABC create table #ABC ( PATHNAME NVARCHAR(50) ) insert into #ABC SELECT N'/ABCDEFGHI' UNION ALL SELECT N'/ABCDGAFGASASSDFA' UNION ALL</div> </li> <li><a href="/article/1133.htm" title="一个简单的存储过程" target="_blank">一个简单的存储过程</a> <span class="text-muted">asialee</span> <a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/%E5%AD%98%E5%82%A8%E8%BF%87%E7%A8%8B/1.htm">存储过程</a><a class="tag" taget="_blank" href="/search/%E6%9E%84%E9%80%A0%E6%95%B0%E6%8D%AE/1.htm">构造数据</a><a class="tag" taget="_blank" href="/search/%E6%89%B9%E9%87%8F%E6%8F%92%E5%85%A5/1.htm">批量插入</a> <div>           今天要批量的生成一批测试数据,其中中间有部分数据是变化的,本来想写个程序来生成的,后来想到存储过程就可以搞定,所以随手写了一个,记录在此:            DELIMITER $$ DROP PROCEDURE IF EXISTS inse</div> </li> <li><a href="/article/1260.htm" title="annot convert from HomeFragment_1 to Fragment" target="_blank">annot convert from HomeFragment_1 to Fragment</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/%E5%AF%BC%E5%8C%85%E9%94%99%E8%AF%AF/1.htm">导包错误</a> <div>创建了几个类继承Fragment, 需要将创建的类存储在ArrayList<Fragment>中; 出现不能将new 出来的对象放到队列中,原因很简单;     创建类时引入包是:import android.app.Fragment;      创建队列和对象时使用的包是:import android.support.v4.ap</div> </li> <li><a href="/article/1387.htm" title="Weblogic10两种修改端口的方法" target="_blank">Weblogic10两种修改端口的方法</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/weblogic/1.htm">weblogic</a><a class="tag" taget="_blank" href="/search/%E7%AB%AF%E5%8F%A3%E5%8F%B7/1.htm">端口号</a><a class="tag" taget="_blank" href="/search/%E9%85%8D%E7%BD%AE%E7%AE%A1%E7%90%86/1.htm">配置管理</a><a class="tag" taget="_blank" href="/search/config.xml/1.htm">config.xml</a> <div>一.进入控制台进行修改    1.进入控制台:  http://127.0.0.1:7001/console     2.展开左边树菜单         域结构->环境->服务器-->点击AdminServer(管理) &</div> </li> <li><a href="/article/1514.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>一、连接mysql 进入 mysql 的安装目录; $ bin/mysql -p [host IP 如果是登录本地的mysql 可以不写 -p 直接 -u] -u [userName] -p 输入密码,回车,接连; 二、权限操作[如果你很了解mysql数据库后,你可以直接去修改系统表,然后用 mysql> flush privileges; 指令让权限生效] 1、赋权 mys</div> </li> <li><a href="/article/1641.htm" title="【Hive一】Hive入门" target="_blank">【Hive一】Hive入门</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/hive/1.htm">hive</a> <div>Hive安装与配置 Hive的运行需要依赖于Hadoop,因此需要首先安装Hadoop2.5.2,并且Hive的启动前需要首先启动Hadoop。   Hive安装和配置的步骤   1. 从如下地址下载Hive0.14.0   http://mirror.bit.edu.cn/apache/hive/    2.解压hive,在系统变</div> </li> <li><a href="/article/1768.htm" title="ajax 三种提交请求的方法" target="_blank">ajax 三种提交请求的方法</a> <span class="text-muted">BlueSkator</span> <a class="tag" taget="_blank" href="/search/Ajax/1.htm">Ajax</a><a class="tag" taget="_blank" href="/search/jqery/1.htm">jqery</a> <div>1、ajax 提交请求 $.ajax({ type:"post", url : "${ctx}/front/Hotel/getAllHotelByAjax.do", dataType : "json", success : function(result) { try { for(v</div> </li> <li><a href="/article/1895.htm" title="mongodb开发环境下的搭建入门" target="_blank">mongodb开发环境下的搭建入门</a> <span class="text-muted">braveCS</span> <a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a> <div>  linux下安装mongodb 1)官网下载mongodb-linux-x86_64-rhel62-3.0.4.gz 2)linux 解压  gzip -d mongodb-linux-x86_64-rhel62-3.0.4.gz; mv mongodb-linux-x86_64-rhel62-3.0.4 mongodb-linux-x86_64-rhel62-</div> </li> <li><a href="/article/2022.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/%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/%E7%BC%96%E7%A8%8B%E4%B9%8B%E7%BE%8E/1.htm">编程之美</a> <div> import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; public class ShortestAbstract { /** * 编程之美 最短摘要的生成 * 扫描过程始终保持一个[pBegin,pEnd]的range,初始化确保[pBegin,pEnd]的ran</div> </li> <li><a href="/article/2149.htm" title="json数据解析及typeof" target="_blank">json数据解析及typeof</a> <span class="text-muted">chengxuyuancsdn</span> <a class="tag" taget="_blank" href="/search/js/1.htm">js</a><a class="tag" taget="_blank" href="/search/typeof/1.htm">typeof</a><a class="tag" taget="_blank" href="/search/json%E8%A7%A3%E6%9E%90/1.htm">json解析</a> <div> // json格式 var people='{"authors": [{"firstName": "AAA","lastName": "BBB"},' +' {"firstName": "CCC&</div> </li> <li><a href="/article/2276.htm" title="流程系统设计的层次和目标" target="_blank">流程系统设计的层次和目标</a> <span class="text-muted">comsci</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/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/%E6%A1%86%E6%9E%B6/1.htm">框架</a><a class="tag" taget="_blank" href="/search/%E8%84%9A%E6%9C%AC/1.htm">脚本</a> <div>                               流程系统设计的层次和目标  </div> </li> <li><a href="/article/2403.htm" title="RMAN List和report 命令" target="_blank">RMAN List和report 命令</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/list/1.htm">list</a><a class="tag" taget="_blank" href="/search/report/1.htm">report</a><a class="tag" taget="_blank" href="/search/rman/1.htm">rman</a> <div>LIST 命令 使用RMAN LIST 命令显示有关资料档案库中记录的备份集、代理副本和映像副本的 信息。使用此命令可列出: • RMAN 资料档案库中状态不是AVAILABLE 的备份和副本 • 可用的且可以用于还原操作的数据文件备份和副本 • 备份集和副本,其中包含指定数据文件列表或指定表空间的备份 • 包含指定名称或范围的所有归档日志备份的备份集和副本 • 由标记、完成时间、可</div> </li> <li><a href="/article/2530.htm" title="二叉树:红黑树" target="_blank">二叉树:红黑树</a> <span class="text-muted">dieslrae</span> <a class="tag" taget="_blank" href="/search/%E4%BA%8C%E5%8F%89%E6%A0%91/1.htm">二叉树</a> <div>    红黑树是一种自平衡的二叉树,它的查找,插入,删除操作时间复杂度皆为O(logN),不会出现普通二叉搜索树在最差情况时时间复杂度会变为O(N)的问题.     红黑树必须遵循红黑规则,规则如下     1、每个节点不是红就是黑。     2、根总是黑的  &</div> </li> <li><a href="/article/2657.htm" title="C语言homework3,7个小题目的代码" target="_blank">C语言homework3,7个小题目的代码</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/c/1.htm">c</a> <div>1、打印100以内的所有奇数。 # include <stdio.h> int main(void) { int i; for (i=1; i<=100; i++) { if (i%2 != 0) printf("%d ", i); } return 0; }  2、从键盘上输入10个整数,</div> </li> <li><a href="/article/2784.htm" title="自定义按钮, 图片在上, 文字在下, 居中显示" target="_blank">自定义按钮, 图片在上, 文字在下, 居中显示</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/%E8%87%AA%E5%AE%9A%E4%B9%89/1.htm">自定义</a> <div>#import <UIKit/UIKit.h> @interface MyButton : UIButton -(void)setFrame:(CGRect)frame ImageName:(NSString*)imageName Target:(id)target Action:(SEL)action Title:(NSString*)title Font:(CGFloa</div> </li> <li><a href="/article/2911.htm" title="MySQL查询语句练习题,测试足够用了" target="_blank">MySQL查询语句练习题,测试足够用了</a> <span class="text-muted">flyvszhb</span> <a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a> <div>http://blog.sina.com.cn/s/blog_767d65530101861c.html 1.创建student和score表 CREATE  TABLE  student ( id  INT(10)  NOT NULL  UNIQUE  PRIMARY KEY  , name  VARCHAR</div> </li> <li><a href="/article/3038.htm" title="转:MyBatis Generator 详解" target="_blank">转:MyBatis Generator 详解</a> <span class="text-muted">happyqing</span> <a class="tag" taget="_blank" href="/search/mybatis/1.htm">mybatis</a> <div>  MyBatis Generator 详解 http://blog.csdn.net/isea533/article/details/42102297   MyBatis Generator详解 http://git.oschina.net/free/Mybatis_Utils/blob/master/MybatisGeneator/MybatisGeneator.</div> </li> <li><a href="/article/3165.htm" title="让程序员少走弯路的14个忠告" target="_blank">让程序员少走弯路的14个忠告</a> <span class="text-muted">jingjing0907</span> <a class="tag" taget="_blank" href="/search/%E5%B7%A5%E4%BD%9C/1.htm">工作</a><a class="tag" taget="_blank" href="/search/%E8%AE%A1%E5%88%92/1.htm">计划</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a> <div>  无论是谁,在刚进入某个领域之时,有再大的雄心壮志也敌不过眼前的迷茫:不知道应该怎么做,不知道应该做什么。下面是一名软件开发人员所学到的经验,希望能对大家有所帮助   1.不要害怕在工作中学习。 只要有电脑,就可以通过电子阅读器阅读报纸和大多数书籍。如果你只是做好自己的本职工作以及分配的任务,那是学不到很多东西的。如果你盲目地要求更多的工作,也是不可能提升自己的。放</div> </li> <li><a href="/article/3292.htm" title="nginx和NetScaler区别" target="_blank">nginx和NetScaler区别</a> <span class="text-muted">流浪鱼</span> <a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a> <div>NetScaler是一个完整的包含操作系统和应用交付功能的产品,Nginx并不包含操作系统,在处理连接方面,需要依赖于操作系统,所以在并发连接数方面和防DoS攻击方面,Nginx不具备优势。 2.易用性方面差别也比较大。Nginx对管理员的水平要求比较高,参数比较多,不确定性给运营带来隐患。在NetScaler常见的配置如健康检查,HA等,在Nginx上的配置的实现相对复杂。 3.策略灵活度方</div> </li> <li><a href="/article/3419.htm" title="第11章 动画效果(下)" target="_blank">第11章 动画效果(下)</a> <span class="text-muted">onestopweb</span> <a class="tag" taget="_blank" href="/search/%E5%8A%A8%E7%94%BB/1.htm">动画</a> <div>index.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/</div> </li> <li><a href="/article/3546.htm" title="FAQ - SAP BW BO roadmap" target="_blank">FAQ - SAP BW BO roadmap</a> <span class="text-muted">blueoxygen</span> <a class="tag" taget="_blank" href="/search/BO/1.htm">BO</a><a class="tag" taget="_blank" href="/search/BW/1.htm">BW</a> <div>http://www.sdn.sap.com/irj/boc/business-objects-for-sap-faq   Besides, I care that how to integrate tightly.   By the way, for BW consultants, please just focus on Query Designer which i</div> </li> <li><a href="/article/3673.htm" title="关于java堆内存溢出的几种情况" target="_blank">关于java堆内存溢出的几种情况</a> <span class="text-muted">tomcat_oracle</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a><a class="tag" taget="_blank" href="/search/jdk/1.htm">jdk</a><a class="tag" taget="_blank" href="/search/thread/1.htm">thread</a> <div>【情况一】:    java.lang.OutOfMemoryError: Java heap space:这种是java堆内存不够,一个原因是真不够,另一个原因是程序中有死循环;   如果是java堆内存不够的话,可以通过调整JVM下面的配置来解决:   <jvm-arg>-Xms3062m</jvm-arg>   <jvm-arg>-Xmx</div> </li> <li><a href="/article/3800.htm" title="Manifest.permission_group权限组" target="_blank">Manifest.permission_group权限组</a> <span class="text-muted">阿尔萨斯</span> <a class="tag" taget="_blank" href="/search/Permission/1.htm">Permission</a> <div>结构 继承关系 public static final class Manifest.permission_group extends Object java.lang.Object android. Manifest.permission_group 常量 ACCOUNTS 直接通过统计管理器访问管理的统计 COST_MONEY可以用来让用户花钱但不需要通过与他们直接牵涉的权限 D</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>