• , ,

    wordpressのログインアタック (ブルートフォース攻撃)

    GoogleAnalyticsの最近のアクセス状況 […]

    GoogleAnalyticsの最近のアクセス状況。

    不自然なアクセス数の増減からログを調べたところこんなかんじだった。

    こいつのWhois情報

    とりあえずhtaccessであちこちブロック deny from 排除したいIPアドレス

    投稿の作者名がIDと同じなのはマズイ。名には日本語を入れるといい.
    そして、ブログ上の表示名を日本語の表記にする。

    プラグインも入れておけ Limit Login Attempts

    それでも効果ないならこれをwp-login.php先頭のほうに追加。”てきとうなひらがな”をセッション変数に格納するphpファイルを作って、wp-login.phpにリンクを貼っておく。これで効果覿面

    session_start();
    if(!isset($_SESSION['任意文字'])){
        echo '<h1>404 Not Found<hr></h1>';
        exit;
    }
    if($_SESSION['任意文字']!="てきとうなひらがな"){
        echo '<h1>404 Not Found<hr></h1>';
        exit;
    }
    
    

    もっと設置が楽な方法として、wp-adminディレクトリにBsic認証を設置する方法がある

     

     

  • ,

    Amazon在庫 出品管理

    amazonで無在庫販売を行うためのツールです。 […]

    amazonで無在庫販売を行うためのツールです。
    国内のamazonと海外のamazonから取得したデータを取り込んで、 送料や手数料・利益率などを含んだ売価を計算します。
    データ件数は数万件に対応しています、為替レートや利益率の調整、安すぎる売価の一括調整 と出品データの書出しができます。

    このシステムにはamazonから商品データを取得する機能はありませんが、オプションで 設置することも可能です。
    Amazon在庫 出品管理ツール

  • ubuntu14 キーバインド変更

    xkeycapsというソフトをダウンロード。 ho […]

    xkeycapsというソフトをダウンロード。

    homeにDLして解凍→コンパイル(Synapticパッケージマネージャ を使う)

     

    クイック検索窓に「xkeycaps」と入力

    「xkeycaps」が標示されるので、その部分を左クリックか左端の四角のチェックボックスを右クリックすると小さなメニューウィンドが開くので「インストール指定」を選択

     

    Synapticパッケージマネージャ本体ウィンドウの上段に有る緑のレ点マークの適用がアクティブになりますのでクリックしてインストール

    ターミナルから xkeycaps で起動

    Ctrlを右クリック→Exchange CapsLockをクリック →WriteOutputで終了

    Synapticパッケージマネージャのインストール

    $ sudo apt-get install synaptic

    起動は、Docの一番上 コンピュータと  の検索から「synapitic」入力で起動

  • ,

    WordPressアップデート失敗

    ailed to open stream: Per […]

    ailed to open stream: Permission denied in 〜〜〜 class-wp-filesystem-direct.php on line 202
    ファイルをコピーできませんでした。
    インストール失敗
    —————————-

    ■原因
    FTP接続の設定になっていたりApacheの実行ユーザーが
    nobodyになっていることなどが原因。

    1.wp-config.php に最下部に下記を記載する。
    これがFTP接続情報を回避する方法となる。
    ——————————
    define(‘FS_METHOD’,’direct’);
    ——————————

    2./etc/httpd/conf/httpd.conf の
    user と group を自分のユーザー名に変える。
    コピーできないとかパーミッションがなんとか言われた場合の回避方法。

    ——————————
    138 #User nobody
    139 #Group nogroup
    140 User 自分のユーザー名
    141 Group 自分のグループ名
    ——————————

    3.変えたユーザーは戻したほうが無難

  • ,

    myslq 年齢計算 関数 文字連結

    年月日が別々に記録されているフィールドをゼロづめに […]

    年月日が別々に記録されているフィールドをゼロづめにして、
    連結して、
    日付にキャストして、
    今日の日付から引き算して、
    年齢にする方法

    SELECT
    (YEAR(CURDATE()) - k.bthY) - (RIGHT(CURDATE(), 5) < RIGHT(cast(concat(k.bthY,lpad(k.bthM,2,'0'),lpad(k.bthD,2,'0')) as date), 5)) as '年齢'
    FLOM table
    
  • jQueryのエラー、映るものが映らない

    そんなことはよくあるが、今回はしぶとい uncau […]

    そんなことはよくあるが、今回はしぶとい

    uncaught referenceerror $ is not defined

    と出るエラー。

    要はプラグインのせいなのだが、全部止めても動かない時がある。
    テンプレートになっているphpファイルに読み込まれなくなった 関数名が書いてあるのをほっといたため
    関数はphpのものだが、これがあると外部から読み込まなくなるらしい。
    多分サーバー側のセキュリティ対策かなんかだろう。
    ローカルでは問題なかった。
    使わない 関数の呼び出しは消しておけ。
    //************
    // tManager();
    //何かの関数

  • テーブルが作成できない – MySQL

    `tt_gak` decimal(10,0) NO […]

    `tt_gak` decimal(10,0) NOT NULL COMMENT ‘売上’,

    コメントを消したら入った。
    多分サーバー側の仕様かも

  • SQLでリストどうしを比較

    あるリストにないデータで別のリストにあるデータを絞 […]

    あるリストにないデータで別のリストにあるデータを絞込

    SELECT uri.* FROM `tableA` 
              LEFT JOIN teate
              on `A_id` = `B_id` 
              AND `A_tstp` = `B_tstp`
              where 
              NOT EXISTS(
                  select * from tableB 
                  where `A_id` = `B_id` 
                  AND `A_tstp`=`B_tstp`
                  )
    

    あるリストにあるデータを別のリストにあるデータで絞込

      NOT がいらなくなる
    

     

  • , ,

    一回のクエリで値の有無を探して、あれば見出し行も書き出し、無ければないで

    検索した結果、戻り値がないなら[ありませんでした] […]

    検索した結果、戻り値がないなら[ありませんでした]
    あったら、内容を返す。

    これを一回のクエリで実行したい。

    $strsql=“SELECT なんだ*, かんだ
    FROM このテーブル
    LEFT JOIN あのテーブル
    ON このカラム = あのカラム
    where なじょうけん ;

    $sth=$dbh -> query($sql); //ふつうにクエリ実行

    $result = $sth->fetchAll(); //一度フェッチする

    $array_size= count($result); //なければ 0がかえってくる

    foreach ($result as $key => $value) { //こいつを回す。
    if($key==0){ // ループの一回目は普通ゼロ
    foreach ($value as $k => $v) {
    $csvth[]= $k ; //連想配列なのでキーを取り出して配列化
    }
    fputcsv($fp, $csvth); //配列をCSVに
    }
    fputcsv($fp, $value); //ここからは値行を一行目から
    }

    フェッチしないで$sthにさわるとポインタが送られてしまうので全部取り出せなくなる。

  • , ,

    とあるプラグインを読み込んで別ウィンドウでテーマフォルダのテンプレートを開く方法

    http:// wrapper is disabl […]

    http:// wrapper is disabled in the server configuration by allow_url_include=0

    というエラーがありまして。その解決方法

    $fullpath=dirname(__FILE__);

    $path=strrpos($fullpath,‘/’);

    $path9=strrpos($fullpath,‘/’);

    $plugin-name=substr($fullpath,0,$path).‘/plugin-name;

    define(‘PDIR’,$plugin-name);

    ここまでプラグインのTOPで行う

    以下を別窓で開いたテーマフォルダのテンプレートに書く

    require_once (PDIR.‘/plugin-file.php);

  • このプラグインを有効化する際に、9文字分の予期しない出力が生成されました。

    自作のプラグインを有効化しようとしたら、表題のメッ […]

    自作のプラグインを有効化しようとしたら、表題のメッセージが表示されました。

    この後ログオフしたら、cookie がどうとかでWordPressにログインできない

    とりあえず、うかつにつけたコメント文/* */は削除。//ならOK

    BOMがどうとか書いてあったが、BOMなしUTF改行もLFでもんだいなさそう。一行ずつ試すが9文字の元は不明
    なんといってもプラグインは正常に動作する。他のサーバーではデないがエックスサーバーだけでている。

    結局wp-config.php の define(‘WP_DEBUG’, false);をtrueにして、あちこちNoticeを潰したら直った。

  • , ,

    プラグインでCSSファイルを読み込む方法

    CSSを読み込むには、以下の関数を使用します。 w […]

    CSSを読み込むには、以下の関数を使用します。
    wp_enqueue_style

    $pdir; にはこのプラグインフォルダまでのフルパスが格納されておる

    function your_styles() {
    global $pdir;
    wp_enqueue_style( ‘message’, $pdir . ‘/message.css’, array(), null, ‘all’);
    }
    add_action( ‘wp_enqueue_scripts’, ‘ your_styles’);

     

    • $handle:(必須) (required) ハンドル名を指定 [デフォルト: なし]
    • $src:(任意)ファイルパスを指定 [デフォルト:false]
      get_option(‘siteurl’) // ルートディレクトリ
      get_bloginfo(‘stylesheet_directory’) // 子テーマのディレクトリ
      get_bloginfo(‘template_url’) // 親テーマのディレクトリ
      get_bloginfo(‘plugins_url’) // プラグインのディレクトリ
    • $deps:(任意)依存関係を明示。特定のCSSファイルの後に読み込みを行わせたい場合に指定する。ハンドル名で明示 [デフォルト:array()]
    • $ver:(任意)ファイルのバージョン番号を指定 [デフォルト:false]
    • $media:(任意) CSSのメディアタイプを指定 [デフォルト:’all’]
  • Fatal error: Call to undefined function

    自作プラグイン内の関数が存在しないと出る。・・・ […]

    自作プラグイン内の関数が存在しないと出る。・・・

    ファイル名は正しい。参照も正しい。同じフォルダの別の関数は実行可能。パーミッションでもない。

    sample(); ←これで呼び出すが、他の関数は呼び出せる。

    $abcde = sample() ; これで実行できた。 意味はわからない・・
  • ,

    日付フォーマットをハイフン区切りに

    datetimepicekrで入れた日付がMySq […]

    datetimepicekrで入れた日付がMySqlに入らない。

    →datetimepicekr.jsを開いて直接編集パターン

    142  format:            'Y-m-d',
    204  id:'ここに独自ID',
    205  roundTime:'round', // ceil, floor
    206  className:'独自クラス',
    

    →PHPで直すパターン
    timestampと同じ型にすれば入るだろう。

    2015/02/28 17:20:00 → 2015-02-28 17:20:00

    date( “Y-m-d H:i:s”,strtotime( $_POST[“dhms”] ))

    これでスッキリ解決。

  • WP Slug TranslateでページのURLを英語化

    デフォルトの状態でページの書き出しを行うと、Wor […]

    デフォルトの状態でページの書き出しを行うと、WordPressの投稿時のURLは日本語が文字化けしたURLなので、なんだか長ったらしく、また何のページだから分かりづらい。

  • htaccess 有効化 エイリアスの場合

    Alias /aliasdamy/ “ […]

    Alias /aliasdamy/ “/var/www/html/fule_api/”
    <Directory “/var/www/html/fule_api”>
    Options Indexes MultiViews FollowSymLinks
    AllowOverride All <- これをAllにする。

    document root とは別の設定になるので注意

  • ,

    SQL文 LOAD DATA INFILEまとめ

    行数の多いテキストファイルを超高速でテーブルに取り […]

    行数の多いテキストファイルを超高速でテーブルに取り込むSQL文。

    数万件合ってもコンマ数秒で取り込むので使わないわけにはいかない。INSERTではとてもやってられない。

    ハマり所1
    読み込むファイルのパーミッションとディレクトリのパーミッション= ともに755にしておく

    ハマりの2
    LOAD DATA [ local ] INFILE “data.txt” INTO TABLE テーブル名;
    このパラメータlocalはMySqlユーザーにFILE権限なしでも実行可能にするものなので、入れておくべき。

    ハマりの3
    改行記号は LINES TERMINATED BY ‘\n’; と紹介しているところが多いが、 “\n”としないと一行しか入らなかった。

    ハマりの4
    コンソールから実行すると上手くいくが、PDOだとエラーになる。
    $dbh = new PDO($db,$user,$password,array(PDO::MYSQL_ATTR_LOCAL_INFILE => true));
    array(・・)を追加したら取り込めた。

  • ,

    MySQL 既存テーブルにCSVをインポート

    そのままインポートすると別の新規テーブルができてし […]

    そのままインポートすると別の新規テーブルができてしまう。

    1. とりあえず カレントのディレクトリがここらしいのでファイルをコピーする→ /var/lib/mysql/mws/tmp/
    2. ファイルのパーミッションは755でいいらしい。tmpのパーミッションも755にしておく
    3. テーブルまで選択してSQL文
      LOAD DATA INFILE “tmp/data.csv”
      INTO TABLE t_us FIELDS TERMINATED BY “,”
      LINES TERMINATED BY “\r”
      IGNORE 1 LINES;
    4. 改行文字のrと先頭の1行がフィールド名なので入れない→IGNORE
      改行文字を間違えるとデータは1行しか入らない。
  • ,

    MySqlテーブルに空のレコードが入る

    PHPからPDOでデータ接続し、INSERT文でデ […]

    PHPからPDOでデータ接続し、INSERT文でデータを挿入した際に正常なデータが一件と、付随して空のレコードが入る。
    PHPコードのheadにあったリンク切れのファビコンを削除したら直った ←これが原因

  • , , ,

    SQL文を最速にする11のポイント

    SQL文を最速にする11のポイント  たとえ最終的 […]

    SQL文を最速にする11のポイント

     たとえ最終的な結果が同じでも,SQL文は書き方一つでパフォーマンスがずいぶんと変わってきます。ここでは,速いSQL文を記述するためのポイ ントや注意点をいくつか紹介しておきましょう。

    ●WHEREの左辺で算術演算子や関数を使わない

     WHERE句の左辺に算術演算や関数を指定すると,インデックスが使われません。例えば,
    SELECT NAME FROM CUSTOMERS
    WHERE SAL – TAX > 1000
    とすると,たとえSALフィールドにインデックスが定義されていてもテーブル全体を走査してしまいます。こうした場合は,
    SELECT NAME FROM CUSTOMERS
    WHERE SAL > TAX + 1000
    のように記述すれば良いでしょう。

    ●「後方一致」検索はなるべく避ける

     インデックスが付加されているフィールドであっても,LIKE ‘%AAA’ のような「後方一致」を指定すると,インデックスを検索せずにデータ部の全表走査が行われます。したがって「後方一致」の使用はなるべく避けるようにしま しょう。どうしても必要であるなら,
    ・何らかの,少量まで絞り込める条件とAND条件で組み合わせる
    ・複数のフィールドに分割し,少しでも前方・完全一致できる範囲を広げる
    といった方法を検討して下さい。

    ●IS NULL,IS NOT NULLを単独で使わない

     条件を表すWHERE句にIS NULL/IS NOT NULLを指定したときは,インデックスを定義したフィールドであっても,全表走査が行われます。したがって,これらの条件を指定するときは,単独で指定 するのではなく,何らかのかなり絞り込める条件を合わせて指定してください。例えば,問い合わせの結果を変更せずに「B = 10」の条件を付加できるなら
    …WHERE A IS NULL
    とする代わりに
    …WHERE A IS NULL AND B = 10
    とします。

    ●SELECT文で「*」を使わない

     レコード長が長いときや,フィールド数が多いときには,すべてのフィールドを表す「*」を指定するのはできるだけ避けて,使用するフィールドだけ を指定するようにします。「*」を指定すると,参照系のSQL文では,すべてのフィールドを繰り返してコピーするため,リソースを無駄に使うことになりま す。最低限度必要なフィールドだけを指定するのが基本です。

    ●ORはある程度絞り込んでから使う

     論理演算子ORを使用した場合,一応インデックスが使用されるものの,個々の条件が抽出する件数が少ない(数%程度)状態でないと,あまり効果が ありません。

    ●GROUP BY,ORDER BY,HAVINGは注意する

     GROUP BY句,ORDER BY句,HAVING句は,余分なディスク入出力が発生したりディスク領域を使うので,自分もしくはほかのプログラムのパフォーマンスに悪影響を及ぼしま す。このことを念頭において,使わずに済むならなるべく使わないようにしましょう。

    ●演算子の組み合わせで速度が変わる

     検索条件に,「>」「<」「=」をANDで組み合わせるときは,指定の仕方によってインデックスの使われ方が異なります。等号と不等号の組み合わ せは,等号のみインデックスが使われます。例えば,
    SELECT NAME FROM CUSTOMERS
    WHERE JOB = ‘MANAGER’
    AND SAL > 1000
    とすると,「JOB = ‘MANAGER’」にはインデックスが使われますが,「SAL > 1000」には使われません。また,不等号同士の組み合わせでは,先に指定した条件だけにインデックスが使われます。つまり
    SELECT NAME FROM CUSTOMERS
    WHERE TAX > 100
    AND SAL > 1000
    のSQL文では,RDBMSは「TAX > 100」だけにインデックスを使い「SAL > 1000」には使いません。

    ●テーブルの別名を利用する

     テーブルに別名をつけて,フィールド名にはその別名をつけると,SQL文の解析処理を減らすことができます。例えば,
    SELECT ID, NAME FROM CUSTOMERS
    WHERE SAL < 1000
    よりも,
    SELECT a.ID, a.NAME FROM CUSTOMERS a
    WHERE SAL < 1000
    のほうが高速になります。

    ●SQL文の表現を統一する

     本文中で述べたように,RDBMSは実行計画をキャッシュに保存しておいて再利用します。ところが,SQL文に定数を直接記述してしまう と,RDBMSは定数値だけが異なるSQL文を別のものと解釈するため,再利用されません*B。 バインド変数を使用して,できる限りSQL文を統一するようにします。また,文字の大小や記述の仕方なども統一しておかないと別のSQL文だと認識されて しまうので,気を付けてください。

    ●SQL文を簡潔に記述する

     SQL文はなるべく簡潔に記述するようにします。そうすることで,SQL文の処理時間を短縮することができます。

  • Accessで指定URLのファイルをダウンロードする方法

    URLMON(URLMoniker)ライブラリのA […]

    URLMON(URLMoniker)ライブラリのAPI関数、「URLDownloadToFile」を使用して、インターネット上の指定URLのファイルをダウンロードする方法を紹介します。ここでの”ファイル”とは、インターネットからダウンロード入手できるフリーソフトのようなものだけでなく、そのURLで表示されるHTMLファイルやそこで使われている画像ファイルなどもすべて含みます。

    まず、標準モジュールに次のようなAPIの宣言を記述します。

    Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" _
                              (ByVal pCaller As Long, ByVal szURL As String, _
                               ByVal szFileName As String, ByVal dwReserved As Long, _
                               ByVal lpfnCB As Long) As Long
    

    次のサンプルプロシージャでは、当サイトより、LZHファイル、HTMLファイル、JPEGファイルをダウンロードしています。ダウンロード元URLを変更することで、さまざまなファイルをダウンロードできることが分かると思います。

    Sub test()
    
      Dim strURL As String
      Dim strFileName As String
      Dim lngRet As Long
    
      '*************************************
      ' LZHファイルのダウンロード
      '*************************************
      'ダウンロード元のURLを設定
      strURL = "http://www.tsware.jp/download/cabinet/jinz200.lzh"
      'ダウンロード先の保存ファイル名を設定
      strFileName = "c:\jinz200.lzh"
      'ダウンロードの実行
      GoSub ExecDownload
    
      '*************************************
      ' HTMLファイルのダウンロード
      '*************************************
      strURL = "http://www.tsware.jp/index.htm"
      strFileName = "c:\index.htm"
      GoSub ExecDownload
    
      '*************************************
      ' JPEGファイルのダウンロード
      '*************************************
      strURL = "http://www.tsware.jp/images/topmainphoto.jpg"
      strFileName = "c:\topmainphoto.jpg"
      GoSub ExecDownload
    
      Exit Sub
    
    ExecDownload:
    'ダウンロードの実行
      lngRet = URLDownloadToFile(0, strURL, strFileName, 0, 0)
      If lngRet = 0 Then
        MsgBox "ダウンロードに成功しました!", vbOKOnly + vbInformation
      Else
        MsgBox "ダウンロードに失敗しました!", vbOKOnly + vbExclamation
      End If
      Return
    
    End Sub
    
  • サイト内検索 Google カスタム検索 と表示させない

    カスタム検索エンジンの作成 まず「カスタム検索エン […]

    カスタム検索エンジンの作成

    まず「カスタム検索エンジンの作成」をして、カスタム検索を設置するサイト(自分のウェブサイト)の登録をします。

    1. Google の「カスタム検索エンジン」ページを開く。
      ログインしていない場合は、[カスタム検索エンジンにログイン]から、Googleアカウントでログイン。
      Googleカスタム検索エンジン
    2. 左メニューの[検索エンジンの編集]をクリック。
      [検索エンジンの編集]の下のグレーの枠は「すべて」(もしくは「All」)を選択。
      「検索エンジンの編集」ページで[Add]をクリック。
    3. [検索するサイト]にGoogleカスタム検索を設置するサイトのURLを入力。
      URLの入力の仕方は、[URL パターン]を参照のこと。
      私は今回「http://www.ultimai.com/」のサイト内の「kenchiku」フォルダ内を検索させたいため、「www.ultimai.com/kenchiku/*」と入力。
    4. [言語]を[日本語]に設定。
    5. 名前(検索エンジンの名前)を設定する。 [名前を変更]をクリックして任意の名前を入力。
      上記 1. の「検索エンジンの編集」ページでこの名前が表示されます。
    6. [作成]ボタンクリック。
      これでカスタム検索エンジンの作成が完了。

    以下、自分のホームページにカスタム検索を設置する方法を説明します。

    自分のホームページにカスタム検索を設置する

    今回は、検索窓と検索結果ページを分ける方法で設置する仕方をご紹介します。

    1. まず、検索結果ページのレイアウトを設定する。
      左メニューの[検索エンジンの編集]をクリック。
      [検索エンジンの編集]の下の、グレーの枠の箇所は、今回設定した検索エンジンの名前を選択
      左メニューの[デザイン]をクリック。
      開いたページの上の方、[レイアウト]タブをクリック。
      レイアウト例がいくつか並んでいる中の、[2ページ]をクリックし、[保存]をクリック。

    2. 検索結果ページのURLを登録する。
      左メニューの[設定]をクリック。
      開いたページ中ほど、「詳細」の項目の[コードを取得]をクリック。

    ページ読み込み時に実行したい処理がある場合

    通常はjavascriptのonloadイベントを使用します。

    BODY要素にonload属性を追加したり、
    下記のようなjavascriptの指定を追加する方法がよく見られます。

    1
    2
    3
    window.onload = function(){
    // ページ読み込み時に実行したい処理
    }

    次にCSSをヘッダー内で
    input#gsc-i-id1{background: url('images/inputback.png')!important }

    serch_google

  • WPの長いタイトルを文字数制限

    get_posts で最近の投稿のタイトルを取得、 […]


    get_posts で最近の投稿のタイトルを取得、多次元配列なので更に$post->post_titleでタイトルのみ取り出す
    あとは mb_substr で文字数指定。

    RecentPost

      post_title;
      if(mb_strlen($post_title)>15) {
      $post_title = mb_substr($post_title,0,18).’…’;
      }
      ?>

  • ,

    ファイル中の文字列を検索する

    Windowsには、UNIXの「grep」のような […]

    Windowsには、UNIXの「grep」のような正規表現によって検索する「findstr.exe」というツールが標準搭載されています。
    使い\方は,[コマンドプロンプト]で「findstr /?」と入力して参照できます。

    次の例は、”do_action” という文字列をE:\wp-content\themes\jbst\ディレクトリの拡張子がphpとつくファイルから探して、見つかったファイルをresults.out に書き出すコマンドです。
    Googleデスクトップとかよりも数百倍早い。

    findstr 使い方


    findstr /s /i "do_action" E:\wp-content\themes\jbst\*.php > E:\wp-content\themes\jbst\results.out
  • スタイルシートを相対パスで書きだす

    <?php $dir = get_templ […]

     <?php $dir = get_template_directory_uri() ; //テーマディレクトリ?>
    
    <?php //wp関数とは同じ括りに入れられないらしい。syntaxErrになる
     $pos = strpos((string)$dir , '/' ,8 );
     $sdir= substr($dir, $pos, strlen($dir)-$pos);
    ?>
    
    <link rel="stylesheet" href="<?=$sdir ?>/style.css" type="text/css" />
    <!--ついでにこれも-->
     <link href="<?=$sdir ?>/favicon.gif" rel="shortcut icon">
  • ACCESS DB import エラー

    CSVファイルをテーブルにインポートするソース D […]

    CSVファイルをテーブルにインポートするソース

    DoCmd.TransferText acImportDelim, , "amajpcsv", msg, True
    

    以下のコードに置いて数万件のレコードがはじめの数十件しかインポートできない。
    テーブル定義は、先頭フィールドがテキスト。
    インポートできるデータの数十件は数字で入っているようだ。

    どうやら、一つのフィールドに数字と文字が混ざっているとダメらしい。
    データを並べ替えて文字データを先頭に持ってきたら全部読みこまれた。
    並べ替えるのは大変なので、これでイケルようなのでやってみたらすんなり成功。

    まず、メニューの「外部データの取込」「インポート」でテキストファイルを指定して、
    インポートウィザードで起動します。そこで「設定」をクリックして
    「インポート定義」を開きます。そこで、各フィールドのデータ型を指定します。
    「保存」をクリックして定義名を付けて保存します。

    TransferTextメソッドの第2引数に上で付けた定義名を指定します。

    DoCmd.TransferText acImportDelim, "Jpデータ_インポート定義", "amajpcsv", msg, True
    
  • TortoiseGitでプッシュが失敗する場合

    バイナリファイルが変更後にコミットされていてその後 […]

    バイナリファイルが変更後にコミットされていてその後
    プッシュされていないためだと思われる。
    これでPC1からプッシュ成功→PC2でプル成功した。

  • ,

    リンク画像を拡大表示&移動可能にする

    <script type="tex […]

    zoomy2

    <script type="text/javascript" src="http://cssrevolt.com/upload/files/zoomy/js/prototype.js"></script>
    <script type="text/javascript" src="http://cssrevolt.com/upload/files/zoomy/js/scriptaculous.js?load=effects,dragdrop"></script>
    <script type="text/javascript" src="http://cssrevolt.com/upload/files/zoomy/js/effects.js"></script>
    <script type="text/javascript" src="http://cssrevolt.com/upload/files/zoomy/js/dragdrop.js"></script>
    <script type="text/javascript" src="http://cssrevolt.com/upload/files/zoomy/js/zoomy.js"></script>

    <script type="text/javascript">
    Event.observe(window,"load",function() {

    $$("div.entry-content a").each(function(element){
    new Zoomy(element, { draggable: true });
    });
    });
    </script>

    
    /* thumbnails grid */
    .zoomy, .zoomy2 { float:left; width:100%; }
    .zoomy li, .zoomy2 li { list-style:none; float:left; display:inline; margin-right:5px; margin-bottom:5px; width:150px; height:100px;  }
    .zoomy a, .zoomy2 a { text-decoration:none; display:block; width:150px; height:100px; }
    
    
    /* ..... ZOOMY */
    #zoomy { position:absolute; overflow:hidden; background:#000000; padding:0px; border:1px solid #FFFFFF; text-align:center; color:#fff; line-height:0; }
    #zoomy img { margin:5px; }
    #zoomy p { position:relative; margin:10px 5px 5px 5px; line-height:100%; text-align:left  }
    
    #close { position:absolute; right:5px; width:12px; height:12px; background:url(close.gif) no-repeat; cursor:pointer;} 
    
    
    

    基本的に”prototype.js”はjQeryとは競合するので、もし共存させたければこの記事を参考に
    「jQueryとprototype.js共存させる為にする事」

  • Vlookupのあいまい検索のようなクエリ

    Accessで送料一覧テーブルと、重量フィールドの […]

    Accessで送料一覧テーブルと、重量フィールドのある商品一覧テーブルを結合して送料情報を得たい

    プライマリの結合はいらない。

  • ,

    タグに付けられたIDにClassを追加する

    body内にないとダメらしい。うまく行かなかったら […]

    body内にないとダメらしい。うまく行かなかったらあちこち移動してみる。
    prototype.jsがほしいのでどっかから参照する。

    <script src="/js/prototype.js" type="text/javascript"></script>
    
    
    <script>// <![CDATA[
    
     var element4=document.getElementById("menu-item-71") 
     element4.addClassName("shake");  //クラス shakeを追加
    
    element4.removeClassName("menu-item-object-page"); //menu-item-object-pageクラスを除去
    // ]]></script>
    
    
  • スライスされたファイルを名変しフォルダに入れるvbscript

    Option Explicit Dim objFi […]

    Option Explicit
    Dim objFileSys, strScriptPath , str_path
    Dim strFilePath, objFile,str_from ,str_to
    Dim i , FileName, picName, picNo, newName

    Set objFileSys = CreateObject(“Scripting.FileSystemObject”)

    strScriptPath = Replace(WScript.ScriptFullName,WScript.ScriptName,””)
    picName = “gochiso0”
    picNo = “01”

    If Not objFileSys.FolderExists(“.\page” & picNo) Then
    str_path = objFileSys.CreateFolder(“.\page” & picNo) & “\” ‘フォルダ作成
    else
    str_path =”.\page” & picNo & “\”
    end if

    for i=1 to 4

    if i > 2 then
    FileName = picName & picNo & “_r2_c” & i-2 & “.png”
    newName = picName & picNo & “_1_” & i-2 & “-2.png”

    str_from = strScriptPath & FileName ‘古いパスと名前
    str_to = str_path & newName ‘新しいパスと名前

    else
    FileName = picName & picNo & “_r1_c” & i & “.png”
    newName = picName & picNo & “_1_” & i & “-1.png”

    str_from = strScriptPath & FileName ‘古いパスと名前
    str_to = str_path & newName ‘新しいパスと名前

    end if

    Call objFileSys.MoveFile(str_from, str_to)’ファイル名を変更して移動する

    next

    Set objFile = Nothing
    Set objFileSys = Nothing

  • Windows server2008特定IPからの通信を遮断

    手順:  ローカルセキュリティー・ポリシー で「I […]

    手順:
     ローカルセキュリティー・ポリシー で「IP セキュリティポリシー」スナップインを開く。

     ※まずは、「ブロック」というポリシーと、「対象になるIPを指定する場所」を作成します。

     左ペインの「IPセキュリティポリシー」を右クリックし「IPフィルタ一覧とフォルダ操作の管理」を開きます。

     「フィルタ操作の管理」タブの方を選択します。
     「追加」ボタンをクリックします(追加ウィザードを使用に☑があることを確認してね)

     ウィザードが走り出したら、「次へ」をクリックします。
     まずは、「名前」から。
     ここの名前は「ブロック」にします。(なんでもいいですが、この方がわかりやすい)

     「次へ」をクリックします。

     フィルタ操作の挙動を設定しろと言われるので

       「ブロック(L)」

     を選択して、「次へ」をクリックします。
     「完了」をクリックして終わります。

    これで、先ほどの「フィルタ操作の管理」タブの中に「ブロック」という項目ができているはずです。

    次にやることは、対象となるIPアドレス(IPアドレスやレンジ、名前)を登録する場所を作ります。

    「IPフィルタ一覧の管理」タブの方をクリックします。
    「追加」ボタンをクリックします。

    名前」を入れろと言われるので、わかりやすい名前を付けます。
    今回は「10.254.0.11」にしてみました。(このIPからの通信を遮断するということで)
    説明欄はお好きに使ってください。

    「追加」ボタンをクリックします(追加ウィザードを使用に☑が入っていることを確認)

     ウィザードが走るので「次へ」をクリックします。
     ミラー化の☑が入っていることを確認して、「次へ」をクリックします。

     IPトラフィック発信元の指定です。
       発信元アドレス → このコンピュータのIPアドレス にします。
       「次へ」をクリックします。

     IPトラフィックの宛先アドレスの指定です。(ここは選択肢から好きなものを!)
       今回は特定のIPからの通信を遮断なので、「特定のIPアドレス」を選択して
       IPアドレスを入力します。 10.254.0.11

     IPプロトコルの指定です。
       ぜ~~ぶ止めたいので「任意」を選択しておきます。「次へ」をクリックします。

     「完了」をクリックします。

    IPフィルタ一覧に戻ると、下段の「IPフィルタ」の欄に先ほど作ったものが見えるはずです。
    「OK」をクリックして閉じます。

     IPフィルタ一覧とフィルタ操作の管理画面を「閉じる」をクリックして閉じます。

    さぁ続いてポリシーの作成と有効化に移ります。

    左ペインの「IPセキュリティポリシー」を右クリックし「IPセキュリティポリシーの作成」をクリックします。ウィザードが走ります。「次へ」をクリックします。
    このポリシーに名前を付けます。

    今回は「10.254.0.11-遮断」にしてみました。「次へ」をクリックします。

    規定の応答規則をアクティブにするに☑を外して「次へ」をクリックします。

    「プロパティを編集する」に☑が入っていることを確認して「完了」をクリックします。

    今作った「10.254.0.11-遮断」のプロパティ画面になります。
    (□ <動的> 既定の応答 ・・・チェックが外れているのを確認してください)

    「追加」ボタンをクリックします。(追加ウィザードを使用に☑が入っているか確認)

    追加ウィザードが走ります。「次へ」をクリックします。

    トンネルエンドポイント
        「指定しない」を選択した状態で「次へ」をクリックします。

    ネットワークの種類  
        「ローカルエリアネットワーク(LAN)(L)」を選択します(ここは皆様の環境次第ね)
        「次へ」をクリックします。

    IPフィルタ一覧から、先ほど作った「10.254.0.11-遮断」を選択して「次へ」をクリックします。
    フィルタ操作の一覧から先ほどの前に作った「ブロック」を選択して「次へ」をクリックします。

    「完了」をクリックします。

    新しい規則のプロパティ画面になります。一通りタブを見て確認しておいてください。
    よければ「OK」をクリックして、プロパティを閉じます。

    「10.254.0.11-遮断」のプロパティも「OK」をクリックして閉じます。

    ※ようやく「準備」ができました。

    最後に、今作成したポリシーを「割り当て」ることで有効化します。

    ローカルセキュリティー・ポリシーの右ペインに「10.254.0.11-遮断」という名前のポリシーがあるはずです。
    「ポリシーの割り当て」欄が「いいえ」になっているはずです。
    ここを「はい」にすると、今まで設定してきた 10.254.0.11からの通信の遮断が実施されます。

    右ペインの「10.254.0.11-遮断」を右クリックし、コンテキストメニューから「割り当て」を選択します。
    ポリシーの割り当て欄が「はい」に変わっていれば、10.254.0.11からの通信は遮断されているはずです。

    このようにして、複数のIPアドレスやIPアドレス範囲、DNS名等を使って、Windows server 2008 への通信を遮断することができました。

  • Goolge日本語入力の環境をバックアップ

    このフォルダを残しておけばOK C:\Users\ […]

    このフォルダを残しておけばOK

    
    C:\Users\%username%\AppData\LocalLow\Google\Google Japanese Input
    
    

    なお、設定だけなら他のマシンにも移行できるらしい。