Qiitaに登録

今後、恐らくこちらをメインに追加していきます。

https://qiita.com/t-motoki/

 

もしかしたらこのサイトでよく見らている記事は転載するかもしれません。
(いまのところ予定なし)

セミナー参加2019.02.28

Mix Leap Study #35 – Yahoo! JAPANを支えるデータストア

https://yahoo-osaka.connpass.com/event/119104/

 

データストアを自前のデータセンターで、
どのように運用しているか気になって参加しました。

クラスタ分散によるリスクヘッジ、
仮想化による無停止メンテナンス、さらに研究と改善を進め、
今日のyahooさんがあるのだなあと思いました。

SCyllaDBは使ってみたいと思いました。
RedisDBは初めて知ったとき、全く意味がわかりませんでしたが、
複数ノードが当たり前になっている現状、
キャッシュ的な役割をもたせることのできるインメモリDBは必要ですね。

今回も非常に勉強になりました。

セミナー参加2019.01.31

Mix Leap Study #32 – めっちゃわかるAIとKubernetes(GCPUG共催)

https://yahoo-osaka.connpass.com/event/113370/

 

参加してきました。
kubernetesはプロダクト環境へデプロイする際の考慮点が聞けたり、
AIはハードルは低くなりつつあるといった、
結構実践向けの話が聞けたのでかなり収穫でした。

AIはまだ手を出してないですが、
少しずつやっていこうと思います。

kubernetesは、Dockerファイルやymlファイルで管理し、
CI/CDで運用できるのが強味の1つでした。
スライドも上がっているのでまたじっくり見たいと思います。

それにしてもこういったセミナーいく毎に、
自分がまだまだ未熟であることを感じるとともに、
技術ってすごいなあと思います。

C++のhttpクライアントライブラリを利用時の注意点(メモ)

これ、仕事で使ってます。

メモ:C++のhttpクライアントライブラリ

ここのコメント欄にも書きましたが、
curlぽく使えて便利でした。
C++のhttp通信系ライブラリは少ないので、
依存関係が少ないのはうれしいですね。

ちょっと気を付けたことだけメモっと来ます。

 

 

①サブモジュールの取得を忘れない

このライブラリはlibcurlに依存します。
(というよりラッパーしています)

ちょっとフォルダ名はうろ覚えですが、
下記のようにgitHubから取得した後に、
サブモジュールも追加することを忘れないようにしましょう。

 

 

②共有ライブラリに組み込む場合、fPICでコンパイルする

 

PIC とは Position-Independent Code の略です。
位置独立実行形式と日本語では言うそうです。
PIC でコンパイルされたコードは、メインメモリのどこに配置されても、
絶対アドレスに関わらず、正しく実行できます。
※Node.jsで呼び出す際は必須になっています。

 

以下のファイルへフラグを追加して、
makefileを生成する必要があります。

 

CMakeLists.txt

 

27行目と34行目を下記のように変更します。

※この例は27行目

 

ディレクトリを適当につくって、
その中に入って、
cmake ..
コマンドを叩くと、makeファイルが生成されるので、
makeするとstaticライブラリが作成されます。

 

あとは普通にそれをC++の共有ライブラリに組み込むだけです。

ちょっとうろ覚えなので、
正しく動作しなかったらすみません・・。
また自宅環境でもやってみます。

SSL証明書を手動更新(2回目)

ちょっと時間とれなくて、
またまたSSL証明書を手動更新しましたので、
記録しておきます。

やっぱり下記手順でできました。

サイトお引越し⑬(AWS EC2->VPS):SSL証明書を取得する

期限切れ19日前だったのですが、
ちゃんと更新を催促するメールがきました。

これはこれで便利ですよね。

 

あ、
SSL証明書を更新したら、
やっぱりNginX(Webサーバ)を再起動しないと、
反映されませんでした。

当たり前と言えば言えば当たり前なのですが、
実証できたのでメモメモ。

セミナー参加2018.12.20

Mix Leap Study #30 Webフロントエンド 平成最後の冬の陣

https://yahoo-osaka.connpass.com/event/109598/

に参加してきました。

 

ちょっと仕事が忙しく、
申し込み失敗したなーとか思いつつも、
せっかくだし参加しようと参加してみたのですが、
思いの他収穫が多くてよかったです。

特にフロントエンドの歴史の遍歴が分かりやすかったです。
あと、「クリーンアーキテクチャ」というものを知らなかったので、
概要的にも知れたのはよかったです。

普段設計した時に無意識にやっていたことが、
ちゃんと論理的に整理されて考えられているということが、
少し衝撃がありました。
今度もう少し詳しく学習や実践していきたいと思います。

また、いろいろデモも見れて、
他の開発者はこんな感じで考えてるというのを、
少し見れたのも嬉しかったです。

帰りの時点ではかなり満足度が高かったです。
(テンションが上がって、登壇者の1人が執筆された、
「React入門」の本を買っちゃいました)

合格

Webデザイナー検定エキスパート
CGクリエイター検定ベーシック

合格できました。
今回は同時受験してみましたが、少し頑張りました。

Webデザイナー検定エキスパートは、
技術的には少し古いですが、
変わらない根幹の考え方が学べたのでよかったと思います。

 

 

 

 

 

 

これで概要的な学習は終わって、
具体的な方向にシフトしていきたいと思います。

【小ネタ】npmの実行ファイルをローカルインストールで使う方法

Node.jsの小ネタを1つ。

 

例えばReactの開発環境を1発で整える、
「create-react-app」
がありますが、
だいたいこんな感じで使えと書いてます。

 

 

このコマンドの「-g」ですが、
グローバルの略称で、この場合は、
グローバルインストールの意味になります。

 

開発環境がWindowsなら、
その影響範囲は自分を超えないのでいいですが、
Linuxなどでは、root権限が必要な領域に書き込むので、
権限がなければ無理だとか、
環境を汚してしまうとかいろいろあります。

 

そこで、
npm5.2.0から追加された機能を使うことで、
その悩みを解消できます。

npxコマンドです。
Node.jsをインストールすると一緒にインストールされます。

そもそも、
グローバルインストールすると何が起こるかというと、
/bin
/usr/bin
/usr/local/bin

このあたりに、npmでインストールしたパッケージが、
もしくはそのシンボルファイルが置かれます。
実体は/usr/local/lib/node_modulesあたりにあります。

このbinはLinuxではPATHが(だいたい)通っているので、
そこでインストールしたパッケージの実行ファイルが置かれることで、
対象のアプリケーションをコマンドとして実行できるようになります。

-gをつけずにnpmでインストールすると、
「ローカルインストール」となり、
そのコマンドを実行したディレクトリ内に、
パッケージが保存されます。

下記のようなディレクトリ構成になります。

たとえばさっきの例だと、
「node_modules」の下の「.bin」の中に、
create-react-appという実行ファイルが置かれます。

つまり、

でも実行できますが、
さすがに冗長でめんどくさいです。

ので、

こんな感じでnpxコマンドを使うと、
どこに何があるか意識することなく、
インストールしたパッケージが実行できるというわけです。

とくにcreate-react-appや、
typescriptなど、開発環境として利用するものだと、
結構有効でないでしょうか?

まあ、グローバルインストールに抵抗がなかったり、
権限に問題ない人には割とどうでもいい機能ではありますが。

 

以上、小ネタでした。

セミナー参加2018.12.04

【増枠】Mix Leap Study #29 – Step up for TensorFlow

前に少しやって、
ほとんど何も分からず中途パンパだったので、
参加してきました。

TensorFlowのことも聞けましたが、
どちらかというと、
その情熱に感嘆しました。

Webアプリを自作して、
機械学習を効率化を個人でやってしまう。

凄いという気持ちもあり、
なんだか楽しそうだなと感じました。

僕も楽しみながら技術を伸ばせるように、
頑張っていきたいと思います。

あと発音はこんな感じでした。

Ten↓sor→Flow↓

テンソルよりテンサーのが近かったかな。