プログラミング

速度制限するパッケージ golang.org/x/time/rateについてQiitaに書いてみた

こんにちは suganoo です。ここ最近3月4月とブログをあまり更新してませんでした。というのも「Go言語による並行処理」が勉強になったと以前投稿したのですが、 読んでるだけじゃだめだ!やっぱ写経しないと!っと思ってサンプルコードを写経してたわけで更…

技術書典の本を今更ながら読んでみた

画像は下記から切り取りました 技術書典6こんにちは suganoo です。去る4/14 に技術書典6が開催されてました。 techbookfest.org面白そうだなーと思ってたのですが、子供を連れて行くのはつらいしちょっと遠いなーと思ってたので行きませんでした。その日はT…

「なっとく!アルゴリズム」読んでみた

こんにちは suganooです。しばらく前のことですが、この本読んでみたので書評メモを書いておきます。この本自体はAmazonのセールだったかな? 電子書籍のセールで安かったタイミングがあったので思わず買ってしまいました。その時はプログラミングコンテスト…

LeetCode って知ってました?

こんにちは suganoo です今回はLeetCodeって面白いサイトを見つけたので、そのご紹介です。leetcode.com LeetCode知らなかったっす ちょっと前にTwitterでGoogleやindeedへの転職の話題が上がってて、初任給から年収1000万超えてすげーよなーとか話があがっ…

Go言語でのBasic認証とDigest認証のヒント

久しぶりの投稿でございます。たまたま社内のjiraにAPIでissueを作ろうと思ったのですが、 その前のプロキシーサーバーがDigest認証になってました。はてと困りました。結局はプログラムで解決するのは難しそうなので、直接curlでどうにかしようと思いました…

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とかでボタンポチポチ…