Laravelからのメール送信時にgmailを利用する(local dev env)

Swift_TransportException in AbstractSmtpTransport.php line 383:
Expected response code 250 but got code "535", with message "535-5.7.8 Username and Password not accepted. Learn more at
535 5.7.8 https://support.google.com/mail/?p=BadCredentials v65sm18105484pfi.42 - gsmtp
"

メール送信時に上記エラーが発生した場合は、 Gmailの2段階認証:オン にして、アプリパスワード再発行

Gmailはログイン時のパスワードと外部でSMTPとして利用する際のパスワードが違う。 ログイン時のパスワードをLaravelのenvファイルに書いた場合に上記エラーが発生する。 (何年か前も書いた気がするが、忘れてたので再度書く)

参考にさせて頂きました

気がつくと、6月の投稿を最後に何も書いてなかった。 その間にRubyKaigi行ったり、AppleWatchS2使い始めたりとネタはあったはずだが。。。。。

最近は家でスタンディングデスク環境も作ったので、その辺も近々。 明後日から沖縄に行くので、帰ってからまとめる。

最近はTHE WALKING DEAD ばかり見てて、Season4に入ったところ。さすがに飽きて来てる。

Backlogから通知されたissueをmenubarに表示

BitBarを使ってBacklogの通知を表示again

  • 前回はshellでAPIを叩いたが、rubyで書いてみたかっただけの記事
  • and 通知から通知元ページに遷移したかった

f:id:tbrhdys:20160622200210p:plain

f:id:tbrhdys:20160622200213p:plain

必要なpackage

書いてみたソース

bitbar-backlog-notify

ちょい気になった所

  • submenuを選択した後に、選択した前のissueがmenubarに表示される謎の動き
  • 結果として、puts "---" のハイフン3つが必要 (documentに記載あり)

BitBarを使ってBacklogの通知数をメニューバーに表示

ただscript書いてbitbarを試したかっただけの投稿

f:id:tbrhdys:20160610173520p:plain
* 通知が来たらBacklogの文字列が赤くなり、サイドメニューで件数表示

必要なpackage

  • bitbar
    • brew install bitbar
  • curlAPIを叩いて、戻り値のjsonをパースする便利なjq
    • jq
    • brww install jq

BaclogAPIでの通知数 ( response json )

{"count": 0}

BacklogAPIの通知数を取得してmenubarに表示する

  • KEYはBacklog上から取得
  • curl で取得して "| jq .count" でcountを取得
/plugins/backlog.10m.sh

#!/bin/bash
BKEY='your backlog api key'
TITLE='Backlog'
NOTIFY=`curl -sS https://yourspace.backlog.jp/api/v2/notifications/count\?alreadyRead\=false\&apiKey\=$BKEY | /usr/local/bin/jq .count`
[ $NOTIFY -gt 0 ] && echo "$TITLE | color=red" || echo "$TITLE | color=green"
echo "---"
[ $NOTIFY -gt 0 ] && echo $NOTIFY" | color=red" || echo $NOTIFY" | color=green"

今後試したい事

参考にしたい

ORA-01476出たのでNVL/NULLIFの確認

Oracle ORA-01476 について

  • 0除算なんだけど、NULLIF/NVLの違いが詳しく理解出来てなかったのでメモ
SQL> SELECT 2 / 0 FROM dual;
SELECT 2 / 0 FROM dual
         *
行1でエラーが発生しました。:
ORA-01476: 除数がゼロです。
  • 分母の除数が0の場合はnullを渡す
SQL> SELECT 2 / NULLIF(0, 0) FROM dual;

2/NULLIF(0,0)
-------------

NULLIF

  • 第一引数と第二引数が一致した場合にnullを返す
  • NVLと同様にnullの場合に0を返すイメージだったが、nullを返すという事で納得

参考

PHPのinteractive shell psyshを利用する

brew update で Permission denied

/usr/local/bin/brew: line 28: /usr/local/Library/brew.rb: Permission denied
/usr/local/bin/brew: line 28: exec: /usr/local/Library/brew.rb: cannot execute: Undefined error: 0

brewがいる /usr/localに権限がないとか

この記事を参考にさせて頂きました

$ sudo chown -R `whoami` /usr/local
$ cd /usr/local
$ git reset --hard origin/master

あとは、psyshのgithub READMEを参照

  • composerのpathを通してREADMEの通りに対応
export PATH=~/.composer/vendor/bin:$PATH
$ brew update && brew install composer
$ composer global require psy/psysh
# If asked what version constraint to use just type `*`
  • pshsyを叩く
➜  /tmp psysh
Psy Shell v0.7.2 (PHP 5.5.31 — cli) by Justin Hileman
>>> echo "interactive mode にするためにpsyshって打つのを思い出すのが一番つらい";
interactive mode にするためにpsyshって打つのを思い出すのが一番つらい⏎
=> null
>>>

Karabinerの設定ファイルをDropboxで管理

設定方法はKarabinerの公式Documentにあった 公式Doc

<include> with Dropbox
You can synchronize your private.xml by Dropbox or other file syncing service.

private.xml
<?xml version="1.0"?>
<root>
  <include path="{{ ENV_HOME }}/Dropbox/private/Karabiner/core.xml" />
</root>

Dropbox/private/Karabiner/core.xml
<?xml version="1.0"?>
<root>
  <item>
    <name>Dropbox Test!</name>
  </item>
</root>

参考にさせて頂きました

Vimでノーマルモードに戻った時に日本語入力OFFに変更

最近またVimキーバインドの練習を始めた
IntelliJ、SublimeText2もVimモードで利用中

  • karabinerを利用して"Ctrl+["を押下後に日本語入力OFFにする
  • 設定時に利用するappname,equalの表示方法
    • アプリケーション > 対象のアプリを右クリック > パッケージ内容を表示
    • Contensフォルダ内のinfo.plistを確認
    • CFBundleName -> appname に利用
    • CFBundleIdentifier -> equal に利用

Karabiner private.xml

<?xml version="1.0"?>
<root>
  <appdef>
    <appname>iTERM2</appname>
    <equal>com.googlecode.iterm2</equal>
  </appdef>
  <appdef>
    <appname>MACVIM</appname>
    <equal>org.vim.MacVim</equal>
  </appdef>
  <appdef>
    <appname>Sublime Text 2</appname>
    <equal>com.sublimetext.2</equal>
  </appdef>

  <appdef>
    <appname>IntelliJ IDEA</appname>
    <equal>com.jetbrains.intellij</equal>
  </appdef>
  
  <item>
    <name>Leave Insert Mode with EISUU (vim keybind apps)</name>
    <identifier>private.vim_keybind_apps_esc_with_eisuu</identifier>
    <only>iTERM2,TERMINAL,MACVIM,Sublime Text 2,IntelliJ IDEA</only>
    <autogen>__KeyToKey__ KeyCode::ESCAPE, KeyCode::ESCAPE, KeyCode::JIS_EISUU</autogen>
    <autogen>__KeyToKey__ KeyCode::BRACKET_LEFT, VK_CONTROL, KeyCode::BRACKET_LEFT, VK_CONTROL, KeyCode::JIS_EISUU</autogen>
  </item>

</root>

参考にさせて頂きました