問題タブ [auto-versioning]
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.
javascript - キャッシュされた CSS および JavaScript ファイルをブラウザーに強制的にリロードさせる方法
一部のブラウザー (特に Firefox とOpera ) は、ブラウザー セッション間であっても、キャッシュされた.cssおよび.jsファイルのコピーを非常に熱心に使用していることに気付きました。これにより、これらのファイルのいずれかを更新すると問題が発生しますが、ユーザーのブラウザーはキャッシュされたコピーを使用し続けます。
ファイルが変更されたときにユーザーのブラウザにファイルを強制的に再読み込みさせる最もエレガントな方法は何ですか?
理想的には、このソリューションでは、ページにアクセスするたびにブラウザーにファイルの再読み込みを強制しないようにします。
John Millikinとda5id の提案が役立つことがわかりました。これにはauto-versioningという用語があることがわかりました。
以下に新しい回答を投稿しました。これは、元のソリューションとジョンの提案を組み合わせたものです。
SCdFによって提案された別のアイデアは、偽のクエリ文字列をファイルに追加することです。(タイムスタンプを偽のクエリ文字列として自動的に使用する一部の Python コードが、piによって送信されました。)
ただし、ブラウザーがクエリ文字列を含むファイルをキャッシュするかどうかについては、いくつかの議論があります。(ブラウザにファイルをキャッシュして、今後のアクセスで使用するようにしたいことを思い出してください。ファイルが変更された場合にのみ、ファイルを再度取得する必要があります。)
svn - Apache Subversion の SVNAutoversioning ディレクティブは重要ですか?
もしそうなら、なぜですか?これをオンに設定すると、自動的にコミットされるリビジョンの数が増えることはわかっています。自動コミットを増やすのは良いことですか?
asp.net - コードでの ScriptManager プロキシへのアクセス
ScriptManager (私の MasterPage に含まれる) およびScriptManagerProxies (コンテンツ ページ)。
コードで簡単に ScriptManager にアクセスし、その Scripts コレクションを繰り返し処理して、宣言的に設定したスクリプト パスを取得し、"?[lastmodifiedtimestamp]" を追加して新しいパスを "設定" できます。
問題は、存在する可能性のある ScriptManagerProxies にアクセスする方法がわからないことです。
デバッグ時に、非パブリック メンバー (._proxies) にプロキシが表示されます。ドキュメントに目を通しましたが、このコレクションに実際にパブリックにアクセスできる場所がわかりません。
私は何か不足していますか?
コンテンツ ページの Page_PreRenderComplete イベントの基本クラスに次のコードがあります。
上記のコードは、MasterPage で定義した 1 つのスクリプトを提供しますが、コンテンツ ページの ScriptManagerProxy で定義した他の 2 つのスクリプトは提供しません。
svn - 2 つのリポジトリ間で参照するために、コミットごとに Subversion リビジョンをコミットする方法
Pub と Priv という 2 つの別々のリポジトリに広がるソフトウェアを考えてみましょう。Pub リポジトリは公開されています。プライベートは閉鎖されています。継続的インテグレーション サーバーは、どちらかの側が変更されると、Pub と Priv の両方を構築します。次に、Pub のユーザーが利用できるダウンロード可能なバイナリを Priv から作成します。これらのバイナリには、内部およびファイル名にサブバージョン リビジョンのラベルが付けられます。
質問: Pub からビルドされたプログラムに対応する正しい Priv リビジョン番号を認識させて、自動ダウンロードして実行できるようにするにはどうすればよいですか?
現在の解決策は、ビルド サーバーが Pub のファイルを変更して Priv のリビジョン番号を設定し、それらの変更を Pub にコミットすることです。ただし、これには 2 つの重大な問題があります。
ビルドには時間がかかるため、ビルド中に誰かが変更を Pub (または Priv) にコミットすると、競合が発生します。これは強制的に解決できますが、ログ履歴は、それらのリビジョンがそのビルドに組み込まれたかのように奇妙に見えます。
Subversion ログには、「Auto build updated the version」のようなエントリが多数あります。ビルドが実行されるたびに、それ以外の場合は有益な Subversion ログが汚染されます。
したがって、リポジトリを変更する必要のない方法でこれを行うことができます。
ウェイン
javascript - cssおよびjavascriptファイル内の画像リンクを自動バージョン化しますか?
私の PHP アプリケーション内では、既に静的コンテンツ (CSS、JS、および画像) の自動バージョン化に成功しているため、URL は次のようになります。
10 桁のバージョン番号は、単に個々のファイルの修正 Unix タイムスタンプです。これは、mod_rewrite といくつかの基本的な PHP コードで実現されます ( http://particletree.com/notebook/automatically-version-your-css-and-javascript-files/を参照)。ここまでは順調ですね。
しかし、ここに私の問題があります。
CSS ファイル内には、多くの背景画像へのリンクがあります。
同様に、私の JS ファイルでも、さまざまな画像を参照しています。
静的コンテンツ (css、js、画像) へのすべてのアクセスにバージョン番号を含めたいので、.css または.jsファイル内のリンクを自動的に更新する方法はありますか?上記の css は次のようになります。
これはどのように自動的に行うことができますか?
ありがとう、コンスタンチン
git - Git、Hg、または最新の VCS での WebDAV 自動バージョン管理
私はつい最近、SVN の WebDAV 用の自動バージョン管理機能について知りました。これが適切なバージョン管理の代わりになるものではないことは理解していますが、変更セットを文書化するメッセージを使用すると、Dropbox の堅固で安全な代わりになると思います (優れた GUI と Web ページを除く)。ただし、自動バージョン管理でのコミットは頻繁に行われるため、Git または Hg の方がデータベースがコンパクトであるという理由だけで、これにより適していると思います (ただし、物事の分散された性質により、自動化が解決しにくくなる可能性があるかどうかは疑問に思います)。競合)。
誰かが知っている限り、これは Git または Hg を使用して実装された機能ですか?
javascript - 外部リンクされたコンテンツの自動バージョニング
だから私は、外部ドメインによってロードされることを意図したJavaScriptライブラリを構築しています。このために自動バージョン管理を行う良い方法を探しています。理想的には、外部ドメインは書き込みだけ<script src="<filename>" type="text/javascript"></script>
で、何らかの形でそのバージョンを正しく持つことができる必要があります。
私が考えることができる最善の解決策は<filename>
、適切なバージョニングを備えた適切な JavaScript ライブラリを動的に含む、サーバー側言語を使用して構築されたページへのポイントを持つことです。これの問題は、javascript を動的にロードする必要があり、ロードのたびにサーバーがヒットする (つまり、キャッシュできない) ことです。
何か案は?
tomcat - JBossを使用した静的コンテンツの自動バージョン管理
ここでのQ&Aに従って、JBoss 5で実行されているWebアプリに同様の自動バージョニングシステムを実装したいと思います。この種のことを行うためにすでに何かありますか、それとも自分で何かを書く必要がありますか?明確にするために:私はPHPを使用していません。
PHPについてあまり知らないので、PHP.htaccess
などのTomcat/JBossアナログが何であるかわかりません。独自の自動バージョン管理を作成する必要がある場合、どこから始めればよいですか?原則は明らかです。ファイルのタイムスタンプを使用してURLを書き換えますが、JBoss/Tomcatを使用したURLの書き換えについてはよくわかりません。
アップデート:
Pascalと初心者が推奨するアプローチを組み合わせて、私が最終的に得たものは次のとおりです。
1.カスタム<my:script/>
とタグなので、どこにでもタグ<my:style/>
を表示する必要はありません。<c:url/>
2.初心者の手順にかなり厳密に従いますが、web.xmlにマッピングUrlRewriteFilter
します。/*
3. CACHE_BUST変数をすべての新しいセッション(多かれ少なかれ...)に挿入し、アプリケーションは
タイムスタンプをデプロイします。
4. ...これらのルールを次の場所で使用できるようにしますurlrewrite.xml
:
latex - Latex で自動バージョン番号を追加する方法は?
この質問Add a version number to the title of a LaTeX documentは私の好奇心を刺激しました:
Latex で自動バージョン番号を追加するにはどうすればよいですか?
(つまり、これを行っていない:{\bf Version:} 1.2
そして後で{\bf Version:}
1.2 1.3
) ?
git - Git の `describe` コマンドでアプリケーション ビルド バージョン文字列を取得する方法は?
私がいる Git ブランチ名 (ビルド時) と、ブランチが分岐してからのコミット数から自動的に派生するアプリケーション ビルド バージョンを構成したいと考えています。これは、私の Git リポジトリのどのコミットでも一意になると思いますか? ブランチ名は一意であり、コミットはブランチに沿って互いにリンクされていますか? コミットにタグを付ける場合、そのタグをバージョンの前に付けることができます。
ある意味git describe
で私が望むことをしますが、私がいるブランチ名は含まれておらず、短縮されたコミット SHA-1 ハッシュが含まれています。これは、文字列のエントロピーに何も追加しないため、必要ないと思います冗長な場合があります(ここで間違っている可能性があるため、修正してください)。
私のオプションは何ですか?そして、私はここで正しい方向に考えていますか? ソフトウェア開発に関して、より重要な処理を行う必要があるときに、バージョンに番号を追加することに少しうんざりしています。
ちなみに、私は汚い作業ツリーでビルドすることはありません。つまり、公開リリースをビルドする前に、常に変更をリポジトリにコミットします。