goaで指定するホスト名はRFC1035に準拠させること

goaのコード読んでて気づいたのでメモ。 DSLのHost APIが想定しているホスト名を指定するためのDSL(func)で、以下のように実装されている。 // Regular expression used to validate RFC1035 hostnames*/ var hostnameRegex = regexp.MustCompile(`^[[:alnum…

git-configのConditional includesでユーザ情報を切り替える

会社のPCで、githubからcloneしてきたリポジトリには、個人のメールアドレスを使用するように設定するんだけど、たまに設定ミスってて会社のメールアドレスでコミットすることがある。別に弊害はないんだけど、あまりうれしくない。 git 2.13 から提供された…

VS CodeのMarketplaceでコードスニペットを公開した

以前作ってgistに置いていたものをマーケットプレイスに公開した。 goa snippets - Visual Studio Marketplace VSCodeのサイドメニューから、goaで検索したらちゃんと出てくるから! こういうことができる。 今対応してるのは、以下のDSL。 API APIKeySecuri…

umeda.go #2 で発表してきた

書くのが遅くなったけど、7/7に大阪のGoの勉強会に参加&発表してきた。 Goの時刻に関するテスト from Kentaro Kawano www.slideshare.net 発表内容の経緯 時刻のテストでどこまでできるか、どういう選択肢があるのかというところを過去に調べていたので、そ…

Go言語を修正してソースからビルドする

Go自体に手を入れたいということがあって、ソースからビルドしてみた。 Goのソースコードを入手 公式のサイトから手に入る。開発中のものが欲しい場合にはgithubから取得する。 $ cd /tmp $ wget https://storage.googleapis.com/golang/go1.8.3.src.tar.gz …

goaのDSLのAttributeについて

スニペットづくりのためにコード読んでいて気づいたのでメモ。 v1の方。 Attributeとは AttributeはView, Type, Attribute, Attributesの中で使える関数で、属性を指定するのに使用する。nested attributeってのがあるらしく、Attributeの中でAttributeが使…

VSCode用のgoaのコードスニペットを作ってみた

昨日行われたgoa勉強会 in 六本木一丁目 - connpassに参加するついでに、 以前作っていたVSCode用のgoaのコードスニペットの紹介を飛び込みLTで行ってきた。 資料 LTの資料はこちら。 goaのdesignをラクに書く コードスニペットはこちら。 vscode goa snippe…

go get で permission denied が発生する

goのバージョンアップが上手くできてなかったので発生した。 事象 go get でパッケージをインストールしようとすると、以下のようなエラーが起きる。 $ go get -u github.com/kawaken/chatwork-cli go install runtime/internal/atomic: open /usr/local/go/…

slackのstatusを更新するやつを利用してみた

こちらの記事を読んで早速試してみた。 GoogleカレンダーとSlackステータスをワンクリックで連携できるアプリをGoogle Apps Scriptで書いた - 詩と創作・思索のひろば 基本的にはそのまま使えるけど、少し修正した。 GASを使ってSlackと連携するためのやり方…

読んだ: Java本格入門 ~モダンスタイルによる基礎からオブジェクト指向・実用ライブラリまで

最近Java をやることになったが、久しぶりなので改めて学習しようと思い、読んでみた。 Java本格入門 ~モダンスタイルによる基礎からオブジェクト指向・実用ライブラリまで作者: 谷本心,阪本雄一郎,岡田拓也,秋葉誠,村田賢一郎,アクロクエストテクノロジー株…

読んだ: みんなのGo

かいつまんで読んでたやつを改めてちゃんと読んだ。 みんなのGo言語【現場で使える実践テクニック】作者: 松木雅幸,mattn,藤原俊一郎,中島大一,牧大輔,鈴木健太,稲葉貴洋出版社/メーカー: 技術評論社発売日: 2016/09/09メディア: 大型本この商品を含むブログ…

読んだ: スタンフォード式最高の睡眠

最近、眠りが浅いらしく夜中に起きてそのまま眠れないということが度々ある。そんな時に店頭で見かけたので買ってみた。 スタンフォード式 最高の睡眠作者: 西野精治出版社/メーカー: サンマーク出版発売日: 2017/02/28メディア: 単行本(ソフトカバー)この…

Goでプログラミング未経験の新入社員の研修をやった

今年の6月に配属されてそれから10ヶ月、3月末まで新入社員の研修を行った。 新入社員(以下Aさん)はプログラミング未経験ということで、どんな言語で研修を進めるか悩んが、これからチームとしてはGoでやって行こうという状況だったので、Goで研修を行うこ…

花粉症の薬かれこれ1年くらい飲んでる

薬に頼らずなんとかがんばろうとしていた時もあったけど、薬飲みだすとなんかそういう抵抗がバカらしくなった。 花粉症で薬を飲まない人は、つらいつらいと嘆いてばかりではなく、さっさと病院行こう。 自分は皮膚のアレルギーの関係もあってもう丸1年くらい…

読んだ: 証明と論理に強くなる ~論理式の読み方から,ゲーデルの門前まで~

ツイッターで見かけて気になったので読んだ。 証明と論理に強くなる ~論理式の読み方から、ゲーデルの門前まで~ (知の扉)作者: 小島寛之出版社/メーカー: 技術評論社発売日: 2017/01/11メディア: 単行本(ソフトカバー)この商品を含むブログ (2件) を見る 1…

apexでAWSのprofileの指定

apexを使ってデプロイするときに、AWSのprofileを切り替えたい。 オプションを使う --profile を使う。 apex --profile=another deploy func たまに切り替えるならこれで良いと思う。 project.json に指定する profileという項目で設定できる。 { "name": "l…

swagger.json のルーティングをCLIで確認する

goaを使ってAPIのデザインをしているときに、ルーティングの確認がしたくなる。 ikawahaさんの、goa tips : swagger-ui を使って手っ取り早く API を試す - 押してダメならふて寝しろ にあるように、swagger-ui用のルーティングを使うことで確認ができるのだ…

作業手順書を書くときに気をつけたいこと

最近社内で手順書をレビューしてて気になったことがあったので、書いておく。 作業の目的を明確にする まず、なんのための作業なのか明確にしておく必要がある。例えば、 管理者を追加したい データをクリーニングしたい リリース作業したい など作業の目的…

phaserを使ってクソゲー作った

この前、社内のLT交流会があったので、その発表用にちょっとしたゲームを作ってみた。 iPhoneとパソコンで連携するウェブゲーム プレーヤーはiPhoneをライトセーバーのようなものとして扱う。 iPhoneを左右に振ると、パソコン上のライトセーバーのようなもの…

goaのVSCode用のスニペット書いてる

goaで設計するとして、ResourceやMediaTypeとかを地道に書くのは正直めんどくさい。 なので、少しでもラクするためにコードスニペットを書いている。まだ書き始め。 vscode goa snippets · GitHub ざっくりとしたテンプレート的な部分と、細かく調整が必要そ…

Angular入門 6日目

社内ツールをバックエンドをGo(goa)で、フロントエンドをAngularで作ることにした。 6日目。 今回も少しだけ作業した。 やったこと 通知周りを表示 bulmaの通知用のCSSがあるので、それを使った部分をComponentとして独立させてみた。 通知用と本文のCompone…

Angular入門 5日目

社内ツールをバックエンドをGo(goa)で、フロントエンドをAngularで作ることにした。 5日目。 ちょっと忙しくてあまり時間が取れなかった。 金曜日にやったこと バリデーション inputタグにpatternという属性を指定すると良いみたい。ngModelでバインディング…

Angular入門 4日目

社内ツールをバックエンドをGo(goa)で、フロントエンドをAngularで作ることにした。 4日目。 今日やったこと ルーティング そもそもルーティングの設計がおかしかったのと、謎の思い込みがあって、関係ないところで時間をつぶしていた。 // 抜粋 const appRo…

Angular入門 3日目

社内ツールをバックエンドをGo(goa)で、フロントエンドをAngularで作ることにした。 3日目。 今日やったこと Observerableの対応 PromiseからObserverableに変えたら上手くいってなかった件、単純にデータの取得が間違っていただけだった。 getProjects(): O…

Angular入門 2日目

社内ツールをバックエンドをGo(goa)で、フロントエンドをAngularで作ることにした。 2日目。 今日やったこと 編集画面のフォーム周り モデルとフォームをバインディングする辺りのコードを書いた。 「これが噂に聞いていた双方向バインディングかぁぁぁぁ!…

VSCodeに乗り換えた

Angularをやるにあたって、VimでTypescriptとかの開発用の設定をしないと行けないと思っていたけど、せっかくなので、何度か試しては辞めていたVSCodeを使ってみることにした。 今日でまだ2日目だけど。 VSCodeを以前試して使わなかった理由として、複雑なウ…

Angular入門 1日目

社内ツールをバックエンドをGo(goa)で、フロントエンドをAngularで作ることにした。 今日やったこと angular-cliのインストール とりあえずこれがあれば良いっぽい。 CSSフレームワークの選定 「css フレームワーク」とかでググって、見た感じが良さそうで、…

Goと過ごした1年間

今日で仕事納めだったので、振り返っておく。 今年はGoのコードをたくさん書けた1年間だったと思う。 サービス基盤の一部をGoで開発した 新人研修の主な言語としてGoを教えた 既存のRailsで作ったサイトのリプレースをGoでやった 社内で使うツールをGoで作っ…

Goのhttp.Headerについて

この記事は Go (その3) Advent Calendar 2016 の15日目の記事です。 GoでHTTPのHeaderを扱う際に使用する http.Header は map[string][]string を拡張している。なので、直接キーにヘッダー名を使用して値を操作することができる。 また Get や Set などアク…

続・GoでパスワードなどをPrintfで出力させたくない

前回、GoでパスワードなどをPrintfで出力させたくない - kawaken's blog というのを書いたけど、 その後 GoStringer というインターフェースがあることを知ったので再度試してみた。 fmt.Formatterを実装して%vや%+vをカスタマイズしたり、%3みたいな書式を…