プログラミング

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

12
Backbone.jsのネストされたモデル、アプローチ方法
サーバーから次のJSONを取得しました。これで、ネストされたモデルでモデルを作成したいと思います。これを達成する方法がどちらなのかはわかりません。 //json [{ name : "example", layout : { x : 100, y : 100, } }] これらを次の構造を持つ2つのネストされたバックボーンモデルに変換してください。 // structure Image Layout ... したがって、レイアウトモデルを次のように定義します。 var Layout = Backbone.Model.extend({}); しかし、画像モデルを定義するために以下の2つの技術(ある場合)のどちらを使用する必要がありますか?以下のAまたはB? あ var Image = Backbone.Model.extend({ initialize: function() { this.set({ 'layout' : new Layout(this.get('layout')) }) } }); または、 B var Image = …

3
Androidフラグメント:非表示/表示または追加/削除/置換を使用する場合
あるコンテナビューの現在のフラグメントを別のビューに置き換えたいとしましょう。置換を使用する方が良いですか... FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); ft.replace(R.id.fragment_container, newFragment, null); ft.commit(); ...または次のように、表示と非表示を切り替えますか? FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); ft.hide(oldFragment); ft.show(newFragment); ft.commit(); これを行う1つの方法はより効率的ですか?これらのメソッドをいつ使用するか、またはそれらが関連するフラグメントのライフサイクルにどのように影響するかについての多くの情報を見つけることができません。ありがとう!


2
UIImage imageNamed:FUDを払拭する
2014年2月の編集:この質問はiOS 2.0のものです。それ以来、画像の要件と処理は大きく変わりました。Retinaを使用すると、画像が大きくなり、読み込みが少し複雑になります。iPadおよびRetinaイメージの組み込みサポートにより、コードでImageNamedを使用する必要があります。 多くの人imageNamedが悪いと言っていますが、特にUITableViewsをレンダリングする場合は、パフォーマンスが良いと言っている人の数と同じです。参照してください。このSOの質問例や、この記事 iPhoneDeveloperTips.com上を UIImageのimageNamedメソッドはリークに使用されていたため、回避するのが最善でしたが、最近のリリースでは修正されています。システムを信頼して画像をキャッシュできる場所と、自分で実行する必要がある場所について、合理的な決定を行うために、キャッシュアルゴリズムをよりよく理解したいと思います。私の現在の基本的な理解は、それがファイル名NSMutableDictionaryでUIImages参照されるのは簡単だということです。それは大きくなり、メモリがなくなると、はるかに小さくなります。 たとえば、背後にある画像キャッシュimageNamedが応答しないことを誰かが知っていdidReceiveMemoryWarningますか?Appleがこれをしないとは思えない。 キャッシングアルゴリズムに関する洞察がある場合は、こちらに投稿してください。

15
JavaまたはC#での例外管理のベストプラクティス[終了]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 4年前休業。 この質問を改善する アプリケーションで例外を処理する方法を決定するのに行き詰まっています。 例外に関する私の問題が1)リモートサービスを介したデータへのアクセス、または2)JSONオブジェクトの逆シリアル化に起因する場合の多くは、残念ながら、私はこれらのタスク(ネットワーク接続の切断、制御不能な不正なJSONオブジェクト)の成功を保証できません。 その結果、例外が発生した場合は、関数内で例外をキャッチし、呼び出し元にFALSEを返します。私の論理では、呼び出し元が本当に気にするのは、タスクが成功したかどうかではなく、タスクが成功しなかった理由だけです。 典型的なメソッドのサンプルコード(JAVA形式)を以下に示します) public boolean doSomething(Object p_somthingToDoOn) { boolean result = false; try{ // if dirty object then clean doactualStuffOnObject(p_jsonObject); //assume success (no exception thrown) result = true; } catch(Exception Ex) { //don't care about exceptions Ex.printStackTrace(); } return result; } このアプローチは問題ないと思いますが、例外を管理するためのベストプラクティスを知りたいと思います(本当にコールスタックまで例外をバブルする必要がありますか?)。 重要な質問の要約: 例外をキャッチするだけで問題はありませんが、それらをバブルアップしたり、システムに正式に通知したりしないでください(ログまたはユーザーへの通知を介して)? すべてがtry …

4
数百万のピクセルを持つ2Dボックス化されていないピクセル配列には、どのHaskell表現が推奨されますか?
Haskellの画像処理の問題に取り組みたい。私は、数百万ピクセルのモノクロ(ビットマップ)とカラー画像の両方を扱っています。いくつか質問があります。 Vector.Unboxedとの間でどちらを選択すればよいUArrayですか?どちらもボックス化されていない配列ですが、Vector抽象化は特にループフュージョンを中心に宣伝されているようです。でVector常により良いですか?そうでない場合、いつどの表現を使用すればよいですか? カラー画像の場合、16ビット整数のトリプルまたは単精度浮動小数点数のトリプルを格納したいと思います。この目的のために、どちらVectorかUArray使いやすいですか?より高性能ですか? モノクロイメージの場合、ピクセルごとに1ビットのみを保存する必要があります。複数のピクセルを1つの単語にパックすることによってここで私を助けることができる事前定義されたデータ型はありますか、それとも私一人でですか? 最後に、私の配列は2次元です。「配列の配列」(またはベクトルのベクトル)としての表現によって課される追加の間接参照を処理できると思いますが、インデックスマッピングをサポートする抽象化を好みます。誰でも標準ライブラリやHackageから何かを推薦できますか? 私は関数型プログラマーであり、突然変異の必要はありません:-)

1
C ++ 11のasync(launch :: async)は、高価なスレッドの作成を回避するためにスレッドプールを廃止しますか?
それはこの質問に緩く関連しています:std :: threadはC ++ 11にプールされていますか?。質問は異なりますが、意図は同じです。 質問1:高価なスレッドの作成を回避するために、独自の(またはサードパーティのライブラリ)スレッドプールを使用することはまだ意味がありますか? 他の質問の結論は、std::threadプールに依存することはできないということでした(そうでない場合もあります)。ただし、std::async(launch::async)プールされる可能性ははるかに高いようです。 それは標準によって強制されているとは思わないが、私見では、スレッドの作成が遅い場合は、すべての優れたC ++ 11実装がスレッドプーリングを使用すると予想します。新しいスレッドを作成するのが安価なプラットフォームでのみ、私は彼らが常に新しいスレッドを生成することを期待します。 質問2:これは私が考えていることですが、それを証明する事実はありません。私はよく間違えられるかもしれません。それは教育を受けた推測ですか? 最後に、ここでは、スレッドの作成が次のように表現できると私が考える方法を最初に示すサンプルコードをいくつか提供しましたasync(launch::async)。 例1: thread t([]{ f(); }); // ... t.join(); なる auto future = async(launch::async, []{ f(); }); // ... future.wait(); 例2:スレッドを起動して忘れる thread([]{ f(); }).detach(); なる // a bit clumsy... auto dummy = async(launch::async, []{ f(); }); // ... but …

5
プロダクションサーバーとしてのWebrick対ThinまたはUnicorn?
Webrickを本番サーバーとして使用してはならないのは当たり前のようですが、理由を述べているところはどこにもありません。コンセンサスは「Webrickは開発に問題はないが、ThinまたはUnicornが生産期間の選択である」と思われる。 シンサーバーのホームページを調べたところ、リクエスト数/秒について話していましたが、注釈がないためグラフがよくわかりません。 Webrickと比較してThinまたはUnicornを使用する理由を誰かに教えてもらえますか?また、開発にWebrickを使用するメリットはありますか?私はレールが付属しているのでWebrickを使用してきましたが、それがデフォルトである理由はあるはずだと思います。 ちなみに私はHerokuを使っています。

2
Androidの破壊活動、プロセスの強制終了
こんにちは、Androidがメモリをどのように管理しているのか疑問に思っています。正確な答えはどこにもありません。現在のアクティビティスタックに5つのアクティビティがあるアプリケーションがあるとします(4つが停止し、1つが再開します)。接続されているサービスはありません。HOMEボタンを押すと、すべてのアクティビティが停止します。他のメモリ消費アプリケーションを起動しましたが、全体のデバイスメモリが少なくなり始めています。そして問題は ...アプリケーションはどうなりますか? システムは、メモリを回復するために1つまたはいくつかのアクティビティのみを破棄できますか? システムはアプリケーションのプロセス全体を強制終了しますか?すべての活動はうまく破壊されますか? アプリケーションが完全に終了したときにアプリケーションに戻るとどうなりますか?(最初の開始のように)最初から開始するのでしょうか、それともアクティビティをプレビュー状態に回復しようとしますか? 更新: この質問をする前に、アクティビティのライフサイクルを何度か見ましたが、質問に対する答えはありません。私はいくつかのテストを行い、いくつかの答えがあります。DDMSの「プロセスの停止」はテストの手がかりでした。 私は質問1の答えをテストしていませんが、ガイドが言うように: アクティビティが一時停止または停止した場合、システムはアクティビティを終了するように要求するか、単にプロセスを強制終了することにより、アクティビティをメモリから削除できます。 1つ以上のアクティビティは、プロセスを終了せずに(onDestroyメソッドを使用して)穏やかに破棄できるようです。それらに戻るときに、単に(onCreate + bundle)を取得します。 質問2の回答: はい。通常、システムはプロセス全体を強制終了します。つまり、アクティビティや静的フィールドを含むすべてのデータが破棄されます。これはうまく行われていません-一時停止/停止されたアクティビティのonDestroyまたはfinialize()を取得しません。これが、onPauseメソッドの直前にsaveInstanceState()が呼び出される理由です。onPauseは基本的に最後のメソッドであり、このメソッドの後はonStopまたはonDestroyが表示されないため、何かを保存する必要があります。システムはプロセスを強制終了して、オブジェクトが保持していることや実行していることをすべて破棄できます。 質問3の回答: 強制終了したアプリケーションに戻るとどうなりますか? Android 2.2以前-ランチャーアクティビティを使用して、アプリケーションは最初から始まります。 2.2以降-システムは以前のアプリケーションの状態を復元します。どういう意味ですか?つまり、最後に表示されたアクティビティが再作成されます(onCreate +バンドル)。アクティビティスタックはどうなりますか?スタックは問題ありませんが、スタック上のすべてのアクティビティは停止しています。戻るボタンで戻ると、それぞれが再作成されます(onCreate +バンドル)。それについてもう1つあります。 通常、ユーザーがホーム画面からタスクを再選択すると、特定の状況で、システムはタスクをクリアします(ルートアクティビティの上にあるスタックからすべてのアクティビティを削除します)。通常、これは、ユーザーが30分などの特定の時間タスクにアクセスしなかった場合に行われます。 結論? アクティビティローテーションの問題の処理はandroid:configChanges = "orientation"で解決できるとは思わないでください。そうすると、気づいていない他の多くの問題が発生します。 DDMS-プロセス停止ボタンでアプリケーションをテストします。これを見る 静的変数を使用するときは注意してください。アクティビティ1で初期化したときに、アクティビティ2で初期化されるとは思わないでください。グローバル静的を初期化する唯一の安全な場所は、アプリケーションクラスです。 onStopまたはonDestroyが表示されない場合があることに注意してください。ファイル/データベースを閉じ、onPauseでダウンローダーを停止します。アプリにBGで何かを実行させたい場合-フォアグラウンドサービスを使用します。 それはそれだろう...私が私のエッセイを手伝ってくれることを願っています:)

11
文字列が有効な整数かどうかをテストします
私は十分に一般的なことをしようとしています:シェルスクリプトでユーザー入力を解析します。ユーザーが有効な整数を指定した場合、スクリプトは1つの処理を実行し、無効な場合は別の処理を実行します。問題は、これを行う簡単な(そして合理的にエレガントな)方法を見つけていないことです。1文字ずつ個別に選択する必要はありません。 これは簡単なはずですが、方法はわかりません。私は12の言語でそれを行うことができましたが、BASHはできませんでした! 私の研究でこれを見つけました: 文字列が10進数の有効な実数で構成されるかどうかをテストする正規表現 そして、そこには正規表現についての答えがありますが、私の知る限り、それはCで利用可能な関数です(とりわけ)。それでも、すばらしい答えのように見えたので、grepで試してみましたが、grepはそれをどうするかわかりませんでした。私の箱では、それをPERL正規表現として扱うことを意味する-Pを試しました-nada。ダッシュE(-E)も機能しませんでした。また、-Fも行いませんでした。 明確にするために、私はこのようなものを試して、出力を探しています-そこから、取得したものを利用するためにスクリプトをハッキングします。(IOW、有効な行が繰り返されている間は、非準拠の入力が何も返さないことを期待していました。) snafu=$(echo "$2" | grep -E "/^[-+]?(?:\.[0-9]+|(?:0|[1-9][0-9]*)(?:\.[0-9]*)?)$/") if [ -z "$snafu" ] ; then echo "Not an integer - nothing back from the grep" else echo "Integer." fi これを最も簡単に行う方法を誰かが説明してくれませんか? 率直に言って、これは私の意見ではTESTの欠点です。このようなフラグが必要です if [ -I "string" ] ; then echo "String is a valid integer." else echo …

12
Scalaのdoubleと精度
Doubleを切り捨てたり丸めたりできる関数はありますか?私のコードのある時点で、私は次のような数を望みます:1.23456789丸められる1.23



9
なぜ正規表現を使用してHTML / XMLを解析できないのか:素人の言葉による正式な説明
SOでは、(X)HTMLまたはXMLの解析に関する質問なしに、正規表現が要求される日はありません。 このタスクの正規表現の非実行可能性を実証する例や、概念を表す式のコレクションを思い付くのは比較的簡単ですが、SOでは、なぜこれが素人でできないのかについての正式な説明は見つかりませんでした。条項。 このサイトでこれまでに見つけた唯一の正式な説明は、おそらく非常に正確ですが、独学のプログラマにとっては非常に謎めいています。 ここでの欠点は、HTMLがチョムスキータイプ2文法(文脈自由文法)であり、RegExがチョムスキータイプ3文法(正規表現)であることです。 または: 正規表現は正規言語にのみ一致しますが、HTMLは文脈自由言語です。 または: 有限オートマトン(正規表現の基礎となるデータ構造)には、その状態とは別にメモリがありません。ネストが任意に深い場合は、有限オートマトンの概念と衝突する任意に大きいオートマトンが必要です。 または: 通常の言語のパンピング補題は、それができない理由です。 [公平を期すために:上記の説明の大部分はウィキペディアのページにリンクしていますが、これらは回答そのものよりも理解しやすいものではありません]。 だから私の質問は:(X)HTML / XMLを解析するために正規表現を使用できない理由について、上記の正式な説明を素人の言葉で翻訳してくれませんか? 編集:最初の回答を読んだ後、明確にする必要があると思いました:翻訳しようとする概念も簡潔に説明する「翻訳」を探しています:回答の終わりに、読者は大まかなアイデアを持っている必要があります-たとえば-「通常の言語」と「文脈自由文法」の意味...

2
プラグインを使用したAndroid StudioとIntellij Ideaの違いは?
我々は、intellijアイデアを開発に使用する既存のJavaコードベースを持っています。 私たちは、既存のコードとリソースベースとコードやその他のリソースを共有するAndroidアプリケーションを構築しています。 Android Studioは主にIntellijの変更されたバージョンのように思われるので、私の質問は、Android Studioに不可欠である特定の機能が完全にあるかということです。非互換?"標準"?vs Intellij Ideaコミュニティまたは究極ですか?2つは適切なプラグインセットと交換可能ですか? さまざまなAndroidサポートプラグインでIntellij Ideaを使用する場合、これらのプラグインはAndroid Studioに付属するものと同じですか?このプラグインのセットで、プログラムは実質的に交換可能ですか? (私は「ant」サポートがAndroid Studioにないことに気付きました。必要なのは、さまざまなコマンドのメニュー構成可能なエントリのセットを使用してIDEから実行可能ファイルを呼び出すためのいくつかの機能です-これを行うために、Intelli Antサポートを使用するようになりました利用可能でした) Intellijは、Googleの「公式」ツールであるため、リリースがAndroid Studioになるのは常に遅れています。 それらが著しく互換性がない場合、2つのシステム間で共通のリソースとツールを使用する最も簡単な方法は何ですか?

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