948注注册商标怎么打出来组出来?注册商标怎么打出来样去做到选号自由呢??

中国代孕首选品牌
矮油 , 你要找的页面去月球啦....
您也可以访问:来源:《中国企业家》作者:张弘优必选创始人兼CEO周剑一直保持着夜里工作,第二日午后才出现在公司的习惯。大步流星、行色匆匆,是他在公司的节奏。但在人形机器人这个前沿的领域,快节奏并不是优必选突进的关键。优必选从2008年依靠自主研发伺服舵机起家,至今已实现人形机器人的量产。在此之前,为外界所熟知的是软银、、富士康同时注资的人形机器人Pepper以及本田公司研发的面向家庭服务的仿人形机器人ASIMO。在和国内外AI领域的机器人企业接触交流的过程中,周剑意识到,在人形机器人领域,日本等国家在技术上无疑拥有绝对的优势,中国整个行业起步虽晚,但目前在人形机器人的产业化道路上走得更快一些。据中商产业研究院预计,2018年中国服务机器人销售额将近60亿元。公开数据显示,2014年,优必选的销售额是200万元,2016年就增长到了3亿元。周剑称,优必选有上市计划,公司正做审计调整,目前的具体销售数据不方便透露,但2018年优必选的销售额计划突破20亿元,2019年优必选销售额将达40亿到50亿元。迅猛增长的业绩吸引资本频频下注。自2013年完成天使轮融资后,优必选相继拿下、科大讯飞的A轮和鼎晖资本、中信金石B轮融资。今年5月3日,拿下领投的8.2亿美元C轮融资,刷新AI领域单轮融资纪录,成为估值50亿美元的独角兽。值得注意的是,在经历了前些年的投资热潮之后,国内资本对机器人行业的追逐渐趋理性。松禾成长基金董事总经理冯华告诉《中国企业家》,相对于2016年机器人最火爆时,近两年资本进入更为谨慎,&小心下手&。他认为不断迭代的优必选人形机器人具有&陪伴成长&的功能,这也是在优必选C轮融资时选择下注看重的因素之一。周剑告诉《中国企业家》,早在去年7月就敲定了的融资,之所以一直拖到今年才落定,主要是因为资本涌入得比较多,超出了最初预设,&于是将财务投资改成了战略投资,关键是看合作伙伴的资源是否能够为我们带来场景应用与落地&。2017年12月,优必选联合腾讯云小微发布了智能教育娱乐人形机器人Qrobot Alpha;今年2月,优必选联手腾讯叮当助手推出个性化智能教育机器人Alpha Ebot。周剑表示,未来与腾讯在AI层面将展开深入合作,并围绕着人形机器人这一智能终端共同打造服务与内容生态。周剑认为,从PC端到手机都是被动的交互,未来主动交互的是机器人。他告诉《中国企业家》,腾讯看中的正是优必选机器人的主动交互能力,在交互领域占有优势的腾讯重视硬件的改变带来的机会与价值,&我相信他()一直在考虑下一代交互设备的变化,未来的入口是汽车、是机器人还是什么,我觉得腾讯特别看重。&融资敲定前,周剑去和马化腾见面,马化腾主要提及机器人的&主观能动性&&&主动打招呼和挖掘用户的需求,而这种数据的意义是现在的手机、音箱所不可比拟的。而未来AI之争的本质离不开数据的争夺,在拿到腾讯的投资后,外界有声音质疑优必选&站队&,周剑在接受访时表示不会站队,并称和阿里也有类似的产品合作在谈,他认为未来优必选在机器人硬件、运动控制方面会占据技术制高点,&这不是BAT等互联网巨头能做或者会去做的事&。今年4月24日,周剑还在其朋友圈晒出了和在泰国同框的照片。&护城河&在去年CES上,优必选展出了一款可以自主上下楼梯的双足机器人Walker,周剑介绍,Walker分&两步走&:先是实现to B、后实现to C服务家庭成员。而这至少需要五年的时间,此外还需要大量资金、技术、人才的投入。不同于优必选在伺服舵机技术上研发十载,国内也有不少公司很快就开始了商业化布局。比如今年5月底发布的第一季度财报首次出现机器人业务且被大篇幅提及,据悉下半年将实现量产。周剑一直思考短期内做出的集成机器人产品能否形成核心优势。他曾注意到市面上一些没有使用伺服舵机技术的智能积木产品,体验效果并不好。去年接受本刊专访时,周剑提及自己最初投入五年时间研发机器人的&关节&,主要是为了降低成本,建立技术壁垒。如今优必选认为自己已全面掌握了从2公斤到500公斤不同大小的伺服舵机的量产能力,周剑说优必选深圳工厂的伺服舵机月产量可以达到60万个到100万个,而每个舵机的单价做到了大幅度低于市场价。一位不具名的业内人士告诉《中国企业家》,深圳周边聚集了很多做集成机器人的小作坊,也有不少做伺服舵机的公司,成本普遍低廉,难有技术保证。对于优必选而言,如果不久的将来出现一家突破伺服舵机技术且其成本更低,这会不会构成一种威胁?或许对手在悄然崛起。冯华告诉本刊,国内现在有不少和团队在做人形机器人,比如成立于2016年的乐聚机器人,其联合创始人两位有哈工大博士背景,也在自主研发舵机技术,并于2017年8月获得了来自腾讯的5000万元战略投资。周剑认为,目前行业最大的问题在于都在做产品,没有自己的核心技术,更没有清晰的战略布局。他说,任何一项技术的突破都需要时间。他认为,优必选依靠自主研发十年的伺服舵机技术构筑起来的&护城河&并无量化标准,未来能够实现真正的实用、稳定和商业化,&老百姓真正买得起&或许才是最大的衡量标准。此外,优必选的优势并不只在做伺服舵机,还包括对舵机背后的控制算法、机器视觉等方面的布局。&机器人就像一个人一样,不光把躯干搭起来,还要去训练他。让机器人为人类服务,是一个综合软件和硬件控制系统在内的问题。&周剑说。对于硬件技术的创新,周剑强调,并非一夜之间一行代码就能写出来,&需要时间,慢慢积累,具备优势的硬件技术非一夜之间就能追赶上&,场景应用的反馈对于技术的稳定、商业化成本降低也会有所帮助。除了技术,创始人的综合运作能力能够帮助公司走得更远,这也是资本所青睐的。冯华在接受《中国企业家》专访时说,&一家公司是要有懂技术、懂产业的人带领它往前走,而不仅仅是技术本身的问题。&但技术上的布局并非不重要,据周剑介绍,优必选每年在研发领域的投入占到45%,他本人也极为关注国外技术的发展。5月底,去年被软银收购的波士顿动力公司传来将于明年上市主要用于家庭的四足机器人SpotMini的消息,这也是波士顿动力成立26年来首次实现第一款产品的量产。波士顿动力机器人算法较为先进、投入成本高,不过在周剑看来,波士顿动力要实现to C层面商业化布局尚有很大的难度。技术的博弈,最终还是要回归市场的争夺。人形机器人的市场究竟有多大?谁能够在接下来的战场中占领高地,只能交给时间和市场。
24小时报不停
亿投传媒获得1亿元B轮融资,打造“住宅楼宇第一眼媒体”
Facebook试水收费功能:群组功能支持管理员收费
松下召回进口Panasonic牌笔记本,大陆共4175台
瑞幸咖啡总部落户厦门,已在全国布局500多家店
联合办公品牌P2联手牛奶集团再造“上海牛奶”诞生地
VIPKID完成5亿美元D+轮融资,估值超过200亿元
头条最新估值350亿美元,抖音将独立融资,估值80到100亿美元
微软收购AI创企Bonsai,将与Azure云服务相结合
小米开始接受认购,香港IPO筹资最高61.1亿美元
苹果牵手芝麻街工作室,制作原创儿童动画节目
微信订阅号全新改版上线,查看消息更便捷了
寒武纪科技宣布完成数亿美元的B轮融资
魅族高层再调整:李楠成为CMO再被重用,杨柘仅负责战略
传美团点评将于6月22日向港交所递交IPO申请
迪士尼上调报价 713亿美元收购21世纪福克斯
中国移动回应投资小米IPO:属实 已签署《基石投资协议》
太合音乐战略投资明堂唱片,布局独立电子/说唱领域
百度起诉前员工入职今日头条:违反竞业协议 索赔一百万
外媒:小米港股IPO定价区间在17至22港元
Uber宣布:电动网约车每个订单将发额外补贴
马斯克:特斯拉欧洲超级工厂首选地址为德国
中兴通讯澄清美国法案影响后,香港股价大涨18%
美国监管部门禁售一款欺骗特斯拉自动驾驶仪的设备
Sprint和T-Mobile提交合并申请,将投400亿美元建5G网
“百年老店”通用电气下周将被剔除出道琼斯指数
摩拜上海上线电子围栏:逐步实现禁停区“关不了锁”
潘石屹旗下共享办公空间SOHO3Q拟明年分拆上市
麦肯锡:2027年全球GDP的10%将被存储在区块链上
鹏博士:将收购国富光启、互信互通均不少于51%股权
徐明星朋友圈追款,称借款人未归还1500比特币
丰田与7-11摸索自动驾驶新服务:移动便利店将面世
交易所Bithumb被盗3200万美元加密货币,暂停存款
《新五环之歌》被指侵权,“美团”、岳云鹏被索赔50万
中移动用户突破9亿户,4G用户6.7亿户
TCL电子重组明年中完成,正推进终端业务香港重组上市
马斯克:特斯拉内部有人故意搞破坏影响生产
GoPro任命Facebook高管为董事会成员,加强新媒体能力
PayPal 4亿美元收购团体付款平台HyperWallet
寒武纪完成数亿美元B轮融资,估值25亿美元
特斯拉6月迄今Model 3仅产6千辆,周产5千辆目标或泡汤
亚马逊在全美推出快递储物柜服务
拼便宜完成亿元A轮融资,预计年底月交易额破3亿元[上一篇](https://my.oschina.net/qqtalk/blog/1819690) 提到,最近有个需求,要修改现有存储结构,涉及查询条件和查询效率的考量,看了几篇索引和HBase相关的文章,回忆了相关知识,结合项目需求,说说自己的理解和总结。 总体目录如下,上篇介绍了前3小节,分析了索引为什么快,总结了它的优点和分类,以及索引的演化过程,中篇会重点介绍索引分析方法和常见索引优化。 * 为什么需要索引 * 索引的类别 * MySQL索引演化 * MySQL索引优化 * HBase介绍 * HBase存储结构 * HBase索引介绍 * 业务需求及设计 & 部分内容摘录了几个博友的文章,最后会给出文章链接,感谢他们的精彩分析。 通过中篇的介绍,你会了解到: * MySQL查询过程 * 高级查询相关概念 * explain命令详细介绍 * 索引优化建议 #### MySQL查询过程 想要更好的优化查询,首先要了解其整体查询过程,从客户端发送查询请求,到接收到查询结果,MySQL服务器做了很多工作。 ##### 逻辑架构 MySQL逻辑架构整体分为三层,分别为客户端层、核心服务层、存储引擎层,共同协作完成。 ![MySQL逻辑架构](http://oc3r3rke2.bkt.clouddn.com/08.jpg) 最上层为客户端层,比如:连接处理、授权认证、安全等功能等。...
Kubernetes存储系统-NFS Server的Helm部署 本文翻译根据 https://github.com/kubernetes/charts/tree/master/stable/nfs-server-provisioner 本文地址 https://my.oschina.net/u/2306127/blog/1820434,By openthings,. 其它参考: Helm Charts仓库,https://github.com/kubernetes/charts 本文用到的yaml文件,https://github.com/openthings/kubernetes-tools/tree/master/nfs kunbernetes存储系统-基于NFS的PV服务,https://my.oschina.net/u/2306127/blog/1819620 Jupyter Hub on Kubernetes Part II: NFS ,https://my.oschina.net/u/2306127/blog/1818470 NFS Server Provisioner 是Kubernetes源码外部的动态存储提供者,底层是通过NFS(网络文件系统)来提供的。你可以通过它快速地部署一个几乎可以在任何地方使用的网络共享存储。 该Helm chart 将会部署一个Kubernetes的 external-storage projects nfs 提供者,包含一个内建的NFS server,但是不会连接到一个已经存在的NFS server上(可以通过PV直接使用)。连接到已有的 NFS Server可以通过 NFS Client Provisioner 来访问。 $ helm install stable/nfs-server-provisioner 警告:上面的命令按照缺省...
1.若没有分区,一个topic对应的消息集在分布式集群服务组中,就会分布不均匀,即可能导致某台服务器A记录当前topic的消息集很多,若此topic的消息压力很大的情况下,服务器A就可能导致压力很大,吞吐也容易导致瓶颈。 有了分区后,假设一个topic可能分为10个分区,kafka内部会根据一定的算法把10分区尽可能均匀分布到不同的服务器上,比如:A服务器负责topic的分区1,B服务器负责topic的分区2,在此情况下,Producer发消息时若没指定发送到哪个分区的时候,kafka就会根据一定算法上个消息可能分区1,下个消息可能在分区2。当然高级API也能自己实现其分发算法。 ============================================================= 1.kafka为什么要在topic里加入分区的概念? topic是逻辑的概念,partition是物理的概念,对用户来说是透明的。producer只需要关心消息发往哪个topic,而consumer只关心自己订阅哪个topic,并不关心每条消息存于整个集群的哪个broker。 为了性能考虑,如果topic内的消息只存于一个broker,那这个broker会成为瓶颈,无法做到水平扩展。所以把topic内的数据分布到整个集群就是一个自然而然的设计方式。Partition的引入就是解决水平扩展问题的一个方案...
在以前做东西的时候,对于认证鉴权的框架技术选型,通常使用Apache Shiro,可能是接触比较早,感觉用起来比较方便的原因,知道最近接了一个好大好大的项目分布式应用+大数据数据库+私有IaaS云+PaaS,埋头苦学一星期,算是吃透了Spring Security的一半,那么一是为了记录在学习过程中的知识点,二是为了让没有接触过安全框架,或者还在使用数据库,自己写Filter比较原始方式做权限控制的朋友提供一个学习的参考。那么废话不说太多,下面开始一步一步来。
一、初识Spring Security
首先看名字就可以看出来,这个框架出自于Pivotal 的Spring系列。Spring Security 提供了基于javaEE的企业应用,全面的安全服务。 大家使用Spring Secruity的原因有很多,但是大部分都是发现了由于javaEE的Servlet规范或EJB规范中的安全功能缺乏典型企业应用场景所需的深度。 那么Security提供的 “认证”和“授权”(或者访问控制) 是整个框架也是本系列博客所要讲解的重要内容。 二、引入Security依赖
Security官方链接:https://projects.spring.io/spring-security/
打开你的IED,在Maven坐标如下:想使用其他版本请去如上链接,如果你之前接触过Spr...
![photo-6-fccce0824cfd.jpeg](https://i.loli.net//5b.jpeg) # 前言 Netty 是一个高性能的 NIO 网络框架,本文基于 SpringBoot 以常见的心跳机制来认识 Netty。 最终能达到的效果: - 客户端每隔 N 秒检测是否需要发送心跳。 - 服务端也每隔 N 秒检测是否需要发送心跳。 - 服务端可以主动 push 消息到客户端。 - 基于 SpringBoot 监控,可以查看实时连接以及各种应用信息。 效果如下: ![show](https://crossoverjie.top/uploads/netty-Heartbeat.gif) # IdleStateHandler Netty 可以使用 IdleStateHandler 来实现连接管理,当连接空闲时间太长(没有发送、接收消息)时则会触发一个事件,我们便可在该事件中实现心跳机制。 ## 客户端心跳 当客户端空闲了 N 秒没有给服务端发送消息时会自动发送一个心跳来维持连接。 核心代码代码如下: ```java public class EchoClientHandle extends SimpleChannelInboundHandler { private final static Logger LOGGER = LoggerFactory.getLogger(EchoClientHandle.class); @Override public void userEventTriggered(ChannelHandlerContext ctx, Object evt) throws Exception { if (evt instanceo...
还有2周的时间,第0届学生开源年会6月9-10日就要在重庆大学正式开始啦!一点也不觉得累,想要与你不醉不会! 学生开源年会 Students Open Source Conference,简称 SOSCON,是国内首个面向学生的开源技术大会。SOSCON 是一个纯社区非商业非盈利的开源大会,票价全部免费,并且对学生讲者进行补助。 大会旨在鼓励学生享受开源、了解开源、参与开源、贡献开源,每年在不同城市轮流举办, 从演讲者、组织者、志愿者到听众,绝大多数都为在校学生,包括中学生、大学生和研究生。 学生开源年会的主办方是开源工场,联合创始社区包括:重庆大学 CONTINUE、清华大学 TUNA 协会、中科院开源软体协会、中科大 LUG、西南大学开源协会、 重邮LUG、北邮互联网与开源社区等。 学生开源年会是一个面向学生的开源会议,从演讲者到工作人员到听众几乎全部为学生,享受开源乐趣,参与开源贡献。关于畅想未来这件事,我们学生更有感觉。期望通过这次会议,分享开源精神,拓展与会者的视野;开源是一种精神,每位与会者,都是拥有贡献精神、乐于为社会付出的种子。期望今天的学生能成长为明日的参天大树,传承开源贡献的精神,传承理想主义的情怀,共同为推动社会的进步而无私努力。 为了给远赴...
华为,阿里云都喜欢用的工具。联想也要搞动作了。
本文用来介绍使用alpaca-spa构建多页的前后分离项目的js实现。
## Apache Flink 端到端(end-to-end)Exactly-Once特性概览 本文是flink博文的翻译,原文链接[https://flink.apache.org/features//end-to-end-exactly-once-apache-flink.html](https://flink.apache.org/features//end-to-end-exactly-once-apache-flink.html) 2017年12月份发布的Apache Flink 1.4版本,引进了一个重要的特性:TwoPhaseCommitSinkFunction (关联Jira[https://issues.apache.org/jira/browse/FLINK-7210](https://issues.apache.org/jira/browse/FLINK-7210)) ,它抽取了两阶段提交协议的公共部分,使得构建端到端Excatly-Once的Flink程序变为了可能。这些外部系统包括Kafka0.11及以上的版本,以及一些其他的数据输入(data sources)和数据接收(data sink)。它提供了一个抽象层,需要用户自己手动去实现Exactly-Once语义。 如果仅仅是使用,可以查看这个文档[https://ci.apache.org/projects/flink/flink-docs-release-1.4/api/java/org/apache/flink/streaming/api/functions/sink/TwoPhaseCommitSinkFunction.html](https://ci.apache.org/projects/flink/flink-docs-release-1.4/api/java/org/apache/flink/streaming/api/fu...
Eureka高可用实现与搭建,与脚本文件
类的整个生命周期的7个阶段是:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)、卸载(Unloading)。 类加载的全过程主要包括:加载、验证、准备、解析、初始化这5个阶段的内容。 加载 加载是类加载过程的一个阶段, 在加载阶段JVM需要完成以下3件事情: 通过一个类的全限定明来获取定义此类的二进制字节流。 将这个字节流所代表的静态存储结构转化为方法区运行时数据结构。 在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据访问入口。 加载阶段(准确地说,是加载阶段获取类的二进制字节流的动作)是整个类加载过程中开发人员可控性最强的,因为加载阶段既可以使用系统提供的引导类加载器完成,又可以由用户自定义的二类加载器去完成,开发人员可以通过定义自己的类加载器区控制字节流的获取方式。 加载阶段完成后,虚拟机外部的二进制字节流就按照虚拟机所需的格式存储在方法区中,方法区中的数据存储格式由虚拟机的实现自行定义,虚拟机规范未规定此区域的具体数据结构。然后再内存中实例化一个java.lang.Class类的对象(这个对象,并没有要求必须是在Java堆中,就HotSp...
Flow Based Programing 是由J. Paul Rodker Morrison在很早以前提出的一种编程范式。 维基百科对FBP的定义如下: In computer programming, flow-based programming (FBP) is a programming paradigm that defines applications as networks of "black box" processes, which exchange data across predefined connections by message passing, where the connections are specified externally to the processes. These black box processes can be reconnected endlessly to form different applications without having to be changed internally. FBP is thus naturally component-oriented. 在github的这个https://github.com/samuell/awesome-fbp项目内列举了很多不同语言对该范式的实现以及一些资料,大家可以参考。 很多年前我用Python开发了一个基于流概念的数据处理工具。当时主要是想解决让不懂编程的数据工程师能够通过构建图形化的数据流来达到数据获取,变形和抽取的功能。这么多年过去了,我整理了一下代码,丰富了一下基本功能,构建了简单的运行UI,算是有个初步的雏型,看看能不能分享给社区做些贡献。 项目在这里: https://github.com/gangtao/pyflo...
对于多线程编程,如何优雅的终止子线程,始终是一个值得考究的问题。如果直接终止线程,可能会产生三个问题: - 子线程当前执行的任务可能必须要原子的执行,即其要么成功执行,要么就不执行; - 当前任务队列中还有未执行完的任务,直接终止线程可能导致这些任务被丢弃; - 当前线程占用了某些外部资源,比如打开了某个文件,或者使用了某个Socket对象,这些都是无法被垃圾回收的对象,必须由调用方进行清理。
由此可见,如何优雅的终止一个线程,并不是一个简单的问题。常见的终止线程的方式是,声明一个标志位,如果调用方要终止其创建的线程的执行,就将该标志位设置为需要终止状态,子线程每次执行任务之前会检查该标志位,如果为需要终止状态,就不继续执行任务,而是进行当前线程所占用资源的一些清理工作,如关闭Socket和备份当前未完成的任务,清理完成之后结束当前线程的调用。
两阶段终止模式使用的就是上述方式进行多线程的终止的,只不过其将线程的终止封装为一个特定的框架,使用者只需要关注特定的任务执行方式即可,从而实现了线程的终止与任务的执行的关注点的分离。两阶段终止模式的UML图如下: ![两阶段终止...
The best elasticsearch highlevel java rest api-----bboss
1.ElasticSearch客户端bboss提供了一系列注解 @ESId
用于标识实体对象中作为docid的属性,该注解只有一个persistent 布尔值属性,用于控制被本注解标注的字段属性是否作为普通文档属性保存,默认为true-保存,false不保存,字段名称为属性名称。ESId可用于添加和修改文档 @ESParentId 用于标识实体对象中作为parentid的属性,该注解只有一个persistent 布尔值属性,用于控制被本注解标注的字段属性是否作为普通文档属性保存,默认为true-保存,false不保存,字段名称为属性名称。ESParentId可用于添加和修改文档 @ESVersion 用于标识实体对象中作为文档版本信息的属性,该注解只有一个persistent 布尔值属性,用于控制被本注解标注的字段属性是否作为普通文档属性保存,true-保存,默认为false不保存,字段名称为属性名称。ESVersion可用于添加/修改文档操作 @ESVersionType 用于标识实体对象中作为文档版本类型信息的属性,该注解只有一个persistent 布尔值属性,用于控制被本注解标注的字段属性是否作为普通文档属性保存,true-保存,默认为false不保存,字段名称为属性名称。ESVersionType可用于添加/...
& 原文: ,转载请说明出处。 本节我们来详细探讨Compose的网络设置。本节介绍的网络特性仅适用于Version 2 file format,Version 1 file format不支持该特性。 # 基本概念 默认情况下,Compose会为我们的应用创建一个网络,服务的每个容器都会加入该网络中。这样,容器就可被该网络中的其他容器访问,不仅如此,该容器还能以服务名称作为hostname被其他容器访问。 默认情况下,应用程序的网络名称基于Compose的工程名称,而项目名称基于docker-compose.yml所在目录的名称。如需修改工程名称,可使用--project-name标识或COMPOSE_PORJECT_NAME环境变量。 举个例子,假如一个应用程序在名为myapp的目录中,并且docker-compose.yml如下所示: ```yaml version: '2' services: web: build: . ports: - "" db: image: postgres ``` 当我们运行docker-compose up时,将会执行以下几步: * 创建一个名为myapp_default的网络; * 使用web服务的配置创建容器,它以“web”这个名称加入网络myapp_default; * 使用db服务的配置创建容器,它以“db”这个名称加入网络myapp_default。 容器间可使用服务名称(web或db)作为hostname相互访问。例如,web这个服务可使用`postgr...
付出就要得到回报,这种想法是错的。
MySQL-性能优化-优化设计和设计原则 MySQL性能优化目的 如何合理的设计数据库? 什么样的数据库设计才能给后期DBA优化提供基石? 数据库设计与程序设计的差异? 数据库设计早期优化 1. 关系明确(理清表之间的关系,可以通过冗余的方式提高效率) 2. 节省空间(根据业务经验,设置字段长短) 3. 提高效率 数据库表开发流程 原型=&逐步完善(表的设计也是如此) 数据库种类 1. 层级数据库(注册表) 如:Windows操作系统的核心就是一个注册表,由于配置项比较多,采用层级关系的数据存储 2. 关系型数据库 如:MySQL 3. 时序数据库 4. 图数据库 如:最短路径,地理信息 5. Key-value数据库 如:Redis 6. 对象数据库 7. BigTable数据库 文件系统和数据库系统之间的区别? (1)文件系统用文件将数据长期保存在外存上,数据库系统用数据库统一存储数据; (2)文件系统中的程序和数据有一定的联系,数据库系统中的程序和数据分离; (3)文件系统用操作系统中的存取方法对数据进行管理,数据库系统用DBMS统一管理和控制数据; (4)文件系统实现以文件为单位的数据共享,数据库系统实现以记录和字段为单位的数据共享。 优化设计第一步 想要在表设计中节省空间,就必须精通各种数据类型的特...
Martin 在 《Programming in Scala Third Edition》 中讲解隐式转换时提到,隐式参数或隐式转换可能来自于当前作用域,或是源类型、目标类型的伴生对象。其实真相并不是那么简单,Martin 没有更深入讲解更多的来源。这些额外的隐式转换来源对库开发者来说非常赞,可以为开发者带来更简洁的开发体验。例如我们在 Play 里经常像下面这样构建一个 JsObject : import java.time.Instant
import play.api.libs.json.Json
object Test extends App {
println(Json.obj("time" -& Instant.now()))
//输出: {"time":"T18:13:23.409Z"} 但是我们发现Json.obj() 方法签名如下: def obj(fields: (String, JsValueWrapper)*): JsObject 我们并没有导入任何的隐式转换,到底是什么神奇的力量将 Instant.now() 转换成了 JsValueWrapper ? 其实原因很简单,隐式转换有一个来源是目标类型的父对象成员。JsValueWrapper 的父对象是 Json ,Json 对象定义了如下隐式转换: implicit def toJsFieldJsValueWrapper[T](field: T)(implicit w: Writes[T]): JsValueWrapper = JsValueWrapperImpl(w.writes(field)) 更多的隐式转换来源请参考官方的总结的隐式转换圣典。 转载请...
关于java对象的大小测量,网上有很多例子,大多数是申请一个对象后开始做GC,后对比前后的大小,不过这样,虽然说这样测量对象的大小是可行的,不过未必是完全准确的,因为过程中包含对象本身的开销,也许你运气好,正好能碰上,差不多,不过这种测试往往显得十分的笨重,因为要写一堆代码才能测试一点点东西,而且只能在本地测试玩玩,要真正测试实际的系统的对象大小这样可就不行了,本文说说java一些比较偏底层的知识,如何测量对象大小,java其实也是有提供方法的。注意:本文的内容仅仅针对于Hotspot VM,如果你以前不知道jvm的对象大小怎么测量,而又很想知道,跟我一步一步做一遍你就明白了。 首先,我们先写一段大家可能不怎么写或者认为不可能的代码:一个类中,几个类型都是private类型,没有public方法,如何对这些属性进行读写操作,看似不可能哦,为什么,这违背了面向对象的封装,其实在必要的时候,留一道后门可以使得语言的生产力更加强大,对象的序列化不会因为没有public方法就无法保存成功吧,OK,我们简单写段代码开个头,逐步引入到怎么样去测试对象的大小,一下代码非常简单,相信不用我解释什么: import java.lang.reflect.F
class NodeTe...
简述Linux TCP连接过程中的超时参数
闲着没事,撸了一个App.使用Flutter,开开始在网上找的一些例子太马虎,研究了官网和MicroSoftHub写完的。已经在Android 5和 IOS11.3上测试通过。安装我就不说了,放个外链吧Flutter安装攻略 本人Java后台开发一枚,若要吐槽,请直接扔鸡腿。 下面我来介绍下咯,先看几个图吧。 以下功能点 使用基本的布局加组件 使用异步加载数据 使用第三方依赖 锤子文章API & 知乎热点文章查看 下拉刷新 图片懒加载 存在的问题 由于使用到WebView插件,部分HTML会解析失败。 第三方库 cupertino_icons: ^0.1.0
transparent_image: ^0.1.0
flutter_webview_plugin: "^0.1.6"
map_view: "^0.0.12"
google_maps_webservice: "^0.0.3"
flutter_html_view: ^0.5.1
carousel_pro: ^0.0.1 如何安装 下载 book_flutter flutter pub get 下载依赖或是直接执行第3步 flutter run 或者正式版本安装 flutter run --release...
在具体项目研发过程中,一旦前后端双方约定好接口,前端和app同事就会希望后台同事可以尽快提供可供对接的接口方便调试,而对后台同事来说定好接口还仅是个开始、设计流程,实现业务逻辑,编写代码、调试、集成和...
作者:黄东旭 &“我希望能够把 TiDB 的设计的一些理念能够更好的传达给大家,相信大家理解了背后原因后,就能够把 TiDB 用的更好。” 做 TiDB 的缘起是从思考一个问题开始的:为什么在数据库领域有这么多...
我们在@RestController下,一般都是@AutoWired一些Service,由于这些Service都是单例,所以并不存在线程安全问题。 由于Controller本身是单例模式
今年6月25日至27日, LinuxCon + ContainerCon + CloudOpen(LC3)将在北京国家会议中心召开。本次会议针对开源技术在人工智能和深度学习、区块链、云原生、虚拟服务器架构和微服务、新兴技术、基础实施和自动化、IoT和M2M、KVM、Linux系统、网络编排等10大前沿领域的应用,邀请了全球数百位业界大咖,用三天时间、超过200场分享,从市场、技术、产业甚至整个生态层面,将做全方位的探讨。
&文章有不当之处,欢迎指正,如果喜欢微信阅读,你也可以关注我的微信公众号:`好好学java`,获取优质学习资源。 ### 一、支付宝测试环境代码测试 #### 1.下载电脑网站的官方demo: 下载地址:https://d...
作者:匿名用户 链接:https://www.zhihu.com/question//answer/ 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
本篇进行Spring-data-jpa的介绍,几乎涵盖该框架的所有方面,在日常的开发当中,基本上能满足所有需求。这里不讲解JPA和Spring-data-jpa单独使用,所有的内容都是在和Spring整合的环境中实现。如果需要了解该框架的入门,百度一下,很多入门的介绍。在这篇文章的接下来一篇,会有一个系列来讲解mybatis,这个系列从mybatis的入门开始,到基本使用,和spring整合,和第三方插件整合,缓存,插件,最后会持续到mybatis的架构,源码解释,重点会介绍几个重要的设计模式,这样一个体系。基本上讲完之后,mybatis在你面前就没有了秘密,你能解决mybatis的几乎所有问题,并且在开发过程中相当的方便,驾轻就熟。 这篇文章由于介绍的类容很全,因此很长,如果你需要,那么可以耐心的看完,本人经历了很长时间的学识,使用,研究的心血浓缩成为这么短短的一篇博客。 大致整理一个提纲:   1、Spring-data-jpa的基本介绍;   2、和Spring整合;   3、基本的使用方式;   4、复杂查询,包括多表关联,分页,排序等; 现在开始:   1、Spring-data-jpa的基本介绍:JPA诞生的缘由是为了整合第三方ORM框架,建立一种标准的方式,百度百科说是JDK为了实现ORM的天下归一,目前也...
写在前面: 鉴于前几天的一份前端简历,虽然带着很多不看好的声音,但却帮助了很多正在求职路上的人,不管评论怎么说,我还是决定要贴出一份后端的简历。 XXX ID:...
效果图示: 主要代码:
### vim简介 - vi和Vim的最大区别就是编辑一个文件时vi不会显示颜色,而Vim会显示颜色。显示颜色更便于用户编辑,凄然功能没有太大的区别 - 使用 **yum install -y vim-enhanced** 安装 ### vim的三种常用模...
Java项目经验
Java就是用来做项目的!Java的主要应用领域就是企业级的项目开发!...
微信新版 公众号隐藏导航条
Java学习路径及练手项目合集
脏读 两个事务,第一个事务修改了数据但是没有提交,这时第二个事务读取了第一个事务没有提交的数据,称之为脏读。 不可重复读 两个事务,第一个事务读取一条数据,这时第二个事务修改了或者提交了第一事务读取...
& 原文:,转载请说明出处。 * ElasticSearch【存储】 * Logtash【日志聚合器】 * Kibana【界面】 答案: ```yaml version: '2'...
很好的总结
# 启动类注解 @SpringBootApplication 使用@SpringbootApplication注解 可以解决根类或者配置类(我自己的说法,就是main所在类)头上注解过多的问题,一个@SpringbootApplication相当于@Configuration,@Ena...
JavaScript零基础入门——(九)JavaScript的函数 欢迎回到我们的JavaScript零基础入门,上一节课我们了解了有关JS中数组的相关知识点,不知道大家有没有自己去敲一敲,消化一下?这一节...
## 13.4 mysql用户管理 ## 13.5 常用sql语句 ## 13.6 mysql数据库备份恢复
最近两个月一直在研究 Swoole,研究成果即将在6.21正式开源发布,这段时间没有来水文章,趁着今天放假来水水吧。 借助这篇文章,我希望能够把 Swoole 安利给更多人。虽然 Swoole 可能目前定位是一些高级 phper 的玩具,让中低级望而生畏,可能对一些应用场景也一脸懵逼,但其实没这么难的。 在 Swoole 官网的自我介绍是“面向生产环境的 PHP 异步网络通信引擎”,首先 Swoole 它是一个网络应用的开发工具,它支持 Http、TCP、UDP、WebSocket。 Swoole 和我们传统的 PHP 开发差别是有的,需要理解的概念也是有的。使用目前一些基于 Swoole 的框架开发的话,从开发习惯上和传统的TP、LV 框架相差不多。 那为什么要使用 Swoole? 宇润认为有以下几点: - 常驻内存,避免重复加载带来的性能损耗,提升海量性能 - 协程异步,提高对 I/O 密集型场景并发处理能力(如:微信开发、支付、登录等) - 方便地开发 Http、WebSocket、TCP、UDP 等应用,可以与硬件通信 - PHP 高性能微服务架构成为现实 ### 常驻内存 目前传统 PHP框架,在处理每个请求之前,都要做一遍加载框架文件、配置的操作。这可能已经成为性能问题的一大原因,而使用 Swoole 则没有这个问题,一次加载多...
单例模式(Singleton Pattern)是 Java 中常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。 注意: 1、单例类只能有一个实例。 2、单例类必须自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。 意图:保证一个类仅有一个实例,并提供一个访问它的全局访问点。 主要解决:一个全局使用的类频繁地创建与销毁。 何时使用:当您想控制实例数目,节省系统资源的时候。 如何解决:判断系统是否已经有这个单例,如果有则返回,如果没有则创建。 关键代码:构造函数是私有的。 优点: 1、在内存里只有一个实例,减少了内存的开销,尤其是频繁的创建和销毁实例(比如管理学院首页页面缓存)。 2、避免对资源的多重占用(比如写文件操作)。 缺点:没有接口,不能继承,与单一职责原则冲突,一个类应该只关心内部逻辑,而不关心外面怎么样来实例化。 使用场景: 1、要求生产唯一序列号。 2、WEB 中的计数器,不用每次刷新都在数据库里加一次,用单例...
## 一、基本部署 ### 安装Ansible ``` # yum -y install epel-release # yum list all *ansible* # yum info ansible # yum -y install ansible ``` ### Ansible配置文件 ``` /etc/ansible/ansible.cfg 主配置文件 /etc/ansible/hosts Inventory /usr/bin/ansible-doc 帮助文件 /usr/bin/ansible-playbook 指定运行任务文件 ``` ### 定义Inventory ``` # cd /etc/ansible/ # cp hosts{,.bak} # & hosts # cat hosts [webserver] 127.0.0.1 192.168.10.149 [dbserver] 192.168.10.113 ``` ### 使用秘钥方式连接 ``` # ssh-keygen -t rsa # ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.10.149 # ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.10.113 # ssh-copy-id -i /root/.ssh/id_rsa.pub root@127.0.0.1 ``` ### 使用帮助 ``` # ansible-doc -l 列出ansible所有的模块 # ansible-doc -s MODULE_NAME 查看指定模块具体适用 ``` ### Ansible命令应用基础 ``` 语法:ansible [-f forks] [-m module_name] [-a args] 这次命令对哪些主机生效的 inventory group name ip all -f forks 一次处理多少个主机 -m module_name 要使用的模块 -a args 模块特有的参数 ...
# 概述 --- `Intellij IDEA`真是越用越觉得它强大,它总是在我们写代码的时候,不时给我们来个小惊喜。出于对`Intellij IDEA`的喜爱,我决定写一个与其相关的专栏或者系列,把一些好用的`Intellij IDEA`技巧分享给大家。本文是这个系列的第一篇,主要介绍一些你可能不知道的但是又实用的小技巧。 --- # 我最爱的【演出模式】 --- 我们可以使用【Presentation Mode】,将`IDEA`弄到最大,可以让你只关注一个类里面的代码,进行毫无干扰的`coding`。 可以使用`Alt+V`快捷键,弹出`View`视图,然后选择`Enter Presentation Mode`。效果如下: ![这里写图片描述](https://img-blog.csdn.net/49248?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xpbnNvbmdiaW4x/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70) 这个模式的好处就是,可以让你更加专注,因为你只能看到特定某个类的代码。可能读者会问,进入这个模式后,我想看其他类的代码怎么办?这个时候,就要考验你快捷键的熟练程度了。你可以使用`CTRL+E`弹出最近使用的文件。又或者使用`CTRL+N`和`CTRL+SHIFT+N`定位文件。 如何退出这个模式呢?很简单,使用`ALT+V`弹出view视图,然后选择`Ex...
String对象是不可变的。String类中每一个看起来会修改String值的方法,例如拼接、裁剪字符串,实际上都会创建一个全新的String对象,用来包含修改后的字符串内容。因此字符串的相关操作往往对性能有明显的影响。 1.2 定义 public final class String
implements java.io.Serializable, Comparable&String&, CharSequence
从代码可以看出String是final类型的,表示该类不能被继承,并且实现了Serializable、Comparable、CharSequence三个接口。 Serializable接口,表明String类是可序列化的。 Comparable接口,提供了一个compareTo(T o) 方法。 CharSequence接口,提供了length(),charAt(int index),subSequence(int start,int end),toString()方法。 1.3 属性 //final类型的字符数组,用于存储字符串内容
private final char value[];
//存放字符串的哈希值
// Default to 0
//序列化id
private static final long serialVersionUID = -4667710L; 1.4 构造函数 //不含参数的构造函数
public String() {
this.value = "".
//使用字符串类型的参数来初始化
public Stri...
本篇是 Java OSGL 工具库系列的第六篇, 前面五篇分别是: 1. [图片处理的艺术](https://my.oschina.net/greenlaw110/blog/. [图片处理的艺术之自定义图片处理器](https://my.oschina.net/greenlaw110/blog/. [字符串操作的艺术](https://my.oschina.net/greenlaw110/blog/. [I/O 操作的艺术](https://my.oschina.net/greenlaw110/blog/. [类型转换的艺术](https://my.oschina.net/greenlaw110/blog/1790380) ## 1. API 一览 ```java // shallow copy from `foo` to `bar` $.copy(foo).to(bar); // deep copy from `foo` to `bar $.deepCopy(foo).to(bar); // deep copy using loose name match $.deepCopy(foo).looseMatching().to(bar); // deep copy with filter $.deepCopy(foo).filter("-password,-address.streetNo").to(bar); // deep copy with special name mapping rule $.deepCopy(foo) .map("id").to("no") .map("subject").to("title") .to(bar); // merge data from `foo` to `bar` $.merge(foo).to(bar); // map data from `foo` to `bar` $.map(foo).to(bar); // map data from `foo` to `bar` using strict name m...
今天来写一下关于购物车的东西, 这里首先抛出四个问题: 1)用户没登陆用户名和密码,添加商品, 关闭浏览器再打开后 不登录用户名和密码 问:购物车商品还在吗?
2)用户登陆了用户名密码,添加商品,关闭浏览器再打开后 不登录用户名和密码 问:购物车商品还在吗?
3)用户登陆了用户名密码,添加商品, 关闭浏览器,然后再打开,登陆用户名和密码
问:购物车商品还在吗? 4)用户登陆了用户名密码,添加商品, 关闭浏览器 外地老家打开浏览器
登陆用户名和密码 问:购物车商品还在吗? 上面四个问题都是以京东为模板, 那么大家猜猜结果是什么呢? 1)在 2)不在了 3)在 4)在 如果你能够猜到答案, 那么说明你真的很棒, 那么关于这四点是怎么实现的呢? (如果有不认可的小伙伴可以用京东实验一下) 下面我们就来讲解下购物车的原理,最后再来说下具体的code实现. 1)用户没有登录, 添加商品, 此时的商品是被添加到了浏览器的Cookie中, 所以当再次访问时(不登录),商品仍然在Cookie中, 所以购物车中的商品还是存在的. 2)用户登录了,添加商品, 此时会将Cookie中和用户选择的商品都添加到购物车中, 然后删除Cookie中的商品. 所以当用户再次访问(不登录),此时Cooki...
& itertools 用于更高效地创建迭代器的函数工具。 & Python版本 3.x `itertools` 提供的功能受Clojure,Haskell,APL和SML等函数式编程语言的类似功能的启发。它们的目的是快速有效地使用内存,并且将它们关联在一起以表示更复杂的基于迭代的算法。 基于迭代器的代码比使用列表的代码提供了更好的内存消耗特性。因为直到数据需要使用时才从迭代器中生成,所有数据不需要同时存储在内存中。这种 `“惰性”` 的处理模式可以减少大型数据集的交换和其他副作用,从而提高性能。 除了 `itertools` 中定义的函数之外,本文中的示例还使用了一些内置函数进行迭代。 ## 1.合并和分割 `chain()` 函数将多个迭代器作为参数,并返回一个迭代器,这样它生成所有输入的内容,就像来自于单个迭代器一样。 ```python from itertools import chain for i in chain([1, 2, 3], ['a', 'b', 'c']): print(i, end=' ') ``` 使用 `chain()` 可以轻松地处理多个序列,而不需要生成一个更大的序列。 ```python # OutPut 1 2 3 a b c ``` 如果要组合的迭代不是全部预先显式声明的,或者需要惰性计算的,则可以使用 `chain.from_iterable()` 来替换 `chain()` 。 ```python from itertools import ch...
大数据时代,企业对于DBA也提出更高的需求。同时,NoSQL作为近几年新崛起的一门技术,也受到越来越多的关注。本文将基于个推SRA孟显耀先生所负责的DBA工作,和大数据运维相关经验,分享两大方向内容:一、公司在KV存储上的架构演进以及运维需要解决的问题;二、对NoSQL如何选型以及未来发展的一些思考。 据官方统计,截止目前(日)NoSQL有225个解决方案,具体到每个公司,使用的都是其中很小的一个子集,下图中蓝色标注的产品是当前个推正在使用的。 NoSQL的由来 1946年,第一台通用计算机诞生。但一直到1970年RDMBS的出现,大家才找到通用的数据存储方案。到21世纪,DT时代让数据容量成为最棘手的问题,对此谷歌和亚马逊分别提出了自己的NoSQL解决方案,比如谷歌于2006年提出了Bigtable。2009年的一次技术大会上,NoSQL一词被正式提出,到现在共有225种解决方案。 NoSQL与RDMBS的区别主要在两点:第一,它提供了无模式的灵活性,支持很灵活的模式变更;第二,可伸缩性,原生的RDBMS只适用于单机和小集群。而NoSQL一开始就是分布式的,解决了读写和容量扩展性问题。以上两点,也是NoSQL产生的根本原因。 实现分布式主要有两种手段:副本(Replication)和分片(...
在之前的[《Spring Cloud构建微服务架构:分布式配置中心》](http://blog.didispace.com/spring-cloud-starter-dalston-3/)一文中,我们介绍的Spring Cloud Server配置中心采用了Git的方式进行配置信息存储。这一设计巧妙的利用Git自身机制以及其他具有丰富功能的Git服务端产品,让Spring Cloud Server在配置存储和管理的上避开了很多与管理相关的复杂实现,使其具备了配置中心存储配置和读取配置的基本能力;而更上层的管理机制,由于不具备普遍适用性,所以Spring Cloud Server并没有自己去实现这部分内容,而是通过Git服务端产品来提供一部分实现,如果还需要更复杂的功能也能自己实现与定义。即便如此,对于Spring Cloud Server默认使用Git来存储配置的方案一直以来还是饱受争议。所以,本文将介绍一下Spring Cloud Config从Edgware版本开始新增的一种配置方式:采用数据库存储配置信息。 ## 构建配置中心服务端 第一步:创建一个基础的Spring Boot项目,在pom.xml中引入几个主要依赖: - `spring-cloud-config-server`:配置中心的基础依赖 - `spring-boot-starter-jdbc`:由于需要访问数据库,所以需要加载jdbc的依赖 - `mysql-connector-java`:MySQL数据库的连接包...
# Cobbler 快速入门指南 --- 由于Cobbler涉及各种各样的技术,Cobbler可能是一个稍微复杂的系统,但它在安装后几乎不需要任何配置就支持大量功能。在开始使用Cobbler之前,您应该具备PXE相关知识以及所选发行版的自动化安装方法。 本快速入门指南将重点介绍红帽kickstart流程,该流程非常成熟并经过了充分测试。未来我们将为其他发行版(如Ubuntu和SuSE)添加快速入门指南。下面的步骤将集中在Fedora上,但它们应该适用于任何基于Red Hat的发行版,例如RHEL,CentOS或Scientific Linux。有关您的特定操作系统版本的安装和先决条件的详细信息,请参阅[安装补丁程序](http://cobbler.github.io/manuals/2.8.0/2_-_Installing_Cobbler.html)部分。 最后,本指南将只关注CLI应用程序。欲了解更多关于皮匠的网络用户界面的细节,请点击这里:[Cobbler Web用户界面](http://cobbler.github.io/manuals/2.8.0/5_-_Web_Interface.html) ## Disable SELinux(optional) --- 在开始使用Cobbler之前,最好禁用SELinux或将其设置为“permissive”模式,特别是您不熟悉SELinux故障排除或修改SELinux策略时。随着Cobbler不断发展,以及协助管理新的系统技术,并且OS随附的策略有时会落后于...
truffle是以太坊(ethereum)开发智能合约(smart contract)过程中最受欢迎的框架,本教程来安装构建一个基本的Truffle项目并部署一个智能合约到区块链。 开始本文之前希望你已经了解区块链、以太坊、智能合约等基本概念。 # 安装 Truffle 安装 Truffle 框架非常的简单,只需要一行命令: ``` npm install -g truffle ``` 当然前提是你已经安装好了NodeJS并且版本要在5.0以上。 Tunffle还要求一个运行的以太坊客户端,以便支持标准的JSON RPC API,有很多的选择比如Ganache、geth。 # 构建一个Truffle项目 要使用大量的Tunffle命令,我们通过使用一个现成的Tunffle项目来学习。第一步是创建一个Truffle项目。 我们可以创建一个空的项目模板,不过刚开始构建项目,我们可以使用[Tunffle Boxs](http://truffleframework.com/boxes),里面有很多的示例应用程序和项目模板。本文使用[MetaCoin box](http://truffleframework.com/boxes/metacoin),它创建一个可以在帐户之间传输代币的应用程序示例。 1.为构建Truffle项目创建新目录: ``` mkdir MetaCoin cd MetaCoin ``` 2.下载 MetaCoin box,使用`truffle unbox `来下载各种示例,如果要建一个空的不包括智能合约的项目可以使用...
今天发现使用chrome浏览器时,打开flash的网站后就出现"**此Flash Player 与您的地区不相容**"的提示信息。 按照提示操作后,点击 “重新安装” 按钮打开的是 [2144网站](https://flash.2144.com/) ,不是真实的Adobe官方网站。
一个即将消亡的技术,竟然还耍流氓,瞬间心里飞过十万个。。。。。。 ### 官网安装
打开 [Adobe的官网](https://get.adobe.com/cn/flashplayer/) (如何打开,就不说了,大家懂得),下载Flash Player版本,经过安装后不再出现`地区不兼容的提示`,则问题得到圆满解决。
如果问题依然存在,则继续向下看。 ### 安装低版本
卸载已安装的Adobe Flash Player PPAPI,在网上下载 低于 30.0.0 的Adobe Flash Player PPAPI 离线包安装,同时设置为”不检查更新“。 可在此处下载 [Flash Player PPAPI 25、26]( https://www.portablesoft.org/adobe-flash-player-offline-installer/)两个版本,如需其他版本自寻找。
查看当前win7、10系统,已安装的Flash版本: &
控制面板 -& Flash Player -& 更新 ### 禁止Chrome更新Flash插件
在Chrome安装目录下有一个名叫PepperFlash得文件夹,删除该文件夹下的所有内容,将该文件夹权限设...
& 有段时间没有写实战类的文章了,今天分享一篇,使用yii2+houjs+yii2-wx实现微信送礼物功能。 先来个效果图 ![](https://user-gold-cdn.xitu.io//5a1f93?w=1346&h=566&f=jpeg&s=97131) 简单点说就是点击**“送礼物”**按钮后出现一个弹出框,里面有很多礼物,点击某个礼物后弹出框刷新并出现一个二维码,微信扫码支付。 当然这个钱会进入到会员的个人账号内,然后提现。 **为何要做这样一个功能那?** 说心里话我真心没想过通过这个得到多少,更多算一种激励吧,如果你在我们学习社群分享了有价值的文章,你非常有可能受到我的礼物。 好了,还是说功能吧,功能有几个 - 建立数据表结构(礼物以及送礼物日志) - 使用houjs完成前台弹出框 - 使用yii2-wx实现支付二维码 - 为用户增加账户功能 - 使用yii2-wx的企业付款到零钱和yii2的控制台模式现实为用户打款功能(大于等于2元就打款)。 库网址列表 1. **houjs** https://github.com/abei2017/yii2-wx 2. **yii2-wx** https://github.com/abei2017/houjs 我勒个去,干货满满呀。开始。 ## 数据表结构 既然是送礼品,那自然包含礼品表,还有送礼物的日志表,我规划如下。 **礼物表gift** ![](https://us...
# solc:solidity的编译器 solidity编写的以太坊智能合约可通过命令行编译工具solc来进行编译,成为以太坊虚拟机中的代码。solc编译后最终部署到链上形成我们所见到的各种智能合约。 作为一个solidity命令行编译工具,我们来看看官网都怎么说solc。 solc的安装很简单: ``` npm install -g solc //或者 npm install -g solc-cli //或者 sudo apt-get install solc ``` 安装完成后我们来看,```solc --help```,solc --help命令显示所有的solc命令选项。编译器可以生成各种输出,比如最终的二进制合约文件、语法树的汇编或者需要预计的要花费的gas等。```solc --bin sourceFile.sol```,可以编译后输出一个名为sourceFile.sol的智能合约文件。如果你想从```solc```获得更丰富的一些输出变量,你可以使用```solc -o outputDirectory --bin --ast --asm sourceFile.sol```。 你在部署[以太坊智能合约](http://xc.hubwiz.com/course/5a952991adbd1)之前可以用```solc --optimize --bin sourceFile.sol```优化一下。默认情况下solc编译器会帮你优化200次。你也可以设置 ```--runs=1```,这样就按照最小化的方式进行编译,如果你希望多次交易不太在乎成本,那你可以设...
原文:Progressive Web Apps on iOS are here 作者:Maximiliano Firtman 在 iOS 11.3 版本中,苹果公司悄悄地增加了基于“渐进增强 Web 应用程序”(Progressive Web Apps,PWA)概念的新技术。本文带你看看 PWA 是如何工作的?它的能力和挑战是什么?以及如果你有已发布的 PWA 应用,那么你需要知道些什么。
这就是一个 PWA 应用,它能在 iPad 上全屏展示,并且具有离线功能,它也与 App Store 中的其它本地应用程序一样会出现在 iPad Dock 中 PWA 还没有一个确切的定义,总的来说,它是使用某种不需要打包或签名的 Web 技术创造出来的应用程序,可以离线运行,并且可以在运行的系统中选择性安装,它不论是从外观还是执行效果来看,都与一般应用程序无异。 PWA 应用在大多数平台上都不需要经过 App Store 流程,目前只有 Edge/Windows 10 强制 PAW 应用入驻商店。 也就是说在 iOS 平台上,你可以在没有 App Store 授权的情况下安装 PWA 应用。这可能是苹果公司一直没有向用户介绍这个新功能的原因之一,他们甚至都没有在 Safari 发布这个技术的公告,也许他们不想让用户产生疑惑。
你能指出 Google 地图原生应用和 PWA 版本的区别吗 谁创造了 PWA ? 其实,P...
目前提升H5应用加载速度的方式有很多,比如缓存、cdn加速、代码压缩合并和图片压缩等技术。这些方法相信大伙如数家珍,然而这些招用完后,是否还有优化空间呢?现在我们祭出大杀器——HTTP 2.0 ...
tio-websocket-server的首发教程,并且是以showcase的形式展现的----不仅仅是个教程,还是个可以放心使用的脚手架。
& @ start /
& node app.js
/node_modules/bindings/bindings.js:88
Error: /node_modules/node-rdkafka/build/Release/node-librdkafka.node: invalid ELF header
at Object.Module._extensions..node (module.js:664:18)
at Module.load (module.js:554:32)
at tryModuleLoad (module.js:497:12)
at Function.Module._load (module.js:489:3)
at Module.require (module.js:579:17)
at require (internal/module.js:11:18)
at bindings (/node_modules/bindings/bindings.js:81:44)
at Object.&anonymous& (/node_modules/node-rdkafka/librdkafka.js:10:32)
at Module._compile (module.js:635:30)
at Object.Module._extensions..js (module.js:646:10)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! @ start: `node app.js`
npm ERR! Exit status 1
npm ERR! Failed at the @ start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be fou...
[xmake](https://github.com/tboox/xmake) v2.2.1新版本现已支持WDK驱动编译环境,我们可以直接在系统原生cmd终端下,执行xmake进行驱动编译,甚至配合vscode, sublime text, IDEA等编辑器+xmake插件去开发WDK驱动。 下面是xmake支持的一些编辑器插件,用户可以挑选自己喜欢的编辑器配合xmake来使用: * [xmake-idea](https://github.com/tboox/xmake-idea) * [xmake-vscode](https://github.com/tboox/xmake-vscode) * [xmake-sublime](https://github.com/tboox/xmake-sublime) ## WDK环境介绍 首先,我们先简单介绍下WDK10的编译环境的安装方式,我们可以看下微软的官方文档:[Download the Windows Driver Kit (WDK)](https://docs.microsoft.com/en-us/windows-hardware/drivers/download-the-wdk) 里面介绍了两种环境: 1. 下载WDK开发包,直接安装到系统并集成到VS的开发环境中 2. 下载EWDK iso镜像(内含完整WDK开发环境),直接挂载后,运行LaunchBuildEnv进入cmd环境 xmake对于这两种环境都是完全支持的,如果用户直接下载安装WDK环境到本地系统,那么不需要任何配置,只需要执行: ```bash $ xmake ``` xmake会自动检测到WDK的安装环境,然后编译相关驱动项目,...
实现线程安全的队列有两种方式:一种是使用阻塞算法,另一种是使用非阻塞算法。 1.阻塞算法的队列可以使用锁的方式来实现。 2.非阻塞的实现方法则可以使用循环CAS的方式来实现。
ConcurrentLickedQueue使用非阻塞的方式实现线程安全队列。是一个基于链接节点的无界线程安全队列,它采用先进先出的规则对节点进行排序,添加一个元素的时候,它会添加到队列的尾部;当我们获取一个元素时,它会返回队列头部的元素。
ConcurrentLinkedQueue由head节点和tail节点组成,每个节点(Node)由节点元素和指向下一个节点(next)的引用组成,节点与节点都是通过next关联起来,从而组成一张链表结构的队列。 入队列: 入队列主要做两件事: 1.定位出尾节点 2.使用CAS算法将入队列节点设置成尾节点的next节点 定位尾节点: tail节点并不是尾节点,所以每次入队都必须先通过tail节点来找到尾节点。尾节点可能是tail节点,也可能是tail节点的next节点。 设置入队节点为尾节点: p.casNext(null,n)方法用于将入队节点设置为当前队列尾节点的next节点。如果p是null,表示p是当前队列的尾部节点,如果不为null,表示有其他更新了尾节点,则需要重新获取当前队列的尾部节...
一开始用官方的上传图片的代码 ClassicEditor.create(document.querySelector('#editor'), {
ckfinder: {
uploadUrl:"" + rootPath + "/qiNiu/uploadFile.json" //图片上传url
).then(editor =& {
.catch(error =& {
console.log(error);
后台可以收到图片,并返回json数据。返回到前端会报错,提示Cannot upload file:xxx.png
直到今天看了CKEditor中ckfinder的源码才发现问题。阅读ckeditor5-adapter-ckfinder发现,ckfinder也定义了UploadAdapter,同样实现了upload()和 abort() 方法。而问题就出现在upload()方法中。下面贴出upload()方法的源码: upload() {
return new Promise( ( resolve, reject ) =& {
this._initRequest();
this._initListeners( resolve, reject );
this._sendRequest();
_initListeners( resolve, reject ) {
const xhr = this.
const loader = this.
const t = this.t;
const genericError = t( 'Cannot ...
# 安装php ``` brew install php@7.2 ``` ### 修改环境变量 `sudo vim ~/.bash_profile` 或 `vim ~/.bashrc` 然后,在文件的最后加上: ``` export PATH=/usr/local/Cellar/php/7.2.6/sbin:/usr/local/Cellar/php/7.2.6/bin:$PATH ``` `source ~/.bash_profile ` 或 `source ~/.bashrc` 配置完成,再试试 `php -v` 显示的就是最新安装的PHP版本了。 重启php `brew services restart php` brew本身包含服务管理 ``` brew services list ``` 可以查看当前已管理的服务,并且可看到启动状态 然后可以通过 start,stop等启动和关闭对应软件
1. 介绍 Spring Cloud Config为分布式系统中的外部配置提供服务器和客户端支持。使用Config Server,您可以在所有环境中管理应用程序的外部属性。客户端和服务器上的概念映射与Spring Environment和PropertySource抽象相同,因此它们与Spring应用程序非常契合,但可以与任何以任何语言运行的应用程序一起使用。随着应用程序通过从开发人员到测试和生产的部署流程,您可以管理这些环境之间的配置,并确定应用程序具有迁移时需要运行的一切。服务器存储后端的默认实现使用git,因此它轻松支持标签版本的配置环境,以及可以访问用于管理内容的各种工具。很容易添加替代实现,并使用Spring配置将其插入。 2. 引入pom相关jar包,其中pom.xml配置如下: &?xml version="1.0" encoding="UTF-8"?&
&project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"&
&modelVersion&4.0.0&/modelVersion&
&groupId&com.ml.honghu&/groupId&
&artifactId&commonservi...
摘要: 日志数据采集与分析对接 课程描述 通过日志服务采集用户、数据库、业务等访问数据。演示对于业务日志分析与处理,程序日志查询与监控,打通日志与数据仓库对接案例。 日志种类 网站访问日志准备步骤 & 依赖 ECS虚拟机(测试账号默认包含,并且访问日志产生) OSSBucket 用做数据仓库,存储日志服. 日志数据采集与分析对接 课程描述 通过日志服务采集用户、数据库、业务等访问数据。演示对于业务日志分析与处理,程序日志查询与监控,打通日志与数据仓库对接案例。 日志种类 网站访问日志 准备步骤 & 依赖 ECS虚拟机(测试账号已默认创建虚拟机-ECS控制台) OSSBucket 用做数据仓库,存储日志服务同步的各类数据 RAM服务 生成RAM角色用于同步日志数据至OSSBucket 操作步骤 日志采集配置 登陆日志服务控制台,选择华东1创建日志服务project,其中Project名称全局唯一,建议名称加上登陆账号前缀进行区别 创建logstore存储访问日志 向导创建NGINX日志采集
开启日志分析 配置文件路径(/var/log)和文件名称(access_log),其中NGINX日志配置为: 创建机器组(打开ECS控制台获取机器IP地址) 开启数仓同步 打开OSS控制台,可以看到一个以workshop名称开头的bucket,...
# 使用Airtest进行Android与iOS的微信小程序自动化测试 ## 1\. 简介 随着微信小程序的逐渐普及,针对微信小程序的测试需求也逐渐丰富起来了。现在针对小程序的自动化测试手段比较不完善,针对的平台比较具现化。 本文介绍一下使用Airtest测试框架进行微信小程序自动化测试的方法,并分别介绍在Android和iOS下对详细的使用步骤。 ## 2\. 需求 这里我们以星巴克的小程序为例 ![image](http://airtest.netease.com/docs/docs_AirtestIDE-zh_CN/_images/5_1.png) 我们需要 ``` 1.打开关闭小程序 2.查看咖啡信息并试图购买 ``` 针对这几个需求,我们使用Airtest对小程序进行测试 ## 3.Airtest简介 Airtest的简要介绍可以看这里 https://www.oschina.net/p/airtest http://airtest.netease.com/ 这次我们使用Airtest-Ide,poco,iOS-Tagent,这几个组件完成我们的任务,这些内容均可以在下面找到 https://github.com/AirtestProject ## 4.开始Android测试 这里使用系统WebView内核: 使用微信聊天框输入此网址打开 http://debugtbs.qq.com/ 或者扫描二维码 ![](https://oscimg.oschina.net/oscnet/66a08a54f941b35c4fab85aec3fd3c19970.jpg) 选择强制使用系统内核,然后重启微信即可...
1.打包时不允许项目中有打印的日志,可以在pch中加入下面这段代码即可 #ifdef DEBUG
define Log(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);
define Log(...)
环境 系统:archlinux/centOS nginx:nginx/1.12.2 浏览器:火狐firefox
前提:1.安装nginx。   
2.安装openssl。 生成证书 新建工作目录  首先建立一个工作目录,这里以我的工作目录为例。(/home/yinghui/ssl/demoCA-my/),然后执行如下命令。建立生成证书的路径文件结构,这是由openssl的默认配置文件决定的。你可以修改配置。 mkdir demoCA-my
cd demoCA-my
touch ./{serial,index.txt}
mkdir ./newcerts 配置 openssl.cnf
拷贝配置文件到工作目录。当然前缀路径要换成你自己的。 cp /usr/local/ssl/openssl.cnf
./  修改配置文件。编辑openssl.cnf中的一些选项。   unique_subject
(这样一个CA可以同时签多张证书)   countryName = optional(把这些参数的匹配规则改为可选)   stateOrProvinceName = optional   organizationName
= optional   organizationalUnitName
= optional 效果:
修改dir配置:注意是CA_default 下面的dir
生成CA跟证书
现在我们来生成自己的CA跟证书 openssl req -new -x509 -keyout ca.key -out ca.crt -config openssl.cnf   生成会话会让你填入...
ESLint+Prettier prettier只关注格式化 ,插件prettier-vscode,编辑器的配置setting.json会出现prettier插件的相关配置节点,同时也能看到一些默认的配置信息。 安装成功后,编辑器默认的格式化处理就会被prettier代替, 默认快捷键是alt + shift + 可以针对项目设置格式化参数,在项目根目录添加配置文件.prettierrc 插件ESLint在vscode中setting.json会出现ESLint的参数,有eslintrc.js配置文件
什么是TinyProxy 它是一个代理服务器,用来实现http或https代理,windows系统一直在用ccproxy, 非windows系统,怎么开放个http代理呢?那就是TinyProxy。 安装 直接执行命令即可 sudo apt-get update
sudo apt-get install tinyproxy 1 2 配置 配置文件在 /etc/tinyproxy.conf
修改如下地方即可: Port 8888 #预设是8888 Port,你可以更改
Allow 127.0.0.1 #将127.0.0.1改成你自己的IP
#例如你的IP 是1.2.3.4,你改成Allow 1.2.3.4,那只有你才可以连上这个Proxy
#若你想任何IP都可以脸到Proxy在Allow前面打#注释 配置说明 以根用户启动时,在初始化完成后切换 uid/gid 为 nobody/nogroup Port 默认监听端口为 8888(该端口无需用 root 权限绑定) 默认在所在网卡上监听 Logfile (必须) 日志文件, 默认 /usr/var/log/tinyproxy/tinyproxy.log,在 LogFile 文件不存在时会警告,不会运行失败。 Pidfile (必须)pid 文件, 默认 /usr/var/run/tinyproxy/tinyproxy.pid,在 PidFile 文件不存在时会运行失败。 StartServers 初始启动的代理服务器子进程 (默认是 10 个) Allow 允许使用 tinyproxy 进行 HTTP 代理的 IP 地址。默认是127.0.0.1,如果想要公开 tinyproxy 代理服务...
1,需求必须可度量、可测试 2,需求是什么? 功能需求 非功能需求 限制条件 3,Volere需求过程 采用Volere需求过程,最好采用RUP,增量,迭代,螺旋,Scrum或其他类似的迭代式开发过程 (注意:需求过程与开发过程是两码事) 3.1项目启动 启动会议主要目的为接下来的需求发现工作奠定基础
之前我们介绍过,在一个工程中我们关心两个问题: (1)工程是否顺利进行 (2)整个工程最短时间。
之前我们优先关心的是顶点(AOV),同样我们也可以优先关心边(同理有AOE)。(Activity On Edge Network) 看看百度百科上解释: AOE网:Activity on edge network 若在带权的有向图中,以顶点表示事件,以有向边表示活动,边上的权值表示活动的开销(如该活动持续的时间),则此带权的有向图称为AOE网。 如果用AOE网来表示一项工程,那么,仅仅考虑各个子工程之间的优先关系还不够,更多的是关心整个工程完成的最短时间是多少; 哪些活动的延期将会影响整个工程的进度,而加速这些活动是否会提高整个工程的效率。 因此,通常在AOE网中列出完成预定工程计划所需要进行的活动,每个活动计划完成的时间,要发生哪些事件以及这些事件与活动之间的关系, 从而可以确定该项工程是否可行,估算工程完成的时间以及确定哪些活动是影响工程进度的关键。 很显然,顶点表示事件,边表示活动,边的权则表示活动持续时间。 AOE一般用来估算工程的完成时间。 AOE表示工程的流程,把没有入边的称为始点或者源点,没有出边的顶点称为终点或者汇点。一般情况下,工程只有一个开始,一个结...
工作中编写prometheus的vsphere vcenter的exporter之后,进行容器化部署的实践,就参照prometheus的Dockerfile写了一个 ``` FROM quay.io/prometheus/busybox:latest LABEL maintainer "QHCloud Observer Exporter" USER root EXPOSE 3871 COPY observer_vcenter_exporter /bin/observer_vcenter_exporter #WORKDIR / ENTRYPOINT [ "/bin/observer_vcenter_exporter" ] CMD [ "--config-file=/etc/observer/vcenter.yml"] ``` 但启动的时候报如下错误: ``` standard_init_linux.go:190: exec user process caused "no such file or directory" ``` 经过不停的测试,发现是打出来的二进制文件在busybox中无法运行,但prometheus能运行,就通过阅读promu的源码并通过增加-v参数打印出了prometheus编译的参数 ``` go build -o /home/chensl004/Workspace/go/src/github.com/prometheus/prometheus/prometheus -ldflags -X github.com/prometheus/prometheus/vendor/github.com/prometheus/common/version.Version=2.3.0.1 -X github.com/prometheus/prometheus/vendor/github.com/prometheus/common/version.Revision=3cf878f9079773cedb64 -X github.co...
假设我们当前项目下有两个分支,分别名为 master 和 dev 根据 gitee 的项目成员权限说明,我们将 master 分支设置为保护分支,将 dev 分支设置为常规分支。如图所示。 ![](https://oscimg.oschina.net/oscnet/c098a5fba90933eba0c9ed395d.jpg) 然后创建我们的用户及相应 ssh key 假设现在有两个用户分别是
,当然了,这两都是我的常用邮箱,你自己可以去实验就行。 生成
用户的 ssh key 和
的ssh key。 然后将
ssh key 布署到
账号下或者说是管理员账号下的ssh公钥, 让
来管理 master 分支(管理员)。 同样,将
ssh key 布署到
账号下的ssh公钥, 让
来操作 dev 分支(开发者)。 两个 ssh key 都布署完毕,我们来测试。 然后,到我们的项目成员管理中,将
设置为管理员(如果是创建者就是管理员,当然也有可能是在企业账号下开发项目等情况), 将
设置为开发者。 这里着重测试 fzbbookmarks@g...
问题: Glide加载网络图片的时候先显示完整图片,再显示圆角图片 圆角图片的设置是采用以下开源库控件 compile 'com.makeramen:roundedimageview:2.3.0' 直接在布局文件里面添加该控件即可,通过app:riv_corner_radius指定圆角的半径
&com.makeramen.roundedimageview.RoundedImageView
android:id="@id/ididid"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerInParent="true"
android:scaleType="centerCrop"
app:riv_corner_radius="6dp" /& 可是如果通过Glide的into()方法直接传入该控件的引用就会出现加载图片到控件上时先显示直角图片,再显示圆角图片。这个时候如果采用了into()方法里面传入BitmapImageViewTarget对象的话就能避免这个问题。into方法使用的方式如下: into(new BitmapImageViewTarget(imageView) {
protected void setResource(Bitmap resource) {
imageView.setImageBitmap(resource);//imageView为该圆角控件的引用
一个C文件要变成可执行的文件,需要经过四个过程: 预处理(处理以“#”为开头的命令) 编译(将.c .i等文件翻译成汇编代码) 汇编(将汇编代码翻译成机器代码) 连接(将生成的多个目标文件(.o文件)连接起来,生成可执行文件) 主要用到的工具叫做arm-linux-gcc,arm-linux-ld,本次学习的是gcc工具。 几条常用命令选项:
-E:预处理后即停止
-S:编译后不汇编
-c:预处理+编译+汇编,但不连接
-o:指定输出文件为file。无论哪个环节,这个选项都可以使用
编译单个文件的语句,只需要一句话即可 gcc -o hello hello.c
这条指令,即直接将C文件生成成可执行文件"hello" 虽然这里是一条指令,但已经包含了几个步骤了。 gcc -E -o hello.i hello.c //对C文件做预处理
gcc -S -o hello.s hello.i //进行编译,生成汇编文件
gcc -c -o hello.o hello.s //对汇编代码编译成目标文件
gcc -o hello hello.o
//生成可执行程序hello 对于多个文件,需要进行逐个编译,再做最后的连接。 gcc -c -o mian.o mian.c
gcc -c -o sub.o sub.c
gcc -o test mian.o sub.o 也可以直接连接编译生成 gcc -o test mian.c sub.c
在Linux中执行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory。 分析:这是不同系统编码格式引起的:在windows系统中编辑的.sh文件可能有不可见字符,所以在Linux系统下执行会报以上异常信息。 解决:1)在windows下转换: 利用一些编辑器如UltraEdit或EditPlus等工具先将脚本编码转换,再放到Linux中执行。转换方式如下(UltraEdit):File--&Conversions--&DOS-&UNIX即可。 2)也可在Linux中转换: 首先要确保文件有可执行权限 #sh&chmod a+x filename 然后修改文件格式 #sh&vi filename 利用如下命令查看文件格式 :set ff 或 :set fileformat 可以看到如下信息 fileformat=dos 或 fileformat=unix 利用如下命令修改文件格式 :set ff=unix 或 :set fileformat=unix 最后再执行文件 #sh&./filename
对于数据库中对表的增删改查操作,我们知道增删改都涉及的是单表,而只有查询操作既可以设计到单表操作又可以涉及到多表操作,所以对于输入映射parameterType而言是没有所谓的高级映射的,也就是说高级映射只针对于输出映射(因为高级映射设计到多张表)。 前五篇文章我们都只实现了单表中的字段与pojo的映射,而本篇文章我们将来讲解如何实现多表与pojo之间的高级映射,分别有一对一映射、一对多映射和多对多映射。首先我们来看看如何使用resultType完成一对一映射。 1.多表间的一对一查询 1.1需求 查询订单信息关联查询用户信息。这里我们知道一个用户可以有多张订单,而一张订单只能属于一个用户,所以用户与订单间的关系是一对多而订单与用户间的关系是一对一。所以这里我们将订单表作为主查询表来关联用户表,从而实现一对一映射。 1.2创建表和数据 1
6 create table orders( id int primary key auto_increment,
user_id int ,
number int,
createtime datetime, note varchar(50));
用户表在第一篇文章中我们已经创建。 建立oders表和user表对应的pojo对象Orders.java和User.java。 1
13 public class...
一、历史与发展
Linus -& Linux -& no svn -& bitKeeper(收费) -& Git
二、集中式与分布式的区别 1、文件保存方式不同
1.1、SVN记录的是哪个文件修改了,记录了差异
1.2、把任意时间点的快照记录了,并且每个版本之间还会比较。(快照:快照表示某个时间点对应的代码长什么样)
2、工作方式以及出问题后解决办法
2.1、SVN是集中化的版本控制系统,用同一个服务器,一旦出问题,所有人都不能提交更新。历史记录存放位置单一,出现问题可能面临版本丢失的问题
2.2、Git是分布式存储管理,客户端存的是原始代码的完整镜像,存储到本地,也就是说每一个客户端的代码仓库都是一样的,任何部分代码出现问题,可以使用其他客户端的代码惊醒修复
三、Git本地仓库 1、下载与安装 下载地址:https://git-scm.com/ 安装完之后任意一个文件夹右键会出现 新建文件夹并在当前文件夹下面右键打开 2、git第一个命令 初始化本地仓库 git init,发现多了一个.git的底层文件,不能动,以后的版本信息等等都会存在这里。
``` /** * context to signal a cond * * Generic context to signal a cond and store the return value. We * assume the caller is holding the appropriate lock. */ class C_Cond : public Context { Cond * ///& Cond to signal bool * ///& true if finish() has been called int * ///& return value public: C_Cond(Cond *c, bool *d, int *r) : cond(c), done(d), rval(r) { *done = } void finish(int r) override { *done = *rval = cond-&Signal(); } }; /** * context to signal a cond, protected by a lock * * Generic context to signal a cond under a specific lock. We take the * lock in the finish() callback, so the finish() caller must not * already hold it. */ class C_SafeCond : public Context { Mutex * ///& Mutex to take Cond * ///& Cond to signal bool * ///& true after finish() has been called int * ///& return value (optional) public: C_SafeCond(Mutex *l, Cond *c, bool *d, int *r=0) : lock(l), cond(c), done(d), rval(r) { *done = } void finish(in...
Mybatis-Plus(简称MP)是一个Mybatis的增强工具,在 Mybatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
& 很多时候,我们在构建系统的时候都会自己创建用户管理体系,这对于开发人员来说并不是什么难事,但是当我们需要维护多个不同系统并且相同用户跨系统使用的情况下,如果每个系统维护自己的用户信息,那么此时用户信息的同步就会变的比较麻烦,对于用户自身来说也会非常困扰,很容易出现不同系统密码不一致啊等情况出现。如果此时我们引入LDAP来集中存储用户的基本信息并提供统一的读写接口和校验机制,那么这样的问题就比较容易解决了。下面就来说说当我们使用Spring Boot开发的时候,如何来访问LDAP服务端。 ## LDAP简介 LDAP(轻量级目录访问协议,Lightweight Directory Access Protocol)是实现提供被称为目录服务的信息服务。目录服务是一种特殊的数据库系统,其专门针对读取,浏览和搜索操作进行了特定的优化。目录一般用来包含描述性的,基于属性的信息并支持精细复杂的过滤能力。目录一般不支持通用数据库针对大量更新操作操作需要的复杂的事务管理或回卷策略。而目录服务的更新则一般都非常简单。这种目录可以存储包括个人信息、web链结、jpeg图像等各种信息。为了访问存储在目录中的信息,就需要使用运行在TCP/IP 之上的访问协议—LDAP。 LDAP目录中的信息是是按...
现在,3D 模型已经用于各种不同的领域。在医疗行业使用它们制作器官的精确模型;电影行业将它们用于活动的人物、物体以及现实电影;视频游戏产业将它们作为计算机与视频游戏中的资源;在科学领域将它们作为化合物的精确模型;建筑业将它们用来展示提议的建筑物或者风景表现;工程界将它们用于设计新设备、交通工具、结构以及其它应用领域;在最近几十年,地球科学领域开始构建三维地质模型,而且 3D 模型经常做成动画,例如,在故事片电影以及计算机与视频游戏中大量地应用三维模型。它们可以在三维建模工具中使用或者单独使用。为了容易形成动画,通常在模型中加入一些额外的数据,例如,一些人类或者动物的三维模型中有完整的骨骼系统,
Token 是在服务端产生的。如果前端使用用户名/密码向服务端请求认证,服务端认证成功,那么在服务端会返回 Token 给前端。前端可以在每次请求的时候带上 Token 证明自己的合法地位
网络唤醒的原理其实是,网卡接收到特定格式的数据包,就会唤醒主板,从而启动机器,所以需要网卡和主板的支持。一般现在的电脑都支持的
这两年,Kubernetes在企业中的DevOps、微服务领域取得了出色的成绩,从2017年开始,将Kubernetes应用到HPC、AI等领域也成了技术热点。这里我给大家分享一下Kubernetes在AI中的落地经验,内容包括TensorFlow on Kubernetes的架构与实践,以及线上经验和坑。
### 一、 布局 Flex ##### Flex 布局,可以简便、完整、响应式地实现各种页面布局,Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。任何一个容器都可以指定为 Flex 布局。 ``` // 指定为 Flex 布局 display: flex; ``` ``` // 主要属性 flex: none | [ &'flex-grow'& &'flex-shrink'&? || &'flex-basis'& ] flex属性是flex-grow, flex-shrink 和 flex-basis的简写,默认值为0 1 auto。后两个属性可选。 flex-grow属性定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大 flex-shrink属性定义项目的缩小比例,默认为1,即如果空间不足,该项目将缩小,flex-shrink属性为0,其他项目都为1,则空间不足时,前者不缩小 flex-basis属性定义了在分配多余空间之前,项目占据的主轴空间(main size)。浏览器根据这个属性,计算主轴是否有多余空间。它的默认值为auto,即项目的本来大小,设为跟width或height属性一样的值(比如350px),则项目将占据固定空间 ``` ``` flex : 等分 内容缩放 展位空间; flex : 0 0 80px ``` [Flex 语法](http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html?utm_source=tuicool) [Flex 实践](http:...
背景 京东活动系统 是一个可在线编辑、实时编辑更新和发布新活动,并对外提供页面访问服务的系统。其高时效性、灵活性等特征,极受青睐,已发展成京东几个重要流量入口之一。近几次大促,系统所承载的pv已经达到数亿级。随着京东业务的高速发展,京东活动系统的压力会越来越大。急需要一个更高效,稳定的系统架构,来支持业务的高速发展。本文主要对活动页面浏览方面的性能,进行探讨。 活动页面浏览性能提升的难点: 1. 活动与活动之间差异很大,不像商品页有固定的模式。每个页面能抽取的公共部分有限,可复用性差。 2. 活动页面内容多样,业务繁多。依赖大量外部业务接口,数据很难做到闭环。外部接口的性能,以及稳定性,严重制约了活动页的渲染速度、稳定性。 经过多年在该系统下的开发实践,提出“页面渲染、浏览异步化”的思想,并以此为指导,对该系统进行架构升级改造。通过近几个月的运行,各方面性能都有显著提升。在分享"新架构"之前,先看看我们现有web系统的架构现状。 一、web架构发展与现状 1.开发阶段 以京东活动系统架构的演变为例,这里没有画出具体的业务逻辑,只是简单的描述下架构:
2.第二步,一般是在消耗性能的地方加缓存,这里对部分查库操作...
### **一些感悟** --- - 代码结构和规范关系到项目的可持续维护以及维护的周期,非常重要,但真正重视并落地的很少 - 经典的MVC模式一般都能说出来,但真正落地到项目代码结构的时候,却缺少思考 - 当写代码和找代码让人感觉别扭的时候,就该考虑如何去优化了 - 一切皆对象,在规划代码结构的时候也需要有面向对象的思维方式 - 很多张口就是高并发、大数据、高流量等之类高大上词汇的人,缺很少注重代码的基础结构,写出的代码很难让人轻易上手 - 如果代码结构和规范做得好一点,一般项目有一两个顶梁柱再加一些新手就完全可以搞定。这样既可以节省人力成本,也可以快速培养新人,新加入的成员也能快速融入 以下是整理的一般类型的项目代码结构,仅供参考。部分模块是使用spring boot开发项目的命名,但总体结构思路是一样的,如果不使用spring boot开发项目,只是修改一下名字即可 ### **建议的包结构及简单说明** - itopener-parent:顶级maven parent,配置统一的maven插件、依赖包版本管理等 - itopener-utils:全局公用的工具类,如:加密操作、集合处理、字符串处理等等 - itopener-framework:基于框架的统一的封装,比如:拦截器、controller返回对象、BaseControl...
通过[《Spring Cloud构建微服务架构:消息驱动的微服务(入门)》](http://blog.didispace.com/spring-cloud-starter-dalston-7-1/)一文,相信大家对Spring Cloud Stream的工作模式已经有了一些基础概念,比如:输入、输出通道的绑定,通道消息事件的监}

我要回帖

更多关于 注射隆胸能取出来吗 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信