能存图片等资料不占用内存的是道云什么内存条比较好软件

是不是2G内存,什么软件能查看呢,难道只能拆机_百度知道
是不是2G内存,什么软件能查看呢,难道只能拆机
我有更好的答案
是电脑么?
电脑的话 右击我的电脑属性
会有显示内存大小。
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。内存占用好大的,有道友知道关闭哪些不必要的内存吗_百度知道
内存占用好大的,有道友知道关闭哪些不必要的内存吗
您的回答被采纳后将获得:
系统奖励15(财富值+成长值)+难题奖励20(财富值+成长值)
我有更好的答案
在增加8G内存 保证够
你多大内存?
话说你用win10还装什么360,卸了360释放内存就好了
win10跟360有关系么
win10自带安全软件,你装个360不是没事干嘛
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。宁波日报【报网端】
新 媒 体 矩 阵
宁波:花开“蜂景”美&&...
西藏拉萨降春雪 银装素裹景色迷人&&...
暖化!浙大宿管大叔陪读博士儿子 每日相聚幸福午餐&&...
澳顽皮鲸鲨潜伏游艇下近一个小时 安静“观察”游客&&...
世界首条“高速公路”秦直道酝酿开放与众“共享”&&...
“甬派”是宁波日报报业集团根据中央、省市委关于“一市一端”的要求,做大做强移动互联网上新闻宣传和舆论引导主阵地、有效占领移动互联网新兴阵地的拳头产品。
宁波作为首批全国文化消费试点城市,文化惠民方面做了许多推广,而甬派也开设了“文化卡”频道,推出一系列线上线下活动。许多派粉都知道甬派在文化艺术类的福利一直非常给力......
快来看,宁波二百黄金珠宝又卖爆
波第二百货商店的黄金饰品“免折旧费换新”活动带来了大量人气,商店尚未开门便已排起...
苏州工业园区旅游资源创意推介活
现如今的苏州已经不只有粉墙黛瓦、小桥流水和古典园林,高楼林立、车水马龙、摩登绚烂...KNN算法 K-Means算法 目标
确定某个元素所属的分类 将已存在的一系列元素分类 算法类别 监督的分类算法 无监督的聚类算法 数据区别 训练数据中,有明确的标签。 如:一个数据集中有几万张图片,都被打上了“苹果”的标签,另外还有几万张图片,被打上了“香蕉”的标签,数据是完全正确,知道结果的数据 几十万张各种各样水果的图片放一起,杂乱无章。 训练过程 无需训练(或者没有很明显的训练过程),将数据与训练数据直接对比 需要前期训练 K的含义 K指的是相邻数据的数目。 举个例子,假设某张图片相邻的20张图片中,有18张是打着“苹果”标签的数据,有1张是“香蕉”,1张是“樱桃”,那么这张图片的标签也是“苹果”。 那么在这个例子中,K就是20,20张相邻的图片。 K指的是分类的数目,人为设定好分为K个簇。 对比结果 K值不变的情况下,每次结果都是一样的。 K值确定后每次结果可能不同。
1、KNN算法,本质是一种数据统计的方法。 1.1
欧几里得距离 欧几里得距离通俗来讲就是高中数学中直角坐标系求两点间的距离,二维公式:|x| = √( x2 + y2 ) 1.2
距离计算 假设我们现在要对某张图片进行识别,大概是个怎样的思路呢(仅供理解,实际开发中更复杂)?...
通常Spring事务管理的配置都是XML或者声明式注解的方式,然后想要学习其运行的原理,从TransactionProxyFactoryBean深入更合适。我们从事务相关的核心类开始,逐步介绍Spring事务的运行机制。 ## Spring事务核心类 Spring事务的构成,基本有三个部分,事务属性的定义,事务对象及状态信息的持有,事务管理器的处理。 ### 事务属性的定义 1. TransactionDefinition 事务定义(传播属性,隔离属性,timeout等) 2. TransactionAttribute 事务属性接口 (继承TransactionDefinition),常用的实现是RuleBasedTransactionAttribute 3. TransactionAttributeSource 事务属性数据源,可以根据method和Class获取TransactionAttribute(注解方式的实现为AnnotationTransactionAttributeSource,编程方式的实现为NameMatchTransactionAttributeSource) ### 事务对象及状态信息的持有 1. Transaction 事务对象,由具体的事务管理器实现返回 2. TransactionStatus 事务状态,持有事务对象以及事务本身的属性及状态,每次事务方法执行前,生成一个新的TransactionStatus,但如果不需要创建新事务,则持有的事务和上层一致 3. TransactionInfo 事务信息,持有事务属性,事务状态,事务连...
《Spring Boot 与 kotlin 实战》之使用Spring-data-jpa简化数据访问层
本文主要介绍如何在django中用celery完成异步任务,web项目中为了提高用户体验可以对一些耗时操作放到异步队列中去执行,例如激活邮件,后台计算操作等等 当前项目环境为: django==1.11.8 celery==3.1.25 redis==2.10.6 pip==9.0.1 python3==3.5.2 django-celery==3.1.17
hue(01)、hue4.1的编译安装启动
每周为您推送最有价值的开源技术内参!
& 大家知道我最近在给“阿北的知识分享”微信小程序改版,使用的是yii2中的restful功能,接下来把遇到的一些问题及小技巧分享一下。 先安利一下小程序码 [链接][1] 开始分享。 # URL要重写 我们知道restful风格的url一般是这样的 - GET /users - POST /users - DELETE /users/1 我们yii2默认的url形式是index.php?r=controller/action。 虽然说yii2已经提供了专门针对于restful的路由规则,但是我们还是需要服务器支持url重写把index.php去掉。 我用的是nginx,如下配置 ```php location / { if (!-e $request_filename){ rewrite ^/(.*) /index. } } ``` 如果你的是apache可以如下配置 ```php // Apache需要支持url重写其AllowOverride为all AllowOverride:all //web目录下增加.htaccess,隐藏index.php文件 内容如下 RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . index.php ``` 或 ```php RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)\?*$ index.php/$1 [L,QSA] ``` # 不要DELETE了 默认情况下yii2的restful已经提...
本文讲的是实际操作中的小问题和小技巧, 这里要谈谈Pentaho BI Server对文件夹的操作,在项目使用pentaho cde图表开发完图表后,通常会迁移cde图表文件来完成开发与部署不同环境下的图表迁移,在迁移过程中发现BI Server可以对Pentaho中文件夹进行下载, 下载后是一个zip的文件,可以通过在要迁移环境下upload上传后还原该文件夹。 后面遇到有人问我Pentaho BI Server能否进行批量上传文件,因为upload每次只能上传一个文件,而当要上传文件夹时我就想到了可以通过将本地需要上传的文件夹打成zip然后上传到服务器做法, 新建测试文件夹: 上传成功: 但是后期在传入他给到的文件夹出现如下问题: 上传之后 发现导入失败: 发现pentaho上传文件时不能出现中文。 注:上传成功后若发现某些文件看不到,则需要勾选显示隐藏文件
打算抄袭一下MyBatis的Java注解方式配置,添加到在正在开发的持久层工具里,只需要定义一个接口方法,就可以用一个动态代理来使用它,这种方式的优点是可以利用Java的导舤功能快速定位SQL,比文本方式保存的模板定位方便,而且方法名和参数都是Java强类型,支持重构: @Select("select * from users where id = #{id}")
User getUserById(Integer id); 但还是老问题,Java对多行文本的支持太差,MyBatis的解决方法个人不是太喜欢,破坏了SQL的可读性: private String selectPersonSql() {
return new SQL() {{
SELECT("P.ID, P.USERNAME, P.PASSWORD, P.FULL_NAME");
SELECT("P.LAST_NAME, P.CREATED_ON, P.UPDATED_ON");
FROM("PERSON P");
FROM("ACCOUNT A");
INNER_JOIN("DEPARTMENT D on D.ID = P.DEPARTMENT_ID");
INNER_JOIN("COMPANY C on D.COMPANY_ID = C.ID");
WHERE("P.ID = A.ID");
WHERE("P.FIRST_NAME like ?");
WHERE("P.LAST_NAME like ?");
GROUP_BY("P.ID");
HAVING("P.LAST_NAME like ?");
HAVING("P.FIRST_NAME like ?");
ORDER_BY("P.ID");
ORDER_BY("P.FULL_NAME");
如果大家正在按照笔者的教程尝试使用大数据组件还是之前有使用过相关的组件,大家会发现一个问题HIVE在负责的查询下调用Mapreduce会很慢,在这个场景下就涌现出很多查询引擎来优化,比如大家熟悉的Spark-SQL,Impala,kilin已经今天的主角Presto, Presto以速度和极强的扩展性取得了胜利,不仅能够提高对HIVE数据查询速度还能和异构数据库进行关联查询,比如HIVE和Mysql进行关联查询,那么我们就来迫不及待的揭开Presto的庐山真面目
java中监听器的实现大都是利用接口进行回调,使用比较麻烦。之后,spring框架中出现了在方法上加一个注解就可以实现监听的用法,特别简洁。本文就是在分析监听器回调原理的基础上,在spring环境中使用自定义的注解实现一个监听器。
作为一种可移植、体积小、加载快且兼容web的全新格式,WebAssembly受到诸多关注,并迎来企业的探索实践。白鹭引擎利用WebAssembly重新实现了一个新的渲染内核并作为一个可选项提供给开发者,使得白鹭引擎5.0成为业内首个双核驱动的引擎。在此过程中积累了一些经验,白鹭引擎首席架构师王泽今天和大家一起分享背后的故事。
WebAssembly 是 Google Chrome、Mozilla FireFox、Microsoft Edge、Mozilla FireFox 共同宣布支持、并在 2017年3月份在各自浏览器中提供了实现的一种新技术。他被设计为一种可移植的、安全的、低尺寸的、高效的二进制格式。浏览器可以解析并运行这种格式,并拥有比 JavaScript 更高的性能和解析速度。WebAssembly 可以通过编写 C / C++ 代码,通过专门的编译器生成 .wasm 格式的文件,直接运行在最新的浏览器中。 白鹭引擎是一款 HTML5 游戏引擎,他提供了游戏开发所需要的诸多功能,并允许开发者编写的游戏运行在 Web 浏览器或移动应用的 WebView 容器中。 在白鹭引擎 5.0 中,我们使用 WebAssembly 重新编写了白鹭引擎的渲染核心,以便进一步提升渲染效率。在这个过程中,白鹭引擎遇到了WebAssembly的各种问题,在此与读者进行一些 WebAssembly ...
Raft,分布式系统,分布式存储
《Spring Boot 与 kotlin 实战》之 使用JdbcTemplate连接MySQL
关于分布式事务,工程领域主要讨论的是强一致性和最终一致性的解决方案。典型方案包括: - **两阶段提交(2PC, Two-phase Commit)方案** - **eBay 事件队列方案** - **TCC 补偿模式** - **缓存数据最终一致性** # 一、一致性理论 分布式事务的目的是保障分库数据一致性,而跨库事务会遇到各种不可控制的问题,如个别节点永久性宕机,像单机事务一样的ACID是无法奢望的。另外,业界著名的CAP理论也告诉我们,对分布式系统,需要将数据一致性和系统可用性、分区容忍性放在天平上一起考虑。 两阶段提交协议(简称2PC)是实现分布式事务较为经典的方案,但2PC 的可扩展性很差,在分布式架构下应用代价较大,eBay 架构师Dan Pritchett 提出了BASE 理论,用于解决大规模分布式系统下的数据一致性问题。BASE 理论告诉我们:可以通过放弃系统在每个时刻的强一致性来换取系统的可扩展性。 ## 1、CAP理论 在分布式系统中: - **一致性(Consistency)** - **可用性(Availability)** - **分区容忍性(Partition Tolerance)** 3个要素最多只能同时满足两个,不可兼得。其中,分区容忍性又是不可或缺的。 ![ ][1] - **一致性**:分布式环境下多个节点的数据是否强一致。 - **可用性*...
![Thinkpad 25 Anniversary](http://upload-images.jianshu.io/upload_images/fb7bdff80a77326.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 用thinkpad打字确实很爽啊! --- ## 内部类基本概念 - 可将一个类的定义置于另一个类定义的内部 - 内部类允许将逻辑相关的类组织在一起,并控制位于内部的类的可见性 - 甚至可将内部类定义于一个**方法**或者**任意作用域**内! - 当然,内部类 ≠ 组合 - 内部类拥有其外围类 所有元素的 访问权 - 更有甚,嵌套多层的内部类能透明地访问所有它所嵌入的外围类的所有成员 一个典型的例子:利用 **Java内部类** 实现的 **迭代器模式** ``` // 接口 ------------------------------------------------------------- public interface Selector { boolean end(); Object current(); void next(); } // 外部类(集合类) + 内部类(迭代器类) ------------------------------------------------------------- public class Sequence { // 外部类(代表一个集合类) private Object[] private int next = 0; public Sequence( int size ) { items = new Object[size]; } public void add( Object x ) { if...
不少朋友对tio处理半包粘包不是很清楚,所以就简单写一篇博客来说一下吧
Java 判断图片类型
从第一篇已经讲解过了监听器的基本概念,以及Servlet各种的监听器。这篇博文主要讲解的是监听器的应用。 统计网站在线人数 分析 我们在网站中一般使用Session来标识某用户是否登陆了,如果登陆了,就在Session域中保存相对应的属性。如果没有登陆,那么Session的属性就应该为空。 现在,我们想要统计的是网站的在线人数。我们应该这样做:我们监听是否有新的Session创建了,如果新创建了Sesssion,那么在线人数就应该+1。这个在线人数是整个站点的,所以应该有Context对象保存。 大致思路: 监听Session是否被创建了 如果Session被创建了,那么在Context的域对象的值就应该+1 如果Session从内存中移除了,那么在Context的域对象的值就应该-1. 代码 监听器代码:
public class CountOnline implements HttpSessionListener {
public void sessionCreated(HttpSessionEvent se) {
//获取得到Context对象,使用Context域对象保存用户在线的个数
ServletContext context = se.getSession().getServletContext();
//直接判断Context对象是否存在这个域,如果存在就人数+1,如果不存在,那么就将属性设置到Context域中
Java 二维数组中的孤岛搜索
分布式下Session一致性架构举例
开始使用-初尝胜果
OpenCV的video module中包含了几种较为常用的背景减除方法,其中混合高斯模型(Gaussian of Mixture Models, GMM)方法效果较好。
常用的目标检测方法:1)帧间差分;2)背景减除;
其中背景减除方法的关键在于建立一个鲁棒的背景模型(背景图像),常用的建立背景模型方法有: 1)均值法;2)中值法;3)滑动平均滤波法;4)单高斯;5)混合高斯模型;6)codebook,等。
混合高斯模型的原理:
每个像素的R、G、B三个通道像素值的变化分别由一个混合高斯模型分布来刻画。这样的好处在于,同一个像素位置处可以呈现多个模态的像素值变化(例如水波纹,晃动的叶子等)。
GMM的出处:Adaptive background mixture models for real-time tracking (1999年由Chris Stau er提出)
OpenCV版本:2.4.2
下面的代码实现了基于GMM的运动目标检测,同时能够消除运动阴影; (基于文献:Improved adaptive Gausian mixture model for background subtraction)
[cpp] view plain copy //
基于混合高斯模型的运动目标检测
Author: www.icvpr.com
Blog: http://blog.csdn.net/icvpr
#include &iostream&
## 环境 系统: CentOS7 - 下载 websocketd [websocketd-0.3.0-linux_amd64.zip](https://github.com/joewalnes/websocketd/releases/download/v0.3.0/websocketd-0.3.0-linux_amd64.zip) - 安装 nc 命令 ```bash yum install nmap-ncat ``` - 生成监听脚本 ```bash cat & cmd.sh &&-END #!/bin/bash pid=65536 while :; do if [ -f /proc/$pid/stat ]; then sleep 2 continue fi pkill -x nc && sleep 2 nc -l -p 10089 & pid=$! done ``` - 启动 websocketd ```bash ./websocketd --port=8002 --staticdir=. ./cmd.sh ``` - 编辑 log.html ```html 实时日志清空 ``` - 把 log.html 放在 websocketd 的 staticdir 位置,用浏览器访问该页面 - 在其他应用服务器,传输实时日志 ```bash tail -f /tomcat/logs/catalina.out | nc {ws-server} 10089 ```...
程序性能优化一直是开发者关心的问题,性能优化包括编写代码的优化,sql的优化,软硬件的优化升级以及网络的优化等,今天笔者将平时工作中用到的sql优化技巧以及在网上看到的sql优化相关内容综合比较汇总,写一篇文章记录下。 1、对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引; 2、应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,举个栗:select id from user where user_
因为where子句中is null或is not null在语句优化器中是不允许使用索引的; 3、应尽量避免在 where 子句中使用 != 或 && 操作符,否则将引擎放弃使用索引而进行全表扫描; 4、应尽量避免在 where 子句中使用 or 来连接条件,如果一个字段有索引,一个字段没有索引,将导致引擎放弃使用索引而进行全表扫描,举个栗:
select id from user where user_num=10 or name = 'varuscn';
优化如下:
select id from user where user_num = 10 union all select id from t where name = 'varuscn'; 注:其中union all列出所有的记录,union...
我是一个理工男,本科是搞电子的,但是一直对计算机的一些东西感兴趣,自己在课下喜欢学一些编程语言,后来进入了实验室,看到师兄在弄Linux,我才接触到了Linux,在电脑上装了个系统,便开始了一番探索,当然开始也是很迷茫的,也走了一些弯路,下面就谈谈我是怎么学习Linux的。 大一的时候当上了班长,忙的一塌糊涂,学期末的时候除了人脉比较广,认识的赞助商比较多,和老师关系很好,知识学的很少。于是到了大二,我决定要好好学点技能,以方便以后就业。经同学介绍,进入了我们学校的实验室,实验室的师哥人都很好,老师也很棒!于是在这愉快的氛围里,开始了我的科研之路。开始的时候是师哥带着学的,学的也挺快的,但是总是感觉知识学的不系统,地基打不牢,以后怎么建高楼。于是我就去图书馆翻阅资料,图书馆有关于Linux的书籍有好多,内容都差不多,就是套路不一样。再后来,接触到了一本《Linux就该这么学》的电子书,因为它的资源都是免费的,对于穷学生来说,这是个大福利啊,于是我就找到这本书的资源,开始以为免费的不会太好吧,但是看了第一章我就感觉很棒,作者写到读者心里去了,对于初学者来说,无疑是很好的选择。容易理解,配套的练习很经典,能让初学...
你在xshell终端执行程序的时候,不会报错,而用Kettle远程执行SHELL就报错。 比如我执行的报这样的错: 原因是: 我centos6装python3的时候sqlite3有问题,然后我重新装上最新的,并设置了环境变量 当我用Kettle远程执行SHELL的时候,脚本因为没有找到该环境变量导致报错。 直接在SHELL命令加上 . /etc/profile 即可。
转自:http://www.chinawebanalytics.cn/auto-event-tracking-good-bad-ugly/
有好多朋友问我,无埋点是什么,不加代码就能监测了? 我总觉得应该写一篇文章以正视听。 实际上,在2014年我去旧金山参加eMetrics Summit的时候,Heap Analytics就展出了他们的“无埋点”产品——这家公司也是以不需要埋点就能实现监测作为最主要卖点的(见我的这篇文章:明天的数字营销分析工具(下))。Heap的负责人告诉我,他们在2013年已推出了无埋点监测技术,为此才成立这家公司。采用类似技术的公司还有数家,因此这完全不是一个新技术,更不是一个垄断技术。
只是,那个时候还没有人把它称为无埋点,大家称它为“可视化监测部署”,或者“所见即所得的监测部署”。而且在2014年,中国几乎没有什么有影响力的创新digital analytics工具,而附着于这类工具之上的可视化或者不可视化、埋点或不埋点,自然无人提及。除了我的那篇文章,整个行业了无波澜。 似有好东西被埋没,养在深闺无人识的遗憾。或者你也该明白起一个好名字该有多重要。:P 而此时的彼岸,这一技术方案已然进入寻常百姓家,已非带着光环的神秘之物。 不过,随着我们国家的互联网数据行业突然蓬勃起来,诸多厂商一...
—— 原文发布于本人的微信公众号“大数据与人工智能Lab”(BigdataAILab),欢迎关注。
近几年来,卷积神经网络(Convolutional Neural Networks,简称CNN)在图像识别中取得了非常成功的应用,成为深度学习的一大亮点。CNN发展至今,已经有很多变种,其中有几个经典模型在CNN发展历程中有着里程碑的意义,它们分别是:LeNet、Alexnet、Googlenet、VGG、DRL等,接下来将分期进行逐一介绍。 在之前的文章中,已经介绍了卷积神经网络(CNN)的技术原理,细节部分就不再重复了,有兴趣的同学再打开链接看看,在此简单回顾一下CNN的几个特点:局部感知、参数共享、池化。 1、局部感知 人类对外界的认知一般是从局部到全局、从片面到全面,类似的,在机器识别图像时也没有必要把整张图像按像素全部都连接到神经网络中,在图像中也是局部周边的像素联系比较紧密,而距离较远的像素则相关性较弱,因此可以采用局部连接的模式(将图像分块连接,这样能大大减少模型的参数),如下图所示:
2、参数(权值)共享 每张自然图像(人物、山水、建筑等)都有其固有特性,也就是说,图像其中一部分的统计特性与其它部分是接近的。这也意味着这一部分学习的特征也能用在另一部分上,...
使用Docker快速部署Ceph集群 , 然后使用这个Ceph集群作为Kubernetes的动态分配持久化存储。
Kubernetes集群要使用Ceph集群需要在每个Kubernetes节点上安装ceph-common
1. 为kubernetes创建一个存储池
1 2 # ceph osd pool create k8s 128 pool 'k8s' created
2. 创建用户 1 # ceph auth add client.k8s mon 'allow rx' osd 'allow rwx pool=k8s'
k8s用户只能对k8s这个存储池有读写权限,注意一定要有执行权限才能执行ceph命令
通过ceph auth list 查看 1 2 3 4 client.k8s
key: AQC3Hm5Zan9LDhAAXZHCdAF39bXcEwdpV6y/cA==
caps: [mon] allow r
caps: [osd] allow rw pool=k8s
在存储池k8s下创建一个镜像测试下k8s这个用户是否可以操作
1 2 3 4 # rbd create k8s/foo --size 1G --id k8s
# rbd map k8s/foo --id k8s /dev/rbd0
k8s这个ceph用户可以对k8s这个存储池进行操作了
3.为ceph添加一个kubernetes secret
1 2 # echo "$(ceph auth get-key client.k8s)"|base...
本文将对几种音频混音的方法进行详细的介绍和比较,读完之后你应该可以对混音有个基本的认识,针对不同情形知道应该采用哪种具体的处理方法了。
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法 。
笔记和代码都放在码云:https://gitee.com/tangijia/anguarjs_learning_notes
原文地址 securecrt 8.0 64位下载 百度云提取码:c0ms 内含破解注册机 破解(破解过程中不要打开软件) 1、安装好软件后,在软件包中找到注册机,复制到securecrt 8.0的安装目录下 比如我的安装路径:D:\progremfiles\soft\sercurecrt 则需要将keygen.exe拷贝到此目录下 2、以管理员模式运行注册机,过程和普通的破解过程一样 还是不会的话 自己看原文吧
使用idea创建一个spring boot项目,写一个api返回helloworld
从上一篇可以得知,BloomFilter的关键在于hash算法的设定和bit数组的大小确定,通过权衡得到一个错误概率可以接受的结果。 算法比较复杂,也不是我们研究的范畴,我们直接使用已有的实现。 google的guava包中提供了BloomFilter类,我们直接使用它来进行一下简单的测试。 新建一个maven工程,引入guava包 &dependencies&
&dependency&
&groupId&com.google.guava&/groupId&
&artifactId&guava&/artifactId&
&version&22.0&/version&
&/dependency&
&/dependencies&
测试分两步: 一 我们往过滤器里放一百万个数,然后去验证这一百万个数是否能通过过滤器,目的是校验是坏人是否一定被抓。 二 我们另找1万个不在这一百万范围内的数,去验证漏网之鱼的概率,也就是布隆过滤器的误伤情况。 import com.google.common.hash.BloomF
import com.google.common.hash.F
import java.util.ArrayL
import java.util.L
* Created by admin on 17/7/7.
* 布隆过滤器
public class Test {
private static int size = 1000000;
private static BloomFilter&Integer& bloomFilter = Bl...
1、资源模型   虛拟化技术是云计算平台的基础,其目标是对计算资源进行整合或划分,这是云计算管理平台中的关键技术。虚拟化技术为云计算管理乎台的资源管理提供了资源调配上的灵活性,从而使得云计算管理平台可以通过虚拟化层整合或划分计算资源。   相比于虚拟机,新出现的容器技术使用了一系列的系统级别的机制,诸如利用Linux Namespace进行空间隔离,通过文件系统的挂载点决定容器可以访问哪些文件,通过Cgroup确定每个容器可以利用多少资源。此外,容器之间共享同一个系统内核,这样当同一个内核被多个容器使用时,内存的使用效率会得到提升。   容器和虛拟机两大虛拟化技术,虽然实现方式完全不同,但是它们的资源需求和模型其实是类似的。容器像虛拟机一样需要内存、CPU、硬盘空间和网络带宽,宿主机系统可以将虛拟机和容器都视作一个整体,为这个整体分配其所需的资源,并进行管理。当然, 虚拟机提供了专用操作系统的安全性和更牢固的逻辑边界,而容器在资源边界上比较松散,这带来了灵活性以及不确定性。   Kubernetes是一个容器集群管理平台,Kubernetes需要统计整体平台的资源使用情况,合理地将资源分配给容器使用,并且要保证容器生命周期内有足够的...
### 一:分层和分割 1:分层 对于分层,我们可能非常熟知了,数据访问层,业务逻辑层,缓存层,应用层,层层专注于自己的业务,然后根据需要建立起 各自的集群,各自分离部署,而从达到系统的扩展性和维护性。 2:分割 如果说前面是横向切割,那分割就是纵向切割,我们可以把网站的整体业务切分成很多的小业务,比如博客园的导航栏,我们都 可以认为是一个独立的网站,配上各自的二级域名,建立各自的集群来实现系统的扩展性,当然这个粒度可大可小。 如果说这些子网站不存在相互调用,那么我们新增模块或者修改模块基本上都不会对其他模块造成影响,这也是我们做扩展性的终极 目标,现在既然都做到解耦了,下面的目标就是做如何通信了,通信可以分为“同步”和“异步”,这篇主要是讨论下异步操作,在分布式 系统中做到"异步操作“,当然少不了强大的消息队列。 ### 二:消息队列 在分布式的系统中使用消息队列后,我们的生产者只管向消息队列中甩完数据后立即返回,而不管是哪个消费者来消费,可以看到 其实消息队列有如下三个优点。 1. 加快网站的相应速度   这个刚才也说了,应用层直接把消息给消息队列然后直接返回调用端,这样就避免了处理复杂的业务逻辑然后同步的...
备忘 树莓派有网口,又有摄像头可以用,当然不能浪费资源,下面我就用红外摄像头来做个昼夜均可使用的摄像头监控~ 连接好树莓派的CSI摄像头,我用的是带有红外灯的,并且有光感控制的,只有在夜间红外灯才会自动亮起。这样可以省电并且保证红外灯的工作效率。 然后,树莓派用有线连接,因为我是从楼上拉到楼下,用无线会不稳定,所以用有线和树莓派连接。连接好后确认树莓派的网络是通的,最好设置树莓派的IP是固定IP,方便以后查看摄像头数据。 接下来就是监控配置,一样写个脚本,让树莓派进入监控。监控其实就是录像了……但是树莓派录像有个弊端,就是录像只能HDMI输出,或者只能输出不能记录。那我在这就用网络的方式来进行记录。首先树莓派的存储卡要大,或者你外接个U盘或者硬盘也可以。然后,开启摄像头并用VLC传输。 如果没有安装VLC先安装 apt-get -y install vlc aspivid -o - -t 0 -w 640 -h 360 -fps 25|cvlc -vvv stream:///dev/stdin --sout '#standard{access=http,mux=ts,dst=:8090}' :demux=h264 && /dev/null 上面是记录分辨率是640x360的录像,帧数是25帧,并把摄像头数据通过8090端口发送出去。 在电脑或者手机上,随便找一个vlc播放器,然后输入htt...
在帮助小白解决了很多开源使用的问题后,我总结了小白的不科学的提问方式,以遭受9种伤害夸张的手法一一道来
我是程序猿,我的征途是星辰大海!
由于众所周知的原因,至今仍有大量生产环境的代码跑在 Python 2.7 之上,在 Python 2 的世界里,并没有一个官方的类型系统实现。那么生产环境的类型系统是如何实现的呢,为什么一定要在在线服务上实现类型系统?下文将针对这两个问题进行深入讨论。
# 环境要求 1、Java SDK 1.8 [下载](http://www.oracle.com/technetwork/cn/java/javase/downloads/jdk8-downloads-2133151-zhs.html) 2、Eclipse IDE for Java EE Mars 2 (4.5.2) [下载](https://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/mars2) 3、Apache Maven 3.3+ [下载](https://maven.apache.org/download.cgi) 4、MySql 5.7+ [下载](https://dev.mysql.com/downloads/windows/installer/5.7.html) # 导入到Eclipse 1、检出JeeSite4源代码: ``` git clone https://gitee.com/thinkgem/jeesite4.git ``` 2、拷贝`web`文件夹,到你的工作目录(不包含中文和空格的目录)下,重命名为你的工程名,如:`jeesite-demo` 3、打开`pom.xml`文件,修改第13行,artifactId为你的工程名,如:`jeesite-demo` 4、导入到Eclipse,菜单 File -& Import,然后选择 Maven -& Existing Maven Projects,点击 Next& 按钮,选择第2步的`jeesite-demo`文件夹,然后点击 Finish 按钮,即可成功导入 5、这时,Eclipse会自动加载Maven依赖包,初次加载会比较慢(根据自身网络情况而定),若工程上有小叉号,请打开Problems窗口,查看具体错误内容,直到无错误为...
微信自15年年底上线FOOM上报,每天FOOM次数与登录用户数比例接近3%,同期crash率1%不到。而16年年初某东老大反馈微信频繁闪退,接着16年8月不少外部用户反馈微信启动不久后闪退,分析大量日志还是不能找到FOOM原因。微信急需一个有效的内存监控工具来发现问题。
### 拷贝文件或文件夹 ``` /** * 拷贝文件 * * @param source 源文件 * @param target 目标文件 */ public void copyFile(String source, String target) { // 源文件 File sourceFile = new File(source); if (!sourceFile.exists()) { } // 目标文件 File targetFile = new File(target); // 文件拷贝 if (sourceFile.isFile()) { copyFromChanel(sourceFile, targetFile); } // 文件夹拷贝 if (!targetFile.exists()) { targetFile.mkdirs(); } for (File file: sourceFile.listFiles()) { copyFile(file.getAbsolutePath(), target + File.separator + file.getName()); } } ``` ### 利用文件管道拷贝文件 ``` /** * 利用文件管道拷贝文件 * * @param source 源文件 * @param target 目标文件 */ public void copyFromChanel(File source, File target) { // 文件流 FileInputStream fis = FileOutputStream fos = // 文件管道 FileChannel fci = FileChannel fco = try { // 文件流 fis = new FileInputStream(source); fos = new FileOutputStream(target); // 文件管道 fci = fis.getChannel(); fco = fos.getChannel(); ...
### Logstash ##### 使用yum安装 ###### 编辑 repo ``` vim /etc/yum.repos.d/elasticsearch.repo # 内容如下 [elasticsearch-6.x] name=Elasticsearch repository for 6.x packages baseurl=https://artifacts.elastic.co/packages/6.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md ``` ###### 安装 ``` sudo yum install logstash ``` #### 配置 Logstash ``` # 参考 https://www.elastic.co/guide/en/logstash/current/configuration-file-structure.html # input项配置源数据,此处为监听 "/log"目录下满足"insert.*.log"匹配的所有日志文件 # filter项过滤input输入的数据, "insert.*.log"中每条日志形式如:" | type | cid | src | eventId | reason", 所以使用" | "拆分每条日志 # output项是输出数据,此处为输出至ElasticSearch # 新建配置文件 insert.conf vim conf.d/insert.conf # 内容如下 input { file { path =& "/log/insert.*.log" } } filter { mutate{ split=&["message"," | "] add_field =& { "date" =& "%{[message][0]}" } add_field =& { "type" =& "%{[message][1]...
### 一.使用脚本切割 ##### 编辑脚本 ``` tianshl@tianshl nginx $ vim nginx_log_division.sh ``` ##### 脚本内容 ``` #! /bin/sh # 昨天日期 yesterday=`date -v -1d +%Y%m%d` # 日志目录 log_path="/usr/local/var/log/nginx/" # SDK日志路径 sdk_path=${log_path}sdk # 以天为单位切分日志 mv -f ${sdk_path}.log ${sdk_path}_${yesterday}.log # 重新生成日志文件 pid_path="/usr/local/var/run/nginx.pid" sudo kill -USR1 `cat ${pid_path}` ``` ##### 定时任务 ###### 切换到root身份 ``` tianshl@tianshl nginx $ sudo su root ``` ###### 编辑 crontab ``` sh-3.2# crontab -e ``` ###### crontab 添加一行 ``` 0 0 * * * sh /usr/local/var/log/nginx/nginx_log_division.sh ``` ###### 查看是否添加成功 ``` sh-3.2# crontab -l ``` ### 二.不使用脚本切割 ##### server 段增加以下代码 ``` if ($time_iso8601 ~ "(\d{4})-(\d{2})-(\d{2})") { set $time $1$2$3; } ``` ##### 日志文件路径中增加日期参数 ``` access_log /var/log/nginx/api-$time. ``` ##### 举个栗子 ``` events { worker_connections 1024; } http { server { # 监听88端口 listen 88;...
### 需求 ``` 对MySQL数据库中某个表的某个字段执行k-means算法,将处理后的数据写入新表中。 ``` ### 源码及驱动 ``` http://download.csdn.net/download/xiaobuding007/ ``` ### 源码 ```java import java.sql.*; import java.util.*; /** * @author tianshl * @version
上午11:13 */ public class Kmeans { // 源数据 private List origins = new ArrayList&&(); // 分组数据 private Map& // 初始质心列表 private L // 数据源 private String tableN private String colN /** * 构造方法 * * @param tableName 源数据表名称 * @param colName 源数据列名称 * @param cores 质心列表 */ private Kmeans(String tableName, String colName,List cores){ this.cores = this.tableName = tableN this.colName = colN } /** * 重新计算质心 * * @return 新的质心列表 */ private List newCores(){ List newCores = new ArrayList&&(); for(List v: grouped.values()){ newCores.add(v.stream().reduce(0, (sum, num) -& sum + num) / (v.size() + 0.0)); } Collections.sort(newCores); return newC } /...
## 更新model #### 需求 ``` 概览表增加"创建时间,修改时间,软删除" ``` #### 以往的方式 ###### 1. 修改model.jh, 在实体 Overview 中增加三个属性 ``` /** * 数据概览 -- 概览 */ entity Overview { id Long, ... /* 以下属性为新增的属性 */ /* 创建时间 */ createTime ZonedDateTime, /* 更新时间 */ updateTime ZonedDateTime, /* 是否删除 */ delFlag Boolean, } ``` ###### 2. 生成配置文件 ``` jhipster import-jdl model.jh ``` ###### 3. 运行项目使配置生效 ``` 运行项目时提示"Validation Failed",原因是配置文件的MD5值不同, 此时需要以下操作 1. 修改 DATABASECHANGELOG 表中相关记录的 MD5SUM 2. 在overview表中手动新增三个属性. ``` #### 现在的方式 ###### 1. 修改model.h, 在实体 Overview 中增加三个属性 ###### 2. 生成配置文件 ###### 3. 修改生成的配置文件 ``` src/main/resources/config/liquibase/changelog/15_added_entity_Overview.xml 将 changeSet中新增的三个column提取至新的changeSet中, 如下: 注意: changeSet的id不能与之前的相同 ``` ###### 4. 运行项目使配置生效 ``` 不需要手动修改MySQL,自动生效 ```...
### 新增Python3编译环境 ``` Tools & Build System & New Build System 将默认内容替换为: { "cmd": ["python3", "-u", "$file"], "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)", "selector": "source.python" } 保存为 Python3.sublime-build ``` ### 选中Python3环境 ``` Tools & Build System & Python3 ``` ### 使用Python3编译运行 ``` Ctrl + b ``` ### 可能遇到的问题 ##### 问题 ``` UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128) ``` ##### 原因 ``` 默认是ascii编码但是输出中包含中文 ``` ##### 解决 ``` Preferences & Browse Packages & Users & Python3.sublime-build 修改配置文件, 配置文件中新增一条 "env": {"LANG": "en_US.UTF-8"} 修改后如下: { "cmd": ["python3", "-u", "$file"], "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)", "selector": "source.python", "env": {"LANG": "en_US.UTF-8"} } ```...
1. 格式化日志内容 2. 日志文件切割
# django ``` # 刚写的就不复制粘贴了 https://my.oschina.net/tianshl/blog/1611257 # 列一下目录结构 root@tianshl:~# cd server/ root@tianshl:~/server# tree server server ├── db.sqlite3 ├── manage.py └── server ├── __init__.py ├── settings.py ├── urls.py └── wsgi.py ``` # gunicorn ##### 安装 ``` pip install gunicorn ``` ##### 配置 ``` # 修改django项目的settings.py INSTALLED_APPS = [ ...... 'gunicorn', ] ``` ##### 运行 ``` root@tianshl:~# cd /root/server/server/ root@tianshl:~/server/server# gunicorn --pythonpath /root/server/venv/bin/python3 -w 3 -b 0.0.0.0:80 server.wsgi # 测试能否正常运行, 然后ctrl+c结束进程 ``` # supervisor ##### 安装 ``` pip install supervisor ``` ##### 配置 ``` # 默认配置 # 使用echo_supervisord_conf命令查看默认配置 root@tianshl:~# echo_supervisord_conf # 自定义配置 root@tianshl:~# mkdir /etc/supervisor root@tianshl:~# mkdir /etc/supervisor/conf.d root@tianshl:~# echo_supervisord_conf & /etc/supervisor/supervisor.conf root@tianshl:~# vim /etc/su...
### ElasticSearch ``` 现有三台服务器[192.168.1.30, 192.168.1.31, 192.168.1.32],使用这三台服务器搭建ElasticSearch集群 ``` #### CentOS 使用 yum 安装 ###### 编辑 repo ``` vim /etc/yum.repos.d/elasticsearch.repo # 内容如下 [elasticsearch-6.x] name=Elasticsearch repository for 6.x packages baseurl=https://artifacts.elastic.co/packages/6.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md ``` ###### 使用yum安装 ``` yum install elasticsearch ``` ###### 创建用户 ``` useradd elastic ``` ###### 修改权限 ``` # 数据 chown -R elastic:elastic /var/lib/elasticsearch # 日志 chown -R elastic:elastic /var/log/elasticsearch # 配置 chown -R elastic:elastic /etc/elasticsearch chown -R elastic:elastic /etc/sysconfig/elasticsearch # 指令 chown -R elastic:elastic /usr/share/elasticsearch ``` ###### 配置 ``` # 主节点 192.168.1.30 vim /etc/elasticsearch/elasticsearch.yml # 修改以下几项 cluster.name: etl_es node.name: node-30 node.master: true node.d...
### 写在开头 ``` 使用jhipster声明的OneToMany在One的一方DTO中是没有与Many的DTO的映射关系的, 为了在One的一方DTO中使用Many的DTO, 使用以下三步解决此问题。 ``` ### 步骤 ``` 1. OneDTO 中的"mark 1"处为自己写的一对多的关系, 此处变量名称不能与实体One中相应的变量名称一致,否则编译失败。 2. OneMapper 中的"mark 2"处 uses属性添加ManyMapper。 2. OneMapper 中的"mark 3"处使用@Mapping注解声明 Entity 转 DTO 的映射关系。 ``` ### Entity ``` @Entity @Table(name = "one") public class One { ... @OneToMany(mappedBy = "one") private Set manys = new HashSet&&(); ... public void setManys(Set manys) { this.manys = } public Set getManys() { } } @Entity @Table(name = "many") public class Many { ... @ManyToOne private O } ``` ### DTO ``` public class OneDTO { ... // mark 1 private Set manyDTOS = new HashSet&&(); ... public void setManyDTOS(Set manyDTOS) { this.manyDTOS = manyDTOS; } public Set getManyDTOS() { return manyDTOS; } } public class ManyDTO { ... private Long oneId; ... public...
### 1.虚拟环境 ``` tianshl:workspace tianshl$ mkdir server tianshl:workspace tianshl$ cd server/ tianshl:server tianshl$ virtualenv venv --python=python3 tianshl:server tianshl$ source venv/bin/activate ``` ### 2. 安装依赖 ``` (venv) tianshl:server tianshl$ pip install django (venv) tianshl:server tianshl$ pip install djangorestframework ``` ### 3. 创建项目 ``` (venv) tianshl:server tianshl$ django-admin.py startproject server (venv) tianshl:server tianshl$ tree server/ server ├── manage.py └── server ├── __init__.py ├── settings.py ├── urls.py └── wsgi.py ``` ### 4. 更新配置 ``` (venv) tianshl:server tianshl$ cd server/ (venv) tianshl:server tianshl$ vim server/settings.py # 1.修改 INSTALLED_APPS = ( ... 'rest_framework', ) # 2.添加 REST_FRAMEWORK = { # Use Django's standard `django.contrib.auth` permissions, # or allow read-only access for unauthenticated users. 'DEFAULT_PERMISSION_CLASSES': [ 'rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly' ] }...
如何快速申请免费的阿里云服务器
小光是一名私家侦探,是小光侦探事务所的负责人。这天,他正在事务所中喝茶,突然接到警官M的电话,说接到线上总共三台机器,有一台机器报警,Java堆内存占用超过95%,无法正常得到服务器的响应。小光安排警官M保留好现场,急匆匆的赶往了现场...
知乎上有一个问题,内容是已知空间三个点的坐标,求三个点所构成的圆的圆心坐标(编程实现)? 根据圆的定义,这道题的核心就是找到一个点,到已知的三个点的距离相等,利用数学知识可以求解如下: 例如 :给定a(x1,y1) b(x2,y2) c(x3,y3)求外接圆心坐标O(x,y) 1. 首先,外接圆的圆心是三角形三条边的垂直平分线的交点,我们根据圆心到顶点的距离相等,可以列出以下方程:
(x1-x)*(x1-x)+(y1-y)*(y1-y)=(x2-x)*(x2-x)+(y2-y)*(y2-y);
(x2-x)*(x2-x)+(y2-y)*(y2-y)=(x3-x)*(x3-x)+(y3-y)*(y3-y); 2.化简得到:
2*(x2-x1)*x+2*(y2-y1)y=x2^2+y2^2-x1^2-y1^2;
2*(x3-x2)*x+2*(y3-y2)y=x3^2+y3^2-x2^2-y2^2;
令:A1=2*(x2-x1);
B1=2*(y2-y1);
C1=x2^2+y2^2-x1^2-y1^2;
A2=2*(x3-x2);
B2=2*(y3-y2);
C2=x3^2+y3^2-x2^2-y2^2;
即:A1*x+B1y=C1;
A2*x+B2y=C2; 3.最后根据克拉默法则:
x=((C1*B2)-(C2*B1))/((A1*B2)-(A2*B1));
y=((A1*C2)-(A2*C...
# 准备阶段 ## 下载 Flutter SDK 新建 Flutter 文件夹,克隆 Flutter SDK: ```bash git clone -b beta https://github.com/flutter/flutter.git ``` ## 配置 Flutter 环境 我是 Mac 系统,Flutter SDK 下载完后的路径:Users/wuxiaolong/Flutter/flutter/ 。 ### 在命令行下,进入用户目录 ```bash cd $HOME ``` ### 打开.bash_profile文件 执行命令打开文件: ```bash open -e .bash_profile ``` 打开文件后,添加 Flutter SDK 安装的路径: ```bash export PATH=${PATH}:/Users/wuxiaolong/Flutter/flutter/bin:$PATH ``` ### 更新刚配置的环境变量 ```bash source .bash_profile ``` ### 验证 终端直接输入 flutter,没有提示该命令找不到,则配置成功。 ## flutter doctor 命令行输入`flutter doctor`,安装 Futter 剩余依赖项。 ## 安装 Flutter 和 Dart 插件 启动 Android Studio,搜索 Flutter 插件并单击 install,系统提示您安装 Dart 插件,点击 Yes 安装即可。 **提示**:安装 Dart 插件可能会提示下载失败,多试几次。 ## 第一个项目 Android Studio - File - New - New Flutter Project,等待创建成功后,运行效果如下: ![](http://7q5c2h.com1.z0.glb.clou...
每周为您推送最有价值的开源技术内参!
# GitLab UI - [gitlab-org repos](https://gitlab.com/gitlab-org) - [gitlab-design](https://gitlab.com/gitlab-org/gitlab-design) - [ux](https://about.gitlab.com/handbook/ux/) - [ux_guide](https://docs.gitlab.com/ee/development/ux_guide/) - [本地help](http://localhost:3000/help/ui) # other - [Gitlab 的部署与维护](https://xizhibei.github.io//the-deployment-and-maintenance-of-gitlab/), 包括对 Gitlab 的介绍 - [meld mac](https://github.com/yousseb/meld/releases), git 合并工具
详细解读阿里巴巴开源技术,包括框架、组件、引擎、数据库/存储、平台/系统、解决方案、工具、中间件、Web Sever、设计等十大类73款!
本篇主要是扩展默认的报警规则,使其能更加友好的支持同时选择多种报警方式
周三接到hr电话,周五就要入职新公司了。 因为朋友所在的公司要赶项目,而朋友家里有急事,所以他就叫我在周六日过去做了两天外包,配合还算ok,加上朋友一直把我吹得天花乱坠,所以技术面试直接跳过了,hr一个电话唠唠家常就叫我去入职了。 关于待遇,基本上是现在的一倍还要多。但是我还是有些纠结的。 现在这家公司是个小小的创业公司,公司规模不大,人也不多。但是氛围很轻松,没有啥条条框框,每天迟到半小时也没人管我…技术部就我和老大俩人。老大人真的很好,一开始我会的不多,都是他一点点教的。平时各方面对我也特别照顾。有时候就算其他同事工作失误,他稍微批评两下,事后都要偷偷问我刚刚是不是语气太重。 离职如此突然,我觉得有些对不起他。特别是当他想我描述未来规划的时候,我纠结了很长时间才说出口。 奈何新公司对入职条件如此苛刻,而我又无法拒绝这个薪资。
只叹人在风中,聚散不由衷
本文从 Tomcat 源码的角度深入分析了在FORM表单中如果直接提交中文,而默认不做任何编码的设置,那么在结果页中将会出现中文乱码。分析了中文乱码出现的本质原因在于一头一尾和中间环节的编码不一致导致的。并给出了解决中文乱码的几种途径。如果你从源码的角度了解了为什么会出现乱码,以后遇到任何乱码的问题,在你面前将不再是问题。
1.执行顺序:点击按钮(type为submit的按钮)---& onclick ----& onsubmit ----& 表单提交,刷新页面 2.阻止事件(分两种):
a. 采用这种绑定时:
&form onsubmit="bc()" action="123"&
&button type="submit" onclick="btnClick()"&提交&/button&
onclick和onsubmit事件中window.event.preventDefault() ; 而return false无效
onclick和onsubmit事件中window.event.preventDefault() ; 而return false无效
b. 采用这种绑定时:
&form onsubmit="return abc()" action="123"&
&button type="submit" onclick="btnClick()"&提交&/button&
onclick和onsubmit事件中window.event.preventDefault()和return false都有效 3.注意:绑定onsubmit事件时,事件的名称不能为 submit,不然不执行。...
11.28 限定某个目录禁止解析php
实例:假如我们的一个目录是允许上传图片的,可能有些别有用心的人通过某些手段上传php文件上来。也就意味着被执行的文件,可能是恶意文件
访问控制 – 禁止php解析
核心配置文件内容 &Directory /data/wwwroot/111.com/upload&
php_admin_flag engine off
&/Directory&
curl测试时直接返回了php源代码,并未解析
or 详细版 加上匹配,直接403拒绝访问。
&Directory /data/wwwroot/111.com/upload&
php_admin_flag engine off
&FilesMatch
(.*).php(.*)&
Order allow,deny
Deny from all
&/FilesMatch&
&/Directory&
-t graceful
[root@localhost 111.com]# mkdir upload [root@localhost 111.com]# ls 123.php
upload [root@localhost 111.com]# cp 123.php upload/ [root@localhost 111.com]# curl -x127.0.0.1:80 'http://111.com/upload/123.php' -I HTTP/1.1 403 Forbidden Date: Mon, 25 Dec :36 GMT Server: Apache/2.4.29 (Unix) PHP/5.6.30 Content-Type: tex...
文章来自:http://blog.csdn.net/snowy_way/article/details/#contextloader
前端代码进行图像压缩
行为or事件
通过SignalR 实现Web实时通讯。 signalr可实现自宿主或iis宿主,本文介绍通过owin进行自宿主。 signalr客户端调用也有多种方式,如:winform软件调用或web页面调用,其中页面调用是平台无关性。
redis的效率高的原因(redis是单线程的)? 1、基于内存 2、省去了线程切换以及锁切换的开销(相比于多线程)
Office2013版本下载地址
链接:https://pan.baidu.com/s/1z6NtjupqRy-4gG5Uy-zabQ 密码:c1lp 1:解压并且打开Office_Professional_Plus_2013 2:双击setup.exe 3:接受协议 11:点击立即安装 12:安装完成,关闭 最后用激活工具Microsoft Toolkit激活 假如: 打开错误:出现.net4.0错误 安装dotNetFx40_Full_x86_x64 跟着下面网站的操作 http://jingyan.baidu.com/article/3aed632e91ae.html?qq-pf-to=pcqq.c2c 防止上面网站失效,拷贝方法如下 请先确保您已经安装了Office 2013版本的软件 首先下载Microsoft Toolkit.exe工具 我方在百度网盘上:http://pan.baidu.com/s/1kT4ybR5 运行Microsoft Toolkit.exe工具选择Office图标 在主界面中切换到"Activation"页面 按需KMS Tool:AutoKMS 然后点击Install进行安装KMS 激活Office 上面安装KMS成功之后点击 "Activate"按钮开始激活 等待一点时间之后看到激活成功 确认Office激活状态 新建一个word文件、然后打开查看激活状态
Buffer转 16进制 及 Buffer 转String
查询语句 (数据库名为表名为cus_sale) SELECT
COLUMN_NAME AS '列名',
DATA_TYPE AS '字段类型',
COLUMN_TYPE AS '长度加类型',
IS_NULLABLE AS '允许空',
COLUMN_KEY AS '主键',
COLUMN_COMMENT AS '说明'
information_schema.`COLUMNS`
TABLE_SCHEMA LIKE 'customer'
AND TABLE_NAME LIKE 'cus_sale'
查询结果:
代码工具生成mybatis映射文件,运行测试类报错。
在基于 create-react-app 的React项目中进行代码分片、按需加载(code splitting)/ 免webpack配置 react /async /javascript /代码分片 /按需加载 为什么需要代码分片 Facebook 的 create-react-app 是一款非常优秀的开发脚手架。它为我们生成了 React 开发环境,自带 webpack 默认配置。 它会通过 webpack 打包我们的应用,产生一个 bundle.js 文件。随着我们的项目越写越复杂,bundle.js 文件会随之增大。 由于该文件是唯一的,所以不管用户查看哪个页面、使用哪个功能,都必须先下载所有的功能代码。 当 bundle.js 大到一定程度,就会明显影响用户体验。 此时,我们就需要 code splitting ,将代码分片,实现按需异步加载,从而优化应用的性能。 代码分片的原理 ES模块(ECMAScript modules)都是静态的。编译时就必须指明 确定的导入(import)和导出(export)。 这也是规定 import 声明必须出现在模块顶部的原因所在。 但是我们可以通过 dynamic import() 来实现动态加载的功能。 dynamic import() 是 stage 3 中的一个提案。这是一个 运算符 operator 而非函数 function 。 我们把模块的名字作为参数传入,它会返回一个 Promise ,当模块加载完成后,该 Promise 就...
子系统增加自动单点登录功能方法:   (代码参考xtjbb) 1.复制sso.properties spring-servlet-sso.xml proxylogin.jsp到指定目录
2.配置sso.properties domain login defined 改为子项目地址 proxyloginFail askurl 改为认证中心地址
.在spring-servlet.xml中加入 pom.xml中加入 base.jar
由于运营地方公众号的原因,一直想提供一些本地的生活服务功能。之前一直连接到58同城、美团等。
但是,对于一些3、4线城市来说 微信相比于这些app更加普及,也应用起来更方便。
对于公众号的运营者来说,很大一批都是为自己地区的一方父老进行本土化的服务。比较常用的便民就是如:求职招聘、房屋租售、二手信息等。可能还有一些营销层面的工具需求。
于是决定用python的django框架开发一套类似于这样的系统。不过,对于一个从头开始做的起步,还是很抵触的。因为一步步都需要自己来实现。
恰好赶在前一段时间比较自由,从开始动手到现在已经差不多3个月的时间了。基本实现了这些功能: 分类信息的发布、更新、删除,自定义发布费用、刷新信息费用等 商户的入驻,按年收费、免费发布及产品、下单、商城等功能 前台功能相对于的后台管理功能。 公众号授权、公众号第三方代授权服务、微信支付的对接 订单的商户核销功能。 可以针对不同地区开通不同的服务系统及对应的小程序 可以为商户开通单独的小程序。
说了一大堆功能,下面做一些展示吧!(前端界面非自己设计) 分类信息首页
分类信息列表页面
发布信息页面
商户入驻页面
本地商圈首页
Millions of Queries per Second: PostgreSQL and MySQL’s Peaceful Battle at Today’s Demanding Workloads - Percona Database Performance Blog
由于众所周知的原因,至今仍有大量生产环境的代码跑在 Python 2.7 之上,在 Python 2 的世界里,并没有一个官方的类型系统实现。那么生产环境的类型系统是如何实现的呢,为什么一定要在在线服务上实现类型系统?下文将针对这两个问题进行深入讨论。
Ignite集群可以由它支持的任意平台启动的节点组成,包括Java、.NET和C++。本文会介绍如何通过NuGet和Maven运行一个.NET/Java集群,作为一个示例,本文会创建一个跨平台的点对点聊天系统。
shell 作为一门 linux 下使用广泛的系统语言,语法简单,上手容易,但是想要用好,少犯错误,也不是那么容易的一件事,可谓虽是居家旅行之良药,但也是杀人灭口之利器~ 今天就来聊聊 linux 下一个常见的问题:如何避免误删目录。下文会详细的讲述不同的场景下误删目录,以及相应的解决方案。 1、变量为空导致误删文件 base_path=/usr/sbin
tmp_file=`cmd_invalid`
# rm -rf $base_path/$tmp_file 这种情况下如果 cmd 执行出错或者返回为空,后果将是灾难性的,那如何防范呢? (1)利用 shell 的变量扩展功能,如果变量为空赋给默认值或者抛出异常退出脚本: echo ${base_path:?var is empty}/${tmp_file:?var is empty}
-bash: tmp_file: var is empty (2)人肉判断变量是否为空: [[ ${tmp_file} == "" ]] && echo 1
[[ -z ${tmp_file} ]] && echo 1
1 (3)如果变量未定义还可以开启 set 选项: # cat a.sh
# 若有用未设置的变量即让脚本退出执行
# set -o nounset
# bash a.sh
a.sh: line 4: a: unbound variable
# 如果命令运行失败让脚本退出执行
set -o errexit
set -e 2、路径含有空格导致误删...
markdown编辑器貌似排版有问题,看不清楚或者想要代码的人可以私聊 前言:都知道利用pingyin4j可以将汉字转成拼音及汉字首字母,但是遇到多音节汉字就会有问题,下面附上解决多音节字节将汉字转字母或者转成汉字首字母的代码。 1.前提,需要准备一个txt文件文件,放所有多音节字,文本内容放在博客最后 2.汉字或者词组转拼音代码附上 import java.io.BufferedR import java.io.IOE import java.io.InputS import java.io.InputStreamR import java.util.A import java.util.HashM import java.util.L import java.util.M import net.sourceforge.pinyin4j.PinyinH import net.sourceforge.pinyin4j.format.HanyuPinyinCaseT import net.sourceforge.pinyin4j.format.HanyuPinyinOutputF import net.sourceforge.pinyin4j.format.HanyuPinyinToneT import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatC /** * 汉字转拼音,能处理多音字 */ public class ChineseToHanYuPYTest { private static Map& pinyinMap = new HashMap&(); private static long count = 0; pu...
ES6 中引入了 Generator,Generator 通过封装之后,可以作为协程来进行使用。 其中对 Generator 封装最为著名的当属 tj/co,但是 tj/co 跟 ES2016 的 async/await 相比的话,还存在一些比较严重的缺陷。 hprose 中也引入了对 Generator 封装的协程支持,但是比 tj/co 更加完善,下面我们就来详细介绍一下它们之间的差别。
# 1 kafka基础 本篇文章讨论的kafka版本是目前最新版 0.10.1.0。 ## 1.1 kafka种的KafkaController 所有broker会通过ZooKeeper选举出一个作为KafkaController,来负责: - 监控所有broker的存活,以及向他们发送相关的执行命令。 - 分区的状态维护:负责分区的新增、下线等,分区副本的leader选举 - 副本的状态维护:负责副本的新增、下线等 ## 1.2 kafka分区中的基本概念 每个分区可以有多个副本,分散在不同的broker上。 - leader副本:被KafkaController选举出来的,作为该分区的leader - 其他follower副本:其他副本都作为follower副本 - isr列表:简单描述就是,"跟得上"leader的副本列表(包含leader),最开始是所有副本。这里的跟得上是指 - replica.lag.time.max.ms:在0.9.0.0之前表示follower如果在此时间间隔内没有向leader发送fetch请求,则该follower就会被剔除isr列表,在0.9.0.0之后表示如果该follower在此时间间隔内一直没有追上过leader的所有消息,则该follower就会被剔除isr列表 - replica.lag.max.messages(0.9.0.0版本中已被废除):follower如果落后leader的消息个数超过该值,则该follower就会被剔除isr列表 废除的主要原因是:目前这个配置是个统...
使用C#语言实现的查询条件界面展开/收起方案
redis主从复制过程:
当配置好slave后,slave与master建立连接,然后发送sync命令。无论是第一次连接还是重新连接,master都会启动一个后台进程,将 数据库快照保存到文件中,同时master主进程会开始收集新的写命令并缓存。后台进程完成写文件后,master就发送文件给slave,slave将 文件保存到硬盘上,再加载到内存中,接着master就会把缓存的命令转发给slave,后续master将收到的写命令发送给slave。如果master同时收到多个slave发来的同步连接命令,master只会启动一个进程来写数据库镜像,然后发送给所有的slave。master同步数据时是非阻塞式的,可以接收用户的读写请求。然而在slave端是阻塞模式的,slave在同步master数据时,并不能够响应客户端的查询。 可以在master禁用数据持久化,只需要注释掉master 配置文件中的所有save配置,然后只在slave上配置数据持久化 拥有主从服务器的好处(从服务器是只读的,可以一主多从) 1.
主服务器进行读写时,会转移到从读,减轻服务器压力 2.
热备份 主从都可以设置密码,也可以密码不一致
进入/usr/data/redis/slave 创建 master
slave2 1.复制redis.conf到3个目录,修改端口 ,3000 ...
本文用于指导开发团队从无到有搭建React的开发环境。文章并不会解释任何react语法规则,只关注如何利用已有的工具搭建一个便于开发和发布的环境。
为了防止误操作,移动端iOS操作系统针对原生click事件做了300ms的延迟,这在一定程度上影响了我们的使用体验。 GitHub项目地址:https://github.com/SimonZhangITer/MyTapEvent FastClick 现在有现成的插件fastclick可以解决这个问题,但是也有弊端: GitHub上最新版本的插件大小为25.4kb,轻量为趋势,能省则省。 它的核心思想是取消默认的click时间,判断当前dom节点的类型进行相应的操作,这个判断过程较为繁琐。 MyTapEvent 本人最近在做微信项目,由于fastclick插件存在一定弊端,因此开发了一个简单的tap事件,主要思想有以下几点: Thinking 一次tap事件包含touchstart和touchmove(轻微移动)以及touchend三种状态 callback方法在touchend后执行 根据chrome浏览器默认的判断取消点击的移动量,手指偏移量(水平或垂直)超过15px则判定为滚动,取消执行tap事件 手指按下时间过长不视为点击,默认时间间隔为500ms 使用HTMLElement来扩充原型,方便添加Event 使用单例模式,确保只加载一次 ok,思想定下来,代码写起来就清晰多了: if (!HTMLElement.prototype.addTapEvent) {
HTMLElement.prototype.addTapEvent = function(callback) {
var tapStartTime ...
前端的技术栈越来越广,目前感觉三大主流:angular,react,vue,angular因为目前公司项目正在使用(版本1),vue稍稍了解了下,感觉跟angular的相似程度还是比较高的(好吧,个人感觉),而由于目前对react相对比较感兴趣,于是就开始了react的学习
开发中有时会使用梯度渐变视图,在CoreGraphics框架中,提供了这个类型来创建梯度渐变:CGShadingRef与CGGradientRef。
对于消息队列的监听,我们一般使用Java写一个独立的程序,在Linux服务器上运行。程序启动后,通过消息队列客户端接收消息,放入一个线程池进行异步处理,并发的快速处理。当我们修改程序后,需要重新启动任务的时候,如何保证消息的不丢失呢?
前段时间由于忙着跳槽的工作交接及熟悉新公司,已经停更博客两周了。不得不说,TX的开发模式的的确确是非常好的,整个团队也都是行业大牛,但是大牛并没有一点脾气,作为一个小白有问题问他们,他们总是乐此不疲的教导着我,感谢志伟哥,感谢项目组所有的人。老规矩,下面直接上干货。
zabbix自动发现监控redis数据库与自动发现mongo,mysql的思路差不多。这次汇总完就把模板,脚本上传到git上。如果公司使用的redis都是6379端口的话,那么还是建议创建一套模板,然后链接到各个服务器即可。如果公司的redis使用的端口比较多,各个都不一样,那还是自动发现并监控redis比较方便。还是一样,先来看下监控的效果图: 上述图形是使用zabbix的筛选功能汇总在一起的图片。监控redis的客户端连接数,使用的内存,实际使用的内存和redis的内存碎片化情况。
下面来讲讲自动发现redis的实现,首先,还是先看下redis自动发现的配置: 探索规则配置完后,同样的在zabbix agentd端需要添加如下配置然后重启zabbix_agentd,配置如下: UserParameter=redis.discover,python /usr/local/zabbix/discover_redis.py 其中/usr/local/zabbix/discover_redis.py自动发现的脚本内容如下 : #coding:utf-8
import json
import commands
(status, output) = commands.getstatusoutput('''sudo netstat -tlnp|grep 'redis-server'|awk '{print $4}'|awk -F':' '{print $(NF)}'|sort -u''')
outputs = output.split('\n')
ports = []
for port in
ports += [{'{#RE...
一、 NRedis-Proxy 介绍 NRedis-Proxy 是一个Redis中间件服务,第一个Java 版本开源Redis中间件,无须修改业务应用程序任何代码与配置,与业务解耦;以Spring为基础开发自定义标签,让它可配置化,使其更加容易上手;以netty 作为通信传输工具,让它具有高性能,高并发,可分布式扩展部署等特点,单片性能损耗约5%左右。 二、 NRedis-Proxy 技术架构图 三、 NRedis-Proxy 优势以及缺点 a)
自带连接池,简单稳定且性能高效
支持读写分离,从读按照权重算法
支持灵活主从配置策略
默认支持一致性哈希分片策略,扩展性强
分片策略与从读取策略可自定义化
支持主从自动切换,提供RedisServer监听服务
支持HA 分布式部署,节点可随意扩展 b)
天然缺点 中间件的存在,会自带网络损耗,但是网络带宽足够,可以忽略不计。相比客户端分片等策略,中间件可...
一、使用背景
当生产环境有很多服务器、很多业务模块的日志需要每时每刻查看时 二、环境 系统:centos 6.5 JDK:1.8 Elasticsearch-5.0.0 Logstash-5.0.0 kibana-5.0.0 三、安装 1、安装JDK 下载JDK:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 本环境下载的是64位tar.gz包,将安装包拷贝至安装服务器/usr/local目录 [root@localhost ~]# cd /usr/local/
[root@localhost local]# tar -xzvf jdk-8u111-linux-x64.tar.gz 配置环境变量 [root@localhost local]# vim /etc/profile 将下面的内容添加至文件末尾(假如服务器需要多个JDK版本,为了ELK不影响其它系统,也可以将环境变量的内容稍后添加到ELK的启动脚本中) JAVA_HOME=/usr/local/jdk1.8.0_111 JRE_HOME=/usr/local/jdk1.8.0_111/jre CLASSPATH=.:$JAVA_HOME/lib:/dt.jar:$JAVA_HOME/lib/tools.jar PATH=$PATH:$JAVA_HOME/bin export
JAVA_HOME export
JRE_HOME ulimit -u 4096 [root@localhost local]# source /etc/profile 配置limit相关参数 [root@localhost local]# vim /etc/security/limits.conf 添加以下内容 * soft nproc 65536 * hard nproc 6553...
码云是国内最大的代码托管平台,为了支持更大的用户规模,开发团队也在对一些组件进行大规模的重构.
这两天启动了一个新项目因为项目组成员一直都使用的是mybatis,虽然个人比较喜欢jpa这种极简的模式,但是为了项目保持统一性技术选型还是定了 mybatis。到网上找了一下关于spring boot和mybatis组合的相关资料,各种各样的形式都有,看的人心累,结合了mybatis的官方demo和文档终于找到了最简的两种模式,花了一天时间总结后分享出来。 orm框架的本质是简化编程中操作数据库的编码,发展到现在基本上就剩两家了,一个是宣称可以不用写一句SQL的hibernate,一个是可以灵活调试动态sql的mybatis,两者各有特点,在企业级系统开发中可以根据需求灵活使用。发现一个有趣的现象:传统企业大都喜欢使用hibernate,互联网行业通常使用mybatis。 hibernate特点就是所有的sql都用Java代码来生成,不用跳出程序去写(看)sql,有着编程的完整性,发展到最顶端就是spring data jpa这种模式了,基本上根据方法名就可以生成对应的sql了,有不太了解的可以看我的上篇文章[springboot(五):spring data jpa的使用](http://www.ityouknow.com/springboot//springboot(%E4%BA%94)-spring-data-jpa%E7%9A%84%E4%BD%BF%E7%94%A8.html)。 mybatis初期使用比较麻烦,需要各种配置文件、实...
监控mongo写个模板其实挺快的,如果公司每个mongo使用的端口都一致的话,就可直接建立一套模板,然后这个模板链接到各个服务器上即可。但如果公司使用mongo的端口如果不一致的话,那建议使用zabbix的自动发现的功能,自动发现mongo监听的端口,并对它进行相关数据的收集。
先看一下效果图, 此监控图是zabbix的筛选功能可能把相关的图整合到一个页面里面去。
具体的自动发现实现如下: 探索规则配置如上,机器上的zabbix agent配置如下: UserParameter=mongo.discover,python /usr/local/zabbix/discover_mongo.py
其中/usr/local/zabbix/discover_mongo.py为自动发现的脚本,脚本内容如下: #coding:utf-8
import simplejson as json
import commands
(status, output) = commands.getstatusoutput('''sudo netstat -tlnp|grep 'mongod'|awk '{print $4}'|awk -F':' '{print $(NF)}'|sort -u|grep -v "^28"''')
outputs = output.split('\n')
ports = []
for port in
ports += [{'{#MONGOPORT}': port}]
print json.dumps({'data':ports},sort_keys=True,indent=4) 使用系统命令netstat把监听的端口筛选出来,然后以json的格式进行输出。定义到...
HTML5 WebSocket实现了服务器与浏览器的双向通讯,双向通讯使服务器消息推送开发更加简单,最常见的就是即时通讯和对信息实时性要求比较高的应用。以前的服务器消息推送大部分采用的都是“轮询”和“长连接”技术,这两中技术都会对服务器产生相当大的开销,而且实时性不是特别高。WebSocket技术对只会产生很小的开销,并且实时性特别高

我要回帖

更多关于 图片占用内存 的文章

 

随机推荐