普段コードを書く時にリーダブルなコードを書く時に気をつけていることです。
第1回目はコンテキストを作るでした
第2回目は
早めにパターンを潰す
Read on →なんらかの条件で強制的にスマートフォンのviewを使いたい時。 アプリのwebviewとか?
1 2 3 4 5 6 7 |
|
前回の続編です。
Go言語を使ってローカルマシンに簡易botを作ってSlackに投稿
botを使ったtodo機能をslackに付与するべくgoのコードを書いてみました。
todo コマンド
という感じでつぶやくと、
チャンネル毎にtodoリストが管理できるようにしたいと思います。
dbがなくても動くようにファイルに保存します。
操作 | コマンド |
---|---|
追加 | add 追加したいテキスト |
削除 | del 削除したいテキスト |
一覧 | list |
全削除 | clear |
こんな感じで動きます。
便利そうですね!
Read on →条件に応じて文言を変えたい場合があると思います。
例えば大人と子供で文言を変えたい場合とかですかね。
ログインユーザが大人の場合は大人料金と表示し、子供の場合は子供料金と表示するようにします。
1 2 3 4 5 |
|
これが一箇所ならいいですが、たくさん出現するとつらいですね。
helperにまとめたりするのでしょうか。
こういった文言だけのif文分岐がviewに大量に出現するとコード量も増え非常に見ずらく、またhelperに乱立してしまうのは避けたいですね。
そこで自動でi18nの読み込み先を条件に応じて読み替えたいと思います
ついでにjpmobile使用してviewをpcとスマフォで切り替えている場合に
lazy lookup記法時にスマフォページでsmart_phoneがついているlocaleを探してしまうのを防ぎます。
同一ドメインなんだけどホスト名が違うシステムがあり、WEBサーバーからApiサーバーへjsonを取得するべくgetリクエストを投げる。
その際にWEBサーバーでログイン時に発行されたクッキーをリクエストに付与してapiサーバーではそのクッキーからユーザを特定するような処理が必要になった。
FaradayとHttpartyでクッキーを付与する方法を調べた。
Read on →Goを勉強がてら使いながら簡易slackbotを作ってみました。
slackにデフォルトで用意されているslackbotってお願いしますをキーに登録すると、「お願いします]
とか「お願いします。」(句読点入り)は反応してくれるけど。 「よろしくお願いします。」みたいに単語をつなげると反応してくれない。
単純に単語が含まれるかだけで反応してくれればいいのに・・・
ということもありお手製slackbotをつくってみました。
自分のPCでプログラムを動かし、slackで投稿があった際にはOutgoing WebHooksで投稿内容を取得してBotとして返信したいと思います。
slack → ローカルmacのbot → slack
の流れです。
Read on →普段はほぼモノシリックなサービスしか開発していないんだけど、去年の暮れぐらいからちょくちょく関わらせている案件がマイクロサービスで、新しい人が入るということで構築手順のまとめがてらVagrant + Itamaeで環境構築してみた。
複数サーバーインスタンスを立ち上げて、各サーバーから一つのmysqlに接続できたらいいな。 (この構成ならdockerでやれという話もあるけど。先にvagrantを勉強してみたかったので)
とりあえず192.168.55.55で接続可能なmysqlのvagrant(なんていうんだろう。dockerだとコンテナに相当するやつ)を作成してみます。
Read on →Axlsxでセルの内容を縦書きにする方法がわかったので日記に記します。
セルに角度を付ける方法は見つかったんですが、縦書きにする方法が全然見つからずかなりはまりました。