例:「このプログラムはC言語で書きました」=「このプログラムはGDBでひたすらデバッグしてvalgrindでメモリリークをチェックしました」 以下絵が続きます。チャートそのものはd3.jsで描かれていて、このgistを拝借して手を加えています。
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
Tuesday, May 04, 2010 古参プログラマのアドバイス by Zed Shaw Advice From An Old Programmer (Learn Python The Hard Way Release 0.2 のあとがき) この本を終えて、もしかしたらもっとプログラミングをしようという気になってくれたかもしれない。仕事にするなんてこともあるだろうし、ただの趣味っていうこともあるだろう。どんな理由であれ、プログラミングを続けると決めたなら、正しい道を選んで最大限の楽しみを得られるような選択をしたほうがいい。 オレはものすごく長い間プログラミングをしてきた。あんまり長いんでもう信じられないぐらいつまらない活動になっている。この本を書いた時点でもう20ほどのプログラミング言語を知っているし、新しい言語もその変態度合いによって1日から1週間ぐらいで学ぶことができる。でもこん
Quicksilverの検索性能が、感性をくすぐってきた。 「apple」→「AppleScript Editor」 「ase」→「AppleScript Editor」 「prol」→「Property List Editor」 「im」と入力して、「Image Capture」を起動したいが、「iMove」がトップヒットになってしまう...。 そんな状況でも、候補リストから2回連続で「Image Capture」を選択すれば、3回目以降は「Image Capture」がトップヒットになる。 直近のユーザーの好みを学習してくれるのだ。 もちろん、「ima」まで入力すれば「Image Capture」がトップヒットになる。 「ase」「prol」のような、単純な前方一致でも、部分一致でもない検索には恐れ入る。しかも、シンプルだけど学習もしてくれる。使うほどに手に馴染んでくる仕組みは、この辺
(Last Updated On: )最近PostgreSQL、MySQL両方にSJISエンコーディングを利用している際のエスケープ方法の問題を修正がリリースされています。この件は単純に「データベースシステムにセキュリティ上の脆弱性があった」と言う問題ではなく「アプリケーションの作り方を変える必要性」を提起した問題です。 参考:セキュアなアプリケーションのアーキテクチャ – sandbox化 PostgreSQL、MySQLの脆弱性は特にSJIS等、マルチバイト文字に\が含まれる文字エンコーディングが大きな影響を受けますが、同類の不正な文字エンコーディングを利用した攻撃方法が他の文字エンコーディングでも可能です。例えば、UTF-8エンコーディングは1文字を構成するバイト列の最初のバイトの何ビット目までが1であるか、を取得してUTF-8文字として1バイト~6バイト必要なのかわかる様になってい
プログラミングの入門書を読むのが好きです。 プログラミングをまったく知らない人に、どうやって説明するのかというプロセスに興味があるのですね。 で、読んでいるとたいていの本で変数の説明として「箱」というメタファを出してくるのです。 変数は箱のようなもので、Aという箱に数値を入れてうんぬん......。 たしかに、分かりやすいことは分かりやすいんだけど、C言語のポインタでつまづく人が多いのって、この「箱」の例えが良くないんじゃないかなーと思った。 箱から、メモリのアドレスへと飛躍するのはなかなか難しいのではないでしょうか。 で、そんなことをつらつら考えていて、思いついたのが、変数ってのは「巻物のある場所に名前を書いた付箋を貼る」ことっていう説明の方法。 巻物があると思ってくださいよ。 結構長い巻物。 その頭から、10センチのところに「100」って数字を書いてみる。 で、そこに「A」って名前を書
はやいTCPサーバの書き方 - nyaxtのPC作業ログ について、いくつか気になった点があったので。 Nagleアルゴリズムは、相手側のACK送信をまとめてくれるものです。これは、下記の様にアプリケーション側でパケットを意識した処理を行っている場合、邪魔になることがあります。 違うと思います。自分の理解では、Nagle アルゴリズムは、ACK を受信していないデータがある場合に、次のパケットを送信しない、というものです。RFC896 から引用すると、 The solution is to inhibit the sending of new TCP segments when new outgoing data arrives from the user if any previously transmitted data on the connection remains unackn
[-]=======================================================================[-] Wizard Bible vol.44 (2008,12,21) [-]=======================================================================[-] x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x ---- 第0章:目次 --- x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xX
教育, progそういう経験がゼロの人でもやる気があればいつかできる。できない人は本気でないか、真面目でないだけだ。「プログラムなんてたいしたことない」と思い続けること「プログラムはすごい。雑技団の曲芸みたいだ。こんなことを解釈するなんて自分には一生無理だ」と思っている人。そうです、あなたには一生無理です。コンピュータはただ与えられた0と1を判定して命ぜられた通りに処理しているだけで、まったく何も考えてはいないという認識コンピュータにとっては肌色成分が多量に含まれる画像もアメリカ国歌の音声もケーブルを流れる通信パケットも何もかもただの0と1でしかない。それに意味を与えるのは人間の命令。そこに書かれているのは「どうやってそれをするか」であり、「お前にはやり方なんて教えてやんねー!暗号化しといたぜHAHAHA」ではない。だから書いてある通りに動くし、動きは書いてある通りなので、読めばわかる。あ
Eloquent JavaScript | 06:06 | 心配するな。日本語は死なんよ 来たか、ハッカー大好きはてなー野朗。ちょっとオマエ、ブクマを見せてみろ。ん?なんだこの大量の「あとで読む」タグは?! で、これは読んだのか? 何? まだだと? あ?「だって英語で書いてあるしー」だ? で、「その前に英語やらなくっちゃ!」と思ってやった事が、英語Tips のページにブクマして「あとで読む」タグを付けること? おめでてーなー。オマエは本当におめでてーヤツだよ。今日も新たな教材探しか? おい、、、図星かよ。涙目になんなよ。。 今日から、そんなオマエのヘタレな日常とサヨナラ出来るよう、またオレが教材を用意してやったぞ。喜べ。元ネタは"Eloquent JavaScript (オレ的な超訳では「スゴいよ JavaScript」)"だ。コイツの出来の良さは関係各方面でお墨付きが出てるから安心しろ。
本連載が書籍化されました。 『良いコードを書く技術 ─ 読みやすく保守しやすいプログラミング作法』 縣俊貴 著/A5判・240ページ 価格2394円(本体2280円) ISBN 978-4-7741-4596-9 はじめに 今回のテーマは「スコープを意識したプログラミング」です。地味なテーマですが、実はプログラミングのあらゆる場面に「スコープ」は存在します。なんとなくで指定しがちですが、「意識的にスコープをコントロール」できれば、より良いプログラミングスタイルに近づくはずです。それではスコープの巻、始まります。 スコープって何? まず、スコープとはなんでしょうか? Wikipediaには次のように書いてあります。 プログラミングでのスコープとは、ある変数や関数が特定の名前で参照される範囲のこと。ある範囲の外に置いた変数等は、通常、その名前だけでは参照できない。このときこれらの変数はスコー
とりあえず思いついたもののまとめ。 まずは、ベーシックなものから。 変数のスコープをなるべく狭くしろ 他はグローバル変数を使うなとか、モジュール化と界面を意識せよなど。とにかくスコープは重要かつ意外と奥が深い。スコープに関係する機能は、モジュール(パッケージ)、クロージャ、ローカル関数、ローカルクラス、変数の種類、アクセス制御など。 同じロジックのコードを2度以上書くな 他はDRY原則、コピペをするななど。自分の場合、2度書く方がシンプルになる場合、2度書くこともある。特に、ifやswitchなどのロジックの中で同じコードが2度現れる場合、ちょっとしたコードでわざわざ別のところで関数やブロックにまとめて、それを参照するのは面倒。但し3度以上現れる場合は関数などにまとめるケースが多いかも。 汎用コード内で条件分岐コードを減らせ 他はifをポリモーフィズムによりなくせなど。条件分岐は汎用性を損
例のアンケートについての解説と謝罪 http://d.hatena.ne.jp/nishiohirokazu/20080918/1221708888 上記のコメントにも書いたのだが 以下のアンケートを プログラミングに詳しい人に質問です。大学でプログラミング経験の学部一年生向けにプログラミングを教えることを想定しています。週1コマ×半年程度の限られた時間で、プログラミングとはどういうものかという本質を教えたいのですが、どの言語を使うのが適切でしょうか。 再度取り直してみた 最初の質問時に対して正当率が 6%から70%と大幅に改善されていることがわかるだろう (無効な投票は除いている) 最初のアンケート結果 私が行ったアンケート結果 ポイントは 1.最初と最後の質問項目は使わない(BOTや意味無く選ぶ人よけ) 2.「○○な人は回答しないで下さい」ではなく「○○な人はこちらを選んでください」と
反感を買ってしまった例のアンケートですが、コメント欄ですごくいい話がされていました。 http://q.hatena.ne.jp/1221708568#c131208 プログラミングとはどうあるべきかという話になった時に、彼が "We're not smart enough (to know the answer.)" と言ったのが印象に残っています。 僕もその通りだと思います。 このアンケートが反感を買った理由の一つには、質問文の表現が「この質問者は自分は本質を知っていると思っている」という誤解を招きやすいものだったことがあるのかな。実際は、漠然と「これよりはこれのほうが本質的なのでは」と思うことはあっても、「これが本質です」と人に教えられるほどの自信はありません。なのでこういう形でいろんな人の意見が聞けるのはとても面白いです: 【プログラミングとはどういうものかという本質】とは何だと思
11年も前のプレステゲームの話などをしてもわかる方は少ないだろうけど、私のプログラムに対する考え方を教えてくれたものなので書き記しておきます。 ソフトウェアをプログラムする事が、いったい何を意味しているのかという基本的な部分がそのゲームには詰まっていたからです。 そして、はてなブックマーカー達には、なぜプログラマや技術屋が多いのかというのも、この結論でなんとなく納得してしまいました。 その前にまず、カルネージハートって何よという人のために説明しておきます。 書いて気がついたのですが、かなりマニアックな話になりますので、ゲームに興味のない方は見るのつらいかもしれませんので先に言っておきます。 無人ロボット作成ゲーム 初代カルネージハートは、3対3のロボット同士を戦わせるゲームでした。 高校のときにはまり4~5年やってましたがこれが面白い。 今ではPSP版が出てますね。 ゲーム内容としては、ハ
Binstock on Software: Perfecting OO's Small Classes and Short Methods The Pragmatic Programmersシリーズの新しい本、The ThoughtWorks Anthologyの中に 興味をそそるエッセイがある。Jeff Bayの"Object Calisthenics"だ。 これは良いオブジェクト指向の性質を実証する小さなルーチンを書く方法をマスターするための 詳細にわたるエクササイズだ。オブジェクト指向なルーチンを書く能力を向上させたい開発者がいるなら このエッセイに目を通すことを勧める。ここにBayのアプローチを要約してみよう。 彼は次にあげられる制約のもとに1000行のプログラムを書くことを勧めている。 これらの制約は意図的に過剰な制限となっているが、これは開発者を手続き的なやり方から脱却させるた
Libraのハッカソンやってるという話は先日「HackLibra、最初のオンラインハッカソン」で書きました。 …
http://anond.hatelabo.jp/20080323175904 半年前に「人月計算とExcelとスーツの世界より」を書いた増田だけど、この増田が他人に思えなかったので、半年ぶりに自分の話をしたいと思う。 半年前のエントリの内容、読んでない・読むのたるいって人のために簡単にまとめておく。 俺はCOBOLっていう昔々の言語を使って巨大な金融システムのお守りをしていた。それは誇らしい仕事(「これ読んで「転職考えろ」とか言ってるやつってアホだろ」的な意味で。これももっともな話だよね)ではあるんだろうけど、俺はやっぱりキャッチーな新技術がやりたくてたまらない。 そんなふうに増田に愚痴ったところ、なんか400以上のブクマがついた。以上がこれまでのあらすじ。 話の続きを始める。 あれほどのブクマを集めたことなど初めてだった。戸惑いながらも、日々増えていく皆のコメントを噛み締めた。 転職を
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く