- JavaScriptにおいて、配列の要素を指定して削除する場合、delete演算子では削除後にundifineが残ってしまいます。削除後に要素を詰めたい場合は、splice()メソッドを使う事で要素数を減らす事が出来ます。foreach等で配列を操作中に行う場合は注意しましょう!
17:58 - JavaScriptにて、オブジェクトの複製にもJSONを使って行う事が出来ます。複製 = JSON.parse( JSON.stringify( オブジェクト ) ); プロトタイプで持つ事も考えますが、オブジェクトのプロトタイプで持つと、メンバとして残ってしまうので要注意
15:24 - JavaScriptにおいて、多次元配列を参照渡しでなく、値渡し(複製)する為には、Array.apply()では破壊的になってしまう為、一旦JSONに変換した後に戻す事により、複製する事が出来ます。 複製 = JSON.parse( JSON.stringify( 配列 ) )
15:19 - 被リンクを送る側のページ状態もとても重要で、同じページから沢山外へ向かってリンクが貼られているような場合は、一つのリンク辺りの効果が薄まる傾向があります。大体、50件以上のリンクが貼られている場合は殆ど効果が無いでしょう。なるべく、外部リンクの少ないページから被リンクを得ましょう
14:36 - 被リンクは量だけでなく、質もとても重要です。質とは、サイトの評価、被リンクサイトのテーマ、リンク方法です。自分のサイトと同じテーマからの被リンクは効果が高く、キーワードのテキストリンクもとても効果的です。また、サイト内リンクが一番集まるトップページからの被リンクが効果が高いです。
14:34 - 2012年11月22日(木)のツイート履歴: ツイート SEOでは1ページ辺りの文章量が多いほうが理想です。実際問題どの程度の文章が必要でしょうか?それは、ブログでしたら最低でも700文字はコンテンツとして必要... http://web-terminal.blogspot.jp/2012/11/20121122.html?utm_source=twitterfeed&utm_medium=twitter
14:33 - 外部サイトからの被リンクだけでなく、サイト内リンクもとても重要です。同じサイト内でも、沢山被リンクがかかっているページは、そのサイト内でも重要で、一押しのページと判断されるからです。なるべく、サイト内リンクも充実させ、循環を良くし、ページ毎に相乗効果が生まれるように調整しましょう
14:24 - SEOにおいて、サイトの更新頻度はとても重要です。更新頻度が高いと、クローラーは最新情報を求めて頻繁に訪れるようになる為、インデックスが早くなりますし、それだけ新鮮で最新の情報があるとみなし、検索結果での上位表示への評価が高まります。新規追加だけでなく、メンテナンスも重要です。
14:21 - 被リンクとは、サイトの人気投票のようなものです。人気のあるサイトは、それだけ重要で有益な情報が掲載されているとクローラーは判断し、検索結果で上位表示されやすくなります。しかし、投票する側のサイトの信用度も重要で、クローラーから良くない評価をされたサイトからの被リンクは逆効果です。
14:17
2012年11月23日(金)のツイート履歴
2012年11月22日(木)のツイート履歴
-
- SEOにおいて、ターゲットとなるキーワードの出現頻度を、1ページ辺り全体の5%が理想的と言われ続けて来ましたが、7%でも十分効果を発揮し、極端でなければ、大体3~8%程度でも問題ないでしょう。それよりも、キーワード同士が近い位置で連続すると無視される傾向があるので注意が必要です。
12:58 - 2012年11月21日(水)のツイート履歴: ツイート 2012年11月20日(火)のツイート履歴: ツイート 2012年11月19日(月)のツイート履歴: ツイート サイト名にター... http://web-terminal.blogspot.jp/2012/11/20121121.html?utm_source=twitterfeed&utm_medium=twitter
10:26 - クローラーは画面の操作までは行ってくれないので、クリックきっかけで動作するものや、フラッシュ等のバイナリ化されたものからはキーワードを抽出する事が出来ません。キーワードを取得出来なければ当然SEOの力は弱まります。出来るだけターゲットとなるキーワードは静的に埋め込みましょう。
10:21 -
2012年11月21日(水)のツイート履歴
- 2012年11月20日(火)のツイート履歴: ツイート 2012年11月19日(月)のツイート履歴: ツイート サイト名にターゲットとなるキーワードを入れる事はSEO的には基本中の基本です。そうす... http://web-terminal.blogspot.jp/2012/11/20121120.html?utm_source=twitterfeed&utm_medium=twitter
17:53
2012年11月20日(火)のツイート履歴
- 2012年11月19日(月)のツイート履歴: ツイート サイト名にターゲットとなるキーワードを入れる事はSEO的には基本中の基本です。そうする事によってサイト全体のテーマが統一され、内部リンクによる効果が高まり... http://web-terminal.blogspot.jp/2012/11/20121119.html?utm_source=twitterfeed&utm_medium=twitter
15:30 - ツイート内容には空白や改行を入れる事が出来、文字数カウンタは改行も一文字としてカウントされます。 ツイートを目立たせるには改行が有効的です‼ しかし、ツイートの前後に入れた空白や改行はトリミングされ切り詰められてしまいます。 これは、空白や改行だけの空投稿を防ぐ為です。
13:02 - フォロー数は2000件迄は制限無くフォロー出来ますが、2001件以上となるとフォロー数には上限が設けられます。 フォロワー数×1.1が上限となり、3000人のフォロワーがいる場合は3300人をフォローする事が出来ます。 上限を伸ばす為には相互フォローを活用しましょう
12:54 - Twitterにおける制限事項として、一日の活動限界があります。それは一日のフォロー数、一日のツイート数の上限を1000とし、ダイレクトメッセージは一日250件までと規定されています。しかし、これらは制限ですが、制限がかかる行為を繰り返した場合はアカウント凍結の対象となってしまいます
09:23
2012年11月19日(月)のツイート履歴
-
- SEOにおいてターゲットとなるキーワードを欲張ってはいけません。ページ毎にテーマを決め、メインターゲットキーワードと複合するサブキーワードの2つ程度が最適です。欲張るとテーマにブレが生じ、全体的に評価が下がってしまいます。なるべくターゲットを明確にし、キーワードを盛り込みましょう
20:50 - SEOの基本は、ユーザーの立場になってユーザーの利便性を考える事が重要です。検索エンジンはユーザーへ適した検索結果を提供する事を目的としています。ですので、ユーザーへ優れたサービスを提供する事を考えれば、おのずと検索エンジンの気持ちが分かり、無理の無い効果的な最適化が実現します
20:23 - 検索エンジンのクローラーはリンクを辿ってきます。被リンクの一つも無いサイトは中々インデックスされません。新規サイトや新規ページを素早くインデックスさせる手法として、更新頻度の高いリンク用サイト作る事です。更新頻度の高いサイトへは頻繁にクローラーも訪れるので、そこから呼び込みます
20:17 - 2012年11月18日(日)のツイート履歴: ツイート 2012年11月16日(金)のツイート履歴: ツイート 機種依存文字以外でも、全角マイナスや全角チルダ等はマッピングの違いで文字化けする事が... http://web-terminal.blogspot.jp/2012/11/20121118.html?utm_source=twitterfeed&utm_medium=twitter
11:15
2012年11月18日(日)のツイート履歴
- 2012年11月16日(金)のツイート履歴: ツイート 機種依存文字以外でも、全角マイナスや全角チルダ等はマッピングの違いで文字化けする事があります。eucやsjisとUnicode間にはズレがあります。近々マ... http://web-terminal.blogspot.jp/2012/11/20121116.html?utm_source=twitterfeed&utm_medium=twitter
17:05
2012年11月16日(金)のツイート履歴
- 機種依存文字以外でも、全角マイナスや全角チルダ等はマッピングの違いで文字化けする事があります。eucやsjisとUnicode間にはズレがあります。近々マッピング表と共に文字化けする一覧を作成します
18:34 - ?>を省略しないと、?>の後が自動的に標準出力される為、画像をヘッダ付きで出力する場合はバイナリがズレ、破損します。他にもファイル出力等で無駄なコードが含まれてしまいます。中には目に見えないコードが含まれる場合もありますので、ハマらない為にも?>は省略しましょう
18:16 -
- PHPでの制御構文として、通常はif(判定分){処理}の様に書くと思いますが、if(判定分): 処理 endif;の様に書く事が出来ます。他にもendfor; endforeach; endwhile; endswitch; 等があり、htmlと共に記述する際は可読性が上がります
17:45 -
2012年11月15日(木)のツイート履歴
- CSSやJavaScriptを軽量化や難読化する為に、改行を無くす手法が良く使われていますが、テキストエディタ「秀丸」を使う事で簡単に、一発で改行を除去する事が出来ます。 方法は、メニューの検索から置換、正規表現にチェックを入れ、¥nから空白へ全置換を行う事で、改行除去の完了です
22:46 - Chromeの拡張機能に入っていたセキュリティソフト「avast」を削除したら、途端に軽くなった。abastは無料で良いんだけど、ここ最近の重くなる現在は、大抵avastが原因だったりする
20:01 -
-
-
- PHPでの出力をob_start ("ob_gzhandler");を使って行えばgzip圧縮転送を行う事が出来ます。gzip圧縮転送に対応していないブラウザへは通常通り転送させるという優れもの。この実装だけでレスポンスが2割程早くなります。
16:02 -
-
-
- 2012年11月13日(火)のツイート履歴: ツイート 最近はフラッシュをJavaScript化する案件が急激に増えて来たなー。ライブラリを強化して直ぐにでも対応出来る様に刀を研がねば! 20:23 http://web-terminal.blogspot.jp/2012/11/20121113.html?utm_source=twitterfeed&utm_medium=twitter
12:00
2012年11月12日(月)のツイート履歴
- div等のブロック要素内の縦位置中央揃えには様々な方法がありますが、一行固定の場合は下手にdisplayをinline-blockやtable-cellに変更するよりもline-heightで対応させた方が他に影響が無く安全。position対応は混乱の元となるのでお勧め出来ない
23:27 - getMonth()で+1を毎回するのが面倒なので、プロトタイプで拡張してしまうのもありかも。 Date.prototype.month = function(){ return( this.getMonth()+1 ); }
18:44 - JavaScriptのDateオブジェクトからgetMonth()で現在の月数を取得する場合、取得出来る値は0~11という事に気をつける必要がある。現在11月の場合は、getMonth()で10という値が取得出来る為、正しい現在の月数を取得するには+1する必要がある。
17:44 -
2012年11月11日(日)のツイート履歴
- jQueryプラグイン開発までの最短4ステップを分かりやすく解説!!: JavaScriptの人気ライブラリ『jQuery』は豊富な機能とクロスブラウザな点がとても良く、私も頻繁に活用しています。むしろJavaScript開... http://web-terminal.blogspot.jp/2012/11/jquery4.html?utm_source=twitterfeed&utm_medium=twitter
00:41
2012年11月6日(火)のツイート履歴
- 実はJavaScriptのlengthプロパティは配列の要素数ではありません: 皆さんJavaScriptで配列の要素数を知りたい時はlengthプロパティを参照しているかと思います。しかし、このlengthプロパティですが... http://web-terminal.blogspot.jp/2012/11/javascriptlength.html?utm_source=twitterfeed&utm_medium=twitter
18:55
2012年11月14日(水)のツイート履歴
-
-
- jQueryMobileのdata-role='button'が重いと感じたら、ボタン押下時のスタイルを:hoverに定義する事によって、タッチによるボタン押下のアクションを定義する事が出来、data-role='button'の様な動きを見せる事が出来ます
22:38 - 普段使っているFeed『http://web-terminal.blogspot.jp/feeds/posts/default』が文字化けを起こしていたので、『http://web-terminal.blogspot.jp/feeds/posts/full』へ変更した
17:03 -
- Node.jsの仕事来ないかな~。やっぱり実践で使わないと勘所がぶれますね。
14:25
jQueryプラグイン開発までの最短4ステップを分かりやすく解説!!
JavaScriptの人気ライブラリ『jQuery』は豊富な機能とクロスブラウザな点がとても良く、私も頻繁に活用しています。
むしろJavaScript開発には欠かせないものとなっています。
そんなjQueryですが、プラグイン開発も盛んで、世界中のエンジニアが様々なプラグインを作成・公開しています。
それも、jQueryはプラグイン開発がとても簡単に出来る事に起因しているのではないでしょうか?
簡単だからこそ、独自にプラグインを追加する方達の理由としては、
新たな便利な機能を追加する方もいれば、ある程度纏まった処理を汎用的にする為にプラグイン化する方もいるでしょう。
プラグイン開発の理由は人それぞれですが、プラグインの作成方法を知らない事にははじまりません。
今回は、そんな『jQuery』の独自プラグインの作成方法を、分かりやすく4ステップに分けて解説したいと思います。
『jQueryプラグイン開発までの最短4ステップを分かりやすく解説!!』を続きを読む »
実はJavaScriptのlengthプロパティは配列要素数ではありません
皆さんJavaScriptで配列の要素数を知りたい時はlengthプロパティを参照しているかと思います。
しかし、このlengthプロパティですが、実は配列の要素数の値では無いんです。
今回のエントリーでは、そんなlengthプロパティの動作をソースコード付きで解説したいと思います。
『実はJavaScriptのlengthプロパティは配列要素数ではありません』を続きを読む »
NAMAZUのコマンドラインオプションと設定情報の表示
NAMAZU全文検索時のオプションは下記の通り
使い方: namazu [options] <query> [index]...
-n, --max=NUM 一度に表示する件数
-w, --whence=NUM 表示する検索結果の先頭番号
-l, --list 検索結果を URI・パス名をリストで出力する
-s, --short 短い書式で出力する
--result=EXT 結果表示に用いる NMZ.result.EXT を指定する
--late 検索結果を新しい順にソートする
--early 検索結果を古い順にソートする
--sort=METHOD ソート方法を指定する (score, date, field:name)
--ascending ソートの方向を昇順にする (標準は降順)
-a, --all 検索結果をすべて表示する
-c, --count ヒット数のみを表示する
-h, --html HTMLで出力する
-r, --no-references 参考ヒット数を表示しない
-H, --page 先の検索結果へのリンクを表示する (ほぼ無意味)
-F, --form <form> ... </form> の部分を強制的に表示する
-R, --no-replace URI の置き換えを行わない
-U, --no-decode-uri URI encode の復元を行わない
-o, --output=FILE 指定したファイルに検索結果を出力する
-f, --config=FILE 設定ファイルを指定する
-C, --show-config 設定を表示する
-q, --quiet 検索結果以外のメッセージを表示しない
-d, --debug デバッグモード
-v, --version ヴァージョンを表示する
--help このヘルプを表示する
--norc 設定ファイルを読み込まない
-- オプションリストを終了する
NAMAZU全文検索の設定などのオプションは下記の通り
使い方: mknmz [オプション] <対象>...
対象ファイル:
-a, --all すべてのファイルを対象とする
-t, --media-type=MTYPE 対象ファイルの文書形式を指定する
-h, --mailnews --media-type='message/rfc822' と同じ
--mhonarc --media-type='text/html; x-type=mhonarc' と同じ
-F, --target-list=FILE インデックス対象のファイルのリストを読み込む
--allow=PATTERN 対象とするファイル名の正規表現を指定する
--deny=PATTERN 拒絶するファイル名の正規表現を指定する
--exclude=PATTERN 除外するパス名の正規表現を指定する
-e, --robots 次の記述を含む HTMLファイルを除外する
<meta name="ROBOTS" content="NOINDEX">
-M, --meta HTMLの metaタグをフィールド指定検索に用いる
-r, --replace=CODE URIを置換するためのコードを指定する
--html-split HTMLファイルを <a name="..."> 単位で分割処理する
--mtime=NUM 変更日制限 find(1) の -mtime と同じ規則
例: -50 で 50 日以内、+50 で 50 日より古いものだけ
形態素解析:
-b, --use-mecab 日本語の単語のわかち書きに MeCab を用いる
-c, --use-chasen 日本語の単語のわかち書きに ChaSen を用いる
-k, --use-kakasi 日本語の単語のわかち書きに KAKASI を用いる
-m, --use-chasen-noun 名詞のみを抽出する
-L, --indexing-lang=LANG インデックス時に言語に特化した処理を行なう
文字列処理:
-E, --no-edge-symbol 単語の両端の記号は削除する
-G, --no-okurigana 送り仮名を削除する
-H, --no-hiragana 平仮名のみの単語は登録しない
-K, --no-symbol 記号をすべて削除する
--decode-base64 添付されたBase64エンコード部分をデコードする
要約:
-U, --no-encode-uri URIのencodeを行わない
-x, --no-heading-summary HTML のヘディングによる要約作成を行わない
インデックス作成:
--update=INDEX 更新するインデックスを指定する
-z, --check-filesize サイズが変わったファイルも対象とする
-Y, --no-delete 削除された文書の検出を行わない
-Z, --no-update 文書の更新・削除を反映しない
その他:
-s, --checkpoint チェックポイント機構を作動させる
-C, --show-config 現在の設定を表示する
-f, --config=FILE 設定ファイルを指定する
-I, --include=FILE カスタマイズ用ファイルを読み込む
-O, --output-dir=DIR インデックスの出力先を指定する
-T, --template-dir=DIR NMZ.{head,foot,body}.* のディレクトリを指定する
-q, --quiet インデックス処理の最中にメッセージを表示しない
-v, --version ヴァージョンを表示する
-V, --verbose 口やかましいモード
-d, --debug デバッグモード
--help このヘルプを表示する
--norc 設定ファイルを読み込まない
-- オプションリストを終了する
因みに、対応形式を確認する場合は下記の様に--show-configオプションを使用する
>mknmz -C
表示された形式のうち、
項目の先頭にマイナスが付いているものは現在非対応。
マイナスが付いてないものは現在対応中の形式
全文検索エンジン【NAMAZU】における画像検索設定方法
全文検索エンジン「NAMAZU」では、
デフォルトで画像のファイル名をインデックスしてはくれないようです。
画像ファイル名を検索でヒットさせたい場合は、
フィルタの追加やフィルタリング項目の修正、
フィルタを使うためのモジュールをインストールする必要があります。
下記ページよりimage.plをダウンロードし、
c:\namazu\share\namazu\filter\win32\へ配置する
http://www.interq.or.jp/japan/koi_san/trash/2004/namazu_filter2.htm
image.plを仕様する為に、ppmにて下記をインストールする
>ppm install Image::Info
>ppm install Image::ExifTool
>ppm install IO::String
この段階で、>mknmz -c では画像形式が追加されている事が確認出来るかと思います。
しかし、この状態では画像は拒絶されたり不許可で引っかかったりします。
その制御を変更する為に、次のステップを踏む必要があります。
C:\namazu\share\namazu\pl\conf.pl内では、
拒絶と許可を正規表現で指定されている。
$ALLOW_FILEへは許可する形式を正規表現で指定する。
今回は下記の様な正規表現を追加した。
"|.*\\.png|.*\\.jpg|.*\\.jpeg|.*\\.gif"
続いて、$DENY_FILEでは拒絶する対象を表す正規表現に、
画像形式がデフォルトで入っているので、
画像を拒絶する記述を削除する
#$DENY_FILE = ".*\\.(gif|png|jpg|jpeg)|.*\\.tar\\.gz|core|.*\\.bak|.*~|\\..*|\x23.*";
$DENY_FILE = ".*\\.tar\\.gz|core|.*\\.bak|.*~|\\..*|\x23.*"; # 画像の拒否を解除する
改めてインデックスを作成すると、許可した形式の画像がインデックスされ、
画像のファイル名が検索でヒットするようになります。
無料で使えるハイクオリティなBlogger用テンプレート!!
Bloggerを始めたら、まず初めにこだわりたいのがデザインです。
Bloggerでは予め様々なテンプレートが用意されていますが、
やはりデフォルトはデフォルト。
他のユーザーとデザインがかぶってしまったり、自由を効かせ難かったり、
また、大半のタグが他のサイトと同じだとSEO的に不利に働いてしまう場合もあります。
出来ればオリジナルデザインにしたい所ですが、かっこいいデザインにしたり、
SEOを意識したテンプレートを全て作るのはとても大変で、技術も時間も知識も必要です。
プロに頼んだり、予め作成されたテンプレートを購入するにも費用がかさんでしまいます。
無料で手軽に始められるブログだからこそ、そういった大変な事は出来るだけ避けたいですね。
今回は、そんな様々なコストを払拭した、
SEOも最適化され、プロのデザイナー顔負けのカッコイイテンプレートを
無料でゲットし、適用させる方法のご紹介です。
Bloggerでも行番号と共に色分け!!SyntaxHighlighterの導入
プログラミング系の技術系ブログを書く人は、ソースコードをブログ記事に載せる機会も多いと思います。
そこで、よく使われているのが『SyntaxHighlighter』(シンタックスハイライター)です。
この『SyntaxHighlighter』(シンタックスハイライター)は、ソースコードを行番号と共に色分けしてくれて
とてもソースコードを見やすく表示してくれます。
今回は、このブログでもお世話になっている『Blogger』への導入方法です。
導入方法はとても簡単で、まずは下記のサイトで必要なソースコードをジェネレートしましょう
人気の投稿
-
JUnitについての書籍が遂に発売します! Java開発時のユニットテストを加速する「JUnit速効レシピ」 Android アプリ開発で、ある画面から別の画面へ遷移する方法と、 逆に遷移先から元の画面へ戻る方法をソースコード付きで解説します。 Ac...
-
JUnitについての書籍が遂に発売します! Java開発時のユニットテストを加速する「JUnit速効レシピ」 今回は、WebView内に書かれた JavaScript をアプリ側から起動したり、 HTML 内のリンクタップをアプリ側で検知したり、 アプリ側...
-
ブラウザのデベロッパツールのコンソールへlogを出力する方法と、 その際の注意点や解決策についてソースコード付きで解説します。 最終的にはlog出力の完成形として、 IE エラー回避、consoleオブジェクトの記述無し、デバッグ切り替え機能付きの プラグインの...
-
コメントアウトとは、プログラムソース内に処理ロジックとは別に コメントとして残す事を言います。 今回は、様々なプログラム言語やフレームワークで使用する コメントアウト記法を纏めました。 コメントアウトはプログラムを書く上で、とても頻繁に使い、 プログラム言語...
-
JUnitについての書籍が遂に発売します! Java開発時のユニットテストを加速する「JUnit速効レシピ」 Android アプリにて課金処理を行う方法を解説します。 アプリの重要な収入源となりますので、なるべく習得しておきたい技術ですね。 Androi...
-
CEBImagery.com PHP にて重い処理を行おうとすると、ユーザへのレスポンスが遅くなります。 なので、ユーザへレスポンスする必要の無い処理。例えばメールの送信や裏で行うクエリ等は レスポンスを待たずに、次の処理へ進んでもらいたいです...
-
JUnitについての書籍が遂に発売します! Java開発時のユニットテストを加速する「JUnit速効レシピ」 Android アプリ開発では、沢山のActivityが登場し、 画面遷移もある程度の規模になると複雑化します。 そして、一つのActivity内だ...
-
最近良く見かけるモーダルウィンドウですが、 モーダルのサイズが大きいと画面外にはみ出してしまい、全てを表示することが出来ません。 スクロールしたとしても、モーダルの背景であるメインコンテンツがスクロールされてしまいます。 そこで、モーダルが表示されている間のスクロー...
-
皆さん JavaScript で配列の要素数を知りたい時はlengthプロパティを参照しているかと思います。 しかし、このlengthプロパティですが、実は配列の要素数の値では無いんです。 今回のエントリーでは、そんなlengthプロパティの動作をソースコード付き...
-
JavaScript では、本来のオブジェクト指向言語とは少し異なり、 正確なクラスの定義は出来ません。 しかし、 JavaScript では強力な関数定義方法が用意されていますので、関数をクラスとして 実装する事で対応するのが一般的です。 今回の記事では、そんな...
Category
Archives