mmag

ハマったことメモなど

2014-01-01から1年間の記事一覧

EmberでError: No model was found for '0'

なんかエラーでた。 RestAdapterを使っているときで、バックエンドはRailsでした。 バックエンドがjbuilderでjson作って返しているのですが、そのjsonの形式が原因でした。 scaffoldしっぱなしだと、 # app/views/posts/index.json.jbuilder json.array!(@po…

Grape使いたくなかったときのメモ

なんか新しいディレクトリ掘るじゃないですかー、Grapeってー。 controllersの中に入れたりしてもいいらしいですけどー、MVCからハミ出してる感じがしてー、なーんか好きじゃないんですよー。 ということを考えたときのメモ。 class PostsController < Appli…

ember new で Request path contains unescaped characters

ember-cli使ってember new hogeしたら、 前略 create tests/helpers/resolver.js create tests/helpers/start-app.js create tests/index.html create tests/test-helper.js create tests/unit/.gitkeep create vendor/.gitkeep Installed packages for tool…

ember-simple-auth-deviseとユーザ登録

追記 なんか正しく動いてなさげ。あとで直す、または別の方法を検討。 追記終わり 最近Ember.js関連のなにかを見ています。 Emberで認証をやろうとしたときにember-simple-authが便利です。バックエンドがRailsでDeviseを使うならば、ember-simple-auth-devi…

Elixirマクロの展開後コードを見る

Elixirのマクロはコンパイル時にバーっと展開されるわけですが、本当に自分が望んだ形に展開されてるのか、不安になって眠れない夜もあるでしょう。 ということで、複雑なマクロを書いちゃったときはテストで展開後のコードをチェックするのも1つの手です。 …

Hex 0.6.0の新機能hex.docsしてみた

Elixirにはhexというパッケージマネージャがあって、そのv0.6.0がリリースされました。 目玉機能はhex.docsで、これで自分のライブラリのドキュメントをhttp://hexdocs.pm/ライブラリ名/バージョン番号に公開できます。バージョン番号を省略すると最新版に飛…

Phoenix+Houndでテスト回すと警告いっぱい出る

Elixir製の代表的ウェブアプリフレームワークPhoenixで、かの有名なRails Tutorialをなぞってみているのである。 Joe-noh/ph_microblog まだ途中だし、よくわからんとこは端折っているのである。 途中からはCapybaraが出てくるので、Houndを使って結合テスト…

mix deps.getでエラったら

Elixirで何かしようとしたら必ずmix newするのであります。 そしてElixirやErlangのライブラリを使おうとしたら、mix.exsのdepsに書くのであります。 大抵の場合は、 [{:hoge, github: "someone/hoge"}] みたいな感じでいけるけれども、git cloneにも色々あ…

Elixirのガード式でマクロが使える

という驚きの情報を得た!!!1 ガード式では数種類の関数しか使えず、ユーザが定義した関数を使おうとするとエラーになるのは皆様ご存知かと思います。なので関数の代わりにマクロにすれば使えちゃうのか!?そんなことでユートピアが実現するのか!!??…

Elixirのsupervisor, worker, superviseヘルパーがイケメンだった

最近Elixirのことしか書いてないです。たぶんもうしばらくこんな感じです。 ErlangでOTP使うときとか、スーパーバイズしたい子供をつくるときに、child_specと呼ばれる書き方でどんな子供をつくるか指定します。公式のドキュメントにはこんな風に書いてあり…

elixir-modeのタブインデントをスペースにした

使っていたノーパが壊れ、勢い余ってMBAを注文して舞い上がっている私です。 せっかく環境が新しくなったので、ghqとかモダンなものを入れてますし、せっかく環境が新しくなったので、前から気になってたelixir-modeのタブインデントをスペースにしようと思…

Elixirでループ使って関数定義しようとしてハマった

例えば、 defmodule Greeting do Enum.each [:hello, :goodbye], fn (greeting) -> def unquote(greeting) do IO.puts unquote(greeting) end end end というもの。上手く使えばコード量がドチャクソ減って幸せになれるのですが、「invalid syntax in def :h…

Elixirで新しく使えるようになったオペレータ

つい先ほどElixir 1.0.0がリリースされました。めでたいめでたい。 個人的には、1.0.0-rc2で入った変更に注目しております。 [Kernel] Add <~, ~>, <<~, ~>>, <~>, <|> as operators これです。 次のようなことができるようになりました。 defmodule M do de…

ElixirのPlug

今日はPlugです。 Plugとは まずPlugとはなんぞやというところですが A specification for composable modules in between web applications Connection adapters for different web servers in the Erlang VM だそうです。イメージはRackです。今はCowboyと…

ElixirのOptionParser

について述べます。 準備 まずは今回使うサンプルをば。この辺にはあんまり触れません。 mix new optsみたいなことして、 # lib/opts.ex defmodule Opts do def main(args) do OptionParser.parse(args) |> IO.inspect end end # mix.exs defmodule Opts.Mix…

Elixirのマクロについて浅く語ってみる

1.0のリリースが近づき、Elixir熱の高まりを感じる今日この頃、皆様いかがお過ごしでしょうか。 本日は、Elixirの特徴の1つであるマクロについて書いておこうと思います。対象読者は、Elixirの文法くらいはなんとなく分かるっていう人かな。 コードを書くコ…

ハッカソンした

大学内の数人でハッカソンした。概要。ハッシュタグは#nut_hackathon。 自分の成果は以下の通り。全体的にjs書いてた。 ホントなんだこれってものしか浮かばない。何やってんだ俺って思ったら負け。 あと今回はいろいろ考慮して、各自開発→集まって発表の流…

MixにTaskを追加する

ElixirにおけるMixは、Rubyで言うとRakeポジションにあたるモノ。 当然タスクを自作できるはず。 まずmix new hogeして、ディレクトリ掘削作業。 $ mkdir -p lib/mix/tasks/hoge hogeってのはプロジェクト名と揃えておいたけど、fugaでもOK。いっぱい作って…

mix ecto.drop → no password supplied

$ MIX_ENV=dev mix ecto.drop Repo ** (Mix.Error) The database for repo Repo couldn't be dropped, reason given: Password: psql: fe_sendauth: no password supplied . lib/mix/tasks/ecto.drop.ex:32: Mix.Tasks.Ecto.Drop.run/1 (mix) lib/mix/cli.ex…

codepointsとgrapheme

Elixirのドキュメントを眺めていて、String.codepointsとString.graphemesの違いがわからなかったので調査。 ソースにはこんなコメントが。 複数の記号で1文字をなすものを表現するのがGraphemeという解釈でいいのかな。 つまりElixir特有のものではなくてUn…

coffee-scriptとmocha

js周りはあまり詳しくないのですが、mochaというテストフレームワークがあるそうですね。 そのままだとcoffee-scriptには使えないのでテストするときにオプションを渡してあげたりCakefileに書いておいたりするわけですが、どうも動きませんで。 みなさん $ …

RailsでRecordは予約語だった

言いたいことは以上です。 Recordなんて名前のモデルは作らないようにしましょう。 エラー吐かずに挙動だけおかしいので、きっと別の部分が間違っているのだろうと盛大にハマってしまいました。

brunch-with-hipsters

顛末 Railsでajax使ってリッチUIだぜとかやろうとして、あえなく挫折。 POSTが2回発火する。stackoverflowとか色々見たけど解決せず。 やっぱフロントエンドとバックエンドは分けたほうがよいのか。 Gruntとかどうやって使うんだっけ。 Brunchっていうの発見…

Railsで多対多関係を複数つくる

Railsで多対多といえばhas_many troughとかよく聞くけれど、以下のような関係を作りたいときによくわからなくなったので試しました。 映画を表すMovieと人物を表すPersonがある。 Movie#directors、Movie#actorsで、それぞれ監督と出演者(どっちも複数)が…

gemのお披露目

大学で毎週やってる集まりで、前記事のgemについてLT的なことしました。 前まではひっそりslideshareにあげてたんですが、閲覧数あんま伸びないんでこっちにも載せます。 別に閲覧数稼ぎたくてやってるわけじゃないんだけども、なんかね。 他の発表者の資料…

アパートのダミーデータを出力するgem(初)をつくりました

生まれて初めてgemを書きました。 やはり好きなものに関することは進捗いいですね。 ええ、賃貸関係ですよ。 アパートのダミーデータをランダムに出力するgemです。 https://rubygems.org/gems/dummy-apartment https://github.com/Joe-noh/dummy-apartment …

Joeエディタ

先日、JOEというエディタを発見してしまった。 遭遇 家のデスクトップをUbuntuからLinuxMintに替え、emacsをインストールしようとした際、「あれ、apt-get install emacs? apt-get install emacs24?」みたいになってapt-cache search emacsした。 候補がザー…

テーマカスタマイズ

このブログのデザインテーマはFB matteをベースにしてます。 どんなCSSを追加しているかは公表したほうがいいかと思うので、こちらに置いておきます。 良質なテーマを公開してくださる皆様には頭が下がりますね。

移転してきた

以前のブログ これからはこっちに書きます。