Flutterr入门笔记

MaterialApp和Scaffold

MaterialApp是我们使用 Flutter开发中最常用的符合Material Design设计理念的入口Widget。你可以将它类比成为网页中的,且它自带路由、主题色,</code>等功能。</p> <p>Scaffold通常被用作MaterialApp的子Widget,它会填充可用空间,占据整个窗口或设备屏幕。Scaffold提供了大多数应用程序都应该具备的功能,例如顶部的appBar,底部的bottomNavigationBar,隐藏的侧边栏drawer等。<br> 一般来说在最外层,都要包一层<code>Scaffold</code>,让页面更好看。</p> <h4>添加Ignore文件</h4> <p>详见Flutter ignore文件</p> <h4>添加第三方库</h4> <p>打开pubspec.yaml<br> 在dependencies下增加<br> 比如,我们增加一个dio网络请求库</p> <blockquote> <p><font color="red">注意 <code>":"</code> 后面有一个空格</font></p> </blockquote> <p><a href="http://img.e-com-net.com/image/info8/b9259a2705be4fccb3171b6a4f829a5c.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/b9259a2705be4fccb3171b6a4f829a5c.jpg" alt="Flutterr入门笔记_第1张图片" width="581" height="358" style="border:1px solid black;"></a></p> <h4>Flutter弹出Toast</h4> <p>在 pubspec.yaml 的 dependencies 节点中,新增插件如下:</p> <pre><code>dependencies: toast: ^0.1.3 </code></pre> <p>在 lib/main.dart 中导入对应的插件:</p> <pre><code>import 'package:toast/toast.dart'; </code></pre> <p>调用 Toast.show() 函数提示消息:</p> <pre><code>// 参数1:提示消息 // 参数2:提示消息多久后自动隐藏 // 参数3:位置 Toast.show("鉴权失败!", context, duration: Toast.LENGTH_LONG, gravity: Toast.CENTER); </code></pre> <h4>使用路由进行页面间跳转</h4> <pre><code>import 'package:flutter/material.dart'; void main() { runApp(MaterialApp( title: '导航演示1', home: new FirstScreen(), routes: <String, WidgetBuilder>{ '/second': (BuildContext context) => new SecondScreen(), }, )); } class FirstScreen extends StatelessWidget { @override Widget build(BuildContext context) { return new Scaffold( appBar: AppBar(title: Text('导航页面')), body: Center( child: RaisedButton( child: Text('查看商品详情页面'), onPressed: () { /*Navigator.push(context,new MaterialPageRoute( builder:(context) =>new SecondScreen()) );*/ Navigator.pushNamed(context, "/second"); }, ) ) ); } } class SecondScreen extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(title: Text('技术胖商品详情页')), body: Center(child: RaisedButton( child: RaisedButton( child: Text('返回'), onPressed: () { Navigator.pop(context); }, ) )) ); } } </code></pre> <blockquote> <p>定义了home之后,路由之中不能再定义 “/”</p> </blockquote> <h4>HTTP网络请求</h4> <p>Flutter有个HTTP库,但是功能比较弱,官方推荐使用dio,详见 https://github.com/flutterchina/dio</p> <h4>StatelessWidget和StatefulWidget</h4> <p>StatelessWidget 是无状态控件,没有自己的私有数据,是纯展示型的控件<br> StatefulWidget 是有状态控件,拥有自己的私有数据和业务逻辑</p> <h4>查看和切换Flutter Channel</h4> <p>Flutter一般有4个Channel,从不稳定到稳定Channel如下,一般使用stable即可<br> master:最新代码<br> dev:从master中经过全面测试的最新版<br> beta:从dev中抽取上个月比较好的特性,进行外灰测试<br> stable:从beta分支中,合并外灰测试后的,稳定版</p> <p>查看当前Flutter版本及Channel<br> <a href="http://img.e-com-net.com/image/info8/8a552c22cc44490b9b847ec80972c946.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/8a552c22cc44490b9b847ec80972c946.jpg" alt="Flutterr入门笔记_第2张图片" width="650" height="279" style="border:1px solid black;"></a><br> 查看Channel<br> <a href="http://img.e-com-net.com/image/info8/3180459109fa4b0ab171c6d05142d2f2.png" target="_blank"><img src="http://img.e-com-net.com/image/info8/3180459109fa4b0ab171c6d05142d2f2.png" alt="Flutterr入门笔记_第3张图片" width="320" height="108" style="border:1px solid black;"></a><br> 切换Channel</p> <pre><code>flutter channel stable //切换到指定channel flutter upgrade //将channel的代码更新到最新 </code></pre> <h4>Json解析</h4> <ul> <li>小型项目: 手动序列号</li> <li>大型项目: 借助插件生成 json_serializable 和 built_value</li> </ul> <blockquote> <p>其实大型项目使用手动+借助下面提到的在线转换的方式更加灵活高效</p> </blockquote> <p>详见 https://flutterchina.club/json/</p> <h4>本地存储操作</h4> <p>google官方推荐我们使用shared_preferences进行本地存储。<br> shared_preferences是Flutter社区开发的一个本地数据存储的插件</p> <ul> <li>简单的,异步的,持续化的key-value存储系统</li> <li>在Android上它是基于SharedPreferences</li> <li>在IOS上它是基于NSUserDefaults的</li> </ul> <h5>存储数据</h5> <pre><code>final prefs = await SharedPreferences.getInstance(); //set value prefs.setInt("counter",counter); </code></pre> <h5>读取数据</h5> <pre><code>final prefs = await SharedPreferences.getInstance(); final counter = prefs.getInt("counter" ?? 0;) </code></pre> <h5>删除数据</h5> <pre><code>final prefs = await SharedPreferences.getInstance(); prefs.remove("counter"); </code></pre> <h3>List列表</h3> <p>基于ListView水平和垂直方式滚动的列表<br> 基于ExpansionTile实现可展开的列表<br> 基于GridView实现网格布局<br> 列表下拉刷新与上拉加载更多功能实现<br> flutter中ListView、ExpansionTile和GridView的学习</p> </div> </div> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1292222846587707392"></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">你可能感兴趣的:(跨平台移动开发)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1946509184975564800.htm" title="【C++基础】内存对齐原则与性能影响:面试高频考点与真题解析" target="_blank">【C++基础】内存对齐原则与性能影响:面试高频考点与真题解析</a> <span class="text-muted">byte轻骑兵</span> <a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/C%2B%2B%E6%B7%B1%E5%BA%A6%E6%8E%A2%E7%B4%A2%E4%B8%8E%E5%AE%9E%E6%88%98%E4%B8%93%E6%A0%8F/1.htm">C++深度探索与实战专栏</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/%E8%81%8C%E5%9C%BA%E5%92%8C%E5%8F%91%E5%B1%95/1.htm">职场和发展</a> <div>在计算机系统中,内存对齐是影响程序性能和跨平台兼容性的重要因素。无论是校招还是社招,内存对齐相关问题几乎是C/C++、嵌入式开发、操作系统等岗位的必考题。掌握内存对齐的原理和应用,不仅能应对面试,更是理解现代计算机体系结构的关键。一、内存对齐的基本概念1.1什么是内存对齐?内存对齐是指数据在内存中存储时,其起始地址必须是某个特定值(通常是数据类型大小的倍数)。例如,4字节的int类型变量应存储在4</div> </li> <li><a href="/article/1946477541116145664.htm" title="JSON全面解析:轻量级数据交换的核心技术" target="_blank">JSON全面解析:轻量级数据交换的核心技术</a> <span class="text-muted">新人码农11111</span> <a class="tag" taget="_blank" href="/search/json/1.htm">json</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>目录JSON的本质特征⚙️序列化:数据到字符串的转换反序列化:字符串到数据的还原实际应用场景⚠️常见陷阱与解决方案最佳实践建议在当今数据驱动的时代,JSON(JavaScriptObjectNotation)已成为最流行的轻量级数据交换格式。本文将深入剖析JSON的核心特性及其在Python中的应用,帮助开发者高效处理数据序列化与反序列化。JSON的本质特征JSON采用纯文本格式,具有跨平台、易读</div> </li> <li><a href="/article/1946472247573147648.htm" title="【Java从入门到起飞】初始Java" target="_blank">【Java从入门到起飞】初始Java</a> <span class="text-muted">I'm Joe</span> <a class="tag" taget="_blank" href="/search/Java/1.htm">Java</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>文章目录1.Java语言概述1.1Java概述1.2Java语言简史1.3Java之父1.4Java技术体系平台1.5java的主要特性2.Java开发环境2.1Java语言跨平台的原理2.2什么是JDK、JRE、JVM2.3JDK的目录介绍3.注释(comment)4.JavaAPI文档5.Java核心机制:JVM5.1Java语言的优缺点5.1.1优点5.1.2缺点5.2JVM功能说明5.2.</div> </li> <li><a href="/article/1946459011201167360.htm" title="Java开发:从入门到精通" target="_blank">Java开发:从入门到精通</a> <span class="text-muted"></span> <div>目录第一部分:基石篇——筑基与心法(Java核心基础)第一章:缘起与开示——Java世界观1.1万物皆对象:面向对象思想的起源与哲学1.2Java的“前世今生”:发展史、技术体系与生态圈1.3工欲善其事:搭建你的第一个“道场”(JDK环境配置与IDE详解)1.4“Hello,World!”:从第一行代码看Java程序的结构与生命周期1.5编译与运行:JVM如何成为Java跨平台的“金刚不坏之身”第</div> </li> <li><a href="/article/1946397845439442944.htm" title="RabbitMQ深度解析:从核心概念到实战应用" target="_blank">RabbitMQ深度解析:从核心概念到实战应用</a> <span class="text-muted">JouJz</span> <a class="tag" taget="_blank" href="/search/rabbitmq/1.htm">rabbitmq</a><a class="tag" taget="_blank" href="/search/ruby/1.htm">ruby</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E5%B8%83%E5%BC%8F/1.htm">分布式</a> <div>RabbitMQ深度解析:从核心概念到实战应用引言:现代分布式系统的通信枢纽在当今复杂的分布式系统架构中,消息队列已成为不可或缺的基础组件。作为最受欢迎的开源消息代理之一,RabbitMQ以其可靠性、灵活性和跨平台能力赢得了广泛青睐。本文将全面剖析RabbitMQ的核心机制、工作模式及高级特性,帮助开发者掌握这一强大的异步通信工具。一、RabbitMQ核心概念解析1.1基本架构模型RabbitMQ</div> </li> <li><a href="/article/1946385616967102464.htm" title="LocalSend:比 AirDrop 更自由!这款神器让文件传输不再受限" target="_blank">LocalSend:比 AirDrop 更自由!这款神器让文件传输不再受限</a> <span class="text-muted">开源项目精选</span> <a class="tag" taget="_blank" href="/search/https/1.htm">https</a> <div>LocalSend是一款免费、开源的跨平台文件传输工具,支持Windows、macOS、Linux、Android和iOS等主流操作系统。它通过HTTPS实现端到端加密传输,无需互联网或外部服务器,即可在局域网内高速、安全地传输文件和文本。其核心优势在于打破平台壁垒,提供高效安全的本地文件共享方案,让您的多设备互联互通变得前所未有的简单。Stars数64,423Forks数3,437主要特点跨平台</div> </li> <li><a href="/article/1943991008740044800.htm" title="上位机知识篇---SD卡&U盘镜像" target="_blank">上位机知识篇---SD卡&U盘镜像</a> <span class="text-muted"></span> <div>常用的镜像烧录软件balenaEtcherbalenaEtcher是一个开源的、跨平台的工具,用于将操作系统镜像文件(如ISO和IMG文件)烧录到SD卡和USB驱动器中。以下是其使用方法、使用场景和使用注意事项的介绍:使用方法下载安装:根据自己的操作系统,从官方网站下载对应的安装包。Windows系统下载.exe文件后双击安装;Linux系统若下载的是.deb文件,可在终端执行“sudodpkg-</div> </li> <li><a href="/article/1943950037142794240.htm" title="Windows平台下Android Studio搭建Flutter开发环境的正确姿势(202506)" target="_blank">Windows平台下Android Studio搭建Flutter开发环境的正确姿势(202506)</a> <span class="text-muted"></span> <div>Flutter作为Google推出的跨平台移动应用开发框架,近年来获得了广泛关注。它允许开发者使用单一代码库构建iOS和Android应用,大大提高了开发效率。本文将带你一步步在Windows系统上搭建完整的Flutter开发环境。第一步:下载并安装FlutterSDK首先,我们需要获取FlutterSDK:访问Flutter官方中文文档的安装页面:https://docs.flutter.cn/</div> </li> <li><a href="/article/1943854476238581760.htm" title="【亲测免费】 Mamba:快速跨平台的包管理器" target="_blank">【亲测免费】 Mamba:快速跨平台的包管理器</a> <span class="text-muted">林梦雅</span> <div>Mamba:快速跨平台的包管理器项目基础介绍和主要编程语言Mamba是一个用C++重新实现的Conda包管理器。它旨在提供比传统Conda更快的包管理和依赖解析速度。Mamba的核心部分使用C++编写,以确保高效性和性能。同时,Mamba也使用了Python和其他一些辅助语言来实现其功能。项目核心功能Mamba的核心功能包括:快速依赖解析:利用libsolv库进行高效的依赖解析,这是RedHat、</div> </li> <li><a href="/article/1943829003882262528.htm" title="【实战AI】macbook M1 本地ollama运行deepseek" target="_blank">【实战AI】macbook M1 本地ollama运行deepseek</a> <span class="text-muted">东方鲤鱼</span> <a class="tag" taget="_blank" href="/search/chat/1.htm">chat</a><a class="tag" taget="_blank" href="/search/AI/1.htm">AI</a><a class="tag" taget="_blank" href="/search/macos/1.htm">macos</a><a class="tag" taget="_blank" href="/search/ai/1.htm">ai</a><a class="tag" taget="_blank" href="/search/llama/1.htm">llama</a><a class="tag" taget="_blank" href="/search/AIGC/1.htm">AIGC</a><a class="tag" taget="_blank" href="/search/chatgpt/1.htm">chatgpt</a> <div>由于deepseek官网或者Aapi调用会有网络延迟或不响应的情况,故在本地搭建部署;前提条件1.由于需要拉取开源镜像,受网络限制,部分资源在前提中会下载的更快!请自行;2.设备macbookM132G下载ollamaOllama是一款跨平台推理框架客户端(MacOS、Windows、Linux),专为无缝部署大型语言模型(LLM)(如Llama2、Mistral、Llava等)而设计。通过一键式</div> </li> <li><a href="/article/1943820550493237248.htm" title="苹果App上架流程:不用Mac也可以上架的方法" target="_blank">苹果App上架流程:不用Mac也可以上架的方法</a> <span class="text-muted">F12研究员</span> <a class="tag" taget="_blank" href="/search/http/1.htm">http</a><a class="tag" taget="_blank" href="/search/udp/1.htm">udp</a><a class="tag" taget="_blank" href="/search/https/1.htm">https</a><a class="tag" taget="_blank" href="/search/websocket/1.htm">websocket</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8/1.htm">网络安全</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%8D%8F%E8%AE%AE/1.htm">网络协议</a><a class="tag" taget="_blank" href="/search/tcp%2Fip/1.htm">tcp/ip</a> <div>iOSApp的上架流程一直被认为是门槛最高、流程最繁琐的移动端工作之一。对很多使用Windows或Linux进行开发的跨平台团队来说,Mac的缺位更放大了每一步的难度。在我们近期为一款本地生活类App进行iOS上架时,团队成员几乎没有配备本地Mac,主要使用Flutter跨平台开发。最终,我们通过一套可复用的工具组合与流程规范,不仅解决了免Mac环境下的上架需求,还将整体周期控制在5天内。以下是我</div> </li> <li><a href="/article/1943818280686907392.htm" title="没有Mac如何完成iOS 上架:iOS App 上架App Store流程" target="_blank">没有Mac如何完成iOS 上架:iOS App 上架App Store流程</a> <span class="text-muted"></span> <div>我们最近参与了一个有意思的系统迁移项目:客户原本使用全Mac开发环境维护一个内部企业App,但随着开发团队更替与技术更新,他们希望将项目转向Flutter跨平台开发,并引入更多Windows/Linux开发者,同时要求保持原有上架效率不变甚至提升。这类迁移挑战的最大难点,在于如何将过去“强依赖Mac设备”的iOS上架流程,重构为一个“跨平台团队也能协作完成”的标准流程。下面是我们一步步拆解重建这套</div> </li> <li><a href="/article/1943772645237518336.htm" title="NodeJS VM2沙箱逃逸漏洞分析【CVE-2023-29199】" target="_blank">NodeJS VM2沙箱逃逸漏洞分析【CVE-2023-29199】</a> <span class="text-muted">R3s3arcm</span> <a class="tag" taget="_blank" href="/search/NodeJS%E6%BC%8F%E6%B4%9E%E5%88%86%E6%9E%90/1.htm">NodeJS漏洞分析</a><a class="tag" taget="_blank" href="/search/node.js/1.htm">node.js</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8%E5%A8%81%E8%83%81%E5%88%86%E6%9E%90/1.htm">安全威胁分析</a> <div>NodeJSVM2沙箱逃逸漏洞分析【CVE-2023-29199】简介Node.js是一个基于V8引擎的开源、跨平台的JavaScript运行环境,它可以在多个操作系统上运行,包括Windows、macOS和Linux等。Node.js提供了一个运行在服务器端的JavaScript环境,使得开发者可以编写并发的、高效的服务器端应用程序。Node.js使用事件驱动、非阻塞I/O模型来支持并发运行。它</div> </li> <li><a href="/article/1943769747548073984.htm" title="HarmonyOS赋能套件全景:示例代码,开启鸿蒙开发新世界" target="_blank">HarmonyOS赋能套件全景:示例代码,开启鸿蒙开发新世界</a> <span class="text-muted"></span> <div>目录一、引言:踏入鸿蒙开发大门二、HarmonyOS赋能套件初相识(一)什么是赋能套件(二)全景架构解析三、示例代码核心探秘(一)代码示例的丰富宝库(二)代码示例助力学习成长四、如何巧用示例代码(一)获取代码的正确姿势(二)融入实际开发流程五、开发者社区与支持同行六、结语:开启鸿蒙开发新征程一、引言:踏入鸿蒙开发大门在移动开发领域的激烈竞争中,HarmonyOS异军突起,迅速成为众多开发者关注的焦</div> </li> <li><a href="/article/1943646720231534592.htm" title="Adobe AIR技术打造的音乐播放器设计与实现" target="_blank">Adobe AIR技术打造的音乐播放器设计与实现</a> <span class="text-muted">鄧寜</span> <div>本文还有配套的精品资源,点击获取简介:AdobeAIR环境允许使用Web技术构建跨平台桌面应用程序。本案例中的音乐播放器提供音乐库管理、隐藏窗口播放和即时停止功能。源文件解析揭示了播放器的架构与功能实现,包括ActionScript逻辑、用户界面设计和应用配置。1.AdobeAIR应用程序运行环境介绍AdobeAIR,曾是Adobe公司推出的一个跨平台运行时环境,允许开发人员使用熟悉的技术,如HT</div> </li> <li><a href="/article/1943587085575319552.htm" title="「macOS 系统字体收集器 (C++17 实现)」" target="_blank">「macOS 系统字体收集器 (C++17 实现)」</a> <span class="text-muted">丁金金_chihiro_修行</span> <a class="tag" taget="_blank" href="/search/Mac/1.htm">Mac</a><a class="tag" taget="_blank" href="/search/macos/1.htm">macos</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>代码介绍1.核心功能这是一个专为macOS设计的字体文件收集工具,能够:✅智能扫描系统字体目录(如/Library/Fonts)和用户指定目录✅自动过滤.ttf/.otf/.ttc等字体文件✅安全跳过无权限访问的目录(兼容SIP保护机制)✅冲突处理自动重命名同名字体文件(追加_1,_2等后缀)✅完整日志记录所有跳过的目录及原因2.技术亮点现代C++17标准实现,跨平台兼容使用库实现高效目录遍历多线</div> </li> <li><a href="/article/1943579016548118528.htm" title="uni-app跨平台开发:高效构建多端应用" target="_blank">uni-app跨平台开发:高效构建多端应用</a> <span class="text-muted">2301_81335708</span> <a class="tag" taget="_blank" href="/search/uni-app/1.htm">uni-app</a> <div>引言:开发者之痛-多端开发的十字路口你是否曾为这些难题彻夜难眠?同一业务需维护iOS、Android、Web三套代码小程序平台各异(微信/支付宝/字节跳动),API差异令人抓狂团队技能栈分散,ReactNative、Flutter、原生开发各自为战产品迭代缓慢,50%时间消耗在跨平台适配uni-app:破局者登场由DCloud推出的uni-app基于Vue.js生态,用一套代码同步生成:iOS/A</div> </li> <li><a href="/article/1943569059266228224.htm" title="React Native入门指南" target="_blank">React Native入门指南</a> <span class="text-muted">dfgf123521</span> <a class="tag" taget="_blank" href="/search/%E7%A7%BB%E5%8A%A8%E5%BC%80%E5%8F%91/1.htm">移动开发</a><a class="tag" taget="_blank" href="/search/ui/1.htm">ui</a><a class="tag" taget="_blank" href="/search/json/1.htm">json</a> <div>转载自:http://www.jianshu.com/p/b88944250b25前言ReactNative诞生于2015年,名副其实的富二代,主要使命是为父出征,与Apple和Google抗衡,为开发者带去一套跨平台、动态更新的Javascript框架,口号是:Learnonce,writeanywhere:BuildmobileappswithReact。在试图推翻Android和iOS压制的</div> </li> <li><a href="/article/1943552919135645696.htm" title="pyautogui库的一些鼠标操作" target="_blank">pyautogui库的一些鼠标操作</a> <span class="text-muted">深蓝海拓</span> <a class="tag" taget="_blank" href="/search/%E5%9F%BA%E4%BA%8E%E8%A7%86%E8%A7%89%E7%9A%84%E9%80%9F%E5%BA%A6%E6%B5%8B%E9%87%8F%E9%A1%B9%E7%9B%AE/1.htm">基于视觉的速度测量项目</a><a class="tag" taget="_blank" href="/search/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%A4%96%E8%AE%BE/1.htm">计算机外设</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E8%AE%A1%E7%AE%97%E6%9C%BA%E8%A7%86%E8%A7%89/1.htm">计算机视觉</a> <div>pyautogui是一个跨平台的自动化库,提供了很多方便的功能,包括获取鼠标位置和对鼠标进行一些操作。pyautogui.position()获取当前鼠标位置pyautogui.position():获取当前鼠标光标在屏幕上的位置。1.功能返回当前鼠标光标在屏幕上的坐标位置,返回值是一个元组(x,y),分别表示鼠标光标在屏幕水平方向(x轴)和垂直方向(y轴)上的像素位置。2.返回值•返回类型:tu</div> </li> <li><a href="/article/1943536659039580160.htm" title="《凤凰架构》C13-持久化存储" target="_blank">《凤凰架构》C13-持久化存储</a> <span class="text-muted"></span> <div>目录一、存储设计二、存储生态三、容器&云原生领域常见缩写一、存储设计1)Docker存储挂载类型是否持久化管理方式参数关键字适用场景与特点Volume✅是Docker自动管理type=volume或-vvol:/path最推荐方式,支持跨平台、备份、驱动、持久化BindMount✅是用户手动管理type=bind或-v/host:/container灵活性高,直接使用宿主路径,开发调试常用Tmpf</div> </li> <li><a href="/article/1943467433771724800.htm" title="Chromium 引擎启用 Skia Graphite后性能飙升" target="_blank">Chromium 引擎启用 Skia Graphite后性能飙升</a> <span class="text-muted">罗光记</span> <a class="tag" taget="_blank" href="/search/%E7%99%BE%E5%BA%A6/1.htm">百度</a><a class="tag" taget="_blank" href="/search/facebook/1.htm">facebook</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/%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/1.htm">经验分享</a><a class="tag" taget="_blank" href="/search/oneapi/1.htm">oneapi</a> <div>在一项被许多开发者关注的性能优化进展中,Chromium项目正逐步将其图形渲染后台从经典的Ganesh迁移至Skia新一代图形后端Graphite,而最新测试结果显示,这一举措带来了显著的性能提升。Skia是谷歌主导的跨平台2D图形库,长期以来一直是Chromium浏览器的核心组成部分。Ganesh是Skia的传统渲染后端,而Graphite是为现代GPU和图形API(如Vulkan和Metal)</div> </li> <li><a href="/article/1943437564677517312.htm" title="【亲测免费】 在Android上运行Node.js:Node on Android" target="_blank">【亲测免费】 在Android上运行Node.js:Node on Android</a> <span class="text-muted">咎旗盼Jewel</span> <div>在Android上运行Node.js:NodeonAndroid项目地址:https://gitcode.com/gh_mirrors/no/node-on-android在这个数字化的时代,移动开发已经成为不可或缺的一部分。使用Node.js构建应用程序因其高效和灵活性而备受开发者喜爱。现在,借助开源项目NodeonAndroid,你可以在Android设备上无缝地运行Node.js应用,无需复</div> </li> <li><a href="/article/1943425718482432000.htm" title="【Linux系统】vim编辑器 | 编译器gcc/g++ | make/Makefile" target="_blank">【Linux系统】vim编辑器 | 编译器gcc/g++ | make/Makefile</a> <span class="text-muted">Ronin305</span> <a class="tag" taget="_blank" href="/search/Linux%E7%B3%BB%E7%BB%9F/1.htm">Linux系统</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</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/ubuntu/1.htm">ubuntu</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E8%BE%91%E5%99%A8/1.htm">编辑器</a><a class="tag" taget="_blank" href="/search/vim/1.htm">vim</a> <div>1.vim编辑器一、历史发展与VimvsVi的区别起源与演进Vi(1976年):由BillJoy开发,嵌入BSDUnix系统,是首个面向屏幕的文本编辑器,但功能有限(如无多级撤销)。Vim(1991年):BramMoolenaar基于Amiga系统的Stevie编辑器重写,命名为"ViIMproved"(Vim),1992年发布首个公开版本。关键升级:多级撤销(Vi仅支持单次撤销)跨平台支持(Wi</div> </li> <li><a href="/article/1943371397019529216.htm" title="oracle 数据库迁移expdp,impdp(数据泵导出导入)方法" target="_blank">oracle 数据库迁移expdp,impdp(数据泵导出导入)方法</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/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a> <div>一.优缺点优点:1.高效性能:expdp,impdp使用并行技术,可以显著提高导出导入速度,尤其适用于大数据量的迁移。支持压缩和加密,减少导出文件的大小并提高安全性。2.灵活的对象选择:可以导出整个数据库、特定表空间、用户(Schema)或单个表。支持过滤条件,例如只导出特定表的数据或元数据。3.跨平台兼容性:支持跨平台迁移(例如从Linux到Windows),但需要注意字节序(endiannes</div> </li> <li><a href="/article/1943358158542008320.htm" title="python实现webrtc接入ipc_WebRTC音视频会议的优势" target="_blank">python实现webrtc接入ipc_WebRTC音视频会议的优势</a> <span class="text-muted">weixin_39998521</span> <div>目前几乎所有主流浏览器都支持了WebRTC,越来越多的公司正在使用WebRTC并且将其加到自己的应用程序中。在浏览器端,依赖于浏览器获取音视频的能力,以及强大的网页上的渲染能力,就能够为高清的通信体验打下基础。同时,相比移动端来说,屏幕比较大,视窗选择也比较灵活。第一,跨平台。大家都了解浏览器对各个终端的特殊性,不止PC上有浏览器、移动端上有浏览器,甚至是一些知名的社交APP也嵌入了浏览器。这需要</div> </li> <li><a href="/article/1943352611277172736.htm" title="Node.js是什么?应用场景分析 编程" target="_blank">Node.js是什么?应用场景分析 编程</a> <span class="text-muted">静谧星光</span> <a class="tag" taget="_blank" href="/search/node.js/1.htm">node.js</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B/1.htm">编程</a> <div>Node.js是一个基于ChromeV8JavaScript引擎构建的开源、跨平台的运行时环境。它允许开发者使用JavaScript语言进行服务器端编程,实现高效的网络应用程序。Node.js采用事件驱动、非阻塞I/O模型,使得它能够处理大量并发请求,适用于构建高性能、可扩展的网络应用。Node.js的应用场景非常广泛,以下是一些常见的使用场景:服务器端应用程序开发:Node.js提供了一种高效的</div> </li> <li><a href="/article/1943319453131403264.htm" title="Android Studio跨平台开发:React Native对比Flutter" target="_blank">Android Studio跨平台开发:React Native对比Flutter</a> <span class="text-muted">移动开发前沿</span> <a class="tag" taget="_blank" href="/search/%E7%A7%BB%E5%8A%A8%E7%AB%AF%E5%BC%80%E5%8F%91%E5%AE%9D%E5%85%B8/1.htm">移动端开发宝典</a><a class="tag" taget="_blank" href="/search/react/1.htm">react</a><a class="tag" taget="_blank" href="/search/native/1.htm">native</a><a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/studio/1.htm">studio</a><a class="tag" taget="_blank" href="/search/flutter/1.htm">flutter</a><a class="tag" taget="_blank" href="/search/ai/1.htm">ai</a> <div>AndroidStudio跨平台开发:ReactNative对比Flutter关键词:AndroidStudio、跨平台开发、ReactNative、Flutter、对比分析摘要:本文围绕AndroidStudio环境下的跨平台开发,深入对比ReactNative和Flutter这两种热门技术。详细阐述它们的核心概念、算法原理、数学模型,结合实际项目案例展示具体实现,分析各自适用的应用场景,推荐相</div> </li> <li><a href="/article/1943315039565967360.htm" title="轻松上手 C++ 的 RapidJSON 解析库:从零开始的教程" target="_blank">轻松上手 C++ 的 RapidJSON 解析库:从零开始的教程</a> <span class="text-muted"></span> <div>什么是RapidJSON?RapidJSON是一个高性能、轻量级的JSON解析库,专为C++设计。它的特点包括:高性能:RapidJSON的解析速度非常快,几乎可以与strlen()函数的速度相媲美。易用性:RapidJSON提供了简洁的API,使得解析和生成JSON数据变得非常简单。灵活性:支持多种数据类型,包括对象、数组、字符串、数字、布尔值和NULL。跨平台:支持Windows、Linux、</div> </li> <li><a href="/article/1943230329259094016.htm" title="84.7k Star!Excalidraw:开源的在线白板工具,具备手绘风格和实时协作功能" target="_blank">84.7k Star!Excalidraw:开源的在线白板工具,具备手绘风格和实时协作功能</a> <span class="text-muted">蚝油菜花</span> <a class="tag" taget="_blank" href="/search/%E6%AF%8F%E6%97%A5/1.htm">每日</a><a class="tag" taget="_blank" href="/search/AI/1.htm">AI</a><a class="tag" taget="_blank" href="/search/%E9%A1%B9%E7%9B%AE%E4%B8%8E%E5%BA%94%E7%94%A8%E5%AE%9E%E4%BE%8B/1.htm">项目与应用实例</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E6%BA%90/1.htm">开源</a><a class="tag" taget="_blank" href="/search/%E7%94%BB%E6%9D%BF/1.htm">画板</a><a class="tag" taget="_blank" href="/search/%E5%AE%9E%E6%97%B6%E5%8D%8F%E4%BD%9C/1.htm">实时协作</a> <div>❤️如果你也关注大模型与AI的发展现状,且对大模型应用开发非常感兴趣,我会快速跟你分享最新的感兴趣的AI应用和热点信息,也会不定期分享自己的想法和开源实例,欢迎关注我哦!微信公众号|搜一搜:蚝油菜花快速阅读Excalidraw是一款开源的在线白板工具,具备手绘风格和实时协作功能。支持多种绘图工具、便捷导出、离线可用及跨平台兼容性。适用于远程协作、头脑风暴、产品设计和技术绘图等多个场景。正文(附运行</div> </li> <li><a href="/article/1943176626019823616.htm" title="3DXML 转换为 SOLIDWORKS 技术指南:含迪威模型网在线转换方案" target="_blank">3DXML 转换为 SOLIDWORKS 技术指南:含迪威模型网在线转换方案</a> <span class="text-muted"></span> <div>在工业设计协同工作中,不同CAD软件的文件格式转换是常见需求。3DXML作为DassaultSystèmes旗下CATIA软件的轻量型三维数据格式,因体积小、便于传输,被广泛用于模型预览和跨平台共享。但当需要在SOLIDWORKS中进行深入设计或工程分析时,需将3DXML格式转换为SOLIDWORKS兼容格式。本文将为技术人员和学生详细介绍转换全流程,并推荐实用的在线转换平台——迪威模型网。一、3</div> </li> <li><a href="/article/127.htm" title="用MiddleGenIDE工具生成hibernate的POJO(根据数据表生成POJO类)" target="_blank">用MiddleGenIDE工具生成hibernate的POJO(根据数据表生成POJO类)</a> <span class="text-muted">AdyZhang</span> <a class="tag" taget="_blank" href="/search/POJO/1.htm">POJO</a><a class="tag" taget="_blank" href="/search/eclipse/1.htm">eclipse</a><a class="tag" taget="_blank" href="/search/Hibernate/1.htm">Hibernate</a><a class="tag" taget="_blank" href="/search/MiddleGenIDE/1.htm">MiddleGenIDE</a> <div>推荐:MiddlegenIDE插件,   是一个Eclipse   插件.     用它可以直接连接到数据库,   根据表按照一定的HIBERNATE规则作出BEAN和对应的XML ,用完后你可以手动删除它加载的JAR包和XML文件!     今天开始试着使用</div> </li> <li><a href="/article/254.htm" title=".9.png" target="_blank">.9.png</a> <span class="text-muted">Cb123456</span> <a class="tag" taget="_blank" href="/search/android/1.htm">android</a> <div>  “点九”是andriod平台的应用软件开发里的一种特殊的图片形式,文件扩展名为:.9.png   智能手机中有自动横屏的功能,同一幅界面会在随着手机(或平板电脑)中的方向传感器的参数不同而改变显示的方向,在界面改变方向后,界面上的图形会因为长宽的变化而产生拉伸,造成图形的失真变形。   我们都知道android平台有多种不同的分辨率,很多控件的切图文件在被放大拉伸后,边</div> </li> <li><a href="/article/381.htm" title="算法的效率" target="_blank">算法的效率</a> <span class="text-muted">天子之骄</span> <a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95%E6%95%88%E7%8E%87/1.htm">算法效率</a><a class="tag" taget="_blank" href="/search/%E5%A4%8D%E6%9D%82%E5%BA%A6/1.htm">复杂度</a><a class="tag" taget="_blank" href="/search/%E6%9C%80%E5%9D%8F%E6%83%85%E5%86%B5%E8%BF%90%E8%A1%8C%E6%97%B6%E9%97%B4/1.htm">最坏情况运行时间</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7O%E9%98%B6/1.htm">大O阶</a><a class="tag" taget="_blank" href="/search/%E5%B9%B3%E5%9D%87%E6%83%85%E5%86%B5%E8%BF%90%E8%A1%8C%E6%97%B6%E9%97%B4/1.htm">平均情况运行时间</a> <div>算法的效率 效率是速度和空间消耗的度量。集中考虑程序的速度,也称运行时间或执行时间,用复杂度的阶(O)这一标准来衡量。空间的消耗或需求也可以用大O表示,而且它总是小于或等于时间需求。   以下是我的学习笔记:   1.求值与霍纳法则,即为秦九韶公式。   2.测定运行时间的最可靠方法是计数对运行时间有贡献的基本操作的执行次数。运行时间与这个计数成正比。 </div> </li> <li><a href="/article/508.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/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a> <div>Java 数据结构 Java工具包提供了强大的数据结构。在Java中的数据结构主要包括以下几种接口和类: 枚举(Enumeration) 位集合(BitSet) 向量(Vector) 栈(Stack) 字典(Dictionary) 哈希表(Hashtable) 属性(Properties) 以上这些类是传统遗留的,在Java2中引入了一种新的框架-集合框架(Collect</div> </li> <li><a href="/article/635.htm" title="MybatisHelloWorld" target="_blank">MybatisHelloWorld</a> <span class="text-muted">3213213333332132</span> <div> //测试入口TestMyBatis package com.base.helloworld.test; import java.io.IOException; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibat</div> </li> <li><a href="/article/762.htm" title="Java|urlrewrite|URL重写|多个参数" target="_blank">Java|urlrewrite|URL重写|多个参数</a> <span class="text-muted">7454103</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/xml/1.htm">xml</a><a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/%E5%B7%A5%E4%BD%9C/1.htm">工作</a> <div> 个人工作经验! 如有不当之处,敬请指点 1.0  web -info 目录下建立     urlrewrite.xml  文件 类似如下: <?xml version="1.0" encoding="UTF-8" ?>   <!DOCTYPE u</div> </li> <li><a href="/article/889.htm" title="达梦数据库+ibatis" target="_blank">达梦数据库+ibatis</a> <span class="text-muted">darkranger</span> <a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/ibatis/1.htm">ibatis</a><a class="tag" taget="_blank" href="/search/SQL+Server/1.htm">SQL Server</a> <div>--插入数据方面 如果您需要数据库自增... 那么在插入的时候不需要指定自增列. 如果想自己指定ID列的值, 那么要设置 set identity_insert  数据库名.模式名.表名; ----然后插入数据; example: create table zhabei.test( id bigint identity(1,1) primary key, nam</div> </li> <li><a href="/article/1016.htm" title="XML 解析 四种方式" target="_blank">XML 解析 四种方式</a> <span class="text-muted">aijuans</span> <a class="tag" taget="_blank" href="/search/android/1.htm">android</a> <div>XML现在已经成为一种通用的数据交换格式,平台的无关性使得很多场合都需要用到XML。本文将详细介绍用Java解析XML的四种方法。 XML现在已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便。对于XML本身的语法知识与技术细节,需要阅读相关的技术文献,这里面包括的内容有DOM(Document Object </div> </li> <li><a href="/article/1143.htm" title="spring中配置文件占位符的使用" target="_blank">spring中配置文件占位符的使用</a> <span class="text-muted">avords</span> <div>1.类 <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.o</div> </li> <li><a href="/article/1270.htm" title="前端工程化-公共模块的依赖和常用的工作流" target="_blank">前端工程化-公共模块的依赖和常用的工作流</a> <span class="text-muted">bee1314</span> <a class="tag" taget="_blank" href="/search/webpack/1.htm">webpack</a> <div>题记: 一个人的项目,还有工程化的问题嘛?   我们在推进模块化和组件化的过程中,肯定会不断的沉淀出我们项目的模块和组件。对于这些沉淀出的模块和组件怎么管理?另外怎么依赖也是个问题? 你真的想这样嘛?   var BreadCrumb = require(‘../../../../uikit/breadcrumb’); //真心ugly。   </div> </li> <li><a href="/article/1397.htm" title="上司说「看你每天准时下班就知道你工作量不饱和」,该如何回应?" target="_blank">上司说「看你每天准时下班就知道你工作量不饱和」,该如何回应?</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/%E9%A1%B9%E7%9B%AE%E7%AE%A1%E7%90%86/1.htm">项目管理</a><a class="tag" taget="_blank" href="/search/%E6%B2%9F%E9%80%9A/1.htm">沟通</a><a class="tag" taget="_blank" href="/search/IT%E8%81%8C%E4%B8%9A%E8%A7%84%E5%88%92/1.htm">IT职业规划</a> <div>问题:上司说「看你每天准时下班就知道你工作量不饱和」,如何回应         正常下班时间6点,只要是6点半前下班的,上司都认为没有加班。   Eno-Bea回答,注重感受,不一定是别人的         虽然我不知道你具体从事什么工作与职业,但是我大概猜测,你是从事一项不太容易出现阶段性成果的工作</div> </li> <li><a href="/article/1524.htm" title="TortoiseSVN,过滤文件" target="_blank">TortoiseSVN,过滤文件</a> <span class="text-muted">征客丶</span> <a class="tag" taget="_blank" href="/search/SVN/1.htm">SVN</a> <div>环境: TortoiseSVN 1.8 配置: 在文件夹空白处右键 选择  TortoiseSVN -> Settings 在 Global ignote pattern 中添加要过滤的文件: 多类型用英文空格分开 *name : 过滤所有名称为 name 的文件或文件夹 *.name : 过滤所有后缀为 name 的文件或文件夹 --------</div> </li> <li><a href="/article/1651.htm" title="【Flume二】HDFS sink细说" target="_blank">【Flume二】HDFS sink细说</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/Flume/1.htm">Flume</a> <div>1. Flume配置   a1.sources=r1 a1.channels=c1 a1.sinks=k1 ###Flume负责启动44444端口 a1.sources.r1.type=avro a1.sources.r1.bind=0.0.0.0 a1.sources.r1.port=44444 a1.sources.r1.chan</div> </li> <li><a href="/article/1778.htm" title="The Eight Myths of Erlang Performance" target="_blank">The Eight Myths of Erlang Performance</a> <span class="text-muted">bookjovi</span> <a class="tag" taget="_blank" href="/search/erlang/1.htm">erlang</a> <div>erlang有一篇guide很有意思: http://www.erlang.org/doc/efficiency_guide 里面有个The Eight Myths of Erlang Performance: http://www.erlang.org/doc/efficiency_guide/myths.html   Myth: Funs are sl</div> </li> <li><a href="/article/1905.htm" title="java多线程网络传输文件(非同步)-2008-08-17" target="_blank">java多线程网络传输文件(非同步)-2008-08-17</a> <span class="text-muted">ljy325</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</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/socket/1.htm">socket</a> <div>利用 Socket 套接字进行面向连接通信的编程。客户端读取本地文件并发送;服务器接收文件并保存到本地文件系统中。 使用说明:请将TransferClient, TransferServer, TempFile三个类编译,他们的类包是FileServer. 客户端: 修改TransferClient: serPort, serIP, filePath, blockNum,的值来符合您机器的系</div> </li> <li><a href="/article/2032.htm" title="读《研磨设计模式》-代码笔记-模板方法模式" target="_blank">读《研磨设计模式》-代码笔记-模板方法模式</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a> <div>声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/ import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet;</div> </li> <li><a href="/article/2159.htm" title="配置心得" target="_blank">配置心得</a> <span class="text-muted">chenyu19891124</span> <a class="tag" taget="_blank" href="/search/%E9%85%8D%E7%BD%AE/1.htm">配置</a> <div>时间就这样不知不觉的走过了一个春夏秋冬,转眼间来公司已经一年了,感觉时间过的很快,时间老人总是这样不停走,从来没停歇过。 作为一名新手的配置管理员,刚开始真的是对配置管理是一点不懂,就只听说咱们公司配置主要是负责升级,而具体该怎么做却一点都不了解。经过老员工的一点点讲解,慢慢的对配置有了初步了解,对自己所在的岗位也慢慢的了解。 做了一年的配置管理给自总结下: 1.改变 从一个以前对配置毫无</div> </li> <li><a href="/article/2286.htm" title="对“带条件选择的并行汇聚路由问题”的再思考" target="_blank">对“带条件选择的并行汇聚路由问题”的再思考</a> <span class="text-muted">comsci</span> <a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E5%B7%A5%E4%BD%9C/1.htm">工作</a><a class="tag" taget="_blank" href="/search/%E8%BD%AF%E4%BB%B6%E6%B5%8B%E8%AF%95/1.htm">软件测试</a><a class="tag" taget="_blank" href="/search/%E5%B5%8C%E5%85%A5%E5%BC%8F/1.htm">嵌入式</a><a class="tag" taget="_blank" href="/search/%E9%A2%86%E5%9F%9F%E6%A8%A1%E5%9E%8B/1.htm">领域模型</a> <div>2008年上半年,我在设计并开发基于”JWFD流程系统“的商业化改进型引擎的时候,由于采用了新的嵌入式公式模块而导致出现“带条件选择的并行汇聚路由问题”(请参考2009-02-27博文),当时对这个问题的解决办法是采用基于拓扑结构的处理思想,对汇聚点的实际前驱分支节点通过算法预测出来,然后进行处理,简单的说就是找到造成这个汇聚模型的分支起点,对这个起始分支节点实际走的路径数进行计算,然后把这个实际</div> </li> <li><a href="/article/2413.htm" title="Oracle 10g 的clusterware 32位 下载地址" target="_blank">Oracle 10g 的clusterware 32位 下载地址</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a> <div>Oracle 10g 的clusterware 32位 下载地址 http://pan.baidu.com/share/link?shareid=531580&uk=421021908 http://pan.baidu.com/share/link?shareid=137223&uk=321552738 http://pan.baidu.com/share/l</div> </li> <li><a href="/article/2540.htm" title="非常好的介绍:Linux定时执行工具cron" target="_blank">非常好的介绍:Linux定时执行工具cron</a> <span class="text-muted">dongwei_6688</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a> <div>Linux经过十多年的发展,很多用户都很了解Linux了,这里介绍一下Linux下cron的理解,和大家讨论讨论。cron是一个Linux 定时执行工具,可以在无需人工干预的情况下运行作业,本文档不讲cron实现原理,主要讲一下Linux定时执行工具cron的具体使用及简单介绍。 新增调度任务推荐使用crontab -e命令添加自定义的任务(编辑的是/var/spool/cron下对应用户的cr</div> </li> <li><a href="/article/2667.htm" title="Yii assets目录生成及修改" target="_blank">Yii assets目录生成及修改</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/yii/1.htm">yii</a> <div>assets的作用是方便模块化,插件化的,一般来说出于安全原因不允许通过url访问protected下面的文件,但是我们又希望将module单独出来,所以需要使用发布,即将一个目录下的文件复制一份到assets下面方便通过url访问。 assets设置对应的方法位置 \framework\web\CAssetManager.php   assets配置方法 在m</div> </li> <li><a href="/article/2794.htm" title="mac工作软件推荐" target="_blank">mac工作软件推荐</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/mac/1.htm">mac</a> <div>mac上的Terminal + bash + screen组合现在已经非常好用了,但是还是经不起iterm+zsh+tmux的冲击。在同事的强烈推荐下,趁着升级mac系统的机会,顺便也切换到iterm+zsh+tmux的环境下了。 我为什么要要iterm2 切换过来也是脑袋一热的冲动,我也调查过一些资料,看了下iterm的一些优点: * 兼容性好,远程服务器 vi 什么的低版本能很好兼</div> </li> <li><a href="/article/2921.htm" title="Memcached(三)、封装Memcached和Ehcache" target="_blank">Memcached(三)、封装Memcached和Ehcache</a> <span class="text-muted">frank1234</span> <a class="tag" taget="_blank" href="/search/memcached/1.htm">memcached</a><a class="tag" taget="_blank" href="/search/ehcache/1.htm">ehcache</a><a class="tag" taget="_blank" href="/search/spring+ioc/1.htm">spring ioc</a> <div>本文对Ehcache和Memcached进行了简单的封装,这样对于客户端程序无需了解ehcache和memcached的差异,仅需要配置缓存的Provider类就可以在二者之间进行切换,Provider实现类通过Spring IoC注入。 cache.xml <?xml version="1.0" encoding="UTF-8"?> </div> </li> <li><a href="/article/3048.htm" title="Remove Duplicates from Sorted List II" target="_blank">Remove Duplicates from Sorted List II</a> <span class="text-muted">hcx2013</span> <a class="tag" taget="_blank" href="/search/remove/1.htm">remove</a> <div>Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numbers from the original list. For example,Given 1->2->3->3->4->4->5,</div> </li> <li><a href="/article/3175.htm" title="Spring4新特性——注解、脚本、任务、MVC等其他特性改进" target="_blank">Spring4新特性——注解、脚本、任务、MVC等其他特性改进</a> <span class="text-muted">jinnianshilongnian</span> <a class="tag" taget="_blank" href="/search/spring4/1.htm">spring4</a> <div>Spring4新特性——泛型限定式依赖注入 Spring4新特性——核心容器的其他改进 Spring4新特性——Web开发的增强 Spring4新特性——集成Bean Validation 1.1(JSR-349)到SpringMVC  Spring4新特性——Groovy Bean定义DSL Spring4新特性——更好的Java泛型操作API  Spring4新</div> </li> <li><a href="/article/3302.htm" title="MySQL安装文档" target="_blank">MySQL安装文档</a> <span class="text-muted">liyong0802</span> <a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a> <div>  工作中用到的MySQL可能安装在两种操作系统中,即Windows系统和Linux系统。以Linux系统中情况居多。   安装在Windows系统时与其它Windows应用程序相同按照安装向导一直下一步就即,这里就不具体介绍,本文档只介绍Linux系统下MySQL的安装步骤。   Linux系统下安装MySQL分为三种:RPM包安装、二进制包安装和源码包安装。二</div> </li> <li><a href="/article/3429.htm" title="使用VS2010构建HotSpot工程" target="_blank">使用VS2010构建HotSpot工程</a> <span class="text-muted">p2p2500</span> <a class="tag" taget="_blank" href="/search/HotSpot/1.htm">HotSpot</a><a class="tag" taget="_blank" href="/search/OpenJDK/1.htm">OpenJDK</a><a class="tag" taget="_blank" href="/search/VS2010/1.htm">VS2010</a> <div>1. 下载OpenJDK7的源码:      http://download.java.net/openjdk/jdk7      http://download.java.net/openjdk/      2. 环境配置     ▶</div> </li> <li><a href="/article/3556.htm" title="Oracle实用功能之分组后列合并" target="_blank">Oracle实用功能之分组后列合并</a> <span class="text-muted">seandeng888</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E7%BB%84/1.htm">分组</a><a class="tag" taget="_blank" href="/search/%E5%AE%9E%E7%94%A8%E5%8A%9F%E8%83%BD/1.htm">实用功能</a><a class="tag" taget="_blank" href="/search/%E5%90%88%E5%B9%B6/1.htm">合并</a> <div>1       实例解析 由于业务需求需要对表中的数据进行分组后进行合并的处理,鉴于Oracle10g没有现成的函数实现该功能,且该功能如若用JAVA代码实现会比较复杂,因此,特将SQL语言的实现方式分享出来,希望对大家有所帮助。如下: 表test 数据如下: ID,SUBJECTCODE,DIMCODE,VALUE 1&nbs</div> </li> <li><a href="/article/3683.htm" title="Java定时任务注解方式实现" target="_blank">Java定时任务注解方式实现</a> <span class="text-muted">tuoni</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a><a class="tag" taget="_blank" href="/search/xml/1.htm">xml</a><a class="tag" taget="_blank" href="/search/jni/1.htm">jni</a> <div>Spring 注解的定时任务,有如下两种方式: 第一种: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"  xmlns:xsi="http</div> </li> <li><a href="/article/3810.htm" title="11大Java开源中文分词器的使用方法和分词效果对比" target="_blank">11大Java开源中文分词器的使用方法和分词效果对比</a> <span class="text-muted">yangshangchuan</span> <a class="tag" taget="_blank" href="/search/word%E5%88%86%E8%AF%8D%E5%99%A8/1.htm">word分词器</a><a class="tag" taget="_blank" href="/search/ansj%E5%88%86%E8%AF%8D%E5%99%A8/1.htm">ansj分词器</a><a class="tag" taget="_blank" href="/search/Stanford%E5%88%86%E8%AF%8D%E5%99%A8/1.htm">Stanford分词器</a><a class="tag" taget="_blank" href="/search/FudanNLP%E5%88%86%E8%AF%8D%E5%99%A8/1.htm">FudanNLP分词器</a><a class="tag" taget="_blank" href="/search/HanLP%E5%88%86%E8%AF%8D%E5%99%A8/1.htm">HanLP分词器</a> <div>本文的目标有两个: 1、学会使用11大Java开源中文分词器 2、对比分析11大Java开源中文分词器的分词效果 本文给出了11大Java开源中文分词的使用方法以及分词结果对比代码,至于效果哪个好,那要用的人结合自己的应用场景自己来判断。 11大Java开源中文分词器,不同的分词器有不同的用法,定义的接口也不一样,我们先定义一个统一的接口: /** * 获取文本的所有分词结果, 对比</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>