16May 2017

I am in  a couresa course for algorithm, and in the quiz there’s 1 question: Red–black BST with no extra memory. Describe how to save the memory for storing the color information when implementing a red–black BST. I saw some posts which are talking about using pointer(like c or c++ which support pointer) to store […]

11Oct 2016

For L1 visa, I got it at 2014-11-4 : expiration date as 2016-11-6, I-129S, expiration date as 2017-11-4 I-94, expiration date as 2019-11-4 I need to go back to China at 2016-12-3, and at the time my visa is going to be expired, and then when I come back to US at 2016-12-20, i will […]

05Oct 2016

In order to overwrite the default richfaces 4 ecss styles, from the document(https://docs.jboss.org/richfaces/latest/Developer_Guide/en-US/html_single/#sect-Developer_Guide-RichFaces_overview-Restrictions). You need to put it to <h:body> section: JSF does render resource links (stylesheets, scripts) in order of occurrence, thus if you add &lt;h:outputStylesheet&gt; to the &lt;h:head&gt;section, JSF will render it before the RichFaces resource links (dependencies of RichFaces components). To be […]

15Apr 2016

来源: 如何提升信用分数【2015.8更新】 – 美国信用卡指南   —最近准备买车,看了一下贷款相关的事情,发现美国的信用分数里面门道也挺多的。才意识到自己刚到美国的时候由于不清楚里面的规则贸然在分数不够的情况下申请了几张信用卡,而这些申请也无形中增加了hard pull的请求,让自己的分数现在还只是good level。   信用报告(Credit Report)、信用分数(FICO Credit Score)是能否申请到信用卡的决定因素。对于玩信用卡的人而言,关心一下自己的信用报告、信用分数是十分必须的。在《如何免费获得信用报告及分数》中我们已经介绍了免费获得信用分数的方法,如何提升信用分数呢? 首先我们要知道官方信用分数是如何构成的。这里以 Discover 的介绍页面为例: Payment history。这个很容易,只要每月按时还款就可以了,相信读我的博客的人不会不按时还款。如果怕忘记,可以设置 Auto Pay,设置成每个月自动在 due date 前还清 full balance,所有信用卡的设置里都可以找到这一选项。这里友情提示一下新人:对任何信用卡,千万不要每个月只还 minimum payment,一定要还 full balance,否则虽然不会对信用记录造成影响但是银行会收你利息的! Amount you owe。或者可以称为 utilization,即所有银行账单上的 total balance 与 total credit limit 之比。这个数字最好控制在 1%~10% 之间。网上有人说 0% 会产生负面影响,有人说不会,至今我也没有查到官方说法。如果 total credit limit 太小,也不意味着你平时不能刷太多信用卡,只要在出账单之前(closing date 之前)及时还款,让账单上的 total balance 与 total credit […]

25Feb 2016

大数据分析系统作为一个关键性的系统在各个公司迅速崛起,但是这种海量规模的数据带来了前所未有的性能挑战。同时,如果大数据分析系统无法在第一时间为运营决策提供关键数 来源: 如何打造高性能大数据分析平台 | 36大数据   大数据分析系统作为一个关键性的系统在各个公司迅速崛起,但是这种海量规模的数据带来了前所未有的性能挑战。同时,如果大数据分析系统无法在第一时间为运营决策提供关键数据,那么这样的大数据分析系统一文不值。本文将从技术无关的角度讨论一些提高性能的方法。下面我们将讨论一些能够应用在大数据分析系统不同阶段的技巧和准则(例如数据提取,数据清洗,处理,存储,以及介绍)。本文应作为一个通用准则,以确保最终的大数据分析平台能满足性能要求。 1.大数据是什么? 大数据是最近IT界最常用的术语之一。然而对大数据的定义也不尽相同,所有已知的论点例如结构化的和非结构化、大规模的数据等等都不够完整。大数据系统通常被认为具有数据的五个主要特征,通常称为数据的5 Vs。分别是大规模,多样性,高效性、准确性和价值性。 据Gartner称,大规模可以被定义为“在本(地)机数据采集和处理技术能力不足以为用户带来商业价值。当现有的技术能够针对性的进行改造后来处理这种规模的数据就可以说是一个成功的大数据解决方案。 这种大规模的数据没将不仅仅是来自于现有的数据源,同时也会来自于一些新兴的数据源,例如常规(手持、工业)设备,日志,汽车等,当然包括结构化的和非结构化的数据。 据Gartner称,多样性可以定义如下:“高度变异的信息资产,在生产和消费时不进行严格定义的包括多种形式、类型和结构的组合。同时还包括以前的历史数据,由于技术的变革历史数据同样也成为多样性数据之一 “。 高效性可以被定义为来自不同源的数据到达的速度。从各种设备,传感器和其他有组织和无组织的数据流都在不断进入IT系统。由此,实时分析和对于该数据的解释(展示)的能力也应该随之增加。 根据Gartner,高效性可以被定义如下:“高速的数据流I/O(生产和消费),但主要聚焦在一个数据集内或多个数据集之间的数据生产的速率可变上”。 准确性,或真实性或叫做精度是数据的另一个重要组成方面。要做出正确的商业决策,当务之急是在数据上进行的所有分析必须是正确和准确(精确)的。 大数据系统可以提供巨大的商业价值。像电信,金融,电子商务,社交媒体等,已经认识到他们的数据是一个潜在的巨大的商机。他们可以预测用户行为,并推荐相关产品,提供危险交易预警服务,等等。 与其他IT系统一样,性能是大数据系统获得成功的关键。本文的中心主旨是要说明如何让大数据系统保证其性能。 2.大数据系统应包含的功能模块 大数据系统应该包含的功能模块,首先是能够从多种数据源获取数据的功能,数据的预处理(例如,清洗,验证等),存储数据,数据处理、数据分析等(例如做预测分析,生成在线使用建议等等),最后呈现和可视化的总结、汇总结果。 下图描述了大数据系统的这些高层次的组件: 2.1各种各样的数据源 当今的IT生态系统,需要对各种不同种类来源的数据进行分析。这些来源可能是从在线Web应用程序,批量上传或feed,流媒体直播数据,来自工业、手持、家居传感的任何东西等等。 显然从不同数据源获取的数据具有不同的格式、使用不同的协议。例如,在线的Web应用程序可能会使用SOAP / XML格式通过HTTP发送数据,feed可能会来自于CSV文件,其他设备则可能使用MQTT通信协议。 由于这些单独的系统的性能是不在大数据系统的控制范围之内,并且通常这些系统都是外部应用程序,由第三方供应商或团队提供并维护,所以本文将不会在深入到这些系统的性能分析中去。 2.2数据采集 第一步,获取数据。这个过程包括分析,验证,清洗,转换,去重,然后存到适合你们公司的一个持久化设备中(硬盘、存储、云等)。 在下面的章节中,本文将重点介绍一些关于如何获取数据方面的非常重要的技巧。请注意,本文将不讨论各种数据采集技术的优缺点。 2.3存储数据 第二步,一旦数据进入大数据系统,清洗,并转化为所需格式时,这些过程都将在数据存储到一个合适的持久化层中进行。 在下面的章节中,本文将介绍一些存储方面的最佳实践(包括逻辑上和物理上)。在本文结尾也会讨论一部分涉及数据安全方面的问题。 2.4数据处理和分析 第三步,在这一阶段中的一部分干净数据是去规范化的,包括对一些相关的数据集的数据进行一些排序,在规定的时间间隔内进行数据结果归集,执行机器学习算法,预测分析等。 在下面的章节中,本文将针对大数据系统性能优化介绍一些进行数据处理和分析的最佳实践。 2.5数据的可视化和数据展示 最后一个步骤,展示经过各个不同分析算法处理过的数据结果。该步骤包括从预先计算汇总的结果(或其他类似数据集)中的读取和用一种友好界面或者表格(图表等等)的形式展示出来。这样便于对于数据分析结果的理解。 3.数据采集中的性能技巧 数据采集是各种来自不同数据源的数据进入大数据系统的第一步。这个步骤的性能将会直接决定在一个给定的时间段内大数据系统能够处理的数据量的能力。 数据采集过程基于对该系统的个性化需求,但一些常用执行的步骤是 – 解析传入数据,做必要的验证,数据清晰,例如数据去重,转换格式,并将其存储到某种持久层。 涉及数据采集过程的逻辑步骤示如下图所示: 下面是一些性能方面的技巧: ●来自不同数据源的传输应该是异步的。可以使用文件来传输、或者使用面向消息的(MoM)中间件来实现。由于数据异步传输,所以数据采集过程的吞吐量可以大大高于大数据系统的处理能力。 异步数据传输同样可以在大数据系统和不同的数据源之间进行解耦。大数据基础架构设计使得其很容易进行动态伸缩,数据采集的峰值流量对于大数据系统来说算是安全的。 ●如果数据是直接从一些外部数据库中抽取的,确保拉取数据是使用批量的方式。 ●如果数据是从feed file解析,请务必使用合适的解析器。例如,如果从一个XML文件中读取也有不同的解析器像JDOM,SAX,DOM等。类似地,对于CSV,JSON和其它这样的格式,多个解析器和API是可供选择。选择能够符合需求的性能最好的。 ●优先使用内置的验证解决方案。大多数解析/验证工作流程的通常运行在服务器环境(ESB /应用服务器)中。大部分的场景基本上都有现成的标准校验工具。在大多数的情况下,这些标准的现成的工具一般来说要比你自己开发的工具性能要好很多。 ●类似地,如果数据XML格式的,优先使用XML(XSD)用于验证。 ●即使解析器或者校等流程使用自定义的脚本来完成,例如使用java优先还是应该使用内置的函数库或者开发框架。在大多数的情况下通常会比你开发任何自定义代码快得多。 […]

18Dec 2015

From: https://www.captechconsulting.com/blogs/soap-vs-rest-for-mobile-services Abstract Many enterprises are creating mobile applications for their internal staff, for their customers, or both.  These applications need access to data, business rules, and business processes.  For architectural and security reasons these applications are typically built to access remotes services that provide the data and functionality that are required by the users. […]

23Nov 2015

From: https://developer.jboss.org/thread/206527 The steps to encrypt the jboss console password: 1) Issue following command to get the encrypted password. echo -n password | openssl dgst -md5 -binary | openssl base64 2) Add following lines in <Jboss Home Directory>/server/default/conf/login-config.xml inside <application-policy name=”jmx-console”> <module-option name=”hashAlgorithm”>MD5</module-option> <module-option name=”hashEncoding”>base64</module-option> 3) Uncomment below line in <Jboss Home Directory>/common/deploy/jmx-console.war/WEB-INF/jboss-web.xml <security-domain>java:/jaas/jmx-console</security-domain> 4) Add […]

13Nov 2015

From: http://mobile.51cto.com/news-497024.htm 插入排序的基本思想是在遍历数组的过程中,假设在序号 i 之前的元素即 [0..i-1] 都已经排好序,本趟需要找到 i 对应的元素 x 的正确位置 k ,并且在寻找这个位置 k 的过程中逐个将比较过的元素往后移一位,为元素 x “腾位置”,最后将 k 对应的元素值赋为 x ,一般情况下,插入排序的时间复杂度和空间复杂度分别为 O(n2 ) 和 O(1)。 AD:【活动】Web和APP兼容性实战 Win10训练营免费报名 这段时间闲了下来,就抽了点时间总结了下java中常用的七大排序算法,希望以后可以回顾! 1.插入排序算法 插入排序的基本思想是在遍历数组的过程中,假设在序号 i 之前的元素即 [0..i-1] 都已经排好序,本趟需要找到 i 对应的元素 x 的正确位置 k ,并且在寻找这个位置 k 的过程中逐个将比较过的元素往后移一位,为元素 x “腾位置”,最后将 k 对应的元素值赋为 x ,一般情况下,插入排序的时间复杂度和空间复杂度分别为 O(n2 ) 和 O(1)。 /** * @param int[] 未排序数组 * @return int[] 排完序数组 */ […]