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

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

アプリで開く

はてなブックマーク

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

はてなブックマーク

トップへ戻る

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

    参議院選挙2025

『qiita.com』

  • 人気
  • 新着
  • すべて
  • Python におけるモジュールとパッケージは「名前空間」 - Qiita

    12 users

    qiita.com/sukobuto

    この記事を書いた動機 Python のパッケージシステムを理解せずに他の言語にある、「1クラス1ファイル」の哲学をそのまま持ち込むとつらい 「モジュールやパッケージをつかうとこういうふうに書けるよ」という入門記事はよく見るけど、どう使うことが想定されているのかという議論がなかなか見えてこない (特に __init__.py がなんなのかがわからない) 強制するつもりはなく、ベースとしてはこういうことなんじゃないのかな?という話がしたい もし「この記事 or ドキュメントにちゃんと書いてあんだろーが」みたいなものがあれば教えていただけると喜びます。 クラス単位にファイルを分けるデメリット Java や C# などオブジェクト指向を制約とする言語では、基本的に public なクラスは1ファイルに1つ書く習慣があるかと思います。 しかし python に於いて 〜.py はすべてモジュールであ

    • テクノロジー
    • 2017/07/23 11:31
    • python
    • model
    • *プログラミング
    • 考え方
    • ES2016 async/await キャンセル可能な非同期関数を実装する方法 - Qiita

      9 users

      qiita.com/sukobuto

      stack overflow にいいやり方が載っていたので紹介します。 出典:Abort ecmascript7 async function デモを書いてみました まずはこちらを見てください。何がやりたいかがわかりやすくなっているかと思います。 jsfiddle で動きを見る:CancellationToken async/await にはキャンセル処理を実装するための仕組みがありませんが、 async/await の元ネタである .NET framework に CancellationToken 構造体 というものがあります。 これを JS に持ち込むことで、キャンセル可能な async 関数を実装することができます。 CancellationToken クラス class CancellationToken { isCancellationRequested = false; co

      • テクノロジー
      • 2017/01/26 11:20
      • javascript
      • あとで読む
      • Xamarin.Forms で独自コントロールを定義する - Qiita

        3 users

        qiita.com/sukobuto

        この記事では、Label や Button などと同じように使いまわすことができる独自コントロールを作成します。コントロールに任意のプロパティを定義して、さらにデータバインディングもできるようにします。 サンプルコード sukobuto/xf-user-control-example ※こちらのサンプルコードでは Prism.Forms (MVVMインフラ) と ReactiveProperty を使っています。 Prism.Forms はこの記事の前提ではないので、使わなくても同じことができます。今回は MVVM でのプロジェクト作成が楽になる上、説明もしやすいため使っています。Prism.Forms については以下の記事がとっても参考になりました。 XamarinでPrismを使ったHello world / かずきのBlog@hatena Xamarin.Forms + Prism.

        • テクノロジー
        • 2016/08/17 17:58
        • ViewModel から画面遷移するいくつかのパターン - Qiita

          18 users

          qiita.com/sukobuto

          無償化に伴い、小さなベンチャーにとっても強力な選択肢の一つとなった Xamarin。 公式ドキュメントを読みながら勉強しています。 ViewModel から画面遷移できない! MVVM でアプリを作るうえで、画面遷移は ViewModel 主体で(もしその先にアプリ全体を管理するモデルがあるのであればそこでコントロール)したいと考えます。 公式ドキュメントにもMVVM に触れた記載はあるものの、所詮「ViewModel をバインディングコンテキストにセットするとバインドできるようになるぜ」という MVVM の前提技術の一部を紹介するにとどまっています。 画面遷移のために必要な Navigation オブジェクトは View が持っており、ViewModel から遷移しようとすると ViewModel と View の相互依存が発生してしまいます。 ...View は ViewModel の

          • テクノロジー
          • 2016/04/20 16:47
          • Prism
          • MVVM
          • Xamarin
          • WPF
          • C#
          • あとで読む
          • URLをリンクにする(但しすでにリンクになっていたら無視) - Qiita

            3 users

            qiita.com/sukobuto

            preg_replace_callback でゴリ押しする方法 否定戻り読みを使う方法 いまさら感の拭えないタイトルではありますが、意外と「すでにリンクになっている場合もある」想定のノウハウが見つかりませんでした。 preg_replace_callback でゴリ押しする方法 /** * @param string $body 処理対象のテキスト * @param string|null $link_title リンクテキスト * @return string */ function url2link($body, $link_title = null) { $pattern = '/(href=")?https?:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:@&=+$,%#]+/'; $body = preg_replace_callback($pattern, func

            • テクノロジー
            • 2016/03/21 22:31
            • PHP
            • tips
            • 【WPF】 .ico ファイルを Window のアイコンに設定する方法 - Qiita

              6 users

              qiita.com/sukobuto

              ググってもなかなか正解に辿りつけなかったのでメモ。 まず .ico ファイルをリソースに追加する Resource フォルダ(なければ追加)にドラッグ・アンド・ドロップで追加します。 ビルドアクションは Resource を選択してください。 XAML で設定する方法 <Window x:Class="DiffFileSaver.Views.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" xmlns:ei="http://schemas.m

              • テクノロジー
              • 2015/07/30 15:42
              • WPF
              • C#
              • KO + TypeScript + Cordova でハイブリッドアプリ開発 - Qiita

                5 users

                qiita.com/sukobuto

                いつもお世話になっております。KnockoutJS の無限の可能性を具現化していきたい私です。 私はアプリ開発に関する知識がほぼゼロなのですが、Knockout による SPA の開発技術を活かせるならと Cordova の勉強を始めました。そんな折にちょうどよく勉強会が開かれるということで。 第1回Apache Cordova勉強会(動画) 第2回Apache Cordova勉強会(まとめ) にお邪魔させていただきました。 既に 第3回 の開催も予定されています。(いつも開催時に次の予定を決めておき告知するというのはいいですね!) できれば第3回にて、KnockoutJS をコアとした Cordova アプリの開発で登壇できたら、ということで主催の田中さんと少しお話させていただいたりしました。 この記事は KnockoutJS AdventCalendar 2014 最終日の記事でもあり

                • テクノロジー
                • 2014/12/30 18:46
                • knockout.js
                • Cordova
                • TypeScript
                • KO + TypeScript で大規模 SPA 開発 - Qiita

                  12 users

                  qiita.com/sukobuto

                  追記: 今から SPA を始めようと思ってこの記事を見つけた方へ この記事は2014年に書きました。 KnockoutJS はバインディングライブラリとして生まれ、Angular, Vue などの MVVM フレームワークの礎となりました。現時点で振り返ってみても、KnockoutJS はやはりフレームワークではなくバインディングライブラリです。 SPA をサクッと作りたい場合、もしくは腹を据えて開発したい場合、どちらにおいてもフレームワークを利用したほうが明らかに楽です。この記事での実装方法には、退屈なボイラープレートが数多く残っています。 薄いライブラリを使用しているがための自由度の高さがあるか、と考えてみても Angular, Vue, React を使う場合と比較した優位性はもはやありません。 KnockoutJS を dis りたいわけではありませんが、冷静に比較しても SPA

                  • テクノロジー
                  • 2014/12/11 06:35
                  • サンプル
                  • library
                  • API
                  • app
                  • あとで読む
                  • RICOH THETA 専用カスタムバインディングを作った話 - Qiita

                    4 users

                    qiita.com/sukobuto

                    RICOH THETA? これです RICOH THETA m15 なにかというと、ワンタッチで Google ストリートビューみたいな全天球写真 360° x 360° を撮影できるカメラなんです。真ん中にあるボタンでも撮影できますが、スマートフォンと Wifi 接続(THETA が親機になる)することでスマートフォンがシャッターになります。 ちょうどベトナムに旅行に行く機会があったので、すぐに買って持っていきました。 で、ツアーの方々と一緒に THETA を囲って撮影したりなんてことがあったのですが、撮影した写真は適切に処理してあげないとグニュァアアっと歪んでいて見られたものではありません。 どうやって共有したものか と悩んでいたところ three.js を使って全天球処理する話があったので、これを Knockout のカスタムバインディングにして独自ビューアを作ってみました。 カスタ

                    • テクノロジー
                    • 2014/12/04 12:52
                    • KnockoutJS の便利なプラグイン - Qiita

                      12 users

                      qiita.com/sukobuto

                      随時追加していきます。 おすすめがありましたらコメントか編集リクエストください! ほとんどが海外の情報なのでドキュメントが英語だったりしますが、なにせ Knockout に関するものなのでシンプルすぎるほどシンプルです。サンプルコードを読めば大体わかります! ViewModel ユーティリティ knockout.mapping (github) プレーンオブジェクトを ViewModel にマッピング(変換)するユーティリティ。 KnockoutJS 作者によるプラグインです。 参考:Knockout.js の Mapping プラグインを使ったら凄く捗った件/しばやん雑記 Knockout Validation (github) 言わずもがな、純正ともいうべきバリデーションライブラリです。 Bootstrap と組み合わせてエラーを視覚化するといった使い方もあります。 ko.editab

                      • テクノロジー
                      • 2014/11/23 19:14
                      • javascript
                      • js
                      • UI
                      • web
                      • Ginq でオブジェクトをグループ分けする - Qiita

                        4 users

                        qiita.com/sukobuto

                        Ginq は LINQ の PHP 実装の一つ。とてもよい。 Ginq に限らず LINQ 系全般に通じる話です。 PHP で配列内のオブジェクトを条件によってグループ分けする、ということをたまにやりたい場面があります。Ginq では次のように書くことができます。 // 例えばこんなクラスのオブジェクト配列があるとする class EventSlate { /** @type string */ public $date; /** @type string */ public $title; public function __construct($date, $title) { $this->date = $date; $this->title = $title; } } $events = [ new EventSlate('2014/10/15', '寿司駆動ハンズオン'), new

                        • テクノロジー
                        • 2014/11/02 04:10
                        • php
                        • PHPプリミティブ型(int,string,array...)にメソッドを生やそう - Qiita

                          6 users

                          qiita.com/sukobuto

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

                          • テクノロジー
                          • 2014/05/07 20:01
                          • php
                          • 【独断と偏見】C#erでも許せるかも知れないフルスタックPHP - Qiita

                            207 users

                            qiita.com/sukobuto

                            なにかと dis られる言語 PHP ですが、dis られる要因としては 利用者が多い(少なければそもそも話題にならない) 言語自体に開発者を導くコンパスがない 結果的に負の遺産が多く築かれる ということがあると考えています。 PHP をうまく使ってご飯を食べている身としていくら dis られようと何ら弊害はないのですが、PHP は OSS で安定性・拡張性・言語自体の開発の活発さを保っておりコミュニティもとても活発な言語なので、今回は「PHP を使うとしたらこうやるといいよ」という方向性で書いてみようと思います。 あくまで個人の主観に基づいた記事です。ご了承下さい。 あくまでウェブアプリケーションを開発することを想定しています。 (それ以外の用途があるとは思いませんが) その前に、なぜ PHP を使うのか PHP は書けば動くから簡単だよ という罠 この言葉を耳にしたのは専門学校時代です

                            • テクノロジー
                            • 2014/05/03 05:38
                            • php
                            • phalcon
                            • programming
                            • C#
                            • プログラミング
                            • IT
                            • .net
                            • Windowsユーザの私が最近使っている各種ツール(開発・資料作成・その他) - Qiita

                              9 users

                              qiita.com/sukobuto

                              Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 書いておけば履歴が残って便利なのでは?てことで書きました。 時代とともに追加・変更していこうと思います。 開発 IDE PhpStorm PHP 及び Node.js での開発に使用。 クライアントワークで最も多く使用する。 PHP に限らず Web 開発ならこれ一本でだいたいいける。 理論上可能ならだいたい静的解析してくれるため、言語仕様でやや難のある PHP でも一定の型安全性が確保できる。コード補完もこれ以上ないほど強力で軽快。 npm パッケージ管理ツールもついてて Node.js での開発に便利。 PHP IDE :: Jet

                              • テクノロジー
                              • 2014/02/25 16:15
                              • php
                              • windows
                              • サンプルに惑わされるな!KnockoutでUIエフェクトを使う際のベター・プラクティス - Qiita

                                26 users

                                qiita.com/sukobuto

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

                                • テクノロジー
                                • 2014/02/12 01:36
                                • Knockout.js
                                • javascript
                                • knockout
                                • ui
                                • 【爆速テンプレートエンジン】Express3 以降で layout.ejs が使えなくなった代わりに ECT - Qiita

                                  7 users

                                  qiita.com/sukobuto

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

                                  • テクノロジー
                                  • 2014/01/31 17:37
                                  • あとで試す
                                  • node.js
                                  • web
                                  • あとで読む
                                  • async:false とは何か。或いは、非同期処理を諦めるのはまだ早い! - Qiita

                                    32 users

                                    qiita.com/sukobuto

                                    JavaScript は非同期処理が基本 jQuery は非同期処理を簡単にしてくれる Knockout MVVM における非同期処理パターン の三本立てでお送り致します。 JavaScript は非同期処理が基本 最近、こんな記事をいくつか見かけました。 「jQuery.ajax で結果が反映されない!困ったら async:false だ!」 これは Tips とは言えません。 async:false にすると何が変わるのか、正しく認識していますか? jQuery の API リファレンス には、こうあります。 Note that synchronous requests may temporarily lock the browser, disabling any actions while the request is active. 同期リクエストは 一時的にブラウザをロックし、一

                                    • テクノロジー
                                    • 2013/12/26 08:47
                                    • jQuery
                                    • javascript
                                    • Ajax
                                    • study
                                    • programming
                                    • web
                                    • 16行 で pushState popState - Qiita

                                      24 users

                                      qiita.com/sukobuto

                                      2013/12/27 追記:初回アクセス時に popState イベントが発生しリロードしてしまう問題への対策を記載しました。(この追記により、タイトルが 15行 → 16行 に変更になりました^^) pushState popState とは Ajax を使ったスムーズな画面遷移でも、URL を書き換え履歴に追加し、ブラウザバックに対応することができる仕組みです。SEO への影響を出すこと無く操作性を向上させることができます。 現在、pushState/popState を使ったクライアントサイドルーティングを実現するライブラリがいくつか作られていますが、今回は jQuery だけで行うシンプルな方法を紹介します。 参考: Googleに続いてBingもAjaxにはpushStateを推奨 本題 jQuery だけで、15行程度でできる pushState popState を使った A

                                      • テクノロジー
                                      • 2013/12/21 19:27
                                      • pushState
                                      • popState
                                      • jQuery
                                      • ajax
                                      • html5
                                      • history
                                      • PC向けサイトがスマホでも崩れないようにする方法 - Qiita

                                        58 users

                                        qiita.com/sukobuto

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

                                        • テクノロジー
                                        • 2013/10/15 12:35
                                        • CSS
                                        • viewport
                                        • スマートフォン
                                        • 文字サイズ
                                        • html
                                        • webデザイン
                                        • android
                                        • smartphone
                                        • css3

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

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

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

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

                                        j次のブックマーク

                                        k前のブックマーク

                                        lあとで読む

                                        eコメント一覧を開く

                                        oページを開く

                                        はてなブックマーク

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

                                        公式Twitter

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

                                        はてなのサービス

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