基于docker容器环境的go语言学习入门

  categories:原创  author:

Go 语言教程

Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。现在Go的开发已经是完全开放的,并且拥有一个活跃的社区。

Go 语言用途

Go 语言被设计成一门应用于搭载 Web 服务器,存储集群或类似用途的巨型中央服务器的系统编程语言。

对于高性能分布式系统领域而言,Go 语言无疑比大多数其它语言有着更高的开发效率。它提供了海量并行的支持,这对于游戏服务端的开发而言是再好不过了。


第一个 Go 程序

接下来我们来编写第一个 Go 程序 hello.go(Go 语言源文件的扩展是 .go),代码如下:

实例

package mainimport “fmt”func main() {
fmt.Println(“Hello, World!”)
}
阅读全文

jira6.3.6安装过程详录

  categories:原创  tags:  author:

JIRA 是澳大利亚 Atlassian 公司开发的一款优秀的问题跟踪管理软件工具,可以对各种类型的问题进行跟踪管理,包括缺陷、任务、需求、改进等。JIRA采用J2EE技术,能够跨平台部署。它正被广泛的开源软件组织,以及全球著名的公司使用。JIRA中配置灵活、功能全面、部署简单、扩展丰富,其超过150项特性得到了全球115个国家超过19,000家客户的认可。

JIRA产品非常完善且功能强大,安装配置简单,多语言支持、界面十分友好,和其他系统如CVS、Subversion(SVN)、VSS、LDAP、邮件服务整合得相当好,文档齐全,可用性以及可扩展性方面都十分出色,拥有完整的用户权限管理。

详情参见 百度百科jira介绍

本文主要在linux环境中安装jira系统, jira也支持在windows等系统中进行安装, 相关情况请搜索百度。

为了进行本文的相关安装工作, 需要一台linux计算机。 为了方便, 采用实现安装好的vmware虚拟机, 采用成熟的linux镜像, 直接在vmware软件中打开。 具体使用情况参考:两台nginx实现https负载均衡    里面有安装好的linux虚拟机环境可以供下载, 方便本文使用。

或者您也可以自己安装。

一. jira安装之linux环境准备

1. 启动vmware软件, 打开linux机器

2. 在启动xshell软件,连接启动好的 linux机器,

3. 在linux机器中安装java环境, 并使之生效

java-install

java安装目录

vi /etc/profile    编辑文件

在文件的结尾添加下面 内容

export JAVA_HOME=/export/local/jdk1.7.0_79… 阅读全文

artemis安装

  categories:mq, 原创  tags:  author:

一.Apache Artemis介绍

Apache Artemis是apache的一个新的消息系统, 这个消息系统是来源于 redhat的 “异步消息系统 HornetQ

HornetQ的相关资料有如下:

http://wenku.baidu.com/view/2f19b1557fd5360cba1adbd9.html?from=search

1. 关于Apache Artemis

http://activemq.apache.org/artemis/  项目的注意

http://activemq.apache.org/artemis/download.html  下载页面

另外 可以参考 HornetQ的相关资料, 目前同 HornetQ还有很大的相似性

选择他的Artemis的考虑是, 他是中等成熟的 消息系统, 功能够用, 代码少, 阅读方便, 便于理解, 这样有了问题才好 进行相关的处理工作。

而 activemq 代码太庞大了, 功能太多, 想彻底弄清楚要费非常大力气

而apache Apollo  

阅读全文

C++builder6安装jvcl控件和常用bcb控件

  categories:原创, 资料  tags:,   author:

c++builder是一个非常好的c++开发环境, 也叫bcb, 尽管有点老了, 但是有时开发windows应用也非常得心应手, 本文主要介绍一个bcb的库, 有了这个库可以大大提高我们的bcb开发效率。

一. C++builder简介

1. C++ Builder介绍

C++ Builder也可以成为bcb,同dephi是一对孪生兄弟。

C++ Builder是由Borland公司推出的一款可视化集成开发工具。C++ Builder具有快速的可视化开发环境:只要简单地把控件(Component)拖到窗体(Form)上,定义一下它的属性,设置一下它的外观,就可以快速地建立应用程序界面;C++ Builder内置了100多个完全封装了Windows公用特性且具有完全可扩展性(包括全面支持ActiveX控件)的可重用控件;

阅读全文

让java程序以管理员身份运行

  categories:原创  tags:  author:

Vista以上版本程序增加了 以管理员身份运行 这个功能。原因是:为了系统安全,很多程序不让以administrator账户运行的,但这个又导致很多程序因为无法获得相关权限而无法运行,于是就出现了所谓的“兼容性问题”,一般右键以管理员身份运行后,本来不能运行的程序就能运行了。

Java程序采用这个方式运行还是比较麻烦, 到网络上搜索了一些方法, 都没有让我满意的解决办法。最后通过自己的实现, 解决办法是,将java程序打包成一个jar, 然后用java命了运行jar, 并且将这些指令集合封装到一个windowsbat文件中, 最后在创建这个bat文件的快捷方式, 最后在快捷方式的设置中,设置以管理员方式运行, 这样在运行这个快捷方式时, 默认就是管理员方式运行了(但是在不同windows中,因设置的不同, 在首次运行时, 会弹出对话框,提示进行确认)。 操作过程如下

一. 创建运行java程序的

阅读全文

C++builder6中用IdHTTPServer实现一个简单的http server

  categories:原创  tags:,   author:

最近需要用c++写个windows的程序, 程序里面要做个http server的程序,若是从头开发将非常麻烦, 仔细查看文档, 发现c++ builder的一些控件包装好了,直接使用,真的很便利。

关于bcb的安装大家到网络搜索吧, 我整理采用bcb6做开发, 操作系统采用windows7 64位系统。

一.打开bcb6的程序创建项目

1. 程序打开后默认创建了一个项目, 保存这个项目到一个单独的目录中, 做为项目的目录(bcb6项目管理部区分目录, 我们只能自己把每个项目单独存储到不同的项目目录中了)

在项目的默认form表单中放置一个memo

阅读全文

Windows7屏蔽管理员身份运行的提示对话框

  categories:原创, 资料  author:

Windows7屏蔽管理员身份运行的提示对话框

UAC很烦,Windows 7的UAC从一定程度上保证了系统的安全性。微软自从Windows Vista开始加入了UAC,这也成了人们对VISTA不满的诟病之一, 每次在打开程序时候,总是要停顿一会,有时候还弹出对话框提示进行确认,很是烦人。今天我分享给大家的是如何关闭提示, 相关方法是从网络上搜索, 总结一下。

一.UAC是什么?

UAC(User Account Control),中文翻译为用户帐户控制,是微软在Windows Vista和Windows7中引用的新技术,主要功能是进行一些会影响系统安全的操作时,会自动触发UAC,用户确认后才能执行。因为大部分的恶意软件、木马病毒、广告插件在进入计算机时都会有如:将文件复制到Windows或Program Files等目录、安装驱动、安装ActiveX等操作,而这些操作都会触发UAC,用户都可以在UAC提示时来禁止这些程序的运行。

能够触发UAC的操作包括:

• 修改Windows Update配置;

• 增加或删除用户帐户;

• 改变用户的帐户类型;

• 改变UAC设置;

• 安装ActiveX;

• 安装或卸载程序;

• 安装设备驱动程序;

• 修改和设置家长控制;

• 增加或修改注册表;

• 将文件移动或复制到Program Files或是Windows目录;

• 访问其他用户目录

就是因为UAC

阅读全文

OpenDS安装过程

  categories:java原创  tags:  author:

一.Opends简介

OpenDS 是一个基于 CDDL ( Common Development and Distribution License )协议,开源 , 免费,使用 LDAP 与 DSML 标准的综合的下一代 Directory Service 。 OpenDS 是用纯 Java 编写的处理大数据量,高性能,高可扩展性,很容易地部署,管理和监控。 Directory Service 不仅包括 DirectoryServer ,还有其它与 directory 相关的基本 service 如: directoryproxy 、 virtualdirectory 、 namespacedistribution 和数据同步。 DirectoryServer

阅读全文

nginx后端验证模块ngx_http_auth_request_module

  categories:nginx  tags:  author:

nginx验证模块ngx_http_auth_request_module
AuthRequestNginxModule(ngx_http_auth_request_module)
这个是nginx的一个验证模块

Here is auth request module, it allows authorization based on
subrequest result.  It works at access phase and therefore may be
nicely combined with other access modules (access, auth_basic) via
satisfy directive.
这个模块, 允许您的nginx通过发送请求到后端服务器(一般是应用服务器,例如tomcat,或者php等)进行请求, 并且根据请求决定是验证通过或者不通过。

使用方法如下:

Example … 阅读全文

AsyncTask使用解析和同步执行的问题

  categories:android  tags:  author:

Android UI是线程不安全的,如果想要在子线程里进行UI操作,就需要借助Android的异步消息处理机制。不过为了更加方便我们在子线程中更新UI元素,Android从1.5版本就引入了一个AsyncTask类,使用它就可以非常灵活方便地从子线程切换到UI线程。 AsyncTask 很早就出现在Android的API里了,所以我相信大多数朋友对它的用法都已经非常熟悉。不过今天我还是准备从AsyncTask的基本用法开始讲起, 然后我们再来一起分析下AsyncTask的并行执行情况

AsyncTask的基本用法

首先来看一下AsyncTask的基本用法,由于AsyncTask是一个抽象类,所以如果我们想使用它,就必须要创建一个子类去继承它。使用时需要继承这个类,然后调用execute()方法。注意继承时需要设定三个泛型Params,Progress和Result的类型,如AsyncTask<Void,Inetger,Void>:

  • Params是指调用execute()方法时传入的参数类型和doInBackgound()的参数类型
  • Progress是指更新进度时传递的参数类型,即publishProgress()和onProgressUpdate()的参数类型
  • Result是指doInBackground()的返回值类型
上面的说明涉及到几个方法:
  • doInBackgound() 这个方法是继承AsyncTask必须要实现的,运行于后台,耗时的操作可以在这里做
  • publishProgress() 更新进度,给onProgressUpdate()传递进度参数
  • onProgressUpdate() 在publishProgress()调用完被调用,更新进度

布局文件如下:

<RelativeLayout xmlns:android=”http://schemas.android.com/apk/res/android”
xmlns:tools=”http://schemas.android.com/tools”
android:layout_width=”match_parent”
android:layout_height=”match_parent”
android:paddingLeft=”@dimen/activity_horizontal_margin”
android:paddingRight=”@dimen/activity_horizontal_margin”
android:paddingTop=”@dimen/activity_vertical_margin”
android:paddingBottom=”@dimen/activity_vertical_margin”
tools:context=”.MainActivity”>

<TextView
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”显示异步的执行情况” android:id=”@+id/tv_show”/>
<Button
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”启动一个异步任务”
android:id=”@+id/bt_start_AsyncTask” android:layout_below=”@+id/tv_show” android:layout_alignLeft=”@+id/tv_show”

阅读全文


快乐成长 每天进步一点点