Elixir/Phoenixでウェブサービスを作っている28
Done:
- サーバ
- Projectモデルを作成
- Membershipモデルを作成
- Statusモデルを作成
- Project(projects)
- サインアップ時にproject, membership, goal(root)を作るようにした
- Goal(goals)
- project_idを足した
- owned_byを削った
Todo:
- ブラウザ
- GoalController.indexでrootのself_and_descendantsを返す
- constructorで
this.handle* = this.handle*.bind(this);
する? - TreeModelを継承したモデルを作ってsiblings関係の関数を生やす
- new/create
- n: 新規、enterで作成
- edit/update
- e: 編集、enterで更新
- delete
- X: 削除
- copy/cut/paste
- c: 単体コピー
- C: サブツリー全体をコピー
- x: カット
- v: 下にペースト
- V: 上にペースト
- status切り替え
- f: forward
- b: back
- q: close
- タブ
- システムメニュー
- サインイン/サインアウト
- ユーザーメニュー
- アクティビティ
- ユーザー/グループ...
- アクティビティ
- システムメニュー
- オフライン対応
- すごく欲しいがやらない
- 当初想定より簡単にできるかも
- サーバ
- Goal(goals)
- status:stringをstatus_id:integerにする
- Membership(memberships)
- status(pending/authorized)
- Status(statuses)
- ユーザー定義
- デフォルト
- 0: todo
- 1: doing
- 2: done
- -1: close
- done/closeは特別にしたいな……
- 面倒くさいなこれ。固定にしよっかな
- デフォルト
- ユーザー定義
- Activity(activities)
- 操作権限チェックを入れる
- ルート操作の防止を入れる
- Goal(goals)
- /goals/:idを/goals/:hash_digestにする
- User.nickにunique属性つける
- check_descendants!でArgumentErrorにしてるところを独自例外に変える
- on_delete: :delete_allと再帰クエリでどっちが速いか調べる
- TWITTER_REDIRECT_URI必要なさそう
Memo:
- CSS3 flex
- jsでスムーススクロールする方法
- jsでマウスホイールイベントを取得する方法
Programming Phoenix: Productive; Reliable; Fast
- 作者: Chris Mccord,Bruce Tate,Jose Valim
- 出版社/メーカー: Pragmatic Bookshelf
- 発売日: 2016/04/11
- メディア: ペーパーバック
- この商品を含むブログを見る
Clojureを勉強している17
- Week 2
- Day 4
- Symmetric Difference
- clojure.set/{intersection,difference,union}を使ってクリア。
- Least Common Multiple
-最小公倍数か。効率よいアルゴリズムとか知らんな……。ググる。2つを掛けたものを先日やった最大公約数で割ればいいのか……
- ゲーッ!分数がある!
- この前やったgcd関数に分数かけたら動いた
- ゲーッ!引数が2つじゃない!
- 可変長引数の最大公約数を求めるのかぁ……
- ギブアップ。ググったら綺麗なのあった→qiuxiafei/4clojure。
letfn
ってあるのか、整理できて良いな。
- Symmetric Difference
- Day 4
ワイの書いた可変長引数の最大公約数を求める関数:
(fn [x & xs] (reduce (fn [a b] (if (zero? b) a (recur b (mod a b)))) x xs))
だいぶ違うな……ダセェ……
- 作者: Carin Meier
- 出版社/メーカー: O'Reilly Media
- 発売日: 2015/04/14
- メディア: Kindle版
- この商品を含むブログを見る
- Chapter 10 Weekly Living Clojure Training Plan
- How Do I Use This Training Plan?
- What If I Miss a Day or Two?
- What If I Don’t Understand the Exercise?
- Week 1
- Week 2
- Week 3
- Week 4
- Week 5
- Week 6
- Week 7
- Congratulations
Elixir/Phoenixでウェブサービスを作っている27
Done:
- ブラウザ
Todo:
- ブラウザ
- TreeModelを継承したモデルを作ってsiblings関係の関数を生やす
- new/create
- n: 新規、enterで作成
- edit/update
- e: 編集、enterで更新
- delete
- X: 削除
- copy/cut/paste
- c: 単体コピー
- C: サブツリー全体をコピー
- x: カット
- v: 下にペースト
- V: 上にペースト
- status切り替え
- f: forward
- b: back
- q: close
- タブ
- システムメニュー
- サインイン/サインアウト
- ユーザーメニュー
- アクティビティ
- ユーザー/グループ...
- アクティビティ
- システムメニュー
- オフライン対応
- すごく欲しいがやらない
- 当初想定より簡単にできるかも
- サーバ
- Activity(activities)
- Status(statuses)
- id
- name
- position
- enable
- ユーザー定義
- デフォルト
- 0: todo
- 1: doing
- 2: done
- -1: close
- done/closeは特別にしたいな……
- 面倒くさいなこれ。固定にしよっかな
- デフォルト
- Group(groups)
- 1ユーザー1グループ作る?
- id
- name
- Membership(memberships)
- user_id
- group_id
- pending
- 操作権限チェックを入れる
- ルート操作の防止を入れる
- /goals/:idを/goals/:hash_digestにする
- User.nickにunique属性つける
- check_descendants!でArgumentErrorにしてるところを独自例外に変える
- on_delete: :delete_allと再帰クエリでどっちが速いか調べる
- TWITTER_REDIRECT_URI必要なさそう
Memo:
- CSS3 flex
- jsでスムーススクロールする方法
- jsでマウスホイールイベントを取得する方法
Programming Phoenix: Productive; Reliable; Fast
- 作者: Chris Mccord,Bruce Tate,Jose Valim
- 出版社/メーカー: Pragmatic Bookshelf
- 発売日: 2016/04/11
- メディア: ペーパーバック
- この商品を含むブログを見る
Clojureを勉強している16
頭使うんで数日分をまとめてできなくなってる。1日分の問題数が少なくなったのでリンクを張ることにした。
- Week2
- Day 3
- Simple Clojures
- できた。関数を返す関数ですな
- Cartesian Product
- Simple Clojures
- Day 3
手元で通るけど、4Clojureではclojure.lang.ArityException: Wrong number of args (1) passed to: core$map
って怒られるやつ、これ:
REPL-y 0.3.7, nREPL 0.2.10 Clojure 1.7.0 Java HotSpot(TM) 64-Bit Server VM 1.8.0_25-b17 user=> ((fn [xs ys] (into #{} (mapcat (fn [x] (map (fn [y] [x y]) ys))) xs)) #{1 2 3} #{4 5}) #{[2 5] [3 4] [1 4] [1 5] [2 4] [3 5]}
- 作者: Carin Meier
- 出版社/メーカー: O'Reilly Media
- 発売日: 2015/04/14
- メディア: Kindle版
- この商品を含むブログを見る
- Chapter 10 Weekly Living Clojure Training Plan
- How Do I Use This Training Plan?
- What If I Miss a Day or Two?
- What If I Don’t Understand the Exercise?
- Week 1
- Week 2
- Week 3
- Week 4
- Week 5
- Week 6
- Week 7
- Congratulations
Elixir/Phoenixでウェブサービスを作っている26
Done:
- ブラウザ
- mocha/power-assertの導入
- ispartaの導入
Todo:
- ブラウザ
- コンポーネント化
- TreeModelを継承したモデルを作ってsiblings関係の関数を生やす
- new/create
- n: 新規、enterで作成
- edit/update
- e: 編集、enterで更新
- delete
- X: 削除
- copy/cut/paste
- c: 単体コピー
- C: サブツリー全体をコピー
- x: カット
- v: 下にペースト
- V: 上にペースト
- status切り替え
- f: forward
- b: back
- q: close
- タブ
- システムメニュー
- サインイン/サインアウト
- ユーザーメニュー
- アクティビティ
- ユーザー/グループ...
- アクティビティ
- システムメニュー
- オフライン対応
- すごく欲しいがやらない
- 当初想定より簡単にできるかも
- サーバ
- Activity(activities)
- Status(statuses)
- id
- name
- position
- enable
- ユーザー定義
- デフォルト
- 0: todo
- 1: doing
- 2: done
- -1: close
- done/closeは特別にしたいな……
- 面倒くさいなこれ。固定にしよっかな
- デフォルト
- Group(groups)
- 1ユーザー1グループ作る?
- id
- name
- Membership(memberships)
- user_id
- group_id
- pending
- 操作権限チェックを入れる
- ルート操作の防止を入れる
- /goals/:idを/goals/:hash_digestにする
- User.nickにunique属性つける
- check_descendants!でArgumentErrorにしてるところを独自例外に変える
- on_delete: :delete_allと再帰クエリでどっちが速いか調べる
- TWITTER_REDIRECT_URI必要なさそう
Memo:
- CSS3 flex
- jsでスムーススクロールする方法
- jsでマウスホイールイベントを取得する方法
Programming Phoenix: Productive; Reliable; Fast
- 作者: Chris Mccord,Bruce Tate,Jose Valim
- 出版社/メーカー: Pragmatic Bookshelf
- 発売日: 2016/04/11
- メディア: ペーパーバック
- この商品を含むブログを見る
Clojureを勉強している15
- Week 2
- Day 2
(let [[a b & c :as d] __] [a b c d])
難しいな。d
はa b & c
全体の変名っぽいnot=
は引数いくらでも取れるんだなぁ- gcd書けとな。ユークリッドの互除法かー、名前だけ知ってて覚えていないのでググる。できた。
- Day 2
- 作者: Carin Meier
- 出版社/メーカー: O'Reilly Media
- 発売日: 2015/04/14
- メディア: Kindle版
- この商品を含むブログを見る
- Chapter 10 Weekly Living Clojure Training Plan
- How Do I Use This Training Plan?
- What If I Miss a Day or Two?
- What If I Don’t Understand the Exercise?
- Week 1
- Week 2
- Week 3
- Week 4
- Week 5
- Week 6
- Week 7
- Congratulations
Elixir/Phoenixでウェブサービスを作っている25
Done:
- ブラウザ
- フォーカス移動時、要素が中央にこないのを修正
- スムーススクロールやめたらガクガクしなくなった
Todo:
- ブラウザ
- new/create
- n: 新規、enterで作成
- edit/update
- e: 編集、enterで更新
- delete
- X: 削除
- copy/cut/paste
- c: 単体コピー
- C: サブツリー全体をコピー
- x: カット
- v: 下にペースト
- V: 上にペースト
- status切り替え
- f: forward
- b: back
- q: close
- タブ
- システムメニュー
- サインイン/サインアウト
- ユーザーメニュー
- アクティビティ
- ユーザー/グループ...
- アクティビティ
- システムメニュー
- オフライン対応
- すごく欲しいがやらない
- 当初想定より簡単にできるかも
- new/create
- サーバ
- Activity(activities)
- Status(statuses)
- id
- name
- position
- enable
- ユーザー定義
- デフォルト
- 0: todo
- 1: doing
- 2: done
- -1: close
- done/closeは特別にしたいな……
- 面倒くさいなこれ。固定にしよっかな
- デフォルト
- Group(groups)
- 1ユーザー1グループ作る?
- id
- name
- Membership(memberships)
- user_id
- group_id
- pending
- 操作権限チェックを入れる
- ルート操作の防止を入れる
- /goals/:idを/goals/:hash_digestにする
- User.nickにunique属性つける
- check_descendants!でArgumentErrorにしてるところを独自例外に変える
- on_delete: :delete_allと再帰クエリでどっちが速いか調べる
Memo:
- CSS3 flex
- jsでスムーススクロールする方法
- jsでマウスホイールイベントを取得する方法
Programming Phoenix: Productive; Reliable; Fast
- 作者: Chris Mccord,Bruce Tate,Jose Valim
- 出版社/メーカー: Pragmatic Bookshelf
- 発売日: 2016/04/11
- メディア: ペーパーバック
- この商品を含むブログを見る