【C#】ASP.netのTips

コードを書いてて、たまに「あれ?どうやるんだっけ」となるコードの備忘録です。

ListからIN句で使えるSQLを生成する

IN文句に対してプレースホルダが使えるようなORMを使っている場合はいいのですが、たいていの場合、うまく動いたためしがないので、文字列結合してくっつけます。Linqのメソッド構文でサクッと書けます。

【C#】Asp.net MVCのハマりポイント

Asp.net でRazorを使っているといつもハマってしまうトラップポイントがありますので忘れないようにまとめておきます。

EditorForヘルパーについて

EditorForヘルパーは、HTML属性が反映されない。例えば以下のように書いても非活性になりません。その場合はためらわずTextBoxForなどの個別のヘルパーを使用します。placeholderや、Readonlyも同様です。

以下のように書きます。

DropDownListがselectedにならない

DropDownListForは、Modelとバインドした場合、第2引数のSelectListItemの値とModelの値が合致した場合、selectedに自動でしてくれる仕様があるのですが、ならない場合があります。
詳しく調べたわけではないのですが、どうも型が合っていないと一致とみなしてくれないようです。その場合の対処法としては、ViewModelの型を変更して合わせるか、.chtml内で再度SelectListItemをnewして、Modelの値と一致したらselectedを設定してあげるという技があります。

【AWS】T3インスタンスについて

最近、新しく追加されたインスタンスタイプ「T3
インスタンス」についてまとめておきます。

スペックはT2インスタンスより良い

t3.micro のインスタンスタイプでも、vCPUが2つ搭載されています。

https://aws.amazon.com/jp/ec2/instance-types/

料金が若干安い

詳しい料金表はこちら

https://aws.amazon.com/jp/ec2/pricing/on-demand/

ベースCPU使用率は20%

T2インスタンスでは、CPUクレジット残高がないときは10%しか使用できませんでしたが、T3インスタンスでは20%まで使えます。

CPUクレジット残高のMAXが600

T2インスタンスでは、CPUクレジット残高は150までしか貯金できませんでしたが、T3インスタンスでは600まで貯金できます。

注意点

初期CPUクレジット残高は0

T3インスタンスの起動時は初期CPUクレジットが0で始まります。ですので、うっかりインスタンスの停止・起動をやってしまうと今までのCPUクレジット残高が0になります。インスタンスの再起動ではCPUクレジット残高はリセットされないので再起動するようにしましょう。

CPUバーストがUnlimitedモードが初期設定 

CPUクレジット残高を超えてバーストできますが、無制限に、かつ課金されながらバーストするので要注意です。Unlimitedをコンソールから無効にできます。

VisualStudioCodeの備忘録

最近大好きなVisualStudioCode(VSCode)の備忘録です。基本設定、お気に入りのパッケージなどをまとめておきます。

設定

ファイル→基本設定→設定で設定します。以下はやっておくと便利。

ファイルオープン時のエンコードを自動判定する

ホイールスクロールでフォントを拡大縮小する

自動挿入された末尾の空白を削除する

エディターで空白文字を表示する

パッケージ

個人的に必須なパッケージ

他にもいっぱいあるのですが、ちょっと面倒になってきたので、今日はここまで…。

Windows Subsystem for Linux(Ubuntu)

Windows10 Pro(1803)、ディストリビューションはUbuntu(18.0.4)を使用しています 。最初に使い始めるまでの流れを忘れてしまうので備忘録です。

WSLをインストールする

Windowsのアプリと機能 > プログラムと機能 > Windowsの機能の有効化または無効化を選択し、Windows Subsystem for Linuxにチェックを付ける

※Windows Storeからいきなりインストールできると思って、勢い余って進めるとエラーになります。error: 0x8007019e

Ubuntuをインストールする

Windows StoreからUbuntuを検索し、インストールをクリック

最初のログイン

新しいアカウントを作ります。

 

システムの最新化

sudo apt update

を実行し、パッケージのリポジトリを最新化する

sudo apt upgrade

を実行し、最新化したパッケージのリポジトリを使ってモジュールの最新化をする

使いたいコマンドのインストール

sudo apt install [コマンド]でインストールする

WIndowsのCドライブを参照する

すでにマウントされているので参照可能

 

PlantUML

セットアップ(Mac)

セットアップ(Windows)

  • graphviz-2.38.msi
  • Visual Studio Codeの拡張機能からPlantumlのパッケージをインストール

サンプル

WordPressプラグイン

※インストールしてみましたが、うまく動かずでした。 https://ja.wordpress.org/plugins/plantuml-renderer/

Apacheメモ

最近はNginxが主流になってきているかもしれませんが、まだまだ現役。

公式サイトドキュメント

http://httpd.apache.org/docs/current/


Apache MPM 共通ディレクティブについて

extra/httpd-mpm.confに記載されているMaxClientなどパフォーマンスに重要なディレクティブについてのドキュメント。目を通しておいて損はない。特に「MaxConnectionsPerChild」はデフォルト値=0で設定されているため、注意が必要。

https://httpd.apache.org/docs/current/ja/mod/mpm_common.html

【swift】ライブラリEZAudioを使って音声ファイルの波形を表示してみる

こんにちは。しばらくライブラリを勉強していたのですが、一番やりたかったのがこれです。音声ファイルの波形を表示してみるということ。早速やっていきます。

 

CocoaPodのバージョンを確認

新規プロジェクト「DemoEZAudio」という名前で適当に作成したらターミナルから、

して、Podfileを以下のように編集します。

Podfileを編集します

そしてターミナルから

します。

ブリッジングヘッダーを追加

ブリッジングヘッダーを追加します。

ブリッジングヘッダーは、SwiftからObjective-Cのライブラリを利用可能にする橋渡しをしてくれるヘッダーファイルです。
メニューバーから[File]→[New]→[File…]を選択して、「Objective-C File]を選択し、[Next]ボタンを押下します。

https://github.com/syedhali/EZAudio/issues/267

何度か試してみましたが、どうもPodfileに
pod ‘EZAudio’, ‘~> 1.0’
と書かないと駄目なようです。
pod ‘EZAudio’だけでは駄目です。

Podfileは以下のように修正します。

ブリッジングヘッダーはこんな感じが正解のようです。

今回はVan Halenの名曲『Jump』の波形を表示してみます。とりあえず、ファイルをドラッグ&ドロップでプロジェクトに突っ込みます。

できましたー!