サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
災害への備え
pk-brothers.com
事象としてはタイトル通りなのですが、 XAMPPにおいてMySQLのログインパスワード変更後に phpMyAdminにログインできなくなる事象が発生したので、備忘録がてらに紹介します。 かなり初歩的なところですね。 まずエラー内容は、 XAMPPにてMySQLのパスワード変更を行った後に phpMyAdminへアクセスすると、 「MySQL サーバに接続しようとしましたが拒否されました。config.inc.php のホスト、ユーザ名、パスワードが MySQL サーバの管理者から与えられた情報と一致するか確認してください」 というエラーが発生する。 で、エラー内容の通り、 config.inc.phpファイルを確認したところ、 (パスはxampp¥phpMyAdmin¥config.inc.phpですね) $cfg['Servers'][$i]['controluser'] = 'pma'
久しぶりに更新したときは割と連投で行くのです。なぜなら公開予定日を設定してスケジューリングしているからです。 さて、今回はよく使うと思われる、PHPのdate関数を使用して日付から日本語の曜日を取得するというものです。これは日本のサイトでは結構使うのではないでしょうか?ぜひ参考になればと思います。一瞬で説明が終わります。 日付から日本語曜日を割り出す関数定義 // 日付から曜日を日本語で割り出す関数 public function tag_weekday_japanese_convert( $date ){ $weekday = array( '日', '月', '火', '水', '木', '金', '土' ); return $weekday[date( 'w',strtotime( $date ) )]; } そして使う場合 echo $this->tag_weekday_japan
大量のデータをなるべく早く作成する方法です。 INSERTクエリをプログラムで回す方法もありますが、 それでは1億データ作成する際にとんでもない時間がかかります。 今回は、簡単にSQLの単純結合を使いデータを作成してみました。 時間的にかなり節約されたので、参考までにどうぞ。 さっそくやってみましょう。 sampleテーブルというテーブルで説明します。 構造は、 id data create update とでもしときましょう。 簡単なのですぐ終わります。 まずsampleデータに何レコードか登録しておきます。 今回は4レコード登録しておきました。 で、以下のクエリを実行します。 > select count(*) from sample, sample a2, sample a3, sample a4; 結果は count:256 になります。 何を行っているかと
さぁ、今回もCakePHPのお話にしましょう。CakePHPで一括saveする際にバリデーションチェックの有無を引数により制御できるのですが、結構バリデーションをかけるタイミングを変えたいシュチュエーションが発生することが多かったのでおさらいしてみましょう。 また、複数レコードの場合は配列マジックが結構するどいので注意する点が多かったので自らのリマインドも含めて。 CakePHPで複数レコードを保存する方法はどうやるの? CakePHPの「saveAll」関数を使おう! 全然知らない人はCakePHPでのsave関数形は以下を参照してみよう! http://book.cakephp.org/2.0/ja/models/saving-your-data.html saveAll関数に渡す配列の形式は? これも結構つまずきやすい個所ですよね? 僕は何回もつまずきましたよ・・・これがCakePH
我々は日々死ぬために生きている。 生きるために死ねる。 最近そんな言葉が胸にささった。 今回のTipsはよくあるCakePHPでのバッチ処理を実行するための基本的方法について記述する。 よくシェルとも言うらしいが、僕はバッチといった方がしっくりくるから以下バッチという。 僕の開発環境はWindows環境なのでWindowsに特化している記述になるがいいだろう。 結構Windows記事を見つけないからだ。 参考になれば幸いでござる。 まず、どのファイルに書くか? app/Console/Command/ このディレクトリにファイルを追加する。 できればCakePHPの命名規則にのっとって書くのが無難だろう。 app/Console/Command/TestShell.php こんな感じに、ね。 コーディングの構成は? 僕はいつも以下のような形で基本形成を保っている。 人はルールの上にいてこそ
こんにちは。先日はとち狂った記事を書いてしまいましたが、また本来の技術系記事にもどります。 AWSでロードバランサ(ELB)を構築してその配下にWEBサーバを置く場合によくあるパターンです。 AWSでロードバランサにSSL証明書を設置してWEBサーバへはHTTPでリクエストを流すというのが一般的な構成だと思いますが、この時にアプリケーション側はHTTPでアクセスされているのでベースとなるURLがHTTPになってしまう現象に陥ってしまいました。 その際の対処方法になります。 陥る構成例 おそらくこの構成であれば以下のような流れになっていると思います。 リクエスト(HTTPS:443) ↓ LB(HTTPS:443→HTTP:80) ↓ WEBサーバ(HTTP:80) この場合WEBサーバへのリクエストはHTTPなので、アプリケーション内でHTTPSのリクエストを判断することができません。その
どんどん技術系のTipsで攻めてみます。また実験的にわけわからない記事を書くかもしれませんが、そっちの方が楽しめると思うのでもしみたら確認してみてください。くそが。 それでは今回のjQueryでクリック系処理に対して2重送信を防止する方法を残していきます。 フロントエンドエンジニアや、WEB系エンジニアは結構使うことが多いと思うのでやり方というよりはロジックは理解したほうが今後の為になると思うぞ。 今回は大多数を占めるであろう2パターンを紹介します。 ボタンタイプの場合 1回目のクリック時にボタンを無効にする方法です。 ボタンの場合はアトリビュートで無効にできるものがあるのでクリックイベントをとってそのアトリビュートを付加させたらいいだけです。 $('#login_submit').on('click', function(){ // ボタンを押せなくする $(this).attr('di
今回はJSのTipsになります。 結構使う頻度が多いものなので備忘録がてらに残しておきます。誰かの参考になりますように。。。 カンマ付の価格を数値に変換する方法 strPrice = '12,345'; //splitで全てのカンマ(,)を取り除いて空文字で連結して前後の空白を削除しparseIntする numPrice = parseInt(strPrice.split(',').join('').trim()); 数値をカンマ付の文字列価格に変換する方法 intPrice = '12345'; strPrice = addFigure(intPrice); // カンマ区切りに変換する関数 function addFigure(str) { var num = new String(str).replace(/,/g, ""); while(num != (num = num.repl
ふぅ。最近はめっきり寒いのぅ。 さて、今週の我々は、CakePHPの小話でもしようと思います。 っていっても最近めっきりCakePHPのTipsばかりだけどね。 なぜか?それはやっているからだよドラえもん。 こう思ったことはないですか? CakePHPでコントローラーがたくさんできちゃってなんかディレクトリにまとめたくなっちゃった。。。 そう。それって解決しましょうよ。 タイトルではコントローラと書いておりますが、ModelもViewも、やっぱりControllerも階層分け出来るんですよ。 そう。CakePHPならね。(てかほかのフレームワークではデフォルトで実装されていたりするらしいけどね♪) たとえばこんな時・・・ 構築するものが、フロントとバックエンドが分かれている場合。 これってよくありますよね。だって、アカウント管理画面とフロント側の実装って結構ありますよね。ってかCakePH
ひーーーーーーーーーー、やっはーーーーーーーー! さぁ、今回もはじまりました、どうもCakePHPです。 最近思うんだよね。3大欲求といわれている性欲って結構我慢できちまうんだぜ?不思議だろ? 食欲も睡眠も我慢できないんだからな。 今回はCakePHPが奨励しているデバック時には欠かせないプラグインの導入方法である。 CakePHPが押しているものなんて使わないわけにはいかないだろ?坊や。 最新版をダウンロード まずは焦らずにダウンロードしようぜ? 君もやってる?ダウンロードというやつさっ! https://github.com/cakephp/debug_kit ダウンロードはできたかな?坊や。 そしたら /app/Plugin/DebugKit/ 以下に有無を言わさず設置してください。 使い方 設定ファイルにプラグインを使用しますよ、と記述を加えるんだ。坊や。 /app/Config/
久方ぶりです。なんでこんなに更新頻度が落ちたかと言うと、やはり働きすぎでしょう。 適度に働き適度に休む。 そう。仕事と遊びは「選択と集中」なのです。 さぁ今回はCakePHP環境下にWordpressを導入する方法を残したいと思います。 出来るようになると結構、無敵感(それはないか。。。)がでるので知っていて損はないですよね。 どんな場合につかうの? そうです。使うタイミングがなければ覚える必要もないのと思います。がしかし、CakePHPの使いやすさと、Wordpressの作りやすさと管理画面の充実さを併せ持つものができると思うと心が躍りますね。 具体的に例を挙げると、いくらエンジニアだったとしてもWordpressの管理画面のようなシステムを構築する事はとても難しいですよね? 僕は無理です。やりたくもない。 ただ、フロント側で制約の強いWordpressを導入するとシステムの幅が狭まって
投稿に対して 複数画像をアップロードした際に、 その投稿画面で複数画像を表示する方法。 (個人のやり方なので参考までに…) 投稿画面で画像の投稿はできますが、 表示する際にその画像をカスタマイズする事はできなかったのでやってみました。 具体的に言うと、 投稿した複数の画像をスライドショーにして表示させたいわけですわ。 そのためには、 複数アップロードするやり方 アップロードしたファイルパスの取得方法 が必要ですね。 で、複数画像アップロードに関してはもう実装されてます。 (2012年時点で) ただ、そのデータを取得する際に取得しやすいように、 今回はカスタムフィールドを使用しました。 具体的には以下のような形になります。 (今回僕はカスタムフィールドテンプレートを使用しております。) — [fileUpload] type = file relation = true multiple =
なんだかんだ言って必要になる事柄。 難しいようで簡単。 そんなもんですよ。 では備忘録的に残していきます。 早速ですが、簡単なのでぱぱっと終わらしちゃいましょう。 まずはJavaScriptのfunctionを作ります。 以下のソースでちゃちゃっとできますね♪ サンプルなので適宜修正してください。 <script type=“text/javascript”> function sampleForm( value ){ var form = document.createElement( ‘form’ ); document.body.appendChild( form ); var input = document.createElement( ‘input’ ); input.setAttribute( ‘type’ , ‘hidden’ ); input.setAttribute(
この業界にいるとおそらく一度は必ず使用するであろう集計クエリです。 特にありそうな時間別集計のサンプルを、自分に対しての備忘録がてらに綴ろうかと思います。 今回紹介するのは、時間帯(hour)と時間帯(minute)で集計するパターンです。 1時間ごとの集計や、15分毎集計等も紹介するので参考までに。 では早速紹介させて頂きます。 また、今回は2つのパターンで少しジャンルが違うやり方でやっている方法を見つけたので、それぞれ紹介させて頂きます。 まず、テーブル構造はサンプルで以下のようにしようかと思います。 大体テーブルに1つは時間のカラムを含ませると思うので、 その際はフレキシブルに使用してみてください。 □サンプルテーブル構造 mysql->desc trn_sample_log | [Field] | [Type] | | id | int(11) | | comment | text
今回はMySQLのテーブル分割機能である、パーティショニングについて実際にやってみたので紹介します。 MySQLの5.1ぐらいからパーティショニングが使えるようなったらしいです。 パーティションを区切ると、対象のカラムのデータで物理的にテーブルを分割する事と同等の効果を発揮します。 これで、大量データも気軽に扱えるようになりそうです。 早速操作ログと共に説明したいと思います。 まず第一条件としては、 対象カラムがプライマリーキーとなっていることが必要です。 例えば、期間で分ける場合は、 date/datetimeカラムをプライマリーキーに設定する必要がありそうです。 また、フラグ等で分ける場合は、 そのフラグをプライマリーキーに含める必要がありそうです。 今回はフラグでパーティションを区切る方法を試してみました。 (期間で分けるタイプは結構WEBに転がっていたので…) まず対象のテーブルを
このページを最初にブックマークしてみませんか?
『【鋭利団体】PK-Brothers | 丸くならない。角を研ぎ続ける団体。』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く