タグ

2011年6月6日のブックマーク (33件)

  • ドメイン駆動設計・アプリケーション構築編・モジュール - Strategic Choice

    MODULESグルーピングのモデリング別名パッケージ(PACKAGES)俯瞰図所属するストーリの俯瞰図です。アプリケーション構築どういうこと?モデルもコードも意味のある単位に分割し、モジュールとしてまとめます。プログラミングの場合と同じく、モデルのモジュール分割においても高凝集・低結合が重要な目安になります。関連し合う概念同士はひとつにまとめ(高凝集)、かつ一度に考えなければいけない範囲は最小限にします(低結合)。どうして?モデルも分割統治モジュールに分割されるのはコードだけではありません。概念も分割されます。モジュール内では高凝集、モジュール間では低結合が必要です。人が一度に考えられる物事の数には限りがありますし(ゆえに低結合)、首尾一貫していない思考の断片は理解するのが難くなります(ゆえに高凝集)。モジュールもモデルモジュールも、モデルの一部です。モデルを表現し、深化させなければなりま

  • Canvasの状態を保存/復帰させる « Tech Booster

    View#onDrawメソッドの表示処理ではCanvasを用いて描画を行います。複数のBitmapやオブジェクトを表示したい場合は描画ごとに表示位置を計算する必要があります。Canvasの状態を保存する主な目的は描画処理の簡略化です。描画位置がわかりやすくなるほか、任意のタイミングでCanvasの状態を復帰させられるメリットがあります。プログラミング上でのテクニックとしてどうぞ。 Canvas#save() 状態を保存する Canvas#restore() 保存した状態へ復帰する Canvas#save/restoreメソッドで保存できるのは回転、平行移動、図形のゆがみなどを表現するmatrix、表示範囲を指定するclip、の2種類の情報です。アプリケーションのスクリーンショットを取得するように1ピクセルの色情報単位で保存・復帰することはできませんので注意してください。 サンプルコード 以

  • 継続的開発:言うが易し行うは難し

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    継続的開発:言うが易し行うは難し
  • JJUG CCC 2011 Spring に行ってきました - どぅーちゅいむーにー

    正確には日Javaユーザグループ Cross Community Conference 2011 春、という感じでしょうか。 http://www.java-users.jp/contents/events/ccc2011spring/ 仕事の状況にちょっと後ろ髪をひかれつつ、こういう場に参加できることのほうが価値があり、仕事は別の日にちょっとがんばればいいや、ということで。 G-1:基調講演2 ざっと捜したところで発表資料は見つからなかったので、あとで。 丸山先生の発表資料はけっこうさくっと出てくるような気がするのだが。 Evernote 上にメモっていたのは以下の2点。 技術、デバイスのコモディティ化とオープン化が重要。 コンシューマ中心のビジネスモデルが必要。(たしか)BtoC ではなく C from B というか。 利用から所有へ。 1/3 くらいは Android Bazaar

    JJUG CCC 2011 Spring に行ってきました - どぅーちゅいむーにー
  • #appengine ja night 16( #ajn16 )が開催されました

    5/27(金)にappengine ja night #16が開催されました。今回はajn史上最高の女性比率を記録するほど、たくさんの女性に来ていただけまして大変よい雰囲気の中で実施されました。過去の最高記録比400%くらい達成した気がするので、この勢いでいけば次々回あたりには参加者が全員女性という可能性も見えてきました。 今回参加された女性陣の方々で、ちょっとでもappengineやサーバサイドの世界、またはコミュニティそのものに興味が!、とかなんでもいいんで興味を持っていただけた方&楽しんでいただけた方は、是非次回以降も継続しての参加をお願いいたしします。 いつものように@drillbitsさんがtogetterにまとめてくれています、ありがとうございます。 @kazunori_279さんがいつものようにUstream配信して下さり、録画もあります。 @yanzmさん: GWT+UIB

  • EJBコンテナが分散コンポーネントモデルから軽量なDIコンテナに変化してきた歴史を振り返る - 達人プログラマーを目指して

    十年一昔といいますが、文字通り一昔前の書籍ではJ2EEのEJBコンポーネントはプロセスが分散化されたリモート呼び出しにより処理を行う分散コンポーネントとして説明されています。そして、残念ながら現状Java EE関連の日語の書籍はこうした古い時代に書かれたものがほとんどとなっています。それゆえ、 開発効率がきわめて悪い 実行性能が悪い*1 仕様がきわめて複雑で理解が大変 といった悪いイメージが定着してしまっているのではないかと思います。しかしながら、最新バージョンのJava EE6では、Spring、Guice、SeamなどのOSSの軽量コンテナのアイデアを取り込むことにより、以前とは比較にならないくらい開発効率が改善されているという事実があります。 ここでは、Hello WorldのEJBの書き方を以前の古いバージョンから順次振り返りながら比較してみることで、EJBのプログラミングモデル

    EJBコンテナが分散コンポーネントモデルから軽量なDIコンテナに変化してきた歴史を振り返る - 達人プログラマーを目指して
  • ExpandableListViewクラスで折り畳めるリストを表示する | TechBooster

    今回はリストの中の項目を選択すると、子供のリストが開くExpandableListViewの使い方を説明します。 大項目を表示させておいて、詳細は選択してから表示するような場面で活用できます。 通常のListViewについては下記の記事などが参考になります。 リストビューを使ってデータを一覧表示する リストビューをカスタマイズする それでは続きへどうぞ ExpandableListActivity 通常のListViewにもListViewクラスを直接使う方法とリスト表示専用のListActivityを継承したActivityを用意する2つの方法がありましたが、ExpandableListViewも同じようにExpandableListViewクラスを使う方法とExpandableListActivityクラスを継承したActivityを用意する方法があります。 ExpandableLis

  • ドメイン駆動設計・アプリケーション構築編・集約 - Strategic Choice

    AGGREGATES境界線俯瞰図所属するストーリの俯瞰図です。アプリケーション構築どういうこと?オブジェクトのライフサイクルを設計するには、まずライフサイクルの単位となる「オブジェクトのまとまり」を考えます。ライフサイクルを共にする、関連の深いオブジェクトのグループは「集約」として扱います。「集約」を単位として、他のオブジェクトとの「境界」を明確に分けるようにします。どうして?維持すべき不変条件*1には、個々のオブジェクトに適用されるものだけでなく、密接に関連するオブジェクトのグループに適用されるものもあります。複雑な関連を伴うモデルでは、不変条件を保証するのが難しくなります。関連が複雑だと、トランザクションについても、変更による潜在的な影響の範囲が不透明になります。この問題が深刻化するのは、同一オブジェクトへの同時アクセスがあるシステムです。あまりに慎重にロックしてしまうと、複数のユーザ

  • Jeremy Keith 氏の考える HTML5 のデザイン原則

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    Jeremy Keith 氏の考える HTML5 のデザイン原則
  • ドメイン駆動設計・アプリケーション構築編・ファクトリ - Strategic Choice

    FACTORIESオブジェクト生成処理をカプセル化俯瞰図所属するストーリの俯瞰図です。アプリケーション構築どういうこと?オブジェクトの生成そのものが、ドメインモデル上で重要な意味をもつことはほとんどありません。また、オブジェクトや「集約」の生成処理は、それ自体複雑になる場合もあります。よって、「ファクトリ」を導入し、オブジェクトの生成処理をカプセル化するようにします。「ファクトリ」はモデルじゃない「ファクトリ」は、ドメイン層に所属していますが、ドメインモデルの一部ではありません。ドメインモデルは「エンティティ」「値オブジェクト」「サービス」だけです。「ファクトリ」はモデルではなく、あくまで「ドメインの設計上、必要な一要素」という位置付けになります。これは「集約」や、後述する「リポジトリ」でも同様です。

  • ターミナルから端末、もしくはエミュレータに対してIntentを投げることが可能です。 | TechBooster

    ターミナルから端末、もしくはエミュレータに対してIntentを投げることが可能です。 アプリケーションの開発を行っていると、ブロードキャストインテントなど特定のタイミングにしか飛んでこないIntent(端末起動時のBOOT_COMPLETE)や、暗黙のIntentに反応させたいということがあるかと思います。 そういったときに、ターミナルからIntentを投げることができれば非常に便利です。 今回は、比較的よく使われると思われる以下の3つの方法について解説します。 明示的Intent ブロードキャストIntent 暗黙的Intent amコマンド ターミナルからIntentを投げるには、amコマンドを使用します。 今回は、PC上でエミュレータを起動している状態を想定して解説を行いますが、実機の場合でも特に違いはありません。 それでは早速使ってみましょう。まずはターミナルを起動してください(w

  • Android2.3で何が変わったんだろう?

    はじめまして。若手ブログ初投稿のmaruyama-rです(twitter:@h13i32maru) 「Android2.3 - Gingerbreadをさくさく使うためのサンプルとテクニック - 」を書レビュワーのnakazawa-kさんに貸していただいたので、僕が気になったところをピックアップして感想なんかを書いてみます。 まずこのAndroid2.3で追加/改善された機能の話なので今からAndroidを勉強しようとしている人向けというよりはある程度開発してきてAndroid2.3でどう変わったのかなーと気になってる人向けです。 各章は「機能の概要」と「実際のコード」で構成されています。なのでどんな機能が追加されたのかをさっと知りたい人は概要だけを、詳しく読んでみたい方はコードも合わせて読んでみるというのが良いと思います。 (僕は機能の概要だけをさらっと読んだ感じです) それで

  • Android 2.3 Only Hacks 書評 #2

    このblogには久々の登場となります、nakazawa-k(@muo_jp)です。 最近はAndroid方面で変な電波を飛ばしたりしてます。ちなみに1日の自ツイート数が100を超えた日に「なんかもう帰れないとこまで来たのかな」と思った程度の真人間()です。 さて、今回はレビュー(※1)を行ったご縁で献を頂きました「Android 2.3 Only Hacks」の書評をかいてみます。といっても内容についてはきっと他の方が書いてくださる(maruyama-rさんも書いてくれてる)ので、私は「どういう人が、どういう風にこのを読んで、読んだその次はこうしていくといいんじゃないかなー」という、なかなか押し付けがましいエントリを書いてみます。あんまり書評じゃない気がしますね、気にしないようにしましょう。 その前にこのが他のから飛び抜けているポイントをひとつ挙げてみます。 ・表紙がいい。ジン

  • AndroidのUI自動テストツール Scirocco 触ってみた。 - しかじろうがプログラム作るよ!

    テスト大好きしかだよ。Scirocco っていうUIテスト自動化ツールがリリースされたので触ってみました。 Scirocco Zガンダムのパプテマス・シロッコと関係があるかわからないですが、UIテストの後スクリーンショットを撮って保存したり、レポートを出力することが出来るみたいです。さらに、TMSってのを使うと、プロジェクトメンバーと共有もできるらしい。業務支援ですな。 中ではrobotiumを動かしてるので、記述は簡略されてます。 公式サイトのQuick Start をやってみます。 http://code.google.com/p/scirocco/wiki/QuickStartScirocco Eclipse Plug-in インストール Eclipse Plug-in があるとは!早速インストールしてみます。URLからインストールできます。 http://184.73.200.19

    AndroidのUI自動テストツール Scirocco 触ってみた。 - しかじろうがプログラム作るよ!
  • ドメイン駆動設計・アプリケーション構築編・リポジトリ - Strategic Choice

    REPOSITORIESオブジェクト参照のカプセル化俯瞰図所属するストーリの俯瞰図です。アプリケーション構築どういうこと?ライフサイクルを開始したドメインオブジェクトは、データとして不要になり削除されるまで、(たとえメモリ上になくても、)データベースに永続化されるなどして生存し続けます。このデータベースへの永続化や問い合わせ処理は、ドメインの質ではありませんし、複雑になりがちな部分です。そこで、データベースへの永続化や問い合わせ処理を専用に行う「リポジトリ」をドメインの設計に導入し、オブジェクト参照の入手の便宜を図ります。どうして?ドメインオブジェクトへの参照手段が統一されていないと、クライアントが各々それを実現しようとしてしまいます。これでは、モデルが混乱することになります。データベースアクセスは複雑です。そうした複雑さにクライアントコードが浸されてしまうと、開発者はドメイン層を縮小

  • Java SE 7徹底理解 第2回 細粒度の並行処理 - Fork/Join Framework

    Java SE 7徹底理解の2回目である今月は、並行処理のフレームワークについて紹介していきます。 Javaは1.0がリリースされた当初から、スレッドを使用することができました。筆者もJava 1.0で簡単にスレッドが使えることに感動したことを覚えています。 しかし、スレッドを安易に使ってしまうと、デッドロックやデータの破壊を引き起こしかねません。スレッドクラスは簡単に使えるものの、使いこなすには並列/並行処理についての適切な知識を必要としたのです。 そこで、より簡単に並列/並行処理を使うためのフレームワークであるConcurrency UtilitiesがJ2SE 5.0で導入されました。 Concurrency Utilitiesは非同期処理APIや、スレッドセーフで高性能な並行コレクション、ラッチやセマフォなどのロック機構、アトミック処理など並列/並行処理のためのさまざまな機能が含ま

    Java SE 7徹底理解 第2回 細粒度の並行処理 - Fork/Join Framework
  • jQuery Mobileのマークアップの基本とCSSの変更 (1/6)

    jQuery Mobileによるスマートフォンサイトの制作方法を解説する連載。前回に引き続き、簡単な会社案内サイトを作りながら、jQuery Mobileの基的な使い方を学びましょう。 aboutページの作成とCSS3によるデザインの変更 今回はトップページ以下の詳細ページを順に作成していきます。まずは「to-Rについて」のページ(#about)から取り掛かりましょう。前回作成したindex.htmlに次のようなHTMLを追加します。「data-role="content"」の中にh2要素とp要素を加えただけの簡単なHTMLです。 ■サンプル1[HTML] <div data-role="page" id="about" data-theme="b"> <div data-role="header"> <h1>to-R</h1> </div> <div data-role="conte

    jQuery Mobileのマークアップの基本とCSSの変更 (1/6)
  • 「Android開発初心者がよくやる失敗」【コーディング編】 (2) | TechBooster

    前回の「Android開発初心者がよくやる失敗」【コーディング編】(1)に引き続き、今回も開発初心者がよくやる失敗について解説していきます。 「Android開発初心者がよくやる失敗」【コーディング編】(1)では、次の2点について解説しました。 R.javaが消えた ActivityをManifestに登録していなくてアプリがクラッシュする 今回は、次の4点について説明します。 ファイル名に全角文字が含まれていてエラーになる ファイル名に「-(ハイフン)」や「.(ドット)」等、記号が含まれていてエラーになる サイトからコードをコピーしたら全角スペースが入っていてエラーになる 「.(ドット)」と「,(カンマ)」、「:(コロン)」と「;(セミコロン)」をミスタイプしている リソースに全角文字が含まれていてエラーになる Eclipseでは、画像ファイル等のようなファイルを、resフォルダに保存し

  • Android 実機を使ってデバッグする方法 | TechBooster

    Androidアプリケーションを開発する際デバッグにはエミュレータのほかAndroid端末を利用することができますが、開発環境や使用するAndroid端末によってセットアップの手順が異なってきます。 今回はWindowsLinuxMacOS X、3つの環境でAndroid端末をデバッグに用いる手順について紹介します。 Windowsの場合 Windowsの場合、各Android端末のWindows用デバイスドライバが必要になります。 Android Dev PhoneやNexus OneなどのAndroidリファレンス端末はGoogle USB Driverという形でGoogleがデバイスドライバを提供しています。一方、各メーカーから発売されているAndroid端末は各メーカーのサイトなどから入手することになります。 詳しい説明は続きからご覧下さい。 Google USB Driver

  • Jenkins はじめました + ほか3つ - mixi engineer blog

    こんにちは。加藤和良です。 まずあの話を書いて、それを前提にあの話を書いて、みたいなキューが筆者の中にはあったのですが、正直キューの先端につまってる話はだんだん個人的な関心および記憶がうすれてきました! 昔のはなしですからね。 というわけで、最近のまとめをさらっと書いて、新しいネタをすぐ書ける状態にリセットしたいと思います。 Jenkins mixi ではバージョン管理システムとして Subversion を使っています。安定した、いつでもリリースできるバージョンを trunk に、開発中の機能は branches 以下に作業ブランチをつくり、レビューや QA などの後に trunk にマージする、という運用です。 Buildbot はこのうち trunk だけを追っていたのですが、徐々に「このブランチBuildbot で追うようにして、結果をこの IRC チャンネルに書きこんでほしい

    Jenkins はじめました + ほか3つ - mixi engineer blog
  • ドメイン駆動設計・モデル「深」化編 - Strategic Choice

    書籍「エリック・エヴァンスのドメイン駆動設計」の「第3部 より深い洞察へ向かうリファクタリング」で紹介されているパターンをまとめます。目次「暗黙的な概念」を明示するパターン*1仕様(SPECIFICATION)制約(CONSTRAINT)プロセス(PROCESS)変更を支える「しなやかな設計」のパターン 抽象化 意図の明白なインタフェース(INTENTION-REVEALING INTERFACES)副作用のない関数(SIDE-EFFECT-FREE-FUNCTIONS)表明(ASSERTIONS)分割 概念の輪郭(CONCEPTUAL CONTOURS)独立したクラス(STANDALONE CLASSES)閉じた操作(CLOSURE OF OPERATIONS)俯瞰図ストーリの俯瞰図です。モデル「深」化「深いモデル」への道程 *2前編「アプリケーション構築編」のパターンで、アプリケーシ

  • ドメイン駆動設計・モデル「深」化編・仕様 - Strategic Choice

    SPECIFICATIONルール専用オブジェクト俯瞰図所属するストーリの俯瞰図です。モデル「深」化どういうこと?ビジネスルールをドメインモデル上で表現するために、論理プログラミングの「述語(Predicate)*1」概念の役割を持つ値オブジェクトを、「仕様」として導入します。仕様は、以下の3つの概念のルールを、一貫性を持って規定します。検証:オブジェクトが、ある要求を満たしているか、ある目的のための用意ができているか、を検証します。選択:コレクションから、ある条件を満たしたオブジェクトを選択します。構築:要求に適合する、新しいオブジェクトの構築を定義します。どうして?ビジネスルールは、どの「エンティティ」「値オブジェクト」の責務とも合致しないことがあります。既存のオブジェクトに無理やり押し込むと、ルールの多様性と組み合わせが、ドメインオブジェクトの来の意味を埋没させてしまいます。かといっ

  • 【コラム】イマドキのIDE事情 (106) ユニットテストを支援するEclipseプラグイン | エンタープライズ | マイコミジャーナル

    テストケースの作成を支援するEclipseプラグイン JavaではJUnitを用いてユニットテストを自動化するテスト手法が広く普及している。JUnitではテストケースをJavaプログラムとして記述しておくことでテストを自動化するため、一度テストケースを書いてしまえば再テストの手間もかからないため、回帰テストが必要となるケースでは特に有効だ。テスティングフレームワークを用いたユニットテストの自動化はJava以外のプログラミング言語でも一般的な手法となっている。 しかし、一般的にテストケースのコード量はテスト対象のコードと同じかそれ以上になると言われており、テストケースの作成にはそれなりの時間を要する。このためユニットテストの整備がついつい後回しになってしまうケースも多いのではないだろうか。 今回はEclipse上でJUnitによるユニットテストの作成・実行を支援するEclipseプラグインと

  • Twitter4jを使用してアカウントのアクションを行う | TechBooster

    Twitter4JでTimeLineを取得する“ではTimelineを取得する方法を紹介しました。 今回はこのTimeLineから得られる情報を使用して、Twitter4Jでリツイートやお気に入りの登録などのユーザー アクションの実装方法を紹介します。 詳細は以下から。 ユーザーをフォローする ユーザーをフォローするには、Twitter#createFriendshipメソッドを使用します。このメソッドにはユーザーIDとユーザー名のどちらでも引数として指定できる為、目的によって使い分ける事ができます。 ※サンプルコード中の”_tw”はTwitterクラスオブジェクトです。 _tw.createFriendship(["ユーザー名"orユーザーID]); ユーザーをアンフォローする場合はTwitter#destroyFriendshipを使用します。このメソッドも引数にユーザーIDとユーザ

  • Android 日時の表示形式を指定する

    ・DateUtils.formatDateTime (Context context, long millis, int flags) ・DateUtils.formatDateRange (Context context, Formatter formatter, long startMillis, long endMillis, int flags, String timeZone) ・DateUtils.formatDateRange (Context context, long startMillis, long endMillis, int flags) ・DateUtils.formatDateRange (Context context, Formatter formatter, long startMillis, long endMillis, int flags) の f

    Android 日時の表示形式を指定する
  • ドメイン駆動式ソフトウェアの育て方 - Digital Romanticism

    レッツゴーデベロッパー2011での発表原稿とスライド 導入 2011年05月28日「レッツゴーデベロッパー2011@仙台」が開催されました。このイベントのテーマは「共有と交流」。"「共有」には、最新技術、知識、復興への想い、それぞれの決意を共有することを、「交流」には、東北と東北圏外のデベロッパーやコミュニティ同士の交流を深めることを込めて。" このイベントにてDDDセッションに登壇させて頂きましたので、そのときの発表原稿とスライドを公開致します。なお、当日はワークとして参加者の方にペアモデリングを行って頂きましたが、このドラフトではその部分を割愛しています。 スライドはこちら また映像はこちらで公開して頂いています。 さて今年4/9にDDD日語版が出版されました。それから2ヶ月弱、翔泳社様から、はやくも増刷のお知らせを頂きました。多くの方々とおかげと深く感謝しています。さて、この増刷が

    ドメイン駆動式ソフトウェアの育て方 - Digital Romanticism
  • AndroidでThreadとHandlerでマルチスレッド処理化する方法 | TechBooster

    AndroidのActivityは描画処理を行うためのUIスレッドしかもたないシングルスレッド設計です。負荷が高い処理、待ち時間が発生する処理(ネットワーク通信をはじめとした非同期通信など)はUIスレッドを圧迫し、アプリケーションのレスポンスに影響します。UIスレッドの負荷を下げるには別スレッドを作成し、仕事を分散させるマルチスレッド処理の実装が必要です。 <2011/6/7 02:00 Message#obtainに関する記述を追加しました。Message#obtainを利用することでより効率的なメッセージ送信が可能です。> <2011/6/7 13:00 volitale修飾子による最適化抑止を追加しました。> 今回はスレッド(java.lang.Thread)とハンドラ(Android.os.Handler)を使って、キューイングを実装します。キューイングとは異なるスレッドからのメッ

  • ドメイン駆動設計・モデル「深」化編・制約 - Strategic Choice

    CONSTRAINT制限事項の見える化俯瞰図所属するストーリの俯瞰図です。モデル「深」化どういうこと?モデルの概念において、制限事項や許容範囲は暗黙のうちに現れます。これを「制約」として明示的に表現することで、設計が大幅に向上することがあります。どうして?非常に単純なルールなら、別の役割に溶け込んでいても問題ありません。しかし、強制すべきルールが複雑になれば、(あらゆる暗黙的な概念と同様に、)ルールが適用されるオブジェクトや操作を圧倒し始めます。どうすれば?独立メソッド化「制約」を(暗黙からあぶり出し、)メソッドとして独立させます。呼び出し側を自分のやるべきことに専念できる状態に保ちながら、必要に応じて制約の側を複雑にすることができます。そのメソッドに意図の明白な名前をつけるようにします。「制約」に名前を与えられることになり、議論することが可能になります。独立オブジェクト化メソッド独立させ

  • jQueryだけでURLをパースするプラグイン「jQuery-URL-Parser」 | Web活メモ帳

    「jQuery-URL-Parser」を使うと、URLを分解して簡単に値を取得できますよ。 使い方はこんな感じです。 var url = $.url('http://example.com/folder/index.php?item=value'); url.param('item'); こうするとクエリーのitemの値”value”が取得できるというわけです。 他にもホスト名やディレクトリ,#以降のアンカーの値も取得できますよ。 これはいいかも。 詳細&ダウンロードは以下からどうぞ。

    jQueryだけでURLをパースするプラグイン「jQuery-URL-Parser」 | Web活メモ帳
  • スクロール位置に応じて注釈表示が可能なjQueryプラグイン「SmartScroll」:phpspot開発日誌

    SmartScroll スクロール位置に応じて注釈表示が可能なjQueryプラグイン「SmartScroll」 スクロールバーが長いとどの位置に何があるかっていうのを知りたくなりますが、SmartScrollを使えば次のように、この位置にこんなことが書いてあるよ、を示すことが可能。 使い方次第では長ったらしい文章も分類して分かりやすく表示することができそうですね。 注釈だけじゃなくてデザインも色々と変更できるみたいです。 注釈を付ける部分も何がいいって実装が簡単な点。 ちゅうす役をつけたい位置に次のようにマークアップしておけばいいっていうのはお手軽ですね 上記コードで次のように表示 スクロールバーも次世代に。jQueryが出来ることをどんどん拡張していってくれますね。 当にjQueryは偉大です。 関連エントリ HTML5のデスクトップ通知を簡単に扱えるjqueryプラグイン「deskt

  • jQuery Marquee Animation Plugin Preview - CodeCanyon

    <p><strong>Marquee Animation</strong> is a jQuery plugin by <strong>Fusio...

  • 戻るボタンが押された際、ページのJavaScriptを途中の状態から実行させない方法

    スマートフォンを含む最近のブラウザでは、戻るボタンで前のページに戻った際に、JavaScriptも含めて前回の最後の状態を復元します(Back Forward Cacheと呼ばれます)。これはとても便利なのですが、ページを作成する立場からすれば、余計なお世話であることもあります。 Back Forward Cacheの無効化はとても簡単に実現できます。ページの中にonunloadを書くだけです。 <!DOCTYPE html> <html><head><title>onunload test</title> <script> window.onunload = function() {}; window.onload = function() { var count = 0; var loop = function() { document.getElementById("num").in

  • 「俺の邪悪なメモ」跡地