読者です 読者をやめる 読者になる 読者になる

ふるすたっくえんじにあっぽい人の日記

ASP .NET MVC (C#)、.NET Framework、iOS (Objective-c) アプリ、Androidアプリ (Java)、AWS、たまにLAMPとかプロジェクトマネジメントあたりのお話

.exe.configをDebugとReleaseで切り替える Visual Studio 2015編

.NET Framework

ひさびさ.NET
コンソールアプリケーションとかWindowsアプリケーションとかの場合ね。
Web.configは勝手にやってくれるのになぜ.exe.configはやってくれないのか
なお、.exe.configからの値の取得はWeb.configの時と一緒でございます。

参考:
devdevdev.hatenablog.com

1.おもむろにApp.config/App.Debug.config/App.Release.configをプロジェクトディレクトリ直下に作ります。
中身はこんな感じ

App.config

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <appSettings>
    <add key="foo" value="default" />
  </appSettings>
</configuration>

App.Debug.config - 特に書くことない

<?xml version="1.0" encoding="utf-8"?>
<configuration>
</configuration>

App.Release.config - Web.Release.configと同じ書き方でおk

<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <appSettings>
    <add key="foo" value="release" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
  </appSettings>
</configuration>

2..csproj編集
ソリューションエクスプローラーからプロジェクト右クリック→プロジェクトのアンロード
もっかい右クリック→編集XXXX.csproj

まずItemGroup

<None Include="App.config" />
<None Include="App.Debug.config" />
<None Include="App.Release.config" />

  <ItemGroup>
    <None Include="App.config" />
    <None Include="App.Debug.config">
      <DependentUpon>App.config</DependentUpon>
    </None>
    <None Include="App.Release.config">
      <DependentUpon>App.config</DependentUpon>
    </None>
  </ItemGroup>

に書き換え。

で、AfterCompileとAfterPublish追加。

  <UsingTask TaskName="TransformXml" AssemblyFile="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\Web\Microsoft.Web.Publishing.Tasks.dll" />
  <Target Name="AfterCompile" Condition="Exists('App.$(Configuration).config')">
    <TransformXml Source="App.config" Destination="$(IntermediateOutputPath)$(TargetFileName).config" Transform="App.$(Configuration).config" />
    <ItemGroup>
      <AppConfigWithTargetPath Remove="App.config" />
      <AppConfigWithTargetPath Include="$(IntermediateOutputPath)$(TargetFileName).config">
        <TargetPath>$(TargetFileName).config</TargetPath>
      </AppConfigWithTargetPath>
    </ItemGroup>
  </Target>
  <Target Name="AfterPublish">
    <PropertyGroup>
      <DeployedConfig>$(_DeploymentApplicationDir)$(TargetName)$(TargetExt).config$(_DeploymentFileMappingExtension)</DeployedConfig>
    </PropertyGroup>
    <Copy Condition="Exists('$(DeployedConfig)')" SourceFiles="$(IntermediateOutputPath)$(TargetFileName).config" DestinationFiles="$(DeployedConfig)" />
  </Target>

以上。

長々書いたけど、これ使ったら一発な模様。
プレビューもできるらしい。
visualstudiogallery.msdn.microsoft.com


【AWS】【Amazon Aurora】phpMyAdminでAmazon Auroraに接続

AWS Amazon Aurora

ひさしぶりすぎた
おーろらでびゅー

phpMyAdminはどっかにインストール済でAuroraも起動してるところから始めますよー
とりあえずね、Security Group作りましょう。
Inboundで「MYSQL/Aurora」を選択すればいいですね。

f:id:devdevdev:20160318091212p:plain

ModifyからSecurity Groupを今作ったものに変更。

f:id:devdevdev:20160318094258p:plain

で、phpMyAdminの設定画面に入ります。
URLは「phpMyAdminのURL/setup」ですよ。
「New server」をクリック

f:id:devdevdev:20160318100016p:plain

Verbose name of this server:任意の名前
Server hostname:Auroraのエンドポイント
Server port:3306

f:id:devdevdev:20160318100129p:plain

簡単ですねー
いじょー


【Unreal Engine 4】.gitignore

Unreal Engine 4

たぶんこれでおk

*.slo
*.lo
*.o
*.obj
*.gch
*.pch
*.so
*.dylib
*.dll
*.mod
*.lai
*.la
*.a
*.lib
*.exe
*.out
*.app
*.ipa
*.xcodeproj
*.sln
*.suo
*.opensdf
*.sdf
*.sln
SourceArt/**/*.png
SourceArt/**/*.tga
Binaries
Build
!Build/**/*.ico
Saved
Intermediate
DerivedDataCache


【VR】【Oculus Rift】【Unreal Engine 4】【C#】開発環境構築2016/01版

VR Oculus Rift Unreal Engine 4 C++

今年からVR入門しました。
とゆーわけで開発環境構築でも書きましょうかね。

Windows10 + Oculus Rift + Unreal Engine 4 + Visual Studio Community 2015です。開発はC++ですね。はい。

こいつらはインストール済ませておいてくださいねー。

Unreal Engine 4.10.2
Visual Studio Community 2015

なお、Oculus Rift持ってないので実機の動作は未確認でございます。

ではスタート。

1.Oculus Runtimeインストール

https://developer.oculus.com/downloads/

Oculus Runtime for Windows V0.8.0.0-beta
をダウンロードして
oculus_runtime_sdk_0.8.0.0_win.exeを実行してちょ。

2.Pluginチェック

Epic Games Launcherを起動します。
んで、左上にあるUnreal Engineの起動ボタンポチッと。
f:id:devdevdev:20160117033353p:plain

新規プロジェクト→C++→基本コードを選択。
設定はそのままフォルダと名前を指定して、「プロジェクトを作成」をポチッと。
f:id:devdevdev:20160117033549p:plain

しばらく待つとUNREAL EDITORとVisual Studioが起動します。
Visual Studioはまぁ置いときましょう。

メニューバーからEdit→Pluginsを選択
f:id:devdevdev:20160118231026p:plain

Virtual Reality→Oculus RiftのEnabledにチェックついてるのを確認しましょう。
ちなみにデフォルトでついてました。
f:id:devdevdev:20160118231255p:plain

3.実行
PlayからVR Previewを選択しましょう。
Oculus Runtimeのバージョンがあってなかったり、デバイスが接続されてないと押せないみたいです。

以上。



取りたい資格メモ

2年近く前のエントリーをTwitterでシェアしてくださってる方がいてびっくりしました
古すぎてもうあのソース使えない気がしますよ。

んで、本題。
受験日とか何も考慮してないので取れないのもありそう。
iOSの資格は変なのしかないから除外。
そしてオラクルはいらないかな。

MCSD: Windows Store Apps Using C#
MCSD: Web Applications
Androidアプリケーション技術者認定試験ベーシック
ORACLE MASTER Bronze Oracle Database 11g
・PHP5技術者認定上級試験
Javaプログラミング能力認定試験
AWS 認定デベロッパー – アソシエイト
技術士 情報工学部門

難しそうなのは技術士くらいですかね。
名称独占資格or業務独占資格のどっちか1つくらいは持っておきたいというだけの理由でノミネート。
せっかくJABEE認定の学科卒業したことだしね。なぜ卒業させてもらえたか謎なんだけどね。しかも応用理学部門らしいけどね。
なお、技術士情報工学部門の昨年度合格率19.2%。JABEE修了者は42.9%だそうで。
情報処理技術者試験でその年のプロマネ断トツ最年少合格者だった僕からしたら、合格率15%超える試験なんてザルですわwと自分にプレッシャーを与える。


二か月半ぶり

もうね。書くネタないっす。
春過ぎには色々書けること増えるかな。

気づけば法人化して半年過ぎてます。

とりあえず1年ぶりにキーボードを新調しました。
試し打ちで文章書きたくなっただけですw

1年くらい愛用したMajestouch BLACK茶軸さん
f:id:devdevdev:20141117223303j:plain

そして今回新調したのはこちら
f:id:devdevdev:20151126205326j:plain

www.amazon.co.jp

ついにRealforceデビュー!
Mejestouchの他にHHKB Lite2 for Macも持っているんですけど、
Realforceが文句なしダントツで打ちやすい。
さすが\20,000超え。。

あーごりごり実装したい。


【C#】インデックス付きforeach

C#

ひさびさC#ネタ
IEnumerable拡張です。

	public static void ForEachWithIndex<T> (this IEnumerable<T> source, Action<T, int> action)
	{
		foreach (var x in source.Select((item, index) => new {item, index}))
			action (x.item, x.index);		
	}

使用例
foo,barデビューしました。

	var array = new string[]{ "foo", "bar"};
	array.ForEachWithIndex ((x, i) => {
		// なんか処理	
	});