開発日誌

日々の中で得た知識を書き溜めていくブログです

Could not authenticate youが発生する

運用しているTwitterボットで「Could not authenticate you.」が頻繁に発生するようになりました。 ちなみに、こちらのGemを使用してツイートしています。

GitHub - sferik/twitter: A Ruby interface to the Twitter API.

エラーの内容から推測するに認証が失敗しているように見えるのですが、Twitterに該当のアカウントで問題なくログインできるし、毎回エラーが発生するわけでもないので原因が分かりませんでした。

色々試行錯誤していたところ、ツイートの内容に*(アスタリスク)が含まれていると「Could not authenticate you.」が発生するようで、既にIssueも上がってました。

github.com

とりあえず、Issueが解決するまでアスタリスクは使わない方向で対処しようと思います。

HHKBがHigh Sierraに対応してました

先日、暇だったのでSierraからHigh Sierraに軽い気持ちでアップデートしてみました。ところが、私の愛用しているHHKBの英数/かなの切替キーが効かなくなる事象に遭遇しました。各種アプリの対応状況は全く気にせずアップデートしたため、HHKBのドライバが未対応であることにアップデートしてから気づきました。

ちなみに、私が使っているのはこれです。

HHKBの公式サイトでは、Sierraまでは対応している旨は記載されており、Twitter上でもHigh Sierra対応はまだか?というツイートもあったので、いつ頃の対応になるのかサポートに問い合わせてみました。

ところが、サポートからの回答ではHigh Sierraでも問題なく動作するとの回答でした。

何回かやり取りをしていくうちに原因が分かりました。

High Sierraに弊社ドライバーをインストールの途中に、拡張機能の ブロックに関するポップアップが表示されるかと存じます。
OKボタンをクリックする前に、セキュリティとプライバシーでPFU LIMITED のシステムソフトウェアを「許可」にしていただくようにお願いします。

インストール途中にポップアップが表示された記憶がなかったので、再度HHKBドライバをインストールし直してみましたが、やはりポップアップは表示されず、インストールも問題なく完了しました。ところが、システム環境設定セキュリティとプライバシーを確認したところ、こんなアラートが表示されてました。

f:id:H7kayama:20171123102247p:plain

これは、ポップアップが表示されないと気づかんよ・・・。

許可したところ、問題なく英数/かなの切替キーが反応してくれました。

ちなみに、HHKBのサポートの対応が半端なく良かったです。 夜に問合せすると、翌日の9時には回答が返ってくる感じで対応が早くて驚愕しました。 サポートの方、対応ありがとうございました。

Slackの通知が突如こなくなった話

ASUSのZenFone Liveを使い始めて数日経った頃、SlackやChatWorkのプッシュ通知がこなくなる現象に陥りました。 プッシュ通知がこなくなり約3ヶ月経った今日このごろ、この事象がやっと解決できたのでここに書きます。

原因は、ZenFone端末にプリインストールされているASUS製の「モバイルマネージャー」というヤツでした。 こいつに自動起動マネージャー機能というものがあり、アプリの自動起動を無効にできたりします。案の定、SlackやChatWorkの自動起動が許可されていませんでした。デフォルトは無効なのかな?

f:id:H7kayama:20171114010428j:plain

これを許可にしたところプッシュ通知は問題なく来るようになりました。 プッシュ通知がこないとマジで不便極まりないので、正直買い換えようかと考えていた矢先でしたので解決してホッとしています。

Rails5+React+ActionCableでチャットアプリを作る

Rails5で追加されたActionCableを使ったことがなかったので練習がてらチャットアプリを作ってみました。 こちらの記事を参考に作ってみましたが、サクッと簡単にチャットアプリが作れてしまいました。さすが、Rails凄いです。(前からJobsディレクトリの用途が不明だったのですがActionCableで使うのね)

qiita.com

最近、Reactにハマっているので、Reactでチャットアプリを作ってみましたが、ReactとActionCableの連携も難なく行えました。さすが、Rails凄いです。

React部分のソースコードはこちら。

今回作ったアプリはこちら github.com

IBM Bluemix認定資格を受けてきました

IBM Bluemixの認定資格を会社の経費で受けられる機会があったので受けてきました。 結果、合格ラインが56問中70%以上のところ86%で無事に合格できました。

C5050-384: IBM Cloud Platform Application Development v2

HerokuやAWSなどのクラウドを普段使っている方であれば難なく解ける問題だと思います。特にIBM Bluemixは12 Factor Appを推奨していることもあって、Herokuのデプロイメントの仕組みを理解しているとすんなり解ける問題が多い気がします。

ちなみに私はこちらの記事を参考に勉強しました。

qiita.com

以下の資料を読んでおくと試験はもちろん、Bluemixを体系的に学べるのでオススメです。

IBM Cloud Professional Certification Program Study Guide Series

Cloud application developer certification preparation - developerWorks Courses

ZenFone Liveを買いました

ZenFone Live(ZB501KL)を購入しました。

f:id:H7kayama:20170806235510j:plain

今までZenFone 2 laserを使っていましたが、こちらの事象に堪えられなくなったので買い替えました。(ZenFone 2を購入したのが2年前で事象が発生し始めたのが1年前ぐらいからです。結構耐えてきました・・・。)

pikaichi.net

ASUS以外のメーカーで2万円前後のものを探していて、指紋認証Android 7.0が搭載されているモトローラのMoto G5を買おうと考えてました。 いざ、ヨドバシに買いに行ったところ、お目当てのMoto G5はあったのですがケースが売ってなく、泣く泣くZenfone Liveに決めました。

が、使ってみたところ、フォルムがiPhone7に近く、かつ軽い、ファーストインプレッションは予想外に良い感じでした。 音量ボタンのダブルクリックでカメラ起動は何気に助かります。

これから、色々使い倒していきたいと思います。

取り敢えず今気になっている点は、デフォルトでインストールさている「電子書籍」「i-フィルター」等をアンインストールしようとすると「問題が発生したため、設定を終了します。」と表示され、アンインストールができません。

サポートに問い合わせてみたいと思います。

(追伸 8/13)
サポートに問い合わせたところデフォルトでインストールされているアプリはアンインストールできないとのことでした。Zenfone2の時はアンインストールできたんですけどね。これバグだと思うんですけど・・・

Electronを試してみる

最近のお気に入りのエディタはVisual Studio Codeです。
そのVisual Studio Codeで採用されているElectronを試してみました。

Electronとは?

ElectronはHTML+CSS+JavascriptといったWeb技術でデスクトップアプリが開発できるフレームワークです。 Javascriptの実行エンジンにV8、レンダリングエンジンにChromiumを使用しています。 V8なので、ES2015の記法で書けるし、Node.jsが組み込まれているのでnpmも使用できます。 もちろん、ReactやVue.jsのフレームワークも使用できます。

ElectronでHello World

Electronをインストールします。

$ npm install electron -g

package.jsonを作成します。

$ npm init

メイン処理のindex.jsを作成します。

const {app, BrowserWindow} = require('electron')

app.on('ready', () => {
  let mainWindow = new BrowserWindow({width: 800, height: 600})
  mainWindow.loadURL(`file://${__dirname}/index.html`)
  mainWindow.on('closed', () => {
    mainWindow = null
  })
})

loadURLメソッドで指定しているindex.htmlを作成します。

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Electron App</title>
</head>
<body>
  <h1>Hello World!</h1>
</body>
</html>

アプリを起動してみます。

$ electron .

f:id:H7kayama:20170722143001p:plain

Hello Worldが表示されます。簡単ですね。
これから色々と弄っていきたいと思います。