プログラミング

JenkinsのSlaveノードの冗長化を考えてみた

Jenkinsを構築しているんですが、障害対策を検討してみたお話です。自分ところで使ってるJenkinsはそれほどクリティカルではないにせよ、Jenkinsのノードが落ちてしまったりするとリカバリがなかなか大変なので障害対策をしておきたかったわけです。Masterに…

【プログラミング】codewarsがすんごくいい教材だった

今日久々にcodewarsでJSの問題にチャレンジしたら、やっぱり腕が鈍ってたよね しばらくは毎日一問でもやらないとダメだわ。— Yuki Sato (@yuki_sat) October 1, 2018 codewarsはプログラミングの腕を鍛えるのにめちゃくちゃオススメです! ブートキャンプで…

【beeline】Required field 'client_protocol' is unset!

beelineでHadoopにつなごうとしたらこんなエラーがでて困った。 18/10/10 15:59:41 [main]: ERROR jdbc.HiveConnection: Error opening session org.apache.thrift.TApplicationException: Required field 'client_protocol' is unset! Struct:TOpenSessionR…

「HTMLとCSSで基礎から学ぶJavaScript」を読んでみた

HTMLとCSSで基礎から学ぶJavaScript作者: 園田誠出版社/メーカー: 秀和システム発売日: 2011/09/20メディア: 単行本購入: 3人 クリック: 9回この商品を含むブログ (5件) を見るしばらく前に読んだので更新しておく。Javascriptを学びたくて買ってみました。…

「いちばんよくわかるHTML5&CSS3デザインきちんと入門」を読んでみた

いちばんよくわかるHTML5&CSS3デザインきちんと入門 (Design&IDEA)作者: 狩野祐東出版社/メーカー: SBクリエイティブ発売日: 2016/10/27メディア: 単行本この商品を含むブログ (1件) を見るこんな本を読んでみました。仕事では使わないのですが、やっぱりWeb…

【Solidity】CryptoZombiesはブロックチェーンの勉強にむちゃくちゃいい教材だ!【Blockchain】

cryptozombies.io#CryptoZombies のレッスン6が完了!レベル3.0のクリプトゾンビ'The Phantom of Web3'をゲットしたよ!ゾンビ軍団が大きくなってきた! https://t.co/C2ZHxq6Hs6— suganoo@SESで満足してるインフラエンジニア (@suganoo) 2018年9月20日ここ…

【メモ】sshd_configの修正は気をつけろ!最悪ログインできなくなる。

またアホなことやっちまった。。。sshd_configをいじってたら、ログインできなくなっちまいました。誰かが同じ轍をふまないように、自分のアホ操作をさらしておきます。はぁー、EC2インスタンスだったし、デプロイもすぐできるようにしてたのがせめてもの救…

【Solidity】msg.senderってなに?

solidityを勉強してると、実行を自分のオーナー(?)に限定にするためにこんな書き方をすることがあります。 require(msg.sender == owner) このmsg.senderは自分で定義してるわけではないので、最初のうちはどっからこれは来てるんだ???と戸惑います。 調…

【Blockchain】【Ethereum】【メモ】Ethereumの情報メモ

※随時更新予定(たぶん。。。) Ethereumホワイトペーパー ここのリポジトリを漁ればだいたいのものは入手できそう。 github.com Tutorial 日本語の説明 FinTechコラム | NTTデータ先端技術株式会社 CryptoZombie わかりやすい。けっこう楽しい。 cryptozombie…

【Golang】userパッケージを使ってみる

userパッケージを使ってみました。user - The Go Programming Language package main import ( "fmt" "os/user" ) func main() { user, err := user.Current() if err != nil { panic(err) } fmt.Println("User.Name : " + user.Name) fmt.Println("User.Uid…

【シェルスクリプト】visudoでスクリプトから/etc/sudoersを編集する。

あるユーザー(foobar)ユーザーを作ったからsudo権限をつけたい。 それをスクリプトから実行したい。としたとき、どうすればいいか?ちょっと悩みました。/etc/sudoersは直接編集できないし。。。 visudo でなにかしらのインプットはできない感じだし。そした…

【Golang】runtimeを調べてみた

Go言語のruntimeはOSやプロセスの情報を得ることができます。 runtime - The Go Programming Language CPU情報はDeprecatedになってしまったようですね。下記のサンプルコードをもとにちょっと自分でも書いてみました。 golangcode.com package main import …

ブロックチェーンプログラミングで調べておきたいサイトまとめ

ざっとピックアップ。 mediumが多く見つけられたのが意外だった。あとでしっかり読んでみようっと。medium.commedium.commedium.comdavenash.comjeiwan.ccmedium.commedium.comblockgeeks.com

【Ansible】ansible-playbookのオプション調べてみた

ちょっと自分のメモがてらansbileのオプションを書き留めておきます。それぞれのファイルの正式な書き方や説明は省略します。 よく使う実行コマンド ansibleコマンド 設定ファイルなど playbookファイル hostsファイル オプション -i INVENTORY -k, --ask-pa…

【Golang】tmpファイルを扱う

Golangにはtempとしてのファイル操作関数があるんですね。便利ですね。 あまり使う用途ないかもしれませんが、パッと見関数で何やってるかわかって可読性がちょっとよくなるかもしれません。 サンプルコード ポイント ioutil.TempFile ioutil.TempDir os.Tem…

【Golang】文字列数字をソートする

string型数字のスライスを小さい順にソートする方法です。例えば、"2", "1", "11" があった場合にそのままソートしようとすると文字列ソートになってしまいますから、下記のような順序になりますね。 "1" "11" "2""11"が最後に来るべきですよね。 サンプルコ…

【Python】TypeError: f() takes exactly 1 arguments (2 given)

エラーを調査してましたら、うっかり紛らわしいケースが見つかりました。関数を実行するときに引数の数が正しくないと、タイトルのようなエラーがでます。 例1 ためしに、引数が正しい処理と正しくない処理を実行してみます。 test.py def printNum(a, b): p…

【Python】IndentationError: expected an indented block

うっかりしてるとこんなエラーがでることがあります。期待したインデントがないよ!ってことです。 例1 test.py def printStr(text): print(text) # <--インデントなし printStr("hogehoge") 実行結果 File "test.py", line 3 print(text) ^ IndentationErro…

(俺は)まだシェルスクリプトでこんな初歩的なミスしてんの!?

シェルスクリプトで初歩的なミスをしてました。それに気づくまでに半日くらいかかってしまい すげー自己嫌悪でガッカリです。同じ轍を踏まないようにブログに書いておきます。 クイズ 下記のシェルスクリプトはエラーになりますが なんでだかわかりますか? …

Goで基礎的なwebアプリの学習

Goと言えば処理速度が速いことにメリットがあります。最近のWebサイトもGoで作られる話もよく聞きますし、 Goのwebフレームワークもいろいろ出てきています。Gin、goji、matini、beego....いろいろありますね。 フレームワークを使う前に単純にwebプログラミ…

【Go】配列の途中までのポインタは取れない(cannot take the address of ...)

文字列を[]byteにして、途中までの配列について ポインタと取りたいと思ってました。実際やってみたところエラーになった。 test_str := "aaabbbccc" t_b := []byte(test_str) fmt.Println(&t_b[0:5]) こんなエラーがでる cannot take the address of t_b[0:…

Goでトークナイズ処理してみる。

Goのtext/scannerを使うと、トークナイズ処理ができるらしい。やりたいことは単純で スペースに区切られたログをタブ区切りにしたい。 一回の読み込みでスペース区切りしてみたい。(→なのでトークナイザを使う) ただ少し難点があって "aaa bbb ccc" [2018-04…

【python】組み込み関数open()でTypeError: an integer is required

open()でファイルを読み込もうとしたら こんなエラーがでた。 file = "zzz_test.txt" with open(file, "r", "utf-8") as f_r: print f_r.readline() Traceback (most recent call last): File "zzz_opentest.py", line 3, in <module> with open(file, "r", "utf-8")</module>…

echo でバックスペース文字を出力するオプション

たまにjsonの中身に\nが入ってて 「なんでこんなの入ってるのかなー?邪魔だなー」と思ってました。 わざわざ取り除くのがめんどうだなーと削除してました。例えばAWSのSQSメッセージを見てそのままechoで出力しようとすると \nが入ってて適切に出力されず、…

シェルコマンドのオプションの意味ならこれが便利!

シェルのコマンド理解してますか?僕はうろ覚えでやってます。 昔こうやってた、で覚えて今はそのまま何も考えずに そのオプションをつけてコマンド実行とかやってます。 最近になるとman で調べるのもおっくうで。。。でもこんなんではダメエンジニアになっ…

泥臭いアクセスアップのコツが参考になった

株本さんと言うStockSun株式会社を経営してらっしゃる方のブログを たまたま見ていたらこんな記事があった。ss-kabumoto.hatenablog.comこういう泥臭い手法すごく好きです。すごく参考になったので貼り付けておく。

シェルで最後に改行の無いファイルを読むと最後の行は読み飛ばされる

たまーにあるんだけど windowsで作ったファイルをlinuxで読み込むと BOMが入ったり、末尾に改行がなかったりする。その末尾の改行がないファイルを読み込むと 最後の行が読み飛ばされることがあった。気づくまですげーめんどくさかった。。。 まあ解決方法は…

curl でURLのファイル存在確認をするには

これでOK curl -LI http://google.com/ # いろいろ返ってきますがリクエストの結果が返ってきます HTTP/1.1 200 OK Date: Tue, 10 Jul 2018 07:39:16 GMT Expires: -1 Cache-Control: private, max-age=0 Content-Type: text/html; charset=ISO-8859-1 P3P: …

正規表現を確認するのに便利ツール

正規表現を確かめるのに このサイトは便利だった。regex101.com ログをパースするとかけっこう悩むんですよね。 他にも探してみるといろいろありました。 regexper.com qiita.com regex-testdrive.comやっぱ自分は最初のサイトの方が使いやすいかな。 詳説 …

シェルスクリプト内で計算処理したい

シェルスクリプトでちょっとした計算したい時のメモ いくつか方法はありますが、下記が簡単二重カッコをつけるとできる。 XXX="90" YYY=$((${XXX}+10)) echo ${YYY} # <-- 100 他にもexpr でもできるけど 掛け算はダブルクオート("*") つけないとだめとか制…