タグ

Programmingに関するjdgのブックマーク (62)

  • JavaScriptのnewって本当にいらない子? - あと味

    先日、「JavaScriptのオブジェクトについて考察してみた - あと味」を書いてから、chikuraさんからコメントいただいたり、id:dankogaiさんから「404 Blog Not Found:javascript - にはクラスはない」という記事で言及いただいたり、JavaScript: The Good Partsを読み返したりした結果、newについて調べたいという衝動にかられましたので、その調べた結果を書いてみたいと思います。 newを調べようと思ったキッカケを整理 まずは、そのキッカケから整理します。 chikuraさんのコメントより 押さえるべきポイントは、new演算子の際に何が行われるか?だと思うので、こちらのページもぜひ読んでみてください。 JavaScript の new 演算子の意味: Days on the Moon http://nanto.asablo.j

    JavaScriptのnewって本当にいらない子? - あと味
  • MooseでAdapterパターン - あと味

    前回に引き続きMooseでAdapterパターンを書いてみました。 教科書は結城さんのデザパタ。 コード Print.pm package Print; use Moose::Role; requires qw( printWeak printStrong ); no Moose::Role; 1; Banner.pm package Banner; use Moose; use Perl6::Say; has 'string' => ( is => 'rw', isa => 'Str' ); no Moose; sub BUILDARGS { my ($self, $string) = @_; return { string => $string }; } sub showWithParen { my $self = shift; say '(' . $self->string . '

    MooseでAdapterパターン - あと味
  • MooseでIteratorパターン - あと味

    最近、Perlでとあるプログラムを作成しているのですが、動くコードは書けるものの、納得できるコードが書けないというジレンマに陥っています。オブジェクト指向で作りたいとは思いつつ、手続きで書く→オブジェクト指向っぽく直す→これでいいの当に?みたいな悪循環にハマります。要するに経験不足なので、設計ができないし、良い設計がどんなものかもわかんないんですよね。 ということで、一旦脇道にそれて、良い設計のお手とも言うべきデザインパターンに入門してみることにしました。 教科書はいろんな人が教科書にしているid:hyukiさんのデザパタです。ずっと手元には置いていたものの、実装したことがなかったので、紹介されているパターンを前から順番に実装してみることにしました。 増補改訂版Java言語で学ぶデザインパターン入門 作者: 結城浩出版社/メーカー: ソフトバンククリエイティブ発売日: 2004/06

    MooseでIteratorパターン - あと味
  • まつもとゆきひろ氏が語る「ビューティフルコード」セミナーに行って来た - LukeSilvia’s diary

    まつもとゆきひろが語る「ビューティフルコード」×「プログラマ35歳定年説」に行ってきました〜。今年初めて行ったイベントなのですが、とてもいいお話を聞くことができました。美しいコードとはどのようなものか、またそのようなコードを書けるようになるためにはどうすればいいのかというお話でした。 以下、まとめになります。僕のメモを元にしたので、まつもとさんが話された内容と多少ズレがあるかもしれません。 そもそもコードとは何か 「コードの美しさとは」という前に、そもそも「コード」とは何か。 ソフトウェアの作成はものづくりではない コードは工業製品ではない。コードは、車とかと同じ工業製品だと思われることが多く、例えば次のような勘違いがある。 日は「ものづくり」が得意だ。だからソフトウェアも「ものづくり」として取り組めばいい 車のように、ソフトウェアも部品をどんどんコピーして組み合わせばできる 違うよ!全

    まつもとゆきひろ氏が語る「ビューティフルコード」セミナーに行って来た - LukeSilvia’s diary
  • 404 Blog Not Found:オブジェクトは難しくない。難しいのはクラス

    2006年11月16日16:55 カテゴリLightweight Languages オブジェクトは難しくない。難しいのはクラス 大人だからオブジェクトは難しくなる。子供にとっては実はオブジェクトは自然で自明で簡単だ。 オブジェクト指向を正しく理解する:ITpro オブジェクト指向はしばしば,とっつきづらく難しい技術と言われます。その理由の一つには,対象とする分野が広く,それぞれに深みがあることが挙げられます。しかし,それ以上にこの技術を難しくしている落とし穴とも言うべき原因が二つあると筆者は考えています。それは比喩を乱用する説明の仕方の問題と,「もの中心」を意味するコンセプト自体の問題です。事実、オブジェクト指向というのは最初は子供向けだったのだ。 このことを、現在「オブジェクトとはなんぞや」という大人たちは忘れてしまっている。 それで、オブジェクトとは何か、といえば、「自分が何が出来る

    404 Blog Not Found:オブジェクトは難しくない。難しいのはクラス
  • 株式会社コスモルート|就職情報なら、リクナビ2010

    クリスマス(イブ×10) に、こんにちは。製造技術部 電子設計Gの 竹内 です。   いやはや、不景気ですね。困りましたねー。私も、氷河期最期の一年の就職組ですから多少の苦労は知っています。 一、あなたたちには武器がある。   「そんなことを言っても就職活動なんてしたことがないから、何からやったらいいかわかんないよ!楽観的なことばっかり言ってんじゃねえぞ!バッカヤロー!!」 おーなんと、暴言でしょうか。 まあまあ、そんなに世の中悪い人ばかりではありません。楽しく行きましょう。 就活に望むにあたって、SPIとか最近ではweb テストとかいろいろあるようですので、種々の勉強は必要でしょう。面接への準備・対策も重要な課題です。   しかし、それらのことを近視眼的にやりまくってもあまり意味がないでしょう。 特に、不景気の折はそうなのです。   就職活動と並行してやってほしいことは以下の2つです。

    jdg
    jdg 2008/12/17
    あなたたちには武器がある。すごく素敵なアドバイス。
  • 初心者はプログラミングをどうやって学ぶと良いのだろうか?:Geekなぺーじ

    最近、初心者がプログラミングを学ぶ(もしくは、初心者にプログラミングを教える)にはどうすれば良いのかが良くわからなくなってきました。 ここで言う「学ぶ」や「教える」というのは、授業などではなくゆるいつながりで知人に教える事を想定しています。 (まあ、学校の授業でもいいのかも知れませんが。) 色々ある Ruby,PHP,Perl,Java,JavaScriptあたりがWeb界隈で最近良く見るプログラミング言語だと思われます。 初心者にとっては、生でHTMLCSSを書くことも「それ既にプログラミングでしょ」という感覚もあるようです。 さて、「全くの初心者だけど何でもいいからプログラミングを学びたい」という人は何から手をつければいいのでしょうか? 個人的にはC言語の方が入門者向けだと思う 個人的には、オブジェクト指向的な「難しい」ものを最初から理解できるのだろうか?というのがいつも疑問に思えま

  • JSLint,The JavaScript Code Quality Tool

    JSLint, The JavaScript Code Quality and Coverage Tool. This file allows JSLint to be run from a web browser. It can accept a source program and analyze it without sending it over the network.

  • バベル案内

    Steve Yegge / 青木靖 訳 2004年9月 これは駆け足の言語案内だ — Amazon Developers Journalのために今月書いていたのだが、どうもこれを見苦しくないようにする方法を見つけられなかった・・・。 ひとつには、私はどうも粗野で口汚くなりがちで、オフィシャルな趣のあるAmazonの出版物に載せるのは不適切に思えた。それでかわりに誰も読まない自分のブログに押し込めてしまうことにした。読んでるのはあなたくらいのものだよ。どうも! もうひとつ言うと、これは当に書きかけのものであり、そこかしこの断片を集めたものでしかない。全然磨き上げられていない。これもブログエントリにする理由になっている。ブログなら別に良質である必要も完全である必要もない。単に私が今日考えたことというだけのものだ。ではお楽しみを! この駆け足の案内では、C、C++、Lisp、JavaPerl

  • ホワイの(感動的)Rubyガイド

    このはホワイ・ザ・ラッキースティフ(why the lucky stiff)により愛情を込めて書かれた。 ~ 目次 ~ このについて コンニチハ、Ruby このを開く 犬の話 赤い太陽が昇る はどのように始まるか (漫画のキツネと学ぶ)短時間の(そして願わくは辛くない)Rubyコース 言語と、言語で意味しているもの 品詞私がまだあなたのことを十分子供扱いして いなかったなら あなたの成長を促すための例題 そして短い旅はそっとクッション停止する 浮いている小さなコードの葉っぱ アンブローズにおけるステータスシンボルとしての葉っぱ 小さくてほとんど価値のないもの 妄想をつなぎ合わせる ブロックの奇跡 ルールを作るものと夢を生きるもの これは権利を奪われた人のため コンピュータのある城 娘のオルガン教師の話のつづき ヤギは映画を全部見たがっている 盗まれたくじ主 ルールを作る者たち 夢を

  • Build seven good object-oriented habits in PHP

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    Build seven good object-oriented habits in PHP
  • オープンソース・プロジェクトではどんな言語が使われているのか - モジログ

    Zea Partners - Python Shows Continual Growth in Open Source Projects http://www.zeapartners.org/Members/netsight/python-growth001 オープンソース・プロジェクトでのPythonの使用が増えつづけている、という記事。根拠になっているのは「Ohloh.net」というサイトの統計らしい。 Ohloh.net http://www.ohloh.net/ このOhlohはオープンソース開発者・ユーザのための情報サイトのようで、各種のオープンソース・プロジェクトや、そこにかかわる開発者などの情報がある。 このサイトに「Programming Language Graphs」というページがあり、オープンソース・プロジェクトの活発さなどを言語別に見ることができる。冒頭の記事の根拠

  • ハッカーに憧れてたダケのオマエらに捧ぐ(序+目次) - Eloquent JavaScript - 暗号、数学、時々プログラミング

    Eloquent JavaScript | 06:06 | 心配するな。日語は死なんよ 来たか、ハッカー大好きはてなー野朗。ちょっとオマエ、ブクマを見せてみろ。ん?なんだこの大量の「あとで読む」タグは?! で、これは読んだのか? 何? まだだと? あ?「だって英語で書いてあるしー」だ? で、「その前に英語やらなくっちゃ!」と思ってやった事が、英語Tips のページにブクマして「あとで読む」タグを付けること? おめでてーなー。オマエは当におめでてーヤツだよ。今日も新たな教材探しか? おい、、、図星かよ。涙目になんなよ。。 今日から、そんなオマエのヘタレな日常とサヨナラ出来るよう、またオレが教材を用意してやったぞ。喜べ。元ネタは"Eloquent JavaScript (オレ的な超訳では「スゴいよ JavaScript」)"だ。コイツの出来の良さは関係各方面でお墨付きが出てるから安心しろ。

    jdg
    jdg 2008/11/21
    口調とは裏腹にすごくやさしさを感じる
  • JavaScriptで作るiPhoneアプリケーション·Big Five MOONGIFT

    iPhone向けのアプリケーションを開発する場合、Objective-Cを習得する必要がある。オブジェクト指向の言語ではあるが、習得のためにはコストがかかるのは確かだ。開発することで一気に世界が開ける可能性もあるが、利用範囲の限られた言語を覚えることに躊躇してしまう人もいるのではないだろうか。 スプラッシュスクリーン そこで普段使い慣れているHTMLJavaScriptを使ってアプリケーションを構築しようと言うのがこのフレームワークだ。 今回紹介するオープンソース・ソフトウェアはBig Five、Webベースの技術で実現するiPhone/iPod Touchアプリケーションフレームワークだ。 Big Fiveは言わばプロキシを提供するソフトウェアだ。HTMLからJavaScriptを使ってiPhone/iPod Touchの各APIにアクセスを可能にするのだ。現在位置の取得、内蔵カメラを

    JavaScriptで作るiPhoneアプリケーション·Big Five MOONGIFT
  • ちょっと変わったLisp入門 - @IT

    Lispの一種であるScheme。いくつかある処理系の中でも気軽にスクリプトを書けるGaucheでLispの世界を体験してみよう(編集部) 「Gaucheでメタプログラミング」と題して、これからGaucheを使ったプログラミングの連載を書かせていただきます吉田裕美です。よろしくお願いいたします。 Gaucheとは 今回の連載で取り上げるGaucheはハワイ在住の日ハッカー、川合史朗さんが作った、Lispの一種であるSchemeのオープンソース処理系です。 Gaucheの特徴は、PerlRubyのように気軽に使える軽い処理系だということです。Perl同様に正規表現や文字列操作が行え、ちょっとしたツールの作成にも使えます。しかし、非常に強力なCommon Lisp風オブジェクトシステムを持ち、Lispならではのマクロに加え、Webやグラフィックスなどの豊富なライブラリも持っているので実用

    ちょっと変わったLisp入門 - @IT
    jdg
    jdg 2008/11/02
    gaucheってlispだったのか。知らなかった。
  • 現代という時代は、どのようなプログラミングを求めているのか? - 分裂勘違い君劇場 by ふろむだ

    Rubyを使うべき当の理由は、根源的には、日で自殺者が増えた理由と同じです。 今後日が没落していく理由とも同じです。 団塊の世代に無能な人間が多い理由とも同じです。 サービス残業が増えた理由とも同じです。 日の多くの若者たちが未来に希望を抱けない理由とも同じです。 いまの学校教育が無能な人間の製造工場になってしまっている理由とも同じです。 その理由は、根的には、「単純ニーズの飽和」という環境変化に起因します。 そして、それによって、プログラミングが経営行為になってしまったことが原因なのです。 団塊の世代の仕事人生の大部分は、単純ニーズを満たすための仕事に費やされました。 冷蔵庫の普及率が低く、しかも誰もが冷蔵庫を欲しがった時代には、何をやるべきかは、明らかでした。 とにかく、額に汗して働き、安くてよい冷蔵庫をどんどん作れば良かったのです。 冷蔵庫に限らず、洗濯機、ラジオ、テレビ

    現代という時代は、どのようなプログラミングを求めているのか? - 分裂勘違い君劇場 by ふろむだ
  • はびこる「インジェクション系」のぜい弱性:ITpro

    Webアプリケーションのぜい弱性を示す用語として,クロスサイト・スクリプティング,SQLインジェクションといった言葉の認知度はかなり高まった。ブログ・サイトなどでも活発に議論されている。しかし,Webサイトの実態はどうだろうか。 筆者の所属する京セラコミュニケーションシステムでは昨年(2006年),ぜい弱性診断を実施したWebサイトの統計情報「2007年版 Webアプリケーションぜい弱性傾向」を発表した。これによると,パソコン向けWebサイトの48%に致命的なぜい弱性が見つかった。このうちワースト1位はクロスサイト・スクリプティングで56%,2位はSQLインジェクションで11%と,どちらもインジェクション(注入)系のぜい弱性。これらのぜい弱性を持った危険なサイトは依然として存在するのが実情である。 これらWebアプリケーションのぜい弱性があまりなくならない理由はいくつかあるが,以前は「ぜい

    はびこる「インジェクション系」のぜい弱性:ITpro
  • プログラミングテクニックのまとめ - プログラミング日記

    とりあえず思いついたもののまとめ。 まずは、ベーシックなものから。 変数のスコープをなるべく狭くしろ 他はグローバル変数を使うなとか、モジュール化と界面を意識せよなど。とにかくスコープは重要かつ意外と奥が深い。スコープに関係する機能は、モジュール(パッケージ)、クロージャ、ローカル関数、ローカルクラス、変数の種類、アクセス制御など。 同じロジックのコードを2度以上書くな 他はDRY原則、コピペをするななど。自分の場合、2度書く方がシンプルになる場合、2度書くこともある。特に、ifやswitchなどのロジックの中で同じコードが2度現れる場合、ちょっとしたコードでわざわざ別のところで関数やブロックにまとめて、それを参照するのは面倒。但し3度以上現れる場合は関数などにまとめるケースが多いかも。 汎用コード内で条件分岐コードを減らせ 他はifをポリモーフィズムによりなくせなど。条件分岐は汎用性を損

    プログラミングテクニックのまとめ - プログラミング日記
  • Flashでインタラクティブアート勉強したい人におすすめの書籍まとめ | fladdict

    最近のFlashって、絵描く人とコードコードした人が分離しすぎちゃって詰まらないなぁと思ったので、両側やってみたい人向けのとっかかりになるとかまとめてみた。Flashでモニョモニョ動いたり、ビュワビュワ多量情報をビジュアライズした人向けの資料集。自分が実際に読んだ/持ってるからピックアップ。 ストックエントリベースだから、最新のとかは抜けもあるかも。 ■ActionScript 1 & 2編 Flash Math Creativity 初等数学と工夫でいかにイメージや動きをジェネレートするか?という。洋書のみ。数行のシンプルなコードによる習作から徐々に作品を発展させていくスタイルはインタラクティブなコーディングの初心者には大変勉強になる。ActionScript1によるフレーム直書のスタイルの為AS3から入った人はちょっとビックリするかも。サイトから掲載習作の全動作サンプルが見れ

  • Ruby on Railsのチームから学ぶ仕事術

    Ruby on Rails自体についての解説は、「WebプログラマはRailsに乗るべきか?」や、「Rubyアジャイルプロトタイピング」にもありますので、そちらもぜひご覧ください。記事は2006年に執筆されたものです。RubyRuby on Rails全般の最新情報は@IT Coding Edgeフォーラムをご参照ください。 素早く開発が行えるRuby on Railsに驚くとともに、Railsプロジェクトの素早さの根源はどこにあるのか不思議に思った人も多いことでしょう。 Ruby on Railsの開発には、37singals社のDavid Heinemeier Hansson氏を中心とする11名で構成されたチームがかかわっています。 Core team behind Ruby on Rails Ruby on RailsによるWebアプリケーション構築風景を撮影したいくつかのス

    Ruby on Railsのチームから学ぶ仕事術