Swift クロージャー
クロージャーは自分を囲むスコープにある変数を参照する関数
関数をインスタンス化したら、それはクロージャー
ラムダ式や無名関数にもなる
関数閉包→クローズ→クロージャー?
クロージャーの外に書いてある変数を操作(キャプチャ)できる
C#のRequiredArgumentとは
RequiredArgument
特定の引数が必須であることを示す
[RequiredArgument] //string型の引数が必要 public InArgument<string> BookmarkName { get; set; }
XAML
Extensible Application Markup Language (XAML)
アプリケーション UI (コントロール、図形、テキスト、その他画面上に表示されるコンテンツなど) の作成に利用できる宣言型言語
visual studioのプロジェクトで出てきた
XMLベースであるためXMLの規則に従う
つまりボタン等の位置や大きさを決める言語
C#の修飾子 sealed 継承を禁止する
public sealed class A : B { } public class B { }
AクラスはBクラスを継承する
Aクラスはどのクラスからも継承されない
オーバーライド
多様性(ポリモーフィズム)の一例
サブクラス(継承先クラス)において、メンバ変数を上書きする
引数の型、引数の数が同じであることが条件
【.NET】アクティビティ
ワークフロー(作業の流れの設計図)の動作の中心的な単位
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
alt + \でバックスラッシュを打てる
alt + \でバックスラッシュを打てます
ターミナルコマンド ip -a
ip -a
IPアドレスが分かる
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
で実行可能