2015年11月20日金曜日

「♡ ;」はなんでしょう?

こんにちは!Sです。
タイトルを見てすぐにHTMLの特殊文字だ!とピンときた方はプロですね。
今日は特殊文字のお話です。

特殊文字といえば
"   &   <   >       &copy
などが有名ですが、実は他にもものすごく沢山あります。
今日は「♡」をどうしても出したくて改めて一覧表を調べました。
(「♡」の答えは「♡」でした。)

その際、役に立ったサイトもまとめておきます♪

▼特殊文字コード表
http://www.shurey.com/js/labo/character.html

▼エンコードの便利ツール
http://www.tagindex.com/tool/url.html

URL最後のスラッシュとは

URL最後のスラッシュがない

こんにちは山田です。
雑誌とかテレビを見ているときに気になってURLをアクセスしてみると
あれ、NotFound… ないじゃんということが、、、あるかもしれませんね。

さて、
お客さんに印刷して渡したURLに最後スラッシュがついていなかったということになっておりました。
実際にURLを開いてみると NotFound…
その時の対応の話です。

正:http://sample.com/contents/0001
誤:http://sample.com/contents/0001/

一般的な人からするとなくてもあっても一緒なんじゃないかと思われがちな箇所だと思います。
(僕もチラシ屋さんだったらあまり気にしなそう)

豆知識として
そもそもURLの最後のスラッシュには「トレイニングスラッシュ」という名前があるようです。

というわけで、
誤っているURLを正しいURLへ301リダイレクトさせてみました。

開発環境:ASP.NET2.0
IIS:ver8.5

web.config
<system.webServer>
 ~
 <rewrite>
   <rule name="URLの最後にスラッシュをつけてる" stopProcessing="true">
     <match url="^contents/([0-9]{7})$" />
     <action type="Redirect" url="/contents/{R:1}/" redirectType="Permanent" appendQueryString="true"  />
   </rule>
 </rewrite>
</system.webServer>

属性
stopProcessing:このルールを適用した場合、そこでルールの処理を終了するかどうかを指定する
        trueであれば、これ以降のルールは適用しない
        falseであれば、さらに別のルールで指定した別のURLへリダイレクトされる
       (属性を省略したらfalseになります)
redirectType:このリダイレクトがどういった意味かをレスポンスコードで返すことが出来ます
       (省略):301  永続的
       Permanent:301 永続的
       Found:302    検出
       SeeOther:303   その他
       Temporary:307  一時的
appendQueryString:置換時に、現在の URL のクエリ文字列を保持するかどうかを指定する
               trueであれば、クエリ文字列を保持する(つまり、元の URL のクエリ文字列が置換された URL に追加されます)
          falseであれば、クエリ文字列を保持しない         
          属性を省略したら既定で TRUE と見なされます。

2015年11月19日木曜日

404エラーページのSEO効果

404エラーページのSEO効果

こんにちは山田です。

404ってネットサーフィンしたことがある人ならだれでもしっている
メジャーなエラーですよね。

このエラーの発生要因とすれば
  • 人為的なURLの入力ミス
  • ページの削除・移動
が考えられますね。

ということで、SEOの観点からすると404エラーはどうなんだろうと思い調べてみました。

リンクをWebページにペタペタ張っていくと
リンク先がないファイルに行き当たることがあります。
クローラーはよくやっていそうですね。

もし、404エラーページ到着した場合
何もリンクがなかった場合
 :そこで終わり
有益なコンテンツへのリンクがあった場合
 :クローラーはそのリンクを辿ってその後も多くのページを回遊しようとしてくれます。
  

404エラーページにおけるSEO効果としては上記のような対策になりえます。

有益な 404 ページを作成する


SEO効果を最大化させる404エラーの対処法

 有益な404ページのデザイン設計と実例まとめ 
  ↑404ページがゲームになっている実例もあって面白いです。

2015年11月18日水曜日

【Java】UTC時間の文字列をTimestamp型に変換する方法

こんにちは。エンジニアのKです。

solrのレスポンスに含まれる時間文字列をTimestamp型に変換しようとしたときに、少しはまったので覚書です。
solrに格納される時刻はデフォルトでUTC時間とのことで、ぱっと見、日本時間から9時間前の表記となります。
solrのdate型カラムのレスポンス値は以下のような文字列になっています。

2015-11-18T10:00:00Z

この文字列を以下のようにしてTimestamp型に変換します。

import java.sql.Timestamp;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.TimeZone;

(略)

    SimpleDateFormat dateFormatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
    dateFormatter.setTimeZone(TimeZone.getTimeZone("UTC"));
    try {
        Timestamp t = new Timestamp(dateFormatter.parse("2015-11-18T10:00:00Z").getTime());
        System.out.println(t); // 2015-11-18 19:00:00.0
    } catch (ParseException e) {

    }


  1. SimpleDateFormatでフォーマットを指定します。TとZは'(シングルクオート)で囲んでエスケープしないとParseExceptionが投げられてしまいます。
  2. SimpleDateFormat#setTimeZoneでタイムゾーンを設定できます。今回は対象の文字列にあわせてUTCにします。
  3. あとはSimpleDateFormat#parseでDate型オブジェクトに、Date#getTime()でUNIXタイムスタンプ値に、さらにTimestampのコンストラクタに渡すことで、無事Timestamp型に変更することができました。


リピーターにバインドしたデータの奇数個目と偶数個目で異なるクラスのCSSをあてる方法

こんばんはSです!

長いタイトルの通り、今日は
【リピーターにバインドしたデータの奇数個目と偶数個目で異なるクラスのCSSをあてる方法】
についてです♪

こういうときに役に立つのが%で、下記のように書くと上手くいきます。

<li class='<%# (((Container.ItemIndex % 2) == 1) ? "even" : "")%>'>
※even : 偶数個目にだけ適用するCSSのクラス名
(奇数個目じゃない?と思った方は私と同じ罠にはまっています笑)

▼イメージ

<li >aaa</li>
<li  class='even'>aaa</li>
<li >aaa</li>
<li  class='even'>aaa</li> ・・・