サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大谷翔平
web.mt-systems.jp
日本通信(b-mobile)の「スマホ電話SIM フリーData」が、月額基本料1,560円(税別)という低コストで使いたい放題の200kbpsデータ通信、そしてMNPが可能な通話もできるということを知り、iPhone4sの契約もそろそろ2年になるためキャリアを替えたい気分になりました。 かといってイキナリ今の契約を切り替えて「失敗したっ!」となるのも嫌なので、そこで、ほったらかしてあった3GSを使ってSIMフリー化、プリペイドSIMの体験、Skype通話などを試してみたいと思った次第です。 さて、以降の説明においてお決まりですが全ては自己責任となります。またリンク先の安全性も確認しておりません。よってお問い合わせいただいても何もお返事できませんのでご容赦願います。 作業環境 iPhone 3GSはソフトバンクで契約して利用していたもので、常にアップデートしていたためiOSのバージョンは最
ComposerでダウンロードしたLaravelのバージョンはいくつだったかな?と、思って確認する方法を調べてみた。 一番簡単な方法はLaravelをインストールしたディレクトリで次のように入力すればOK。 $ php artisan --version または、ブラウザで確認する方法として routes.php に次のようにすると表示できる。 Route::any('version', function() { $laravel = app(); return "Current Laravel Version: " . $laravel::VERSION; }); 参考:How to determine the version of Laravel?
Laravel 4 を学習するのにちょうど良いサンプルがあったので、ソースを追いながら設定やらフレームワークの機能などいろいろと突っ込んで調べてみました。もし同じように「チュートリアルになるサンプル」を探していたら一度ご覧下さい。 Laravel 4 Bootstrap :: L4 starter project with Twitter Bootstrap 2.2 このプログラムはフロントエンドからのユーザー登録とログイン認証、及びログイン後のユーザー情報の変更処理を扱ったプロジェクトで、フロントエンド表示に Twitter Bootstrap を利用しています。 Bootstrapは12カラムのグリッドシステムを採用したCSSフレームワークで、最近3.0へバージョンアップされ、機能も大変充実しています。Bootstrapの学習には百式管理人さんが制作された「Bootstrap 3.0入
PHPのバージョンを5.3から5.4へアップグレードする際、ちょっと引っかかったのでその備忘録です。 検索すると「how do I upgrade from php 5.3 to php 5.4.6 in ubuntu?」のように割と簡単にできる感じだ。 $ sudo add-apt-repository ppa:ondrej/php5 $ sudo apt-get update $ sudo apt-get install php5 で、そのまま実行したのだがうまくいかない。で、後で気がついたのだが「add-apt-repository」コマンドが command not found エラーだった。 そこでgoogle検索すると「How to Fix Error sudo: add-apt-repository: command not found」で、「python-software-
暫くぶりに CakePHP でアプリケーションを作ろうかといろいろ構想練っている。その中でユーザーに提供したシステムを更新する際、、自動アップデート機能を盛り込みたいなぁ、と思って以前ブックマークしたsdozonoさんの記事「CakePHPのワンクリックアップデート用ソースコード」を見ていたら、「ClassRegistry」なるクラスがあった。 そこで早速検索して、忘れても直ぐに参照できるよういつものようにブログにメモ。 コントローラで複数のモデルを参照、利用する際、プロパティ $uses に参照するモデル名の配列を与える。 $uses = array('Post', 'User') ところでコントローラのアクションは、プログラムの実行に先立って $uses に登録されたモデル全てを読み込むので、モデルのメソッドを利用しないアクションでは効率が悪くなる。そこで、利用するアクションのみモデル
W3Cから、ブラウザで位置情報を取得する Geolocation API 仕様書の草案が公開されている。 どうやら JavaScript を使って、 GPS 機能があるデバイスから位置情報が取り出せる仕様のようだ。GPS 機能が無い場合は、IPアドレス、RFID、WiFI や Bluetooth MAC アドレス、GSM/CDMA セル ID などから推定された情報を戻すとの事。この機能を JavaScript の「navigator.geolocation」オブジェクトとして利用できるらしい。 以下、試した内容の備忘録です。Firefox 3.6.8、Chrome 5.0.375.126 で動作しました。IE8はNG。 先ずは位置情報の取得から。プログラムは簡単です。 <html> <head> <title>Test Geolocation API</title> <meta cont
情報は数年前から散見できたが、使いたくなってきたので試してみた。驚くほど簡単に利用でき、今後のアプリケーション作りに活かせるかな、と云う事で備忘録となります。 先ずはソース。 <?php $_GET['url'] = 'favicon.ico'; require_once = 'webroot/index.php'; $dispatcher = new Dispatcher(); $result = $dispatcher->dispatch('/posts/index', array('return'=>false)); echo $result; これで posts コントローラの index アクションを実行し、レンダリングされた結果が表示できる。 $_GET[‘url’]に文字列「favicon.ico」をセットすると、require_once で読み込んだ index.php の
CakePHPのページング機能を大変ありがたく利用させてもらっていますが、ビューでPaginator->sort()を使うとそのカラムだけの並び換えになります。一覧表を作成するとき、例えば日付順・顧客ID順などと表示したいときがあります。しかしいろいろと探して見ましたが上手い方法が見つかりませんでした。 以下の方法はコアコンポーネントを置き換える方法なのでお勧めできませんが、たった1行手を加えるだけで目的とする複数カラムの並び換えができるので、「どうしても!」と思う方は試してみて下さい。 Summary コアコンポーネント「PaginatorComponent.php」のソース1行を書き換えます。アップデートで変更したソースが消えてしまわないように、「app/Controller/Component」にコピーしてそれに手を加えます。 並び換えはビューで指定されたカラムを優先し、コントローラ
Securityコンポーネントを利用するコントローラに、jQuery のAjax関数「$.post()」でアクションを実行しようとしても、しっかりとブラックホール行きとなり期待する処理ができない。どうするか、以下は自分で試してみての解決方法です。 先ず、セキュリティを回避してアクションを実行するには、以下のように「beforeFilter()」でSecurityのプロパティに値を設定すればいいようだ。 public function beforeFilter() { parent::beforeFilter(); if ($this->params['action'] == アクション名) { $this->Security->csrfCheck = false; $this->Security->validatePost = false; } } しかしこのままの利用はセキュリティ上好ま
確認したい動作は、PHPで作ったメール送信プログラムが、決められた時間に自動実行することである。これについて、動作を分解して次のように確認する。 サーバー上でPHPスクリプトを実行する PHPスクリプトでメールを送信する 決められた時間に自動送信する 実はこれを発展させて、メールの自動着信処理をしようかと考えている。本来 、メール着信をトリガーとしてプログラムを起動できればよいのだが、利用している XREA サーバーではできないようだ。なので、cron を利用した時間スケジュールでプログラムを起動して処理する、という方法の確認だ。 1.サーバー上でPHPスクリプトの実行 先ずは、SSH でログオンしてコマンドを実行できるか? である。XREA は幸い、[管理メニュー]-[ホスト情報登録]で[SSH登録]を実行すれば、そのPCから TeraTerm の SSH でコンソール接続できる。 <?
久しぶりにCakePHPに戻ってきた。早速2.1Betaをubuntu11.10サーバーにインストールして利用を始めた。で、Bakeしようとコマンドを実行したらエラーが発生。 ググって、修正して、エラーが出なくなって使えるようになったけど、モー訳が分からない状態なのでメモしておく事に。 CakePHPをWWWのディレクトリ下「/cake_2_1」に置いた状態で、カレントディレクトリを「cake_2_1」にして以下のコマンドをターミナルで実行する。 $ php lib/Cake/Console/cake.php : Warning Error: SplFileInfo::openFile(.../app/tmp/cache/persistent/myapp_cake_core_file_map) : failed to open stream: Permission denied in ..
CakePHPの認証機能「Auth」を利用しているが、ユーザー(ブラウザ)の操作とその結果表示で、どうにかならないかなぁ、と思っている点が2つある。 1つは、ログアウト後のブラウザの戻るボタン操作で、ログイン中の管理画面が表示されないようにできないか、ということ。 もう1つは、ログイン中にブラウザを終了し、その後ブラウザを起動してサイトの管理画面に再接続したとき、ログイン状態を破棄して再ログインを要求できないか、ということ。 前者は、まだいい解決法が見いだせていないが、糸口になりそうな点があったので最後に。 さて、ログイン時のセッションの有効期限だが、「config/core.php」の「Security.level」に「midium」をセット して、デフォルトで3時間20分となる。なので、ここを短くするように「Session.timeout」を変更する。すると、今度は管理画面でデータ入
今頃 HTML5 の緒に就いたところで恥ずかしいのだが、早速つまずいた。古籏氏の「File APIでブラウザーからローカルファイルを操作」という記事で、jQuery で試そうとした結果、半日つぶしてしまった。が、一つ賢くなった、と自分を慰めている。 お題は選択されたファイルのファイル名、サイズ、ファイル種別(MIME Type)を表示する JavaScript プログラムである。 <h1>ファイル情報を表示する</h1> <form action="./test.cgi" method="get"> <input type="file" id="myFile" /> <input type="button" id="fileInfo" value="ファイル情報を表示" /> </form> <div id="result"></div> <script> document.getElem
CakePHPの関係データ取得は、SQL文を自分で作らなくていいので重宝だ。で、「recursive=2」でテーブルの情報を検索した。検索 結果に必要な関係データがあるのは良いとして、不要なデータも当然付いてくるので、これを取り除いた検索結果を取得できないかな?というのを試してみた。 例としてテーブル、usergroups、users、posts、commentsとする。それぞれ usergroups hasMany users users hasMany posts/comments、users belongsTo usergroups posts belongsTo users、posts hasMany comments comments belongsTo posts/users 図で表すとこんな感じだろうか。 ここで、一件のpostsデータを検索する際、ユーザの所属グループデータ
プラグインを制作中、カレントテーマの URI を取得する必要が生じた。ところが、API 関数の「get_template_directory_uri()」を利用すると、カレントが子テーマであっても親テーマのパスを戻してくる。 Codex のドキュメントをよく読むと、子テーマが使われている場合は「get_stylesheet_directory_uri()」を使うようにとの事。時間を潰してしまった。 ところが暫くして、カレントテーマのディレクトリを取得する必要が生じた。これまた、「get_template_directory()」は親テーマのパスを戻すので、「get_stylesheet_directory()」を使わなければならない。ここでも、時間を潰してしまった。 で、ブログに備忘録として残しておこうかと。 情けない… orz wordpress 3.0.1
VALUE-DOMAIN でドメインを取得し、自宅の PC(Windows XP) 上で Apacheサーバーを立てて開発用に利用している。サブドメインは、Apache の Virtual 設定でサイトを分割して利用し、データベースは MySQL や PostgreSQL など開発作業で動作確認したり、また FTP サーバーを利用してファイル交換したりと大変便利である。 PC の OS、Windows XP には多くのサーバー用フリーソフトがあり、メールを除いてほとんど困ることはない。そう、今はフリーのメールがなくて少し困っている。そこで、契約中のさくらインターネットにサブドメインを設定し、VALUE-DOMAIN で取得したドメインのサブドメインをさくらインターネットへ振り向けられれば、ウェブサイトばかりでなくメールも利用できて利用範囲が広がるぞ、と思ったわけだ。 ここでも多くの先人達が
カスタム投稿タイプを定義して投稿データを入力し、いざ表示しようとしたら無情にも「ファイルが見つかりません」の表示。 register_post_type()のパラメータである publicly_queryable、query_var、rewrite や、[管理画面]-[設定]-[パーマリンク設定]の変更、テーマの切り替えなどさんざん変更して試してみるも解決しない。 ただし、パーマリンク設定でデフォルトの状態で http://example.com/?custom_post_name=slug であれば、ページを表示する事ができた。同様に、query_var を利用してのクエリー指定だとページの表示ができた。 自分がリンク表示したいのは、 http://example.com/custom_post_name/slug なのだが。 で、解決方法は、カスタム投稿タイプを登録する際「flush_
有限会社エムティシステム提供Webサイト リリース情報 WordPressのプラグイン「MTS レンタカー予約システム」をリリースしました WordPressを導入しているサイトで、レンタカーの予約サイトを構築することができるプラグインシステムをリリースいたしました。 » MTS レンタカー予約システム このアプリケーションプログラムを利用することで、自社が運営するWordPressを利用したサイトで、レンタカーの予約管理ができるようになります。 レンタカーと言えば、大手企業が全国の空港など交通の要所に店舗を構え、利用者は車種の選択や料金など選択肢の幅が非常に狭い中で、車両を借りている状況です。 これは、レンタルサーバーで動作するレンタカーの予約アプリケーションシステムが一般的に見当たらないことから、小企業がレンタカーのWeb予約システムを構築することが難しいのが原因ではないかと思われます
カスタム投稿タイプを調べている際、編集ページで title や edit 以外に「thumbnail」というのがあり、それが「アイキャッチ画像」という名称で編集ページ上に表示されていた。 使い方は、例えば TechCrunch JAPAN サイトのように、トップページで複数の記事を表示する際、1つの記事に導入文章(WordPressでは抜粋)と共に小さめの画像を表示するレイアウトが作り易いように、という事だと思われる。 WordPress のデータとしては、1つの記事に1つの画像を紐付けして、一覧表示や詳細表示で手軽に画像が表示できる機能として提供されているものであるようだ。記事中の画像リンクとは、異なった方法で表示指定する。 Twenty Ten テーマでの使われ方 Twenty Tenでは、サイト表示のヘッダーで 940×198ピクセルの画像が表示されるようになっている。そしてこの画像
アプリケーションプログラムの制作でどこに多くの時間を費やすか、と言ったら、ユーザインタフェースである、と答える人は自分も含めて多いと思う。 スタンドアロンからWebアプリケーションになってもそれは変わらず、リッチクライアントとか呼ばれて、「なかなか楽にならんなぁ」と思う限りだ。それで も、CakePHPを利用することで開発スピードは劇的に上がっている、と感じている。 さて、データを投入する際に少しでも利用者の負担を減らすため、セレクト要素の選択機能は極めてよく使う。そうすると次に、グループを選択することでグループに属する集合を変更したくなる。 ここでは表題通りで、グループを会社の部署やプロジェクトチームとし、グループを選択した後、そのグループに所属するユーザを選択する際に、Ajaxを利用してユーザの集合を入替える機能を実現する。 データについて グループテーブルを「groups」とし、ユー
WordPress は、3.0 になって新たに公開された豊富な機能により、利用が一段と面白くなってきた。それらの機能は、今まで築き上げたサイト構築の手法の変更を迫っているようにも感じる。制作者側は大変だろうが、今後 WordPress 3.0 ならではのサイトが出現してくると思われるので楽しみだ。 さて、WordPress で扱う記事(ページの内容)は、それまでは静的な記事は「ページ」、動的な記事は「投稿」というような使い分けが専らだったと思う。ブログとして使うのであれば、話題によりカテゴリーで分類できる。タグもキーワードとして利用できる。 では、産業界で商品や製品を分類して WordPress で扱うにはどうしたらいいだろうか? あるいは、記事によって文や画像のレイアウトを変えて表現するにはどうしたらいいだろうか? それぞれ自前の解決方法を構築していると思うが、新しい機能「カスタム投稿タ
フォーム入力されたデータのバリデーションは、ActiveRecord を継承したモデルクラスの rules() メソッドの定義で、プロパティごとに評価される。評価は、framework/validators ディレクトリ […]
画像ファイルのアップロードに関しては、クックブックの How to upload a file using a model にレシピがある。これを見て、作りたいと思う機能をサクッと作れるほど Yii に慣れ親しんでいないので、自分なりの解釈を記して見た。 ファイルアップロードの処理を行なう際、Ajax を利用するにしても、Yii を利用した場合はどのような作業フレームで、そしてどのクラスを利用すればいいのかの手掛かりになればと思います。 作業フレーム MVC に合わせて、 画像ファイル用のモデルを作る バリデーションのルール定義、ビュー用のタイトルなど アップロード受付表示のビューを作る アップロードする情報の CHtml ヘルパーを利用したデザイン アップロード処理のコントローラを作る アップロード受付表示、アップロードファイルの保存処理など モデルは、ファイルタイプやサイズ制限などを「
Windows Vistaを導入する際、システム領域(Cドライブ)に30GB割り当て、残りの120GBをデータ領域(Dドライブ)とした。Vistaを利用し始めて から3年目になるが、「残りの領域が少ない」ようなメッセージが表示されるようになり、いつの間にかシステム領域の空き領域が1GBを切るようになってし まった。領域は、簡単に変更することができるのだろうか? XP以前であれば、パーティションの仕切り直しは専用のソフトを購入するなどしなければならなかったが、Vistaではコントロールパネルから管理ツールを選択し、「コンピュータの管理」を利用することでできたので、便利になったなぁ、と感心した。 さて、自分が実際に行った操作を簡単にメモしておく。手順は以下の通り。 Dドライブの中身を、USB接続の外部ドライブにコピーして退避する。 [管理ツール]-[コンピュータの管理]を起動し、[ディスクの管
JavaScript を利用したページ作りは、WordPress ではどのように実現するか? について、探し方が悪かったのか良い方法が見つけられなかった。そこで自分なりに考え、以下の方法で解決することにした。 実現方法の概要 JavaScript のプログラムは、投稿記事やページに直接記述しても実行できないので、カスタムフィールドに登録する。 登録したプログラムが(X)HTMLのhead部に読み込まれるように、テンプレートを変更する。 jQueryのようなライブラリを読み込んで利用できるように、1,2と同じ方法を行なう。 カスタムフィールドの登録 post(実際はpostmetaテーブル)データにカスタムフィールドが登録できる、と言う機能には正直感心した。これのおかげで、非常に拡張性 に富んだ作業が行なえると感じたからだ。今回カスタムフィールドに登録するデータは、ライブラリ読み込みの例とし
自社のホームページを持っていれば、Twitter でツイートした内容をトップページなどで「新着情報」のように表示したい、と思う事もあるのではないでしょうか? 最近ブログ上で、ツイートを表示するウィジェットが多く見かけられるようになりました。このウィジェットですが、ブログだけでなくあなたのホームページにも組み込むことが簡単にできます。 また、ウィジェットに頼らず jQuery を使ってツイートを取得し、ホームページに合わせた表示をすることも簡単にできます。ここでは、それぞれの利用方法について簡単に説明します。そして、もしあなたのホームページをリニューアルする機会がありましたら、WordPress と Twitter を融合した使い方も検討してみて下さい。(WordPress と iPhone & Twitter 連携 も参考にどうぞ) ツイートを表示するウィジェットの情報は、Twitter活
データの編集で、同じモデルの複数レコードを一括で編集表示し保存する、ような処理を行ないたいことがよくある。レコード1件1件をその都度編集、保存する手間を省きたい訳だ。 CakePHPのFormヘルパーは、inputエレメントをlabelエレメントやdivエレメントを付けて出力してくれるので、 fieldsetエレメントやlegendエレメントを利用して編集ブロックとしてまとめるなど、CSSを利用して統一したデザインにすることができる。 デザインについては、sdozonoさんの以下の記事が大変参考になった。 FormHelperとCSS Formヘルパーでは、createメソッドにモデル名を設定すれば、後はinputメソッドにテーブルのカラム名を指定し、最後にendメソッド を置いて<form>ブロックの出来上がりである。サーバーにデータがsubmitされた際のactionで は、$this
Qdmailは、メール送信でBase64のコード変換や細かい作法を気することなく、日本語が文字化けしないようにメール送信を面倒見てくれる、大変優れたPHPライブラリである。国産で保守がしっかりされているので、安心して利用でき、使っている人も多いと思う。 最近サイトのお引っ越しでのリニューアルで、フォームメールのメール送信が、さくらインターネットへメールが届かない(受信しない)現象に出くわした。どうやら、原因が2つ3つ重なっていたようだ。 1.Return-PathがFrom送信者と同じでない と、さくらインターネットのメールサーバは、メールを受け付けてくれないようである。QdmailでReturn-Pathを設定するには、 Qdmail(1.2.6b)の他、Qdsmtp(0.2.0a)を使う。Qdsmtpは、Qdmailから自動的にロードされるので、Qdmailの置 き場所(CakePHP
MTS Download Leader Plugin for WordPress 自分のプログラムを公開するにあたって、どのくらいダウンロードされるのか興味があるところです。画像や音楽を創作して公開しようと思われている方も、きっと同じ気持ではないでしょうか。そこで、ダウンロード回数が分かる、WordPress のダウンロード補助プラグインを作ってみました。 機能は、ダウンロード用のアンカーからダウンロードすると、日時、IPアドレス、ユーザーエージェントを保存するものです。アンカーは、ファイル名とタイトルや保存先を設定したマスターデータから、記事やページに簡単に貼り付ることができます。 管理画面の機能は、ファイル保存先のディレクトリを登録する「設定」と、ダウンロードファイルの情報を登録・編集・削除、およびダウンロード回数を表示する一覧しかありません。 ここでは、インストールから使うまでを簡単
次のページ
このページを最初にブックマークしてみませんか?
『MT Systems – Just another WordPress weblog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く