This site has been archived. Please visit the Adobe Blog for the latest Adobe articles.
ふと昔自分が書いたコードを眺めてました。 あるあるだと思うんですが、「ひどいなー」とか「今ならこうするなー」とか思ったりするわけです。 今日はそんなひどいコードたちを、自分への戒めという意味も込めて、正していこうと思います。どれも基本的なことばかりですが。 ちなみに、ここで挙げている昔のコードは、いずれもバグ予備軍的なコードだったり、ちょっとイケてなかったりするコードです。 そのコードが動く環境では期待通り動いてます。 本当にバグを見つけちゃったら、こんな感じでは書けませんね。 for 文の継続条件式におけるプロパティ参照 昔のコード: for (var i = 0; i < items.length; i++) { // ... } 今ならこう書く: for (var i = 0, length = items.length; i < length; i++) { // ... } Ja
ドキュメントコメント、書いてますか? githubで公開するライブラリなど、特に人に見せるようなコードには、きっちりコメントを入れておきたいものですね。 せっかくなら世界中の人に使ってもらいたいので、頑張って英語で書きたい。 でも、やっぱり英語には自信がなくて、何度も辞書や既存のドキュメントを見直してしまう…。 こんなムダな日々におさらばするため、代表的なドキュメントをいくつかピックアップして、頻出表現をまとめました。 もうこれで迷わない! …いや迷うけど、それでも負担はグッと減るはず! 参考ライブラリ Java – Java Platform SE 6 Closure Library – Closure Library API Documentation Foundation – Foundation Framework Reference UIKit – UIKit Framewor
By nicola.albertini 「ウンコードとは、糞のようにヒドいプログラムのことです。クソースなどとも呼ばれます。ヒドいプログラムは、プログラマの健康を脅かします。 「ウンコードなんて今すぐ消してしまえばいい。」 と言いたいところですが、既存のヒドいコードのプロダクトが、利益を生んでるケースも多いことでしょう。 結局、ヒドいプログラムをメンテナンスしつづけているという不幸な人も多いはずです。ヒドいプログラムを書いてしまうプログラマが、このサイトでウンコードについて 勉強して、もっとプログラムに気を使うようになって、 引き継ぎをした人も健康でいられますように。なむなむ」ということで、プログラマのためのストレス解消サイトであり、なおかつ教育サイトでもあり、そして主に他の人が創作したウンコードを鑑賞するのが目的というサイトが「ウンコード・マニア」です。 ウンコード・マニア http:/
プログラミング初心者が写経する時に気をつけると良い事を4つ説明します。 画像はイメージです プログラムを勉強する時に、写経しろ(すでに完成しているプログラムを本から書き写せ)とか言われるが、ちょっと意識するとだいぶ違うと思う 1. 外から書け 例えば、1からnまでの数字を全部表示するプログラムがあるとする。 def run(max) 1.upto(max).each do |i| puts i end end run(10) これを写経する時、上から下に1行目から順に書くのではなくて、まず def run(max) end いちばん外側を書いて def run(max) 1.upto(max).each do |i| end end 中を書いて def run(max) 1.upto(max).each do |i| puts i end end こうなる。 上から書かないのが重要。プログ
Coding Horror: Please Don't Learn to Code Please Understand Learning to Code Coding Horrorで有名なJeff Atwordが、ある州知事が今年の目標としてプログラミングを習得することを挙げていることに対し、そもそも税金を払う我々市民は、政治家にはプログラミング習得以上に重要な、政治家にしかできない問題の解決を望む、よってプログラミングを学ぶのをやめてくれという記事を書いた。これに対して、反論が多数上がっているが、Jeffも読んでいるある論文をあげて、この議論の参加するためには、必ずこの論文を知っておくべきであると書いた人がいる。この論文は有名で、非常に興味深いので、全プログラマーが読むべきである。 ふたこぶラクダという名前で知られている有名な論文がある。この論文では、60%の人間にプログラミングの素質が
バーンれっどさーん @ledsun たかしへ あなたの勤怠確認しました.こんなに残業が多い割に大して売上が上がってないのはどうしてですか?顧客との信頼関係の構築も甘いとと思います.来月からは頑張って下さい.ちなみに母さんは今月、10人月で作ったシステムを3000万で売ってきました。 2012-02-24 13:21:23 バーンれっどさーん @ledsun たかしへ あなたの立てたスケジュール読みました。作成工数だけでバッファがありません。予想外の事態が起きた時はどうするのですか?残業でカバーですか?お客様が参加するイベントが入っていません。都度調整ですか?事前に提示していないと都合がつかなくても納期延長できませんが大丈夫ですか? 2012-02-24 13:46:29 バーンれっどさーん @ledsun たかしへ あなたの作った機能仕様書読みました。技術的面ではチャレンジグで素晴らしかっ
You too can find work as a programmer in Japan! Programming and software development is one of the few fields where non-Japanese can find great jobs in Japan. But in order to work in Japan, it is essential to learn the Japanese language. Especially, one must know the lingo used in the field where one is working -- namely software! For this purpose, I have gathered notes during my four years worki
この記事の対象: ユーザーインターフェイスやグラフィックスを扱うデザイナとプログラマ 昔話から始まって恐縮ですが、私が3DCGプログラミングに触れたのは今から20年近く前、当時学生だった清水亮氏がプログラミング雑誌に投稿していた記事やプログラムを見掛けたのがきっかけだったと思います。私は残念ながら「神童」ではなかったのでベクトルや行列については「チンプンカンプン」でしたが、いずれ3DCGを扱ってみようという気になった事は確かです。 その当時と今では、ハードウェアの性能、ソフトウェアの規模、そこから生まれるCGの表現力、何れを取っても桁違いになってしまいました。が、ベクトルを伸ばして、回して、移動させて、という操作がコンピュータグラフィクスの基本である事は何一つ変わっていません。 20年前の昔、家庭のコンピュータでベクトルや行列の計算をして画面にポリゴンを描くなどという事に興じていたのは、一
tbaggery - A Note About Git Commit Messages A successful Git branching model » nvie.com Commit Often, Perfect Later, Publish Once—Git Best Practices だいたいこれらに書いてあることを考えている。 基本的にGit Successful Branch Modelで運用する。git-flowを入れて使っているけど、手でやってもそんなに面倒ではないし好きなようにしたらよさそう。 Subversionを個人で使っていたころはブランチはよくわからないけど恐しいものだったけど、Gitを使いはじめてだいぶ親しめるようになった。 文字通り、ブランチ、枝である。気軽に扱えるということは理解の助けにもなる。 コミットの単位 論理的に最小限度のコミットをつくる。「こう
1. The document describes how the author's experience with Emacs as a student taught him about software freedom and how to read and modify source code. This led him to create his own Emacs-based tools and influenced the design of Ruby. 2. Emacs taught the author the power of Lisp and how to implement a programming language and garbage collection. Using Emacs to write code, documents and email made
Twitterのタイムラインが面白すぎて、ついうっかり言語を擬人化して脳内で言語女子会なるものを開いてしまいました。なお、登場人物と実在の人物は1対1に対応しません。 undefinedとnullの両方必要なの? とあるプログラミング言語が集う女子会にて: Perl: そういえばさ、なんでJavaScriptちゃんってundefinedとnullの両方もってるの? JavaScript: えっ、未定義の変数にアクセスした時undefined返したいじゃない? Python: 例外投げて死ねばいいじゃん Ruby: 例外投げて死ねばいいよね Python & Ruby: ねー♡ Java: いやそこは参照型ならnull、数値型なら0で初期化すべきでしょ C: これだから最近の若い子は…初期化にだってコストが掛かるんだからね!デフォルトで初期化するなんて無駄遣いよ!必要な人だけが責任をもって初
おっと、タイトルだけ見て、先週から話題になっているはてなブックマークボタンのトラッキング問題の話かと思われたかもしれないが、本文でははてなブックマークの問題はほとんど扱わない。また、この問題について未だご存じない方は、ARTIFACT@ハテナ系のエントリの後半にあるこれまでの流れを辿ると分かりやすいだろう(ワタシ自身の認知にも近い)。 はてなが新サービスとしてはてなブログをリリースして4ヶ月以上経つ。当初は招待制だったが、昨年末にオープンベータに移行して現在にいたっている。 ワタシもリリース時に招待されたので少し触ってみたが、機能が何から何まで足らないことにびっくりしたものである。そして、はてなは「アレ」をやらかしたのではないかという疑念が頭をよぎったが、まさかと思う気持ちと、短時間触っただけの印象で間違った批判をしてはいけないという自制、何よりそのあたりはじきに解決するのだろうという楽観
(ε・◇・)з いつも JavaScript のローレベルな話題をお届けしています~ (ε・◇・)з このブログは今日も平常運転です~ さて、引数を1つしか持たない単純な関数は不便なのでしょうか? 便利なのでしょうか? このエントリでは、 引数を1つしか持たない単機能な関数は、Array#map などのイテレータと相性が良い イテレータと組み合わせて使える関数に、うかつに引数を追加するとバグを生み出してしまう事がある という例をご紹介します。 引数を1つしか取らない関数にできること 引数を1つしか持たず、与えられた文字列の先頭を大文字化する関数(例: toUpper)は、Array#map などのイテレータと組み合わせる事でスッキリと記述する事ができます。 function toUpper(str) { // @param String: // @return String: return
AI Opera’s vision: agentic browsers will tackle web inefficiency and unlock massive productivity gains July 31st, 2025 Agentic AI Browsers are here to completely shift the human-computer interaction, and that's why we are building Opera Neon. AI, Uncategorized This is what you can do with Opera Neon: The Next-Gen AI Agentic Browser July 18th, 2025 Discover Opera Neon, the first truly agentic AI br
そろそろ4月も近いということもあって、新たにWeb業界やSIer業界に入るぞという方がプログラミングの勉強をし始めているころでしょうか。最近は、エンタープライズでもWebクライアントが主流になりつつあるのでJavaScriptの習得は避けては通れない道だと思います。また、Node.js等サーバーサイドのJavaScriptも出てきたこともあって、非常に有用な言語になりつつあります。 そんなJavaScriptを学び始めている人の中でも、ある程度プログラミングをやったことがある人がJavaScriptの綺麗な書き方を学ぶのに絶対理解しておいた方が良い300行程度のソースコードがあります。 それは、JavaScript: The Good Partsに載っているJSONパーサのコードです。 JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス 作者:
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く