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

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

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

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

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

gyazo.com

 

 

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

gyazo.com

 

 

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

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

 

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

 

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

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

 

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

 

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

今回は、とあるサイトでパソコンに明るくないという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文を結合する方法

 

 

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

 

動的にテーブル一覧を取得して一行の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やる人の助けになればいいですね(*´ω`*)

DreamProjectサイトの更新

ずっと放置に近い状態にあったサークルサイトですが、久々に色々確認したらリンク切れとかひどかったのでちょこっと更新しました。

 

①サイドバーの位置を左から右に変更

 Twitterの投稿一覧表示の一部が突き抜ける問題のための暫定措置

②モバイルテーマのスタイル崩れ修正

 バージョンアップで仕様が変わったため一部HTMLタグで直接スタイルを修正

③モバイルテーマの外観変更

 なんか色々と触れるようになっていたのでテキトーに触ってみた

 

それにしてもしばらく放置しておくと周囲の状況の変化に気づいた時には浦島太郎状態というか、いつの間にかホームページが無くなってたり、同人から卒業されたっぽい方がいらっしゃったり、結構変化しているんだなぁとしみじみ思いました。

 

現在フリーランスで色々仕事抱えているのであまり真剣に更新できてはいないのですが、そのうちリニューアルした方が良い気がしてきたですね。。。

まぁ、しばらくは目の前のことに集中しないとですけど^^;

 

ということで、ちょっとコーヒータイムにしたら仕事しますかね(*´ω`*)

なんかだるい一日でした

今日はってもう日付とうに変わってますね(;´Д`)

 

だるくて起きたのは昼頃でした。まだこういったうつ症状で安定しない時があります。

とはいえ投薬治療をしてるので、以前の様に1か月のほとんどをオフトゥンって過ごすなんてことにはなってないのが幸いですがw←

 

最近こうやって2~3時まで作業してることが原因ではあるんですけど、早く復帰したい気持ちと体を大事にしないとっていう両方の気持ちがせめぎあってるような状況です。何としてでもチャンスをつかみたいのですが、この病弱な体が恨めしい(´・ω・`)

 

皆さんも、病弱な方はもちろん健康な方も体が資本なのは変わらないですから、頑張るのも程々に時にはちゃんと休んでくださいね(*´ω`*)

 

それでは、今日はそろそろお休みしようかと思います_(:3 」∠)_

今日も今日とて・・・

こんな時間まで作業してました。白河です。

 

とりあえず、今回はCWの方で受けた動画の案件を対応してます。トラブル続きで思ったよりも着手が遅れてしまいましたが、明日ぐらいには納品できそうな感じです。

 

この動画の仕事ももう少し技術的な足しになるかな?と思ったんですがそうではなく、数件こなさせて頂いたら別の動画案件をさせて頂こうかなというところです。単価が安いのはまぁしょうがないとして、あまり実績として提示できないものばかりやってても仕方ない気がするので、実績作りしたいですよねぇ。。。

 

とまぁ・・・動画作るにしても素材とかもろもろ必要なんで自作でも良いんですが、やっぱり仕事として作業した方が色々とリテイク受けて気付くこともあるので、そういった仕事にシフトしたいところです。

 

学校にも早く復帰したいですし、交通費と生活費を何とか稼がないとですね。あと、復帰するための課題もそろそろ始めて行かないとってやることいっぱいで頭がまたオーバーヒートしそうなので、今日はこの辺でお休みします(:3[__]

現在までお仕事してました_(:3 」∠)_

こんばんは。白河です。

 

今日も今日とてPHPMySQLの制御をするためにこんな時間までソースを読み込んでました。先方さんのために何とかしようとやって来ましたが、プラグインを有名レビューサイト風にするための問題点を洗い出したら新規開発レベルなので流石にここまでかなと思いました。

 

フォームの項目追加毎に増える動的なテーブルを制御するPHPコーディングだけでも嫌になるのに、そのテーブル結合結果からID毎にブロック化してループ処理する必要があったり、プラグインのショートコードも動的に取得して表示しなければならないという鬼仕様でした。

(もしかしたらフルで解析してプラグインの機能から呼び出した方が早いかも知れない気がした15のy)

 

という訳で、これ以降は先方さんと交渉して追加開発を強行するか、要求仕様を妥協してもらうかとかとか、調整次第かなというところです。

 

こんなこと言ってますが、先方さんは何も悪くないですしプラグインの仕様がプロ版だというのに最悪だっただけで、このプラグインの開発者に一言物申さないとホントこの鬱屈どうしてくれるのかという感じですヽ(`Д´)ノプンプン

 

そういう訳で心底疲弊したので、夢の世界に逝ってきます_(:3 」∠)_