タグ

programmingに関するxnightsのブックマーク (21)

  • プログラマの麻疹 - 宇宙行きたい

    id:t-wada と話してた時に出てきた「プログラマの麻疹」 プログラマはみんなどうせかかるんだから早めにかかっておいた方が良い そしてかかっておくと治った後にはさらに良いコードが書けるようになるので 恐れずにかかりましょう 名前 症状 僕の状態 OO 厨 多分、現在一番キャリアが多い。一時期 AOP 厨になってしまった人も含むことがある。Smalltalk を神格化し始める かかり中 function 厨 最近増えてきた。マルチコア時代に最適というわかりやすい感染源ができたことも要因の一つ。LISP が世界を作っていると信じる 挫折中 三項演算子厨 どんどんネストした三項演算子を書いてしまう。気がつくと自分でもよくわからなくなってることもある 治療済み テスト厨 テストのためだけにコードを書いてしまう。プロダクトコードのきれいさよりもテストのしやすさを求めてしまう 治療中 lambda

    プログラマの麻疹 - 宇宙行きたい
  • プログラマになりたいあなたへの手紙

    この「プログラマになりたいあなたへの手紙」は,2008年3月24日に発売した日経ソフトウエア2008年5月号の特集「はじめてのプログラミング」向けに,6人のプログラマが著したものです。記述された内容は,執筆当時の情報に基づいています。ただし2009年3月下旬,寄稿者のみなさまは,その内容の確認と公開への同意をしています。

    プログラマになりたいあなたへの手紙
  • プログラマに必要なたった一つの力

    この記事は小飼弾氏が,2008年3月24日に発売した日経ソフトウエア2008年5月号の特集「はじめてのプログラミング」向けに著したものの再掲です。記述された内容は,執筆当時の情報に基づいています。 あなた,プログラマになりたいんですって? 当に? 当に? もう一度尋ねます。当に? 3回も念を押したのには,理由があります。このあと,さらに念を押します。この手紙を読み進めれば,あなたにもその理由がおわかりいただけるかと思います。 「日経ソフトウエア」を読んでいただいているからには,あなたは「プログラマ」という職業について,ある程度のイメージをお持ちだと思います。プログラマ,プログラムを作る人。では,プログラムって何でしょうか? その定義は,これをお読みになった人の数かそれ以上存在しますが,私にとっての定義は「コンピュータが仕事をできるようにすること」です。ご存じだとは思いますが,コンピュ

    プログラマに必要なたった一つの力
  • 無精で短気で傲慢なプログラマ 技術者・SE・プログラマ面接時の技術的な質問事項

    最近、技術者やプログラマの方と面接する機会が多いです。 毎回質問事項を考えるのにも飽きたので、再利用できるようにまとめておきます。 もしさわりの質問に対する反応が良かった場合は、さらに突っ込んだ質問 (インデントが深いもの) をします。経験がないようなら、さらっと流します。 当ページ管理人は、現在 EC サイト構築・運営を担当しているため、 そっち方面に偏っています。 最小限の質問でその人のスキルを見極めるのは難しいなぁ…。 ------- ●追記 ホッテントリに載ったようなので、このチャンスに 人材募集 を再アピールしておきます。 興味のある方はぜひ。 念のため言っておきますが、全部できないとダメというつもりは全くありません (当ページ管理人も、CSS・Eclipse・Struts・Spring・Hibernate・Ruby・アセンブラなど、 弱い部分が多々あります)。 「~はできますか

  • 未来の言語は「APL」? Rubyのまつもと氏が講演 - @IT

    2009/02/13 「今日はRubyの話はしません」。プログラミング言語「Ruby」の生みの親で開発コアメンバーでもある、まつもとゆきひろ氏は冒頭でそう話すと、自身のプログラミング経歴や半世紀に及ぶプログラミング言語の歴史を外観しつつ、未来のプログラミング言語へ向けた構想について語った。 書籍だけでPascalを習得した高校生 2009年2月12日、翔泳社主催で東京・目黒で行われた「Developers Summit 2009」でまつもと氏は「未来へつながる言語~ある言語おたくの視点から」と題した講演を行った。立ち見が出るほど詰めかけた観衆に向かって、“最も有名なプログラミング言語オタク”として自身のプログラミング言語観を披露した。 1980年代の高校生時代からプログラミング言語が好きだったというまつもと氏だが、一番最初に使った言語はBASICだったという。ところが、ローカル変数や構造化

  • Structure Synth

    Structure Synth is a cross-platform application for generating 3D structures by specifying a design grammar. Even simple systems may generate surprising and complex structures. The design grammar approach was originally devised by Chris Coyne (for a 2D implementation see the popular Context Free Art). Features: Graphical environment with multiple tabs and OpenGL preview Integration with third-part

    xnights
    xnights 2008/11/10
    3D版Context Free
  • Home | Processing Community Japan

    Processing Community Japan(PCJ)へようこそ。PCJは、Processingやp5.jsによるクリエイティブなコーディングを楽しむための情報や場を共有するオンラインコミュニティです。 Discord に参加

    Home | Processing Community Japan
  • MOONGIFT: » プログラミングを使ってアートをしよう「Context Free」:オープンソースを毎日紹介

    プログラミングは単なる文字列の羅列ではない。そこには開発者の思い、情熱の全てが注ぎ込まれている。何となく作ったものは見難く、バグをはらんでいる。しかし愛をもって接すれば、理路整然とした美しいプログラミングコードが生まれることだろう。 まるでアート作品。左側のコードで生成される そんなことをこれを見ていて感じた。アートをプログラミングするのだ! 今回紹介するオープンソース・ソフトウェアはContext Free、アート用言語を使って見事な作品を描くソフトウェアだ。 これまでにも同様のソフトウェアは幾つか紹介してきた。そうしたものは大抵が幾何学的なものが多く、線や文字を使って表現してきた。だがContext Freeはもっとアナログ的な、まさにアートの世界を描ききる。 これくらいアナログ的な作品もできる ランダムな要素を埋め込むことで、レンダリングを行うたびに異なる結果を得ることができる。どの

    MOONGIFT: » プログラミングを使ってアートをしよう「Context Free」:オープンソースを毎日紹介
  • 中途半端に優秀なプログラマが「正しいプログラミングテクニック」だと妄信しがちな3つポイント - 分裂勘違い君劇場

    「変数のスコープは狭いほど良い」と妄信する 変数でもメソッド名でもクラス名でも言えることだが、単純に「スコープは狭いほどよい」という方針でプログラムすると、逆に保守性も可読性も悪いプログラムができあがることがけっこうある*1。 実際、「あちこちから頻繁にアクセスするようなオブジェクトやメソッド」は、スコープをぐっと広くしてしまった方が(場合によってはグローバル変数やグローバル関数にしてしまった方が)、いちいちパラメータ渡しのバケツリレーをせずに、オブジェクトや機能を使うことができ、プログラムの可読性も保守性もずっと向上することがけっこうある。 たとえば、プログラムのいろいろな箇所から比較的頻繁にアクセスする必要があるようなオブジェクトや機能がバインド(格納)された変数やメソッドのスコープをクラスやメソッド内のローカルにして、それを使うときは、いちいち各クラスやメソッドにパラメータ渡しのチェ

    中途半端に優秀なプログラマが「正しいプログラミングテクニック」だと妄信しがちな3つポイント - 分裂勘違い君劇場
  • 芸術の秋にProcessingでスケッチプログラミングを始めてみよう(1/3) - @IT

    芸術の秋にProcessingでスケッチプログラミングを始めてみよう:絵心がなくても簡単に絵が描けるProcessing(1)(1/3 ページ) アートやデザインのための“プログラミング” 読者の皆さんは「プログラミング」という用語や、それをすることに、どんなイメージを持っているでしょうか。仕事に使われるアプリケーションやWebサービスの開発の世界の「プログラミング」を考えてみると、多くの場合「実用性や効率が重んじられ、専門的な知識を持ったエンジニアプログラマーが慎重に正確に行うもの」といったイメージではないかと思います。 しかし一方で、実用性ではなくスクリーンに表されるイメージや動きの美しさ、見るものを引き込むインタラクションのアイデアをプレゼンテーションする「プログラミング」の世界も存在します。エンジニアではなくアーティストやデザイナーが、驚きやインスピレーションを求めて大胆に「プロ

    芸術の秋にProcessingでスケッチプログラミングを始めてみよう(1/3) - @IT
  • Java におけるコード進化パターン (Code Evolution Patterns in Java)

    Java におけるコード進化パターン (Code Evolution Patterns in Java) asato shimotaki <asatohan at gmail.com> 最終更新日 : 2009/6/21 (2004/4/22 より) [...] For twenty years, I spent two or three hours a day looking at pairs of things -- buildings, tiles, stones, windows, carpets, figures, carvings of flowers, paths, seats, funiture, streets, paintings, fountains, doorways, arches, friezes -- comparing them, and asking my

  • Meshless Deformations Based on Shape Matchingを実装してみた - Dycoonの日記

    以下の論文にあるShape MatchingによるMeshless Deformable Objectを 実装してみた。 Meshless Deformations Based on Shape Matching http://www.beosil.com/publications.html http://www.beosil.com/download/MeshlessDeformations_SIG05.pdf 実装したものの動画はこれ パーティクルからShape Matchingで剛体などの物理パラメータを求めて それにあわせてパーティクルが引き寄せられる先(goal)を制約として 与えることでMesh構造のない変形表現を実現している。 ShapeMachingをおこなううえで、 Polar decomposition(極分解)をおこなう必要があるが これの計算方法は以下に書いてある。

    Meshless Deformations Based on Shape Matchingを実装してみた - Dycoonの日記
  • ガベージコレクションの実装法と評価

    1.はじめに プログラミング言語とはシステム化する対象物を抽象化し、コンピュータで処理可能なコードを記述するために用いる人工言語である。プログラミング言語はコンピュータの機械語と一対一の対応をもったアセンブラから始まり、コンパイラを用いて機械語に翻訳することを前提としたコンパイラ言語、インタプリタと呼ばれるプログラムがソースコードを解釈し実行するスクリプト言語と、記述できる抽象度を高める方向へと進化してきた。 プログラミング言語はその存在理由から、より抽象度の高い記述が行えること、すばやい開発を行える事が求められる。抽象度の高い記述とは、プログラムがどういう処理を行うか(HOW)ではなく何の処理を行うか(WHAT)を記述しやすい構文、機能を持っていることを、すばやい開発とは記述性の高さ、コードの密度の高さ、バグの発生しにくい構文、機能を持っていることをさす。 この抽象度の高い記述、すばやい

  • Animated Sorting Algorithms

    Discussion These pages show 8 different sorting algorithms on 4 different initial conditions. These visualizations are intended to: Show how each algorithm operates. Show that there is no best sorting algorithm. Show the advantages and disadvantages of each algorithm. Show that worse-case asymptotic behavior is not the deciding factor in choosing an algorithm. Show that the initial condition (inp

  • Google Code Jam が帰ってきました !

    スポーツ選手にはスポーツの大会が、チェスプレイヤーにはチェスの大会があります。ではトッププログラマの皆さんには ? Google では 2003 年からプログラミングコンテスト Google Code Jam を開催してきました。世界のトッププログラマ達を相手に腕試しをするのなら、Google Code Jam はまたとない絶好の機会です。各ラウンドは制限時間二時間で、巧妙なパズル風の問題がいくつか出題されます。まず問題を読み、コードを書き、テスト用の データをダウンロードして、正解かどうかをチェック。正解なら他の問題に移りましょう。間違っていたら? 選択肢は二つ。デバッグするか、もしくはもっと 簡単な問題を探すか…。 私 も今まで Google Code Jam を含むいくつかのコンテストに参加しましたが、当に貴重な体験でした。まず問題自体がどれも面白くて、考え抜いた末に解けたときの嬉

    Google Code Jam が帰ってきました !
  • 傾いた矩形の当たり判定

    ベクトルの内積を使うと傾いた矩形の当たり判定もできるそうです(しかも矩形に限らず何角形でもいい)。しかしちょっと難しそうです。ここでは、もっと単純明快な方法を書きたいと思います。 真ん中1ドットしか当たり判定がない自機が、傾いた壁や回転している敵と当たっているかどうか調べる、といった用途に使えると思います。 回転する前の矩形Aの左上隅の座標を(x1,y1)、中心座標を(cx1,cy1)とします。これを角度rだけ回転させた矩形をBとします。Bと点cとの当たり判定について考えます。これは、点cを反対方向に角度rだけ回転させた架空の点dと矩形Aとの当たり判定を行うのと同じことです。点cの座標を(x2,y2)、点dの座標を(tx2,ty2)とします。 次にtx2、ty2の求め方です。 点cと矩形の中心座標(cx1,cy1)との距離 l は√((x2-cx1)^2+(y2-cy1)^2)で求まります

  • もっと簡単に-線分交差判定-

    ここでは、線分交差判定の定石ともいえる方法を紹介しています。 線分と直線の見落としがちな大切な定義です。

  • 衝突判定 - HSP開発wiki

    ; ; 衝突判定サンプル(v.2.61) ; ;矩形同士の判定、矩形と線分の判定を行います。 ; ;################################################################################# ; ; 判定とかもろもろのモジュール ; #module ;---------------------------------------- ;矩形の枠のみを描画する ; パラメータはboxfと同じ #deffunc boxl int, int, int, int mref x1, 0 mref y1, 1 mref x2, 2 mref y2, 3 line x1, y1, x2, y1 line x2, y1, x2, y2 line x2, y2, x1, y2 line x1, y2, x1, y1 return ;---

  • さまざまな言語に対応するゲームプラットフォーム「Simple DirectMedia Layer」:CodeZine

    数々の3Dゲームで利用されるゲームエンジン ゲーム開発の世界では、他のプログラミング分野に比べて、ごく初期の段階からプラットフォームを正しく特定しておくことが特に重要です。WindowsLinux、およびOS Xをすべてサポートしたいとお考えですか?  実際、ゲームプラットフォームの草分けとして、1996年にOpenGL向けに開発された革命的なゲーム「Quake」を引き合いに出す人も多いでしょう。しかし、Quake並みのゲームプレイ水準に達するためには、第一級のオーディオサポート、ネットワーク接続、ユーザー入力デバイスサポート、リアルタイム管理機能なども必要になります。 この2つの課題、つまりクロスプラットフォームサポートとゲームの面白さの両方を追及するために役立つソリューションがSimple DirectMedia Layer(SDL)です。これは、オーディオ、キーボード、マウス、ジョ

  • Web APIで開発して300万円をゲット!クリック証券がコンテストを開催

    ネット証券のクリック証券は2008年5月21日,同社が公開するFX(外国為替証拠金取引)用のWeb API(Application Programming Interface)を使ったアプリケーションの完成度を競う「シストレFXグランプリ2008」を開催すると発表した。「FXの認知度を上げて,より多くの人にFXを楽しんでもらう。また,システム開発能力のある技術者や投資家を発掘する」と同社の高島秀行社長(写真1)はグランプリの狙いを話す。 シストレFXグランプリ2008には,二つの部門がある。一つは参加者がFX用のアプリケーションやWebサイトを開発する「シストレソフト部門」,もう一つは仮想の初期投資費用500万円を使ってバーチャル取引を行い,1年間でどれだけの収益を上げられるかを競う「トレード部門」である。 シストレソフト部門では,クリック証券が公開しているFX用のAPIを使ってデータを取

    Web APIで開発して300万円をゲット!クリック証券がコンテストを開催