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

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

アプリで開く

はてなブックマーク

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

はてなブックマーク

トップへ戻る

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

    WWDC25

『@cocottejsのマイページ - Qiita』

  • 人気
  • 新着
  • すべて
  • javascriptイディオム集 - Qiita

    45 users

    qiita.com/cocottejs

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

    • テクノロジー
    • 2015/06/16 08:42
    • javascript
    • イディオム
    • Qiita
    • Web制作
    • あとで読む
    • (Tips)オブジェクトのソート。複数の数値プロパティ - Qiita

      3 users

      qiita.com/cocottejs

      var errors = [ {line: 1, column: 30, message: 'syntax error'}, {line: 2, column: 21, message: 'too long'}, {line: 2, column: 10, message: 'format invalid'}, {line: 1, column: 5, message: 'delimiter error'} ]; // ここにソート処理をかけ // 結果 // errors -> [ // {line: 1, column: 5, message: 'delimiter error'}, // {line: 1, column: 30, message: 'syntax error'}, // {line: 2, column: 10, message: 'format invalid'}

      • テクノロジー
      • 2015/06/11 03:16
      • javascript
      • ブラウザとサーバで全く同じjavascriptを動かそう。[gulpとbrowserify超入門] - Qiita

        35 users

        qiita.com/cocottejs

        はじめに この記事は、 gulpも browserifyも知らない 初心者を対象にしています。 最近になってnode.jsでプログラミングしていますよって人が対象です あまりにも0ステップからで、それくらいわかるよって事もあるかもしれません。 node.jsについて、0から勉強したい人はドットインストールとか便利かもね。 gulpって?browserifyって? まず、gulpもbrowserifyもなんのことだか、さっぱりわからないって! でも、まだ説明しません。 なぜなら、 **なんで必要?**を説明していないから。 目的は ブラウザとサーバで全く同じjavascriptを動かそう 最近は、node.jsでサーバサイドjavascriptも珍しくなくなってきました。 でも、微妙に違うサーバとブラウザでのjavascript! 特に、違うなーと感じるのは、記述する場所ですね。 本当はもっ

        • テクノロジー
        • 2015/05/08 21:30
        • browserify
        • gulp
        • javascript
        • node.js
        • js
        • development
        • *あとで
        • (祝日・和暦・営業日計算対応) 日付モジュール - Qiita

          3 users

          qiita.com/cocottejs

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

          • テクノロジー
          • 2015/04/28 09:01
          • library
          • javascript
          • for-inとObject.keysの違いを正しく知る - Qiita

            23 users

            qiita.com/cocottejs

            はじめに オブジェクトのキーを取得する方法には、次の2つの方法が知られています。 それは、for-inで繰り返し処理による取得とObject.keysによる取得です。 実はこれいつでも同じ処理をするものだと思っていませんか? for (var p in obj) { if (obj.hasOwnProperty(p)) { //do something } } Object.keys(obj).forEach(function (p) { //do something }) function showProperties (obj) { // 検証1 - keys // Object.keysを使う var keys = Object.keys(obj); console.log('keys: ', keys); // 検証2 - forIn1 // 列挙可能なキーを取得する var fo

            • テクノロジー
            • 2014/06/17 16:55
            • javascript
            • js
            • programming
            • Koa用のミドルウェアをwebsocketにも対応させたい - Qiita

              3 users

              qiita.com/cocottejs

              はじめに koaはp-baleine@githubさんの記事やLightSpeedCさんの記事で魅力を感じて触っています。 でもnode.jsといえばやっぱりsocket.ioを使った双方向通信ですね。 どうやって実現するか。 そこでググってみるとtakyamさんのブログにドンピシャな投稿がありました。 さっそくtakayamさんのコードを拝見すると、やっぱりsocket.ioの部分はごちゃごちゃしてしまうのは仕方がなさそうですね。 せっかくkoaのhttpのミドルウェア部分はすっきりしているのにと。。。 そこで今回はsocket.io部分もミドルウェアっぽく記述出来るモジュールを作成しました。 公開しているので試してみてください。 npmを使う場合はnpm install cocotte-mixin-wsです。 Koaのミドルウェア とっても単純に記述するとhttp部分のミドルェアは次の

              • テクノロジー
              • 2014/04/12 00:09
              • [Mac]Docblockr Plugin時に日本語をコメントに入力出来ない問題の最も簡単な解決方法 - Qiita

                5 users

                qiita.com/cocottejs

                まあ〜、小さい小さい小ネタです。 コメントで日本語を入力中、確定しようとしてenterを押すと 入力が消えてしまいます。 解決方法はいろいろ面倒な事をしなくてはいけなくて厄介ですが、 じつは非常に簡単に解決する方法があります。 タイトルの方が長いですが、結論は 「shiftを押しながらenterで確定する」 です。 keymapの編集だとか、Pluginを新たに入れるとか面倒な人におすすめで、 慣れると割と苦にならないです。 ただ、ことえりでしか確認していないですが。 google 日本語入力は https://gist.github.com/koizuss/4521934 にkeymapを編集して対応する方法もあるみたいです。 Sublime Textは今までのIDEに比べ軽くて良いんですが、日本語周りが難ありますね。

                • テクノロジー
                • 2013/10/22 12:39
                • クラスの落とし穴3 - 継承 - Qiita

                  11 users

                  qiita.com/cocottejs

                  クラスの落とし穴1 - プロパティの初期化 クラスの落とし穴2 - メソッドとクロージャ クラスの落とし穴3 - 継承(この投稿) クラスの落とし穴4 - プライベート変数の実装 はじめに 今回はクラスの継承の違いによる落とし穴です。 継承とプロトタイプチェーン。同じようで同じじゃないやっぱりある落とし穴はなんでしょうか。 継承 javascriptはプロトタイプベースのため、PHPやjavaのように継承の方法に明確な構文がありません。 そのため、継承に似たものを工夫して実装することになります。 少なくとも継承にプロトタイプチェーンを使用すれば良いだろうというのは理解されていると思いますが、実際にはこれが一番の方法で後は全部だめ!というパターンはありません。 ただ、安易な実装は思っている動作とじつは異なる動作をしている事があります。 ここでは一番簡単な方法から継承を実装して確認します。 よ

                  • テクノロジー
                  • 2013/10/17 18:52
                  • js
                  • Article
                  • javascript
                  • クラスの落とし穴2 - メソッドとクロージャ - Qiita

                    12 users

                    qiita.com/cocottejs

                    クラスの落とし穴1 - プロパティの初期化 クラスの落とし穴2 - メソッドとクロージャ(この投稿) クラスの落とし穴3 - 継承 クラスの落とし穴4 - プライベート変数の実装 はじめに 前回は、プロパティをコンストラクタで 初期化しなかった場合に起きる落とし穴を投稿しました。 今回は、メソッドをコンストラクタで 初期化した場合に起きてしまう落とし穴を投稿します。 プロパティとメソッドでコンストラクタ初期化するかしないか推奨の実装方法に差があるのは、javascriptの興味深いところです。 クラス定義 まずは前回のおさらいで、クラス定義を次のように書くようにしていました // クラスを定義 function Klass1 () { // プロパティ this.name = 'foo'; this.hobbies = []; }; // メソッド Klass1.prototype.set

                    • テクノロジー
                    • 2013/10/09 19:54
                    • javascript
                    • js
                    • Article
                    • あとで読む
                    • クラスの落とし穴1 - プロパティの初期化 - Qiita

                      144 users

                      qiita.com/cocottejs

                      クラスの落とし穴1 - プロパティの初期化 (この投稿) クラスの落とし穴2 - メソッドとクロージャ クラスの落とし穴3 - 継承 クラスの落とし穴4 - プライベート変数の実装 はじめに javascriptでもクラスを作成する事が多くなってきました。 しかし、「javascriptにはクラスがない」とよく言われ、実装側が擬似的にクラスを定義しています。 クライアントサイドで大規模開発が増えてきたため、オブジェクト指向の概念で実装したいと思っているのでしょう。 javascriptでは安易な疑似クラスの作成によって見事落とし穴にはまる事があります。 ここでは、本来javascriptにはないクラスをうまく実装する方法を順に追って説明します。 "落とし穴とは、 うまく動いているけど気がついていないだけで実はマズい実装の事 とします 簡単なクラスの実装 クラスの定義には幾つかの方法がありま

                      • テクノロジー
                      • 2013/10/05 18:54
                      • javascript
                      • オブジェクト指向
                      • class
                      • prototype
                      • バグ
                      • js
                      • クラス
                      • あとで読む
                      • programming
                      • function
                      • 関数の場合の変数の巻き上げ問題について - Qiita

                        16 users

                        qiita.com/cocottejs

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

                        • テクノロジー
                        • 2013/10/05 15:46
                        • js
                        • javascript
                        • qiita
                        • カスタムエラーを作成する方法 - Qiita

                          5 users

                          qiita.com/cocottejs

                          標準のErrorを拡張してプロパティを持ったCustomErrorを作成するのに、 はまってしまってやっと解決したので共有します。 継承のおさらい まずは、何の変哲もない継承の方法からおさらいします。 node.jsで普通に継承を行うと次のように実装する事が出来ます var util = require('util'); // 継承元 var Vehicle = function Vehicle (capacity) { this.capacity = capacity; }; Vehicle.prototype.capacity = 0; // 継承先 var Car = function Car (capacity, color) { Car.super_.call(this, capacity); if (color) { this.color = color; } }; util.

                          • テクノロジー
                          • 2013/09/23 01:17
                          • javascript
                          • 「積み木の水槽」をjavascriptで解いてみた - Qiita

                            4 users

                            qiita.com/cocottejs

                            何日か前に出題されていたものをjsでも書いてみました。 みなさんの回答を、投稿してからみようと思うので 同じや、さらに良いロジックがあるかもしれませんが、とりあえず。 左右から見える壁の高さと奥行きを調査し、見えない部分に水が入っていると考えています var test = function (input, output) { // 0が入っているところで分けて別々に計算して足す var blocks = input.split('0') , water = 0; // 分けたブロックごとに計算 blocks.forEach(function (data) { var block = data.split('') // 左影 , max1 = 0 , lsharp = block.reduce(function (x, y) { max1 = Math.max(y * 1, max1); x

                            • テクノロジー
                            • 2013/09/13 10:33
                            • 配列の重複をはじく、もしくは重複を取り出す - Qiita

                              72 users

                              qiita.com/cocottejs

                              var a = [1,2,3,3,2,2,5]; // 重複を削除したリスト var b = a.filter(function (x, i, self) { return self.indexOf(x) === i; }); // 重複のみをリスト var c = a.filter(function (x, i, self) { return self.indexOf(x) !== self.lastIndexOf(x); }); // 重複を検出したものを重複しないでリスト var d = a.filter(function (x, i, self) { return self.indexOf(x) === i && i !== self.lastIndexOf(x); }); console.log(a); // [ 1, 2, 3, 3, 2, 2, 5 ] console.log

                              • テクノロジー
                              • 2013/09/11 06:19
                              • JavaScript
                              • 配列
                              • array
                              • jQuery
                              • es2015
                              • *jquery
                              • TIPS

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

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

                              『@cocottejsのマイページ - Qiita』の新着エントリーを見る

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

                              j次のブックマーク

                              k前のブックマーク

                              lあとで読む

                              eコメント一覧を開く

                              oページを開く

                              はてなブックマーク

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

                              公式Twitter

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

                              はてなのサービス

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