コマンドラインツールでの設定値の優先順(設定ファイル・環境変数・コマンドライン引数)

コマンドラインツールを作る時、プログラムがユーザから値を受ける方法は何通りもあります。 特に代表的なのが設定ファイル・環境変数・コマンドライン引数です。 自分でプログラムを書く場合、これらの値を自分の好きな順番で扱えます。 ただ、自分の好きな順番で扱えるからこそ、何をどのような優先順位で処理すべきか迷うこともあるでしょう。 本記事では、各種値を一般的にはどのように処理していくかを調べていきます。 ...

2019-07-22 · 2 分 · 649 文字 · ayasuda

カレンダー作成問題の解答 Go言語編

アウトプットのネタに困ったらこれ!?Ruby初心者向けのプログラミング問題を集めてみた(全10問) で紹介された問題を解いてみようと思いました。 プログラマー歴1x年目。最近は手癖でプログラムを書いているので、意外にこの手の問題が解けなくなっているかもしれない…… ...

2019-05-06 · 6 分 · 2741 文字 · ayasuda

Go 言語 context パッケージ誕生の背景と使用方法

Go 言語を使って何を書くかといえば、なんだかんだでサーバプログラムを書くことが多いかと思います。 大抵の場合、ハンドラは goroutine で動かすことになります。また、ハンドラの中で goroutine 動かすケースも多々あります。 さて、例えばハンドラ内で外部 API を呼び出したり、マイクロサービスな関連サーバへリクエストをかけたりする際に、 それぞれのリクエストで AccessToken やタイムアウトの規定時間など、共通の値を用いるケースは多々あるかと思います。 また、 goroutine で平行で動かしているリクエストがある時、1つが失敗したら残りのリクエストも全部失敗させたいときなどもあり得るでしょう。 ...

2019-04-15 · 10 分 · 4887 文字 · ayasuda

go doc の使い方・コメントを書いて、ちゃんと読む

Go 言語ではソースコード中にコメントを書くことで自動的に API ドキュメントを生成する方法が最初からサポートされています。 Godoc: documenting Go code でも、 The Go project takes documentation seriously. と書かれているほど、しっかりと練られた文書化ツールが揃っています。 ...

2019-04-12 · 6 分 · 2533 文字 · ayasuda

PlantUML をリアルタイムでプレビューしたい - それ、fswatch でできるよ。

Markdown や PlantUML をリアルタイムで確認したいと誰でも思うものです。 いくつか方法はありますが、MacOS でリアルタイムプレビューを行う一つの方法について簡単にメモして行きましょう。 ...

2019-04-08 · 3 分 · 1380 文字 · ayasuda

ぼくのための Gradle 入門

Ruby な会社から Java な会社に転職したぼく。その前に立ちはだかるのは3つのビルドツールだった。 Java で一番新しいビルドツールは Gradle と聞いたぼくは、早速 Gradle の使い方について調べるのでした。 ...

2018-08-01 · 9 分 · 4332 文字 · ayasuda

アート・オブ・ジョブホッピング・ayasuda エディション

今年もポエムの時間がやって来た この記事は退職者アドベントカレンダーの14日目です。 昨日はえー、忘れちゃったのかな? 仕方ないなぁ。 一昨日は @mizchi さんの エンジニアのベンチャー企業の選び方/働き方/やめ方 - mizchi’s blog でした。 うーん力強い。 今までのアドベントカレンダーは前向きに、未来を向いた記事が多かったですね! なぜ自分が転職したのか、そして何をしていきたいのか、他の方の考えがわかってとても興味深いものでした。 ...

2017-12-24 · 14 分 · 6909 文字 · ayasuda

俺のための Maven 入門

なにもかもを忘れっぽい自分のために、 Apache Maven の入門記事をまとめておこうと思う。 毎度のことだけど、正しい情報は公式サイト読もうね Apache Maven Apache Maven はプロジェクトマネジメントツールで、Project Object Model (POM) というモデルをコンセプトとしている。 Maven を使うことで、プロジェクトのビルドやドキュメンテーションなど様々なことを行うことができる。 ...

2017-12-12 · 5 分 · 2092 文字 · ayasuda

rails new するとできる bin ディレクトリまとめ

Rails の各種コマンドは bin ディレクトリから rails new APP すると出来上がる rails プロジェクトでは、 ルートディレクトリに bin ディレクトリが生成されます。 この中には、サーバを起動したり、テストをしたり、アプリケションを管理する 様々なスクリプトファイルが置かれます。 ...

2017-11-06 · 5 分 · 2271 文字 · ayasuda

1ファイルくらいのスクリプト向け bundler

簡単な ruby のスクリプトでも、ライブラリのバージョン管理をしたい! ruby のパッケージ管理ツールである Bundler はとても便利で、当たり前のように普段使いをしています。 ところで、ちょっとした、ちょうど 1 ファイルくらいの軽量スクリプト書くときに、いちいち Gemfile を書いたりする人はあまりいないでしょう。 軽量のスクリプトなら普通に gem install hogehoge みたいにライブラリをインストールし、 require 'hogehoge' してライブラリを読み込むのが普通でしょう。 でも、たまたまこのスクリプトファイルを共有する時とかに、ライブラリのバージョン差異が出て 地味に 不便なんですよね。 ...

2017-10-20 · 2 分 · 784 文字 · ayasuda