taisablog

taisa's engineer blog

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

投稿日:

-

執筆者:

関連記事

no image

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

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

PyLadies Tokyo 3周年記念パーティーでLTしてきた

以前PyLadies Tokyo 3周年記念パーティーに参加してLTしてきたのでその参加メモ。基本的にこれから書く内容は以下の投稿とtogatterにまとまっている内容と似た内容になっているけど記録として書きます。 PyLadies Tokyo – 3周年記念パーティ に参加してきた PyLadies Tokyo – 3周年記念パーティ に参加してきた #pyladiestokyo – massa142’s blog PyLadies Tokyo 3周年記念パーティー Togatterまとめ PyLadies Tokyo 3周年記念パーティー PyLadies Tokyoとは? PyLadies Tokyo は,PyLadies の東京支部です。Pythonが好きな女性同士をつなぐために、よりPythonが好きになってもらえるように、活動しています。初心者の人が参加しやすい入門者向けイベントから熟練者がより楽しめるようなちょっと難易度の高いイベント、みんなでワイワイ発表するLT大会など、様々なテーマで毎月イベントを開催しています。どうぞお気軽にご参加下さい。 https://pyladies-tokyo.connpass.com/event/64367/ 普段は女性Onlyだけど今回は3周年記念イベントということで男性枠を設けてくれている。 PyLadies Tokyo – 3周年記念パーティ (2017/10/15 12:20〜) 参加動機 PyLadies Tokyoのメンバーと一緒にPyCon APAC 2017 in Malaysiaへ行って来たのがきっかけ PyCon APAC 2017 in マレーシア 参加レポ LTスライド PyConをきっかけに英語力を身につける New presentation (2017-10-14 21:18:42) 全体的な感想 この日は翌日にサービスローンチを控えているという状況だった為、会社から直行してLT終わって直帰するという非常に残念な状況だった。前半のLTしか聞けなかったけど、それでもLTは全部おもしろくてものすごく楽しめた。(お酒飲めなかったし食事もほとんどできなかったけど)スポンサーのRettyさん、Google Cloud Platformさんありがとうございました。

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 = []; …

PHPによるDBUnit超入門

例えば簡単なWebサービスでMVCのフレームワークを使っていてビジネスロジックを書く用にコントローラとモデルの間にサービス層を追加して開発している場合、コントローラやサービスはモックを駆使しながらテストを書いていくことができます。ただ、例えばフレームワークをバージョンアップしたい、PHPをバージョンアップしたいなどの場合に既存のモデル層に影響がないかをテストで確認したいなんてことがあります。そのような場合には、DBUnitを導入してみてもいいかもしれません。ということで本記事ではPHPによるDBUnitの使い方を書いてみます。 事前情報 今phpunit/dbunitをインストールしようとすると以下の文言が出力されます。詳しくはこちらのissueに書いてありますが、どうもSebastianさんはdbunitのメンテナンスをやめるようです。ただそれを受けてforkしたプロジェクトが出てきているようなので大丈夫かと思います。今回はSebastianさんの純正dbunitを使っています。 Package phpunit/dbunit is abandoned, you should avoid using it. No replacement was suggested また、DBUnitに関する詳しい情報はマニュアルにありますのでご確認ください。https://phpunit.de/manual/6.5/ja/database.html#database.implementing-getdataset 作成したサンプルプロジェクト 今回は、dbunitの確認だけをしたいので、dietcakeのmessage-boardというサンプルプロジェクトを利用しました。今回作成したDBUnit用のサンプルプロジェクトは GitHub からダウンロードして確認できます。 git clone git@github.com:taisa831/phpunit-dbunit-sample.git cd phpunit-dbunit-sample composer install # mysqlサーバを立て`app/config/sql/board.sql`を実行する(SQLは下記に記載しています) # テスト実行 ./vendor/bin/phpunit PHPUnit 7.5.8 by Sebastian Bergmann and contributors. ….. 5 / 5 (100%) Time: 207 ms, Memory: 4.00 MB OK (5 tests, 14 assertions) アプリ用のDDLです。開発用DBとは違うのでboard_dbunitというテーブル名にしています。 — — — Create database — CREATE DATABASE IF NOT EXISTS board_dbunit; GRANT SELECT, INSERT, UPDATE, DELETE ON board.* TO board_root@localhost IDENTIFIED BY ‘board_root’; FLUSH PRIVILEGES; — — Create tables — USE board_dbunit; CREATE TABLE IF NOT EXISTS thread ( id INT UNSIGNED …

AWS Summit Tokyo 2017:Day3 参加レポ

前回に引き続きAWS Summit Tokyo 2017 Day3の参加レポ 基調講演 基調講演会場は相変わらず広くて豪華 昨日に引き続き来た 今日は確かDJ #AWSSummit pic.twitter.com/1ui1017Hla — たいさ (@taisa831) June 1, 2017 オープニング Day3のオープニングはDJだったけど前日の生ライブと比べたらまぁ普通に音楽流してるのとなんら変わらん感じで特に感動はなし AWS Summit Tokyo スペシャルバンドによる演奏でAWS Summit Tokyo 2017 Day2 基調講演がはじまりました!#AWSSummit pic.twitter.com/SMkfuUfRIG — アマゾン ウェブ サービス (@awscloud_jp) May 31, 2017 Amazon.com CTO Werner Vogles オープニングのDJが終わるとAmazon CTOのWerner Voglesが出てきた。身体がでかくいかにも貫禄があっていい感じ。スピーチもさすがという感じで各所にAWSをスーパーパワーという表現で伝えていて聞いていてワクワクしてくるような内容だった。 メモ このカンファレンスはセールスではなく教育である Cisco、IBM、HPEはマイナス成長。古い保守派の企業は成長してない(オンプレミスはおわってる) ストックホルム、中国、大阪ローカルリージョン追加 ワールドワイドなリージョンの運用が可能 この辺の話は前日とだいたい同じ ゲストスピーカー/ソラコム 安川健太 メモ デバイスを直接クラウドに接続する(インターネットを経由しない) キャリアと連携して直接AWSにアクセスする網を作った awsを活用してapiを使ってmicroservicesで構成している DynamoDB使ってる 疎結合化と非同期化 kinesis+lambda functionを使ってる awsをフル活用することで小さなスタートアップでもすごい速度でサービス開発ができている Werner Voglesに戻る 2014年にクラウドが明確に当たり前になった 今は進化の過程のどこにいるのか? プロダクションの中心(IT自体が差別化にはならない) 検索などはできなければならない、できなければ他よりも劣るだけ AWSはスーパーパワーを与えた 超音速(スーパーパワー) AWSを使って利用社はプロダクトをユニークにすることだけに集中すればいい AWSが開発の制約になってはいけない(利用者の目標を達成してもらう為にやっている) ゲストスピーカー/NTT東日本 中村 浩 CloudGateway (re:connect)の紹介(もともと社内で使ってたものをサービス化した) コスト・セキュリティ・アジリティを重要視 企業の基幹システムでクラウド利用が進まない状況 NTTがAWSと直結するサービスとし安く、すぐに、セキュアに使いたい分だけ使えるように Werner Voglesに戻る 目に見えないスーパーパワー(サーバレス) 常に可用性が高い AWS Lambdaを使えば簡単にアプリを実行できる Finraの例 常にマーケットイベントを処理しているがそれらはLambdaを活用して稼働できている 複数の関数を使う場合は? AWS Step Functionsを使うことが可能 いろんな枝分かれしたものでもAWS Step FunctionsでLambda実行利用可能 AWS X-Ray 分散型の情報のトレーシングができる Amazon DynamoDB 他のNoSQLにはコンフィグがたくさんあって大変だが、そもそもやりたいことというのは一貫したパフォーマンスが必要だということだけ …