読者です 読者をやめる 読者になる 読者になる

思い立ったら何かを書いて行くブログ@DreamProject中の人

DreamProjectというゲーム制作サークルで奮闘しているかも知れない人の徒然なるブログ

続・GMOさんの神対応

DreamProject関連 Web系 日常

 

先程書いた記事ですが、既に②のMYSQLの再インストール方法の回答が来てました!思ったよりもリプライ早くて……私を惚れさせてGMOさんってば罪なお人です♪(/ω\*)

 

さっそく、食事から戻ったら試してみようかと思います(*・∀・*)ノ

 

以上、GMOさんの神対応に関する感激記事でした(*´ω`*)

ふりーむでの自主制作ゲーム【DreamProjectの日常~くるむ参加編~】のダウンロード状況(2016/12/02)+GMOさんの神対応

DreamProject関連 Web系 日常

【DreamProjectの日常~くるむ参加編~】のダウンロード状況(2016/12/02)

なんだろう・・・綺麗なMになっていたのでスクショ撮ってみましたw←

gyazo.com

 

 

ダウンロードして頂いた方ありがとうですヽ(;▽;)ノ

グッズの方も気に入ったら買ってやってください~(ダイマ)

store.shopping.yahoo.co.jp

 

現在公式サイトが障害中なので、直接注文していただく方は代わりに

EternalDream | ~終わらない夢~から注文してくださいませ~

 

障害対応状況について(2016/12/02)

現在、自サイトの復旧は後回しにポートフォリオや提案用サイト、お客様検証用サイトを中心に復旧作業中です。

 

そして、なんとGMO(お名前.comレンタルサーバー)の担当者からサーバー復旧相談に関する朗報を頂きました!

本来はあくまでもGMOさんはVPS障害は運用者責任でサポート対象外ですが、こちらでも色々調査をした上でラブコールをさせて頂いてたら、私の調査内容に同情して頂いたのか・・・①OS再インストールによる方法(テンプレート作ってくれた!)と②Cpanel-MySQLRPMパッケージ再インストール方法の調査(※調査中)をして頂けることになりました。

某S社さんを利用してた時は、素気無く断られたので泣く泣くGMOさんに乗り換えたのですが、こんな神対応してくれるとは思いませんでした。・゚・(ノД`)・゚・。

 

もう一生GMOさんでいいやって思ったよ!

 

繰り返しますが、あくまでも私のサーバー調査の結果とGMOさんの特別対応なので、何でもやってもらえるとは思ってはいけませんよ?w

ただ、こちらも誠意を見せてお願いすれば、意外とGMOさんはこっち(技術者)寄りの人情味の溢れる方達なのかもしれないと思いました。そして、惚れました……(/ω\*)

 

ということで、テンションが上がってきたところで作業の続きと行きたいけど、昨日から何も食べてないので食事取ってから頑張ろうと思います!

【※愚痴注意※】管理してるシステム障害でテンション急降下

Web系 日常

もうね……MySQLちゃんが完全にお亡くなりになられてるらしく、仕事で使ってたサイトも載せてたので全て構築し直しなんですね(´・ω・`)

スナップショットも間に合わず、ダメ元でGMOMySQLのリペアまたは再インストールできないかを依頼中ですが……たぶんダメでしょうねw

 

とりあえず、Webサーバは生きててコンテンツデータは取得できそうなので、最終手段としては現障害サーバからもう1つの運用サーバにサイトを移行して述べ20サイトを構築し直しかなぁ……これはホントに想定外も想定外。

 

12月01日から学校に復帰すべく動いてたってのに、終わらせようと思ってた仕事も終わらないしホント勘弁して欲しい_(;3 _/∠)ゞ

 

とまあ、愚痴をこぼさないとやってられない状況なわけですが、ボーッとしてても仕方ないので緊急移行の準備を進めますかね……

うーん・・・久々に自分のサイトいじったけど・・・

日常

サイトリニューアルするかなぁ・・・と思った白河です。

 

DreamProjectのサイトってもう前回リニューアルしてからもう結構経ってるんですよねぇ・・・今の見た目にも愛着はあるんですが思い切ってテーマから作り直しちゃおうかと考え中です。とは言え作業優先なのでこれも後回しかなぁ・・・という感じです。

 

ある意味で猫の手も借りたい状況なので、誰か一から教えるからサイトリニューアルを有志で手伝ってくれないかなぁ・・・(チラッ

なんていうのは冗談ですが、現在は特に頻繁に更新することもないし、しばらくはこのままで行こう・・・うん。(ホントは後回しっていうと結局やらないパターンになるから行動した方が良いんですけどねw←)

 

優先順位的に今は優先すべきことがあるから、早めに色々と片付けちゃわないとですね(´・ω・`)

 

とりあえず、最近結構ダウンロードをしてくれた無料ゲームをダイマで貼り付けておきます(*´ω`*)

 

ed-dreamproject.com

 

片隅ブログなのでダイマになるかもわかりませんがw

ふりーむでの自主制作ゲーム【DreamProjectの日常~くるむ参加編~】のダウンロード状況(2016/11/18)

DreamProject関連 ゲーム情報

【DreamProjectの日常~くるむ参加編~】のダウンロード状況(2016/11/18)

今日のびっくりしたことはこれです。今まで多くても2~3回だったのが7回ダウンロードされてたのがびっくりですヽ(・∀・)ノ

gyazo.com

 

 

忙しくて全然ブログ更新出来てなかったんですが、実は先週あたりにも3回くらいダウンロードしていただいてました。

gyazo.com

 

 

内容如何は今考えるとまだまだ未熟な面は多かったですが、それでも一緒に作ってくれたみなさんの努力の結晶には間違いないので、こうやってダウンロードしていただけるだけありがたいですねヽ(*´∀`)ノ

感想送ってくれてもいいのよ?(震え声)

 

作ってからかなり時間経っちゃってて、次回作作るとしたら私の色々なバタバタが済んでからになるので少なくとも数年後になっちゃうかなぁ……なんて思ってます。

 

ちなみに、前回動画の案件に着手しようとしたら直後に障害調査案件が入って着手できなかったので、納期的なものは決められてなかったんですけど、随分後回しになっちゃってるから早く納品しないとやばいですね。

体調もだいぶ安定してきてはいるので、このまま頑張って復帰するためにも復帰の準備の時間も作らなきゃです(;´∀`)

 

それでは、本日はこの辺で(:3[オフトゥン]でお休みしたいと思います。

 

パソコン初心者向けGoogle検索講座

Web系 日常 TIPS

今回は、とあるサイトでパソコンに明るくないというQAを見つけたので、思い付きで書いてみることにしました(*´ω`*)

パソコンが普及してだいぶ経ちますが、未だにコンピューターは苦手という方は結構少なくないように思います。私の母も、スマートフォンは何とか使っていますが、やはりパソコンを使うまでには至らないという状態だったりします^^;

 

なので、母みたいに苦手意識があって触るのが苦手や怖いといった方にはちょっとハードルが高い話にはなってしまいますが、検索の仕方一つで知りたい情報が見つけやすくなる技を参考サイトの内容から普段使いの出来るものを抜粋して解説させて頂きます(*^^*)

なお、この方法はAndroidなどのスマートフォンタブレットなどでも同じですので、これさえ覚えておけば、あなたも検索の達人になれます(*´ω`*)

 

参考サイト:

gigazine.net

 

基礎編

 Google等の検索サイトで通常検索される際殆どの方は「男性 カジュアル シャツ」という風にスペース(半角または全角)で区切って入力されていますよね?

 実は、この検索方法の詳細は「(男性 AND カジュアル AND シャツ)」となっています。つまり、GoogleのデフォルトはAND(絞り込み)検索ということです。これをまずは覚えておいてください。

 

◆01:入力した言葉・フレーズの完全一致検索
"GIGAZINE"」のように完全一致で検索したいワードを「""」で囲むだけ。「"GIGAZINE Twitter"」などスペースを入れて検索してもOKです。

 

  例示にもありますが「"」(半角ダブルクォート)で検索したい語句を囲むことで完全一致(その語句全てに一致するもの)検索が可能です。例えば、スペースで区切るとAND検索になってしまう時に「"Every Little Thing"」等で調べるとスペース入りの固有名詞として検索が可能になります。

 

◆02:検索結果に表示したくない言葉やウェブサイトの除外
「アニメ -YouTube」のように、除外したいキーワードやウェブサイト名の前に「-(半角ハイフン)」を入れると指定したウェブサイトのページが検索結果に表示されなくなります。

 

 例示にある通り除外検索(除外したい検索語句の指定)です。例えば、「男性ファッション -ブランド名」で検索すると、特定のブランド名を除外した検索結果が表示されます。

 

◆06:間違っているかもしれない語句で検索する
不明瞭な語句を「GIGAZINE *GIGAZON*」のように「*(半角アスタリスク)」で囲むと、不明瞭な語句を考慮した検索結果を表示できます。

 

 「*(半角アスタリスク)」は、全ての語句(半角全角英数記号文字数関係なく)を検索するという意味になります。あいまい検索とも呼ばれ、例示にあるような使い方もありますが、歌詞等を検索する際にあいまいな部分に使うことで目的の歌詞を見つけることも可能です。

 

◆09:特定のサイトまたはドメイン名で検索結果を取得する
「睡眠 site:gigazine.net」や「オリンピック site:.gov」のように、「site:」の後にウェブサイトのURLやドメイン名を入れることで、特定のキーワードでページを抽出することができます。

 

 いわゆる「サイト内検索」と言われる検索方法です。例えば、動画サイトでもYouTubeだけを検索したい場合は「君の名は。 site:www.youtube.com」で検索することでYouTubeに限定した「君の名は。」に関連した動画の検索が出来ます。

 

◆12:複数キーワードの内1つだけを含むページを表示
OR(大文字)」は「フィギュア 1980OR2000」などとすることで、1980年か2000年限定のフィギュアが探せるわけです。

 

 冒頭でしたGoogle検索は基本的にAND検索である」という説明を思い出して頂けると幸いですが、実はOR検索(指定したいずれの語句も含む検索)もあります。例えば、「フィギュアスケート 羽生結弦 OR 浅田真央」で検索すると、フィギュアスケート羽生結弦さんと浅田真央さんに関する両方の検索結果が表示されます。

 

覚えておくともっと便利なもの

 基本的には上記の5つを覚えておけば日常的には殆どのものは検索できると思います。これらの検索方法は組み合わせて利用することも出来ますので、是非使ってみてください(*´ω`*)

 他にも、参考元のサイトにも色々書かれていますが、個人的にさらに検索でちょっと使えそうなものを2つご紹介します。

 

◆14:Googleがサイトを最後にクロールしたときのページ内容を表示
cache:」の後にサイトのURLを入力して検索すると、Googlebotなどがサイトを最後にクロールした時の最新ページを見ることができます。

 

 普段使いではあまり使わないのですが、Webサイトは閉鎖してしまうことや情報が書き換えられてしまうことがあります。しかし、Googleのサーバにはクローリング(※Google検索エンジンは定期的に世界中のWebサイトを巡回しています)して得たキャッシュ情報というものを保持しています。これらのキャッシュ情報を見たい時なんかに使える検索方法です。

 特に何もしていない普通のWebサイトであれば大体1ヶ月程度残っている場合もありますが、今はSEO対策で自動的に古いキャッシュは定期的に更新していくように設定されているサイトが多いのであまり使われなくなりました。また、キャッシュが残っているサイトはGoogleの検索結果のURLが表示されている横に「キャッシュ」という文字が表れてそれをクリックしても同じ結果が得られるので、実質的にこれを使う場合は「特定のサイト内のキャッシュを調べたい」という使い方に限定されるでしょう。

 

◆15:拡張子で検索
「funny filetype:gif」のように、「検索したいキーワード filetype:拡張子」で拡張子ごとに画像を検索可能です。日本語のキーワードでは検索できませんが、Google画像検索の拡張子オプションを選択すれば日本語でも同じことができます。

 

 例えば「猫 画像 filetype:jpg」であれば猫のJPEG型式の画像が検索されますが、WordPressのソースファイルを検索する時も「WordPress filetype:(zip OR tar.gz)」という風に検索出来ます。

 

おわりに

 パソコンが苦手という方は触るのも苦手という方が多いのかなと思います。何にでも言えることですが「まずは使うという習慣をつける」というのが大事です。慣れてくれば、後は大体のことは上記の検索方法で殆どのものは効率的に検索できてしまいますので、誤解を恐れずに言えば効率の良い検索方法を使いこなせればインターネットを使いこなしてると言っても過言ではないでしょう。

 そして、効率のいい検索方法というのは、今はパソコンに限らずスマートフォンタブレットなどでも共通で使える技術ですから、「パソコンを触ってまず覚えることは検索の仕方である」というのが私の持論でもあります。

 

この記事を見てる方でパソコンを全く使えないという方はいないかも知れませんが、効率的な検索方法を知っておく事で「知りたい情報を絞り込んで知る事が出来る」ということを知ってもらえれば幸いですね(*´ω`*)

 

それでは、この記事が何かの役に立てばいいなと思いつつお仕事に戻ります。

【PHP/MySQL】PDOで複数のテーブルを動的に取得してSQL文を結合する方法

Web系 ランサーズ 日常 TIPS

 

 

先日悩んでとりあえず解決した件のアウトプットを健忘録として書いておきます。

 

動的にテーブル一覧を取得して一行のSQL文に結合するPHPコード

<?php
// データベースに接続するために必要なデータソースを変数に格納
  // mysql:host=ホスト名;dbname=データベース名;charset=文字エンコード
$dsn = 'mysql:host=ホスト名;dbname=データベース名;charset=utf8';
 
  // データベースのユーザー名
$user = 'ユーザー名';
 
  // データベースのパスワード
$password = 'パスワード';
 
// tryにPDOの処理を記述
try {
 
  // PDOインスタンスを生成
  $dbh = new PDO($dsn, $user, $password);
 
// エラー(例外)が発生した時の処理を記述
} catch (PDOException $e) {
 
  // エラーメッセージを表示させる
  echo 'データベースに接続できません' . $e->getMessage();
 
  // 強制終了
  exit;
 
}

// テーブル一覧取得
$table_stmt = $dbh->prepare(implode(" ", array(
    "SELECT table_name",
    "FROM INFORMATION_SCHEMA.TABLES",
    "WHERE " . implode(" AND ", array(
        "table_name LIKE :table_name ESCAPE '!'",
        "table_schema = :table_schema",
    )),
)));
$table_name = '%' . preg_replace( '/(?=[!_%])/' , '!', '検索するテーブル名') . '%';
$table_schema = 'データベース名';
$table_stmt->execute(compact('table_name', 'table_schema'));
$table_list = $table_stmt->fetchAll(PDO::FETCH_COLUMN);

(中略)

// 取得テーブル名を元にテーブル結合SQLに変換
$no = 0;
$last = count($table_list) - 1;

if (!empty($table_list)) {

  foreach ((array)$table_list as $table_name) {
    switch ($no++) {
      case $no:
        $sql = 'SELECT * FROM '.$table_name.' UNION ALL';
        break;
      case $last;
        $selects = preg_replace('/^/', 'SELECT * FROM ', $table_list);
        $sql = implode(' UNION ALL ', $selects) . ' ORDER BY id';
        break;
    }
  }
}

// テーブル名をクォートで囲む処理

$sql = preg_replace('/検索するテーブル名/', '`置換するデーブル名', $sql);
$sql = preg_replace('/\sUNION\sALL/', '` UNION ALL', $sql);
$sql = preg_replace('/\sORDER\sBY/', '` ORDER BY', $sql);

// SQL文実行
$stmt = $dbh->query($sql);

(以下略)

?>

 

これを導き出すためにかなりの時間悩んで、結局色んなところにテーブル名自動取得部分を質問させてもらったので、一応完成形の部分を還元できればという感じです。

使われるかどうかは置いといて、こういった情報が少なかったので、こんな風にする方法がありますよという感じで見てもらえばと思いますけどめんどいですね。

 

フォームの項目追加でテーブルが増えて行くような仕様のプラグインに出会って、どうしてもテーブルを結合して表示しないといけないような場合とかに使えるんじゃないかと・・・。

SQL文の内部結合とか外部結合で結合する場合はもっと別のやり方を考えないといけませんが、UNION句で簡単に結合するならこれでイケると思います。

 

あと調べて思ったのが未だにPHP5.3以降で非推奨となった mysql_***() 系の関数使われている方意外と多かったです。私はPDOが楽なのでPDO使っていますが、今はPDOとかの方が安全なのでそちらを使われた方が良いです。と言っても簡単に修正できない場合もありますので mysql_***() 系の関数使われている方は移行時に注意して下さいね。

(既にPHP7とか使う人が出て来ているのでそちらだと確実にerror吐きます)

 

今回のまとめ

●項目追加毎に動的にテーブルが増えて行く仕様のプラグイン改修はなるべく避ける

mysql_***()系の関数はPHP5.3以降は非推奨なので使わないように

 

以上、PHPやる人の助けになればいいですね(*´ω`*)