なずブログ

インフラSE、Java開発、リモートワークエンジニアな人のメモ帳

PHPの出力結果をhtmlにして保存。ついでにhtmlの整形。

f:id:nazuna_0124:20170304205638p:plain

ようやくできました!

いつも通り探し方が悪いのか、なかなか見つかりませんでした。


それとも用途がないのか…

これからいっぱい使いそうなのに不思議です。

ソースはこちら。(ソース貼り付け覚えたので使いたくてしょうがない

<?php
    $url ="http://localhost/test.php";
    
    //tidyが使えないとき用
    //$str = file_get_contents($url);
    $str = tidy_repair_file($url);
    
    $fname = "test.html";
    
    file_put_contents($fname, $buff);

何が起きるかとゆーと

こういうtest.phpがあったとして

<?php

$str='';
$str .='<p>aaaaa</p>';
$str .='<p>aaaaa</p>';
$str .='<p>aaaaa</p>';
$str .='<p>aaaaa</p>';

print $str;

別途test.htmlを作成しつつ

ソースがこうなっちゃうところを

<p>aaaaa</p><p>aaaaa</p><p>aaaaa</p>

ちゃんと改行してくれます!

<p>aaaaa</p>
<p>aaaaa</p>
<p>aaaaa</p>

注意点としては

  • urlはhttpからのじゃないとだめ。
  • tidy_なんちゃらを使うにはphp.iniの編集が必要。

php.iniの編集はxamppであれば「extension=php_tidy.dll」をコメントアウトするだけです。


vmwareで作ってる環境側ではこれが無くて挫折しました


どーせhtml作成の補助ですし別にいいかなって。

よしとしときます。

職業訓練の授業~42日目~DOM、九九表、テスト

f:id:nazuna_0124:20170303232129p:plain

内容:JavaScript最終日。DOM。

コメントのお返事に月末からPHPと書きましたが勘違いでした。

なんと、明日からだそうです。


というわけで、本日はjsさん最終日となりました。


午前中はフォームとDOMがメイン。



getElementByIdを覚えて終了


ドットインストールさんのJavaScript入門講座の23回相当だと思われます。


あちらは3分で終わるのですけれど


jsさんの本領を華麗にふっとばしつつ午後はペーパーテストです。



for文を手書きする日がこようとは!


ちなみに紙の資料は見ておっけ。パソコンは使用不可です


◆問題の概要

var items=['さくら','ひまわり','チューリップ'];

チーム1:さくら
チーム2:ひまわり
チーム3:チューリップ

配列だけ与えられて下記の結果を出力するプログラムを書きなさいというもの。


ん~と…?

for (var i=0;i<items.length;i++){
        document.write('チーム' + i + 1 + ':' + items[i] + '<br>'  );
}

こう書いちゃうと 「チーム10:さくら」って表示されちゃうよという罠?

手持ちの資料には、文字の連結の順番とか文字と数値の連結の話がないのでごんす。



むむぅ どうにも意図がわかりませぬ。

for (var i=0;i<items.length;i++){
        document.write('チーム' + (i + 1) + ':' + items[i] + '<br>'  );
}

答えこれであってるのかなぁ。テスト返ってくるのを楽しみにしてます。


javascriptの最終課題として10進数から2進数の変更と九九表作成でした。


九九表は2重ループのアルゴリズムという範囲になるのだそうな。


ウンウン 大事ですよね!


ぐぐってみると以外にもC言語での話題が多いです。定番問題?


そこに出てくるprintfでの桁数合わせ。

jsさんは持ってないのでスペースで合わせろになってました。


これに大苦戦。wordの苦しみをここで味わうことになろうとは…。

jsですし、テーブルでいいんじゃないかなって思います。

現実的に覚えられる方法で連番の一括フォルダ作成

f:id:nazuna_0124:20170304205638p:plain

本日の授業中の一コマ。

いつもはペーパーテストでの評価ですが

今回はHTMLなので作成したWebサイトの提出でした。


先生<「作成したhtmlは共有フォルダに格納してください。」



そして映し出されるのは、「1あべ」「2いとう」という感じで

30個を1個ずつフォルダ作成している先生の操作画面



そこはかっこよく今までの授業を活かしてほしかったのです…。



というわけで、連番のフォルダ一括作成です。

ぐぐるコマンドプロンプトの謎の呪文がヒットします。


あれ覚えるの無理です


現実的な覚えておける方法は

1 mkdir 連番 名前を作成
2 コマンドプロンプトに貼り付けで流し込む(カレントディレクトリ注意)
3 再利用もかねてテキストに保存。拡張子をbatに変更する。


名前だけ手打ちなのは仕方ないです。また使うので我慢します。

3をやっておけば、同じことがあったときに楽です。

1は方法としては2つでしょうか。

Excelで作成

連番といえばExcelさんです。

A B C D
mkdir 1 名前 =A1 &“ ” &B1 &C1

こんなかんじで並べてオートフィル。

あとはD列だけコピペでおっけー。

あえてJavaScript

効率としては意味がありませんが、せっかくなのでというやつです。

<html>
<body>
<p id="names">
あべ
たかはし
さとう
いとう
</p>

<script>
   var members= document.getElementById("names").innerHTML.split(/\n|\r|\n\r/);

   for(var i=1 ; i<members.length-1; i++){
       document.write("mkdir " + i +members[i]+"<br>");
   }
</script>

</body>
<html>

名前の入力が楽になるようにsplitで分割してみました。


現実的とか言いながら1つ余計なものがまざりましたが


コードの入力方法覚えたのでよし!!!

職業訓練の授業~41日目~デザイン見てWeb作成2、変数のスコープ

f:id:nazuna_0124:20170306210455p:plain

内容:簡単なWeb作成。変数の有効範囲


本日は月曜日です。

私の地域の一般ごみは月木なのですが、


ゴミを出し忘れる確率は150%

(1回は忘れて2回目で出せる確率が50%)


2つのこと同時にできないのですよね…。

プログラム中もときどき困ります。

求む処方箋。


さて、ちょっと話を戻しましてWeb作成です。


この範囲は進みの早い人も許容してます。

余裕のありすぎる人向けと題した課題が出ました。


せんせー。タイピングが速いから進んでる私も余裕がある人に入りますか?


この課題で意外な盲点を発見。


ブロックのタグ全体をリンクにするという課題。

その上でマウスオーバーでブロック全体を背景色変えるというもの。


前課題がそうだったのでaタグにdisplay:block;

a:hover で背景を変える設定にしてました。


こうすると色の変わる場所が変えたい場所とずれるんですよ!


悩んだ末、aタグにwidthを大きめに設定しちゃいました(´・ω・`)


結果はあってるけどやり方は絶対違う自信がありました


やむなく元Webデザイナーのおねーさまのお手本を見せてもらうことに。


aじゃなくて色変えたいタグの方にhoverやってました



……ちょっと頭硬かったですね。反省反省。


もっと反省すべきはブログにhtmlソースを載せようとして諦めたことですが。


(みんな綺麗にどうやってるんだろう)


午後からのJavaScript

変数の有効範囲のお話。

たまに、なんでこう出力されるの!?

って困る原因のひとつですね。

とっても大事だと思います。


休憩中に聞いてみたところ、何言ってるかわからないという声多数。


次のPHPやるころにはわかるからだいじょーぶ!

未経験からプログラム覚えるたったひとつの方法

表題でぐぐってみたら見つからなかったので。


その方法とは~。言うまでもなく。


プログラムを書くことです。


当たり前のことを書いたところで、ブラウザバックしたくなりますが

言いたいことはそこじゃないのでもうちょっと待ってください!


覚える唯一の方法が書くことであるなら


覚えさせる唯一の方法は書かせることのはずです


職業訓練ではそもそも就職のためにプログラム覚えるわけなんですが、

そうでなくても作りたいものがあるからプログラム出来るように成りたい人は少なめです。


書き方だけ覚えても何を書いていいかわからない人になってしまうのです。


このへん若ければブラックでも会社に入ってしまえば覚えられる理由ではありますね。

→作らなきゃいけないものがある。納期がある。


ループを覚えるなら、ある日から最初の月曜日は何日かとか、

今から5営業日とは何日かを出力なんてのを作ってみるのがおすすめ。



さて、自分を育てるという感覚が強い私は「なずな」にプログラムを書かせなければいけませぬ。



次のお題は何にしましょー。 仮ぎめしておきます。

作成済みのタイピングゲームをjQueryで書き直す。

今日びネイティブで書かれているのも少ないということで。

1週間目標

Javaでファイル操作のデスクトップアプリ

JAVAは今のところ知識ゼロです。

VBAのFileSystemObjectと同じことができるようにがんばってみます。

3月19日頃まで。



余談

上記が目的ならまた違ったやり方があるんじゃないでしょーか。

職業訓練に通ってるプログラム初心者がJSでタイピングゲーム作ってみた

f:id:nazuna_0124:20170304205638p:plain

なんとか予定通りに1週間で形にはなりました!

初心者が作ったタイピングゲーム

まだまだ修正点は多いです。

やりたいことはわかってもらえるはず。


わかって!



察して!



あとは時間かければなんとかなるんじゃないでしょーか。



概要

  • 環境はChromeだけ
    学校はterapad使ってます。 エディタ縛りとする予定でしたがterapad苦手なのでクロームさんだけです。

  • ライブラリは使っちゃだめ
    習ってません。jqueryもだめです。

  • 下地はドットインストールさんより
    レッスンの中にありました。こっそりプレミアムぽいです。

  • 対応は英数字のみ
    コマンド練習に使う予定です。

  • 英語は気にしない
    気にしません

  • 変数名はがんばらない
    がんばりません

  • 何してるかわかんない箇所がある
    ぐぐった結果です。

職業訓練の授業~40日目~デザインだけみてWeb作り

f:id:nazuna_0124:20170303232129p:plain

内容:段組みと回り込み

「いつもお世話になってるので、どうぞ!」

たまにわかんないところを教えてた子からジュース貰ったのが今日のハイライト



飲んでみたらジュースがぬるかったのが本日のローライト



なずな(はっ これはお前の教え方が下手なんだよという遠回しな抗議の声なんじゃ…)


などと深読みして落ち込む自己肯定感の低い皆様こんにちは。

プログラムの勉強のまえに就職のためには

この性格なんとかしたほうがいい気もしますが気にしません。



というわけで、本日の午前中はjsです。

昨日勝手に終わらせたところやってると思うのでよくわかりません。

あ if文の{}が省略できることは今日もゆってました。

2回言ってたのできっと大事なんだと思います。


午後の授業のWeb作成は、早く終わった人向けの課題が出ました。

すでに作成済みのサイトを2段組に変更しようねというもの。

せんせー floatは習ってません。


苦手だったので一番習いたかったのですが…。


仕方ないので心の先生であるグーグル先生のお世話に。

なんとなく頭には入った気がします。


ぼちぼち、わからないという声が聞こえてきます。

やはりプログラムのif、ループあたりは敷居が高い様子。


冷静に考えると、すでに2ヶ月経過してて成果らしい成果が上がってません。

そろそろモチベ的にもきついのやも。

PHPのWebアプリで盛り返すと期待したいところです。