問題タブ [program-flow]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
url - Web で mvc をルーティングする
アプリケーションの各「セクション」へのルーティング (および/またはアーキテクチャ) を改善する方法について、誰かが私にアドバイスを提供できるかどうか疑問に思っていました。(私はPHP5で書いていて、厳格なMVCを使おうとしています)
基本的に、私はアプリ用の一般的なインデックス ページを持っています。それは jquery や css などの定型文を吐き出し、サイト全体のメイン ナビゲーションも生成しますが、接続するための最良の方法についてはわかりません。 「メイン メニュー」項目 (ハイパーリンク) とそれに関連付けられたコントローラー。これまでは、URL に文字列を追加し、'switch' ステートメントを使用して正しいコントローラー (およびビュー) に分岐し、'$GET[]' から文字列を抽出して、対応するコードを実行させていました。アクション。たとえば、顧客データの基本的な crud システムがある場合、顧客の詳細を編集する URL は「www.example.com/index.php?page=customer&action=edit&id=4」のようになります。
このようにすることでセキュリティ上の問題が発生するのではないかと心配しています。また、ユーザーがリンクをクリックすると、メインの「index.php」ファイルをアクションごとに正しいコントローラーに分岐する代替手段がわかりません。
コントローラーの名前を偽装するために mod_rewrite を使用した方がよいでしょうか? または、関連するコントローラーを取得するために各 URL がフィルター処理される個別のルーティング システムがある ASP MVC フレームワークと同様のシステムを作成するには?
乾杯!
language-agnostic - このコードをどのようにフォーマットすればよいですか?
callscript
(疑似コードで)呼び出す 2 つの方法を次に示します。
重複呼び出しの使用
追加の変数を使用する
条件
- スクリプトが呼び出されるときで
flag
あることを確認する必要があります。false
- また、
flag
値を元の値に戻す必要があります。
これら2つよりもこれを行うためのより良い方法はありますか? そうでない場合、これらのうちどれがより良い選択ですか?
javascript - Javascriptでwhileループを破った条件に基づいて分岐する最もクリーンな方法は何ですか?
私はこのループを持っているとしましょう
4 つの条件のいずれかが false になると壊れる可能性があり、どの条件であるかに基づいて異なるコードを実行したいと考えています。理想的には、絶対に必要以上にそれらすべてを評価したくありません。仮定するとbrowseReddit()
、それらすべてを再度評価する必要があります。
ループの後に if チェーンを置くことは、私が現在行っている方法です。よりクリーンな方法はありますか?あなたの答えでは何よりも簡潔さを大切にしてください。
programming-languages - ELSEキーワードのないプログラミング言語-もっと複雑ですか?
Karelをベースにした、子供向けの簡単なプログラミング言語に取り組んでいます。プログラムフローを制御するために、私は現在これらの機能を(擬似コードで)提供しています:
- パラメータなしの手順の定義
- [ない]表現ステートメントの場合
- 一方[ない]表現ステートメント
手続きから戻る手段がなく、声明も出さない。else
例として、次のコードを取り上げます。
コードの実行はに流れ、 trueの場合if
に実行されます。次に、 trueでないかどうかをテストし(ただし、プログラムの状態が変更されました!)、を実行します。これにより、両方のテストが成功する可能性があります。statement1
something
something
statement2
これはプログラマーを制限しますか?これまでのところ、if
... if not
...を使用するか、if not
最初にを使用してから、を使用するだけで、すべての例の問題を解決することができましたif
。
だから、私の質問は:
ステートメントを追加する必要がありますか?else
キーワードが増えると、言語が少し複雑になります。より複雑ではありますが、ステートメントを使用して解決できるすべての問題は、else
ステートメントがなくても解決できますか?
それとも、ステートメントを省略すると、else
実際に言語がより複雑で直感に反するものになりますか?
jquery - each-loop の完了後に関数を実行する
やあ、私は ajax-request と setTimeout を含む jQuery each()-loop に取り組んでいます。それは私にプログラムの流れにいくつかの問題を与えています。
私の問題は、最後の行の console.log() がすぐに起動されることです (ループがまだデータを処理している間)。ループが終了するのを待つ簡単な可能性はありませんか? \:
よろしくお願いします!
c - 明確化または最適化の理由で冗長なプログラムフローステートメントを作成しますか?
私はこれをCとしてタグ付けしていますが、確かに多くの言語に適用されます。この理由は、コンパイラに依存する最適化を扱う質問の一部です。
プログラムでこのような状況に遭遇することがあります。
else
おそらくお分かりのように、ここでのブロックは厳密には必要ありません。同じことが他のプログラムフロー制御構造でも発生します。一部の「通常の」構成は、特別な条件のために冗長になります。問題は、これらの冗長なコードブロックを作成する理由はありますか?明快さ?状況が十分に複雑な場合、それはコンパイラーの最適化に役立つ可能性がありますか?
java - 奇妙なプログラムの流れ
私は次のコードに本当に困惑しています:
コード行をステップ オーバーすると、次の順序で実行されます。
さらに奇妙なのは、GetResponseContentText
関数に入っていないことです。私は本当に混乱しています。誰でもこれに光を当てることができますか?
また、if ステートメントをコメントアウトすると、正常に動作します (GetResponseContentText_GZip
関数に入ります)。
java - リクエストごとの統計とプログラムフローを表示するJavaプロファイラー
理想的にはプログラムフローに沿って(通常のスレッド呼び出しスタックではなく)、要求ごとのプロファイリング統計をサポートするプロファイラーを探しています。つまり、基本的に、プロファイラーの呼び出しスタック+単一の要求ごとの順次呼び出しビューは、次のようになります。
どのクラス/メソッドがプロファイリングされるかは、何らかの方法で構成されます。各メソッド呼び出しを処理するトレースプロファイラーの場合、これはもちろん使用できません。
私はdynaTraceを知っており、使用しています。その「PurePath」機能(http://www.dynatrace.com/en/architecture-tame-complexity-with-purepath.aspx)はこれをサポートしていますが、小規模なプロジェクトで使用でき、初期投資とセットアップが少なくて済みます。
「クラシック」プロファイラー(YourKitなど)はこれをサポートしていますか?私はこの機能を見落としていましたか?
補遺:背景を提供する:主な目標は、実稼働中のシステムの監視と分析のための統計を取得することです。何よりもまず、リクエストにかかる時間のライブ統計を取得し、応答時間が長くなった場合に特定の(タイプの)リクエストのデータを取得することです(JETM + xを考えてください)。
リクエストごとのプロファイリング統計により、一部のリクエストだけが遅い理由を詳細に分析できます。たとえば、リクエストの10%が平均の10倍の時間がかかる場合などです。集計された統計では、これを解決するのは非常に困難です。
プログラムフローに沿って呼び出しをレンダリングするプロファイリング統計についても同じことが言えます。これは、リクエストのどこに問題があるかを簡単に特定できるためです。たとえば、メソッドが10個のDBクエリを実行すると、各呼び出しは10個だけでなく単一の呼び出しとして表示されます。集約された呼び出し。
理想的には、測定ポイントは実行時に構成および有効化/無効化されます。
c# - C# で例外がスローされた後のプログラム フロー
こんにちは、古い C# コードを見ていて、次のようなコードがたくさんあることに気付きました。
else ブロックが必要になる場合があるかどうか知りたいですか? 影響なしでコードをこれに安全に短縮できますか?
デフォルトでは、例外はこのメソッドからプログラム フローをスローする必要があります。しかし、DotNet で未処理の例外をどのように処理するかを微調整する方法があるかどうか疑問に思っているだけです。