テクニカルスキルブログ
OVERTURE | written by 奥村
YAHOOオーバーチュアの広告テキストに関するガイドラインを下記に記載致しますので、広告掲載の際には、以下の点を確認の上、登録をお願いします。


▼URL/表示URLについて
リンク先URLは1024文字、表示URLは250文字以内の半角英数字(ASCII)で登録してください。 URL内の日本語表記は使用できません。

▼「キーワード」「タイトル」の文字数について
キーワードは100文字、タイトルは15文字、説明文は33文字以内で作成してください。全角・半角文字・スペースは、すべて1文字と数えます。

なお、キーワード挿入機能を利用する場合は、それを含めた全体の文字数がタイトルおよび説明文の文字数以内であるようにしてください。

▼ひらがなやカタカナについて
全角文字を使用してください。

▼英数字について
全角、半角とも使用できます。

▼スペースについて
全角、半角とも使用できますが、文字と文字、単語区切りなどの装飾的な使用はできません。

▼使用できる記号について
使用できる記号に関しましては、下記をご確認ください。

1mojpd00000071ti.gif

▼記号を使用する際のルールについて

1. 句読点、カンマ、ピリオド、中点はいくつでも使用可能です。ただし、連続使用はできません。

2. 1.以外の同じ記号の使用は、タイトルと説明文内(計48文字以内)で2回のみ使用できます。
カッコ記号については、( )を1つの記号とみなします。

3. 同記号の連続使用はできません。

4. 顔文字などの文字装飾は使用できません。

5. 使用可能以外の記号でも固有名詞内であれば、原則的に使用できます。

※追記
・~(波線)、--(全角ダッシュ)、機種依存文字などを除きます。
・すべての記号において、システム上表示可能か否かの検証は行っておりませんので、提携パートナーや使用記号によっては文字化けが起こる可能性もあります。

☆承認できないタイトル・説明文の例
【例1 : 半角カタカナの使用】
半角カタカナは使用できません。カタカナは全角のみ使用できます。
1mojpd000000722r.gif

【例2 : 使用できない記号の使用】
【】、""などの括弧記号、㈱などの機種依存文字、&、%、/などの半角記号(全角は使用可能)は使用できません。
1mojpd0000007231.gif

【例3 : スペースの装飾的な使用】
スペースを装飾的に使用することはできません。
1mojpd000000723n.gif

【例4 : 同記号の繰り返し、または連続使用】
同じ記号を3回以上使用したり、連続して使用したりすることはできません。
1mojpd000000723d.gif


以上です。

この記事のページを表示

MT PROGRAM | written by 奥村
MTのユーザ名とパスワードを忘れてしまった場合の対処法を
以下に記載しておきますので、ご確認ください。

▼対処法
1.―――――――――――――――――――
MT-Medicをダウンロード
http://www.nonplus.net/software/mt/MT-Medic.htm
ZIPファイルなので、ダウンロード後に、解凍。

2.―――――――――――――――――――
解凍すると、「mt-medic.cgi」が現れます。これを開き、
11行目「my $ADMIN_PASSWORD = "ここに任意のパスワードを記入";」
15行目「my $INFO_PASSWORD = "ここに任意のパスワードを記入";」
この部分に好きなパスワードを入れて上書き保存します。

3.―――――――――――――――――――
その後、ログインできなくなったMovable Typeのデータが入っているサーバの
ディレクトリにFTPでアクセスし、「mt-medic.cgi」をアップロードして、属
性を「700」に変更します。

4.―――――――――――――――――――
アップロードが完了したら、ブラウザで直接「mt-medic.cgi」のURLへアクセス。
例:「http://www.exsample.com/mt-medic.cgi」

英語の管理画面っぽいページが開くので、「Auther」というリンクをクリックし
て、先ほど記入したパスワードを入力して、「LOGIN」をクリックします。

ログインして該当ユーザー名(以前設定したログイン名があるはず)を見つけた
ら、右側にある「EDIT」をクリックしてパスワードを再設定していきます。

「Username」=「ログイン名」
「Password change」、「Password confirm」両方に「設定したいパスワード」
を入力してください。

以上で、再設定が可能です。

この記事のページを表示

PHP | written by 村田佑介
PHPのrequire_onceなどで別サーバーのデータが取れない場合、ソケット通信でデータを取得します。その際に起こった問題をなんやかんやで解決していって現在実用しているのが下記のコードです。

data_get()の第一引数に取得したいURLを入力すると内容が返ってきます。BASIC認証をかけている場合はユーザー名とパスワードをそれぞれ第二引数、第三引数に渡して下さい。


<?php
//ソケットでデータを取得
function data_get($url,$authuser="",$authpass=""){
unset($basic);
$tmp = parse_url($url);
if($tmp[query]){
$tmp[path] = $tmp[path]."?".$tmp[query];
}
$fp = fsockopen($tmp["host"], 80, $errno, $errstr, 4); // 80番ポートに接続
if(!$fp){
//print $errno.":".$errstr; // これでエラー内容表示されるはず
return array("status" => "connect_fail","msg" => $errstr);
}
$out = "GET {$tmp['path']} HTTP/1.1\r\n";
$out .= "Host: {$tmp['host']}\r\n";
$out .= "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)\r\n";
if($authuser){
$out .= "Authorization: Basic ".base64_encode($authuser.":".$authpass)."\r\n"; 
}

$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
stream_set_timeout($fp, 4);
//コンテンツ部分の受信
$in = '';
while (!feof($fp)) {
$in .= fgets($fp, 4096);
}
fclose($fp);
//ヘッダーとコンテンツ部分に分割
$in = split("\r\n\r\n",$in);
//ヘッダーを配列に格納
$info = decode_header($in[0]);
//デコード
unset($in[0]);//ヘッダー削除
$in = join("\r\n\r\n",$in);
$body = decode_body($info, $in);
return mb_convert_encoding($body, "UTF-8","ASCII,JIS,UTF-8,EUC-JP,SJIS");
}
function decode_header($str){
//<CRLF>ごとに分割
$part = preg_split("/\r\n/", $str, -1, PREG_SPLIT_NO_EMPTY);
$out = array ();
for ($h = 0; $h < sizeof($part); $h++) {
if ($h != 0) {
// :で区切ってkeyとvalueを作成
$pos = strpos($part[$h], ':');
$k = strtolower(str_replace(' ', '', substr($part[$h], 0, $pos)));
$v = trim(substr($part[$h], ($pos + 1)));
else{
//1行目ステータスコード
$k = 'status';
$v = explode (' ', $part[$h]);
$v = $v[1];
}
//keyとvalueを配列に格納
if ($k == 'set-cookie') {
$out['cookies'][] = $v;
elseif ($k == 'content-type') {
if (($cs = strpos($v, ';')) !== false) {
//目的が解析なのでサブタイプは切り捨てない
$out[$k] = $v;
}
else{
$out[$k] = $v;
}
}
else{
$out[$k] = $v;
}
}
return $out;
}
function decode_body ($info, $str, $eol = "\r\n"){
$tmp = $str;
$add = strlen($eol);
//チャンク形式の判定
if (isset($info['transfer-encoding']) && $info['transfer-encoding'] == 'chunked') {
do {
//チャンクサイズ取得してを10進数に変換
$tmp = ltrim($tmp);
$pos = strpos($tmp, $eol);
$len = hexdec(substr($tmp, 0, $pos));
//圧縮転送されている場合解凍する
if (isset($info['content-encoding'])) {
$str2 .= gzinflate(substr($tmp, ($pos + $add + 10), $len));
else{
$str2 .= substr($tmp, ($pos + $add), $len);
}
$tmp = substr($tmp, ($len + $pos + $add));
$check = trim($tmp);
} while (!empty($check));
}
elseif(isset($info['content-encoding'])) {
//圧縮転送されている場合解凍する
$str2 = gzinflate(substr ($tmp, 10));
}
else{
$str2 = $str;
}
return $str2;
}
?>

この記事のページを表示

TIPS | written by 村田佑介
ホームページのスクリーンショットを撮りたいことはよくあると思います。普通にPrintScreenでもいいかもしれませんが、編集が面倒ですのでもっと楽に撮れる方法をいくつか紹介します。


・Firefoxのアドオン「Pearl Crescent Page Saver
無料版はInstall Page Server Basicをクリックしてください。
インストールすると検索バーの右側などにカメラのアイコンが出てきます。こいつをクリックするとファイル名と保存先を指定する画面が出てくるので、自由に決めて保存するとページ全体のスクリーンショットを撮ってくれます。横の▼から「表示部分のみ」を選ぶと現在表示されている範囲のスクリーンショットになります。

・GoogleChromeの拡張機能「webページショット
こちらもインストールするとカメラアイコンが出てくるので、クリックすると上のと同じ様なことができます。ただ画像が新しいタブで表示されて右クリック→名前を付けて保存をしないといけないのでややめんどいです。

・おまけ:Macのスクリーンショット
Macにはデフォルトで4種類のスクリーンショットがついています。
------------------------------
コマンド+シフト+3 : 画面全体のスクリーンショットをデスクトップに作成
コマンド+シフト+コントロール+3 : 画面全体のスクリーンショットをクリップボードにコピー
コマンド+シフト+4 : 選択範囲のスクリーンショットをデスクトップに作成
コマンド+シフト+コントロール+4 : 選択範囲のスクリーンショットをクリップボードにコピー
------------------------------
普通のスクリーンショットなので隠れている部分を撮ったりはできないですが、表示されている部分でよければコマンド+シフト+4なんて結構便利だったりします。

FirefoxのアドオンやChromeの拡張なんかは似たようなものもたくさんあると思いますが、ぼくはMacなのでデフォルトのスクリーンショットをよく使います。どうしても隠れている部分も欲しい時はアドオンを使うっていう感じです。

この記事のページを表示

CAKEPHP | written by 村田佑介
CakePHPでは呼ばれたアクションのメソッドを最後まで実行してからviewを出力するのですが、処理を途中で終了させたいことも多々あります。

そういう時は今まで$this->render();を使ってたんですが、ループさせた時に実はこれでは終了しないということが判明しました。exit();などではその後の処理が止まって正常にviewが表示されなくなりますが、$this->render();のすぐ後にreturn 0;でうまく処理が終了してくれました。


------------------------------------
class UsersController extends AppController {

    function test(){
        if(hoge){
            //処理1
            $this->render();
            return 0;
        }
        //処理2←上のif文に入った場合は実行されない
    }

}
------------------------------------

以上備忘録でした。

この記事のページを表示

JS | written by yama

先日Javasciptはプロトタイプベースの言語である事を失念して恥ずかしい思いをしました。
同じミスをしないようにメモしておきます。

---------------------------------------------
var o = {huga: 'huga', moge: 'moge'};
for (var i=0; i<o.length; i++) {
  alert(o[i]);
}

---------------------------------------------

あれ?動かない・・・っていうので10分ほど思考停止。


PHPばっかり書いていて、そちらの連想配列に慣れてしまうとたまに意味が分からないことをしてしまいます。

PHPとjavascriptの連想配列は全く違うんですよね。

javascriptはすべてオブジェクトです。
つまりjavascriptの配列は'連想配列'の特殊なパターンのわけです。

だから、'.length'使いたかったらこう書かないといけませんよね。。

---------------------------------------------

var o = {0: 'huga', 1: 'moge', 2: 'hage', length: 3}
o.__proto__ = Array.prototype;

---------------------------------------------


でもこんなの何の意味がないのは見れば当然...わざわざlengthに自分で数を入れるなんて、無意味もいいところなので。

素直に

---------------------------------------------

for(var i in o){
  alert(o[i]);
}

---------------------------------------------

で、解決しました。

この記事のページを表示

MANEGEMENT | written by 山手重則
日産には足りないものが2つある。

それは、社員の中にコミットメントがないこと。

「なんとかやりましょう」というのはプロミスである。

単なる約束にすぎない。

そうではなく、「なんとしででもやってやる」がコミットメント。

それともう一つは、アカウンタビリティ、結果責任だ。

それは当事者意識のことで、

これは自分の課せられた責任なのだとしっかりと自覚し、

結果を出すまでとことん行動してやり遂げたかということである。



この記事のページを表示

MARKETING | written by 山手重則

情報を探している人にダイレクトに情報を届けられるインターネットでは必要な情報をウェブサイトでより効果的に表現することが重要です。そこで見出しや説明文にはより興味を持ってもらえるような表現方法が重要です。


●「C」=Catcchy(奇抜性) タイトルや見出しに訴求力があること

●「U」=Useful(有益性) その情報によってユーザーがメリットを得られること

●「T」=Trendy(話題性) 流行のキーワードに合わせた情報発信のタイミング

●「I」=Interresting(面白さ) 内容の面白さ。興味をひく演出

●「N」=New(目新しさ) 単なるニュースではなく、ユーザーが知らない、気付いていない物事を知らせる


一人でも多くの人にサイトの情報を知ってもらう為に、適切な情報を提供することが企業ウェブサイトの存在理由です。

この記事のページを表示

JQUERY | written by 村田佑介
imgタグにロールオーバーをつけていくのが面倒なので、記述を簡略化できるスクリプトを作成しました。

通常は、
<img src="img_001.jpg" onmouseover="src='img_001_o.jpg'" onmouseout="src='img_001.jpg'" />
と書かなければならないところを、
<img class="over" src="img_001.jpg" />
で済むようにしました。

--------------------
■使い方
1.ロールオーバー用の画像を用意してファイル名に_oをつけます。
例:img_001.jpgとimg_001_o.jpg

2.Jqueryを読み込んで下記タグを貼りつけます。
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js" type="text/javascript"></script> 
<script language="JavaScript">
<!--
$('document').ready(function(){
	$('.over').hover(
		function(){
			var src = $(this).attr('src');
			var src_o = src.substr(0, src.lastIndexOf('.')) + '_o' +
			src.substring(src.lastIndexOf('.'));
			$(this).attr('src',src_o);
		},
		function(){
			var src = $(this).attr('src');
			var src = src.substr(0, src.lastIndexOf('.')-2) +
			src.substring(src.lastIndexOf('.'));
			$(this).attr('src',src);
		}
	)
});
// -->
</script>

3.ロールオーバーしたい画像にoverクラスをつけます。
例:<img class="over" src="img_001.jpg" />
--------------------
ご自由にお使い下さい。

この記事のページを表示

MT | written by 村田佑介
このブログ構築の際にブログ内検索をどうしようかと色々調べたところ、いい感じのスクリプトを提供している方がいらっしゃったので拝借しました。

本家:http://java.cocolog-nifty.com/blog/2005/10/javascript_c163.html
パッチ:http://furyu.tea-nifty.com/annex/2006/05/blog_ajax_json__94c8.html
参考:http://bizcaz.com/archives/2006/09/19-231447.php

解説ではprototype.jsを読み込んでいますが、当サイトではJQueryを使っているのでprototype.js読み込みのスクリプトは外しました。

あとは検索結果を一番左のカラムに出したので、もともと左カラムにあった内容はJQueryで消してます。こんな感じ。
--------------------
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
	$("#search_button").bind("click",function(){
		$("#blog_in").slideUp();
	});
});
</script>

(中略)

<div class="content"></div><!--←ここに検索結果を表示-->
<div class="blog_in">(中略)</div><!--←ここにコンテンツの内容を表示。検索されると消える。-->
--------------------

このブログでも使っていますので、右上の検索ボックスからお試し下さい。


*********************
追記:2010/03/08
*********************
上記のスクリプトではエンターボタンで検索した時に左側のコンテンツが消えないので修正しました。

修正箇所:
1.formにid="searchform"を追加

2.スクリプトを下記に変更
--------------------
<script type="text/javascript">
$(function(){
	$("#search_button").bind("click",function(){
		$("#blog_in").slideUp();
	});
	$("#searchform").submit(function(){
		$("#blog_in").slideUp();
	});
});
</script>
--------------------

この記事のページを表示

カテゴリー

月別アーカイブ

LINKS