用SVG 制作 Sprites的图标系统

https://css-tricks.com/svg-sp...

我一直是图标字体的大力支持者。很多网站真的需要一个图标系统,图标字体提供了一个该死的精细系统。但是,我认为假设你对 IE 9+ 很好,使用内联 SVG 并且 引用图标的元素是一个优秀的系统。

首先让我们介绍它的工作原理。

处理图标的一个好方法是让文件夹中包含大量.svg文件。

用SVG 制作 Sprites的图标系统_第1张图片

这是使用SVG的一个很酷的事情 - 它们是源文件。
它们可以是彩色的,而不是彩色的,多种形状,尺寸等等。

用SVG 制作 Sprites的图标系统_第2张图片

你可以让 Illustrator(或其他任何软件)保存它,享受其带来的所有瑕疵:






    

合并.svg文件

如果需要,可以手动执行此操作。我做到了 您甚至不必查看最终文件。只是称之为 svg-defs.svg或其他。

它应该只是一个 标签,带有标签(这意味着你要定义以后要使用的东西),然后是一堆(组)标签。每个标记都有一个唯一的ID,包含每个图标的所有路径和诸如此类的东西。


  

    
      
    

    
      
    

    

  
事实证明 可能是一个更好的选择 。参考 关于它的内容

可以手工完成,但当然这有点费力。Fabrice Weinberg创建了一个名为grunt-svgstore的Grunt插件,可自动执行此操作。

如果从未使用过Grunt,那么您可以这样做。这是一个可以帮助入门的截屏视频。

你可以安装它:

    npm install grunt-svgstore --save-dev

确保该任务可用于:

    grunt.loadNpmTasks('grunt-svgstore');

然后在配置中:

svgstore: {
  options: {
    prefix : 'shape-', // This will prefix each  ID
  },
  default : {
      files: {
        'dest/svg-defs.svg': ['svgs/*.svg'],
      }
    }
  }
},

在输出文件中svg-defs.svg,每个图标(来自源.svg文件的任何路径和内容)将被包装在带有唯一的前缀ID和文件名(减去.svg)的标记中。喜欢:

    

将SVG注入文档顶部
字面上包括它,如:





  ...



  

或者你想要那样做。

遗憾的是,它必须位于顶部,因为有一个Chrome错误,如果稍后定义,这将无法正常工作。虽然......这个故事还有更多内容,因为当我输入这些单词时,这个网站使用的主题是在文档底部定义的图标,并且它有效。Ughkgh很困惑。

随时随地使用图标

现在你可以在任何地方使用它们!喜欢:


  
请注意, grunt-svgstore现在正在使用, 因此您甚至不需要使用viewBox!
确保在svg上使用这些类名来调整它的大小。
/* Do whatever makes sense here.
   Just know that the svg will be an 
   enormous 100% wide if you don't 
   reign in the width. */
.icon {
  display: inline-block;
  width: 25px;
  height: 25px;
}

Yay:你可以用CSS设置它们(和它们的部分)的样式

我们喜欢图标字体的原因之一是能够使用CSS设置样式。这项技术可以让我们尽我们所能,而且更多,因为:

  1. 我们可以设计所有单独的部分
  2. SVG有更多你可以控制的东西,比如特殊的过滤器和笔画

svg(有点像是)在DOM中,所以也可以用JavaScript。这里有一些造型可能性的各种演示:

codepen.io



  



  




Result
EDIT ON
.hide {
  display: none;
}

.icon {
  width: 75px;
  height: 75px;
}

body {
  padding: 20px;
}

/* Targeting inside only */
.outer-ring {
  fill: #999;
}
.inner-logo {
  fill: #666;
}
.shape-codepen-2 {
  -webkit-filter: drop-shadow(5px 5px 2px #ccc); 
  filter: drop-shadow(5px 5px 2px black);
}

.shape-youtube {
  fill: url(#gradient);
}

.shape-twitter-2 {
  fill: #55ACEE
}
.shape-twitter-3 {
  fill: red;
}

请参阅CodeCen上的Chris Coyier(@chriscoyier)的Pen EBHlD。

另一种方式:IcoMoon

IcoMoon以生成图标字体而闻名,实际上也可以很好地生成SVG精灵。选择所需的所有字体后,单击底部的SVG按钮,您将获得该输出,包括带有内联SVG方法的演示页面。

用SVG 制作 Sprites的图标系统_第3张图片

浏览器支持

在浏览器支持方面,危险区域是IE 8和向下,Safari 5和向下,iOS 4.3和向下,以及Android 2.3和向下。但如果你的政策是“最后两个主要版本” - 你会看到几乎100%的支持。

请记住,图标只能用作支持角色,就像总是伴随着一个单词一样。如果是这样的话,那么支持并不算太大。如果它们是独立的,并且不显示会使网站无法使用,那么这是一个大问题。

我可能会选择图标字体,因为那里的支持更深。只要确保你做得对。

会变得更好的

理想情况下,我们能够做到这一点:


  

这确实在某些浏览器下是可以的,这意味着你可以不用将svg包括在文档的顶部。但意味着额外的 HTTP 请求,但这也意味着可以更有效地利用缓存(而不是膨胀文档缓存)。在测试中,Jonathan Neal 发现你需要拥有 xmlns 属性才能使它工作:

但即使这样,任何IE都没有支持。除非你想把整个换成一个,这确实有效。乔纳森尼尔再次想到这一点:

/MSIE|Trident/.test(navigator.userAgent) && document.addEventListener('DOMContentLoaded', function () {
  [].forEach.call(document.querySelectorAll('svg'), function (svg) {
    var use = svg.querySelector('use'); 

    if (use) {
      var object = document.createElement('object');
      object.data = use.getAttribute('xlink:href');
      object.className = svg.getAttribute('class');
      svg.parentNode.replaceChild(object, svg);
    }
  });
});

他的演示现在还有一个方法,它对内容进行Ajax请求并注入,这允许填充在IE 9中工作。效率不高,但更像是polyfill。

我想有一天会直接.svg连接起来。甚至可能在SVG上使用URL片段标识符。

浏览器像阴影DOM一样对待:

现在,我们可以针对具有CSS 的个人进行定位,例如:

.targetting-a-path {
  fill: red;
}

但这会影响该路径的所有实例。你认为你可以这样做:

svg.shape-version-2 .targetting-a-path {
  fill: red;
}

但这不起作用。它穿过阴影DOM边界。理想情况下,您可以使用“帽子”选择器来打破:

svg.shape-version-2 ^ .targetting-a-path {
  fill: red;
}

但是,这也没有得到支持,并且不完全清楚这是否确实如何起作用。

与图标字体比对

基于矢量:领带

CSS风格: SVG精灵略有优势(定位部分,SVG特定造型,如笔画)

奇怪的失败: SVG似乎正常工作(支持时)。图标字体似乎以奇怪的方式失败。例如,您将字符映射到普通字母,然后字体加载失败,您会得到随机字符。或者你映射到“私人使用区”,一些浏览器决定将它们重新映射到真正奇怪的角色,如玫瑰,但它很难复制。或者你想在CDN上托管@font-face文件,但这是跨域的,Firefox讨厌这个,所以你需要你的服务器提供正确的跨源头文件,但你的Nginx设置不是正确的,唉。SVG赢得了这一局。

语义:并不是什么大不了的事,但我觉得对于一个图像来说比更有意义。

可访问性:也许有人可以告诉我?我们应该/可以给出一个title属性吗?或者我们在视觉上隐藏的元素?
更新:该</code>元素<a href="https://twitter.com/dirkschulze/status/443769999153303552" rel="nofollow noreferrer">可以有</a>。或者也许是<code><desc></code>此SVG访问<a href="https://www.w3.org/TR/SVG-access/#Fig-3.5" rel="nofollow noreferrer">规范中</a>使用的元素。</p> <p><strong>易用性</strong>:像 <a href="http://fontello.com/" rel="nofollow noreferrer">Fontello</a> 和 IcoMoon 这样的工具非常适合图标字体工作流程,但我认为,与 Grunt 一起将它们拼凑在一起的文件夹 - 完整的SVG更加容易。</p> <h2>引用外部svg文件</h2> <p>svg 通过<code>use</code>可以在页面中引用多次, 但前提是svg里内嵌的,如果是外部的, 可以借助下面的脚本来实现:</p> <p><a href="https://github.com/jonathantneal/svg4everybody" rel="nofollow noreferrer">https://github.com/jonathantn...</a></p> </article> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1296455304845795328"></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">你可能感兴趣的:(svg,icon)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1943925330171457536.htm" title="el-timeline时间线(Plus)左边图标改为自定义图片" target="_blank">el-timeline时间线(Plus)左边图标改为自定义图片</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/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a> <div>(目前图片有点小,还需要自己去调整下大概样式,比较懒,就放了个大概样子)时间线左侧正常根据文档内容,是填写的icon,但通过icon属性还有另外一个类型,component,可以搭配h函数写一组img元素,实现将图标改为本地图片{{activity.content}}import{h}from'vue'constactivities=[{content:'Eventstart',timestamp</div> </li> <li><a href="/article/1943885499492003840.htm" title="ModBus总线协议" target="_blank">ModBus总线协议</a> <span class="text-muted">小仇学长</span> <a class="tag" taget="_blank" href="/search/STM32/1.htm">STM32</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a><a class="tag" taget="_blank" href="/search/Modbus%E5%8D%8F%E8%AE%AE/1.htm">Modbus协议</a> <div>一、知识点1.什么是Modbus协议?Modbus是一种工业通信协议,最早由Modicon公司在1979年提出,目的是用于PLC(可编程逻辑控制器)之间的数据通信。它是主从式通信,即一个主机(主设备)控制一个或多个从机(从设备)。它常用于RS-232、RS-485串口通信,也可以用于TCP/IP网络通信(叫做ModbusTCP)。2.核心特征特征项内容通信结构主从式(Master/Slave)通信</div> </li> <li><a href="/article/1943767857540165632.htm" title="在指定conda 环境里安装 jupyter 和 python kernel的方法" target="_blank">在指定conda 环境里安装 jupyter 和 python kernel的方法</a> <span class="text-muted"></span> <div>在Conda的指定环境中安装Jupyter和PythonKernel是一个常见操作,以下是详细步骤,确保在指定环境中正确配置Jupyter和PythonKernel:1.准备工作确保已安装Anaconda或Miniconda,Conda环境管理工具可用。确认已创建或计划使用的Conda环境。2.步骤:安装Jupyter和PythonKernel步骤1:创建或激活目标Conda环境创建新环境(如果尚</div> </li> <li><a href="/article/1943408322942136320.htm" title="全球人工智能与机器学习大会PPT" target="_blank">全球人工智能与机器学习大会PPT</a> <span class="text-muted">a flying bird</span> <a class="tag" taget="_blank" href="/search/%E8%AE%BA%E6%96%87%E8%A7%A3%E8%AF%BB%E5%92%8C%E5%A4%A7%E5%92%96%E6%8A%80%E6%9C%AF%E5%8F%B7%E8%AE%B0%E5%BD%95/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> <div>大会演讲PPT合集https://ppt.infoq.cn/list/93PPT分享|ppt|人工智能|aicon|infoq|机器学习PPT分享,前段时间的AICon北京站2021全球人工智能与机器学习大会(https://aicon.infoq.cn/2021/beijing),汇集了很多业界大佬,工业界多个方向的从业人员分享了他们在实际业……https://xw.qq.com/cmsid/2</div> </li> <li><a href="/article/1943274944641167360.htm" title="cocos2dx3.x项目升级到xcode15以上的iconv与duplicate symbols报错问题" target="_blank">cocos2dx3.x项目升级到xcode15以上的iconv与duplicate symbols报错问题</a> <span class="text-muted">itme268</span> <a class="tag" taget="_blank" href="/search/iconv%E6%8A%A5%E9%94%99/1.htm">iconv报错</a> <div>cocos2dx3.x项目升级xcode15以上后会有几处报错。1.CCFontAtlas.cpp文件下的iconv与iconv_close的报错。修改如下://iconv_close(_iconv);iconv_close((iconv_t)_iconv);iconv((iconv_t)_iconv,(char**)&pin,&inLen,&pout,&outLen);//iconv(_icon</div> </li> <li><a href="/article/1943248986366341120.htm" title="打造自己的组件库(一)宏函数解析" target="_blank">打造自己的组件库(一)宏函数解析</a> <span class="text-muted">行云&流水</span> <a class="tag" taget="_blank" href="/search/Vue3%E7%BB%84%E4%BB%B6%E5%BA%93/1.htm">Vue3组件库</a><a class="tag" taget="_blank" href="/search/vue3%E7%BB%84%E4%BB%B6%E5%BA%93/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/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>1.初始化项目npmcreatevite生成项目后,文件目录如下:├──.idea/#IntelliJIDEA配置目录├──.vscode/#VSCode配置目录├──public/#静态资源目录│└──vite.svg#Vite默认图标├──src/#源代码目录│├──assets/#项目资源文件││└──vue.svg#Vue图标│├──components/#Vue组件目录││└──Hell</div> </li> <li><a href="/article/1943233983613562880.htm" title="Conda安装与使用" target="_blank">Conda安装与使用</a> <span class="text-muted"></span> <div>目录一、软件安装及conda管理1.conda下载2.miniconda安装二、环境配置1.配置镜像:2.创建环境、移除环境:3.查看小环境4.进入、退出小环境5.查找并安装软件三、一步到位其他:参考资料:一、软件安装及conda管理conda可以来管理大量的生物信息学软件,或者想要复现一些文章中的实验结果需要不同环境的切换。1.conda下载(1)anacondaanaconda|镜像站使用帮助</div> </li> <li><a href="/article/1943079316136980480.htm" title="微信小程序 Iconfont 图标组件转换工具:mini-program-iconfont-cli 教程" target="_blank">微信小程序 Iconfont 图标组件转换工具:mini-program-iconfont-cli 教程</a> <span class="text-muted"></span> <div>微信小程序Iconfont图标组件转换工具:mini-program-iconfont-cli教程mini-program-iconfont-cli把iconfont图标批量转换成多个平台小程序的标准组件。支持多色彩,支持自定义颜色项目地址:https://gitcode.com/gh_mirrors/mi/mini-program-iconfont-cli1.项目目录结构及介绍项目根目录├──i</div> </li> <li><a href="/article/1943029769444585472.htm" title="AttributeError: module ‘distutils‘ has no attribute ‘version‘" target="_blank">AttributeError: module ‘distutils‘ has no attribute ‘version‘</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/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>错误:File"/root/miniconda3/envs/vidar/lib/python3.8/sitepackages/torch/utils/tensorboard/__init__.py",line4,inLooseVersion=distutils.version.LooseVersionAttributeError:module'distutils'hasnoattribute've</div> </li> <li><a href="/article/1942589957210173440.htm" title="CSS模块化开发" target="_blank">CSS模块化开发</a> <span class="text-muted">7Maggie_C</span> <a class="tag" taget="_blank" href="/search/Web%E5%89%8D%E7%AB%AF/1.htm">Web前端</a><a class="tag" taget="_blank" href="/search/CSS/1.htm">CSS</a> <div>CSS模块化一、文件结构常见文件结构一个项目的CSS最基本结构通常是下面这样的:-base.css-common.css-pages.css复杂一点的项目可能是这样分:-base.css-header.css-footer.css-sidebar.css-forms.css-icons.css-buttons.css-dropdown.css-modals.css-layout.css-index</div> </li> <li><a href="/article/1942561875917074432.htm" title="svg图标引发的思考:想晋升高级?这些得了解。" target="_blank">svg图标引发的思考:想晋升高级?这些得了解。</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AFsvg/1.htm">前端svg</a> <div>问题背景:我在优化整理项目代码的时候,发现项目中有通过方式引用的svg图标,也有通过iconfont引用的图标。然后当好几个项目改造为对接微前端的时候,发现有些样式冲突了(千万不要小看样式问题(看似简单的问题),往往背后藏着不少值得深挖的学问)复现步骤:先在微前端中打开A项目,图标颜色是正确的。此时打开B项目,再切换回A项目,发现A项目的图标颜色变了。正常是灰色的,有问题的是橙色:解决过程:首先要</div> </li> <li><a href="/article/1942536507533357056.htm" title="【前端 SVG 使用方式探讨:从技术选型到工程实践】" target="_blank">【前端 SVG 使用方式探讨:从技术选型到工程实践】</a> <span class="text-muted">Gazer_S</span> <a class="tag" taget="_blank" href="/search/CSS/1.htm">CSS</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E5%B7%A5%E7%A8%8B%E5%8C%96/1.htm">前端工程化</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>前端SVG使用方式探讨:从技术选型到工程实践引言在现代前端开发中,SVG作为可缩放矢量图形的代表,以其轻量、保真、可编程的特性成为了图标和复杂图形的首选方案。然而,如何在工程化项目中优雅且高效地使用SVG,却是一个值得深入探讨的技术话题。本文通过对不同SVG实现方案的深度分析,记录了一次完整的技术决策过程,从最初的简单疑问到复杂的工程权衡,最终形成系统性的最佳实践指南。第一章:技术起点-TSX中的</div> </li> <li><a href="/article/1942413100951072768.htm" title="中国三维计量软件市场趋势报告、技术动态创新及市场预测" target="_blank">中国三维计量软件市场趋势报告、技术动态创新及市场预测</a> <span class="text-muted">贝哲斯咨询</span> <a class="tag" taget="_blank" href="/search/%E5%85%B6%E4%BB%96/1.htm">其他</a> <div>三维计量软件市场的企业竞争态势该报告涉及的主要国际市场参与者有CarlZeissAG、FaroTechnologies,Inc.、H.S.&S.Inc.、HeliotisAG、ZebiconA/S、CreaformInc.、MitutoyoCorporation、HexagonAB、3dSystemCorp、NikonCorporation、GeMeasurement&ControlSolutio</div> </li> <li><a href="/article/1942341842163003392.htm" title="Javascript基础内容回顾—变量提升、事件循环和闭包等内容" target="_blank">Javascript基础内容回顾—变量提升、事件循环和闭包等内容</a> <span class="text-muted">GISer_Jinger</span> <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> <div>以下是前端面试中JavaScript基础易错问题的详解,结合常见考点和易混淆概念进行解析:⚠️一、变量作用域与提升varvslet/const◦变量提升:var声明的变量会提升到作用域顶部(值为undefined),而let/const存在暂时性死区(声明前访问报错)。◦循环陷阱:for(vari=0;iconsole.log(i));//输出3,3,3(共享同一作用域)}for(leti=0;i</div> </li> <li><a href="/article/1942276517484621824.htm" title="Apple A 系列芯片 Camera 架构解析:ISP + NPU 图像管线协同机制全景实战" target="_blank">Apple A 系列芯片 Camera 架构解析:ISP + NPU 图像管线协同机制全景实战</a> <span class="text-muted">观熵</span> <a class="tag" taget="_blank" href="/search/%E5%BD%B1%E5%83%8F%E6%8A%80%E6%9C%AF%E5%85%A8%E6%99%AF%E5%9B%BE%E8%B0%B1%EF%BC%9A%E6%9E%B6%E6%9E%84/1.htm">影像技术全景图谱:架构</a><a class="tag" taget="_blank" href="/search/%E8%B0%83%E4%BC%98%E4%B8%8E%E5%AE%9E%E6%88%98/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/%E6%8E%A5%E5%8F%A3%E9%9A%94%E7%A6%BB%E5%8E%9F%E5%88%99/1.htm">接口隔离原则</a><a class="tag" taget="_blank" href="/search/%E5%BD%B1%E5%83%8F/1.htm">影像</a><a class="tag" taget="_blank" href="/search/Camera/1.htm">Camera</a> <div>AppleA系列芯片Camera架构解析:ISP+NPU图像管线协同机制全景实战关键词:AppleA系列、图像信号处理器(ISP)、神经网络引擎(NPU)、SmartHDR、DeepFusion、图像协同计算、图像路径优化、拍照性能、图像延迟控制、AppleSilicon摘要:苹果在A系列芯片中持续深化ISP与NPU的协同架构,实现图像质量、算法速度与功耗的高度平衡。从A11到A17Pro,App</div> </li> <li><a href="/article/1942233775605870592.htm" title="解决使用uniapp开发微信小程序时主包太大和vendor.js过大无法打包的问题" target="_blank">解决使用uniapp开发微信小程序时主包太大和vendor.js过大无法打包的问题</a> <span class="text-muted">sunsineq</span> <a class="tag" taget="_blank" href="/search/uniap/1.htm">uniap</a><a class="tag" taget="_blank" href="/search/%E5%B0%8F%E7%A8%8B%E5%BA%8F/1.htm">小程序</a><a class="tag" taget="_blank" href="/search/uni-app/1.htm">uni-app</a><a class="tag" taget="_blank" href="/search/%E5%BE%AE%E4%BF%A1%E5%B0%8F%E7%A8%8B%E5%BA%8F/1.htm">微信小程序</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a> <div>在uniapp开发小程序这一块,相信很多开发者都遇到过代码体积太大无法打包的问题,这时候就要优化小程序包大小。下面分享一下我的解决思路。希望能给大家一些帮助吧。方法一:线上图片小程序体积大是因为static目录的图片资源过大的话,我们可以将static的图片上传图片服务器上去,小程序使用链接的形式来下载使用图片。静态图片使用线上地址,不要放到项目中,除了navBar的icon,因为那个只能使用本地</div> </li> <li><a href="/article/1942090190210265088.htm" title="Subversion简单常用问题解决方案列表" target="_blank">Subversion简单常用问题解决方案列表</a> <span class="text-muted">lddongyu</span> <a class="tag" taget="_blank" href="/search/maven%2Fant%2Fsvn/1.htm">maven/ant/svn</a><a class="tag" taget="_blank" href="/search/subversion/1.htm">subversion</a><a class="tag" taget="_blank" href="/search/tortoisesvn/1.htm">tortoisesvn</a><a class="tag" taget="_blank" href="/search/svn/1.htm">svn</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a><a class="tag" taget="_blank" href="/search/apache/1.htm">apache</a><a class="tag" taget="_blank" href="/search/eclipse/1.htm">eclipse</a> <div>----------------------------------------eclipse使用subclipse导致jvm崩溃将环境变量APR_ICONV_PATH改为APR_ICONV1_PATH或者下载Subversion1.4.3的zip包,将环境变量APR_ICONV_PATH指向解压后的iconv文件夹。http://doc.iusesvn.com/show-35-1.html---</div> </li> <li><a href="/article/1942013895153610752.htm" title="SVG格式深度解析与Path应用实战:从原理到企业级全场景开发(实战版)" target="_blank">SVG格式深度解析与Path应用实战:从原理到企业级全场景开发(实战版)</a> <span class="text-muted"></span> <div>一、简介在数字图形领域,SVG(ScalableVectorGraphics)凭借其矢量特性、可编辑性和交互能力,成为现代设计和开发的核心工具。本文将从SVG的基础原理出发,深入解析其技术特性,并与主流图像格式(如JPEG、PNG、PLT等)进行对比分析。通过企业级应用案例,结合代码示例和Mermaid图表,帮助开发者全面掌握SVG的应用场景与开发技巧,实现从零到一的高效实践。二、SVG格式的核心</div> </li> <li><a href="/article/1941881681304678400.htm" title="DeepSeek-R1满血版:硅基流动API或本地部署" target="_blank">DeepSeek-R1满血版:硅基流动API或本地部署</a> <span class="text-muted">Mikhail_G</span> <a class="tag" taget="_blank" href="/search/AIGC/1.htm">AIGC</a><a class="tag" taget="_blank" href="/search/%E8%AF%AD%E8%A8%80%E6%A8%A1%E5%9E%8B/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/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>大家好!想在手机上部署DeepSeek-R1满血版(671B)?我来手把手教你最靠谱的两种方式!满血版模型参数高达671亿,手机本地运行几乎不可能,但通过「云服务+手机App」的组合,你一样能在手机上丝滑使用真正的满血版DeepSeek-R1!一、推荐方案:通过SiliconFlow+Chatbox使用满血版(iOS/安卓均支持)这是目前最稳定、免费额度高、操作简单的方式,适合所有用户。原理:用S</div> </li> <li><a href="/article/1941837529149927424.htm" title="MFC扩展库BCGControlBar Pro v36.2亮点:Ribbon Bar、表单等组件升级" target="_blank">MFC扩展库BCGControlBar Pro v36.2亮点:Ribbon Bar、表单等组件升级</a> <span class="text-muted">界面开发小八哥</span> <a class="tag" taget="_blank" href="/search/mfc/1.htm">mfc</a><a class="tag" taget="_blank" href="/search/ribbon/1.htm">ribbon</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/%E7%95%8C%E9%9D%A2%E6%8E%A7%E4%BB%B6/1.htm">界面控件</a><a class="tag" taget="_blank" href="/search/UI%E5%BC%80%E5%8F%91/1.htm">UI开发</a><a class="tag" taget="_blank" href="/search/BCG/1.htm">BCG</a> <div>BCGControlBar库拥有500多个经过全面设计、测试和充分记录的MFC扩展类。我们的组件可以轻松地集成到您的应用程序中,并为您节省数百个开发和调试时间。BCGControlBar专业版v36.2已全新发布了,在这个版本中添加了一个新的扩展器控件、改进了网格和报表控件的性能、实现了SVG阴影过滤器优化等,最新版点击下方获取:BCGControlBarProforMFCv36.2正式版下载Ri</div> </li> <li><a href="/article/1941669651075362816.htm" title="Jenkins集成GitHub实现自动化打标签实战指南" target="_blank">Jenkins集成GitHub实现自动化打标签实战指南</a> <span class="text-muted">ivwdcwso</span> <a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4%E4%B8%8E%E4%BA%91%E5%8E%9F%E7%94%9F/1.htm">运维与云原生</a><a class="tag" taget="_blank" href="/search/jenkins/1.htm">jenkins</a><a class="tag" taget="_blank" href="/search/github/1.htm">github</a><a class="tag" taget="_blank" href="/search/%E8%87%AA%E5%8A%A8%E5%8C%96/1.htm">自动化</a><a class="tag" taget="_blank" href="/search/CI%2FCD/1.htm">CI/CD</a><a class="tag" taget="_blank" href="/search/devops/1.htm">devops</a> <div>本文将详细介绍如何使用Jenkins与GitHubAPI集成,实现自动化打标签的完整流程。以下是完整的Python脚本和详细解析。完整Python脚本#!/root/miniconda3/bin/pythonimportjsonimportboto3importosimportpytzimportargparsefromdatetimeimportdatetimefromgithubimportG</div> </li> <li><a href="/article/1941506534504722432.htm" title="ArcGIS规划符号库详解与应用指南" target="_blank">ArcGIS规划符号库详解与应用指南</a> <span class="text-muted">Neo-ke</span> <div>本文还有配套的精品资源,点击获取简介:ArcGIS是一个广泛应用于地理信息系统领域的软件,规划符号库是其关键组成部分,提供标准化图形元素来绘制地图上的规划信息。符号库以SVG格式存储,支持自定义调整,便于在地图制作和空间分析中使用。本篇详解规划符号库的结构、特点以及如何导入到ArcGIS样式库中,展示如何在实际应用中提高地图表达的专业性和可视化效果。1.ArcGIS软件介绍ArcGIS,全称Arc</div> </li> <li><a href="/article/1941474255883530240.htm" title="【亲测可行】linux安装miniforge & miniconda无痛迁移到miniforge" target="_blank">【亲测可行】linux安装miniforge & miniconda无痛迁移到miniforge</a> <span class="text-muted">computer_vision_chen</span> <a class="tag" taget="_blank" href="/search/%E5%B5%8C%E5%85%A5%E5%BC%8F%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">嵌入式人工智能</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/miniconda/1.htm">miniconda</a><a class="tag" taget="_blank" href="/search/anaconda/1.htm">anaconda</a><a class="tag" taget="_blank" href="/search/miniforge/1.htm">miniforge</a> <div>文章目录为什么要使用miniforge?完全卸载miniconda备份miniconda3修改本用户的环境变量修改本用户的环境变量删除~/.condarc和mv~/.condalinux下载安装miniforge配置全局变量/etc/profile配置用户变量~/.bashrc将miniconda3的虚拟环境迁移到miniforge3迁移到miniforge后pip无法使用参考内容miniforg</div> </li> <li><a href="/article/1941413114343911424.htm" title="SVG 安装使用教程" target="_blank">SVG 安装使用教程</a> <span class="text-muted">小奇JAVA面试</span> <a class="tag" taget="_blank" href="/search/%E5%AE%89%E8%A3%85%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/1.htm">安装使用教程</a><a class="tag" taget="_blank" href="/search/SVG/1.htm">SVG</a> <div>一、SVG简介SVG(ScalableVectorGraphics,可缩放矢量图形)是一种基于XML的图像格式,用于描述二维图形。与传统的PNG、JPG等位图格式不同,SVG不会因放大而失真,适合展示图标、图表、动画和交互图形。二、SVG的应用场景网站图标和UI元素数据可视化(与ECharts、D3.js等结合)响应式Web设计中的矢量图动画和交互图形三、SVG安装环境(无需专门安装)3.1浏览器</div> </li> <li><a href="/article/1941284007194980352.htm" title="android Launcher3横屏模式去除HOTSEAT" target="_blank">android Launcher3横屏模式去除HOTSEAT</a> <span class="text-muted">通信侠</span> <a class="tag" taget="_blank" href="/search/android/1.htm">android</a> <div>对于Launcher3进行去抽屉式定制功能后(请参考:去抽屉式定制),现有项目整体横屏,导致部分定制失效。本文通过对Launcher3UI部分代码的trace研究,在横屏状态下,完成基本的适配工作。1.去除HOTESAT在privatevoidupdateHotseatIconSize(inthotseatIconSizePx)方法中,将hotseat整体的高度设置为0,即可不显示,无论横屏还是竖</div> </li> <li><a href="/article/1941274294877220864.htm" title="微信小程序——自定义顶部菜单navigationBar方式(可详细了!)" target="_blank">微信小程序——自定义顶部菜单navigationBar方式(可详细了!)</a> <span class="text-muted">朕.</span> <a class="tag" taget="_blank" href="/search/%E5%BE%AE%E4%BF%A1%E5%B0%8F%E7%A8%8B%E5%BA%8F/1.htm">微信小程序</a><a class="tag" taget="_blank" href="/search/%E5%B0%8F%E7%A8%8B%E5%BA%8F/1.htm">小程序</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>前言:开发中,设计师也是奇思妙想,把小程序顶部的默认菜单改成了自己觉得好看的样式,改了返回icon的样式,加了各种返回首页、收藏、什么鬼的按钮,甚至把胶囊按钮都给改了~~~,好吧,遵从设计师的审美,盘他(除了胶囊按钮)(本文字数较多,因为我把每一步都分的很细,都写出来了,望客官细品,仔细品)要点概述:(助于童鞋们更好的理解)小程序默认的navigationBar是占据手机顶部区域的,小程序的页面内</div> </li> <li><a href="/article/1941257409670475776.htm" title="React Native告别图标体积大手动更换慢的噩梦:让图标更新像修改文字一样简单" target="_blank">React Native告别图标体积大手动更换慢的噩梦:让图标更新像修改文字一样简单</a> <span class="text-muted">老猿阿浪</span> <a class="tag" taget="_blank" href="/search/React-Native/1.htm">React-Native</a><a class="tag" taget="_blank" href="/search/react/1.htm">react</a><a class="tag" taget="_blank" href="/search/native/1.htm">native</a><a class="tag" taget="_blank" href="/search/react.js/1.htm">react.js</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a> <div>写在前面:凌晨三点的图标战争“所有图标都要换成圆角风格,明天上线!”——产品经理这条消息弹出时,我的保温杯差点从手中滑落。扫了一眼项目中的347个图标文件,我知道今晚又是个不眠夜。但就在绝望之际,同事发来一个GIF:他只是在终端输入了iconfont-rn--update,所有图标就像被施了魔法一样自动更新完成,整个过程不到30秒。这到底是黑魔法还是某种高级AI?不,这只是一个被低估的神器——re</div> </li> <li><a href="/article/1941188850504232960.htm" title="SVG VSCode:深度解析与最佳实践" target="_blank">SVG VSCode:深度解析与最佳实践</a> <span class="text-muted">froginwe11</span> <a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>SVGVSCode:深度解析与最佳实践引言SVG(可缩放矢量图形)作为一种矢量图形格式,因其高度的可缩放性和矢量特性,在网页设计中得到了广泛应用。而VSCode(VisualStudioCode)作为一款流行的代码编辑器,同样在开发者中备受欢迎。本文将深入探讨SVG在VSCode中的使用,包括其优势、配置方法以及最佳实践。SVG简介什么是SVG?SVG(ScalableVectorGraphics</div> </li> <li><a href="/article/1941173977816821760.htm" title="Android 多渠道配置" target="_blank">Android 多渠道配置</a> <span class="text-muted"></span> <div>Android多包名,icon本篇文章主要记录下android下的同一工程,打包时配置不同的包名,icon,名称等信息.1:多包名首先讲述下如何配置多包名.在build.gralde的android标签下添加:productFlavors{xiaomi{applicationId“com.test.usagetest”}huawei{applicationId“com.test.usagetest</div> </li> <li><a href="/article/1941123294338019328.htm" title="React-cli" target="_blank">React-cli</a> <span class="text-muted">非常難胖</span> <a class="tag" taget="_blank" href="/search/react/1.htm">react</a><a class="tag" taget="_blank" href="/search/react-cli/1.htm">react-cli</a> <div>安装cnpmicreate-react-app@3.2.0-g全局安装create-react-app-V查看版本create-react-appxxxx_xxx创建项目npmrunstart启动项目目录node_modules//第三方依赖的包public//资源目录favicon.ico//左上角的图标index.html//项目首页模板manifast.json//定义app的图标网址主题颜</div> </li> <li><a href="/article/46.htm" title="Maven" target="_blank">Maven</a> <span class="text-muted">Array_06</span> <a class="tag" taget="_blank" href="/search/eclipse/1.htm">eclipse</a><a class="tag" taget="_blank" href="/search/jdk/1.htm">jdk</a><a class="tag" taget="_blank" href="/search/maven/1.htm">maven</a> <div>Maven Maven是基于项目对象模型(POM), 信息来管理项目的构建,报告和文档的软件项目管理工具。 Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司</div> </li> <li><a href="/article/173.htm" title="ibatis的queyrForList和queryForMap区别" target="_blank">ibatis的queyrForList和queryForMap区别</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/ibatis/1.htm">ibatis</a> <div>一.说明         iBatis的返回值参数类型也有种:resultMap与resultClass,这两种类型的选择可以用两句话说明之:         1.当结果集列名和类的属性名完全相对应的时候,则可直接用resultClass直接指定查询结果类</div> </li> <li><a href="/article/300.htm" title="LeetCode[位运算] - #191 计算汉明权重" target="_blank">LeetCode[位运算] - #191 计算汉明权重</a> <span class="text-muted">Cwind</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E4%BD%8D%E8%BF%90%E7%AE%97/1.htm">位运算</a><a class="tag" taget="_blank" href="/search/LeetCode/1.htm">LeetCode</a><a class="tag" taget="_blank" href="/search/Algorithm/1.htm">Algorithm</a><a class="tag" taget="_blank" href="/search/%E9%A2%98%E8%A7%A3/1.htm">题解</a> <div>原题链接:#191 Number of 1 Bits 要求: 写一个函数,以一个无符号整数为参数,返回其汉明权重。例如,‘11’的二进制表示为'00000000000000000000000000001011', 故函数应当返回3。 汉明权重:指一个字符串中非零字符的个数;对于二进制串,即其中‘1’的个数。 难度:简单 分析: 将十进制参数转换为二进制,然后计算其中1的个数即可。 “</div> </li> <li><a href="/article/427.htm" title="浅谈java类与对象" target="_blank">浅谈java类与对象</a> <span class="text-muted">15700786134</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>      java是一门面向对象的编程语言,类与对象是其最基本的概念。所谓对象,就是一个个具体的物体,一个人,一台电脑,都是对象。而类,就是对象的一种抽象,是多个对象具有的共性的一种集合,其中包含了属性与方法,就是属于该类的对象所具有的共性。当一个类创建了对象,这个对象就拥有了该类全部的属性,方法。相比于结构化的编程思路,面向对象更适用于人的思维</div> </li> <li><a href="/article/554.htm" title="linux下双网卡同一个IP" target="_blank">linux下双网卡同一个IP</a> <span class="text-muted">被触发</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a> <div>转自: http://q2482696735.blog.163.com/blog/static/250606077201569029441/ 由于需要一台机器有两个网卡,开始时设置在同一个网段的IP,发现数据总是从一个网卡发出,而另一个网卡上没有数据流动。网上找了下,发现相同的问题不少: 一、 关于双网卡设置同一网段IP然后连接交换机的时候出现的奇怪现象。当时没有怎么思考、以为是生成树</div> </li> <li><a href="/article/681.htm" title="安卓按主页键隐藏程序之后无法再次打开" target="_blank">安卓按主页键隐藏程序之后无法再次打开</a> <span class="text-muted">肆无忌惮_</span> <a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%8D%93/1.htm">安卓</a> <div>遇到一个奇怪的问题,当SplashActivity跳转到MainActivity之后,按主页键,再去打开程序,程序没法再打开(闪一下),结束任务再开也是这样,只能卸载了再重装。而且每次在Log里都打印了这句话"进入主程序"。后来发现是必须跳转之后再finish掉SplashActivity   本来代码:   // 销毁这个Activity fin</div> </li> <li><a href="/article/808.htm" title="通过cookie保存并读取用户登录信息实例" target="_blank">通过cookie保存并读取用户登录信息实例</a> <span class="text-muted">知了ing</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/html/1.htm">html</a> <div>通过cookie的getCookies()方法可获取所有cookie对象的集合;通过getName()方法可以获取指定的名称的cookie;通过getValue()方法获取到cookie对象的值。另外,将一个cookie对象发送到客户端,使用response对象的addCookie()方法。 下面通过cookie保存并读取用户登录信息的例子加深一下理解。 (1)创建index.jsp文件。在改</div> </li> <li><a href="/article/935.htm" title="JAVA 对象池" target="_blank">JAVA 对象池</a> <span class="text-muted">矮蛋蛋</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/ObjectPool/1.htm">ObjectPool</a> <div>原文地址: http://www.blogjava.net/baoyaer/articles/218460.html Jakarta对象池       ☆为什么使用对象池   恰当地使用对象池化技术,可以有效地减少对象生成和初始化时的消耗,提高系统的运行效率。Jakarta Commons Pool组件提供了一整套用于实现对象池化</div> </li> <li><a href="/article/1062.htm" title="ArrayList根据条件+for循环批量删除的方法" target="_blank">ArrayList根据条件+for循环批量删除的方法</a> <span class="text-muted">alleni123</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>场景如下: ArrayList<Obj> list Obj-> createTime, sid. 现在要根据obj的createTime来进行定期清理。(释放内存) ------------------------- 首先想到的方法就是 for(Obj o:list){ if(o.createTime-currentT>xxx){ </div> </li> <li><a href="/article/1189.htm" title="阿里巴巴“耕地宝”大战各种宝" target="_blank">阿里巴巴“耕地宝”大战各种宝</a> <span class="text-muted">百合不是茶</span> <a class="tag" taget="_blank" href="/search/%E5%B9%B3%E5%8F%B0%E6%88%98%E7%95%A5/1.htm">平台战略</a> <div>“耕地保”平台是阿里巴巴和安徽农民共同推出的一个 “首个互联网定制私人农场”,“耕地宝”由阿里巴巴投入一亿 ,主要是用来进行农业方面,将农民手中的散地集中起来 不仅加大农民集体在土地上面的话语权,还增加了土地的流通与 利用率,提高了土地的产量,有利于大规模的产业化的高科技农业的 发展,阿里在农业上的探索将会引起新一轮的产业调整,但是集体化之后农民的个体的话语权 将更少,国家应出台相应的法律法规保护</div> </li> <li><a href="/article/1316.htm" title="Spring注入有继承关系的类(1)" target="_blank">Spring注入有继承关系的类(1)</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/spring/1.htm">spring</a> <div>一个类一个类的注入 1.AClass类 package com.bijian.spring.test2; public class AClass { String a; String b; public String getA() { return a; } public void setA(Strin</div> </li> <li><a href="/article/1443.htm" title="30岁转型期你能否成为成功人士" target="_blank">30岁转型期你能否成为成功人士</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/%E6%88%90%E5%8A%9F/1.htm">成功</a> <div>        很多人由于年轻时走了弯路,到了30岁一事无成,这样的例子大有人在。但同样也有一些人,整个职业生涯都发展得很优秀,到了30岁已经成为职场的精英阶层。由于做猎头的原因,我们接触很多30岁左右的经理人,发现他们在职业发展道路上往往有很多致命的问题。在30岁之前,他们的职业生涯表现很优秀,但从30岁到40岁这一段,很多人</div> </li> <li><a href="/article/1570.htm" title="[Velocity三]基于Servlet+Velocity的web应用" target="_blank">[Velocity三]基于Servlet+Velocity的web应用</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/velocity/1.htm">velocity</a> <div>什么是VelocityViewServlet 使用org.apache.velocity.tools.view.VelocityViewServlet可以将Velocity集成到基于Servlet的web应用中,以Servlet+Velocity的方式实现web应用   Servlet + Velocity的一般步骤 1.自定义Servlet,实现VelocityViewServl</div> </li> <li><a href="/article/1697.htm" title="【Kafka十二】关于Kafka是一个Commit Log Service" target="_blank">【Kafka十二】关于Kafka是一个Commit Log Service</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/service/1.htm">service</a> <div>Kafka is a distributed, partitioned, replicated commit log service.这里的commit log如何理解?   A message is considered "committed" when all in sync replicas for that partition have applied i</div> </li> <li><a href="/article/1824.htm" title="NGINX + LUA实现复杂的控制" target="_blank">NGINX + LUA实现复杂的控制</a> <span class="text-muted">ronin47</span> <a class="tag" taget="_blank" href="/search/lua+nginx+%E6%8E%A7%E5%88%B6/1.htm">lua nginx 控制</a> <div>安装lua_nginx_module 模块 lua_nginx_module 可以一步步的安装,也可以直接用淘宝的OpenResty Centos和debian的安装就简单了。。 这里说下freebsd的安装: fetch http://www.lua.org/ftp/lua-5.1.4.tar.gz tar zxvf lua-5.1.4.tar.gz cd lua-5.1.4 ma</div> </li> <li><a href="/article/1951.htm" title="java-14.输入一个已经按升序排序过的数组和一个数字, 在数组中查找两个数,使得它们的和正好是输入的那个数字" target="_blank">java-14.输入一个已经按升序排序过的数组和一个数字, 在数组中查找两个数,使得它们的和正好是输入的那个数字</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div> public class TwoElementEqualSum { /** * 第 14 题: 题目:输入一个已经按升序排序过的数组和一个数字, 在数组中查找两个数,使得它们的和正好是输入的那个数字。 要求时间复杂度是 O(n) 。如果有多对数字的和等于输入的数字,输出任意一对即可。 例如输入数组 1 、 2 、 4 、 7 、 11 、 15 和数字 15 。由于 </div> </li> <li><a href="/article/2078.htm" title="Netty源码学习-HttpChunkAggregator-HttpRequestEncoder-HttpResponseDecoder" target="_blank">Netty源码学习-HttpChunkAggregator-HttpRequestEncoder-HttpResponseDecoder</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/netty/1.htm">netty</a> <div>今天看Netty如何实现一个Http Server org.jboss.netty.example.http.file.HttpStaticFileServerPipelineFactory: pipeline.addLast("decoder", new HttpRequestDecoder()); pipeline.addLast(&quo</div> </li> <li><a href="/article/2205.htm" title="java敏感词过虑-基于多叉树原理" target="_blank">java敏感词过虑-基于多叉树原理</a> <span class="text-muted">cngolon</span> <a class="tag" taget="_blank" href="/search/%E8%BF%9D%E7%A6%81%E8%AF%8D%E8%BF%87%E8%99%91/1.htm">违禁词过虑</a><a class="tag" taget="_blank" href="/search/%E6%9B%BF%E6%8D%A2%E8%BF%9D%E7%A6%81%E8%AF%8D/1.htm">替换违禁词</a><a class="tag" taget="_blank" href="/search/%E6%95%8F%E6%84%9F%E8%AF%8D%E8%BF%87%E8%99%91/1.htm">敏感词过虑</a><a class="tag" taget="_blank" href="/search/%E5%A4%9A%E5%8F%89%E6%A0%91/1.htm">多叉树</a> <div>基于多叉树的敏感词、关键词过滤的工具包,用于java中的敏感词过滤 1、工具包自带敏感词词库,第一次调用时读入词库,故第一次调用时间可能较长,在类加载后普通pc机上html过滤5000字在80毫秒左右,纯文本35毫秒左右。   2、如需自定义词库,将jar包考入WEB-INF工程的lib目录,在WEB-INF/classes目录下建一个 utf-8的words.dict文本文件,</div> </li> <li><a href="/article/2332.htm" title="多线程知识" target="_blank">多线程知识</a> <span class="text-muted">cuishikuan</span> <a class="tag" taget="_blank" href="/search/%E5%A4%9A%E7%BA%BF%E7%A8%8B/1.htm">多线程</a> <div> T1,T2,T3三个线程工作顺序,按照T1,T2,T3依次进行 public class T1 implements Runnable{           @Override      </div> </li> <li><a href="/article/2459.htm" title="spring整合activemq" target="_blank">spring整合activemq</a> <span class="text-muted">dalan_123</span> <a class="tag" taget="_blank" href="/search/java+spring+jms/1.htm">java spring jms</a> <div>整合spring和activemq需要搞清楚如下的东东1、ConnectionFactory分:     a、spring管理连接到activemq服务器的管理ConnectionFactory也即是所谓产生到jms服务器的链接      b、真正产生到JMS服务器链接的ConnectionFactory还得</div> </li> <li><a href="/article/2586.htm" title="MySQL时间字段究竟使用INT还是DateTime?" target="_blank">MySQL时间字段究竟使用INT还是DateTime?</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a> <div>  环境:Windows XPPHP Version 5.2.9MySQL Server 5.1 第一步、创建一个表date_test(非定长、int时间) CREATE TABLE `test`.`date_test` (`id` INT NOT NULL AUTO_INCREMENT ,`start_time` INT NOT NULL ,`some_content`</div> </li> <li><a href="/article/2713.htm" title="Parcel: unable to marshal value" target="_blank">Parcel: unable to marshal value</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/marshal/1.htm">marshal</a> <div>在两个activity直接传递List<xxInfo>时,出现Parcel: unable to marshal value异常。   在MainActivity页面(MainActivity页面向NextActivity页面传递一个List<xxInfo>):   Intent intent = new Intent(this, Next</div> </li> <li><a href="/article/2840.htm" title="linux进程的查看上(ps)" target="_blank">linux进程的查看上(ps)</a> <span class="text-muted">eksliang</span> <a class="tag" taget="_blank" href="/search/linux+ps/1.htm">linux ps</a><a class="tag" taget="_blank" href="/search/linux+ps+-l/1.htm">linux ps -l</a><a class="tag" taget="_blank" href="/search/linux+ps+aux/1.htm">linux ps aux</a> <div>ps:将某个时间点的进程运行情况选取下来 转载请出自出处:http://eksliang.iteye.com/admin/blogs/2119469 http://eksliang.iteye.com         ps 这个命令的man page 不是很好查阅,因为很多不同的Unix都使用这儿ps来查阅进程的状态,为了要符合不同版本的需求,所以这个</div> </li> <li><a href="/article/2967.htm" title="为什么第三方应用能早于System的app启动" target="_blank">为什么第三方应用能早于System的app启动</a> <span class="text-muted">gqdy365</span> <a class="tag" taget="_blank" href="/search/System/1.htm">System</a> <div>Android应用的启动顺序网上有一大堆资料可以查阅了,这里就不细述了,这里不阐述ROM启动还有bootloader,软件启动的大致流程应该是启动kernel -> 运行servicemanager 把一些native的服务用命令启动起来(包括wifi, power, rild, surfaceflinger, mediaserver等等)-> 启动Dalivk中的第一个进程Zygot</div> </li> <li><a href="/article/3094.htm" title="App Framework发送JSONP请求(3)" target="_blank">App Framework发送JSONP请求(3)</a> <span class="text-muted">hw1287789687</span> <a class="tag" taget="_blank" href="/search/jsonp/1.htm">jsonp</a><a class="tag" taget="_blank" href="/search/%E8%B7%A8%E5%9F%9F%E8%AF%B7%E6%B1%82/1.htm">跨域请求</a><a class="tag" taget="_blank" href="/search/%E5%8F%91%E9%80%81jsonp/1.htm">发送jsonp</a><a class="tag" taget="_blank" href="/search/ajax%E8%AF%B7%E6%B1%82/1.htm">ajax请求</a><a class="tag" taget="_blank" href="/search/%E8%B6%8A%E7%8B%B1%E8%AF%B7%E6%B1%82/1.htm">越狱请求</a> <div>App Framework 中如何发送JSONP请求呢? 使用jsonp,详情请参考:http://json-p.org/ 如何发送Ajax请求呢? (1)登录 /*** * 会员登录 * @param username * @param password */ var user_login=function(username,password){ // aler</div> </li> <li><a href="/article/3221.htm" title="发福利,整理了一份关于“资源汇总”的汇总" target="_blank">发福利,整理了一份关于“资源汇总”的汇总</a> <span class="text-muted">justjavac</span> <a class="tag" taget="_blank" href="/search/%E8%B5%84%E6%BA%90/1.htm">资源</a> <div>觉得有用的话,可以去github关注:https://github.com/justjavac/awesome-awesomeness-zh_CN 通用 free-programming-books-zh_CN 免费的计算机编程类中文书籍 精彩博客集合 hacke2/hacke2.github.io#2 ResumeSample 程序员简历</div> </li> <li><a href="/article/3348.htm" title="用 Java 技术创建 RESTful Web 服务" target="_blank">用 Java 技术创建 RESTful Web 服务</a> <span class="text-muted">macroli</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B/1.htm">编程</a><a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/REST/1.htm">REST</a> <div>转载:http://www.ibm.com/developerworks/cn/web/wa-jaxrs/   JAX-RS (JSR-311) 【 Java API for RESTful Web Services 】是一种 Java™ API,可使 Java Restful 服务的开发变得迅速而轻松。这个 API 提供了一种基于注释的模型来描述分布式资源。注释被用来提供资源的位</div> </li> <li><a href="/article/3475.htm" title="CentOS6.5-x86_64位下oracle11g的安装详细步骤及注意事项" target="_blank">CentOS6.5-x86_64位下oracle11g的安装详细步骤及注意事项</a> <span class="text-muted">超声波</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a> <div>前言: 这两天项目要上线了,由我负责往服务器部署整个项目,因此首先要往服务器安装oracle,服务器本身是CentOS6.5的64位系统,安装的数据库版本是11g,在整个的安装过程中碰到很多的坑,不过最后还是通过各种途径解决并成功装上了。转别写篇博客来记录完整的安装过程以及在整个过程中的注意事项。希望对以后那些刚刚接触的菜鸟们能起到一定的帮助作用。   安装过程中可能遇到的问题(注</div> </li> <li><a href="/article/3602.htm" title="HttpClient 4.3 设置keeplive 和 timeout 的方法" target="_blank">HttpClient 4.3 设置keeplive 和 timeout 的方法</a> <span class="text-muted">supben</span> <a class="tag" taget="_blank" href="/search/httpclient/1.htm">httpclient</a> <div>ConnectionKeepAliveStrategy kaStrategy = new DefaultConnectionKeepAliveStrategy() { @Override public long getKeepAliveDuration(HttpResponse response, HttpContext context) { long keepAlive</div> </li> <li><a href="/article/3729.htm" title="Spring 4.2新特性-@Import注解的升级" target="_blank">Spring 4.2新特性-@Import注解的升级</a> <span class="text-muted">wiselyman</span> <a class="tag" taget="_blank" href="/search/spring+4/1.htm">spring 4</a> <div>3.1 @Import @Import注解在4.2之前只支持导入配置类 在4.2,@Import注解支持导入普通的java类,并将其声明成一个bean 3.2 示例 演示java类 package com.wisely.spring4_2.imp; public class DemoService { public void doSomethin</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>