プログラミング

プロおよび熱狂的プログラマーのためのQ&A

11
Javadocの良い例[終了]
閉まっている。この質問はスタックオーバーフローのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善してみませんか?Stack Overflowのトピックとなるように質問を更新します。 3年前休業。 この質問を改善する Javadocを含むソースファイルの良い例はありますか? 私はインターネット上でJavadocの良い例をたくさん見つけることができます。それらを作成するために使用される特定の構文を見つけたいと思います。どこかでライブラリのソースを調べられると思いますが、それは大変な作業のようです。
140 java  javadoc 

2
#pragmaはC ++ 11標準の一部でしたか?
従来、C ++での複数のヘッダーのインクルードを回避する標準的で移植可能な方法は、マクロガードスキーム#ifndef - #define - #endifとも呼ばれるプリコンパイラディレクティブスキームを使用することでした(現在のコードスニペットを参照)。 #ifndef MY_HEADER_HPP #define MY_HEADER_HPP ... #endif ただし、ほとんどの実装/コンパイラ(下の図を参照)では、と呼ばれるマクロガードスキームと同じ目的で使用できる、より「エレガントな」代替手段があります#pragma once。#pragma onceマクロガードスキームと比較して、コードの削減、名前の衝突の回避、場合によってはコンパイル速度の向上など、いくつかの利点があります。 調査を行ったところ、#pragma onceほとんどすべての既知のコンパイラーでディレクティブがサポートされています#pragma onceが、ディレクティブがC ++ 11標準の一部であるかどうかがわかりません。 質問: 誰か#pragma onceがC ++ 11標準の一部であるかどうかを誰かが明確にできますか? C ++ 11標準の一部ではない場合、それを今後のリリース(C ++ 14以降など)に含める予定はありますか? また、誰かがいずれかの手法(つまり、マクロガードと#pragma once)を使用する際の利点/欠点についてさらに詳しく説明できるとよいでしょう。

10
Hudson / Jenkins構成ファイルをソース管理に保持する方法はありますか?
私はHudson / Jenkinsを初めて使用し、Hudsonの構成ファイルをソース管理にチェックインする方法があるかどうか疑問に思っていました。 理想的には、UIの「構成を保存」というボタンをクリックして、Hudson構成ファイルをソース管理にチェックインできるようにしたいです。

5
HATEOAS(REST-architecture)の実際の例[終了]
現在のところ、この質問はQ&A形式には適していません。事実、参考文献、専門知識によって回答が裏付けられることを期待していますが、この質問は、討論、議論、投票、または拡張ディスカッションを求める可能性があります。この質問が改善され、場合によっては再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 誰もが気付いているかもしれませんが、実際には多くの偽/基本的なREST-APIがあります(HTTP-APIを実装し、アプリケーションの状態としてのハイパーテキスト要件に従わずにRESTと呼びます)。最初にRESTパラダイムを指定した男、ロイT.フィールディングの有名な怒りに)。 真のハイパーテキスト駆動型REST実装の実用的な例と、状態遷移に関連するアプリケーション固有のメディアタイプ定義を見つけることができませんでした。 そのような実装の公にアクセス可能な例はありますか?
140 api  rest  hateoas 

2
AppCache(Symfony2)で最初の応答がプライベートである場合は問題ありませんか?
httpキャッシングを使用しようとしています。私のコントローラーでは、次のように応答を設定しています。 $response->setPublic(); $response->setMaxAge(120); $response->setSharedMaxAge(120); $response->setLastModified($lastModifiedAt); 開発モード 開発環境では、最初の応答は次のヘッダーを持つ200です。 cache-control:max-age=120, public, s-maxage=120 last-modified:Wed, 29 Feb 2012 19:00:00 GMT 次の2分間、すべての応答は次のヘッダーを持つ304です。 cache-control:max-age=120, public, s-maxage=120 これは基本的に私が期待していることです。 製品モード 製品モードでは、応答ヘッダーが異なります。app.phpでは、カーネルをAppCacheでラップしていることに注意してください。 最初の応答は、次のヘッダーを持つ200です。 cache-control:must-revalidate, no-cache, private last-modified:Thu, 01 Mar 2012 11:17:35 GMT したがって、これはキャッシュなしのプライベートレスポンスです。 次のリクエストはすべて、私が期待するものとほぼ同じです。次のヘッダーを持つ304: cache-control:max-age=120, public, s-maxage=120 心配する必要がありますか?予想される動作ですか? VarnishまたはAkamaiサーバーをその前に置くとどうなりますか? 少しデバッグを行ったところ、ヘッダーが最後に変更されたため、応答はプライベートであることがわかりました。HttpCacheカーネルはEsiResponseCacheStrategyを使用して、キャッシュされた応答を更新します(HttpCache :: handle()メソッド)。 if (HttpKernelInterface::MASTER_REQUEST === $type) { $this->esiCacheStrategy->update($response); } …

6
タイムゾーンをエレガントに扱う方法
アプリケーションを使用しているユーザーとは異なるタイムゾーンでホストされているWebサイトがあります。これに加えて、ユーザーは特定のタイムゾーンを持つことができます。他のSOユーザーとアプリケーションがこれにどのように取り組むかと思っていましたか?最も明白な部分は、DB内で日付/時刻がUTCに格納されることです。サーバー上では、すべての日付/時刻はUTCで処理する必要があります。しかし、私が克服しようとしている3つの問題を見つけました。 UTCでの現在の時刻の取得(で簡単に解決DateTime.UtcNow)。 データベースから日付/時刻を取得し、ユーザーに表示します。さまざまなビューで日付を印刷する呼び出しが潜在的にたくさんあります。この問題を解決できるビューとコントローラーの間にあるレイヤーを考えていました。または、カスタム拡張メソッドをオンにしますDateTime(以下を参照)。主な欠点は、ビューで日時を使用するすべての場所で、拡張メソッドを呼び出す必要があることです。 これにより、のようなものを使用するのも難しくなりJsonResultます。あなたはもはや簡単に呼び出すことができませんでしたJson(myEnumerable)、それはそうでなければなりませんJson(myEnumerable.Select(transformAllDates))。たぶん、AutoMapperはこの状況で役に立ちますか? ユーザーからの入力の取得(ローカルからUTC)。たとえば、日付を含むフォームをPOSTするには、日付を以前にUTCに変換する必要があります。最初に頭に浮かぶのは、カスタムの作成ModelBinderです。 以下は、ビューで使用することを考えた拡張機能です。 public static class DateTimeExtensions { public static DateTime UtcToLocal(this DateTime source, TimeZoneInfo localTimeZone) { return TimeZoneInfo.ConvertTimeFromUtc(source, localTimeZone); } public static DateTime LocalToUtc(this DateTime source, TimeZoneInfo localTimeZone) { source = DateTime.SpecifyKind(source, DateTimeKind.Unspecified); return TimeZoneInfo.ConvertTimeToUtc(source, localTimeZone); } } サーバーのローカル時刻が予想されるタイムゾーンと大きく異なる可能性がある多くのアプリケーションがクラウドベースになっていることを考えると、タイムゾーンの処理は非常に一般的なことだと思います。 これは以前にエレガントに解決されましたか?私が見逃しているものはありますか?アイデアや考えは大歓迎です。 編集:混乱を解消するために、もう少し詳細を追加すると思いました。問題は、今ではありませんどのようにそれがよりUTC->ローカルおよびローカルから> UTCから行くのプロセスについてです、デシベルでUTC時刻を格納します。@Max Zerbiniが指摘するように、ビューにUTC-> Localコードを配置するのは明らかに賢明ですが、DateTimeExtensions実際に答えを使用していますか?ユーザーから入力を受け取るとき、日付をユーザーのローカル時間として受け入れ(JSが使用しているModelBinderため)、それを使用してUTCに変換することは理にかなっていますか?ユーザーのタイムゾーンはDBに保存され、簡単に取得できます。

11
Android画面キーボードの自動ポップアップ
私のアプリの1つに「開始画面」(基本的にはメニュー)があり、EditTextその後にいくつかButtonのが続きます。問題は、私のユーザーの何人かが、アプリを開くと、に触れなくても自動的にスクリーンキーボードをポップアップすると報告していることですEditText。私の知る限り、これらのユーザーはすべてHTC Heroを使用しています。 これは1.5のバグですか?何かできることはありますか?

11
Googleスプレッドシートで時間/時間の計算を行うにはどうすればよいですか?
Googleスプレッドシートで時間/時間の計算を行う方法を教えてください。 時間(たとえば、36:00:00)の値があり、それを別の時間(たとえば、3:00:00)で除算して12を取得します。一方のみを他方で除算すると、288になります。 :00:00は、12(または12:00:00)です。 36:00:00が12になるため、hours()関数を使用しても機能しないことに注意してください。

23
単体テストを既存の本番プロジェクトに追加できますか?もしそうなら、どのように、そしてそれは価値がありますか?
運用中の既存のプロジェクトに単体テストを追加することを強く検討しています。TDD (フェイスパーム)のメリットが実際に見られるようになる前に18か月前に開始されたので、これは多くのプロジェクトを含むかなり大きなソリューションであり、単体テストの追加をどこから始めればよいかわかりません。私がこれを考慮しているのは、時々古いバグが再浮上しているように見える、またはバグが実際には修正されずに修正済みとしてチェックインされることです。単体テストは、これらの問題の発生を軽減または防止します。 SOで同様の質問を読むことで、バグトラッカーから始めて、各バグのテストケースを作成してリグレッションを防ぐなどの推奨事項を見てきました。ただし、全体像を見逃してしまい、最初からTDDを使用した場合に含まれていたはずの基本的なテストを見落としてしまうのではないかと心配しています。 既存のソリューションが適切に単体テストされ、ただ組み込まれているだけではないことを確認するために、順守すべきプロセス/ステップはありますか?どのように私はテストが良い品質のものであり、念のないことを確認することができます任意のテストの無いテストよりも優れています。 だから私も私が求めているのは何かだと思います。 運用中の既存のソリューションに取り組む価値はありますか? このプロジェクトのテストを無視し、将来の可能性のある書き換えで追加する方が良いでしょうか? より有益になるもの; 数週間かけてテストを追加したり、数週間かけて機能を追加したりしますか? (明らかに、3番目のポイントに対する答えは、管理者と開発者のどちらに話しているかに完全に依存します) バウンティの理由 奨励金を追加して、幅広い回答を引き付け、それが良いことであるという私の既存の疑いを確認するだけでなく、それに対するいくつかの正当な理由も確認します。 この質問を長所と短所で後で書き、製品の将来の開発をTDDに移行するのに何時間も費やす価値があることを経営者に示すことを目指しています。私はこの課題に取り組み、自分自身の偏見のない視点で私の推論を展開したいと思います。

9
NSLocalizedStringを使用したベストプラクティス
私は(他のすべてと同様に)NSLocalizedStringアプリのローカライズに使用しています。 残念ながら、いくつかの「欠点」があります(必ずしもNSLocalizedString自体の障害ではありません)。 Xcodeの文字列のオートコンプリートはありません。これにより、エラーが発生しやすくなるだけでなく、作業が面倒になります。 同等の文字列がすでに存在することを知らなかっただけで、文字列を再定義してしまう可能性があります(つまり、「パスワードを入力してください」対「最初にパスワードを入力してください」)。 オートコンプリートの問題と同様に、コメント文字列を「記憶」/コピーして貼り付ける必要があります。そうしないgenstringと、1つの文字列に複数のコメントが表示されます。 genstring一部の文字列をローカライズした後で使用する場合は、古いローカライズを失わないように注意する必要があります。 同じ文字列がプロジェクト全体に散らばっています。たとえば、NSLocalizedString(@"Abort", @"Cancel action")どこでも使用している場合NSLocalizedString(@"Cancel", @"Cancel action")、コードの整合性を高めるために、コードレビューで文字列の名前を変更するように求められます。 私が行うこと(そして、SOでのいくつかの検索の後に、多くの人がこれを行うと思った)は、すべてのローカライズコードstrings.hを含む個別のファイルを用意すること#defineです。例えば // In strings.h #define NSLS_COMMON_CANCEL NSLocalizedString(@"Cancel", nil) // Somewhere else NSLog(@"%@", NSLS_COMMON_CANCEL); これは基本的に、コード補完、変数名を変更するための単一の場所(したがってgenstringは不要)、および自動リファクタリングのための一意のキーワードを提供します。ただし、これは、#define本質的に構造化されていない(つまり、LocString.Common.Cancelなどの)ステートメントの集合全体を犠牲にすることになります。 ですから、これはいくらかうまく機能しますが、あなたのプロジェクトでどのようにそれを行うのかと思っていました。NSLocalizedStringの使用を簡略化する他のアプローチはありますか?それをカプセル化するフレームワークさえあるのでしょうか?

10
Railsのアクティブレコードのデフォルトのタイムゾーンを変更するにはどうすればよいですか?
私の中でapplication.rb私は次のコメントに出くわしました # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone. # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC. config.time_zone = 'Eastern Time (US & Canada)' 上からわかるように、config.time_zoneESTの時間に合わせました。ただし、DBでレコードが作成datetimeされると、UTC形式で格納されているように見えます。 上記のコメントで、彼らは言う ...そして、Active Recordをこのゾーンに自動変換します... どうすればそれを行うことができますか? また、これをherokuにも展開していきますので、引き継ぐ設定をお願いします

11
JavaでcurrentTimeMillisを日付に変換する方法は?
サーバーで生成された特定のログファイルにミリ秒があります。ログファイルが生成されたロケールもわかっています。問題は、ミリ秒を指定された形式の日付に変換することです。そのログの処理は、異なるタイムゾーンにあるサーバーで行われています。"SimpleDateFormat"プログラムへの変換中は、マシンの日付が取得されるため、フォーマットされた日付はサーバーの正しい時刻を表していません。これをエレガントに扱う方法はありますか? long yourmilliseconds = 1322018752992l; //1322018752992-Nov 22, 2011 9:25:52 PM SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss,SSS",Locale.US); GregorianCalendar calendar = new GregorianCalendar(TimeZone.getTimeZone("US/Central")); calendar.setTimeInMillis(yourmilliseconds); System.out.println("GregorianCalendar -"+sdf.format(calendar.getTime())); DateTime jodaTime = new DateTime(yourmilliseconds, DateTimeZone.forTimeZone(TimeZone.getTimeZone("US/Central"))); DateTimeFormatter parser1 = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss,SSS"); System.out.println("jodaTime "+parser1.print(jodaTime)); 出力: Gregorian Calendar -2011-11-23 08:55:52,992 jodaTime 2011-11-22 21:25:52,992
140 java  date 

11
警告-ビルドパスは実行環境J2SE-1.4を指定します
Eclipse HeliosでMavenプロジェクトを作成します。1日は問題なく動作しますが、次の警告が表示されます。 ビルドパスは、実行環境J2SE-1.4を指定します。この環境と完全に互換性のあるJREがワークスペースにインストールされていません。 このメッセージ以降、プロジェクトはコンパイルとデバッグを停止しました。誰かがこの問題の解決策を持っていますか?
140 java  eclipse  maven-2 


11
geoJSONオブジェクトを指定して、マップをd3の中央に配置します
現在d3では、描画するgeoJSONオブジェクトがある場合、それをスケーリングし、必要なサイズに変換して中央に配置する必要があります。これは非常に退屈な試行錯誤の仕事であり、これらの値を取得するためのより良い方法を誰かが知っているかどうか疑問に思っていましたか? たとえば、このコードがある場合 var path, vis, xy; xy = d3.geo.mercator().scale(8500).translate([0, -1200]); path = d3.geo.path().projection(xy); vis = d3.select("#vis").append("svg:svg").attr("width", 960).attr("height", 600); d3.json("../../data/ireland2.geojson", function(json) { return vis.append("svg:g") .attr("class", "tracts") .selectAll("path") .data(json.features).enter() .append("svg:path") .attr("d", path) .attr("fill", "#85C3C0") .attr("stroke", "#222"); }); 少しずつ行かずに.scale(8500)と.translate([0、-1200])を取得するにはどうすればよいですか?
140 d3.js  geojson  topojson 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.