プログラミング

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


5
NetflixまたはTwitterスタイルのWebサービスはRESTまたはSOAPを使用する必要がありますか?[閉まっている]
現在のところ、この質問は、Q&A形式には適していません。私たちは回答が事実、参考文献、専門知識によってサポートされることを期待しますが、この質問はおそらく議論、議論、投票、または拡張された議論を誘います。この質問が改善され、場合によっては再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 TwitterとNetflixの2つのRESTサービスを実装しました。どちらの場合も、SOAPではなくRESTとしてこれらのサービスを公開するという決定に関係する使用法とロジックを見つけるのに苦労しました。誰かが私が欠けているものを手がかりにして、RESTがこれらのようなサービスのサービス実装として使用された理由を説明できることを願っています。 RESTサービスの実装は、SOAPサービスの実装よりも無限に時間がかかります。すべての最新の言語/フレームワーク/プラットフォームがWSDLを読み取り、プロキシクラスとクライアントを出力するためのツールが存在します。RESTサービスの実装は手動で行われます-これを取得するには-ドキュメントを読んでください。さらに、これらの2つのサービスを実装する際、実際のスキーマや参照ドキュメントがないため、パイプを介して何が返されるかを「推測」する必要があります。 とにかくXMLを返すRESTサービスを作成する理由は何ですか。唯一の違いは、RESTでは各要素/属性が表すタイプがわからないということです。自分で実装して、いつの日か常にintだと思っていたフィールドで文字列が検出されないことを願っています。SOAPはWSDLを使用してデータ構造を定義するため、これは非常に簡単です。 SOAPにはSOAPエンベロープの「オーバーヘッド」があるという不満を聞いたことがあります。この時代では、ほんの数バイトを心配する必要があるのでしょうか。 RESTを使用すると、URLをブラウザーにポップするだけでデータを表示できるという議論を聞いたことがあります。もちろん、RESTサービスが単純な認証を使用しているか、認証を使用していない場合。たとえば、NetflixサービスはOAuthを使用しており、リクエストを送信する前に、署名とエンコードを行う必要があります。 各リソースに「読み取り可能な」URLが必要なのはなぜですか?ツールを使用してサービスを実装している場合、実際のURLに本当に関心があるのでしょうか。
145 rest  soap 


5
PHPセッションの修正/ハイジャック
PHP セッションの修正とハイジャック、およびこれらの問題を防ぐ方法について、もっと理解しようとしています。Chris ShiflettのWebサイトで次の2つの記事を読んでいます。 セッション固定 セッションハイジャック しかし、私が物事を正しく理解しているかどうかはわかりません。 セッションの固定を防ぐには、session_regenerate_id(true)を呼び出すだけで十分です。誰かが正常にログインした後?私はそれを正しく理解していると思います。 また、セッションの乗っ取りを防ぐために$ _GETを介してURLで渡されるトークンを使用することについても話します。これはどのように正確に行われますか?誰かがログインしてトークンを生成してセッション変数に格納すると、各ページでそのセッション変数を$ _GET変数の値と比較すると思いますか? このトークンを変更する必要があるのは、セッションごと、またはページの読み込みごとに1回だけですか? また、URLで値を渡さなくてもハイジャックを防止できる優れた方法ですか?これはかなり簡単になります。

9
ASP.NET_SessionId + OWIN Cookieがブラウザーに送信されない
Owin Cookie認証の使用に奇妙な問題があります。 IISサーバーの認証を開始すると、IE / FirefoxおよびChromeで完全に正常に機能します。 認証を使用していくつかのテストを開始し、さまざまなプラットフォームでログインしましたが、奇妙なエラーが発生しました。散発的に、Owinフレームワーク/ IISはブラウザにCookieを送信しません。ユーザー名とパスワードを入力しますが、コードは正しく実行されますが、Cookieがブラウザーにまったく配信されません。サーバーを再起動した場合、サーバーが機能し始めます。ある時点でログインを試行すると、Cookieの配信が停止します。コードをステップオーバーしても何もせず、エラーもスローしません。 app.UseCookieAuthentication(new CookieAuthenticationOptions { AuthenticationMode = AuthenticationMode.Active, CookieHttpOnly = true, AuthenticationType = "ABC", LoginPath = new PathString("/Account/Login"), CookiePath = "/", CookieName = "ABC", Provider = new CookieAuthenticationProvider { OnApplyRedirect = ctx => { if (!IsAjaxRequest(ctx.Request)) { ctx.Response.Redirect(ctx.RedirectUri); } } } }); そして、私のログイン手順の中に次のコードがあります: IAuthenticationManager authenticationManager …

2
サーバーからデータを取得する推奨方法
を使用せずにAngularJSでサーバーデータソースに接続するための推奨される方法は何ですか$resource。 には次の$resourceような多くの制限があります。 適切な先物を使用していない 十分な柔軟性がない
145 angularjs 

5
非同期の静的メソッドは、静的クラス変数を変更しない場合、スレッドセーフですか?
私はあなたがされた静的メソッドがあればと思いましていない同期が、ないではない任意の静的変数を変更し、それは、スレッドセーフでありますか?メソッドがその中にローカル変数を作成する場合はどうでしょうか?たとえば、次のコードはスレッドセーフですか? public static String[] makeStringArray( String a, String b ){ return new String[]{ a, b }; } したがって、2つのスレッドが継続的かつ同時にメソッドを呼び出す場合、1つは犬(「グレートデーン」と「ブルドッグ」など)で、もう1つは猫(「ペルシャ」と「シャム」など)で、猫と犬を取得します同じ配列で?または、猫と犬がメソッドの同じ呼び出し内に同時に存在することはありませんか?

6
複数のID値を受け入れるT-SQLストアドプロシージャ
IDのリストをパラメーターとしてストアード・プロシージャーに渡すことを処理する適切な方法はありますか? たとえば、ストアドプロシージャによって部門1、2、5、7、20が返されるようにしたいとします。過去に、以下のコードのように、コンマで区切られたIDのリストを渡しましたが、それを行うのは本当に汚い感じがします。 SQL Server 2005は私の唯一の適用可能な制限だと思います。 create procedure getDepartments @DepartmentIds varchar(max) as declare @Sql varchar(max) select @Sql = 'select [Name] from Department where DepartmentId in (' + @DepartmentIds + ')' exec(@Sql)

3
Backbone.syncをオーバーライドする方法は?
私はBackbone.jsを試していますが、試みていることの1つはリモートAPIを呼び出すことです。そのため、ドキュメントを理解しているので、Backbone.syncをオーバーライドできる必要があります。 ドキュメント自体にその方法の例はありません。また、Backboneのgoogleグループはないようです...誰かがこれを行う例を指摘できますか?

4
「java」コマンドはJavaプログラムをコンパイルしますか?
インターネット上のほとんどのウェブサイトは言う: " javacコマンドを使用して.javaファイルをコンパイルします。次に、javaコマンドを使用して実行します" しかし、今日、Javaプログラムを実行せずに実行しようとしたjavacところ、奇妙な結果が得られました。 次のファイルの内容はhello.java次のとおりです。 public class Myclass { public static void main(String[] args){ System.out.println("hello world"); } } それから私は走った: $ javac hello.java これは私にこのエラーを与えます: hello.java:1: error: class Myclass is public, should be declared in a file named Myclass.java public class Myclass { ^ 1 error しかし、javacコマンドなしで実行すると、エラーなしで実行されました。 $ java hello.java hello world …
145 java  javac 

6
Rubyの「rvm」に相当するPythonはありますか?
Q: PythonでRubyバージョンマネージャ「rvm」と機能的に同等なものはありますか? (RVMは、あなたが簡単に切り替えることができます完全に Rubyインタプリタの異なるバージョン間や宝石(モジュールの異なるセット)。すべてのものについて、ダウンロード・ビルド・インストール・スイッチインタプリタの(-s)と宝石がRVMを呼び出すことによっての世話をします。それはありますすべて通常のユーザーアカウントで実行されます。)
145 python  egg  equivalent  rvm 

22
ファイルの先頭からを削除するにはどうすればよいですか?
geditを使用してそれを開くと問題なく見えるCSSファイルがありますが、それがPHPによって読み込まれると(すべてのCSSファイルを1つにマージするため)、このCSSには次の文字が付加されます::»¿ PHPはすべての空白を削除するため、コードの中央にあるランダムなが全体を混乱させます。既に述べたように、geditでファイルを開いたときにこれらの文字を実際に表示できないため、簡単に削除できません。 私は問題をググりました、そしてファイルエンコーディングに明らかに何か問題があります。それは私がftpとrsyncを介してさまざまなLinux / Windowsサーバーにファイルをシフトし、さまざまなテキストエディターを使用しているので理にかなっています。私は文字エンコーディングについてあまり知らないので、助けていただければ幸いです。 問題がなければ、ファイルはUTF-8形式で保存されており、geditではISO-8859-15形式で保存できません(ドキュメントには、指定された文字エンコードを使用してエンコードできない1つ以上の文字が含まれています)。WindowsとLinuxの行末で保存しようとしましたが、どちらも役に立ちませんでした。

3
Generic Repository with EF 4.1ポイントは何ですか
DbContext、DbSet、および関連するインターフェースをさらに掘り下げているので、これらの実装の周りに別の「汎用」リポジトリを実装する必要があるのはなぜでしょうか。 DbContextとIDbSetが必要なすべてを行い、DbContext内に「作業単位」を含めるように見えます。 ここに何か欠けているのですか、それとも人々が理由なく別の依存関係の層を追加するのを楽しんでいるように見えますか?

11
EclipseのRemoteSystemsTempFilesとは何ですか?
私が作成したことがないRemoteSystemTempFilesという名前のプロジェクトがあることに気付きました。グーグルの後、それは日食のプラグイン機能のようですが、それについて他の考えはありませんでした。 誰が私にもっと良いアイデアを与えてくれますか、このフォルダについて何をしたのか、そして少し説明してください?また、他のプロジェクトに害がなければ、
145 eclipse 

2
AngularJS $ resource RESTfulの例
$ resourceを使用してRESTful Webサービス(まだ作業中です)を呼び出したいのですが、AngularJSスクリプトが最初に正しいかどうかを確認したいと思います。 todo DTOには次の機能があります。 {id, order, content, done} :cmdこれapi/1/todo/resetで、データベースのtodoテーブルをクリアするために呼び出すことができます。 これが私の理解のコメント付きのコードです: function TodoService($resource) { var src = $resource('api/1/todo/:id:cmd', {id: "@id", cmd: "@cmd"}, //parameters default { ListTodos: { method: "GET", params: {} }, GetTodo: { method: "GET", params: { id: 0 } }, CreateTodo: { method: "POST", params: { content: "", …

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