ひよこメモ

備忘ブログ Ruby, Rails, AWS, html5, css3, javascript, vim,

XAML

Extensible Application Markup Language (XAML)

アプリケーション UI (コントロール、図形、テキスト、その他画面上に表示されるコンテンツなど) の作成に利用できる宣言型言語

visual studioのプロジェクトで出てきた

XMLベースであるためXMLの規則に従う


つまりボタン等の位置や大きさを決める言語

C#の修飾子 sealed 継承を禁止する

public sealed class A : B {

}

public class B {

}

AクラスはBクラスを継承する
Aクラスはどのクラスからも継承されない

オーバーライド
多様性(ポリモーフィズム)の一例
サブクラス(継承先クラス)において、メンバ変数を上書きする
引数の型、引数の数が同じであることが条件

Macにおける環境変数の設定

環境変数の設定についてのメモ(Mac)

環境変数(PATH)
OSあるいはログインするユーザごとに設定され、その上で動作するアプリケーションがその値を参照したり、設定したり、アプリケーション間で共有したりするためにあるもの。
プログラムの検索先。
プログラムへのルートを設定する。
.bash_profileや.bashrcに設定する。

.bash_profile
ログイン時に実行される。
主に環境変数を設定する。




.bashrc
対話モードの bash を起動する時に毎回実行
環境変数でない変数を設定する (export しない変数)

基本的に.bash_profileのみ設定すればいい。


bash:対話型シェル。ターミナル。
echo:メッセージの出力


本当に正しい .bashrc と .bash_profile の使ひ分け - Qiita
.bash_profile ? .bashrc ? いろいろあるけどこいつらなにもの? - Qiita

.NET Frameworkメモ

第1回 ASP.NET 5をOS X/Linuxで使うための準備 (1/5):連載:OS X/LinuxによるASP.NET 5アプリ開発ガイド - @IT


ランタイム:アプリケーションの開発・実行の両機能を備えたソフトウェアから、
「開発」のほうの機能を取り除き、「実行」機能のみを取り出したプログラム
つまり、実行専用のプログラム!

SDK:Software Development Kit。ソフトウェアを開発するために必要な技術文書やツールなど
一式のことである。
SDKは、OSや技術ごとに存在し、これらに関連するソフトウェアを「開発する場合に」
入手する必要がある。
入手にあたっては、無償の場合、有償の場合があり、開発ツールのパッケージを購入すると、
必要なSDKが含まれている場合もある。


ランタイムが実行用
SDKが開発用


XRE:Cross-platform Runtime Environment。
ASP.NET 5アプリを実行するためのランタイム環境。(実行用プログラム)
mono/Core CLRといったランタイム(実行用プログラム)のみならず、
「SDK/コンパイラー/ランタイムをホストするためのネイティブコードなど」
で構成される。(ランタイム&SDKと考えておけばOK?)

Mono(モノ):Ecma標準に準じた. 「NET Framework互換の環境」を実現するためのオープンソースのソフトウェア群、またそのプロジェクト名である。 現在はXamarin社が開発、販売、サポート業務を行っている。
Ecma(エクマ):European Computer Manufacturers Association。
欧州のコンピューター会社を中心に設立された、欧州電子計算機工業会の略称。

Core CLR:.NET Coreのランタイム
https://github.com/dotnet/coreclr

KVM: K Version Manager。XRE(ランタイム&SDK)をPCに「インストールしたり」、アプリが使用するXREのバージョンを「管理したり」するためのツール
→XRE管理用ツール

KPM: K Package Manger。アプリが必要とするライブラリはパッケージと呼ばれる単位で管理/配布される。「project.json」という構成ファイルに、アプリが使用する(依存する)パッケージを記述しておけば、このツールによってそれらを自動的に取得できる。
→パッケージ管理用ツール


XRE/KVM/KPMといった開発/実行環境とその周辺ツールのおかげで、Windowsに依存せず/NET Frameworkを使うことができる。



ASP.NET:ASP.NETとは、.NET Frameworkで提供されるWebサービス向けのクラスライブラリ。Windowsサーバ上でダイナミックなWebページを動作させるための基盤となるソフトウェアで、WebアプリケーションやWebサービスの開発・構築に用いられる。
→Webアプリケーション用のフレームワーク

ASP:ASPとは、Microsoft社のWebサーバソフトInternet Information Serivices(IIS)の拡張機能の一つで、閲覧者のリクエストに応じてWebページを動的に生成・送信することができるもの。

vagrantの接続がブツブツと切れる場合の対処法

$ sudo vim /etc/ssh/sshd_config


にある


ClientAliveInterval
ClientAliveCountMax


のコメントを外してあげる

後ろに何秒に1回接続するかを書く


ClientAliveInterval 10
ClientAliveCountMax 10

vagrant設定まとめ

仮想サーバー作成

$ vagrant init centos66

$ vagrant up

$ vagrant ssh


日本語化

$ sudo vi /etc/sysconfig/i18n

LANG="ja_JP.UTF-8"


Apache&PHPインストール

$ sudo yum install -y httpd

$ sudo yum install -y php


httpd.conf編集

$ sudo vi /etc/httpd/conf/httpd.conf


ServerName www.example.com:80
のコメントを外す


Options FollowSymLinks
AllowOverride All
Order deny,allow


$ service httpd configtest

$ sudo service httpd start

$ sudo service httpd status

$ sudo chkconfig httpd on

$ chkconfig --list


iptables編集

$ sudo yum -y install iptables

$ sudo vi /etc/sysconfig/iptables

filter

INPUT ACCEPT [0
0]
FORWARD ACCEPT [0
0]
OUTPUT ACCEPT [0
0]
RH-Firewall-1-INPUT - [0
0]
  • A INPUT -j RH-Firewall-1-INPUT
  • A FORWARD -j RH-Firewall-1-INPUT
  • A RH-Firewall-1-INPUT -p tcp --dport 113 -j REJECT --reject-with tcp-reset
  • A RH-Firewall-1-INPUT -i lo -j ACCEPT
  • A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
  • A RH-Firewall-1-INPUT -p 50 -j ACCEPT
  • A RH-Firewall-1-INPUT -p 51 -j ACCEPT
  • A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
  • A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
  • A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

COMMIT



$ sudo /etc/init.d/iptables restart

$ sudo service iptables stop

$ sudo chkconfig iptables off

$ sudo vi /etc/selinux/config


SELINUX=disabled





HTMLでテスト

シンボリックリンクで繋げる
$ sudo rm -rf /var/www/html

$ sudo ln -fs /vagrant /var/www/html

$ exit
で抜ける

$ vi Vagrantfile

config.vm.network :private_network, ip: "192.168.33.10"
のコメントを外す

$ vagrant reload

PC側のvagrantフォルダにindex.htmlを作成

192.168.33.10を開く

vagrantで参考にしたサイト

vagrant設定
web帳 | VirtualBoxとVagrantで開発環境を構築
Vagrant+VirtualBoxでPHP開発環境構築 - Qiita
VagrantでCakePHPの開発環境をつくる。エラーとか警告を綺麗にするまで。 - Qiita



apache設定
Vagrant+VirtualBoxでPHP開発環境構築 - Qiita
http://blog.gogo-games.com/archives/28446255.html



Q&A
「sargのindex.htmlを見ようとするとforbiddenが・・」(1) Linux Square − @IT
apacheでシンボリックリンクがForbiddenになる時は「SymLinksIfOwnerMatch」を疑おう – DACELO SPACE
http://labs.uechoco.com/blog/2008/01/linuxapachepermission_denied.html
vagrant でディレクトリを共有するとブラウザから192.168.33.10がForbiddenになる - Qiita

Vagrantの使い方④ Apacheの起動・停止・再起動・ステータス確認

httpdの起動

$ sudo service httpd start
Redirecting to /bin/systemctl start  httpd.service


OKと表示されるはずだけど、Redirectと出てくる


httpdのバージョンを確認するとApacheと出てくるので、インストールはうまくいってると思う

$ httpd -v
Server version: Apache/2.4.6 (CentOS)
Server built:   Mar 12 2015 15:07:19

どうやらCentOS 7だと

sudo systemctl start httpd

で起動らしい。OKをとは出なかったけどもう1回statusコマンドで確認してみると

   Active: active (running) since 火 2015-08-25 04:11:45 CEST; 11s ago


という記述があったのでたぶん大丈夫

httpd停止・再起動・ステータス確認

起動と同じように

停止

$ sudo systemctl start httpd

再起動

$ sudo systemctl start httpd

ステータス確認

$ systemctl status httpd

で実行可能