この投稿は、2020年は4月の5日と、同年は同月の6日に、メッセンジャーに記していた雑記を、ブログ用に纏めたものです。
この投稿では、メッセンジャーのマークをブログに貼り付けたり、plurkの小窓をブログに貼り付けたりとしていることやら、urlを弄ることと同じくの、環境の構築についてを記しています。 但しですも、それぞれのかたに合った方法というものがありますは勿論ですので、この投稿で記していることが全てではありませんことはお断りをしておきます。
まずですも、これな時期ということもあり、LibTermを入れました。
これは開発ツールのパッケージ集のようなものですが、何も入っていないといいますか、これだけであれば、私を含めての殆んどのかたは何もできません。 それな理由と致しましては、殆んどのコマンドやらツール類は入っていませんので、LinuxだBSDだsysvだsolarisだなどと曰うかたが多くとあった時期と同じで、Unix系と言われるものを、Windows系と同じように使用をしたいかたには向いていないということです。 自身を含む、コマンドやらツール類のお世話になっていたかたにも向いていません。上記のOSを弄るかたはこのようなタイプのかたが多いですね。
これなLibTermですも、要するに、欲しいものは自分で作れ。というものです。
では早速ですもリストにしていきますと、よく使わせて頂いているものは以下です。
- open
そもそもブログなどを取ってくるwgetやらが使えませんので、これで取ってきています。 ローカルなファイルの受け渡しもできますし、インターネットという意味合いでは、ブラウザが開いてブログなりの閲覧ができます。
- curl
ブログなどのソースコード、つまるところですも設計図を観たいときに使っています。 まあ殆んど観ませんが、bloggerでは独自な仕様のタグ(命令)も多く、Googleのヘルプサイトで使用例なども観ることができますが、実際の使われかたを観ることも良いことでもあることからにであり、また、この方法では、アクセスをしたブログなりのアナリティクスに履歴は残らなかった気が致します。
- edit
ですが、おそらくのところですも、これの使用を最も多くにしていると思いますも、それな理由ですが、モバイルのエディターは手書きができるものであったり、色を自由に付けたり、その他便利な機能が豊富にあるものや面白いものが多いですが、基本の機能と致しましては、当然にしていわゆるパソコンのものより劣っていたり、課金があったりとするわけであり、多少の金銭を掛ければ良いことは勿論ですも、重くなったり、いきなり止まったりと、自動で膨大な処理をさせるに向いていないわけで、また、実際にどのようなものであるのかが分からずであったりとするなど、このような理由からです。
- grep
- egrep
などがありますので、差分などの違いが瞭然になりますし、
- diff
での差分のチェックができます。
- tee
これは要らないですが、標準出力、つまるところ画面とファイルの両方に書き出せますし、
- tr
で置換やら削除ができます。
- uniq
で重複をする行の削除ができ、
- cat
があることで、データやら書き物のファイルの閲覧や連結に便利ですし、
- wc
で行数やら文字数を数えて頂けます。
- head
- tile
でファイルの先頭/末尾の表示ができますし、
- sum
- stat
- chksum
などは殆んど使用をしませんが、自分がファイルの改変をしたかどうかのチェックができます。
- touch
でタイムスタンプというものの変更ができます。
それから、使いませんが、音声で喋らせたければ、
- say
があり、英語では動きますし、ローマ字で入力をすれば、おもちゃですも日本語のような話しかたもできます。
- sed
が入っていますので、大概のテキスト処理ができますし、私と致しましては、emacsがないことが気に入らないだけのことです。勿論、データベースであるpostgresqlなどは入っていませんし、perlなどもありませんので、
- awk
で文字列処理だデータベースだをしなければならないですが…流行りのリレーショナルデータベースのようなことも、やろうと思えばできますので、良いかな。という程度です。
- pbcopy
- pbpaste
で、標準出力、つまるところですも端末の画面をクリップボードにコピーをしたり貼り付けをしたりということができるようですし、ディレクトリーやらファイルの移動やら作成やら削除もあります。
その他、ファイルの圧縮やらも一通りありますので、容量の節約ができます。
- lua
- luac
で使いませんがスクリプトだコンパイルだができますね。
- python
も入っていますので、お!と思いました。
- xargs
でファイルを標準出力、つまり端末の画面に書き出して実行ができ、これをよく使います。
はC言語用のコンパイラであり、つまり実行可能形式という、ソフトウェアの形にするときに使うもので、gccとかbccがないですので、これしか選択肢がありませんが、重宝をしますね。そもそもbccっていつの時代だ。時代は統合開発環境であるIDEだ。という20年ほど前のこともありましたが、自分用に作るには良く、Windows系のC言語用のコンパイラでは、未だにこの系譜が最強です。
- livm-link
でライブラリーというもののコンパイルなどができますね。
- lli
でバイトコードが作れます。 文字列の末尾を示す終端文字を弾いてのシェルコードなどで悪いことをしていた人も多いでしょう。
リンカはldがないので、まあ…
インラインでAT&T構文を弄れるそうですし、後は、デバイスドライバー系というものでの組み込み系があれば面白いですが、こんなところです。何だか大昔のかたのようですが…
さてはここまできますと考えることと致しましては、バージョン管理というものやらリビジョン管理というものですも、それにつきましてはgithabだかgitbookというものの使用をしても良いんですが、それは更に膨大な量になってからのことであり、一応ですも登録だけして放ったらかしです。 このリビジョン管理というものですも、cvsの使用をしていたことがあるんですが、たちまちは上で全てできますね。
このような考えに至りましたは、読み物の数が膨大になってきたことからにですも、自分が使いやすく、余計な機能のない、単機能で高性能で小さく速いものが良い。ということからにです。 他にですも、awkで数値から自動でグラフの表示ができるようにしようとはしていますが、これはですも、あらゆることに使えて、ごくごくの一例を挙げますと、ものごとの進歩状況の把握や、好みやら類推などの抽出などがありますね。
さてのその後にですも、
- catをして端末の画面に表示をしたファイルにawkで行番号の表示ができるようにしました。
簡単なことであるわけですも、これがものすごく重宝を致します。
- 街のできかたシミュレーション(自動で*やら数値が増える…他のシミュレーションにも使える)を途中まで作成をしました。
これは重くなりますので、小さく分解をしてのそれぞれを他に使えば良いかなと思います。awkでこんなことをする奴はバカタレですが、確認ができることと致しまして、一つのファイルに全てを収めずに、このような結果になればこのファイルを画面に表示をする。などというように、ファイルの読み込み時に起こる多少のオーバーヘッド、つまるところ一瞬であったにしろ、処理に対しての時間が掛かかることと、そのことに対して資源の一部を使っていることから、他も影響を受けるわけですが、に目をつむってでもモジュール化をするほうが良いのか?などという考えかたの良し悪しについてです。
他幾つかの簡単なスクリプトを組みましたが、基本的にawkというものですも、端末の画面に直接に打ち込んで利用をするものですので、いちいちとファイルにする必要はないわけですが、ともかくと致しましてですも、拡張子が.awkのファイルはモバイルでも作れる。ということが分かりますね。 気を付けなければならないことと致しましては、同言語にも幾つかの派生物があり、それぞれで微妙に違う部分があるということですが、そこは置いても同言語が得意としているところの文字列というものを扱かうことが自身のモバイルでも行ないやすくになりました。 *これが分かるだけで、できることがかなり広がるわけです。
次ですも、C言語で記述をした、拡張子が.cのファイルを、clangというものでコンパイルということをしてのソフトウェアのようなものにしようとした次第ですも、拡張子が.oの実行可能形式のファイルができあがりませんので、少し弄ってできるように致しました。
実行可能形式というものですが、スマートフォンであれば、沢山のアプリがありますし、Windowsであればexecと言われているものと、基本的には同じであると考えて頂いて差し支えはなく、Unix形式の.oとモバイルのそれとはそもそもが違い、これが原因の一つであったのか、やりかたが違うのかどちらかですね。
現在ではスマートフォンをはじめとするモバイルでもアプリの開発環境は整ってきていますし、沢山のかたがこれを行なっていて、よくApp Storeで公開をされているかたもいますが、それらともまた違います。 要するにパーソナルコンピューターや他のものでも改変をせずに若しくは少しの改変で動くようにしておくことも、考えかたのひとつであるわけです。
湯水のようにお金を掛けるは良いことであり、それもひとつの方法ですが、その方法ではここで記しているようなことに気が付けないわけであり、人が言うことのおうむ返しにしかならないわけですが、この投稿ではですも、コンピューティングだけではなく、車や他、小さな様々な部品の集合というモジュールというものの考えかたを記しているわけです。 組織などを観てもこの考えかたで動いている部分も多くとあります。
ともあれ、書き物をする環境がかなり良くなりました。
補足と致しましてですも、取り敢えず自分のシステムで動かせるようにしました。 昔の工場の産業機械への組み込みのものと同じような感じですが、普通にやってはできませんので、昔はこのような方法をよくとっていたわけです。
少しですが専門的に記しますと、このようなことは反則技ですも、下のリストのようなことを行なっているわけです。 *最後から記しています。ややこしいかもしれませんが、下から行なっていき、リストの3番目までができれば、様々な機械で動くものができます。おいおいと簡単にして公開をしてみようと思います。
- 最終的にはバイトコードというものにしたいわけです(ビットコードではない)が、ここではやっていません。
- 各々の、例えばスマートフォンのiPhoneやらAndroid端末やらMacやWindows他に最適化をした実行可能形式、つまりソフトウェアにしたいわけですが、ここではやっていません。
- 取り敢えずですも、llcがありませんので、lliでプログラムを動かすことを考えます。
- lliで動く、拡張子が.bcのファイルを作る必要があるわけですが、このファイルを作ることができれば、libtermどころか、少しの変更で、どの機械でも動くものを作ることができます。
- 拡張子が.bcのファイルを作る為に、拡張子が.llのファイルを作る必要があります。
- 拡張子が.llのファイルを作る為に、llvmのお世話になるわけで、llvmに拡張子が.cのファイルを渡してあげれば良いわけです。
- 拡張子が.cのファイルを作る必要があります。
- C言語を覚える必要があるわけです。
ということで、例えばですも、アセンブラですが、これができれば一番良いわけですも、これな言語は機械の種類ごとに違うわけです。 と致しますと、機械の種類を考えずに作れるほうが良く、様々なオペレーティングシステムで動くほうが良いわけです。などと考えるかたも多くといるわけです。
また、一時流行りましたところのスマホでUnix系のツールを動かす方法と致しまして、ジェイドであるのかジャイルであるのかというような方法がありますが、これな方法はと言いますと、車の改造と同じであり、そのままであれば車検を受けることができませんので、それな時分には元に戻しますが、スマホのアップデートだったかができなくなりますので、わざわざ元に戻さなければいけなくなる。という次第のことであり、お勧めは致しません。
ma1d3n Facebook yositaka akase ma1d3n Kindle yositaka akase
コメント
コメントを投稿