数据

MongoDB性能优化五个简单步骤

风流意气都作罢 提交于 2020-03-24 19:02:08
3 月,跳不动了?>>> 大家在使用MongoDB的时候有没有碰到过性能问题呢?这里总结了MongoDB性能优化的五个步骤,希望能够有所帮助。 第一步:找出慢语句 一般来说查询语句太慢和性能问题瓶颈有着直接的关系,所以可以用MongoDB的性能分析工具来找出这些慢语句: db.setProfilingLevel(1, 100); 第二步:使用explain分析 通过使用explain来对这些慢语句进行诊断。此外还可以mtools来分析日志。 第三步:创建索引 分析完之后需要创建新的索引(index)来提升查询的性能。别忘了在MondoDB中可以在 后台创建索引 以避免collections 锁和系统崩溃。 第四步:使用稀疏索引来减少空间占用 如果使用sparse documents,并重度使用关键字$exists,可以使用 sparse indexes 来减少空间占用提升查询的性能。 第五步:读写分离 如果读写都在主节点的话,从节点就一直处在空置状态,这是一种浪费。对于报表或者搜索这种读操作来说完全可以在从节点实现,因此要做的是在connection string中设置成secondarypreferred。 小结 这些方法虽然能够起一定的作用,但最主要的目的还是为架构上的提升争取点时间罢了。 来源: oschina 链接: https://my.oschina.net/u

网页浏览器知道我们的哪些信息?(1)

五迷三道 提交于 2020-03-24 08:16:52
3 月,跳不动了?>>> 【编者按】本文最早发布于 SecureMac 博客,主要介绍网络浏览器存储了哪些用户数据,这些数据对用户的隐私有何影响。文章系国内 ITOM 管理平台 OneAPM 编译呈现。 随着我们一步步地探入充满摄像头的世界(还有谷歌眼镜),隐私问题继续升级。此外,红灯摄像机和带有GPS功能手机的出现,开启了一个新的时代:我们在公共场合的一举一动都可能被追踪,而这并不是唯一需要担心的事情;我们还要考虑每次上网时留下的数字痕迹,无论是在家或在办公室。 但是,浏览器究竟知道我们的哪些信息呢?电脑里的互联网文件有什么意义?我们应该担心吗?为了回答这些问题,我们需要了解电脑里的网页浏览器文件内存储的隐私信息的本质,以及对于某些不法分子,这些信息是如何获取的。 ##互联网数据和临时文件 你可能听说过网络临时文件——在你上网后留下的数据痕迹。电脑上到处都是这类文件,它们包含着你的网络浏览习惯,占据着宝贵的硬盘空间。 我们每次访问一个网页,具体的数据就存储在我们的硬盘上。其目的是,当我们下次再访问时,网络可以立即加载,因为电脑已经存储了大部分网站内容。 ##信息存储快速概述 因此,网页浏览器知道你浏览过哪些网站(你可以在浏览器的历史页面中看到)。还有什么?其他信息可能包括: 你的地理位置 定期访问网站的书签 购物车信息 下载的文件 图片和视频内容 最近的互联网搜索 登录名和密码

如何用web3.js在以太坊区块链上保存数据?

风流意气都作罢 提交于 2020-03-02 11:22:16
虽然有北大博士讲,95%的区块链项目都没有前途,但我们知道区块链还是有它的优势,比如数据的不可篡改性对于版权保护有相当大的意义,而地址的匿名性则有其他潜在的用途。那么,如何将任意数据,比如图像或文本写入以太坊区块链呢?本文将讲解如何使用web3.js实现这一功能并给出相应的实现代码。 实现任意数据上链的核心是 web3.eth.sendTransaction() 方法的使用,我们将借助一个转账交易来完成任意数据上链的任务。在要发送的交易对象中,使用 data 字段就可以传入任意的16进制字符串。 将数据转换为16进制字符串 我们可以使用 web3.toHex() 方法将一个字符串转换为16进制字符串: let data = web3.toHex('你可以将任意数据写入以太坊区块链') 得到的data值为: 0x4f6053ef4ee55c064efb610f6570636e519951654ee5592a574a533a575794fe 。 当然不一定需要使用 web3.toHex() 方法,可以使用任何能够得到16进制串的方法,例如在NodeJS中使用 Buffer : let data = '0x' + Buffer.from('使用Buffer更好处理图像数据').toString('hex') 得到的data值为:

微软工程师建议的11条数据库设计准则

主宰稳场 提交于 2020-02-29 05:41:11
从MOsky的博客中阅读本文 简介 作者:Shivprasad koirala 前微软ASP/ASP.NET的MVC工程师,现在印度当CEO。如果你认为本文有些地方翻 译不准确,可以去 译译网对应的贴子 参与本贴的翻译。 引言 在你开始读这篇文章之前,我可要事先声明,我可不是什么数据库设计方面的大师什么的。这11条设计准则,都是我从实际项目中,从经验中,从阅读和学习之中总结而来的。我个人认为,如我来设计数据库,遵循这11条准则,会让我受益良多。请多指教。 我之所以要写这么一篇详尽的文章,那是因为,我发现很多developer对“三范式”笃信不疑,而不顾自己的实际情况如何。他们认为,“三范式”就是数据库设计的唯一选项!随着项目进度不断推进,这些抱着这种观点的人,终归会碰壁的。 如果你对于“范式”没什么印象,可以点击 这里 。这篇视频教程手把手地教你“三范式”是怎么一回事。 译者注: 视频教程贴在youtube,如果不翻墙可能看不到。如果不想翻墙,或者不想听英语,可以谷歌“数据库范式”。 说到底,“范式”是非常重要的准则,但是,奉为圭臬,则总归要吃亏。因此,我将列出我所认为数据库设计最重要的11条准则。 准则一:应用的类型是什么?是OLTP还是OLAP? 当你开始设计数据库的时候,第一件事,就是分析,你设计的数据库,是为那种类型的数据库提供服务的。具体来说,到底是 事务型

php 保留小数点_无需整理

淺唱寂寞╮ 提交于 2019-12-25 20:51:13
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 1、 float round ( float $val [, int $precision ] ) 返回将 val 根据指定精度 precision (十进制小数点后数字的数目)进行四舍五入的结果。precision 也可以是负数或零(默认值)。 echo round(4.3) //4 2、 string sprintf ( string $format [, mixed $args [, mixed $... ]] ) 返回格式化数据的字符串 复制代码 代码如下: $a=12.338938438; echo sprintf("%.5f",$a) //结果:12.33894 $a=12.3312356; echo sprintf("%.5f",$a);//12.33124 echo sprintf("%f",$a);//331236 默认小数点后6位 3、 string number_format ( float $number , int $decimals , string $dec_point , string $thousands_sep ) 复制代码 代码如下: $number = 1234.5678; $english_format_number = number_format($number, 2

制作一套适用于Oracle数据库的县及县以上行政区划数据

柔情痞子 提交于 2019-12-17 00:45:24
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 因为项目中要用到最新版的中国行政区划数据,我总结了如下方法归集数据,仅供参考。 之前已经写过一篇博客《总结几个有关国家行政区划的问题》( https://my.oschina.net/Tsybius2014/blog/757009 ),对一些与行政区划有关的问题进行了初步的梳理,本文要实现的目标是:获取国家行政区划数据并将之导入到Oracle数据中。 首先获取的数据一定要从权威渠道获取,网上找来的很多数据都是几年前的数据,而国家的行政区划每年都有变化。经过对历年县级及以上行政区划的变化进行分析,虽然变更的实际情况多种多样,但任何种类变化都可用以下三类原子变化表示 :区域新设、区域撤销、区域更名。 国家行政区划数据可从国家统计局官网获取,地址为: http://www.stats.gov.cn/tjsj/tjbz/xzqhdm/ 本文选取发布时间最近的版本,该版本于2016年8月9日发布,区划数据为2015年9月30日的全国县级及以上行政区划数据。 将这些数据复制到文本文件area_data.txt中,用文本编辑工具editplus打开: 有一点需要注意,历年数据虽然在网页上看起来格式是一样的,但从实际粘贴效果来看,不同年的数据对空行、空格字符(全角空格、半角空格、制表符)等字符的使用可能有所不同

在.Net开发中使用AnyChart的简单例子(下)

喜夏-厌秋 提交于 2019-12-16 13:45:26
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 在上文 《在.Net开发中使用AnyChart的简单例子(上)》 中我分析了AnyChart所需要的XML数据格式,这里就说说实现。 获取了DataSet后,我通过下面的简单算法写出需要的XML格式。 /// <summary> /// 创建出XML文件 /// </summary> /// <param name="SeriesTypeNode">图表类型</param> private void CreateXml(string SeriesTypeNode) { string CheckBuildingId = null; DataSet ds = new DataSet(); ds = GetDataSet(); XmlDocument XMLDoc = new XmlDocument(); XMLDoc.Load(Server.MapPath(@"/xml/anychart_try.xml")); //处理图表类型 XmlNode seriesTypeNode = XMLDoc.SelectSingleNode(@"/anychart/charts/chart/data_plot_settings"); XmlElement chartSeriesTypeNode = (XmlElement

Android动态刷新listview中的数据

十年热恋 提交于 2019-12-10 16:44:43
 代码如下:   1.TestAdapter package com.TestAdapter; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.AbsListView.OnScrollListener; import android.widget.AdapterView.OnItemClickListener; import android.widget.AdapterView.OnItemSelectedListener; import android.widget.AbsListView; import android.widget.ImageView; import android.widget.ListView; import

跨平台图表控件TeeChart使用教程:将图表数据导出为XML格式

岁酱吖の 提交于 2019-12-10 05:04:31
在开发者使用 TeeChart 进行开发的过程中,不管是在设计时或者运行时都可以使用的图表导出对话框将图表数据轻易地导出为XML格式: 上图为TeeChart导出对话框的数据选项 在这个对话框中可以选导出哪一列数据(或“all”导出所有列),以及是否想导出point indexes (0,1,2... ), point texts (labels)或者是colors。"Copy"按钮生成XML文本并将它复制到Windows或Linux剪贴板。"Save"按钮创建一个新的XML文件。XML文件可以被打开,例如,使用Internet Explorer浏览器。 TeeChart提供了一个类导出XML格式的数据。这个类位于TeeStore.pas unit,它的名字叫TSeriesDataXML。 保存文件的示例代码 1 2 3 4 5 6 7 8 Uses TeeStore; with TSeriesDataXML.Create(Chart1, Series1) do try SaveToFile('c:sample.xml'); finally Free; end; 如果需要导出Chart1中的所有数据,使用Create constructor构造函数最后一个函数中的"nil"替代Series1。这个类还提供了一个函数来获取XML输出成一个字符串: 1 2 3 4 5 6 7 var

为什么不能往Android的Application对象里存储数据

China☆狼群 提交于 2019-12-07 19:57:23
在一个App里面总有一些数据需要在多个地方用到。这些数据可能是一个 session token,一次费时计算的结果等。通常为了避免activity之间传递对象的开销 ,这些数据一般都会 保存到持久化存储里面 。 有人建议将这些数据保存到 Application 对象里面,这样这些数据对所有应用内的activities可用。这种方法简单,优雅而且……完全扯淡。 假设把你的数据都保存到Application对象里面去了,那么你的应用最后会以一个NullPointerException 异常crash掉。 一个简单的测试案例 代码 Application 对象: // access modifiers omitted for brevity class MyApplication extends Application { String name; String getName() { return name; } void setName(String name) { this.name = name; } } 第一个activity,我们往application对象里面存储了用户姓名: // access modifiers omitted for brevity class WhatIsYourNameActivity extends Activity { void