Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

GO言語でURLデコード

前回に引き続き、今回はGO言語でURLデコードの方法 実際のところ package main import ( "fmt" "net/url" ) func main() { var urlStr string = "http://sample.org/?person=%D8%B5%D9%84%D8%A7%D8%AD+%D8%A7%D9%84%D8%AF%D9%8A%D9%86+%D8%A7%D9%84%D8%A3%D9…

GO言語でURLエンコード

GO言語でURLエスケープするには、"net/url"パッケージのEncode関数です 実際のところ package main import ( "fmt" "net/url" ) func main() { v := url.Values{} v.Set("sample", "ななし") v.Add("person", "صلاح الدين الأيوبي") v.Add("person", "木野修…

【読書メモ】Mind パフォーマンス Hacks ―脳と心のユーザーマニュアル

Mind パフォーマンス Hacks ―脳と心のユーザーマニュアル作者: Ron Hale-Evans,夏目大出版社/メーカー: オライリージャパン発売日: 2007/08/25メディア: 単行本(ソフトカバー)購入: 12人 クリック: 103回この商品を含むブログ (64件) を見るオライリー出版…

tailコマンドを使って、複数のテキストファイルの中身をファイル名つきで一つのファイルに書き出す

shuzo-kino.hateblo.jp ではファイルの中身を複数のファイルの中身をファイル名付きで出す方法を紹介しました。 今回は「複数のテキストファイルの中身をファイル名つきで一つのファイルに書き出す」方法です。 ……ホラ、納品検収なんかで便利デスヨ(ぐるぐ…

【イベントログ】東京おもちゃショー2017にいってきました

www.toys.or.jp 東京おもちゃショー2017にいってきました。 私が行ったのは、業者向け。 明日明後日は、恐らく本番である一般向けです。 感想 過去2回ほど出ているので、その流れで行ってみたのですが…… 東123の貸し切りだったのですが……何というか…

v-forで指定回数繰り返し処理

shuzo-kino.hateblo.jp 上記の記事ではデータの回数分だけ回してました。 今回は、v-forで指定回数繰り返し処理をする場合について。 実際のところ <html> <body> <div id="app"> <ul v-for="i in 10"> <li v-bind:id="'list'- + i"> <span> {{ i }} <my-el></my-el> </li> </ul> </div> <div> </div> <script type="text/javascript" src="basic.js"></script> </body></html>

v-modelは糖衣構文

Vue.jsで単にデータ・モデルを更新した場合、v-modelが使えます。 <input v-model="something"> これは、以下の内容の糖衣構文です。 <input v-bind:value="something" v-on:input="something = $event.target.value">何らかの理由でinputの内容を書き換えたいだけの場合…… たとえば、アラートを出す事もできます。 参考もと jp.vuejs.org

vm.$children[NUM]でVueコンポネントの内容を参照できる

shuzo-kino.hateblo.jp の続き。 コンポネントの要素を発火させる場合、vm.$children[NUM]とやってあげればよいです vm.$children[0].ReverseMessage() //undefined vm.$children[0].result //"as string"

Vueのイベントトリガをデバックコンソールで直接設定・発火させる

Vueのイベントトリガをデバックコンソールで直接設定・発火させる 実際のところ vm.$on('test', function (msg) { console.log(msg) }) vm.$emit('test', 'hi') //=> hi一回だけしか実行しないONCEというのもあります vm.$once('testOnce', function (msg) {…

ハマり傾向のある私でも何とかゲームとは共存できるという話

私は昔から一つの物事に集中すると何も見えなくなるタイプの人間です。 たとえば、CIV4にハマったときにはPCの前から動かず半日、飯も喰わずにプレイするような有様。 最終的に大学の単位を落としまくり酷い目にあいました。 その事件以降、これを自分の欠点…

【読書メモ】スペース金融道

スペース金融道作者: 宮内悠介出版社/メーカー: 河出書房新社発売日: 2016/08/29メディア: 単行本この商品を含むブログ (10件) を見るツイッターだか二階建てだかで見かけ、 欲しいものリストにぶっ込んでいたものをついカッとなってポチり 金融系SFとは新し…

gopherJs-vueでコンポネントをつかう

gopherJs-vueでコンポネントを活用刷る場合、NewComponentをつかいます 実際のところ <html> <body> <div id="app"> <my-el></my-el> </div> <script type="text/javascript" src="basic.js"></script> </body> </html> package main import ( "github.com/gopherjs/gopherjs/js" "github.com/oskca/gopherjs-vue" ) type Model struct…

【イベントログ】ワイヤレスジャパン2017に行ってきました

東京ビッグサイトで実施されているワイヤレスジャパン2017に行ってきました。 BLE接続トイレ利用監視ツール BLEでつなぐタイプのトイレ利用状態チェッカーです。 子機が3000円台と相当リーズナブルなシステム。子機その1、扉につける磁石タイプ。 …

v-forで要素にindexをつける

vue.js話。 Rubyと同様、インデックスつきのfor文を記述できます。 実際のところ 前の記事でやった内容に インデックスをつける例を考えます。 v-for構文の中に"index" <div> <ul v-for="(book, index) in bookdatas"> <li>ID{{ index }} :: {{book.title}} - {{book.content}}</li> </ul> <button v-on:click="AddNewBook">Add New Book</button> </div> 参考もと jp.vu…

Gopher.jsとVue.jsを合わせてカンタンなWebアプリを作る その2:追記・確認が可能なTODOリストをつくってみる

「Gopher.jsとVue.jsを合わせてカンタンなWebアプリを作る」第二回として、 追記・確認が可能なTODOリストをつくってみました。 ……何? MarkDownエディタ? ……ちゃんとできたらアップロードします何卒何卒…… 実際のところ とりあえず、文字だけ並ぶやつ pack…

v-if属性を設定すると、表示の切り替えができる

v-if属性を設定すると、表示の切り替えができます 実際のところ gopher.jsのサンプルは以下の通り <html> <body> <div id="app" v-cloak> <div>str: {{ result }} </div> <span v-bind:title="result" v-if="flag"> Hover your mouse over me for a few seconds to see my dynamically bound title! </span> <div> <button v-on:click="Button">Bu…</button></div></div></body></html>

gopherjs-vueで作ってない関数をhtmlファイルで呼ぶと……動かない

前回の記事が完全に止まった原因でもありますgopherjs-vueで作ってない関数をhtmlファイルで呼ぶと……動かないです。 実際のところ たとえば、以下のコードは実装してない関数を入れてないので動きません <html> <body> <div id="app" v-cloak> <div>integer: {{ integer }} <input v-model="integer"></input> </div> <div>str: {{ str }} </div> <button v-on:click="Inc">Incre</button>…

Gopher.jsとVue.jsを合わせてカンタンなWebアプリを作る そのN:Vue公式のMarkDownエディタを実装してみる

結果的に、第二回はコチラになりました☆ shuzo-kino.hateblo.jp……フレームワークに習熟しないとVue公式のMarkdownエディタ実装はキツかったです。 どこかの段階で、実装できたら更新します 参考もと jp.vuejs.org GitHub - oskca/gopherjs-vue: VueJS bindin…

Gopher.jsとVue.jsを合わせてカンタンなWebアプリを作る その1:環境構築

Vue.jsはReactやAngularと比較される事も多いJavascriptフレームワークです。 とっても軽量で学習コストも先行するものに比べれば軽め。Gopher.jsはGo言語のスクリプトをJavascriptに変換する悪魔ライブラリ。これを組み合わせると……? 実際のところ 環境構…

GOスクリプト上で実行OSを確認する

runtimeパッケージのGOOS変数を参照すれば、 GOスクリプト上で実行OSを確認できます。 ……まぁ、OSに依存しないような書きかたができれば、それがベストですけれどもね。 実際のところ package main import ( "fmt" "runtime" ) func main() { fmt.Printf("%v…

アメリカ政府の言語学習指標ILR

次のようなツイートを目にしました。語学検定の点数は相互に高い相関があるので、どれも似たようなものと思う。で、TOEICを批判する人が見るべきグラフはこれ。TOEIC満点はILRでいうと5段階中の3と中級なんですね。TOEICは英語初級者向けに設計してるのでTOE…

GO言語のtimeパッケージで分や時を設定する方法

GO言語のtimeパッケージで分や時を設定する方法 Duration関数で設定すると、ナノ秒ベースの数値がでます。 これに分や時の関数を掛けてあげる事で対応 実際のところ package main import ( "fmt" "time" ) func main() { value := 10 fmt.Printf("%v\n", tim…

git logのbefore/afterオプションで期間を指定する

Git

特定日付の差分を見たい場合は、git diffの"HEAD@DATE"記法が使えます。 shuzo-kino.hateblo.jp単体のタグの記事は shuzo-kino.hateblo.jp "before"オプションと"after"オプションを使えば、特定期間中のログを確認可能です。 実際のところ 2017年1月1日~3月…

【イベントログ】ゲームマーケット2017春

ゲームマーケット2017春に行って来ました。 実は身内にボドゲ勢が多く、終業後はゲームのテスト会が頻繁に行われています。 にも関わらず、私だけ行った事が無かったためこれを機会にと。 会場の様子 結構なエリアをとっている試遊台が特徴的。 実際遊んでナ…

定数の設定で楽をするiota記法

iota記法を使うと定数の設定で楽をできます。 実際のところ The Go Programming Language Specification - The Go Programming Language 公式によると、こんな動きをします。 const ( // iota is reset to 0 c0 = iota // c0 == 0 c1 = iota // c1 == 1 c2 =…

GoLangの文字列切り出しはRubyと同様、コロン記法が使える

GoLangの文字列切り出しはRubyと同様、コロン記法が使えます。 実際のところ package main import ( "fmt" ) func main() { baseString := "abcdef" // Result:: abc. fmt.Printf("%v.\n", baseString[3:]) // Result:: def. fmt.Printf("%v.\n", baseString…

go-humanizeで序数や単位、日付差分を人間が読みやすい形に

go-humanizeで序数や単位、日付差分を人間が読みやすい形にできます。 以前紹介した、RailsのActive_supportのようなものです。 shuzo-kino.hateblo.jp 実際のところ 数値の切り替えサンプルは以下の通り。 package main import ( "fmt" "github.com/dustin/…

ゆうちょ銀行の払込領収書が無くなった場合……

今回は何らかの事情で払込書が無くなった場合に使えるネタ。 「証拠書写し請求書 兼 回答書」という様式を提出すれば再発行を依頼できます。 かなりのレア書類故、ゆうちょ窓口にいって直接様式を貰ってくるしかないです。 必要な様式を記載・届け印を押印の…

カプセル化とアレコレ

package main import ( "fmt" ) type MyType struct { num int body []byte ans string } func (mt *MyType) String() string { return fmt.Sprintf("%d::%s\n", mt.num, mt.body) } func (mt *MyType) setAns() string { mt.ans = fmt.Sprintf("Num value i…

GOでコマンドライン引数をみる

Go言語でコマンドライン引数を得るには、公式のflagパッケージをつかいます 実際のところ package main import ( "flag" "fmt" ) func main() { num1 := flag.Int("num1", 42, "an int value for 1") num2 := flag.Int("num2", 0, "an int value for 2") nam…

パッケージの要素について外部から参照したいなら大文字に

Go-Tourによると Goでは、最初の文字が大文字で始まる名前は、外部のパッケージから参照できるエクスポート(公開)された名前( exported name )です。 (略) パッケージをインポートすると、そのパッケージがエクスポートしている名前を参照することができま…

【読書メモ】シティ・ファーマー

シティ・ファーマー: 世界の都市で始まる食料自給革命作者: ジェニファー・コックラル=キング,白井和宏出版社/メーカー: 白水社発売日: 2014/11/27メディア: 単行本この商品を含むブログを見る家庭内菜園から一歩進んで、地域菜園という試みについて取り組ん…

【読書メモ】沢田マンションの冒険

驚嘆!セルフビルド建築 沢田マンションの冒険 (ちくま文庫)作者: 加賀谷哲朗出版社/メーカー: 筑摩書房発売日: 2015/01/07メディア: 文庫この商品を含むブログ (4件) を見る先に書いておきます。 著者も認める通り、沢田マンション自身は違法建築です。 言う…

【読書メモ】闘う! 空き家術

闘う! 空き家術 ―自然と闘い、人と闘い、管理・投資・リフォーム・売却で解決する作者: 中山聡出版社/メーカー: 週刊住宅新聞社発売日: 2016/10/28メディア: 単行本(ソフトカバー)この商品を含むブログを見るまたぞろ空き家の本です。 今度は空き家オーナ…

macOS上のVirtualBOXにWindows 10 Homeを叩き込む

ゲームは大抵Windows優勢ですね。 最近は絵描きツールもWinが多くなって妙な気分になります。今回はOS X上のVirtualBOXにWindows 10 Homeを叩き込む方法です。 実際のところ 環境 MacBook Pro (Retina, 13-inch, Mid 2014) maxOS 10.12.4(16E195) Win10_17…

Google Mapsのライトモード

やたらと高機能化を続けるGoogle mapsには、ライトモードというお手軽版もあります。 実際のところ 使い方は割と単純でhttps://www.google.co.jp/maps/@?force=liteと、地点の後ろに"?force=lite"をブチ込みます。すると、右下に何やらカミナリのマークが。 …

【読書メモ】現代知識チートマニュアル

現代知識チートマニュアル (MORNING STAR BOOKS)作者: 山北篤出版社/メーカー: 新紀元社発売日: 2017/04/15メディア: 単行本(ソフトカバー)この商品を含むブログを見る技術史、文明史の軽い読み物として重宝します。ファンタジー世界モノにつきものな「ジ…

【読書メモ】老いる家 崩れる街 住宅過剰社会の末路

老いる家 崩れる街 住宅過剰社会の末路 (講談社現代新書)作者: 野澤千絵出版社/メーカー: 講談社発売日: 2016/11/16メディア: 新書この商品を含むブログ (5件) を見る最近、空き家問題に興味が出てきたので読んでみました。駅に近い程、空き家戸建てが目立つ…

自前のパッケージを読み込む

自前のパッケージを読み込む方法です。 実際のところ 以下のようなディレクトリ構造だったとします。 完全ローカルでも、一応github用ディレクトリの中に作ってます。 何が有るかわからんしね…… $ cd $GOPATH/src/github.com/shuzo_kino/mysamples $ tree -L…

1000日連続更新やったー

前回は年末納品で力尽きて記録が止まりましたが…… 多めに記事ストックを作っておく等々の対処で何とか継続できました……そろそろ、質の方を上げたいですね(白目

io/ioutilパッケージを使ってパイプで繋いだ標準出力から文字列を受け取る

io/ioutilパッケージを使ってパイプで繋いだ標準出力から文字列を受け取る 実際のところ package main import ( "fmt" "io/ioutil" "os" ) func main() { stat, _ := os.Stdin.Stat() if (stat.Mode() & os.ModeCharDevice) == 0 { fmt.Println("data is bei…

GO言語のメソッドについて

GO言語のメッソドは一見関数に似てますが……関数名の前に型を指定するトコがあります。 これにより、特定の型等々に付随する処理を書き下す事が可能です。 実際のところ package main import "fmt" type MyType struct { num int body []byte } func (mt *MyT…

構造体型の初期化方法

Go言語の構造体型は変数を意味合いレベルでカタマリにできるもので……なんだかクラスに似ています。 今回はこれの初期化方法について。 実際のところ MyTypeというint型と[]byte型をもつ構造体を定義し、 一個毎にデータを突っ込む方法 まとめて入れる方法(…

for文におけるrange節について

日本語や中国語も含めたマルチバイト文字もよろしくパースしてくれます UTF-8でサポートしてる必要があるので、ヒエログリフとかは駄目です。 package main import "fmt" func main() { for pos, char := range "これ不错one까요?" { fmt.Printf("character …

deferでリソースの閉じ忘れを防止する

前回の事例でもちょっと触れたdeferについて。 これは例外の地獄ネストを回避するための素敵な機能です。 実際のところ 一時ファイルを使う場合の事例は以下の通り。 import ( "io/ioutil" ) func Something () { file, _ := ioutil.TempFile(os.TempDir(), …

【読書メモ】セルフビルドの世界: 家やまちは自分で作る

セルフビルドの世界: 家やまちは自分で作る (ちくま文庫)作者: 石山修武,中里和人出版社/メーカー: 筑摩書房発売日: 2017/04/06メディア: 文庫この商品を含むブログを見るタイトルにある「セルフビルド」という言葉を知りませんでした。 オビの文言から建築…

io.ioutilを使って一時ファイルをつくる

ツールを作る際、何かと必要な一時ファイル。 GO言語では、io.ioutilを使ってつくる事ができます。 実際のところ 一時ファイルを作る場合はioutil.TempFileを使います ioutil - The Go Programming Language公式サンプルを元に、一通りの挙動をするスクリプ…

if構文の中だけで通用する変数を別途設定できる

GO言語ではif文の中だけで通用する変数を別途設定できます。 実際のところ 公式サンプルから。 指定数分、乗数を掛けるが最後の引数を突破した場合はそれに従う……みたいな ある種フィルターめいた関数は以下の通り。 package main import ( "fmt" "math" ) f…

Bash環境において"$_"は最後にマッチした変数を拾う

Bash環境において"$_"は最後にマッチした変数を拾います。 実際のところ 以下のようなコマンドを叩いたとします。 $ mv ~/tmp/hoge /Users/shuzo_kino/dev/src/ $ cd $_この時、"$_"がマッチするのはどっちでしょうか? ……正解は後者。 これならmvした後に移…

testingパッケージの"Example~"記法だと実行例をドキュメントに記載できる

testingパッケージの"Example~"記法だと実行例をドキュメントに記載できます。 ユーザが頻繁に利用するタイプの関数なら、付けておくと親切で良いかと思います。 実際のところ 実行対象の内容は前回のと同じです。 func ExampleSomething() { fmt.Println(So…