Master of Dagger が良い感じにAACのViewModel連携を解説してくれていた

購入してからだいぶ経ってしまいましたが、積読を消化し始めていて、せっかくなので感想を書いてみます。

Dagger2、なんか書いてると毎回ハマれるライブラリの一つかなあと思ってるところ、夏の技術書典付近でBoothにも出品されていたので購入。技術書典は確かスマブラのオフ会と被って回避した記憶。

本の内容書いてしまうとあれなのでざっくり感想を。

DependencyInjectionとは

Dependency Injectionとはどんなものか、よく翻訳されて「依存性の注入」って言ってるけど、日本語でおk。って人が見ると簡潔に解説してくれています。DIのパターンやら利点、欠点の紹介と感覚で使ってた自分にはありがたい解説が1章目。

Dagger2ってどんなかんじ?

Dagger2とは、からDaggerではこの言葉はこういう意味で使われてますみたいな用語集や、よく書く ModuleやComponent、injectなどをざっくり解説してくれています。また、Androidで開発を始めるための設定方法を一から記載されています。

3章〜8章はDaggerの基本的な機能の解説でした。

Componentの機能解説、使い方、dependency、Moduleの機能解説、使い方。ここまではよく書くので詳しい人も多いと思いますが、6〜8章はあんまり僕は馴染みがなかったです。Android Architecture Componentsでこういうの出てきたなあ・・・。っていうのを感覚で使ってしまっていたので解説があってとても良かったです。

10章~12章はAACのViewModelとDagger連携の解説とても良い!

10~12章はAndroid Architecture ComponentsのViewModelをDaggerに任せる方法の紹介。

これ、Android Architecture ComponentsのGitHubに上がっているサンプルの中のGithubBrowserSampleのコード解説として読むのにとても良い内容でした。個人的にこのサンプルプロジェクトの初見殺し感が強かったのでここ読むだけでも買う価値あったなあと思いました。

13章からのAndroudSupportの話も良かったです。AndroidでDaggerを使うときの問題点やActivityやFragmentへのInjectの話。そういえばいつの間にか置き変わっていたHasAndroidInjectorが出てきていたりです。

最後に

Daggerって改めて学習コスト高いなと思ってしまった。アノテーションをつけてコードを自動生成するだけにハマった時にまじでハマれる。

ただ、この本を読んでDaggerやっぱり良いなと思ったらDaggerを使う、難しい、学習コスト高いと思ったら別のライブラリを検討したり、複雑じゃないければ自前で用意するのも良さそうかなと思いました。ライブラリの検討材料にもなるし、AACのサンプルでポカーンとしてしまった人はコード解説に購入検討しても良いのではないかと思いました。

■Master of Dagger

https://booth.pm/ja/items/1577764

Uperfect 15.6インチ モバイルモニター(UP-1508) が予想以上の高画質で持ち運び便利だった話

先日、Amazon Cyber Monday Sale (アマゾン サイバーマンデーセール )  でタイムセールになっていたモバイルモニターを購入。リモートワーカーならモバイルモニター持ってた方が良いよね!ってことで購入を検討していたところ、セールが始まって、無事やられました。

購入したのは『Uperfect 15.6インチ モバイルモニター(UP-1508) 』。同じサイズで4K対応の物もあったのですが、値段をケチりました。冷静に考えてゲームや映画を見るわけではないので、4Kを持っていてもしょうがない気がしています。( Switchでスマブラはやるかも )

いざ、開封の儀。

開けてすぐにモバイルディスプレイのケースが登場。間違えてケース買ったかな?ってなるやつ。初めからディスプレイにケースが装着されていました。

その他の付属品。HDMIケーブルにUSB Type-Cケーブル、ACアダプタと それ用のUSB-C & USB-A ケーブルが付属。あと、ディスプレイ用の保護フィルム。

とりあえず手持ちのMacbookAir 13インチのサブモニタとして試しに付けてみました。もちろんMacBookAirのディスプレイは綺麗なんだけど、やっぱり15.6インチは大きくて見やですね。これ以上だと持ち運び不便なのでちょうど良い感。

試しにゲームの動画を見たのですが、かなりぬるぬる動いてよかった。流石、ゲームに使用できるとうたっているだけある!動画見るならMacのディスプレイよりこっちだなあと思いました。

もう一つ、Uperfect 15.6インチ モバイルモニターを買う決め手となったのが、ディスプレイ裏にアームを装着できる口があること。

家ではアームを付けて固定、持ち運び時はケースを付けて立たせられるので、使い勝手がとても良い。これで仕事もゲームもアニメ鑑賞も捗るぜ!

ちなみに2019年12月9日時点では、アマゾンで3,000円分のクーポンがあるため、サイバーマンデーセールが終わっても安く購入できるらしい。サイバーマンデーで28,000円くらいだったのであんまり変わらない値段ですね…。

【マクドナルドAdventCalendar 3日目】送別会でマックカードを貰うと想像以上に嬉しい話【2019年】

マクドナルドAdventCalendar2019 3日目?の記事です。

自分は9月末に会社を退職。その後にフリーランスとなったのですが、ありがたいことに開いてもらった送別会で色々な方から物をいただきました。

とはいえ、これはマクドナルドAdventCalendar、もちろん紹介するのはマックカードです。僕は趣味はマクドナルドと言いふらしながら生活をしてきました。フリーランスとなった今、名刺にも趣味マクドナルドと記載しているくらいのマクドナルド好きです。そんな自分が退職となった時に元同僚の方からマックカードをいただきました。

マックカードを貰った時の気持ち

想像以上に嬉しい。そして実用性が半端!ないです。以前会社の先輩の送別会でマックカードを渡したのですが、送った側が気分良くなっているだけで受け取る側の気持ちを全く考えてなかったのでどうなんだろうと思っていたところ、実際に貰うとかなり嬉しい。

マックカードはマクドナルドで利用できる商品券。自分は2週間に1回しか行けない縛りがあるとはいえ、めちゃくちゃ使える商品券でした。いつもはあまり注文しないマックフィズのセット頼もうかな!とか、ナゲットつけちゃおっかな!みたいな事ができるので通常の3倍マクドナルドでのストレスがかからない。

気楽にマクドナルドに行ける最高のツール。それがマックカードでした。

送別会、何か物を贈りたいけど迷っているというそこのあなた!マックカードはいかがでしょうか!

ひとひねりした物もいただいたのが面白かったので紹介。アマゾンギフトカードは贈る側がギフトカードの画像を設定できるようで、マックカードに扮したアマゾンギフトカードをいただきました。ジャンクフードを全く食べない、嫌い、制限しているなどという方に贈り物をする際は、こういうひねり方をするのも有りらしい!

※マクドナルド前提で贈り物の話をしました。

毎週木曜日は100えんハウスレモンが税込み価格100円でお得!

消費税が10%となった今、100円ショップでもついついたくさん物を買った後に消費税痛いな・・・。
と思う時代になってきました。
税抜き価格なら、「いけるじゃん!」と思っても税込み価格を見て、
やっぱやめようとなることが多々あります。

そんな時代に100えんハウスレモンが本当の100円均一になる日が毎週木曜日。
全店舗100円均一となる。

なんといってもこの100円ショップはお菓子、ジュースが豊富!
たまに5個100円では絶対に手に入らない商品なんかも5個100円で売ってくれたりします。

という事で木曜日はレモンでお菓子の買いだめをする。
今日はマイクポップコーンバターしょうゆ味を5つ購入。

土日に作業でもしながらポップコーンを食べるとしよう。

■100えんハウスレモン
浜松は全8店舗

  • レモン入野店
  • レモン浜松さんじの店
  • レモン芳川店
  • レモン鴨江店 ( レモンの日は第二木曜日・第四木曜日 )
  • レモン富塚店
  • レモン萩丘店
  • レモン高丘店
  • レモン浜北店

※ブログ記事は以前書いていたブログから移行したものになります。投稿日は
2016年で当時は消費税8%でしたが、10%になった今も継続中とのことです。

詳しくは公式サイトにて

【マクドナルドAdventCalendar 1日目】今年のグラコロに対しての考察【2019年】

マクドナルド Advent Calendar 2019の1日目の記事です。後日書きますが、最近はマクドナルドを2週間に1回しか食べないという縛りを入れているため、かなりマクドナルドから離れてしまっている感があります。

そんな自分ですが、今年のグラコロはしっかり食べましたので軽く考察です。

今年のグラコロは2種類

今年のグラコロは二種類。『グラコロ』と『ビーフデミグラコロ』。いつも通り安定のグラコロと、2016年に発売された限定グラコロをリニューアルした『ビーフデミチーズグラコロ』。

当然のごとく2つ食べたのですが、今回個人的にはグラコロが美味しかったのでグラコロについて語ります。

今年のグラコロは少し甘め?

若干ふわふわ感が減ったような気もしますが、今年のグラコロです。

安定のソース、キャベツ、グラタンコロッケ、コロッケうえにソースという感じです。バンズはいつも通り、焼いてあるタイプではなく、蒸してあるタイプです。

マクドナルド公式にも書いてあるように、コロッケソースの味にジャンクフード好きを中毒にさせそうなソースが美味しい。そして、僕の感覚ですが、若干バンズが甘くなった気がする。

ソースキャベツはあまり変わらない気がします。

今年のグラコロのCMについて

埋め込みの動画が今年のグラコロのCM動画でございます。

天才だ!!

まず、出だし"今年もそろそろ終わりにしよう。色々あったけど終わりにしよう" これ。これを今年子供を出産した前田敦子と今年結婚した竹達彩奈が歌ってるところよ!なんで歌ってんのとか無しにして、色々妄想が捗るCMである。

あと今年色々あった僕としてはこれ見ただけで泣ける。心が寒くなったらグラコロを食うか!!グラコロに限らず今年のマクドナルドのCMまじで神がかってんだよなあ…。

CD発売まだ??

IE11でサイドバー用にmainタグにpaddingを入れたのに効かない件

IE11だけmainタグにpaddingが効かない、mainタグ内の子要素が軒並み親要素をはみ出してうまく表示されない。( はみ出してるように見えただけでpaddingが効いてないだけでした。 )

しばらくハマったので調べてみた結果メモ。

実現したいイメージ

こんな感じでサイドメニューとメインコンテンツを配置。メインコンテンツのmargin、もしくはpaddingをサイドメニューのwidth分指定したかった。

ChoromeやFirefox、Edgeでも思った通りに表示されているのにIEだけダメ。結果としては、IE11ではmainタグ自体がinlineになっているようで、こいつを以下のようにすれば対処可能のようです。

display: block

ただ、mainタグ自体にスタイルを当てるのはちょっと怖いなと思ったので、mainタグ以下をdivなどでwrapper要素を作った方が良さそうだなと思いました。

MobileActOsaka #12 参加メモ

MobileActOsaka12

12月6日に行われたMobileActOsaka #12 に参加してきました。

MobileActOsakaはフェンリル株式会社 大阪のメンバーが行なっている勉強会で、以前は自分もスタッフ ( 名前だけ ) として参加させていただいてた勉強会です。

せっかくなので浜松から新幹線に乗って行ってきました。大体2時間くらいでいけるので読書してたらほぼワープしてるようなもんですね。

そしてせっかくなのでとったメモをブログに残そうかと思いました。相違などありましたらTwitterもしくはコメントで指摘お願いします🙇‍♂️

fukumotoさん「ハイブリッドアプリの危険な動向」

発表途中で入室したため、序盤聴けてないです。

  • UIWebViewは近々死ぬ
    • WKWebViewを使う
  • Cordova-ios5.x はUIWebView
  • MonacaはCordva-iOS5
  • WKWebViewに差し替えるプラグインがある
  • 他のプラットフォームはやる(play)がAppleはやる(kill)

今回登場したメタルバンド

  • カンニバル・コープス
  • Apocalyptica
  • Manowar

dnjiroさん「C言語アプリ9VAeをDXライブラリでAndroidアプリにした話」

  • 9VAE( きゅうべえ )
  • SVGイラストに動きをつける
  • Xamarinは諦めてDXライブラリで作成
  • メニューとかダイアログがないのでJNIでJava使う
  • ありえないターゲットバージョンを指定するとなぜか64bit対応できる

Property Wrappers入門

  • Property Wrappersとは SeiftUIとかcombineで出てきたアノテーションみたいなやつ
  • Swift5.1以降で動く iOS12以降ならうごく
  • 遅延初期化 late init みたいなものも書ける
  • wrappとvalueで
  • UserDefaults にも使える
  • 禁止事項多数
  • protcol や Extensionで使えない

できるだけソートしないで済むアルゴリズム

  • 標準ライブラリで実装されているsortライブラリ
  • 計算量O(N log N) になっている
  • 上位のk個だけ取り出したい → 配列の要素を取り出したいのに、配列全体をsortするのは無駄じゃない?
  • QuickSelectアルゴリズムを使えばいい
  • 平均計算量は O(N)
  • sortは要素が増えるほど計算時間が増える
  • sortから添字アクセスをすると 7ミリ秒、QuickSelectなら 0.9ミリ秒でできた

Spark AR であそぼう

  • Facebook 製 Spark AR Studio
  • Snowみたいに顔にテクスチャを貼ることができるものを簡単に作れる
  • 顔を振るなどのイベントをつけることができる
  • 今年のフェンリルのクリスマスカードはARコンテンツがついているらしい

Overview of Swiftc

  • オープンソースでコンパイラも見ることができる
  • Swiftコンパイラのだいたいの流れ
    • Parse
      • トークンにパースする
    • AST
    • Sema
    • SILGen
      • SILを生成
      • 2段階
      • コンパイラで一番大きいモジュール
    • SILOptimizer
      • オプションをつけると結果が変わるよ
    • IRGen- LLVM
      • オブジェクトファイルを吐き出す

SwiftからRustを召喚する

  • Rustで書かれた機能をSwiftで実行する
  • RustのFFI機能を利用する
  • RustコードをCコードとしてエクスポート
  • CのコードをSwiftが実行できる
  • Deepdififf
  • Rustめっちゃ早いよ

プログラミング言語(?)を自作した話

  • Github Actionでやりたくなったから自作した
  • 自作アクションでSlackに通知したいときに
  • テキストをJsonに変換可能なActionがあったら便利
  • コンパイラの大体の流れ
    • ソースコードを読み込みトークンに分解
    • トークンから構文解析
    • 構文解析したものからオブジェクトを生成

まとめ

今までスタッフとして参加していたのですが、今回はじめてずっと座った状態でメモを取りながら参加。

Mobileと言いながらも言語にフォーカスしていたり、自分の全く知らない技術、気になっていたけど試したことがないツールや技術の話が聞くことができる。

改めてこの勉強会は面白いなと思いました。次回は2月14日らしいです。

浜松駅から一番近いネットカフェ 快活CLUB 浜松南口駅前店

快活CLUB 浜松南口駅前店漫画コーナー

浜松駅南口からすぐのネットカフェ、浜松駅から一番近いネットカフェ 快活CLUB 浜松南口駅前店へ
行ってきた。

快活CLUB 浜松南口駅前店料金表

ビルの5階が受付のネットカフェ、前々から行ってみたかったのでついに利用ができた。

料金表を見るとわかるが、駅前価格としてはなかなかの値段。
駐車場はないので飲んだ後に帰るのめんどくさいなとか思ったときの利用が考えられそう。

快活CLUB 浜松南口駅前店エレベーター

4、5、6階が快活CLUB。

快活CLUB 浜松南口駅前店エレベーター2

なんとここはレディースルームもありカラオケもありと、
設備が素晴らしい。

ヒトカラは平日は歓迎。
週末、祝日などは二人分料金で利用が可能。
(店員さんに聞きました)

快活CLUB 浜松南口駅前店シャワールーム

シャワー300円、バスタオルなどは貸出ではなく料金が発生するらしい。
ちょっと高くつきそうだな・・・。

快活CLUB 浜松南口駅前店フラットシート

ここのネットカフェはフラットシートの席がたくさんあるので、本当にひと眠りしていくには最高。
快活CLUBのフルフラット席はのびのび寝ることができるので素晴らしい。

快活CLUB 浜松南口駅前店金庫

金庫もめちゃくちゃでかいのがついてました。
たまに小さいな・・・。と思うネットカフェがあるけどこれなら安心。

有楽街はアプレシオのほうが近いのでそっちをおすすめしますが・・・。
こっちのほうが駅が近いので、翌日予定がある人はこっちほうがおすすめかな。