タグ

プログラミングと罠に関するiwwのブックマーク (9)

  • FuelPHP を無理矢理PHP8.1に対応するお話

    FuelPHPPHP8.1対応(無理矢理編) 皆さん、PHPのフレームワークは何を使っていますか? 今から学ぶなら「Laravel」や昔ながらの「CakePHP」でしょうか? 私は数年前から「FuelPHP」というフレームワークを使っていて「なんて開発しやすいんだ」と感動した記憶があります。 ところが、FuelPHPのリリースがピタッと止まり、PHPのバージョンアップに対して暗雲が立ちこめてきました。 てかフレームワークの選定ミスはかなり痛いですね。私は先物取引には金輪際手を出しません。 幸いPHP7に関しては問題なくできたのですが、時代はPHP8.1になり、ここでついにエラーが出るようになってしまいました。 参考 【PHP8.1】PHP8.1で削除される機能 https://qiita.com/rana_kualu/items/c894b2160d1f8799eed2#key-curr

    FuelPHP を無理矢理PHP8.1に対応するお話
    iww
    iww 2023/03/06
    根性でどうにかする話
  • Perl の正規表現でマッチした文字列自体を取得する今昔 - Qiita

    バージョンごとの表の絵文字は以下の意味です 使用可能 使用可能だが致命的な性能劣化を招くため忌避される (空欄) 対応前バージョン Perl 5.20 以降なら $& による方法が一番簡単ですが、それ以前のバージョンでの経緯を知っているチームメンバーから拒絶反応を受ける可能性もあります。そのプログラムが今後 Perl 5.20 より前のバージョンで実行する必要が一切ないと言えるなら $& でも問題ないと思いますが、外部公開するモジュールなどの場合は use v5.20 等で明言しないのであれば $& の使用は避けておくべきでしょう。 それぞれの手法 マッチ全体をキャプチャのカッコでくくって $1 で参照する方法 今も伝統的に行われている、マッチ全体をキャプチャのカッコでくくる方法です。 # $body から a か A で始まる単語を取り出して $match に入れる # \b は単語境界

    Perl の正規表現でマッチした文字列自体を取得する今昔 - Qiita
    iww
    iww 2020/11/09
    『Perl 5.20 ではこの問題が完全に解決され、$& などを使うことによる性能低下問題はなくなりました。』 そうだったのか
  • Sourcetree でのクローン時、改行コードが自動で CRLF に変換されないよう設定する方法は?

    コマンドラインで git config --global core.autocrlf false とするか、 git config --global core.autocrlf input としてみましょう。設定ファイルをいじるならC:\Users\ユーザ名\.gitconfigファイルの autocrlf = true の所をinputかfalseに変えても直ると思います。 Inputとfalse、trueの違い trueは、チェックアウトするときはLFをCRLFに変換します。コミットする時はCRLFをLFに変換します。 inputは、チェックアウトするときには変換しませんがコミットする時はCRLFをLFに変換します。 falseは変換しません。 チェックアウトのところはクローンしても同じです。

    Sourcetree でのクローン時、改行コードが自動で CRLF に変換されないよう設定する方法は?
  • JqueryからPHPへJSONを渡すには - Hope is a Dream. Dream is a Hope.

    はい。 ふぃふぃです。 最近javascriptで配列型のデータを扱う機会が増えてきました。 これまでは、特にデータを保管する必要もなかったのですが、 過去データとの比較などをやりたくなってきたので、 サーバにcsv形式で保存する方法を調べておりました。 過去記事にも書きましたがはてな人力検索などで質問をしていると、 どうにも、PHP経由での保存が望ましいとのこと。 PHP、Ajax初心者ということもありかなりはまってしまったのでメモ。 送信側 $(function(){ // 送信・保存するためのデータ配列 var ary_data = new Array(100); //[1,2,3,4,5,6]; for (var i = 0; i < ary_data.length; i++) { ary_data[i]=i; } // 送るデータ形式はJSONでなければ、PHP側でエラーが出る.

    JqueryからPHPへJSONを渡すには - Hope is a Dream. Dream is a Hope.
  • 静的ライブラリのリンク時にundefined referenceエラーが出る(gcc)

    静的ライブラリのリンク時にundefined referenceエラーが出る(gcc) 概要 gccでリンク時にundefined referenceエラーが出る場合がある。 通常はオブジェクトやライブラリの指定忘れが原因であるが、 静的ライブラリをリンクする順番に間違いがあって出る場合もある (自分でMakefileを書く場合にこのミスをすることが多い) リンクの順番には依存性があり、あるオブジェクトが静的 ライブラリ内の関数を呼び出すときには呼び出される側の ライブラリは「後で」リンクする必要がある。 例えば foo.o が静的ライブラリ libfoo.a 内の関数を使用している、つまり foo.o → libfoo.a という依存関係があるとき、 g++ -o foo libfoo.a foo.o とするとundefined referenceエラーが出る。従って g++ -o fo

  • proc_openの64kbの壁「slymak、それfile_get_contentsネタやない、proc_openや」 - tohokuaikiのチラシの裏

    PHP Advent Calendar jp (day 15) PHPerのみなさんならちょっとしたバッチやファイル操作なんかも全部PHPで書いてるPHP脳になってることと思います。もうShellScriptなんて古臭いものは使ってないことでしょう。 そんな時、システムコマンド使う時に大活躍するのがproc_openですね。プロセスの細かい処理ができ、かつエラーも取ることができ、大変便利です。 proc_openによるエラーの取得方法は以前ブログにアップしました。要約すると、system()の変わりにこれ使うとコマンドのエラーとリターンコードも得られますよっていう話です。 64kbの壁とは? で、このproc_openを使いこなしてるPHPerの皆さんならご存知かもしれませんが、デスクリプタのSTDOUTに普通にパイプを使っていると、システムコマンドが64kb以上の出力を出してきた時にデッ

    proc_openの64kbの壁「slymak、それfile_get_contentsネタやない、proc_openや」 - tohokuaikiのチラシの裏
  • なぜうちのFuelPHPは、Security::check_token()が常にfalseだったのか。 | nzworks

    なぜうちのFuelPHPは、Security::check_token()が常にfalseだったのか。 おはようございます。一晩中 表題の件を調べておりました・・。 過去の記事「FuelPHPの時間切れ(セッションタイムアウト)について」の訂正です。はい。 仕様を把握していなかっただけですが、未来の自分のためにメモを残します。開発でつまずくとGoogle様に頼っているのですが、自分の過去の記事に助けられることが稀に良くある。おかしい!覚えてない!ポンコツっぷり。 さて、題です。 ユーザー登録画面を作るときなんかに入れているCSRFの例です。私はbeforeに入れていたりします。 class Controller_Account extends Controller_Base { public function before() { parent::before(); // CSRFチェ

  • Mitzyuki's Blog :: C 中級者が意外と陥りやすいワナ

    C 中級者が意外と陥りやすいワナ ある程度プログラミングにも慣れてきて 言語仕様もそこそこ理解した中級者にとって 意外と陥りやすくセキュリティホールの温床になりがちなワナ。 勿論オンラインマニュアルにも仕様として明記してあるのだが、 直感とは反する仕様のなので特に中級者にこれらのミスが多い気がする。 strncpy(3) は ``\0'' 終端してくれない場合がある strcpy(3) はバッファオーバーフローの危険性があるから strncpy(3) を利用する様によく言われるが、 ここにワナが潜んでいる。 strncpy(dst, src, len); とした時に 文字列 src の長さが len バイト未満の場合は dst は ``\0'' で終端される。 終端どころか dst の残り領域は何故か 全て ``\0'' が詰められるという 無駄とも思われる謎仕様。 ところが文字列 src

  • とある言語の例外処理 またはTry::Tinyの落とし穴 - Articles Advent Calendar 2010 Casual

    今年の Advent Calendar もいよいよ中盤戦。 もういくつ寝ると、メリーク×ト×ス! 最近、休日になると漫画を大人買いするのが趣味になってしまったいけない大人になってしまった僕ことzentoooですが、最近のお気に入りは「未来日記」です。あー由乃かわいいなーかーわいいなーーーかーーーわいーなあーーーーあーあーあーーーーーーあーーーーーーーーーーー頭おかしいけど。 ふぅ。 さて、みなさん、コード書いてますか、コード読んでますか。 短く簡潔なコードを読むと、気持ちもスッキリしますね。 でも、たまには例外処理なんてどうですか。 Perlで例外処理ができるなんて、なんか渋くないですか。 Perlにおけるベーシックな例外処理 冗談はさておき、初めてのPerlというハレンチなを読んだりすると、多分書いてあるのは以下のような方法による例外処理です。実際に初めてのPerlに書いてあるかどうか

    とある言語の例外処理 またはTry::Tinyの落とし穴 - Articles Advent Calendar 2010 Casual
  • 1