Social Impact Simulation Including Social Capital, Based on Current Status of Multi-Agent Simulation
https://www.iaiai.org/journals/index.php/IJSKM/article/view/834
江端智一のホームページ
Social Impact Simulation Including Social Capital, Based on Current Status of Multi-Agent Simulation
https://www.iaiai.org/journals/index.php/IJSKM/article/view/834
■コンビニ 5〜10分 (Lenovo Support) ?
■イオンモール 3〜4時間 (TripAdvisor)。tripadvisor.com.au/Attraction_Review-g298316-d11444576-Reviews-AEON_Mall_Shah_Alam-Shah_Alam_Petaling_District_Selangor.html
午前10時から午後2時の間
■デパート 2〜3時間(デパート滞在時間に関する調査) 出展調査中
午前10時から午後2時の間
■理髪店 30分から1時間程度 自宅から歩いていける理髪店までの距離は、1〜2キロメートル程度が一般的です。これは、徒歩で約10〜20分程度の距離です
午前9時から午後2時の間が多い
■スーパーマーケット 20〜30分程度 郊外や田舎では、スーパーマーケットがより遠くにある場合があり、2〜3キロメートル程度の距離になることもあります。これは徒歩で約20〜30分程度の距離です
午前10時から12時: 午後12時から2時: 夕方(午後4時以降):
■フィットネスクラブの一般的な滞在時間は、約1〜2時間
早朝(午前5時〜7時): 午前中(午前9時〜11時): 夕方から夜(午後5時〜8時):
■郵便局の滞在時間は、一般的に10〜20分程度です
午前10時〜12時: 午後2時〜4時: 夕方(午後4時〜5時半):
■役所での滞在時間は、手続きの内容や混雑状況によって異なりますが、一般的には30分から2時間程度です。
午前9時〜11時: 午後1時〜3時: 夕方(午後3時〜4時半):
■イトーヨーカドーの滞在時間は、買い物の内容や目的によって異なりますが、一般的には約1〜2時間程度です。
午前10時〜12時: 午後2時〜4時: 夕方(午後4時〜6時):
■小学校、中学校、高校、大学の滞在時間を推定してください
■病院 一般診察: 約1〜2時間
午前8時〜10時: 午前10時〜正午: 午後1時〜3時:
■医院 一般診察: 約30分〜1時間
午前8時〜10時: 午前10時〜正午: 午後1時〜3時:
病院情報
京急ストア 35.36728848674138, 139.6299896697414
幼稚園、保育園が、この近くにはない
高校はない
図書館もない
tdiaryで日記を書き込もうとすると、以下のメッセージが表われます。
500 Internal Server Error
Security Error: Possible Cross-site Request Forgery (CSRF)
Diagnostics:
- Protection Method is 1
- Mode is replace
- GET is not allowed
- Request Method is POST
- Referer is another page
- Given referer: https://kobor.sakura.ne.jp/diary/update.rb
- Expected base URI: http://kobor.sakura.ne.jp/diary/
- Expected update URI: http://kobor.sakura.ne.jp/diary/update.rb
- CSRF key is nothing
(Exception)
./tdiary.rb:1377:in `csrf_check'
./tdiary.rb:1318:in `initialize'
./tdiary.rb:1405:in `initialize'
./tdiary.rb:1508:in `initialize'
./tdiary.rb:1556:in `initialize'
./tdiary/dispatcher.rb:151:in `new'
./tdiary/dispatcher.rb:151:in `run'
./tdiary/dispatcher.rb:238:in `dispatch_cgi'
update.rb:26
Generated by tDiary version 3.0.2
Powered by Ruby version 1.8.7-p374
セキュリティについては、この際、度外視して、「tdiaryを使い続けるのみ」という観点から、どなたか、ご助力下さい。
できれば、tdiaryもRuby(未経験)もバージョンアップ等なしで、さくっと動くようにして頂ければ幸いです。
メールアドレスは、以下をご利用頂ければ幸いです。
プロトタイプのロングラン開始。
とりあえず1万8千人のエージェントのトラッキングに、約5時間の予定。
現在、66万トラックの記録を確認。現時点で、クラッシュなし。
トラッキングDBが破綻しないことを祈りながら、ひたすら終了を待つ。
時間がかかりすぎるので、複数の計算機(100台くらい)を並列に走らせる仕組みが、必要になるかもしれない。
ーーーーー
おわった。取り敢えず第一回めは回った
agent_db=# select count(*) from agent_track;
count
---------
1164170
(1 row)
2004/01/10
[その1]
インターネットが、電話線で細々と繋がっていた頃、私は未来のインターネットを夢想して、張り切って特許明細書を書いてましたが、私より数段偉くて頭の良い人から『意味がない』と論理的に説得されてその執筆を止めてしまったことがあります。
そして今、その発明を他社が実施しているのを悔しい思いで見ながらも、今なお、その論理を論破できない自分がいます。
私が心の底から悔しいと思うことは、世間がなんと言おうが、論理的に破綻していようが、私が信じるものは絶対である、という狂信的な思い込みを持ち得なかった自分に対してです。
-----
[その2]
数年前に私が結婚を決意した時、私の回りは一斉に反対の声を上げました。
私に結婚を思い留まらせる為に合宿まで企画されました(本当)。
『写真のこの娘は堅気の娘ではないか。暗黒サイドのお前とは所詮住む世界が違う!』(暗黒サイドって何?)。
実際、その当時彼女自身、本当に私と結婚したかったかどうかも疑わしく(と言うと嫁さんは『何を言うの!たとえ、あなたが売れない場末の芸人であっても、私は・・』と言い返すのですが)、私は彼女の意見すら十分に聞かずに結婚に踏み切りました。
-----
[結言]
私達は自立した社会人として、人の話をきちんと聞かねばなりません。
しかし時として「人の話を聞かない能力」を問われるものが世の中に2つだけあります。
それが「特許」と「愛」です。
お忘れなきよう。
最近、非常識な悪ふざけを、Twitter等のソーシャルメディアに投稿して、騒ぎになる事件が後を立たないようです。
かかる事件を置こす彼ら/彼女らは、共通して、以下に示す「5重の低能さ」を露呈していると考えます。
-----
(1)そのような所業しなれば、自己アピールができないという「低能さ」
(2)上記(1)を記録媒体に残すという「低能さ」
(3)上記(2)をネットワーク上に配布するという「低能さ」
(4)上記(3)の行為が社会的に認容されるという見込の甘さや、そのような自体によって発生する影響を推定できないという「低能さ」
(5)ニュース、新聞等のメディアを全く視聴していないという「低能さ」
-----
これは、「低能 of 低能s」、まさに「低能のエリート」「低能の帝王」といっても言いくらいの、低能さです。
これは、冗談でも皮肉でもなく、心底から敬意に値する「低能さ」だと私は思っているのです。
同じ「低能」であるなら、ここまで極めなければならない。
人間は、どうしても、ここまでの「低能さ」を発揮することは難しいと思うのです。
-----
それともう一つ、彼ら/彼女らの行為は、素晴しいことをしてくれています。
このような、ニュースになっている程度の規模を発生させている「低能者」は、私の計算する限り、100人には至っていないように思います。
この数は、本当に事件を発生された確定的にGivenな固定の人数であり、その人数以外には当て嵌まらないと言って良いでしょう。つまり、この100人以上の人間には、無関係であることが、はっきりしているからです。
我が国の15~22歳の人口は、ざっくり、960万人ほどいるのですが、その内の、100人というのは、
「10万人に1人」程度です。
これは統計的な観点から見た「母集団に対する歩留まり」から考えても、
―― 驚異的に小さい値です。
このような観点から見ると、「5重の低能さ」は、間違いなく個人の資質に起因するものと断定して良いでしょう。
このような「低能」さを、若い世代全体に一般化する人(マスコミや評論屋も含めて)は、若者に対して「失礼にも程がある」上に、その程度の計算もできない程、自分自身が「低能」であることを主張しているようにさえ見えます。
-----
私達の世代は「しらけ世代」「遊んでばかりいる大学生」と批難されていました。
しかし、私が知る限り「しらけ」つづけていて、続けられるような勉学ではなかったし、「遊んでばかり」いて、卒業できるほど大学のカリキュラムは甘くはなく、本当に、日々、勉学とのバトルでした(少くとも、私には余裕などなかった)。
ですから、無神経に、このような「一般化」を、マスコミや世間を、心底から
―― 「憎悪」していました。
-----
若い世代に対する、根拠のない不当な「一般化」は止めましょう。
「五重の低能者」は、その資質として「選ばれし低能者」であり、
世代とは全く無関係に、本質的に根本的に絶対的に「低能」なのです。
https://qiita.com/toshibe/items/e05ebe152e579ad39a58
で、色々問題がでてくるけど、
https://qiita.com/tiri/items/5ad8d173df2c3823a265
の記載の内容で対応できました。
docker-compose build
docker-compose up -d
docker exec -it flutter bash
cd workspace
flutter create .
flutter run -d web-server --web-port=${WEB_SERVER_PORT} --web-hostname 0.0.0.0
さて、これでサンプルは動かせたんだけど、さて、コーディングはどうやるのかな?
docker exec -it flutter bash でシェルに入った後、
root@0c0fd167601e:/usr/local# ls
Android bin etc flutter games include lib man sbin share src workspace
root@0c0fd167601e:/usr/local# cd workspace/
root@0c0fd167601e:/usr/local/workspace# ls
README.md android ios linux pubspec.lock test windows
analysis_options.yaml build lib macos pubspec.yaml web workspace.iml
root@0c0fd167601e:/usr/local/workspace# cd test
root@0c0fd167601e:/usr/local/workspace/test# ls
widget_test.dart ← これがターゲットのソース(だと思う)
root@0c0fd167601e:/usr/local/workspace/test#more widget_test.dart
// This is a basic Flutter widget test. // // To perform an interaction with a widget in your test, use the WidgetTester // utility in the flutter_test package. For example, you can send tap and scroll // gestures. You can also use WidgetTester to find child widgets in the widget // tree, read text, and verify that the values of widget properties are correct. import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:workspace/main.dart'; void main() { testWidgets('Counter increments smoke test', (WidgetTester tester) async { // Build our app and trigger a frame. await tester.pumpWidget(const MyApp()); // Verify that our counter starts at 0. expect(find.text('0'), findsOneWidget); expect(find.text('1'), findsNothing); // Tap the '+' icon and trigger a frame. await tester.tap(find.byIcon(Icons.add)); await tester.pump(); // Verify that our counter has incremented. expect(find.text('0'), findsNothing); expect(find.text('1'), findsOneWidget); }); }
という記載が見える。
とりあえず、ここを書き換えれば、最初のアプリが作れるのかな、とアタリを付けています。
上記間違いでした。
vscodeで直接dockerコンテナの中を編集できるので、(これについては、どこかで話ます)、ターゲットは、lib/main.dartでした。
で、ちょっと変えて動くかどうか調べてみました。
という変更をして、
flutter run -d web-server --web-port=${WEB_SERVER_PORT} --web-hostname 0.0.0.0
を実施してみました。
で、http://192.168.0.23:8888 (192.168.0.23: DockerコンテナのあるPC)で、ちゃんと変更されているようです。
とりあえず、これで、改造するポイント分かりました。
その後、このlib/main.dartを
https://zenn.dev/ryouhei_furugen/articles/583b1003ebcfc1の
(Flutterのサンプル カウンターアプリ)にさしかえさせて頂きました。
問題なく動きました。
https://docs.flutter.dev/get-started/test-drive
ざっくり、翻訳してみておく
These tasks depend on which integrated development environment (IDE) you use.
これらの作業は、どの統合開発環境(IDE)を使うかによって異なる。
Select your preferred IDE for Flutter apps.
Flutterアプリに適したIDEを選択する。
flutter
fluter
とタイプするtest_drive
.lib
directory, then the main.dart
.The previous commands create a Flutter project directory called test_drive
that contains a simple demo app that uses Material Components.
先ほどのコマンドでtest_driveというFlutterプロジェクトディレクトリが作成され、Material Componentsを使ったシンプルなデモアプリが含まれる。
Run your example application on your desktop platform, in the Chrome web browser, in an iOS simulator, or Android emulator.
デスクトップ・プラットフォーム、Chromeウェブ・ブラウザ、iOSシミュレータ、Androidエミュレータでサンプル・アプリケーションを実行してください。
flutter
fluterとタイプする
After the app build completes, your device displays your app.
アプリのビルドが完了すると、デバイスにアプリが表示されます。
Flutter offers a fast development cycle with Stateful Hot Reload, the ability to reload the code of a live running app without restarting or losing app state.
Flutterは、ステートフルホットリロード(Stateful Hot Reload)、つまりアプリを再起動したりアプリの状態を失ったりすることなく、実行中のアプリのコードをリロードする機能によって、高速な開発サイクルを提供します。
You can change your app source code, run the hot reload command in VS Code, and see the change in your target device.
アプリのソースコードを変更し、VS Codeでホット・リロード・コマンドを実行すれば、ターゲット・デバイスで変更を確認できる。
lib/main.dart
.pushed
to clicked
in the following string. It is on line 109 of the main.dart
file as of this writing.Original | New |
---|---|
'You have pushed the button this many times:' , |
'You have clicked the button this many times:' , |
Your app updates the string as you watch.
変更を保存する:すべて保存を実行するか、ホットリロードをクリックします。
docker ps -a --filter "status=exited" --format "{{.ID}}" | xargs docker rm
https://airensoft.gitbook.io/ovenmediaengine/getting-started
のコピペ
OvenMediaEngine は、AirenSoft の Docker Hub (airensoft/ovenmediaengine) リポジトリから Docker イメージを提供します。 Dockerイメージを利用することで簡単にOvenMediaEngineサーバーを利用することができます。詳細については、「Docker 入門」を参照してください。
OvenMediaEngine は、さまざまなオープンソースやライブラリと連携できます。まず、以下で説明するように、これらをクリーンな Linux マシンにインストールします。 OME はほとんどの Linux パッケージをサポートできると考えていますが、使用するテスト済みのプラットフォームは Ubuntu 18 以降、Fedora 28 以降、および CentOS 7 以降です。
prerequisites.sh スクリプトが失敗した場合は、実行しsudo apt-get update
て再実行してください。これで十分でない場合は、手動インストールに進みます。
次のコマンドを使用して、OvenMediaEngine ソースをビルドできます。
$ systemctl | grep oven
ovenmediaengine.service loaded active running OvenMediaEngine
と稼働状態を確認できる
Fedora で失敗する場合はsystemctl start ovenmediaengine
、SELinux が原因である可能性があります。「トラブルシューティング」の「SELinux の確認」セクションを参照してください。
デフォルト構成では次のポートが使用されるため、ファイアウォール設定でポートを開く必要があります。
ポート | 目的 |
---|---|
1935/TCP |
RTMP入力 |
9999/UDP |
SRT入力 |
4000/UDP |
MPEG-2 TS入力 |
9000/TCP |
オリジンサーバー (OVT) |
3333/TCP 3334/TLS |
LLHLS ストリーミング * 非 TLS 経由のストリーミングは、最新のブラウザでは許可されません。 |
3333/TCP 3334/TLS |
WebRTC シグナリング (取り込みとストリーミングの両方) |
3478/TCP |
WebRTC TCP リレー (TURN サーバー、取り込みとストリーミングの両方) |
10000~10009/UDP |
WebRTC Ice 候補 (取り込みとストリーミングの両方) |
TLS を使用するには、証明書を設定する必要があります。詳細については、「TLS 暗号化」を参照してください。
次の例のようにファイアウォール ポートを開くことができます。
最終更新
This section describes the development and builds process.
OvenPlayer uses npm and webpack when building. If you are using npm for the first time, please refer to Install Node.js, npm. In addition, you need to configure the environment to keep this up-to-date and working.
If npm works well on your system, run the following command in Terminal to install the packages needed to develop OvenPlayer, such as webpack.
If you want to modify the source code, you need to write it manually.
If you are cloning a project for the first time, you can find already built files in the
dist/
directories.
However, you can build your modified source code with the following command. The built source code can be found in the dist/
directory.
This command allows you to build the webpack automatically whenever the source code is modified.
It is inefficient to build code every time during development and testing. If you use the watch function, webpack detects changes in the source code and automatically builds it quickly. The development built source code can be found in the dev/
directory.
Last updated