20201015のMacに関する記事は7件です。

Dockerの概要(初学者向け)

はじめに

Dockerは多くのIT開発企業で導入されている技術です。
エンジニアを目指す方の多くは今後使用することとなるため、学習した内容を簡単にまとめようと思います。

Dockerとは?

一言で言うと、環境構築を楽にさせるものです。
通常、アプリケーションを開発する際は、環境構築から始まります。
環境構築をする時はいくつものパッケージをダウンロードします。
その際、エラーが出て、トラブルシュートしたりと大変な作業となり、
これをチームメンバー全員が行うことになります。
また、開発環境、テスト環境、本番環境でも環境構築を気に掛ける必要があります。
Dockerではコンテナを起動するだけで環境構築が完了するため、環境構築が非常に楽になります。

コンテナとは?

通常、コンテナと言うものは内部にものを入れることができる容器のことです。
Dockerでのコンテナは、自身のPCやサーバーに多数作成でき、開発環境や実行環境、パッケージ、ライブラリをインストールすることができる箱のようなものです。
コンテナの中で作業したり、コンテナを使ってスクリプトを動かすことができます。
一つコンテナを作れば、それを誰かに渡したり、テスト環境や本番環境に渡したりすることができます。

コンテナの作り方

Docker file => Docker image => コンテナ

Docker fileを作成し、そこからDocker imageを作成します。
このDocker imageからコンテナを作成することができます。

Docker Hub

多くのパッケージはDocker Hubの中に用意されています。
Gitで言うGit Hubのようなものです。
Docker imageをpublicで管理する時にDocker Hubを使い、
Docker imageをpullすることで、コンテナを作成することができます。

参考

Udemy

かめれおん講師 「米国AI開発者がゼロから教えるDocker講座」

https://www.udemy.com/share/103aTRAEAdd1pTTHoC/

有料ですが、初学者の私にも非常に理解しやすかったです。

最後に

本投稿が初学者の復習の一助となればと幸いです。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

【Vue.js】 firebaseを使用してログイン機能、ユーザー登録機能作成

【ゴール】

Vue.jsでfirebaseを使用してログイン機能、ユーザー登録機能作成

画面収録 2020-10-15 19.26.54.mov.gif

【環境】

mac catarina 10.156
Vue.js v2.6.12

【実装】

firebaseをセットアップ

firebaseのURL
https://firebase.google.com/

※プロジェクトの作成は詳しくこちらで紹介しています。
https://qiita.com/tanaka-yu3/items/192886ce66522f027365

1 ログインし、プロジェクト作成後、Authenticationの「メール、パスワード」を有効に変更

スクリーンショット 2020-10-15 19.04.03.png

2 プロジェクトのWEB_APIキーを確認

左のメニューバー→設定→プロジェクトを設定,ウェブAPIキーを確認

スクリーンショット 2020-10-15 19.38.25.png

 firebase auth apiを確認

「firebase auth api」の公式サイトから、使いたい機能のドキュメント確認
https://firebase.google.com/docs/reference/rest/auth

※※確認する項目は以下2点※※
■エンドポイントのURL
■応答ペイロード(firebaseに送る情報、データのことです。)

今回は、sign-insign-upですね!!
スクリーンショット 2020-10-15 19.11.37.png

 コーディング

※「axios」を事前にインストール(http通信を利用する為)
※「data」には先ほど1で確認し、必要である「email, password」のデータをセット
※「.then」の記述はコンソールでデータの確認をする為
※「this.email = "";」は入力完了後に空に戻す処理です。
※「input」に「v-model」ディレクティブを忘れないように!!正常にデータ渡せません
※「returnSecureToken」は常に「true」を返します

Login.vue
<template>
  <div>
    <h2>Login</h2>
    <div class="form">
      <label for="emial">Email:</label>
      <input type="text" v-model="email" />
    </div>
    <div class="form">
      <label for="password">password:</label>
      <input type="password" v-model="password" />
    </div>
    <div class="form">
      <button @click="Login">ログイン</button>
    </div>
  </div>
<template>

<script>
import axios from "axios";

export default {
  data() {
    return {
      email: "",
      password: "",
    };
  },
  methods: {
    Login() {
      axios
        .post(
          "https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=あなたのWEB_APIキー",
          {
            email: this.email,
            password: this.password,
            returnSecureToken: true,
          }
        )
        .then((res) => {
          console.log(res);
        });
      this.email = "";
      this.password = "";
    },
  },
};
</script>

Register.vue
<template>
  <div>
    <h2>Register</h2>
    <div class="form">
      <label for="emial">Email:</label>
      <input type="text" v-model="email" />
    </div>
    <div class="form">
      <label for="password">password:</label>
      <input type="password" v-model="password" />
    </div>
    <div class="form">
      <button @click="Register">登録</button>
    </div>
  </div>
</template>

<script>
import axios from "axios";

export default {
  data() {
    return {
      email: "",
      password: "",
    };
  },
  methods: {
    Register() {
      axios
        .post(
          "https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=あなたのWEB_APIキー",
          {
            email: this.email,
            password: this.password,
            returnSecureToken: true,
          }
        )
        .then((res) => {
          console.log(res);
        });
    },
  },
};
</script>

【まとめ】

■firebaseのプロジェクトでAuthenticationのメールパスワードを有効に
■firebase auth apiで使用したい機能のドキュメントを確認
■URL、タイポのミスがないように記述

【オススメ記事】

■ 【Vue.js】 axios / firebaseを利用して、データのやり取り
https://qiita.com/tanaka-yu3/items/192886ce66522f027365

■ 【Vue.js】クリック処理 @click
https://qiita.com/tanaka-yu3/items/e578cadf35a7bc024770

■ 【Vue.js】 IF文・For文 条件分岐、繰り返し処理
https://qiita.com/tanaka-yu3/items/0ccf9a11525331b764de

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

動画変換 MTS から MP4

MTS 形式の動画ファイル と Windows

WindowsでMTSの動画を読み込もうとしたら、最初の方は正しく再生できるのに、実際の長さと全然違う長さが表示されてて結局途中で止まっちゃって意味不明だった。

どうやらMTSって拡張子はWindowsとめちゃくちゃ相性が悪いみたい!?

Macの方ならちゃんと読み込めてるから、ここで一度MP4に変換することに。

「mp4 mts 変換」とかで調べると、怪しげな動画編集ソフトがたくさん出てきちゃったけど、次の記事にたどり着いた!

MacでAVCHD(.MTS)ファイルを扱う|複数のMTSファイルをmp4に変換する

ffmpegなんていう便利なのがあるのね!?ということで、次の記事なんかが参考になるね!

それFFmpegで出来るよ!

すごいなぁ。めちゃくちゃありがたい!

1時間くらいの動画を変換するのに、大体70分くらいかかったから、気をつけてね!
Macじゃなきゃ変換もできないのかな?とか思ってたけど、Windowsでも扱えるみたいだね〜。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

コマンドラインからINCI名を日本化粧品工業連合会のWEBで検索して成分表示名称などを取得する。

コマンドラインからINCI名を日本化粧品工業連合会のWEBで検索して成分表示名称などを取得する。

概要

化粧品の輸入をする場合INCI名で書かれた成分リストを日本語のものに変換する作業が絶対に必要になる。日本化粧品工業連合会のWEBで検索してポチポチとやっていたのだが、めんどくさくなったので、将来の「表ごと変換」も視野に入れてまずはコマンドラインから検索できるようにする。

前提条件

  • mac
  • zsh

使い方

functionをコピペで貼り付けてエンター
その後

% search_from_jcia_by_inci [INCI_NAME]

% search_from_jcia_by_inci PG

結果

<?xml version="1.0" encoding="utf8"?>
<return_data>
  <rows>
    <row id="550009">
      <cell>
                550009  
            </cell>
      <cell>
                PG
            </cell>
      <cell>
                Propylene Glycol
            </cell>
      <cell>
                本品は、次の化学式で表される二価アルコールである。
            </cell>
      <cell>
                1
            </cell>
      <cell>
                2621
            </cell>
      <cell>
            </cell>
      <cell>
                1
            </cell>
    </row>
  </rows>
  <message>
</message>
  <debug>
</debug>
  <status>1</status>
  <page>0</page>
  <max>1</max>
  <limit>10</limit>
</return_data>

貼り付けるもの

function search_from_jcia_by_inci(){

  if test -z $1 ; then
    echo "usage  : search_from_jcia_by_inci [INCI_NAME]"
    echo "ex) search_from_jcia_by_inci BG"
  fi
  (
  PHPSESSID=$(curl 'https://www.jcia.org/user/business/ingredients/search' \
    -H 'Connection: keep-alive' \
    -H 'Accept: */*' \
    -H 'X-Requested-With: XMLHttpRequest' \
    -H 'sec-ch-ua-mobile: ?0' \
    -H 'Content-Type: application/x-www-form-urlencoded; charset=UTF-8' \
    -H 'Origin: https://www.jcia.org' \
    -H 'Sec-Fetch-Site: same-origin' \
    -H 'Sec-Fetch-Mode: cors' \
    -H 'Sec-Fetch-Dest: empty' \
    -H 'Referer: https://www.jcia.org/user/business/ingredients/namelist' \
    -H 'Accept-Language: ja,en-US;q=0.9,en;q=0.8' \
    --data-raw 'search%5Bfreeword%5D=@'$1 \
    --compressed -i | grep 'Set-Cookie: PHPSESSID=' | cut -d '='  -f2 | cut -d ';' -f1)

   curl 'https://www.jcia.org/user/business/ingredients/list/page/0' \
        -H 'Connection: keep-alive' \
        -H 'Accept: text/plain, */*; q=0.01' \
        -H 'sec-ch-ua-mobile: ?0' \
        -H 'X-Requested-With: XMLHttpRequest' \
        -H 'Sec-Fetch-Site: same-origin' \
        -H 'Sec-Fetch-Mode: cors' \
        -H 'Sec-Fetch-Dest: empty' \
        -H 'Referer: https://www.jcia.org/user/business/ingredients/namelist' \
        -H 'Accept-Language: ja,en-US;q=0.9,en;q=0.8' \
        -H 'Cookie: PHPSESSID='$PHPSESSID';' \
        --compressed | xmllint --encode utf8 --format -
    )
  }
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

macOS セキュリティアップデート2020-002が入らない(High Sierra)

シャットダウンができない!

万が一のこともありますので、予め必要なバックアップは取っておいたほうが良いと思います。

ダウンロードされたファイルは/Library/Updates/にいます。

$ softwareupdate -i -a

を行った後

$ sudo shutdown -r now

で再起動してください。
画面フリーズの状態などでどうにもならなくなった場合はハードウエェアリセットの上電源を再投入します。

アップデートに成功した際のバージョンは10.13.6(17G12034)になるはずです。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

よく使うLinuxコマンド(初学者向け)

はじめに

Linuxは世界中で使われているOSです。MacでもLinuxコマンドは使われますので、よく使うコマンドを一度まとめたいと思います。

今回紹介する Linuxコマンド

  • cd
  • pwd
  • mkdir
  • touch
  • ls
  • rm
  • rm -r

詳細

cd

ディレクトリを移動する。(current directory)

ターミナル
% cd /
=> /(ルートディレクトリ)へ移動
% cd
=> ~(ホームディレクトリ)へ移動
% cd appfolder
=> カレントディレクトリ内にappfolderというディレクトリがある場合はappfolderへ移動
% cd ..
=> 親ディレクトリ(カレントディレクトリの一段上のディレクトリ)へ移動

pwd

今いるディレクトリを表示する。(pringt working directory)

ターミナル
例) Desktopにいる時

% pwd
=> /Users/ユーザー名/Desktop

mkdir

ディレクトリを作成する。(make directory)

ターミナル
例)Desktopにいる時

% mkdir newfolder
=> Desktopにnewfolderというディレクトリが作成される

touch

新しいファイルを作成する。

ターミナル
例)Desktopにいる時

%  touch newfile
=> Desktopにnewfileというファイルが作成される

ls

カレントディレクトリ内のファイルやディレクトリを一覧表示する

ターミナル
例)ルートディレクトリにいる時

%  ls
=> Applications Systems Volumes cores...以下省略

rm

カレントディレクトリ内のファイルを削除する

ターミナル
例)Desktopにいて、Desktopにnewfileというファイルが存在する時

%  rm newfile
=> Desktop上のnewfileが削除される

rm -r

カレントディレクトリ内のディレクトリを削除する。

ターミナル
例)Desktopにいて、Desktopにnewfolderというディレクトリが存在する時

%  rm -r newfolder
=> Desktop上のnewfolderが削除される

最後に

本投稿が初学者の復習の一助となればと幸いです。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

エンジニアなら知っておきたい生産性を爆上げするツール8選

はじめに

今まで自分が使ってきた中で、これは生産性が爆上げする!と思うものを厳選しました

是非最後までご覧ください

1. Biscuit 

スクリーンショット 2020-10-14 14.32.13.png

複数のアプリをグループ分けしたり、まとめることができるアプリケーション

調べ物が多いエンジニアは、Chromeのタブがカオスになっていることがよくあります

個人的にはあれこれなんでも登録するのではなく、よく使うアプリだけをまとめるのが良いかなと思っています

設定のインポートやエクスポートも簡単なので、別のPCへの移行も楽チン

僕のBiscuitはこんな感じです⬇︎

スクリーンショット 2020-10-14 15.26.12.png

2. Notion

スクリーンショット 2020-10-14 14.36.44.png

結論から言うと、私はNotionがないとダメな体になっています

出会いは2020年の2月頃、メモ帳よりも自由度が高くて何か良いものはないだろうかと模索していた頃にジャストフィットしました

単純なメモも取れる、Wikiやデータベースの作成も容易、動作も軽量、マルチデバイス対応、UIも好き

自由度が高いが故に最初は慣れるのが大変でした

しかし、使いこなせるようになるともう後戻りはできません

以前はパーソナルプランは有料でした(月額500円くらい)

しかし、なんと今は無料です

普通に課金してまで使いたいアプリだったので、これには驚かされました

Notionは米国のユニコーン企業が作っていて、着実に注目を浴びてきています

資金も潤沢で、これからさらにより良いものになっていくと予想されます

仕事ではミーティングの議事録を作ったり、タスクの見積もりをしたりなど、使い方は色々あります

プライベートでは映画を見るのが好きなので、映画のレビューをまとめたりしてます

スクリーンショット 2020-10-14 15.10.14.png

スクリーンショット 2020-10-14 15.11.10.png

スクリーンショット 2020-10-14 15.10.45.png

3. Feedly

スクリーンショット 2020-10-14 14.39.33.png

Feedlyは端的に言うと、RSSリーダーです

RSSリーダーとは、登録したホームページやWebメディアの情報を効率よく収集するためのものです

技術に関することや、テクノロジー関連のニュースは毎朝チェックするようにしています

個人的にはTechCrunch Japanはてなブックマークの テクノロジーをよく見ます

スクリーンショット 2020-10-14 15.17.41.png

全ての記事を見るのではなく、「お、これ面白そう」と思ったものや「これはチームで共有したいな」と思うものだけに目を通してます

ただでさえ情報過多なこの時代に、全てのニュースをチェックするのは不可能だし、する意味もないと思います

なので、Feedlyでフィルタリングしたものの中から必要だと思った情報だけにアクセスすることで、効率よく情報をインプットできると思っています

4. Alfred

スクリーンショット 2020-10-14 14.42.53.png

Alfredは端的に言うとSpotlightの強化版です

Spotlightのショートカットをオーバーライドする形でcommand + spaceで開くようにしています

Alfredの何が嬉しいのかと言うと、アプリ検索はもちろん、デフォルトでChromeのブックマーク内の検索や、Alfred上でChrome検索ができるところです(他にも沢山やれることはあります)

「どこにブックマークしたかわからん」状態から開放されます

必要な時に、必要な情報にだけ高速にアクセスすることができます

ブックマークのディレクトリ内はカオスで良いんです

Alfredが見つけてくれます

もちろん無料です(有料のバージョンもあります)

⬇︎「CSS」と打つと、キーワードにマッチするブックマーク一覧が表示されます。
(この時、control + Enterをすると、ブックマークではなく、Chrome検索にかけることもできます)

スクリーンショット 2020-10-14 15.23.45.png

5. Gyazo

  • 公式サイト -> Gyazo

スクリーンショット 2020-10-14 14.46.55.png

Gyazoを使っている人は多いと思います

PC標準のスクショを撮って、画像をアップロードするよりも遥かに高速で画像を共有できます

スクショの範囲も指定することができ、数秒のGIFも撮れたりします

オンラインのコミニケーションだと画像を使った方がわかりやすいことがあるので、入れておいて損はないかと思います

6. DeepL

  • 公式サイト -> DeepL

スクリーンショット 2020-10-14 14.54.47.png

翻訳アプリの黒船的存在です

長文でも、Google翻訳よりナチュラルな日本語に変換してくれます(体感)

このアプリの嬉しいところはcommand + C(2回)でアプリが起動し、翻訳にかけてくれるところです

わざわざコピペする煩わしさから開放されます

7. iTerm2

スクリーンショット 2020-10-14 14.58.40.png

エンジニアに欠かせないターミナル

個人的にcontrol(2回)で起動するように設定しています

iTerm2の嬉しいポイントは、いつでもどこでもターミナルを呼び出せる点にあると思います

エディタやブラウザの上に半透明で覆いかぶさる形で表示できるので、画面遷移することなくターミナルを呼び出せます

もちろん、透明度やエディタの色やフォントなどカスタマイズもできます

8. Snap Camera

スクリーンショット 2020-10-14 15.02.23.png

オンラインコミニケーションが活性化する中で、Snap Cameraはコミニケーションを豊にします

使い方は簡単で、Zoomなどで使用するときはカメラをSnap Cameraに変更するだけです

面白系のエフェクトもあれば(頻繁にやるとウザがられるかも)

肌艶をよくしてくれたりするものあります(スッピン状態でお化粧してくれるものも)

個人的に好きなのはホワイトニングエフェクトで、Roland並に歯が白くなります

コメント-sadf2sasdfasadfsdasdffdfasdfasdfsf2asdfsasdfdfsfa0sdf-0wer3-05sdf-132058.jpg

まとめ

最後まで見て頂きありがとうございます

全てを一気にインストールすると疲れちゃうので、必要なものを必要なタイミングで入れて頂ければと思います

この記事が役に立ったと思ったらLGTMお願いします:thumbsup:

少しでも多くの人の役に立てたなら幸いです

「このツールも良いよ!」と言うのがあれば是非コメント欄で教えてください:angel_tone2:

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む