program study story

プログラムの勉強 アウトプット

AWSのセキュリティ_output

AWSのセキュリティについて学んだことについてアウトプットしていく。

AWSのセキュリティは、責任共有モデルで管理を行う。

■ 責任共有モデル

管理範囲が明確になっており、AWSが管理しているところ、AWSを使用している側が管理するところと分かれている。

-----------------------------------------

AWSの管理範囲:

・AZ

・リージョン

・エッジロケーション

・ネットワーク

・データベース

・ストレージ

-----------------------------------------

使用者の管理範囲:

・アプリコンテンツ

・データセキュリティ

・アクセスコントロール

・イベントリ管理

-----------------------------------------

AWSの物理セキュリティ

AZやリージョンなどの物理セキュリティ

・場所の秘密性

・監視カメラや侵入検知システム 24時間の警備

・2要素認証を2回以上での管理

・すべてのアクセスは管理され、ログが残っている

 

AWSのネットワークセキュリティ

AWSで管理されているネットワークのセキュリティについて

・ポートスキャニング対策 デフォルトではすべてのポートが閉じている

パケット通信の盗聴対策

・IPなりすまし対策

・DDOS対策

※ポートスキャニング、とは

ネットワークに接続されている、通信可能なポートをひとつひとつ順番に特定のデータを送信し、その応答状況を調べること

サイバー攻撃者が、攻撃先を探す際に、行われることがある。

解放されているポートを調べることは違法なことではない。攻撃の事前準備として行われることが多い。

※IPなりすまし、とは

別名、IPスプーフィングと言い、IPアドレスを偽装することで、

WebサイトなどでのIPアドレス制限を突破して攻撃を行うことや、他人のIPアドレスを使って別人になりすますこと、サーバー攻撃を行う際に、攻撃元の特定を困難になるなどといったことができてしまう。

※DDOS、とは

攻撃者が一代の機器から対象の機器(サーバーなど)に過剰な攻撃をしかけるサイバー攻撃

 

AWSが提供しているサービス

・IAM 必要なときにアクセスできる

VPC プライベートネットワークが作れる

・データ暗号化

・Tusted Advisor 運用状況を監視 改善できるサービス

・WAF ファイヤーウォール

・Shield DDos保護 などなど

※ WAF、とは

Web Application Firewallの略。

ウェブアプリケーション脆弱性を悪用した攻撃からウェブアプリケーションを保護するセキュリティ対策の一つ。WAFを導入することで、ウェブサイトとウェブサイト利用者との間の通信の内容を機械的に検査する。

 

■ 論理アクセス管理

IAMアカウントを作り、IAMで管理すること

AWSルートアカウントはなるべく使用しないことが重要。AWSルートアカウントは、マスターキーになるため、それ一つあればすべてにアクセス可能なため。

・利用者に対しては、個別のIAMユーザーを作り管理する

・認証情報は定期的に更新すること

・強度の高いパスワード設定をする

・アクセスキーは見られないところに厳重保存すること

 

まとめ

Amazonのセキュリティは現在、最強クラスと言われている。

よって、自社で管理するよりも100倍安全委管理できる。

もし、問題が発生した場合、サポートや、コンシェルジュなど専門家が常にバックアップ体制をとっている。

問題点について問い合わせを行うことで解決させることが容易である。

 

AWSのサービスについて_output

AWSのサービスについてどんなサービスがあるのかをアウトプットしていく。

 

Amazon EC2

※EC、とは

クラウド上の仮想サーバーのこと。

特徴:

●すぐに導入できる

●スケーラビリティが優れている 豊富なインスタンス

●使った分だけ料金が発生する

APIによる 簡単操作

●オンプレミス環境との連携もできる

オンプレミス環境との連携も可能なため、セキュリティレベルを高く保ちたいシステムはオンプレミスのままに、比較的クラウドに移しやすいグループウェアや社内コミュニケーションなどのシステムをクラウド化するという方法が可能になっている。

 

Amazon Lambda

※Lamda、とは

バックエンドコードを実装できるサービス。

特徴:

●サーバーレスで使える

●シンプルな構成 コードを書いてトリガーするだけ

●自動化できる

●他のサービスと連携して使う

例えば、S3と連携した場合、

トリガーを設定するとS3に上がったファイルを

自動的にサムネイルとして表示できるようにできるなどが可能になる。

 

・EC2 Auto Scaling

※Auto Scaling、とは

スケーリングを自動調整してくれるサービス。

クラウドサービスなどの機能の1つで、サーバの負荷が増大したときに自動的に性能や台数を引き上げて処理の遅延が起こらないようにすること。

特徴:

●異常なインスタンスがあれば削除して別のインスタンスに置き換えができる

●何千個でも自動化できる

●細かい調整もできる

使用量によって、サーバーの数を増やしたり、少なくしたりすることが可能。

 

Amazon S3

※S3、とは

大規模なストレージサービス。

特徴:

●容量無制限

●強度なセキュリティと耐久性

●連携がしやすい

●階層化されている

●データの移行も簡単

●低価格

イメージで近いのは、dropboxや、Google Driveで、クラウド上にファイルを格納できるサービス。AWSでコンテンツやファイルを作成した際は、このS3にコンテンツやファイルを格納していく。

 

Amazon Aurora

※Aurora、とは

リレーショナルデータベースのこと。

※リレーショナルデータベース、とは

データを表形式で管理するデータベース。

特徴:

●従来のMy SQLと比べて 5倍高速

●セットアップやバックアップ ストレージ拡張などが自動化できる

●自己修正機能があり再起動も早い

●My SQLとも互換性がある

MySQLと比べて5倍高速なため、新しいデータベースを作成することで快適にサービスの作成に取り組める。

 

Amazon Cloud Front

※Cloud Front、とは

CDN(コンテンツデリバリネットワーク)サービスのこと

コンテンツデリバリネットワーク、とは

大容量のデジタルコンテンツをインターネット上で大量配信するためのネットワーク。テキストベースのものから画像、音楽、動画、ゲームといいたコンテンツの大容量なものへと変化したことで需要が増えているもの。

スループット、とは

コンピュータやネットワーク機器が単位時間あたりに処理できるデータ量のこと。数値を使い、データ処理能力やデータ転送速度を表す。

特徴:

●サーバーの負荷が軽減される

●グローバル配信が容易にできる

●4kライブ配信もできる 高スループット

●ラムダで自動化できる

Netflixクラウドフロントを使い、世界に配信サービスを展開している。

 

Amazon QuickSight

※QuickSight、とは

クラウド対応のビジネス分析サービス。

特徴:

●データの可視化が簡単にできる グラフなどが自動

スマホアプリにも対応している

●複数の分析結果をストーリーとしてまとめて共有できる

●サーバーレス

 

Amazon Athena

※Athena(アテナ)、とは

インタラクティブなクエリーサービス。

インタラクティブ、とは

利用者の操作や入力に対してシステムが即座に反応を返し、相互にやり取りをする中で処理を進めていくような操作方式のこと。チャットボットのようなもの。

特徴:

●大型データセットを素早く分析できる

●サーバレスで使える

●ログ分析ができる

 

Amazon WorkDocs

※WorkDocs(ワークドックス)、とは

クラウドストレージサービスのこと

特徴:

●共同管理や編集

●ドロップボックスやグーグルドライブと比べてセキュリティが高い

●レビューやフィードバックの機能がついている

●簡単に使える

S3と違うのは、レビューやフィードバックの機能がついている

 

AWS Cloud9

※Cloud9(クラウドナイン)、とは

ブラウザで使えるIDE統合開発環境のこと。

特徴:

●ブラウザのみで作動するのでインストールなど不要

●プログラミングの勉強にもってこい

●コストも安い、月100時間使っても 数百円ほど

●リアルタイムでの共有ができる ペアプロも容易

一緒にプログラミングの開発を行うときには良いサービス。

AWSの基本

AWSの超入門について_学んだことをoutputしていく。

AWSの知識やノウハウ、AWSの全体像の理解、使用可能レベルまで。

そして、自分でサーバーをたて、サイトを公開できる。

までの内容になる。

 

対象者:

-----------------------------

AWS初心者

・初めてクラウドサービスを使う方

・ノンプログラマー

・エンジニアやプログラマーを目指している

・自分でサーバー運用してみたい人

-----------------------------

 

1. AWSとは?

アマゾンウェブサービスの略。

コア クラウド インフラストラクチャサービスのこと。

要は、クラウドサービスのこと。

クラウドサービスモデルには、

SAAS型(ソフトウェア)

★PaaS型(プラットフォーム)

★IaaS型(インフラストラクチャー)

の3種類のサービスモデルがある。

 

SAAS型(ソフトウェア)

Webブラウザ(Safari,Edge,Firefox,Googleなど)やクライアントデバイス(iPhone,iPad,Androidなど)を通して、クラウドプラットフォーム上で稼働するWebメールなどのアプリケーションプログラムにアクセスして利用するモデル。

★PaaS型(プラットフォーム)

プログラムをクラウドプラットフォーム上にデプロイ(利用可能に)して利用するモデル。

★IaaS型(インフラストラクチャー)

OSやアプリケーションを含め、ユーザーが任意のソフトウェアをデプロイして実行可能にするモデル。

AWSクラウドにするメリットとは、5つに分類できる。

・固定費ではなく変動費になる。【従量課金制】

・スケーラビリティが容易である

・検証と開発の時間が大幅に改善される。

グローバル化が容易にできる

・非エンジニアでも使える設計

の5つのメリットがある。

AWSで使えるサービスは100種類以上あり、大きく分けると下記にの内容にまとめられる。

-----------------------------------------------------

コンピュート、ネットワーク・配置、アナリティクス、ストレージ&配置、データベース、マイグレーション、IOT、AI、管理ツール、セキュリティ、ゲーム、開発ツール、メッセージング、アプリケーションサービス、モバイルサービス、生産性、デスクトップ

-----------------------------------------------------

 

参考:

---------

●コア、とは

中核。

---------

クラウド(コンピューティング) インフラストラクチャ、とは

クラウドコンピューティングを提供するハードウェア要素とソフトウェア要素の集合。コンピュート、ネットワーク、ストレージのほか、仮想化されたリソースにアクセスするためのインターフェースも含まれる。

---------

クラウド、とは

ITリソースをオンデマンドで使用することができるサービスの総称。

物理環境でなく、オンライン環境によるサービスのこと。

例:

GoogleDrive,DropBox,Evernote ,etc...

---------

●オンデマンド、とは

ユーザの要求があった際に、その要求に応じてサービスを提供する。

---------

●プラットフォーム、とは

itの分野では、ある機器やソフトウェアを動作させるのに必要な基盤となる装置やソフトウェア、サービス、あるいはそれらの組み合わせ(動作環境)のこと。

---------

●スケーラビリティ、とは

機器やソフトウェア、システムなどの拡張性、拡張可能性のこと。

---------

 

2.AWSの特徴

リージョン、AZ(アベイラビリティーゾーン)というものがある。

18のリージョンと55のアベイラビリティーゾーンがあり、ネットワークで世界各地につながっている。

AWSの拠点が世界各地にあることを示しているものである。

AWSのネットワークについては大きく分けて、

AWS全体のネットワーク

VPC(ヴィジュアルプライベートクラウド)ネットワーク

の2種類になる。

VPC(ヴィジュアルプライベートクラウド)を使うことで、

自分のIPアドレス範囲の選択、サブネットの作成、ルートテーブルやネットワークゲートウェイの設定など、仮想ネットワーキング環境を完全に制御できる。

プライベートネットワークを簡単にいくつも作ることができる。

これらにより、システム構築を簡単にすることができる。

従来であれば、数か月かかって構築していたものがたった1日で構築できるようになる。

システムを構築する上で必要なものとしては、

アプリケーション、ミドルウェア、バックアップ、可用性、スケーラビリティ、OS、仮想サーバー、ハイパーバイザー、物理サーバー、ネットワーク、データセンター

が必要になるが、

AWSでは、OS、仮想サーバー、ハイパーバイザー、物理サーバー、ネットワーク、データセンターは用意されているため、

アプリケーションの開発、ミドルウェアの準備、バックアップ、可用性、スケーラビリティなどに注力し、システムの構築が出来る。

 

料金モデルとしては、

・全て従量課金制

・予約による値引き、サービスによっては最大7割ほど

・使うほど、単位当たりでの値引き

AWSの拡大に合わせての値引き

追加料金なしで使えるサービスとしては、VPCやIAMなどがある。

AWSで使用できるコードは、様々ある。

JAVA・.NET・PHPPYTHON・GO・RUBYC++など

参考:

---------

●リージョン、とは

AWSがある拠点のこと。

世界中にリージョンがあるため、グローバル展開が容易になることや、複数のリージョンを同時に使う、マルチリージョン構成もできる。

リージョンを選択する場合

使用するユーザーに合わせて選択していく。日本の人に販売したいときは日本にあるリージョンを使い、アメリカの人に販売したいときはアメリカにあるリージョンを使う。このように切り替えを行っていく。

---------

●AZ(アベイラビリティーゾーン)、とは

データセンターのこと。それぞれのリージョンに複数ある。

それぞれのAZ(アベイラビリティーゾーン)は完全に独立しているため、

1つがダメージを負ったとしても、それがほかのAZ(アベイラビリティーゾーン)に影響することはない。

複数のAZ(アベイラリビティーゾーン)が複数の場所にあるかつ、常に管理しているので、データを安全に管理できる。

---------

●サブネット、とは

大きなネットワークを分割した際の、それぞれの小さなネットワークのこと。

会社に例えると、

会社がネットワーク、社員がコンピュータ、部署がサブネットにあたり、該当の社員(コンピュータ)を見つけやすくすることができる。

 

---------

●ルートテーブル、とは

Amazon VPCでインターネットと仮想ネットワークのアクセスを実現するための経路設定テーブルのこと

利用ゲートウェイごとに関連付けをすることで、必要なアクセス経路を提供するもの

---------

●ネットワークゲートウェイ、とは

ネットワークからネットワークへの出入り口となるルーターなどのネットワーク機器を指す。

---------

 

 

 

 

今週のお題「叫びたい!」

classworldです。

今回は、「叫びたい!」ということで連想したのがカラオケです。

カラオケについて少し記事を書いていこうと思います。

 

最近は、カラオケも通常営業しているところもところどころ出てきているようですが、

満室とまでは行っていないようですね。

夜中の人の出方は以前に比べ大きく減少しているようで、

まだ完璧に人の戻りはないようです。

しかし、電車利用者は以前に戻ってきているようで、朝の通勤ラッシュ、仕事からの帰宅者などの利用は上がっており、このごろはそこは密になっているなと感じます。

 

話を戻しますが、もうカラオケには行きましたか?

最近では、V6の解散ライブ中継を見るために、カラオケを利用した人もいるのではないかと思います。

カラオケに先日行きましたが、夜の時間でもしっかり入ることが出来ました。

中にいたのは、学生っぽい人が多かった気がします。

あまり書くことが思い浮かばなかったため、ここまでにしようと思います。

カラオケの18番あったら教えてください。

 

本日もお疲れ様でした。。。

 

モテるデートは【男性ファースト】_OUTPUT

こんばんわ。classworldです。

今回は、モテるデートは【男性ファースト】の学んだことをOUTPUTしていく。

デートするときに意識するべきポイントがわかる内容だ。

他でもない、普通の男性である私は、今までモテたことがない。しかし、コロナウイルスも落ち着いてきたこともあり、あるマッチングアプリでデートする約束が数日後にある。

2年間以上彼女なしのあげく、デートなんてしていなかったから少し知恵を入れておこうと今回この内容をインプットした。

世の中には、同じような境遇の人ももしかしたらいるかなと思い、OUTPUTした内容が意味あるものにしていただけたら嬉しいと思う。

そんな感じでスタート。

・お店の選び方に気を付けること

デートの目的は「女の子を口説くこと」

女性としては、楽しく話したり、食事するのは友達でいいが、異性とデートするってことは、「非日常な時間の提供」、「ドキドキ感の演出」を求めている。友達にはないドキドキ感が必要になる。なので、普段使っているお店や、ファーストフード店なんかはデートで使わない方がいいとされる。

もちろん、お金に余裕がないと高級料理などは難しいが、手ごろな値段で行けるところで、安めの価格帯のお店は存在する。普段使わない場所ということが肝になるようだ。

汚い麻績よりはきれいなお店をは重要そうだ。

また、女性は、自分が連れていかれるお店のグレードによって男性の本気度を判断しているので、お店のグレードは本気であれば本気であるほど重要になるようだ。

特に、カフェや、レストランでのデートは非日常の典型的な例だ。

女性の生活次第では、この理論は逆転することもあるが、

カフェや、レストランは値段が上がれば上がるほど、お店は落ち着いた雰囲気になるため、話しやすくなる。

少し高くても場所代と割り切ってレストランやカフェを選ぶことは安全なようだ。

・カフェや、レストランの多い場所でデートする

現代では、予約というシステムがあるので、あまり気にする機会はないだろうが、もしもの不測の事態に備えて、もしも当日デートすることが決まったときなんかはこの点は注意するべきだろう。

あまりに条件が悪いようであれば、

次の店、次の店と変更できるようにしておくことでスマートな行動を起こすことができる。カフェや、レストランが多い場所を選ぶことで、その選択肢を広げられるようにしておくこと。はたまた、他のお店に2,3件目星をつけておくことだ。

・女性の家からできるだけ近い場所で待ち合わせる。または、カフェ、レストランに行くこと

家から遠いと、行くのがめんどくさいなどと感じることがあるようだ。

女性は美しく見せるため、ヒールを履いたり、夏は汗をかくため、たくさん歩くことは歓迎しない。また、女性にとっては、初めて会うときなんかはそこまでデートに期待はしていない。

であるため、そのリスクを最大限なくす努力をすることでデートが中止、延期となることはなくなりやすいとのこと。

また、実際に歩く距離が遠かったお店に行く場合にはそれだけ大きな期待を抱く。

ハードルをわざわざ上げたくないのであれば、行くのがめんどくさいと思わせない近い場所を選ぶようにしよう。目安は5分~10分程度。

これは、マッチングアプリなんかで出会ったときは特に、この点は抑えるようにしたほうがよさそうだ。

・親身になるために2件目で個室のお店に行くことを考えておくこと

デートの典型的な流れは、カフェやレストラン→カラオケ・個室の店→自宅またはホテルといった流れになる。

 


1件目のカフェやレストランで「相手のことが好きなのか」、「相手が自分に気があるか」を探り、もし相手のリアクションが悪かったり、一緒にいたいと思わない場合は1件目で終わりにして帰るようにしよう。

しかし、そうではない場合に備えて、2件目の場所であるカラオケに行くことや、個室のあるお店に行くことを考えておくことで、親密になる可能性は十分に上がる。

また、女性は警戒心が高い人が多い。そのため、1件目で個室にならないようにすることで女性が安心して親密になっていける環境を整えるように心がけよう。

ここで、2件目に行くことができれば、かなり相手は気に入ってくれている可能性が高い。もし、嫌なら2件目はいろいろな理由をつけて断ってくるだろう。

もし、ここで相手が断ることがないのであれば、2件目で、口説くことを行うようにしよう。

・横並びの席を死守すること

パーソナルスペースに入るきっかけを作るためである。

パーソナルスペースは、恋人で、0㎝~45㎝、友人や知人は45㎝~1.2m、知らない人は1.2m~3.5mほどとされているようだ。

この45㎝以内に入るには、横並びの席になることで、できれば自然に!、無理なく!、拒絶されることなく!

入れるということだ。

他にもメリットがある。

対面であると、対立構造になりやすいが、横並びであれば、同じ方向を向くことで、仲間意識を感じたり、スキンシップをとることも自然にできたりできる。

もし、対面になってしました場合は、少し体を斜めにずらして座ると相手に圧迫感を与えずに済む。

・女性のいいなりにならないこと

心の持ち方にも少し手を加えることで成功率が上がるという。

ダメなパターンとしては、

女性に嫌われないようにするため、女性のいいなりになってしまうことだ。このタイプはモテない。

こういうタイプは「いい人」になる可能性が高い。

女性から見てこういうタイプは「都合のいい人」、「どうでもいい人」という認識になってしまう。

こういうタイプでも「男らしさ」このポイントを持っていれば話は変わってくる。

なんでもかんでも「イエスマン」になるのではなく、

「女性の意見を尊重した上で、決めるポイントはビシッと男らしく決めなければならない」

ホテル、自宅に誘うときなんかは特に。

・まとめ

デートは好きな女性に楽しんでもらうための「おもてなし」であるが、

デートの目的は「女の子を口説くこと」

この点を抑えて、

1件目は、相手におもてなしをして、自分は安全な人であることを理解してもらう。2件目で、男らしさを見せつつ、口説く。その後は、撃沈するのか、ホテル、自宅に行く。

この流れを基本して応用していけば、相手との関係を考えて行動していくことができるだろう。

友達なら、個室。初対面なら、カフェ、レストラン。職場なら、その職場での関係性。こんなとこだろう。

 


今度のデートが成功するように考えなくては。。

C#_ラムダ式

ラムダ式の活用のメリット:ラムダ式の活用のメリット:① 匿名メソッドを2.0の頃の記法より簡単に書ける② 上述の匿名メソッドと同じ記法で式木を作れる

①について
■ 匿名メソッドの記法の簡略化・匿名メソッドの定義から、delegateとか{return}とかの記述を省略できる・型推論機構が働く匿名メソッドをラムダ式を使って書き直す。
例:--------------------------------------------------------------------------------- 匿名メソッド構文--------------------------------------------------------------------------------- delegate(int n) {   return n > 0; }--------------------------------------------------------------------------------- 匿名メソッド構文→ラムダ式---------------------------------------------------------------------------------        delegate bool pred(int n);
        static void Main(string args)        {                        pred p=(int n) => { return n > 0; };        }        --------------------------------------------------------------------------------- ラムダ式:引数の型なし記載方法---------------------------------------------------------------------------------        delegate bool pred(int n);
static void Main(string
args)        {                        pred p= n => { return n > 0; };        }                --------------------------------------------------------------------------------- ラムダ式:引数の型なし、{},returnなし記載方法---------------------------------------------------------------------------------        delegate bool pred(int n);
static void Main(string args)        {                        pred p=n => n > 0;        }---------------------------------------------------------------------------------
②について
■ 式木とは式(数式)を木構造で表したもののこと。
ラムダ式は、Expression型の変数に代入すると、匿名デリゲートではなく、式木としてコンパイルされる。
ラムダ式をあるときには実行コードとして、またあるときはデータとして利用することができる。
デリゲートに代入するか、Expression型に代入するかによってコンパイル結果を変えることで、関数型言語と似たような動作を実現している。
■ 式木の制約:
ラムダ式を式木にできるのは、単文の({ }を使わない)ラムダ式のみ。
四則演算やメソッドコールはできるが、forやwhileなどの制御構文は、式木にできない。

■ 初期化子
C#3.0オブジェクト初期化子で指定できるのはpublicなメンバー変数またはプロパティのみ。(初期化子を書く場所によってはprotechedやinternalも可。初期化子を書いた場所からアクセスできる変数・プロパティのみ)
初期化子のメリット:・クラスのメンバー変数の初期化・式木への代入が可能になる
◇ コレクション初期化
配列と同じように初期化記法を、任意のコレクションクラスに対して行うことができる。また、リスト型のコレクションのみではなく、IDictinary<TKey,TValue>のような辞書クラスに対しても、以下のような記法で初期化できる。(引数2つのAddメソッドが呼ばれる)※コレクションクラス・・System.Collections.IEnumerableインターフェースを実装していて、Addメソッドを持つクラス
◇ インデックス初期化
C#6.0インデクサーを混ぜれるようになった。また、プロパティの代入とインデクサーへの代入を混在させることも可。
例:---------------------------------------------------------------------------------
 class Program    {        static void Main(string args)        {            // プロパティへの代入とインデクサーへの代入を混在させることができる。            var s = new Sample            {                Name = "sample",                ["X"] = 1,                ["Y"] = 2,            };        }    }
    class Sample    {        // プロパティ_定義        public string Name { get; set; } 
        // インデクサー_定義        public int this[string key]         {            get { return 0; }            set { }        }    }
---------------------------------------------------------------------------------
◇ 再帰初期化
再帰的な構造を持ったクラスの初期化もできる。
再帰的な初期化の制限:
メンバーが参照型(class)である必要がある。(値型(struct)だった場合は、コンパイルエラーになる)
(注) 記法での初期化は、インスタンスをnewしてくれたりはしない。コンストラクターもしくはメンバー初期化子での初期化 が必要。

 

1週間でC#の基礎が学べる本

1週間でC#の基礎が学べる本

  • 作者:亀田 健司
  • 発売日: 2019/09/12
  • メディア: Kindle版
 

 

デリゲートにおけるローカル変数と匿名関数

ローカル関数と匿名関数の比較

関数内に関数を書く方法として、
ローカル関数と匿名関数という2つの機能がある。

共通の性質:
・定義している関数の中でしか使えない
・周りの(定義している関数側にある)ローカル変数を取り込める。

ローカル関数

できることは多いが、書ける場所は少ない。
通常のメソッドでできることであれば概ね何でもできる。
再帰呼び出し
イテレータ
・非同期メソッド
メソッド内に限らず、関数メンバーならどれの中でも定義できます。

ローカル関数を利用する動機:
・定義した関数内からだけ使えるということ

利用例:

例1:イテレーターの引数チェック

 


匿名関数

できることに少し制限がある代わりに、どこでも書ける。