いっせいの!!細かなつぶやき

細かなことをぽつぽつと呟いてます

2019-01-01から1年間の記事一覧

言いたいことは言いたい(笑)

日韓関係:互いを敵視してしまうのはなぜなのか(古谷有希子) - 個人 - Yahoo!ニュースを読んで。流石に二度目ともなると言いたいことがある(笑) 日本(政府)が歴史修正主義的だとの主張について 韓国の学校では、韓国が1919年に独立したとか、第二次世界大戦…

思いつき

Javascriptのpromiseは実行条件が整ったらコールバック関数を実行する。 だから、非同期処理ではコールバック関数だらけになって可読性が悪くなる。 他の言語でも大体そんな感じ。 もともと逐次実行用に設計された言語に後から非同期処理を追加してるから仕…

思いつき(非同期処理言語)

非同期処理の記述言語を作るとしたら、って思いつき。例えば(広い意味の)オブジェクト指向言語だと、関数とかメソッドとか演算子とかが呼び出されるときに、暗黙の第1引数としてself擬似変数やthis擬似変数(の参照)が渡される。 これらの擬似変数やそこから…

覚書き

部品の再利用のイメージ <panel id="aaa"> <piece id="bbb"/> </panel> <panel id="ccc"> <piece id="aaa"/> </panel>名前空間も要るな

ToDo

さくらレンタルサーバーに入れるもの 基本のキ 予備のユーザー作成 ufw設定(sshのポートは最初に開ける。nfs忘れないように) sshポート 22 xxxxx 許可 nfsポートは動的確保があるので、IPアドレスで許可 (tcp udp共) Apache用ポート 8800 許可 OpenSSLポート…

がらくたにおける雑感6

モデルが複雑化してきたから、メッセージ通信の仕組みやデータの受け渡しや共有方法についてもうちょい考察が必要になったなー。 プログラミングのテストと並行しながら行うかなー そろそろ手を動かしたいw

がらくたにおける再生産性の雑感5

ここまでのまとめ → 「CRAPモデルの概要 - いっせいの!!細かなつぶやき」

CRAPモデルの概要

CRAPモデルについて 概要 オブジェクト指向的概念のMVCをメッセージ駆動概念に置き換える試み。 (C)「コンダクター(conductor)」 メッセージを調整して各ユニットと授受する指揮者 (R) 「レセプター(receptor)」 画面からの入力を受け取りコンダクターに受け…

がらくたにおける再生産性の雑感4

結局、子コンポーネントのconductorは、親コンポーネントから見たらactorに当たるのか? 一般的なactorは「入力機能」であるreceptorからの依頼で動くわけだけど、子コンポーネントは自分のreceptorからの依頼で動くから、ちょい趣きが違う。 とはいえ、acto…

がらくたにおける再生産性の雑感3

コンポーネント対応の件、なんとなく考えがまとまってきた。 コンポーネントと一口に言ってもライトウェイトなモノとヘビーウェイトのモノがある。そこには留意する。 しかしまあ、画面部品のほとんどはライトウェイトなものだ。これらはRAPの全てをメインス…

がらくたにおける再生産性の雑感2

まあコンポーネントを組み合わせることによるreceptorやperformerの複数化は、conductorとやり取りする部品だけ単一化すれば別に問題ないな。 receptor 1 -+- joint → conductor receptor 2 -+ receptor n -+conductor → joint -+- performer 1 +- performer…

がらくたにおける再生産性の雑感

再生産性というか、普通に生産性を考えれば、アプリをスクラッチから作るばかりじゃなく、個別に開発した小さなコンポーネントを組み合わせてより大きなコンポーネントを開発したり、ライブラリーの類いを利用したり出来ないと意味がない。 (画面表示や入力…

GO言語…

GO言語の入門書を読んでたけど、前半で読むのやめた。 出来ることが自由すぎる。何をするにしても副作用が大きいのに、プログラマの作法に頼らないといつ何が起こるか保証が出来ない。 何でこんな言語の人気がナンバーワンなのか、全く理解できない。 てか、…

雑感2

一番レスポンスが要求されるであろう、receptor → conductor間の通信と、conductor →performer間の通信を考えると、conductorもメインスレッドに置いて、イベントハンドラにコールバック関数を登録する形にするのが一番コストが低い。 が、conductorはactor…

雑感

フレームワークとしてはコンダクター(conductor)が主役だなw コンダクターのAPIの出来が成否を分ける気がする。 成否の基準は、自分のやる気が持つかどうか、だけだけどw とりあえず考えるべきなのは、 レセプター(receptor)が叩くAPI パフォーマー(performe…

がらくたのイメージ追記

汎用性を考えると、同一ドメインの別ウインドウや別タブと協働できる仕組みも必要だな。 今後の課題としてw まあ、この考え方だと、conductor間の通信って形になるよなぁ

がらくたCRAPのイメージ

ユニットの概要 役割 スレッド 機能 receptor メイン UIによるイベントを受け付けてconductorに渡す performer メイン conductorからの指示によりDOMを操作する conductor WORK 各ユニットから通知を受け取り、調整して、必要な通知を飛ばす actor(s) WORK …

がらくたモデル (もしくは鯉)

DOMを扱う以上、パフォーマーがメインスレッドになるしか選択肢が無い。 画面入力を受け付けられるのもメインスレッドだけ。 となると、コンダクターはイベント全般を適切に管理するイベントマネージャーに徹するべきかもしれない。 画面入力受け付けは、別…

CAPモデルとworkerの仕様の齟齬w

ブラウザ上でCAPモデルを使うとするじゃん? シングルタスクで動かすわけないから、workerを使ってマルチスレッド化するじゃん? CAPモデルでは (C)コンダクター ⇆ (A)アクター (C)コンダクター ⇆ (P)パフォーマー の通信を行うんだから、コンダクターが親に…

CAPモデル

私が思うに、まずは分業体制の観点から、入力、内部状態遷移、出力は、完全に分離されなければならない。 また非同期処理について人間が(なるべく)意識せずに済むようにしなければならない。 分業体制を考えるにあたり、 (C)コンダクター 入力機能。(コント…

ノット MVC

何度も同じ話するけど、私は、MVC(モデル・ビュー・コントロール)って考え方はしない。 MVCモデルを否定してるわけじゃないよ。 コンピュータの黎明期から、てかその数学的モデルであるチューリング・マシーンにしてからが、「入力 → 内部状態遷移 → 出力」…

再確認

ということで、パッと見つけることが出来るような人気のフレームワークで、気にいるものは無かったw 趣味でやるソフト開発なんだから、気に入らないものを使ってストレスをためる必要もない。 まずは自分が気にいるようなフレームワークを自作するところから…

ソフト開発だって製造業なんだよw

趣味のソフト開発を始めるにあたり、いろんな方面のサイトを見て、いろんなフレームワークを広く浅く調べた。 なんかさぁ、 「どのフレームワークにもオブジェクト主体信仰がはびこっていて生産性を下げてるなー」 「ビュー(に混ざったコントロール)に連結す…

いつでもどこでも、ながらスマホw

iPhoneにSSHのターミナルアプリ入れたら、めっちゃ便利で驚いてる 8,000円以上払った甲斐あるわ もう手放せないな、コレw

99里をもって半端とせよw

さくらVPS(開発用サーバー環境)に入れるもの デーモン関係 apache OpenSSL Servlet環境 CGI PHP Perl MySql FTPD 開発ツール Git JDK Kotlin npm nodejs JQuery TypeScript Clang LLVM rust 場合によってはrust-native Webpack2 autoprefixer Babel Browseri…

一区切りw

ソフト開発 手元の開発環境Win版設置完了 手元の開発環境WSL版も設置完了 GitHub立ち上げ完了 開発ブログ設置完了 開発用サーバーのOSインストール完了 テストサーバーの立ち上げ完了 後は 開発用サーバーの開発環境整備 wikiの導入 もうすぐ一息つくな そし…

新しいものが好き

あれだな、これからは JavaScript → Typescript Java → Kotlin C → Rust てことだな

Windows10でのlocalhostの名前解決について

Windows 10でApacheとIISのサーバーを立ち上げ、ローカルホストからのアクセスだけ受け取るように頑張ったw Apacheはバーチャルホストを「127.0.0.1」にして、とりあえずServerAliasで「localhost」を定義したら「http://localhost:ポート」でアクセスできる…

WSL上のUbuntu 18.04でApache2を立てた時の変更点メモ

/etc/apache2/apache2.conf 「server name」を適当に付ける 「document root」のコメントアウトを外す 「acceptfilter http none」を追加する バーチャルホスト定義 /etc/apache2/sites-availableにバーチャルホスト定義を追加する 同ディレクトリ内の000-de…

TODO

開発環境に入れるもの クライアント側(WindowsとWSLそれぞれに) SQLServer 2019 IIS apache nodejs MySql npm nodejs JDK Kotlin Webpack2 autoprefixer TypeScript Babel Browserify 2019/8/10 追加 Parcel VSCode プラグイン Easy sass Bracket Pair Color…