实战

Docker实战笔记:Docker简介(一)

落爺英雄遲暮 提交于 2021-02-06 07:42:22
Docker实战笔记 [TOC] 提纲 此Docker系列学习笔记,根据 Reboot教育 的运维自动化部分课程整理而成,补充少量个人理解以及练习日志(部分日志有删减)。 Docker简介(一) Docker简介(二) Docker管理系统(一) Docker管理系统(二) Docker管理系统(三) Docker原理-namespace和文件系统 Docker原理-徒手创建一个docker容器 Docker、etcd构建服务自发现体系 Docker生态系统:k8s、etcd等 etcd分布式一致性算法paxos、raft Docker简介(一) 百度百科: Docker 为什么要使用Docker 变复杂的安装配置为一条命令解决:秒级启动镜像,资源消耗极少; Containers vs VMs VMs = Server + Host OS + Hypervisor(Type2)+ Guest OS + Bins/Libs +(App A | App A' | App B) Containers = Server + Host OS + Docker Engine + ((Bins/Libs +App A | App A') | (Bins/Libs +App B)) 结论:Docker去除了传统虚机的Guest OS层,免除了对应overhead Docker Engine

PyQt 实战:简易便签软件的制作

妖精的绣舞 提交于 2019-12-10 07:51:38
便签软件 为什么写便签软件 一直都有做一个笔记软件的想法,而我给笔记软件设计的一个特色功能就是它的便签功能。不过由于各种原因,笔记软件无法完成,但是他的便签功能也可以脱离笔记单独存在。不过功能也随着有着相应的变化 我们可能每天都需要一个计划表来帮助我们更加高效的工作,在windows上我们可能会使用它自带的便签软件,也有一些其他的改进版,但是我认为他们不够友好。于是我非常期待一个功能出色的便签。(我自己写的这个也只能说是个雏形,需要以后进行加工) 它具有什么特点 我和几个同学交流过,从用户角度上讲,一个便签首先要简易,其中操作需要简单,界面不需要花哨,要实用。 所以在windows上,可以运行hotkey.py。可以使用全局快捷键:~。按住该键一段时间,界面显示,松开,界面即隐藏。 便签的开发 功能 添加、删除、修改和编辑“事件”,托盘图标,windows全局快捷键(已实现) 闹钟提醒功能 (未实现) 对于“事件”的保存 (关机重启之后仍然可以显示之前的未完成“事件”)(未实现) 桌面浮动提醒,界面的动画交互 ... 等 (未实现) 对于这些功能,也不是要单单的实现这些功能,我们可以通过一些手段让这些普通的功能更加受用户的喜爱,比如说:闹钟提示:你可以添加一个贴心的小功能进去,当是、用户使用电脑时间过久,便签自动进行一些人性化的提醒之类。(这只是功能发散的一个方向) 便签的界面截图

java并发实战(一)

烂漫一生 提交于 2019-12-06 12:08:13
###多线程优势 ####1.发挥多处理器的强大能力 ####2. 建模的简单性 Servlet(单例多线程)开发人员不需要了解有多少个请求同一时刻要被处理,也不需要了解套接字是否被阻塞 在框架的作用下 直接可以当成但线程来操作 ####3. 响应更灵敏的用户界面 ###线程带来的风险 ####1.安全性 多个线程会访问共享的内存的地址,并且是并发运行的,由于缓存的存在, 这里是列表文本导致线程可能读到不正确的数据。(java 提供了多种同步机制来解决这个问题) ####2.活跃性问题(死锁) A线程等待B资源的释放,结果B资源一直不释放该资源,导致A永久的等待下去 ####3.性能问题 线程之前切换、锁等待、线程调度等和多线程相关的操作都会影响到性能 ###参考 java并发编程实战第一章 来源: oschina 链接: https://my.oschina.net/u/200745/blog/809715

Servlet 3.0 实战:异步 Servlet 与 Comet 风格应用程序

会有一股神秘感。 提交于 2019-12-01 17:18:33
概述 作为 Java EE 6 体系中重要成员的 JSR 315 规范,将 Servlet API 最新的版本从 2.5 提升到了 3.0,这是近 10 年来 Servlet 版本号最大的一次升级,此次升级中引入了若干项令开发人员兴奋的特性,如: 可插拔的 Web 架构(Web framework pluggability)。 通过 Annotations 代替传统 web.xml 配置文件的 EOD 易于开发特性(ease of development)。 Serlvet 异步处理支持。 安全性提升,如 Http Only Cookies、login/logout 机制。 其它改进,如文件上传的直接支持等。 其中,在开源社区中讨论得最多的就是 Servlet 异步处理的支持,所谓 Servlet 异步处理,包括了非阻塞的输入/输出、异步事件通知、延迟 request 处理以及延迟 response 输出等几种特性。这些特性大多并非 JSR 315 规范首次提出,譬如非阻塞输入/输出,在 Tomcat 6.0 中就提供了 Advanced NIO 技术以便一个 Servlet 线程能处理多个 Http Request,Jetty、GlassFish 也曾经有过类似的支持。但是使用这些 Web 容器提供的高级特性时,因为现有的 Servlet API 没有对这类应用的支持

jQuery实战开发表单验证与自动完成提示插件

六眼飞鱼酱① 提交于 2019-11-30 14:06:32
本文是介绍两个最常用的jQuery插件. 分别用于表单验证和自动完成提示(类似google suggest). 研究别人的作品真是一件花时间而且痛苦的过程. 当然也和本人英文不好有关. 总觉得控件作者写了很多文档但是都不够系统, 需要深入研究很多的实例后才能了解作者的思路.所以学习和研究一个插件需要很高成本, 如果发现了Bug并修复需要的成本也是未知数(本次我花了较少的时间解决了自动完成提示插件的一个中文bug, 但是如果复杂的bug就不会这么简单了.). 对于简单应用我首先推荐上文中的jQuery UI. 但是jQuery UI解决的问题有限. 使用jQuery插件是我们最后的一个好办法---还算是好办法, 起码比自己开发要好吧? 很多jQuery的插件编码异常优美, 看一看艺龙首页现在的城市输入框控件, 除了需要为输入框手工添加很多很多属性(onkeyup, onkeydown等等), 而且还不够通用, 占用服务器资源和网络资源.但是当初也是花费了很久的时间完成的作品. 站在巨人的肩膀上, 让我感觉写脚本和写设计C#程序一样, 都有高度和深度可以挖掘. 除了使用作者开发好的功能, 还可以学习如何开发和封装javascript控件. 看过优秀的jQuery插件作者的代码和设计思想后, 常常自叹设计水平差距居然如此之大, 增加自认为脚本高手, 比较过后就是C

maven 从入门到实战

最后都变了- 提交于 2019-11-27 07:46:52
1.什么是Maven 我们要开发一个Java 项目,为了保证编译通过, 通常情况下会去寻找jar包,这样很容易造成项目的臃肿, maven提供了很好的项目开发规范与工具, maven 统一管理了jar包,接下来让我们来玩玩maven吧 2.安装Maven Maven 是Apache 基金会的顶级项目, 我们可以从 http://maven.apache.org/ 下载一个apache-maven-3.0.4-bin.zip 文件,将其解压到D:/maven 目录下 这里需要配置一下环境变量: M2_HOME=D:/maven; MAVEN_OPTS=-Xms128m -Xmx512m 以上M2_HOME 是必要配置的, 如果想要Maven跑的快一点, 可以根据自己的情况设置MAVEN_OPTS 现在我们可以打开cmd,输入: mvn -v 看到一下信息说明 Maven 安装成功了 3.Maven 仓库 Maven给我们带来最直接的帮助就是jar 包得到了统一的管理, 这些jar包存在本地仓库,位于C:.m2目录下(也可以通过maven\conf\setting.xml 修改默认地址) 实际上本地仓库可以理解为缓存, 因为项目会先从本地仓库中获取jar包, 当无法获取指定jar包的时候,本地仓库会从远程仓库中下载jar包, 并放入本地仓库中,以备将来使用,

自译Solr in action中文版

喜你入骨 提交于 2019-11-27 01:54:52
目录 Part 1 初识 SOLR 1 Solr 简介 2 开始熟悉 Solr 3 Solr 核心概念 4 配置 Solr 5 建立索引 6 文本分析 Part 2 Solr 核心功能 7 发起查询 和 处理结果 8 分类索引 9 命中结果高亮 10 查询建议引导 11 结果分组 合并域 12 将Solr产品化 Part 3 Solr 高级应用 13 扩展Solr云 14 多语言搜索 15 复杂数据操作 16 相关性的调整 17 跳出思维定势 附录: A 从源代码编译Solr B 玩转Solr社区 来源: oschina 链接: https://my.oschina.net/u/1474384/blog/288564

Solr In Action 中文版 第一章(一)

我是研究僧i 提交于 2019-11-27 01:54:28
第一章 Solr 简介 本章速览: ·搜索引擎处理的数据特性 ·常见搜索引擎用例 · Solr 核心模块介绍 ·选择 Solr 的理由 ·功能概述 伴随着社交媒体、云计算、移动互联网和大数据等技术的高速发展,我们正迎来一个令人激动的计算时代。软件架构师们开始面对的主要挑战之一,便是如何处理全球巨大的用户基数所产生及使用的海量数据。此外,用户们开始期待在线软件应用永远都是稳定可用的,并且能够一直保持响应,这对应用就提出了更高的可扩展性和稳定性需求。为了满足这些需求,一些专用的非关系型数据存储及处理技术,统称为 NoSQL ( Not Only SQL )技术,开始获得越来越多的青睐。这些系统并不强制要求将所有的数据都存储在曾经成为事实上标准的关系型数据模型当中,而是共用了一个通用的设计模式,在数据存储处理引擎和特定的数据类型之间进行匹配。换句话说, NoSQL 技术为处理特定数据类型的特定类别问题做了性能优化。由于对可扩展性的需求和性能的需求不断增加,导致各种 NoSQL 技术和传统关系型数据库开始混合使用,这种跨界架构变得越来越流行。过去那种一种数据处理方案就能吃遍天下的时代已经一去不复返了。 本书主要讨论一种特殊的 NoSQL 技术,即 Apache Solr 。和她的其他非关系型兄弟们一样, Solr 也为一类特定问题的处理做了优化。具体来说, Solr 是一个可扩展的

Solr In Action 中文版 第一章(三)

非 Y 不嫁゛ 提交于 2019-11-27 01:54:17
1.1 为什么选用 Solr ? 在本节中,我们希望可以提供一些关键信息来帮助于你判断 Solr 是否是贵公司技术方案的正确选择。我们先从 Solr 吸引软件架构师的方面说起。 1.1 软件架构师眼中的 Solr 在评估一项新技术时,软件架构师必须要考虑一系列的因素,其中就包括系统的稳定性,可伸缩性,还有容错性。 Solr 在这三方面的得分都很不错。 说到稳定性, Solr 是一个由活跃的开源社区和经验丰富的代码提交者共同维护的一项成熟技术。 Solr 和 Lucene 的新用户们通常会惊讶于项目的发布方式,可能他们以前都是等待某个项目的官方 Release 版,没听说过这种从分支上直接 pull 下来的方式。不管你的公司是否接受这种方式,我们并不是建议你这么做,我们想表明的是, Lucene 和 Solr 项目中自动测试模块的测试深度和宽度是值得信任的。简单来说,如果你从分支上拿到了一个 nightly build ,如果所有的自动测试都能通过,那你就可以放心的肯定所有的核心功能都是 ok 的了。 我们在 1.2.6 节中已经接触到了 Solr 实现可伸缩性扩展的方法,在 1.2.7 节中也讨论了容错性的问题。作为一个架构师,你可能最好奇的是 Solr 的可伸缩性功能和容错性功能的局限到底在哪里。首先,你需要知道在 Solr4 中,分片功能和复制备份功能都被重写了

Solr In Action 中文版 第一章 (二)

喜欢而已 提交于 2019-11-26 15:49:35
1.1 Solr 到底是什么? 在本节中,我们通过从头设计一个搜索应用来介绍 Solr 的关键组件。这个过程将有助于你理解 Solr 的功能,以及设计这些功能的初衷。不过在我们开始介绍 Solr 的功能特性之前,还是要先澄清一下 Solr 并不具有的一些性质: 1) Solr 并不是一个像 Google 或是 Bing 那样的 web 搜索引擎 2) Solr 和网站优化中经常提到的搜索引擎 SEO 优化没有任何关系 好了,现在假设我们准备为潜在的购房客户设计一个不动产搜索的网络应用。该应用的核心用例场景是通过网页浏览器来搜索全美国范围内的房子。图 1.1 描述了这个虚拟应用的界面截图。不用太在意 UI 界面的简陋,这只是一个便于我们讨论的可视化模型。重点是通过这个例子,我们来看看 Solr 到底可以提供哪些类型的搜索体验。 让我们先快速浏览一下图 1.1 描绘了哪些 Solr 的关键特性。我们从左上角开始,沿顺时针方向看。首先, Solr 提供了强大的功能来支持关键字搜索框。正如我们在 1.1.2 中讨论的那样,一个表现出色的关键字搜索功能,需要背后强大的复杂架构的支持。好在 Solr 所提供的这个复杂架构可以迅速的安装使用。具体来说, Solr 提供了拼写检查功能、用户输入的自动补全建议功能、同义词近义词处理功能、短语查询功能、以及用于处理类似 ”buying a house“