プログラミング

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

5
モバイルアプリケーション用のAPIの作成-認証と承認
概観 アプリケーション用の(REST)APIを作成しようとしています。最初の/主な目的は、モバイルアプリ(iPhone、Android、Symbianなど)による使用です。私は(他の実装を研究することにより)WebベースのAPIの認証と承認のさまざまなメカニズムを調べてきました。基本的な概念のほとんどに頭を抱えていますが、まだいくつかの領域でガイダンスを探しています。私がやりたい最後のことは、ホイールを再発明することですが、自分の基準に合う標準的な解決策を見つけることができません(ただし、自分の基準を誤解しているので、遠慮なく批評してください)。さらに、私はそれを消費するすべてのプラットフォーム/アプリケーションでAPIが同じであることを望みます。 oAuth それが提供される最初のソリューションである可能性が高いことを知っているので、私は先に進んでoAuthへの反対を捨てます。モバイルアプリケーション(または、より具体的には非Webアプリケーション)の場合、認証のためにアプリケーションを(Webブラウザに移動するために)残すのは間違っているように見えます。さらに、ブラウザーがコールバックをアプリケーション(特にクロスプラットフォーム)に返す方法はありません(私は承知しています)。私はそれを行ういくつかのアプリを知っていますが、それは単に間違っていると感じて、アプリケーションUXを中断させます。 必要条件 ユーザーはユーザー名/パスワードをアプリケーションに入力します。 すべてのAPI呼び出しは、呼び出し元のアプリケーションによって識別されます。 オーバーヘッドは最小限に抑えられ、認証の側面は開発者にとって直感的です。 このメカニズムは、エンドユーザー(ログイン資格情報が公開されない)と開発者(アプリケーション資格情報が公開されない)の両方に対して安全です。 可能であれば、httpsは必要ありません(決してハード要件ではありません)。 実装に関する私の現在の考え 外部の開発者がAPIアカウントをリクエストします。彼らはapikeyとapisecretを受け取ります。すべてのリクエストには、少なくとも3つのパラメータが必要です。 apikey-登録時に開発者に与えられる タイムスタンプ-特定のapikeyの各メッセージの一意の識別子としても機能します hash-タイムスタンプのハッシュ+ apisecret apikeyは、リクエストを発行するアプリケーションを識別するために必要です。タイムスタンプはoauth_nonceと同様に機能し、リプレイ攻撃を回避/軽減します。ハッシュは、リクエストが実際に特定のAPIキーの所有者から発行されたことを確認します。 認証済みのリクエスト(ユーザーに代わって実行されるリクエスト)の場合、私はまだ、access_tokenルートを使用するか、ユーザー名とパスワードのハッシュコンボを使用するかを決めていません。いずれにしても、ある時点でユーザー名とパスワードの組み合わせが必要になります。そのため、複数の情報(apikey、apisecret、timestamp)+パスワードのハッシュが使用されます。 この点についてフィードバックをいただければ幸いです。 ちなみに、私はパスワードをハッシュせずにシステムに保存しないので、最初にパスワードをハッシュする必要があります。 結論 ちなみに、これは、一般にAPIを構築/構造化する方法の要求ではなく、アプリケーション内からのみ認証と承認を処理する方法だけです。 ランダムな考え/ボーナスの質問 リクエストの一部としてAPIキーのみを必要とするAPIの場合、APIキーの所有者以外の誰かがAPIキーを(平文で送信されるため)表示し、過度のリクエストを行って使用制限を超えてしまうことを防ぐにはどうすればよいですか?多分私はこれを考えすぎているかもしれませんが、リクエストがapikey所有者に対して検証されたことを認証するための何かがあるべきではありませんか?私の場合、それはapisecretの目的でした。ハッシュ化されない限り、表示/送信されることはありません。 ハッシュといえば、md5対hmac-sha1はどうですか?すべての値が十分に長いデータ(つまりapisecret)でハッシュされる場合、それは本当に重要ですか? 私は以前、ユーザーごとのソルトをユーザーのパスワードハッシュに追加することを検討していました。それを行うとしたら、アプリケーションは、使用されるソルトを知らなくても、一致するハッシュを作成できるでしょうか?

8
2つのベクトルを連結する最良の方法は何ですか?
マルチトレッドを使用しており、結果をマージしたいと考えています。例えば: std::vector<int> A; std::vector<int> B; std::vector<int> AB; ABにAの内容とBの内容をこの順序で持たせたい。このようなことをする最も効率的な方法は何ですか?
189 c++  vector 

12
Pythonでリストを辞書に変換する
aエントリが辞書にマップされるPythonのリストがあるとします。各偶数要素は辞書のキーを表し、次の奇数要素は値です 例えば、 a = ['hello','world','1','2'] それを辞書に変換したいのですがb、 b['hello'] = 'world' b['1'] = '2' これを達成する構文的に最もクリーンな方法は何ですか?
189 python  list  dictionary 

16
配列からランダムな要素を選ぶ
配列があり、ランダムに1つの要素を選択したいとします。 これを行う最も簡単な方法は何でしょうか? 明白な方法はでしょうarray[random index]。しかし、おそらくルビーのようなものがありarray.sampleますか?または、拡張機能を使用してこのようなメソッドを作成できないのですか?
189 arrays  swift  random 

6
活動していない場所でのgetLayoutInflater()の呼び出し
インポートする必要があるもの、またはアクティビティ以外の場所でレイアウトインフレーターを呼び出すにはどうすればよいですか? public static void method(Context context){ //this doesn't work the getLayoutInflater method could not be found LayoutInflater inflater = getLayoutInflater(); // this also doesn't work LayoutInflater inflater = context.getLayoutInflater(); } getLayoutInflaterアクティビティでのみ呼び出すことができますが、それは制限ですか?カスタムダイアログを作成してそのビューをインフレートしたい場合、またはサービスから表示されるカスタムビューを含むトーストメッセージを表示したい場合、サービスのコンテキストのみがあり、アクティビティはありません。カスタムメッセージを表示します。 アクティビティクラスにないコードの場所にインフレーターが必要です。 これどうやってするの ?

13
Android Lollipop CardViewの波及効果
Android開発者ページで説明されているように、アクティビティXMLファイルでandroid:backgound属性を設定して、CardViewに触れたときにリップル効果を表示しようとしていますが、機能しません。アニメーションはまったくありませんが、onClickのメソッドが呼び出されます。ここで提案されているとおり、ripple.xmlファイルの作成も試みましたが、結果は同じです。 アクティビティのXMLファイルに表示されるCardView: <android.support.v7.widget.CardView xmlns:card_view="http://schemas.android.com/apk/res-auto" android:layout_width="155dp" android:layout_height="230dp" android:elevation="4dp" android:translationZ="5dp" android:clickable="true" android:focusable="true" android:focusableInTouchMode="true" android:onClick="showNotices" android:background="?android:attr/selectableItemBackground" android:id="@+id/notices_card" card_view:cardCornerRadius="2dp"> </android.support.v7.widget.CardView> 私はAndroid開発に比較的慣れていないため、いくつかの明らかな間違いを犯した可能性があります。 前もって感謝します。

6
jQueryを使用して入力無効化属性を切り替える
これが私のコードです: $("#product1 :checkbox").click(function(){ $(this) .closest('tr') // Find the parent row. .find(":input[type='text']") // Find text elements in that row. .attr('disabled',false).toggleClass('disabled') // Enable them. .end() // Go back to the row. .siblings() // Get its siblings .find(":input[type='text']") // Find text elements in those rows. .attr('disabled',true).removeClass('disabled'); // Disable them. }); 切り替える方法は.attr('disabled',false);? Googleで見つけられないようです。
189 jquery  toggle  attr 

12
socket.ioとnode.jsを使用して特定のクライアントにメッセージを送信する
私はsocket.ioとnode.jsを使用していますが、今のところかなり良いようですが、サーバーから特定のクライアントにメッセージを送信する方法がわかりません。 client.send(message, receiverSessionId) しかし.send()、.broadcast()メソッドもメソッドも私のニーズを満たしていないようです。 私が可能な解決策として見つけたのは、.broadcast()メソッドがメッセージを送信しないSessionIdの配列を2番目のパラメーターとして受け入れるため、その時点で接続されているすべてのSessionIdを含む配列をサーバーに渡すことができるということです。メッセージを送りたいのですが、もっと良い解決策があるはずだと思います。 何か案は?

12
(値から検索するのではなく)Pythonでディクショナリキーを変数として直接取得するにはどうすればよいですか?
この基本的な質問で申し訳ありませんが、これに対する私の検索は、キーのテキスト/名前が欲しいので使用したくない値に基づいて辞書のキーを取得する方法以外は何も表示しません。辞書に多くのエントリがある場合、値によって最終的に2つ以上のキーを返す可能性があります...私がやろうとしているのはこれです: mydictionary={'keyname':'somevalue'} for current in mydictionary: result = mydictionary.(some_function_to_get_key_name)[current] print result "keyname" これは、これらをドキュメントに印刷していて、これを行う際にキー名と値を使用したいためです。 以下のメソッドを見ましたが、これはキーの値を返すだけのようです get(key[, default])
189 python  dictionary  key 

2
ファイルダイアログを開き、WPFコントロールとC#を使用してファイルを選択します
私がしているTextBoxという名前textbox1とButton命名しますbutton1。をクリックするbutton1と、ファイルを参照して画像ファイル(jpg、png、bmpなど)のみを検索します。そして、画像ファイルを選択して、ファイルダイアログで[OK]をクリックすると、次のtextbox1.textようにファイルディレクトリが書き込まれます。 textbox1.Text = "C:\myfolder\myimage.jpg"

4
gitリポジトリを特定のコミットに切り替える方法
私のgitリポジトリでは、以下のようにgitログで5つのコミットを行いました。 commit 4f8b120cdafecc5144d7cdae472c36ec80315fdc Author: Michael Date: Fri Feb 4 15:26:38 2011 -0800 commit b688d46f55db1bc304f7f689a065331fc1715079 Author: Michael Date: Mon Jan 31 10:37:42 2011 -0800 commit b364f9dcec3b0d52666c4f03eb5f6efb7e1e7bda Author: Michael Date: Wed Jan 26 13:33:17 2011 -0800 commit 4771e26619b9acba3f059b491c6c6d70115e696c Author: Michael Date: Wed Jan 26 11:16:51 2011 -0800 commit 6e559cb951b9bfa14243b925c1972a1bd2586d59 Author: Michael Date: …
189 git 


21
実行時にjQueryを使用してCSSルール/クラスを作成する
通常、次のルールを持つCSSファイルがあります。 #my-window { position: fixed; z-index: 102; display:none; top:50%; left:50%; } 実行時のアクション中にCSS情報を本文などに追加することで、このような静的CSSファイルの作成を回避するにはどうすればよいですか?(jQueryのみを使用) 一度定義したいのですが、jQueryを使用して、後で何度も使用します。そのため、毎回特定のDOM要素に追加したくありません。 シンプルな機能(css("attr1", "value");)は知っていますが、完全に再利用可能なCSSルールを作成するにはどうすればよいですか?
189 jquery  css 


7
ジャクソンがフィールドのみを使用するように指定する方法-できればグローバルに
デフォルトのジャクソン動作は、jsonへのシリアル化と逆シリアル化にプロパティ(ゲッターとセッター)とフィールドの両方を使用するようです。 フィールドをシリアル化構成の標準的なソースとして使用したいので、Jacksonにプロパティをまったく表示させたくありません。 これは、アノテーションを使用して個々のクラスごとに行うことができます。 @JsonAutoDetect(fieldVisibility = Visibility.ANY, getterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE) しかし、私はこれをすべてのクラスに置く必要はありません... これをグローバルに構成することは可能ですか?オブジェクトマッパーにいくつか追加したいですか?
189 java  json  jackson 

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