プログラミング

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

12
タイプがプリミティブかどうかをテストする方法
タイプをHtmlタグにシリアル化するコードのブロックがあります。 Type t = typeof(T); // I pass <T> in as a paramter, where myObj is of type T tagBuilder.Attributes.Add("class", t.Name); foreach (PropertyInfo prop in t.GetProperties()) { object propValue = prop.GetValue(myObj, null); string stringValue = propValue != null ? propValue.ToString() : String.Empty; tagBuilder.Attributes.Add(prop.Name, stringValue); } 私はそれが唯一のプリミティブ型、などのためにこれをしたい除いて、これは素晴らしい作品int、double、bool原始的ではないが、同様に簡単にシリアル化できるなど、および他のタイプstring。リストやその他のカスタムタイプなど、他のすべてを無視するようにします。 誰も私がこれをどのように行うか提案できますか?または、どこかで許可するタイプを指定し、プロパティのタイプをオンにして、許可されているかどうかを確認する必要がありますか?それは少し面倒なので、私がもっときちんとした方法があったらいいでしょう。

22
「不正な文字列値」エラーを修正する方法は?
不正な文字列値エラーのためにアプリケーションがランダムなメールを破棄する傾向があることに気付いた後、私は行って、多くのテキスト列を切り替えて、utf8列の文字セットとデフォルトの列照合(utf8_general_ci)を使用するようにしました。これにより、ほとんどのエラーが修正され、アプリケーションがラテン語以外の電子メールにヒットしたときにSQLエラーが発生しなくなりました。 それにもかかわらず、一部の電子メールは依然としてプログラムに不正な文字列値エラーを引き起こしています。 (Incorrect string value: '\xE4\xC5\xCC\xC9\xD3\xD8...' for column 'contents' at row 1) コンテンツ列はMEDIUMTEXT、utf8列の文字セットとutf8_general_ci列の照合を使用するデータ型です。この列で切り替えることができるフラグはありません。 どうしても必要な場合を除いて、アプリケーションのソースコードに触れたり、見たりしたくありません。 そのエラーの原因は何ですか?(はい、私はメールがランダムなゴミでいっぱいであることを知っていますが、utf8はかなり許容できると思いました) どうすれば修正できますか? そのような修正の可能性のある影響は何ですか? 私が検討したことの1つは、バイナリフラグをオンにしてutf8 varchar([some large number])に切り替えることでしたが、MySQLにはあまり慣れていないので、そのような修正が意味があるかどうかはわかりません。
162 mysql 

26
MySQLでは、1つの行をコピーして同じテーブルに挿入できますか?
insert into table select * from table where primarykey=1 同じテーブルに挿入するために1つの行をコピーしたいだけです(つまり、テーブルの既存の行を複製したい)が、 "select"の後にすべての列をリストする必要なくこれを実行したいのです。列が多すぎます。 しかし、これを行うと、エラーが発生します。 キー1のエントリ 'xxx'が重複しています これを処理するには、コピーするレコードの一時コンテナーと同じ列を持つ別のテーブルを作成します。 create table oldtable_temp like oldtable; insert into oldtable_temp select * from oldtable where key=1; update oldtable_tem set key=2; insert into oldtable select * from oldtable where key=2; これを解決する簡単な方法はありますか?
162 mysql  copy  duplicates  row 

17
Javaでmakeを使用しないのはなぜですか?
私が見たほとんどすべてのJavaプロジェクトは、MavenまたはAntを使用しています。これらはすばらしいツールであり、ほぼすべてのプロジェクトで使用できます。しかし、何が起こったのでしょうか?Java以外のさまざまなプロジェクトで使用され、Javaを簡単に処理できます。もちろん、Windowsを使用している場合はmake.exeをダウンロードする必要がありますが、AntとMavenにもJDKが付属していません。 Javaで使用する場合、makeに基本的な欠陥はありますか?AntとMavenがJavaで書かれているからというだけのことですか?
162 java  ant  makefile  maven 

4
非同期/待機とBackgroundWorker
過去数日間、.net 4.5とc#5の新機能をテストしました。 新しい非同期/待機機能が気に入っています。以前、BackgroundWorkerを使用して、応答性の高いUIでバックグラウンドでより長いプロセスを処理していました。 私の質問は次のとおりです。これらの素晴らしい新機能を使用した後、いつasync / awaitを使用する必要があり、いつBackgroundWorkerを使用しますか?両方に共通するシナリオはどれですか?

1
gccコマンドラインを使用して.cファイルから.soファイルをビルドする
Linuxダイナミックライブラリ(.soファイル)のHello Worldプロジェクトを作成しようとしています。だから私はファイルhello.cを持っています: #include <stdio.h> void hello() { printf("Hello world!\n"); } hello()コマンドラインからgccを使用して、エクスポートする.soファイルを作成するにはどうすればよいですか?
162 c  linux  gcc  shared-libraries 

19
2つのコレクション内のアイテムの順序に関係なく、等しいかどうかを比較する
2つのコレクションを(C#で)比較したいのですが、これを効率的に実装するための最良の方法がわかりません。 Enumerable.SequenceEqualに関する他のスレッドを読みましたが、私が探しているものとは異なります。 私の場合、2つのコレクションに同じアイテムが含まれている場合(順序に関係なく)、2つのコレクションは等しくなります。 例: collection1 = {1, 2, 3, 4}; collection2 = {2, 4, 1, 3}; collection1 == collection2; // true 私が通常行うことは、1つのコレクションの各アイテムをループして他のコレクションに存在するかどうかを確認し、次に他のコレクションの各アイテムをループして最初のコレクションに存在するかどうかを確認することです。(長さを比較することから始めます)。 if (collection1.Count != collection2.Count) return false; // the collections are not equal foreach (Item item in collection1) { if (!collection2.Contains(item)) return false; // the collections are not equal …

8
ストリームを文字列に変換して戻す…何が欠けているのですか?
オブジェクトを文字列にシリアル化したい。 protobuf-netを使用して、オブジェクトをストリームに変換し、正常に戻します。 ただし、文字列にストリーミングして戻る...それほど成功していません。StreamToStringおよびを通過したStringToStream後、新しいものStreamはprotobuf-netによってデシリアライズされません。Arithmetic Operation resulted in an Overflow例外が発生します。元のストリームを逆シリアル化する場合、それは機能します。 私たちの方法: public static string StreamToString(Stream stream) { stream.Position = 0; using (StreamReader reader = new StreamReader(stream, Encoding.UTF8)) { return reader.ReadToEnd(); } } public static Stream StringToStream(string src) { byte[] byteArray = Encoding.UTF8.GetBytes(src); return new MemoryStream(byteArray); } これら2つを使用したコード例: MemoryStream stream = new MemoryStream(); …


8
C#の匿名型をJSON文字列にシリアル化するにはどうすればよいですか?
次のコードを使用して、匿名型をJSONにシリアル化しようとしています。 var serializer = new DataContractJsonSerializer(thing.GetType()); var ms = new MemoryStream(); serializer.WriteObject(ms, thing); var json = Encoding.Default.GetString(ms.ToArray()); ただし、これを実行すると次の例外が発生します。 タイプ '<> f__AnonymousType1`3 [System.Int32、System.Int32、System.Object []]'はシリアル化できません。これをDataContractAttribute属性でマークし、シリアル化するすべてのメンバーをDataMemberAttribute属性でマークすることを検討してください。サポートされている他のタイプについては、Microsoft .NET Frameworkのドキュメントを参照してください。 (私の知る限り)匿名型に属性を適用することはできません。このシリアル化を行う別の方法はありますか、それとも何か不足していますか?

3
msys、msys2、およびmsysgitはどのように互いに関連していますか?
私は周りを検索してきましたが、これら3つのバージョンのMSYSで何が起こっているのかについての完全な説明が見つかりません。(何を探すべきかわからない可能性は十分にあります。)MSYSはMinGWを使用した開発をサポートするLinuxツールの最小ポートであることを理解していますが、3つまたはそれらを開発/保守したチーム。 対処する特定の問題: 現在開発中のものはどれですか?(特に、MSYSは停止しており、MSYS2はアクティブですか?) それらを維持するグループ間の関係は何ですか?(特に、MSYSチームはMSYS2を作成しましたか?) msysgitは他の1つだけを使用しますか、それともMSYSの独自のブランチを持っていますか? これらのいずれかは互いに互換性がありますか? これらの特定のバージョンのWindowsとの互換性の問題はありますか? 一方が他方よりも主要な機能を提供していますか?
162 msys  msys2 

6
Gradleビルドを停止するための推奨される方法
問題を検出した後、Gradleビルドを停止するにはどうすればよいですか?アサートを使用したり、例外をスローしたり、System.exit(悪い考え)を実行したり、Gradleで専用の関数を使用したりできます(ただし、見つかりませんでした)。Gradleの最良の方法は何ですか(そしてその理由は?)。
162 groovy  build  gradle 

2
IEEE 754フロートが正確に表現できない最初の整数はどれですか?
わかりやすくするために、IEE 754 floatを実装する言語を使用していて、次のように宣言したとします。 float f0 = 0.f; float f1 = 1.f; ...そしてそれらをプリントアウトすると、0.0000と1.0000が正確に得られます。 しかし、IEEE 754は実際の線に沿ったすべての数値を表すことができません。ゼロに近い、「ギャップ」は小さいです。遠ざかるにつれて、ギャップは大きくなります。 だから、私の質問は、IEEE 754 floatの場合、正確に表現できない最初の(ゼロに最も近い)整数ですか?私は今のところ、32ビットの浮動小数点数にのみ関心がありますが、誰かが64ビットの浮動小数点数を教えてくれれば、その答えを聞きたいと思います。 私は、これが2計算のような単純なようであろうと思っbits_of_mantissaに 1を加算し、bits_of_mantissaが何ビット標準露出させます。私のマシン(MSVC ++、Win64)で32ビットの浮動小数点に対してこれを行いましたが、問題はないようです。

2
MIMEタイプの「vnd」の意味は何ですか?
コンテンツプロバイダーを読んで、なぜAndroid MIMEタイプのカテゴリーとタイプの両方にvndが付いているのか疑問に思っています。例えば: vnd.android.cursor.dir/vnd.<something> vnd.android.cursor.item/vnd.<something> 誰もがこれが何を意味し、何が重要なのかを知っていますか?
162 mime-types 

12
PHPに各ユーザーのサブドメインを自動的に作成させるには?
http://user.mywebsite.comのようなサブドメインを作成するにはどうすればよいですか?どういうわけかhtaccessにアクセスする必要がありますか?実際に純粋なphpコードで作成することは単に可能ですか、それとも外部のスクリプトサーバー側の言語を使用する必要がありますか? 回答者へ:さて、それでは、ホスティングに何らかのDNSアクセスを提供するかどうか尋ねるべきでしょうか?
162 php  subdomain 

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