2014-12-12

Idea 介绍

目录 序 下载 idea 下载 Jdk 配置 Java 环境 下载 tomcat 导入一个 Maven 项目 参考文献 序 Idea 是一个非常强大的 IDE. 要比古老的 Eclipse 先进很多. 特别是在 Mac 下面的表现, 一些大一点儿的项目 Eclipse 都很难启动整个项目, 而 idea 则表现的很不错. 本文从导入一个 maven 项目说起, 如何在 Mac 下配置一个基于 Idea 的 java 开发环境. 下载 idea 官方提供了两个版本, Community 和 Ultimate. Community 是免费的, 但是功能受限. Ultimate 功能全, 可以免费使用 30 天. 但是也不用担心. 你可以使用万能的 Google 搜索到一堆序列号, 直接使用即可. 下载 Ultimate 版本安装即可. 下载 jdk Mac 下开发 Java 需要到 Apple 官网下载 Jdk. ... Read more

2014-12-03

Java 入门

基本语法 hello world 变量 引号 单引号引的数据 是char类型的 双引号引的数据 是String类型的 单引号只能引一个字符 而双引号可以引0个及其以上 在这里的单引号完全可以换成双引号 append方法是重写方法,里面既可以放char类型的又可以放String类型的数据,还有其他类型的等等 建议看一下StringBuffer的api方法 基本数据结构 循环 if-else switch 函数 函数定义 函数调用 函数传参 返回值 类和对象 类 类就是定义一个模板 类的一般形式 // 定义一个类 public class Human{ String name; String sex; String addr; int age; void work(){ System.out.println("我在工作"); } void eat(){ System.out.println("我在吃饭"); } } 修饰符说明: private 只有本类可见 protect 本类 子类以及同一个包中的类可见 默认(无修饰符) 对本类 子类(同一个包内的, 包外的子类是不行的)以及同一个包中的类可见,即 protected public 对任何类可见 方法的重载 在 java 中支持两个或多个同名的方法. ... Read more

2014-11-20

Django guide

Django guide create a project django-admin.py startproject mysite This will create a mysite directory in your current directory. Let’s look at what startproject created: mysite/ manage.py mysite/ __init__.py settings.py urls.py wsgi.py These files are: The outer mysite/ directory is just a container for your project. Its name doesn’t matter to Django; you can rename it to anything you like. manage.py: A command-line utility that lets you interact with this Django project in various ways. ... Read more

2014-11-19

SaltStack 入门

Salt 入门 2014-11-16 冬岛 目录 Installation Config 授权 Target Command Line Top file States Grains Pillar Node Group Jobs Schedule jobs 参考文献 Installation Installation Config Configuring Salt master Configuring the Salt Master /etc/salt/master interface: 0.0.0.0 发布任务 4505 接收返回结果 4506 minion Configuring the Salt Minion /etc/salt/minion master: 10.0.0.1 授权 [root@master ~]# salt-key -L Unaccepted Keys: alpha bravo charlie delta Accepted Keys: [root@master ~]# salt-key -A [root@master ~]# salt-key -L Unaccepted Keys: Accepted Keys: alpha bravo charlie delta salt-key ... Read more

2014-09-28

Creating a New Theme

Introduction This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I’ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won’t cover using CSS to style your theme. We’ll start with creating a new site with a very basic template. ... Read more

2014-09-28

Kubernetes 试玩

创建 web server Docker image [root@iZ28rwzcvjoZ mywebcontainer]# vim Dockerfile [root@iZ28rwzcvjoZ mywebcontainer]# docker build -t webwithdb . Sending build context to Docker daemon 14.85 kB Sending build context to Docker daemon Step 0 : FROM centos:latest latest: Pulling from docker.io/centos f1b10cd84249: Pull complete c852f6d61e65: Pull complete 7322fbe74aa5: Already exists docker.io/centos:latest: The image you are pulling has been verified. Important: image verification is a tech preview feature and should not be relied on to provide security. ... Read more

2014-07-06

Go Struct

go struct 冬岛 2014-07-06 目录 基本概念 扩展、继承 Struct Field 结构 Struct tag Struct 高级用法 基本概念 定义一个 struct type Circle struct { x float64 y float64 r float64 } type Circle struct { x, y, r float64 } 初始化 type Circle struct { x float64 y float64 r float64 } var c Circle c := Circle{x: 0, y: 0, r: 5} c := Circle{0, 0, 5} c := new(Circle) c := &Circle{0, 0, 5} method 初始化 package main import "fmt" type Rectangle struct { length, width int } func (r Rectangle) Area() int { return r. ... Read more

2014-06-27

Go channel

chan 冬岛 2014-06-27 目录 channel 基本介绍 channel 高级用法 sync 简介 管道 channel 和锁混用时的隐患 参考文献 chan 基本介绍 1 ic := make(chan int) //a channel that can send and receive an int 2 sc := make(chan string) //a channel hat can send and receive a string 3 myc := make (chan my_type) //a channel for a custom defined struct type 4 my_channel := make(chan int) 5 6 //within some goroutine - to put a value on the channel 7 my_channel <- 5 8 9 //within some other goroutine - to take a value off the channel 10 var my_recvd_value int 11 my_recvd_value = <- my_channel 12 ic_send_only := make (<-chan int) // 此 channel 只能发送 int 数据 13 ic_recv_only := make (chan<- int) // 此 channel 只能接受 int 数据 同步和异步 channel make(chan int) 这种方式创建的 channe 默认是同步模式的 向 channel 发送数据的 goroutine 会阻塞, 直到别的 goroutine 从 channel 中把数据取走为止 make(chan int, 100) 异步 channel、可缓冲的 channel。可以同时容纳 100 个 item, 向 channel 中写 101 个 item 的 goroutine 会阻塞 当 channel 中的 item 少于 100 时不会阻塞写 channel 的 goroutine 同步 channel 例子 制作三个 cake package main import ( "fmt" "time" "strconv" ) var i int func makeCakeAndSend(cs chan string) { i = i + 1 cakeName := "Strawberry Cake " + strconv. ... Read more

2014-06-25

Go 数据类型

数据类型 冬岛 2014-06-25 目录 数组 值和指针 slice 结构 go 数据类型举例 参考文献 数组 数组有两个关键属性: 数据类型 长度 数组的长度是固定的, 一旦设定就不能修改, 长度也数据类型的一部分 [4]int 和 [5]int 是两个不同的数组, 因为他们的长度不同 数组是一个 values 类型, 和 C 不一样 go 的数组变量代表整个数组, 而不是一个指向第一个元素的指针 举例 package main import "fmt" func main(){ var a [4]string = [4]string{"string-a","string-b","string-c","string-d"} var b [4]string b = a fmt.Printf("修改前 array a: %s, array b: %s\n", a, b) b[2] = "my-self-string" fmt. ... Read more

2014-06-23

Go 内存模型

go 内存模型 冬岛 2014-06-23 目录 简单说明 线程和 goroutine 比较 之前发生 错误的同步 参考文档 简单说明 这篇 Go 的内存模型是来阐述,在一个 goroutine 中写入的一个变量的值在何种情况下会被另外一个 goroutine 察觉到 之前发生 为了说明读写,我们定义一个之前发生的偏序关系。 如果事件 e1 在 e2 之前发生,那么我们也说,e2 在 e1 的之后发生。 e1 先于 e2 发生,而 e1 的结束是否先于 e2 的开始,这不确定 如果 e1 既不是在 e2 的之前发生,也不是在 e2 的之后发生,我们就说,e1 和 e2 是并发的 只要满足下面两个条件,某一个读 r 访问到另外的一个写 w 的结果都是允许的, 允许的意思是可以访问到,但也可以访问不到 读 r 不在 w 的之前发生; ... Read more