C#とWindowsと最上と土川

CentOS・MacOSぶっ殺すマン PC中毒・プログラマ 一応、高校生かもしれない。高校の部活の社畜です。KOROSARERU☆(ガチ) 現在、インスコ不要のC#開発環境を作っています。できました。次期Ver (CN:COSMOS)よろしく!@Csharp_GO

今日のウンCODE (C#_GOとかのキャラクターができるよ)

C#_GOもやっと公開テストにでき、これからも更にC#を布教しに行くにあたって、やはりマスコットキャラクタ等が必要であろうと思い!現在制作をしてもらっている。C#のキャラクタとしては、すでに日本では「C#たん」がいるが、それに負けない個性的なキャラクタとしてC#布教に役立ってもらう予定。

今後はHPにてオリジナルキャラクタとの会話形式のC#入門記事や動画等をリリースしていきたいと思う。

まだ、名前は決まっていないので、キャラクターデザインが決まり次第、名前を募集したいと思っている。

今日のウンCODE (C#のポケットリファレンス欲しい)

プログラマーというと世間一般の人は、ただひたすらコードを書いていたり悩んだりしているように思っているらしいが、実は結構違う。(練度で差はあると思うが)

プログラマーがコードを書き始める前に、まず見るもの。それはリファレンス書。使うライブラリとかの使い方がわからなければ、コードなんて書くことはできない(まれに雰囲気でできることがある)

また、普段使用する言語を書くことになれば、いつも使う言語と文法が混ざって間違ったものを書いてしまうかもしれない。そういうときには、基本文法等の情報が最小限度書かれたものがとても役立つ。入門書でも代用できるが、一度ある程度覚えた言語ならば、サンプルコードを見るだけですぐに使えるようになると思う。そういう用途のものを自分は探している...

できれば、PDFで。PDFなら内部の文字の検索や、サンプルコードのコピーが簡単だし。

まあ、そんな都合の良い物はなかなかない。

オンラインサイトではDobon.netなどが近いものだが、オフラインでは使えない。

大学受験が終わったら書いてみようかなぁ。

携帯乗り換えどうしよう(格安SIM→AU)

自分は中学生まではDocomoユーザーだったが、高校生を期に親に頼みMVNO(いわゆる格安SIM)のDMMモバイルに乗り換えた。ほとんど電話を使わないがデータ通信は良くする(主にテザリング)ので、Docomoのプランは微妙だった。そこで、始まって間もないDMMモバイルの5GBプランを契約した。その後月日は流れ、途中で8GBプランに変更、そしてWimax2+を契約してからは主なデータ通信であったテザリングがなくなったことで月2GB以内に収まるようになった。ここ最近ではDMMモバイルのデータ通信残量は繰越システムにより15GBほどになっている。非常にもったいない。

また来年からは大学生になるため、親からは名義を移し自分の名義で自分でお金をやりくりして支払わなければならない。携帯電話の契約の名義を自分に移すには格安SIMでは対応していないようで、どうやら大手に一度戻らなければならなそうだ(自分は昔から携帯を持っていたので、今では珍しい090から始まるユーザーであるため極力、今の電話番号を失いたくない)

そこで、AUのぴったりプランに乗り換えようか迷っている。

AUを選んだのは以下の理由だ

DOCOMO並みの通信の高品質さ

父親AUなので家族割できる

WiMaxAU系列なので、割引発生。

DOCOMO嫌い

Galaxy S8が使ってみたい (今のメイン端末ZenFoneARが不安定なので)

 

あとは、最大限値下げできるように契約する店舗を探すのみ。AUショップやオンラインはあまり値引かれないらしい。家電量販店が値引きが効きやすいらしい。もう少し調べてから、店頭に足を運ぼうと思う。

今日のウンcode (C#_GO)2017/8/9

今日から、腹筋などの筋トレをしてからC#_GOなどの開発の続きをするようにした。

今まで運動を全くしてこなかったから分からなかったが、汗を書いた後のコーディングは意外と捗る。だが、今日もウンcodeを量産し続ける。

今日は三日前から始めたWindowsFormのanchorプロパティをC#_GOのデザイナーに対応させる作業の最終作業であるコンパイル部分の対応作業を行った。

そのAnchorプロパティへの対応作業だが、案外大変だった。C#_GOのデザイナーではデザインしたフォームのプレビューに本物のコントロールを利用している。なので、プレビュー部分のコードは非常に複雑。去年の夏に締め切りが近く魔剤マシマシmodeでコーディングしたお陰で、開発者である自分でも仕組みがよくわからない。

で、具体的にプレビューの方法としてはデザイナーファイルから読み込んだデータからコントロールを動的に生成して、デザイナーファイルからプロパティのデータを受取、処理している。

例えば、TextBoxのMultilineプロパティなら、デザイナーファイルにtrueとあれば

***********************************************************************

if(value == "true"){

       textbox[i].Multiline = true;

}else{

       textbox[i].Mulitiline = false;

}

*************************************************************************

のように処理をしている。

まだ、TRUE・FALSEのように2つしか選択肢がないものなら楽だ。

一番厄介なのは、anchorのように与えるものが複数・数が一定でないものだ。

Anchorプロパティは

************************************************************************

textbox[i].Anchor =  AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Right |AnchorStyles.Left;

**************************************************************************

のように記述する。最初自分はこれを約百行のウンcodeで解決しようとしたが...同様他のコントロールでも同じように実装したところ、最近キレイにしてやっと1000行以内に収まったCODEは2000行という可読性がかなり低いものになってしまった。ウンcodeというよりは、ただのクソース。

結果初めてTwitterでHELPすることにした。

そしたらC#の神 岩永 さんからこんな返信が!!!!!!!!

素晴らしい、なんてきれいなコードだ...

AnchorStyleを返すメソッドを作るという考えすら浮かばなかった(いつもintやstringを返すものしか作ったことがない)

同じようにコードを改良できそうなところが複数あり、修正していると追加機能をつけたにも関わらずコードの長さは元の1000行。たぶんもっと洗練できると思う。

岩永さんのように、しっかりとしたきれいなコードを書けるように今日も1日頑張るぞい(深夜)

久しぶりにブログ更新

久しぶりにブログ更新。受験生なのに。

きっちり書こうとすると、やっぱりめんどくさくなり書かないから、ゆるく書いていこうと思う。

C#_GO次期バージョンCOSMOSの悩み、辛さ

自分がひっそりと開発しているポータブルC#開発環境「C#_GO」の次期バージョンCOSMOSがある程度形になりました。

コードネームであるCOSMOSは花の名前で、実はバージョン1にはTULIPという名前がありました(自分を含め数人しか知りませんが。)

そんな話は終わりにして、COSMOSの特徴?というかTULIPとの違いは

・デザイナー情報ファイルをCSV形式からExcel形式に変更。

・合わせて格納方式も変更(柔軟性が増した)

ド汚いコードを汚いコードに変更

つまり、ユーザーは以前のファイルが使えなくなり、なのに進化したところが何もないという意味が分からなすぎるアプデとなりそうです。(まあ、まじめに使っているユーザーはまだいないだろうし、βだから許される...たぶん...)

こんなアプデなのに、開発は難航しましたw

主な原因はExcelです!

COSMOSではExcelファイルを扱うのに、PCにMSExcelが入っていないと使えないMS公式のものではなくClosedXMLを使いました(NuGetから普通に入れれます)

で、ClosedXMLが悪いのかそもそもExcelの仕様なのかわかりませんが、カンマ区切りやドット区切りでセルに入れると勝手に変なデータになってしまうことが多く

(10,10は4043等になりました)

原因が結局見つからず「:」を区切り文字として採用しました。

こんなにしてまでExcel形式にこだわった理由は、ほかの人が見やすいという理由のほかに、カンマ等がデータとして入っても以上動作しないようにすることがあります。

CSVではカンマを区切り文字としているので区切り、文字間のデータにカンマが入ってしまうとそれも区切り文字ととらえられてしまい、誤作動の原因となってしまう可能性がありました。

そこでExcel

 

でも、Excelに対応したこととアルゴリズムを強化して柔軟性拡張性を得たことでプログラムサイズが一気に1Mか7Mまで上昇ww

フロッピーディスクに入るという売り文句が使えなくなりましたww(メーカー独自の大容量FDならまだ入るが...)

 

なのでこれからは!

>>CDに入るサイズのポータブルC#開発環境<<

を売り文句にwww

700Mなら、まだまだ大丈夫だと思います...たぶん...

 

 

はてなブログ始めました

受験生だというのにブログを始めた...

うん...

主に開発しているアプリケーションとかについて書いちゃいます。