© Copyright 2007, 2008, 2009, 2010, the SQLAlchemy authors and contributors. Created using Sphinx 1.0.5.
コード中にコメントを書くべきでしょうか? 是が非でも避けるべきでしょうか? それとも控えめに書けばいいでしょうか? 開発者たちはそれぞれ、ソフトウェアを開発する際にどのように、そしてどんな時にコメントを書くかについて、独自の考え方を持っています。この記事では私の意見を述べますが、これが誰にも当てはまるというわけではありません。 なお、関数型プログラミングまたはオブジェクト指向プログラミングの原則に則ってJavaScriptで書かれたソフトウェアに絞った上で、私の意見を述べることにします。 コメントと保守性 この記事では、保守性のあるコードを書く場合について考えます。つまり、以下のようなコードです。 簡単に理解できる 簡単に拡張できる 簡単にデバッグできる 簡単にテストできる 保守性のあるコードには、大量のコメントが必要でしょうか? 明確に書かれたコードであるならば、大量のコメントは不要だと
PDFのファイル構造を理解すると、テキストエディタでも直接PDFファイルを作ることができるようになります。このエントリーではPDFファイルの基礎要素を説明し、簡単なPDFファイルを例にしてファイル構造を説明します。更に、テキストを渡すとPDFファイルを吐いてくれる簡単なプログラムや、PDFを読み込んで簡単な解析をするプログラムを書いてみます。 目次 目次 まえがき オブジェクト 間接参照 ファイル構造 Hello, world! ヘッダ トレーラ 相互参照テーブル 本体 PDFを生成するプログラム 日本語の扱い方 日本語を含むPDFを生成するプログラム グラフィックス PDFを読むプログラム あとがき まえがき 1990年代前半、アドビシステムズは、どのプラットフォームやデバイスでも文書を確実に表示・共有できることを目的としてPDFファイルフォーマットを開発しました。 PDFの表示ソフト
前に作ったスクロールした時に位置固定のロゴをトップに戻る機能にすり替えるものを少し手直しして再導入した。今回はスムーズにスクロールさせようかと色々考えていたが、やはりJavaScriptでscrollTo()を制御するのはコストが高い。CSSならどうだと試行錯誤したところ、どうやらbody要素への負のマージンをCSS Transitionで滑らかに変化させれば良いようだ。 Demo: Scroll Smoothly with CSS Transition デモのページにはダミーテキストの各セクションの最後にそれぞれ⇑ Back to Topというリンクがある。それをクリックすると1秒かけてスムーズにスクロールしながらトップに戻る。トリガーとスクロール自体はJavaScriptで行っているが、スクロールのアニメーション自体はCSS Transitionで行っている。具体的には以下のような処理
■読む前に知って欲しい事 window.open()を使って他のHTMLファイルを開くと、IE以外のブラウザはちゃんとリクエストヘッダーに『Refererをつけて』くれる。 ■InternetExplorer(以下、IE)は? 例えば、 window.open(“test.html”,”sub”●●●●●●) ; とすると、なんとRefererをセットしない。 ■困る事 アクセスログを取る際に困る セキュリティ上の理由でRefererが必須になる場合、window.open()が使えない ■従来の解決策 target=”_blank”で通常通りリンクする ■これからの解決策 まず、これがソースだ! function createHttpRequest(){ if(window.XMLHttpRequest){ return new XMLHttpRequest(); } else{ if(
ライブラリのダウンロードと設置 「ライブラリのダウンロード」をクリックしてダウンロードしてください。 ライブラリのダウンロード ダウンロードしたjquery.openwin.jsを任意の場所へ置き読み込みます。 (jQueryの設置および読み込みは、完了もしくは同時作業を行っているものとします。) <script type="text/javascript" src="jquery.openwin.js"></script> 準備 JavaScript 設定したい要素などを指定し、実行します。 $(document).ready(function() { $('.openwin').openwin(); }); HTML 上記で設定した内容を割り当てます。 <a href="http://www.google.co.jp/" class="openwin">Google</a>
{: style=”width: 200px; vertical-align:middle;”} offsetTop:要素が始まる場所と上の要素の位置 offsetHeight:指定した要素の高さ document.body.scrollTop:windowのtopから、要素のtopまでの位置 window.innerHeight:ウィンドウの高さ getBoundingClientRect getBoundingClientRect(This is an experimental technology) $('div')[1].getBoundingClientRect() ClientRect {height: 1338, width: 320, left: 0, bottom: 1241, right: 320…} bottom: 1241 height: 1338 left: 0
スマホコーディングなど、「軽量化!軽量化!」と叫ばれる中でNo jQueryが求められる事がある。 そんなときには要素の高さをそろえる位は、jquery を使わずにやってしまいたい。 1.javascriptで、getElementsByClassNameが必要。 function myGetElementsByClassName (_class , _tag , _id) { var targetId , elementList , classList , i , j , nodes = []; targetId = document.getElementById(_id); elementList = targetId.getElementsByTagName(_tag); for (i=0; i < elementList.length ; i++ ) { classList = e
script要素で変数を定義 スクリプトの読み込み前に、引数とする変数をスクリプトで定義します。 <script type="text/javascript"> var a = 123; var b = 'abc'; </script> <script type="text/javascript" src="sample.js"></script> スクリプトが読み込まれた時点でグローバル変数として定義されているため、スクリプト側で特別に値を取得する必要はありません。なお、この例ではインライン スクリプトとして記述していますが、外部スクリプトとして読み込んでも同じです。 単純でブラウザの実装にも依存しないため、これが最も確実な方法です。 HTML要素の属性値に値を記述 HTML要素の属性に、引数とする値を記述します。このとき要素にIDを設定しておくと、その要素を参照しやすくなります。 たと
少々癖があるので慣れるまでは難儀しますが、慣れてしまうともはやOfficeを起動すること自体がなくなってしまうほどに便利なGoogle Drive。 今回は中でも、最も多く使われているであろうドキュメントについて意外と知られていない。でも知っているとちょっと便利な小さな裏ワザや便利すぎるアドオンをまとめてみました。 チャットでやりとりしながらオンライン議事録Messenger アドオン サムネを見てもらえば分かる通り、アドオンを有効にするだけで同時にそのドキュメントを見ている人限定のチャットルームを画面内に作成でき、履歴を残せるという素敵アドオン「Messenger」。 実装方法もカンタンで、ドキュメントを開いて<アドオン>メニューをクリックして「Messenger」を選択⇒連携させるだけです。 集まれなくても何かしら決めなければいけない場合、この「画面内でチャットできて、その履歴が残る」
JavaScriptで関数型プログラミングを強力に後押しするUnderscore.jsのおすすめメソッド12選(lodashもあるよ)JavaScriptNode.js関数型言語 はじめに この記事では、関数型プログラミングを強力に後押しするライブラリ、 Underscore.jsとlodashを紹介します。 両ライブラリとも_で使用できます。 ほかのライブラリにも依存せず、 現在フロントでもサーバでもかなり人気なライブラリです。 個人的にもこれなしでは。。 といった必須なライブラリとなっています。 また、Backbone.jsといった人気なフレームワークが、 Underscoreに依存していたりします。 Underscore.js GitHub: https://github.com/jashkenas/underscore Document: http://underscorejs.o
追記:ベンチマークをコメントを元に修正 文字列から要素を作りたい場合、 var temp = document.createElement('div'); temp.innerHTML = '<span>foo bar fizz buzz!</span>'; とやることが多い。 だが、不要なdiv要素ができて気持ち悪いし、for文でchildNodesをひとつずつ処理する必要があって、不便。 divの中にhead要素を入れることはできないので、innerHTML=''としても、要素は作られない。 RangeのcreateContxtualFragmentを使うと、こういった問題を避けることができる。 例えば、上のコードをcreateContextualFragmentを使って書き直すと、 var range = document.createRange(); range.createCon
AngularJSはその規模としてはかなり大きい部類に入ると思うが、そのわりにはリソース(特に日本語)が少ないので学習するのには苦労する。 そんな中私が参考にしているリソースを紹介しておく。 (重複ご容赦) リファレンス 本家。何はなくともまずはここから。 AngularJS ― Superheroic JavaScript MVW Framework angular/angular.js · GitHubリポジトリ AngularJS: API Reference 非公式だがリファレンスの邦訳をされている方がいらっしゃる。とても有難い AngularJS 1.2 日本語リファレンス | js STUDIO @tomof アドオン、拡張用ライブラリィ 一緒に使うと色々捗るもの。ものによっては殆ど必須のものもある。 Bootstrap (CSSのフレームワーク、私は一緒に使っている) Ang
この記事はJavaScriptおれおれAdvent Calendar 2013の4日目の記事です。 ブックマークレットてご存じですか? ブックマークにJavaScriptを登録して、あれこれの機能を使おうというものです。 説明ははてなのページがわかりやすそう。 ブックマークレット – はてな Mobile Safariでも利用する事が出来ます。 例えば ウェブページのタイトルとURLをコピーしやすく提示 何かのページを見ていてTwitterに流したいなーってときに使ってます。 javascript:prompt(”,document.title+’ ‘+location.href);void 0 みてる / Web Components/Polymerを軽く触ってみる | inkdesign http://t.co/iW2c1XzEdV — 高梨ギンペイ (@ginpei_jp) 2013
JavaScriptおれおれAdvent Calendar 2013の3日目の記事です。 何か要素に対する処理を行う場合はdocument.querySelector()あたりで検索してくるのですが、一部の要素については事前に取得済みだったりします。 <body>を取るならdocument.bodyで document.bodyには最初から<body>要素が格納されています。個人的にはHTMLElementのインターフェイスを確認するために適当な要素を得る際にこれを使っていたりします。 同様に<head>要素もdocument.headで得る事が出来ます。この二者はHTMLの構文的にも必ず存在するため、事前に確保されているのでしょう。(ちなみにHTMLの文法的には、この二者のタグは省略可能です。その場合でも記述が省略されただけで実際はあるものとして扱われます。) <html>を取るならdo
よくある入力フォーマットに沿っていない時のエラーによるイライラが軽減しそうです。 テキストボックスを使ってユーザに入力を行ってもらうのはシンプルですが、それが指定したフォーマットに沿っているかどうかを判断するのは大変です。その結果エラーになったりするとユーザにとっても大きなストレスになります。 そこで予め決まったフォーマットに沿ってしか入力できないようにしてしまうのが良さそうです。そのためのソフトウェアがformatter.jsです。 使い方はjQueryを使う、使わないの2パターンが用意されているようです。 // jQueryを使わない方法 new Formatter(document.getElementById('credit-input'), { 'pattern': '{{9999}}-{{9999}}-{{9999}}-{{9999}}' }); // jQueryを使う方法
コンテンツが少ないと画面の途中にフッターが表示されてしまう事がありますが、足りない場合は画面の一番したにくっつくようにしました。CSSのみ。 (JSはコンテンツの量を変更するのに使っています。) IEは6, 8+です。box-sizing: border-box を使っているので。body直下にコンテンツ全体を含む要素を作り、そこにヘッダー、フッター分の余白を取るようにすればIE 7にも対応できます。 (function() { var nList = document.getElementById('list'); var nAdd = document.getElementById('add'); nList.addEventListener('click', function(event) { this.removeChild(event.target); }, false); nA
以前、attachEventでは複数イベントを登録して前のイベントの戻り値を見るというのができなくて悶絶していたが、結局やりたいことはイベント(メソッド)に対してアスペクトを適用すればよいということに気がつき、いろいろ調べた結果、すばらしいサイトをいくつか見つけ、早速コピペの雨あられで目的のものを完成 下のスクリプトを別ファイルにでもして、対象のHTMLにてインクルードすれば、全リンクとボタンにて2度押し防止機能が搭載できる うひょぉぉ アスペクトすげぇぇ // window の Load イベントを取得する。 window.onload = window_Load; function window_Load() { var i; // 全リンクのクリックイベントを submittableObject_Click で取得する。 for (i = 0; i < document.links.
弊社サービスをご利用頂き、誠に有り難うございます。 ドキュメントのダウンロード件数が2007年5月の開設以来300000件を突破しました! 今度ともご愛顧の程よろしくお願いいたします。 PocketDOC(ポケットドック)とはシステム開発に必要な設計書や仕様書などのドキュメントやテンプレートはもちろんのこと、 議事録、納品・検収書、近年話題になっている個人情報に関しての取扱管理表などの ドキュメントやテンプレートも提供しています。 実際に弊社のプロジェクトで使用されているため精度も高く、カスタマイズなしでも利用可能なほどです。 上流工程から下流工程まで広い範囲をサポートしているので、 必要なテンプレートだけをダウンロードして利用することも可能です。 ドキュメントやテンプレートのファイル形式はWord(doc形式)やExcel(xls形式)です。 ダウンロード後、すぐにお使いいただけるように
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く