令和1年?令和元年?
c#のdate formatで変換すると1年表記される時と、元年表記される時があるみたいです。
レジストリは同じため.net frameworkのバージョンの違いか、OSによるものか、調査中。
結論
ここに書いてた。
https://support.microsoft.com/ja-jp/help/4477957/new-japanese-era-updates-for-net-framework
対象のKBを適用すると、
ggyy年 -> 令和01年
ggyy'年' -> 令和元年
だったものが
ggyy年 -> 令和元年
ggyy'年' -> 令和元年
となる。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\AppContext
Switch.System.Globalization.FormatJapaneseFirstYearAsANumber=1
を設定して上げると、元年表記が01年表記になる
メビウス攻略メモ
メビウス攻略メモ
基本的にはwiki参考にソロ攻略したときのメモです。
31階
アルマ モアなど猛獣使い スピカ
とりあえずラットン投げて、誘発。
その後スピカで高低差利用しつつキモロボを処理する
2人だとそれぞれの開始位置で投げれるので適当にあしらう。
キモロボはアルマ無双で楽々
32階
ヴィヴィ 黒レヴァ
出鼻ホルスであとレヴァでスロウ位置にツッコミ待機
反撃で殲滅
ヴィヴィは射程+2くらいしておくとスロウにならない
33階
ルーシア ラーフ ジェラルド
ルーシアをひたすら強化する
ラーフさんがやられてもジェラルドのドンアクが効くので足止め可
34階
ラメセス ラーフ
オバクロルドラ通常で中央の暗殺者とダークナイト処理してからヒーラー処理
ルドラキュアで壁超えて魔術師
増援のダークナイト二体はラーフさんで端に引き寄せておく
ラメセスで端っこの弓使い倒してから中央戻ってから最後にディアブロ
ジュエル取らない
35階
ラメセス ラーフ バルト
ラメセスでダークナイト処理後狼処理
ライズ効果でほぼワンパン
36階
ラメセス ラーフ バルト
槍側の花よりでスタート
拳闘士の爆裂拳の位置で待機、二手目くらいでルドラが花に届く
ラメセスサポートしながら花の周りで倒す
虫と龍と魔人、ディアブロの順だけど特に気にすることはない
増援後はラーフで花を叩くと楽
37階
アルベル ラーフ
アルベルでギリギリ検知外から攻撃可能
闘牛は爆裂弾三発で倒せる処理
手前の賢者と魔人でジュエル貯めつつ検知外が倒す。
奥のスナイパーはメルトボムしながらクロックアップで適宜倒すとテレサいらなかった。
38階
ラメセス ラーフ バルト
右下スタート。キモロボ倒した後左に少しずつ移動して一匹ずつ釣り
クロックダウンが入るので適宜入れる(魔人用に1つ残しておくこと。
魔人弱体化ゾーンでチェンジングクロックダウンして処理あとはゴールデンラットンだけになるので残った力で叩く
39階
ラメセス ラーフ なんでも
水 光 風 雷 火 闇
砂漠念装で強化した方がいい。
スピカ姉妹からスタート。
マッドさんブレスとかで処理後
ヴェテルは吸収で倒す
ペリドットが来るので倒す(マッドさんとまとめてもよい
ライル アンク 子安緑川をルドラとオバクロで倒す
タイミングが合えば感知前に逃げれる。
だいたいみんな動いて来るので、なんとか右側に寄りつつ倒す。(ヴィヴィのドンアクには注意。
カザハヤとその姉が出て来るのでカザハヤ釣って回復しつつ吸収で倒す。ヴィヴィ倒して姉だけ先に倒してもいい。
レイメイ出て来るので吸収しつつ倒す。
その姉を倒してクダンはワンパン
カザハヤと姉を倒してからクダンレイメイをルドラしてもよい。
属性のタイミングには注意。
40階
ソロだと厳しいと思うので2人での攻略推奨
ラメセスバルトラーフミラー
ラメセスヘイストでバルト
バルト開始位置をセンターよりに
バルト二回目でチハヤ始末
ドラゴンの物理シールドされないようにジュエルを10以下キープする
シールドされても砂漠念装スキルで
女王出てきたら優先して倒す。
センターの増援来たら優先して倒す。
(と途中まで書いてるがここから続きがないようだ
c#で抽象クラスのシリアライズについて
抽象クラスを継承したクラスをシリアライズする場合、どうも情報が落ちる場合があります。
<?xml version="1.0" encoding="utf-8"?>
<ArrayOfInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Info>
<ErrorMessage>era</ErrorMessage>
<hoge>えらーです</hoge>
</Info>
</ArrayOfInfo>
このシリアライズしたオブジェクトはもともとErrorMessageをスーパークラスのプロパティとして設定していた。
きっちりと子クラスでオブジェクトを作ると情報が落ちない。
var resultObject = new Info[] { new Info() };
抽象化すると落ちる。
AbstractInfo f = new Info();
var resultObject = new AbstractInfo[] { f };
おそらく、継承クラスを複数種類作ってシリアライズしようとした時と同じイメージで、シリアライズでエラーにはならないけど情報が落ちているのだと思います。
AbstractInfo f = new Info();// AbstractInfoを継承したクラス
AbstractInfo f = new Info2();//Infoを継承したクラス
var resultObject = new AbstractInfo[] { f,f2 };
なんてすると、此奴何がしたいのか分からないようになるからだと思う。。
シリアライズするときはインスタンスも厳密なクラスにしたほうが無難。
ASP.NETでJavascriptでPostするときの注意点
JavascriptでPostするときは基本的には、form.submit()をするだけでOK。
ただし、ASP.NETの場合、
asp:Button runat="server" ID="buttonexec" Text="実行" onClick="buttonexec_Click" onClientClick="execute()"
等でonClickをonClientClick中のjavascriptで呼び出してサーバー側の処理を行いたい場合は、単純には処理できない。
原因はPOSTの本文中に
Content-Disposition: form-data; name="buttonexec"
の押したボタンの情報が送信されず、サーバー側にそのままスルーされてしまうため。
原因が分かれば後は足してあげればよいだけなので、
var ele = document.createElement('input');
ele.setAttribute('type', 'hidden');
ele.setAttribute('name', button);
ele.setAttribute('value', button);
form.appendChild(ele);
とhidden項目を動的に追加して上げればよい。めでたし。
-
-
- -
-
(追記)
単純にエレメントを付け足していくと
POSTする毎に付け足されてとんでもないことになった(汗)ので
if (document.getElementById(button)) {
document.getElementById(button).attributes.getNamedItem('value').value = button;
} else {
var ele = document.createElement('input');
ele.setAttribute('type', 'hidden');
ele.setAttribute('name', button);
ele.setAttribute('id', button);
ele.setAttribute('value', button);
form.appendChild(ele);
}
などとしてあげるほうが親切でした。
-
-
- -
-
(更に追記)
if (document.getElementById(button)) {
document.getElementById(button).attributes.getNamedItem('value').value = button;
}
などせずに、submit()後に
ele.removeNode(true);
して上げれば良かった。
今度まとめよう。
Daoのアノテーションメモ
http://s2dao.seasar.org/ja/tiger-annotation.html
@Query("")
SQLに不足している情報を足したい場合。
where文の中身の他にgroupby,orderby等も指定できる。
@Arguments(Class[])
後述する構文でSQL中に使いたい引数。String等を指定できるが、
構造体を指定することも可能。
entry.name等。
@sql(string)
SQLを1から作成する場合。(同じファイル中
@SqlFile
外部ファイルにSQLを指定する場合。
Daoクラス名_メソッド名.sqlという形?
長くなるとこちらのほうが見やすいことも。
構文について
where number == /* number */のように囲むことで値を埋め込むことができる。
/*IF class.name != null*/
kana like /* kana */
/*END*/
のようにSQLを条件に合わせて変更することも可能。
Teeda開発メモ 各種リンク
大元
http://teeda.seasar.org/ja/extension/reverse/index.htmlTeeda Extension コンポーネントリファレンス
http://teeda.seasar.org/ja/extension_component_reference.htmlDefaultLayout
http://teeda.seasar.org/ja/extension/reverse/layout.htmls2containerの利用
S2Container container = S2ContainerFactory.create(#{ClassPath});container.init();
SampleDao dao = container.getComponentByClass(SampleDao.class);
上記はDaoを使用する場合だけど、何らかのクラスを実行したい場合は、
S2Container container = SingletonS2ContainerFactory.getContainer();
container.getComponent(${Class});
のようなやり方も可能なようだ。
奥が深い・・。
.NET製のソフトウェアやVisual Studio C# 2010 Express の起動が出来なくなる
この辺りにあるファイル
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config
machine.config
を開く。
<system.data>
<DbProviderFactories><add name="Microsoft SQL Server Compact Data Provider" invariant="System.Data.SqlServerCe.3.5" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=3.5.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/></DbProviderFactories>
</system.data>
これが何故か
<system.data>
<DbProviderFactories>
</system.data>
となっていて、構文エラーで起動できなくなっていた。
とりあえず、SQLServerは使ってないので
<DbProviderFactories>自体をコメントアウトで解決。
自力で編集するようなファイルでも無いし、
突如発生したのでWindowsUpdateが問題なのかもしれません。