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

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

アプリで開く

はてなブックマーク

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

はてなブックマーク

トップへ戻る

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

    参議院選挙2025

『qiita.com』

  • 人気
  • 新着
  • すべて
  • PythonでPDFから画像を抽出するもっとも簡単な方法 - Qiita

    4 users

    qiita.com/41semicolon

    PDFに含まれるすべての画像を抽出する方法です。Python3.6+。Windowsで動かしましたがLinux等でも可能だと思います。 01. 環境 pyMuPDFというライブラリを以下のコマンドで入れます: pyMuPDF は import fitz でインポートできるライブラリです。PDFだけでなくEPUBなども読めます。公式ドキュメントはここ で PyPIの統計情報 を見ると2021/May が最新更新でGithubでは900を超えるスターが付いてます。Python3.6+で動作します。私はWindows上で動かしています。 02. 基本となる考え方 いくつか知っておくべき項目を列挙します。 PDFに入っている画像形式は不定です。どの形式の画像を入れるかはPDF作成者が決められます。jpgやpngが多いですが JPEG 2000(拡張子:jpx) が使われることもあります。 画像抽出

    • テクノロジー
    • 2021/05/21 09:07
    • Proxy型って知ってる? - Qiita

      5 users

      qiita.com/41semicolon

      Proxy型 ES6 で新しく Proxy型が導入された。 MDNのドキュメントは こちら 。 Proxy型は JavaScript のメタプログラミングで多用される。 メタプログラミングの文脈でのMDNドキュメント 普通のプログラマはメタプログラミングなんてしないので、基本的に忘れてしまってよい話。でもまあ、知っていても損はしないのでざっくりレビュー。 Proxy型って結局なんなの? めちゃくちゃざっくりいうと、任意のオブジェクトのゲッターとセッターを魔改造する技術。(それ以外にも new とか for ... in 文を魔改造することもできるけどここでは割愛。)いやいや、JavaScriptのゲッターセッターって何よ、と思うかもしれない。もう少し具体的に言うと、以下のコードの挙動を魔改造するってこと。 プロパティアクセス obj.name の際の挙動 プロパティへの代入 obj.nam

      • テクノロジー
      • 2020/09/09 21:42
      • javascript
      • Phaser 3 でゲーム作成入門 - Qiita

        11 users

        qiita.com/41semicolon

        0. 対象 JavaScript はそこそこわかる人 phaser って何?くらいの人 1. Phaser 基本のキ 世界で一番人気のゲームエンジン(範囲:JavaScript + 2D + オープンソース) github スター数: 21357 凄すぎだろ... 商用OK MIT ライセンス 高速 WebGLで動作, クライアントが対応してなければ Canvas にフォールバック 特別な開発環境不要 CDN から 1 JSファイルをロードするだけで使える npm でもインストールも可能 好きなエディタを使える TypeScript の定義ファイルも同梱 2. チュートリアルから学ぶ Phaser 3 Phaser のことを本当に何も知らなくても、そこそこ面白いゲームが作れる公式のチュートリアルがある。これをいじって、Phaser 3の概要をつかむ。 2.1. 動くもので遊ぶ チュートリア

        • テクノロジー
        • 2019/07/27 15:03
        • library
        • javascript
        • game
        • JavaScript で論理学を実装 - Qiita

          36 users

          qiita.com/41semicolon

          0. 概要 JavaScript上で命題論理の言語を実装し、意味論 (恒真式・意味論的同値関係やタブロー計算)の各種概念も実装に落とし込む。証明論は未実装。動作環境は Node。 依存パッケージは nearley (構文解析) のみ。npm i --save nearley で環境構築完了。 0. 表記 原子命題は p,q,r,s,t,u のみ利用可。¬⋀⋁→↔ は -,A,V,->,== とする。よって例えば、$\neg\neg p \leftrightarrow p$ は --p == p となるし、$\neg(p\wedge q)\leftrightarrow \neg p \vee \neg q$ は -(p A q) == -p V -qとなる。 1. 統語論 ~構文木の構築~ 文字列を構文木にする。木構造には JavaScript の Array を利用する。具体的には pAq

          • テクノロジー
          • 2019/04/06 18:26
          • Logic
          • あとで読む
          • JavaScript
          • *あとで読む
          • シンプレックス法を雑に理解した - Qiita

            4 users

            qiita.com/41semicolon

            わかる人には当たり前で、わからない人には多分わからない駄文だが、将来の自分には有用と判断して公開 参考文献 シンプレックス法でも勉強しようとググっていくつかのページを見たけど、東工大の水野研が公開しているPDFのテキストが一番わかりやすかった 1. 標準形への変形 二次関数のグラフを描画したいときには平方完成するように、線形計画法では解きたい課題を 標準形 に変形することが第一歩。標準形はざっくり以下の形: 登場する変数が 全て非負 目的関数の 最小化 がミッション その他の制約は全て 等式制約 (不等式制約はない) 一般の線形計画問題を標準形になんとか変形する必要がある。そのためのテクニックは以下: テク: 非負制約の導入 x に非負制約がない場合、u, v という非負変数を用いて x = u - v として x を消去 変数を 1 へらして 2 増やすので見た目にはちょっと複雑になった

            • テクノロジー
            • 2019/03/18 00:01
            • コードに落とし込めば哲学もわかりやすくなるだろ、という試み - Qiita

              27 users

              qiita.com/41semicolon

              続編: コードに落としこんで 哲学やろうぜ その2 ~海賊王になる方法~ 本稿での試み 近年の哲学の潮流は「分析哲学」と呼ばれるもの。明晰な論証を特徴としているが、日常言語(つまり日本語とか英語)であるので、なんか言いくるめられてしまうように感じる。 そこで、一意に解釈可能なプログラミング言語で実装してみて、言わんとしていることを確かめる=納得する という試みをしてもよいのではないか?と考えた。 もちろん、納得する手段はプログラミング言語でなくてもよい。数式によるモデリングや、記号論理の論理式での検証でもよい。ここはQiitaなのでプログラミングで確かめようということ。 本稿では、手始めに、何かと批判の多い「意味の心理主義」についてコーディングしてみようと思う。 意味の心理主義 概要: 「アセロラの実は赤い」などの言葉の意味は、「あなたの心に浮かんだそのイメージ」であるよ、という説。言葉の

              • テクノロジー
              • 2019/02/07 21:43
              • 言葉
              • あとで読む
              • JavaScript の Promise は モナドではない - Qiita

                28 users

                qiita.com/41semicolon

                誰かの投稿にコメントしたけど、散逸するのももったいないので記事にした。 TL;DR; JavaScript の Promise は モナド則を満たさないのでモナドではない だから何? Promise がモナドではなくても、別に困らない 関数型プログラミング指向の人で、モナドの恩恵を受けるような操作(例: 関数の lift )が必要な場合、サードパーティ製の非同期モナドを使わないといけない(例: Folktale) モナド則を JavaScript で モナド則を Haskell wiki から抜粋 Left identity: return a >>= f ≡ f a Right identity: m >>= return ≡ m Associativity: (m >>= f) >>= g ≡ m >>= (\x -> f x >>= g) JavaScript 用に書き直す。retu

                • テクノロジー
                • 2019/01/23 15:41
                • javascript
                • あとで読む
                • qiita
                • 衝撃レポート!!map, reduce の本質にせまる! - Qiita

                  3 users

                  qiita.com/41semicolon

                  おおげさなタイトルでなんかすまん 目的と結論 目的 map, reduceを納得して使う 結論 map, reduce の本質は、イテレーション可能なデータソースを対象にしたデータの加工である。map は加工の際に状態を持てないため複雑な作業はできないが簡単に扱える。reduce は状態を持てる分複雑なデータ加工が可能であるが、出力データの構築という本質と外れた操作を含む。この出力データの構築の部分をより具体化させると、reduce は into という操作になり、一般化すると reduce は transduce という操作になる。 結論に興味がある人は読んでほしい。最近 transduce に興味を持った人には特に得るものが多いと思う。 姉妹編: map, reduce もいいけどtransduce もね https://qiita.com/41semicolon/items/666a

                  • テクノロジー
                  • 2018/10/10 19:34
                  • JavaScript・再帰・トランポリン - Qiita

                    61 users

                    qiita.com/41semicolon

                    現状整理 JavaScript では末尾再帰最適化(PTE: Proper Tail Call) は、完全には期待できない https://kangax.github.io/compat-table/es6/ 末尾再帰による最適化 - Qiita なので再帰は注意して使わねばならない スタックオーバーフローしないことをチェック 再帰を辞めて for 文とかに何とか変換する とはいえ再帰を使いたい こともある じゃあどうするか?が本稿の目的 再帰におけるスタックオーバーフローは、末尾再帰の最適化ができる他の言語でも起こりえる(例: 末尾再帰できない場合)。じゃあ、他の言語の場合どうしているかというと、トランポリンするらしい。もちろん JavaScript でもトランポリンできる。トランポリンすると、再帰が深くなってもスタックオーバーフローしない。 処方箋 ざっくりいうと以下の処方でスタックオ

                    • テクノロジー
                    • 2018/09/04 09:34
                    • javascript
                    • algorithm
                    • あとで読む
                    • tips
                    • 言語
                    • js
                    • qiita
                    • ガチャプログラムの実装(中級者向け) - Qiita

                      31 users

                      qiita.com/41semicolon

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

                      • テクノロジー
                      • 2018/08/28 10:21
                      • プログラミング
                      • javascript
                      • Node.js
                      • D3 軸と軸ラベル の微調整テク - Qiita

                        3 users

                        qiita.com/41semicolon

                        // input const sc = d3.scaleLinear().domain([0,100]).range([0, width-80]); const ax = d3.axisBottom().scale(sc); const ax2 = d3.axisBottom().scale(sc).ticks(4); const ax3 = d3.axisBottom().scale(sc).tickValues([0,20, 40, 80]); const ax4 = d3.axisBottom().scale(sc).tickFormat((val) => { return val === 30 ? '' : val.toString() }); const ax5 = d3.axisBottom().scale(sc).tickSize(10) // output const x

                        • テクノロジー
                        • 2018/08/26 11:33
                        • d3.js
                        • for...of を使うなってAirbnbが言ってたから使わないようにしてたら慣れた - Qiita

                          77 users

                          qiita.com/41semicolon

                          概要 Airbnb の JavaScript Style Guide を適用する eslint のプラグイン eslint-config-airbnb を入れてコーディングをすると、 for ... of を使うなと怒られる。仕方ないので、map とか forEach とか every とか使っているうちに、for..of を使わないでやっていけるようになったという話。 1. 状況整理 1-1. 怒られる理由 for..of を使うと eslint-config-airbnb が怒る。理由は no-restricted-syntax 。詳しいことは、Qiita の記事「ESLint対応物語 ~no-restricted-syntax~」 と、その記事へのコメントが詳しくて、抜粋すると以下。 for-of 構文を Babel (babel-preset-es2015) で変換すると rege

                          • テクノロジー
                          • 2018/07/20 14:49
                          • javascript
                          • あとで読む
                          • js
                          • Firebase Authで新規ユーザを作らせたくない! - Qiita

                            3 users

                            qiita.com/41semicolon

                            問題意識 Twitter連携などのOAuthでユーザ登録をできるようにしたり、メールアドレス/パスワードでユーザ登録をさせたりするようにすると、本当に誰でも自分のプロジェクトに新規ユーザ登録できてしまう。ECサイトとかSNSとかではこれは望ましい動作だろうが、サークルや研究室のサイト構築などではこれは望ましい動作ではない。ホワイトリスト形式でユーザを登録させる方法はあるだろうか? 世の中の見解 見解1: 登録/認証は好きにさせて、認可ではじけば? Is there a way to restrict registrations in firebase - Stack Overflow How do I restrict signup to a product in Firebase - Stack Overflow Restrict Google Auth to specific user

                            • テクノロジー
                            • 2018/05/25 08:48
                            • JavaScript で関数型プログラミング実践 - Qiita

                              3 users

                              qiita.com/41semicolon

                              実装 使用ライブラリ HTTP リクエスト: axios XML パーサ: xml2js Task モナド: Folktale 便利な関数: Ramda モナドは、Monet.js と Folktale がお勧め。便利関数群は Ramda と Lodash があるけど、Ramda の方が機能が多いような気がする(Lodash で traverse とか lift ってできないような) WebAPI Google finance: 全世界の取引所の株価を提供 ECB: 為替データを提供 Google Finance のAPI getprices は非公式API であるが、現時点で世界の取引所の株価を取得できる現実的なAPI はここしかない。 為替データは EU の中央銀行 ECB が公式に継続的にデータを配信しているので利用させてもらう。XML形式なので JavaScript との相性は悪い

                              • テクノロジー
                              • 2018/04/19 13:06
                              • まだ await 使ってないの? - Qiita

                                3 users

                                qiita.com/41semicolon

                                非同期プログラミングが熱い pythonで並列処理を実現するにはすごくざっくりいって3つの選択肢がある。 マルチスレッド方式 (モジュール名: concurrent.futures, threading) マルチプロセス方式 (モジュール名: concurrent.futures, multiprocessing, subprocess) 非同期I/O方式 (モジュール名: asyncio) マルチスレッド方式はスレッドセーフにプログラム作るのが本当に(本当に!)難しいし、マルチプロセス方式はデータの共有が煩雑。これに比べて非同期I/O方式はめちゃくちゃ簡単に並列処理が書けるので CPU処理が主体でないような処理では、非同期I/O方式による実装が人気を集めている( 非同期I/O方式では1CPU しか使えないのは注意)。非同期I/O方式の興隆は python に限ったことではなく、Javas

                                • テクノロジー
                                • 2018/04/12 12:52
                                • 関数型スタイルをあなたのコードに取り込む - Qiita

                                  3 users

                                  qiita.com/41semicolon

                                  関数型プログラミングは便利だけど 関数型(以降: FP) は便利だが、オブジェクト指向プログラミング(以降: OOP)や、手続き型プログラミング(以降: IMP)と比べるとスタイルが違うので、導入をためらうこともあるだろう。 いきなりFP にするのではなく、徐々に FPっぽく変更していくのが現実解である。したがって、既存のコードや新しいメンバのプログラミングパラダイムを 徐々に FPっぽく変更していくスキルが必要だし、現実問題として重要だろう。そのための具体的な方針を妄想してみたので垂れ流す。コードはJavaScript。 免責:ある程度 FPの素養がある人を対象としているので、初歩的なことはやらない #01. 純粋に関数の引数を設計 純粋関数の良いところは、その関数が必要とする全ての情報が関数の引数に明示されている点につきる(少なくとも私にとっては)。あなたが関数を作るときは、それがあた

                                  • テクノロジー
                                  • 2018/04/11 22:27
                                  • map, reduce もいいけど transduce もね - Qiita

                                    52 users

                                    qiita.com/41semicolon

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

                                    • テクノロジー
                                    • 2018/03/31 16:52
                                    • javascript
                                    • programming
                                    • あとで読む
                                    • qiita
                                    • techfeed
                                    • Kafka Streams - Qiita

                                      8 users

                                      qiita.com/41semicolon

                                      Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Kafkaでストリーム処理を書けるようになった 2016/06 時点の最新リリース v0.10 から、Kafkaにストリーム処理のアプリケーションを書くためのライブラリが入った。Kafka本体に同梱されているので追加で何かをインストールする必要はない。このライブラリを使うと、 「KafkaのトピックAにデータが入ってきたら、即座ににそれを処理して別のトピックBに格納する」 というアプリケーションを簡単に作ることができる。なお、Kafkaに同梱されているからといって、Kafka本体、すなわちブローカー側に何か特殊な仕掛けが導入されたわけで

                                      • テクノロジー
                                      • 2018/03/29 09:38
                                      • Kafka
                                      • tutorial
                                      • java

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

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

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

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

                                      j次のブックマーク

                                      k前のブックマーク

                                      lあとで読む

                                      eコメント一覧を開く

                                      oページを開く

                                      はてなブックマーク

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

                                      公式Twitter

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

                                      はてなのサービス

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