月別アーカイブ: 2015年2月

雑記20150228その3

あとユーザが作ったものか言語仕様上の命令かが学びはじめだと混乱しちゃうんですよね。それで理解をとめちゃって先に進まない。
知識の蓄積がすすまない→理解がすすまない→学ぶのをやめると、こうなっちゃいがちなんですよね
あとインスタンスとクラスの違いについても理解ができない部分でもあります。
プログラムはその行に飛べば実行してくれるものというおっさんプログラマ的かんがえだとはまっちゃう。
その書いたプログラムの実体がない場合があるのが理解できなかったりします。オブジェクト指向型だと変数を用意するかのごとく
オブジェクトを用意する必要があったりしてなぜ動かないということがあったりします。
上から下へ流れるようなプログラムを書いてきたおっさん的にはつらいものがあります。
でおっさんプログラマ的に何を強みにするかというと過去の知識・経験です。昔使って大丈夫だったコードを再利用・過去やったパターンだと上手くいくかも、こうやって書いておけば間違いないし拡張性に優れる、このコードはテストもしているので大丈夫だというのを早い段階で判断し、使っていくことがおっさんプログラマの強みになったします。

つまり知識と理解と経験と判断の正しさをもってプログラマとしての強みをだしていかないといけない。

という雑記を3つもつかったことでようやくサイトの目的に戻ってきた。まあつまりたまには自分の部屋でも掃除をしようかなというのと同じような気持ちってことです。

雑記20150228その2

この段階になるともう積み木と一緒で、過去どのようなパターンを使ったか、
どんな過去つくった関数を組み合わせれば機能が実現できるのか
できないなら新しいものを作らないといけないけど過去作ったもので参考になる流れがあるかどうかということが重要になってきます。
そういう機能の作り方を自分から引き出しコードに置きなおしていくという事を「迅速」にしていかないとプログラムで食べていくことは
できないとおもいます。
その知識や技術のまとめといいますかそういうのは大事なんだと思うようになりました。
情報処理というだけあって処理するコードを迅速に引き出すまとめは大事だなと。

つまりはまぁ自分の得た知識・持ってる知識をまとめは大事だよってことで、忘れないよう書き溜めていこうかなということです。
最近の自分としてはオブジェクト指向で書くのが楽しいですね。以前は処理をだらだら書いて色んな別個の関数組み合わせて
作ってたわけですが、オブジェクト指向でプログラム書くのはより大系的であって、プログラムに落とし込む事象を
どういう風に作るか1クラスにまとめておくべき機能はなにかってのを考えるのがすごく楽しいのです

たしかにオブジェクト指向プログラミングはおっさんプログラマが引っかかりがちですね
ずらずら上から下へとプログラムを書いてきた世代にとって、オブジェクト指向を最初理解するのは結構厄介なことだったりします。
人が書いたプログラムを読んでいても、えーここでいきなりなんでこれ以前に書いても居ないものがでてくるんすかとかおもっちゃうわけなんですわ
だいたいその前にインクルードしちゃってたりするわけですが、おっさん的にはいままで上から下へ書いてきたから自分で同じように書くと上で書いたものだから知ってるわけで、オブジェクト指向になるとインクルードされたものを読むということをやめちゃうんですよね
C言語のinclude<stdio.h>は読まないぜ的対応をしちゃうわけなんですねぇ。

雑記20150228その1

はい、年寄りプログラマです。
歳を重ねて生きてきてまぁこのようなサイト立ち上げたわけですけどなぜこんなことをするのか、という事を今回ご説明させていただこうかと思います。

それは一重にプログラマって今までの積み重ね・パターン・アルゴリズムの知識が大事だとおもうようになったからなのです。
ノイマン型コンピュータが発明されて以来まぁいろいろとプログラミング言語が出ては消えしています。
私も学生時代からBasic-Fortran-C-C#-Javascript-PHPなどいろいろなプログラミング言語に触れてきました。
いろいろなメーカー特有の機能を搭載した色々な言語を体験してきたわけですが今思うと全ての経験が有意義であったと思います。
関数型言語Lispは体験しておらず、どんなかんじかぐらいしか知識はありません。私の扱う範疇外ということにしてあります。

Lisp以外の携わったプログラミング言語について、これら結局基本の流れは一緒なんですよね
入力、変数の配置、判定、分岐、ループ、エラー処理、出力このような手順はほぼ体験した言語全てでほぼ同じなんですよね。
これらが様々な書き方が各言語に備わっておりそれを理解・知識としてもってプログラムを構成していくのです。
まぁあと実行環境・その環境に見合った機能が実装されている言語かどうかという違いもありますが。

雑記2015/02/27

一応開発メモサイトを作ってみました。
最近歳なのか、あれ?これってどういう手順だっけ?とか
この情報のったサイトを絶対ブックマークしたはず、いやしなかったのか?いやいや俺ならするはず
・・などと物忘れが進行してるのであーこれ「情報見つけて理解したよね試したよね成功したよね」ぐらい強い印象だと頭の片隅にでものこるかなと

ブックマークすら整理するのをめんどくさがる人が開発メモなんてというのは受け付けない身勝手なサイトたちあげてすいません。
主に私のスキルとしてはweb開発に必要なスキルですねHTML,CSS,PHP,DB,webツールなどなど
どれも物になかなかなっていないので、そのスキル上達の変遷みたいなものもついでに雑記として書いていこうと思っています。

プログラミングだけでなく人生にも迷っていますのでこのようなタイトルのサイトになりました。
まあこのような迷いっぱなしの人生を送っている人にとってもなんらかの指針を示す!などと大仰なこといえませんけど記録として残しておくことに少しぐらいは意味があるのかななどと思っています。

Coreserverでバージョンを指定してphpを実行

fast-CGIとかで動くようになったらしいCoreserver
phpのバージョン指定して開発してる場合動作対象ディレクトリの「.htaccess」ファイルに以下のようにして指定
#はコメントアウト、実行したいバージョンのところだけ外して有効にしてやればよい

# AddHandler application/x-httpd-php4cgi .php
# AddHandler application/x-httpd-php5cgi .php
# AddHandler application/x-httpd-php53cgi .php
AddHandler application/x-httpd-php54cgi .php
# AddHandler application/x-httpd-php6cgi .phpM

まぁあんま気にしないで開発してる程度のものしか作ってないからおれには関係ないんだけど。

Coreserverでphpエラー表示されない

先日放置してた借り入れサーバでエラー表示でないなとおもってたら
Coreserverにていろいろ設定が変わってエラー表示抑制などいろいろ仕様がかわってた。

不具合状況
phpのプログラムにてエラー表示がされず真っ白ページなどが表示される
対処法
動作対象フォルダ内に「.user.ini」ファイルを作成。中身を以下のようにして保存
display_errors = On
error_reporting = E_ALL & ~E_NOTICE

以上。

普通に動くスクリプト置いて放置してたら気づかないよねぇ。

WordPressでrobots.txt設置

ウェブマスターツールでrobots.txtにアクセスできませんとか言われる。
robots.txtを作ってwordpressディレクトリに放り込み終了。
設定中身もこんなもんでいいだろう
最後の行に「Sitemap: http://ドメイン/sitemap.xml」と追加記述してサイトマップをアピールしてもいいだろう。

User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-content/plugins
Disallow: /wp-content/cache
Disallow: /wp-content/themes

 

SQLiteDBを利用してWordPressインストール

1)wordpressをダウンロード&自分のサーバにアップロード

2)sqlite-integration~zip ダウンロード

3)sqlite-integration解凍、[wordpress設置ディレクトリ]/wp-content/plugins/に入れる

4)sqlite-integrationフォルダ内のdb.phpを[wordpress設置ディレクトリ]/wp-content/に移動

5)[wordpress設置ディレクトリ]/wp-config-sample.phpの認証用ユニークキー部を自動生成のものに置き換え

6)編集したwp-config-sample.phpをwp-config.phpにリネーム

7)設置場所にブラウザでアクセスしてブログタイトルなど必要な設定で終了

WordPressのデータベースファイル自体の場所は、「/wp-content/database/.ht.sqlite」バックアップはメンテナンスモードにして書き込みが無い状態でどうぞ