taisablog

taisa's engineer blog

スクリーンショット 2019-06-18 18.23.25

投稿日:

-

執筆者:

関連記事

「AIPyハンズオン#1」開催レポート

第1回AIPyハンズオン勉強会を開催したのでその開催レポート AIPy (アイパイ) ハンズオン #1 (2018/04/12 19:30〜) この勉強会について 仕事で機械学習などを活用したいけど何からはじめればよいか分からないような方向けのハンズオン形式の勉強会です。まず初めは 仕事ではじめる機械学習 の「7章 映 画の推薦システムをつくる」をハンズオン形式で行う予定です。みんなで集まって意見を交換したり協力したりしながら一気に機械学習に関する知見を深めていこうというの … 結論から言うと第1回ながら合計8名の方に参加して頂いて、専門ではないけどよく知っている方もいて、想定していた以上にすごくためになる会になった。当日はハンズオンというか輪読会で、しっかりハンズオンがやれるようになるまではまだしばらく時間がかかりそう。 開催動機 去年くらいから機械学習をやろうと思い本を読んだりしつつ、今年は本格的にやって何かしらアウトプットをしようと決めたものの、自分一人では到底無理だということにそうそうに気づいたのがきっかけ。他もそうだけどみんなで集まって話しながらやると学習曲線が一人でやるより圧倒的によいので、皆さんの力を借りながら少しずつ進めていくことにした。 当日の流れ 当日は以下のスケジュールでやった。前座LTがあることで少し和やかに進められたかなと思う。次回以降も同じスケジュールでやっていく予定 19:30- 簡単な趣旨の説明 19:40- 自己紹介 19:50- 前座LT(@tomonari_s 中国深セン渡航レポート) 20:00- ハンズオン開始(担当:@taisa831) 21:30- 終了 21:30- 行ける人だけで懇親会 LT風景 第1回勉強会の題材 「仕事ではじめる機械学習」の第7章の「映画の推薦システムをつくる」を題材にした。この章では前半から後半にかけてどのようなアプローチで映画の推薦システムをつくるかという説明がされ、何から手を付けたらいいの?という自分にとってはとてもよい内容だった。 一人で読んでいるとどのワードが重要なのかすらわからず、軽く読み進めてしまうところやよく読んでもいまいち理解できないところがあったけど、勉強会を通じてコミュニケーションをすることで、いまいち理解できなかったところがクリアになり、ようやく機械学習のとっかかりが分かった気がした。 「仕事ではじめる機械学習」の「映画の推薦システムをつくる」を実践してみる 「仕事ではじめる機械学習」の映画の推薦システムをつくるを実践してみる 本書のソースコートは以下にあがっている。本記事はchap07が対象。 事前準備 サンプルコードを実行できるように、あらかじめ以下をインストールしておく。Pythonは3系を使う想定。 参考:Mac環境へのPython3系インストール jupyter notebook が用意されているから以下からソースの実行をすることができる ホワイトボードを使って解説してもらう また、当日出てきたよく使うワードや考え方を後日まとめて頂けたので、こちらと本を合わせてもう一度見直す。 Topics in aipy the first from Tsugunori Okuda 懇親会 勉強会後は表参道とは思えないビール210円、チューハイ130円という破格の居酒屋である中西で懇親会をした。こんな流れで今後も開催を続けて少しずつレベルをあげていってアウトプットできるところまでもっていきたい。

no image

平成最後にEvernoteの昔のエモい感じのメモ達を供養する

今年、持ってる本をすべてリサイクルに出した。そして今や自分の荷物はほとんどないと言っていいくらい無くなった。情報も整理したくなったのでとりあえずEvernoteに残ってるよくわからないメモ達も消してみた。すると昔悶々としてたんだな〜みたいなメモが見つかった。折角だからそんな昔のエモい感じのメモ達をさらしてから削除する。 SI会社に残らない理由 近い将来移民が大量に入ってくる その頃には課長または部長になっている程度 エンジニアとして対応できるようになってたい 求心力がない 名前だけでかくて組織が時代についていけていない 40代以上の人間がぎりぎり、50代以上の人間は定年を待つばかり 使えない派遣が集まる 会社自体に魅力がない 優秀な人材は入ってこないし出ていく 君がオヤジになる前に 一週間に一本アプリリリース モテル 家を持つリスク 結婚するリスク オヤジ化が加速する 子供にいい思いをさせることはそこまで必要か 狭い家に住んでいた時代も経験していてよいのでは? そのような体験が逆にうらやましかったこともある。 情報量 突き抜けること 保険には入らない 何十年先のことを憂う必要があるのか 気持ち悪い昔からの風習がある 昔の美徳は今の美徳ではない 英語はのりで 君がオヤジになる前に 「君がオヤジになる前に」という本を読んだ時のメモとその時に感じがことが書いてあると思われる 『今はまだ』という呪文 起業時代 今はまだ実力がないから というがその気になれば実は一週間または一ヶ月死ぬ気でやればそれなりに戦える実力がつくのではないか そういう人間に限って本を買って終了ということがほとんど 何年かすればそれなりにできる自分になっていると思い込んでいる SIer時代 同様に人材派遣をするSE業界でも、 今はまだ我慢してやってくれ。 そのうち景気が上向きになるときを待つ 今はまだ動き時でない ではいつなのか? 周囲の人たち、親 今はまだやめとけ とりあえず大手に入っておけ 『今はまだ』と『とりあえず』のダブルパンチ とりあえずといって何十年も経過していくのが目に見えている そしてかぶせるようにサラリーマンは我慢だと 戦わない人が多すぎる Noと言えない日本人ニアルイコール ただNoと言う必要があるのではなく、交渉しよう、戦おう 日本の政治も同様 いいカッコしいはやめよう どうせいいカッコするのであれば我慢はやめよう、戦う姿を見せよう 部下に迷惑がかかる さされそうになったら必死で抵抗するだろう 上司だろうが客であろうが頭が上がらない人であろうと関係ない 交渉しよう 交渉することを楽しもう 恋愛もそう 後からでは遅い、そのとき戦わなくては その為に準備している必要があるだろう また、急に戦場にたたされ先制攻撃を受けてしまったら 一旦保留して戦略を練ろう 体制を整えよう 少しだけでも有利にしよう 常に先制攻撃ができるようにしよう リスクを回避しよう 最悪の事態を避けよう アラームをあげよう 人生の命題 世界中でアプリケーションを作る 世界をアプリケーションを作りしながらまわる 超解釈 変化に対応していく対応力 対応していくしかない 変化は能力のあるひとがやるのさ 他にはないものをつくる もしくは他にあるもののコピーをつくる 無題ノート ふけとか、衰えとか、関係、かいもん、ねー! いずれのメモも平成22年〜26年くらいに書かれたメモだった。 平成最後にこれらのメモ達をここに供養します。

「はじめてのフロントエンド開発」という共著本を出版しました

『React,Angular,Vue.js,React Nativeを使って学ぶ はじめてのフロントエンド開発』という共著本を2018年5月9日に出版しました。 React、Angular、Vue.js、React Nativeを使って学ぶ はじめてのフロントエンド開発 Amazonより 自分はこの中の第3章の環境構築を担当しています。お陰様で現在まで売れ行きは好調ですが、一方で誤植もいくつか見つかっていますので誤植情報についてもこの投稿でお知らせします。また、表紙をパッと見ただけでは分からない本書の内容についてや去年最新JavaScriptフロントエンドをキャッチアップした経緯などを書いていきます。 どんな本か 「どんな本か」については共著者である新井正貴の投稿にまとめられているので確認してみてください。 「はじめてのフロントエンド開発」という本を書きました – massa142’s blog 共著者として参加していた書籍『React,Angular,Vue.js,React Nativeを使って学ぶ はじめてのフロントエンド開発』が、2018/5/9に 技術評論社 さまより発売となりました。 React、Angular、Vue.js、React Nativeそれぞれが、同じサーバの APIを参照し、同様の機能を持ったアプリケーションとして作成します。 どんな本か こんな方におすすめ 書いたきっかけ パンダの由来 サポートリポジトリ 本書の内容について 書籍タイトルは『React,Angular,Vue.js,React Nativeを使って学ぶ はじめてのフロントエンド開発』ですが、タイトルに出てくるワードの他にも『フロントエンドの最新動向』『環境構築』『ES2015』『TypeScript』『Firebase』についても書かれています。 表紙をパット見ただけでは内容が分からないところもあると思うので、本書がどのような内容かを簡単にまとめてみます。 アウトライン Part1:JavaScriptフロントエンドフレームワーク最新動向 第1章:JavaScriptフロントフレームワークの興隆 第2章:SPA、PWA – フロントエンド実装技術の最新トピック Part2:フロントエンドJavaScript開発のための基礎知識と環境構築 第3章:フロントエンドJavaScript開発のための環境構築 第4章:フロントエンドJavaScript開発のための基礎知識 第5章:フロントエンドJavaScript開発のためのサーバ構築 Part3:Slackライクなサンプルで比べて学ぶ React/Angular/Vue.js 第6章:React入門 & 徹底活用 第7章:Angular入門 & 徹底活用 第8章:Vue.js入門 & 徹底活用 Part4:Slackライクなサンプルで学ぶ React Native 第9章:React Native 入門 & 徹底活用 大きな流れ まずPart1で「JavaScriptフロントエンドの最新動向」を解説し、Part2で「環境構築」「ES2015」「TypeScript」「FirebaseによるAPIサーバの構築」などフロントエンド開発の事前準備をします。 Part3、4では「React」「Angular」「Vue.js」「React Native」それぞれの章の最初の入門で基礎知識を解説した後、同一のAPIを利用しSlackライクなサンプルアプリを作ります。それぞれが同一APIを使って同じアプリケーションをつくることでそれぞれの特徴を掴めるような構成になっています。 各Partについて Part 1:JavaScriptフロントエンドフレームワーク最新動向 第1章では「React」「Angular」「Vue.js」「React Native」に関する解説や比較をしています。また本書で扱うフレームワーク/ライブラリ以外(Polymer、Ember.js、Riot.js、Vanilla.js、Native Script、Weex、A-Frame、React VR)についてもそれぞれジャンル分けしながら取り上げて解説しています。 第2章では「SPA」「PWA」に関連する技術的な内容(クライアントサイドルーティング、CSS in JS、コンポーネント指向、SSRとプリレンダリング、バーチャルDOM、MVCとMVPとMVVM、Flux、PWA、Electron など)を取り上げて解説しています。 Part1を読むことで最新のJavaScriptフレームワークの動向を掴みつつ、フロントエンドに関する技術的な面を把握することができると思います。 Part 2:フロントエンドJavaScript開発のための基礎知識と環境構築 第3章では「node.jsのインストール」から「npm」「package.json」「webpack」「IDE(VS Code)」まで、開発に必要な環境構築について取り上げて解説しています。既に環境がある人にとっては飛ばしても良い内容ですが、一方で環境構築周りで躓く人も一定数いると思うので、その場合はこの章を進めていけば開発環境を構築することができます。 第4章では「ES2015」「TypeScript」について解説しています。第5章では「Firebase」を使って以降の章で利用するAPIサーバの立ち上げについて解説しています。 Part 3:Slackライクなサンプルで比べて学ぶ React/Angular/Vue.js、Part 4:Slackライクなサンプルで学ぶ React Native 第6、7、8、9章では、それぞれの章において各フレームワーク/ライブラリへの入門をした後サンプルアプリを作るという流れになります。 本書は(特にPart 3とPart 4)は、ただ読み進めるよりも実際にコードを書いて動かしてみてほしいというのが思いとしてあります。 中には「はじめての」というタイトルの割には敷居が高いと感じる人もいるかもしれませんが、とにかく書いて動かしてみて比較してみてほしいです。 誤植情報 誤植情報については以下のページにまとめていて、随時更新していますので何かあったらTweetしたりissuesにあげたりしてもらえると助かります。 okachijs/jsframeworkbook Contribute to jsframeworkbook development …

PHPの empty, isset, is_null の違いをしっかり理解する

PHPの isset、empty、is_null をしっかり理解して使おうと思い整理してみました。既にこのような記事「PHP isset, empty, is_null の違い早見表」もあるのでここではこれより少し踏み込んだところまで書いてみます。 empty, isset, is_nullの違い早見表 値 if ($var) empty isset is_null $var = 1 true false true false $var = array(1) true false true false $var = “” false true true false $var = “0” false true true false $var = 0 false true true false $var = array() false true true false $var = false false true true false $var = NULL; false true false true $var false true false true まず表ですが、順番を理解しやすい形に変えてみました。下記のように赤と青のグループで分けて考えておくと理解しやすいです。これをみると「if ($var)とempty」、「issetとis_null」が対になっているのがわかります。 感覚的には、if ($var)は値がありそうだなと思うものがtrueになり、emptyも値がなさそうだな思うものがtrueになる感じがします。issetは、何かしら値がセットされてばtrue(つまり値がfalseでも結果はtrue)、is_nullは値がnullであればtrueということになります。 実際の挙動の動作確認についてはPHPUnitを使ってテストしたものをGitHubにあげているので合わせて確認してみてください。https://github.com/taisa831/AimaiPHP empty, isset, is_null の Notice や Error 出力早見表 次に、PHPのerror_reportingをE_ALLにした場合に、indexのない配列にアクセスした場合やオブジェクトが空の変数や関数にアクセスした場合の挙動をまとめてみました。 値 if ($var) empty isset is_null $var = []; …

no image

2020年の抱負

気づけば長年PHPの環境にいましたが、昨年あらたな環境で開発できるようになったのでこれらを軸にビジネスにつなげていきたいと思います。 毎年書いていますが、自分は積んでるエンジンが小さい上に車体も故障気味なので多くのことはできないですが、できる限り工夫してやっていきます。 GolangVueJSReactTypeScriptAWSPython (Flask)執筆ブログ継続 中長期的な話 3~5年スパンで中長期的なことを考えてやりたいこと・やらないことを決めて微調整しながらコツコツやっていますが、昨年環境が変わったこともありあらためて少し考え直しました。 楽しく仕事をする 今がめちゃくちゃ楽しいのでこれを維持したいのが本音です。ビジネスが広がりつつこれを維持しつつ更によくすることに注力します。 良いプロダクト良いメンバー良い技術スタック これが自分の意識する3本柱です。どれがかけてもだめなのでこれらをどうするかを考えて行動します。 生活面 体力の衰え、太りやすさを感じる年齢にもなってきたので昨年末から下記をするようになりました。これらをスモールスタートで継続します。 腕立て・スクワット・プランクランニング家で飲みすぎない家でタバコをなるべく吸わない ブログ書くネタが沢山できて嬉しい限り。そして何より「家内安全」「健康第一」で!