![Amazon.co.jp: 体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践: 徳丸浩: 本](https://cdn-ak-scissors.b.st-hatena.com/image/square/bb743da3b6221b993a4f4495e5ed9d2be5ef49e4/height=288;version=1;width=512/https%3A%2F%2Fm.media-amazon.com%2Fimages%2FI%2F51wWshX%2BoIL._SL500_.jpg)
概要 Linuxのパフォーマンス解析ツールであるperfの使いかたの紹介 背景 個人的にperfよくできてると思うので紹介したいというのと、 パフォーマンスカウンタの読み方ってあんまり知られてないみたいなので、 それの解説を書きたい。 構成 perf について説明したあと、パフォーマンスカウンタの読みかた、見かた、を説明する。 perfとは何か Linuxに付いてくるプロファイラ。 man perf によると、 NAME ---- perf - Performance analysis tools for Linux と、書いてある。名前がひどいのでなんとかしてほしい。 perf の特徴 個人的には、手軽に使えるのが素晴らしいと思う。 2.6.31以降カーネルに標準で付いてる。(Ubuntuだとlinux-tools-common(TODO:あとで確認)で入るはず) 特殊な設定が必要無く、
プログラミングというのは、名前をつける行為なんだと思う。 プログラミングで一番大切なこと。 もしも、プログラマーじゃない人に、「プログラミングで一番大切なことは?」と聞かれたら、迷わず「名前」だと答える。もちろん、人それぞれだし、自分はスキルの高いプログラマーじゃないよ、と前置きして。 名前が9割と言ったときの、9割という部分は人によってだいぶ差があるんだと思う。もっと小さいかもしれない。けれど、名前が重要だという点に関しては、反対するプログラマーはいないんじゃないだろうか。 時代や環境で変わる名前。 いま僕がイメージしてる名前というのは、変数名だったり関数名だったりクラス名だったり、とにかくいろいろ。さらに、JavaScriptとか高階関数をバリバリ使うような場合など、名前をつけないという選択肢もある。 なんとなくJavaScriptと書いたんだけど、名前はプログラミング言語や開発環境や
「恋活や婚活を始めてみたいけど、どのマッチングアプリを使えばいいのかわからない…」という人のために、数あるアプリからおすすめの5つを厳選して比較してみました。恋人探しに向いているものから真剣に婚活をするのにぴったりのアプリまで、多岐に渡りますね。 ではこれらのアプリについてさらに掘り下げてみていきましょう。 Pairs(ペアーズ) 会員数 800万人 男女比 6:4 マッチングアプリといえばペアーズ、というほど会員数が多く、国内最大手のアプリです。平均年齢は20代前後と比較的若いですが、その会員数の多さもあり実際は10代から50代まで幅広い年齢層の会員が活動しています。そのため、登録している人の目的も婚活から遊び相手探しまで様々。どんどん会員が増え続けているので、初心者が登録するにはまず間違いのないアプリだと言えるでしょう。 Pairs(ペアーズ)のメリット 1. コミュニティー数がかなり
Haskell は関数型プログラミング言語の”標準語”として、1990 年に 誕生 (Haskell 1.0) した比較的新しい言語です。 その後、1999 年に安定した言語定義 Haskell 98 が制定され、 徐々に知名度が高くなっています。 しかし、まとまった日本語の解説がほとんど無いので、 簡単な解説記事を書いてみました。 目次 Haskell とは プログラムを動かす 関数を定義する 型 入出力 Haskell で最小二乗法 自前の data と class Monad 探索 種々のデータ構造 Module 詰碁を解く
プログラムの実行はどのようにして行われるのか、Linuxカーネルのコードから探る (2017/7/20) C言語の「Hello World!」プログラムで使われる、「printf()」「main()」関数の中身を、デバッガによる解析と逆アセンブル、ソースコード読解などのさまざまな側面から探る連載。最終回は、Linuxカーネルの中では、プログラムの起動時にはどのような処理が行われているのかを探る エンジニアならC言語プログラムの終わりに呼び出されるexit()の中身分かってますよね? (2017/7/13) C言語の「Hello World!」プログラムで使われる、「printf()」「main()」関数の中身を、デバッガによる解析と逆アセンブル、ソースコード読解などのさまざまな側面から探る連載。今回は、プログラムの終わりに呼び出されるexit()の中身を探る VBAにおけるFileDial
When you were young - 何かが見えなくなっている日本 ― Google村上憲郎氏講演で思ったこと http://hiroshimo.wordpress.com/2010/03/14/murakami_hirakata/ Google名誉会長・村上憲郎氏の講演について書かれている。その中にある、質疑応答での村上氏の回答がいい。 <Googleという会社は日本の会社とどう違うのか、という非常に根本に迫った質問があり、それに対して村上氏は「日本ではプログラマからSE、主技、部長というようなキャリアステップがあるが、USではプログラマはずっとプログラマだ」ということをおっしゃっていました。プログラマというのは物書きなんだから、ということです。つまり著述業であるということです。松本清張がずっと松本清張であるようなものだと>。 <日本で役職があがるというと、それまで出来ていたことが
Our Setup Node.js App feature allows for the choosing a specific version of Node.js in order to run the apps using Node.js 6.x, 8.x, 9.x, 10.x, 11.x, 12.x, and 14.x versions. The currently available Node.js version pool on our Shared servers is available at this page. This function provides ultimate flexibility and features a user-friendly interface that helps you get faster acquainted with the ne
Linuxカーネルの話を知りたいなーってんで、『Linuxカーネル解読室』の輪講を始めました。とりあえず、カーネルのソースをがりがり読み込むというよりは、ざっくりと動作を把握しようという感じで。今日の初回は、第1章「プロセススケジューリング」を読みました。この分野にまったくもって不案内なので、難しい……。少しづつでも理解を進めたいです。 以下に資料を貼り付けておきます。実際には、id:naoyaをはじめとした参加者によるフォローに助けられて進めた感じなので、資料だけだといろいろとアレな面もあるとは思います。 Linuxカーネル2.6解読室 作者: 高橋浩和,小田逸郎,山幡為佐久出版社/メーカー: ソフトバンククリエイティブ発売日: 2006/11/18メディア: 単行本購入: 13人 クリック: 189回この商品を含むブログ (116件) を見る [24時間365日] サーバ/インフラを支
ソフトウェアの開発を行うときに、まずテストケースを先に作ってから機能を作り込む「テスト駆動開発」(Test-Driven Development:TDD)。これにより、ソフトウェアの開発工数や品質にはどの程度の変化があるのでしょうか。 TDD(テスト駆動開発)の適用評価を紹介した研究論文 - エリクソンはじめ3社:森崎修司の「どうやってはかるの?」:ITmedia オルタナティブ・ブログ この疑問について調査した論文を、奈良先端科学技術大学院大学 助教の森崎修司氏が3月10日のブログ「国立大学法人奈良先端科学技術大学院大学 助教」のエントリ「TDD(テスト駆動開発)の適用評価を紹介した研究論文 - エリクソンはじめ3社」で紹介しています。 開発時間はやや増えたがコードの品質は上がった 論文全文は有料なので読めないものの、森崎氏のブログによると次の知見が得られたとのことです。まず、ソフトウェ
コミュニティ・PMグループ Perl MongersとはPerl技術者の集まりで、地域ごとにあつまって定期的に勉強会・情報交換会などを行っています。もし近所にない場合は是非立ち上げてみてはいかがでしょうか?その際はJPAからも講演にいけるかもしれませんので、是非連絡を! perl-users.jp - 日本のPerlユーザのためのハブサイト perl-mongers.org - 日本のPerlユーザのためのお役立ちサイト Shibuya.pm Yokohama.pm Kansai.pm Fukuoka.pm Okayama.pm Perl Advent Calendar Advent Calendarとは元々クリスマスまで指折り数えて待つためのカレンダーでしたが、Perl Advent Calendarとはクリスマス時期に25日かけて一日一つのテーマにそって技術的なTipsを書いていくサイ
話の時系列はたぶん以下の感じ。 パタヘネ読んでない奴はプログラマじゃない - 神様なんて信じない僕らのために なつたん: パタヘネを薦める かんつがい(勘違い) @ ときどきの雑記帖 i戦士篇 2008年1月(上旬) ヘネパタ? パタヘネ? - 神様なんて信じない僕らのために なつたん: パタヘネとヘネパタ 大学の頃から仲間内でよく議題に挙がっていた「パタヘネ・ヘネパタ問題」に終止符を打つ話だったので、とてもすっきり。 「パタヘネを読んでない奴はプログラマじゃない」というのは気持ちは同感。だけど、残念ながら情報系卒でも知らない人間は多い。実際、大学で講義の教科書じゃなかったら、自分も今までにこれを読んでいたかは怪しい。(ちなみに自分が読んだのは第 2 版。もしかして、最新版じゃないと読んでない奴扱い?) コンピュータの構成と設計 上 第2版 作者: ジョン・L.ヘネシー,デイビッド・A.パ
VC++ における NRVO について別 entry に書いた -> http://d.hatena.ne.jp/janus_wel/20100301/1267397791 昨日同じような title で entry 書いたら ( http://d.hatena.ne.jp/janus_wel/20100221/1266766850 ) comment でいいことを教えてもらった ( http://d.hatena.ne.jp/janus_wel/20100221/1266766850#c ) ので調べてみたら最終的に今回の entry の title になった。 id:k1m 、 id:tyru ありがとう。 RVO and NRVO まず klm くんの教えてくれた RVO ( Return Value Optimization の略。余談だけど Return"ed" じゃないのは "
プログラムの一部分の所要時間をちょっと調べたいと思っても,前で時間を調べて,後ろで時間を調べて,引き算したものを出力して,と色々書かねばならず,意外と面倒です. Ruby の benchmark はいいなあと思っていたら,id:tanakh さんの PFI セミナーを思い出したので,それっぽいものを C++ で実現してみました. (2/21 19:30 頃に「もう少し便利に」のバージョンの問題点と解決について追記しました) 例 int main() { benchmark { sleep(1); } benchmark { sleep(2); } } こんな感じで書くと 1.000013 sec 2.000009 sec こんな感じで標準エラー出力に表示. ソースコード これを上に書いておけば OK です. #include <sys/time.h> struct __bench__ {
XML はあらゆる分野における基礎技術となって利用が進みつつあるが、GNOME 環境においても例外ではない。GNOME 2 においては Libxml2 が XML を扱うための基本ライブラリとして採用され、あらゆる局面で活用されている。本稿ではこの Libxml2 を使った簡単なプログラミング例を紹介しよう。 GNOME と XML GNOME の多くのアプリケーションは設定に関する情報を GConf というフレームワークを利用して保存しているが、この GConf は標準では XML 形式のテキストファイルを利用して情報を保存している。GNOME を利用しているなら、ホームディレクトリにある ~/.gconf/ というディレクトリの中を覗いてみよう。そこの中には %gconf.xml というファイルがいくつも存在しているが、これが GConf によって書き出されたユーザ固有の設定情報である
ラムダ計算は, 多くのプログラミング言語, とくに関数型言語の原形になっています. ラムダ計算について理解しておくことは, 多くのプログラミング言語の習得に役立つでしょう. ラムダ計算はチューリング完全で, 計算能力としてはふつうのプログラミング言語と同じです. ラムダ計算で計算を書く訓練をしておくことは, 任意の計算を関数のみを使って(他の制御構文を用いずに)書くときに役立ちます. ふつうに書いたら煩雑な処理を, 関数型言語のやり方で書くとすっきりすることが多々あり, コードを自由自在に書くためには必須の考え方と言えるでしょう. 項 ラムダ計算の式を項(term)と言います. 項は変数, 抽象, 適用のいずれかです. 変数 変数(variable)はふつう1文字で書きます. 変数には関数内の束縛変数(bound variable)か自由変数(free variable)かという区別があり
Javaのデバッグをしていて、ステップ実行中にステップインを繰り返したらソースコードのないところに行き当たったことがあるだろう。あるいはEclipseでF3キーでクラスやメソッド・フィールドの宣言元を辿っていってソースコードのないところに行き当たったことがあるだろう。 Eclipseの場合、"Class File Editor"というものが開く。そこにはJavaのバイトコードのニーモニックがズラズラと並んでいて、「これは読めないや、ワケが分からない」と投げ出してしまったりしていないだろうか。 怖がることはない。ちょっとコツを掴めばすぐに読めるようになる。 Class File Editorの開き方 自前のJavaクラスの場合、ビルドして出来上がったclassファイルを開く必要がある。"Package Explorer"だとclassファイルは隠されていて見えないのでWindow -> Sh
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く