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

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

アプリで開く

はてなブックマーク

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

はてなブックマーク

トップへ戻る

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

    新内閣発足

『qiita.com』

  • 人気
  • 新着
  • すべて
  • 9年開発を牽引して見えてきた、共通化すべきものと個別でつくるもの - Qiita

    3 users

    qiita.com/shinout

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに 〜DRY or WET〜 怠惰であることが美徳とされるエンジニアは、一度つくった機能は二度と作らないようにしたいものだ。 だから共通部分を見つけ出し、それを切り出してライブラリとして使い回すということが行われている。 コピペはするな。 DRY(Don't Repeat Yourself) ところがある程度の経験を積むと、 むしろコピペしろ。 WET(Write Everything Twice) といった状況もあることに気づく。 この両極の価値観は、少なくとも「何事も共通化すればいい、というわけではない」ことを教えてくれる。

    • テクノロジー
    • 2023/12/02 23:28
    • ドキュメント指向DBの論理的側面と物理的制約 - DDDと絡めて - Qiita

      16 users

      qiita.com/shinout

      Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? この記事のモチベーション RDB(Relational DataBase)の歴史は長く、ノウハウも蓄積されている。 関係代数という学問もあるなどアカデミックにも研究されており、 国家資格である「データベーススペシャリスト」も、ほとんどこのRDBのことを扱うなど、 RDBは一定の体系が確立した技術と言える。 一方で、2010年ごろより広まったNoSQL、特にドキュメント指向DBに関しては、 当然ながらRDBに比べると未成熟な段階であろう。 また主観だが、NoSQLは、スケーラビリティといった物理的側面にfocusが当たることが多かったので

      • テクノロジー
      • 2017/10/03 08:18
      • DDD
      • NoSQL
      • MongoDB
      • データベース
      • DB
      • あとで読む
      • クライアント主権時代にJSのモデルはどう共有すればいいのか - Qiita

        9 users

        qiita.com/shinout

        Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? クライアント主権時代 SPA、スマートフォンアプリの隆盛。時代はクライアントサイドに主権が移ってきている。 これからの時代はクライアントサイドにロジックを持たねばならぬだろう。 一方サーバーは、「ユーザー1人でも完結するサービス」に限れば、 DOA(Data Oriented Architecture)的な立ち位置のもの(≒mBaaSとか)と、BFF(Backend for Frontend)的な立ち位置のものがあればよくなる。 モデル定義がダブる いままでモデルはサーバーのものだった。 クライアントでは「JSON」というデータになって

        • テクノロジー
        • 2016/12/25 18:43
        • DDD
        • javascript
        • どうなるbind operator proposal - Qiita

          5 users

          qiita.com/shinout

          bind operator proposalとは? ECMAScriptへの新しい文法の提案の1つ。 obj::func()と書けばfunc.call(obj)になる ::obj.method と書けば obj.method.bind(obj)になる という新しい文法を提案している。 babelですでに実装されており、熱烈なサポーターもいるが、 TC39 stageは未だに0。 (TC39のstageについてはazuさんのECMAScriptとは何か?に詳しい) もう一方の期待の新星 async/await が着々とstageを上げているなか、何故bind operator proposalは一向に進まないのか。 本記事は主に、その理由として挙げられている下記のgithub issuesの流れをまとめたものである。 What's keeping this from Stage 1 - is

          • テクノロジー
          • 2016/12/16 18:04
          • js
          • JavaScript
          • faster-titaniumの使い方とその裏側 - Qiita

            3 users

            qiita.com/shinout

            Titaniumのアドベントカレンダー 2016の2日目。 今日は、私が1年ほど前に作って、使い続けているTitanium開発を爆速にするツールを 紹介させてください。 要約 faster-titaniumは、Titaniumアプリを再ビルドすることなく即座にJavaScriptを差し替えることのできるツールで、インストールもコマンド一発。これで自分とその周囲の開発生産性は相当上がった。 内部技術はいろいろ難しいが、みんな使って、エラーを出して、いいものにしていこう。 いまのところiOSだけだけど技術的にAndroidは可能だし、実際手元ではAndroidでもうまくやれる感じだ。誰かそこまでやるの手伝って... 背景 Titaniumは原理的に、JavaScript部分だけ差し替えれば、長いビルドは要らないはずだ。 例えば類似技術のReact Nativeでは、Cmd + R だけでJav

            • テクノロジー
            • 2016/12/02 13:07
            • 実践UniversalJS 繰り返し処理の分離 - Qiita

              11 users

              qiita.com/shinout

              ブラウザAPIに依存した複雑なJSの処理から、ロジックを抽出し分離する方法を、事例を通して紹介します。 今回の事例は、繰り返し処理を伴うロジックの分離にgeneratorが有効であった例になります。 はじめに少し Universal ≠ SSR について Universal JSの興味関心は、SSR(サーバーサイドレンダリング)に限りません。 より汎用なロジックの移植可能性がテーマです。例えば markdown文字列の構文解析 deep copy テスト http client ランダムに文字列を出力 と、プラットフォームに依存しないべきロジックすべてが守備範囲になります。 しかし、Universal JSへの関心が薄い層がライブラリを作ると、 たとえばmarkdown"ファイル"の構文解析ライブラリができあがります。「ファイル」は物質世界の登場人物で、この時点でNodeJSでしか利用でき

              • テクノロジー
              • 2016/09/06 18:30
              • js
              • JavaScript
              • react-native-web はクロスプラットフォームを加速するのか - Qiita

                23 users

                qiita.com/shinout

                Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? A Glimpse Into The Future With React Native For Web という記事を読み、react-native-webというプロジェクトを知りました。 本記事では、この技術の概要と自分の意見を書きます。 react-native-webの概要 より抽象化されたViewでWebアプリを書ける React Nativeで書いたコードはiOS、Androidに対応する。 このコードがそのままWebで動くとよいのでは?という発想で作られたライブラリ。 *「ReactはもともとWebの技術じゃないか」*というな

                • テクノロジー
                • 2016/09/01 09:10
                • React Native
                • React
                • app
                • package.json の browser field 入門編 - Qiita

                  10 users

                  qiita.com/shinout

                  package.json の browser field 入門編 Nodeプロジェクトのpackage.jsonには、browserというフィールドを設定することができます。 browserフィールドは、そのプロジェクトをブラウザ等のJSで使ってもらうための仕組みです。 この仕様は、browser field specに定義されています。 入門編では、この役割と基本的な機能について紹介します。 実践編では、 bundlerごとの解釈の違いと、それを回避する方法を説明します。 bundler とは このbrowser fieldを理解するには、まずbundlerについて理解する必要があります。 browser field specにはbundlerという用語が定義されていて、そこには A tool which takes a plain javascript package and crea

                  • テクノロジー
                  • 2016/08/11 18:51
                  • browser
                  • Qiita
                  • ReduxでReducerとInitialStateを分けるためのbetterCombineReducers - Qiita

                    19 users

                    qiita.com/shinout

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

                    • テクノロジー
                    • 2016/08/10 09:26
                    • Redux
                    • JavaScript
                    • 設計
                    • math
                    • Pocket
                    • programming
                    • あとで読む
                    • package.json の browser field 実践編 - Qiita

                      10 users

                      qiita.com/shinout

                      package.json の browser field 実践編 package.json の browser field 入門編 では、package.jsonのbrowser fieldの役割と機能について紹介しました。 本編では、この機能のbundlerごとの実装の違いと、それを回避する方法を説明します。 ここで取り上げる実装の違いとはずばりpathの解決方法です。 ./から記述するかどうか .jsを記述するかどうか mainとの対応関係 この3つの要素が絡んできます。 なお、パス解決のresolverを指定できる系もあるようですが、ここでは各々のbundlerがデフォルトで用意しているresolverについて論じています。 (なぜなら、resolverを外部が指定しなければ意図通りbundleされないというのは、利用者にとってはbundleされないのとほぼ同義です) 調査したbun

                      • テクノロジー
                      • 2016/08/03 09:10
                      • npm
                      • browserify
                      • webpack
                      • javascript
                      • browser
                      • Qiita
                      • npm shrinkwrapを運用で使うためのコツ - Qiita

                        24 users

                        qiita.com/shinout

                        npm shrinkwrap とは? npm shrinkwrapは、Node.jsプロジェクトの依存モジュールのバージョンを固定するコマンドです。 使い方についてはこちらの記事が参考になります。 今回は、npm shrinkwrapをより安定して使うためのコツを記載しました。 1. CIを活用し、テストしたバージョンで固定しリリース npm shrinkwrapコマンドではnpm-shrinkwrap.jsonというファイルが生成されます。 継続的インテグレーションのサービスを活用し、そこでテストしたバージョンで固定するとよいでしょう。 CIでのフローとすれば以下になると思います。 npm updateで、可能な限り新しいバージョンを利用 テスト (npm test) npm shrinkwrap npm-shrinkwrap.jsonを追加しコミット、別tagや別branchとしてpu

                        • テクノロジー
                        • 2016/07/21 01:08
                        • npm
                        • node.js
                        • CI
                        • grunt内でgulpを使う - Qiita

                          4 users

                          qiita.com/shinout

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

                          • テクノロジー
                          • 2016/01/02 13:44
                          • JavaScript
                          • Programming

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

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

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

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

                          j次のブックマーク

                          k前のブックマーク

                          lあとで読む

                          eコメント一覧を開く

                          oページを開く

                          はてなブックマーク

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

                          公式Twitter

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

                          はてなのサービス

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