Three.js给模型添加点击事件例子

 

  点击事件</p> <p>  <script src="../build/three.min.js"></p> <p>  <script src="./js/controls/TrackballControls.js"></p> <p>  <script src="./js/libs/dat.gui.min.js"></p> <p>  <script src="./js/libs/stats.min.js"></p> <p><div id="WebGL-output"></p> <p><div id="Stats-output"></p> <p><div id="label"></p> <p><script type="module"></p> <p>  import {GUI }from './jsm/libs/dat.gui.module.js';</p> <p>  var stats =initStats();</p> <p>  var scene, camera, renderer, controls, light, selectObject;</p> <p>  // 场景</p> <p>  function initScene() {</p> <p>scene =new THREE.Scene();</p> <p>  }</p> <p>// 相机</p> <p>  function initCamera() {</p> <p>camera =new THREE.PerspectiveCamera(45, window.innerWidth / window.innerHeight, 0.1, 10000);</p> <p>      camera.position.set(0, 400, 600);</p> <p>      camera.lookAt(new THREE.Vector3(0, 0, 0));</p> <p>  }</p> <p>// 渲染器</p> <p>  function initRenderer() {</p> <p>renderer =new THREE.WebGLRenderer({antialias:true});</p> <p>      renderer.setSize(window.innerWidth, window.innerHeight);</p> <p>      renderer.setClearColor(0x050505);</p> <p>      document.body.appendChild(renderer.domElement);</p> <p>  }</p> <p>// 初始化模型</p> <p>  function initContent() {</p> <p>var helper =new THREE.GridHelper(1200, 50, 0xCD3700, 0x4A4A4A);</p> <p>      scene.add(helper);</p> <p>      var cubeGeometry =new THREE.BoxGeometry(100, 100, 100);</p> <p>      var cubeMaterial =new THREE.MeshLambertMaterial({color:0x9370DB});</p> <p>      var cube =new THREE.Mesh(cubeGeometry, cubeMaterial);</p> <p>      cube.position.y =50;</p> <p>      cube.name ="cube";</p> <p>      scene.add(cube);</p> <p>      var sphereGeometry =new THREE.SphereGeometry(50, 50, 50, 50);</p> <p>      var sphereMaterial =new THREE.MeshLambertMaterial({color:0x3CB371});</p> <p>      var sphere =new THREE.Mesh(sphereGeometry, sphereMaterial);</p> <p>      sphere.position.x =200;</p> <p>      sphere.position.y =50;</p> <p>      sphere.name ="sphere";</p> <p>      // sphere.position.z = 200;</p> <p>      scene.add(sphere);</p> <p>      var cylinderGeometry =new THREE.CylinderGeometry(50, 50, 100, 100);</p> <p>      var cylinderMaterial =new THREE.MeshLambertMaterial({color:0xCD7054});</p> <p>      var cylinder =new THREE.Mesh(cylinderGeometry, cylinderMaterial);</p> <p>      cylinder.position.x = -200;</p> <p>      cylinder.position.y =50;</p> <p>      cylinder.name ="cylinder";</p> <p>      // cylinder.position.z = -200;</p> <p>      scene.add(cylinder);</p> <p>  }</p> <p>// 鼠标双击触发的方法</p> <p>  function onMouseDblclick(event) {</p> <p>// 获取 raycaster 和所有模型相交的数组,其中的元素按照距离排序,越近的越靠前</p> <p>      var intersects =getIntersects(event);</p> <p>      // 获取选中最近的 Mesh 对象</p> <p>      if (intersects.length !=0 && intersects[0].objectinstanceof THREE.Mesh) {</p> <p>selectObject = intersects[0].object;</p> <p>        changeMaterial(selectObject);</p> <p>      }else {</p> <p>alert("未选中 Mesh!");</p> <p>      }</p> <p>}</p> <p>// 获取与射线相交的对象数组</p> <p>  function getIntersects(event) {</p> <p>event.preventDefault();</p> <p>      // 声明 raycaster 和 mouse 变量</p> <p>      var raycaster =new THREE.Raycaster();</p> <p>      var mouse =new THREE.Vector2();</p> <p>      // 通过鼠标点击位置,计算出 raycaster 所需点的位置,以屏幕为中心点,范围 -1 到 1</p> <p>      mouse.x = (event.clientX / window.innerWidth) *2 -1;</p> <p>      mouse.y = -(event.clientY / window.innerHeight) *2 +1;</p> <p>      //通过鼠标点击的位置(二维坐标)和当前相机的矩阵计算出射线位置</p> <p>      raycaster.setFromCamera(mouse, camera);</p> <p>      // 获取与射线相交的对象数组,其中的元素按照距离排序,越近的越靠前</p> <p>      var intersects = raycaster.intersectObjects(scene.children);</p> <p>      //返回选中的对象</p> <p>      return intersects;</p> <p>  }</p> <p>// 窗口变动触发的方法</p> <p>  function onWindowResize() {</p> <p>camera.aspect = window.innerWidth / window.innerHeight;</p> <p>      camera.updateProjectionMatrix();</p> <p>      renderer.setSize(window.innerWidth, window.innerHeight);</p> <p>  }</p> <p>// 键盘按下触发的方法</p> <p>  function onKeyDown(event) {</p> <p>switch (event.keyCode) {</p> <p>case 13:</p> <p>initCamera();</p> <p>            initControls();</p> <p>            break;</p> <p>      }</p> <p>}</p> <p>// 改变对象材质属性</p> <p>  function changeMaterial(object) {</p> <p>var material =new THREE.MeshLambertMaterial({</p> <p>color:0xffffff * Math.random(),</p> <p>        transparent: object.material.transparent ?false :true,</p> <p>        opacity:0.8</p> <p>      });</p> <p>      object.material = material;</p> <p>  }</p> <p>// 初始化轨迹球控件</p> <p>  function initControls() {</p> <p>controls =new THREE.TrackballControls(camera, renderer.domElement);</p> <p>      // controls.noRotate = true;</p> <p>      controls.noPan =true;</p> <p>  }</p> <p>// 初始化灯光</p> <p>  function initLight() {</p> <p>light =new THREE.SpotLight(0xffffff);</p> <p>      light.position.set(-300, 600, -400);</p> <p>      light.castShadow =true;</p> <p>      scene.add(light);</p> <p>      scene.add(new THREE.AmbientLight(0x5C5C5C));</p> <p>  }</p> <p>// 初始化 dat.GUI</p> <p>  function initGui() {</p> <p>// 保存需要修改相关数据的对象</p> <p>      const gui =new GUI();</p> <p>      // 属性添加到控件</p> <p>      var guiControls =new GUI();;</p> <p>  }</p> <p>// 初始化性能插件</p> <p>  function initStats() {</p> <p>var stats =new Stats();</p> <p>      stats.domElement.style.position ='absolute';</p> <p>      stats.domElement.style.left ='0px';</p> <p>      stats.domElement.style.top ='0px';</p> <p>      document.body.appendChild(stats.domElement);</p> <p>      return stats;</p> <p>  }</p> <p>// 更新控件</p> <p>  function update() {</p> <p>stats.update();</p> <p>      controls.update();</p> <p>      controls.handleResize();</p> <p>  }</p> <p>// 初始化</p> <p>  function init() {</p> <p>initScene();</p> <p>      initCamera();</p> <p>      initRenderer();</p> <p>      initContent();</p> <p>      initLight();</p> <p>      initControls();</p> <p>      initGui();</p> <p>      addEventListener('dblclick', onMouseDblclick, false);</p> <p>      addEventListener('resize', onWindowResize, false);</p> <p>      addEventListener('keydown', onKeyDown, false);</p> <p>  }</p> <p>function animate() {</p> <p>requestAnimationFrame(animate);</p> <p>      renderer.render(scene, camera);</p> <p>      update();</p> <p>  }</p> <p>init();</p> <p>  animate();</p> </article> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1696345772762673152"></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">你可能感兴趣的:(Three.js给模型添加点击事件例子)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1938834151142649856.htm" title="技术调研:时序数据库(一)" target="_blank">技术调研:时序数据库(一)</a> <span class="text-muted">myskybeyond</span> <a class="tag" taget="_blank" href="/search/%E6%97%B6%E5%BA%8F%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">时序数据库</a><a class="tag" taget="_blank" href="/search/%E6%97%B6%E5%BA%8F%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">时序数据库</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a> <div>选择时序数据库时,选择当下主流的解决方案。目前主流的开源解决方案有InfluxDB、TDengine和TimescaleDB。下文从多个维度对比分析,最终根据需求做出选型决策。1.核心架构与设计理念数据库架构特点核心优势InfluxDB-专为时序数据设计的分布式数据库-基于时间线(TimeSeries)模型-开源版(OSS)与商业版(Cloud/Enterprise)功能差异大高写入吞吐量、原生支</div> </li> <li><a href="/article/1938833393894617088.htm" title="DeepSeek-V3 通俗详解:从诞生到优势,以及与 GPT-4o 的对比" target="_blank">DeepSeek-V3 通俗详解:从诞生到优势,以及与 GPT-4o 的对比</a> <span class="text-muted">码事漫谈</span> <a class="tag" taget="_blank" href="/search/AI/1.htm">AI</a><a class="tag" taget="_blank" href="/search/ai/1.htm">ai</a> <div>前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站1.DeepSeek的前世今生1.1什么是DeepSeek?DeepSeek是一家专注于人工智能技术研发的公司,致力于打造高性能、低成本的AI模型。它的目标是让AI技术更加普惠,让更多人能够用上强大的AI工具。1.2DeepSeek-V3的诞生DeepSeek-V3是DeepSeek公司推出的最新一代A</div> </li> <li><a href="/article/1938832511148814336.htm" title="企业级AI开发利器:Spring AI框架深度解析与实战_spring ai实战" target="_blank">企业级AI开发利器:Spring AI框架深度解析与实战_spring ai实战</a> <span class="text-muted">AI大模型-海文</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/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/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/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/1.htm">机器学习</a> <div>企业级AI开发利器:SpringAI框架深度解析与实战一、前言:Java生态的AI新纪元在人工智能技术爆发式发展的今天,Java开发者面临着一个新的挑战:如何将大语言模型(LLMs)和生成式AI(GenAI)无缝融入企业级应用。传统的Java生态缺乏统一的AI集成方案,开发者往往需要为不同AI供应商(如OpenAI、阿里云、HuggingFace)编写大量重复的接口适配代码,这不仅增加了开发成本,</div> </li> <li><a href="/article/1938830369428140032.htm" title="009 【入门】单双链表及其反转-堆栈诠释" target="_blank">009 【入门】单双链表及其反转-堆栈诠释</a> <span class="text-muted">要天天开心啊</span> <a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95%E4%B8%93%E6%A0%8F/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/%E9%93%BE%E8%A1%A8/1.htm">链表</a> <div>链表与堆栈系统详解|[数据结构]-[中级]-[通用]一、基础概念与内存模型1.按值传递vs按引用传递|[Java]-[基础]-[内存]//[典型错误示例]-Java中的引用传递陷阱voidmodify(Nodenode){node=node.next;//[警告]错误!仅修改局部引用的指向,不影响原始链表}//[正确做法]-通过引用修改对象内部状态voidrealModify(Nodenode){</div> </li> <li><a href="/article/1938822177814016000.htm" title="ssh -T git@github.com失败后解决方案" target="_blank">ssh -T git@github.com失败后解决方案</a> <span class="text-muted">青草地溪水旁</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/ssh/1.htm">ssh</a><a class="tag" taget="_blank" href="/search/git/1.htm">git</a><a class="tag" taget="_blank" href="/search/github/1.htm">github</a> <div>这个错误表示你的SSH连接无法到达GitHub服务器。以下是详细解决方案,按照优先级排序:首选解决方案:使用SSHoverHTTPS(端口443)这是最有效的解决方案,因为许多网络会阻止22端口:#编辑SSH配置文件nano~/.ssh/config添加以下内容:Hostgithub.comHostnamessh.github.comPort443Usergit保存后测试连接:ssh-Tgit@g</div> </li> <li><a href="/article/1938820287105658880.htm" title="WEB3合约开发以太坊中货币单位科普" target="_blank">WEB3合约开发以太坊中货币单位科普</a> <span class="text-muted">穗余</span> <a class="tag" taget="_blank" href="/search/Web3/1.htm">Web3</a><a class="tag" taget="_blank" href="/search/web3/1.htm">web3</a> <div>1wei是以太坊中最小的货币单位,就像人民币里的“分”甚至“厘”。✅以太坊单位换算关系:单位数值(与1ether的换算)说明ether1ether=10¹⁸wei主单位(用于显示)gwei1gwei=10⁹wei常用于gasprice设置wei1wei最小单位(基础单位)举个例子:1ether=1,000,000,000,000,000,000wei(10的18次方)0.000000001ethe</div> </li> <li><a href="/article/1938817641108008960.htm" title="uniappx 安卓app项目本地打包运行,腾讯地图报错:‘鉴权失败,请检查你的key‘" target="_blank">uniappx 安卓app项目本地打包运行,腾讯地图报错:‘鉴权失败,请检查你的key‘</a> <span class="text-muted">夏木。。。</span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/uniappx/1.htm">uniappx</a> <div>根目录下添加AndroidManifest.xml文件,manifest.json文件中添加:"app":{"distribute":{"android":{"permissions":["",""],},"sdkConfigs":{"maps":{"qqmap":{"appkey_android":"腾讯地图key"}}}}},如此操作之后,重新自定义调试基座,运行模拟器,选择自定义基座:运行成</div> </li> <li><a href="/article/1938810705511772160.htm" title="GEO引领品牌大模型种草:迈向Web3.0与元宇宙的认知新空间" target="_blank">GEO引领品牌大模型种草:迈向Web3.0与元宇宙的认知新空间</a> <span class="text-muted">GEO科技</span> <a class="tag" taget="_blank" href="/search/%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/1.htm">经验分享</a> <div>在数字技术的演进历程中,我们正经历着从Web2.0到Web3.0、从平面互联网到沉浸式元宇宙的范式转变。这一转变不仅重塑了数字空间的形态和交互方式,更深刻改变了品牌与用户的连接模式和价值创造逻辑。而在这个新兴的数字疆域中,生成式引擎优化(GEO)正展现出前所未有的战略价值和应用潜力,成为品牌构建元宇宙和Web3.0存在的关键能力,特别是在“品牌大模型种草”场景下,品牌如何被理解、记住、推荐,正成为</div> </li> <li><a href="/article/1938809696580333568.htm" title="Node.js到底是什么" target="_blank">Node.js到底是什么</a> <span class="text-muted">浪裡遊</span> <a class="tag" taget="_blank" href="/search/%E6%9D%82%E6%96%87/1.htm">杂文</a><a class="tag" taget="_blank" href="/search/node.js/1.htm">node.js</a><a class="tag" taget="_blank" href="/search/php/1.htm">php</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%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a> <div>我想像是npm、vite这些名词大家都很熟悉,对它们的作用也有大致印象,但是可能都像我一样不明白Node.js到底是什么,这里给大家带来一个简单介绍。Node.js详解:历史发展、生态构建与底层原理一、Node.js的起源与历史发展诞生背景2009年5月:Node.js由RyanDahl开发并首次发布。其核心目标是解决JavaScript仅限于浏览器端运行的局限性,通过ChromeV8引擎(Jav</div> </li> <li><a href="/article/1938804903308750848.htm" title="高斯混合模型GMM&K均值(十三-1)——K均值是高斯混合模型的特例" target="_blank">高斯混合模型GMM&K均值(十三-1)——K均值是高斯混合模型的特例</a> <span class="text-muted">phoenix@Capricornus</span> <a class="tag" taget="_blank" href="/search/%E6%A8%A1%E5%BC%8F%E8%AF%86%E5%88%AB%E4%B8%8E%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/1.htm">模式识别与机器学习</a><a class="tag" taget="_blank" href="/search/%E5%9D%87%E5%80%BC%E7%AE%97%E6%B3%95/1.htm">均值算法</a><a class="tag" taget="_blank" href="/search/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/1.htm">机器学习</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a> <div>EM算法与K均值算法的关系K均值可以看成是高斯混合模型的特例。对K均值算法与EM算法进行比较后,可以发现它们之间有很大的相似性。K均值算法将数据点硬(hard)分配到聚类中,每个数据点唯一地与一个聚类相关联,而EM算法基于后验概率进行软(soft)分配。事实上,可以从EM算法推导出K均值算法。考虑一个高斯混合模型,其中混合分量的协方差矩阵由σ2I{\sigma^2}Iσ2I给出,其中σ2{\sig</div> </li> <li><a href="/article/1938804399329570816.htm" title="基于机器学习的智能文本分类技术研究与应用" target="_blank">基于机器学习的智能文本分类技术研究与应用</a> <span class="text-muted"></span> <div>在当今数字化时代,文本数据的爆炸式增长给信息管理和知识发现带来了巨大的挑战。从新闻文章、社交媒体帖子到企业文档和学术论文,海量的文本数据需要高效地分类和管理,以便用户能够快速找到所需信息。传统的文本分类方法主要依赖于人工规则和关键词匹配,这些方法不仅效率低下,而且难以应对复杂多变的文本内容。近年来,机器学习技术的快速发展为文本分类提供了一种高效、自动化的解决方案。一、机器学习在文本分类中的应用概述</div> </li> <li><a href="/article/1938803367711141888.htm" title="鸿蒙开发:一文了解桌面卡片" target="_blank">鸿蒙开发:一文了解桌面卡片</a> <span class="text-muted"></span> <div>前言本文基于Api13鸿蒙的桌面卡片功能,也就是服务卡片,和Android端的小部件以及iOS端的小组件功能是一样的,只是叫法不一样,都是将应用内比较核心的功能,或者用户关注度高的功能,通过触发桌面应用进行添加到服务卡片上,进而添加到桌面上,以此达到信息展示的及时性,相关功能直达应用内的便捷效果,可以说在用户体验上,是一个质的提升。触发方式也是十分的简单,无论你是Android、iOS还是Harm</div> </li> <li><a href="/article/1938802507300007936.htm" title="深入剖析Redis高性能的原因,IO多路复用模型,Redis数据迁移,分布式锁实现" target="_blank">深入剖析Redis高性能的原因,IO多路复用模型,Redis数据迁移,分布式锁实现</a> <span class="text-muted"></span> <div>一、深入剖析Redis单线程处理命令仍具备高性能的原因Redis虽然是单线程处理命令的(主线程负责网络I/O和命令处理),但它依然具备百万级QPS的吞吐能力。这个看似矛盾的现象,其实是Redis高性能架构设计和底层实现精妙配合的结果。下面我们从架构、内核原理、操作系统机制、与其他系统对比等多维度深入剖析,为何Redis单线程却读写性能极高。1.Redis是“单线程处理命令”,但不是完全单线程模块是</div> </li> <li><a href="/article/1938802380770439168.htm" title="基于灰色马尔科夫模型预测人口数量,是一种结合灰色系统理论(处理少数据、不确定性)与马尔科夫链(描述随机波动)的融合预测方法" target="_blank">基于灰色马尔科夫模型预测人口数量,是一种结合灰色系统理论(处理少数据、不确定性)与马尔科夫链(描述随机波动)的融合预测方法</a> <span class="text-muted"></span> <div>利用灰色模型捕捉人口变化的总体趋势,再通过马尔科夫链修正因随机因素导致的预测偏差,从而提高预测精度。一、模型理论基础灰色系统理论原理(核心:处理少数据、部分信息未知的系统)差异信息原理:系统内外的差异是信息源,人口数据的时间序列差异蕴含变化规律。解的非唯一性原理:信息不完全时,预测结果存在多个可能区间(与马尔科夫状态划分契合)。最小信息原理:仅需少量历史数据(通常≥4个)即可建模,适合人口统计资料</div> </li> <li><a href="/article/1938798599018180608.htm" title="深入剖析Nginx架构及其不同使用场景下的配置" target="_blank">深入剖析Nginx架构及其不同使用场景下的配置</a> <span class="text-muted">LiRuiJie</span> <a class="tag" taget="_blank" href="/search/Nginx/1.htm">Nginx</a><a class="tag" taget="_blank" href="/search/Nginx/1.htm">Nginx</a><a class="tag" taget="_blank" href="/search/%E7%B3%BB%E7%BB%9F%E6%9E%B6%E6%9E%84/1.htm">系统架构</a><a class="tag" taget="_blank" href="/search/%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86/1.htm">反向代理</a> <div>一、Nginx整体架构概览1.Nginx简介Nginx是采用C语言编写的高性能Web服务器、反向代理服务器及邮件代理服务器,特点是:高并发、高可用、低内存占用、模块化设计。架构核心理念:Master-Worker多进程模型事件驱动(Event-Driven)+异步非阻塞高度模块化设计2.进程模型Nginx的进程模型非常轻量,通常包含:1.Master进程启动时由shell进程fork出来主要负责:</div> </li> <li><a href="/article/1938798346244255744.htm" title="【机器学习与数据挖掘实战 | 医疗】案例18:基于Apriori算法的中医证型关联规则分析" target="_blank">【机器学习与数据挖掘实战 | 医疗】案例18:基于Apriori算法的中医证型关联规则分析</a> <span class="text-muted">Francek Chen</span> <a class="tag" taget="_blank" href="/search/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E4%B8%8E%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98%E5%AE%9E%E6%88%98/1.htm">机器学习与数据挖掘实战</a><a class="tag" taget="_blank" href="/search/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/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><a class="tag" taget="_blank" href="/search/Apriori/1.htm">Apriori</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%85%B3%E8%81%94%E8%A7%84%E5%88%99/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>【作者主页】FrancekChen【专栏介绍】⌈⌈⌈机器学习与数据挖掘实战⌋⌋⌋机器学习是人工智能的一个分支,专注于让计算机系统通过数据学习和改进。它利用统计和计算方法,使模型能够从数据中自动提取特征并做出预测或决策。数据挖掘则是从大型数据集中发现模式、关联和异常的过程,旨在提取有价值的信息和知识。机器学习为数据挖掘提供了强大的分析工具,而数据挖掘则是机器学习应用的重要领域,两者相辅相成,共同推动</div> </li> <li><a href="/article/1938796203978321920.htm" title="TensorFlow Serving学习笔记3: 组件调用关系" target="_blank">TensorFlow Serving学习笔记3: 组件调用关系</a> <span class="text-muted"></span> <div>一、整体架构TensorFlowServing采用模块化设计,核心组件包括:Servables:可服务对象(如模型、查找表)Managers:管理Servable生命周期(加载/卸载)Loaders:负责Servable的初始化状态管理Sources:提供新版本Servable的LoaderAspiredVersions:Servable的期望状态集合Core:连接所有组件的核心枢纽APIs:gR</div> </li> <li><a href="/article/1938792422892957696.htm" title="C# 中 EventWaitHandle 实现多进程状态同步的深度解析" target="_blank">C# 中 EventWaitHandle 实现多进程状态同步的深度解析</a> <span class="text-muted">Leon@Lee</span> <a class="tag" taget="_blank" href="/search/c%23/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>在现代软件开发中,多进程应用场景日益普遍。无论是分布式系统、微服务架构,还是传统的客户端-服务器模型,进程间的状态同步都是一个关键挑战。C#提供了多种同步原语,其中EventWaitHandle是一个强大的工具,特别适合处理跨进程的同步需求。本文将深入探讨EventWaitHandle的工作原理、使用场景及最佳实践。一、EventWaitHandle基础原理EventWaitHandle是.NET</div> </li> <li><a href="/article/1938791788860993536.htm" title="64、Delphi系统架构与线程模型详解" target="_blank">64、Delphi系统架构与线程模型详解</a> <span class="text-muted">g8f9d0s1a2</span> <a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%85%A5%E8%A7%A3%E6%9E%90Delphi/1.htm">深入解析Delphi</a><a class="tag" taget="_blank" href="/search/6%E5%BC%80%E5%8F%91%E8%80%85%E6%8C%87%E5%8D%97/1.htm">6开发者指南</a><a class="tag" taget="_blank" href="/search/Delphi/1.htm">Delphi</a><a class="tag" taget="_blank" href="/search/%E7%B3%BB%E7%BB%9F%E6%9E%B6%E6%9E%84/1.htm">系统架构</a><a class="tag" taget="_blank" href="/search/%E7%BA%BF%E7%A8%8B%E6%A8%A1%E5%9E%8B/1.htm">线程模型</a> <div>Delphi系统架构与线程模型详解1系统架构概述Delphi作为一款强大的集成开发环境(IDE),其系统架构设计不仅体现了高效性,还融合了灵活性和可扩展性。理解Delphi的系统架构是掌握其核心功能和开发技巧的关键。本文将详细介绍Delphi的系统架构及其各组成部分的交互方式,帮助开发者更好地利用这款工具。1.1Delphi系统架构的基本组成部分Delphi的系统架构主要包括以下几个关键部分:编译</div> </li> <li><a href="/article/1938788009742757888.htm" title="Redis网络通信模块深度解析:单线程Reactor到多线程IO的架构演进" target="_blank">Redis网络通信模块深度解析:单线程Reactor到多线程IO的架构演进</a> <span class="text-muted"></span> <div>一、核心架构:单线程Reactor模型Redis网络模块采用经典Reactor模式,核心流程如下:voidaeMain(aeEventLoop*eventLoop){while(!eventLoop->stop){//前置钩子(集群心跳/数据持久化)if(eventLoop->beforesleep)eventLoop->beforesleep(eventLoop);//事件分派:I/O复用+定时</div> </li> <li><a href="/article/1938785742675308544.htm" title="【安装Stable Diffusion以及遇到问题和总结】" target="_blank">【安装Stable Diffusion以及遇到问题和总结】</a> <span class="text-muted">岁月玲珑</span> <a class="tag" taget="_blank" href="/search/AI/1.htm">AI</a><a class="tag" taget="_blank" href="/search/stable/1.htm">stable</a><a class="tag" taget="_blank" href="/search/diffusion/1.htm">diffusion</a><a class="tag" taget="_blank" href="/search/AI%E7%BC%96%E7%A8%8B/1.htm">AI编程</a><a class="tag" taget="_blank" href="/search/AI%E4%BD%9C%E7%94%BB/1.htm">AI作画</a> <div>在本地安装部署StableDiffusion,需要准备好硬件环境,安装相关依赖,然后配置模型。下面为你详细介绍安装部署的步骤:一、硬件要求显卡:需要NVIDIAGPU,显存至少6GB,推荐8GB及以上。系统:Windows10/11、Linux(Ubuntu等)或macOS(需要Rosetta2)。内存:至少16GBRAM。存储空间:准备10GB以上的可用空间。二、软件准备首先要安装Python和</div> </li> <li><a href="/article/1938785616422563840.htm" title="RK系列(RK3568) GPIO按键驱动 和Android key新值添加" target="_blank">RK系列(RK3568) GPIO按键驱动 和Android key新值添加</a> <span class="text-muted">hmbbPdx_</span> <a class="tag" taget="_blank" href="/search/RK%E9%A9%B1%E5%8A%A8%E5%BC%80%E5%8F%91/1.htm">RK驱动开发</a><a class="tag" taget="_blank" href="/search/Rk%E5%BC%80%E5%8F%91%28RK3568%29/1.htm">Rk开发(RK3568)</a><a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/%E9%A9%B1%E5%8A%A8%E5%BC%80%E5%8F%91/1.htm">驱动开发</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a> <div>平台:Android12SOC:RK3568kernel:Linux-4.19首先按键驱动那块不用我们自己写,内核本身有支持可以查看kernel-4.19-driver/input/keyboard/gpio_keys.c我们先描述好设备树添加GPIO4-A0的按键gpio-keys{compatible="gpio-keys";#address-cells=;#size-cells=;autor</div> </li> <li><a href="/article/1938784229022298112.htm" title="vue el-date-picker 直接赋值时控件失效" target="_blank">vue el-date-picker 直接赋值时控件失效</a> <span class="text-muted">梓暮</span> <a class="tag" taget="_blank" href="/search/IT/1.htm">IT</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/elementui/1.htm">elementui</a> <div>项目场景:前端vueel-date-picker控件无故失效问题描述本人是主打后端,新进的公司要求前后端全干,然后又因为前端做得少,所以经常碰到一些奇怪的问题,比如以下操作,是给vue前端el-date-picker这个时间控件赋值,但是发现,数据是赋值上去了,但是控件失效了,怎么点都没用if(resData.batchEntity.manage_scene_start_time!=null&&r</div> </li> <li><a href="/article/1938782841529757696.htm" title="基于SIP的视频会议系统研究" target="_blank">基于SIP的视频会议系统研究</a> <span class="text-muted">weixin_33921089</span> <a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a> <div>摘要根据IETFSIPPING工作组提出的集中式会议模型,设计并实现了基于SIP的视频会议系统。该系统各部分可分别设计,具有良好的可扩展性。详细介绍了此系统的结构和工作原理。关键词SIP视频会议会议控制服务器会场控制媒体服务器0前言近几年来,随着计算机技术、通信技术和互联网技术的飞速发展,视频会议的应用范围正逐渐从传统的专业领域、大型企业等高端用户向中小企业等普通用户和个人用户拓展。据有关机构的分</div> </li> <li><a href="/article/1938775153911590912.htm" title="Three.js + Vue 处理glb文件过大问题(DRACOLoader加载压缩glb)" target="_blank">Three.js + Vue 处理glb文件过大问题(DRACOLoader加载压缩glb)</a> <span class="text-muted">printf_824</span> <a class="tag" taget="_blank" href="/search/vue/1.htm">vue</a><a class="tag" taget="_blank" href="/search/%E4%B8%8E/1.htm">与</a><a class="tag" taget="_blank" href="/search/three/1.htm">three</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>起因,three.jsediter导出的glb文件过于庞大,导致部署后文件加载过久解决方法:第一步(得有个blender),压缩:导出时把压缩勾选上这时候我们会得到一个glb文件,但与three.jsediter导出不同的的是,这个文件引入代码中会报如下错误这个警告表明在使用THREE.GLTFLoader时,没有提供DRACOLoader实例。DRACOLoader是用于加载Draco压缩格式的</div> </li> <li><a href="/article/1938774901234135040.htm" title="el-date-picker时间段赋值" target="_blank">el-date-picker时间段赋值</a> <span class="text-muted"></span> <div>给时间赋值:this.ruleForm.rdDate=[this.timestampToTime(res.data.startTime),this.timestampToTime(res.data.endTime)]</div> </li> <li><a href="/article/1938774522723364864.htm" title="微软全新开源的Agentic Web网络项目:NLWeb详解" target="_blank">微软全新开源的Agentic Web网络项目:NLWeb详解</a> <span class="text-muted">kevin luan</span> <a class="tag" taget="_blank" href="/search/AI/1.htm">AI</a><a class="tag" taget="_blank" href="/search/%E5%B7%A5%E4%BD%9C%E6%B5%81/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/microsoft/1.htm">microsoft</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a> <div>引言在2025年5月的MicrosoftBuild开发者大会上,微软推出了一个全新的开源项目——NLWeb(NaturalLanguageWeb,自然语言网络),被誉为“AgenticWeb(代理网络)”的基石,目标是将传统网页转变为支持自然语言交互的智能AI应用。微软将其比作Web时代的HTML,旨在通过简单的方式为网站添加对话式AI接口,让用户和AI代理能够以自然语言直接查询和交互网站内容。本</div> </li> <li><a href="/article/1938774522299740160.htm" title="【ElementUI】日期选择器时间选择范围限制" target="_blank">【ElementUI】日期选择器时间选择范围限制</a> <span class="text-muted">前端Joy姐</span> <a class="tag" taget="_blank" href="/search/element/1.htm">element</a><a class="tag" taget="_blank" href="/search/UI/1.htm">UI</a> <div>ElementUI是饿了么推出的一套基于vue2.x的一个ui框架。官方文档也很详细,这里做一个element-ui日期插件的补充。官方文档中使用picker-options属性来限制可选择的日期,这里举例子稍做补充。单个输入框的组件代码:情景1:设置选择今天以及今天之后的日期data(){return{pickerOptions0:{disabledDate(time){returntime.g</div> </li> <li><a href="/article/1938773764703580160.htm" title="大模型笔记10:LoRA微调" target="_blank">大模型笔记10:LoRA微调</a> <span class="text-muted">errorwarn</span> <a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a> <div>LoRA微调的原理矩阵的秩矩阵的秩代表一个矩阵中所含信息的大小。行秩:矩阵中互相不重复、不依赖(即线性无关)的行的最大数目。列秩:矩阵中互相不重复、不依赖的列的最大数目。事实上,行秩和列秩总是相等的,因此我们通常直接称之为“矩阵的秩”。Transformer中微调哪些参数:LoRA的改进版本</div> </li> <li><a href="/article/1938766578506067968.htm" title="MongoDB与Redis有哪些区别" target="_blank">MongoDB与Redis有哪些区别</a> <span class="text-muted">相遇在春风里</span> <a class="tag" taget="_blank" href="/search/%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/1.htm">经验分享</a> <div>MongoDB和Redis是两种不同类型的数据库,它们存在以下区别:一、数据模型MongoDBMongoDB是一个文档型数据库,它使用BSON(BinaryJSON)格式存储数据。数据以类似JSON的文档形式组织,每个文档可以有不同的结构(即模式自由)。例如,在一个存储用户信息的集合中,一个用户文档可能包含姓名、年龄、地址等字段,而另一个用户文档可能还包含额外的兴趣爱好字段。这种数据模型非常适合处</div> </li> <li><a href="/article/10.htm" title="jsonp 常用util方法" target="_blank">jsonp 常用util方法</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/jsonp%E5%B8%B8%E7%94%A8%E6%96%B9%E6%B3%95/1.htm">jsonp常用方法</a><a class="tag" taget="_blank" href="/search/jsonp+callback/1.htm">jsonp callback</a> <div>jsonp 常用java方法 (1)以jsonp的形式返回:函数名(json字符串) /*** * 用于jsonp调用 * @param map : 用于构造json数据 * @param callback : 回调的javascript方法名 * @param filters : <code>SimpleBeanPropertyFilter theFilt</div> </li> <li><a href="/article/137.htm" title="多线程场景" target="_blank">多线程场景</a> <span class="text-muted">alafqq</span> <a class="tag" taget="_blank" href="/search/%E5%A4%9A%E7%BA%BF%E7%A8%8B/1.htm">多线程</a> <div>0 能不能简单描述一下你在java web开发中需要用到多线程编程的场景?0 对多线程有些了解,但是不太清楚具体的应用场景,能简单说一下你遇到的多线程编程的场景吗? Java多线程 2012年11月23日 15:41 Young9007 Young9007 4 0 0 4 Comment添加评论关注(2) 3个答案 按时间排序 按投票排序 0 0 最典型的如: 1、</div> </li> <li><a href="/article/264.htm" title="Maven学习——修改Maven的本地仓库路径" target="_blank">Maven学习——修改Maven的本地仓库路径</a> <span class="text-muted">Kai_Ge</span> <a class="tag" taget="_blank" href="/search/maven/1.htm">maven</a> <div>      安装Maven后我们会在用户目录下发现.m2 文件夹。默认情况下,该文件夹下放置了Maven本地仓库.m2/repository。所有的Maven构件(artifact)都被存储到该仓库中,以方便重用。但是windows用户的操作系统都安装在C盘,把Maven仓库放到C盘是很危险的,为此我们需要修改Maven的本地仓库路径。    </div> </li> <li><a href="/article/391.htm" title="placeholder的浏览器兼容" target="_blank">placeholder的浏览器兼容</a> <span class="text-muted">120153216</span> <a class="tag" taget="_blank" href="/search/placeholder/1.htm">placeholder</a> <div>【前言】 自从html5引入placeholder后,问题就来了, 不支持html5的浏览器也先有这样的效果, 各种兼容,之前考虑,今天测试人员逮住不放, 想了个解决办法,看样子还行,记录一下。   【原理】 不使用placeholder,而是模拟placeholder的效果, 大概就是用focus和focusout效果。   【代码】 <scrip</div> </li> <li><a href="/article/518.htm" title="debian_用iso文件创建本地apt源" target="_blank">debian_用iso文件创建本地apt源</a> <span class="text-muted">2002wmj</span> <a class="tag" taget="_blank" href="/search/Debian/1.htm">Debian</a> <div>1.将N个debian-506-amd64-DVD-N.iso存放于本地或其他媒介内,本例是放在本机/iso/目录下 2.创建N个挂载点目录 如下: debian:~#mkdir –r /media/dvd1 debian:~#mkdir –r /media/dvd2 debian:~#mkdir –r /media/dvd3 …. debian:~#mkdir –r /media</div> </li> <li><a href="/article/645.htm" title="SQLSERVER耗时最长的SQL" target="_blank">SQLSERVER耗时最长的SQL</a> <span class="text-muted">357029540</span> <a class="tag" taget="_blank" href="/search/SQL+Server/1.htm">SQL Server</a> <div>对于DBA来说,经常要知道存储过程的某些信息: 1.   执行了多少次 2.   执行的执行计划如何 3.   执行的平均读写如何 4.   执行平均需要多少时间 列名          &</div> </li> <li><a href="/article/772.htm" title="com/genuitec/eclipse/j2eedt/core/J2EEProjectUtil" target="_blank">com/genuitec/eclipse/j2eedt/core/J2EEProjectUtil</a> <span class="text-muted">7454103</span> <a class="tag" taget="_blank" href="/search/eclipse/1.htm">eclipse</a> <div>今天eclipse突然报了com/genuitec/eclipse/j2eedt/core/J2EEProjectUtil 错误,并且工程文件打不开了,在网上找了一下资料,然后按照方法操作了一遍,好了,解决方法如下: 错误提示信息: An error has occurred.See error log for more details. Reason: com/genuitec/</div> </li> <li><a href="/article/899.htm" title="用正则删除文本中的html标签" target="_blank">用正则删除文本中的html标签</a> <span class="text-muted">adminjun</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F/1.htm">正则表达式</a><a class="tag" taget="_blank" href="/search/%E5%8E%BB%E6%8E%89html%E6%A0%87%E7%AD%BE/1.htm">去掉html标签</a> <div>使用文本编辑器录入文章存入数据中的文本是HTML标签格式,由于业务需要对HTML标签进行去除只保留纯净的文本内容,于是乎Java实现自动过滤。 如下: public static String Html2Text(String inputString) { String htmlStr = inputString; // 含html标签的字符串 String textSt</div> </li> <li><a href="/article/1026.htm" title="嵌入式系统设计中常用总线和接口" target="_blank">嵌入式系统设计中常用总线和接口</a> <span class="text-muted">aijuans</span> <a class="tag" taget="_blank" href="/search/linux+%E5%9F%BA%E7%A1%80/1.htm">linux 基础</a> <div>               嵌入式系统设计中常用总线和接口         任何一个微处理器都要与一定数量的部件和外围设备连接,但如果将各部件和每一种外围设备都分别用一组线路与CPU直接连接,那么连线</div> </li> <li><a href="/article/1153.htm" title="Java函数调用方式——按值传递" target="_blank">Java函数调用方式——按值传递</a> <span class="text-muted">ayaoxinchao</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%8C%89%E5%80%BC%E4%BC%A0%E9%80%92/1.htm">按值传递</a><a class="tag" taget="_blank" href="/search/%E5%AF%B9%E8%B1%A1/1.htm">对象</a><a class="tag" taget="_blank" href="/search/%E5%9F%BA%E7%A1%80%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B/1.htm">基础数据类型</a> <div>Java使用按值传递的函数调用方式,这往往使我感到迷惑。因为在基础数据类型和对象的传递上,我就会纠结于到底是按值传递,还是按引用传递。其实经过学习,Java在任何地方,都一直发挥着按值传递的本色。   首先,让我们看一看基础数据类型是如何按值传递的。   public static void main(String[] args) { int a = 2; </div> </li> <li><a href="/article/1280.htm" title="ios音量线性下降" target="_blank">ios音量线性下降</a> <span class="text-muted">bewithme</span> <a class="tag" taget="_blank" href="/search/ios%E9%9F%B3%E9%87%8F/1.htm">ios音量</a> <div>直接上代码吧   //second 几秒内下降为0 - (void)reduceVolume:(int)second { KGVoicePlayer *player = [KGVoicePlayer defaultPlayer]; if (!_flag) { _tempVolume = player.volume; </div> </li> <li><a href="/article/1407.htm" title="与其怨它不如爱它" target="_blank">与其怨它不如爱它</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/%E9%80%89%E6%8B%A9/1.htm">选择</a><a class="tag" taget="_blank" href="/search/%E7%90%86%E6%83%B3/1.htm">理想</a><a class="tag" taget="_blank" href="/search/%E8%81%8C%E4%B8%9A/1.htm">职业</a><a class="tag" taget="_blank" href="/search/%E8%A7%84%E5%88%92/1.htm">规划</a> <div>        抱怨工作是年轻人的常态,但爱工作才是积极的心态,与其怨它不如爱它。         一般来说,在公司干了一两年后,不少年轻人容易产生怨言,除了具体的埋怨公司“扭门”,埋怨上司无能以外,也有许多人是因为根本不爱自已的那份工作,工作完全成了谋生的手段,跟自已的性格、专业、爱好都相差甚远。   </div> </li> <li><a href="/article/1534.htm" title="一边时间不够用一边浪费时间" target="_blank">一边时间不够用一边浪费时间</a> <span class="text-muted">bingyingao</span> <a class="tag" taget="_blank" href="/search/%E5%B7%A5%E4%BD%9C/1.htm">工作</a><a class="tag" taget="_blank" href="/search/%E6%97%B6%E9%97%B4/1.htm">时间</a><a class="tag" taget="_blank" href="/search/%E6%B5%AA%E8%B4%B9/1.htm">浪费</a> <div>一方面感觉时间严重不够用,另一方面又在不停的浪费时间。 每一个周末,晚上熬夜看电影到凌晨一点,早上起不来一直睡到10点钟,10点钟起床,吃饭后玩手机到下午一点。 精神还是很差,下午像一直野鬼在城市里晃荡。 为何不尝试晚上10点钟就睡,早上7点就起,时间完全是一样的,把看电影的时间换到早上,精神好,气色好,一天好状态。 控制让自己周末早睡早起,你就成功了一半。 有多少个工作</div> </li> <li><a href="/article/1661.htm" title="【Scala八】Scala核心二:隐式转换" target="_blank">【Scala八】Scala核心二:隐式转换</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/scala/1.htm">scala</a> <div>Implicits work like this: if you call a method on a Scala object, and the Scala compiler does not see a definition for that method in the class definition for that object, the compiler will try to con</div> </li> <li><a href="/article/1788.htm" title="sudoku slover in Haskell (2)" target="_blank">sudoku slover in Haskell (2)</a> <span class="text-muted">bookjovi</span> <a class="tag" taget="_blank" href="/search/haskell/1.htm">haskell</a><a class="tag" taget="_blank" href="/search/sudoku/1.htm">sudoku</a> <div>继续精简haskell版的sudoku程序,稍微改了一下,这次用了8行,同时性能也提高了很多,对每个空格的所有解不是通过尝试算出来的,而是直接得出。   board = [0,3,4,1,7,0,5,0,0, 0,6,0,0,0,8,3,0,1, 7,0,0,3,0,0,0,0,6, 5,0,0,6,4,0,8,0,7, </div> </li> <li><a href="/article/1915.htm" title="Java-Collections Framework学习与总结-HashSet和LinkedHashSet" target="_blank">Java-Collections Framework学习与总结-HashSet和LinkedHashSet</a> <span class="text-muted">BrokenDreams</span> <a class="tag" taget="_blank" href="/search/linkedhashset/1.htm">linkedhashset</a> <div>        本篇总结一下两个常用的集合类HashSet和LinkedHashSet。         它们都实现了相同接口java.util.Set。Set表示一种元素无序且不可重复的集合;之前总结过的java.util.List表示一种元素可重复且有序</div> </li> <li><a href="/article/2042.htm" title="读《研磨设计模式》-代码笔记-备忘录模式-Memento" target="_blank">读《研磨设计模式》-代码笔记-备忘录模式-Memento</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/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a> <div>声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/ import java.util.ArrayList; import java.util.List; /* * 备忘录模式的功能是,在不破坏封装性的前提下,捕获一个对象的内部状态,并在对象之外保存这个状态,为以后的状态恢复作“备忘” </div> </li> <li><a href="/article/2169.htm" title="《RAW格式照片处理专业技法》笔记" target="_blank">《RAW格式照片处理专业技法》笔记</a> <span class="text-muted">cherishLC</span> <a class="tag" taget="_blank" href="/search/PS/1.htm">PS</a> <div>注意,这不是教程!仅记录楼主之前不太了解的 一、色彩(空间)管理 作者建议采用ProRGB(色域最广),但camera raw中设为ProRGB,而PS中则在ProRGB的基础上,将gamma值设为了1.8(更符合人眼) 注意:bridge、camera raw怎么设置显示、输出的颜色都是正确的(会读取文件内的颜色配置文件),但用PS输出jpg文件时,必须先用Edit->conv</div> </li> <li><a href="/article/2296.htm" title="使用 Git 下载 Spring 源码 编译 for Eclipse" target="_blank">使用 Git 下载 Spring 源码 编译 for Eclipse</a> <span class="text-muted">crabdave</span> <a class="tag" taget="_blank" href="/search/eclipse/1.htm">eclipse</a> <div>使用 Git 下载 Spring 源码 编译 for Eclipse   1、安装gradle,下载 http://www.gradle.org/downloads 配置环境变量GRADLE_HOME,配置PATH  %GRADLE_HOME%/bin,cmd,gradle -v   2、spring4 用jdk8 下载 https://jdk8.java.</div> </li> <li><a href="/article/2423.htm" title="mysql连接拒绝问题" target="_blank">mysql连接拒绝问题</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/%E7%99%BB%E5%BD%95%E6%9D%83%E9%99%90/1.htm">登录权限</a> <div>mysql中在其它机器连接mysql服务器时报错问题汇总 一、[running]root@192.168.9.136:~$mysql -uroot -h 192.168.9.108 -p   //带-p参数,在下一步进行密码输入 Enter password:    //无字符串输入 ERROR 1045 (28000): Access </div> </li> <li><a href="/article/2550.htm" title="Google Chrome 为何打压 H.264" target="_blank">Google Chrome 为何打压 H.264</a> <span class="text-muted">dsjt</span> <a class="tag" taget="_blank" href="/search/apple/1.htm">apple</a><a class="tag" taget="_blank" href="/search/html5/1.htm">html5</a><a class="tag" taget="_blank" href="/search/chrome/1.htm">chrome</a><a class="tag" taget="_blank" href="/search/Google/1.htm">Google</a> <div>Google 今天在 Chromium 官方博客宣布由于 H.264 编解码器并非开放标准,Chrome 将在几个月后正式停止对 H.264 视频解码的支持,全面采用开放的 WebM 和 Theora 格式。 Google 在博客上表示,自从 WebM 视频编解码器推出以后,在性能、厂商支持以及独立性方面已经取得了很大的进步,为了与 Chromium 现有支持的編解码器保持一致,Chrome</div> </li> <li><a href="/article/2677.htm" title="yii 获取控制器名 和方法名" target="_blank">yii 获取控制器名 和方法名</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/yii/1.htm">yii</a><a class="tag" taget="_blank" href="/search/framework/1.htm">framework</a> <div>1. 获取控制器名 在控制器中获取控制器名:  $name = $this->getId(); 在视图中获取控制器名:    $name = Yii::app()->controller->id;    2. 获取动作名  在控制器beforeAction()回调函数中获取动作名:  $name = </div> </li> <li><a href="/article/2804.htm" title="Android知识总结(二)" target="_blank">Android知识总结(二)</a> <span class="text-muted">come_for_dream</span> <a class="tag" taget="_blank" href="/search/android/1.htm">android</a> <div>明天要考试了,速速总结如下   1、Activity的启动模式        standard:每次调用Activity的时候都创建一个(可以有多个相同的实例,也允许多个相同Activity叠加。)        singleTop:可以有多个实例,但是不允许多个相同Activity叠加。即,如果Ac</div> </li> <li><a href="/article/2931.htm" title="高洛峰收徒第二期:寻找未来的“技术大牛” ——折腾一年,奖励20万元" target="_blank">高洛峰收徒第二期:寻找未来的“技术大牛” ——折腾一年,奖励20万元</a> <span class="text-muted">gcq511120594</span> <a class="tag" taget="_blank" href="/search/%E5%B7%A5%E4%BD%9C/1.htm">工作</a><a class="tag" taget="_blank" href="/search/%E9%A1%B9%E7%9B%AE%E7%AE%A1%E7%90%86/1.htm">项目管理</a> <div>高洛峰,兄弟连IT教育合伙人、猿代码创始人、PHP培训第一人、《细说PHP》作者、软件开发工程师、《IT峰播》主创人、PHP讲师的鼻祖! 首期现在的进程刚刚过半,徒弟们真的很棒,人品都没的说,团结互助,学习刻苦,工作认真积极,灵活上进。我几乎会把他们全部留下来,现在已有一多半安排了实际的工作,并取得了很好的成绩。等他们出徒之日,凭他们的能力一定能够拿到高薪,而且我还承诺过一个徒弟,当他拿到大学毕</div> </li> <li><a href="/article/3058.htm" title="linux expect" target="_blank">linux expect</a> <span class="text-muted">heipark</span> <a class="tag" taget="_blank" href="/search/expect/1.htm">expect</a> <div>1. 创建、编辑文件go.sh   #!/usr/bin/expect spawn sudo su admin expect "*password*" { send "13456\r\n" } interact    2. 设置权限   chmod u+x go.sh  3.</div> </li> <li><a href="/article/3185.htm" title="Spring4.1新特性——静态资源处理增强" target="_blank">Spring4.1新特性——静态资源处理增强</a> <span class="text-muted">jinnianshilongnian</span> <a class="tag" taget="_blank" href="/search/spring+4.1/1.htm">spring 4.1</a> <div>目录 Spring4.1新特性——综述 Spring4.1新特性——Spring核心部分及其他 Spring4.1新特性——Spring缓存框架增强 Spring4.1新特性——异步调用和事件机制的异常处理 Spring4.1新特性——数据库集成测试脚本初始化 Spring4.1新特性——Spring MVC增强 Spring4.1新特性——页面自动化测试框架Spring MVC T</div> </li> <li><a href="/article/3312.htm" title="idea ubuntuxia 乱码" target="_blank">idea ubuntuxia 乱码</a> <span class="text-muted">liyonghui160com</span> <div>  1.首先需要在windows字体目录下或者其它地方找到simsun.ttf 这个 字体文件。 2.在ubuntu 下可以执行下面操作安装该字体: sudo mkdir /usr/share/fonts/truetype/simsun sudo cp simsun.ttf /usr/share/fonts/truetype/simsun fc-cache -f -v </div> </li> <li><a href="/article/3439.htm" title="改良程序的11技巧" target="_blank">改良程序的11技巧</a> <span class="text-muted">pda158</span> <a class="tag" taget="_blank" href="/search/%E6%8A%80%E5%B7%A7/1.htm">技巧</a> <div>有很多理由都能说明为什么我们应该写出清晰、可读性好的程序。最重要的一点,程序你只写一次,但以后会无数次的阅读。当你第二天回头来看你的代码 时,你就要开始阅读它了。当你把代码拿给其他人看时,他必须阅读你的代码。因此,在编写时多花一点时间,你会在阅读它时节省大量的时间。   让我们看一些基本的编程技巧:   尽量保持方法简短 永远永远不要把同一个变量用于多个不同的</div> </li> <li><a href="/article/3566.htm" title="300个涵盖IT各方面的免费资源(下)——工作与学习篇" target="_blank">300个涵盖IT各方面的免费资源(下)——工作与学习篇</a> <span class="text-muted">shoothao</span> <a class="tag" taget="_blank" href="/search/%E5%88%9B%E4%B8%9A/1.htm">创业</a><a class="tag" taget="_blank" href="/search/%E5%85%8D%E8%B4%B9%E8%B5%84%E6%BA%90/1.htm">免费资源</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0%E8%AF%BE%E7%A8%8B/1.htm">学习课程</a><a class="tag" taget="_blank" href="/search/%E8%BF%9C%E7%A8%8B%E5%B7%A5%E4%BD%9C/1.htm">远程工作</a> <div>工作与生产效率:   A. 背景声音 Noisli:背景噪音与颜色生成器。 Noizio:环境声均衡器。 Defonic:世界上任何的声响都可混合成美丽的旋律。 Designers.mx:设计者为设计者所准备的播放列表。 Coffitivity:这里的声音就像咖啡馆里放的一样。 B. 避免注意力分散 Self Co</div> </li> <li><a href="/article/3693.htm" title="深入浅出RPC" target="_blank">深入浅出RPC</a> <span class="text-muted">uule</span> <a class="tag" taget="_blank" href="/search/rpc/1.htm">rpc</a> <div>深入浅出RPC-浅出篇 深入浅出RPC-深入篇   RPC Remote Procedure Call Protocol 远程过程调用协议   它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发</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>