Rubyでwebrickを利用して、簡易的にhttpサーバー(Webサーバー)を作成、起動する方法

windwos10Pro64bitです。

基本的には静的サイトの表示で利用します。cgiとかを利用しようと思うといろいろエラーが出たので解消には至っていません。

とにかく次のファイルをデスクトップに作成してください。

webrick.rb

require 'webrick'

server = WEBrick::HTTPServer.new({ 
    :DocumentRoot => './',
#    :BindAddress => '127.0.0.1',
    :BindAddress => '192.168.0.3',
    :Port => 8000
})
server.start

index.html

<h1>index.html</h1>

サーバー起動方法

  1. コマンドプロンプトを開きます。
  2. カレントディレクトリをデスクトップにします「cd Desktop」
  3. 「ruby webrick.rb」を実行する。
  4. ブラウザのアドレスバーに「192.168.0.3:8000」を入力しエンター。

「webrick.rb」と同じ階層に「index.html」があれば、index.htmlの内容が表示されます。
もしindex.htmlがなければ、「ディレクトリインデックス」が機能し、webrick.rbファイルがあるディレクトリの一覧が表示されます。

他の端末からもブラウザのアドレスバーに同様な入力をすればindex.htmlが確認できます。

コメントをひとつずらして、「127.0.0.1」を有効にすれば、アドレスバーには「localhost:8000」と入力します。

RailsのScaffoldを久しぶりに利用する

いろいろ忘れていてもうアプリ開発は出来ないです。

昔、ウソかホントかはわからないが、アメリカで数年間バッチファイルに仕事をさせて収入を得ていたサラリーマンがいる記事を見たことがある。会社としてはダメなので結局クビになったらしいが、すごいよね。でも本人が言うには「もう同じプログラムは書けないし、プログラムの書き方すらも忘れてしまったとのことです。私もいまそんな感じです。

Scaffoldの超基本

rails new testapp
※gemが足りなければ個別でいれる
gem install sqliteなど
bundle install

rails g scaffold user user:string age:integer
rails db:migrate

rails s
http://localhost:3000/users

いざ記事を書く!と思いきや…何も書けない。

結論

何もなくても書け。今日のお昼のおかずについてでもいい。そこから派生させて書いてみろ!

とにかく動く、実践する…。

何も書けない…。敵前逃亡…。
書きたい気持ちは山々だが、いざとなると動けなくなる。
これもきっと「ちゃっとしないといけない症候群」なんだろうな。

逆手に取る!?

現代人はせっかちで時間がない。そのくせわがままですぐに答えを得ようとする。それができなかったら…逆ギレするのだ。言い過ぎか笑。

それではシンプルに相手が求めているものを提供しましょう。
大した記事でもないのに長々と結論見えずに相手の時間を奪うことが悪となってきている最近です。個人的にはそう思います。もしかしてこの記事も?はっ!?

肉を切らせて骨を断つ戦法!

調べてみると捨て身の意味が強いようですね。個人的には投資の意味合いだと思っていましたが。ギブアンドテイクって意味も感じてました。要は試食みたいな感じでしょうか?

キーワードはニーズだ。そして向こう側見る。

  • 「胸筋 トレーニング」→筋トレの中でも胸をあえて調べている。上半身をかっこよくしたいのかな?モテたいのかな?
  • 「足 速く 方法」→運動会が近いのかな?1位になりたいんだね?なってどうしたいのか?モテたいいのか、勝ちたい相手がいるのか?
  • 「肌荒れ ビタミン」→肌荒れ勘弁してだよね。ビタミンで検索しているけど、いろいろ検索してビタミン不足だと思ったのかな?モテたいのかな?

全部、モテたいのかな笑?

コンテンツ作成

タイトル

読み手にストレートに伝わるベネフィットを書こう!

書き出し

期待、グッと引き込み、思わせぶり内容を明確に書こう!

本文

徹底的にわかりやすく書こう!

結論

もう一度、明確に伝えること書こう!

スタンス

いろいろ考えて「ダメだ、こんな上手に書けない」と思うくらいなら、上記のルールは無視してとりあえず書いてみよう!

引用

https://bazubu.com/10stepscr-1097.html

Javascriptやプログラミングの勉強方法について教えようと思ったけど、考え方のほうが大事だと思った件について

少ない努力でプログラミング?

「え~変数の宣言、設定の方法は…」それは入門書を読んでください。

条件分けif文の基本、繰り返しfor文の基本、関数の定義、文字列操作、演算子、正規表現など、入門書の巻頭のインデックスに記載できそうな項目はたくさんあります。プログラミングでは「できること、やりたいこと」が多岐に渡るので、学ぶ人に合わせて隅々まで教えるというか、つきっきりで手取足取り教えることはできません。逆に言うと、考え方次第では意外と少ない努力で利用可能なツールを作成することができるということです。

「少ない努力」とは他の検定試験や資格試験よりは少ないかもということです。司法試験対策の勉強よりは覚えることが少ないと言えます。(細かいことを言えば、同じかもしれない。プログラミング言語もかなり奥が深いから。)

プログラミングとは、専門性の高い技術だと思われがちだが、応用範囲はむしろ生活に密着している。思考力を高めるほうが有用性が高いと言える。確かに司法試験に合格すれば、しばらく安泰かもしれない。しかし、今後グローバル、経済格差、個人活動への流れが進んでいくので、弱肉強食の要素がいまより強くなっていくと思う。だから、筋肉を鍛えるように思考力を鍛えないといけない思います。

Javascriptの入門をまとめようと思って書き出したが、出だしから感想になってしまった。

私が書くまでもないなと思いました。むしろ素人が書くとデタラメなこと書きます。それに世間には素晴らしい参考書が出回っているので、結局それらをなぞるだけです。自分で書く目的としては自分のために書いているのかもしれません。自分で書くと当然「自分寄りの記事」が出来上がります。

例えば演算子の説明。入門書では「+」から始まり「-」「」などすべてを網羅する書き方をします。いや、入門書はそうでなければいけません。しかし、自分は日々のプログラミングで「+」以外の算術演算子をあまり使ったことがありません。(そうです素人プログラマーです。)使ったことはあります。しかし圧倒的に利用頻度が少ないです。「これらの-、、/を使わないと八方ふさがりだ!」という時まで使おうとしないかもです。(そうです、あたすが変なプログラマーです。)

自分の鉄板を大事にする。

「自分で書いたコードを説明できますか?」

コードを書いてツール、アプリ、サービスを作ったら、一度コードを読み直すことをおすすめします。そうやって自分の中でデータを積み上げていって、傾向と言いますか、クセが見つかると思います。それが良くも悪くも「目的通り動いている(やりたいことが達成できている)」のであれば、自分の鉄板として懐に大事にしまったほうがいいです。そして、いつでもどこでもソラで書けるように可用性100%にすることが理想です。それができなければドキュメント化しておいていつでもどこでもアクセスできるようにしておくのが大事です。誰のコードでもない自分のコードだからこそ覚えも早いと思います。

でもコーディングルールは合わせないと他の人が困るよ

そうですね、他の人と一緒に何かを作るならルールが必要です。

共同作業時の「コーディングマナー」問題。

逆にそんなことあります?自分のスタンスとして「書いたアプリ、サービスが軌道に乗って需要があり、マネタイズが十分に行われている状態」になっているときは報酬払って他人に保守させます。リファクタリングも結構です。潤っているときは自分が誰かと共同でコードを書くことはないです。うまくいって他人を雇えるようになったときの話ですよ?それ以外はまだまだ自分1人で出来るからルールなんて必要ないんです。うまくいったときの話ですよ!

ちなみにこんな自分でも労働者として会社で働いているときは、ルールを無視したり、独りよがりの業務フローで振る舞っていた人は、人として受けれ難かったです。会社員ですから、その辺は我慢して生活のためにやりましたけど…。だからプログラミング頑張ろうと思っていたのが懐かしいです。ひとりなら何をどうやったっていいと思います。

ドキュメントとはルールである

そう考えると「ドキュメント」ってかなり大事ですね。

言い過ぎかもしれないですが「いいドキュメントは人類の宝ともなり得るかもしれません。」もちろん誰をターゲットにしたドキュメントかを見極める力も必要です。独りよがりのドキュメントなのか?工夫されたドキュメントなのか?逆に「いいドキュメントを書くことも難しい」と言えます。だから「いいドキュメントに出会うことも稀」ということです。世に出ている本がいいドキュメントとは限りません。本はお金で出版できますから。

会社のファイルサーバーに埋もれたク〇みたいなドキュメントはホントにゴミでしかないです。ゴミなら捨ててもいいんだけど、たちが悪いのが「一応取っておこう」と言う人がいることです。結果、ファイル検索のときに邪魔になるんですね。

世の中がいいドキュメントだらけになったら「良い悪い」がなくなるんですね。「良い」が当たり前になるんですよ。そこで「悪いドキュメント」があると今度は逆に悪いドキュメントが目立つようになります。まぁそういう世界になったら、悪いドキュメントを書く人が少なくなったということなので良いことですけどね。

ドキュメント作成時に注意すること。

「人はロボットのように作業はしない」ということです。例えばやることを箇条書きにドキュメント化します。その作業が自分にとって無責任ならばドキュメント通りに作業を行うかもしれません。

余談ですが、私も経験あります。工場ラインでご飯にタレを塗る仕事。あれは厳密言えば責任あるでしょうけど、ほぼ無いです。だってスプーンでタレ伸ばすだけですから。そもそもドキュメントもルールもないですよね笑。ちなみに「職業に貴賤なし」と言っておきます。

いまの自分を例にした場合、私の作業対象はパソコンやネットワーク、特定のソフトウェアです。これらの設定ドキュメントを作成したとします。再構築をするときに問答無用でドキュメントに書いてある通りに作業するとは言い難いです。そこには私自身が「再理解と再納得」を必要としているからです。(記憶力ある人がうらやましい悲笑。余談ですが、この前「ド忘れ」って言葉をド忘れしていました。ちょっと不安です。)

でもこれって、本来は「ドキュメント通りに作業、書いてある通りに事がうまく運ぶ」のが正解です。例えば、バイト君を雇って、私のタレバイトと同じようにソフトウェアの設定を、作成したドキュメントをバイト君に渡して、その通りにやらせたとします。バイト君には「再理解と再納得」は関係ないわけですね。となると「ドキュメントとは要望を達成するもの」とも言えそうです。

達成例(社内ネットワークについて)

  • AからBにつながること
  • VLANは2つ作成する
  • お互いにアクセス不可にする
  • UTMの機能利用すること
  • VPNサーバーを動作させること。
  • APをつけること

作業者がバイト君だとしても、これらが達成さえすればOKなのです。たどり着き方はいろいろあると思います。大事なことはやりたいことをはっきりさせることですね。

ドキュメント作成のコツ

やることはもちろん書きますが、その際に3か月後の自分に宛てて作成することも大事です。またバイト君でも出来るようにという意識も大事だと思います。「詳しいことは忘れていているけど、なんとなくわかっている状態」の自分に対して書くことが大事です。

小さなことからぐるぐる回すこと。あと炎上の対応方法というかスタンスについて。

根拠なき言いたいこと

「こんな記事なんて、自分なんて…」大丈夫です!そんなネガティブな気持ちは麻痺していきますから。いいことですが注意も必要です。あなたの記事がどうなるかはわかりません。

注意?

  • 最後はリスペクトで終わりましょうまたはトータルでプラス思考で終わると印象がいいです?
  • 落としたまま終わるのはやめましょう。ちゃんと最後は回収しましょう。
  • ターゲットは出来れば抽象化する。個人名は出さないほうがいい。良い評価はあり?
  • あなた自身が輩にならないこと。ビクッ!!

文豪だって1文字から始まり、演者は立つことから始まり、アーティストは一振りから始まります。じゃあ君だって始めていい!わけです笑。自分の考えを発信してもいいわけです。どこかに「ネットワークとリンクの話」を書いたかな?良くも悪くも、意図しても意図せずも物事は点があればそこから影響を受けて伝播していく可能性があります。

ネットについて

ネット世に出てきてから「誹謗中傷、炎上」現象が加速している昨今ですが、正直「アクセスされている」わけですからその時点で勝ちですよ笑!

はごろもフーズのCMのように粒は波紋となり周りに広がっていきます。あのCMすごく記憶に残っています。フルーツ缶詰好きです。

あなたが離脱するのもあなたの自由

誹謗中傷、炎上で苦しい思いをしたあなたにかける言葉は正直に「(離脱して)良かったね~」と心の底から言いますよ笑。あなたの心の平穏を祝います。

その誹謗中傷、ロボットではないですか?

ちなみにコメントやレスポンスってロボットだと思っていいですよ!投稿者が誰かわからないなら正直ロボットやAIとして自己解釈していいんですよ。世の中には天才たちが凝ったツールを作っているのでロボットである可能性あります!と考えてください。もちろんほんとは人かもですよ。でもそういう心の持ち方、考え方(「相手はロボット、ツール、AIだ!」)もできるということです。あなたはあなたで存在してますけど、コメントは「誰でもいい誰か」ですから。それに情報のウラ(これは人かロボットか?)をとるのは面倒です正直はい笑!!

不戦勝!?

シンプルにあなたは2つ持っているけど、相手は1つしか持っていませんからね。そう考えたら心の中で「クスっ」って笑えません?え?とんち?あなたは見ることもできます。相手は見ることしかできません。みんなお金好きですか?お金に例えると、あなたは1億円持っています。相手は10万円です。あなたは安いアパートに住むことも選択できるし、超高級マンションを買うこともできます。相手は安いアパートしか今後も一生選択できないわけです。完全なる優位です。え?もっとわかりにくい?すいません、勉強します!
余談ですけど、「完全なる」で思い出しました。リンカーンの運動会の松ちゃんの「完全なるペッタンではなーい!」あれ面白かったですね。

もちろん、私自身もいつかショックを受ける日が来るかもです。心は生ものですからね。そればっかりはわかりません。

一方、炎上に強い人もいます。炎上=ある程度のアクセスがあるってことですからね。間接的にも、直接的にもそこからマネタイズする人もいますよね。素晴らしいと思います。まさに柔よく剛を制す。使い方間違ってます笑?