ソフトウェア工学

システム開発ライフサイクル内で働く専門家、学者、学生向けのQ&A

20
IDEがコードで実現できる最も印象的なトリックは何ですか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は、事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は、議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、おそらく再開できると思われる場合は、ヘルプセンターをご覧ください。 7年前に閉鎖されました。 ロックされています。この質問とその回答はロックされています。なぜなら、質問はトピックから外れていますが、歴史的に重要だからです。現在、新しい回答やインタラクションを受け入れていません。 最新のIDEには、コードの記述、リファクタリング、検索を支援するための多くのトリックがあります。これらはすべて非常に役立ちますが、実際に「魔法」のように見えることはめったになく、「わあ!どうやってそれを見つけたの?」 初めて見たときに印象に残った印象的なIDEコードオートメーション(またはその他の)機能に名前を付けていただけますか?
18 ide  automation 

5
クライアントのWebサイトでリッチテキスト編集が必要な場合はどうしますか?
すでにご存知のとおり、XSS攻撃は危険であり、非常に簡単に実行できます。ASP.NET MVCのように、さまざまなフレームワークによりHTMLを簡単にエンコードできます。 <%= Html.Encode("string"); %> しかし、クライアントがMicrosoft Word文書からコンテンツを直接アップロードできることを要求するとどうなりますか? シナリオは次のとおりです。人々はMicrosoft WordからWYSIWYGエディター(この場合はtinyMCE)にコンテンツをコピーして貼り付け、その情報をWebページに投稿できます。 Webサイトは公開されていますが、その組織のメンバーのみがWebページに情報を投稿するアクセス権を持ちます。 これらの要件を安全に処理するにはどうすればよいですか?現在、クライアントが投稿した内容のチェックは行われていません(「信頼できる」ユーザーのみが投稿できるため)が、これには特に満足しておらず、アカウントがハッキングされた場合にさらにロックダウンしたいと思います。 これらの要件を満たすことがわかっている唯一の概念的な方法は、HTMLタグをホワイトリストに登録し、それらを通過させることです。別の方法はありますか?そうでない場合、ユーザーが任意の形式でデータベースに入力を保存できるようにする安全な方法は何ですか? 関連質問 クロスサイトスクリプティング(XSS)の防止
18 c#  .net  asp.net-mvc 

20
VB.Net対C#の議論[終了]
現在のところ、この質問はQ&A形式には適していません。回答は、事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は、議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、おそらく再開できると思われる場合は、ヘルプセンターをご覧ください。 8年前に閉鎖されました。 ロックされています。この質問とその回答はロックされています。なぜなら、質問はトピックから外れていますが、歴史的に重要だからです。現在、新しい回答やインタラクションを受け入れていません。 私は、プロジェクトの開始時に「VB.NetまたはC#を使用すべきか」という質問が提起された職場にいました。 確かに、特に言語の収束への傾向を考えると、.Netの初期の頃よりも、今すぐその決定を下す必要があるのはおそらく一般的ではありませんが、それでも激しい議論になる可能性があります。 VB.NetとC#の間では、どの言語を好むのですか?
18 c#  .net  vb.net 

4
型に対するパターンマッチングは慣用的ですか、またはデザインが貧弱ですか?
F#コードは多くの場合、型に対するパターンマッチのようです。もちろん match opt with | Some val -> Something(val) | None -> Different() よくあるようです。 しかし、OOPの観点から見ると、それはランタイムタイプチェックに基づく制御フローに非常によく似ており、通常は眉をひそめます。わかりやすく言うと、OOPではおそらくオーバーロードを使用することをお勧めします。 type T = abstract member Route : unit -> unit type Foo() = interface T with member this.Route() = printfn "Go left" type Bar() = interface T with member this.Route() = printfn "Go right" これは確かにより多くのコードです。OTOH、私のOOP-yの心には構造的な利点があるようです: …

3
実際にソフトウェアエンジニアリングのモジュールとは何ですか?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 5年前に閉鎖されました。 Stephen Schachによると、「古典的およびオブジェクト指向のソフトウェアエンジニアリング」、第6章: モジュールは、プロシージャ、関数、またはメソッドが呼び出される方法で呼び出すことができる単一のコードブロックで構成されます これは非常に曖昧で広いようです。だから誰もそれを明確に説明し、要件をモジュールに分割する方法の実際の例を示すことができますか?ありがとう。
18 software  modules 

1
PHPは内部的にどのように文字列を表しますか?
UTF8? UTF16? PHPの文字列も使用されているエンコーディングを追跡しますか? たとえば、このスクリプトを見てみましょう。私が実行すると言う: $original = "शक्नोम्यत्तुम्"; 実際に何が起こりますか? 明らかに、$original7文字しか含まれないと思います。それらのグリフはそれぞれ、数バイトで表される必要があります。 それから私は: $converted = mb_convert_encoding ($original , "UTF-8"); どうなり$convertedますか?とどう$converted違うの$original? それはまったく同じバイトシーケンス$originalですが、異なるエンコーディングを使用していますか?
18 php  strings 

6
.NETフレームワークでC ++を使用することは可能ですか?
C#とC ++の両方で、GUIプログラミングに関する多くのコメントを読みました。そして、Microsoftの.NETフレームワークがGUIプログラミングに強力であることに気付きました。C ++と.NETフレームワークを使用することは可能ですか? 私が読んだように、C ++は強力な言語であり、WindowsでのGUIプログラミングには.NETフレームワークが好まれるので、素晴らしい組み合わせになると思います。GUIをC#で作成し、機能をC ++で作成することはできますか?
18 c++  .net 

4
C ++でのレクサーの作成
C ++でレクサーを作成する方法に関する優れたリソース(書籍、チュートリアル、ドキュメント)は何ですか?優れたテクニックとプラクティスは何ですか? 私はインターネットを見ましたが、みんなlexのようなlexerジェネレーターを使うように言っています。私はそれをしたくありません。手で字句解析器を書きたいです。
18 c++  compiler  lexer 

1
MicrosoftのライブラリがNewtonsoft.Jsonに依存しているのはなぜですか?
これはおそらく、MicrosoftがASP.NET Web APIライブラリを作成したときから始まったものであり、少なくとも私が間違えなければ覚えているときです。とにかく、それ以来、そのHTTPパッケージは、JSONとのデータの(デ)シリアル化のためにNewtonsoft.Jsonライブラリに依存して開始されました。 マイクロソフトと同じくらい大きな会社がオープンソースライブラリへの依存を追加するのはなぜですか?私が知っている限り、それが依存関係として使用される唯一のMicrosoft以外のライブラリだったので、彼らが当時。 おまけの質問として、ジェームズ・ニュートン・キングはマイクロソフトから何らかの財政的支援を受けていますか?
18 .net  asp.net  json  web-api 

4
データクラスがコード臭と見なされるのはなぜですか?
この記事では、データクラスは「コード臭」であると主張しています。理由: 新しく作成されたクラスに含まれるパブリックフィールドが少数(そしておそらく少数のゲッター/セッターさえ)である場合、これは通常のことです。しかし、オブジェクトの真の力は、データに動作タイプまたは操作を含めることができることです。 オブジェクトにデータのみが含まれているのはなぜ間違っているのですか?クラスの中心的な責任がデータを表すことである場合、データを操作するメソッドを追加して単一責任原則を破らないでしょうか?

2
Windows上のBashとプライベートSSHキーを共有する
GitがインストールされたWindows 10があります。このGitは、私のC:/Users/MyNameディレクトリをHOMEディレクトリとして使用し、/.ssh/内部のディレクトリを使用して、適切に秘密のSSHキーを取得します。 「Windows上のUbuntuでのBash」を有効にしてセットアップし(口一杯です!)、そこにGitもインストールしました。両方のGitsに同じキーのセットを使用して、このマシンで作業する環境が問題にならないようにしたいと思います。コミットは常に私から行われます。 bashのHOMEディレクトリーが異なる(/home/MyName)ため、現在遠くにあるキーが表示されないという問題があります../../mnt/c/Users/MyName/.ssh。HOME環境変数を次のように変更することで、勝者になると思いました。 export HOME=/c/mnt/Users/MyName これにより、HOMEディレクトリが正常に変更されましたが、bash gitはまだ./.sshディレクトリ内に含まれるキーを認識しません。 これがA)かどうかはわかりませんが、これはbash gitが異なるファイル形式のキーを想定しているためですか?(現在のものはid_rsaand id_rsa.pub)B)bash gitは変更されたHOME変数を無視していますか?または多分両方。 また、C)このようにHOME変数を任意に変更することが、それを参照する可能性のある他のプログラムについて一般的に良いアイデアであるかどうかもわかりません

5
いつ継承を使用するか、「ブール値フィールドのみ」を使用するか?
Railsアプリケーションでは、通知を追加しています。これらの一部は次のとおりblockingです。リソースに関する情報が欠落しているため、追加されたリソースの進行を停止します。 他の通知は単純な通知であり、情報のみを提供します。 今日、私たちのチームの別のプログラマーと話し合いました。次のような継承構造を作成しました。 しかし、彼は、blocking各通知にブール値を返すメソッドとして追加し、通知親クラス内でブロックしているサブクラスのリストを指定したいだけです。 これらのアプローチの違いはそれほど大きくありません。私のアプローチでは、このリストを指定する必要はなく、ルートクラスをよりクリーンに保ちます。一方、Notification::Blocking現在発生している特別なロジックもそれほど大きくありません。 この問題には、どのような抽象化がより適していますか?

2
UMLの代わりに機能プログラマは何を使用していますか?
私はCSの学生です。現在、客観的な分析と設計を教えている講義に参加しています。ほとんどの場合、ユースケースの記述、クライアント用のアプリケーションを作成するときに直面する問題の分析、拡張可能で開発者にとって明確であり、クライアントがいくつかについて議論するときに問題が発生しないようにプロジェクトを設計する方法特徴。「客観的」なので、OOPの観点(クラスなど)から学習しています。 現在、ヘルパーツールとしてUMLを使用しています。私はOOPを十分に理解していると思いますが、機能的なパラダイムも学び、いくつかの小規模なプロジェクトでうまく使用しました。 私たちの先生は、「機能的なパラダイムについてはどうですか?」質問では、彼は関数型言語でより大きなプロジェクトをプログラミングしておらず、関数型プログラムがどのツールを使用しているのかを知りません。 それで、彼らは何を使うのでしょうか?このための方法論はありますか?それとも、そのようなことの必要はありませんか?

2
Java AOTコンパイラはどのように機能しますか?
Javaアプリをネイティブ実行可能ファイルに変換することを主張するツール(Excelsior JETなど)がいくつかあります(*.exe)。ただし、これらのツールは実際にはシェルまたはコマンドラインから起動/実行するネイティブラッパーを作成しているにすぎないことを理解していますjava。 その理解が間違っている場合、それがどうなるかわかりません。実行中のJVM(javaプロセス)が本質的に高性能インタープリターであり、Javaクラスファイルからバイトコードをオンザフライでロードする場合、Javaアプリ(JVMへの入力として機能するバイトコードファイルのコレクション)がどのようになるかわかりません本当に実行可能ファイルに変換されます。 これは、JVMプロセスがすでにバイトコードファイルのセットを入力として受け取るネイティブ実行可能ファイルであるためです。これらのバイトコードファイルとJVMプロセスを単一の統合されたネイティブ実行可能ファイルにマージすることは、JVMを完全に書き直し、JVM仕様から脱線しなければ不可能だと思われます。 だから私は尋ねる:これらのツールは実際に Javaクラスファイルをネイティブの実行可能ファイルにどのように「変換」するのか?
18 java  compiler  aot 

1
角度を使用してファイルを送信するのがなぜ難しいのですか?[閉まっている]
閉じた。この質問には詳細または明確さが必要です。現在、回答を受け付けていません。 この質問を改善したいですか?詳細を追加し、この投稿を編集して問題を明確にします。 4年前に閉鎖されました。 ファイル(非常に大きなファイル)をサーバーに送信する必要があります。私は自分が持っているオプションとその方法を勉強しています。角度+エクスプレス+ nodejsを使用しています。 単純なフォームを使用すると、multerを使用してサーバー上のファイルを問題なくキャッチできます。とても簡単です。htmlは単なるフォームで、ターゲットなどを指定するだけですべてが機能します。nodejsコードも非常に単純で単純です。 角度を使用しようとするとすぐに、すべてが非常に複雑になります。つまり、ディレクティブを使用する必要がありますが、それでもサーバーに問題があります。私が言ったように、データを「multipart / form-data」にする必要があるmulterを使用しており、サーバーから「Error:Multipart:Boundary not found」というメッセージを受け取ります。 Angularでファイルをロードするための多くのモジュールがあります。これは、それが複数の解決策で再発する問題であることを示しています。今、私はコードを投稿したくありません。なぜなら、そのためにStack Overflowで尋ねたからです。私の質問はもっと微妙です: 単純なフォームで何ができるのか、角度が非常に複雑になるのはなぜですか?悪い意味ではありません。「理解したい」という意味です。

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