サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
おみそ汁
fukajun.org
やってみたこと electronでとあるチャットの内容をみるだけのアプリを作ってみた。 macのメニューバーにアイコンが表示されて、クリックするとチャットの内容を 一覧で表示することができる。また、新着メッセージがあったときに デスクトップに通知を表示、メニューバーアイコンを未読有りののアイコンに 変更するなど基本的な動作を実装してみた。 実装において、react.js と gulp を利用して開発を行っている。 start mkdir start cd !$ npm init -y npm install --save electron-packager npm install --save electron-prebuilt npm install --save menubar index.js作る var menubar = require('menubar') var mb = m
最近、sendagaya.rb では メタプログラミングRuby第2版 が出版されたので時間を少しとって読み進めています。 そして昨日、開催した sendagaya.rb #135 に来ていただいた morizyun さんのブログが翌日に 公開されていることにもう尊敬しかできないです。早速、途中で出てきた protected について 書いていただいています。 自分でも呼んだり写経して理解を深めてみました Rubyのprotected Methodってどんなときに使うの? ブログの中で protected の使い方についてサンプルがあったので自分で、そのまま丸パクリで 実行してみた。以下のコード class A def == other if self.class == other.class internal == other.internal else super end end pr
概要 react.js + redux でクライアントサイドバリデーション + サーバーサイドバリデーションの結果表示について模索してる 最初は、form系のライブラリで良さそうないのか調べてた ライブラリみてしっくり来なかったのでそもそもfluxアーキテクチャのどこでやるのがやりやすいのか?考えてみた 背景 React.jsでフォームに入力された値のチェックを行うような Validation処理ってどうやって作るのがいいんだろう?というところ から調べ始めた.... 最初は、いきなりredux + React.jsでバリデーション処理を作るれるように いろいろ調べてたんだけどReact.js単体でもどうしていいのかわからなかった のでひとまずreact.jsとライブラリを組み合わせて、どうやるのが良いのか 調べた reactでのformをvalidateするライブラリなど ざっと下記のよ
gemを作るって割と心の敷居が高いので一番シンプルな作り方を書いてみた。 まずは、ruby単体で使うようなgemの作り方を説明してみます �注記:もっと詳しい記事も他にありますが、僕的に最低限でまとめてみました。 雛形作成 bundlerを利用してgemの雛形を作ることができる。 bundle gem hello 編集 実装 早速生成したファイルにgem化したいコードを実装してみる。 lib/hello.rb require "hello/version" module Hello # Your code goes here... end ↓ require "hello/version" module Hello class Boy def say puts 'hi' end end end gemspecを編集 gemspecにTODOと書かれた項目が残っているとこの後gemをbuil
renderの中でsetStateをすると怒られる Invariant Violation: setState(...): Cannot update during an existing state transition (such as withinrender). Render methods should be a pure function of props and state. 翌々考えると、setState が呼ばれることによってrender が発生するのに、renderの中で呼ぶと永久ループが発生しかねないのでそりゃダメだ... setStateした直後にthis.stateを参照するのはダメ setStateした直後に、this.stateをみても変更は反映されていないので setStateで指定したあたいを参照することはできないみたい renderの中ではもちろん更新後
この記事を読むと良い人 rails使って作ってるWEBサービスの中でガイドとかキャンペーンページ作りそう、作ってる 静的ページなんだけどリ商品の価格(よく変わる)とコメンデーションみたいなものも出したかったりする(それ静的ページじゃない) railsでページは作れなくても、html,css(簡単な),js(簡単な)ならかけるマーケッター?みたいな人がいる 静的ページ作る、ちょくちょく更新するのにrailsエンジニアの稼働を使いたくない 背景 説明/キャンペーンページなど静的っぽいページを作る。 WEBサービス,WEBサイトを作成してたら必ずある 一枚一枚railsのなかに静的ページ作ることも可能だけど、エンジニア以外の人が更新できないとか問題ある しかも、静的ページの内容自体はエンジニア以外がすでにマークアップ済みということも多い エンジニア以外が、ページの内容を持っていることののほうが多
Reducerについて http://rackt.github.io/redux/docs/basics/Reducers.html storeのstateを変えるための関数 現在のstateとactionを受け取り、actionを元に新しいstateを作成して返す。 最小だとstate全体を1つのreducerで更新するようにする. こんな感じ function todos(state, action) { switch (action.type) { case INPUT: return action.input default: return state } } } stateの構成が複雑になって来た場合など、stateのプロパティー毎に reducerを割り当てて値を更新するようにする場合はこんな感じで書くっぽい function todoApp(state = {}, actio
この辺を読みながらfluxの各パーツの役割、reduxの登場人物について 自分のめもとしてまとめてみた http://rackt.github.io/redux/index.html reduxの思想 1つ情報源を正とする アプリケーションの状態は1つのstoreオブジェクトが管理する stateはリードオンリー 状態を変更する唯一の方法はactionを発行すること 状態の遷移はただの関数によって行う 状態を変更するための処理はreducersに定義する fluxの登場人物 actionCreator actionを作るための関数 ajaxリクエストなどの処理を行い、結果を含めたactionを作成する action アプリケーションで何が起きたのかとそれに付随するデータ nTypeと任意のデータを持つ単なるObject acitonCreatorによって作成されてdispacherに渡され
reduxの思想 統一されたデータストア アプリケーションの状態は1つのstoreオブジェクトが管理する stateはリードオンリー sateを変化させる唯一の方法はactionを発行すること 状態の遷移はただの関数によって行う stateを変更するための処理はreducersに定義します fluxの登場人物 actionCreator 最終的にactionを作るための処理 ajaxリクエストなどの処理を行い、その結果をのせたactionを作成する 例) 例えば、ajaxでコメント一覧を取得して { actionType: UPDATE_COMMENTS, comments: response.body.comments } のようなactionを作る action アプリケーションで何が起きたのかとそれに付随するデータ actionTypeと任意のデータを持つ単なるObject acit
101回目を迎えて新たなスタートのsendgaya.rbです。 そろそろ、ちゃんとrailsの内部動作について知らなきゃ感があるので、tkawaさんと相談のもとテーマを決めました。(ほかにもActiveRecordとか、Deviseとか、 Rackとか候補がありました。) 注意:この記事で動作自体の解説してないです。 ActionDispatchについて概要 ActionDispatch については、まずこのスライドをみながらtkawaさんの解説でスタート rackミドルウェア、rackアプリケーションの関係について知れたりします。 https://speakerdeck.com/eiel/actiondispatch-tutenandarou 読むための題材 今回ソースコード・リーディングの題材に使ったデモアプリ https://github.com/fukajun/demo_app r
この辺の記事を参考にした swiftとnode.jsでアプリを作る http://qiita.com/oggata/items/5de43d71692d1abcff7c hokacca先生のnode.js と iBeacon http://qiita.com/hokaccha/items/1592cd03ee649e037b89 nodejsをインストールする こっちに書きました。 RaspberryPiにnodejsをインストールする 用意する機器 LE対応のBluetoothアダプタ 対応してないアダプタを使っていてかなりハマりました <= 注意 コレ使いました。 iBuffalo BSBT4D09BK bleaconをインストールする bleaconをインストールするときに、必要なライブラリがないため失敗したので libbluetooth-devを前もってインストールしておく必要があ
勉強会や他のエンジニアから教えてもらったgemを一覧にしてみました。 ※ただgemのgithubページを紹介してるだけの内容ですみません。 gretel パンくずを設置するための仕組みを簡単に用意できるgem、今のところこれが一番良さそう 1ページに複数のパンくずを設置したり、複雑な親子関係にも対応できる パンくずリストのテンプレートのカスタマイズもできる シンプルな作りなので安心できる https://github.com/lassebunk/gretel こんな感じでかける https://gist.github.com/fukajun/d55a23d83e1a711f9b7f ranked-model ランキング作るときに良さそう https://github.com/mixonic/ranked-model baby_face 単純ベイズ分類器をrailsに組み込めるgem ht
何か? git commitのオプション--allow-emptyご存知でしょうか? これは、オプションの名前の通り空のコミットの作成を許可するオプションです。 通常変更がないとコミットが作れないようになってるので 空コミットを作るにはこのオプションを指定する必要があります。 add(もしくはrm)もしない(stageに何も載せない)で commitしたときの注意文には登場するので知ってましたが使ってませんでした。 最近、開発フローの中で使い道を思いついて使うようになったので紹介です。 その1 空Pull Request作れる プルリクって、基準になるブランチから変更されたコミットがないと作れないと思ってます。 でも、変更はないんだけどプルリクのcommentに変更の「概要」「目的」「ビジネスインパクト」「どの数値が改善するのか」など色々さきに書いておきたいこととかありますね。 考えてる内
転職しました 8月からメガネをネットで販売するサービス「Oh My Glasses」 http://www.ohmyglasses.com/ を運営する「オーマイグラス株式会社」で働きはじめました。 これまで 2012年1月に東京にやってきてから フリーランスのRailsプログラマーとして仕事をしたり sendagaya.rb を開催したり してきました。 もともとは、Rubyで仕事するのも初めて、Railsで仕事するのも初めてというなかで、ただただRailsを使って仕事をしたいという思いから Acerのノートパソコン一台持って東京にやって来ました。 経験がないにもかかわらず、Railsを使ってのシステム開発の仕事をいただけたのには本当に感謝です。 思い出したこと とりあえずこっちに来てRailsで仕事をするようになり、勉強会も開催し始めたりして東京に来る前の目標というのは達成したような感
テストデータの準備の仕方 最近、職場で良さげなテストの書き方を見たのでそれについての共有も含めてrspecによるテストの書き方について、こんな書き方もあるってのを書いてみようと思う。 以前の書き方 specでテストを書くときは、どういうデータの状態の時の動作なのかということをわかりやすくしたいので、テストデータの作成は let を使用して行うようにしている。 例 それぞれ、context毎のに前提となるデータをlet!で書き分けて、準備する書き方 describe Post do describe 'recently' do context '1件のみデータがある時' do let!(:post1) { FactoryGirl.create(:post, published_at: Time.parse('2013/01/01')) subject { Post.recently } it
このページを最初にブックマークしてみませんか?
『fukajun - DeepValley -』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く