KazuminEngine

プログラマーの日記

brew upgrade ruby-buildしても、2.3.0が見当たらない

Mac 10.11

$ brew update
$ brew upgrade ruby-build

しても

$ rbenv install -l

した際に 2.3.0が表示されませんでした。

もちろん、formuraのバージョンは最新でした。

解決方法として

無理やり

$ rbenv install 2.3.0

すると


ruby-build: definition not found: 2.3.0

The following versions contain `2.3.0' in the name:
  2.3.0-dev
  rbx-2.3.0

See all available versions with `rbenv install --list'.

If the version you need is missing, try upgrading ruby-build:

 

と表示されるので

$ cd /Users/kinoshita/.anyenv/envs/rbenv/plugins/ruby-build && git pull

すればいい!

ググラないで。いろいろ試すと、ハック力上がりますね。これは友達を見ていて思いました。

A simple tip : Big O notation via found element in golang.

I found great thing. It's a fast Big O notation go programing.If you don't know Big O notation, read next link .

Big O notation - Wikipedia, the free encyclopedia

If you always scratch programing in Ruby,but now in Go.If you wanna call look like a method which look like include? in Ruby in Golang.In the first place , do you know a include? method. which found argment element from receive object of list.There is similar Two way.which call look like it in go

First.

for loop.which is O(n).scratch below.

package main

import (
    "fmt"
)

func main(){
    var target [5]string = [5]string{"0","1","2","3","4"}

    for value := range target{
        if 3 == value {
            fmt.Println("match")
        }
    }
}

Second.

golang don't have to use list in this patarn. It should use map,which is O(1).like scratch below.

package main

import (
    "fmt"
)

func main(){
    map1 := map[string]int{"0":0,"1":1,"2":2,"3":3,"4":4}
    _, ok := map1["0"]
    fmt.Println(ok)
}

map is faster than loop implemention.and below golang code is very cool. In the first place, golang thought is very cool.

 _, ok := map1["0"] 

dockerイメージをloopbackデバイスを使用して、mountする方法。(ex11.2 option)

大学の課題のメモ。作業中楽しかったので、久々にブログる。

課題 「dockerイメージをloopbackデバイスを使用して、mountして、dockerの中のファイルをいじろ!!」

やり方

dockerをrunして、 dockerをcontrol + pとcontrol + qでデタッチ

$losetup /dev/loop2 /dev/mapper/"マウントしたいdockerイメージ"

でマウントしたいdockerイメージをloop backデバイスに縄付ける。 マウントしたいdockerイメージは、tabを押せば出てくる。 自分の場合は、docker-253:0-35053790-e7af597718d6e033d81e36dbccff5539fe8c2f74dcd28914d0bda511f4eab40d ってでた。

間違って、poolを選ばないように。

$mkdir /mnt/mountpoint
$mount /dev/loop2 /mnt/mountpoint

で、マウント先を作成して、マウント

ちなみに、アンマウントは、

umouunt /mnt/mountpoint

だと思う。

簡単だと思うけど、ここまでたどり着くのにかなり苦労しました。

苦労・感想

/dev/loop0をddコマンドでイメージを作成して、loop2にして、マウントしたができない苦労。できても、マウント先に何もない苦労。

/dev/loop0をddコマンドでイメージを作成して、mkfs.xfsコマンドでxfsフォーマットにして、loop2にして、マウントしたができない苦労。できても、マウント先に何もない苦労。

さらに、/dev/loop0をddコマンドでイメージを作成して、mkfs.xfsコマンドでxfsフォーマットにして、xfs_admin -uでuuidを確認して、マウントする際にmount -U 2f71b437-b644-4d47-b1ab-b913f7513ea6したが、マウントしたができない苦労。できても、マウント先に何もない苦労。

dmってのは、mapperで/dev/mapperにあるってのを気づいたので、できた(なんでもっと早く気付かない。)

できなかったのは、ddコマンドのxfsがおかしいと思う。そもそも、仕様てきにとかも思ったりもしてる。(適当) dockerのイメージは、mapperらしい(mapperあまりわからない.)

あと、xfsフォーマットや、xfs_adminコマンドについて学べました。

ちょうど、マウント祭りをやりたいなーと思ってたところなので、楽しかったです。 次は、lvmとかnfsについてやりたいなー。(そうゆう課題が欲しい()

参考文献

複数パーティションのHDDのRAWイメージをマウントする方法まとめ - それマグで!

RHEL7におけるDockerのディスクイメージ管理方式 - めもめも

XFS Filesystem has duplicate UUID problem - Administration - Linux Tips & Forums

My formula was included to master branch of brew cask

自分が書いたFormulaがGUIパッケージを管理するためのbrew caskのmasterにincludeされた話。

(そんなにすごくない。)

事の発端は、友達(https://twitter.com/CodeHex)がGUIソフトウェアを作ったので、それをbrewでインストール

したいって思った。

調べならがやって、一時間ぐらいでformulaが書けた。

んで、本家にPRしたんだど、

「使われてないから、shaはいらない。」「whitespaceが入っていてbuildできない」(恥ずかしい)

って言われたりして、やったこそincludeされた。(わっしょい。)

これがPR

github.com

brew update

brew cask install card

ぐらいで入る。

ちなみに、入れたいソフトウェアの不具合で

インストールは、できるが起動ができないかもしれない。

直している途中のようなので、直ったら、報告する。

いい経験になったので,@code_hexに感謝。

how to create visualized tree in weka

人工知能の講義でwekaで決定木をwekaで作って来いと言われたので、そのまとめー

まずは、brewでinstall

brew cask install weka

で、OKだと思う。

アプリケーションの中にwekaがあるからとりあえず起動。

どっかのディレクトリーに

test.arffなファイルを作って

下記のように書いて保存。

@relation rich

@attribute height {high,low}
@attribute color_of_hair {blond,dark,red}
@attribute color_of_eye {blue,brown}
@attribute class {+,-}

@data
low,blond,blue,+
high,dark,brown,-
high,dark,blue,-
high,red,blue,+
low,dark,blue,-
high,blond,brown,-
low,blond,brown,-
high,blond,blue,+
high,red,brown,-

wekaに移って、右上のexplorerをクリック f:id:kazuminkun:20151123200051p:plain

下記のようなwindowが表示されるので、左上のopen fileをクリック。 f:id:kazuminkun:20151123195101p:plain

test.arffを探して、openする。

左上にclassifyがあるのでクリック。

f:id:kazuminkun:20151123195101p:plain

左上のchoseボタンをクリックして、treeの中のj48をクリック。 で、supplied foldを9に設定。 f:id:kazuminkun:20151123195506p:plain

startボタンをクリックすると下に、何か追加されるので、そいつを右クリック。

f:id:kazuminkun:20151123195629p:plain

するとvisualize treeってのが表示されるので、そいつをクリックすると 木ができてる。

Perlでシーザー暗号

CTFやってるとシーザー暗号の問題があってネットからPerlコードをひらってきて使ったんだけど、 うまくいかなくて。書いた。

うまくいってるか微妙

ってか、Perlってこんなに楽しいんだ。

叫んでた(爆笑。

範囲の中をforで回せないかってやってなんとかできた。(できてるか知らない)

記号がうまくいかないけど、気にすんな。

あと、$shift消そう