Linux下使用PHP实现word转html

最近项目遇到一个需求,网页上传docx文档,将其内容导入到富文本编辑器中。
  • 方案一:phpword读取word内容,将内容放进编辑器;
    结果:文档中带有超链接的文字统统被过滤掉了,原因不明,百度谷歌亦不得其解。遂放弃!

  • 方案二:使用windows下的COM组件,但是本人环境均是Linux,遂又放弃!

  • 方案三:使用LibOffice读取word内容,将其转换为html代码。

实现步骤:(以centos为例)
  1. 安装LibOffice:
    yum install libreoffice
    很多都是下载安装包啥啥的,本人懒,就这么着!
  2. 为了防止中文乱码,咱们再来装上中文语言支持:
    yum -y install libreoffice-langpack-zh-Han*
  3. 为了能够命令行启动,再来安装一下一个支持库:
    yum install libreoffice-headless
  4. 安装unoconv;LibOffice可以方便的打开多文档格式并按需进行转换,但要一次处理大量文件或要编写脚本进行转换时,仅用LibOffice就难以胜任了。 用unoconv就可以轻松地实现利用LibOffice可以打开的文档的转换.
wget https://raw.githubusercontent.com/dagwieers/unoconv/master/unoconv

chmod +x unoconv
ln -s /usr/libreoffice/unoconv /usr/bin/unoconv

yum install unoconv
  1. 接下来就是PHP操作环节(TP5为例):
  • 上传文件的处理
public function index()
    {
        if (\request()->file("file")) {
            $file = \request()->file('file');
            $info = $file->move('./uploads/word2html');
            if ($info) {
                $path = '/uploads/word2html/' . $info->getSaveName();
                $content = $this->word_import($path);
                $res = [
                    'code' => 1,
                    'msg' => 'OK',
                    'data' => $content,
                ];
                return \json_encode($res);
            }
        }
    }
  • 对word文档的转换处理

注意:shell_exec是Linux的命令,所以文件的路径必须是Linux命令能够执行到的路径!!!还有一点更重要:用命令行执行php 转换可行的时候,浏览器却不执行,原因在于代码里的注释,好好看!没有sudoers的话请先安装sudo

function word_import($source)
    {
        $dir = dirname($source);
        $filename = strstr(basename($source), '.', true) . '.html';
        $html = $dir . '/html/' . $filename;

        /*这里能够执行的条件:必须把www加入root权限组,并且设置为不需要root密码:设置步骤:打开/etc/sudoers文件,100行左右的地方加上:
        'www        ALL=(ALL)   NOPASSWD: ALL'这么一句*/
        shell_exec('sudo /usr/bin/unoconv -f html -o ' . '/mnt/d/www/wwwroot/www.demo.com/public' . $html . ' ' . '/mnt/d/www/wwwroot/www.demo.com/public' . $source);

        $content = file_get_contents('.' . $html);

        //取body内容,去除样式等其他
        preg_match("/(.*?)<\/body>/is", $content, $match);
        $body = trim($match[0]);
        //设置保留标签,利用php自带的函数清除html格式。保留指定标签
        $body = strip_tags($body, "


    1. <video>"); //图片保存到本地 $str = str_replace('<img src="', '<img src="' . $dir . '/html/', $body); return $str; } </code></pre> </article> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1718011147229147136"></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">你可能感兴趣的:(Linux下使用PHP实现word转html)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1880638108244963328.htm" title="使用Docker部署PostgreSQL服务器" target="_blank">使用Docker部署PostgreSQL服务器</a> <span class="text-muted">shelby_loo</span> <a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/postgresql/1.htm">postgresql</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a> <div>Yo,大家好!今天我要分享的是在阿贝云免费服务器上使用Docker部署PostgreSQL服务器的技术教程。配置虽然是1核CPU、1G内存、10G硬盘、5M带宽,但性能已经完全升任了!首先,让我们简要介绍一下使用到的Docker和PostgreSQL软件。Docker是一个强大的容器化平台,而PostgreSQL则是一款开源的关系型数据库管理系统,两者结合使用能让我们的工作更加高效!现在,让我们来</div> </li> <li><a href="/article/1880636848846467072.htm" title="vue3 + ts + vite 工程化开发Tampermonkey【油猴、篡改猴】脚本" target="_blank">vue3 + ts + vite 工程化开发Tampermonkey【油猴、篡改猴】脚本</a> <span class="text-muted">雷特130</span> <a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/vue/1.htm">vue</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/javascript/1.htm">javascript</a> <div>项目概述vue3+ts+vite工程化开发Tampermonkey【油猴、篡改猴】脚本。编译后生成Tampermonkey脚本,导入到Tampermonkey插件中直接使用。项目背景在与后端用Swagger联调API时,或者后端在用Swagger自测API时,一刷新Swagger页面时就需要输入Token,非常麻烦。于是想实现自动填充Token,从而实现自动授权。没有自动授权时的效果如下图所示:在</div> </li> <li><a href="/article/1880635588416172032.htm" title="【1.3计算机组成与体系结构】CISC与RISC" target="_blank">【1.3计算机组成与体系结构】CISC与RISC</a> <span class="text-muted">Leo❀</span> <a class="tag" taget="_blank" href="/search/%E7%B3%BB%E7%BB%9F%E5%88%86%E6%9E%90%E5%B8%88/1.htm">系统分析师</a><a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E4%BA%BA%E7%94%9F/1.htm">程序人生</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0%E6%96%B9%E6%B3%95/1.htm">学习方法</a><a class="tag" taget="_blank" href="/search/%E8%BD%AF%E8%80%83/1.htm">软考</a><a class="tag" taget="_blank" href="/search/%E7%B3%BB%E7%BB%9F%E5%88%86%E6%9E%90%E5%B8%88/1.htm">系统分析师</a> <div>目录1.CISC与RISC的含义2.区别对比3.例题1.CISC与RISC的含义CISC复杂指令集计算机,(CISC:ComplexInstructionSetComputer)简称CISCRISC精简指令集计算机,(RISC:ReducedInstructionSetComputer)是一种指令长度较短的计算机,其运行速度比CISC要快2.区别对比指令系统类型指令寻址方式实现方式其它CISC(复</div> </li> <li><a href="/article/1880635334740471808.htm" title="Flink 使用 Kafka 作为数据源时遇到了偏移量提交失败的问题" target="_blank">Flink 使用 Kafka 作为数据源时遇到了偏移量提交失败的问题</a> <span class="text-muted">java我跟你拼了</span> <a class="tag" taget="_blank" href="/search/%E5%BC%82%E5%B8%B8%E7%AC%94%E8%AE%B0/1.htm">异常笔记</a><a class="tag" taget="_blank" href="/search/flink/1.htm">flink</a><a class="tag" taget="_blank" href="/search/kafka/1.htm">kafka</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a> <div>具体的错误日志21:43:57.069[KafkaFetcherforSource:CustomSource->Map->Filter(1/1)#2]ERRORorg.apache.kafka.clients.consumer.internals.ConsumerCoordinator-[ConsumerclientId=consumer-my-group-6,groupId=my-group]O</div> </li> <li><a href="/article/1880635335830990848.htm" title="高级java每日一道面试题-2025年01月17日-JDBC篇-JDBC 编程有哪些步骤?" target="_blank">高级java每日一道面试题-2025年01月17日-JDBC篇-JDBC 编程有哪些步骤?</a> <span class="text-muted">java我跟你拼了</span> <a class="tag" taget="_blank" href="/search/java%E6%AF%8F%E6%97%A5%E4%B8%80%E9%81%93%E9%9D%A2%E8%AF%95%E9%A2%98/1.htm">java每日一道面试题</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%8A%A0%E8%BD%BD%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F/1.htm">加载驱动程序</a><a class="tag" taget="_blank" href="/search/%E5%BB%BA%E7%AB%8B%E6%95%B0%E6%8D%AE%E5%BA%93%E8%BF%9E%E6%8E%A5/1.htm">建立数据库连接</a><a class="tag" taget="_blank" href="/search/%E5%88%9B%E5%BB%BASQL/1.htm">创建SQL</a><a class="tag" taget="_blank" href="/search/%E8%AF%AD%E5%8F%A5%E8%B0%83%E7%94%A8/1.htm">语句调用</a><a class="tag" taget="_blank" href="/search/%E6%89%A7%E8%A1%8C%E6%9F%A5%E8%AF%A2%E6%88%96%E6%9B%B4%E6%96%B0/1.htm">执行查询或更新</a><a class="tag" taget="_blank" href="/search/%E5%A4%84%E7%90%86%E7%BB%93%E6%9E%9C%E9%9B%86/1.htm">处理结果集</a><a class="tag" taget="_blank" href="/search/%E5%85%B3%E9%97%AD%E8%B5%84%E6%BA%90/1.htm">关闭资源</a> <div>如果有遗漏,评论区告诉我进行补充面试官:JDBC编程有哪些步骤?我回答:在Java高级面试中,关于JDBC(JavaDatabaseConnectivity)编程的讨论通常会围绕如何使用JDBC进行数据库操作以及最佳实践展开。以下是JDBC编程的基本步骤及其详解:1.加载驱动程序为了与特定类型的数据库通信,首先需要加载相应的JDBC驱动程序。这是通过调用Class.forName()方法来实现的,</div> </li> <li><a href="/article/1880635080557260800.htm" title="JAVA 18 新特性详解" target="_blank">JAVA 18 新特性详解</a> <span class="text-muted">沉浮yu大海</span> <a class="tag" taget="_blank" href="/search/Java18/1.htm">Java18</a> <div>Java18是Java语言的一次重要更新,引入了一系列新特性和改进,使开发者能够编写更高效、更安全的代码。本文将详细介绍Java18中的一些主要新特性,并提供相应的代码示例,以帮助开发者更好地理解和使用这些新特性。1.简介Java18的发布标志着Java语言在性能、安全性和开发效率方面的又一次飞跃。本次更新不仅带来了新的语言特性,还包括了一些实验性功能和工具的改进。下面,我们将依次介绍这些新特性。</div> </li> <li><a href="/article/1880634573809840128.htm" title="避免检测:安卓模拟器/安卓虚拟机/root环境" target="_blank">避免检测:安卓模拟器/安卓虚拟机/root环境</a> <span class="text-muted">圣道寺</span> <a class="tag" taget="_blank" href="/search/%E6%97%A5%E5%B8%B8%E4%BD%BF%E7%94%A8/1.htm">日常使用</a><a class="tag" taget="_blank" href="/search/android/1.htm">android</a> <div>目录标题可选方案问题解决XposedInstallermagisk安装报错:Unabletodetecttargetimage如何避免模拟器被检测可选方案如果你想要避免某些安卓应用检测到你正在使用安卓虚拟机,你可以尝试以下方法。但请注意,这些操作可能违反了应用的使用条款,因此请在遵守相关法规和条款的前提下进行操作。修改虚拟机设备信息:一些应用会检查设备的制造商、型号等信息。你可以使用一些工具来修改</div> </li> <li><a href="/article/1880634320826200064.htm" title="使用Docker部署一个使用PostgreSQL数据库的Springboot项目" target="_blank">使用Docker部署一个使用PostgreSQL数据库的Springboot项目</a> <span class="text-muted">youtian.L</span> <a class="tag" taget="_blank" href="/search/Docker%E7%B3%BB%E5%88%97%E6%95%99%E7%A8%8B/1.htm">Docker系列教程</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/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/boot/1.htm">boot</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%AE%B9%E5%99%A8/1.htm">容器</a> <div>1-我们将建造什么?出于演示目的,我们将创建一个简单的食谱管理应用程序,其中包含两个实体:Chef和Recipe。编辑2-创建一个springboot应用程序为此,如果您使用IntelliJidea.并选择以下依赖项:SpringWeb,PostgreSQLDriver当然SpringDataJPA还要确保选择maven作为项目经理。编辑安装项目后,将其解压缩并使用您喜欢的IDE打开它。如第一部分</div> </li> <li><a href="/article/1880633186111778816.htm" title="Golang面试题四(并发编程)" target="_blank">Golang面试题四(并发编程)</a> <span class="text-muted">os-lee</span> <a class="tag" taget="_blank" href="/search/go%E9%AB%98%E7%BA%A7/1.htm">go高级</a><a class="tag" taget="_blank" href="/search/golang/1.htm">golang</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%90%8E%E7%AB%AF/1.htm">后端</a> <div>目录1.Go常见的并发模型2.哪些方法安全读写共享变量3.如何排查数据竞争问题4.Go有哪些同步原语1.Mutex(互斥锁)2.RWMutex(读写互斥锁)3.Atomic3.1.使用场景3.2.整型操作3.3.指针操作3.4.使用示例4.Channel使用场景使用示例5.sync.WaitGroup使用场景使用示例内部结构关键方法源码解析内部实现细节6.sync.Once使用场景使用示例实现原理</div> </li> <li><a href="/article/1880631169947594752.htm" title="ubuntu创建普通用户,删除用户,修改用户密码,修改用户名" target="_blank">ubuntu创建普通用户,删除用户,修改用户密码,修改用户名</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/ubuntu/1.htm">ubuntu</a><a class="tag" taget="_blank" href="/search/ubuntu/1.htm">ubuntu</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> <div>创建用户名为user的用户1.进入root权限账号su2.添加普通用户名useradduser3.设置普通用户密码passwduser4.修改用户登入后所使用的shellusermod-s/bin/bashuser5.设置家目录usermod-d/home/useruser6.创建家目录目录mkdir/home/user7.改变目录拥有者和组,(将/home/user下的所有文件的用户组改成use</div> </li> <li><a href="/article/1880631166923501568.htm" title="Linux系统下DPDK源码编译,testpmd的使用以及编译过程中遇到的问题,以及高版本DPDK meson+ninja编译步骤" target="_blank">Linux系统下DPDK源码编译,testpmd的使用以及编译过程中遇到的问题,以及高版本DPDK meson+ninja编译步骤</a> <span class="text-muted">温柔如酒</span> <a class="tag" taget="_blank" href="/search/DPDK/1.htm">DPDK</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/%E7%BD%91%E7%BB%9C/1.htm">网络</a> <div>一.dpdk-20.081.首先,下载以及编译依赖库安装:ubuntu:apt-getinstalllibnuma-devcentos:yuminstalllibnuma-devel以及yuminstallnumactl-devel官网下载DPDK源码,DPDK官网:dpdk.org以dpdk-20.08为例,下载完成后,cd到源码所在路径1.指定DPDK安装路径,设置所需的环境变量并转到源目录e</div> </li> <li><a href="/article/1880631163781967872.htm" title="[2847]基于JAVA的蜂蜜销售智慧管理系统的设计与实现" target="_blank">[2847]基于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/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/%E6%AF%95%E4%B8%9A%E8%AE%BE%E8%AE%A1/1.htm">毕业设计</a><a class="tag" taget="_blank" href="/search/%E8%AF%BE%E7%A8%8B%E8%AE%BE%E8%AE%A1/1.htm">课程设计</a> <div>毕业设计(论文)开题报告表姓名学院专业班级题目基于JAVA的蜂蜜销售智慧管理系统的设计与实现指导老师(一)选题的背景和意义在当前信息化高速发展的时代,企业管理方式也在不断更新和进步。其中,企业销售管理是企业运营管理的重要环节,对于企业的持续发展具有重要的影响。传统的销售管理模式已经不能满足现代企业的需求,因此,基于Java的蜂蜜销售智慧管理系统的设计与实现应运而生。首先,从背景上来看,随着信息技术</div> </li> <li><a href="/article/1880631162909552640.htm" title="QT Web UI设计与实现" target="_blank">QT Web UI设计与实现</a> <span class="text-muted">QT性能优化QT原理源码QT界面美化</span> <a class="tag" taget="_blank" href="/search/qt/1.htm">qt</a><a class="tag" taget="_blank" href="/search/qt6.3/1.htm">qt6.3</a><a class="tag" taget="_blank" href="/search/qt5/1.htm">qt5</a><a class="tag" taget="_blank" href="/search/QT%E6%95%99%E7%A8%8B/1.htm">QT教程</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a> <div>QTWebUI设计与实现补天云火鸟博客创作软件补天云网站1Qt_Web_UI概述1.1Qt_Web框架基础1.1.1Qt_Web框架基础Qt_Web框架基础Qt_Web框架基础引言,跨平台UI开发的利器在当前软件开发领域中,跨平台应用的需求日益增长,这不仅限于操作系统之间的兼容性,更多的是对多终端设备(如桌面、移动设备、Web)的统一用户体验追求。QtFramework作为一款功能全面、易于上手且</div> </li> <li><a href="/article/1880630910622167040.htm" title="QML音视频实时通信" target="_blank">QML音视频实时通信</a> <span class="text-muted">QT性能优化QT原理源码QT界面美化</span> <a class="tag" taget="_blank" href="/search/qt/1.htm">qt</a><a class="tag" taget="_blank" href="/search/qt6.3/1.htm">qt6.3</a><a class="tag" taget="_blank" href="/search/qt5/1.htm">qt5</a><a class="tag" taget="_blank" href="/search/QT%E6%95%99%E7%A8%8B/1.htm">QT教程</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/%E9%9F%B3%E8%A7%86%E9%A2%91/1.htm">音视频</a> <div>QML音视频实时通信使用AI技术辅助生成QT界面美化视频课程QT性能优化视频课程QT原理与源码分析视频课程QTQMLC++扩展开发视频课程免费QT视频课程您可以看免费1000+个QT技术视频免费QT视频课程QT统计图和QT数据可视化视频免费看免费QT视频课程QT性能优化视频免费看免费QT视频课程QT界面美化视频免费看1QML与音视频实时通信概述1.1QML音视频技术发展背景1.1.1QML音视频技</div> </li> <li><a href="/article/1880630784214233088.htm" title="QML Web云应用开发" target="_blank">QML Web云应用开发</a> <span class="text-muted">QT性能优化QT原理源码QT界面美化</span> <a class="tag" taget="_blank" href="/search/qt/1.htm">qt</a><a class="tag" taget="_blank" href="/search/qt6.3/1.htm">qt6.3</a><a class="tag" taget="_blank" href="/search/qt5/1.htm">qt5</a><a class="tag" taget="_blank" href="/search/QT%E6%95%99%E7%A8%8B/1.htm">QT教程</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a> <div>QMLWeb云应用开发使用AI技术辅助生成QT界面美化视频课程QT性能优化视频课程QT原理与源码分析视频课程QTQMLC++扩展开发视频课程免费QT视频课程您可以看免费1000+个QT技术视频免费QT视频课程QT统计图和QT数据可视化视频免费看免费QT视频课程QT性能优化视频免费看免费QT视频课程QT界面美化视频免费看1QML与Web技术概述1.1QML与Web技术简介1.1.1QML与Web技术</div> </li> <li><a href="/article/1880630657852436480.htm" title="QT硬件接口设计" target="_blank">QT硬件接口设计</a> <span class="text-muted">QT性能优化QT原理源码QT界面美化</span> <a class="tag" taget="_blank" href="/search/qt/1.htm">qt</a><a class="tag" taget="_blank" href="/search/qt6.3/1.htm">qt6.3</a><a class="tag" taget="_blank" href="/search/qt5/1.htm">qt5</a><a class="tag" taget="_blank" href="/search/QT%E6%95%99%E7%A8%8B/1.htm">QT教程</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a> <div>QT硬件接口设计使用AI技术辅助生成QT界面美化视频课程QT性能优化视频课程QT原理与源码分析视频课程QTQMLC++扩展开发视频课程免费QT视频课程您可以看免费1000+个QT技术视频免费QT视频课程QT统计图和QT数据可视化视频免费看免费QT视频课程QT性能优化视频免费看免费QT视频课程QT界面美化视频免费看1QT硬件接口设计概述1.1QT硬件接口设计简介1.1.1QT硬件接口设计简介QT硬件</div> </li> <li><a href="/article/1880630652743774208.htm" title="【QT教程】QML音视频效果实现 QT音视频" target="_blank">【QT教程】QML音视频效果实现 QT音视频</a> <span class="text-muted">QT性能优化QT原理源码QT界面美化</span> <a class="tag" taget="_blank" href="/search/qt/1.htm">qt</a><a class="tag" taget="_blank" href="/search/qt6.3/1.htm">qt6.3</a><a class="tag" taget="_blank" href="/search/qt5/1.htm">qt5</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/QT%E6%95%99%E7%A8%8B/1.htm">QT教程</a> <div>QML音视频效果实现使用AI技术辅助生成QT界面美化视频课程QT性能优化视频课程QT原理与源码分析视频课程QTQMLC++扩展开发视频课程免费QT视频课程您可以看免费1000+个QT技术视频免费QT视频课程QT统计图和QT数据可视化视频免费看免费QT视频课程QT性能优化视频免费看免费QT视频课程QT界面美化视频免费看1QML与音视频效果1.1QML简介1.1.1QML简介QML简介QML简介QML</div> </li> <li><a href="/article/1880630017558376448.htm" title="MySQL第三次实验" target="_blank">MySQL第三次实验</a> <span class="text-muted">Z字小熊饼干爱吃保安</span> <a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a> <div>一、建库建表1、创建数据库mydb11_stu并使用数据库mysql>createdatabasemydb11_stu;QueryOK,1rowaffected(0.01sec)mysql>showdatabases;+--------------------+|Database|+--------------------+|information_schema||mydb10_city||myd</div> </li> <li><a href="/article/1880629805137850368.htm" title="Vue 开发者的 React 实战指南:状态管理篇" target="_blank">Vue 开发者的 React 实战指南:状态管理篇</a> <span class="text-muted"></span> <div>对于Vue开发者来说,React的状态管理可能是最需要转变思维方式的部分之一。本文将从Vue开发者熟悉的角度出发,详细介绍React的状态管理方案,并通过实战示例帮助你快速掌握。本地状态管理对比Vue的响应式系统在Vue中,我们习惯使用data选项来定义组件的本地状态:{{count}}+1exportdefault{data(){return{count:0}},methods:{increme</div> </li> <li><a href="/article/1880629639395733504.htm" title="vue3大屏可视化项目,包含地图,各种 图表,全屏适配方案" target="_blank">vue3大屏可视化项目,包含地图,各种 图表,全屏适配方案</a> <span class="text-muted">m0_74825526</span> <a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</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/ecmascript/1.htm">ecmascript</a> <div>项目设计1.始终满屏适配,这种方案一般用在屏幕变化不会特别的大项目,项目基本上不会用在比例非常不协调的大屏,设计图按1920*1080标准电脑屏幕比,所用的屏幕也基本在这个比例左右2.涉及图表知识点简单,主要有自定义色系,环形图,堆叠柱状图,折线图3.使用高德地图标点做中间地图满屏适配方案实现思路1宽度使用vw,高度使用vh,严格按照设计图换算,并且留出缓冲空间2具体算法,设计图为1920_108</div> </li> <li><a href="/article/1880629261279227904.htm" title="Vue的动态绑定" target="_blank">Vue的动态绑定</a> <span class="text-muted">m0_74169345</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>Vue的动态绑定是其核心功能之一,通过它可以实现数据与视图之间的双向绑定,当数据发生变化时,视图会自动更新,反之亦然。以下是几种常见的动态绑定方式:数据绑定插值表达式:使用双大括号{{}}将数据插入到模板中。例如{{message}},当message数据发生变化时,页面上对应的位置会自动更新显示新的值。这种方式主要用于文本内容的绑定。v-text指令:与插值表达式类似,也是用于绑定文本内容。例如</div> </li> <li><a href="/article/1880629134892265472.htm" title="Docker部署PostgreSQL" target="_blank">Docker部署PostgreSQL</a> <span class="text-muted">盖盖衍上_染染熊</span> <a class="tag" taget="_blank" href="/search/%E4%B8%AD%E9%97%B4%E4%BB%B6/1.htm">中间件</a><a class="tag" taget="_blank" href="/search/postgresql/1.htm">postgresql</a> <div>1.指令:#拉取镜像dockerpullpostgres#创建容器dockerrun--namepostgres-ePOSTGRES_PASSWORD=postgres-p5432:5432-v/mydata/docker/postgres/data:/var/lib/postgresql/data-dpostgres#或:dockerrun\--namepostgres\-ePOSTGRES_P</div> </li> <li><a href="/article/1880629045926883328.htm" title="WebSocket 安全实践:从认证到加密" target="_blank">WebSocket 安全实践:从认证到加密</a> <span class="text-muted"></span> <div>在前三篇文章中,我们深入探讨了WebSocket的基础原理、服务端开发和客户端实现。今天,让我们把重点放在安全性上,看看如何构建一个安全可靠的WebSocket应用。我曾在一个金融项目中,通过实施多层安全机制,成功防御了多次恶意攻击尝试。安全挑战WebSocket应用面临的主要安全挑战包括:身份认证数据加密跨站点WebSocket劫持(CSWSH)拒绝服务攻击(DoS)中间人攻击让我们逐一解决这些</div> </li> <li><a href="/article/1880629041946488832.htm" title="WebSocket 基础入门:协议原理与实现" target="_blank">WebSocket 基础入门:协议原理与实现</a> <span class="text-muted"></span> <div>在现代网页应用中,WebSocket就像是一条永不断开的高速公路,让客户端和服务器之间的实时通信变得畅通无阻。记得在一个实时协作项目中,我们通过使用WebSocket,让用户的操作延迟从300ms降到了50ms。今天,我想和大家分享WebSocket的基础知识和实现方案。WebSocket是什么?WebSocket是一种在单个TCP连接上进行全双工通信的协议。它提供了在客户端和服务器之间建立持久连</div> </li> <li><a href="/article/1880628253392171008.htm" title="Python基于matplotlib-scalebar库绘制比例尺" target="_blank">Python基于matplotlib-scalebar库绘制比例尺</a> <span class="text-muted">懒大王爱吃狼</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/matplotlib/1.htm">matplotlib</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/%E8%87%AA%E5%8A%A8%E5%8C%96/1.htm">自动化</a><a class="tag" taget="_blank" href="/search/Python%E5%9F%BA%E7%A1%80/1.htm">Python基础</a><a class="tag" taget="_blank" href="/search/opencv/1.htm">opencv</a> <div>在Python中,你可以使用matplotlib-scalebar库来在图表上绘制比例尺。这个库是matplotlib的一个扩展,专门用于在绘图时添加比例尺。以下是一个简单的示例,展示了如何使用matplotlib-scalebar来绘制带有比例尺的图表。首先,你需要安装matplotlib-scalebar库。如果你还没有安装它,可以使用以下命令来安装:pipinstallmatplotlib-</div> </li> <li><a href="/article/1880628001083813888.htm" title="docekr在 x86d的 环境下打包arm64架构的docker包" target="_blank">docekr在 x86d的 环境下打包arm64架构的docker包</a> <span class="text-muted">学习中的程序媛~</span> <a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/%E5%AE%B9%E5%99%A8/1.htm">容器</a> <div>buildx简介buildx可用于在单个平台上实现跨CPU架构编译。buildx的实现依赖QEMU(某开源模拟器),支持多种CPU架构,如ARM、Power-PC和RISC-V。需要注意:buildx推送镜像时,不会走主机的hosts文件,默认使用https协议关于QEMUQEMU可以模拟一个完整的操作系统(开销较大)。QEMU还有一种用户态模式,基于binfmt_misc模拟目标硬件的用户空间,</div> </li> <li><a href="/article/1880626741932781568.htm" title="2、Flink 在 DataStream 和 Table 之间进行转换" target="_blank">2、Flink 在 DataStream 和 Table 之间进行转换</a> <span class="text-muted">猫猫爱吃小鱼粮</span> <a class="tag" taget="_blank" href="/search/Flink/1.htm">Flink</a><a class="tag" taget="_blank" href="/search/SQL/1.htm">SQL</a><a class="tag" taget="_blank" href="/search/flink/1.htm">flink</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a> <div>1.概述TableAPI和DataStreamAPI都可以处理有界流和无界流。DataStreamAPI提供了流处理的基础(时间、状态和数据流管理);TableAPI抽象了许多内部内容,并提供了一个结构化和声明性的API;在处理历史数据时,需要管理有边界的流;无边界流出现在实时处理场景中,这些场景可能需要先使用历史数据进行初始化。为了高效执行,这两个API都以优化的批处理执行模式处理有界流。由于批</div> </li> <li><a href="/article/1880625481221468160.htm" title="具体毕设方案100例之第4例STM32智能家居烟雾温度火灾防盗报警系统设计版本1" target="_blank">具体毕设方案100例之第4例STM32智能家居烟雾温度火灾防盗报警系统设计版本1</a> <span class="text-muted">李学长单片机毕设</span> <a class="tag" taget="_blank" href="/search/%E5%8D%95%E7%89%87%E6%9C%BA%E6%AF%95%E8%AE%BE%E5%85%B7%E4%BD%93%E6%96%B9%E6%A1%88/1.htm">单片机毕设具体方案</a><a class="tag" taget="_blank" href="/search/stm32/1.htm">stm32</a><a class="tag" taget="_blank" href="/search/%E6%99%BA%E8%83%BD%E5%AE%B6%E5%B1%85/1.htm">智能家居</a><a class="tag" taget="_blank" href="/search/%E6%AF%95%E4%B8%9A%E8%AE%BE%E8%AE%A1/1.htm">毕业设计</a><a class="tag" taget="_blank" href="/search/51%E5%8D%95%E7%89%87%E6%9C%BA/1.htm">51单片机</a><a class="tag" taget="_blank" href="/search/%E5%B5%8C%E5%85%A5%E5%BC%8F%E7%A1%AC%E4%BB%B6/1.htm">嵌入式硬件</a> <div>使用STM32单片机进行数据处理任务。通过LCD1602液晶显示屏实时显示当前的烟雾浓度值。利用按键功能,用户可以设置烟雾浓度报警的上限值。当检测到的烟雾浓度超过预设的上限值时,启动蜂鸣器进行声光报警。</div> </li> <li><a href="/article/1880625354775785472.htm" title="vue 前端优化性能优化方法" target="_blank">vue 前端优化性能优化方法</a> <span class="text-muted">lfl18326162160</span> <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/javascript/1.htm">javascript</a> <div>1.列表使用唯一keyv-for="iteminactiveList":key="item.id"原因是不使用key或者列表的index作为key的时候,每个元素对应的位置关系都是index,直接导致我们插入的元素到后面的全部元素,对应的位置关系都发生了变更,所以在patch过程中会将它们全都执行更新操作,再重新渲染。这可不是我们想要的,我们希望的是渲染添加的那一个元素,其他四个元素不做任何变更,</div> </li> <li><a href="/article/1880624597779410944.htm" title="Python WebSocket服务器介绍" target="_blank">Python WebSocket服务器介绍</a> <span class="text-muted">一只会写程序的猫</span> <a class="tag" taget="_blank" href="/search/Python/1.htm">Python</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/websocket/1.htm">websocket</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a> <div>PythonWebSocket服务器介绍WebSocket是一种在Web浏览器和服务器之间实现全双工通信的协议。它允许服务器主动发送消息到浏览器,而不需要浏览器发起请求。Python提供了许多库和框架来实现WebSocket服务器,本文将介绍如何使用Python构建一个简单的WebSocket服务器。WebSocket协议和工作原理WebSocket协议是通过HTTP协议的升级实现的。在HTTP协</div> </li> <li><a href="/article/89.htm" title="java责任链模式" target="_blank">java责任链模式</a> <span class="text-muted">3213213333332132</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E8%B4%A3%E4%BB%BB%E9%93%BE%E6%A8%A1%E5%BC%8F/1.htm">责任链模式</a><a class="tag" taget="_blank" href="/search/%E6%9D%91%E6%B0%91%E5%91%8A%E5%8E%BF%E9%95%BF/1.htm">村民告县长</a> <div>责任链模式,通常就是一个请求从最低级开始往上层层的请求,当在某一层满足条件时,请求将被处理,当请求到最高层仍未满足时,则请求不会被处理。 就是一个请求在这个链条的责任范围内,会被相应的处理,如果超出链条的责任范围外,请求不会被相应的处理。 下面代码模拟这样的效果: 创建一个政府抽象类,方便所有的具体政府部门继承它。 package 责任链模式; /** * </div> </li> <li><a href="/article/216.htm" title="linux、mysql、nginx、tomcat 性能参数优化" target="_blank">linux、mysql、nginx、tomcat 性能参数优化</a> <span class="text-muted">ronin47</span> <div>一、linux 系统内核参数 /etc/sysctl.conf文件常用参数 net.core.netdev_max_backlog = 32768 #允许送到队列的数据包的最大数目 net.core.rmem_max = 8388608 #SOCKET读缓存区大小 net.core.wmem_max = 8388608 #SOCKET写缓存区大</div> </li> <li><a href="/article/343.htm" title="php命令行界面" target="_blank">php命令行界面</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a><a class="tag" taget="_blank" href="/search/cli/1.htm">cli</a> <div>常用选项 php -v php -i PHP安装的有关信息 php -h 访问帮助文件 php -m 列出编译到当前PHP安装的所有模块 执行一段代码 php -r 'echo "hello, world!";' php -r 'echo "Hello, World!\n";' php -r '$ts = filemtime("</div> </li> <li><a href="/article/470.htm" title="Filter&Session" target="_blank">Filter&Session</a> <span class="text-muted">171815164</span> <a class="tag" taget="_blank" href="/search/session/1.htm">session</a> <div>Filter HttpServletRequest requ = (HttpServletRequest) req; HttpSession session = requ.getSession(); if (session.getAttribute("admin") == null) { PrintWriter out = res.ge</div> </li> <li><a href="/article/597.htm" title="连接池与Spring,Hibernate结合" target="_blank">连接池与Spring,Hibernate结合</a> <span class="text-muted">g21121</span> <a class="tag" taget="_blank" href="/search/Hibernate/1.htm">Hibernate</a> <div>        前几篇关于Java连接池的介绍都是基于Java应用的,而我们常用的场景是与Spring和ORM框架结合,下面就利用实例学习一下这方面的配置。         1.下载相关内容:     &nb</div> </li> <li><a href="/article/724.htm" title="[简单]mybatis判断数字类型" target="_blank">[简单]mybatis判断数字类型</a> <span class="text-muted">53873039oycg</span> <a class="tag" taget="_blank" href="/search/mybatis/1.htm">mybatis</a> <div>       昨天同事反馈mybatis保存不了int类型的属性,一直报错,错误信息如下:       Caused by: java.lang.NumberFormatException: For input string: "null" at sun.mis</div> </li> <li><a href="/article/851.htm" title="项目启动时或者启动后ava.lang.OutOfMemoryError: PermGen space" target="_blank">项目启动时或者启动后ava.lang.OutOfMemoryError: PermGen space</a> <span class="text-muted">程序员是怎么炼成的</span> <a class="tag" taget="_blank" href="/search/eclipse/1.htm">eclipse</a><a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a><a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a><a class="tag" taget="_blank" href="/search/catalina.sh/1.htm">catalina.sh</a><a class="tag" taget="_blank" href="/search/eclipse.ini/1.htm">eclipse.ini</a> <div>   在启动比较大的项目时,因为存在大量的jsp页面,所以在编译的时候会生成很多的.class文件,.class文件是都会被加载到jvm的方法区中,如果要加载的class文件很多,就会出现方法区溢出异常 java.lang.OutOfMemoryError: PermGen space.     解决办法是点击eclipse里的tomcat,在</div> </li> <li><a href="/article/978.htm" title="我的crm小结" target="_blank">我的crm小结</a> <span class="text-muted">aijuans</span> <a class="tag" taget="_blank" href="/search/crm/1.htm">crm</a> <div>各种原因吧,crm今天才完了。主要是接触了几个新技术: Struts2、poi、ibatis这几个都是以前的项目中用过的。 Jsf、tapestry是这次新接触的,都是界面层的框架,用起来也不难。思路和struts不太一样,传说比较简单方便。不过个人感觉还是struts用着顺手啊,当然springmvc也很顺手,不知道是因为习惯还是什么。jsf和tapestry应用的时候需要知道他们的标签、主</div> </li> <li><a href="/article/1105.htm" title="spring里配置使用hibernate的二级缓存几步" target="_blank">spring里配置使用hibernate的二级缓存几步</a> <span class="text-muted">antonyup_2006</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/Hibernate/1.htm">Hibernate</a><a class="tag" taget="_blank" href="/search/xml/1.htm">xml</a><a class="tag" taget="_blank" href="/search/cache/1.htm">cache</a> <div>.在spring的配置文件中 applicationContent.xml,hibernate部分加入 xml 代码 <prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop> <prop key="hi</div> </li> <li><a href="/article/1232.htm" title="JAVA基础面试题" target="_blank">JAVA基础面试题</a> <span class="text-muted">百合不是茶</span> <a class="tag" taget="_blank" href="/search/%E6%8A%BD%E8%B1%A1%E5%AE%9E%E7%8E%B0%E6%8E%A5%E5%8F%A3/1.htm">抽象实现接口</a><a class="tag" taget="_blank" href="/search/String%E7%B1%BB/1.htm">String类</a><a class="tag" taget="_blank" href="/search/%E6%8E%A5%E5%8F%A3%E7%BB%A7%E6%89%BF/1.htm">接口继承</a><a class="tag" taget="_blank" href="/search/%E6%8A%BD%E8%B1%A1%E7%B1%BB%E7%BB%A7%E6%89%BF%E5%AE%9E%E4%BD%93%E7%B1%BB/1.htm">抽象类继承实体类</a><a class="tag" taget="_blank" href="/search/%E8%87%AA%E5%AE%9A%E4%B9%89%E5%BC%82%E5%B8%B8/1.htm">自定义异常</a> <div>/*   * 栈(stack):主要保存基本类型(或者叫内置类型)(char、byte、short、   *int、long、 float、double、boolean)和对象的引用,数据可以共享,速度仅次于   * 寄存器(register),快于堆。堆(heap):用于存储对象。   */  &</div> </li> <li><a href="/article/1359.htm" title="让sqlmap文件 "继承" 起来" target="_blank">让sqlmap文件 "继承" 起来</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><a class="tag" taget="_blank" href="/search/sqlmap/1.htm">sqlmap</a> <div>        多个项目中使用ibatis , 和数据库表对应的 sqlmap文件(增删改查等基本语句),dao, pojo 都是由工具自动生成的, 现在将这些自动生成的文件放在一个单独的工程中,其它项目工程中通过jar包来引用 ,并通过"继承"为基础的sqlmap文件,dao,pojo 添加新的方法来满足项</div> </li> <li><a href="/article/1486.htm" title="精通Oracle10编程SQL(13)开发触发器" target="_blank">精通Oracle10编程SQL(13)开发触发器</a> <span class="text-muted">bijian1013</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><a class="tag" taget="_blank" href="/search/plsql/1.htm">plsql</a> <div>/* *开发触发器 */ --得到日期是周几 select to_char(sysdate+4,'DY','nls_date_language=AMERICAN') from dual; select to_char(sysdate,'DY','nls_date_language=AMERICAN') from dual; --建立BEFORE语句触发器 CREATE O</div> </li> <li><a href="/article/1613.htm" title="【EhCache三】EhCache查询" target="_blank">【EhCache三】EhCache查询</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/ehcache/1.htm">ehcache</a> <div>本文介绍EhCache查询缓存中数据,EhCache提供了类似Hibernate的查询API,可以按照给定的条件进行查询。   要对EhCache进行查询,需要在ehcache.xml中设定要查询的属性   数据准备 @Before public void setUp() { //加载EhCache配置文件 Inpu</div> </li> <li><a href="/article/1740.htm" title="CXF框架入门实例" target="_blank">CXF框架入门实例</a> <span class="text-muted">白糖_</span> <a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/%E6%A1%86%E6%9E%B6/1.htm">框架</a><a class="tag" taget="_blank" href="/search/webservice/1.htm">webservice</a><a class="tag" taget="_blank" href="/search/servlet/1.htm">servlet</a> <div>CXF是apache旗下的开源框架,由Celtix + XFire这两门经典的框架合成,是一套非常流行的web service框架。 它提供了JAX-WS的全面支持,并且可以根据实际项目的需要,采用代码优先(Code First)或者 WSDL 优先(WSDL First)来轻松地实现 Web Services 的发布和使用,同时它能与spring进行完美结合。 在apache cxf官网提供</div> </li> <li><a href="/article/1867.htm" title="angular.equals" target="_blank">angular.equals</a> <span class="text-muted">boyitech</span> <a class="tag" taget="_blank" href="/search/AngularJS/1.htm">AngularJS</a><a class="tag" taget="_blank" href="/search/AngularJS+API/1.htm">AngularJS API</a><a class="tag" taget="_blank" href="/search/AnguarJS+%E4%B8%AD%E6%96%87API/1.htm">AnguarJS 中文API</a><a class="tag" taget="_blank" href="/search/angular.equals/1.htm">angular.equals</a> <div>angular.equals   描述: 比较两个值或者两个对象是不是 相等。还支持值的类型,正则表达式和数组的比较。   两个值或对象被认为是 相等的前提条件是以下的情况至少能满足一项: 两个值或者对象能通过=== (恒等) 的比较 两个值或者对象是同样类型,并且他们的属性都能通过angular</div> </li> <li><a href="/article/1994.htm" title="java-腾讯暑期实习生-输入一个数组A[1,2,...n],求输入B,使得数组B中的第i个数字B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]" target="_blank">java-腾讯暑期实习生-输入一个数组A[1,2,...n],求输入B,使得数组B中的第i个数字B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>这道题的具体思路请参看 何海涛的微博:http://weibo.com/zhedahht import java.math.BigInteger; import java.util.Arrays; public class CreateBFromATencent { /** * 题目:输入一个数组A[1,2,...n],求输入B,使得数组B中的第i个数字B[i]=A</div> </li> <li><a href="/article/2121.htm" title="FastDFS 的安装和配置 修订版" target="_blank">FastDFS 的安装和配置 修订版</a> <span class="text-muted">Chen.H</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/fastDFS/1.htm">fastDFS</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E5%B8%83%E5%BC%8F%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F/1.htm">分布式文件系统</a> <div>FastDFS Home:http://code.google.com/p/fastdfs/ 1. 安装 http://code.google.com/p/fastdfs/wiki/Setup http://hi.baidu.com/leolance/blog/item/3c273327978ae55f93580703.html 安装libevent (对libevent的版本要求为1.4.</div> </li> <li><a href="/article/2248.htm" title="[强人工智能]拓扑扫描与自适应构造器" target="_blank">[强人工智能]拓扑扫描与自适应构造器</a> <span class="text-muted">comsci</span> <a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a> <div>       当我们面对一个有限拓扑网络的时候,在对已知的拓扑结构进行分析之后,发现在连通点之后,还存在若干个子网络,且这些网络的结构是未知的,数据库中并未存在这些网络的拓扑结构数据....这个时候,我们该怎么办呢?       那么,现在我们必须设计新的模块和代码包来处理上面的问题</div> </li> <li><a href="/article/2375.htm" title="oracle merge into的用法" target="_blank">oracle merge into的用法</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/merget+into/1.htm">merget into</a> <div>Oracle中merge into的使用 http://blog.csdn.net/yuzhic/article/details/1896878 http://blog.csdn.net/macle2010/article/details/5980965 该命令使用一条语句从一个或者多个数据源中完成对表的更新和插入数据. ORACLE 9i 中,使用此命令必须同时指定UPDATE 和INSE</div> </li> <li><a href="/article/2502.htm" title="不适合使用Hadoop的场景" target="_blank">不适合使用Hadoop的场景</a> <span class="text-muted">datamachine</span> <a class="tag" taget="_blank" href="/search/hadoop/1.htm">hadoop</a> <div>转自:http://dev.yesky.com/296/35381296.shtml。   Hadoop通常被认定是能够帮助你解决所有问题的唯一方案。 当人们提到“大数据”或是“数据分析”等相关问题的时候,会听到脱口而出的回答:Hadoop!  实际上Hadoop被设计和建造出来,是用来解决一系列特定问题的。对某些问题来说,Hadoop至多算是一个不好的选择,对另一些问题来说,选择Ha</div> </li> <li><a href="/article/2629.htm" title="YII findAll的用法" target="_blank">YII findAll的用法</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/yii/1.htm">yii</a> <div>看文档比较糊涂,其实挺简单的: $predictions=Prediction::model()->findAll("uid=:uid",array(":uid"=>10));   第一个参数是选择条件:”uid=10″。其中:uid是一个占位符,在后面的array(“:uid”=>10)对齐进行了赋值; 更完善的查询需要</div> </li> <li><a href="/article/2756.htm" title="vim 常用 NERDTree 快捷键" target="_blank">vim 常用 NERDTree 快捷键</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/vim/1.htm">vim</a> <div>下面给大家整理了一些vim NERDTree的常用快捷键了,这里几乎包括了所有的快捷键了,希望文章对各位会带来帮助。 切换工作台和目录 ctrl + w + h 光标 focus 左侧树形目录ctrl + w + l 光标 focus 右侧文件显示窗口ctrl + w + w 光标自动在左右侧窗口切换ctrl + w + r 移动当前窗口的布局位置 o 在已有窗口中打开文件、目录或书签,并跳</div> </li> <li><a href="/article/2883.htm" title="Java把目录下的文件打印出来" target="_blank">Java把目录下的文件打印出来</a> <span class="text-muted">蕃薯耀</span> <a class="tag" taget="_blank" href="/search/%E5%88%97%E5%87%BA%E7%9B%AE%E5%BD%95%E4%B8%8B%E7%9A%84%E6%96%87%E4%BB%B6/1.htm">列出目录下的文件</a><a class="tag" taget="_blank" href="/search/%E6%96%87%E4%BB%B6%E5%A4%B9%E4%B8%8B%E9%9D%A2%E7%9A%84%E6%96%87%E4%BB%B6/1.htm">文件夹下面的文件</a><a class="tag" taget="_blank" href="/search/%E7%9B%AE%E5%BD%95%E4%B8%8B%E7%9A%84%E6%96%87%E4%BB%B6/1.htm">目录下的文件</a> <div>Java把目录下的文件打印出来 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 蕃薯耀 2015年7月11日 11:02:</div> </li> <li><a href="/article/3010.htm" title="linux远程桌面----VNCServer与rdesktop" target="_blank">linux远程桌面----VNCServer与rdesktop</a> <span class="text-muted">hanqunfeng</span> <a class="tag" taget="_blank" href="/search/Desktop/1.htm">Desktop</a> <div>windows远程桌面到linux,需要在linux上安装vncserver,并开启vnc服务,同时需要在windows下使用vnc-viewer访问Linux。vncserver同时支持linux远程桌面到linux。   linux远程桌面到windows,需要在linux上安装rdesktop,同时开启windows的远程桌面访问。   下面分别介绍,以windo</div> </li> <li><a href="/article/3137.htm" title="guava中的join和split功能" target="_blank">guava中的join和split功能</a> <span class="text-muted">jackyrong</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>guava库中,包含了很好的join和split的功能,例子如下: 1) 将LIST转换为使用字符串连接的字符串    List<String> names = Lists.newArrayList("John", "Jane", "Adam", "Tom"); </div> </li> <li><a href="/article/3264.htm" title="Web开发技术十年发展历程" target="_blank">Web开发技术十年发展历程</a> <span class="text-muted">lampcy</span> <a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/%E6%B5%8F%E8%A7%88%E5%99%A8/1.htm">浏览器</a><a class="tag" taget="_blank" href="/search/html5/1.htm">html5</a> <div>回顾web开发技术这十年发展历程: Ajax 03年的时候我上六年级,那时候网吧刚在小县城的角落萌生。传奇,大话西游第一代网游一时风靡。我抱着试一试的心态给了网吧老板两块钱想申请个号玩玩,然后接下来的一个小时我一直在,注,册,账,号。 彼时网吧用的512k的带宽,注册的时候,填了一堆信息,提交,页面跳转,嘣,”您填写的信息有误,请重填”。然后跳转回注册页面,以此循环。我现在时常想,如果当时a</div> </li> <li><a href="/article/3391.htm" title="架构师之mima-----------------mina的非NIO控制IOBuffer(说得比较好)" target="_blank">架构师之mima-----------------mina的非NIO控制IOBuffer(说得比较好)</a> <span class="text-muted">nannan408</span> <a class="tag" taget="_blank" href="/search/buffer/1.htm">buffer</a> <div>1.前言。   如题。 2.代码。   IoService IoService是一个接口,有两种实现:IoAcceptor和IoConnector;其中IoAcceptor是针对Server端的实现,IoConnector是针对Client端的实现;IoService的职责包括: 1、监听器管理 2、IoHandler 3、IoSession</div> </li> <li><a href="/article/3518.htm" title="ORA-00054:resource busy and acquire with NOWAIT specified" target="_blank">ORA-00054:resource busy and acquire with NOWAIT specified</a> <span class="text-muted">Everyday都不同</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/session/1.htm">session</a><a class="tag" taget="_blank" href="/search/Lock/1.htm">Lock</a> <div>[Oracle] 今天对一个数据量很大的表进行操作时,出现如题所示的异常。此时表明数据库的事务处于“忙”的状态,而且被lock了,所以必须先关闭占用的session。   step1,查看被lock的session:   select t2.username, t2.sid, t2.serial#, t2.logon_time from v$locked_obj</div> </li> <li><a href="/article/3645.htm" title="javascript学习笔记" target="_blank">javascript学习笔记</a> <span class="text-muted">tntxia</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a> <div>  javascript里面有6种基本类型的值:number、string、boolean、object、function和undefined。number:就是数字值,包括整数、小数、NaN、正负无穷。string:字符串类型、单双引号引起来的内容。boolean:true、false object:表示所有的javascript对象,不用多说function:我们熟悉的方法,也就是</div> </li> <li><a href="/article/3772.htm" title="Java enum的用法详解" target="_blank">Java enum的用法详解</a> <span class="text-muted">xieke90</span> <a class="tag" taget="_blank" href="/search/enum/1.htm">enum</a><a class="tag" taget="_blank" href="/search/%E6%9E%9A%E4%B8%BE/1.htm">枚举</a> <div>Java中枚举实现的分析:     示例:  public static enum SEVERITY{ INFO,WARN,ERROR }     enum很像特殊的class,实际上enum声明定义的类型就是一个类。 而这些类都是类库中Enum类的子类      (java.l</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>