- 投稿日:2020-10-15T20:51:21+09:00
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講座」
有料ですが、初学者の私にも非常に理解しやすかったです。
最後に
本投稿が初学者の復習の一助となればと幸いです。
- 投稿日:2020-10-15T19:36:11+09:00
【Vue.js】 firebaseを使用してログイン機能、ユーザー登録機能作成
【ゴール】
Vue.jsでfirebaseを使用してログイン機能、ユーザー登録機能作成
【環境】
mac catarina 10.156
Vue.js v2.6.12
【実装】
firebaseをセットアップ
firebaseのURL
https://firebase.google.com/
※プロジェクトの作成は詳しくこちらで紹介しています。
https://qiita.com/tanaka-yu3/items/192886ce66522f0273651 ログインし、プロジェクト作成後、Authenticationの「メール、パスワード」を有効に変更
2 プロジェクトのWEB_APIキーを確認
左のメニューバー→設定→プロジェクトを設定,ウェブAPIキーを確認
firebase auth apiを確認
「firebase auth api」の公式サイトから、使いたい機能のドキュメント確認
https://firebase.google.com/docs/reference/rest/auth※※確認する項目は以下2点※※
■エンドポイントのURL
■応答ペイロード(firebaseに送る情報、データのことです。)コーディング
※「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
- 投稿日:2020-10-15T18:47:28+09:00
動画変換 MTS から MP4
MTS 形式の動画ファイル と Windows
Windowsで
MTS
の動画を読み込もうとしたら、最初の方は正しく再生できるのに、実際の長さと全然違う長さが表示されてて結局途中で止まっちゃって意味不明だった。どうやら
MTS
って拡張子はWindowsとめちゃくちゃ相性が悪いみたい!?Macの方ならちゃんと読み込めてるから、ここで一度MP4に変換することに。
「mp4 mts 変換」とかで調べると、怪しげな動画編集ソフトがたくさん出てきちゃったけど、次の記事にたどり着いた!
MacでAVCHD(.MTS)ファイルを扱う|複数のMTSファイルをmp4に変換する
ffmpeg
なんていう便利なのがあるのね!?ということで、次の記事なんかが参考になるね!すごいなぁ。めちゃくちゃありがたい!
1時間くらいの動画を変換するのに、大体70分くらいかかったから、気をつけてね!
Macじゃなきゃ変換もできないのかな?とか思ってたけど、Windowsでも扱えるみたいだね〜。
- 投稿日:2020-10-15T15:58:55+09:00
コマンドラインから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 - ) }
- 投稿日:2020-10-15T14:30:48+09:00
macOS セキュリティアップデート2020-002が入らない(High Sierra)
- 投稿日:2020-10-15T12:26:37+09:00
よく使う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/ユーザー名/Desktopmkdir
ディレクトリを作成する。(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が削除される最後に
本投稿が初学者の復習の一助となればと幸いです。
- 投稿日:2020-10-15T09:07:36+09:00
エンジニアなら知っておきたい生産性を爆上げするツール8選
はじめに
今まで自分が使ってきた中で、これは生産性が爆上げする!と思うものを厳選しました
是非最後までご覧ください
1. Biscuit
- 公式サイト -> Biscuit
複数のアプリをグループ分けしたり、まとめることができるアプリケーション
調べ物が多いエンジニアは、Chromeのタブがカオスになっていることがよくあります
個人的にはあれこれなんでも登録するのではなく、よく使うアプリだけをまとめるのが良いかなと思っています
設定のインポートやエクスポートも簡単なので、別のPCへの移行も楽チン
僕のBiscuitはこんな感じです⬇︎
2. Notion
- 公式サイト -> Notion
結論から言うと、私はNotionがないとダメな体になっています
出会いは2020年の2月頃、メモ帳よりも自由度が高くて何か良いものはないだろうかと模索していた頃にジャストフィットしました
単純なメモも取れる、Wikiやデータベースの作成も容易、動作も軽量、マルチデバイス対応、UIも好き
自由度が高いが故に最初は慣れるのが大変でした
しかし、使いこなせるようになるともう後戻りはできません
以前はパーソナルプランは有料でした(月額500円くらい)
しかし、なんと今は無料です
普通に課金してまで使いたいアプリだったので、これには驚かされました
Notionは米国のユニコーン企業が作っていて、着実に注目を浴びてきています
資金も潤沢で、これからさらにより良いものになっていくと予想されます
仕事ではミーティングの議事録を作ったり、タスクの見積もりをしたりなど、使い方は色々あります
プライベートでは映画を見るのが好きなので、映画のレビューをまとめたりしてます
3. Feedly
- 公式サイト -> Feedly
Feedlyは端的に言うと、RSSリーダーです
RSSリーダーとは、登録したホームページやWebメディアの情報を効率よく収集するためのものです
技術に関することや、テクノロジー関連のニュースは毎朝チェックするようにしています
個人的にはTechCrunch Japanやはてなブックマークの テクノロジーをよく見ます
全ての記事を見るのではなく、「お、これ面白そう」と思ったものや「これはチームで共有したいな」と思うものだけに目を通してます
ただでさえ情報過多なこの時代に、全てのニュースをチェックするのは不可能だし、する意味もないと思います
なので、Feedlyでフィルタリングしたものの中から必要だと思った情報だけにアクセスすることで、効率よく情報をインプットできると思っています
4. Alfred
- 公式サイト -> Alfred
Alfredは端的に言うとSpotlightの強化版です
Spotlightのショートカットをオーバーライドする形で
command + space
で開くようにしていますAlfredの何が嬉しいのかと言うと、アプリ検索はもちろん、デフォルトでChromeのブックマーク内の検索や、Alfred上でChrome検索ができるところです(他にも沢山やれることはあります)
「どこにブックマークしたかわからん」状態から開放されます
必要な時に、必要な情報にだけ高速にアクセスすることができます
ブックマークのディレクトリ内はカオスで良いんです
Alfredが見つけてくれます
もちろん無料です(有料のバージョンもあります)
⬇︎「CSS」と打つと、キーワードにマッチするブックマーク一覧が表示されます。
(この時、control + Enter
をすると、ブックマークではなく、Chrome検索にかけることもできます)5. Gyazo
- 公式サイト -> Gyazo
Gyazoを使っている人は多いと思います
PC標準のスクショを撮って、画像をアップロードするよりも遥かに高速で画像を共有できます
スクショの範囲も指定することができ、数秒のGIFも撮れたりします
オンラインのコミニケーションだと画像を使った方がわかりやすいことがあるので、入れておいて損はないかと思います
6. DeepL
- 公式サイト -> DeepL
翻訳アプリの黒船的存在です
長文でも、Google翻訳よりナチュラルな日本語に変換してくれます(体感)
このアプリの嬉しいところは
command + C(2回)
でアプリが起動し、翻訳にかけてくれるところですわざわざコピペする煩わしさから開放されます
7. iTerm2
- 公式サイト -> iTerm2
エンジニアに欠かせないターミナル
個人的に
control(2回)
で起動するように設定していますiTerm2の嬉しいポイントは、いつでもどこでもターミナルを呼び出せる点にあると思います
エディタやブラウザの上に半透明で覆いかぶさる形で表示できるので、画面遷移することなくターミナルを呼び出せます
もちろん、透明度やエディタの色やフォントなどカスタマイズもできます
8. Snap Camera
- 公式サイト -> Snap Camera
オンラインコミニケーションが活性化する中で、Snap Cameraはコミニケーションを豊にします
使い方は簡単で、Zoomなどで使用するときはカメラをSnap Cameraに変更するだけです
面白系のエフェクトもあれば(頻繁にやるとウザがられるかも)
肌艶をよくしてくれたりするものあります(スッピン状態でお化粧してくれるものも)
個人的に好きなのはホワイトニングエフェクトで、Roland並に歯が白くなります
まとめ
最後まで見て頂きありがとうございます
全てを一気にインストールすると疲れちゃうので、必要なものを必要なタイミングで入れて頂ければと思います
この記事が役に立ったと思ったらLGTMお願いします
少しでも多くの人の役に立てたなら幸いです
「このツールも良いよ!」と言うのがあれば是非コメント欄で教えてください