miyasakura’s diary

日記です。

最近読んだ本いくつか感想

大東建託の内幕 ?アパート経営商法?の闇を追う

大東建託の内幕 ?アパート経営商法?の闇を追う

某2階建てで話題になっていたので気になって購入。この会社は不動産クラスタのツイートで酷い書き方されてるところだからどんなものだろうかと。

しかし読んでるだけでイライラしてくるので最後まで読むのがつらかった。

サブリースなんてそもそも悪い話しか聞かないけど本の中身を見る限りイメージより更に酷い。

親に読んどいてもらいたいので次に実家帰るときに持って帰ろう。。

ミクロ経済学入門の入門 (岩波新書)

ミクロ経済学入門の入門 (岩波新書)

ミクロ経済の超導入。大学のときはマクロ経済をとっただけでミクロ経済については基礎も知らなかったので雰囲気くらいはつかみたいなと。

数式を使わずに説明してくれていてさらっと読めて良い本でした。

もう一回くらい読み返してちゃんと頭に入れたい。

OKR(オーケーアール) シリコンバレー式で大胆な目標を達成する方法

OKR(オーケーアール) シリコンバレー式で大胆な目標を達成する方法

少しタイミング遅れてしまったものの話題の本なので読んどかないとなと。

アジャイルとかスクラムとかの開発手法とは違って目標とその達成についての話なので特にエンジニアやプロダクトのチームに限定されないのが会社として取り入れやすくて良さそう。

数ヶ月単位の目標を定めるのでProduct/Market fitしてからじゃなとうまくいかないかもと書いてありましたが、 個人的な課題としてはそもそも自分が作るプロダクトについて Problem/Solution Fit や Product/Market Fit までをどうやるかという部分からなので、OKRがどうとかいうレベルになっていないのが悲しいところ。

バッファロー製ルーターWXR-1901DHP3のv6プラス設定

毎日切断されてインターネットが数分間完全に使えなくなるという症状に悩まされた。

ググりつつ設定変更したらなんとか直った。

IPv6の基本と大事なこと

  • V6プラスはPPPoEの設定は必要ないのでプロバイダからもらったIDなどの入力は不要
  • バッファローがいい感じにやってくれる系は利用しない
    • インターネット@スタートも使わない
    • [V6Plus] Keep-alive is lost. というログと共に定期的に切れる
  • NDプロキシを使う
    • パススルーだと直接インターネットに端末を置いている状態なのでセキュリティ的に非常にあれ

設定

  • 本体背面にあるスイッチを下記のように設定
    • AUTO → MANUAL
    • AP → ROUTER
  • ブラウザの設定画面から
    • 詳細設定→Internet→Internet
    • 詳細設定→Internet→IPv6
      • NDプロキシを使用する

サーバーサイドエンジニアとして最近の雑感

最近はサーバーサイドが得意なフルスタックエンジニアですよ、って言って仕事を受けてるんですが、そんなことをしてるとやはりフロントサイドを書く機会も多くて、この時代のサーバーサイドエンジニアの価値ってなんだろうなぁと改めて思ったので考えたことをメモ。

RubyでもJavaでも何でも良いのですが、普通のWebアプリケーションがやってることって

という流れ。

ところが最近はUIがリッチになものが求められたりしてきているので、どうしてもSPAの流れになってきてるなと。WebじゃないネイティブアプリはそもそもがSPAみたいなものですし。

そうするとサーバーサイドはAPIだけの提供でよくて、更に複数の情報を組み合わせるようなデータの加工処理もクライアントサイド側で扱うほうが多くの場合パフォーマンス面や実装のシンプルさでメリットがあるなと最近フロントをガリガリ書いてて感じました。

そうするとサーバー側はシンプルなCRUDだけ提供していれば十分で、ここに複雑な機能はいりません。となるとmBaaSが提供するような永続化機能で十分だなと。GraphQL が流行っているのも納得で、サーバーサイドの人間とすると最初は呼び出し側が使い方を決めるなんてよくわからんと思ったりもしたんですが、データの保存と取得しか無いようなものであれば確かにクライアントサイドが処理をコントロールできるし、その方がメリットは大きい気がします。

自分が個人で受けていて1人で作っているサービスも結局SPAになって、サーバーサイドでやることほぼなくなってきました。

会計システム(受けてる案件の一つ)なんかはサーバーで処理する部分が多くなるのでサーバーサイドは大事ですが、BtoCのサービスで複雑なロジックが必要とされないようなものについては上記の感じじゃないでしょうか。

となると自分の強みの「サーバーサイドが他の人より多少できますよ」なんてのは大して意味がなくて、市場価値があるサーバーサイドのエンジニアになるには

  1. 複雑な業務システムを設計・開発・マネージメントできる
    • 言語はなんでも良いのでしょうがこういう分野だとJavaとかScalaになるのかも
  2. システム全体としてのパフォーマンスを考えた設計・構築ができる
    • 今であればAWSGCP、Serverless、 mBaaS、Service Worker、Fastlyなどなどこの辺りのワードは理解して適切な選択をしたい
  3. 大規模であったり高パフォーマンスなシステムが作れる
    • これは大企業で求められるレベルというレベル感。となると大企業で経験を積むしかなく、フリーでやってるとなかなかできる機会がないところ
  4. 周辺の技術領域まで手を伸ばす
    • ユーザーの行動分析とか、インフラとか、フロントサイドとかを専門と言えるレベルまでやる
  5. 市場に供給が不足している技術を持つ

あたりでしょうか。

どれも大変そうですが、どれか一つくらいであれば最低限といえば最低限な気はします。いずれにせよコード書けるよ、だけだとサーバーサイドエンジニアは厳しそうです。

サーバーサイドエンジニアとして必要な知識はソフトウェアエンジニアなら誰もが持っていて欲しいものではあるですが、それだけでは価値がなくなりそうな時代かなと。

数年遅れの議論かもしれないですが、クライアントサイドを書く機会が増えてこんなことを思った次第です。

エンジニアリングの能力なんて本当はそこまで重要ではなくて、そもそものサービス志向とか一緒にものづくりをするメンバーとのコミュニケーションとかのが大事という思想ではあるんですが、とはいえエンジニアとしてこれからも生きていくわけではあるので技術面での生存戦略も忘れずにやっていきたい。

Coursera Machine LearningコースWeek 7~9

1月の中旬から始めたコースですがなんとか終わりが見えてきました。

Week7

Support Vector Machine について。昔習った気がするけど全く覚えてないよ。

一連の講義の中で一番わかりづらかったので実際使う時は復習しないとなぁという感じ。

特徴量が少なめの時に使うと良いらしい。

Week8

Unsupervised Learningについて。

K-Means法は大学で習いはしなかったけど研究室とかでよく耳にした手法。

あとはPCAによるDimensionality Deductionについて。

複雑な式の詳細には踏み込まずに概念だけで説明してくれるのですんなり理解できた。

Week9

引き続き教師なし学習の応用について。Videoの量としては一番長い週。

Anomaly DetectionとRecommender Systems。

プログラミング課題としてはこの週が最後ぽい。

Week 7, 8は特に悩まず解けて慣れてきたかと思ったけど、やはりVectorizedな形で複雑な式を実装するのは悩んでしまう。

それでも行列演算には慣れてきたので、成長してはいると思われる。

残りは Week 10とWeek 11で合わせてEstimated Timeは3時間くらい。

なんとか当初の予定の一週間遅れくらいで終わりそうな雰囲気です。

週末に見たアニメとマンガメモ

この週末はかなり疲れが溜まっていた(主に飲み会のせい)ので充電ということで何も考えずに飲み会で勧められたアニメとマンガを見ることに。

アニメはよっぽど好きなマンガがアニメ化されるとかでもない限り基本は見ないんですが、たまに一気見とかは楽しいですね。前はSAOとやらを見た記憶があります。

アニメ3つとマンガを4つほどですがこの勢いで情報を入れると一週間後にはほぼ覚えていなくなるのでメモしておきます。

アニメ:Re:ゼロから始める異世界生活

話題になってたことだけ知ってるので多分面白いんだろうなぁと思いつつ視聴。

中盤の主人公がウザキャラになり始めたあたりは辛かったんですが、その分最後に一通り解決していく流れがカタルシスを得られるので非常に満足度は高かったです。

特に気の利いた感想はないんですが、レムがいちばん人気なのはそりゃそうですよねぇと。

アニメ:ノーゲーム・ノーライフ

超人が無双していく話は嫌いじゃないので楽しめました。無駄にエロを入れてくるのは好みじゃないですが。

個人的にはしりとりの戦いが一番好き。

アニメ:有頂天家族

良い話。最後の方は一気に引き込まれました。矢二郎の活躍とか総一朗や母の思いとか全部泣けました。流石に3つ目となると集中して見れなかったので、もう少しじっくり味わいたかった気がします。

2期もあるみたいなのでそっちも見てみたい。

マンガ:さらば、佳き日

さらば、佳き日1 (it COMICS)

切なくなる恋愛ストーリー。疲れてるタイミングで見たせいなのかこの作者の表現力がすごいのか、他のこれ系の話と比べても胸が苦しくなる場面多数。

高校〜大学あたりの報われない恋って一番自分の琴線に触れる気がします。(この話は最終的には報われて欲しいですが。)

マンガ:世界で一番、俺が〇〇

世界で一番、俺が○○(1) (イブニングコミックス)

一番不幸になった人が願い事を叶うという話。設定へのツッコミは無いことはないですが今のところ面白いので、10巻くらいで綺麗にまとまると良い気がする。

マンガ:アルテ

アルテ 1巻

好きなタイプの話。現代より前の時代設定で女の子が逆境に負けずに頑張る系の話はありがちといえばありがちですが、主人公がとても魅力的。

これ系の話は主人公のステップアップで全く別の人間関係の場所に行くというのもよくあるかと思うんですが、作品としてはそこで話がリセットされて中だるみするのが多い気がするので、個人的にはその場所で頑張り続ける話のが基本的に面白いと思うのでそうあって欲しいなぁ。(その場所に居続けるとネタ切れになりやすいとかはあるんでしょうけれど。。)

Coursera Machine LearningコースWeek 6 (1ヶ月ぶり)

3月入ってから全然できていなかったコースやっと再開できました。これ期日に間に合わなくても1ヶ月も遅れると新しい期日設定して新しく再開できるんですね。

前回まででLinear RegressionとLogistic Regression、Neural Networkを学んできました。

Week 6はそれらを使う時の考え方というところで、ラーニングセットをTrain/Validation/Testに分けたり、Bias/Varianceのトレードオフについてといったところを学びました。

何とかこれ以上遅れさせずに終わらせたい…。

Coursera Machine LearningコースWeek 4〜5

5週目が期限に間に合わず…。土日でやろうと思ってると別の予定が入ると厳しくなりますね。とはいえ間に合わなくてもペナルティは特にない模様。

4、5週目はニューラルネットワークについて。FeedforwardとかBackpropagationとか。

なんか最初の方でforループとか使うよりもVectorizedな形でやると良いぜみたいなのがあったので、課題は基本Vectorizedな形で実装してたんですが、どうやらforループでやるのが普通みたいですね。

4週目の課題で前回のをVectorizeしてみましょうってあってコピペで終わったり、5週目はループOKみたいな事書いてあったり。

forループで実装したほうがイメージも湧きやすいので最初からそうしてればよかったなと。

もうすぐ折り返し地点なので引き続き頑張る。