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
- iphoneのkeynoteのアプリのダウンロード(デフォルトで入っているが、使わないとアンインストールされていることがある)
- プロジェクタ
- プロジェクタとmacを繋げるケーブル(※要確認!macの機種によってケーブルの端子の種類が違います!!)
iphoneと連携する方法
- macとiphone両方を”同じ”wifi回線に接続させる
- mac側:keynotesを開く
- 左上のkeynotes環境設定を選択
- Remoteを選択
- iphoneに移動:アプリを開き右上のiphoneマークを選択
- 左上「デバイス」を選択
- 「デバイスを追加」選択
- macに移動:表示された自分のiphone選択
- 「リンク」選択
- 「確認」選択
- macとiphoneの連携完了
感想
- iphoneをリモコンがわりにプレゼンを操作できる。
- いちいちキーボードを押す煩わしさから解放される!
- できる人ぽっく見える笑
おすすめプログラミング学習サイトまとめ
自分がよく使うプログラミング学習サイト
[目次]
[本題]
メインで使う学習サイト
言語別
【HTML/CSS/JS】
【Ruby】
【SQL】
AWS
【AWS】
- 【未経験でも挫折しない】40時間でAWS認定ソリューションアーキテクトアソシエイトを取得する方法
- これだけでOK! AWS 認定ソリューションアーキテクト – アソシエイト試験突破講座(初心者向け21時間完全コース)
使用するシチュエーション別
【英語で勉強したい】
【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.トークンの発行と設定
- notify-bot.line.me
- ログインまたはサインアップ
- 右上のアイコンからマイページへ
- トークンを発行する(ページ下)
- トークン名を作成
- グループを指定する。初めに作った個人グループを指定
- トークンを発行
- コピー(※注意必ずメモ帳に貼っておくこと!!)
2.GoogleDriveへ移動
- MyDrive→その他→GoogleAppScrIpt
- コードをかく
- subjectに【メルカリ】と入力
- トークンキーを貼る
- 保存して実行
- 編集(左上)→現在のプロジェクトのトリガ
- トリガを設定
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); }
参考にしたサイト
CI ツールの使い方を知るためTravis CI使ってみた。
きっかけ
circle CI関連のイベントに参加するためCIの使いかた、導入方法を学ぶ必要があったため
CircleCiを導入しようとしたが失敗
- 勉強するにあたり初めて知った言葉
- ビルド→実際に動くプログラムを作り出す作業
- 導入方法について
- 導入方法はわかったがファイル内の記述方法がわからず断念
- .circleci/config.yml を書く→CircleCI は、テスト環境の構築方法や実行するテスト内容の定義に YAML ファイルを使う
チュートリアルを発見。Travis CIを使ってみた。
<導入手順>
$ git clone git@github.com:YOUR_USER_NAME/travis-broken-example.git $ cd travis-broken-example
.travis.yml
language: php # テスト言語 php: - 5.5 # 環境1 - 5.4 # 環境2 - #hhvm #現在(190528)ver PHP 7.3.1だとerror255が発生。コメントアウトした。 script: phpunit Test.php # この処理がCIとして走る
Travis CIに登録
Travis でレポジトリを有効化する
ローカルに移動
- git cloneしてきたフォルダを開く
- コミット
- pushする
$ git add . $ git commit -m "test Travis CI" $ git push
ブラウザに移動
テストが回り始める
- 成功例
The command "phpunit Test.php" exited with 0.
The command "phpunit Test.php" exited with 255.
参考にした記事
Sassの基礎
Sassとは?
- CSSをより効率的にかくことができる言語
- SASS記法とSCSS記法の2つがある
メリットは?
- CSSより記述を減らせる
- コードの再利用ができる
通常のCSS
.header { width: 100%; } .header ul{ padding: 20px; }
Sassの場合
.header{ width: 100%; ul{ padding: 20px; } }
入れ子構造のメリットは?
- 大きなサイトになるほど効果が大きい
- クラス名の変更が簡単になる
↓の場合Sassでは1箇所の変更だけで対応できる
通常のCSS
.header { width: 100%; } .header ul{ padding: 20px; } .header ul li { font-size: 30px; }
Sassの場合
.header { width: 100%; ul { padding: 20px; } li { font-size: 30px; } }