开发人员学Linux之终结篇:大型系统开发经验谈

这篇文章来源于我的一个ppt,而这个ppt是源于一个朋友的一次邀请,朋友邀请我为一个公司做一堂大约2小时的技术讲座,我选定的方向是如何开发一个大型系统,在这里我对大型系统的定义为日均PV在千万级以上,而京东和淘宝这类则属于巨型系统了。因此在本篇中讲述的都是基于一些开源免费的技术实现,至于那些通过F5硬件加速、DNS来实现负载均衡、CDN加速等需要花钱购买的技术或者服务则不再本篇介绍范围之类。 本来此篇是作为《开发人员学Linux》系列的终结篇最后出现的,但是考虑到在此过程中我可能会由于时间和精力原因无法全部完成或者由于关注点在别的方向而无法终结,所以提前把这篇先写了。

置顶 原创 推荐 点赞13 阅读10000+ 收藏13 评论7 2017-06-22

周公51CTO博客有价值文章整理

说明:为方便朋友们查看本博客的文章,特地整理了本博客中周公认为值得一看的文章,不过有些文章因为年代久远且技术更新快的原因,里面所讲述的方法或者理论不再适合,请大家斟酌。

置顶 原创 推荐 点赞7 阅读10000+ 收藏1 评论6 2011-06-23

在.NET数据库访问方面的Dapper类库介绍

本文简单介绍了一个轻量级的.NET中的ORM框架Dapper,它是国外大型IT问答社区StackOverFlow最早开发并开源的。这篇文章主要是介绍一些它的基本用法,以后有时间了我会在接着介绍在我所管理的项目中它是具体如何使用的。

原创 推荐 点赞6 阅读10000+ 收藏1 评论1 2018-05-08

开发人员学Linux(14):CentOS7安装配置大数据平台Hadoop2.9.0

本篇主要讲述了如何在CentOS7下部署Hadoop,包括了Hadoop运行的支持组件以及Hadoop的配置,并简单介绍了一下HDFS这个分布式文件系统的命令及用法,最后通过运行简单的MapReduce示例来演示如何运行MapReduce程序。

原创 点赞2 阅读10000+ 收藏2 评论0 2017-12-26

开发人员学Linux(13):CentOS7安装配置IT设备监控系统Zabbix

zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供柔软的通知机制以让系统管理员快速定位/解决存在的各种问题。zabbix由2部分构成,zabbix server与可选组件zabbix agent。zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux, Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X等平台上。Zabbix Server必须安装在Linux系统上,但Zabbix agent则有适应各种操作系统的版本。

原创 点赞1 阅读2455 收藏3 评论0 2017-12-05

开发人员学Linux(12):CentOS7安装配置Memcached和Redis

本文主要讲述了NoSQL领域的两个比较常用的应用Memcached和Redis来介绍其安装和配置过程,并捎带讲述了一下可视化管理界面。其实在NoSQL领域还有其它不错的解决方案,比如mongodb等。另外,时间有限没有讲如何集群化部署了,见过有人使用Memcached作为集群站点的Session服务器,大家有兴趣可以研究一下。

原创 点赞6 阅读1846 收藏6 评论0 2017-11-24

开发人员学Linux(11):CentOS7安装配置持续集成工具Jenkins

本文讲述了如何使用Jenkins来对项目持续集成,分别以Java和C#两类常见的项目类型做了演示。由于时间关系,仅仅简单讲述了如何配置和创建基本的持续集成项目。其实利用Jenkins除了上面演示的功能之外,还可以在构建完成后将失败或者成功的消息发邮件通知到相关人员,甚至自动部署到服务器(一般是部署到测试环境供QA测试,直接发布到正式服务器还是要慎重一点)。

原创 点赞3 阅读2853 收藏5 评论0 2017-10-24

开发人员学Linux(10):CentOS7安装配置代码质量管理平台SonarQube6.4

SonarQube是一个通过插件来支持对多种开发语言编写的项目进行分析的开源代码质量管理平台,在本篇讲述了如何在CentOS7上进行安装和配置及使用SonarQube,在SonarQube支持的六种代码分析方式中,以SonarQube Scanner和SonarQube Scanner for MSBuild为例分别讲述了对Java项目和C#项目进行代码质量分析。由于SonarQube涉及的知识点非常多,在本篇并没有一一展开,更多的知识点需要大家去自行学习掌握了。

原创 点赞1 阅读5602 收藏2 评论0 2017-07-17

开发人员学Linux(9):CentOS7编译安装Git-2.13.1及使用

在上一篇讲述了如何在CentOS7上编译安装Subversion1.9.5和Apache2.4.25,并与Apache2.4.25集成,达到多个SVN版本库集中授权控制的效果。在传统的企业里面使用SVN来作为源代码版本工具的比例是比较高的,但在一些互联网企业里面很多已经在使用git来作为源代码版本管理工具了。网上关于SVN和Git的比较说明是很多的,其中最重要一个区别就是SVN是集中式的,git是分布式的,比如要查看版本库的历史提交记录,在SVN中必须要在能够连接到SVN服务器才可以,而在Git中则无需这么做,主要原因也是因为它是分布式的,只有需要与他们协同时才需要将代码提交到中央服务器或者从中央服务器下载到本地,在一般情况下可以本地提交。 本篇就是讲述如何在CentOS7下编译安装当前最新版本的Git。

原创 点赞3 阅读2211 收藏3 评论2 2017-07-13

开发人员学Linux(8):CentOS7编译安装Subversion及Apache并集成

本篇将介绍如何编译安装SVN服务器端管理软件subverion和Web服务器Apache。本来在前面的系列文章已经讲过使用Nginx作为Web服务器的,所以我一直在找有关subverion集成nginx的资料,在此过程中找到了Nginx作者Igor Sysoev在回答别人类似问题的网址,网址是http://mailman.nginx.org/pipermail/nginx/2007-January/000504.html,不过按照Igor Sysoev的回答并没有成功,因此仍回到Apache与SVN集成,然后再通过Nginx反向代理到Apache的办法。本来直接安装subversion即可实现版本控制,但由于这种方式有一些问题,比如密码是明文保存到文件的,因此采用了Apache集成Nginx的方式。

原创 点赞2 阅读3198 收藏2 评论1 2017-06-16

开发人员学Linux(7):CentOS7编译安装PHP并配置PHP-FPM

本篇讲述了如何编译PHP及通过配置让Nginx借助php-fpm来支持php应用,最后通过一个php应用wordpress的安装和配置来检查nginx+php-fpm是否配置正确,并且在本篇也检验了上一篇所述的MySQL主从复制是否正常工作。

原创 点赞0 阅读1061 收藏1 评论0 2017-06-13

开发人员学Linux(6):CentOS7编译安装MySQL5.17.8多实例及主从复制

本篇主要讲述了如何从MySQL官方网站下载源代码通过编译和安装,然后配置成多个实例运行,在最后还讲解了如何配置MySQL数据库主从同步。在实际情况中,可能有人在用MariaDB了,这是原MySQL开发人员在Oracle收购了Sun之后(Sun收购了MySQL),担心Oracle不再继续开源MySQL而开发的一套开源数据系统,它们有很多相似性,在本篇没有涉及。另外,本篇没有涉及的还有通过mysqld_multi.server来设置将MySQL随系统启动。​

原创 点赞0 阅读1169 收藏2 评论0 2017-06-11

开发人员学Linux(5):CentOS7编译安装Nginx并搭建Tomcat负载均衡环境

在上一篇讲述了JMeter的使用,在本篇就可以应用得上了。本篇将讲述如何编译安装Nginx并利用前面的介绍搭建一个负载均衡测试环境。Nginx是高负载Web网站中常用的软件之一,它不仅体积小,而且开源免费、功能强大。在本篇讲述了如何编译安装Nginx,以及如何设置负载均衡和反向代理。Nginx上手容易,但是要用好还是需要一番功夫的。

原创 点赞3 阅读2184 收藏13 评论0 2017-06-05

开发人员学Linux(4):使用JMeter对网站和数据库进行压力测试

本篇讲述了如何使用JMeter来进行Web和数据库压力测试,为快速创建压力测试计划,可给予模板进行创建。可以看出一个JMeter压力测试计划必须包含如下元素:ThreadGroup、与压力测试计划对应的Request(如HTTP Request或JDBC Request)、Listener(可以根据需要添加多个Listener),并且为了减小缓存的影响,我们介绍了如何利用csv文件将测试中的参数信息保存起来。 本文未尽之处就是如何对需要身份验证的Web网站进行压力测试,对于带有验证码的需要在压力测试期间暂时禁用验证码功能。另外对于多种验证方式,所使用的方法也有区别,在这期间我试过针对性地对一些需要身份验证的网站建立压力测试计划,但没发现太多共性的东西,故在本篇中没有讲述这方面的内容,等后期有时间再总结整理这方面的内容。

原创 点赞0 阅读10000+ 收藏2 评论0 2017-06-02

开发人员学Linux(3):CentOS7中安装JDK8和Tomcat8

题外话:直到今天开始写本系列的第三篇时本人才想好为这个系列取一个名字,本系列不是为Linux运维人员准备的,而是主要为开发人员准备的,包括但不限于: 希望了解Linux的开发人员; 需要在Linux上部署一些组件的开发人员,如Memcached/Nginx/Redis等; 需要使用一些在Linux上部署运行效果可能会更好的效果的系统,如Jetkins、SVN、JavaMelody等。 希望了解一些当前较热的技术,想在虚拟机里搭建个环境把玩一番的,如.Net Core/Hadoop等。 因此在本系列文章中不会去讲Linux及各个分支的历史,也不会去讲Linux与Windows相比的优缺点,更不会讲Linux Shell如何编程,涉及到这些知识也会较快带过,本系列文章主要是讲如何在虚拟机快速搭建起一个可运行和观察效果的环境。

原创 点赞2 阅读6818 收藏4 评论0 2017-05-25

开发人员学Linux(2):VirtualBox中安装CentOS7系统设置

上一篇《VirtualBox中安装CentOS7过程记录》中讲述了如何安装VirtualBox和在VirtualBox中安装CentOS7,但是限于篇幅有很多问题没有展开,在本篇将展开介绍VirtualBox和CentOS的设置问题。本篇包括:创建VirtualBox虚拟机时VDI/VMDK/VHD的区别;VirtualBox虚拟机网络连接类型NAT/Bridge/Internal等之间的区别;VirtualBox虚拟机多网卡设置;CentOS防火墙、selinux、IP、DNS设置。

原创 点赞3 阅读4704 收藏0 评论4 2017-05-23

开发人员学Linux(1):VirtualBox中安装CentOS7过程记录

自2011年以来,一直在学习一些有关Linux下的知识,包括Mono+XSP运行ASP.NET程序,搭建Hadoop学习环境、Nginx测试环境等。本文就是讲述如何在VirtualBox中安装CentOS7。

原创 点赞0 阅读2008 收藏2 评论0 2017-05-21

IT人员的职业生涯规划

最近在给部门同事做过一次职业生涯规划方面的讲座,在跟另一位从事技术管理的朋友聊天时,无意中谈起我的这个讲座,这位朋友盛情邀请我去他的公司给他们的技术人员也讲一讲IT人员的职业规划。 最近也有不少朋友在知乎、微博、微信及邮件上在问我类似的问题,个人觉得有必要整理一下供一些迷茫的朋友参考。虽然本人自认为自己的职业生涯并没有什么值得炫耀的地方,但是通过自己的总结,找到了以前的职业发展的可取和不可取之处,供大家批评和借鉴。

原创 点赞3 阅读2760 收藏5 评论0 2016-09-29

Eclipse常用的一些设置

备注:最近在参与一些Java项目,用到了Ecplise作为开发工具,所谓“好记性不如烂笔头”,所以写了这篇博客作为备忘录,以供随时查阅。熟练掌握Ecplise的同学看过勿喷,其实会一个工具也没有什么。但是欢迎大家共享自己的心得。

原创 推荐 点赞7 阅读10000+ 收藏0 评论4 2014-06-06

在.NET中不安装Office使用EPPlus生成带图表(Chart)的Excel报表

在开发.NET应用中可能会遇到需要生成带图表(Chart)的Excel报表的需求,特别是在一些ASP.NET网站中,有时候我们并不能保证Web服务器上一定安装了Office组件,所以使用微软的Office来生成Excel并不保证在所有情况下都使用,有时候即使Web服务器上安装了Office也会出现一些运行权限方面的原因到导致调用Excel组件生成Excel失败,所以在这里介绍一种无需安装Office并且无需较高权限就能生成Excel的方法。

原创 推荐 点赞3 阅读10000+ 收藏0 评论3 2013-11-04

在.NET开发中的单元测试工具之(2)——xUnit.Net

作为NUnit的改进版,xUnit.Net确实克服了NUnit的不少缺点(关于NUnit的缺点和不足之处请见上一篇),和NUnit的Assert API相比,xUnit.Net的Assert更精简但是又足以满足单元测试的需要,相比之下NUnit的Assert API略显臃肿(这可能是跟它是从.Net1.1一直支持过来并且要保持向下兼容有关),但在GUI的易用性方面xUnit.Net不如NUnit,NUnit的GUI提供了很多配置界面,使配置工作可以通过界面设置完成,但相同的工作在xUnit.Net中则需要在项目文件中通过配置节点实现(比如指定config文件)。

原创 推荐 点赞2 阅读10000+ 收藏0 评论2 2013-04-06

赴美因公出差记(2):生活篇

本文讲述了本人初到美国在美国的衣食住行情况,以一个第一次到美国的中国人的视觉来了解和感知在美国的衣食住行情况。

原创 推荐 点赞4 阅读3449 收藏0 评论3 2013-03-18

赴美因公出差记(1):出发

本文讲述了周公和同事从美国出差到美国的经历,包括从武汉出发到北京、在北京机场进海关登机到美国以及在美国转机的过程,对于今后要来美国的同志们会有些帮助。

原创 推荐 点赞9 阅读4235 收藏0 评论17 2013-03-13

赴北京美国大使馆L1签证面签记

本文记录了周公在2013年2月28日去北京美国大使馆面签的经历,供有此爱好或者即将有此经历的人阅读。

原创 推荐 点赞8 阅读10000+ 收藏0 评论13 2013-03-12

在.NET开发中的单元测试工具之(1)——NUnit

作为xUnit体系中的一员,NUnit确实给.Net开发人员进行单元测试带来了不少方便,在早期我们一直都是使用NUnit进行单元测试的。但是也存在着一些不足之处,比如:1.在xUnit体系中的JUnit是在测试每个方法时都是新生成一个实例,而在NUnit中确实一个TestFixture只会生成一个实例,这样一来如果对要包含单元测试类中的实例数据进行更改会可能会影响到其它的测试方法(像JUnit那样每次都生成一个实例则不会产生这种情况)。2.早期大多数人以为像JUnit中一样,[SetUp]、[TearDown]只会在所有测试前、后分别执行一次,实际情况是在每个测试前、后都会执行一次,为了达到JUnit中[SetUp]、[TearDown]这样的效果,只能新增TestFixtureSetUp、TestFixtureTearDown属性。除此之外,还存在一些缺点和不足。   所以本篇只是简单介绍了NUnit的一些用法,虽然NUnit提供了相当多的断言及Attribute,但实际用到的并不多,在这里介绍它是为介绍另一个.NET单元测试工具作铺垫。

原创 推荐 点赞3 阅读10000+ 收藏0 评论2 2013-01-03

SQL Server编程系列(2):SMO常用对象的有关操作

在上一篇周公简单讲述了SMO的一些基本概念,实际上SMO体系结构远不止周公在上一篇中讲述的那么简单,在本篇中周公还是在上一篇的基础上再做稍微深入一点的介绍,在本篇中主要讲述如何获取数据库常见对象信息,并且如何利用SMO来进行一些日常操作:如创建Login,创建数据库、备份数据库和还原数据库。执行上面这些操作的SQL语句也许我们已经写过,下面我们来看看利用SMO来操作的代码将如何写。

原创 推荐 点赞2 阅读3122 收藏0 评论3 2012-05-23

SQL Server编程系列(1):SMO介绍

最近在项目中用到了有关SQL Server管理任务方面的编程实现,有了一些自己的心得体会,想在此跟大家分享一下,在工作中用到了SMO/SQL CLR/SSIS等方面的知识,在国内这方面的文章并不多见,有也是一些零星的应用,特别是SSIS部分国内外的文章大都是讲解如何拖拽控件的,在开发过程中周公除了参阅SQL Server帮助文档、MSDN及StackOverFlow等网站,这些网站基本上都是英文的,为了便于一些英文不好的开发者学习,周公在自己的理解上加以整理成系列,不到之处请大家谅解。

原创 推荐 点赞1 阅读4928 收藏0 评论2 2012-05-17

SQL Server中的CLR编程——用.NET为SQL Server编写存储过程和函数

很早就知道可以用.NET为SQL Server2005及以上版本编写存储过程、触发器和存储过程的,不过之前开发的系统要么因为历史原因用的是SQL2000要么根本用不着在SQL Server中启用CLR,所以一直没有尝试。最近因为项目的原因,在这方面做了一个调研,现在在这里分享一下心得。

原创 推荐 点赞2 阅读9361 收藏0 评论1 2012-05-10

在.NET中根据SQL Server系统表获取数据库管理信息

最近在做一些数据库管理维护方面的开发,需要了解一些有关数据库的管理信息,比如本机上运行了哪些数据库服务器实例,局域网内运行了哪些数据库服务器实例及每个数据库服务器下有多少数据库,每个数据库的物理文件大小及保存位置等等。结合了网上的一些资料和本人的多次实践,总结写出本篇。

原创 推荐 点赞3 阅读3931 收藏0 评论2 2012-04-19

“春Phone计划”51CTO沙龙武汉站分享

随着Windows Phone 7.5正式登陆中国和微软“春Phone计划”的启动,WPhone手机应用开发已经切切实实地走进了中国开发者面前。51CTO在中国8个大中型城市(北京、上海、广州、深圳、郑州、杭州、武汉和成都)举办10场面向Windows Phone开发者的技术沙龙。武汉是其中的8个城市之一,周公有幸作为武汉沙龙的主持人组织了这一次的沙龙。本文就是详细介绍本次活动的文章。

原创 推荐 点赞6 阅读1957 收藏0 评论4 2012-04-15
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
写文章