Rails5: データベースがrakeタスクからdropできない時の対処法

問題点 Rails5になってrakeタスクのdrop動作に大きな変更があったらしく, Rails4からアップデートして初めての rake db:drop がエラーを吐いてしまう. $ bundle exec rake db:drop Mysql2::Error: Error dropping database (can't rmdir './db_name', errno:…

hatena-blog-and-fotolife v4.2.0 をリリース: エントリーリストとエントリーの取得ができるようになりました

hatena-blog-and-fotolife v4.2.0 をリリースしました。 以下の機能を追加しています。 エントリーリストの取得 コマンド: ⌥⌘I エントリーリストからエントリーの取得

Atomエディタからはてなブログエントリーの削除ができるようになりました

かねてより開発していたAtomパッケージ hatena-blog-entry-postをアップデートし、エントリーの削除機能を追加しました。 デモ このパッケージを使って、はてなブログにエントリーを投稿すると、次のようなコメントがファイルに挿入されます。 このコメント…

"Array values in the parameter are deprecated" エラー

問題と原因 Railsのサーバーやコンソール実行時次のような警告が出る場合: $ rails server Array values in the parameter are deprecated. Please use a String or nil. An Array was passed in from bin/rails:3:in `load' . . . この場合原因はbin/spring…

direnv使い始め

direnv direnvとは cdのようなシェルスクリプトをフックとしてディレクトリごとに環境変数を自動で設定してくれるツール ディレクトリをぬけ出すと環境変数はリセットされる インストールとセットアップ brewを使ってインストール: $ brew install direnv $ …

Error response from daemon: client is newer than server (client API version: 1.23, server API version: 1.22)

Dockerに関するエラー: $ docker ps Error response from daemon: client is newer than server (client API version: 1.23, server API version: 1.22) Machineの更新が必要なので、次のコマンドを打つ: $ docker-machine upgrade [machine名] 再度チャレン…

はじめてのUnity (C#)

参考: http://catlikecoding.com/unity/tutorials/clock/ シンプルな時計を作る 完成品はこちら: まずはプロジェクトの作成: プロジェクトの作成が完了したら、Create > Create Emptyから新しく"Clock"という名でゲームオブジェクトを作成する。また、Create…

はじめてのAurelia

http://aurelia.io Aureliaとは次世代UIフレームワーク。AngularJS、Reactに比べて影が薄い。どうなっていくんだろうか?チュートリアルをやってみた感想としては、HTTPリクエストとルーティング周りがクリーンで素敵。 以下、チュートリアルの適当な和訳。 …

Atomエディタから、はてなブログのエントリーを編集できるようになりました

以前から開発していた、Atomからはてなブログにエントリーを投稿できるようにするパッケージ hatena-blog-entry-post にプルリクエストをもらって、エントリーが編集できるようになりました。 ついでに日本語ドキュメントも作成しました。 パッケージはapm i…

Processingでカレンダーを作る

カレンダーを作ってみたが、長いし読み解きにくいコードになってしまった。input areaみたいなのは作れないのかな? int defaultYear = 2015; int defaultMonth = 5; int rectRX, rectRY; int rectLX, rectLY; int rectSize = 20; boolean leftButtonOver = …

最近読んだ論文まとめ(随時更新)

最近読んだ論文の要約。Google Scholarで論文検索やGoogle検索すれば読めるものも。 カレンダー 大橋亮人, et al. "イベント履歴を用いたスケジュール推薦カレンダーシステム." 情報処理学会第 73 回全国大会 2 (2011): 4. Mynatt, Elizabeth, and Joe Tulli…

20分で作るFacebookメッセンジャーボット(hubot)

20分で作るFacebookメッセンジャーボット(hubot) すごーく簡単にFacebookメッセンジャーボットが作成できました。後のためにその手順を分かりやすくメモしておきます。 別にhubotでなくともボットは作成できますが、今回は使い方に慣れているhubotを使用しま…

人工知能/機械学習: ベイジアンフィルタによるテクスト分類

人工知能/機械学習: ベイジアンフィルタによるテクスト分類 機械学習には多種ありますが、今回は自然言語処理、その中でも特に、ベイジアンフィルタについて扱ってみたいと思います。 このエントリを書くにあたって、下記の書籍がかなり参考になりました。機…

HubotからGithubのissueを扱う

HubotからGithubのissueを扱う http://shokai.org/blog/archives/9560 こちらコードに少し手を加えて、HubotからGtihub issueを扱えるようにしてみた。 create, list up, close github issues via hubot 使い方 Githubのトークンが必要: $ curl -i https://a…

Processing のエディタとして Atom を使う

Processing のコーディングを快適にするために、Atom を使ってみる。 Processing とは ビジュアルアートを学ぶためのオープンソースのプログラミング言語であり、開発環境。Java でビルドされており、その構文は Java をシンプルにしたもの。 エディタも備わ…

Atomのマークダウンプレビュー内で数式を扱う

Atomのマークダウンプレビュー内で数式を扱う まずは必要な以下のパッケージをインストール $ apm install markdown-preview-plus mathjax-wrapper 必要なパッケージ markdown-preview-plus マークダウンプレビューを可能にするパッケージ mathjax-wrapper M…

webpack, React Hot Loader + Browsersync でクロスブラウジング+ホットリロード開発

React Hot Loader + Browsersync React Hot Loader を使えば、エディタを保存した時点で、React コンポーネントの変更が検知され、ブラウザの更新が自動で行われます。さらに、React Hot Loader はHotModuleReplacementPlugin(HMR) を使用しているため、更新…

npmのバージョン管理まとめ

たまにしか活用しないから忘れるのでメモ 参考: semver | npm Documentation バージョン管理 npmでは、「セマンティックバージョニング」と呼ばれるバージョン管理法によって、依存パッケージやリリース物のバージョンを定義している。 npmにあるプロジェク…

ブラウザでマルコフ連鎖を用いた文章を要約できる要約器を作った

ブラウザでマルコフ連鎖を用いた文章を要約できる要約器を作った 作ったもの ブラウザでマルコフ連鎖(Website) hubotでマルコフ連鎖(Twitter) hubotはこんな感じのことを10分毎にツイートしている。 使用したもの 今回、要約器や要約スクリプトを作成するに…

Hubotでビットコインbotを作る

参考: http://qiita.com/hkusu/items/36ce56f3df4e7a0937cb 今回作ったもの 自然言語処理 bot (@hubot_uraway) | Twitter 必要なもの Herokuのアカウントと基礎知識 TwitterのBot用アカウント NPM 基本方針 Herokuにデプロイ(無料枠だと24時間のうち6時間ス…

SSH keyを作成してGithubに登録する

メモがてら残しておく。 新しくSSH keyを作成する $ ssh-keygen -t rsa -b 4096 -C "your_email@example.com" 保存パス Enter a file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter] パスフレーズの設定(任意) Enter passphrase (empty …

Babelを使うとアロー関数内のthisがundefinedになる

ややこしい問題に直面したので、メモしておく。 問題 次のように、jQueryでコールバック関数にアロー関数を用いたスクリプトを記述する。 $("item > title").each(() => { let title = $(this).text(); console.log(title); }); このES6の構文ををBabelでES5…

Atomエディターからはてなブログに投稿できるようになりました。

Atomエディターからはてなブログに投稿できるようになりました はてなブログからのお知らせ風に。 以前から開発していたAtomパッケージ、hatena-blog-entry-postを更新しました。 ダウンロード数がほぼないので継続して開発するモチベーションはありませんが…

Reduxのテストファースト開発(第七回 サーバー・アプリケーションとの接続)

前回 uraway.hatenablog.com Setting Up The Socket.io Client クライアントのReduxアプリと、サーバーのReduxアプリをどのようにつなげるのか。 サーバーはすでにsocket接続を受信し、voting stateを放出する準備がある。他方、クライアントはRedux storeを…

文系大学生がプログラミングを始めて4ヶ月経って思うこと

ライブラリ作ったりエディター作ったり、インプットよりアウトプットのほうが多い一ヶ月間だった。Reactしかビューライブラリを学習していないので、実際のところReactの何が良いのか実感していない。時間があれば他のビューライブラリもやっておこう。 ライ…

Reduxのテストファースト開発(第六回 クライアントサイドのRedux)

前回 uraway.hatenablog.com Introducing A Client-Side Redux Store Reduxはサーバーアプリケーションですでに使用し、その素晴らしさを確認した。次に、ReduxがReactアプリケーションとどのように作用するのかを見よう。 サーバーの時と同じように、アプリ…

Reduxのテストファースト開発(第五回 クライアント・アプリケーション)

前回 uraway.hatenablog.com The Client Application クライアントアプリケーションでもReudxを使用する。Redux自体がどのように働くかはすでに見た。Reduxは、Reactとどのように合わさるのか、Reactアプリのデザインにどのように影響するのか見ていこう。 C…

Reduxのテストファースト開発(第四回 Socket.io サーバーのセットアップ)

前回 uraway.hatenablog.com Setting Up a Socket.io Server このアプリケーションは別のブラウザアプリのサーバーとして働く。そのため、クライアントがサーバーと相互通信する方法が必要となる。 自身のあるいは他人のアクションがすぐに反映されるのを見…

Reduxのテストファースト開発(第三回 Reduxの導入)

前回 uraway.hatenablog.com Introducing Actions and Reducers アプリのコア関数はあるが、Reduxではこれらの関数を直接呼び出すことはしない。関数と外側の世界の中間層となるのが Action だ。 Action はstateの変化を描写するシンプルなデータ構造である…

Reduxのテストファースト開発(第二回 投票アプリケーションのロジック)

前回 uraway.hatenablog.com Writing The Application Logic With Pure Functions アプリケーションロジックに移ろう。アプリのコアは、木構造と新しい木構造を生み出す一連の関数から成り立つ。 Loading Entries まずはじめに、このアプリケーションは投票…