「docker container 」?「 docker compose」? なにが違うの?

はじめに

dockerを触れる機会が増えているものの

単語の意味が分かるようで分らないので

調べてみました

 

準備

(とくになし)

 

説明

  • docker container
    • まず「コンテナ型仮想化技術」というものありき
    • コンテナとは「プロセスだけを分離して動かす技術」のこと
    • dockerとはコンテナ技術を活用したサービスの一つ
    • 近年ではdocker すなわち containerとなりつつある
  • docker compose
    • 複数のコンテナを同時に扱うためのツール?機能?の名称
    • 複数のコンテナから成るサービスを構築・実行する手順をまとめて管理、実行する為の便利な機能のこと

 

まとめ

docker に関わる単語の意味をしらべてみました

 

【参考サイト】

Dockerコンテナとは?知ってるとこんなに便利。徹底解説します | Winserverのススメ

Docker compose ことはじめハンズオン - Qiita

Dockerについてなるべくわかりやすく説明する - Qiita

【初心者向け・図解】Docker Composeとは?Dockerとの違いを現役エンジニアがわかりやすく解説 – エンジニア女子の自習室

「npm」をごくごく簡単に説明してみる

はじめに

普段なんとなく使っているnpm(あとyarnとか)ですが、ちゃんと説明しようとすると出来なかったのでおさらい。

準備

いままでやってきたことを思いだそう

説明

npmとはなにか?

node package managerの略

 

vueやらreactやらの開発で使われるnode.jsに

標準でinstallされるpackage managerをnpmと呼ぶ

 

------------------------------------

 

これだけでは寂しいので、もう少しだけ範囲を広げてみる

 

package managerとはなにか?

package.jsonにmoduleとそのversionを記載し

プロジェクト内のmoduleを管理する仕組み

 

package同士の競合や依存関係を解消してくれる役割がある

 

pakageとはなにか?

moduleをひとまとめにしたもの

 

一般的にはlibralyと呼ばれたりもするが、

npmの世界にはmoduleしかない。。らしい。

 

yarnとはなにか?

npm でinstall可能なpackageの一つであり

package managerの一つ

npmより高速だと言われている

まとめ

npmとはnode.js標準の「node package manager」のこと

package managerはmoduleの競合や依存関係を解消してくれる

yarnはnpmでinstallできるpackage manager

 

[参考]

npmとは - 意味をわかりやすく - IT用語辞典 e-Words

そもそもnpmからわからない

【npm入門】npm(パッケージ管理ツール)の基礎を解説!

mongoDB campassで表示するkeyを指定する方法

はじめに

mongoDBで表示するkeyを指定するには、

findの第二引数にその条件を渡してやれば良いのだが

 

その渡し方に関して

mongoDB campassのGUIでの操作に少しハマったので

備忘録として残しておく

 

準備

mongoDB campassを開く

説明

結論からいうとoptionを押せば解決

 

find以外の入力項目が現れるので

「project」欄に入力すると実行できる

 

思い込みで。。

参考にしていたサイトでは、すべてコマンドでの説明だった

その説明が

find( { //抽出条件 }, { //表示条件 } )

と第二引数を指定していたため、

GUIのfind欄にそういうobjedtを入れるものとばかり。。

 

まとめ

  • 表示すkeyの指定は、findの第二引数にobjectを渡す
  • GUI上では、find欄に入力するのではなく、
    optionを押したときに現れる「project」欄に入力する(my sqlで言うselectの様なものか?)

 

 

 

mongoDBの抽出条件に特定のkeyの有無を指定する

はじめに

mongo dbはスキーマレスなため、

既存のcollectionに対して自由にkeyを追加できる

 

当然、document毎に特定のkeyがあったりなかったり

という状態が普通に起こりうる

 

今回はkeyの有無を抽出条件にしていする方法を学ぶ

準備

既存のcollenctionに対して、新規のkeyを持つ

documentを追加する(ここではageを追加したdocumentを作成)

 

 

 

説明

抽出条件を指定
ageの値を持っていないデータを抽出してみる

{ age: { $exists: true } }

逆に持っていないものを指定するときは

{ age: { $exists: false } }

とすれば良い

まとめ

mongo DBはスキーマレスなため自由にkeyを追加できる

抽出条件にkeyの有無を指定するときは、{ field: {$exists: true (or false) } }を使う

 

mongoDBのdocumentを条件付きで抽出する

はじめに

ここではmongoDBのドキュメントを条件付きで操作する方法を

具体的に記載していきます

 

 

準備

MongoDB Campassを使用します

(設定等の説明はここでは省略)

 

「user」というcollectionを作成し、適当なデータを追加しておきます

サンプルとして作成したcollection

 

説明

抽出条件を設定する

  • mongoDBでは抽出条件をobjectとして作成します
  • 「xx以上」といった比較演算子の書き方
    • xx以上:{ field: { $gte: value } }
      • 「greater than and equal」の略
    • xxより大きい:{ field: { $gt: value } }
      • 「greater than」の略
    • xx以下:{ field: { $lte: value } }
      • 「less than and equal」の略
    • xxより小さい:{ field: { $lt: value } }
      • 「less thanl」の略

*その他の比較演算子はこちらを参照

MongoDB超入門 - Qiita

 

各条件を設定して実行する

 

ageが10歳

{ age: 20 }

 

ageが30歳以上

{ age: { $gte: 30 }}

ageが30歳以上

 

まとめ

  • mongoDBのdocumentを条件付きで抽出する方法を覚えました
  • 抽出条件はobject(クエリーセレクター)として渡す
  • 大小を比較するには、比較演算子をクエリーセレクターに記載する

 

 

技術ブログを始めるにあたって(2)

はじめに

今回は「じゃあ実際にどうやって書き進めていけばいいの?」

という不安をなくすための方法をまとめていく

 

その内容は、前回検索して引っかかったブログを一通り読んで

すぐに取り入れられそうなお作法をピックアップした

 

ブログを書く際のお作法

以下のルールにしたがって書いていく

 

タイトルとアウトラインから書く

まずはタイトルとアウトラインをざっくりと

タイトルは超重要!

 

だが、そこまできつきつに考える必要もない

あとから変えたってよいし、書き進めることがなによりも重要

ざっくりと決めたら書き進めてみる

 

完成させる

とにかく完成させること!

が重要らしい

 

じゃぁどうなれば完成?

という問題が出てくるが

 

「完成を諦めたら完成」

という個人的には大好きな

フレーズを見つけたので採用

 

感覚的に「もういいや!」と思ったらそこで完成、

ということで良いのでしょう。

(ダメならまた直せば良い)

 

テンプレートを使う

ブログを書くにあたってはまず

テンプレートに従って書き進めていく

 

もちろん一つのテンプレートだけで

全てを賄えるわけではないし

 

内容によっては別のパターンが必要になってくるであろうが

慣れるまではこのパターンで書いていく

(以下テンプレート)

  • はじめに
    • この文章を書くことになった経緯や、何を書くかの説明を記載する
  • 準備
    • 前提となる環境の説明や準備の手順を記載する
  • 説明
    • 具体的な手順や実行した結果、必要と思われる解説を記載する
  • まとめ
    • この記事の要点や応用へのつなぎ、書いていて感じた感想を記載する

(テンプレート終わり)

まとめ

以上のことを頭の片隅におきつつ進めていくことにした

 

次は具体的にお題を決めて、

技術ブログっぽいものを書いていく

技術ブログを始めるにあたって(1)

ページの作成も無事に済み、いざ記事を書こうとするも

はてどうしたものか、なにから手をつけていけば良いかわからない。

 

というわけで早速ググってみた

 

---

 

検索ワード

「技術ブログ 書き方」

 

で、引っかかった結果から

なんとなく目についたものを選んだ結果がこちら

 

  1. 最高のテックブログを書くために気をつけている3つのこと | 株式会社ヌーラボ(Nulab inc.)
  2. エンジニアが技術ブログの書き方と書く目的を振り返る | エンジニアが送る穴倉生活のすゝめ
  3. 伝えたい人に届ける技術記事の書き方 - Qiita
  4. 技術ブログを書こう

 

タイトルの付け方がヒントになりそう

 

他の僕に選ばれなかった記事について言及すると

めんどくさいので時間がかかるので一旦さておき

 

なぜ選んだのか?を自分なりに考察していこうと思う

目に留まったキーワードを列挙していく

 

1、「最高の」「3つ」

3つ覚えるだけですごいの書ける?!

というヨコシマな人間を狙い打った秀逸なタイトル

 

2、「エンジニアが」「書く目的」

今自分が一番欲している内容にピッタリフィット

 

3、「伝えたい人」「技術記事の」

文章は伝える人あってのもの!(ドヤ顔)

「ブログ」ではなく「記事」というお堅いワードで

しっかり書かれてそうなイメージUP

 

4、「書こう」

思わず「はい!」と返事をしたくなる呼びかけ形式

やる気が出る

 

---

 

とまぁこんな感じです

 

次回はこれらのページをみた上で

どう書くかという方針を決めていく

 

(つづく)