ソフトウェア工学

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

1
Haskellのエラーモナドの反対のモナドは何ですか
エラーモナドでは、最初の失敗は実行を停止し、後続のバインドを介して障害を運ぶだけです。 どのモナドが成功を止めるのは、成功のみを先送りし、基本的には障害を飲み込み、前の失敗を無視して次のバインドを試みますか? エラーモナドは、成功のようなこの失敗の処理に使用できますが、デフォルトのライブラリにこの特定の目的のためのモナドがあるかどうか、私の心のOrモナドのように、「これか、それか」に興味があります。 編集: 動作は次のようになります: Left "fail" >>= (\x -> Right "win") >>= (\x -> Left "ahh neener") >>= (\x -> Right (x + " yay")) エラーモナドでは、最初の左の値がそのまま繰り越されるため、その結果はになりLeft "fail"ます。私が望む動作は、上記が返すところですRight "win yay"私が自分で書くことができる実装するのは簡単なモナドですが、そのようなことをするために存在するものを考えました(Eitherを使用していないかもしれませんが、そのような動作について最初に頭に浮かぶのはそれです)。
9 haskell  monad 

2
GITをリポジトリとして使用する場合のコードレビュープロセス?
GITを使用する場合のコードレビューの最適なプロセスは何ですか?外部GITプロバイダー(Unfuddle)があり、リソース使用量に上限があります。そのため、すべての開発者に専用のリモートリポジトリを用意することはできません。 現在のプロセス: master誰もがコミットするブランチを持つGITサーバーがあります 開発者はローカルmasterミラーまたはローカル機能ブランチから作業します 開発者がサーバーのmasterブランチにプッシュ 開発者は最後のコミット時にコードレビューをリクエストする 問題: コードレビューのすべてのバグは、それがキャッチされるまでにすでにマスターにあります。 さらに悪いことに、通常、誰かが何が起こったのかを理解しようとして数時間火傷しました... ですので、 コードを実行するには、「マスター」に配信する前に確認してください。 グローバルチームと連携するプロセスを用意する(肩のレビューではありません!) 個人の開発者が自分のデスク/マシンに電源を入れて他の誰かがリモートでアクセスできるようにする必要がないもの(人間の依存関係を削除し、開発者が異なるタイムゾーンで家に帰る) TortoiseGITを使用して、変更されたファイルのリスト、ファイルの差分などを視覚的に表現します。GUIが十分でない場合、GITシェルにドロップする人もいますが、理想的には、ワークフローをシンプルでGUIベースにしたい(私は私のツールではなく、あらゆる負担を取り除くツールを求めています)。

3
オープンソースプロジェクトの共同メンテナを見つける[終了]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、専門知識によって裏付けられると期待していますが、この質問は、討論、議論、投票、または拡張ディスカッションを求める可能性があります。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 いくつかのオープンソースプロジェクトがあり、いくつかの重要な使用法があり、メンテナンスとサポートのリクエストに関してボトルネックにならないように、またプロジェクトがどのように進化するかについて他の見方を得るために、共同メンテナを見つけたいと思っています。 共同メンテナはどこに探すべきですか、共同メンテナは何を探す必要がありますか?コードとメンテナの責任をスピードアップするにはどうすればよいですか?

3
アプリケーションにはどのような証明書が必要ですか?
Visual Studioを使用して作成した無料のC#ソフトウェアをリリースしています。将来的には、これらのソフトウェアの一部が有料になる可能性があります。彼らのためにどんな種類のライセンスも購入する必要があるのか​​と思っていましたか? ソフトウェアを販売しようとしているが、アプリケーションについてはどうですか? ウイルス対策/ブラウザがアプリケーションを信頼できないものとしてフラグ付けしたくないのです。任意の提案をいただければ幸いです。

2
キャッシングファクトリーデザイン
のclass XFactoryオブジェクトを作成するファクトリがありますclass X。のインスタンスXは非常に大きいため、ファクトリの主な目的は、クライアントコードに対してできるだけ透過的にインスタンスをキャッシュすることです。のオブジェクトclass Xは不変であるため、次のコードは妥当なようです。 # module xfactory.py import x class XFactory: _registry = {} def get_x(self, arg1, arg2, use_cache = True): if use_cache: hash_id = hash((arg1, arg2)) if hash_id in _registry: return _registry[hash_id] obj = x.X(arg1, arg2) _registry[hash_id] = obj return obj # module x.py class X: # ... それは良いパターンですか?(実際のファクトリーパターンではないことはわかっています。)変更すべき点はありますか? …

3
アプリケーション開発チームwikiの組織?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 5年前休業。 開発者向けのWikiを設定するためのベストプラクティス構造をお探しですか? ドキュメンテーション、コミュニケーション、知識共有の実績がまだないチームを管理します。チームがこの領域を簡単に始められるように、フレームワークを設定したいのですが。
9 wiki 

3
2つのリレーショナルテーブルに個別のマッピングテーブルを作成する場合の利点
さまざまなオープンソースCMSで、2つのリレーショナルテーブルをマッピングするための個別のテーブルがあることに気付きました。カテゴリや製品と同様に、別のproduct_category_mapping表があります。このテーブルには、主キーと、カテゴリおよび製品テーブルの2つの外部キーがあります。 私の質問は、どちらかのテーブルで外部キーを定義することによってテーブルを直接リンクするだけでなく、このデータベース設計の利点は何ですか?それは単に便宜の問題ですか?


4
ポートはどのように「リッスン」、プル、またはプッシュしますか?
たとえば80などのポートからリッスンするコードを作成すると、内部では何が起こりますか?OSがリッスンする方法はプルですか、プッシュですか?言い換えると、OSは、たとえばxミリ秒ごとにそのポートをチェックしますか? わかりません。考えれば考えるほど、引っ張る以外にあり得ない気がします。 つまり、OSがコールバック関数を設定したとしても、そのコールバック関数を呼び出すための新しい情報が到着したことを理解する必要があります。その何かはまだ新しいデータの到着を理解するためにプルを使用する必要があります。 ポートはどのように待機しますか?

6
動的スコープが役立つのはいつですか?
動的スコープを使用すると、呼び出し先は呼び出し元の変数にアクセスできます。疑似Cコード: void foo() { print(x); } void bar() { int x = 42; foo(); } 動的スコープをサポートする言語でプログラミングしたことがないので、動的スコープの実際のユースケースはどうなるのだろうと思います。

7
リファクタリング作業を含むすべての開発に追跡の問題を伴うべきですか?
議論:リファクタリング作業を含むすべての開発には追跡の問題を伴うべきですか?(この場合、Jira) 共通点:私たちの主な目標は品質です。機能する製品、すべてのリリースは、何よりも重要です。私たちのコードベースは古く、自動テストが欠けています。私たちはこれに取り組んでいますが、それは長期的なプロジェクトであり、暫定的なプロセスが必要です。 ポジション1:リファクタリング作業はJiraで追跡する必要があります。変更と明らかに関係がない場合は、別の問題を提起する必要があります。そうしないと、レビューとテストが省略され、私たちの主な目標にリスクが生じます。PCIコンプライアンス(ビジネスの近い将来の目標)ではこのレベルの追跡が必要であるという議論が行われました。私はそれがどんなレベルの確実性でも真実か偽りであると言う立場にはありません。 ポジション2:コードの品質は非常に重要です。それが良くなればなるほど(ある程度、私たちがどこにも近くないほど)、機能する製品をリリースし続ける可能性が高くなります。どんなに小さくても、リファクタリングの方法で障害となるものはすべて、私たちの主な目標に対するリスクです。多くの場合、IDEが自動的に機能します。そのため、とにかく問題が発生することはほとんどありません。 次のケースが行われました: 開発者がカードに「リファクタリング」と関連するリビジョン番号を書き込んだ場合、それは両方の立場を満たしますか?正直なところ、これは皆を等しく不幸にしてしまうような気がします。それでも、リファクタリングの実行にはある程度の抵抗はありますが、十分な追跡機能はありません。 イテレーションのリファクタリング作業を網羅する、すべてを網羅するJiraの問題についてはどうですか?はい、これにより開発者の抵抗層が削除されますが、Jiraの問題があることによる追跡の利点も削除されると思います。QAは何をテストすべきかを明確に理解する方法を教えてください。これは政治的な解決策のようであり、軽量だが最終的には無意味なプロセスを追加することで誰もが落ち着くようにしています。 議論の双方が最終的に同じことを望んでいることを考えると、誰もが本当に幸せになる解決策があるはずだと私には思えます。私たちはこの質問をする最初の人ではあり得なかったので、同様の状況で他の人はどのような経験をしましたか?

3
フローチャートを使用したRESTインターフェースの文書化
RESTスタイルのWebインターフェースのフローチャート表現の作成に関する提案はありますか?共同開発者に完全なドキュメントを提供するために、製品リソースを変更および生成するためのインターフェースをモデリングするために、いじくり回してきました。 この特定のシステムは、ユーザー認証/リソース数によって異なる動作を開始するため、変更を加える前に、いくつかの明確化を探しています。 複雑さ:全体の構造を単純化してこれを読みやすくするにはどうすればよいですか? 表示記号:これはページを表すのに適していますか? 手動操作記号:これは、ボタンクリックなどのユーザーアクションを表すのに適していますか? 他の提案は大歓迎です。 再投稿をお詫び申し上げます。メインのstackexchangeサイトは、この質問はプログラマーにより適切に提示されることを示唆しています。


4
良い関数型/おっと/メタプログラミング言語を探しています:[終了]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ソフトウェアエンジニアリングスタック交換のトピックになるようにします。 6年前休業。 なりたい ネイティブコードの生成// GHCなどでコンパイルできる クロスプラットフォーム(win / linux) 機能的で少しオブジェクト指向 ラムダ、パターンマッチング、タプル、その他の機能的なもの 優れたメタプログラミングサポート インデントと最小ボーダー 静的型付け また、私はMixinのサポートを求めています:) 一部のフレームワークに基づいてWebサイトを構築する可能性もプラスです。 そう、はい、パフォーマンスと安定性が重要です。 私はHaskellを起動しましたが、OCamlがあるため、それについてはまだわかりません。そして、F#の経験があります。しかし、私が知る限り、OCalmは少しOOPであり、時にはそれよりも速い(それについてはよくわかりません)ので、試したことはありません。アーランは、私がについて何も知らない、もありアーランを。そして多分私はもっと何かが足りない..?Python、私はここではpythonについて何も知りません、それは機能的であり、それはoopであり、ミックスインをサポートし、人気があり高速ですが、Pythonはすべての機能的なマジックに対応できるとは本当に思っていません。 このスレッド/トピックは、何も話さない、または言語戦争のようなものであることを知っていますが、私は真剣に、そしてあなたのビジョンを本当に聞きたいと思っています。

5
CRM:社内vs OTS
何年も前に、私が若くて世間知らずで、言語が付属していない限り、すべてをゼロから作成したとき、私は2つの場所に2人の営業担当者がいて、リードと連絡先を共有しようとしていました。私はピカピカの新しいハンマーであるPHPを発見したばかりなので、もちろん、今日MySQLでサポートされている原始的なCRMシステムと表現できるものを作成しました。彼らはそれを愛していました-この時点で歴史のほとんどで、すべての競争相手はローカルのAccessデータベースを使用していました。 私はそれ以来、あなたが車輪を再発明しようとしない方が人生がどれほど楽になるかを学びました。私は再び、オンラインCRMシステムを必要とする成長している会社に直面しています。もちろんCRMシステムの機能については大まかに認識していますが、MS DynamicsやSAPのような製品が提供する製品についてはあまり詳しくありません。 私はこれらの企業が何千万ドルとユーロの開発に費やしているものを正確に把握しようとするマーケティングの綿毛を整理するのに苦労しています。それらのほとんどは、OutlookとSharepointの統合や、クリックアンドドラッグのインターフェイスを介してワークフローを作成する機能など、私があまり気にしていないかなり簡単なエンタープライズアプリケーションのようです。 だから私の質問は、カスタムCRMシステムをゼロから開発しようとするのはおかしいのですか?
9 estimation  crm 

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