lighthouse工具_Lighthouse:一种用于网页的性能和优化工具

lighthouse工具

When opening Chrome DevTools, you will see this highlighted tab in the above image. What is it? It’s Lighthouse, an open-source automated tool for improving the quality of webpages.

打开Chrome DevTools时 ,您将在上图中看到该突出显示的标签。 它是什么? 它是Lighthouse ,一个用于改善网页质量的开源自动化工具。

By default, it measures performance, progressive web app, best practices, accessibility, and search engine optimization (SEO), although you can adapt them to your needs by checking and unchecking items in Categories.

默认情况下,它可以衡量性能,渐进式Web应用程序,最佳实践,可访问性和搜索引擎优化(SEO),尽管您可以通过选中和取消选中类别中的项目来使它们适应您的需求。

We chose the Device type to be Desktop for our use cases.

对于我们的用例,我们选择设备类型为桌面。

There is also the ‘Clear storage’ button at the top-left corner. It has been hidden well, but we found the setting button to unhide it at the top-right corner. It has been unchecked. Otherwise, it ends up testing login pages with user information to be cleared.

左上角还有一个“清除存储”按钮。 它已经很好地隐藏了,但是我们在右上角找到了取消隐藏它的设置按钮。 尚未选中。 否则,它将最终测试登录页面以及要清除的用户信息。

Lighthouse is easy to use, and it produces quite accurate measuring data. Following the suggestion in the report card, we can improve performance, accessibility, and other aspects of webpages. It is a highly recommended tool for web developers.

Lighthouse易于使用,并且可以生成非常准确的测量数据。 按照报告卡中的建议,我们可以改善网页的性能,可访问性和其他方面。 强烈建议Web开发人员使用此工具。

衡量一个网站 (Measure a Website)

Let’s measure the Lighthouse website using Lighthouse:

让我们使用Lighthouse测量Lighthouse网站 :

After clicking the ‘Generate report’ button, it produces the following report card for the selected webpage:

单击“生成报告”按钮后,它将为所选网页生成以下报告卡:

lighthouse工具_Lighthouse:一种用于网页的性能和优化工具_第1张图片

The scores are colored according to these ranges:

分数根据以下范围着色:

  • 0 - 49 (red): Poor

    0-49(红色):较差
  • 50 - 89 (orange): Needs improvement

    50-89(橙色):需要改进
  • 90 - 100 (green): Good

    90-100(绿色):良好

To provide a good user experience, websites should strive to have a score above 90.

为了提供良好的用户体验,网站应力争得分超过90。

We go through each section to see how to interpret these scores.

我们遍历每个部分,以了解如何解释这些分数。

表现分数 (Performance score)

lighthouse工具_Lighthouse:一种用于网页的性能和优化工具_第2张图片

The above is the performance scorecard, which is composed of six metrics:

上面是性能记分卡,它由六个指标组成:

  • First Contentful Paint: It marks the time at which the first text or image is painted.

    第一个内容丰富的绘画:它标记了第一个文本或图像的绘画时间。
  • Speed Index: It shows how quickly the contents of a page are visibly populated.

    速度索引:显示页面内容的可见速度。
  • Largest Contentful Paint: It marks the time at which the largest text or image is painted.

    内容最大的涂料:它标记了最大的文字或图像的绘制时间。
  • Time to Interactive: It is the amount of time it takes for the page to become fully interactive.

    互动时间:页面完全互动所花费的时间。
  • Total Blocking Time: It is the sum of all time periods between First Contentful Paint and Time to Interactive.

    总阻止时间:这是“第一个内容丰富的绘画”与“互动时间”之间的所有时间段的总和。
  • Cumulative Layout Shift: It measures the movement of visible elements within the viewport.

    累积布局偏移:它测量视口内可见元素的移动。

Under the Metrics section, there are a number of snapshots to show how this webpage gets loaded. Clicking the View Trace button will go to the Performance tab where loading details are traced:

在“指标”部分下,有许多快照来显示如何加载此网页。 单击“查看跟踪”按钮将转到“性能”选项卡,在其中跟踪加载详细信息:

The above table includes rich information. For example, if we go to Largest Contentful Paint area, we can zoom in and find out the animation loading time.

上表包含丰富的信息。 例如,如果我们转到内容最大的绘画区域,则可以放大并找出动画的加载时间。

lighthouse工具_Lighthouse:一种用于网页的性能和优化工具_第3张图片

‘Opportunities’ in the scorecard are suggestions to help the page loading faster. One of the suggestions is about properly sizing images. Open this item, and we see the five largest images:

计分卡中的“机会”是帮助您更快地加载页面的建议。 建议之一是适当调整图像大小。 打开此项目,我们看到五个最大的图像:

lighthouse工具_Lighthouse:一种用于网页的性能和优化工具_第4张图片

Click on the link of the largest image. It’s a surprise to find out the Men’s Outerwear advertisement.

单击最大图像的链接。 找出男士外套广告真是令人惊讶。

Rerunning the report, surprisingly, we get a performance score of 100. Running it again, the score comes back to around 82.

令人惊讶的是,运行该报告,我们获得了100分的性能得分。再次运行该报告,得分回到了82分左右。

What happened?

发生了什么?

There are many facts that affect the score. It is possibly caused by A/B tests, changes in the advertisement being served, internet traffic routing changes, etc.

有许多因素会影响得分。 这可能是由于A / B测试,所投放广告中的更改,互联网流量路由更改等引起的。

辅助功能得分 (Accessibility score)

lighthouse工具_Lighthouse:一种用于网页的性能和优化工具_第5张图片

The above is the accessibility scorecard, which displays accessibility opportunities. Here it shows two ARIA improvement recommendations and one suggestion for contrast colors.

上面是可访问性记分卡,其中显示了可访问性机会。 这里显示了两个ARIA改进建议和一个对比色建议。

This is a list of passed audits:

这是通过审核的列表:

lighthouse工具_Lighthouse:一种用于网页的性能和优化工具_第6张图片

Another list of not applicable items:

另一个不适用项的列表:

lighthouse工具_Lighthouse:一种用于网页的性能和优化工具_第7张图片

Together, it exhibits all the accessibility criteria used by Lighthouse. It captures most of the measurements mentioned in 10 Steps to Building Web Applications With Accessibility (a11y).

它们一起显示了Lighthouse使用的所有可访问性标准。 它捕获了构建具有可访问性的Web应用程序的10个步骤(a11y)中提到的大多数度量。

最佳做法得分 (Best practices score)

The above is the best practices scorecard, which checks opportunities to improve the overall code health of webpages.

以上是最佳做法记分卡,用于检查改善网页总体代码运行状况的机会。

It points out two issues: Some cross-origin destinations are unsafe, and there are a number of browser errors.

它指出了两个问题:一些跨域目标不安全,并且存在许多浏览器错误。

The passed audits show what other things are verified against best practices:

通过的审核显示了针对最佳实践还验证了其他哪些内容:

  • Uses HTTPS

    使用HTTPS
  • Avoids requesting geolocation permission on page load

    避免在页面加载时请求地理位置许可
  • Avoids requesting notification permission on page load

    避免在页面加载时请求通知权限
  • Avoids front-end JavaScript libraries with known security vulnerabilities

    避免具有已知安全漏洞的前端JavaScript库
  • Allows users to paste into password fields

    允许用户粘贴到密码字段中
  • Displays images with the correct aspect ratio

    以正确的纵横比显示图像
  • Displays images with the appropriate size

    以适当的尺寸显示图像
  • Page has the HTML doctype

    页面具有HTML文档类型
  • Properly defines charset

    正确定义字符集
  • Avoids application cache

    避免应用程序缓存
  • Detected JavaScript libraries

    检测到JavaScript库
  • Avoids deprecated APIs

    避免使用过时的API

SEO分数 (SEO score)

lighthouse工具_Lighthouse:一种用于网页的性能和优化工具_第8张图片

The above is the search engine optimization scorecard, which checks whether the page is optimized for search engine results ranking.

上面是搜索引擎优化计分卡,它检查页面是否针对搜索引擎结果排名进行了优化。

These are criteria used by Lighthouse:

这些是Lighthouse使用的标准:

  • Has a tag with width or initial-scale (mobile friendly)

    具有宽度或初始比例的标签(适合移动设备)

  • Document has a </code> element</p><p> 文档具有<code><title></code>元素 </p></li> <li>Document has a meta description<p class="nodelete"></p> 文档具有元描述 </li> <li>Page has successful HTTP status code<p class="nodelete"></p> 页面具有成功的HTTP状态代码 </li> <li>Links have descriptive text<p class="nodelete"></p> 链接具有描述性文字 </li> <li>Page isn’t blocked from indexing<p class="nodelete"></p> 没有阻止页面建立索引 </li> <li><p><code>robots.txt</code>, a file tells search engines which pages can be crawled, is valid</p><p> <code>robots.txt</code> (该文件告诉搜索引擎可以抓取哪些页面)有效 </p></li> <li><p>Image elements have <code>[alt]</code> attributes</p><p> 图像元素具有<code>[alt]</code>属性 </p></li> <li><p>Document has a valid <code>hreflang</code></p><p> 文件包含有效的<code>hreflang</code> </p></li> <li><p>Document has a valid <code>rel=canonical</code>, which tells search engines that it is the same as the canonical URL</p><p> 文档具有有效的<code>rel=canonical</code> ,它告诉搜索引擎它与规范URL相同 </p></li> <li>Document avoids plugins<p class="nodelete"></p> 文档避免插件 </li> <li>Document uses legible font sizes<p class="nodelete"></p> 文档使用清晰的字体大小 </li> <li>Tap targets are sized appropriately<p class="nodelete"></p> 分接目标的大小适当 </li> </ul> <h2> PWA分数 <span style="font-weight: bold;">(</span>PWA Score<span style="font-weight: bold;">)</span></h2> <div> <div> <div> <div> <div style="text-align: center;"> <a href="http://img.e-com-net.com/image/info8/c7c6b76c1ddf4d50a32278170ae9726e.jpg" target="_blank"><img alt="lighthouse工具_Lighthouse:一种用于网页的性能和优化工具_第9张图片" src="http://img.e-com-net.com/image/info8/c7c6b76c1ddf4d50a32278170ae9726e.jpg" width="650" height="735" style="outline: none;;border:1px solid black;"></a> </div> </div> </div> </div> </div> <p>The above is the progressive web app scorecard, which provides insights and feedback on a web app for PWA features. It provides a set of metrics to help build a PWA for the full application-like experience.</p> <p> 上面是渐进式Web应用程序记分卡,它提供了有关PWA功能的Web应用程序的见解和反馈。 它提供了一组度量标准来帮助构建PWA,以获得完整的类似于应用程序的体验。 </p> <p>Lighthouse tests applicable PWA criteria:</p> <p> Lighthouse测试适用的PWA标准: </p> <ul> <li>Starts fast and stays fast<p class="nodelete"></p> 快速启动并保持快速 </li> <li>Is installable<p class="nodelete"></p> 可安装 </li> <li>Works in any browser<p class="nodelete"></p> 在任何浏览器中均可使用 </li> <li>Responsive to any screen size<p class="nodelete"></p> 响应任何屏幕尺寸 </li> <li>Provides a custom offline page<p class="nodelete"></p> 提供自定义的离线页面 </li> <li>Is fully accessible<p class="nodelete"></p> 完全可访问 </li> <li>Can be discovered through search<p class="nodelete"></p> 可以通过搜索发现 </li> <li>Works with any input type, such as a mouse, a keyboard, a stylus, or touch<p class="nodelete"></p> 适用于任何输入类型,例如鼠标,键盘,手写笔或触摸 </li> <li>Provides context for permission requests<p class="nodelete"></p> 提供权限请求的上下文 </li> <li>Follows best practices for healthy code<p class="nodelete"></p> 遵循最佳实践以获取健康代码 </li> </ul> </div> </div> <div> <div> <h1> 结论 <span style="font-weight: bold;">(</span>Conclusion<span style="font-weight: bold;">)</span></h1> <p>Lighthouse is a useful tool to measure and optimize our products. It is a click away with Chrome DevTools.</p> <p> Lighthouse是衡量和优化我们产品的有用工具。 单击即可使用Chrome DevTools。 </p> <p>It is also available as a command-line tool or as a node module:</p> <p> 它也可以作为命令行工具或节点模块使用: </p> <pre><code class="has">npm install -g lighthouse<br>lighthouse --help<br>or npm install --save-dev lighthouse</code></pre> <p>In addition, Lighthouse CI is a suite of tools that enable continuously running, saving, retrieving, and asserting against Lighthouse results.</p> <p> 此外, Lighthouse CI是一套工具,可以连续运行,保存,检索和声明灯塔结果。 </p> <p>Are you ready to try it out?</p> <p> 您准备好尝试了吗? </p> <p>Thanks for reading. I hope this was helpful. You can see my other Medium publications here.</p> <p> 谢谢阅读。 我希望这可以帮到你。 您可以在这里查看我的其他Medium出版物。 </p> </div> </div> </div> <blockquote> <p>翻译自: https://medium.com/better-programming/lighthouse-a-performance-and-optimization-tool-for-webpages-e0b4eeaef3e4</p> </blockquote> <p>lighthouse工具</p> </article> </div> </div> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1362975210206158848"></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">你可能感兴趣的:(python,java,linux,mysql,js)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1881354186608668672.htm" title="【3-4】《Java面向对象高级知识》——继承、重写和重载、final关键字、抽象类、接口、多态、Object类、内部类、包装类、可变参数、递归" target="_blank">【3-4】《Java面向对象高级知识》——继承、重写和重载、final关键字、抽象类、接口、多态、Object类、内部类、包装类、可变参数、递归</a> <span class="text-muted">美少女降临人世间</span> <a class="tag" taget="_blank" href="/search/%E3%80%90Java%E7%B2%BE%E5%8D%8E%E7%AC%94%E8%AE%B0%E3%80%91%E5%B7%B2%E5%AE%8C%E7%BB%93/1.htm">【Java精华笔记】已完结</a><a class="tag" taget="_blank" href="/search/%E6%8A%BD%E8%B1%A1%E7%B1%BB/1.htm">抽象类</a><a class="tag" taget="_blank" href="/search/final%E5%85%B3%E9%94%AE%E5%AD%97/1.htm">final关键字</a><a class="tag" taget="_blank" href="/search/%E9%87%8D%E5%86%99%E5%92%8C%E9%87%8D%E8%BD%BD/1.htm">重写和重载</a><a class="tag" taget="_blank" href="/search/Java%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1/1.htm">Java面向对象</a><a class="tag" taget="_blank" href="/search/%E5%86%85%E9%83%A8%E7%B1%BB/1.htm">内部类</a> <div>文章目录一、继承格式二、子类实例化内存分析三、super详解四、重写1、重写的概念2、重写和重载的区别五、final关键字六、抽象类1、抽象类的概念2、抽象类常见问题3、抽象类和普通类的区别七、接口1、面向接口编程思想2、接口的编写3、接口和抽象类的区别八、多态1、多态的体现2、instanceof九、Object类概述1、toString2、equals十、内部类概述1、成员内部类(了解)2、局</div> </li> <li><a href="/article/1881353556435464192.htm" title="MySql场景面试题:满意度调查分组去除最高最低求平均分" target="_blank">MySql场景面试题:满意度调查分组去除最高最低求平均分</a> <span class="text-muted">码到三十五</span> <a class="tag" taget="_blank" href="/search/mysql%E9%AB%98%E6%89%8B/1.htm">mysql高手</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</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%88%86%E5%B8%83%E5%BC%8F/1.htm">分布式</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/1.htm">数据分析</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98/1.htm">数据挖掘</a> <div>❃博主首页:「码到三十五」,同名公众号:「码到三十五」,wx号:「liwu0213」☠博主专栏:♝博主的话:搬的每块砖,皆为峰峦之基;公众号搜索「码到三十五」关注这个爱发技术干货的coder,一起筑基场景描述我们有一个员工满意度调查系统,数据库中有一张表:survey_scores表:存储员工对公司的满意度打分。表结构如下:--调查打分表CREATETABLEsurvey_scores(score</div> </li> <li><a href="/article/1881352923691151360.htm" title="Vue项目打包部署与路由配置深度解析" target="_blank">Vue项目打包部署与路由配置深度解析</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E5%91%98/1.htm">程序员</a> <div>在Vue.js项目的开发和部署过程中,配置打包路径和路由模式是两个至关重要的环节。下面,我们将详细探讨如何根据需求将Vue项目打包部署到域名的根路径或二级路径,并深入解析hash路由与history路由的配置方法。一、Vue项目打包部署1.配置vue.config.jsvue.config.js是VueCLI项目的配置文件,用于定制项目构建过程中的各种选项。其中,publicPath属性决定了打包</div> </li> <li><a href="/article/1881351651776851968.htm" title="小明,谈谈你对Vue 虚拟dom的理解" target="_blank">小明,谈谈你对Vue 虚拟dom的理解</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E5%91%98/1.htm">程序员</a> <div>Vue.js的虚拟DOM(VirtualDOM)是为了提高前端性能和开发体验而引入的一种技术。Vue.js虚拟DOM的大致实现虚拟DOM的定义虚拟DOM是一种JavaScript对象,它用来描述用户界面(UI)的结构和内容。每个虚拟DOM节点(VNode)代表一个真实的DOM元素或组件实例。//VNode示例constvnode={tag:'div',data:{id:'app'},childre</div> </li> <li><a href="/article/1881350766959063040.htm" title="Mybatis源码-加载映射文件与动态代理" target="_blank">Mybatis源码-加载映射文件与动态代理</a> <span class="text-muted"></span> <div>大家好,我是半夏之沫一名金融科技领域的JAVA系统研发我希望将自己工作和学习中的经验以最朴实,最严谨的方式分享给大家,共同进步写作不易,期待大家的关注和点赞关注微信公众号【技术探界】前言本篇文章将分析Mybatis在配置文件加载的过程中,如何解析映射文件中的SQL语句以及每条SQL语句如何与映射接口的方法进行关联。在看该部分源码之前,需要具备JDK动态代理的相关知识,如果该部分不是很了解,可以先看</div> </li> <li><a href="/article/1881349018727018496.htm" title="使用vue-cli创建uni-app项目,vue3/vite模板" target="_blank">使用vue-cli创建uni-app项目,vue3/vite模板</a> <span class="text-muted">hy2356891299</span> <a class="tag" taget="_blank" href="/search/vue3/1.htm">vue3</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/uni-app/1.htm">uni-app</a> <div>官网地址:https://uniapp.dcloud.net.cn/quickstart-cli.html1.首先,安装脚手架:npminstall-g@vue/cli注意:Vue3/Vite版要求node版本^14.18.0||>=16.0.0(我用的是nodev16.0.0)2.下载模板,因为我使用官网命令安装失败,所以直接下载的压缩包使用js下载地址https://gitee.com/dcl</div> </li> <li><a href="/article/1881347633264521216.htm" title="华为OD机试 - 手机App防沉迷系统(Python/JS/C/C++ 2024 D卷 100分)" target="_blank">华为OD机试 - 手机App防沉迷系统(Python/JS/C/C++ 2024 D卷 100分)</a> <span class="text-muted">哪 吒</span> <a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BAod/1.htm">华为od</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E4%B8%83%E6%97%A5%E9%9B%86%E8%AE%AD/1.htm">七日集训</a> <div>华为OD机试2024E卷题库疯狂收录中,刷题点这里专栏导读本专栏收录于《华为OD机试真题(Python/JS/C/C++)》。刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新。一、题目描述智能手机方便了我们生活的同时,也侵占了我们不少的时间。“手机Ap</div> </li> <li><a href="/article/1881346498935975936.htm" title="用diff 生成patch文件的命令/方法" target="_blank">用diff 生成patch文件的命令/方法</a> <span class="text-muted">fcf1990501</span> <a class="tag" taget="_blank" href="/search/LINUX%E7%B3%BB%E7%BB%9F/1.htm">LINUX系统</a> <div>linuxdiff命令diff命令可以比较两个相同文件进而生成patch文件使用如下命令获得命令的帮助didff--help使用以下option-u,-UNUM,--unified[=NUM]outputNUM(default3)linesofunifiedcontext-r,--recursiverecursivelycompareanysubdirectoriesfound-N,--new-f</div> </li> <li><a href="/article/1881346359013994496.htm" title="Vue.js 的组合式 API 与状态管理" target="_blank">Vue.js 的组合式 API 与状态管理</a> <span class="text-muted"></span> <div>随着现代前端开发的不断发展,Vue.js作为一个渐进式JavaScript框架,已经成为开发动态和交互式用户界面的流行选择之一。Vue.js的设计旨在通过简洁的语法和强大的功能来提升开发者的生产力。在Vue3中引入的组合式API(CompositionAPI)及其状态管理功能,为开发者提供了一种灵活且可扩展的方式来构建复杂的应用程序。本文将深入探讨Vue.js的组合式API,并结合状态管理的概念,</div> </li> <li><a href="/article/1881346241837723648.htm" title="MySQL面试题" target="_blank">MySQL面试题</a> <span class="text-muted">泰山小张只吃荷园</span> <a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</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/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a> <div>MySQL目录1.MySQL中的数据排序是怎么实现的?2.那怎么去优化ORDERBY呢?3.MySQL中的ChangeBuffer是什么?有什么作用?4.详细描述一下一条SQL语句在MySQL中的执行过程5.MySQL的存储引擎有哪些?6.MySQL的索引有哪些?7.MySQLInnoDB引擎中的聚集索引和非聚集索引有什么区别?8.MySQL索引的最左前缀匹配原则是什么?9.MySQL的覆盖索引是</div> </li> <li><a href="/article/1881345737116151808.htm" title="JavaScript 运算符详解:各类运算符及优先级。" target="_blank">JavaScript 运算符详解:各类运算符及优先级。</a> <span class="text-muted">前端基地</span> <a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%AE%97%E7%AC%A6%E4%BC%98%E5%85%88%E7%BA%A7/1.htm">运算符优先级</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%95%B0%E8%BF%90%E7%AE%97%E7%AC%A6/1.htm">算数运算符</a><a class="tag" taget="_blank" href="/search/%E9%80%BB%E8%BE%91%E8%BF%90%E7%AE%97%E7%AC%A6/1.htm">逻辑运算符</a><a class="tag" taget="_blank" href="/search/%E4%B8%80%E5%85%83%E8%BF%90%E7%AE%97%E7%AC%A6/1.htm">一元运算符</a><a class="tag" taget="_blank" href="/search/%E6%AF%94%E8%BE%83%E8%BF%90%E7%AE%97%E7%AC%A6/1.htm">比较运算符</a><a class="tag" taget="_blank" href="/search/%E8%B5%8B%E5%80%BC%E8%BF%90%E7%AE%97%E7%AC%A6/1.htm">赋值运算符</a> <div>目录非VIP用户可前往公众号“前端基地”进行免费阅读运算符介绍运算符优先级算数运算符赋值运算符比较运算符逻辑运算符介绍a&&b和a||b一元运算符非VIP用户可前往公众号“前端基地”进行免费阅读运算符介绍以下是各类运算符的详细介绍:运算符描述算术运算符加(+)、减(-)、乘(*)、除(/)、求余数并保留整数(%)、累加(++)、递减(--)赋值运算符=、+=(num+=5等同于num=num+5)</div> </li> <li><a href="/article/1881345610360090624.htm" title="对于编程零基础,第一个语言是 Python 的人有什么建议?" target="_blank">对于编程零基础,第一个语言是 Python 的人有什么建议?</a> <span class="text-muted">cda2024</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> <div>在当今数字化时代,编程已成为一项必备技能。无论你是想成为一名专业的软件开发人员,还是希望在数据分析、人工智能等领域有所建树,掌握一门编程语言都是至关重要的第一步。对于许多初学者来说,Python是一个理想的选择。它不仅语法简洁易懂,而且拥有强大的社区支持和丰富的库资源。那么,对于编程零基础且选择Python作为第一门语言的人,有哪些实用的建议呢?1.建立正确的学习心态1.1持之以恒学习编程并不是一</div> </li> <li><a href="/article/1881345483369148416.htm" title="通达信Python语言接口:如何轻松获取并高效利用?" target="_blank">通达信Python语言接口:如何轻松获取并高效利用?</a> <span class="text-muted">cda2024</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> <div>在量化投资和股票分析领域,Python已经成为不可或缺的工具。然而,如何将Python与国内最流行的股票交易软件之一——通达信相结合,成为许多投资者和开发者关心的问题。本文将详细介绍如何获取通达信的Python语言接口,并提供一些实用的技巧和示例代码,帮助你在量化交易中更上一层楼。什么是通达信Python接口?通达信Python接口是通达信官方提供的一个API,允许用户通过Python脚本调用通达</div> </li> <li><a href="/article/1881344852940091392.htm" title="华为OD机试E卷 - 手机App防沉迷系统(Java & Python& JS & C++ & C )" target="_blank">华为OD机试E卷 - 手机App防沉迷系统(Java & Python& JS & C++ & C )</a> <span class="text-muted">算法大师</span> <a class="tag" taget="_blank" href="/search/%E6%9C%80%E6%96%B0%E5%8D%8E%E4%B8%BAOD%E6%9C%BA%E8%AF%95/1.htm">最新华为OD机试</a><a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BAod/1.htm">华为od</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><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/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BAOD%E6%9C%BA%E8%AF%95E%E5%8D%B7/1.htm">华为OD机试E卷</a> <div>最新华为OD机试真题目录:点击查看目录华为OD面试真题精选:点击立即查看题目描述智能手机方便了我们生活的同时,也侵占了我们不少的时间。“手机App防沉迷系统”能够让我们每天合理地规划手机App使用时间,在正确的时间做正确的事。它的大概原理是这样的:在一天24小时内,可以注册每个App的允许使用时段一个时间段只能使用一个AppApp有优先级,数值越高,优先级越高。注册使用时段时,如果高优先级的App</div> </li> <li><a href="/article/1881341321176739840.htm" title="PyCharm安装PyQt5及工具详细教程" target="_blank">PyCharm安装PyQt5及工具详细教程</a> <span class="text-muted">JustLikeRun</span> <a class="tag" taget="_blank" href="/search/pycharm/1.htm">pycharm</a><a class="tag" taget="_blank" href="/search/qt/1.htm">qt</a><a class="tag" taget="_blank" href="/search/ide/1.htm">ide</a><a class="tag" taget="_blank" href="/search/pyqt/1.htm">pyqt</a> <div>PyCharm安装PyQt5及工具详细教程PyCharm是一款功能强大的Python集成开发环境(IDE),而PyQt5是一个用于创建GUI应用程序的流行Python库。在本教程中,我将指导您如何在PyCharm中安装PyQt5及其相关工具,并提供相应的源代码示例。步骤1:安装PyCharm首先,您需要下载并安装PyCharm。您可以从JetBrains官方网站(https://www.jetbr</div> </li> <li><a href="/article/1881338550272716800.htm" title="Python从0到100(七十三):Python OpenCV-OpenCV实现手势虚拟拖拽" target="_blank">Python从0到100(七十三):Python OpenCV-OpenCV实现手势虚拟拖拽</a> <span class="text-muted">是Dream呀</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/opencv/1.htm">opencv</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>前言:零基础学Python:Python从0到100最新最全教程。想做这件事情很久了,这次我更新了自己所写过的所有博客,汇集成了Python从0到100,共一百节课,帮助大家一个月时间里从零基础到学习Python基础语法、Python爬虫、Web开发、计算机视觉、机器学习、神经网络以及人工智能相关知识,成为学习学习和学业的先行者!欢迎大家订阅专栏:零基础学Python:Python从0到100最新</div> </li> <li><a href="/article/1881338046499057664.htm" title="华为OD机试E卷 --第k个排列 --24年OD统一考试(Java & JS & Python & C & C++)" target="_blank">华为OD机试E卷 --第k个排列 --24年OD统一考试(Java & JS & Python & C & C++)</a> <span class="text-muted">飞码创造者</span> <a class="tag" taget="_blank" href="/search/%E6%9C%80%E6%96%B0%E5%8D%8E%E4%B8%BAOD%E6%9C%BA%E8%AF%95%E9%A2%98%E5%BA%932024/1.htm">最新华为OD机试题库2024</a><a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BAod/1.htm">华为od</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><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/python/1.htm">python</a> <div>文章目录题目描述输入描述输出描述用例题目解析JS算法源码java算法源码python算法源码c算法源码c++算法源码题目描述给定参数n,从1到n会有n个整数:1,2,3,…,n,这n个数字共有nl种排列。按大小顺序升序列出所有排列的情况,并——标记,当n=3时,所有排列如下:“123"“132”“213”“231"“312"“321”给定n和k,返回第k个排列。输入描述输入两行,第一行为n,第二行</div> </li> <li><a href="/article/1881336658553532416.htm" title="期末python试卷(1)" target="_blank">期末python试卷(1)</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/%E7%BD%91%E7%BB%9C/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/%E5%BC%80%E6%BA%90/1.htm">开源</a><a class="tag" taget="_blank" href="/search/%E6%B1%87%E7%BC%96/1.htm">汇编</a><a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E4%BA%BA%E7%94%9F/1.htm">程序人生</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0%E6%96%B9%E6%B3%95/1.htm">学习方法</a> <div>目录一、判断题二、选择题三、填空题一、判断题1.Python是一种解释型、面向对象的编程语言。2.Python中的变量名只能由字母、下划线、数字组成,且不能以数字开头。3.Python中多分支可使用IF-ELIF和SWITCH-CASE语句来实现。4.表达式中包含多个运算符时,计算顺序取决于运算符的结合顺序和优先级。5.x=’Tom’,那么执行语句x+=’Tom’之后,x的id不变。6.Pytho</div> </li> <li><a href="/article/1881336657651757056.htm" title="Python调用另一个py文件并传递参数的全面解析" target="_blank">Python调用另一个py文件并传递参数的全面解析</a> <span class="text-muted">cda2024</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</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> <div>在Python编程的世界里,模块化和代码复用是提高开发效率的重要手段。当你面对复杂的项目时,将功能拆分成多个文件不仅有助于团队协作,还能提升代码的可读性和可维护性。然而,如何在一个py文件中调用另一个py文件,并且能够传递参数呢?这正是本文要探讨的核心问题。通过本文,你将了解到几种常见的方法及其应用场景,帮助你在实际开发中更加游刃有余。1.使用import语句1.1基本用法最直观的方法就是使用im</div> </li> <li><a href="/article/1881333878136827904.htm" title="使用Python开发SolidWorks API" target="_blank">使用Python开发SolidWorks API</a> <span class="text-muted">SolidWorksAPI</span> <a class="tag" taget="_blank" href="/search/SolidWorks/1.htm">SolidWorks</a><a class="tag" taget="_blank" href="/search/%E4%BA%8C%E6%AC%A1%E5%BC%80%E5%8F%91/1.htm">二次开发</a><a class="tag" taget="_blank" href="/search/Solidworks/1.htm">Solidworks</a><a class="tag" taget="_blank" href="/search/API/1.htm">API</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>使用Python开发SolidWorksAPI介绍本文介绍了如何使用Python与SolidWorksAPI进行交互,创建零件草图、特征及插入文本。我们将通过一个简单的示例,展示如何在SolidWorks中进行自动化操作,利用Python脚本创建一个带有矩形特征的零件,并向草图中插入文本。前提条件安装了SolidWorks和Python。配置了pywin32库来与SolidWorks进行交互。可以</div> </li> <li><a href="/article/1881333118611288064.htm" title="你不知道的javascript-13(var的接替者let与const)" target="_blank">你不知道的javascript-13(var的接替者let与const)</a> <span class="text-muted">我爱学习_zwj</span> <a class="tag" taget="_blank" href="/search/%E4%BD%A0%E4%B8%8D%E7%9F%A5%E9%81%93%E7%9A%84javascript/1.htm">你不知道的javascript</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</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%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a> <div>1.let与const的基本使用在ES5中我们声明变量都是使用的var(variable)关键字,从ES6开始新增了两个关键字可以声明变量:let、constlet、const在其他编程语言中都是有的,所以也并不是新鲜的关键字但是let、const确确实实给JavaScript带来一些不一样的东西从使用角度来说,只是在原有基础上换一个名字而已,使用的位置和方式是一样的varname='zs'let</div> </li> <li><a href="/article/1881329843698724864.htm" title="银河麒麟V10 sp3 安装Oracle11g" target="_blank">银河麒麟V10 sp3 安装Oracle11g</a> <span class="text-muted">蓝天4202</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a><a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a> <div>hostnamectlset-hostnamedb01vim/etc/hosts192.168.1.101db01vim/etc/selinux/configSELINUX=disabled2.5关闭防火墙配置systemctldisablefirewalldsystemctlstopfirewalldsystemctlstopfirewalld.servicesystemctldisablefi</div> </li> <li><a href="/article/1881329463292129280.htm" title="库存python whl文件免费下载(2)" target="_blank">库存python whl文件免费下载(2)</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/python/1.htm">python</a> <div>库存pythonwhl文件免费下载(1)库存pythonwhl文件免费下载(2)库存pythonwhl文件免费下载(3)库存pythonwhl文件免费下载(4)库存pythonwhl文件免费下载(5)最近发现收藏的whl下载链接https://www.lfd.uci.edu/~gohlke/pythonlibs/已经走丢了,网上检索了下,还可以下载到历史的whl文件,为了防止下载链接再次失效,索性</div> </li> <li><a href="/article/1881328077259206656.htm" title="Python处理Excel数据" target="_blank">Python处理Excel数据</a> <span class="text-muted">王肇朋</span> <a class="tag" taget="_blank" href="/search/excel/1.htm">excel</a><a class="tag" taget="_blank" href="/search/Excel/1.htm">Excel</a><a class="tag" taget="_blank" href="/search/EXCEL/1.htm">EXCEL</a><a class="tag" taget="_blank" href="/search/office/1.htm">office</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/Python/1.htm">Python</a> <div>Python处理Excel数据2012-08-0210:07:32我来说两句收藏我要投稿前段时间做了个小项目,帮个海洋系的教授做了个数据处理的软件。基本的功能很简单,就是对Excel里面的一些数据进行过滤,统计,对多个表的内容进行合并等。之前没有处理Excel数据的经验,甚至于自己都很少用到Excel。记得《Python核心编程》的最后一章里有讲到用Win32COM操作office,看了一下讲的不</div> </li> <li><a href="/article/1881327950872244224.htm" title="gradle linux配置环境变量配置,Mac OS环境变量配置(Android Studio之Gradle)" target="_blank">gradle linux配置环境变量配置,Mac OS环境变量配置(Android Studio之Gradle)</a> <span class="text-muted">MatrixMage</span> <a class="tag" taget="_blank" href="/search/gradle/1.htm">gradle</a><a class="tag" taget="_blank" href="/search/linux%E9%85%8D%E7%BD%AE%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F%E9%85%8D%E7%BD%AE/1.htm">linux配置环境变量配置</a> <div>以gradle环境变量配置为例:AndroidStudio自带的gradle路径为:/Applications/Android\Studio.app/Contents/gradle/gradle-2.8/bin1.打开终端2.输入:vim~/.bash_profile3.进入编辑模式4.在文本末尾添加如下信息exportGRADLE_HOME=/Applications/Android\Studi</div> </li> <li><a href="/article/1881327950431842304.htm" title="linux二进制包安装svn,linux 安装svn(subversion二进制tar包)" target="_blank">linux二进制包安装svn,linux 安装svn(subversion二进制tar包)</a> <span class="text-muted">小丑逼</span> <a class="tag" taget="_blank" href="/search/linux%E4%BA%8C%E8%BF%9B%E5%88%B6%E5%8C%85%E5%AE%89%E8%A3%85svn/1.htm">linux二进制包安装svn</a> <div>#下载subversion安装包,地址:http://subversion.apache.org/download.cgi,我这里是subversion-1.9.7.tar.gz#cd进入你想安装的目录,rz命令上传至服务器tar-xzvfsubversion-1.9.7.tar.gzcdsubversion-1.9.7./configure--prefix=/usr/local/subversi</div> </li> <li><a href="/article/1881324669311709184.htm" title="python正则表达式re关于数字、字母、特殊字符、汉字的匹配方式" target="_blank">python正则表达式re关于数字、字母、特殊字符、汉字的匹配方式</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> <div>在Python中,正则表达式是通过re模块来实现的。正则表达式是一种强大的文本处理工具,用于匹配、搜索、替换或分割字符串。以下是一些基本的正则表达式模式,用于筛选不同类型的字符:数字(\d):匹配任意数字(0-9)。示例:\d可以匹配“123”中的每个‘1’,‘2’,‘3’。字母([a-zA-Z]):匹配任意大小写的英文字母。示例:[a-zA-Z]可以匹配“HelloWorld”中的每个‘H’,‘</div> </li> <li><a href="/article/1881324417036906496.htm" title="TimeUnit源码走读及基本使用" target="_blank">TimeUnit源码走读及基本使用</a> <span class="text-muted">amcomputer</span> <a class="tag" taget="_blank" href="/search/Java%E5%9F%BA%E7%A1%80/1.htm">Java基础</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a><a class="tag" taget="_blank" href="/search/JavaWeb/1.htm">JavaWeb</a><a class="tag" taget="_blank" href="/search/TimeUnit%E6%BA%90%E7%A0%81%E8%B5%B0%E8%AF%BB/1.htm">TimeUnit源码走读</a><a class="tag" taget="_blank" href="/search/TimeUnit%E5%9F%BA%E6%9C%AC%E4%BD%BF%E7%94%A8/1.htm">TimeUnit基本使用</a> <div>1背景介绍笔者遇到一个场景,用户输入的时间和数据库里面时间做对比,由于数据库里面是timestamp类型,(如2021-08-2308:28:41),而用户输入一般为小时,分钟,或者毫秒。代码规约规定不能使用java.sql.Time,java.sql.Date,和java.sql.timestamp,因为在jdk8中,这3个类有缺陷。现在假设用户输入是毫秒(longstartTime=Syste</div> </li> <li><a href="/article/1881322527129661440.htm" title="一文搞定postgreSQL" target="_blank">一文搞定postgreSQL</a> <span class="text-muted">m0_74823595</span> <a class="tag" taget="_blank" href="/search/postgresql/1.htm">postgresql</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a> <div>一文搞定postgreSQLPostgreSQL全面指南一、什么是PostgreSQL?二、PostgreSQL的核心概念三、安装PostgreSQL1.在Linux上安装(例如Ubuntu)2.在macOS上安装(使用Homebrew)3.在Windows上安装四、基本操作1.启动和停止PostgreSQL服务2.连接到PostgreSQL3.创建数据库和用户4.基本SQL操作五、高级功能1.事</div> </li> <li><a href="/article/1881321645067530240.htm" title="python中的两种循环" target="_blank">python中的两种循环</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/%E7%BB%83%E4%B9%A0/1.htm">练习</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>python中的两种循环for循环(计数循环)while循环(条件循环)两种循环的区别range函数跳出循环break示例continue示例循环嵌套循环练习循环,三大语言结构之一,当它满足条件时反复执行某一段代码的过程,在python中有两种循环命令,分别为for循环和while循环for循环(计数循环)python中常用的循环结构之一,可以遍历一个可迭代对象中的元素。因为for循环的循环次数是</div> </li> <li><a href="/article/57.htm" title="多线程编程之join()方法" target="_blank">多线程编程之join()方法</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/JOIN/1.htm">JOIN</a><a class="tag" taget="_blank" href="/search/%E5%A4%9A%E7%BA%BF%E7%A8%8B/1.htm">多线程</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B/1.htm">编程</a><a class="tag" taget="_blank" href="/search/%E7%BA%BF%E7%A8%8B/1.htm">线程</a> <div>现实生活中,有些工作是需要团队中成员依次完成的,这就涉及到了一个顺序问题。现在有T1、T2、T3三个工人,如何保证T2在T1执行完后执行,T3在T2执行完后执行?问题分析:首先问题中有三个实体,T1、T2、T3, 因为是多线程编程,所以都要设计成线程类。关键是怎么保证线程能依次执行完呢?   Java实现过程如下: public class T1 implements Runnabl</div> </li> <li><a href="/article/184.htm" title="java中switch的使用" target="_blank">java中switch的使用</a> <span class="text-muted">bingyingao</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/enum/1.htm">enum</a><a class="tag" taget="_blank" href="/search/break/1.htm">break</a><a class="tag" taget="_blank" href="/search/continue/1.htm">continue</a> <div>java中的switch仅支持case条件仅支持int、enum两种类型。 用enum的时候,不能直接写下列形式。 switch (timeType) { case ProdtransTimeTypeEnum.DAILY: break; default: br</div> </li> <li><a href="/article/311.htm" title="hive having count 不能去重" target="_blank">hive having count 不能去重</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/hive/1.htm">hive</a><a class="tag" taget="_blank" href="/search/%E5%8E%BB%E9%87%8D/1.htm">去重</a><a class="tag" taget="_blank" href="/search/having+count/1.htm">having count</a><a class="tag" taget="_blank" href="/search/%E8%AE%A1%E6%95%B0/1.htm">计数</a> <div>hive在使用having count()是,不支持去重计数   hive (default)> select imei from t_test_phonenum where ds=20150701 group by imei having count(distinct phone_num)>1 limit 10;  FAILED: SemanticExcep</div> </li> <li><a href="/article/438.htm" title="WebSphere对JSP的缓存" target="_blank">WebSphere对JSP的缓存</a> <span class="text-muted">周凡杨</span> <a class="tag" taget="_blank" href="/search/WAS+JSP+%E7%BC%93%E5%AD%98/1.htm">WAS JSP 缓存</a> <div>      对于线网上的工程,更新JSP到WebSphere后,有时会出现修改的jsp没有起作用,特别是改变了某jsp的样式后,在页面中没看到效果,这主要就是由于websphere中缓存的缘故,这就要清除WebSphere中jsp缓存。要清除WebSphere中JSP的缓存,就要找到WAS安装后的根目录。        现服务</div> </li> <li><a href="/article/565.htm" title="设计模式总结" target="_blank">设计模式总结</a> <span class="text-muted">朱辉辉33</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a> <div>1.工厂模式   1.1 工厂方法模式 (由一个工厂类管理构造方法)      1.1.1普通工厂模式(一个工厂类中只有一个方法)      1.1.2多工厂模式(一个工厂类中有多个方法)      1.1.3静态工厂模式(将工厂类中的方法变成静态方法) &n</div> </li> <li><a href="/article/692.htm" title="实例:供应商管理报表需求调研报告" target="_blank">实例:供应商管理报表需求调研报告</a> <span class="text-muted">老A不折腾</span> <a class="tag" taget="_blank" href="/search/finereport/1.htm">finereport</a><a class="tag" taget="_blank" href="/search/%E6%8A%A5%E8%A1%A8%E7%B3%BB%E7%BB%9F/1.htm">报表系统</a><a class="tag" taget="_blank" href="/search/%E6%8A%A5%E8%A1%A8%E8%BD%AF%E4%BB%B6/1.htm">报表软件</a><a class="tag" taget="_blank" href="/search/%E4%BF%A1%E6%81%AF%E5%8C%96%E9%80%89%E5%9E%8B/1.htm">信息化选型</a> <div>引言 随着企业集团的生产规模扩张,为支撑全球供应链管理,对于供应商的管理和采购过程的监控已经不局限于简单的交付以及价格的管理,目前采购及供应商管理各个环节的操作分别在不同的系统下进行,而各个数据源都独立存在,无法提供统一的数据支持;因此,为了实现对于数据分析以提供采购决策,建立报表体系成为必须。 业务目标 1、通过报表为采购决策提供数据分析与支撑 2、对供应商进行综合评估以及管理,合理管理和</div> </li> <li><a href="/article/819.htm" title="mysql" target="_blank">mysql</a> <span class="text-muted">林鹤霄</span> <div>转载源:http://blog.sina.com.cn/s/blog_4f925fc30100rx5l.html mysql -uroot -p ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)   [root@centos var]# service mysql</div> </li> <li><a href="/article/946.htm" title="Linux下多线程堆栈查看工具(pstree、ps、pstack)" target="_blank">Linux下多线程堆栈查看工具(pstree、ps、pstack)</a> <span class="text-muted">aigo</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a> <div>原文:http://blog.csdn.net/yfkiss/article/details/6729364   1. pstree pstree以树结构显示进程$ pstree -p work | grep adsshd(22669)---bash(22670)---ad_preprocess(4551)-+-{ad_preprocess}(4552)  &n</div> </li> <li><a href="/article/1073.htm" title="html input与textarea 值改变事件" target="_blank">html input与textarea 值改变事件</a> <span class="text-muted">alxw4616</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a> <div>// 文本输入框(input) 文本域(textarea)值改变事件 // onpropertychange(IE) oninput(w3c) $('input,textarea').on('propertychange input', function(event) {      console.log($(this).val()) });   </div> </li> <li><a href="/article/1200.htm" title="String类的基本用法" target="_blank">String类的基本用法</a> <span class="text-muted">百合不是茶</span> <a class="tag" taget="_blank" href="/search/String/1.htm">String</a> <div>  字符串的用法;     // 根据字节数组创建字符串 byte[] by = { 'a', 'b', 'c', 'd' }; String newByteString = new String(by);         1,length()  获取字符串的长度     &nbs</div> </li> <li><a href="/article/1327.htm" title="JDK1.5 Semaphore实例" target="_blank">JDK1.5 Semaphore实例</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/Semaphore/1.htm">Semaphore</a> <div>Semaphore类        一个计数信号量。从概念上讲,信号量维护了一个许可集合。如有必要,在许可可用前会阻塞每一个 acquire(),然后再获取该许可。每个 release() 添加一个许可,从而可能释放一个正在阻塞的获取者。但是,不使用实际的许可对象,Semaphore 只对可用许可的号码进行计数,并采取相应的行动。 S</div> </li> <li><a href="/article/1454.htm" title="使用GZip来压缩传输量" target="_blank">使用GZip来压缩传输量</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/GZip/1.htm">GZip</a> <div>        启动GZip压缩要用到一个开源的Filter:PJL Compressing Filter。这个Filter自1.5.0开始该工程开始构建于JDK5.0,因此在JDK1.4环境下只能使用1.4.6。         PJL Compressi</div> </li> <li><a href="/article/1581.htm" title="【Java范型三】Java范型详解之范型类型通配符" target="_blank">【Java范型三】Java范型详解之范型类型通配符</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>    定义如下一个简单的范型类,   package com.tom.lang.generics; public class Generics<T> { private T value; public Generics(T value) { this.value = value; } } </div> </li> <li><a href="/article/1708.htm" title="【Hadoop十二】HDFS常用命令" target="_blank">【Hadoop十二】HDFS常用命令</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/hadoop/1.htm">hadoop</a> <div>1. 修改日志文件查看器   hdfs oev -i edits_0000000000000000081-0000000000000000089 -o edits.xml cat edits.xml   修改日志文件转储为xml格式的edits.xml文件,其中每条RECORD就是一个操作事务日志   2. fsimage查看HDFS中的块信息等 &nb</div> </li> <li><a href="/article/1835.htm" title="怎样区别nginx中rewrite时break和last" target="_blank">怎样区别nginx中rewrite时break和last</a> <span class="text-muted">ronin47</span> <div>在使用nginx配置rewrite中经常会遇到有的地方用last并不能工作,换成break就可以,其中的原理是对于根目录的理解有所区别,按我的测试结果大致是这样的。 location /    {         proxy_pass http://test; </div> </li> <li><a href="/article/1962.htm" title="java-21.中兴面试题 输入两个整数 n 和 m ,从数列 1 , 2 , 3.......n 中随意取几个数 , 使其和等于 m" target="_blank">java-21.中兴面试题 输入两个整数 n 和 m ,从数列 1 , 2 , 3.......n 中随意取几个数 , 使其和等于 m</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div> import java.util.ArrayList; import java.util.List; import java.util.Stack; public class CombinationToSum { /* 第21 题 2010 年中兴面试题 编程求解: 输入两个整数 n 和 m ,从数列 1 , 2 , 3.......n 中随意取几个数 , 使其和等</div> </li> <li><a href="/article/2089.htm" title="eclipse svn 帐号密码修改问题" target="_blank">eclipse svn 帐号密码修改问题</a> <span class="text-muted">开窍的石头</span> <a class="tag" taget="_blank" href="/search/eclipse/1.htm">eclipse</a><a class="tag" taget="_blank" href="/search/SVN/1.htm">SVN</a><a class="tag" taget="_blank" href="/search/svn%E5%B8%90%E5%8F%B7%E5%AF%86%E7%A0%81%E4%BF%AE%E6%94%B9/1.htm">svn帐号密码修改</a> <div>问题描述:      Eclipse的SVN插件Subclipse做得很好,在svn操作方面提供了很强大丰富的功能。但到目前为止,该插件对svn用户的概念极为淡薄,不但不能方便地切换用户,而且一旦用户的帐号、密码保存之后,就无法再变更了。 解决思路:      删除subclipse记录的帐号、密码信息,重新输入</div> </li> <li><a href="/article/2216.htm" title="[电子商务]传统商务活动与互联网的结合" target="_blank">[电子商务]传统商务活动与互联网的结合</a> <span class="text-muted">comsci</span> <a class="tag" taget="_blank" href="/search/%E7%94%B5%E5%AD%90%E5%95%86%E5%8A%A1/1.htm">电子商务</a> <div>       某一个传统名牌产品,过去销售的地点就在某些特定的地区和阶层,现在进入互联网之后,用户的数量群突然扩大了无数倍,但是,这种产品潜在的劣势也被放大了无数倍,这种销售利润与经营风险同步放大的效应,在最近几年将会频繁出现。。。。        如何避免销售量和利润率增加的</div> </li> <li><a href="/article/2343.htm" title="java 解析 properties-使用 Properties-可以指定配置文件路径" target="_blank">java 解析 properties-使用 Properties-可以指定配置文件路径</a> <span class="text-muted">cuityang</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/properties/1.htm">properties</a> <div>#mq xdr.mq.url=tcp://192.168.100.15:61618; import java.io.IOException; import java.util.Properties; public class Test { String conf = "log4j.properties"; private static final</div> </li> <li><a href="/article/2470.htm" title="Java核心问题集锦" target="_blank">Java核心问题集锦</a> <span class="text-muted">darrenzhu</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%9F%BA%E7%A1%80/1.htm">基础</a><a class="tag" taget="_blank" href="/search/%E6%A0%B8%E5%BF%83/1.htm">核心</a><a class="tag" taget="_blank" href="/search/%E9%9A%BE%E7%82%B9/1.htm">难点</a> <div>注意,这里的参考文章基本来自Effective Java和jdk源码 1)ConcurrentModificationException 当你用for each遍历一个list时,如果你在循环主体代码中修改list中的元素,将会得到这个Exception,解决的办法是: 1)用listIterator, 它支持在遍历的过程中修改元素, 2)不用listIterator, new一个</div> </li> <li><a href="/article/2724.htm" title="1分钟学会Markdown语法" target="_blank">1分钟学会Markdown语法</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/markdown/1.htm">markdown</a> <div>markdown 简明语法 基本符号 *,-,+ 3个符号效果都一样,这3个符号被称为 Markdown符号 空白行表示另起一个段落 `是表示inline代码,tab是用来标记 代码段,分别对应html的code,pre标签 换行 单一段落( <p>) 用一个空白行 连续两个空格 会变成一个 <br> 连续3个符号,然后是空行</div> </li> <li><a href="/article/2851.htm" title="Gson使用二(GsonBuilder)" target="_blank">Gson使用二(GsonBuilder)</a> <span class="text-muted">eksliang</span> <a class="tag" taget="_blank" href="/search/json/1.htm">json</a><a class="tag" taget="_blank" href="/search/gson/1.htm">gson</a><a class="tag" taget="_blank" href="/search/GsonBuilder/1.htm">GsonBuilder</a> <div>转载请出自出处:http://eksliang.iteye.com/blog/2175473 一.概述     GsonBuilder用来定制java跟json之间的转换格式   二.基本使用 实体测试类: 温馨提示:默认情况下@Expose注解是不起作用的,除非你用GsonBuilder创建Gson的时候调用了GsonBuilder.excludeField</div> </li> <li><a href="/article/2978.htm" title="报ClassNotFoundException: Didn't find class "...Activity" on path: DexPathList" target="_blank">报ClassNotFoundException: Didn't find class "...Activity" on path: DexPathList</a> <span class="text-muted">gundumw100</span> <a class="tag" taget="_blank" href="/search/android/1.htm">android</a> <div>有一个工程,本来运行是正常的,我想把它移植到另一台PC上,结果报: java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.mobovip.bgr/com.mobovip.bgr.MainActivity}: java.lang.ClassNotFoundException: Didn't f</div> </li> <li><a href="/article/3105.htm" title="JavaWeb之JSP指令" target="_blank">JavaWeb之JSP指令</a> <span class="text-muted">ihuning</span> <a class="tag" taget="_blank" href="/search/javaweb/1.htm">javaweb</a> <div>  要点   JSP指令简介  page指令  include指令    JSP指令简介    JSP指令(directive)是为JSP引擎而设计的,它们并不直接产生任何可见输出,而只是告诉引擎如何处理JSP页面中的其余部分。 JSP指令的基本语法格式: <%@ 指令 属性名="</div> </li> <li><a href="/article/3232.htm" title="mac上编译FFmpeg跑ios" target="_blank">mac上编译FFmpeg跑ios</a> <span class="text-muted">啸笑天</span> <a class="tag" taget="_blank" href="/search/ffmpeg/1.htm">ffmpeg</a> <div>1、下载文件:https://github.com/libav/gas-preprocessor, 复制gas-preprocessor.pl到/usr/local/bin/下, 修改文件权限:chmod 777 /usr/local/bin/gas-preprocessor.pl 2、安装yasm-1.2.0 curl http://www.tortall.net/projects/yasm</div> </li> <li><a href="/article/3359.htm" title="sql mysql oracle中字符串连接" target="_blank">sql mysql oracle中字符串连接</a> <span class="text-muted">macroli</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/SQL+Server/1.htm">SQL Server</a> <div>有的时候,我们有需要将由不同栏位获得的资料串连在一起。每一种资料库都有提供方法来达到这个目的: MySQL: CONCAT() Oracle: CONCAT(), || SQL Server: + CONCAT() 的语法如下: Mysql 中 CONCAT(字串1, 字串2, 字串3, ...): 将字串1、字串2、字串3,等字串连在一起。 请注意,Oracle的CON</div> </li> <li><a href="/article/3486.htm" title="Git fatal: unab SSL certificate problem: unable to get local issuer ce rtificate" target="_blank">Git fatal: unab SSL certificate problem: unable to get local issuer ce rtificate</a> <span class="text-muted">qiaolevip</span> <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/%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/git/1.htm">git</a><a class="tag" taget="_blank" href="/search/%E7%BA%B5%E8%A7%82%E5%8D%83%E8%B1%A1/1.htm">纵观千象</a> <div>// 报错如下: $ git pull origin master fatal: unable to access 'https://git.xxx.com/': SSL certificate problem: unable to get local issuer ce rtificate   // 原因: 由于git最新版默认使用ssl安全验证,但是我们是使用的git未设</div> </li> <li><a href="/article/3613.htm" title="windows命令行设置wifi" target="_blank">windows命令行设置wifi</a> <span class="text-muted">surfingll</span> <a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a><a class="tag" taget="_blank" href="/search/wifi/1.htm">wifi</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0%E6%9C%ACwifi/1.htm">笔记本wifi</a> <div>还没有讨厌无线wifi的无尽广告么,还在耐心等待它慢慢启动么 教你命令行设置 笔记本电脑wifi: 1、开启wifi命令 netsh wlan set hostednetwork mode=allow ssid=surf8 key=bb123456 netsh wlan start hostednetwork pause 其中pause是等待输入,可以去掉 2、</div> </li> <li><a href="/article/3740.htm" title="Linux(Ubuntu)下安装sysv-rc-conf" target="_blank">Linux(Ubuntu)下安装sysv-rc-conf</a> <span class="text-muted">wmlJava</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/ubuntu/1.htm">ubuntu</a><a class="tag" taget="_blank" href="/search/sysv-rc-conf/1.htm">sysv-rc-conf</a> <div>安装:sudo apt-get install sysv-rc-conf 使用:sudo sysv-rc-conf 操作界面十分简洁,你可以用鼠标点击,也可以用键盘方向键定位,用空格键选择,用Ctrl+N翻下一页,用Ctrl+P翻上一页,用Q退出。     背景知识 sysv-rc-conf是一个强大的服务管理程序,群众的意见是sysv-rc-conf比chkconf</div> </li> <li><a href="/article/3867.htm" title="svn切换环境,重发布应用多了javaee标签前缀" target="_blank">svn切换环境,重发布应用多了javaee标签前缀</a> <span class="text-muted">zengshaotao</span> <a class="tag" taget="_blank" href="/search/javaee/1.htm">javaee</a> <div>更换了开发环境,从杭州,改变到了上海。svn的地址肯定要切换的,切换之前需要将原svn自带的.svn文件信息删除,可手动删除,也可通过废弃原来的svn位置提示删除.svn时删除。   然后就是按照最新的svn地址和规范建立相关的目录信息,再将原来的纯代码信息上传到新的环境。然后再重新检出,这样每次修改后就可以看到哪些文件被修改过,这对于增量发布的规范特别有用。   检出</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>