タグ

ブックマーク / amachang.hatenablog.com (30)

  • Windows7 搭載マシンを買ってきてやったことまとめ - IT戦記

    はじめに みなさま、こんにちは!年末の忙しい時期ですが、お元気ですか? 僕はなんとか元気です>< 使っていた PC を壊してしまったので Windows7 搭載マシンを買ってきましたので、購入から初期設定、便利なアプリのインストールまでここにメモしておきたいと思います! 購入まで と言うことでまず購入までにやったことをまとめてみたいと思います 価格.com で調べる まずは、価格.comを使って、以下の条件で良さそうなパソコンを探してみます。 8 万円以下の価格 それなりのグラフィックボード(最近 Minecraft っていうゲームをやってるので) それなりのメモリ(メモリ安いので) それなりの CPU USB 3.0 (データ移行のときにハードディスクを USB 3.0 でつなぎたいので) ディスクアクセス速度は、ある程度遅くても良い(RAM ディスクで頑張る戦略) 買うパソコンを決める

    Windows7 搭載マシンを買ってきてやったことまとめ - IT戦記
  • WebKit サーバーというものを作ってみた - IT戦記

    みなさん お久しぶりですヽ(´ー`)ノ夏休みの宿題終わりました? 毎日が夏休みの最終日みたいな生活してるあまちゃんです! さてさて 今日は WebKit サーバーというものを作ってみたので、紹介してみます。 WebKit って何? WebKit っていうのは Chrome や Safari の中に入ってるブラウザのエンジンのことです! 実はブラウザっていうのは、エンジン部分と見た目の部分(タブとかボタンとかね)に別れていて、意外と違うブラウザでもエンジン部分は同じものを使ってるってことも多いんですよ(*´ー`) ブラウザのサーバーってどういうこと? 要は、サーバーサイドでブラウザを起動して JavaScript を実行したり、 JavaScript が実行されないと読めないページから値を持ってくるのに使ったりしようという魂胆です。 今まではそういうのなかったの? 実は、今までは JavaS

    WebKit サーバーというものを作ってみた - IT戦記
  • フェイスブック、ミクシィ、グリーで使われている OGP (Open Graph Protocol) とは何か - IT戦記

    みなさん、こんにちは お元気ですか?僕は元気です。 さて 最近よく、「いいね!」ボタンや「ミクシィチェック」ボタンによって、ウェブページを紹介し合う文化が少しずつ定着してきたなーと思います。 そんな中で、今後重要になってくるんじゃないかと思われる OGP (Open Graph Protocol)と言われる仕様があります。今日はそのことについて書いてみたいと思います。 OGP? おーじーぴー??とはなんでしょうか。 OGP とは 簡単に言うと「このウェブページは何のことを書いているか」という情報を、プログラムから読める形で HTML に付加する記述方法のことです。 まあ、普通のウェブページは人間が読めばだいたい何のことが書いてあるか分かりますよね。 ですが、プログラムは人間ほど頭が良くないので、そのウェブページ内の文章だけではそのページが何のことについて書かれているページなのか正確に識別す

    フェイスブック、ミクシィ、グリーで使われている OGP (Open Graph Protocol) とは何か - IT戦記
    TMTL
    TMTL 2011/01/17
  • 要素が document につながっているかを高速に調べる方法 - IT戦記

    とある要素が document につながっているかどうかを調べたい! とりあえず、ほとんどすべてのブラウザで出来る方法としては、 parentNode で確認することができますね。 function isElementInDocument(node) { do { if (node === document) { return true; } } while (node = node.parentNode) return false; } でも 前の例だとちょっと遅いので contains や、 compareDocumentPosition を使うといいです! コードにすると以下のような感じ function isElementInDocument(node) { if (document === node) { return true } else if (document.compa

    要素が document につながっているかを高速に調べる方法 - IT戦記
  • Twitter で「はてなダイアラー」ときゃっふきゃっふしよう! - IT戦記

    はじめに はっ ( ゚д゚ ) _(__つ/ ̄ ̄ ̄/_ \/    /  ̄ ̄ ̄amachang です。 みなさん、こんにちはお元気ですか。僕は元気です。 もっと もっと、熱くなれよおお、じゃなくて、もっとツイッターではてなダイアラーと絡みたい! と言うわけで ツイッターをやっているはてなダイアラーランキング Top 100 を作ってみた! 順位 はてな ID Twitter ID 1 id:finalvent @finalvent 2 id:amachang @amachang 3 id:naoya @naoya_ito 4 id:shi3z @shi3z 5 id:kanose @kanose 6 id:mkusunok @masanork 7 id:Hamachiya2 @Hamachiya2 8 id:nitoyon @nitoyon 9 id:takerunba @takerunb

    Twitter で「はてなダイアラー」ときゃっふきゃっふしよう! - IT戦記
  • はてなダイアリー新機能「Twitter記法」を使って、トゥギャッターを引用するブックマークレット

    はてなダイアリーがバージョンアップしましたね!!!! やったー! 主な新機能・改善の内容 バージョンアップに伴う新機能・改善の主な内容は以下の通りです 管理画面を大幅刷新しました。デザインを調整し、ナビゲーション改善など使い勝手の改善を行いました iPhone 専用の閲覧画面 (iPhone ビュー) を追加しました Twitter と連携する各種新機能を追加しました 2つめ以上のブログを追加できる複数ブログ作成機能を追加しました (はてなダイアリープラスのみ) サイトマップ作成、meta タグの設定などが行えるSEO設定画面を追加しました (はてなダイアリープラスのみ) サーバー増強、アプリケーション改善による応答速度改善を実施しました ほか、新しい設定項目の追加など細かな改善を実施しました はてなダイアリーのバージョンアップを実施しました ― iPhoneTwitterSEO、複数

    はてなダイアリー新機能「Twitter記法」を使って、トゥギャッターを引用するブックマークレット
  • Tabnagging の自衛用 User JavaScript を書いてみた - IT戦記

    Tabnagging というフィッシング手法があるそうです。 詳しい内容は、以下の記事をごらんください。 ブラウザでたくさんのタブを開いてネットサーフィン! あなたが知らないうちに非アクティブなタブの内容が偽のGmailページに書き換えられた!(タブのアイコンも変わる!) ← 別にGmailじゃなくてもFacebookでもmixiでも。 あなたがそのタブに戻ってくるとGmail(もしくは他のサービス)のログイン画面が!(URLはおかしいけれどあなたは気づかない!) ID&PWDを入力してしまってあなた終了のお知らせ…orz ブラウザのタブを使ったフィッシングの最新手法『Tabnagging』が巧妙すぎる件… | IDEA*IDEA これは…!! というわけで、とりあえずタイトルを「ホスト名を省いたドメイン」に書き換える User JavaScript を書いてみた。 これをインストールする

    Tabnagging の自衛用 User JavaScript を書いてみた - IT戦記
  • Effective Java 読書会 14 日目 「シリアライズ!シリアライズ!」 - IT戦記

    お前をシリアルにしてやろうか! this photo is licensed by Horia Varlan はじめに いよいよ最後のページになりました!!! はりきっていきましょう!! 今回の範囲 279 ページ 〜 305 ページ 前回はこちら Effective Java 読書会 13 日目 「Java の例外めんどくさい」 - IT戦記 シリアライズって何? シリアライズとは、構造を持ったデータ(Java では、オブジェクトやプリミティブ)を、バイト列にすること。 たとえば、 オブジェクトをファイルに保存したい! 通信先にこのオブジェクトを送りたい! (具体的には、)ゲームデータをセーブしたい!(とか) などなどの用途で使えます。 Java のシリアライズ ObjectOutputStream にオブジェクトを書き込むと、 ObjectOutputStream がラップしているオブ

    Effective Java 読書会 14 日目 「シリアライズ!シリアライズ!」 - IT戦記
  • Effective Java 読書会 13 日目 「Java の例外めんどくさい」 - IT戦記

    IOException の catch に何を書いていいか分かりません><! はじめに 順番が前後しますが、今回は Java の特徴のひとつである例外機構についてです。 今回の範囲 223 ページ 〜 250 ページ 前回はこちら Effective Java 読書会 12 日目 「スレッド・セーフってなによ!!」 - IT戦記 Java の例外 throw 可能なオブジェクト Throwable インタフェースを実装したもの Exception を継承しない Throwable は基的に使わない チェック例外 メソッドの実装者が「呼び出し元が回復可能」だと考えている例外 ちゃんと「なぜ、例外だったのか」理由が提供されるべき 呼び出し元は try catch で囲むか throws 宣言を書く必要がある Exception を継承していて RuntimeException を継承していな

  • Effective Java 読書会 12 日目 「スレッド・セーフってなによ!!」 - IT戦記

    スレッドセーフ、スレッドセーフって何なのよ!当の気持ち聞かせてよ! はじめに 皆様おひさしぶりです。 久しぶりに Effective Java 読書会のまとめを上げていきたいと思います!!! 今回の範囲 269 ページ 〜 278 ページ 前回はこちら http://d.hatena.ne.jp/amachang/20100309/1268153192 synchronized を付ければスレッド・セーフってわけではない synchronized はスレッド・セーフを実現するための一つの方法(実装の詳細)であって、 synchronized を使っているからスレッド・セーフというわけではないし、 synchronized を使っていないからスレッド・セーフじゃないというわけではない そもそも、スレッド・セーフとは何か そのクラスのインスタンスに対するどんな順番で行われる操作も仕様的に正し

  • Effective Java 読書会 11 日目 「Java マルチスレッド難しいいい」 - IT戦記

    はじめに 順番が前後しますが、都合上「並行性」の章を先に書きたいと思います。 読んだところ 251 ページ 〜 268 ページ 前回はこちら Effective Java 読書会 10 日目 「Java の基テクニック集」 - IT戦記 同期とは何か 同期 = 原子性 + 可視性 原子性(アトミック性) データの状態遷移の過渡的な不整合な状態が(どのスレッドからも)見えないという性質。 適切に相互排他することでデータの原子性を保証できる。(保護されたコードを実行できるスレッドは一つだけ。) 可視性(ビジビリティ) (どのスレッドからも)同じ値が見えるという性質。 普通、変数やフィールドの値はスレッドごとにキャッシュ(レジスタなど)されるなどしていて、スレッド間での同値性は保証されない。 同期するというのは、原子性を保証することだけではなく、可視性も保証することだということを忘れてはいけな

    Effective Java 読書会 11 日目 「Java マルチスレッド難しいいい」 - IT戦記
  • Effective Java 読書会 10 日目 「Java の基本テクニック集」 - IT戦記

    はじめに 読書会に参加していないところがあるので、そこは議事録を読みながら、なるべく自分の言葉で書いていきます! 読んだところ 175 ページ〜 222 ページ 前回はこちら Effective Java 読書会 9 日目 「Enum の拡張とアノテーション」 - IT戦記 引数の検査をきちんとして javadoc の @throws に書く IllegalArgumentException IndexOutOfBoundsException NullPointerException などは、事前に引数チェックして出す。たとえば、 OpenJDK の String(byte[], int, int, String) では、以下のような実装になっている、自分で引数チェックをして、その内容を明確に @throws に記述している。 // チェック関数 private static void c

    Effective Java 読書会 10 日目 「Java の基本テクニック集」 - IT戦記
  • Effective Java 読書会 9 日目 「Enum の拡張とアノテーション」 - IT戦記

    はじめに 今日読んだところ 160 ページ〜 174 ページ 前回はこちら Effective Java 読書会 8 日目 「それ enum で出来るよ」 - IT戦記 enum は継承できない 混乱するので、あまり出来ないほうがいいけどね! オペコードのようなものは インタフェースを切って enum が継承してやれば拡張可能に出来るよ! たとえば、 jython のバイトコードは package org.python.bytecode; public interface Instruction { void accept(BytecodeVisitor visitor); } って感じのインタフェースを以下の enum で実装してる package org.python.bytecode; public enum BytecodeInstruction implements Instru

  • Effective Java 読書会 8 日目 「それ enum で出来るよ」 - IT戦記

    はじめに 今日読んだところ 143 ページ〜 159 ページ 前回はこちら Effective Java 読書会 7 日目 「PECS! PECS! PECS!」 - IT戦記 int 定数とか使わない 型安全じゃないから enum 使う enum Hoge { FOO, BAR; } 簡単 メソッドも持てる enum Hoge { FOO, BAR; void a() { /* (snip) */ } } で、以下のように使う Hoge.FOO.a(); シングルトンも 最近の Java では enum でやるらしい! switch 文の代わりに固有メソッド enum Hoge { FOO { void a() { /*snip*/ } }, BAR { void a() { /*snip*/ } }; abstract void a(); } 以下のコードが // これはダメ swit

  • Effective Java 読書会 7 日目 「PECS! PECS! PECS!」 - IT戦記

    はじめに 今日読んだところ 126 ページ〜 142 ページ 前回はこちら Effective Java 読書会 6 日目 「ジェネリクス!」 - IT戦記 Object を使ったその瞬間が ジェネリック型を使うチャンスなのです!!! たとえば、以下みたいな public class Stack { /* snip */ public Object pop() { /* snip */ } public void push(Object e) { /* snip */ } } こうなる public class Stack<E> { /* snip */ public E pop() { /* snip */ } public void push(E e) { /* snip */ } } Object を使わなくすると キャストがなくなる キャスト良くない!例外でるからね! どうしてもキ

  • Effective Java 読書会 6 日目 「ジェネリクス!」 - IT戦記

    はじめに 今日からついにジェネリクスに突入しました! 今日読んだところ 101 ページ〜 125 ページ 前回はこちら http://d.hatena.ne.jp/amachang/20100222/1266850995 関数オブジェクト インスタンスメソッドを一つだけ持っているクラスのオブジェクト。 C++ の関数ポインタのような、 JavaScript のクロージャのような使われ方をする。 ストラテジーパターンで ストラテジーだけを渡すときに使う。 関数オブジェクトのインスタンスは複数いらない 以下のように、シングルトンにしたり、 public static final なフィールドに入れられたりする。 import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import j

    Effective Java 読書会 6 日目 「ジェネリクス!」 - IT戦記
    TMTL
    TMTL 2010/02/24
    [勉強会]
  • Effective Java 読書会 5 日目 「最後に見せたツンデレ」 - IT戦記

    はじめに 今日も継承三昧>< 今日読んだところ 86 ページ〜 100 ページ 前回はこちら Effective Java 読書会 4 日目「最近はあまり継承とか使わないらしい」 - IT戦記 オーバーライド可能なメソッド自己利用(self-use)のドキュメント化 たとえば、 AbstractCollection#remove の以下の部分 This implementation iterates over the collection looking for the specified element. この実装は、指定要素を探すために走査をします。 If it finds the element, it removes the element from the collection using the iterator's remove method. 要素が見つかればイテレータの

    Effective Java 読書会 5 日目 「最後に見せたツンデレ」 - IT戦記
  • Effective Java 読書会 4 日目「最近はあまり継承とか使わないらしい」 - IT戦記

    はじめに らんらーらららんらんらーん♪(なうしか)っと ( ´ー`)フゥー...(゚Д゚)ハッ! 嘘です><ちょっと言ってみたかっただけです>< 今日読んだところ 67 ページ〜 85 ページ 前回はこちら Effective Java 読書会 3 日目「それ Apache Commons で出来るよ」 - IT戦記 情報隠蔽、カプセル化 API 以外の情報をモジュール外から見えなくすること 余計なテストとか書かなくていいから楽だよね。 パッケージプライベート 同じ jar の同じパッケージからのみ参照できる protected, public 完全公開 API として保守していかなければならないよ。 private とパッケージプライベートとは全然違うレベルよ インスタンスフィールド private にしる! public static final で、その参照先が不変クラスな場合に限り

    Effective Java 読書会 4 日目「最近はあまり継承とか使わないらしい」 - IT戦記
  • Effective Java 読書会 3 日目「それ Apache Commons で出来るよ」 - IT戦記

    はじめに じゃっばじゃばにしてやんよー♪っと ( ´ー`)フゥー...(゚Д゚)ハッ! どーん 今日読んだところ 45 ページ〜 66 ページ 前回はこちら Effective Java 読書会 2 日目 「equals night」 - IT戦記 hashCode 2 契約 シグニフィカントなフィールドを変更しなければ、いつ hashCode を呼び出しても値は変わらない x.equals(y) が true の場合は、 x.hashCode() == y.hashCode() が true equals をオーバーライドしたら hashCode もオーバーライドすべき 前述の 2 契約を守るために必要 x.equals(y) が false の場合 かならずしも、 x.hashCode() != y.hashCode() になる必要はないが、 値がバラけているほうが HashMap

    Effective Java 読書会 3 日目「それ Apache Commons で出来るよ」 - IT戦記
  • Effective Java 読書会 2 日目 「equals night」 - IT戦記

    はじめに 今日もお疲れ気味な君の右足にローキックどーん ってな感じで どーん 今日読んだところ 20 ページ〜 44 ページ 前回はこちら Effective Java 読書会 1 日目「static メソッドの使い方などなど」 - IT戦記 とりあえず Eclipse をインストールしました! わーわーパチパチ。 とりあえず、わからずに JavaEE エディションにしたら、 Super Java Hacker の @hikoma っくすに「普通ので良かったのにー」と言われちょっとしょんぼりーぬ(´・ω・` ) 気をとりなおして static イニシャライザ public class Sample001 { public static final Date HOGE_DATE; static { HOGE_DATE = initDate(); } // (snip) } みたいな? sta

    Effective Java 読書会 2 日目 「equals night」 - IT戦記