2017年を振り返る
自身の来年やるべきことを模索するためにメモを残しています。
所感
昨年にクライアントサイドに転向し、主にブラウザ対応に重きをおく開発をおこなっていました。サーバーサイドでもRailsなど新しい経験もしましたが、Javascriptの世界は作法も大きく異なり、エンジニアリングの世界が格段に広がりました。
やったこと
Reactjs
クライアントサイドの学習基盤としてReactjs+Reduxに触れられたのは非常に良かったです。APIを通してデータを取得するフローや、特に非同期の考え方はクライアントの動きを深く知ることができました。 コンポーネントのライフサイクルはネイティブにも通じる考え方で、今後はiOSやAndroidの開発にも触れてみたいと思っています。
Ruby / Rails
API開発とRSpecコーディングに触れる機会は多かったです。bundleもトラブルが多かったので、そこそこ多く調べましたね…特にVagrantではnfsストレージ上でbundleがうまく動かないトラブルもありました。CコンパイルがMacローカルのコアを認識しつつVagrant内CentOSで動くみたいな(^_^;) kaminariがCで書かれているのも知って驚きました。
CSS
Animationやレイアウトについて、実作業ベースで苦しみました(笑) 特にレイアウトについては縦方向でのセンタリングの難しさや、ブラウザによって出る描画差異なども実践なくしてはわからないものが多かったです。 flexやjustify-contentなどの魔法の単語を知って作業がかなり楽になりました。translateとtop、bottomを組み合わせて縦位置をど真ん中に合わせるなども今は重宝しています。(これはいずれブログにまとめたい…)
WebRTC
ブラウザができることが大きく広がっていることを知りました。 以下のコード、htmlにて保存してChromeで開いてみてください。カメラが起動します(笑)
<html> <body> <video id="video" width="640" /> </body> <script src="https://webrtc.github.io/adapter/adapter-latest.js"></script> <script> navigator.getUserMedia({ audio: true, video: { width: 1280, height: 720 } }, (stream) => { const video = document.querySelector('#video'); video.src = URL.createObjectURL(stream); video.onloadedmetadata = (e => video.play()); }, err => console.log("The following error occurred: " + err.name), ); </script> </html>
ローカルHTMLでもカメラがいとも簡単に起動する、それを保存したりもできる、ネイティブアプリとブラウザとの違いはどんどん少なくなっているようです。
逆に言えば、Webエンジニアに求められることもどんどん増えているわけで、今後も精進が必要そうです(^_^;)
Xcode
業務都合で自社アプリのビルド程度まではおこなうようになりました。開発はまだ触れていませんが、エラーコンソールとBuild Settingくらいは読むようにはなっていました。ビルドを行うようになって意識が変わったことのひとつに、MacOSとXcodeのバージョンは比較的早く最新のものを追うようになりました。
モヒカンSlack
kotakanbeさんが運用されているSlackチームですが、こちらの利用で情報収集の効率が格段に良くなりました。 qiita.com
冬眠気味だったTwitterアカウントも改めて情報収集に活かせるようフォローを増やしたり手をかけましたが、情報収集方法も年々進化していますね。
TILをやってみたが…
Today I learndでTILですね。1週間も持ちませんでしたが(^_^;)
ブログよりも細かい粒度で身につけたことを残したいと思いはじめましたが、情報が少なすぎると一生懸命ネタを増やそうとしてしまうのがブログやってるときの癖で… 調べたことを一個単位で残していくのは非常に効率的だと思うので、今後はもう少しマメに書いていきたいです!
GitHub - ttaniguchi/til: Today I learned
まとめ
今年はわたしにとってはクライアント元年であり、非常に楽しい試みを多く経験できた年だったと思います。ただ、環境的には同じ技術軸で作業をする人間が身近におらず、ガラパゴス懸念を感じながらLintだ勉強会だと他者の技術や標準化にやや枯渇した時期でした。 来年は身近なメンバーに技術普及をすることで切磋琢磨できる環境をつくることにも尽力したいですね。
それと、やはりネイティブには触れていきたいです。Reactjsかvuejsか、みたいな時期もありました。それでもReactjsを選んだのは「アプリも作れるみたいだし…」というとろこもあったわけで。 そこに回帰して、来年はプライベートでReact Nativeをはじめてみようかと思っています。(1年くらい前にHwllo Worldくらいまではやった気がします)
今年も残すところ僅かですが、良いお年を! Happy Hacking!