PHPエクステンションで自作関数を作る!(PHP7向け)

はじめに 準備 PHP本体のソースを取得 指定したバージョンをチェックアウト 雛形の作成 ビルド/動作確認 自作関数の登録と実装 関数の登録 関数本体の実装 ZEND_PARSE_PARAMETERS_START(MIN, MAX) Z_PARAM 実際に呼び出してみる 付録 PHP_FE arg_info構造体…

PHPの無名関数

無名関数 無名関数の例 変数への無名関数の代入 親スコープからの変数の引き継ぎ クロージャのスコープ コールバック $thisの自動バインド 静的無名関数 静的無名関数へのオブジェクトバインド 無名関数 無名関数とはクロージャとも呼ばれ、関数名を指定する…

PHPでデバック出力に最適なのは何か

開発する上で変数内に格納されているデータを確認することはしばしばあります。 このとき、何で表示するのが一番いいのでしょうか。いろいろ見ていきます var_dump __debugInfo() var_export __set_state() print_r おまけ var_dump void var_dump ( mixed $…

はてなブログでのシンタックスハイライト

はてなブログで対応しているシンタックスハイライトは以下の通り 記号 2html A a2ps a65 aap abap abaqus abc abel acedb actionscript ada aflex ahdl alsaconf amiga aml ampl ant antlr apache apachestyle applescript arch art asm asm68k asmh8300 asn…

var_dumpが省略される件

PHP

要素の多い配列を表示させると、決まって省略される。 var_dump関数の前に以下を記述すれば省略されることなく表示させることができる。 ini_set('xdebug.var_display_max_children', -1); ini_set('xdebug.var_display_max_data', -1); ini_set('xdebug.var…

効率的なSQLの書き方とは

単純にデータベース設計に関わってきたのでメモ程度に書きます。随時更新していく予定です。 ==== 08/27更新 ==== ORDER BY サンプルデータ 数値で並び替えするパターン 文字列で並び替えするパターン 数値、文字列(複数カラム)で並び替えするパターン GRO…

WHR-1166DHP2を中継器にした話

中継器はBridgeモードで 中継機能の設定方法(WHR-1166DHP2、WHR-1166DHP3、WHR-1166DHP4) | バッファロー 基本的には、上記の公式サイトに書かれている通りにすればできます。 ここにも書いてあったのですが、中継器の設定はBridgeモードじゃないと出現し…

Railsで使えると思った関数

複数の配列を同時に取り出す ふと並列に配列を取り出したいと思っていろいろと関数を作ったりしてたのですが、こんな関数がRailsにはありました @array1 = [ 1, 2, 3, 4, 5] @array2 = ['a', 'b', 'c', 'd', 'e'] @mixed_array = [] @array1.zip(@array2).ea…

Ruby_on_Railsを勉強する

エラー対策 rails sに失敗する(08/05追記) `rescue in block (2 levels) in require': There was an error while trying to load the gem 'uglifier'. (Bundler::GemRequireError) Gemfileを編集する 以下を追加してbundle installします gem 'therubyracer'…

RaspberryPi 3 Model B+ でlircを使ってリモコン化する(その2)

前回からのつづき 今回やること 下準備 SlackでIncomingWebHookの有効化 apache2, php5のインストール Slackwebのセットアップ Slackwebのインストール 投稿テスト 実際に動かす webページを作る 前回からのつづき nomunomu.hateblo.jp さて、前回のつづきで…

RaspberryPi 3 Model B+ でlircを使ってリモコン化する(その1)

はじめに 今回使ったもの IR解析 LIRCのインストールとセットアップ インストール セットアップ lircの有効化設定 ハードウェア設定 デバイスチェック IRレシーバーのチェック リモコンを学習させる 生成したファイルを編集する ファイルを適用する LIRCサー…

Railsでの「There was an error while trying to load the gem 'uglifier'」

問題 rails sを実行した時に以下のようなエラーがでる。 nomunomu@nomunomu-server:~/rails_lesson/myapp$ rails server -b 192.168.11.11 -d /home/nomunomu/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-1.16.3/lib/bundler/runtime.rb:84:in …

TwitterのLaTexを画像化する

Twitterで何かできないか ふと、Twitterを使って何か面白いことができないかなーって思った結果、LaTexを自分宛にリプするとそのまま画像となって、送り返されるプログラムを作って見ました。 今回作成したプログラムは以下の通りです TwitterでLaTex投げた…

BUFFALO無線LANの不調の原因とは

事の発端 自宅で使用している無線の調子が悪いと家族から言われ、ログを調べるとこんなログがでていた。 無線LANの不調か? 一体何が起きているか分からなかったので、とりあえずSNSで情報を呼びかけたら以下のような回答がきた。 NAT(Network Address Trans…

WordPressの投稿ページでPHPを使う

WordPressの投稿ページでPHPコードを利用する WordPressでは、PHPで動的ページを生成しています。しかし、投稿ページや固定ページでは、PHPコードを直接利用することはできません。なので、「ショートコード」という方法を用いて利用できるようにします。 流…