プログラミングを独習するには10年かかる

Teach Yourself Programming in Ten Years 日本語訳.

有名な文章のようだけど知らなかった。
10年という短期間で英語をマスターする方法 経由で知りました。)

当たり前のことが書かれてあるだけなんだけど、それがグサグサ刺さる。

そりゃそうだ、10年かけて深い技術を習得してきた人達に対して、一朝一夕で身につけたもので太刀打ち出来るはずはない。
コンピュータの世界も、もちろんその他の世界でも。例外なんてない。

個人的に”きた”のは以下の辺り。

・少なくとも半ダースのプログラミング言語を学ぶこと。そのうちの一つはクラス抽象をサポートするもの(例えば Java や C++)、一つは関数抽象をサポートするもの(例えば Lisp や ML)、一つは構文抽象をサポートするもの(例えば Lisp)、一つは宣言的記述をサポートするもの(例えば Prolog や C++ テンプレート)、一つは coroutine をサポートするもの(Icon や Scheme)、そして一つは並列処理をサポートするもの(例えば Sisal)であること。

うへぇ。

最近特に、手を動かしてるだけで、何か学びが少ないと感じていた(単にフレームワークの使い方を学んでるだけで、深く理解してないよなぁ、とか…) ところだったので、とても響いた。

10年間、ただプログラミングを続ければいいわけじゃない。
年々新たなステージ(深み)に入って行かないといけない。

その意味では確実に最近停滞してる。
学生時代終盤〜社会人初期に頑張った貯金を食いつぶして生きている感じ。

新しく仕入れてるのはGooglableな知識ばかり。
ここらで意識を変えないと”老害”になっちゃうんだろうな。反省しよう。

なお、この記事はこんな文章で締めくくられている。

さあどうぞ、その Java の本をお買いなさいな。それが何かの役に立つかもしれない。でも、24時間や数日や数ヶ月であれ、それであなたの人生は変わらないし、プログラマーとしての実際の技能全般もまたしかり。

最新の原文はこう。

So go ahead and buy that Java/Ruby/Javascript/PHP book; you’ll probably get some use out of it. But you won’t change your life, or your real overall expertise as a programmer in 24 hours, days, or even weeks. How about working hard to continually improve over 24 months? Well, now you’re starting to get somewhere…

その”美味しそうな”タイトルの本で学んだことなんて、万が一目先の作業に役立ったとしても、あなたの人生やスキルに何のインパクトも与えないですよ、と。

本当のエンジニア力を身につけないと。改めてそう思わせてくれる良い文章でした。

(未解決)livedoorメールが勝手にGoogleアカウントに統合されたり、Googleグループの登録メールアドレスが勝手に変わったりしてびっくり。

bornneet@gmailなアカウントを所有してたんだけど、メールは昔から使ってるlivedoorメールを使いたくて、Gogoleグループにはそっちを登録してた。
が、今日の1時ごろから?、bornneet@gmailに勝手にメールが飛ぶように変更されてた。
なんだこれ?

いろいろ見てると、livedoorメールが別のgmailアカウントに勝手に統合されちゃってた。(マルチアカウント。右上から切り替えるやつ。)

で、bornneet@gmailの方からGoogleグループにアクセスするとこんな画面が。

に、日本語でおk…。
「変更されました」ってしてないっす……。

たぶん、livedoorメールが別のgoogleアカウントとして統合されちゃった影響でしょうね。(Google AppsのアカウントはGoogleアカウントと統合されると内部での扱われ方が変わるっぽい。)

とりあえずアドレスを変更しないをクリックしてみる → 解決しない、ミスったorz
登録してるグループごとにひとつひとつ変えていってもいいけど、面倒くさいのでこっちのアドレスで受信することにする。

まぁこれはどっちでもいい。問題はlivedoorメールとgmailが統合されちゃった方。
いちいち切り替えるの面倒すぎる。

他にも困ってる人がいるみたいだけど、僕も解除する方法がわからなかった。

というわけで、今だ解決せず。

独自ドメインでメール作って運用しようかなぁ、と真剣に考えた1日でした。

Excel for mac 2011で罫線の鉛筆ボタンを出す方法

Google Docsは日々進化してて単純作業なら十分こと足りるようになってきたけど、
大量のデータを処理したい時や、他人に見栄え良く見せたい時はやっぱExcelが便利。

というわけで、久々に使ったんだけど、鉛筆で罫線引こうと思ったら「罫線ツールバー」がない。
リボンはいまだにわけわからん。

ここに載ってた。
Excel for Mac 2011 で Excel for Mac 2008 のように鉛筆ポインタより罫線を引く機能はありますか – Microsoft Answers

メニューバーの「表示」から、「ツールバー」→「ツールバー/メニューのユーザ設定」を選択。
「コマンド」の「書式」の中に罫線関連のボタンがあるのでそれをドラッグドロップでツールバーに追加すればOK。

僕は
「罫線を引く▶」「罫線を削除」「罫線の種類」
の3種類を追加しました。

こんな感じ。

これで快適な線引ライフが送れそうです。

このブログの”フロントエンドSPOF”を測ってみた

金融システムに関わっていたこともあり、SPOF(単一障害点。その一箇所がダメになったら全体が止まっちゃうような箇所。クリティカルなシステムではこれをなくすために必死で頑張る)という言葉は嫌という程聞いてきたんだけど、フロントエンド〜という言葉はこの記事を読むまでは知らなかった。

3rdパーティー製スクリプトによるフロントエンドSPOFを検出するChrome拡張 | ゆっくりと… 

概念としてはもちろん知ってたけど、個人サイトであんま意識したこともなかったし、良い機会なので上記ブログで紹介されてたChrome拡張で調べてみた。

すると案の定、

ダメダメでしたorz
(拡張の機能で試しに外部スクリプトの読み込みを遅延させてみると見事に真っ白!)

対策しよう!


早速何とかしようと、scriptのdefer/asyncを理解し、ページの高速化方法を探る | ゆっくりと… を読んでscriptのdefer属性、async属性を改めてお勉強。

deferはscriptの読み込みを後回しにして順番通り実行(実装依存?)、asyncは順序関係なく完全非同期という感じ。
単純に属性をつければいいかというと、そんな美味しい話はなく、scriptの中でdocument.writeとか使ってる場合には使えない。(後回しにできないので当たり前か)

対策断念…


今回検出された5つのスクリプトがdefer/async付与による対策ができるか確認してみる。

まず、Google plus、Adsence、Grow!ボタンはdocument.writeを使ってるのでNG。
そして残りはIE9.jsとhtml5.jsという、いずれもhead内で先に実行しときたいんじゃないかというもの。

うーん、対策できそうなやつないな^^

まぁGoogleが落ちることはそうないだろうし、Grow!については最後のほうで読んでるので影響も少ないし、とりあえずはよしとするか…。

以前作ったMac用カラーピッカーアプリ「カラクリ」のソースコードを公開します

2月に入門エントリ(ページが重いので注意!)を書いた時に作ったものです。
一応理由があって非公開にしてたんですが、特に意味ないことがわかったので公開します。

tnantoka/ColorClick

説明の簡略化のためAppDelegateに全部を詰め込んだ作りになってるので、実際のアプリには流用しにくいと思いますが、コードの断片は参考になるかもしれません。

それでは。

次はMac App Storeにリリースできるアプリを開発しようと思っています。
AdMob for Macがあればいいのになー。

1 15 16 17 18 19 27  Scroll to top