奇特なブログ

「殊勝に値する行いや心掛け」を意味する、奇特な人になる為のブログです

プログラミング

色々な言語でユーザー登録フォームを作る(PHP版)

ちょっと、Pythonでプログラムを書くにあたって、何か作った方が良いなと思いまして。それで、昔PHPで書いていた「ユーザー登録フォーム」が良いんじゃないかと思い、それを書き切ってみました。github.comしかし、思ったよりも考える事が多かったという(苦…

サーバー側で全部HTMLエスケープする(CakePHP3の場合)

昔、Phalconで実装したことがありましたが、 Cakeだと、どうやれば良いのかと。 デフォルトで対応してくれれば良いのにと、昔から思ってるんですけどね。 あと、以下の様にプラグインを書いてる方もいらっしゃる様ですが、 プラグインなので、導入できない場…

この正規表現は、どんな文字がマッチするのか調べたい時など

※PHP7.2以上じゃないと動かない関数を使ってます 主目的としては、タイトルの通りですが「この正規表現って、どんな文字ならマッチするの?」って初見で思う様な、パッと見複雑な正規表現を見る時が、ちょいちょいあるわけですよ。だから、そういう時に使え…

小さな技術ネタ8つ

一つ一つが小さいので、まとめましたよ。 1.switchの分岐もう、すっかりお約束かと思うんですが、「switch($data)」と書いた時に、「==」で比較されますよっていうやつ。で、以下の様な解決策が、提示されてますと。ケースごとに異なる処理を、ポリモーフ…

続・MVCのMのクラス設計草案など

前回記事: MVCのMのクラス設計草案など - 奇特なブログ前回の草案ソースとの差分(ちょっと多過ぎますが): モデルクラスの設計草案を作成(一旦完成) · kitoku-magic/other@f89baf7 · GitHubもう、そんなに書く事も浮かばないんですけどね。とりあえず、…

traitに期待し過ぎ?(笑)

ピンと来て、出来てからにしようかと思ったんですが、まぁ良いかなと(笑)「ログの出力をしたいけど、クラス毎にログの出力先を変えたい」という仕様があったとして、↓のコード(PHP5.2というか、traitが無い状況の場合)を書いたんですが。 set_log_save_p…

MVCのMのクラス設計草案など

いや~、一時期どこでも「DDD」の話題が出たり、また、実際に現場で導入していたりということで、ちょっと、考えてみますかねと思いまして。DDDといっても、範囲が広すぎるので、今回はタイトル付近の話ですが。 まずは、参考元だったり、引用元だったりを。…

続・ダブルブッキングを防ぐ予約追加プログラムを考えた

前回: kitoku-magic.hatenablog.comさぁ、思ったよりも早く、再開の時期がやってきました。今回は、以下の差分を載っけました。github.comで、まず今回の差分で、特記しておきたい所を。 $retry_count = 5;このリトライ回数なんですけど、これが特に1回だ…

ダブルブッキングを防ぐ予約追加プログラムを考えた

以下に書いてみたんですけどね。other/reservation_double_booking_check at master · kitoku-magic/other · GitHubいや~これは、やっぱり予約レコードが「無い」時が厄介なのと、 あと、ダブルブッキングを「何処でチェックするか」というのが・・・ ダブ…

システム開発における自動化の一例(あくまで一例)

こちらでは、すっかりご無沙汰しております。 まず、前回 2015年の振り返りと2016年の展望 - 奇特なブログ の年末年始に予告した記事は、 別に忘れてはいないんですけど、 内容があまりにも壮大になってしまいそうなのと、 どう書くかで悩んでいる(&調査中…

Webアプリにおけるプログラムのパフォーマンスチューニング

さて、ちょっと予定には無かったんですけど、最近この辺を考える事がやけに多く、ということで、こんな記事を書いてみようかなぁと思います。 ちなみに、非エンジニアがエンジニアを評価(出来るのか?って話もありますが)するにあたって、チューニングをし…

SMTPプロトコルで直接サーバーと対話するメール送信ライブラリをPHPで書いた件

GitHub対象ファイル(以下のmail~で始まる4つのファイル) github.com えっと、まずこの話は、実は2010年頃に社内案件(というのとは、また違うか)でこのプログラムを書いていた(ただ、業務では結局使っていない)んですけど、その後すっかり忘れまして…

リファクタリングで「オーバーロード」を使う?

滝打ち4日目。いや〜、現場でリファクタをしようと思って色々考えていたんですけどねぇ。 以下の様なメソッドなんですけど。 function a() { return ?; }で、このメソッドを「$class_obj->a();」みたく呼んでいるわけです。今回、何をしたいかというと、 …

貴方はレガシープログラマ?

今回は、以下の記事に書かれている内容を、 筆者自身に対して、一つ一つ丁寧に検証していきたいと思います。 あと、筆者の場合、JavaとPHPがメインなので、この2つの言語を中心に。レガシープログラマかどうかを判断する10項目(11項目に変わりました) http:…

言語を覚えるのではなく、プログラミングを覚えましょう

今回は、以下の記事を基にした内容です。http://d.hatena.ne.jp/Lucrezia/20050928#p1また、本文中で「VB」と書かれている箇所の大半は、 「初心者向け言語」と置き換えられると思います。 PHPとかJavaScriptとか。「ほかの言語もちゃんと習熟した上で」VBを…

フレームワークやライブラリはカスタマイズ可能な作りにしましょう

タイトルの様にした方が良い理由は到って単純で、仕様変更や特殊な仕様に対応する為です(苦笑)例えば、以下のリンク先の一番下の回答にあるソースコードの場合。finalメソッドの使いどき以下の様に書いた方が良いのでは無いでしょうか。 class Framework {…

フレームワーク、本当に必要なのでしょうか?

Javaのフレームワークである「Struts Ver1系」を例にします。 個人的に、以下のリンク先の様なエラーを見ると、 「また、フレームワークが悪さしてる」と感じてしまうのですが。StrutsでActionFormをネストしたときに値が送信されない − Java Solution − @I…

型なし(PHP、MySQL)と型あり(Java、Oracle)の違い

まず、結論を。 「型なしでも、型を強く意識して開発する事」です。次に、型なしと型ありの定義ですが、 ここでは、数値(int型等)と文字列(String型等)の比較が「出来るかどうか」とします。 型なしは「出来て」、型ありは「出来ない」です。 また、結構恐い…