タグ

プログラミングに関するJULYのブックマーク (194)

  • Re: どのプログラム言語を選ぶべきか・・・ : 404 Blog Not Found

    2011年08月30日15:30 カテゴリLightweight Languages Re: どのプログラム言語を選ぶべきか・・・ 言語設計者たちが考えること Mastermind of Programming Federico Biancuzzi / Shane Warden 伊藤真浩 / 頃末和義 / 佐藤嘉一 / 鈴木幸敏 / 村上雅章訳 [原著:Masterminds of Programming] ほめてのばしたくなったので。 どのプログラム言語を選ぶべきか・・・ - きしだのはてな 世界平和のために Alphabetical Order で。 Brainf.ck-erになったら、100%仕様を覚えられそうだし C-erになったら、いつかは言語を実装できるようになれそうだし C++-erになったら、新発見がなくならなそうだし COBOL-erになったら、先人の話にもついていけるよ

    Re: どのプログラム言語を選ぶべきか・・・ : 404 Blog Not Found
  • PHP5.3.7のcrypt関数のバグはこうして生まれた

    昨日のブログエントリ「PHP5.3.7のcrypt関数に致命的な脆弱性(Bug #55439)」にて、crypt関数の重大な脆弱性について報告しました。脆弱性の出方が近年まれに見るほどのものだったので、twitterやブクマなどを見ても、「どうしてこうなった」という疑問を多数目にしました。 そこで、このエントリでは、この脆弱性がどのように混入したのかを追ってみたいと思います。 PHPのレポジトリのログや公開されているソースの状況から、PHP5.3.7RC4までこのバグはなく、PHP5.3.7RC5でこのバグが混入した模様です。RC5はPHP5.3.7最後のRelease Candidateですから、まさに正式リリースの直前でバグが入ったことになります。 バグの入る直前のソースは、ここの関数php_md5_crypt_rから参照することができます。以下に、おおまかな流れを図示します。まずはバ

    PHP5.3.7のcrypt関数のバグはこうして生まれた
    JULY
    JULY 2011/08/24
    分かっているつもりでも、一度 man を読まないとね。
  • もし『よくわかるPHPの教科書』の著者が徳丸浩の『安全なWebアプリケーションの作り方』を読んだら - ockeghem's blog

    たにぐちまことさんの書かれた『よくわかるPHPの教科書(以下、「よくわかる」)』を購入してパラパラと見ていたら、セキュリティ上の問題がかなりあることに気がつきました。そこで、拙著「体系的に学ぶ 安全なWebアプリケーションの作り方(以下、徳丸)」の章・節毎に照らし合わせて、「よくわかる」の脆弱性について報告します。主に、徳丸の4章と5章を参照します。 4.2 入力処理とセキュリティ 「よくわかる」のサンプルや解説では、入力値検証はほとんどしていません。しかし、入力値検証をしていないからといって即脆弱かというとそうではありません。徳丸でも強調しているように、入力値検証はアプリケーション要件(仕様)に沿っていることを確認するもので、セキュリティ対策が目的ではないからです。 「よくわかる」の中で、私が見た範囲で唯一の入力値検証は、郵便番号のチェックをするものです。以下に引用します(「よくわ

    もし『よくわかるPHPの教科書』の著者が徳丸浩の『安全なWebアプリケーションの作り方』を読んだら - ockeghem's blog
    JULY
    JULY 2011/08/23
    4.3.1 クロスサイト・スクリプティングのケースにはびっくり。XSS を起こす例として、わざと書いたとしか思えないレベル。
  • 高慢と偏見(1)隣は何をする人ぞ:Press Enter■:エンジニアライフ

    ふつーのプログラマです。主に企業内Webシステムの要件定義から保守まで何でもやってる、ふつーのプログラマです。 高学歴で長い経験に自信を持つエンジニアは他人の話を聞かなくなる、というのは広く世に知られた真理の1つである。 K自動車ICTシステム部の三浦技術担当マネージャは、そのようなエンジニアの生き見のような人だった。初めに言葉ありき。私が聞いた三浦マネージャーの最初の言葉はこうだ。 「オブジェクト指向など、実業務では使いものにならない!」 私の名前は川嶋ミナコ。横浜市内の某所にオフィスを構えるシステム開発会社――いわゆるベンチャー企業というやつ――に勤務しているエンジニアだ。社員数は20人前後。最近は受託開発の案件はほとんどなく、大手ベンダやエンドユーザーのシステム部門に常駐して開発を行うことが多い。 K自動車への常駐もその1つだった。部品調達システムの大規模なリニューアル中で、あちこ

    高慢と偏見(1)隣は何をする人ぞ:Press Enter■:エンジニアライフ
    JULY
    JULY 2011/08/08
    このパターンに加えて、オブジェクト指向言語を使っているだけで、オブジェクト指向が分かったつもりの人も多い。それだけ、オブジェクト指向は難しい、ということじゃないかなぁ。
  • MS、コンパイラをサービス化する「Roslyn」の詳細公開へ

    Microsoftは、米レドモンドで7月18日より3日間の日程で開催する年次イベント「Faculty Summit 2011」にて、コンパイラ・アズ・ア・サービス(CaaS)プロジェクトRoslyn」についての情報を公開する計画だ。 Roslynは、広義ではMicrosoftの「.NETをクラウドへ」を推進するものだ。MicrosoftRoslynの目標について、「モダンなツールの土台として使用できる修正可能なコンパイラアーキテクチャを構築すること」と述べている。 7月19日の「Refactoring with Roslyn Circus Comes to Town」というセッションで、Visual StudioのプログラムマネージャであるKaren Ng氏が、Roslynがどのように「Visual Basic」「Visual C♯」コンパイラのコード分析を見せるかについて話すことにな

    MS、コンパイラをサービス化する「Roslyn」の詳細公開へ
    JULY
    JULY 2011/07/19
    でも、「1コンパイルいくら」みたいな課金だったらやだなぁ。大昔のカードパンチングの世界みたいに、気軽にコンパイル出来なくなりそうで。
  • Get Started with Win32 and C++ - Win32 apps

    This browser is no longer supported. Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.

    Get Started with Win32 and C++ - Win32 apps
  • なぜ Perl で配列に対して defined を使ってはいけないのか?

    defined の挙動で相談されたのでソースコードを見てみたら、配列に対して defined を呼んでいた。 最近の Perl では配列に対して defined を使うのは非推奨である(perldata や perlfunc 参照)。 ほとんどの人が望むような判定結果は返ってこない*1。 perl -e '@a = (); print defined @a ? 1 : 0; push @a, 1; print defined @a ? 1 : 0; shift @a; print defined @a ? 1 : 0' 配列が空かどうかならスカラーコンテキストで評価するだけで OK なのだが、Perl プログラミング経験上、1度は defined を使用してしまうだろう。 ただ通常は警告が出るのですぐ気がつく。 この警告は Perl 5.6.0 以降で出る。 #!/usr/bin/perl

    JULY
    JULY 2011/05/26
    「配列に対して defined を使うのは非推奨である」まだ、行き当たったことはないけど、覚えておこうっと。
  • フルスクラッチの“Hello World”を動かしてみよう

    フルスクラッチの“Hello World”を動かしてみよう:H8マイコンボードで動作する組み込みOSを自作してみよう!(1)(1/3 ページ) 学習用、ホビー用の組み込みOSとして「KOZOS」があります。連載では「KOZOS」を使ってH8/3069Fマイコンボード上でいろいろと実験をしつつ、フルスクラッチで組み込みOSを自作していく過程を体験してみます。最終的にはソフトウェア完全自作のWebサーバを動かします。 1.はじめに:組み込みOSと汎用OS 近年の組み込みシステムは、大規模化・複雑化が進んでいます。また、それと同時に、コスト削減のため、従来複数のマイコンで制御していた周辺デバイスを単一CPUで処理させようとする動きもあります。 こうした要件を満たすために利用されるのが「組み込みOS」です。組み込みシステムにもOSを搭載することで、資源(システムリソース)をうまく分配して有効活用

    フルスクラッチの“Hello World”を動かしてみよう
  • バグとの長い長い付き合い

    ソフトウェア開発にバグはつきものだ。プログラマであれば、バグに関する思い出の一つや二つはあるだろう。しかし、近年の短納期化やコスト重視の影響で、デバッグやテスト工程の様相は昔とは大分変わってきた。今回は、バグに関する法則を紹介する。 「世にバグの種は尽きまじ」であり「過ちを犯すのは人の常」なので、プログラムにはバグがつきものだ。バグに関するマーフィ学は長い歴史があり、多くの研究成果があるが、ここでは、昔の良き時代を振り返って現状を嘆くことにする。 往年は、納期にゆとりがあったし、プロジェクト管理も鷹揚だったので、プログラマは自分の関心に応じてデバッグに時間を割くことができた。当時のベテランプログラマにとって、デバッグは知的好奇心をくすぐり、後輩から驚嘆の目で見られ、達成感を味わえるので、テストは至福の工程だったのである。 ところが近年は、納期が厳しく、テスト期間を短縮する傾向がある。しかも

    バグとの長い長い付き合い
    JULY
    JULY 2011/03/11
    「そこで、「プログラマを疑うな。コンピュータを疑え」の方が一般的になってきた。」でも、やっぱりプログラミングの問題の事が圧倒的に多いなぁ。
  • 「優れたPerlプログラマを見分ける27の質問」の日本語訳 - Islands in the byte stream (legacy)

    (追記あり) How to Identify a Good Perl Programmer (by chromatic) が面白かった*1ので、27の質問を訳してみました。chromatic氏によれば、いずれも単純明快な質問でPerlの哲学や特徴をよく現しており、優れたPerlプログラマであれば少なくとも80%は答えられるべきだそうです*2。あなたは全ての質問に答えられますか? Perl5において変数のシジル*3が示すものは何か 配列のアクセスする際の $items[$index] と @items[$index] の違いは何か == と eq の違いは何か ハッシュをリストコンテキストで評価すると得られるものは何か Perlドキュメントからキーワードを検索するにはどのようにするのか Perl5における関数とメソッドの違いは何か Perl5が変数のメモリを再利用するのはいつか 変数のスコー

    「優れたPerlプログラマを見分ける27の質問」の日本語訳 - Islands in the byte stream (legacy)
    JULY
    JULY 2011/03/01
    使い捨てプログラムを書く時に使う程度の自分には答えられない...
  • プログラミングいつまでに学ぶ?なぜ学ぶ? : 404 Blog Not Found

    2011年02月02日18:00 カテゴリArt プログラミングいつまでに学ぶ?なぜ学ぶ? どちらもFAQ中のFAQなのだけど、いい機会なのでまとめて。 いつまでに学ぶ? 30位からだと流石に遅いですか?RT @dankogai: 何歳でも間に合います。むしろ「問題」を知っている分、後の方が有利な面すらある< @ryopon_jp: @dankogai 大学入って18からでもプログラミング間に合いますか?大学の勉強は卒なくこなし、英語とプログラミンless than a minute ago via Echofon金子豊 yyyutaka 私の答えは、こう。 ゲーテは70代で恋をしたというのにおまえらときたらたかがプログラミングで自分の年齢を気にするのか?> @yyyutaka: 30位からだと流石に遅いですか?less than a minute ago via HootSuiteDan

    プログラミングいつまでに学ぶ?なぜ学ぶ? : 404 Blog Not Found
    JULY
    JULY 2011/02/03
    「呪文を唱えたら動く。リアル魔法じゃん」でも、しょっちゅう、呪文を間違えちゃうんだよなぁ。
  • プログラミング言語人気TOP10の簡易解説

    0-1. 前書き この世にはたくさんのプログラミング言語が存在します。Wikiepdiaのプログラミング言語一覧を見ると、実に200個以上というわけの分からない数の言語が並んでいたりします。 【参考URL】プログラミング言語一覧 - Wikipedia http://ja.wikipedia.org/wiki/%E3%83%97%E3%83%AD%E3%82%B0%... 200の中にはほとんど使われてない言語も混じってるので、実際に仕事でざくざく使われている言語は20とか30とかそういうオーダーなのですが、それでも1人の人間が把握するにはちょっと多過ぎる数です。 記事では、そうした有り余るプログラミング言語の海の中で「どれを勉強したらいいの?」とか「どれを採用するのが適切?」という悩みをお持ちの方が「よし、この言語に決めた!」と自信を持って決断できるように背中を押すことを目的として書か

    JULY
    JULY 2011/01/28
    かなり、いい感じに特徴を捉えていると思う。強いて言うと、ガーベージコレクションが弱点になることもある、という当たりがあると良いかも
  • なぜソフトウェアの部品化/再利用は進まないのか?

    ソフトウェア開発において、部品化/再利用は永遠の課題とも言える。昨今ではオブジェクト指向やSOAが注目されているが、格的に普及しているとは言い難い。では、なぜソフトウェアの部品化は進まないのだろうか。今回は部品化/再利用に関する法則を紹介する。 ソフトウェア構築の生産性向上、品質向上のために、ソフトウェアを部品化して再利用することが重要なことは、コンピュータが出現した当初から指摘されてきた。それなのに、現在でもオブジェクト指向だのサービス指向だのと騒いでいる。 なぜソフトウェアの部品化/再利用は進まないのか? 工業分野では、部品の標準化は常識である。 例えばボルトの寸法はJISで定められており、「M6」と指定すれば、頭部分の寸法やネジのピッチは周知であり、いちいち指定する必要はない。しかも、それに対応するナットや工具があることが保証されている。標準化が生産性向上やコストダウンに貢献するこ

    なぜソフトウェアの部品化/再利用は進まないのか?
    JULY
    JULY 2011/01/14
    「ソフトウェア部品を探すよりも、作る労力の方が小さい」厳密言うと、「作る労力が小さく見える」かな? その後の粒度の問題にも繋がるけど、品質と汎用性を考えると、実は探したほうが良いこともある。
  • Googleブックスで読めるソフトウェア開発に関する本たち - 俺がぐったり部だ!

    Googleブックスの騒ぎを知って約1年。気づくと今そこには「読んでみたかった!」というが数多く載せられていることを知りました。 さて、そこでゲーム開発にも応用できる知識を中心に私がチョイスしたのが以下のたちです。もちろんGoogleブックスではこれら以外にもまだまだ多くのを閲覧することができます。これらを読めば、には当に知識と情報がまとめられているということ、著者たちの努力を発見できると思います。 ゲームデザイン 「おもしろい」のゲームデザイン: 楽しいゲームを作る理論 シリアスゲーム デジタルゲーム学習: シリアスゲーム導入・実践ガイド ユーザビリティエンジニアリング原論: ユーザーのためのインタフェースデザイン 人はなぜ形のないものを買うのか: 仮想世界のビジネスモデル ゲーム理論の基と考え方がよ〜くわかる ノベルゲームのシナリオ作成奥義 ライトノベル創作教室 すごい人

    Googleブックスで読めるソフトウェア開発に関する本たち - 俺がぐったり部だ!