![Amazon.co.jp: クジラは潮を吹いていた。: 佐藤卓: 本](https://cdn-ak-scissors.b.st-hatena.com/image/square/22059fb4a8967af014bd6490dcae8f3c2ab05418/height=288;version=1;width=512/https%3A%2F%2Fm.media-amazon.com%2Fimages%2FI%2F41M9pV-CpXL._SL500_.jpg)
正規表現によるバリデーション等で、完全一致を示す目的で ^ と $ を用いる方法が一般的ですが、正しくは \A と \z を用いる必要があります。Rubyの場合 ^ と $ を使って完全一致のバリデーションを行うと脆弱性が入りやすいワナとなります。PerlやPHPの場合は、Ruby程ではありませんが不具合が生じるので \A と \z を使うようにしましょう。 はじめに 大垣さんのブログエントリ「PHPer向け、Ruby/Railsの落とし穴」には、Rubyの落とし穴として、完全一致検索の指定として、正規表現の ^ と $ を指定する例が、Ruby on Rails Security Guideからの引用として紹介されています。以下の正規表現は、XSS対策として、httpスキームあるいはhttpsスキームのURLのみを許可する正規表現のつもりです。 /^https?:\/\/[^\n]+$/
C Library The elements of the C language library are also included as a subset of the C++ Standard library. These cover many aspects, from general utility functions and macros to input/output functions and dynamic memory management functions: <cassert> (assert.h)C Diagnostics Library (header)<cctype> (ctype.h)Character handling functions (header)<cerrno> (errno.h)C Errors (header)<cfenv> (fenv.h)F
最近知って、驚いた事実。 “オーヴィル・ライト(ライト兄弟の弟)が死んだとき、ニール・アームストロング(月面着陸した人類初の宇宙飛行士)は、すでに17歳だった” ライトフライヤーからアポロ11号まで、飛行技術の革新性は、スピードというより跳躍だ。だが、この時代だけが凄いのではない。「飛ぶとは何か」は、常に想像され、試され、実証されてきた。「飛行機は、なぜ飛べるのか」をトートロジーに陥らずに振り返ると、人類が飛行を理解した歴史になる。 『飛行機技術の歴史』は、ライトフライヤー以前と以後の二つに分けている。前者は、ダ・ヴィンチの羽ばたき機から始まって、ニュートンの科学革命、空中蒸気車、グライダーの試行錯誤とデータの積み重ねの歴史になる。「なぜ飛べるのか」に対し、具体的に跳ぼうとした人々のドラマが描かれている。ライト兄弟は、こうした既存技術を適用した結果に過ぎないという。もちろん飛行制御を考慮し
CMakeを使うと、CMakeCache.txtやCMakeFilesなど様々ななファイルやディレクトリが生成される。結果的にプロジェクトのディレクトリが見にくくなりがちだ。そんなときはビルド作業を行うディレクトリを別のディレクトリにするとよい。これをソース外ビルド(out-of-source build)と呼ぶ。例えば、CMakeLists.txtやmain.cppがmyappディレクトリにあるとき、myappにbuildディレクトリを作り、その中でビルドを行うようにしよう。 myapp/ +- CMakeLists.txt +- main.cpp +- build/ #この中でビルドするやり方は特に難しくはない。buildディレクトリを作り、その中でcmakeを呼ぶだけだ。そのときCMakeLists.txtがあるディレクトリを指定すればよい。 こうすると、my-projectディレク
ASCII Booksのサイトをご利用いただき、ありがとうございます。 2016年12月6日をもちまして、サイトを閉鎖させていただくことになりました。 今までサイトをご利用いただき、ありがとうございました。 アスキー・メディアワークスを引き続き、よろしくお願いいたします。
地球46億年の“全歴史”を1枚の特大ポスターにまとめたという『地球全史スーパー年表』が、2月18日(火)に岩波書店から刊行されました。地質時代と人類史・歴史時代を1つの時間軸でつないだことで、地球と人類に「いつ、何が起きたか」が一望できるとのこと。著者メッセージには、この年表で「地質学の醍醐味である『時空を自在に飛ぶ』感覚を、ぜひ味わっていただけたら」と記されています。要点をまとめた解説書付きで、価格は1,300円(税別)です。 ▽ 岩波書店 ▽ 地球全史スーパー年表 - 岩波書店 同書は、岩波書店「地球全史」シリーズの第3弾として登場しました。日本地質学会が監修しており、地球の歴史が分かるポスター型の「スーパー年表」と、全24ページの解説書がセットになっています。 地球科学の最新研究を取り込んだというスーパー年表には、地質年代の区分と主要な出来事、環境データなどを収録。オールカラーで、広
GPLのコードを1行でも取り込んだ場合は、ソフトウェア全体をGPLで配布しなければいけませんが、BSDやMITライセンスのコードを一部取り込んだ場合のライセンス表記ってどうなってるんだろう?と思っていろいろ調べてみた。 BSDライセンスに関しては、Wikipediaによると以下のような記載がある。 「無保証」であることの明記と著作権およびライセンス条文自身の表示を再頒布の条件とするライセンス規定である。この条件さえ満たせば、BSDライセンスのソースコードを複製・改変して作成したオブジェクトコードをソースコードを公開せずに頒布できる。 ようするに、「無保証の明記」と「著作権表示」をどこかに書いておけばOKということのよう。 ちょっとひっかかるのが「ライセンス条文自身の表示」の部分。ライセンス条文を書いてしまったらBSDライセンスのコードを再利用しているソフトウェア全体がBSDライセンスで配布
長い歴史を持ちながら、依然として人気の高いC言語。その最新仕様の情報にキャッチアップするための連載スタート。今回は1999年に策定された「C99」を取り上げる。 連載 INDEX 次回 → C言語(以降、単にC)はDennis Ritchieによって1969~1973年の間にベル研にて開発されたプログラミング言語である。長い歴史を持つと共に非常にポピュラーな言語で、プログラマーでCを知らない人はまずいないと言っていいだろう。プログラミング言語のシェアを調査しているTIOBEでも、ここ最近は常に1、2位を占めている。 Cの言語仕様は今から25年近く前である1989年に初めて規格化され、これは一般に「ANSI-C」と呼ばれている。ANSI-Cは長らくCの言語仕様のスタンダードの位置を占め、世の中の大半のプログラマーは、このANSI-Cに慣れ親しんでいることだろう。しかし、実はCの言語仕様はその
Git は、元々 Linus Torvalds によって 2005 年に作られた、無料でオープンソースのバージョン管理システムです。他の SVN や CVS といった中央バージョン管理システムと違って、Git は分散型で、すべての開発者がローカル環境で彼らのコードのリポジトリの完全な履歴を持っています。これは、最初のリポジトリのクローン作成に時間がかかりますが、commit、blame、diff、merge、log といったこれに続く作業を劇的にスピードアップします。 Git は多くの革新的で強力なワークフローやツールにつながる、リポジトリ履歴のブランチ、マージ、および書き換えに非常に役立ちます。プル リクエストは、チームが Git ブランチでコラボレーションを行い、他のコードを効果的に見直すことができる、非常に人気のツールです。Git は現在世界で最も広く使用されているバージョン コント
go 言語において呼び出し元に interface のみを公開することで実装の詳細を隠ぺいすると、gomock を使ったテストがやり易くなります。 ざっくり結論だけ書くとこんな感じのコーディングパターンにすると良いよって感じなので、これだけ見て、何が言いたいのかすぐに分かる人は続きを読まなくても良いと思います。 package intf type Duck interface { Quack() string} type duck struct {} func NewDuck() Duck { return &duck{}} func (d *duck) Quack() string { return "QUUAAAACCCCKK!!!"}コピー interface と実装が分離されたアヒル#最初のポイントは、公開する interface として定義された Duck と非公開の struc
1.Goの環境設定 1.1. Goのインストール 1.2. GOPATHとワーキングディレクトリ 1.3. Goのコマンド 1.4. Goの開発ツール 1.5. 概要 2.Go言語の基礎 2.1. こんにちは、Go 2.2. Goの基礎 2.3. フローと関数 2.4. struct型 2.5. オブジェクト指向 2.6. interface 2.7. マルチスレッド 2.8. 概要 3.Webの基礎 3.1 webでの作業方法 3.2 Goで簡単なwebサーバを立てる 3.3 Goはどのようにしてweb作業を行うか 3.4 Goのhttpパッケージ詳細 3.5 概要 4.フォーム 4.1 フォームの入力を処理する 4.2 フォームに入力された内容の検証 4.3 クロスサイトスクリプティングの予防 4.4 フォームの複数回送信の防止 4.5 ファイルのアップロード処理 4.6 概要 5.デ
"Get Lucky"."Daft Punk, Pharrell Williams & Stevie Wonder"."The Grammy's 2014". https://www.youtube.com/user/OffcialMusicVideoHD "live performance"."official"."music video"."."live betawards"."live music awards"."live hd"."miley cyrus live"."live 2014"."katy perry live"."kesha live"."lady gaga live"."live gramy"."live hd 1080p"."live stage"."live concert"."bruno mars live"."live good morning"."liv
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く