タグ付けされた質問 「desktop-application」

13
候補者にリンクリストの実装を作成させるのは面接の習慣として悪いですか?[閉まっている]
このサイトを読んで、候補者がリンクリストを最初から実装しなければならないと言ったインタビューの質問と回答の多くの物語を見てきました。通常、これはFizzBu​​zzを書くようなロール候補者をプログラミングするための「ギミー」演習です。候補者がこれを行うことができない場合、彼らはプログラムすることができず、ほぼすぐに拒否されるべきであるという考えです。 ただし、次の理由から、これは悪い練習になると思わずにはいられません。 C#やPythonなどの最新の高レベル言語は、ネイティブでリストを広く使用しています。独自のリンクリストオブジェクトの作成は、通常とは異なる状況でのみ必要であり、それでもおそらく不適切です。 C ++のような低レベル言語には、イテレータ/リストコンテナとオブジェクトを備えた標準ライブラリがあります。 最初の2つのポイントに照らして、コーダーはリスト(リンク、二重リンクなど)を実装することさえ考えずに何年も行くことができます。大学時代からそのようなものを見ることさえない人もいます。 コンピューティング能力も数年前の要因ではないため、ポインターを介した効率は以前の問題ではありません(一般的に)。 「リンクリストの例」のような単純なWeb検索では、多くのコード例が表示されますが、それらは暗記し、吐き出すだけで、申請者の真の能力を示すものではありません。 リンクされたリストを使用して、自由回答形式の質問/候補者の問題解決/批判的思考能力の議論につながることは、ほとんどの場合、非常に優れた面接の練習です。面接担当者は、応募者がどのようなもので、どのように考えると非常に有益であるかを実際に見ることができます。 デスクトップまたはWebアプリケーションで作業するプログラマーのための「リンクリストコードも仕事もない」というこのバイナリアプローチは少し時代遅れだと思います。また、非常に有害な場合もあります。リストの先頭で適切に作業する方法を覚えていない候補者は、そうでなければ優れたコーダーおよび同僚であり、ミックスで失われる可能性があります。考え? 編集:これが尋ねるべき良い質問か悪い質問かは、仕事の文脈に依存することを示唆する多くの(良い)コメントがあります。私は強く同意するので、この質問を言い換えてみましょう:リンクリストの実装は、FizzBu​​zzや階乗を計算するための再帰関数を書くような質問に似た、幅広いコーディングジョブの一般的なインタビューの質問です。この質問には、プログラミングの候補を全面的に評価するために一般的に使用するのに十分なユーティリティがありますか?または、「シニア開発者、埋め込みリンクリストチーム」の職を除いて、尋ねるべき悪い質問を検討すべきですか?

5
オープンソースのデスクトップTwitterクライアントのOAuth v1コンシューマキーとシークレットをユーザーに公開せずに保存するにはどうすればよいですか?
シッククライアント、デスクトップ、オープンソースのツイッタークライアントを作りたいです。言語として.NETを使用し、OAuth / TwitterラッパーとしてTwitterizerを使用しているため、アプリがオープンソースとしてリリースされる可能性があります。 OAuthトークンを取得するには、4つの情報が必要です。 アクセストークン(twitterユーザー名) アクセスシークレット(twitterパスワード) 消費者キー 消費者の秘密 PGP秘密鍵のように、2番目の2つの情報は共有されません。ただし、OAuth認証フローの設計方法により、これらはネイティブアプリ上に存在する必要があります。アプリケーションがオープンソースではなく、コンシューマキー/シークレットが暗号化されていたとしても、かなり熟練したユーザーはコンシューマキー/シークレットペアにアクセスできます。 だから私の質問は、この問題をどのように回避するのですか?デスクトップTwitterクライアントが消費者の鍵と秘密を保護するための適切な戦略は何ですか?

1
Clojureデスクトップアプリの出荷は現実的ですか?
現在、デスクトップJavaアプリケーションを出荷しています。これは単純な古いJava 5 Java / Swingアプリであり、これまでのところすべてがうまく機能しました。一部のユーザーは、Java 6を使用しないOS Xバージョン/コンピューターを使用していたため、Java 5がターゲットになりました(この制限をすぐに解除し、新しいJavaに切り替えて、Java 5で動かなくなったユーザーを単に放棄する可能性があります)。 私はClojureにすぐに慣れていますが、まだClojure-to-JavaおよびJava-to-Clojureの多くを実際に実行していないため、Javaアプリケーションの代わりにClojureデスクトップアプリケーションを出荷するのが現実的かどうか疑問に思いました? 私が出荷しているアプリケーションは現在、すべての.jarで約12 MBであるため、Clojureを追加してもそれほど大きな問題にはなりません。 私の計画は、ClojureがJava APIを呼び出すようにすることです。私のアプリケーションはすでにいくつかの独立したjarに分割されています。 ClojureをJavaから正しく呼び出すことがClojureからJavaコードを呼び出すよりも難しいことを理解しているので、基本的にすべてのUIを書き換えます(UIの一部、Swingコンポーネントと自作のBufferedImagesの混合は、上昇のためにとにかく書き換える必要があります)網膜ディスプレイの)、およびClojureからのすべての「配線」を行います。 それが私が直面している問題です。Clojureデスクトップアプリを出荷するのは現実的ですか?(確かにそれほど普及しているようには見えませんが、プレーンなJavaデスクトップアプリを出荷することはそれほど一般的ではなく、私はとにかくやっています) 技術的には、何をする必要がありますか?(Javaアプリの出荷と比較して)

10
Web開発者またはソフトウェアエンジニアですか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は議論、議論、世論調査、または詳細な議論を求める可能性があります。この質問を改善し、おそらく再開できると思われる場合は、ヘルプセンターをご覧ください。 7年前に閉鎖されました。 ロックされています。この質問とその回答はロックされています。なぜなら、質問はトピックから外れていますが、歴史的に重要だからです。現在、新しい回答やインタラクションを受け入れていません。 私が自問してきた質問で、どの道を取るべきか本当に混乱しました。 ですから、今日の世界におけるこれら2つの職業の長所と短所について、皆さんの助けが必要です。Webはこの時代に起こるべき最高のものであり、ほぼ全員がWorld Wide Webでうまくいくので、Webアプリケーション開発が大好きです。また、新しいテクノロジーやWebサービスについて学習し続ける傾向があります。 一方、VB.Net、Java、C ++などで小規模ソフトウェアを開発した経験があるため、デスクトップアプリケーションでもソフトウェアエンジニアリングが好きです。 どのパスがより多くのスコープとより良い未来を持っていますか?あなたの見解は何ですか?

6
優れたユーザーインターフェイスのインスピレーションはどこで得られますか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 6年前に閉鎖されました。 私が現在アップグレードしているデスクトップアプリケーションのメイン画面インターフェースを設計する限り、私は精神的なブロックを持っています。このプログラムを最初に開発したとき、画面解像度は640 X 480でした。今日では、複数の画面解像度があります。 デスクトップアプリケーションの優れたメイン画面レイアウトのアイデアはどこにありますか?

10
今日、すべてのユーザーがインターネットにアクセスできると仮定できますか?
インターネットはどこにでもあるので、開発者はすべてのユーザーがインターネットにアクセスできると想定できますか?今、私はコードがそのような方法で書かれているわけではなく、接続がない場合、エラーコードの欠如のためにプログラム全体がクラッシュします。つまり、今日のプログラムは、ユーザーが常にインターネットにアクセスできるという前提の下で開発できますか? 「それを仮定することで何が得られるのか」と尋ねることができます。私が尋ねる理由は、uniではライセンスをチェックする方法のためにインターネットアクセスを必要とするかなりの数のプログラムを使用しているためです(あなたのIPアドレスをチェックします-それがキャンパス内のアドレスでない場合、あなたはあなたです使用できません)。プログラム自体はインターネットにアクセスしなくても正常に動作することに注意してください。ライセンスのチェックに必要なだけです。 編集: ここではデスクトップアプリケーションについて話しています。 EDIT2: いくつかの答えから、私はユーザーを非倫理的な方法で搾取したとして非難されていると感じています。私はこの質問で説明したことを支持していません -私はユニで使用しているいくつかのプログラムの開発者がこれを行っているので、私はそれについて尋ねています。個人的に私はこれを行うことは愚かで間違っていると思います。

7
デスクトップアプリにHTML、CSS、JavaScriptが使用されないのはなぜですか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 5年前に閉鎖されました。 HTML、CSS、およびJavaScriptを使用して、美しく(そして便利な)UIを構築できます(特に、現在はHTML5とCSS3があります)。多くの人がすでにそれらを知っています。それはまだ私の手の届かないところですが、ウェブアプリ全体をデスクトップアプリに持ち込むことはどれほど難しいでしょうか?アプリをホストする前に、ローカルサーバーで既にテストしています。 私の意見では、それはデスクトップアプリにブームを引き起こす素晴らしい、シンプルなアイデアです。さらに、これらのアプリは既にWebアプリと非常に多くのコードを共有しているため、より良い接続性を提供できる可能性があります。 なぜ行われていないのですか?

8
自己更新アプリケーション-哲学
これは哲学的な質問です。 架空のデスクトップアプリケーション、および自動更新(Webサイトへの移動、更新の確認、更新のダウンロード、インストールを強制するのではなく)を提供したいという要望がある場合、どちらが「ベストプラクティス」アプローチですか。 同様のiTunes、それは新しいバージョンとプロンプトの新しいバージョンをダウンロードするユーザーがいるかどうかを確認します。その場合、フルバージョンをインストールするフルインストール実行可能ファイル(この場合はWindowsインストーラーファイル(.msi))をダウンロードします(以前のバージョンへのアップグレードだけでなく、複数のバージョンが存在する場合は管理が多すぎます) 。つまり、バージョン10.1.1であるとしましょう。フレッシュインストールでもアップグレードでも、同じファイルを使用します。ダウンロード後、アプリケーションを閉じてインストールファイルを自分で実行するようにユーザーに指示します。 他のバージョンと同様に、新しいバージョンをチェックしてユーザーにダウンロードを促しますが、実行可能ファイルをダウンロードしてユーザーに実行を促す代わりに、実際に実行します-開いているプログラムをシャットダウンし、取得しますファイルをインストールするために必要なセキュリティ。 #2の問題:プログラムは他のプログラム(OutlookおよびExcel)を開くことができるため、プログラムを終了することに関する多くの問題、またはユーザーが何かの途中にいた場合はどうなりますか。また、セキュリティに関しては、インストールするためにローカル管理者のアクセス権が必要ですが、それを持っていない場合はどうなりますか?Windowsの以降のバージョンでは、ユーザーのセキュリティを単に上書きすることはできません。 #1の問題:一部の人々は、これは非常に困難であり、エンドユーザーにとって多大な労力があると考えています。 プロジェクトで80〜120時間を節約でき、実装と保守がより簡単になるため、#1を使用することを強くお勧めします。ただし、あらゆる面で強く感じる人がいます。 このようなことのベストプラクティスは何ですか?

3
特定の機能を実装したソースコードを見つける方法 [閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 4年前に閉鎖されました。 デスクトップアプリケーションで、どのコードが特定の機能を実装しているかを特定するためのテクニックは何だろうと思っていました。 私はジュニア開発者であり、ウェブプログラミングを中心にプロのプログラミング経験しかありません。Webでは、これを行うのが簡単です。たとえば、ブラウザツールでボタンを「検査」し、クリックすると何が行われているかを確認できます。そして、完全なソースコードがあると仮定して、呼び出しの階層をドリルダウンできます。 しかし、デスクトップアプリケーションでこれをどのように行うのでしょうか?少なくとも、完全なコードベースに飛び込む必要はありませんか?

5
JavaScriptが従来のアプリケーション開発(コンパイル済みソフトウェア)に使用されないのはなぜですか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 4年前に閉鎖されました。 JavaScriptを使用したWeb開発の長年の間に、信じられないほど強力な言語であるという結論に達しました。 次のような豊富な機能セットを提供します。 動的型付け 一流の機能 入れ子関数 閉鎖 メソッドとして機能 オブジェクトコンストラクターとしての機能 プロトタイプベース オブジェクトベース(ほとんどすべてがオブジェクトです) 正規表現 配列リテラルとオブジェクトリテラル 私は、この種の言語でほとんどすべてを達成できるように思えます。また、OOプログラミングをエミュレートすることもできます。 ソフトウェア指向のカスタム機能(I / O、FileSystem、入力デバイスなど)を使用すると、アプリケーションを開発するのに最適だと思います。 ただし、私が知る限り、Web開発または既存のソフトウェアでスクリプト言語としてのみ使用されています。 ごく最近になって、おそらくV8エンジンのおかげで、他の種類のタスクにより多く使用されています(たとえば、node.jsを参照)。 なぜこれまではWeb開発のみに委ねられていたのですか?ソフトウェア開発から遠ざけているのは何ですか?

3
Rubyでデスクトップアプリケーションを作成できますか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 6年前に閉鎖されました。 Ruby on RailsフレームワークはWeb開発専用であり、デスクトップアプリケーション開発には適していないことを知っています。しかし、Rubyプログラマーがデスクトップアプリケーションを開発したい場合、Rubyのみで実行するのが適切であり、望ましいですか(jRubyではなく、jRubyのチュートリアルがほとんどです)?はいの場合、いくつかの良いチュートリアルを提供してください。開発用のOSとしてLinuxを使用したい。 私はルビー開発者であり、デスクトップアプリケーションを開発したいので、何か提案してください。

7
データベースを使用するのが適切かどうかを判断する最良の方法は何ですか?
PHPとMySQLを使用したWeb開発でプログラミングのキャリアを始めました。ほとんどの動的データといくつかの設定/パラメータデータの保存にdbを使用することに慣れました。多くのデータがある場合もあれば、テーブルのエントリが少ない場合もあります。私にはこれは自然なことのように思えましたが、私が知っている限りでは、これは多かれ少なかれWeb開発で受け入れられるアプローチです。(間違っている場合は修正してください...) 私は現在デスクトップアプリケーションを掘り下げており、私の本来の傾向は、dbを再び使用して、アプリケーションの使用を通じて生成される多くの情報を保存することです。 ただし、私が知る限り、dbを頻繁に使用するアプリケーション(使用しているアプリケーション)は表示されません。 [編集:これは、多くのアプリケーションがプログラム自体に埋め込まれた軽量のデータベースを使用するという点で誤った仮定であると指摘されています。] この理由は何ですか?どの時点でdbを使用するのが適切ですか?この問題に関する基準はありますか?また、dbを使用してデスクトップアプリケーションを開発しない理由は何ですか?

2
ユーザーが編集中のクラウドDBの行をロックする必要がありますか
データをクラウドに保持するデスクトップアプリケーションを作成しています。私が懸念していることの1つは、アプリケーション内のアイテムの編集を開始し、しばらくそれを残すとデータが古くなることです。これは、2人が同じアイテムを同時に編集しようとした場合にも発生します。編集を終えてデータを保存したい場合、データベースに現在存在するものを上書きするか、最後の変更後に編集を開始したことを確認し、変更を強制的に破棄するか、リスクを与えるオプションを与える必要があります他の人の変更を上書きする。 フィールドis_lockedをlock_timestampDBテーブルに追加することを考えました。ユーザーがアイテムの編集を開始すると、行がis_lockedtrueに変更され、ロックタイムスタンプが現在の時刻に設定されます。その場合、ロックが保持される時間(5分など)があります。他の誰かがアイテムを編集しようとすると、アイテムがロックされ、ロックが自動的に期限切れになるというメッセージを受け取ります。ユーザーがロックの編集中に立ち去ると、比較的短時間でロックが自動的に期限切れになり、ロックが期限切れになったことがユーザーに警告され、データの更新後に強制的に編集が再開されます。 これは古いデータの上書きを防ぐ良い方法でしょうか?それは過剰です(アプリケーションが1つのアカウントで同時に数人以上のユーザーによって使用されるとは考えていません)。 (私が抱えているもう1つの懸念は、2人が同じアイテムのロックを取得することですが、それは私が快適な競合状態だと思います。)

4
理想的なHTML5 Webアプリケーションの制限はありますか
次の2つの仮定が真であると仮定しましょう。 ユーザーベース全体がどこからでもブロードバンドにアクセスできます HTML5およびWHATWGグループのドラフト仕様全体を一貫して実装する架空のブラウザーXがあり、すべてのユーザーがブラウザーXを使用しています。 商用パブリックデスクトップアプリケーションが必要な商用パブリックHTML5 Webアプリケーションの本質的な制限は何ですか? 追加機能をFlash / Java / SilverLight / etcブリッジに依存せず、追加機能をブラウザプラグインに依存しないプラグインレスWebアプリケーションの制限に興味があります。 適用されない可能性のある制限: データベース?WebSQLとindexedDBがあります。 ファイルIO?読み取りと書き込みの両方を行うHTML5 File APIがあります。 速度?最近のJavaScriptエンジンの競合により、ブラウザーの速度は遅くなりません。ネイティブC ++は、ChromeのV8エンジンよりもわずか3倍高速です。 開発ツール?Webは成熟しており、リストするには数が多すぎるツールが利用できます。 クローズドソース?はい、すべてのコードはオープンソースです。これは両刃の剣であり、クローズドソースまたはオープンソースコードの使用について多くの意見があります。個人的には、オープンソースコードの利点が欠点を上回ると考えています。 JavaScript / HTML5?「私は個人的にHTML5とEcmaScriptは恐ろしい開発プラットフォームだと思う」などの議論は数えません。 既知の制限: リアルタイム/セキュリティ(極秘)の重要なコードはWebにも属していません。CやC ++などの低レベルで高度に制御可能な言語で作成する必要があります。 コンピューターに接続されている外国のサードパーティ製ハードウェアとやり取りする必要があるツールは、Webアプリケーションと通信するのに苦労します。 Webに属さないプログラムのスイートもあります。オペレーションシステム、ドライバー、サーバーソフトウェア、低レベルAPI。私はそれを承知していますが、それらを「商用公開」アプリケーションとして分類していません。これらはコンピューターにプリインストールできるソフトウェアのタイプです。 余談ですが、2つの仮定は恐ろしく非現実的ですが、5/10/20/30年でそれらを達成するかもしれません。私は、アプリケーションのタイプと、それらがWebと完全に非互換になるアプリケーションの機能に興味があります。 動機: Googleアプリケーション Microsoft Office365 Webアプリケーションリスト Adobe Aviary ポイント: デスクトップアプリケーションが有効なソリューションである一連の問題を考えます。 Webアプリケーションが有効なソリューションではないのはなぜですか? Webアプリケーションをソリューションとして使用できるかどうかを確認するにはどうすればよいですか。 私は、Webアプリケーション(インターネット接続とブラウザーサポート)の主な問題を、それらが存在しないと断言することで除去しようとしました。 余談ですが、HTML5オフラインアプリケーションとModernizrは、これら両方の問題の解決に向けて順調に進んでいます。 Webアプリケーション開発のその他の困難は何ですか?

3
デスクトップアプリケーションでのREST APIと直接DB呼び出し
現在、会社で使用するアプリケーションを計画しています。デスクトップアプリケーションをビルドするために必要です。現在のところ、近い将来、アプリケーションがモバイルまたはブラウザーで利用可能になるかどうかは不明です。 私には2つの可能性があります。 デスクトップアプリケーションから直接データベースにアクセスする REST APIを作成してこれに接続する アプリケーションが社内のデスクトップアプリケーションのみである場合、REST APIを使用できますか?それが可能であることは知っていますが、「正しい」方法ですか?(ベストプラクティス) REST APIを直接作成することには、いくつかの(可能な)利点と欠点があります。 短所: 開発に時間がかかる より複雑 サーバーはより多くの作業を行います セキュリティ上の問題 もっとゆっくり?(サーバーとデスクトップアプリケーションは同じネットワーク上にあります) 利点: 他のプラットフォームへの移行は簡単です ビジネスロジックは、データベースを直接呼び出す場合にも必要です。開発にそれほど時間はかかりません 複雑さについても同じ セキュリティ(コメントでtkauslが言及) 保守性(WindRavenによるコメントでの言及)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.