Try T.M Engineer Blog

多摩市で生息するエンジニアが「アウトプットする事は大事だ」と思って始めたブログ

Advent Calendarに参加して、記事を書いた事の(ちょっとした)余談

こんにちは。Kodakです。

もうすぐ12月も終わりですね。
なんだか1年が「あっ!」という間だったような気がします。

とはいえ、今年は色々と濃い1年を過ごせた気がします。
おっと・・・振り返りは次回のブログ記事で書く事にして、今回はちょっとした紹介をしたいと思います。

実は自社のAdvent Calendarに参加しておりまして、以下2つの記事を書かせていただきました。

12/05分

qiita.com

12/22分

qiita.com

とはいえ、文章力や技術に対しての理解力もまだまだ未熟なので、多目に見てもらえると幸いです。

12/05分「AWS Toolkits for Visual Studio Code (プレビュー)を使ってみました」

こちらは元々書く予定に無かったのですが、12/05分が空いていたので、急遽書きたいと私から願い出たものです。 チーム内でよく使用しているVS CodeからAWSにアクセスできたり、Lambdaのプログラムを作れたりできるなら是非とも紹介したい!と思ったからなんですが・・・・
プレビュー版だった事もあって、できる事(書ける事)が少なかったんですよね。(できる事(書ける事)が少ないと知ったのは、記事を書きたいと願い出た後の事だったので、ちょっと残念でした)

ともあれ、これから期待できるツールなので記事にして良かったと思いますし、(できる事が増えた時)また記事にしたいと思います。

12/22分 「Apachephp-fpm + Apache 2.4)で何を設定すればいいのかわからなかったので調べてみた」

タイトル通りです。
本当ならWordPress関連で何か書けたらいいなぁ・・・と思っていたのですが、以前仕事でApacheの設定をしていたら「やべっ、Apacheって何設定すればいいの!? わからん!」となったので、こちらを記事にしました。

WordPressって本番環境、開発環境共に「WordPress動かせる環境を用意していますよ〜 こちらを使ってくださいね〜」な事が多いので、自分自身でWebサーバーの設定を見る事が少なかったんですよねぇ(いいわけですねorz)
でも、私みたいな人って多いのでは?と思ったりもしてますので、自身の振り返りも含めて記事とした事に悔いはありません。

最後に

自社のAdvent Calendarに参加した事で、色々な発見がありました。
「この人こんな記事書くんだ〜」とか、「この人こんな事に興味があるんだ〜」「この人こんな事も知ってるの!?すごっ」などなど・・・

自社の人の色々な発見があっておもしろいです。

あと、他の方のAdvent Calendarも読ませて頂いて「おおっ・・そうなのかっ」と感動する事もあれば、「むむっ・・・さっぱりわからん。もっと勉強せねば・・・」と考えさせられる事も多々あり、刺激になりました。

個人的におもしろかったのは、クソ(遺憾)アプリAdvent Calendarですね。

qiita.com

発想力、技術力、そしておもしろさを伝える文章力にレベルの高さを感じました。

私もこんな記事が書けるようになりたいっ!
というわけで、来年も頑張るぞっーーー!!

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

はじめに

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

AWS re:Invent 2018 Serverless re:Capに参加

AWS re:Invent 2018 Serverless re:Cap(2018年12月5日開催)

AWS re:Invent 2018終わりましたね。
相変わらず発表が多すぎてついて行けないので、Serverless関連だけでもキャッチアップしたいと思い、参加してきました。 (前回同様、上司から外出許可をもらいましたー。)

ちなみに今回はちゃんとパソコンを持っていきました。(笑)

セッション視聴:まずは、今年のServerless関連のUpdateの振り返り(AWS re:Invent 2018 開催前のUpdate)

  • AWS Lambda にSLAが設けられた
  • API GateWayAWS WAFをサポート(セキュリティUp)
  • SQS FIFOキュー使用可能
  • API GateWay段階的価格設定
  • AWS Lambda 非同期実行時のペイロードサイズ(リクエストとレスポンス)が2倍(256KB)
  • AWS Kinesis Data Streams HTTP/2と拡張ファンアウト追加
  • AWS Lambda Python3.7利用可能

re:Inventの発表前にこれだけの変更があったんですね。
Lambdaの非同期実行時のペイロードサイズが2倍になったとか、API GateWayの段階的価格設定とか、以外に知らない事が多い・・・
そういえば、Python3.7もいつの間にか使えてた気がしますね。

ちゃんと情報をウォッチしてないと置いてかれる(汗

セッション視聴:ここからがre:Invent 2018で発表されたServerless

  • Firecrackerリリース:
    (セキュリティと速度を重視した)短時間利用を目的とするVM。すでにlambdaやFargateの基盤として一部使用されている。
  • AWS Toolkits 対応追加(PyCharm,IntelliJ,VSCode):
    これはQiitaで少し触れましたね。
  • AWS Lambda Ruby対応:
    Rubyが好きな方は心待ちにしてたのではないでしょうか。私も喜びました。
  • AWS Lambda カスタムランタイムサポート:
    カスタムランタイムを使う事で、Lambdaでサポートされていない言語(PHPC++等)や特定のバージョンを動かす事ができます。
    上記のRuby対応もカスタムランタイムを使用して動かしているとの事です。
    これを使えばCOBOLも動かせるよーって聞いた時は、流石に驚きました。
  • AWS Lambda Layersの追加:
    AWS LambdaにLayersという概念が新たに追加されました。
    Layersに登録されたプログラムをハンドラとして呼び出すことができます。(最大5つまで)
    つまり、Lambda間でライブラリを呼べるようになったよーって事ですね。
    注意事項として、以下があるとのこと。
     ・Layersに登録したライブラリは、/optに展開されるため、上書きに注意。
     ・Layersに登録したライブラリは、コールドスタートとなるため、時間がかかる。
  • AWS LambdaがALB(ロードバランサー)をサポート:
    私はALBがサポートされて、何が嬉しいんだろう・・・と思ってました。
    しかし、上司はこれとPHPを組み合わす事で、ServerlessのWebページが表示ができる。と言っていました。(よくよく考えてみるとたしかに・・・)
    クラスメソッドさんはさっそく挑戦されているようです。 dev.classmethod.jp 最後にちらっと書いてますが、確かにWordPressをLambdaで動かせるかもしれませんね。
  • AWS Step Functions API Connectorsを発表:
    APIの追加ですね。
  • API GateWay for WebSocket:
    これもどんな事ができるか要チェックですね。
  • AWS SAM で、Serverless Application Repository利用可能:
    Serverless Application Repositoryにどんなものが置いてあるかチェックですね。

セッションを振り返って

というわけで、セッションで話された内容の一部を上記に纏めてみたわけですが、これでもServerless関連の一部分でしかありません。

そう考えると、本当に多い・・・
(今回、re:Inventで発表されたものは、100を超えているとか・・・)

しかし、情報のキャッチアップは大変ですが、AWSのこういった新しい発表から「あのサービスを使えばこんなことができるかも〜」や「あのサービスとこのサービスを組み合わせれば〜」とかを考えるのはおもしろいですよね。

今回はAWS LambdaのUpdateが多かったので、私も「LambdaとRuby」「LambdaのLayersやカスタムランタイム」「ALBとLambda」「GateWayのWebSocket」などなどで、何ができるのか。いろいろ考えてみたいと思います。

ちなみに、こちらも参加してきました。
こちらではSeverless以外の情報をキャッチアップすることができました。
aws.amazon.com

番外編:AWS Loft Tokyoに行ってきました

念願のAWS Loft Tokyoに行ってきましたー。イベントの日だったので多くの方がコードを書かれていらっしゃいました。
f:id:special-moucom:20181213232913j:plain
部屋に入るとすぐにAmazonがお出迎え

f:id:special-moucom:20181213232902j:plain
近くにはAmazonのガジェットが・・・

f:id:special-moucom:20181213232851j:plain
ガジェットだらけです・・・

f:id:special-moucom:20181213232930j:plain
外はとても高い〜 17Fからの景色です。

f:id:special-moucom:20181213232939j:plain
最後はCodeHappy!!!!!

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

あっという間に、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の勉強会等に参加しようかな・・・)