べすとえふぉーと

プログラミング等のノート 

Go 使い方メモ 2

package main

import (
    "fmt"
)

type myType int

func for_range(array []int) {
    for i := range array {
        if i % 2 == 0 && array[i] % 2 == 0 { 
            fmt.Println(array[i])
        }
    }
}

func (value myType) printmethod() {
    fmt.Println(value)
}

func (value *myType) setfrompointer(newval myType) {
    *value = newval
}

func (value *myType) addval(incval myType) myType {
    *value += incval
    return *value
}

func main() {
    argarray := []int{1,2,4,5,7,8}
    for_range(argarray)
    fmt.Println(" ")
    
    var z myType = 123
    z.printmethod()
    z.setfrompointer(45)
    z.printmethod()
    z.addval(3)
    z.printmethod()
    fmt.Println(" ")

}

Go 使い方メモ 1

package main

import (
    "strconv"
    "fmt"
)

type struct_test struct {
    X int
    Y int
}

func add(x int,y int) int {
    return x + y
}

func add_minus(x, y int)(string,string) {
    addval := x + y
    minusval := x - y
    return strconv.Itoa(addval),strconv.Itoa(minusval)
}

func isminus(x int) bool {
    retbool := false
    if x < 0 {
        retbool = true
    }
    return retbool
}


func add_for(x,loop int)(result int) {
    var sum = 0
    for i := 0; i < loop;i++ {
        sum = sum + x
    }
    return sum
}

func to_byte(targetstr string) []byte {
    return []byte(targetstr)
}

func main() {
    retadd := add(1,3)
    fmt.Println(retadd)
    fmt.Println(" ")

    retplus,retminus := add_minus(10,5)
    fmt.Println(retplus)
    fmt.Println(retminus)
    fmt.Println(" ")

    strct1 := struct_test{3,4}
    strct1.X = 5
    fmt.Println(strct1.X , strct1.Y)
    strct1.Y += 3
    fmt.Println(strct1.X , strct1.Y)
    p := &strct1
    p.X = 30
    fmt.Println(strct1.X , strct1.Y)
    fmt.Println(" ")

    var retfor = add_for(2,10)
    fmt.Println(retfor)
    fmt.Println(" ")
    
    var retbs []byte = to_byte("テスト")
    fmt.Println(string(retbs))
    fmt.Println(len(retbs))
    fmt.Println(" ")

    retbl := isminus(-10)
    fmt.Println(retbl)
    fmt.Println(" ")

}

OpenShiftでmysqlのバックアップ・アップロード

ログインしてmysqldump実行

rhc ssh -a $APPNAME

mysqldump -h $HOST -p $HOST -u $USER --password=$PASSWORD $APPNAME > /sandbox/backup.sql

exit

※$HOSTはphpmyadminで確認

ダウンロード

rhc scp $APPNAME download /$SAVE_LOCAL_PATH /sandbox/backup.sql

アップロードとリストア

rhc scp $APPNAME upload /$SAVE_LOCAL_PATH/restore.sql /sandbox/restore.sql

mysql -u $USER -p$PASS redmine < /sandbox/restore.sql

Ubuntu 14にSconsをインストール

sudo apt-get install python-pip

sudo pip install --egg Scons

pipが入ってない場合があるのでpipのインスコから


あとはSConstructがあるディレクトリに移動してビルド

cd toSourceDir

scons BuildTarget