SakuraWi - BLog

WEBエンジニア。聴いたお話をまとめておく倉庫的な。スタックストックスタック!

めぞん一刻を読んだ

友人が読んでてちょいちょいツイートしているのをみかけて、 そういえばこれ名作として名前結構聞くよなーと思って読み始めたらハマってしまって、 マンガワンで一気読みしてしまった。

10/10くらいから読み出して、10日間くらいかー。 15巻分を一気に。

沖縄旅行中も5時まで読んだりしてしまったw

古き良き作品ってのはいつよんでも面白いんだなぁ。 なんか、いいなと思ったのが伏線と、細かい表情とか線と、表現の奥深さ。

天気とか人の感情とかがすごく細かく表現されている。すごい。 漫画アプリでコメントを読みながら読み進めるのがおすすめ

読んだことない人はぜひ。 マンガワンだと1巻は無料で読めます。 https://amzn.to/2NOWYLP

マイル旅

家族旅行のために、急遽4日間ほどおやすみをもらって沖縄にきています。

しばらく沖縄の宮古島ライフがあるんですが、色々と書きたい、と思い書くことに。

家族

やっぱり家族っていいもんです。 とくに、親には感謝してもしきれないなーと思っていて、できるだけ親孝行したいんです。

だから、旅行にはきっと一緒に行ったほうがいいし、一緒に旅行できる時間もどれくらいあるのかわからない。 普段東京にいて会わないし、帰省だとふらっと大学時代の友人に会いに行ったりしてなかなか一緒に食事したいしないんですね。

旅行だと寝るのも食事も一緒なんで、なんだかんだ一緒にいる時間増やせていいなーと

頑張っていく

おやすみって思い切らないと結構取れなくって(自分は) こういうフットワークは軽くしておきたい。

本当に自分がこれだというものが目のまえにきたときに「はい!」って取れないとだめだよな、と。 そのための心準備というか、普段から意識しておく的なことはやっぱ必要だーー。

特に優柔不断気味だとなおさら。

手荷物

手荷物検査で重さに初めて引っかかりましてw 7kgでバックパックだときついよなーと。 かばんパンパン手荷物goがバックパッカーなので、これ封じられるとつらい。 せめて10kg以内じゃないと結構つむ。

減らそうにも減らせないのはどうしようもない。手荷物全部含めてだからなー。 これ急いでる時になったら死んじゃう。

いい時を逃すな

これは自分だけかもしれないんですが、若い時にいくほうがいいなって笑

いろんなものが経験につまれていくとどんどん新しいものを求めてしまう。 自分の中が空っぽの方が、全部染みるので全部最高。 変に大人になったりする前に綺麗なものをみるべし。

そして、いつまでもあるわけじゃないぞ、素晴らしい景色たちは。 ちょっと景観が変わってしまったなーと思う部分もあり。

最後に

旅行好きにはマイル、最強だ。。。 LINE payのポイントでどこでもいけるぞ。。。

LCCのおかげでほんと東南アジアまでなら無双だ。

飲みの場

どーもなんだか2周年らしいです、このブログ


今日はお世話になっている人とお酒をのんでたので、記憶に残ったことを書きます。


会社という組織には独立したい人がいるべき。そしてやめる!やめないで!のせめぎ合い。
会社はいる意味があるべき。
でも早めに失敗はするべき。

人としてどうふるまうか?利害関係なしに。たまたま会ったその人と、人としてどう向き合うな?

会社は鏡であるべき
まっすぐに自分がうつっているべき

その都度その都度の記録

死ぬまでにやりたいことってなんだろうなーと思って、昔書いたメモを読んでいたら結構いろいろ出てきておもしろくって、 じゃあその面白いなって思ったことを残そうと思って記事を書き始めてみた。

最近もういろんなリミットのようなものを感じる。 社会人になってから、お金でとれる選択肢は増えたと思うけど(学生に比べれば、くらいの)「まぁいいや」ということも増えたなぁと思う。 それってもったいないよなーと

なんでもやってみたらいいのに、「えー経験から言うとそれ微妙だよ?」みたいなのも多くなるし、自分自身にかかってくる責任とかいろんな背負うものが増えていって、結果動けません、なんてことがたくさんあってしまうのでは。

最近自分のまわりの40代の人もうーむ、といっている人いるし。

...

気づいたけど社会人になって、人生のスピードがめっちゃくちゃ加速してる感覚。 次気がついたら30歳だろうし、その次は40歳だろう。

今、あ、これやってみてえなって思った感覚とかは、ちょー大事にしないと、やらないままになることだらけになるとおもう。 自分、昔からこれやりたかったなーとか、これ夢っぽくね?ってことは、今すぐに向かわないともう人生のなかで間に合わなくなるんじゃないかって

はじめてのプルリクエストを出してみよう講座

ども、Sakurawiです。

そういえば、プルリクエストって初めて出す時めちゃくちゃ怖くないですか?

そんなあなたにこれくらい書いておけばひとまず、おーけーでしょう!ということを書いておきます。

これだけは書いとけ!

プルリクエストを出す時は、これだけは書いておきましょう。

  • 目的
  • 内容

目的はなぜこのプルリクエストを出すのか。コードの変更する目的は何かを読み手に伝わるようにしておきましょう! もちろん、わかりやすいコードを書いて、それだけで伝わるのがベストですが、そんなに簡単にはいきませんよね。 レビュワーがさっとみて目的を把握してコードを読める状態を作れるといいかなと思います。

内容は、ざっくりどこをどう変更したのかを書きます。 メソッドを追加、テストを追加、などなど書くケースが多いです。

出しちゃえ、出しちゃえ

ぶっちゃけマージしなければ、下書き保存のようなものです。怖くないです。 出してみてから、レビューされて学ぶことも多いと思います。 まだWIP(途中)の状態からPRを出すな、という人もいますが、勉強中であれば、それでいいと思います。 レビューはまだでいいですよーという時は、タイトルに [WIP] などをいれておけばいいでしょう。

最初はビビリがちですが、恐れることはありません! やってみましょう。

【VScode】ショートカットで相対パス relative pathをコピれるようにした

まずはこれをプラグインでいれる。

GitHub - enochcheung/copy-relative-path: A VS Code extension for copying relative path of the active file

コード > 基本設定 > キーボードショートカット

f:id:Saku-Saku:20180903191708p:plain で、ここの次を開いてのファイルを開いて、間違わないように設定。

  {
    "key": "cmd+.",
    "command": "extension.copyRelativePathOfActiveFile"
  },

僕は、コマンドキーとドットでいけるようにしました。

gitのプルリク出す時とかで解説する時に便利です。 すぐコピレなかったり、絶対パスしかなかったり困っておりました。 が、これでさくさくコピーですね。

[20190111追記]

どうやらVScodeのupdateでプラグインなしでもできるようになった?ようです。 その場合はextension.copyRelativePathOfActiveFileの部分をデフォルトのやつにかえるとうまくいきそうなきがします

Ruby on Railsを使ってtwitterに画像付きtweetをするぞ

wip記事ですが、追記していきます。

Ruby on Rails使って、twitterにガンガン画像をあげてやろう、画像付きtweetをしようという記事です。

Twitter::REST::Request.new(@client, :post, "https://upload.twitter.com/1.1/media/upload.json", command: 'APPEND', media_id: media_id, media_data: file, segment_index: 0).perform

これ、media_dataにしてbase64でデコード済みのものを渡そうとするとエラる。

Twitter::Error::Unauthorized: Could not authenticate you.

きみ、認証できてへんで。なんでや!!

    Twitter::REST::Request.new(@client, :post, "https://upload.twitter.com/1.1/media/upload.json", command: 'APPEND', media_id: media_id, media: file, segment_index: 0).perform

media にして、fileを params[:image]のように直接デコードしないままのものを受け取って投げて見たります。 が。FINALIZEで失敗して以下のエラーが。

Twitter::Error::BadRequest: Segments do not add up to provided total file size.

結局

サーバの方の処理は以下な感じ(まだ整理も何もしてない)

    base_file = Base64.decode64(params[:image])
    file = params[:image]
    init_request = Twitter::REST::Request.new(@client, :post, "https://upload.twitter.com/1.1/media/upload.json", command: 'INIT', total_bytes: base_file.size ,media_type: 'image/jpeg').perform
    media_id = init_request[:media_id]
    Twitter::REST::Request.new(@client, :post, "https://upload.twitter.com/1.1/media/upload.json", command: 'APPEND', media_id: media_id, media: file, segment_index: 0).perform

    Twitter::REST::Request.new(@client, :post, "https://upload.twitter.com/1.1/media/upload.json", command: 'STATUS', media_id: media_id, media: file).perform
    Twitter::REST::Request.new(@client, :post, "https://upload.twitter.com/1.1/media/upload.json", command: 'FINALIZE',media_id: media_id).perform
    Twitter::REST::Request.new(@client, :post, "https://api.twitter.com/1.1/statuses/update.json", status: "test with image", media_ids: media_id).perform

名前ぐっちゃんぐっちゃんですが、デコードしてるファイルでサイズ測ってupするのは、デコードしてないバイナリなデータ。

jsの方はこんなかんじに。

      var imgData = canvas.toDataURL("image/jpeg");
      var data = { "image" : imgData.replace(/^.*,/, '') }

      $.ajax({
        url: "twitter_post",
        type: "POST",
        beforeSend: function(xhr) {xhr.setRequestHeader('X-CSRF-Token', $('meta[name="csrf-token"]').attr('content'))},
        data: data,
  • canvas.toDataURL("image/jpeg");
  • var data = { "image" : imgData.replace(/^.*,/, '') } あたりがハマりそう。 今は一旦動いてるよっていところですが。。。 .replace(/^.*,/, '')で画像の前についてるjpegの指定している文字列とかを消してます。