森理 麟(moririring)のプログラマブログ

ゲームプログラマ森理 麟がのプログラムの話題を中心に書くブログです。

C#アプリの作り方入門〜「きほん」の「ほ」〜 その11 完成してもさらなるこだわりを

more effective! 前回までで、簡単なアプリを作って、それを見直してきました。一通り見直しも完了して、一旦アプリは完成しました。しかし、こだわりをもって見なおすポイントはまだまだあります。今回から新たなこわだりで、さらにアプリを見なおしていこ…

VSハッカソンメーリングリストで知りたい事について

何故メーリングリスト? そもそもメーリングリストを作ったのは何故でしょうか?情報を共有したいからでしょうか?今時、情報を共有したいだけならをTwitterでも出来ます。しかしTwitterは、情報共有に使うには欠点が多いです。 限られた相手にだけ届くメリ…

C#アプリの作り方入門〜「きほん」の「ほ」〜 わんくま同盟 大阪勉強会 #47のスライド公開

スライド C#アプリの作り方入門 View more presentations from 森理 麟

VSハッカソンメーリングリストの設定について

VSハッカソンメーリングリストの基本はオープン メーリングリストをどう使うか現在考え中です。最初は設定です。人を集めたいなら先ずは、オープンだろうと考えて、基本は可能な限りオープンにしました。このグループの存在は誰でも見られるし(中身は見えな…

VSハッカソン(Visual Studio Hackathon)メーリングリスト作成

ハッカソン企画の現状 今年の最初のブログで関西でWindowsハッカソンを開催したいと書きました。その後色んな勉強会でこの話をして、少しずつ賛同をもらっている感じです。大体何処の勉強会でも話が盛り上がる人が数人居ます。また、積極的には話してなくて…

第3回RxTstudy 総まとめ #RxTstudy

ブログまとめ タイトル ジャンル 登場人物 内容 その1 第3回RxTstudyに参加しました。 まとめ - RxTstudy全般 その2 @agilekawabataさんの「Redmineプラグインの作り方」 セッション1 @agilekawabataさん Redmineプラグイン その3 @g_maedaさんの「webサイト…

第3回RxTstudy その14(終) 第3回RxTstudyに参加しました #RxTstudy

第3回RxTstudy勉強会に参加して 今回のRedmine勉強会は本当に多岐に学べる事がありました。勉強会だけでなく、懇親会でも多くの情報交換と人との出会いがありました。家に帰るまで、どころか、帰った後まで学べたことがありました。さらに今回レポート的にブ…

第3回RxTstudy その13 勉強会でTwitterを使おう #RxTstudy

自分なんかがつぶやいて良いんだろうか? 結構みんな同じだと思いますが、正直勉強会のハッシュタグでつぶやくのは抵抗がありました。自分のつまらない、個人的な意見なんてハッシュタグつけるのは迷惑じゃないかなと?でも、これ気のせいです。Twitterって…

第3回RxTstudy その12 勉強会で使いやすいTweetChat #RxTstudy

勉強会で使った方が良いアプリ 今回は、勉強会で使ったほうが良いアプリでも発見がありました。勉強会に出るならTwitterは積極的に使った方が良いです。今まで森理は勉強会でTwitterを使うことは殆どありませんでした。理由は、聞いている時につぶやこうとす…

第3回RxTstudy その11 @tksmdさんとの違い #RxTstudy

話せなかったと思いきや 懇親会でも色んな人と色々話が出来、非常に充実した気分の中、ただ話せない人も居ました。特に、@tksmdさんとは、懇親会で!と言ったのに話せなくて残念でした。しかし、帰り道がたまたま同じ方向だったので、結構One on Oneで話す事…

第3回RxTstudy その10 Redmineについてのフリートーク #RxTstudy

みんな悩んでいました その後も何人かとRedmineについて話したのですが、大体皆同じような事に疑問を持っていました。技術的な面はスキルで解決出来るところもあると思いますが、普及させる面は確立した方法論も必要です。森理は疑問を解消したくて来た所も…

第3回RxTstudy その9 ガントチャートについてのあれこれ #RxTstudy

同業種の人とRedmineについての話 さて、懇親会では、他の人ともRedmineについて色々話が出来ました。特に隣に座っていた方は森理と同じ業界だったので、話がしやすかったです。最初に話として出たのが、ガントチャートでした。曰く、あれって使えるの?とい…

第3回RxTstudy その8 @Posauneさんに教えてもらったモンスター2 #RxTstudy

Monoの驚くべき進化 @Posauneさんにもう1つ、Monoが使えると教えてもらいました。森理は数年前にMono Developに触ったことがあったのですが、残念な子という印象しか持っていませんでした。しかし、見ていなかった数年の間に驚く程進化を遂げていました。Mac…

第3回RxTstudy その7 @Posauneさんに教えてもらったモンスター #RxTstudy

リーダーとマネージャの違い @daipresentsさんが聞いた話として教えてくれた事もかなり考えさせられました。「リーダー視点だと出来ない人はやめてもらうでも構わない、しかしマネージャ視点だとそれでは駄目。」森理もリーダー視点以上で考えたことがなかっ…

C#アプリの作り方入門〜「きほん」の「ほ」〜 その10 ココまでのおさらい

それでは、ここまでのおさらいをして完成品を比べてみましょう。 今回までの変更内容 コントロールへのこだわり 内容 ボタン 三点リーダー 一行テキストボックス ReadOnly=false ファイル選択ダイアログ DefalutExt=txt,Filter=txtファイルl*.txt 文字コード…

第3回RxTstudy その6 @daipresentsさんからの質問 #RxTstudy

終わりまで楽しめるRxTstudy その後LTが4つありました。流石というかLTまで内容が濃かったです。尻尾までアンコの詰まったたい焼きを思わせるRxTstudy。最後まで美味しいです。特に@yandoさんのLTIntroducing CandyCaneは凄く興味を持ちました。今回話せなか…

C#アプリの作り方入門〜「きほん」の「ほ」〜 その9 レイアウトの基準に補助線を使う

Visual Studioの機能でレイアウト それではVisual Studioの機能を使って、綺麗なレイアウトにしてみましょう。森理がコントロールを配置する時によく採用するのが補助線がONになる場所です。これはまさにレイアウトを意識するまでは気づきもしなかった機能で…

第3回RxTstudy その5 @daipresentsさんの「チームにRedmineを適用せよ」 #RxTstudy

Redmine切り込み隊長として楽しみにしていたセッション 次は@daipresentsさんの「チームにRedmineを適用せよ」でした。これはRedmineをチームに広げていきたい、Redmine切り込み隊長として楽しみにしていました。@daipresentsさんはRedmineで凝ったことをや…

C#アプリの作り方入門〜「きほん」の「ほ」〜 その8 デザインセンスはプログラム的アプローチでカバーする

レイアウトが苦手ならルールを作れ さて、前回レイアウトが重要と言いました。しかし、プログラマはそこまでレイアウトが得意では無いと思います。デザインセンスに自信がないのであれば、ルールを作るのが無難な方法だと思います。ルールがあれば、統一感が…

第3回RxTstudy その4 @tksmdさんの「Backlog の開発で大事にしていること」 #RxTstudy

実は期待していなかったセッション 次は@tksmdさんの「Backlog の開発で大事にしていること」。…非常に申し訳ないのですが、全く期待していなかったセッションでした。ところが、ところが、始まってみると、とんでもなかったです。以前読んだ、はてな@jkondo…

C#アプリの作り方入門〜「きほん」の「ほ」〜 その7 ジョブズがいなければ気づけなかったこと

盛り付けが綺麗なら食べてもらえる 美味しい料理を作る時に、調理以外で絶対に外せないポイントがあります。実際にどれほど美味しく出来た料理であっても盛り付けが駄目なら価値は半減です。逆に味はイマイチでも、盛りつけが綺麗であればとりあえず食べても…

第3回RxTstudy その3 @g_maedaさんの「webサイト「Redmine.JP」 4年4ヶ月」 #RxTstudy

Redmineユーザーとして楽しみにしていたセッション 次は@g_maedaさんの「webサイト「Redmine.JP」 4年4ヶ月」。これはRedmineユーザーとして楽しみにしていました。Redmineをさわる人ならおよそ知らない人はいない、超人気サイト。言わずと知れたRedmine.JP…

C#アプリの作り方入門〜「きほん」の「ほ」〜 その6 一通りのチェック完了。でも、まだ。

料理の時は皿までチェック 問題編に用意した材料はこれで全てです。後は盛り付けられたお皿もチェックしましょう。C#アプリに於けるお皿、それはフォームです。現状でフォームはサイズが変更出来てしまい変えられるとデザインが崩れます。 フォームのサイズ…

第3回RxTstudy その2 @agilekawabataさんの「Redmineプラグインの作り方」 #RxTstudy

プログラマとして楽しみにしていたセッション 最初は@agilekawabataさんの「Redmineプラグインの作り方」でした。これはプログラマとして楽しみにしていました。森理はAPIでアプリを作ったりはしたのですが、プラグインはノータッチでした。このセッションを…

C#アプリの作り方入門〜「きほん」の「ほ」〜 その5 複数行テキストボックスのこだわり

世の中にゃshift_jisの方が多い 選択したファイルはStreamReaderでロードしますが、ファイル名だけを渡すと文字コードはUTF-8です。しかし、通常のテキストファイルはshift_jisの方が多いです。殆どのテキストエディタでのデフォルトのセーブがshift_jisだか…

C#アプリの作り方入門〜「きほん」の「ほ」〜 その4 ファイルを読み込む時のこだわり

テキストボックスへのこだわり 引き続き、コントロールへのこだわりを書きます。次のこだわりはテキストボックスです。テキストボックスもこだわりを込めるポイントが多いコントールだと思います。一行テキストボックスと複数行テキストボックスではポイント…

第3回RxTstudy その1 第3回RxTstudyに参加しました。 #RxTstudy

第3回RxTstudyに行って来ました 先日第3回RxTstudyに行って来ました。これがまた非常に実りが多かったので、ブログにまとめていこうと思いました。正直セッションは全て良かったです。どれも気づきに満ち溢れていました。懇親会も最高でした。さらに家に帰っ…

C#アプリの作り方入門〜「きほん」の「ほ」〜 その3 ボタンへのこだわり点3つ

←押さずにはいられない こだわらない状態達へ 前回ファイルを選択して中身がテキストなら表示をするアプリを作りました。しかし、これはただ作っただけの状態です。なんのこだわりもありませんし、そもそもアプリとしては未完成と呼べる状態です。それでは1…

C#アプリの作り方入門〜「きほん」の「ほ」〜 その2 シンプルアプリを作る

シンプルアプリを作る それでは最初にファイルを選択して中身がテキストなら表示をするアプリを作ってみましょう。何も考えずにただ作るだけなら5分もかからず作れてしまうと思います。しかし、たったこれだけのアプリでも実は多くのこだわりがあります。先…

C#アプリの作り方入門〜「きほん」の「ほ」〜 その1 神は細部に宿る

←C# 入門書の次に読むべき本 プログラマが入門書の次に読むべきだと思っている本はEffectiveシリーズです。森理は、C++,STL,C#を読みましたが、Effectiveシリーズに外れなしだと断言出来ます。入門書で言語仕様などを把握したら、次はその仕様の実践での使い…

久しぶりにTwitter用クライアントソフト「クッキーツイート」をバージョンアップしました。

久しぶりにTwitter用クライアントソフト「クッキーツイート」をバージョンアップしました。かなりのバグを直して、「mention、リツイート、お気に入り」などを取得可能にして、リツイート、お気に入り、返信機能もつけました。クッキーツイートのHPからダウ…

今年は関西でWindowsハッカソンを開催したい

今年は勉強会を自分で開催してみたい! 森理は2011年は、勉強会に12回出席して、話す方もLT(ライトニングトーク)を1回、50分のスピーチを1回やらせて頂きました。今年は、自ら勉強会の企画・開催をしたいと思っています。まだ、やろうと思っただけで、会場ど…

クッキーツイートの高速化 その21 わんくまスピーチのスライド #CookieToEat

わんくまでスピーチしました。スライドの内容は実際に話した時とは少し変えています。変えた理由は、話す前提じゃないと意味が分からない内容だったからです。これは、でも、スピーチの時点から資料だけで意味が分かるように作るべきだったと思います。今回…

クッキーツイートの高速化 その20 高速化は終わらない(終) #CookieToEat

←ここに行きたいさて、とりあえず今回でクッキツイートの高速化は最後です。またネタが溜まったら21回目もあるかも?元々わんくま同盟で高速化について話そうと思ったので、そのネタとして書き始めました。最初、そのスピーチはマルチスレッドとマルチコアに…

クッキーツイートの高速化 その19 ユーザーが望む高速化 #CookieToEat

←ユーザーサポートさて、高速化について色々書いてきました。しかし遅いかどうかを判断するのはプログラマではありません。ユーザーが高速化を望むのは何時でしょうか?この高速化は、速くする方ではなく遅くしない方です。 自作ツールについて他人と話して…

クッキーツイートの高速化 その18 先に入れる #CookieToEat

←個人的には後乗せサクサク派もう一つポイントとなるのはcontinueとbreakです。マルチコアの時この2つはどうなるでしょうか。実はマルチコア専用のStopメソッドとBreakメソッドがあります。しかし、森理がさわったところこれらは使わない方が良いと思いまし…

テスト的に

Hatena Blog申し込んでみました。 さて、はてなダイアリーは使っているのですが、何が違うのでしょうか? 基本新しいもの好きなのですが、はてなダイアリーの来てくれる人も居るわけで、 その状態で新しいブログに映るメリットは何でしょうか? この辺が分か…

クッキーツイートの高速化 その17 インデクストラブル #CookieToEat

←気をつけろ!数字の順には進まない前回マルチコア化はループの置き換え1行と言いました。しかし、BackgroundWorkerで考えるとReportProgressの数は正しく渡りません。これはマルチコアでのループのまわり方が順番に増えていくのでは無いからです。例えばルー…

クッキーツイートの高速化 その16 一行書き換え、驚くべき速さ #CookieToEat

←驚きの白さに驚いたことない それではマルチコアの説明です。マルチコアプログラミングを組みたいのであればVisual C# 2010を使うことをお勧めします。2010であればExpress Edtionで問題ありません。2008以下でもそれほど難しいわけではないですが、2010の…

クッキーツイートの高速化 その15 マルチスレッドまとめ #CookieToEat

←一マル・チル・スレッド・みんな使うよこれでBackgroundWorkerによるマルチスレッドの使い方は説明しました。かなり簡単にマルチスレッドが実装出来たと思います。ただ簡単に実装出来ても、マルチスレッドはやはり難しい概念です。これを機にマルチスレッド…

クッキーツイートの高速化 その14 BackgroundWorkerの全盛りソース #CookieToEat

←全盛りは一般人の限界は超えてない?ではStatusStripを使ってToolStripProgressBarをつけたBackgroundWorkerのソースを書きます。ToolStripProgressBarは普段表示させないほうが自然です。使う直前に表示させましょう。初期化処理でToolStripProgressBarを…

クッキーツイートの高速化 その13 進行状況の2種類の表示 #CookieToEat

←お、おしゃれ?進行状況の表示で、森理がよく使う2つの方法があります。1つは、別フォームに処理中と描く方法。もう1つは、同じフォームにStatusStripをつけて、ToolStripProgressBarを描く方法です。それぞれ別の用途があります。 別フォームを使う場合…

クッキーツイートの高速化 その12 BackgroundWorkerの進行状況の渡し方 #CookieToEat

←渡すタイミングは、間違えると惨事になりますBackgroundWorkerのDoWorkイベントについて注意点です。DoWorkイベントは別スレッドで実行されます。別スレッドの場合、それ以外のところで作成したオブジェクトには、アクセスすることができません。もっと簡単…

クッキーツイートの高速化 その11 進行状況の表示とキャンセル #CookieToEat

←進行状況の表示とキャンセル前回話をシンプルにするために3つの関数にしました。実際これで十分なこともあります。しかし、3つの関数実装では出来ないことがあります。それが、進行状況の表示とキャンセル処理です。 BackgroundWorkerは進行状況を表示する…

クッキーツイートの高速化 その10 BackgroundWorkerの具体的な使い方 with ソース #CookieToEat

←ご一緒にソースを添えてお召し上がり下さい。 それでは具体的な使い方をソースを書きながら説明します。先ずBackgroundWorkerコンポーネントを追加します。ツールボックスの一番上にあるので、探しやすいと思います。追加したら、開始処理としてRunWorkerAs…

クッキーツイートの高速化 その9 3つの処理に分ける #CookieToEat

BackgroundWorkerはお手軽にマルチスレッドを実現出来ます。そのためには先ず処理を、3つの関数に分ける必要があります。本当はもう1つありますが、話をシンプルにするため、後で説明します。重要なこととして、今までの処理も、コメントや「#if false」など…

クッキーツイートの高速化 その8 マルチスレッドお手軽コンポーネント #CookieToEat

重い処理への対応。マルチスレッド化以外での対応も一応あります。フォーム全体を再描画する「this.Update();」という命令があります。これを使えば、強制的に画面を再描画するので、重い処理でも表示を変更できます。例えばプログレスバーを表示して、進行…

クッキーツイートの高速化 その7 二種類の高速化 #CookieToEat

高速化という単語は、2種類の意味で使うことがあると思います。1つは、処理能力を向上させる、文字通りの意味での高速化。1つは、遅い処理を通常レベルに戻す、低速化を防ぐ意味という意味での高速化。両方共、高速化と呼ぶのが一般的だと思いますが、こ…

クッキーツイートの高速化 その6 遅いよりも問題な重い処理への対応 #CookieToEat

さて、前回ボタンを押せない状態にしました。これでユーザーに「いま処理しているんだな」と気づいてもらえるでしょうか?残念ながら、これだけで気づいてもらえることは少ないと思います。極端にいえばこの対応は、処理をできなくする誤動作防止ぐらいの意…

クッキーツイートの高速化 その5 もっとも簡単な高速化 #CookieToEat

←最も簡単と言えば、ご存知ビクトル・ユーゴー。ご存知?先ずは最も簡単な高速化です。それは、「ボタンを押した後、押せない状態」にすることです。そして、処理が終わったら、また「押せる状態」に戻します。非常に簡単な処理ですが、やってあるのとないの…