Try T.M Engineer Blog

「アウトプットする事は大事だ」と思って初めたブログ、プログラミング、独り語り、etc

ベビーマッサージを学んできました

あっという間に、12月になりましたね。
今年は、転職したり、子供が産まれたり等、個人的にイベント盛り沢山な年だったなぁと振り返ってみて思うのですが、それはまた別の機会に振り返りたいと思います。
さて、今回は「Webエンジニアへ転職後に学んだ事」シリーズではなく、先日、ベビーマッサージの講習を受けてきたので、そちらいついて書いていきたいと思います。

ベビーマッサージの講習を受けに行ったきっかけ

f:id:special-moucom:20181204033020j:plain
私には、生後2ヵ月の娘がいます。
生後間もない頃は、泣く、寝るの2つしかできなかったのですが、2ヵ月も経つと、笑ってみたり、くしゃみや咳、手を握れば反応してくれる!等、どんどん出来る事が増えてきて「あぁ、人間の成長力ってすごいなぁ」と改めて実感します。

そんな急成長中の娘ですが、毎日つきっきりの妻の顔は覚えてくれると思いますが、朝と晩と土日にしかいない父親の顔は覚えてくれるだろうか・・・少し不安になります。
そういえば、どこかの育児ネタで、娘に「パパはいつ、家(職場)に帰るの?」と言われてショックを受けたいうのがありました。

うーん、生後2ヵ月の娘に対して何かできないか。父親として顔を覚えてくれるインパクトのあるような事はできないだろうか。
妻に相談したところ「ベビーマッサージなんてどう?」と提案され、「それだ!」と思い、さっそく講習を受けに行きました。

ベビーマッサージの効果について

インストラクターから教えて頂いたのですが、父親が赤ちゃんに対してベビーマッサージを行うと以下効果があるとのことです。

・ 父親と赤ちゃんとの絆作りができる。
・ 父親と赤ちゃんとの絆作りによって、赤ちゃんの社交性がアップする。
・ 赤ちゃんのお通じが改善する。

社交性とざっくり書いていますが、わかり易く言うと「空気が読める子に育つ」「知らない人とのコミュニケーション能力がつく子に育つ」という事だそうです。

何故そんな社交性が身につくの?と疑問に思ったのでインストラクターに聞いてみたところ、赤ちゃんにとって母親は(毎日顔を合わせているので)安心できる存在。父親は(母親ほど毎日顔を合わせていないので)ちょっと知らない人。という扱いだそうで、そんなちょっと知らない人からのベビーマッサージを受ける事で(手で体に触れる事で)、赤ちゃんの肌感覚が鋭くなり、社交性が身につく。というものだそうです。
(空気が読めたり、知らない人達が集まる場でコミュニケーションがとれる子は、肌感覚が鋭いからとのこと)

まぁ、これが本当かどうかはわかりません。
本当に社交性が身に付くかどうかは、うちの娘がもう少し大きくなった時にわかると思います。それよりも、父親との絆作りを第一に考えてベビーマッサージをしていきたいと思います。

ベビーマッサージをやってみて

ベビーマッサージを実施する前に、以下注意があるので、しっかり守りましょう。

・(特に生後間もない赤ちゃんに対しての)ベビーマッサージは、ちゃんとインストラクターの指導を受けてからやりましょう!(YouTube等で動画で上がっているものもありますが、インストラクターの指示を受けていない人が動画をUPしている可能性もあるので、注意しましょう)
・オイルを使用する際は、必ずバッチテストをやりましょう。赤ちゃんに異常があった場合は即座に病院へ行きましょう。

ベビーマッサージをやってみて、なんとなく娘との距離が近づいた気がしました。
何より、特別な時間を作って娘と触れている時間ができたのが嬉しかったです。

もちろん、入浴させたり、オムツを変えたり等で娘に触れる機会は沢山ありますが、それは全部必要な事であって、こういった特別な時間を設けて娘に触れるという機会は無かったので新鮮でした。また、父親として娘に何かできるようになった。というのも嬉しかったです。

父親との絆作りにベビーマッサージはお勧めかもしれません。

Webエンジニアへ転職後に学んだ事(8回目)

はじめに

このブログ記事は、約11年間、客先常駐で『マネジメント』をメインに続けてきて、技術力が全く無くて後悔していた人が、Webエンジニアへ転職して学んだ事を記録しておくために書いています。自身の振り返りのために書いている記事ですが、30代の方で同じような境遇で技術力が全く無くて後悔している方々にとっても「Webエンジニアになるとこんな事を勉強するんだ・・・」と雰囲気を掴んで貰えれば幸いです。

ES6勉強会

今回は自社の若手フロントエンドエンジニアが、ES6について勉強会(発表会)を行うとの事で、お誘い頂いたので参加してきました。私はバックエンドエンジニアという立ち位置ですが、フロント周りにも興味があるので、この勉強会へのお誘いはとても嬉しいものでした。

ES6って?

JavaScriptの標準仕様の事です。
ECMASCriptというJavaScriptの標準仕様があり、それのバージョン6がES6と呼ばれています。少しややこしいのがES6はES2015とも呼ばれている点です。これは2015年にECMASCriptのバージョン6の仕様が決まったので、ES6の事をES2015と呼ぶ人もいる。という事です。

各ブラウザのES6の対応状況は以下の通りです。
ECMAScript 6 compatibility table

FF(Mozillra Firefox)とCH(Google Chrome)は、98%のカバー率。
ちょっと出遅れてIE、Edgeが96%のカバー率である事がわかります。

また、JavaScriptの標準仕様だけあって、TypeScriptやNode.jsにも影響が出ていることもわかります。
面白いですね。

ちなみに今は2018年なので、(2017年に仕様が決った)ES8まで存在しています。
ですが、今でもES6の話を耳にするのは、ES6の変更がそれだけ大きかったという事ですね。

勉強会(発表会)の感想について

勉強会は、ES6で追加・変更された機能について、ずらずら説明していくものでした。ES6は追加・変更点が多いため、Googleスライドのシートが80枚を超えていました。(あまりの多さに少しびっくりしました。)
これだと聞く側も発表する側も大変なので、ポイントを絞って欲しいと伝えましたが、若手エンジニア曰くES6で追加・変更された機能は全て大事であり、ポイントを絞る事ができなかったので、これだけの量になってしまったと言っていました。

なるほどなぁ・・・とは思いつつも、私もこういった発表会経験が少ないので、あまり強く言う事はできませんでした。1つ思った事は「ES6の追加・変更点が多くて説明が大変なのであれば、テーマを少し変えて『私のおすすめES6!』くらいにしてポイントを絞った方が良いのかなぁと思いました。

それでES6は理解できたのか?

追加・変更された機能が多くて、全ては理解できませんでした。(というより無理です。)
しかし、クラスや継承などが入ってクラスベースのオブジェクト指向が取り入れられた?のと、シンボルやyieldが入ってRubyっぽくなったのが、少し驚きでした。
ES6を意識してJavaScriptを見た事がなかったので、今後JavaScriptソースコードを見るときは、ES6で書かれているかどうかという点も気にして見るようにしていきたいと思います。

Webエンジニアへ転職後に学んだ事(7回目)

はじめに

このブログ記事は、約11年間、客先常駐で『マネジメント』をメインに続けてきて、技術力が全く無くて後悔していた人が、Webエンジニアへ転職して学んだ事を記録しておくために書いています。自身の振り返りのために書いている記事ですが、30代の方で同じような境遇で技術力が全く無くて後悔している方々にとっても「Webエンジニアになるとこんな事を勉強するんだ・・・」と雰囲気を掴んで貰えれば幸いです。

WordPressを勉強中

大きな案件が一旦終わり、次の仕事ではWordPressを使うかもしれない・・・との事なので、現在はWordPressの勉強をしています。WordPressを初めて学ぶ上で私が何をしている(した)のかをさらっと書いていきたいと思います。

まず、WordPressとは?

WordPressは、CMS(Content Management System)の1つで、Webサイトを作る上で、ある程度「型」を用意してくれていて、ゼロからWebサイトを作るよりも容易に作る事ができるソフトウェアです。元々はブログを作るためのソフトウェアとして始まったWordPressですが、オープンソースであった事から有志によって利用者のニーズに合わせた開発・変更が行われ、今ではブログだけでなく、企業サイトやECサイトでもこのWordPressが使われています。
ちなみに、世界中のWebサイトのうち26.5%はWordPressで作成されているというデータがあり、CMSで作られたサイトに限定すると、59.6%と圧倒的なシェアを占めているとも言われています。

wp-exp.com

いやぁ、WordPress凄いですね。ちなみに、WordPressPHPで開発されているので、WordPressを使ってWebサイトを作るのにはPHPの知識が必要です。

WordPress何から始めればいい?

私も悩みました。そもそも、私はPHPに触れたこともありません・・・ とはいえ、開発環境が必要なのと参考になりそうな書籍を探す事にしました。

1. 開発環境

以前、SAMについて勉強した時にDockerを使った事を思い出し、WordPressの開発環境もDockerを使えば良いと考えました。(ネット検索しても、WordPressの開発環境はDockerを使う人が多いようです。)というわけで、docker-compose.ymlを用意して「docker-compose up -d」と叩けば開発環境の完成です。

[ docker-compose.yml ]

version: '2'

services:
  mysql:
    image: mysql:5.7
    volumes:
      - "./mysql:/var/lib/mysql"
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: wordpress
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress

  wordpress:
    image: wordpress:latest
    volumes:
      - ./wordpress:/var/www/html
    depends_on:
      - mysql
    links:
      - mysql
    ports:
      - "8000:80"
    restart: always
    environment:
      WORDPRESS_DB_HOST: mysql:3306
      WORDPRESS_DB_PASSWORD: wordpress

なんて便利な世の中なんだ・・・・(涙)

2. WordPress本を購入

とりあえず、「仕事の現場でサッと使える!」というタイトルに惹かれて購入しました。

WordPress 仕事の現場でサッと使える! デザイン教科書 (Webデザイナー養成講座)

WordPress 仕事の現場でサッと使える! デザイン教科書 (Webデザイナー養成講座)

<< 感想 >>
結論から言うとこの本はとても良い本です。
最新のWordPressのバージョンに対応しているのも良いですし、最初にWordPressでテーマ(Webサイト)を作りたい人にはおすすめできる書籍です。この本を読めば、WordPressの操作方法、テーマの作り方、使用すべきプラグイン、そのプラグインの使い方が学べます。

しかし、WordPressを触ってみてわかったのですが、WordPressWordPressなりに自動でやってくれる機能やPHPの関数が凄く多いんですよね。この本だけだと「なんとなくテーマが作れるな〜」止まりで痒いところに手が届かない・・・

そう悩んでいると、それを解決してくれる書籍と出会いました。

エンジニアのためのWordPress開発入門 (Engineer's Library)

エンジニアのためのWordPress開発入門 (Engineer's Library)

これです。
ちなみにタイトルには開発入門と書かれていますが、いきなりこの本から始めると私なら挫折する自信があります。まだ読んでいる途中ですが、この本にはWordPressが自動でやってくれる機能やPHPの関数の説明、それによる注意点等、WordPressの仕組みに重点を置いた説明が書かれており、私の知りたかった情報がほぼ詰め込まれていました。
この本は私の様に、ある程度WordPressを触ってみて「WordPressってどうやって動いているのだろう・・・?」と疑問に思った人にお勧めです。

しばらくは、この書籍を読んでさらにWordPressの知識を増やして行きたいと思います。

WordPressを触ってみて気づいた事

WordPressは上記に記載した通り、シェアがとても高く、ネットで検索すると欲しい情報がすぐに手に入ります。中には、欲しい機能のプログラムのソースコードが丸々落ちていたりもします。そのため、落ちていたソースコードを理解せずに使っていると思ってもいないバグやエラーを引き起こすので注意が必要だと感じました。(情報が多いだけに、扱い方には注意が必要という事ですね。)
ネットに落ちているソースコードにも実は関数の使い方や実装方法が間違っている可能性もあります。実は私もこの辺に不安を感じているのですが、そんな時はWordPressに詳しい有志の方に相談するといいかもしれません。(私もWordPressの勉強会等に参加しようかな・・・)

Webエンジニアへ転職後に学んだ事(6回目)

はじめに

このブログ記事は、約11年間、客先常駐で『マネジメント』をメインに続けてきて、技術力が全く無くて後悔していた人が、Webエンジニアへ転職して学んだ事を記録しておくために書いています。自身の振り返りのために書いている記事ですが、30代の方で同じような境遇で技術力が全く無くて後悔している方々にとっても「Webエンジニアになるとこんな事を勉強するんだ・・・」と雰囲気を掴んで貰えれば幸いです。

AWS Dev Day Tokyo 2018 の一部のセッションに参加

10月末、上司とこんなやりとりがありました。

上司「AWS Dev Day Tokyo 2018のServerlessのセッションを見たほうがいいよ」

私「え、会社で見ていいんですか?」

上司「うん、ストリーミング放送見る時はイヤホンつけてね。あと、この2つのセッションは僕が仕事で行けなくなったから代わりに参加してきていいけど・・・行ってくる?」

  • GraphQL 入門(AWS AppSync)
  • クックパッドの動画事業での AppSync 活用事事例 - Firebaseからの移行 -

私「ぇ、マジっすか?」
(過去にこんな経験は無かったので・・・しばらく考える・・・)

私「行ってきます!!!」

というわけで、AWS Dev Day Tokyo 2018のServerlessの以下2つのセッションを聞きに行きました。

  • GraphQL 入門(AWS AppSync)
  • クックパッドの動画事業での AppSync 活用事事例 - Firebaseからの移行 -

場所は目黒のAmazonの新オフィス!

f:id:special-moucom:20181111165807j:plain オフィスは新しいビルだけあって、すごくキレイでお洒落でした。
(ああ・・・一度でいいから、こんなオフィスで働きたい・・・)

最近、噂になっていたAWSのアカウント持っている人だけのコワーキングスペースAWS Loft Tokyoも「あ、ここだったんだ・・・」と知りました。

aws.amazon.com

一度はここで勉強してみたいものですが、営業時間が平日のみというのが残念なところ・・・
Amazonのオフィスと併設なら仕方ありませんね。

会場にてセッションを視聴

f:id:special-moucom:20181111165833j:plain 会場に来て、1つ後悔したことがありました。

「パソコンもってきてない!!」

周りを見ると、皆さんパソコンを持ち込んでいらっしゃる・・・

  • 仕事をしながら(コードを書きながら)セッションを聞いている人
  • セッションで重要なところをパソコンでメモっている人
  • セッションを聞きながらTwitterに書き込んでいる人

様々ですが、パソコンを持ってきていない人は少数でした。(もしかすると私だけだったかもしれません・・・) 以後、気をつけよう・・・そう心に留めてセッションを視聴しました。

セッション視聴:GraphQL 入門(AWS AppSync)

大変わかりやすく「GraphQLとは何なのか?」を説明して頂きました。
一応簡単にセッションを聞いた上での私のGraphQLの解釈を書いておきます。

GraphQLとは? ・・・ API Query言語。REST APIに変わる次の技術。SQLのようにQueryを書く事で、欲しいデータを取得できる。

REST APIでは以下課題があり、それを解決してくれる。

  • APIドキュメントの管理:管理がずさんになってくると、ドキュメントとAPIの仕様の相違が出てきて大変。
    -> GraphQLなら、ドキュメントは拡張を見据えた汎用的なものを作れば良い。

  • APIの実行方法がわからない&複雑:ちょっとだけ欲しいデータがあっても、全量取得&複数回APIを実行する必要があったりする。
    -> GraphQLなら、APIの実行は欲しいデータだけをSELECTして取得すれば良い。

GraphQLの特に優れている点 ・・・ リアルタイム性。Query言語のため、SELECTだけでなくUPDATEも可能。例えば携帯のオンラインゲーム等でネットに繋げない間はローカル側でデータを更新 -> ネットに繋がった瞬間に更新したデータをGraphQLを使ってUPDATE(つまりクライアント側と即時に同期可能)できる。

というのが、セッションを聞いての私の解釈です。(間違っていたら、ごめんなさい)REST APIの課題については、非常に共感できました。

セッション視聴:クックパッドの動画事業での AppSync 活用事事例 - Firebaseからの移行 -

こちらも大変わかりやすくGraphQLを使った実例を説明して頂きました。
その前に、AppSyncですね。こちらも私なりの解釈を書いておきます。

AppSyncとは? ・・・ フルマネージドのGraphQL。

フルマネージドって? ・・・ GraphQLに以下機能を付属したもの。

  • 認証
  • 通知
  • ゾルバ、リクエストレスポンスの関数が使用可能
  • DynamoDBからテーブルをプロビジョニング

クックパットさんは、AppSyncをcookpadTVのLive事業にて使用しており、Live時のコメントやスタンプ投稿でGraphQLを使用しているとのことでした。
当初、FirebaseのRealtime Databaseを使っていたそうですが、AmazonGoogleでデータを分散させたくないとの事からAppSyncに移行したとの話でした。
「データを分散させたくない。」長期的に見れば保守性が上がり、コストも下がるかもしれませんが、これだけを理由に移行を考えるなんて、さすがクックパットさんだなぁと思わされました。

AppSyncへの移行も色々と課題があったそうです。
1つ「なるほどなぁ」と感じた部分があったので、そこだけ書いておきたいと思います。

AppSync(GraphQL)は上記の通りAPI Query言語で、あくまでクライアントからQueryを投げてもらって処理が動きます。そのため、クライアントとAppSync間には何も無く、Queryの内容をチェックする事ができません。そういった場合はサーバーを1つ挟むしか方法がありません。クックパットさんの実例では、コメント書き込み時に誹謗中傷を書かれる恐れがあるため、クライアントとAppSync間に1つサーバーを挟んで、コメント内容をチェックした後にAppSyncへ反映しているとの事でした。

ここは「あ、なるほどなぁ」と思わされました。
新しい技術は次々と出てきて、どんどん便利になっていきますが、その技術にも課題があり、また新しい技術が産まれるんだなぁと感じました。

最後に

f:id:special-moucom:20181111165901j:plain

実はこういったカンファレンスへの参加は今回が初めてでした。
カンファレンスに参加したことで、GraphQL/AppSyncに大変興味を持ちましたし、周りのエンジニアも凄そうな人ばかりで大変刺激になりました。今度は、上司に進められる前に自分が興味を持ったカンファレンスに参加したいと思います。
というわけで、次回はこちらに参加したいと思います。

phpcon.php.gr.jp

現在、WordPressの案件がくるとの事で、WordPressPHPの猛勉強中です。PHPで何ができるのか?何に使われているのか?そこを知りたいと思い参加を決めました。(まぁ、子供がいるので本当に参加できるのかはギリギリまでわかりませんが、可能な限り参加したいと思います(パソコンを忘れずに・・・))
最後に、カンファレンスの参加を進めてくれた上司(と会社)に非常感謝しています。前職なら絶対にありませんでした。(そもそも客先にいて業務中に不在にするとかありえない・・・)
頂けた機会を活用して、もっともっと知識を増やして強いエンジニアになれる様、頑張りたいと思います。

Webエンジニアへ転職後に学んだ事(5回目)

はじめに

このブログ記事は、約11年間、客先常駐で『マネジメント』をメインに続けてきて、技術力が全く無くて後悔していた人が、Webエンジニアへ転職して学んだ事を記録しておくために書いています。自身の振り返りのために書いている記事ですが、30代の方で同じような境遇で技術力が全く無くて後悔している方々にとっても「Webエンジニアになるとこんな事を勉強するんだ・・・」と雰囲気を掴んで貰えれば幸いです。

転職後7週目

今回は、転職後7週目の話になります。
が、今回学んだ事は久しぶりにQiitaに書きました。

qiita.com

私はQiitaとブログ両方のアカウントを持っていますが、以下のように使い分けて書いて行こうと思います。

  • ブログ ・・・ 私が学んだ事や近況について書く。
  • Qiita  ・・・ 技術的な事で悩んだ or 調べた事について書く。

Qiitaは技術的な話が集まる場なので、自身が悩んだ or 調べた情報を書いて、同じ様な境遇で悩んでいる方々への参考になればいいなという思いで書いていきたいと思います。
(もし、私が書いた情報に誤り等がありましたら、ご指摘頂けると幸いです。m( )m)

最近は?

上司から「もしかするとWordPressの案件がくるかもー」と言われたので、WordPressPHPの勉強をしています。開発環境は、Dockerコンテナを使ってWordPressを立ち上げて色々と触っているところです。
こちらについては、またどこかでブログに書いていきたいと思います。

学んだ事

ホントこれです。

普段意識しないで使っているコマンドでも「ちゃんと知っておこう」という姿勢が大事

以後、気をつけたいと思います。