gakkie プログラミング 備忘録

tech::expert(現tech camp) 45期

cloud9 初回 ssh接続の設定方法

Cloud9でのssh接続でつまづいたので備忘録としてまとめました。

1

$ ssh-keygen

2

$ vi ~/.ssh/id_rsa.pub

f:id:shuzou555:20190703232656p:plain

3.全てコピー

f:id:shuzou555:20190703232710p:plain

4.トップページからiamに移動

f:id:shuzou555:20190703235031p:plain

1.ユーザー(画像1)
2.認証情報
3.sshパブリックのアップロード選択(画像2)→貼り付け
4.sshキーid自動生成される
5.SSH キーの表示の左をコピー(画像3)

5

f:id:shuzou555:20190703232807p:plain

$ vi ~/.ssh/config

(↓コード貼り付け)
Host git-codecommit.*.amazonaws.com
User (SSH キー ID貼り付け)
IdentityFile ~/.ssh/id_rsa


#:wq(vimに保存して抜ける)

6

$ chmod 600 config
$ ssh git-codecommit.(自分のregion 例えば us-east-2).amazonaws.com
$ yes

終了

調べると色々参考記事は出てくるのですが、自分は結構手間取ったので 画像を多めにまとめてみました。

よく使うHeroku コマンド

自分がよく使うHerokuコマンド、たまにしか使わないためほとんど覚えられないのでメモ書き程度にまとめる。

ログインとログアウト

$ heroku login
heroku: Press any key to open up the browser to login or q to exit: 
Opening browser to https://cli-auth.heroku.com/auth/browser/~
heroku: Waiting for login... ⣾

#ブラウザに飛んで認証ボタンを押してエディタに戻る。

Logging in... done
Logged in as 登録したメールアドレス
$ heroku logout
Logging out... done

自分のアプリをブラウザで確認する時

$ heroku open

コマンドを見たいとき

$ heroku help logs

初回の設定

アプリの作成
$ git init
$ git add .
$ git commit -m "heroku init"
$ heroku create

デプロイ

$ git commit -m 'update' .
$ git push heroku master

公式ドキュメント

devcenter.heroku.com

mongoDBローカルでの実行方法

環境

  • Mac OS X Yosemite 10.14.5
  • Homebrew 2.1.6
  • MongoDB shell version v4.0.3


MongoDB ローカルでの実行方法

インストール手順

基本的には公式ドキュメントに従ってインストール
Install MongoDB Community Edition on OS X — MongoDB Manual 3.4

1. Homebrew をアップデート
$ brew update
2. MongoDB をインストール
$ brew install mongodb

でインストールされる。

3. プロセスの起動

先ほどのインストールの最後に

==> Pouring mongodb-4.0.3_1.mojave.bottle.tar.gz
==> Caveats
To have launchd start mongodb now and restart at login:
  brew services start mongodb
Or, if you don't want/need a background service you can just run:
  mongod --config /usr/local/etc/mongod.conf
==> Summary
🍺  /usr/local/Cellar/mongodb/4.0.3_1: 18 files, 258.1MB

というメッセージが表示される。
Homebrew Services という機能を使って、再起動後もプロセスが自動起動するように設定するには

$ brew services start mongodb

を実行する。

そうではなく、一回限りの起動を行う場合は

$ mongod --config /usr/local/etc/mongod.conf

を実行する。

4. mongo コマンドの実行

3 でプロセスを起動した状態で

$ mongo

を実行

mba-2:~ name $ mongo
MongoDB shell version v4.0.3
connecting to: mongodb://127.0.0.1:27017
Implicit session: session { "id" : UUID("~~~~~") }
MongoDB server version: 4.0.3
Server has startup warnings: 
2019-06-24T21:25:55.930+0900 I CONTROL  [initandlisten] 
2019-06-24T21:25:55.930+0900 I CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.
2019-06-24T21:25:55.930+0900 I CONTROL  [initandlisten] **          Read and write access to data and configuration is unrestricted.
2019-06-24T21:25:55.930+0900 I CONTROL  [initandlisten] 
---
Enable MongoDB's free cloud-based monitoring service, which will then receive and display
metrics about your deployment (disk utilization, CPU, operation statistics, etc).

The monitoring data will be available on a MongoDB website with a unique URL accessible to you
and anyone you share the URL with. MongoDB may use this information to make product
improvements and to suggest MongoDB products and deployment options to you.

To enable free monitoring, run the following command: db.enableFreeMonitoring()
To permanently disable this reminder, run the following command: db.disableFreeMonitoring()
---

> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB

keynoteでプレゼンを作りiphoneで操作するときの設定方法

【注意】今回はプログラミング関連ではありません!!

[結論]

  • keynote
  • →プレゼン内容、プレゼン技術が1番大事、

    →プレゼンツールとして便利、使いこなせればトークではできない視覚的な情報でより相手に説得力あるプレゼンができるよ!!

    iphoneでリモート操作できるから便利。

[目次]

[本題]

keynoteについて

言わずと知れたプレゼンツールです。
2019/06/22 xhack勉強会に参加しておりました。
第7回最終回にプレゼンがあり,
その際行なったkeynoteの設定についてまとめました。

事前準備

  • mac
  • iphone
  • iphonekeynoteのアプリのダウンロード(デフォルトで入っているが、使わないとアンインストールされていることがある)
  • プロジェクタ
  • プロジェクタとmacを繋げるケーブル(※要確認!macの機種によってケーブルの端子の種類が違います!!)

iphoneと連携する方法

  • maciphone両方を”同じ”wifi回線に接続させる
  • mac側:keynotesを開く
  • 左上のkeynotes環境設定を選択
  • Remoteを選択
  • iphoneに移動:アプリを開き右上のiphoneマークを選択
  • 左上「デバイス」を選択
  • 「デバイスを追加」選択
  • macに移動:表示された自分のiphone選択
  • 「リンク」選択
  • 「確認」選択
  • maciphoneの連携完了

感想

  • iphoneをリモコンがわりにプレゼンを操作できる。
  • いちいちキーボードを押す煩わしさから解放される!
  • できる人ぽっく見える笑

おすすめプログラミング学習サイトまとめ

自分がよく使うプログラミング学習サイト

[目次]

[本題]

メインで使う学習サイト

言語別

【HTML/CSS/JS】

Ruby

SQL

AWS

AWS

使用するシチュエーション別

【英語で勉強したい】

【AIの機械学習

その他

【タイピング】

【ゲーム形式のプログラミング学習サイト】

【ER図】

ドットインストール Firebaseのデプロイで詰まった話

firebase でデプロイに失敗。
起きたエラーと解決方法のまとめ

エラー内容1

  • 190524 現在
  • 作業環境 mac

$ sudo npm install -g firebase-tools
→rootユーザに変わってしまい
$ chown で変更する必要がありました。

$ ls -la で権限をそれぞれ調べ
$ chownコマンドを使い権限を変更しました。
$ sudo chown gakkie:staff lib/node_modules/firebase-tools/
$ sudo chown gakkie:staff lib/node_modules/firebase-tools/node_modules/
最後はsudoなしで
$ npm install -g firebase-tools
とすることで無事インストールできました。 (編集済み)

macでも$ npm install -g firebase-toolsでやるべき。

エラー内容2

npm インストール後

$ firebase -V 実行<br>
bash: firebase: command not found

インストールに成功しているが、 コマンドの場所をbashが見つけられていない状態?と考えた

【追記190610】

npmのグローバルのパスの問題だとわかりました。

$ npm bin -g
(not in PATH env variable)
npmのグローバルのパスの問題でパスを通す必要がありました。
$ export PATH=$PATH:`npm bin -g`
でパスを通す事で解決。
$ firebase login
で無事ログインできました。
成功

あくまで自分の環境でのエラーかもしれませんが一助になれば幸いです。

【GAS】メルカリからの通知をLINEで確認できるようにする。(備忘録)

きっかけ

  • 最近メルカリを始めた
  • 売買などの通知は全て登録したメールアドレスに来る
  • どうせなら1つのツールで管理したい
  • 通知が来たらlineに送るようにしよう!!

手段

GASを使う

結論

使いこなせれば多くの業務の改善につながるため積極的に活用していきたい。

具体的な方法

先にやる設定

  • 個人グループを作成。
  • グループのアイコンを変更。
  • アイコンを見ただけでどのメールか視覚的に判別ができる

  1. ホーム画面
  2. f:id:shuzou555:20190531141823p:plain
  3. 個人グループ作成
  4. f:id:shuzou555:20190531140912p:plain
  5. 何もせずに次へ
  6. f:id:shuzou555:20190531140850p:plain
  7. 任意の名前をつける
  8. f:id:shuzou555:20190531140832p:plain
  9. 画像は自分の好きなものに変更する

1.トークンの発行と設定

  1. notify-bot.line.me
  2. ログインまたはサインアップ
  3. 右上のアイコンからマイページへ
  4. トークンを発行する(ページ下)
  5. トークン名を作成
  6. グループを指定する。初めに作った個人グループを指定
  7. トークンを発行
  8. コピー(※注意必ずメモ帳に貼っておくこと!!)

2.GoogleDriveへ移動

  1. MyDrive→その他→GoogleAppScrIpt
  2. コードをかく
  3. subjectに【メルカリ】と入力
  4. トークンキーを貼る
  5. 保存して実行
  6. 編集(左上)→現在のプロジェクトのトリガ
  7.  f:id:shuzou555:20190531150549p:plain
  8. トリガを設定
  9. f:id:shuzou555:20190531150808p:plain

Lineに移動

  • Line notifyをグループに招待する

コード

var FindSubject = 'subject:(【メルカリ】)';

function getMail(){

//指定した件名のスレッドを検索して取得 var myThreads = GmailApp.search(FindSubject, 0, 30); //スレッドからメールを取得し二次元配列に格納 var myMessages = GmailApp.getMessagesForThreads(myThreads);

for(var i in myMessages){ for(var j in myMessages[i]){

  <span class="synComment">//スターがないメッセージのみ処理   </span>
  <span class="synStatement">if</span>(!myMessages<span class="synIdentifier">[</span>i<span class="synIdentifier">][</span>j<span class="synIdentifier">]</span>.isStarred())<span class="synIdentifier">{</span> 

    <span class="synIdentifier">var</span> strDate = myMessages<span class="synIdentifier">[</span>i<span class="synIdentifier">][</span>j<span class="synIdentifier">]</span>.getDate();
    <span class="synIdentifier">var</span> strSubject = myMessages<span class="synIdentifier">[</span>i<span class="synIdentifier">][</span>j<span class="synIdentifier">]</span>.getSubject();
    <span class="synIdentifier">var</span> strMessage = myMessages<span class="synIdentifier">[</span>i<span class="synIdentifier">][</span>j<span class="synIdentifier">]</span>.getPlainBody().slice(0,300);

    <span class="synComment">//LINEにメッセージを送信</span>
    sendLine(strDate,strSubject,strMessage);

    <span class="synComment">//処理済みのメッセージをスターをつける</span>
    myMessages<span class="synIdentifier">[</span>i<span class="synIdentifier">][</span>j<span class="synIdentifier">]</span>.star(); 
  <span class="synIdentifier">}</span>
<span class="synIdentifier">}</span>

} }

function sendLine(strDate,strSubject,strMessage){

//Lineに送信するためのトーク var strToken = "発行したトークン"; var options = { "method" : "post", "payload" : "message=" + strDate + strSubject + strMessage, "headers" : {"Authorization" : "Bearer "+ strToken}

};

UrlFetchApp.fetch("https://notify-api.line.me/api/notify",options); }

参考にしたサイト

asatte.biz