軽量 新浪画像アップローダー 幻想領域1.0 リリース

幻想領域 やったー、ついに自分専用の画像アップローダーが手に入りました。 幻想領域は、PHP言語で開発された軽量なSina画像アップローダーシステムです。 その誕生は最終的な解決策ではなく、開発の目的は自分自身の利便性のためです。 プロジェクトホームページ プロジェクトアドレス システム紹介 幻想領域では、画像アップローダーの画像はすべてSina Cloudにホストされており、各画像には複数の異なるレベルのサムネイルがあります。これが幻想領域の最大の特徴の一つです。 比較的完成されたユーザーシステムと管理者システムを備えています。管理者はバックエンドで完全な権限を持ち、ウェブサイトのすべての基本設定を行うことができます。 「マイギャラリー」には、ユーザーがアップロードしたすべての画像が一覧表示され、管理者はシステムがホストするすべての画像を閲覧できます。ここでは画像を削除、プレビュー、またはコピーできますが、削除しても本システムに表示されなくなるだけで、画像自体はSina上に残ることをご承知おきください。 「探索」は、フロントエンドでのユーザー画像プレビュー機能です。ここでは、必要なものを見つけることができます。不要な場合は、バックエンドで設定をオフにできます。 Sina画像アップローダーへのアップロードには要件がないわけではありません。ログイン認証が必要ですが、当システムは拡張機能に依存しない独立したSinaログインプログラムを備えており、認証コードも不要で、Cookieの有効期限が切れると自動的にログインします。これにより、あらゆる心配事を解消します。したがって、正常に使用するにはバックエンドでSinaアカウントのパスワードを設定する必要があります。 ダウンロード 最新正式版 今すぐダウンロード インストール 幻想領域のソースコードを解凍し、ウェブサイトのルートディレクトリにアップロードする必要があります。ウェブサイトのドメインにアクセスすると、自動的にインストールプログラムにリダイレクトされますので、ウィザードの指示に従ってインストールしてください。リダイレクトされない場合は、手動で http://あなたのドメイン/install.php にアクセスしてインストールしてください。 初回インストール成功後、画像アップローダーを使用するには、管理者バックエンドにログインして基本的な設定を行う必要があります。 バックエンドアドレス:http://あなたのドメイン/admin しかし皮肉なことに、フロントエンドでログインする必要があります。 環境サポート ご注意ください、幻想領域はバージョン1.0以降、PHPバージョン5.6以上のみをサポートしています。PHPバージョンを更新してください。 更新予告 フロントエンドの独立した画像プレビューインターフェース ワンクリックでHTML、BBSなどのコードを生成 人気、検索、ランダム、カテゴリなどの機能 短縮URLシステムの統合 ………など これらはすべて将来のバージョンでサポートされる予定です。 より良い提案や意見、またはバグのフィードバックがありましたら、ここにメッセージを残すか、admin@52ecy.cn までメールを送信してください。 ライセンス FAQ 幻想領域の非商用バージョンは、GPLライセンスおよび関連条項に従ってリリースされており、以下の点にまとめられます。 遵守事項: GPL V3ライセンスを、あなたが変更しオープンソース化したバージョンに含めること。 与えられる権利: 幻想領域を自由にダウンロードして使用すること 幻想領域を新しいオープンソースプロジェクトに含めること ソースコードを変更すること 幻想領域のオリジナル版を配布すること 禁止事項: 商業目的で幻想領域を使用すること プログラムの著作権情報を削除または改ざんすること 商業目的でオリジナル版または二次変更版を独占販売、販売すること 画面プレビュー

2018年3月8日 · 1 分 · MoeJue

ランダム二次元画像API第二弾

約3ヶ月ぶり、最初のランダム二次元画像APIの公開からかなりの時間が経ちました。 第二弾API、突然の登場です。 更新内容: 前バージョンと比較して、今回の画像は、背景画像やデスクトップ壁紙などにより適しています。 前バージョンはまさに寄せ集めで、あらゆる種類の画像があり、ひどいものでした(私自身も使っていません)。今回のバージョンでは、時間をかけて一部の画像(1080P以上)を選別し、新浪雲にアップロードしました。 真の意味でHTTPSをサポートし、画像はすべて新浪雲でホストされており、速度も向上しました。 あらゆる意味でのパラメータ設定を削除しました。 画像コンテンツはすべてアニメ・二次元画像です(全年齢向け(笑))。 APIエンドポイント: https://random.52ecy.cn/randbg.php はい、呼び出しはこれほど簡単です。直接アクセスするだけで利用できます。どうぞお試しください。 以前の簡易版 プロジェクトホームページ ランダムアニメ壁紙、毎日更新して、毎回違う画像を楽しめます。

2018年3月4日 · 1 分 · MoeJue

.htaccessを利用してサブドメインをサブディレクトリに紐付ける

通常、1つの仮想ホストでは、ルートディレクトリにバインドできるドメインは1つだけです。 emlogを使用したことがある方なら、その静的リンク(パーマリンク)についてよくご存知のはずです。これは、.htaccessファイルを利用してウェブページをドメインリダイレクトする典型的な例です。 .htaccessを利用してドメインをサブディレクトリにバインドするには、前提として、お使いのホスティングサーバーがApacheのrewrite機能をサポートしている必要があります。そうでなければ.htaccessは使用できません。もしお使いのサーバーがLinuxサーバーであれば、通常はデフォルトで有効になっています。これにより、ドメインのサブディレクトリへのバインドや、1つのホスティングスペースで複数のサイトを運営することが可能になります。 以下は、link.52ecy.cn をサブディレクトリ link にバインドする例の.htaccessコードです。 <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / # link.52ecy.cn をサブディレクトリ link にバインド RewriteCond %{HTTP_HOST} ^link\.52ecy\.cn$ [NC] RewriteCond %{REQUEST_URI} !^/link/ RewriteRule ^(.*)$ link/$1?Rewrite [L,QSA] # 複数バインド可能。上の3行を繰り返し、ドメイン名とディレクトリ名を変更するだけです </IfModule> 上記の手順を完了すると、サブドメインにアクセスできるようになるはずです。しかし、ブラウザで「メインドメイン + バインドしたディレクトリ」にアクセスしても表示されることに気づくでしょう。これは我々が望む動作ではありません。 次に、最後のステップを完了させます。バインドした各ディレクトリ(例えばlinkディレクトリ)にも、.htaccessファイルを追加します。 .htaccessのコードは以下の通りです。 以下は、music.xmgho.com をサブディレクトリ music にバインドする例の.htaccessコードです。 これにより、ドメインのサブディレクトリへのバインドや、1つのホスティングスペースで複数のサイトを運営することが可能になります。これにより、ドメインのサブディレクトリへのバインドや、1つのホスティングスペースで複数のサイトを運営することが可能になります。これにより、ドメインのサブディレクトリへのバインドや、1つのホスティングスペースで複数のサイトを運営することが可能になります。これにより、ドメインのサブディレクトリへのバインドや、1つのホスティングスペースで複数のサイトを運営することが可能になります。 <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / # バインドしたドメインからのアクセスのみを許可 RewriteCond %{HTTP_HOST} !^link\.52ecy\.cn$ [NC] RewriteRule (.*) http://link.52ecy.cn/$1 [L,R=301] # バインドしたディレクトリ内の同名ディレクトリの処理 RewriteCond %{REQUEST_URI} ^\/link\/ [NC] RewriteCond %{QUERY_STRING} !^(.*)?Rewrite RewriteRule ^(.*)$ /%{REQUEST_URI}/%{REQUEST_URI}/$1?Rewrite [L,QSA] </IfModule> 結び: 私のサーバー自体がサブドメインのサブディレクトリへのバインドをサポートしているため、自分ではテストできませんでした。しかし、友人にAlibaba Cloud(阿里云)のホストでテストしてもらったところ、成功しました。ただし、Alibaba Cloudには数量制限があり、多数バインドするとルートディレクトリにリダイレクトされるようです。このことから、すべてのホスティングプロバイダーがこの方法をサポートしているわけではないようで、ご自身でテストして確認する必要があります。 最後に、最も重要な点は、ドメインが正しく名前解決されていなければ意味がないということです[苦笑~]

2018年1月22日 · 1 分 · MoeJue

あなたのブログにLive2D看板娘を設置しよう

先日、多くの人のブログでLive2Dの看板娘を見かけ、とても興味を持ちました!そこで、自分のブログにも追加するために、関連チュートリアルをいくつか調べました。 はじめに Live2Dは最先端の技術ではありません。その効果は、基本的な平行移動、回転、透明度、曲面変形などの操作によって実現されます。最終的な効果はテクスチャに大きく依存し、各動作は制作者による綿密な調整が必要です。これは膨大な時間と労力を要するプロセスであるため、質の良いモデルは多くなく、質の良いものは通常ゲーム内にあり、著作権で保護されているため、自由に使用することはできません。 本記事で使用されているモデルは、薬水制作师というモバイルゲームから解包されたものであり、著作権は公式に帰属します。(そうです、私もこのゲームを宣伝しに来ました) 準備作業 「魚を与えるよりも、魚の釣り方を教える方が良い」とは言いますが、この魚は釣るのが難しいので、おとなしく小さな椅子に座って、釣られた魚を食べる側に回りましょう! 以下のコードは、私が後宫学长から堂々と盗んできた魚を調理したものです。 まずは私のGithubへ行き、私が再度整理したLive2Dのコード(二人の動作と初期の3種類のテクスチャを含む)をダウンロードしてください。やはり調理済みのものが美味しいですからね〜。 ダウンロード後、コードを解凍してブログサイトのルートディレクトリに配置します。(ディレクトリの位置は自由に設定できます) そして、解凍したフォルダの名前を「live2d」に変更します。(名前は何でも構いませんが、見栄えが最も重要です) (少女は盲目的に分析中) 使用方法 それでは、食べ方を教えましょう、いや、本当に食べ始めるわけではありませんが。 ブログのヘッダーファイル(header.php)でインターフェーススタイルを読み込むために、headタグ内に以下のコードを挿入します。 ブログのフッターファイル(footer.php)でスクリプトを読み込むために、bodyタグの終了前に以下のコードを挿入します。 上記のコードで絶対パスを使用する際に注意すべき問題があります。 私のブログwww.52ecy.cnと52ecy.cnはどちらもアクセス可能ですが、参照時にwwwを使用すると、www.52ecy.cnにアクセスする際には問題ありませんが、52ecy.cnに直接アクセスすると、クロスドメイン問題(サブドメインが異なる場合もクロスドメインに該当)によりjsonが読み込めなくなり、看板娘が表示されなくなります。 以下のコードに変更できます(キャラクターの切り替えも、対応するフォルダ名に変更するだけで済みます)。 適切なページ位置にLive2D看板娘の要素を挿入します。ページ下部に配置できます。 マウスをページの特定の要素に置いたときに、Live2D看板娘にヒントを表示させたい場合は、message.jsonファイルを変更してください。 { “mouseover”: [ { “selector”: “.container a[href^=‘http’]”, // ここをページ要素のタグ名に変更 “text”: ["{text}を見てみますか?"] // ここを必要なヒントのテキストに変更 }, { “selector”: “.navto-search”, “text”: [“何かお探しですか、お手伝いしましょうか?”] } ], “click”: [ // ここはLive2D看板娘のタッチイベントのヒント { “selector”: “#landlord #live2d”, “text”: [“触らないで!手をどけて〜〜”, “ほ…本当に恥知らず!”, “これ以上触ったら通報しますよ!⌇●﹏●⌇”, “110番ですか、ここに変態がずっと私を触っています(ó﹏ò。)”] } ] } ...

2017年12月24日 · 1 分 · MoeJue

ランダム二次元画像API公開

ランダム二次元画像API公開 —— ランダムアニメ壁紙、毎日更新、毎回違う。 APIアドレス: https://www.52ecy.cn/randbg/randbg.php リクエストパラメータの説明: 名称 説明 type(オプション) json:標準のjsonデータ(画像アドレス)を返します 302:画像アドレスにリダイレクトします(HTML画像挿入時に必ず使用してください) total(オプション) 1-10 返される画像の数(jsonデータの場合のみ有効、最大10枚) style(オプション) 1/2/3 返される画像のタイプ、 1:webpサムネイル、 2:jpgサムネイル、 3:ウォーターマークなしのオリジナル画像、その他はすべてウォーターマーク付きのオリジナル画像 https(オプション) true/false、返される画像アドレスがhttps形式であるかどうか(現在https証明書は未検証状態のため、httpの使用を推奨します) 標準のjsonデータを返す { "total":"1", #画像の数 "img":"http://www.52ecy.cn/randbg.png" #画像アドレス } 呼び出し例 background: url(http://www.52ecy.cn/randbg/randbg.php?type=302&style=3) no-repeat center; <img src="http://www.52ecy.cn/randbg/randbg.php?type=302&style=3"> ウェブサイトでの呼び出しは、ウェブページのHTMLタグの呼び出し、動的言語の読み込み、アプリ内ウェブページの読み込みなどを含みますが、これらに限定されません。 利用制限 APIは公開されたばかりで、オープンベータ段階にあるため、インターフェースの呼び出しに制限は設けていません。将来的に不可抗力な要因が発生した場合、インターフェースに制限を設けたり、他の対策を講じたりする可能性がありますので、ご了承ください。 著作権およびプライバシーに関する声明 阿珏ブログの二次元画像ランダムAPIを使用すると、関連するウェブサイト、IP、呼び出し元、呼び出し回数、呼び出し時間、トラフィックなどのデータが記録される場合があります。本APIの使用は本規約に同意したものとみなされます。当サイトは阿珏ブログのランダム二次元画像APIに対する最終的な解釈権を有し、特定の状況下では、阿珏ブログがあなたのウェブサイトからの呼び出しを禁止する権利を有します。

2017年12月6日 · 1 分 · MoeJue

ミニマルブログV1.1が公開されました + 新しいテーマセット

2ヶ月ぶりに、ミニマリストブログシステムが初のアップデートを迎えました。そして、全く新しいテーマをもたらします。 デフォルトテーマの関連バグを修正 バックエンドの関連詳細を修正 デフォルトテーマのプレビューはこちら ミニマリストブログ1.0バージョン バックエンドのSEO設定機能を改善しました 疑似静的URLに対応 HTTPS強制アクセスを設定 メタ情報の変更 ブラウザでの記事タイトル表示方法 さて、ここからが本番です 全く新しいテーマファイル、仮称:Dimension (次元) 全エフェクトテーマテンプレート コメントボックスに顔文字を追加 サイドバーを削除 スクロールでトップに戻る機能を追加 そして様々なエフェクト、ご自身で発見してください カバー画像はラブライブ! - μ’s、石鹸ではありません (ラブライブ!テーマ?) 記事のトップページ表示と記事の詳細ページは、インスピレーションを失ったため(実際は怠惰のため)、デフォルトテーマのスタイルを採用しました。 ええと、だいたいこんな感じです。細かい問題は使用中に少しずつ修正していきます~~

2017年11月30日 · 1 分 · MoeJue

萌え二次元 - 図鑑クライアントリリース

萌化二次元 - あなたの二次元を萌え化 ソフトウェアサイズ:1.08MB ソフトウェア言語:簡体字中国語 ソフトウェアタイプ:オリジナルソフトウェア ソフトウェアカテゴリ:二次元系 更新日時:2017-10-12 ソフトウェアライセンス:無料版 動作環境:XP/Win7/Win8/Win10 ソフトウェア紹介 萌化二次元ソフトウェアは、私のギャラリーのクライアントバージョンです。 ポータル ローカルへの画像ダウンロード、ワンクリックでの壁紙設定に対応しています。高画質・透かしなしの独自インターフェースを提供します。 ダウンロードの際は、「概要」のヒントにご注意ください。 当初は複数のナビゲーション、ログイン機能、開発者モードをサポートする設計でしたが、後に手間がかかることと、そこまで多くの機能が必要ないことから廃止されました。 .down_link{background:url(‘https://www.52ecy.cn/content/uploadfile/201707/md-bg.jpeg') no-repeat 100% 0% #fffdff; border: 1px solid #faf8fb; border-radius: 2px; color: #666; font-size: 14px; margin-bottom: 10px; padding: 5px 20px;}.downbtn{background: none repeat scroll 0 0 #1BA1E2; border: 0 none; border-radius: 2px; color: #FFFFFF; cursor: pointer; font-family: “Open Sans”,“Hiragino Sans GB”,“Microsoft YaHei”,“WenQuanYi Micro Hei”,Arial,Verdana,Tahoma,sans-serif; font-size: 14px; margin: -4px 20px 0 0; padding: 8px 30px;text-transform:none;text-decoration:none;} .downlink a{text-decoration:none;} .downlink a{text-decoration:none;font-size:15px;} .downlink a:link{color: #ffffff;} .downlink a:visited{color: #ffffff;} .downlink a:hover{color: #ffffff;} .downlink a:active{color: #ffffff;} .downbtn{background: none repeat scroll 0 0 #1BA1E2; border: 0 none; border-radius: 2px; color: #FFFFFF !important; cursor: pointer; font-family: “Open Sans”,“Hiragino Sans GB”,“Microsoft YaHei”,“WenQuanYi Micro Hei”,Arial,Verdana,Tahoma,sans-serif; font-size: 14px; margin: -4px 20px 0 0; padding: 8px 30px;} .yanshibtn{background: none repeat scroll 0 0 #d33431; border: 0 none; border-radius: 2px; color: #FFFFFF!important; cursor: pointer; font-family: “Open Sans”,“Hiragino Sans GB”,“Microsoft YaHei”,“WenQuanYi Micro Hei”,Arial,Verdana,Tahoma,sans-serif; font-size: 14px; margin: -4px 20px 0 0; padding: 8px 30px;text-transform:none;text-decoration:none;} .downbtn:hover,.yanshibtn:hover{background: none repeat scroll 0 0 #9B59B6; border: 0 none; border-radius: 2px; color: #FFFFFF!important; cursor: pointer; font-family: “Open Sans”,“Hiragino Sans GB”,“Microsoft YaHei”,“WenQuanYi Micro Hei”,Arial,Verdana,Tahoma,sans-serif; font-size: 14px; margin: -4px 20px 0 0; padding: 8px 30px;} .downbtn a:hover,.yanshibtn a:hover{background: none repeat scroll 0 0 #9B59B6; border: 0 none; border-radius: 2px; color: #FFFFFF; cursor: pointer; font-family: “Open Sans”,“Hiragino Sans GB”,“Microsoft YaHei”,“WenQuanYi Micro Hei”,Arial,Verdana,Tahoma,sans-serif; font-size: 14px; margin: -4px 20px 0 0; padding: 8px 30px;} ...

2017年10月12日 · 2 分 · MoeJue

シンプルブログシステム1.0バージョンが完成し、リリースされました。

はじめに いつの間にか、最初の「亜子」のブログシステムからemlog、そして今自分で書いたシンプルなブログシステムまで、忙しくブログを構築して、もう1周年になります。 自分の第一段階の目標も一段落ついたと言えるでしょう。 非営利のウェブサイトとして、ただ普段、文章を書いたり、感情を表現したり、おしゃべりしたり、自慢したりする場所として、私はこれからも続けていきたいと思っています。どうせウェブサイトにかかる費用はそれほど大きくありませんから。 紹介 シンプルブログ、それは「シンプルでありながら上品」という意味です。これはPHP言語とMySQLデータベースをベースにした、強力な個人ブログシステム(blog)です。迅速で安定しており、かつ非常にシンプルで快適なブログサービスを提供することを目指しています。インストールも使用も非常に簡単です。 画面表示 管理画面のスタイルはemlog 6.0のレイアウトを模倣して設計されており、Bootstrapフロントエンド開発フレームワークを採用しています。 シンプルブログ インストール画面 インストール完了 管理画面トップ 記事作成 記事管理 タグ管理 カテゴリ管理 コメント管理 ナビゲーション管理 外部リンク管理 ユーザー管理 テーマ設定 システム設定 個人設定 管理画面ログインページ インストール後のデフォルトスタイル モバイルページ、モバイル向けのスタイルは設計されておらず、デフォルトでこのようになります。

2017年9月30日 · 1 分 · MoeJue

私の研究室

私のブログにいつも遊びに来てくれる方は、今日ナビゲーションバーに「ラボ」という新しい項目が追加されたことにお気づきでしょう。 よく達人たちのブログに「ラボ」という項目があるので、私も学習(と見せびらかし)のために作ってみました。 ここには、私が自分でいじくり回したものを置いていきます。 私のアニメの道 (廃止) これまで見てきたアニメとその感想を記録するためのものです。 2017年10月11日: このページは廃止することにしました。長い間更新しておらず、主な原因は面倒くさがりだからです。テキストやら画像やら、本当に手間がかかるし、時々画像のURLもリンク切れになります。時間がある時に、もっとシンプルなものを作り直そうと思います。 シンプルブログシステム (完成済み) 先月、ブログを新しく書こうとつぶやいていました。もっとシンプルで、複雑な機能は必要ないもの、ということでこの「シンプルブログ」という名のブログシステムが誕生しました。 そして今月は全く手をつけていません。来月、時間があれば書くかも(実は面倒なだけですが)。 emlog 6.0のフロントエンドとバックエンドを模倣して作ったテンプレートです。見た目がすっきりしたフロントエンドのテンプレートを2セット作る予定で、大体のデザインはもう考えてありますが、あとは実装するだけです-。- バックエンドの管理者アカウントとパスワードは両方ともrootです。

2017年8月22日 · 1 分 · MoeJue

再帰とは何か?

画像はインターネットより 最初、この文章を読むと、回りくどくて非常に分かりにくいと感じるでしょう。 実は、再帰を使って読むととても簡単になります: 再帰には終点(小さな鯉)が必要です。 再帰が終点に達するまで、関数は自身を繰り返し呼び出します。 明らかに、「私の小さな鯉」というフレーズを出力することが再帰の終了条件です。 これをコードで書くと、次のようになります: #include <stdio.h> void Recursion(int depth){ printf(“抱着”); if (!depth) printf(“我的小鲤鱼”); else Recursion(–depth); printf(“的我”); } int main(){ printf(“吓得我抱起了\n”); Recursion(2); putchar(’\n’); } 私がこれまでに見つけた再帰の最も適切な例えは、辞書を引くことです。私たちが使う辞書自体が再帰的です。一つの単語を説明するために、より多くの単語が必要になります。ある単語を調べて、その説明の中にまだ分からない単語を見つけたとします。すると、あなたはその2番目の単語を調べ始めます。残念ながら、2番目の単語の説明にも分からない単語があり、3番目の単語を調べます。このように調べていき、完全に理解できる説明の単語にたどり着くまで続けます。その時点で再帰は終わりに達し、そこからあなたは後戻りを始め、以前に調べた各単語を一つずつ理解していき、最終的に、最初に調べた単語の意味を理解するのです。。。 矢印はプログラムの実際の実行ステップを表しています。 上の多くの回答を見ましたが、そのほとんどが再帰という現象を説明することに偏っており、なぜ再帰を使うのか、再帰の考え方とは一体何なのかについては説明されていません。先日ちょうど関連するものを読んだので、整理してみたいと思います。もし間違いがあれば、ご指摘いただけると幸いです。 再帰とは何か? 1. 定義 Wiki [1]: Recursion is the process of repeating items in a self-similar way. コンピュータ科学においては [2]: 再帰(英語:Recursion)、または遞迴とも訳され、数学とコンピュータ科学において、関数の定義の中に関数自身を使用する方法を指します。 英語のRecursionは語源的に分析すると「re- (再び)」+「curs- (来る、起こる)」であり、つまり繰り返し発生する、再び現れるという意味です。一方、対応する中国語の翻訳「递归」は、「递」(進む)+「归」(帰る)という2つの意味を表しています。この2つの意味こそが、再帰という考え方の真髄です。この点から見ると、中国語の翻訳の方がかえって意味をよく表していると言えます。 2. ループとの違い 上記のWikiの定義だけを見ると、一般的に言われる無限ループと非常によく似ているように見えます。それらの違いは何でしょうか? 再帰は静中の動であり、行きと帰りがある。 ループは動静一如であり、行きっぱなしで帰りがない。 例を挙げましょう。あなたに一本の鍵が与えられ、ドアの前に立っています。この鍵で何枚のドアを開けられるかと尋ねられます。 再帰:あなたは目の前のドアを開け、部屋の中にもう一つのドアがあるのを見つけます(このドアは前に開けたドアと同じ大きさかもしれません(静)、あるいは少し小さいかもしれません(動))。あなたはそちらへ歩いていき、手の中の鍵でそれも開けられることに気づきます。ドアを押し開けると、中にはまた別のドアがあります。あなたは開け続けます。。。何度か繰り返した後、あるドアを開けると、そこには部屋があるだけで、もうドアはありません。あなたは来た道を戻り始めます。部屋を一つ戻るごとに、数を数えます。入り口まで戻ったとき、あなたはその鍵で一体何枚のドアを開けたのか答えることができます。 ループ:あなたは目の前のドアを開け、部屋の中にもう一つのドアがあるのを見つけます(このドアは前に開けたドアと同じ大きさかもしれません(静)、あるいは少し小さいかもしれません(動))。あなたはそちらへ歩いていき、手の中の鍵でそれも開けられることに気づきます。ドアを押し開けると、中にはまた別のドアがあります(前のドアが同じなら、このドアも同じ。2番目のドアが1番目のドアより小さくなっていれば、このドアも2番目のドアより小さくなっている(動静一如、変化がないか、同じ変化をする))。あなたはこのドアを開け続けます。。。ずっとこのまま進んでいきます。入り口にいる人は、あなたが答えを教えに帰ってくるのを永遠に待つことになります。 3. 再帰の考え方 再帰とは、進んで(递去)、帰ってくる(归来)ことです。 具体的に言うと、なぜ「進む」ことができるのでしょうか? これは、再帰的な問題が、類似しているが少し異なる問題に対しても同じ解決策で答えられる必要があることを要求します(上記の例で言えば、一本の鍵で後続のドアの鍵も開けられること)。 なぜ「帰る」ことができるのでしょうか? これは、これらの問題が絶えず大きいものから小さいものへ、近いものから遠いものへと進む過程で、終点、臨界点、ベースライン、つまりそれ以上小さく、遠くへ進む必要がなくなる点が存在し、その点から元の道を通って原点に戻ることを要求します。 このブログ記事[3]の著者は次のようにまとめています: 再帰の基本的な考え方は、規模の大きな問題を、規模の小さな類似した部分問題に変換して解決することです。関数の実装において、大きな問題を解決する方法と小さな問題を解決する方法が同じであることが多いため、関数が自身を呼び出すという状況が生まれます。また、この問題解決関数は明確な終了条件を持たなければなりません。そうでなければ、無限再帰が発生してしまいます。 4. いつ再帰を使うべきか? ...

2017年8月9日 · 1 分 · MoeJue