メモ的ななにか

@Maleic1618

数学科の人にお勧めしたい数学書

調べるといろんな人がお勧めの数学書を書いているけれど,自分が読んでいた本がほとんど挙げられていなかったので書いてみることにしました.

ちなみに筆者の専門は複素幾何です.

(ほとんど)読んでないけど良さげだなと思ったり良い評判を聞いてる本は(*)付きで書いています.

勉強する本を選ぶときの参考になれば.

続きを読む

webサーバーの設定

こんにちは.VPNの設定がどうもうまくいかないので,先にWebサーバーの設定のほうからすることにしました.

 

ここから先はGUIは使わず,SSHを使って他のマシンからコマンドライン上で扱うことになります.

cd,ls,mkdir等のファイル操作,apt-getを使ったソフトのインストール等コマンドラインの扱いはどこかで勉強しておきましょう.(ここでは扱いません)

 

ちょうど今からやることについてまとめてくれている記事があったので,これに従って設定しました.

qiita.com

 

test.htmlを作る際は管理者権限が必要なのでsudoでエディタを呼び出すようにしましょう.一般ユーザーがsudo(管理者権限で実行)できるようにする方法は以下のページに書いてあります.

一般ユーザーを sudo できるようにする - maruko2 Note.

sudo vi test.html みたいな感じで.

 

(とりあえずここまで)

 

今後の予定(DDNSとVPN接続)

特に何も設定等は進んでいないのですが,今後の方針が決まったので一応記事を.

 

ポート開放とかをしてある程度だれでも自由にアクセスできるようにするとセキュリティ的に不安なので友人に相談したところ,個人的な利用がメインならダイナミックDNSVPN接続を使えばいいのでは,という意見をもらいました.

 

一応自分の言葉で何をするのか解説.(間違っていたらご指摘ください)

前回Raspberry PiIPアドレスを固定したので,"家のルーターに接続しているときは"129.168.xxx.xxx(←固定したIPアドレス)にアクセスすることでRaspberry Piを叩くことができるようになりました.*1

 

しかしこれはルーターとつながっていない機器からはアクセスできません.*2これを解決するのがVPN接続です.

VPNとはVirtual Private Networkの略で,外部のパソコンからルーターにアクセスして認証することで仮想的に家のネットワーク内にいるかのようにすることのようです.この状態ならRaspberry Piを叩くことができるわけですね.

 

しかし家のルーターにアクセスするにはグローバルIPアドレスが分からないといけません.これは契約しているプロバイダが割り振っているインターネットにおける住所のようなものですが,なんとこれは接続/切断するたびにコロコロ変わってしまいます.*3一応,プロバイダと契約すれば固定することもできるようですが,すごくお金がかかるとのことです.

ここで出てくるのがDDNSです.DNSとは固定されたIPアドレスドメインを対応付けるシステムのことでした.*4DDNSではグローバルIPアドレスが変更される度にその都度登録したサイトに変更後のIPアドレスを連絡することで常に適切な対応を作れるようにするシステムです.これはいくつかの業者(や個人)が提供しているサービスで,ありがたいことに無償で提供してくれているところもあります.

これを使うことで外部からVPN接続をして家にアクセスできるようにしたいと思います.

できればraspberry piIPアドレスの自動更新をできるようにするところまで行きたいと思っています.

 

参考:

viral-community.com

*1:まだやっていませんが,Raspberry Piのほうにwebサーバーのあれこれの機能をインストールすれば,ブラウザでhttp://129.168.xxx.xxxと入力すれば設定したサイトが見られるようになっているはず

*2:出来るようにすれば話は早いですが,セキュリティ的に不安なので今回の方法をとっています

*3:2chとかのIDが変わってしまうのはこのせいらしいですよ.

*4:例えばwww.yahoo.co.jpは183.79.11.230に対応づけられています.

初心者がRaspberry PiでWebサーバーを構築する(初期設定・SSH接続・IPアドレス固定・Python3インストール)

はじめに

サーバー関連のあれこれをやってみたい筆者が兄貴からパクってきたRaspberry Piを使ってWebサーバーをたてPythonでwebアプリを動かすまでの記録を残すつもりです.参考にした記事等をまとめます.

追記:自由に外部からアクセスできるようにするとセキュリティ的に不安なので,DDNSを用いてVPN接続であれこれすることにしました.どうせ個人利用しかしないので.

使ってる機材とか

Raspberry Pi(初代) Model B

・BUFFALO製 MicroSD 16GB Class10 (RMSD-016GU1SA)*1

ルーターはBUFFALO WHR-G301N

・電源はスマートフォンの充電器,マウス,キーボード,ディスプレイ等は元々持っているのを使っています.初期投資はSDカードの3000円くらいで済みました.

OSのインストール・初期設定

次の記事通り行いました.

ラズベリーパイの使い方(OSインストールまで) | うしこlog

ラズベリーパイのOS環境設定 | うしこlog

 

日本語環境にしたところ四角い文字に文字化けしてしまったため,次の記事を参考にして日本語フォントをインストールしたところ直りました.

» 解決!Raspberry Piの日本語が四角の文字化けになった時の初歩ミス。|コワーキングスペース管理人のブログ

 

デフォルトのユーザー「pi」はパスもデフォルトのままで管理者権限があるため,新たなユーザーを作成し,その後piは削除しました.

Raspberry Piで自宅ウェブサーバ構築 - Qiita (前半を参照)

 

SSHでログインするまで

要は他のマシンからネットワーク経由でRaspberry Piにログインしていろいろ設定を行おうというわけです.その通信方法がSSHと呼ばれるらしいです.(間違っていたらすみません.)

 

Raspberry Piに割り振られるIPアドレスを固定する必要があるらしいのでそれを行います.

ラズベリーパイにSSHでリモート接続する | うしこlog

筆者が使用しているルーターがちょうどBUFFALO製だったので,この記事の通りにすることで上手くできました.

TerminalでMACアドレスを確認する際に文字がつぶれていたせいで8を0と読んでしまい,そのせいでちょっと手間取りました.フォントのサイズは少し大きめにしておいた方がいいかもしれません….

 

私はWindowsから接続したかったので,上の記事に書いてあるTera Termというソフトで接続しました.

これでもう画面につなげる必要がなくなりました.

Python3.xのインストール

Raspberry PiにはPythonがデフォルトでインストールされています.

しかし,「python --version」と入力しバージョンを確認したところPython2.7だったので3.xをインストールします.

raspberry pi のpythonを最新にする - python3.4から始めるプログラミング日記

終わった後もう一度バージョンを見たところ.なぜかPython 2.7.9と表示されました.あれ?

…調べてみたところ,python3を叩くにはpython3というコマンドを使う必要があるようです.そこで「python3 --version」と入力して確認したところPython3.4.3がちゃんと使えました.

もしかして最初からインストールされてたのかも.分からないけど.

 

*1:SDではなくMicroSDなのは,後々Raspberry Pi2,3に移行する際のことを考慮しました.返せと言われたら返さなくてはいけないので.

#FE,クリアしました.

久々の記事になります.

昨年の末に発売された「幻影異聞録 #FE」を購入し先日クリアしました.他の方の参考になればと思い,自分用の記録も兼ねてこちらに文章を残します.あまりがっつり書くつもりはないですが.ちなみに難易度NORMALです.

(数学まったく関係ありませんが,書くところがなかったのでこちらで.)

 

・テーマとかPVとかについて

Nintendo Direct 2015.4.2 出展映像 幻影異聞録♯FE - YouTube

幻影異聞録♯FE 織部つばさ デビュー曲紹介映像 - YouTube

主人公たちはファンタジーで出てくるような異世界に現れたヒーローではなく,現実にもいるようなアイドルや俳優たちです.PVは実際にあってもおかしくなさそうな,ライブ映像や音楽をベースにして作られており,編集でよりカラフルでより華やかな映像になっています.スタッフの方が現実世界で人々が憧れるようなものを集めた,と仰っていましたが,まさにそれに惹かれて購入しました.(筆者はアイドルグループとか戦隊ヒーローものとかは全く見ないのですけれどね.)

アニメーション等も気合入れて作られており,1つのアニメを見ているかのようなゲームでした.

 

・ゲームシステムについて

<戦闘>

基本はポケモン世界樹の迷宮みたいな感じでラウンドごとに敵味方が行動を選択し,早い順に行動していくというもの.

それだけだとよくありますがこの作品ではセッションというシステムがあり,相手を弱点属性で攻撃すると仲間が追撃を行ってくれます.その際,各キャラクターは専用のモーションとセリフつきで(時にはカットイン付きで)追撃を行うのですが,そのおかげで仲間との一体感を感じられ非常に楽しかったです.

でもスキップ機能は欲しかったかも.

 

<イベント進行>

主人公たちはTOPICと呼ばれるLINEのようなアプリで連絡を取っており,ゲームパッドを使ってアプリを操作することが出来ます.

ストーリー上重要な連絡が来た際は主人公の操作が一時的に出来なくなり,強制的にゲームパッドを見て連絡を確認させられるのですが,この時主人公は立ち止まって携帯を見ており自分たちが要件を見終わると主人公も携帯を閉まって目を上げるのです.

TOPICのようにゲーム内で携帯を使ってあれこれするというのは他のゲームでもよくあると思いますが,主人公のモーションをうまく使っていてとても面白いなあと思いました.

 

・ゲームバランスについて (未クリアの方は見ない方がいいかも)

全体的に押せ押せのバランスです.

飛び入りサブキャストがない前半は補助がだいぶ効果的でしたが(ドーガ戦ではとてもお世話になりました),後半は補助なんか放っておいて,セッションしまくってSPゲージを溜めていくのが安定しました.(でもラクカジャは強かった)

筆者のプレイ時は主人公のモデルポーズ(各キャラが1回だけ連続行動できる)→虚空斬波(単体物理攻撃+耐性低下のデバフを与える)からの味方の猛セッションが大ダメージを与えられ,さらにセッションのおかげでSPゲージが1つ貯まるのでとても強かったです.スペシャルパフォーマンスが来るともう止められなくて,後半のボスは大体そんな感じで数ラウンドで倒していた気がします.

ストーリーとアニメーションを楽しみたかったので,戦闘があまり難しくないのは私にはありがたかったですが,そちらを楽しみたい人にはあまりお勧めしないかも.

 

・その他

いくつか書きます.

つばさのサイドストーリー「心を開いて」でリトルデビルと言われている猫を探すのですが,TOPICで「探してた猫見つけた!追いかけてる!」みたいな連絡を受けたのでずっとつばさを探したけど見つからず,だいぶ時間がかかりました.つまらないミスリーディングやめてくれー!

 

上で書いてたような感じで,一瞬で戦闘は終わらせていたので状態異常対策は一切とっておらず,ラスボス戦で非常に苦労しました.封印でモデルポーズが使えずめっちゃ大変だったし,回復に追われてたらメギド連発しだすしで無理ゲ―でした.ちなみにレベリングをしたのはドーガ戦とラスボスだけです.

 

とまあ一応こんな感じでした.とても面白かったです!

 

S2Sで発表しました

S2Sで「複素関数論とCousin I問題」と題して発表をしてきました.

発表用に作ったノートをこちらに置いておきます.(Google Driveに飛びます)

参考になれば幸いです

 

参考にした本は次の4冊です.

神保 道夫著『複素関数入門』

野口 潤次郎著『複素解析概論』

若林 功著『数学のかんどころ21 多変数関数論』

野口 潤次郎著『多変数解析関数論 学部生におくる岡の連接定理』

 

ノートの7ページに"極が孤立するとは限らない"と書いていますが,実際には孤立しないことが分かります.(孤立した点があれば,Hartogs現象と同じように領域を取ってして拡張できるため)

Sheafification

野口さんの本で層のテンソル積の例を計算していて,前層を層にするのは関数を局所的にみられるようにすることなんだと確信を持った.

 

計算していたのは次の例.

Rを実数体とし,定数層Z_R*1イデアル層I<0,1>*2を考える.

S=Z_R/I<0,1>とするとS(R)はZ \oplus Zと同型.

 

※層S,Tに対して商層S/Tは{S(U)/T(U)}_{U⊂R:open}を層化して得られる層として定義される

 

実際に計算すると,

stalkについてはS_x = {Z_R}_x/I<0,1>_xだから,

S_xはx=0,1でZ,それ以外で0となってる.

で,f:R→Sとして,f(0)=a, f(1)=b, f(x)=0 (x≠0,1)という関数が連続かどうかを確かめるわけなのだけど,

これは0の近傍では「常にaを取る定数関数」と局所的に一致してるから0で連続

1の近傍でも「常にbを取る定数関数」と局所的に一致してるから1で連続

他の点では「常に0を取る定数関数」と局所的に一致してるから連続

となって,連続関数となっていることが分かります.よってS(R)がZ \oplus Zとなっているというわけです.

定数関数から定義した層なんだから,定数関数だけしか連続にならないんじゃないの?と最初勘違いしてたのですが,層化してるから局所的にみれるので大丈夫なんですね(多分).

*1:Z上に値を取る定数関数のなす層

*2:x=0およびx=1で0を取る定数関数からなる,Z_Rの部分層