ICT関連の学習備忘録

ICTの学習をアウトプットするワークブックサイト

ICT関連の学習備忘録

記事ページ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 

2019-06-27 : PHPの賃貸物件初期費用計算機が出来た!!

序盤で学ぶ関数で比較的簡単に出来るだろうと思って先日から取り掛かってPHPの計算機が完成しました!(仮)
賃貸物件初期費用計算機
想像以上にハマったとです。。。苦労したのはinputした数値ののデータ型、浮動小数点が特に思い通りに変換できないし
数字無視されちゃうしで・・・。もうね、小数点嫌いになりそうww
んでもう一個はカレンダーの数値(date、format、strtotime)でサーバーの時間使うとかなら楽だったんだけど、
”任意”の日付からその月の残りの日数出すのがとてもとても苦労した・・気づいたら1970/01/01になっちゃうしw
取り敢えずは、普通に計算結果出せるようになったから一旦終了。

学習が進んだらネットの物件情報URLから自動で計算させたり、結果画面の外部データ(エクセルとかpdfとか)出力
機能とかもつけたいなぁと。
使用したコードは、追々振り返りつつまとめようと思います。
paizaのPythonは、昨日の続きから「#05:引数と戻り値のあるメソッドを作ろう」、「#06:文字列とリストのメソッドを使ってみよう」、
「#07:アクセス制限を理解しよう」をやって「Python入門編8: クラスを理解しよう 」が終わりました。
そのまま「Python入門編9: さらにクラスを理解しよう」にはいり
「#01:さらにクラスについて学習しよう」、「#02:クラスを継承する」をやって今日は終了。
パイザサクサク進めるけど、身についてるのかは疑わしいwww
メソッドが入ってきたからここからはしっかり理解するつもりでやらないとついていけなくなる。

2019-06-26 : Pythonが楽しくなってきた、カモ

「Python入門編7: 関数を理解しよう(全7回)」
あっという間に終わってしまった・・・(笑)
一応キャプチャーリストとしては「#01:関数について学習しよう」、「#02:関数を作ろう」、「#03:引数と戻り値を追加しよう」、
「#04:スコープを理解しよう」、「#05:RPGの攻撃シーンを作ろう」、「#06:引数のデフォルト値」、「#07:キーワード引数を理解しよう」
をやりました。
と、そのままの勢いで「Python入門編8: クラスを理解しよう 」に突入して
「#01:クラスについて学習しよう 」、「#02:クラスを作成しよう」、「#03:変数をクラスで管理しよう」、「#04:RPGの敵クラスを作ろう」
まで突っ走った。
うおーー!PHPでハマってた浮動小数点演算クリア出来たー!
わかってしまえば簡単だった!!
「<?php $number=(int)$_POST['number'];」で変数にしても1未満の小数点切り捨てられたりで・・

色々模索した結果、POSTで受け取った「number」を一度「$number」にしてから整数に
型キャストするんだけどそもそも小数点含んでるから
「$number =(int)$number*10」で型キャストと10倍を(使用してるの少数第一位までだから)して
そのまま再び「$number」に代入で、諸々の途中計算が終わって10分の1に戻しても
小数点発生しない部分で「$number =$number/10」って流れでなんとかなった。

<?php $number=$_POST['number']; $number =(int)$number*10; $number = $number * $hogehoge / 10; ?>
で、一応エラー全部消えて誤動作無くなった。あってるかどうかは別として・・w

2019-06-25 : Python入門編6が終わったーヽ(´ー`)ノ

今日は、「#11:標準入力から2次元リスト」、「#12:2次元リストで画像を配置」の2つをやって
「Python入門編6:多次元リストを理解しよう(全 12 回) 」が終了した。テッテレー♪
昨日phpいじってて思ったことがあるんだ。今の環境(ここのWEBページ)は、自宅鯖にオリジナルがあって
そのダミーをレンタル鯖に置いてるんだけど、環境によって動く動かないがあるから
学習目的なら敢えて両方やるのは大いにありだなと。
例えば・・ていうか単純にサーバーサイドアプリケーションの設定とかバージョン、Apache自体の設定、ディレクトリ、ファイアウォール
自宅鯖だと自分で設定するから、自分で設定したから「動いてる」or「動かない」とか、アプリの設定は問題なく出来てても
ファイアウォールだのポートマッピングでコケてたりして、諸々の設定終わってレン鯖に上げたらまた動かなくなって
そもそも対応してなかったり別途設定(linuxコマンドとは違うやり方で)が必要だったり…
環境に合わせた設定が必要だから、確認用で自分目線(自鯖・自社)では動いてても本番(グローバルサイト・顧客)で動かないっていう
ケースもしっかり想定しないと行けないんやなー。想定推測するには他方の知識持っておかないとあかんのやなーと、感じました まる。

で、HTMLとCSSやってる時にこのサイトのヘッダーもPHPで別ファイル置いておきゃ引っ張って来れるやん
更新も1箇所更新で済むやん思ってやってみたら自鯖はOK、レン鯖がNG。
httpd.confは直接いじれないからFTPで「.htaccess」直編集直アップしてもダメだった。
html内のphpが動かないって時の対処法としては上記の両方共、「間違って無い」し、事実「.htaccess」を
指定された方法(WEBページログインしてWEB上での編集)したら問題なく使えるようになった。
何が言いたいかっていうと、使用してるサーバーやサービスに沿ったやり方じゃないとダメだったよっていう話。

書きながらふと思ったことを追記。スマホでWEBページ見てると、パケット抑える為に自動的に節約
してくれるんだけど、キャッシュが残ってて何回も更新したりしないといけないのね。
何度再読込しても一向に変わる気配がなかったのが「CSS」これが全然更新されない。
通常頻繁にスタイル変えるものでもないからなんだろうけど、いじって確認を繰り返してる側からすると厄介。
それで対策としてPHPを埋め込んだ。
「<link rel=(-中略-)" href="hoge/hoge.css? <?php echo date('Ymd-Hi'); ?>" />
これで1分毎のサイクルになるので、1分以上経過した状態で再読込すれば新しいのに切り替わる。




2019-06-24 : 眠すぎて途中でほぼ寝落ちした

paizaラーニングは、「#09:enumerateで2次元リストを操作する」「#10:2次元リストのマップに道を追加する 」
の2つをやった。for in の動きがイメージつくようになってきた←やっと・・・。

PHPの方はブログ作りたいんだけども、
記事の投稿の流れ的に↓こんな流れになるのよねー多分。推測。
1.formからのリクエスト情報を名前(name)をつけてinputする。
2.nameからinputしたリクエスト情報を取得してHTMLデータとして出力し内容の確認画面表示。
3.修正の有無で「戻る」or「確定」処理を行う(戻るを押した場合アップロードファイルを削除処理)
4.確定の場合は、データを出力・保存する。(csvやDBへの書き込み)
5.トップページへ日時が新しい順にDB等からデータを取得し、表示させる。
んで、今どこかというと3番w
というのも戻る場合に必要になってくるセッションがまだ分からんのと、
画像をアップロード(確認画面)した後、戻る場合の削除処理を入れないと行けないけどまだ分からん←
ほんで、確定の場合はデータの保存先が用意できてない。つまりデータベースやってないから進めんw
進めないから簡単なアプリっていうか計算機的なのを作って見ようかなと思って
HTMLと一緒に何やかんやいじくり回してる状況<PHP

そー言う感じなので少しPythonに逃げ腰な感じになっている。
丁度良いタイミングでイメージングが出来なかったfor inから進めたのもあったりで。

2019-06-23 : phpメインでhtmlとcssを少々

一昨日のスクショから少し表示が変わってる事から分かるけど、WEBページのCSS少し弄った。
CSSの配置描く時に羅列だと分かりにくいからエクセルでイメージを出してから少し触った。
んで、今日は殆どPHPを触ってた・・本も見ながらネットでググりながら、
この前までは一行の文章をインプットしてたけどブログとかってなると改行が必要だなと。
ほんで先ず躓いたというか知らなかっただけだけど、フォームのサイズの変え方・・・w
「<textarea id="*" type="text" name="*" rows="10" cols="30"></textarea>」
これでテキストエリアの幅と高さ替えられるのねー。知らなかったのねー。

あと、間抜けなミスだけど、改行を受け取る際のコードnl2br($_POST['**'])もハマりかけた。
というのも「l2」を「12」だと見間違えてて(lと1)なんで出来んのやーってなってた(笑)
フォントのせいで区別がつかなかったんよ!w ・・・HTMLも辞書的な感じで新し目の参考書ほしい・・
PHPの方で重要だと思ったのは、「<>」とかの文字をタグやコードとして読み込まないようにする設定(htmlspecialchars)と
最初のmethod="POST"や"GET"のデータは2ページ目以降へそのまま引き継がれない点。
「フォーム入力→確認画面表示→登録確定」とかって流れだと確認画面表示までしか
POSTやGETデータを持ってこれず、「登録確定」の時点ではnull状態で登録になってしまう。
これを防止するために「クッキー」や「セッション」を上手く使うのが普通っぽいけど、僕は使えないので←ww
2ページ目の確認画面でもう一度inputさせて、そのインプットをブラウザ上で見えないように「hidden」で隠して
次のページ(登録確定)まで引き継ぐっていう面倒くさい手段をとったとです。

そんなこんなでPHPのページ(PHPレッスンリスト)に2つ目のページが増えました(←
ただ、まだcsvやDBの入出力が出来ないからそろそろDB入らないと進まないなーと思う今日この頃
最後に、フォームデータから送信される文字列によって悪用(クラック)されたりするからhtmlspecialcharsは使う”べき”
らしいけど、フォームのあるページ自体にアクセス制御かけてhtmlspecialcharsを使わないフォームを設置すれば
ブラウザ上でフォームからの入力データでphpを動かせるから、簡単な動作確認ページを設置するのはありかなと思った。


記事ページ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15