タグ

programmingに関するdekillcanerのブックマーク (150)

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

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

    プログラマの麻疹 - 宇宙行きたい
  • KASOKU – Just another WordPress site

    Just another WordPress site

    KASOKU – Just another WordPress site
  • 「レガシーコード改善ガイド」のススメ 第1回:レガシーコードの定義、テストの重要性とは

    「レガシーコード」とは何か 最初に1つ質問です。皆さんは、「レガシーコード」と聞いて何を想像するでしょうか? 多くの方はCOBOLなどで書かれたメインフレームで動くコードを真っ先に思い浮かべるのではないかと思います。しかし、当にそれだけでしょうか? ここでは「レガシーコード」という言葉を『何年も前に誰かが作り、内容が複雑で何をしているのかよく分からず、まともな仕様書もない』というコードを指すものとします。そう考えると、必ずしもメインフレームだけの話ではなくなります。この記事を読んでいる皆さんなら、そのようなコードを少なからず目にしていることでしょう。 現在の業務システムは、Java EEや.NETなどの基盤上に構築される、いわゆるオープンシステムが主流になっています。このようなオープンシステムであっても、構築されてから既に5年以上経過していることが珍しくなく、何度も手が加えられたコードは

    「レガシーコード改善ガイド」のススメ 第1回:レガシーコードの定義、テストの重要性とは
  • ジャンル別ゲームの作り方とアルゴリズムまとめ - ネットサービス研究室

    ゲームの作り方とアルゴリズムをジャンル別にまとめてみました。ゲーム制作や、プログラミングの勉強用にご活用ください。言語別ゲームプログラミング制作講座一覧もあわせてお読みください。 リンク切れがおきていたものは、URLを表示しておくので、Internet Archiveなどでキャッシュを表示させてみてください。 RPG ゲームの乱数解析 乱数を利用した敵出現アルゴリズムの解説 各種ゲームプログラム解析 FF、ドラクエ、ロマサガのプログラムの解析。乱数の計算など ダメージ計算あれこれ(http://ysfactory.nobody.jp/ys/prg/calculation_public.html) ダメージの計算式 エンカウントについて考えてみる エンカウント(マップでの敵との遭遇)の処理方法いろいろ RPGの作り方 - ゲームヘル2000 RPGのアルゴリズム ドルアーガの塔 乱数の工夫の

    ジャンル別ゲームの作り方とアルゴリズムまとめ - ネットサービス研究室
  • 空気読む Perl 空気読まない Java

    とのこと。ここで,PerlJava は動的型付言語と静的型付言語の代表を挙げただけなので,RubyC++ でもいいし,JavaScript と C でもよかったりします。あたしんとこの職場は,普段 C++ でプログラミングしているので,LL にはやや冷たいところがあったりします。それにもかかわらず,上の至言。自虐っぷりが笑える。 ここで,『プログラミングRuby』の話がなんで出てきたのかというと,書に動的型付言語の話があって,それが話題になったからです。 もうお気づきのことと思いますが、Ruby では変数やメソッドの型を宣言しません。すべては何らかのオブジェクトです。 (snip) 大半の言語では静的な型システムが採用されていますが、それによってプログラムのセキュリティが実際に向上しているかというと、実はそうでもないのです。例えば、Java の型システムが信頼できるものだとし

  • プログラミングができるということは、人生を楽にできるということ

    どのようにプログラマになったのか知るのは面白く、興味深い。そして、プログラミングに対するの様々な考え方や捉え方を知り、それを自分の知識に加えるのが楽しい。そこで自分自身がどのようにしてプログラミングを学んできたのか、そしてプログラミングについてどのように考えているのか述べたいと思う。たいした内容でもないが書いているうちに長文になってしまった。取り敢えず概要だけを知りたい方は、それぞれの段落の最初の文章を読めば何となく分かると思う。 最初のプログラミング 初めて触れたPCは、父親が購入したNECPC-8801mkIIだった。当時のPCには最初からBASIC(N88-BASIC)が付属しており、これを使って手軽にプログラミングができた。ただ、BASICはインタプリタであり、当時のPCの性能と相まって処理速度が非常に遅く、高速化のためにはアセンブラが必要だった。そこで、父親の書籍を漁りつつ、ニ

  • 各言語におけるtrue/falseまとめ - 昼メシ物語

    たとえば PHP で、 if ($hoge) { ... } とか書いてあったら、 $hoge がどんな値のときに if の中身が実行されるのか即答できますか。 こういう書き方は多くの言語で可能ですが、言語によって何が真で何が偽になるのかが異なるので、それぞれまとめてみました。 C言語 C言語には bool 型が無い。 0 (int) だけが偽となり、それ以外はすべて真となる。 NULL 定数は stddef.h で以下のように ((void*)0) と定義されているため、偽値として使える。 意見が分かれそうなところですが、個人的にはNULLを偽値として使用するは好きじゃないです。 #ifndef __cplsuplus #define NULL ((void*)0) #else #define NULL __null #endif C++ C++になると bool 型が出てくる。C と同

    各言語におけるtrue/falseまとめ - 昼メシ物語
  • システム開発の入門者から中級者にステップアップするための10のティップス - builder by ZDNet Japan

    ある読者との電子メールのやり取りの中で出てきた話である。彼は、開発者向けのブログや記事、雑誌の内容が2種類に分類できるということを述べていた。その2種類とは入門者向けのもの("Hello World"に代表されるもの)とエキスパート向けのもの(MSDN Magazineのようなもの)である。 これはなかなか鋭いポイントを突いている。開発者が入門レベルから中級レベルにステップアップするうえで役立てることのできる情報がほとんどないのだ。以下は、こういったステップアップを実現するための10のティップスである。 #1:新たなプログラミング言語を学習する 新たなプログラミング言語を学習することは、それがどのような言語であったとしても、より優れた開発者になるための近道となるのである(このことは、あなたが既に多くのプログラミング言語を修得していたとしても成立することである)。言語を選択する際には、あなた

    システム開発の入門者から中級者にステップアップするための10のティップス - builder by ZDNet Japan
  • PHPのすべらない話

    2009/05/19 00:57 ※ 商品のリンクをクリックして何かを購入すると私に少額の報酬が入ることがあります【広告表示】 id:moriyoshi から許可が出たので、2009年4月25日に行われたDjango Hack-a-thonのおまけ「PHPのすべらない話」の動画を一般公開しちゃいます。 PHP自体のコミッタによるPHPへの愛満載の動画です。 今までFlipClipで超近い人グループに対して公開していたのを勿体ないとぼやいたところ許可が出ました :) 手持ち撮影なので、酔いやすい人は注意してください :) きっと、moriyoshiの滑らないシリーズは続くんだろうなw Prev Entry Google API Hack-a-thonに行ってきました。 Next Entry もっと気軽に弁護士を使うべきだ

  • プログラマーの開発速度は「はまる」時間の長さで決まる : 小野和俊のブログ

    プログラミングを始めてから今日に至るまで、 様々なタイプのプログラマーと開発を共にしてきたが、 驚くべき速度で高い品質のソフトウェアを作り上げるプログラマーには、 一つ共通の特徴があるように思える。 それは、「はまる」時間が極端に短い、ということである。 風のプログラマー」を指向しており、開発速度を重要視している。 例えば平成14年未踏ソフトウェア創造事業「PICSY」では、 発表直前に知人でプロジェクトリーダーの鈴木健にレスキュー隊として呼ばれて 2,3日でGUI全般と、クライアント/サーバー通信部分の設計と実装を終わらせたのだが、 このときなどは、大体の要件を口頭で聞いた後は、 ほぼまったく手が止まらずコードを書き続ける感じで開発をしていた。 「はまる」時間の長さは開発速度に直結するわけだが、 プログラマーが「はまる」場合にはある程度の傾向があると思うので、 今日は「はまる」プログラマ

    プログラマーの開発速度は「はまる」時間の長さで決まる : 小野和俊のブログ
  • パフォーマンスチューニングする時の基礎の基礎 - 宇宙行きたい

    みんなパフォーマンスチューニングの環境とかってどうやってるのかなぁと 思ったので書いてみますた. 全然専門外なのでまったく自信無いですが,僕はこうやってるよって事で まずは普通に実装 最初からパフォーマンスを気にして書いちゃうと, 何が有効で何があまり有効でないかわからなくなっちゃうので, とりあえず普通に実装する. (ifelse より switch の方が早いとかやっても微々たるものだし) もちろん,後々のために TDD でやっておく. 計測環境を作る テストケースとして記載する 重い処理を探すために,100回くらい繰り返して実行して 平均を見れるようにする. Java の実行時最適化とかの影響もあると思うので, 最初の一回の時間と平均を見れるようにする. assert も書いておくと,何秒以内を目指すのかが, 残せるので書いておく. StopWatch stopWatch = new

    パフォーマンスチューニングする時の基礎の基礎 - 宇宙行きたい
  • ECサイトの設計書を理解しよう! プログラミング未経験から始めるPHP入門~応用編(1)

    はじめに 連載では、PHPまたはプログラム初心者の方を対象に、PHPを用いたWebアプリケーションの作成方法を説明していきます。今回からは応用編として、ECサイトを作成します。稿ではまず、アプリケーション作成に必要な設計書について説明します。PHPの環境構築に関しては第2回を参照ください。 対象読者 プログラミングが初めてでこれから学習する予定の方 プログラミング経験はあるがPHPを初めて学習する方 これまでの連載 第1回「プログラムってなんだろう?PHPってどういうもの?」 第2回「XAMPPをインストールして開発環境を整えよう!」 第3回「変数の扱い方を習得しよう!」 第4回「条件分岐と繰り返しを使いこなそう!」 第5回「入力フォームを使ってデータを送受信しよう!」 第6回「データベースの基礎を理解しよう!」 第7回「PHPを使ってデータベースを操作しよう!」 動作確認環境 PHP

    ECサイトの設計書を理解しよう! プログラミング未経験から始めるPHP入門~応用編(1)
  • PHP+MySQLによる掲示板制作シリーズを書きました - 遥か彼方の彼方から

    告知GW中に基礎的な部分の復習をするぞということでPHPMySQLを使った掲示板を作っていました。内容としてはかなり手探り感が溢れていますし、できあがったものも中途半端ですが、なるべく細かく制作過程をブログに書いたので、よろしければ見てやってください。「はじめに」−PHP+MySQLによる掲示板制作(0) 「テーブル定義」−PHPMySQLによる掲示板制作(1) 「テストデータの挿入とデータベースクラスの作成」−PHPMySQLによる掲示板制作(2) 「クラス化による間接的なSQLの発行」−PHPMySQLによる掲示板制作(3)「SQLインジェクション対策」−PHPMySQLによる掲示板制作(4) 「投稿フォームの作成」−PHPMySQLによる掲示板制作(5) 「共通部分の独立」−PHPMySQLによる掲示板制作(6) 「クラスファイル読み込みの自動化」−PHPMySQL

  • バイナリとテキストの本当の違い : 404 Blog Not Found

    2009年04月09日00:15 カテゴリLightweight LanguagesCode バイナリとテキストの当の違い うーむ、Wikipediaですら「見た目」の違いしか説明していない。 バイナリ - Wikipedia コンピュータが扱うすべてのデータはバイナリデータ(バイトの並び)であり、プレーンテキスト(または単にテキスト)もバイナリデータの一種ではあるが、通常バイナリとテキストは対比して用いられる。テキストとはデータの内容すべてを人間が読んで理解できる (human-readable) 表現形式を指し、バイナリとはそうでない表現形式を指すことが多い。 Binary file - Wikipedia, the free encyclopediaA binary file (.bin) is a computer file which may contain any type

    バイナリとテキストの本当の違い : 404 Blog Not Found
  • サルでもわかる 逆引きデザインパターン 第1章 はじめてのデザインパターン はじめに:

    第1章 はじめてのデザインパターン はじめに デザインパターンとは 特集の構成 すぐわかるオブジェクト指向 すぐわかるUML おわりに 第2章 逆引きカタログ ロジック編 Singleton (シングルトン) Factory/Factory Method (ファクトリ/ファクトリメソッド) Strategy (ストラテジ) Composite (コンポジット) Visiter (ビジタ) 第3章 逆引きカタログ J2EE編 Template Method (テンプレートメソッド) Facade (ファサード) ViewHelper (ビューヘルパ) DAO (Data Access Object) 第4章 逆引きカタログ その他 ユーティリティクラス 実行時例外を標準的に使う Nullオブジェクト 第5章 デザインパターン適用の勘所 はじめに アプリケーションの仕様 リファクタリング前のサ

  • はてなブログ | 無料ブログを作成しよう

    来年も作りたい!ふきのとう料理を満喫した 2024年春の記録 春は自炊が楽しい季節 1年の中で最も自炊が楽しい季節は春だと思う。スーパーの棚にやわらかな色合いの野菜が並ぶと自然とこころが弾む。 中でもときめくのは山菜だ。早いと2月下旬ごろから並び始めるそれは、タラの芽、ふきのとうと続き、桜の頃にはうるい、ウド、こ…

    はてなブログ | 無料ブログを作成しよう
  • スクリプトを使ったテスト駆動プロトタイプ開発<br> 設計仕様としてのテストコード

    はじめに 論文では,先に提案したスクリプトによるプロトタイプ開発手法の問題点を考察することから,テスト駆動開発手法を取り入れて,システム仕様となるテストコードの開発を主眼とする設計法を提案している.さらに,具体例として「バトル鉛筆」という戦闘ゲーム手法を適用して,この設計手法を解説している. スクリプトによるプロトタイプ開発の概要 「ゲーム作りで学ぶオブジェクト指向開発」においては,UMLのオブジェクト図を用いたトップダウン的な設計からスクリプトによるプロトタイプ開発を提案していた. その方法では,以下のような4階層のアーキテクチャを導入している. ユーザーインターフェース層 具体的な開発手法としては,以下の手順に従う.まず,スクリプト言語を使ったプロトタイプを以下の要領で設計・実装し,うまくいくか全体の見通しを得る.プロトタイプなので単純に徹し,素早く作ってフィードバックを得ること

  • http://www.machu.jp/posts/20090307/p01/

    http://www.machu.jp/posts/20090307/p01/
  • PHP - 以外の言語でPHPのsortを実装してみる。 : 404 Blog Not Found

    2009年02月27日17:00 カテゴリLightweight Languages PHP - 以外の言語でPHPのsortを実装してみる。 案外笑い事じゃないかも。特にJavaScript! PHPのsort関数は相当おかしい - hnwの日記 なんと、同じ要素を持つ配列をソートした結果が異なっています。こちらはまだいい具合にわざとらしいけど.... Perl [Run via CodePad] #!/usr/local/bin/perl use strict; use warnings; eval { # try Scalar::Util::looks_like_number() require Scalar::Util; Scalar::Util->import('looks_like_number'); }; if ($@) { # use regexp if not avail

    PHP - 以外の言語でPHPのsortを実装してみる。 : 404 Blog Not Found
  • プログラマー面接時の技術的な質問事項(アプレッソ版) : 小野和俊のブログ

    技術者・SE・プログラマ面接時の技術的な質問事項というエントリをはてブで見かけたのだが、私もjavaプログラマーの面接を割とよくやっているので、よく質問する内容をまとめてみた。 (ちなみに、基的にコーディング面接の形態を取っている) プロジェクトの性質にもよると思うが、私の場合には、情報処理技術者試験的に基礎が満遍なく抑えられているかどうかよりも、 すぐ答えが見つからないような課題に対して、きちんと自分でやり方を考え、対応することができるか 「変な」コードをコミットしたりしないか(見つけにくいバグを混入させるとか、汚いとか、遅いとか)といった点を重視している。 まず、何を知っているかよりも、どんなものを作れるか、どんなことができるか、という質問。 ここで強烈な回答が来る人は、たいていここより下の質問は「あー、はいはい」という感じでサラッと答えてくることが多い。 これまでに携わってきた開発

    プログラマー面接時の技術的な質問事項(アプレッソ版) : 小野和俊のブログ