用于在虚拟化容器中部署和分发应用程序的Docker开源平台具有诸多优点。这篇文章解释了企业应当了解这项流行技术的几个方面。Docker容器架构Docker容器的架构包括装有主机操作系统的物理机器。主机操作系统上面部署了Docker引擎,引擎有助于构建用来托管运行应...
编程语言
本篇通过阅读《高扩展性网站的50条原则》,总结出以下内容。 一方面博主没有实际的架构经验,另一方面知识面也不够宽阔,所以只能系统的总结书中的要点,并根据自己的理解做些归纳。 主要内容 本书从多个方面围绕高扩展性提出了50条建议,一个高扩展性的网站...
为了演示,首先建两个包含不良索引的表,并弄点数据。 mysql> show create table test1/G *************************** 1. row *************************** Table: test1 Create Table: CREATE TABLE `test1` (`id` int(11) NOT NULL,`f1` int(11.....
ArrayList是Java中最常用的集合类型之一。它允许灵活添加多个null元素,重复的元素,并保持元素的插入顺序。在编码时各位同行经常会遇到那种必须从已建成的ArrayList中删除重复元素的要求。这篇文章将给出两种从ArrayList中删除重复元素的方法。方法1:使用Ha...
Java 8 刚于几周前发布,日期是2014年3月18日,这次开创性的发布在Java社区引发了不少讨论,并让大家感到激动。特性之一便是随同发布的lambda表达式,它将允许各位同行将行为传到函数里。在Java 8之前,如果想将行为传入函数,仅有的选择就是匿名类,需要6行...
你以前听到的谈论关于Java8的所有都是围绕lambda表达式. 但它仅仅是Java8的一部分. Java 8 有许多新特性---一些强大的新类和语法, 还有其他的从一开始就应该具有的东西. 本人将要介绍本人认为值得了解的10个精华特性. 它们中最少也会有一个或两个你想要试一...
1) 引子 前不久我建立的技术群里一位MM问了一个这样的问题,她贴出的代码如下所示: var a = 1; function hehe() { window.alert(a); var a = 2; window.alert(a); } hehe(); 执行结果如下所示: 第一个alert: 第二个alert: 这是一个令人诧异的结果...
asp.net页面编码和浏览器的选择编码 每个asp.net的朋友都知道,在新版本的visual studio,在没有任何设置的情况下,新建页面时的默认编码为utf-8 我们可以从两个地方可以看出: 第一:打开aspx页面,“文件”->“高级保存选项”,如下图,可以看出编码...
上文里我遗留了两个问题,一个问题是数据库做了水平拆分以后,如果我们对主键的设计采取一种均匀分布的策略,那么它对于被水平拆分出的表后续的查询操作将有何种影响,第二个问题就是水平拆分的扩容问题。这两个问题在深入下去,本系列就越来越技术化了,可能...
这篇文章中介绍的模式有助于定义大数据解决方案的参数。这篇文章将介绍最常见的和经常发生的大数据问题以及它们的解决方案。原子模式描述了使用、处理、访问和存储大数据的典型方法。复合模式由原子模式组成,并根据大数据解决方案的范围进行分类。由于每个复...
无论是国外的Google、Facebook、Amazon,还是国内的Baidu、Taobao等,这些高性能的服务器在处理高并发的请求时,都能快速、准确的给予应答。通过查阅资料,了解现有大型网站的技术架构,发现目前常用的技术有分层、缓存、负载均衡、数据库性能优化,分布式系...
这篇文章使用了一个基于场景的方法,概述了可能有助于定义大数据解决方案的解决方案模式。每个场景都从一个业务问题开始,并说明为什么需要大数据解决方案。这篇文章会将一个具体的解决方案模式(由原子模式和复合模式组成)应用到业务场景。这个逐步分析的方...
今天接到PM的一个要求说要查看服务器上插了几个内存条,还有几个插槽是空着的,百度了半天没找到,最后还是靠google和man手册页才搞定。 其实就一个命令就搞定了:dmidecode。 最常用的选项就是用 -t 或者 --type 来限定关键字: bios, system, baseboard,...
1、PHP加密解密 PHP加密和解密函数可以用来加密一些有用的字符串存放在数据库里,并且通过可逆解密字符串,该函数使用了base64和MD5加密和解密。 function encryptDecrypt($key, $string, $decrypt){if($decrypt){ $decrypted = rtrim(mcrypt_decrypt(MCRYPT...
我已经被多次问到,如果我刚刚开始,我应当学习什么编程语言,答案一定是JavaScript,下面是为什么: 最简单的开发环境 我相信人们进入编程最大的障碍实际上是编写代码相关的所有其它方面的东东。你能够更快地编写代码(至少在你开始学习的时候),在我看来就...
现在几乎任何一个网站、Web App以及移动APP等应用都需要有图片展示的功能,对于图片功能从下至上都是很重要的。必须要具有前瞻性的规划好图片服务器,图片的上传和下载速度至关重要,当然这并不是说一上来就搞很NB的架构,至少具备一定扩展性和稳定性。虽然各...
Git是目前最先进的分布式版本控制系统,作为一个程序员,我们需要掌握其用法、 一:下载GitHub for Windows 2.0 二:安装GitHub 下载之后点击进行安装过程,安装之后桌面上会有两个图标,分别是 和 。 三:新建项目 GitHub是图形界面模式,Git Shell...
Thread.interrupt真的能中断线程吗 在平时的开发过程中,相信都会使用到多线程,在使用多线程时,大家也会遇到各种各样的问题,今天各位同行就来说说一个多线程的问题——线程中断。在java中启动线程非常容易,大多数情况下本人是让一个线程执行完自己的任务...
每年除夕看春晚,今年除夕抢红包。在整个羊年的春节假期里,大家都在忙着抢各种各样的电子红包,互联网用红包的方式革新了我们的拜年方式。为此,InfoQ策划了“春节红包”系列文章,以期为读者剖析各大平台的红包活动背后的技术细节。这篇文章为微博篇。 羊...
大数据解决方案的逻辑层可以帮助定义和分类各个必要的组件,大数据解决方案需要使用这些组件来满足给定业务案例的功能性和非功能性需求。这些逻辑层列出了大数据解决方案的关键组件,包括从各种数据源获取数据的位置,以及向需要洞察的流程、设备和人员提供业...
这是一个高级Java面试系列题中的第一部分。这一部分论述了可变参数,断言,垃圾回收,初始化器,令牌化,日期,日历等等Java核心问题。 程序员面试指南:https://www.youtube.com/watch v=0xcgzUdTO5M Java面试问题集合指南:https://www.youtube.com/watch...
我们开发CSS+DIV网页(Xhtml)时候,比较困惑和纠结的事就是CSS命名,特别是新手不知道什么地方该怎么样命名,怎样命名才是好的方法。 命名规则说明: 1)、所有的命名最好都小写 2)、属性的值一定要用双引号('')括起来,且一定要有值如class='divcss5',id='...
曾经见到知乎上有人问“为什么像facebook这类的网站需要上千个工程师维护?”,下面的回答多种多样,但总结起来就是:一个高性能的web系统需要从无数个角度去考虑他,大到服务器的布局,小到软件中某个文件的实现,甚至于某个循环内的运算如果出现不严谨都可...
Java对你而言是什么?一门你大学里学过的语言?一个IT行业的通用语言?你相信Java已经为下一次互联网爆炸做好了准备么?Java 一方面为嵌入式计算做了增强,而另一方面为实时应用做了精简,ITJS的这篇文章将介绍为什么 Java 是IoT(物联网)开发的最佳语言。为...
目前docker主要应用于单机环境,使用网桥模式,但如果想把多台主机网络互相,让多台主机内部的container互相通信,就得使用其他的软件来帮忙,可以使用Weave、Kubernetes、Flannel、SocketPlane或者openvswitch等,我这里就使用openvswitch来介绍docker多台主...