プログラミング

Go言語 channel の使い方を勘違いしてたこと

「Go言語による並行処理」を写経してるんですが、チャネルのところで理解が甘かったところがありました。やってみて、ああそうだったのか!?と気づきました。わかってなかったことは下記の2つ チャネルってgoroutineで使うもの。 そのgoroutineの中でclose…

UdemyのgRPCコースやってた

久しぶりの更新になりました。2月半ばにこんな企画を見つけたのでUdemyやってました。 zine.qiita.comUdemyって年末年始に90%オフセールしたりして安くなるんですが、買った後なにもやらずにそのままにしちゃうんですよね。いわゆる積んdemy。それをこの機会…

【Qiita】Go言語でポリモーフィズムを実装 ~http.HandlerFuncに学ぶ~ #golang

Qiitaに書いてみた。Go言語のポリモーフィズムの実現方法です。qiita.com

とがったことができる人より基本のレベルが高い人 しっかりGo言語を書くために ~"golang.tokyo#21「Goエンジニアの採用」レポート""を読んで~

golang.tokyo#21「Goエンジニアの採用」というイベントがあったそうです。 行ってみたかった。 golangtokyo.connpass.comそのイベントでレポートをアップした方がいましたが、内容がとても良かった。 その中で身を引き締まる内容がありました。 mom0tomo.git…

【Qiita】Go言語でロガー gologgerを作ってみました

Qiitaに書いてみました。Go言語でいいなーと思うロガーが無かったので作ってみた。qiita.comまあそんな使う人いないだろうね。

【Python】TypeError: string indices must be integers, not str

こんにちは suganoo です。Pythonでまた似たようなエラーが出たので備忘として書いておきます。このエラーなんだっけなと基本的なものなのにたまにど忘れしてしまいました。 TypeError: string indices must be integers, not strstringのインデックス型でin…

【Go】Go言語でSQLを実行してみる

こんにちは suganoo です。Go言語からのDB操作を復習したいと思います。「Goプログラミング実践入門」でDBの操作が出ていたので、おさらいをしておきたいなと思ってました。 今回はORMは使いません。それはそれでいつかまた調べて記事にしてみようと思います…

Go言語での定期実行とタイムアウト(Software Design 2019年2月号の復習)

こんにちは suganoo です。今月号のSoftware Design (2019年2月号)に「”速い”コードの書き方」という特集がありました。Go言語についても書かれていたので、おお!っとさっそく読み込んでしまいました。ソフトウェアデザイン 2019年2月号作者: なぎせゆうき,…

「Real World HTTP」はめちゃ勉強になる本でした

こんにちは suganoo です。 「Real World HTTP」を読んでみました。 会社に置いてある本だったのですが、HTTP通信のところについては勉強しておきたいなと前々から考えていたので今回読んでみました。実は以前も読んでみたのですが、1/3くらい読んで難しくな…

【Go】go test でテストしよう

Goでちゃんとテストコードを書こうとようやく重い腰をあげてみました。コーディングしてるとテストコードは後回しにしてしまうんですよね。ちゃんとやってみます。後回しにするの良くないっすね(汗)。。。go testについて調べたことを記事にしてみようと思い…

【Go】templateの基礎的使い方

GoでWebプログラミングを学んでます。今回はtemplateの使い方の紹介です。 基礎的な使い方 まずはソースコードから。 main.go package main import ( "html/template" "net/http" ) func process(w http.ResponseWriter, r *http.Request){ t := template.Mu…

Goのwebhdfsクライアントを修正してみた

HadoopへファイルをGo言語でインポートしたくて、webhdfs経由で入れようとしていました。 そこでGoのクライアントライブラリーを使ってやってみたんだけど、少し苦労したって話です。 Go言語のwebhdfsクライアントってあんまりない。 Go言語でアプリを作って…

【Git】fatal: unable to access SSL connect error

git clone しようとしたらタイトルのようなエラーが出ました。詳しく言うと、go get でgitのソースコードを落としてこようとしたら、なぜかSSL connect error が出ました。 その解消法です。 やったこと go get やったところこんなエラーが出ました。 go get…

【Ethereum】あれ!?Mastering Ethereumが出てる。【Blockchain】

ふとたまたまamazonで本を探してたら、Mastering Etherumが発刊されてますね!Mastering Ethereum: Building Smart Contracts and DApps作者: Andreas M. Antonopoulos,Gavin Wood Ph. D.出版社/メーカー: O'Reilly Media発売日: 2018/12/10メディア: ペーパ…

【Go】Go言語で時間を扱う(pkg/time)機能を"ほぼ"まとめてみた

ファイル名にタイムスタンプを入れたいなと思ってtime パッケージを調べてたんですが、便利な機能が意外とあるなと気づいたのでまとめてみました。ちょくちょく調べることがあるので、この際いっきにまとめてみることにした。自分でも知らない機能があったり…

【Go】Go言語でgzファイルをまとめる

たまたまgzファイルを一つにまとめる(=コンカチする)必要があったのでやってみました。 読み込んだ時にバイナリーで扱ってるんで、そのまま書いてしまえばいいから簡単ですね。 準備 ファイル フォルダ構成 実行スクリプト goのコード os.OpenFile ReadFile…

【Go】multiple-value in single-value context

たまにこんなエラーが出て戸惑いました。 あんまり調べなかったせいか、ググってもよくわからなくて引数かな?とか考えてたら全然違ってました。結論から言うと、返り値が2つなのに1変数しか受取ろうとしてないぞ! っていうエラーでした。アホ過ぎて、よく…

続「Goプログラミング実践入門」の写経がとてもいい勉強になった

サンプルソースを写経していて、どーしても気になるところがあったのでメモしておきます。 blog.suganoo.net(※2018/12/06更新 全然ちがうところ修正していたので更新) 開始ユーザーが表示されない User.Nameって無いよね ここの部分の .User.Name が無いせい…

「Goプログラミング実践入門」の写経がとてもいい勉強になった

先日読んだこの本について内容がよかったので写経に挑戦してます。 blog.suganoo.netやっと9割がた終わったのですが、とてもよかったです。 写経するの実は今回初めてだったのですが、かなり学びになりますね。ところどころ端折ってしまったところも多々ある…

GoのWebフレームワークginの日本語ドキュメントがでたらしい

golang の web フレームワーク gin の日本語ドキュメントを書いたのでよろしくね。 https://t.co/4bwWS7Usja— Sai (@sairoutine) 2018年11月28日Go言語にはRuby on RailsのようにデファクトのWebフレームワークがありません。GoでWebプログラミングをしてて…

文字化けファイルをinodeで消す

探してみたらけっこうやり方あるみたいですね。 でも備忘のため書いておきます。そもそもなんでinode番号指定で消す必要があるのか?ですが、こんなことがありました。 一行一行ファイル名を書いたリストを作る そのリストを読み込む 1行づつ書いてあるファ…

「確かな力が身につくPHP「超」入門」を読んでみた

確かな力が身につくPHP「超」入門 (Informatics & IDEA)作者: 松浦健一郎,司ゆき出版社/メーカー: SBクリエイティブ発売日: 2016/09/27メディア: 単行本この商品を含むブログを見るGoでWebプログラミングを学んでいるんですが、webプログラミングで有名どこ…

【Go】goでhttp.Requestを使ってみる

Goでwebプログラミングを勉強してます。 この本をもとにして写経してます。 suganoo.hatenablog.comhttp.Requestの値は何が取ってこられるかやってみました。URIパスは RequestURIでとってこられるんですね。 httpのrequesthttp - The Go Programming Langua…

【Go】exec.Commandで外部コマンドを実行する

たまたま気になったので調べてみました。ざっくりいうと exec.Command("hoge")で実行コマンドを指定します。 .Run() : 返却値を無視 .Output() : 返却値を取得 .Start() : 完了を待たない .Wait() : 完了を待つ ソースコードは後述の参考Qiitaを参考にしてい…

インフラエンジニアならpythonだよね

「インフラエンジニアならプログラミング知識とかいらないよね?」 「プログラミング苦手だからインフラやろうかな。」たまにこんなことを耳にします。 そんなこと言う人がいるんだな~とちょっと驚きました。たしかにインスタンスはawsとかでボタンポチポチ…

JenkinsのMaster-Slave間のオンライン/オフラインの関係

ちょっとこりゃ知らなかったなあというネタを書いておきます。 前回こんな記事を書きました。 suganoo.hatenablog.com 関連してジョブの切り替えをもう少し知らべてみたところ、1つわかったことがありました。短い言葉で説明がむずかしいのですが、 Slaveノ…

【Golang】Go言語でjsonを扱う

「Goプログラミング実践入門 標準ライブラリでゼロからWebアプリを作る」を読んでいたら、jsonを扱う項目があったので練習がてら自分でも書いてみました。ほかにもやり方はあるようですが、まずはオーソドックスなやり方のencoding/json使ってやってみます。…

centos 7にmysql clientを入れる

mysqlのクライアントがほしかったのでインストールtipsを書いておく。centos 7 からmariadbなんですね。なんだかややこしいなあ。インストールするサーバーにはHadoop関連のコマンドもいれてある。 単純にyum install mariadbをするとこんなエラーが出てしま…

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

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

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

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