発表資料は以下のとおり。春山様はじめECナビの皆様、ありがとうございました。 XSSに強いウェブサイトを作る – テンプレートエンジンの選定基準とスニペットの生成手法View more presentations from kazuho.
発表資料は以下のとおり。春山様はじめECナビの皆様、ありがとうございました。 XSSに強いウェブサイトを作る – テンプレートエンジンの選定基準とスニペットの生成手法View more presentations from kazuho.
某所のチャットで話題になって、流れ去りそうだったのでもったいないから転載しておいた。事後承諾で。 MIYAMOTO Daisuke: 型の継承と実装の継承を区別する方法がないんだよな。 西尾泰和(nishio.hirokazu): 型を継承させずに実装を継承させたい→それ移譲で ってことかな? MIYAMOTO Daisuke: そそ。そもそも、クラスに「型としての役割」と「実装としての役割」という複数の責務があることに、俺は長い間気づかなかった。これに気づかないと、型継承と実装継承が頭の中で整理できない。 西尾泰和(nishio.hirokazu): 僕が最近気づいたことも加えると、クラスには「ユーザ定義型」「インスタンスを作成する道具」「実装の再利用の単位」という3つの役割がある。 MIYAMOTO Daisuke: あぁ、インスタンスの生成器ね。 西尾泰和(nishio.hiroka
バグのないソフトウェアを作りたいお仕事では主にVB.NETとC#を。趣味のプログラミングでは関数型言語F#を利用しています。 私自身のF#スキル(関数型的な考え方)は、まだまだ実践レベルとはとても言えないシロモノだけど、 面白い発見と多くの可能性を感じられる言語なので、F#はさわっていてとても楽しい。 私はこれまでオブジェクト指向言語によるオブジェクト指向プログラミングをこよなく愛してきました。 というのも、「いかにバグを減らすか」、「バグのないソフトウェアを作ること」が私の最大の関心事だからです。 バグの多いコード、あるいは技術的負債の多いコードというのは、コスト的な問題があるばかりか、 開発者の身体や心までもを不健康にし、われわれに大きな不幸をもたらすことを経験的にわかっているからです。 わたしにとってオブジェクト指向技術は、それらの問題を防いだり解決をする手段として適した技術でした。
入力値の集合がA、出力値の集合がBである関数fを、f:A→B と書きます。fは純関数です。関数が状態に影響を受けるときは、f:S×A→B となります。Sは状態空間です。単に直積の記号「×」では、状態と入力の区別が付かないので、セミコロンで区切ることにします。f:S;A→B 。セミコロンの左が状態ね。fが副作用を持つとき、つまり状態空間Sに作用するときは、f:S;A→S;B と書きます。S→S は状態遷移を表すことになります。 副作用があるかもしれない関数を、次のように分類すると便利です。1は単元集合(シングルトンセット、ユニットセット)です。 f:A→B 純関数 f:S;A→B バートランド・メイヤーの言葉で「問い合わせ」 f:S;A→S;1 バートランド・メイヤーの言葉で「コマンド」 f:S;A→S;B 一度にいろいろするメソッド 以下では、単元集合1は省略します。 メイヤーは、最後の「
僕は今回の案件で、システムのレスポンスに徹底的にこだわってる。 それには理由がある。 それは、プログラマの誇りを見せたいからだ。 この案件は、既存機能をコピーして似た機能を作るというものだ。 既存機能は、Webシステムなのに1アクションで 1分や2分以上のレスポンスタイムはザラで、 悪いときには数分後にタイムアウトして、 さらに悪いときには、アプリケーション全体をロックしてしまっていた。 顧客はそれでも我慢して使っていてくれたそうだ。 今回の改修に際して、顧客がパフォーマンスを要求するのは当然だった。 それにしても酷いアリサマだとコードを見てみると 酷い。 確かにパフォーマンスは出ないのも無理はない。 いや、それどころか僕は、このSI業界の問題を感じざるを得なかった。 この機能はそこそこ難しく、業務的にも重要だ。 しかし、そのコードは、新人〜3年目ぐらいのプログラマが書いたとしか思えないコ
カードローンを利用するときには、この金額までなら何回でも利用するして良いですよ、という上限金額が決まっています。この上限金額のことを限度額と言いますが、、限度額は人によって10万だったり50万だったり100万だったりと差があるものです。今の限度額で十分だという人もいるでしょうし、今の限度額じゃ足りないという人もいるでしょう。そんなとき、限度額の金額を上げたり下げたりすることはできるのでしょうか。 まず限度額はどうやって決まるか、ということですが、限度額は申し込みのときの情報で決まります。勤務先や勤務年数、年収はもちろん、過去や現在の借り入れ状況を全部踏まえた上で限度額が設定されるのです。 そこで決まってしまった限度額ですが、これは必ず変更することができない、というわけではありません。限度額を上げることはもちろん、下げることだってできるんです。変更する方法は、基本的に電話で問い合わせをしてそ
まつもとゆきひろが語る「ビューティフルコード」×「プログラマ35歳定年説」に行ってきました〜。今年初めて行ったイベントなのですが、とてもいいお話を聞くことができました。美しいコードとはどのようなものか、またそのようなコードを書けるようになるためにはどうすればいいのかというお話でした。 以下、まとめになります。僕のメモを元にしたので、まつもとさんが話された内容と多少ズレがあるかもしれません。 そもそもコードとは何か 「コードの美しさとは」という前に、そもそも「コード」とは何か。 ソフトウェアの作成はものづくりではない コードは工業製品ではない。コードは、車とかと同じ工業製品だと思われることが多く、例えば次のような勘違いがある。 日本は「ものづくり」が得意だ。だからソフトウェアも「ものづくり」として取り組めばいい 車のように、ソフトウェアも部品をどんどんコピーして組み合わせばできる 違うよ!全
チケット駆動開発をRedmineで運用し始めて、SW構成管理(Software Configuration Management:SCM)を強く意識するようになった。 しかし、SW構成管理をきちんと定義している書籍もHPも、日本には殆ど存在しない事実を知って、愕然とした。 CMMIでも構成管理プロセスを定義しているけれども、僕の中ではフィットしない。 抽象的すぎて、現場で運用できるレベルではない。 ITILの構成管理が、僕の中では最もフィットするが、何が核心なのか分かり辛い。 ソフトウェア構成管理を定義しているHPの文章を記載しておく。 #以下は、考えてみた書きかけのメモ。 【元ネタ】 ◆ソフトウェア構成管理 - Wikipedia 1.構成の識別 - 修正を施すべきコードはどれか? 2.構成の制御 - 製品のリリースとその修正を制御する 3.状態の記録 - コンポーネントの状態を記録し報
iPhoneやiPod Touchは画面が広く、加速度センサーやマルチタッチなどこれまでにない操作ができるようになっている。そのため、ゲームアプリケーションも相当数存在し、フリーなものもあれば、有料課金されているものまでたくさんある。 iPhone向けゲーム開発を行うならこれ! デスクトップ向けゲームでお金を稼ぐのは難しい、だがiPhone/iPod Touch向けであれば課金のシステムもあり、かつターゲットが世界であるのでヒットすればそれなりに稼げる可能性もある。そこで使ってみたいのがcocos2d for iPhoneだ。 cocos2d for iPhoneはiPhone/iPod Touch用ゲームフレームワークで、2Dのゲームを作るのに必要な機能を提供してくれるオープンソース・ソフトウェアだ。 cocos2d for iPhoneはiPhone/iPod Touchでゲームを開発
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
GCアルゴリズム詳細解説 日本語の資料がすくないGCアルゴリズムについて詳細に解説します トップページページ一覧メンバー編集 × GC 最終更新: author_nari 2010年03月14日(日) 20:47:11履歴 Tweet このWikiが目指す所 GCとは? GCを学ぶ前に知っておく事 実行時メモリ構造 基本アルゴリズム編 Reference Counter Mark&Sweep Copying 応用アルゴリズム編 IncrementalGC 世代別GC スナップショット型GC LazySweep TwoFinger Lisp2 Partial Mark and Sweep -Cycle Collection- Mostly Parallel GC train gc MostlyCopyingGC(Bartlett 1989) TreadmillGC(Barker 1992)
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
教育, progそういう経験がゼロの人でもやる気があればいつかできる。できない人は本気でないか、真面目でないだけだ。「プログラムなんてたいしたことない」と思い続けること「プログラムはすごい。雑技団の曲芸みたいだ。こんなことを解釈するなんて自分には一生無理だ」と思っている人。そうです、あなたには一生無理です。コンピュータはただ与えられた0と1を判定して命ぜられた通りに処理しているだけで、まったく何も考えてはいないという認識コンピュータにとっては肌色成分が多量に含まれる画像もアメリカ国歌の音声もケーブルを流れる通信パケットも何もかもただの0と1でしかない。それに意味を与えるのは人間の命令。そこに書かれているのは「どうやってそれをするか」であり、「お前にはやり方なんて教えてやんねー!暗号化しといたぜHAHAHA」ではない。だから書いてある通りに動くし、動きは書いてある通りなので、読めばわかる。あ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く