2015年10月7日水曜日

wgetでサイト内のリンク切れチェック

主にリソースのダウンロードに多用するwgetコマンドですが、オプションの指定の仕方によってリンク切れチェッカーとして使えることがわかりました。 社内サーバやベーシック認証がかかっている環境にも適用可能で、cron等のタスクスケジューラにも登録しやすいので、 開発の最終フェーズから、日々のサイト内リンクの死活監視まで幅広く重宝すると思います。 ■コマンド 色々なオプションがありますが、実際に使ったコマンド例をご紹介します。 $ wget --spider --no-directories --background -o {YOUR_LOG_PATH} \ --recursive --level 3 --no-verbose --execute robots=off \ --user={YOUR_ACCOUNT} --password={YOUR_PASSWORD} \ --user-agent="Mozilla/5.0...

Java初心者がはまったこと2(ラッパークラス)

こんにちは。Java初心者のWebエンジニアKです。 PHPのノリでJavaを書いていたらはまったこと第二弾として、今回はラッパークラスについて書きたいと思います。 ■intとIntegerではまる Javaのソースコードを見ていると、例えば数値を扱う変数を作るとき、以下の2通りの宣言があることに気付きました。 int num = 100; Integer num2 = 100; 両者の違いを正しく理解せずに、その日の気分で使い分けていたら見事にはまりました。 ■intとIntegerの違い intはプリミティブ型のひとつで、値(intの場合は特に数値)のみを扱うための型です。 初期値は0です。 一方Integerはラッパークラスと呼ばれる参照型のひとつで、intを値だけでなく「振る舞い」も合わせて扱えるように定義した型となります。 「振る舞い」は平たく言うとクラスメソッド(toStringやvalueOf)のことですね。...

Java初心者がはまったこと(文字列比較)

はじめまして。WebエンジニアのKと申します。 これまでサーバサイドはほぼPHPで実装してきましたが、最近ではJavaへの挑戦も始めました。 慣れたPHPの感覚でJavaを書き始めると、思わぬところではまってしまうことがあり、 ここでは自戒の念を込めてはまったポイントを記しておこうと思います。 ■文字列比較ではまる こんなif文を書いて、判定がtrueとならず、頭を悩ませていました。 ※str = “hoge”だと、この単純な例の場合たまたま判定がtrueになってしまうので、わかりにくいですが”hog”と”e”にわけて宣言しています。【参考】 String str = "hog"; str += "e"; if (str == "hoge") { // false... // do something } PHPだと文字列はプリミティブ型なので、上記のような文字列が格納された変数(str)と文字列リテラル(“hoge”)の比較でうまくいくのですが、...

Registerでのカスタムコントロールの関連付けを、Web.configにまとめる

こんにちはYです。 ややこしいタイトルを付けてしまいました。 Webページを作成していて、ユーザーコントロール(.ascxファイル)を作成し、 目的のページに関連付けて使用できるようにすることってよくありますよね? その時はAspxファイルの上部に↓のように書くと思います。 ■ASP.NET ページでユーザコントロールを参照する方法 <%@ Register TagPrefix="includes" TagName="BenriControl" Src="~/control/BenriControl.ascx" %> これをすべてのページの範囲で使用できるようにするのが今回の目的です。 ■web.config ファイルでユーザコントロールを参照する方法 Web.configファイルの <pages>  <controls>   ~  </controls> </pages> 上の「~」の位置に <add...

2015年10月6日火曜日

指定の文字数を取得する

こんにちはYです。 SEO対策をしていて、ちょっと文字が多いな、、、と感じた箇所にぶつかりました。 データもとの文章を変更せずに、先頭の~文字で切って妥協することにしました。 その時の対処方法です。 String.Substring メソッドを使用しました。 String nagaiMoji = "Hello World!" String moji = nagaiMoji.Substring(1, 6); 上記の場合の出力は「ello W」となります。 これを使用して、String moji = nagaiMoji.Substring(0, 99); 100文字分を取得するようにと書くことができま...