2月 242016
 

iphoneから、写真をひとつのフォルダバックアップしたら、重すぎて、エクスプローラで開くのに超時間がかかってしまったので、コマンドプロンプトで年別にコピーすることに。

例は、

  1. 対象ファイル:2014年12月31日以前
  2. 移動前フォルダ
    1. i:\picture\xxx_iphone
  3. 移動後フォルダ
    1. I:\picture\2014\xxx_iphone\photos

moveを使用した場合、存在しないディレクトリに移動しようとすると、ファイルが消えてなくなるので、
copyでコピーして、確認してから削除する。

C:\Users\xxx>forfiles /p i:\picture\xxx_iphone /d -2014/12/31 /c "cmd /c copy
 @file I:\picture\2014\xxx_iphone\photos"

ほかのデバイスの場合、cdできない?と思って、上記のように実行したのだけど、

C:\ /d i:

でいけた。

なので、

C:\ /d i:\picture\xxx_iphone 
i:\picture\xxx_iphone /d -2014/12/31 /c "cmd /c copy
 @file I:\picture\2014\xxx_iphone\photos"

でもOK

参考
forfiles:http://www.atmarkit.co.jp/ait/articles/0902/27/news132.html
moveコマンド:http://www.k-tanaka.net/cmd/move.php

このエントリーをはてなブックマークに追加
はてなブックマーク - windowsコマンドで日付範囲を指定してファイルを一括移動
Post to Google Buzz
Bookmark this on Yahoo Bookmark
Bookmark this on Livedoor Clip
Share on FriendFeed
[`tweetmeme` not found]
[`grow` not found]

 Posted by at 10:28 AM
2月 212016
 

モデルを使っていない方法です。

cakephpのチェックボックス

cakephpのチェックボックス

コントローラ

Controller/SamplesController.php

App::uses('AppController', 'Controller');

class SamplesController extends AppController {

        $rets=array(
            0=>array('pid'=>100,'title'=>'a'),
            1=>array('pid'=>200,'title'=>'b'),
            2=>array('pid'=>300,'title'=>'c'),
            3=>array('pid'=>400,'title'=>'d'),
            4=>array('pid'=>500,'title'=>'e'),
            
        );
        
        $this->set('rets',$rets);     
        
        $this->modelClass = null;
}

解説

  1. フォームの表示データを$retsに入れてコントローラから渡しています。
  2. $this->modelClass = null;を設定することで、モデルを読み込まないようにしている。

ビュー

View/samples/index.ctp

<div>
    <h3>Samples</h3>
    <table>
    <thead>
        <tr>
            <th>ckeck</th>
            <th>pid</th>
            <th>title</th>
        </tr>
    </thead>
    <tbody>
   <?php
    echo $this->Form->create(null,
      array('type'=>'post','action'=>'.')); ?>
    <?php foreach ($rets as $ret): ?>
        <tr>
            <td><?php 
            echo $this->Form->checkbox('pid.',array('value'=>$ret['pid'],'hiddenField' => false,'checked'=> @in_array($ret['pid'], $this->request->data['Sample']['pid']))); 

            ?></td>
            <td><?= h($ret['pid']) ?></td>
            <td><?= h($ret['title']) ?></td>
   
        </tr>
    <?php endforeach; ?>
    </tbody>
    </table>
   
<?php    
    echo $this->Form->end("送信");
  ?>

解説

  1. $this->Form->create()の第一引数は、モデルを使わないのでnullに。
  2. $this->Form->checkbox()の第一引数の名前にピリオドをつけることによって、nameの最後に[]がついて、data[Sample][pid][]のような配列になる。
    これを、’pid[]’と入れると、data[Sample][pid[]]のようになり、正常になっておかしくなる。
  3. $this->Form->checkbox()の第二引数の配列に’value’で値を設定できる。
  4. $this->Form->checkbox()の第二引数の配列にhiddenFieldをfalseに設定することで、 余分なhidden フィールドが生成されるのを防ぐ。
  5. $this->Form->checkbox()の第二引数の配列のcheckedは、フォーム送信後の選択状態の表示。結果は配列になり、checkboxの標準処理ではチェックできないため、in_arrayで値が選択済みかをチェック。初期状態ではrequest->dataがセットされなくてNoticeが出るので@で警告抑制。

または$this->Form->checkboxの部分を$this->Form->inputにすることもできる。

echo $this->Form->input('pid.', 
                    array(
                    'type'=>'checkbox',
                    'value'=>$ret['pid'],
                    'checked'=> @in_array($ret['pid'], $this->request->data['Sample']['pid'])
                    )
                   );

ネオビットさんを参考にさせていただきました。
http://www.neobit.jp/archives/436

このエントリーをはてなブックマークに追加
はてなブックマーク - cakephp2.xチェックボックスの使いかた
Post to Google Buzz
Bookmark this on Yahoo Bookmark
Bookmark this on Livedoor Clip
Share on FriendFeed
[`tweetmeme` not found]
[`grow` not found]

2月 132016
 

シリアライズ可能なcURLのラッパークラス[参照]:http://qiita.com/mpyw/items/c65fb4ec4cef80909a47

使ってみたらすばらしいラッパークラスです。

これもすぐにできなかったのでめも。

全部同じディレクトリにファイルをつくったと過程。

  1. class cURLをcURL.phpとして保存。
  2. class NicoNicoをNicoNico.phpとして、保存。NicoNico.phpにcURL.phpをrequireする。
    require_once("cURL.php");
  3. index.phpを作り、その中で実装する。
    require_once("NicoNico.php");
    $nico = new NicoNico('aaaaa@bbbbb.cc.jp', 'xxxxxxx');
    var_dump($nico-&gt;getHistory());

これでOK!

視聴履歴が長期間ないと「履歴取得に失敗しました」エラーが表示されるので、その場合は、ためしに視聴する。

このエントリーをはてなブックマークに追加
はてなブックマーク - シリアライズ可能なcURLのラッパークラスをつかってみた
Post to Google Buzz
Bookmark this on Yahoo Bookmark
Bookmark this on Livedoor Clip
Share on FriendFeed
[`tweetmeme` not found]
[`grow` not found]

2月 132016
 

PHP cURLの色々な使い方を参考にcURLで接続をこころみたものの、すぐつまづいて、ドはまりしたので、メモ。

以下の部分、file_get_contents()なら取得できるのに、cURLで取得できない。

$url = "http://www.pixiv.net/login.php";
$ch = curl_init(); // はじめ

//オプション
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$html = curl_exec($ch);
var_dump($html);
curl_close($ch); //終了

このURLがリダイレクトされるので、リダイレクト後のアドレスに変えてみる。

https://www.secure.pixiv.net/login.php?return_to=0

エラーをはきださせる。

curl_errnoなどを使って、直前のcurl_exec()のエラーを出力。

if($errno = curl_errno($ch)) {
  $error_message = curl_strerror($errno);
  echo "cURL error ({$errno}):\n {$error_message}";
}

curl: (60) Peer certificate cannot be authenticated with known CA certificates

サーバー証明書の検証がうまくいっていないために、データが取得できないようだ。

cURL はサーバー証明書の検証を行わないように設定

setoptに、以下のように設定。
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

これでhttpsのデータも取得できるようになった。

このエントリーをはてなブックマークに追加
はてなブックマーク - file_get_contents()なら取得できるのにCurlでうまくいかない
Post to Google Buzz
Bookmark this on Yahoo Bookmark
Bookmark this on Livedoor Clip
Share on FriendFeed
[`tweetmeme` not found]
[`grow` not found]

 Posted by at 4:23 PM  Tagged with:
6月 272015
 

中古で白本を買って、ネットで情報を集めたりした中には、11gsqlの試験問題数は55問と書いてあるが、実際に受けてみたら66問だった!

Oracle公式ページにも66問と書いてあるが、いつからか増えたらしい。

11問も増えていたら、時間に余裕がない…。

白本には模擬問題が55問ずつしかなかったから、それを2時間で解いて、よし、できる、と思ったタイミングで試験を受けた。

そしたら、全然時間が足りない…

全問答えられず、最後当てずっぽうでも埋めていったけど、それでも埋めてる時間がなく、空欄の解答もしちゃった。それで58%。くやしい。せめて、空白埋めてたら当てずっぽうでも当たってたかもしれない。なんて思いつつ…

こなし方としては、まずsql読まなくてもできる問題を一気に解いて、次にsqlを読んで考える問題をした。

文章読むだけの問題が、難しかった。本で学んださらに上のことを質問してくる。

本ではプライマリーキー作成時と言う書き方の物が、遅延不可のプライマリーキー作成時という選択肢だったり、

セレクト文のwhere句で使える、と言うものが全てのDML文のWHERE句で使える、という選択肢だったり

ひとこと余計な選択肢になっていて、混乱した。

sqlを読んで解く問題は、思ったより簡単なものが多かった。

ただし、別のタブで開かなくてはいけないような資料もたくさんあって、ややこしかった。

実際には、資料を見なくても解ける問題もあった。

decode文も三問くらいあった。

問題にはチェックマークをつけて、あとで確認することもできる。

選択肢には右クリックでグレーアウトすることもでき、消去法には役に立つ。

チェックマークをつけた問題と、未解答の問題はいつでもリストで確認できる。

リストを表示したページの右下には、テストを終了のリンクがあるので気をつけること。

問題のページの「次へ」などもちょうど右下にあるので、リストを表示するページで間違えて押しそうになる。

テスト終了時間が来ても、リストを確認のボタンを押すと問題を確認することができる。

解答を提出すると見れなくなる。

試験結果は11gsqlでは30分くらい、

ブロンズsqlではすぐに結果が出た。

このエントリーをはてなブックマークに追加
はてなブックマーク - Oracleブロンズ11gsqlを受けて
Post to Google Buzz
Bookmark this on Yahoo Bookmark
Bookmark this on Livedoor Clip
Share on FriendFeed
[`tweetmeme` not found]
[`grow` not found]

6月 272015
 

Oracleブロンズ11g sql落ちてすぐブロンズsql基礎受けて受かりました。

まず、11gは白本で勉強。

58%で落ちました。一問落としただけ…くやしい。

次に同じ試験を受けるには二週間空けなくちゃいけないので、その間に忘れては困るとブロンズsql受けることに。

チェックリストを確認すると、データディクショナリーとsql*plusあたりの項目が11gsqlにはなかったので、その日と次の日にブロンズsql基礎のための勉強をした。

11gsqlでも迷った問題があったので、先にこのページを知っておけば…と思った。

1日空けてブロンズsql基礎を受けたら90%で受かりました。

初めからこっちにしておけばよかった…。

30分くらい時間に余裕が出て、チェックマークをつけた問題を二回くらい見直す余裕があった。

ブロンズsql基礎は正解率70%で合格と、11gsqlの60%に比べて、合格水準が高いけど、問題が簡単でsqlもネストが少なく分かりやすかった。

他のタブに切り替えて資料を見る、という問題も4問くらいと少なかった。

11gsqlの方は10問はあった。

11gsqlの勉強をしていれば、新たな参考書を買う必要もなく、ブロンズsql基礎が受かるでしょう。

このエントリーをはてなブックマークに追加
はてなブックマーク - Oracleブロンズ11g sql落ちたのでブロンズsql基礎を受けた
Post to Google Buzz
Bookmark this on Yahoo Bookmark
Bookmark this on Livedoor Clip
Share on FriendFeed
[`tweetmeme` not found]
[`grow` not found]

4月 112014
 

chromeアドオン、英語翻訳の便利な便利なツール。

入れてみたけど、facebookなど「https」で始まるURLのページでは書いてあるとおり、
文字を選択しただけで翻訳されないよ。

weblio_top

と思って調べたら、設定が必要でした。

  1. Google Chromeの右上のメニューバーの「W」マークをクリック
    weblio_menu

  2. 右上の「オプション」をクリック
    weblio_pop

  3. 「その他の設定」タブから、「httpsでも可能な限りポップアップ」にチェックマークを入れる。
    weblio

これで、facebookなどでも翻訳が表示できるようになりました。

このエントリーをはてなブックマークに追加
はてなブックマーク - Weblioポップアップ英和辞典 翻訳されない場合
Post to Google Buzz
Bookmark this on Yahoo Bookmark
Bookmark this on Livedoor Clip
Share on FriendFeed
[`tweetmeme` not found]
[`grow` not found]

2月 052014
 

この方法は、同じID単価が違うものを調べるような場合に使う。

下の表でいうところの、ID1には、100円と120円が存在する、というものを検索する。

ID 単価
1 100
1 100
1 120
2 10
3 120
  1. ID(A列)と単価(B列)を一つに&でまとめる。これを「ID単価(C列)」とする。
    1. C列に「=A1&B1」と入力し、データが存在する最後の行までコピーする。
  2. ID単価から重複を削除する。
    1. D列に「=countif(A:A,A2)」と入力。
    2. フィルターをかけ、D列の値が1より大きいのもののみ表示する。
  3. IDから重複をみつける。
    1. IDをドラッグで選択
    2. ホーム>条件式書式>セル強調表示ルール>重複
このエントリーをはてなブックマークに追加
はてなブックマーク - 同じIDをもつ、違う単価の検索 エクセル
Post to Google Buzz
Bookmark this on Yahoo Bookmark
Bookmark this on Livedoor Clip
Share on FriendFeed
[`tweetmeme` not found]
[`grow` not found]

 Posted by at 8:06 AM
2月 052014
 

テキスト形式で表示

Outlook 2010 の リボン から
ファイル > オプション >メール
で、「次のメッセージを作成する」項目で【テキスト形式】を選択。

最後に、メールを開きなおす。

テキスト形式で返信

ファイル > オプション > セキュリティ センター > 「セキュリティ センター 設定」ボタンを押す。
> 電子メール セキュリティ
「テキスト形式で表示」項目の
【すべてのメッセージを テキスト形式 で読む】と
【すべてのデジタル署名されたメールをテキスト形式で表示する】
にチェックを入れる。

最後に、メールを開きなおす。

このエントリーをはてなブックマークに追加
はてなブックマーク - Outlook 2010 テキスト形式で表示、返信
Post to Google Buzz
Bookmark this on Yahoo Bookmark
Bookmark this on Livedoor Clip
Share on FriendFeed
[`tweetmeme` not found]
[`grow` not found]

 Posted by at 7:54 AM
1月 292014
 

ワードプレスで

Warning: Illegal offset type in isset or empty in /home/XXXX.XXX/web/wp-includes/post.php on line 1060

のようなエラーが出た。

理由はよくわからないが、記事をテキストエディタにコピペして、書き直したら治った。

 

このエントリーをはてなブックマークに追加
はてなブックマーク - post.php on line 1060エラー
Post to Google Buzz
Bookmark this on Yahoo Bookmark
Bookmark this on Livedoor Clip
Share on FriendFeed
[`tweetmeme` not found]
[`grow` not found]

 Posted by at 9:07 AM