上のみくにゃんはリリース記念に描きました。やる気の続く限り、maekawaのリリースごとにみくにゃんを描いていこうかと思います。
いつの日からか、TargetにもIAM Roleを指定できるようになっていたのでそれの対応をしました。
cliで実行するときに、aws credentialのprofileを指定して実行できるようにしました。
今回のリリースのメインです。
Amazon ECS Now Supports Time and Event-Based Task Scheduling
spice lifeでは CloudWatch Eventsからecs taskを実行するのに、今まではlambdaを中間層として実行していました。
しかしTime and Event-Based Task Schedulingによって、中間層となるlambda functionが不要となり、直接ecs taskを実行できるようになりました。
今回のリリースで、maekawaからEcsParametersを取り扱えるようになりました。
いつの日からか、Kinesisにも対応していたのでmaekawaでも取り扱えるよう対応しました。
InputTransformerとRunCommandPrametersには対応していませんし、今後するつもりもありません。
理由として、まずこの2つの機能をspice lifeで使っていないこと、そして実装が困難であることが理由です。
Golangを初めて触って作成した初めてのcli applicationなので、実装にまだ整理されていない部分があります。その上、言語知識がまだ不足しているので、複雑な構造の型への対応が今の僕には困難です。
なので実装予定はありません。
ただ、もちろんPullRequestを頂けるのならありがたく頂戴しますし、Amazon Wishlistなどの手段で圧を掛けてくだされば実装する気持ちになると思います。
outputをもうちょっとかっこよく(色とか差分とか)できたら1.0.0としてリリースしたいですが、いつになるかは未定です。
@yu_suke1994 あなたとはてなスター、いますぐ設置 https://t.co/sihB5jvGDx
— あそなす (@asonas) 2017年5月17日
ということがあり、つくりました。
Tokyo Middleman Meetup#3 - connpass というイベントを開催したのですが、そこでのLTでlive cordingをして、日曜から清書してできあがり、という経緯があったりします。
を参考に、トークンを取得してください。
これは例です。詳しくは はてなスターをブログに貼り付ける - はてなスター日記 を読んでください。
activate :hatenastar,
token: 'your token',
uri: 'h2 a',
title: 'h2 a',
container: 'h2',
entry_node: 'section.article'
<head>
のどこかで = hatenastar_tag
を呼び出して完了です。
また、引数でconfig.rbの設定値を上書くこともできます。
= hatenastar_tag(entry_node: 'div.article')
エントリの複数指定、1エントリ内での複数スター表示にまだ対応できていません。pull requestを送ってくれてもいいんですよ
とりあえずスター連打してください。
middlemanでemoji記法 :example:
をemoji画像に置換するmiddleman pluginをつくりました。
あ、middleman v4以降必須です。
絵文字使いたかった、けどunicode emojiの入力ってけっこうしんどい、なのでGitHub風に絵文字を入力したかった。
できるならemojiのproviderも選べるようにしたかった…… そんな感じです。
Gemfileに次の行を追加して、bundle install
します。
gem 'middleman-somemoji'
$ bundle exec somemoji extract --provider=twemoji --destination=./source/images/emoji
このへんは本家 r7kamura/somemoji を見に行ったほうがいいかもしれません。
activate :somemoji,
provider: 'twemoji',
emojis_dir: '/images/emoji'
上のコマンドそのまま実行すると設定はこんな風になります。
あと、asset_hash
を使っているならemoji画像以下はhashを付けないようにしてください。
# こんなふうに
activate :asset_hash, ignore: 'images/twemoji'
:star:
<pre>
や<code>
の中にあるemoji記法も否応なしに<img>
タグに変換してしまうので、これを直したいです。見通しは立ってます。手を動かすだけです。
これ必要かなぁ……
(2017-05-13 10:53 誤字修正)
こちらになります → lupinus.bouquet.blue
やぎにいが一晩でやってくれました。 dark pink color theme by yagi2 · Pull Request #3 · unasuke/mastodon
ALBが頻繁に500を返すので、ログを見たらpumaが起動直後に死んでるのでインスタンスタイプをt2.mediumに上げたら安定しました。
before
after
つらい。
nodeからpostgresへの接続がうまくいっていないのか、Missing access tokenで怒られている。
https://lupinus.bouquet.blue/@unasuke/59
S3のACLはpublicにreadできるはずなのに、何故。
以下、現状(t2.medium)です。
まだログインできません。
最初、いちからterraformで構築しようと思っていたのですが面倒すぎたので r7kamura/mastodon-terraform をforkして作成しました。
追加で作成したリソースは、SESとlog用のS3 bucketとRoute53のzoneやrecordです。
構成は前述のリポジトリと変えている部分はないのでスケールしやすい構成ではあるのですが、スケールすると大変なことになるのでしばらくはおひとりさまインスタンスとして色々いじってみたいと思います。
が、新規アカウント作成できるようにするつもりではあります。
右のDJでした。
はしゃぎすぎて機材のコンセントを踏み抜いてしまったこと、大変申し訳なく思っております。
今回はB2Bなので、僕が流した曲を順に貼っていきます。
unasuke/maekawa: AWS CloudWatch Events client
maekawaは、Golangで書かれたAWS CloudWatch Eventsのcli clientです。Yamlに定義されたRuleとTargetを登録します。
冪等性を持つようになっているので、便利です。
軽く探したのですが、CloudWatch Eventsの操作をするcli toolが見当たらなかったので作りました。
Golangはクロスコンパイルが容易にできる言語です。1つのソースから複数環境に適したバイナリを生成することができます。
手元のmacOSで実行したり、CIサービスで稼動しているLinux上での実行をしたりすることを考えると、クロスプラットフォーム対応は必須でしょう。
Golang向けのaws-sdkがあるので、awsの機能を使用するプログラムが簡単に作成できます。
aws/aws-sdk-go: AWS SDK for the Go programming language.
最大の理由です。
クロスプラットフォームも、aws-sdkも、どちらも僕の慣れているRubyで書くことにしても、同じ利点があります。
ただ、何か静的型付けでコンパイルする言語を学習しておきたいなと思ったので、Golangを選択しました。
隣の席の人に「どんな名前にしたらいいですかね」って聞いたら「maekawaでいいんじゃない」って言われたのでそうしました。
READMEを読んでください。
あとまだ安定してないので実戦投入オススメしないです。直せてプルリク送れるレベルで使ったほうがいいです。
そこそこ安定したらversion 1.0.0にします。
もともと社内で使うために作ったので、そのへんも追々会社のブログに書こうと思います。
ヲチモノ- 【ヘッドホン】Beats 『Solo3 Wireless』 レビューチェック
発売開始はどうやら2016年の9月。なんで今頃になって買ったのかと言うと、発売当初になかった(PRODUCT)RED色がいつの間にかラインナップに追加されていたからです。
(PRODUCT)REDというか赤が好きなので。
音質は僕はどうこう言える耳を持っていないのでなんともですが、今までに使っていたbeatsのヘッドホン(Mixr)と同様に低音がちゃんと出ているように思います。
DJブースでも使ってみましたが、モニターヘッドホンとして支障なく使うことができました。
しっかり押さえつけてくれるので、うがいとかしても外れません。ただやっぱり長時間つけてると耳が痛くなりますね。眼鏡もかけてるし。これは最初からわかってました。
いくら(PRODUCT)REDとはいえ赤すぎでは???????
みつ君がDockerを初めたとのことだったので、Dockerの話をしました。
資料を見てもらえるとわかるかと思いますが、社内での所属が変わりました。 TMIXの開発から離れ、インフラをメインにやっていくことになりました。どこかでちゃんと書きます。
我々福井技術者の集いは、重龍・α改・うなすけの3名で開催致しました。 その主要メンバーの全員が、今年3月をもって福井の地から巣立つことになります。 よって、初期福井技術者の集い運営メンバーの卒業と、 新しい福井技術者の集いの始動を記念してここに"7.5"回を開催致します。 皆様のご参加を、心からお待ちしております。
僕については結構前から福井を離れてはいますが、つまりはそういうことです。コミュニティの引き継ぎが行なわれたわけですね。
「fukuitechを支える技術」 #fukuitech
— うなすけ(ミートアップ) (@yu_suke1994) 2017年2月25日
fukuitech、福井技術者のつどいですが、第2回からUstreamでの配信、Youtubeへの録画の公開をしています。
そして第5回以降は、HDR-CX485とLiveShell 2を用いた Youtube Liveでの配信をしています。
このYoutube Liveでの配信で、それ以前のUstream配信と比較すると、大幅な配信品質の向上ができました。
また個別の発表の録画についても、Ustreamを使用していたころはWebカメラやPCに備え付けのカメラを使用していたのが、 動画撮影に特化したハードウェアを使うことで、高画質、高音質のものが公開できるようになりました。
しかし、これらの機材はfukuitechとして所有されているものではなく、僕個人の機材を持ち出して使用しているにすぎません。
つまり、僕が参加しない回については、配信・録画の質の低下に留まらず、それらが行われないことも考えられます。
福井技術者のつどいの配信関連は、完全に僕個人に依存している状況になっています。
主催に関しては希望すればやってもらうことはできるでしょうが、配信関連に関しては、やる気のみでなく、機材の確保もやってもらうことになるので、 なかなか誰かにお願いすることもできません。
最近は配信機材をかかえての夜行バスでの移動も苦痛になってきました。
これは答えの出ないポエムのようなものですが、この属人化について、なんとかしたいなあ……と思っています。
https://github.com/unasuke/unasukecop
config
以下にrubocopの定義があります。理由もコメントしてあります。
おもむろにGemfile
に次のような行を追加します。
gem 'unasukecop', require: false, group: :test
そしたらbundle install
をして、.rubocop.yml
に次のように書きます。
inherit_gem:
unasukecop:
- "config/rubocop.yml"
# - "config/rails.yml" # railsのCopを使いたい場合コメントを外す
すると僕の好みのrubocop設定がつかえます。誰得ですか。
元ネタです。
onk/onkcop: OnkCop is a RuboCop configration gem.
init
コマンドの移植をしなかったのは、必要性を感じなかったからです。
社内でrubocopを本格的に使っていくことになり、Copを調教するにあたって自分の好みを把握しておくべきかなと思ったので、やりました。
そのためにrubocopのCop定義を全部読みました。気づいたら翌朝になってました。
Cops - RuboCop: The Ruby Linter that Serves and Protects
命名規則に従うならunasukecopだけど語呂悪すぎではrubocop-unasukeとかのほうがいいのではと思っている
— うなすけ(ミートアップ) (@yu_suke1994) 2017年2月13日