アイデアの出し方について何冊か本を読んでみた。

Ruby on RailsとかWebフレームワークの使い方はわかった。よし、WEBアプリを自分で作ってみよう!って時に困るのがアイデア

いざ、サービスを作ろうと思って、アイデアを出してみるとあまりいいアイデアが出てこなかったり、どこかでみたようなアイデアばかりが浮かんでくる。

で、さすがにアイデアが出なさすぎるので、アイデアを技術を学んでみることにした。

参考にしたのは下記の本。

Webサービスのつくり方 ~「新しい」を生み出すための33のエッセイ (Software Design plus)

Webサービスのつくり方 ~「新しい」を生み出すための33のエッセイ (Software Design plus)

アイデアのつくり方

アイデアのつくり方

アイデア・ハンター―ひらめきや才能に頼らない発想力の鍛え方

アイデア・ハンター―ひらめきや才能に頼らない発想力の鍛え方


基本的な流れは、自分のやりたいこと(WEBサービスの作り方では哲学、アイデアハンターでは「技」)を中心に情報を集め、アイデアを出したらその組み合わせでいいアイデアを作っていくというもの。

多分今までのアイデア出しがうまくいってなかったのは、この情報集め・アイデア出しを地道にしていなかったので、アイデアのストックが少ないのが原因だと思う。

くだらないアイデアだからという姿勢でアイデアを潰していたのも原因のようだ。アイデアは組み合わせが重要なので、陳腐なものでも組み合わせ次第ではイノベーションにつながる可能性がある。

これからは、情報集め・アイデア出しは地道にやっていき、組み合わせができるようなアイデアを増やしていくことにする。


哲学、やりたいことについては、上記の本ではそんなにページが割かれていないので、下記の本を読んでみるといいかもしれない。両方とも自分の強みや本当にやりたいことを探したいときに役にたつ本だと思う。

さあ、才能(じぶん)に目覚めよう―あなたの5つの強みを見出し、活かす

さあ、才能(じぶん)に目覚めよう―あなたの5つの強みを見出し、活かす

才能を磨く ~自分の素質の生かし方、殺し方~

才能を磨く ~自分の素質の生かし方、殺し方~


※追記
考えてみれば、このアイデア出しは自分のデバッグの時とやり方が似ているなということに気づいた。
ログ・データ・プログラム・過去の経験など情報収集して少し考えたら、あとは放っておく。すると、すっとバグの原因や解決が頭の中に出てくる。

バグの原因を探すのも一種のアイデアの組み合わせみたいなのが必要だから、それが似ているのかもしれない。

everyday Rails RspecによるRailsテスト入門を読みました。

Rspecの勉強をしているので、伊藤淳一さんのブログで紹介されていたRspecの入門書を読んでみた。

本の紹介

leanpub.com

本の内容としては下記のような感じ。この本を読み終わる頃にはRspecを使ってRailsのテストができるレベルになってると思います。

Rspecの基本
・テスト時のデータ作成(Factory Girl)
Railsのコントローラー、モデルのテスト
Railsの統合テスト(フィーチャーのテスト、Capybalaを使ってます。)
・メール、ファイルのアップロードなど様々なテスト
テスト駆動開発

感想

自分のRspecのレベルは入門用の記事を読んで、テストを作ってみたとかそんなレベル。

この本は基本的なRspecの知識をサンプルコードとともに解説しているので、簡単に読み進められました。

訳もこなれていて、読みやすいので、RailsのテストでRspecを使うならこれを読んでおけばいいのではと言う感じでした。

あとがき

この本の前に読んでいた伊藤淳一さんのRspec入門の記事もおすすめ。
使えるRSpec入門・その1「RSpecの基本的な構文や便利な機能を理解する」 - Qiita

今年の花粉症対策

今年の花粉症対策

去年は花粉症で皮膚炎みたいになってしまったので、今年は完全に対策して過ごした。
去年より症状が軽微だったので、今年の対策をまとめておく。

・病院でちょっと強めの薬を出してもらった。
・帽子を被る。
・花粉用メガネをつける。 JINSで売ってるメガネ
・マスクもPM2.5対応(花粉はPM2.5より大きい)で、顔を全体で覆えるような物をつけた。

・ヨーグルトを食べた。従兄弟から聞いた話だと、腸内環境を整えるのがいいらしい。
・タマネギ、蜂蜜などの花粉症にいいとニュースになっている食品を食べるよう心がけた。

以上。

EmacsでEclipseのプロジェクトエクスプローラーみたいなのを表示する方法

普段仕事ではEclipseを使っているので、家で使うEmacsにもEclipseのプロジェクトエクスプローラーみたいなのが欲しいという話

 

調べてみたneotreeというのがあるらしい。これを使ってみる。

EmacsWiki: Neo Tree

 

まず適当なところにgit cloneでファイルを落としてからelispを管理しているフォルダにコピーする。

 

cd ~/work

git clone https://github.com/jaypei/emacs-neotree.git neotree

mv neotree ~/.emacs.d/elisp

 

あとはinit.elに設定を記述する。

global-set-keyで設定したキーを押すと、左側にツリーみたいなのが出てくる。

(add-to-list 'load-path "~/.emacs.d/elisp/neotree")
(require 'neotree)
(global-set-key [f8] 'neotree-toggle)

 

こんな感じに。

f:id:yukiLyn:20160206105518p:plain

list-packagesが失敗する。

Emacs 24.4.1

Mac Os X 10.9.5

 

list-packagesが失敗する。

 

こんな感じのエラーが出てくる。

package-read-all-archive-contents: Wrong number of arguments: (lambda nil "Re-read `archive-contents' and `builtin-packages', if they exist.
Will set `package-archive-contents' and `package--builtins' if successful.
Will throw an error if the archive version is too new." (let *1 (builtins (package--read-archive-file "builtin-packages"))) (if archive-contents (setq package-archive-contents archive-contents)) (if builtins (let *2 (result package--builtins-base)) (setq package--builtins (let *3 (if (package-version-compare our-version (car elt) (quote >=)) (setq result (append ... result))) (setq --dolist-tail-- (cdr --dolist-tail--))) (setq elt nil) result)))))), 1

 

見にくいがデバッグした結果package.elでエラーが発生しているとわかる。

init.elを確認してみると、いつのまにか下記のコードが追加されていた?(いつ追加されているのか不明)

自分で設定した箇所があるので、下記をコメントアウトしたら正常に動くようになった。

 

;; elpa
;;; This was installed by package-install.el.
;;; This provides support for the package system and
;;; interfacing with ELPA, the package archive.
;;; Move this code earlier if you want to reference
;;; packages in your .emacs.
 (when
     (load
      (expand-file-name "~/.emacs.d/elpa/package.el"))
   (package-initialize))

*1:archive-contents (package--read-archive-file "archive-contents"

*2:our-version (package-version-split emacs-version

*3:--dolist-tail-- builtins) elt) (while --dolist-tail-- (setq elt (car --dolist-tail--

Emacs BackTraceの表示の仕方

Scratchバッファで下記式をC-jで評価する。

(setq debug-on-error t)

 

次にBacktraceを表示したい式を評価する。

(packege-initialize)

 

すると、Backtraceバッファが作成されるので、

 

C-x b でBacktraceバッファに移動するとトレースが表示される。

Emacs scratchでLisp Interaction modeを起動したい場合

Lispの式でC-jをタイプしても式を評価してくれなくなった。

どうやら別のメジャーモードを起動していたらしい。

 

M-x lisp-interaction-mode

と打つとメジャーモードが変わり式を評価するようになった。