C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

全過去ログを検索

<< 0 >>
■17427  Re[1]: windows2003でAJAX
□投稿者/ ネタ好き -(2008/04/24(Thu) 00:05:18)
    No17426 (sato さん) に返信
    ひとまずSystem.WebForms.PageRequestManagerに名前を変えてみてください。
    おそらく直ると思います。
記事No.17426 のレス /過去ログ35より / 関連記事表示
削除チェック/

■35605  Re[5]: comboboxから他コントロールを表示
□投稿者/ アネロン -(2009/05/10(Sun) 22:45:12)
    解決方法を書いていませんでした、申し訳ないです。。。

    私が行った解決方法は、ポップアップウィンドウを使用する方法で行いました。
    コンボボックスを開く時にポップアップウィンドウを開くようにする、といった方法です。
    手元にコードがないので具体的な方法がちょっと申し上げられないのですが……すいません。
記事No.35339 のレス /過去ログ62より / 関連記事表示
削除チェック/

■56758  Re[6]: コンボボックスのDataSourceについて
□投稿者/ shu -(2011/01/29(Sat) 23:27:31)
    No56750 (じゃんぬねっと さん) に返信
    > 切り分けから言って、どう考えても、DataTable、Form のせいではないですよねぇ...
    > ComboBox の DataSource さんの仕組みそのものに起因しているとしか思えないのですが...
    確かめてはいませんがFormのDisposeってComboBoxの解放までしてくれるんじゃないのかな?
    駄目だとしたらComboBoxのDatasourceを明示的に解放するには後Nothingいれるくらいかな。


    いずれにしろ解放をGCに頼ってばかりはいられない気がします。WindowsのCoreがManagedに
    なればGCだけでも出来るのかもしれませんが。


記事No.56734 のレス /過去ログ95より / 関連記事表示
削除チェック/

■62406  Re[11]: C# で Oracle SELECT
□投稿者/ ゼロワン -(2011/10/07(Fri) 13:51:52)
    No62396 (裕猫 さん) に返信
    > すみません。サンプルはshuさんではなくゼロワンさんのでした。訂正とお詫びを申し上げます。すみませんでした。

    いえいえ、サンプルのURLは元々shuさんが提示したもので、私はそれを引用しただけですので、
    訂正もお詫びも不要ですよ ノシ
記事No.62317 のレス /過去ログ105より / 関連記事表示
削除チェック/

■78043  Re[10]: 数分間操作がなかった場合のイベントについて
□投稿者/ furu -(2015/12/09(Wed) 12:19:12)
    横から失礼します。

    No78041 (魔界の仮面弁士 さん) に返信
    > this.components の null チェックが抜けていたので、修正して再掲。

    魔界の仮面弁士さん凄いですね。
    this.componentsのnullなんか気づきませんし
    必要なことも知りませんでした。

    そこで聞きたいのですが
    span.TotalMinutesの比較を
    doubleの定数ではなく、floatの定数で
    行っているのも何か理由があるんですか?

    もし、よかったら教えてください。
記事No.78005 のレス / END /過去ログ132より / 関連記事表示
削除チェック/

■83387  巨大なテキストファイルを高速で出力する方法
□投稿者/ バカボドン -(2017/03/20(Mon) 16:51:51)

    分類:[.NET 全般] 

    2017/03/20(Mon) 16:53:45 編集(投稿者)
    2017/03/20(Mon) 16:53:06 編集(投稿者)
    <pre><pre>2017/03/20(Mon) 16:52:46 編集(投稿者)
    2017/03/20(Mon) 16:52:43 編集(投稿者)

    <pre><pre>
    以下のコードで巨大なSingle配列を
    数百MByte程度のサイズの一列のテキストファイルとして出力するコードを書きました。

    Dim a(xmax, ymax, zmax) As Single

    Using writer As New StreamWriter(Path, False, Encoding.ASCII)

    For zzz As Integer = 1 To zmax
    For yyy As Integer = 1 To ymax
    For xxx As Integer = 1 To xmax

    writer.WriteLine(a(xxx, yyy, zzz).ToString)

    Next xxx
    Next yyy
    Next zzz

    End Using

    ただ、タスクマネージャーで確認すると
    ストレージの帯域は5%程度しか使っておらず
    CPU使用率も10%程度となっています。

    これをマルチスレッド化して高速出力したいのですが
    どのようにすれば良いですか?

    Single→String→Byteという2段階のデータ変換を行っていることになるので
    どちらが律速しているか調べるために
    以下のマルチスレッドコードを書いて計算時間を比較しました。



    For zzz As Integer = 1 To zmax

    Dim XY(xmax, ymax) As String

    Dim zzz2 As Integer = zzz

    Parallel.For(1, ymax + 1, Sub(yyy)

    For xxx As Integer = 1 To xmax

    XY(xxx, yyy) = a(xxx, yyy, zzz2).ToString

    Next xxx

    End Sub)

    For yyy As Integer = 1 To ymax
    For xxx As Integer = 1 To xmax

    writer.WriteLine(XY(xxx, yyy))

    Next xxx
    Next yyy
    Next zzz

    しかし計算時間は全く変わりませんでした。
    そのため、String→Byteの変換が律速していると考えています。


    Dim bytesData As Byte() = System.Text.Encoding.GetEncoding(932).GetBytes(str)

    というコードで、String→Byte配列への変換を行うことができるのは分かるのですが、
    どのようにマルチスレッド化すれば良いでしょうか?

    ファイルサイズが数百MByte程度になるので
    一度に全てをバイト配列にして最後に出力するというのは避けたいです。


    For zzz As Integer = 1 To zmax
    の部分を4つくらいのスレッドの分離して
    マルチスレッドで処理するのがもっとも適当でしょうか?



    </pre></pre></pre></pre>
親記事 /過去ログ142より / 関連記事表示
削除チェック/

■95443  行ごとに乱数で0、1を指定して二次配列を作る方法について(続
□投稿者/ サイカク -(2020/08/02(Sun) 04:54:52)

    分類:[.NET 全般] 

    お世話になっております。
    C#初心者のサイカクです。
    VisualStudioCodeで開発を行っており、versionは1.47です。

    昨日、同タイトルで以下のご質問をしました。

    ===================================
    現在、「0」と「1」で構成された6×6の二次配列を作ろうとしています。
    その際、行ごとに「0」を4つ、「1」を2つランダムで格納させたいです。
    (列ごとの「0」と「1」の構成はどんな形であれ構わないです)
    つまり、36個の要素の構成は最終的に「0」が24個、「1」が12個になります。

    具体的には

    000110
    100100
    001010
    110000
    101000
    001001

    このような二次配列を完成させたいと思っています。
    二次配列の作り方や、1次配列の乱数指定方法は存じているのですが、
    組み合わせて運用する方法を理解できなかったので、ご質問させていただきました。
    ====================================

    この質問に対して、「Fisher-Yates」アルゴリズムを使ってはどうか?とアドバイスをいただき、
    以下のコードを作成しました。

    ====================================

    public class TestScpirt : MonoBehaviour
    {
    int[,] StageData = new int[6,6];

    void Start()
    {
    LoadStageData();
    DebugTable();
    }

    void LoadStageData()
    {
    int[] conbination = new int[6]{1, 1, 0, 0, 0, 0};
    System.Random rnd = new System.Random();

    for(int n = conbination.Length - 1; n >= 0; n--)
    {
    int k = rnd.Next(n + 1);
    int tmp = conbination[k];
    conbination[k] = conbination[n];
    conbination[n] = tmp;
    for(int l = StageData.GetLength(0) - 1; l >= 0; l--)
    {
    StageData[l, n] = conbination[l];
    }
    }
    }

    void DebugTable()
    {
    for(int y = 0; y < 6; y++)
    {
    string debugtext = "";
    for(int x = 0; x < 6; x++)
    {
    debugtext += StageData[x, y] + ", ";
    }
    Debug.Log(debugtext);
    }
    }
    }

    ====================================

    しかし、実際にコンソール画面に表示されるデバッグは

    000101
    000101
    000101
    000101
    100001
    100001

    あるいは

    101000
    101000
    010100
    010100
    110000
    110000

    といった規則的な二次配列が表示されます。
    おそらく、一次配列ごとの「0」と「1」のランダム格納はできているのですが、
    出来上がった一次配列を二次配列の行に格納する段階、すなわち

    for(int l = StageData.GetLength(0) - 1; l >= 0; l--)
    {
    StageData[l, n] = conbination[l];
    }

    この部分でコードが間違っているのだと思います。

    数時間考えてみたのですが、原因が分からず困っています。
    長文になってしまい、申し訳ございません。
    原因がわかる方がいらっしゃいましたら、ご指導のほどよろしくお願い申し上げます。
親記事 /過去ログ165より / 関連記事表示
削除チェック/

■96311  Re[3]: 本番環境にコードファーストで作成したDBの変更
□投稿者/ WebSurfer -(2020/11/10(Tue) 18:23:13)
    No96309 (Saipon さん) に返信

    > CreateDatabaseIfNotExistsに変更しても再作成が無くなるだけで、モデルが変更されました、
    > とエラーになり、結局、DBの再作成を自動でやるか手動でやるかの違いと認識してしまってました。

    なぜそうなったのかきちんと確認してないですよね。エラーの原因は、何か変更した結果、 DB
    とコードの整合が取れなくなったからではないのですか? であれば、当たり前の結果のように
    思いますけど。

    > ちなみにMigration機能の概要として、チュートリアルには、
    > 「このメソッドは、実稼働環境にアプリケーションを展開するまで、データベースとデータ
    > モデルの同期の維持がうまく機能します。 アプリケーションが運用環境で実行されている場合、
    > 通常は保持するデータを格納し、新しい列の追加などの変更を行うたびにすべてのデータを失わないようにします。」
    > とありますが、本番環境でも使えるものと考えて良いのでしょうか。

    どうしてそう解釈できるのか分かりませんが、とりあえず解釈の仕方は置いといて・・・

    良くないと思います。

    運用中の SQL Server に EF Code First の Migration で変更をかけるなんてとんでもない
    と思います。

    そもそも、IIS のワーカープロセスに権限がないのでできないのでは? その時だけそのため
    に SQL Server の sa 権限を与えるとかは非現実的では?

    質問者さんと質問者さんの属する組織が 100% 責任を持つと言われても、もし自分が客なら
    絶対に許可しないと思います。

    でも、まぁ、自分には止める権利はないのでご勝手に。
記事No.96305 のレス /過去ログ167より / 関連記事表示
削除チェック/

■96313  Re[4]: 本番環境にコードファーストで作成したDBの変更
□投稿者/ Saipon -(2020/11/10(Tue) 18:58:55)
    No96311 (WebSurfer さん) に返信

    入れ違いで投稿してしまいました。

    > なぜそうなったのかきちんと確認してないですよね。エラーの原因は、何か変更した結果、 DB
    > とコードの整合が取れなくなったからではないのですか? であれば、当たり前の結果のように
    > 思いますけど。

    はい。エラーの原因が突き止められなかったので一旦諦めてしまいました。


    > どうしてそう解釈できるのか分かりませんが、とりあえず解釈の仕方は置いといて・・・

    解釈につきましては、
    >>モデルの同期の維持がうまく機能します。 アプリケーションが運用環境で実行されている場合、
    >>通常は保持するデータを格納し、新しい列の追加などの変更を行うたびにすべてのデータを失わないようにします。」

    このチュートリアルの一文で「運用環境で実行されている場合」とあった為、
    本番でも何かしらの方法でMigration機能を使うことを意味しているのかと思いました。
    結局、Migrationは開発用、ということが理解できていなかった為と思います。


    > 良くないと思います。
    >
    > 運用中の SQL Server に EF Code First の Migration で変更をかけるなんてとんでもない
    > と思います。

    私も本番にUpdate-Databaseをするのは、方法があったとしてもさすがに気が引けておりました。
    となると、結局、コードファースト関係なく、開発環境でDB作成のスクリプトを作成し、
    本番環境で構築する、というのが普通なのでしょうか。

    この辺りが情報が見つけられず、周りにエンジニアもいない為、分からなかった点です。
記事No.96305 のレス /過去ログ167より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -