プログラミング

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

4
元の例外の再スローに関するC ++例外の質問
キャッチ内の次のappend()によって、再スローされた例外が原因で、append()が呼び出された結果を確認できますか? try { mayThrowMyErr(); } catch (myErr &err) { err.append("Add to my message here"); throw; // Does the rethrow exception reflect the call to append()? } 同様に、この方法で書き換えた場合、実際の例外がmyErrによって派生した場合、ビットスライスは発生しますか? try { mayThrowObjectDerivedFromMyErr(); } catch (myErr &err) { err.append("Add to my message's base class here"); throw err; // Do I lose the derived …
117 c++  exception  rethrow 



9
独自のレート制限APIをドッグフーディングする
概要: 私の会社はレート制限されたAPIを開発しました。私たちの目標は2つあります。 A:製品の周りに強力な開発者エコシステムを作成します。 B:APIを使用して独自のアプリケーションを駆動することにより、APIの能力を実証します。 明確化:なぜレート制限を行うのか? APIは、製品への追加として販売するため、レート制限を行っています。APIへの匿名アクセスでは、1時間あたりのAPI呼び出しのしきい値が非常に低くなっていますが、有料のお客様は1時間あたり1000以上の呼び出しを許可されています。 問題: 私たちのレート制限APIは、開発者のエコシステムに最適ですが、ドッグフードを行うために、同じレート制限に制限することはできません。APIのフロントエンドはすべてJavaScriptであり、APIへの直接のAjax呼び出しを行います。 だから問題は: どのようにAPIを保護して、レート制限を削除できるようにしますか? 探索されたソリューション(およびそれらが機能しなかった理由) ホストヘッダーに対してリファラーを確認します。- リファラーが簡単に偽造されるため、欠陥があります。 HMACを使用して、要求と共有秘密に基づいた署名を作成し、サーバーで要求を確認します。- シークレットとアルゴリズムは、フロントエンドのJavaScriptを調べれば簡単に判断できるため、問題が発生します。 リクエストをプロキシし、プロキシでリクエストに署名する- プロキシ自体がAPIを公開しているため、まだ欠陥があります。 質問: Stack Overflowの優れた頭脳に代替ソリューションを提示することを期待しています。この問題をどのように解決しますか?
117 javascript  api  rest 

2
Rustで 'let x = x'は何をしますか?
私はこのコードを実際に見ました: fields.sort_by_key(|&(_, ref field)| field.tags().into_iter().min().unwrap()); let fields = fields; let fields = fields;ラインは何をしますか?なぜそこにあるのですか?
117 rust 

4
ostringstreamを再利用する方法?
アプリが多くの割り当てを行う必要がないように、ostringstream(および基になるバッファー)をクリアして再利用したいと思います。オブジェクトを初期状態にリセットするにはどうすればよいですか?
117 c++  stl  reset  ostringstream 


1
Javaでの静的割り当て-ヒープ、スタック、永続的な生成
私は最近、Javaでのメモリ割り当てスキームについてたくさん読んでいますが、さまざまなソースから読んでいるので、多くの疑問がありました。私は私の概念を集めました、そして私はすべてのポイントを通過し、それらにコメントすることを要求します。メモリの割り当てはJVM固有であることを知ったので、私の質問はSun固有であると前もって言わなければなりません。 クラス(クラスローダーによってロードされた)は、ヒープ上の特別な領域(Permanent Generation)に配置されます クラスの名前、クラスに関連付けられたオブジェクト配列、JVMが使用する内部オブジェクト(java / lang / Objectなど)、および最適化情報などのクラスに関連するすべての情報は、Permanent Generation領域に入ります。 すべての静的メンバー変数は、Permanent Generation領域に再び保持されます。 オブジェクトは別のヒープに移動します:若い世代 クラスごとに各メソッドのコピーが1つだけあり、メソッドは静的または非静的です。そのコピーは、Permanent Generation領域に配置されます。非静的メソッドの場合、すべてのパラメーターとローカル変数がスタックに格納されます。そのメソッドが具体的に呼び出されると、それに関連付けられた新しいスタックフレームが取得されます。静的メソッドのローカル変数がどこに保存されているのかわかりません。彼らは永久世代の山にいますか?または、それらの参照のみが永続生成領域に格納され、実際のコピーは別の場所にあります(どこに?) また、メソッドの戻り値の型がどこに格納されるのかわかりません。 (若い世代の)オブジェクトが(永続的な世代の)静的メンバーを使用する必要がある場合、それらには静的メンバーへの参照が与えられます。また、メソッドの戻り値の型などを格納するのに十分なメモリ領域が与えられます。 ご覧いただきありがとうございます!

1
iTunes Connectからの「予期しないマシンコード」警告
この投稿は、急速に変化するイベントに関連しています。 Application Loaderを使用してビルドをiTunes Connectにアップロードした後、以下の「予期しないマシンコード」の問題に関するメールを受け取りました。 予期しないマシンコード-アップロードにビットコードとネイティブマシンコードの両方が含まれています。ビットコードを提供する場合、マシンコードも含める必要はありません。アップロードのサイズを減らすには、Xcode 7.3以降、またはマシンコードを削除するその他のツールチェーンを使用します。 この警告について私はとても混乱しています。これはiTunes Connectの新機能ですか?QAビルドをアップロードしてもリリースビルドをアップロードしても警告が表示されないのはなぜですか? 更新:先週QAビルドをアップロードしましたが、警告はありませんでした。そして今日(2016年6月27日)、リリースビルドをアップロードすると、警告が表示されます。

12
Javaプロジェクトにはどのコード分析ツールを使用していますか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。事実、参考文献、専門知識によって回答が裏付けられることを期待していますが、この質問は、討論、議論、投票、または拡張ディスカッションを求める可能性があります。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 8年前に閉鎖。 Javaプロジェクトで使用しているコード分析ツールは何ですか? 私はすべての種類に興味があります 静的コード分析ツール(FindBugs、PMD、その他) コードカバレッジツール(Cobertura、Emma、その他) その他の計装ベースのツール 他に何か、私が何かを逃しているなら 該当する場合は、使用するビルドツールと、これらのツールがIDEとビルドツールの両方とどの程度統合されているかも説明してください。 ツールが特定の方法でのみ使用できる場合(IDEプラグインとして、またはビルドツールプラグインとして)、その情報も注目に値します。

7
PDO MySQL:PDO :: ATTR_EMULATE_PREPARESを使用するかどうか。
これは私がこれまで読んだことですPDO::ATTR_EMULATE_PREPARES: MySQLのネイティブ準備はクエリキャッシュをバイパスするため、PDOの準備エミュレーションはパフォーマンスが向上します。 MySQLのネイティブ準備は、セキュリティ(SQLインジェクションの防止)に優れています。 MySQLのネイティブ準備はエラー報告に適しています。 これらの発言がどれほど真実であるかはわかりません。MySQLインターフェースを選択する際の最大の懸念は、SQLインジェクションを防ぐことです。2番目の問題はパフォーマンスです。 私のアプリケーションは現在、手続き型MySQLi(準備済みステートメントなし)を使用しており、クエリキャッシュをかなり利用しています。準備されたステートメントを1つのリクエストで再利用することはほとんどありません。名前付きパラメーターと準備済みステートメントのセキュリティーのために、PDOへの移行を開始しました。 私は使用MySQL 5.1.61していますPHP 5.3.2 PDO::ATTR_EMULATE_PREPARES有効のままにするかどうか。クエリキャッシュのパフォーマンスと準備されたステートメントのセキュリティの両方を実現する方法はありますか?
117 php  mysql  pdo 

30
Android java.exeはゼロ以外の終了値1で終了しました[終了]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 2年前休業。 この質問を改善する 私は同様のものを調べてみましたが、解決策はありませんでした。以前は問題なくアプリを実行したことがあるのですが、新しいアプリで突然問題が発生し始めました。それを実行しようとすると常に失敗します: Error:Execution failed for task ':app:preDexDebug'. com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files (x86)\Java\jdk1.7.0_67\bin\java.exe'' finished with non-zero exit value 1 コンソールに表示される内容は次のとおりです。 Executing tasks: [:app:assembleDebug] Configuration on demand is an incubating feature. :app:preBuild UP-TO-DATE :app:preDebugBuild UP-TO-DATE :app:compileDebugNdk UP-TO-DATE :app:checkDebugManifest :app:preReleaseBuild UP-TO-DATE :app:prepareComAndroidSupportSupportV42200Library UP-TO-DATE :app:prepareDebugDependencies :app:compileDebugAidl UP-TO-DATE :app:compileDebugRenderscript UP-TO-DATE …

5
Java、クラスパス、クラスローディング=>同じjar /プロジェクトの複数のバージョン
これは経験豊富なコーダーにとってばかげた質問かもしれません。しかし、私は私のプロジェクトで使用される他のフレームワーク/ jarのいくつかが必要とするライブラリ(httpクライアント)を持っています。ただし、それらすべてに次のような異なるメジャーバージョンが必要です。 httpclient-v1.jar => Required by cralwer.jar httpclient-v2.jar => Required by restapi.jar httpclient-v3.jar => required by foobar.jar クラスローダーは、どういうわけかそれらを分離するのに十分インテリジェントですか?おそらくそうではありませんか?クラスが3つのすべてのjarで同じ場合、クラスローダーはこれをどのように処理しますか。どれがロードされ、なぜですか? Classloaderはjarを1つだけピックアップしますか、それともクラスを任意に混合しますか?たとえば、クラスがVersion-1.jarからロードされた場合、同じクラスローダーからロードされた他のすべてのクラスはすべて同じjarに入りますか? この問題をどのように処理しますか? jarを「required.jar」に何らかの形で「組み込む」ためのトリックがあり、それによって、それらは「1つのユニット/パッケージ」として表示されます。 Classloader、それか、何らかの形でリンクされますか?

9
RESTful Webサービス-他のサービスからのリクエストを認証する方法は?
ユーザーだけでなく他のWebサービスやアプリケーションからもアクセスする必要があるRESTful Webサービスを設計しています。すべての着信要求は認証される必要があります。すべての通信はHTTPSを介して行われます。ユーザー認証は、サービスが提供する/ sessionリソースに(SSL接続を介して)ユーザー名とパスワードをPOSTすることで取得した認証トークンに基づいて機能します。 Webサービスクライアントの場合、クライアントサービスの背後にエンドユーザーは存在しません。要求は、スケジュールされたタスク、イベント、またはその他のコンピューター操作によって開始されます。接続サービスのリストは事前にわかっています(明らかに、私は推測します)。他の(ウェブ)サービスからのこれらのリクエストをどのように認証すればよいですか?認証プロセスは、これらのサービスに実装するためにできるだけ簡単にしたいが、セキュリティを犠牲にしてはいけない。このようなシナリオの標準およびベストプラクティスは何ですか? 私が考えることができる(または私に提案された)オプション: クライアントサービスに「偽の」ユーザー名とパスワードの使用を依頼し、ユーザーと同じ方法でそれらを認証します。私はこのオプションが好きではありません-それはちょうど気分が悪いだけです。 クライアントサービスに永続的なアプリケーションIDを割り当てます。アプリケーションキーも割り当てる可能性があります。私が理解している限り、これはユーザー名とパスワードを持つことと同じです。このIDとキーを使用して、各要求を認証するか、認証トークンを作成して、それ以降の要求を認証できます。どちらにしても、このオプションは好きではありません。アプリケーションIDとキーを入手できる人はだれでもクライアントになりすますことができるからです。 前のオプションにIPアドレスチェックを追加できました。これにより、偽のリクエストを実行することが難しくなります。 クライアント証明書。独自の認証局をセットアップし、ルート証明書を作成し、クライアントサービスのクライアント証明書を作成します。ただし、2つの問題が頭に浮かびます。a)ユーザーが証明書なしで認証できるようにするにはどうすればよいですか。b)クライアントサービスの観点からこのシナリオを実装するのはどのくらい複雑ですか。 何か他のもの-そこに他の解決策があるに違いない? 私のサービスはJavaで実行されますが、具体的なフレームワークについての情報は意図的に省略しました。これは、実装の詳細ではなく、基本原則に関心があるためです-これに対する最善の解決策は基礎となるフレームワークに関係なく実装することが可能です。ただし、私はこのテーマに少し慣れていないため、実際の実装に関する具体的なヒントや例(有用なサードパーティのライブラリ、記事など)も高く評価されます。

2
XPathのインデックスが0ではなく1で始まるのはなぜですか?
一部の同僚と私は、プログラミングした過去の言語を比較し、他のほとんどすべての言語のように0 ベースのインデックスではなく1ベースのインデックスなどの奇妙な機能を備えたVBScriptの経験について話していました。開発者向けの言語ではなく、ユーザー向けの言語(Excel VBAなど)。 次に、「XPathにも1ベースのインデックスがある」と誰かが言った。マイケルケイ自身からのいくつかを含む0ベースのアプローチを支持する多くの理由があるこの記事を見つけるまで、私は信じられなかった。 「...ゼロベースのインデックス付けは、1次元配列アクセス式で多次元配列にアクセスするときに、インデックス式をより単純にする傾向があります。」 「テーブルを処理するとき、または文字列に添え字を付けるとき、ゼロベースのアドレッシングは多くの場合はるかに便利です。」 「...ハードウェアアドレッシングは0ベースのアドレッシングの唯一の利点ではありません...それはまた計算をより簡単にします...」 しかしその後、マイケル・ケイは結論として引用されています: ... 1ベースのロジックはXPathとXSLTの正しい選択でした...言語はプログラマー向けではなくユーザー向けに設計されており、ユーザーは本の最初の章を「章」と呼ぶという昔ながらの習慣を持っています1... 誰かが私にそれを説明できますか? (1)XPathはユーザー向けにどのように設計されていますか?XPathの構文の厳格さ、またはXSLTの宣言的/機能的プログラミングの側面に取り組んでいる開発者ではない人を想像することはできません。そして、(2)は、なぜ本当にのXPathの作成者は、1ベースのインデックスを選択することで、近代的なプログラミング言語の規範に反するましたか?
117 xslt  xpath  indexing 

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