はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

はてなブックマーク

  • はてなブックマークって?
  • アプリ・拡張の紹介
  • ユーザー登録
  • ログイン
  • Hatena

はてなブックマーク

トップへ戻る

  • 総合
    • 人気
    • 新着
    • IT
    • 最新ガジェット
    • 自然科学
    • 経済・金融
    • おもしろ
    • マンガ
    • ゲーム
    • はてなブログ(総合)
  • 一般
    • 人気
    • 新着
    • 社会ニュース
    • 地域
    • 国際
    • 天気
    • グルメ
    • 映画・音楽
    • スポーツ
    • はてな匿名ダイアリー
    • はてなブログ(一般)
  • 世の中
    • 人気
    • 新着
    • 新型コロナウイルス
    • 働き方
    • 生き方
    • 地域
    • 医療・ヘルス
    • 教育
    • はてな匿名ダイアリー
    • はてなブログ(世の中)
  • 政治と経済
    • 人気
    • 新着
    • 政治
    • 経済・金融
    • 企業
    • 仕事・就職
    • マーケット
    • 国際
    • はてなブログ(政治と経済)
  • 暮らし
    • 人気
    • 新着
    • カルチャー・ライフスタイル
    • ファッション
    • 運動・エクササイズ
    • 結婚・子育て
    • 住まい
    • グルメ
    • 相続
    • はてなブログ(暮らし)
    • 掃除・整理整頓
    • 雑貨
    • 買ってよかったもの
    • 旅行
    • アウトドア
    • 趣味
  • 学び
    • 人気
    • 新着
    • 人文科学
    • 社会科学
    • 自然科学
    • 語学
    • ビジネス・経営学
    • デザイン
    • 法律
    • 本・書評
    • 将棋・囲碁
    • はてなブログ(学び)
  • テクノロジー
    • 人気
    • 新着
    • IT
    • セキュリティ技術
    • はてなブログ(テクノロジー)
    • AI・機械学習
    • プログラミング
    • エンジニア
  • おもしろ
    • 人気
    • 新着
    • まとめ
    • ネタ
    • おもしろ
    • これはすごい
    • かわいい
    • 雑学
    • 癒やし
    • はてなブログ(おもしろ)
  • エンタメ
    • 人気
    • 新着
    • スポーツ
    • 映画
    • 音楽
    • アイドル
    • 芸能
    • お笑い
    • サッカー
    • 話題の動画
    • はてなブログ(エンタメ)
  • アニメとゲーム
    • 人気
    • 新着
    • マンガ
    • Webマンガ
    • ゲーム
    • 任天堂
    • PlayStation
    • アニメ
    • バーチャルYouTuber
    • オタクカルチャー
    • はてなブログ(アニメとゲーム)
    • はてなブログ(ゲーム)
  • おすすめ

    WWDC25

『qiita.com』

  • 人気
  • 新着
  • すべて
  • 何をreduxのコンテナにするか - Qiita

    8 users

    qiita.com/halhide

    redux最近来てるっぽい reduxとreactを使ってみて、コンテナ(Smart Component)とコンポーネント(Dumb Component)をどう使い分けるかについて考えてみた。 上はreduxのcontributor自身による使い分けに付いての解説記事。 各種単体での使ってみた感想はこちら redux react react-redux reactはJust UIだし、reduxはアプリの状態管理のみが関心ごとなので、reactとreduxを組み合わせるためには、https://github.com/rackt/react-redux をつかいます。 これの役割は何かと言うと、reduxが管理している状態やactionCreatorと、reactのコンポーネントとの橋渡しです。 結合すると、reactコンポーネントで何かイベントが起きる(=reduxのactionCreat

    • テクノロジー
    • 2016/10/13 10:09
    • redux
    • react
    • qiita
    • javascript
    • normalizrを使ったreduxプロジェクト - Qiita

      10 users

      qiita.com/halhide

      背景 reduxとnormalizr使ってます、という話を勉強会でした時に、いまいち実装イメージが思い浮かばないというフィードバックをもらったので、TODOアプリで例を作ってみた。 ソースはこちら:https://github.com/hokuma/redux-normalizr-todo TL;DR APIのレスポンスでリソースがネストしている時に効果的 entities(ローカルDB)とresult(データの集合)でreducerを分ける entitiesはImmutable.Record使う(おまけ) 題材 よくあるTODOアプリだとリソースはTODOしか出てこない。リソースが一つしかなければそもそもReact単体でやったら、という話になるので、TODOを実行する人をアサインできる機能を持ったTODOアプリを題材にした。 書くこと reducerの切り方、normalizrの使い方、

      • テクノロジー
      • 2016/05/20 10:39
      • Redux
      • React.cloneElementでpropsを追加する - Qiita

        5 users

        qiita.com/halhide

        Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

        • テクノロジー
        • 2016/03/14 14:26
        • *あとで読む
        • あとで読む
        • Redux+Reactでの設計の悩み - Qiita

          13 users

          qiita.com/halhide

          背景 React+Redux使ってみていろいろ悩み事が出てきたので書き連ねる。 選定理由 react良さそう 画面変更の度にDOMをごりごりいじるのはやめよう。 あるべきUIを定義しておけばよいという世界はわかりやすい。 でもアプリ全体としての動きのフレームワークにはなり得ない。 Flux良さそう データフローが一方向なのは回りくどい感もあるが、処理の流れとしては追いやすそう。 Flux実装どんなのあるかな?と探してみたら例のごとく群雄割拠 flummoxの作者曰く、"4.0 will likely be the last major release. Use Redux instead. It's really great." なんとなく自分の観測範囲でもreduxが良さそうな雰囲気 開発ペースも良いし、ドキュメントも最初からかなり気合い入っているので期待できそう 全部英語だけと だいた

          • テクノロジー
          • 2015/12/09 23:14
          • Redux
          • React
          • UI
          • アプリ
          • reduxをプロジェクトで使ってみた感想 - Qiita

            47 users

            qiita.com/halhide

            書こうと思った気持ち reduxをとあるプロジェクトで使ってみたのだが、redux自体の存在を知った今年の夏頃はv0.4.0とかだったのに、気がついたらv3にまで上がってくるくらいの発展途上な感じのライブラリでほとんどノウハウがなく死にそうな感じだったので、使ってみた知見を公開しようと思った。 選んだ理由 reactを使ってUIを作った話をこちらに書いた。react単体はJust UIなので、アプリのフレームワークとしてfacebookが高らかに提唱しているfluxアーキテクチャを使ってみようと思った。 flux自体はデータの流れを一方向に限定しよう、というアーキテクチャであり、何をするにもまずactionがトリガーとなり、そこからアプリの状態が変更され、UIはその状態に従って描画するだけである、という思想のアーキテクチャである。 自分の過去の経験から、UI実装では状態遷移周りではまること

            • テクノロジー
            • 2015/12/09 21:52
            • redux
            • react
            • flux
            • あとで読む
            • design
            • reactをプロジェクトで使ってみた感想 - Qiita

              66 users

              qiita.com/halhide

              書こうと思った気持ち react+reduxを使る機会があったので、その辺で感じた事を書き連ねます。この記事では主にreact使ってみての感想なので、reduxと絡めた話はまた別記事で。 react使おうかなー、どうしよっかなー、という人の参考になれば幸いです。 reactの深い技術についての話は他のみなさんが書いてくれていると思うので、ここが良かったとか、ここではまった、みたいな実体験話がメインです。 ベストプラクティスとは思っていませんが、とりあえずそういうやり方もあるんだなぁ、くらいな気持ちで読んでもらえれば。 使おうと思った理由 BackboneとjQueryでメンテされているUIを変えるチャンスが来たのが発端。現状だとviewにロジック書いてたりmodelにview寄りの処理が書いてあったりとだいぶ宇宙の法則が乱れていて辛かったので、UI変えるなら下回りの技術も変えよう、と思った

              • テクノロジー
              • 2015/12/09 18:19
              • react
              • React.js
              • javascript
              • backbone
              • あとで読む
              • reactのshouldComponentUpdateについて - Qiita

                4 users

                qiita.com/halhide

                気持ち ReactのComponentは、stateが更新されるとコンポーネントが丸っと再描画されます。このとき、Virtual DOMのおかげで差分のみがDOMに反映されるので、性能をそんなに劣化させる事なくUI制御をすることが可能になります。 でも、アプリで表示するデータがFBのタイムラインみたいに無限に取得できるような画面の場合、いくらVirtual DOMといえどもさすがに辛いのでは。さらに、もしそのデータがネストしていたら、実際に描画しないとしてもネスト部分のループ処理は行われるわけだよね?実際どうなの? 調べてみた ということで、jsperfで実際にやってみました。 という感じのネストしたデータを大量に表示するコンポーネントを二つ用意し、一つは何も考えずにコンポーネントを定義、もう一つはshouldComponentUpdateを使って、childrenの配列に変化がなければ(

                • テクノロジー
                • 2015/09/11 13:52
                • reactjs
                • performance
                • 【react+redux】で楽観的に更新する - Qiita

                  4 users

                  qiita.com/halhide

                  背景 の続き。 ※上の記事書いた時はreduxの1系はまだrcだったし、react-reduxも0.2とかそんなんだったのに、気がついたらrc取れてるは2系になってるとか動きが早すぎです。 今回は追加フォームの動きを実装してみた。 やりたいこと 追加ボタンを押した時点で見た目上のリストに反映し、裏で非同期での追加処理が終わったらサーバ側から取得したIDをstoreに反映させる。 実装 前回の記事と同様に、追加処理を見た目上の追加とサーバとの同期処理完了の二つのactionに分割します。非同期actionについては、前回の記事でも書いた通りredux-thunkを使って実現しています。 export const ADD_TODO = 'ADD_TODO'; function addTodo(todo) { return { type: ADD_TODO, todo: todo }; } ex

                  • テクノロジー
                  • 2015/09/08 17:43
                  • Redux
                  • rails開発環境をdockerで作ったメモ - Qiita

                    4 users

                    qiita.com/halhide

                    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

                    • テクノロジー
                    • 2015/09/05 18:26
                    • docker
                    • rails
                    • development
                    • react+reduxで非同期処理を含むtodoアプリを作ってみる - Qiita

                      12 users

                      qiita.com/halhide

                      夏休みの自由研究と言うことでreact+reduxを触ってみたのでその記録。 成果物 まだ全然完成してないけど、とりあえずここにコードは置いてみた。 https://github.com/hokuma/react-redux-async-sample 一覧表示(動く) 追加フォーム ぐるぐる出す 辺りまではやりきりたい。 フロント技術の進化そのものにキャッチアップしながらのためいろいろ微妙なコードはあるけれど、追々きれいに(なったらいいなー)。 使ったもの(主だったもの) react:https://www.npmjs.com/package/react redux:https://www.npmjs.com/package/redux react-redux:https://www.npmjs.com/package/react-redux redux-thunk:https://www

                      • テクノロジー
                      • 2015/09/05 00:55
                      • redux-thunk
                      • 非同期処理
                      • Redux
                      • Ajax
                      • elasticmqを使ったsqsとの連携テスト - Qiita

                        9 users

                        qiita.com/halhide

                        背景 Amazon SQS。自分のサービスにメッセージキューサービスをとても簡単に組み込めて便利。 http://aws.amazon.com/jp/sqs/ しかし、いざそれを使った機能のspecを書こうと思うと、「外部サービスだからstub書かなきゃ」という辛みと、「結合テスト的に実際にAPI叩きたいし」という欲求が出てきて、どうしたらいいのよ 、という感じになる。 そりゅーしょん 環境用意すれば良いじゃない! ElasticMQ https://github.com/adamw/elasticmq こちら、Amazon SQS-compatible interfacesという素晴らしい特徴を持ったメッセージキューシステムです。 これをローカルに立ち上げれば、そもそも普通の開発の時からローカルでキューシステム使った検証できるし、何よりrspecからキューへの登録、取得などのテストもちゃ

                        • テクノロジー
                        • 2015/05/28 10:03
                        • aws
                        • テスト
                        • docker
                        • あとで読む
                        • d3.jsで東京メトロの地下鉄路線図を作成する - Qiita

                          4 users

                          qiita.com/halhide

                          d3.jsのおべんきょうのためにやる。 データの取得 ベースとなる東京都の地図 http://nlftp.mlit.go.jp/ksj/gml/datalist/KsjTmplt-N03.html から取得。チェックボックスで東京だけを指定する。 路線図 ツールの取得 QGISを落とす。 http://qgis.org/ja/site/ データの加工 GeoJSONへの変換 23区地図 地図データはshpファイルとなっているので、これをGeoJsonに変換する。ogr2ogrコマンドでやる方法もあるが、せっかくなのでツールを使う。 QGISを起動して、「レイヤ -> ベクタレイヤの追加」を選択し、ダウンロードした地図データのshpファイルを読み込ませる。すると、東京都の地図が表示される(小笠原諸島も表示されるので小さくみえる 東京メトロは23区が表示できればだいたいこと足りるので、23区の

                          • テクノロジー
                          • 2014/10/23 11:39
                          • テストコードと依存するライブラリをjarにまとめてCLIで実行する - Qiita

                            3 users

                            qiita.com/halhide

                            タイトルのまんま。 テストだけ単体でCLIで実行できるようにしておけば、デプロイ用のchefのrun_listの中にレシピとして含めることができていろいろ捗ると思ったのでやってみた。 設定項目を全部理解して使ってるわけではないので、もっとうまい方法や設定があるのかもしれないけど、とりあえず取っ掛かりとして。 使ったmaven-pluginは、maven-assembly-plugin。依存関係をまとめてパッケージ化したい時に使うpluginで、java使いにとってこれ自体は珍しいものではないでしょう。普通は実行可能なjarを作成したりするときに使うのかな?今回はテスト実行用のjarをこれで作る。 pomはこんな感じ。 <build> ... <plugins> ... <plugin> <artifactId>maven-assembly-plugin</artifactId> <vers

                            • テクノロジー
                            • 2014/10/01 08:31
                            • test
                            • java
                            • programming
                            • 自分が投稿したものだけ管理画面で表示する - Qiita

                              5 users

                              qiita.com/halhide

                              管理者以外のユーザにいろいろ投稿させるサイトを作るときにきっとやりたくなるので、ちょっと調べてみた。 権限でedit_other_XXXをつけなければ、自分が作ったもの以外は編集できないのだけど、リスト上ではほかのユーザの投稿が見れるし、リスト上部の「すべて」とかの横に表示される投稿件数も自分以外の投稿を含めた結果になってしまう。これは、wordpressの事情を知らない普通のユーザからすれば違和感のある画面である。 以下の二つのfilterとactionでそれを回避できる。 まずは、投稿リストの「すべて」とかのリンクを出さないようにする。 管理画面のリスト上部のリンクは、 された結果が表示される。この$viewsには、"mine"や"all"といったリスト表示内容を表すキーに対して、一覧へのリンク文字列が格納されている。 なので、viewsから"mine"以外のリンクを取り除いた配列を返

                              • テクノロジー
                              • 2014/08/11 15:47
                              • WordPress
                              • DOM操作のパフォーマンス - Qiita

                                6 users

                                qiita.com/halhide

                                backbone.jsなどのjsライブラリで画面生成されるアプリだと、javascript部分のパフォーマンスがアプリのさくさく感にすごい影響を与える。特に、レンダリング部分がトロいと、画面スクロールとか最初の画面生成にもたつきが発生して、いちいち引っ掛かりを感じるアプリとなってしまう。 では実際のところ、どう書いたら性能良くなるの?、ということでネットをさまよってると、「DOM操作を極力なくせ」、というのが共通の見解のようだ。 例えば、イテレーションの中で一つ一つappendするのではなくてまとめてappendしたほうが良いとか、そもそもappendじゃなくて文字列でinnerHTMLに入れたほうが良い、一度作ったDOM構成をcloneして使うと良い、cloneしたDOMを操作してからreplaceしたほうが良い、とかいろいろTIPSが出てくる。 そんなわけで、自分として気になるtips

                                • テクノロジー
                                • 2014/02/11 21:29
                                • DOM
                                • JavaScript
                                • programming
                                • jasmineでsinon.fakeServerを使うときに気をつけること - Qiita

                                  3 users

                                  qiita.com/halhide

                                  var server = sinon.fakeServer.create(); server.autoRespond = true; server.respondWith( function( xhr, id ) { xhr.respond( 200, null, "..." ); } ); spyOn( someObject, "somemethod" ); hogeClient.request( ... ); expect( someObject.somemethod ).toHaveBeenCalled(); といった感じのテストコードになるだろう(実際にはserverの定義とかはbeforeEachとかでやるだろうけど)。autoRespondがtrueになっていると、リクエストを送ると自動的にrespondWithの引数で渡した処理に従い、用意したレスポンスが返ってくる。 やって

                                  • テクノロジー
                                  • 2013/11/01 03:27
                                  • qiita
                                  • JavaScript
                                  • javascriptでスタックトレース - Qiita

                                    11 users

                                    qiita.com/halhide

                                    javascriptでちょっと賢いロガーっぽいのを作ったとしても、最終的にはconsole.logを使ったりすると、ログの表示箇所が全て同じファイル、行になるのでいまいち不便。 そこで、V8エンジンのブラウザだけだけど、スタックトレースを取得してログメソッドが実行された行数、ファイル名などを一緒に出力する方法を調べた。 を使えばいける。例えばこんな感じ。 Error.prepareStackTrace = function( e, st ) { return { functionName: st[0].getFunctionName(), lineNumber: st[0].getLineNumber(), //いろいろお好きに }; }; function log( msg ) { var obj = {}; Error.captureStackTrace( obj, log ); co

                                    • テクノロジー
                                    • 2013/08/21 21:22
                                    • debug
                                    • javascript
                                    • programming
                                    • fuelphpでgeometry型を扱う - Qiita

                                      3 users

                                      qiita.com/halhide

                                      MySQLのviewを使うことで実現してみた。 ここではSpotという、名前と説明と位置情報を持つデータを考えてみる。 scaffoldでは、geometryを指定 php oil g scaffold -f spots title:string description:string location:geometry できあがったmigrationファイルのup()関数内で \DBUtil::create_index('spots', 'location', 'sp_index', 'spatial'); \DB::query("create view spots_all_view as select id, title, description, ASTEXT(location) as location, created_at, updated_at from spots")->exe

                                      • テクノロジー
                                      • 2013/02/10 21:40
                                      • FuelPHP
                                      • MySQL
                                      • PHP

                                      このページはまだ
                                      ブックマークされていません

                                      このページを最初にブックマークしてみませんか?

                                      『qiita.com』の新着エントリーを見る

                                      キーボードショートカット一覧

                                      j次のブックマーク

                                      k前のブックマーク

                                      lあとで読む

                                      eコメント一覧を開く

                                      oページを開く

                                      はてなブックマーク

                                      • 総合
                                      • 一般
                                      • 世の中
                                      • 政治と経済
                                      • 暮らし
                                      • 学び
                                      • テクノロジー
                                      • エンタメ
                                      • アニメとゲーム
                                      • おもしろ
                                      • アプリ・拡張機能
                                      • 開発ブログ
                                      • ヘルプ
                                      • お問い合わせ
                                      • ガイドライン
                                      • 利用規約
                                      • プライバシーポリシー
                                      • 利用者情報の外部送信について
                                      • ガイドライン
                                      • 利用規約
                                      • プライバシーポリシー
                                      • 利用者情報の外部送信について

                                      公式Twitter

                                      • 公式アカウント
                                      • ホットエントリー

                                      はてなのサービス

                                      • はてなブログ
                                      • はてなブログPro
                                      • 人力検索はてな
                                      • はてなブログ タグ
                                      • はてなニュース
                                      • ソレドコ
                                      • App Storeからダウンロード
                                      • Google Playで手に入れよう
                                      Copyright © 2005-2025 Hatena. All Rights Reserved.
                                      設定を変更しましたx